@angular/cdk 10.0.2 → 10.1.3

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 (216) hide show
  1. package/a11y/aria-describer/aria-describer.d.ts +10 -1
  2. package/a11y/index.metadata.json +1 -1
  3. package/a11y/interactivity-checker/interactivity-checker.d.ts +11 -1
  4. package/a11y/key-manager/list-key-manager.d.ts +6 -0
  5. package/accordion/accordion.d.ts +7 -1
  6. package/accordion/index.d.ts +1 -0
  7. package/accordion/index.metadata.json +1 -1
  8. package/bundles/cdk-a11y.umd.js +514 -410
  9. package/bundles/cdk-a11y.umd.js.map +1 -1
  10. package/bundles/cdk-a11y.umd.min.js +35 -11
  11. package/bundles/cdk-a11y.umd.min.js.map +1 -1
  12. package/bundles/cdk-accordion.umd.js +47 -39
  13. package/bundles/cdk-accordion.umd.js.map +1 -1
  14. package/bundles/cdk-accordion.umd.min.js +10 -2
  15. package/bundles/cdk-accordion.umd.min.js.map +1 -1
  16. package/bundles/cdk-bidi.umd.js +25 -25
  17. package/bundles/cdk-bidi.umd.js.map +1 -1
  18. package/bundles/cdk-bidi.umd.min.js +5 -4
  19. package/bundles/cdk-bidi.umd.min.js.map +1 -1
  20. package/bundles/cdk-clipboard.umd.js +37 -36
  21. package/bundles/cdk-clipboard.umd.js.map +1 -1
  22. package/bundles/cdk-clipboard.umd.min.js +10 -2
  23. package/bundles/cdk-clipboard.umd.min.js.map +1 -1
  24. package/bundles/cdk-coercion.umd.js.map +1 -1
  25. package/bundles/cdk-collections.umd.js +303 -237
  26. package/bundles/cdk-collections.umd.js.map +1 -1
  27. package/bundles/cdk-collections.umd.min.js +3 -9
  28. package/bundles/cdk-collections.umd.min.js.map +1 -1
  29. package/bundles/cdk-drag-drop.umd.js +1059 -927
  30. package/bundles/cdk-drag-drop.umd.js.map +1 -1
  31. package/bundles/cdk-drag-drop.umd.min.js +72 -10
  32. package/bundles/cdk-drag-drop.umd.min.js.map +1 -1
  33. package/bundles/cdk-keycodes.umd.js.map +1 -1
  34. package/bundles/cdk-layout.umd.js +18 -18
  35. package/bundles/cdk-layout.umd.js.map +1 -1
  36. package/bundles/cdk-layout.umd.min.js +6 -5
  37. package/bundles/cdk-layout.umd.min.js.map +1 -1
  38. package/bundles/cdk-observers.umd.js +34 -34
  39. package/bundles/cdk-observers.umd.js.map +1 -1
  40. package/bundles/cdk-observers.umd.min.js +2 -2
  41. package/bundles/cdk-observers.umd.min.js.map +1 -1
  42. package/bundles/cdk-overlay.umd.js +638 -416
  43. package/bundles/cdk-overlay.umd.js.map +1 -1
  44. package/bundles/cdk-overlay.umd.min.js +51 -12
  45. package/bundles/cdk-overlay.umd.min.js.map +1 -1
  46. package/bundles/cdk-platform.umd.js +10 -10
  47. package/bundles/cdk-platform.umd.js.map +1 -1
  48. package/bundles/cdk-platform.umd.min.js +4 -11
  49. package/bundles/cdk-platform.umd.min.js.map +1 -1
  50. package/bundles/cdk-portal.umd.js +355 -300
  51. package/bundles/cdk-portal.umd.js.map +1 -1
  52. package/bundles/cdk-portal.umd.min.js +4 -5
  53. package/bundles/cdk-portal.umd.min.js.map +1 -1
  54. package/bundles/cdk-scrolling.umd.js +482 -392
  55. package/bundles/cdk-scrolling.umd.js.map +1 -1
  56. package/bundles/cdk-scrolling.umd.min.js +20 -12
  57. package/bundles/cdk-scrolling.umd.min.js.map +1 -1
  58. package/bundles/cdk-stepper.umd.js +117 -117
  59. package/bundles/cdk-stepper.umd.js.map +1 -1
  60. package/bundles/cdk-stepper.umd.min.js +11 -2
  61. package/bundles/cdk-stepper.umd.min.js.map +1 -1
  62. package/bundles/cdk-table.umd.js +862 -607
  63. package/bundles/cdk-table.umd.js.map +1 -1
  64. package/bundles/cdk-table.umd.min.js +8 -15
  65. package/bundles/cdk-table.umd.min.js.map +1 -1
  66. package/bundles/cdk-testing-protractor.umd.js +300 -241
  67. package/bundles/cdk-testing-protractor.umd.js.map +1 -1
  68. package/bundles/cdk-testing-protractor.umd.min.js +2 -9
  69. package/bundles/cdk-testing-protractor.umd.min.js.map +1 -1
  70. package/bundles/cdk-testing-testbed.umd.js +337 -276
  71. package/bundles/cdk-testing-testbed.umd.js.map +1 -1
  72. package/bundles/cdk-testing-testbed.umd.min.js +7 -30
  73. package/bundles/cdk-testing-testbed.umd.min.js.map +1 -1
  74. package/bundles/cdk-testing.umd.js +358 -270
  75. package/bundles/cdk-testing.umd.js.map +1 -1
  76. package/bundles/cdk-testing.umd.min.js +3 -18
  77. package/bundles/cdk-testing.umd.min.js.map +1 -1
  78. package/bundles/cdk-text-field.umd.js +51 -51
  79. package/bundles/cdk-text-field.umd.js.map +1 -1
  80. package/bundles/cdk-text-field.umd.min.js +10 -2
  81. package/bundles/cdk-text-field.umd.min.js.map +1 -1
  82. package/bundles/cdk-tree.umd.js +449 -396
  83. package/bundles/cdk-tree.umd.js.map +1 -1
  84. package/bundles/cdk-tree.umd.min.js +28 -3
  85. package/bundles/cdk-tree.umd.min.js.map +1 -1
  86. package/bundles/cdk.umd.js +1 -1
  87. package/bundles/cdk.umd.js.map +1 -1
  88. package/bundles/cdk.umd.min.js +1 -1
  89. package/bundles/cdk.umd.min.js.map +1 -1
  90. package/drag-drop/clone-node.d.ts +9 -0
  91. package/drag-drop/directives/drag-handle.d.ts +8 -2
  92. package/drag-drop/directives/drag-placeholder.d.ts +7 -1
  93. package/drag-drop/directives/drag-preview.d.ts +7 -1
  94. package/drag-drop/directives/drag.d.ts +3 -7
  95. package/drag-drop/directives/drop-list-group.d.ts +7 -1
  96. package/drag-drop/directives/drop-list.d.ts +7 -1
  97. package/drag-drop/index.d.ts +2 -2
  98. package/drag-drop/index.metadata.json +1 -1
  99. package/drag-drop/parent-position-tracker.d.ts +1 -1
  100. package/esm2015/a11y/aria-describer/aria-describer.js +21 -7
  101. package/esm2015/a11y/focus-trap/configurable-focus-trap-factory.js +3 -3
  102. package/esm2015/a11y/focus-trap/focus-trap.js +1 -1
  103. package/esm2015/a11y/interactivity-checker/interactivity-checker.js +43 -30
  104. package/esm2015/a11y/key-manager/list-key-manager.js +27 -2
  105. package/esm2015/a11y/live-announcer/live-announcer.js +1 -1
  106. package/esm2015/accordion/accordion-item.js +7 -7
  107. package/esm2015/accordion/accordion.js +9 -2
  108. package/esm2015/accordion/index.js +2 -1
  109. package/esm2015/clipboard/pending-copy.js +7 -6
  110. package/esm2015/drag-drop/clone-node.js +54 -0
  111. package/esm2015/drag-drop/directives/drag-handle.js +12 -5
  112. package/esm2015/drag-drop/directives/drag-placeholder.js +10 -3
  113. package/esm2015/drag-drop/directives/drag-preview.js +10 -3
  114. package/esm2015/drag-drop/directives/drag.js +19 -15
  115. package/esm2015/drag-drop/directives/drop-list-group.js +9 -2
  116. package/esm2015/drag-drop/directives/drop-list.js +19 -8
  117. package/esm2015/drag-drop/drag-ref.js +2 -29
  118. package/esm2015/drag-drop/index.js +3 -2
  119. package/esm2015/layout/breakpoints-observer.js +1 -1
  120. package/esm2015/overlay/dispatchers/base-overlay-dispatcher.js +51 -0
  121. package/esm2015/overlay/dispatchers/index.js +10 -0
  122. package/esm2015/overlay/dispatchers/overlay-keyboard-dispatcher.js +79 -0
  123. package/esm2015/overlay/dispatchers/overlay-outside-click-dispatcher.js +94 -0
  124. package/esm2015/overlay/index.js +5 -4
  125. package/esm2015/overlay/overlay-config.js +5 -1
  126. package/esm2015/overlay/overlay-directives.js +34 -8
  127. package/esm2015/overlay/overlay-module.js +2 -2
  128. package/esm2015/overlay/overlay-ref.js +24 -2
  129. package/esm2015/overlay/overlay-reference.js +1 -1
  130. package/esm2015/overlay/overlay.js +10 -5
  131. package/esm2015/overlay/position/connected-position-strategy.js +1 -5
  132. package/esm2015/overlay/position/flexible-connected-position-strategy.js +3 -3
  133. package/esm2015/overlay/position/overlay-position-builder.js +1 -1
  134. package/esm2015/overlay/public-api.js +2 -2
  135. package/esm2015/portal/dom-portal-outlet.js +5 -2
  136. package/esm2015/scrolling/public-api.js +2 -1
  137. package/esm2015/scrolling/scrolling-module.js +4 -1
  138. package/esm2015/scrolling/viewport-ruler.js +24 -10
  139. package/esm2015/scrolling/virtual-for-of.js +26 -12
  140. package/esm2015/scrolling/virtual-scroll-repeater.js +8 -0
  141. package/esm2015/scrolling/virtual-scroll-viewport.js +2 -2
  142. package/esm2015/table/cell.js +18 -3
  143. package/esm2015/table/coalesced-style-scheduler.js +87 -0
  144. package/esm2015/table/public-api.js +2 -1
  145. package/esm2015/table/sticky-styler.js +79 -45
  146. package/esm2015/table/table.js +33 -12
  147. package/esm2015/testing/component-harness.js +19 -1
  148. package/esm2015/testing/harness-environment.js +7 -1
  149. package/esm2015/testing/testbed/fake-events/dispatch-events.js +5 -4
  150. package/esm2015/testing/testbed/fake-events/event-objects.js +10 -7
  151. package/esm2015/testing/testbed/fake-events/type-in-element.js +4 -4
  152. package/esm2015/testing/testbed/unit-test-element.js +20 -12
  153. package/esm2015/tree/control/nested-tree-control.js +7 -3
  154. package/esm2015/tree/tree.js +9 -23
  155. package/esm2015/version.js +1 -1
  156. package/fesm2015/a11y.js +88 -38
  157. package/fesm2015/a11y.js.map +1 -1
  158. package/fesm2015/accordion.js +13 -6
  159. package/fesm2015/accordion.js.map +1 -1
  160. package/fesm2015/cdk.js +1 -1
  161. package/fesm2015/cdk.js.map +1 -1
  162. package/fesm2015/clipboard.js +6 -5
  163. package/fesm2015/clipboard.js.map +1 -1
  164. package/fesm2015/drag-drop.js +669 -600
  165. package/fesm2015/drag-drop.js.map +1 -1
  166. package/fesm2015/overlay.js +215 -40
  167. package/fesm2015/overlay.js.map +1 -1
  168. package/fesm2015/portal.js +4 -1
  169. package/fesm2015/portal.js.map +1 -1
  170. package/fesm2015/scrolling.js +60 -21
  171. package/fesm2015/scrolling.js.map +1 -1
  172. package/fesm2015/table.js +214 -61
  173. package/fesm2015/table.js.map +1 -1
  174. package/fesm2015/testing/testbed.js +35 -23
  175. package/fesm2015/testing/testbed.js.map +1 -1
  176. package/fesm2015/testing.js +25 -1
  177. package/fesm2015/testing.js.map +1 -1
  178. package/fesm2015/tree.js +13 -23
  179. package/fesm2015/tree.js.map +1 -1
  180. package/overlay/dispatchers/base-overlay-dispatcher.d.ts +28 -0
  181. package/overlay/dispatchers/index.d.ts +9 -0
  182. package/overlay/{keyboard → dispatchers}/overlay-keyboard-dispatcher.d.ts +4 -10
  183. package/overlay/dispatchers/overlay-outside-click-dispatcher.d.ts +27 -0
  184. package/overlay/index.d.ts +4 -3
  185. package/overlay/index.metadata.json +1 -1
  186. package/overlay/overlay-config.d.ts +4 -0
  187. package/overlay/overlay-directives.d.ts +5 -0
  188. package/overlay/overlay-ref.d.ts +8 -2
  189. package/overlay/overlay-reference.d.ts +1 -0
  190. package/overlay/overlay.d.ts +4 -2
  191. package/overlay/position/connected-position-strategy.d.ts +0 -2
  192. package/overlay/public-api.d.ts +1 -1
  193. package/package.json +1 -1
  194. package/schematics/ng-add/index.js +1 -1
  195. package/scrolling/index.metadata.json +1 -1
  196. package/scrolling/public-api.d.ts +1 -0
  197. package/scrolling/scrolling-module.d.ts +3 -0
  198. package/scrolling/viewport-ruler.d.ts +2 -2
  199. package/scrolling/virtual-for-of.d.ts +2 -1
  200. package/scrolling/virtual-scroll-repeater.d.ts +16 -0
  201. package/scrolling/virtual-scroll-viewport.d.ts +4 -4
  202. package/table/cell.d.ts +13 -0
  203. package/table/coalesced-style-scheduler.d.ts +41 -0
  204. package/table/index.metadata.json +1 -1
  205. package/table/public-api.d.ts +1 -0
  206. package/table/sticky-styler.d.ts +7 -1
  207. package/table/table.d.ts +9 -1
  208. package/testing/component-harness.d.ts +12 -0
  209. package/testing/harness-environment.d.ts +1 -0
  210. package/testing/testbed/fake-events/dispatch-events.d.ts +3 -2
  211. package/testing/testbed/fake-events/event-objects.d.ts +2 -2
  212. package/testing/testbed/unit-test-element.d.ts +7 -0
  213. package/tree/control/nested-tree-control.d.ts +7 -2
  214. package/tree/index.metadata.json +1 -1
  215. package/tree/tree.d.ts +2 -4
  216. package/esm2015/overlay/keyboard/overlay-keyboard-dispatcher.js +0 -96
@@ -4,232 +4,305 @@
4
4
  (global = global || self, factory((global.ng = global.ng || {}, global.ng.cdk = global.ng.cdk || {}, global.ng.cdk.tree = {}), global.ng.cdk.collections, global.rxjs, global.rxjs.operators, global.ng.core, global.ng.cdk.bidi, global.ng.cdk.coercion, global.ng.cdk.a11y));
5
5
  }(this, (function (exports, collections, rxjs, operators, core, bidi, coercion, a11y) { 'use strict';
6
6
 
7
- /*! *****************************************************************************
8
- Copyright (c) Microsoft Corporation.
9
-
10
- Permission to use, copy, modify, and/or distribute this software for any
11
- purpose with or without fee is hereby granted.
12
-
13
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
14
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
15
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
16
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
17
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
18
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19
- PERFORMANCE OF THIS SOFTWARE.
20
- ***************************************************************************** */
21
- /* global Reflect, Promise */
22
-
23
- var extendStatics = function(d, b) {
24
- extendStatics = Object.setPrototypeOf ||
25
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
26
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
27
- return extendStatics(d, b);
28
- };
29
-
30
- function __extends(d, b) {
31
- extendStatics(d, b);
32
- function __() { this.constructor = d; }
33
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
34
- }
35
-
36
- var __assign = function() {
37
- __assign = Object.assign || function __assign(t) {
38
- for (var s, i = 1, n = arguments.length; i < n; i++) {
39
- s = arguments[i];
40
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
41
- }
42
- return t;
43
- };
44
- return __assign.apply(this, arguments);
45
- };
46
-
47
- function __rest(s, e) {
48
- var t = {};
49
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
50
- t[p] = s[p];
51
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
52
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
53
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
54
- t[p[i]] = s[p[i]];
55
- }
56
- return t;
57
- }
58
-
59
- function __decorate(decorators, target, key, desc) {
60
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
61
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
62
- 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;
63
- return c > 3 && r && Object.defineProperty(target, key, r), r;
64
- }
65
-
66
- function __param(paramIndex, decorator) {
67
- return function (target, key) { decorator(target, key, paramIndex); }
68
- }
69
-
70
- function __metadata(metadataKey, metadataValue) {
71
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
72
- }
73
-
74
- function __awaiter(thisArg, _arguments, P, generator) {
75
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
76
- return new (P || (P = Promise))(function (resolve, reject) {
77
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
78
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
79
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
80
- step((generator = generator.apply(thisArg, _arguments || [])).next());
81
- });
82
- }
83
-
84
- function __generator(thisArg, body) {
85
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
86
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
87
- function verb(n) { return function (v) { return step([n, v]); }; }
88
- function step(op) {
89
- if (f) throw new TypeError("Generator is already executing.");
90
- while (_) try {
91
- 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;
92
- if (y = 0, t) op = [op[0] & 2, t.value];
93
- switch (op[0]) {
94
- case 0: case 1: t = op; break;
95
- case 4: _.label++; return { value: op[1], done: false };
96
- case 5: _.label++; y = op[1]; op = [0]; continue;
97
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
98
- default:
99
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
100
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
101
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
102
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
103
- if (t[2]) _.ops.pop();
104
- _.trys.pop(); continue;
105
- }
106
- op = body.call(thisArg, _);
107
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
108
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
109
- }
110
- }
111
-
112
- var __createBinding = Object.create ? (function(o, m, k, k2) {
113
- if (k2 === undefined) k2 = k;
114
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
115
- }) : (function(o, m, k, k2) {
116
- if (k2 === undefined) k2 = k;
117
- o[k2] = m[k];
118
- });
119
-
120
- function __exportStar(m, exports) {
121
- for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
122
- }
123
-
124
- function __values(o) {
125
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
126
- if (m) return m.call(o);
127
- if (o && typeof o.length === "number") return {
128
- next: function () {
129
- if (o && i >= o.length) o = void 0;
130
- return { value: o && o[i++], done: !o };
131
- }
132
- };
133
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
134
- }
135
-
136
- function __read(o, n) {
137
- var m = typeof Symbol === "function" && o[Symbol.iterator];
138
- if (!m) return o;
139
- var i = m.call(o), r, ar = [], e;
140
- try {
141
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
142
- }
143
- catch (error) { e = { error: error }; }
144
- finally {
145
- try {
146
- if (r && !r.done && (m = i["return"])) m.call(i);
147
- }
148
- finally { if (e) throw e.error; }
149
- }
150
- return ar;
151
- }
152
-
153
- function __spread() {
154
- for (var ar = [], i = 0; i < arguments.length; i++)
155
- ar = ar.concat(__read(arguments[i]));
156
- return ar;
157
- }
158
-
159
- function __spreadArrays() {
160
- for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
161
- for (var r = Array(s), k = 0, i = 0; i < il; i++)
162
- for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
163
- r[k] = a[j];
164
- return r;
165
- };
166
-
167
- function __await(v) {
168
- return this instanceof __await ? (this.v = v, this) : new __await(v);
169
- }
170
-
171
- function __asyncGenerator(thisArg, _arguments, generator) {
172
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
173
- var g = generator.apply(thisArg, _arguments || []), i, q = [];
174
- return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
175
- 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); }); }; }
176
- function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
177
- function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
178
- function fulfill(value) { resume("next", value); }
179
- function reject(value) { resume("throw", value); }
180
- function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
181
- }
182
-
183
- function __asyncDelegator(o) {
184
- var i, p;
185
- return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
186
- 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; }
187
- }
188
-
189
- function __asyncValues(o) {
190
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
191
- var m = o[Symbol.asyncIterator], i;
192
- 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);
193
- 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); }); }; }
194
- function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
195
- }
196
-
197
- function __makeTemplateObject(cooked, raw) {
198
- if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
199
- return cooked;
200
- };
201
-
202
- var __setModuleDefault = Object.create ? (function(o, v) {
203
- Object.defineProperty(o, "default", { enumerable: true, value: v });
204
- }) : function(o, v) {
205
- o["default"] = v;
206
- };
207
-
208
- function __importStar(mod) {
209
- if (mod && mod.__esModule) return mod;
210
- var result = {};
211
- if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
212
- __setModuleDefault(result, mod);
213
- return result;
214
- }
215
-
216
- function __importDefault(mod) {
217
- return (mod && mod.__esModule) ? mod : { default: mod };
218
- }
219
-
220
- function __classPrivateFieldGet(receiver, privateMap) {
221
- if (!privateMap.has(receiver)) {
222
- throw new TypeError("attempted to get private field on non-instance");
223
- }
224
- return privateMap.get(receiver);
225
- }
226
-
227
- function __classPrivateFieldSet(receiver, privateMap, value) {
228
- if (!privateMap.has(receiver)) {
229
- throw new TypeError("attempted to set private field on non-instance");
230
- }
231
- privateMap.set(receiver, value);
232
- return value;
7
+ /*! *****************************************************************************
8
+ Copyright (c) Microsoft Corporation.
9
+
10
+ Permission to use, copy, modify, and/or distribute this software for any
11
+ purpose with or without fee is hereby granted.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
14
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
15
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
16
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
17
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
18
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19
+ PERFORMANCE OF THIS SOFTWARE.
20
+ ***************************************************************************** */
21
+ /* global Reflect, Promise */
22
+ var extendStatics = function (d, b) {
23
+ extendStatics = Object.setPrototypeOf ||
24
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
25
+ function (d, b) { for (var p in b)
26
+ if (b.hasOwnProperty(p))
27
+ d[p] = b[p]; };
28
+ return extendStatics(d, b);
29
+ };
30
+ function __extends(d, b) {
31
+ extendStatics(d, b);
32
+ function __() { this.constructor = d; }
33
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
34
+ }
35
+ var __assign = function () {
36
+ __assign = Object.assign || function __assign(t) {
37
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
38
+ s = arguments[i];
39
+ for (var p in s)
40
+ if (Object.prototype.hasOwnProperty.call(s, p))
41
+ t[p] = s[p];
42
+ }
43
+ return t;
44
+ };
45
+ return __assign.apply(this, arguments);
46
+ };
47
+ function __rest(s, e) {
48
+ var t = {};
49
+ for (var p in s)
50
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
51
+ t[p] = s[p];
52
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
53
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
54
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
55
+ t[p[i]] = s[p[i]];
56
+ }
57
+ return t;
58
+ }
59
+ function __decorate(decorators, target, key, desc) {
60
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
61
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
62
+ r = Reflect.decorate(decorators, target, key, desc);
63
+ else
64
+ for (var i = decorators.length - 1; i >= 0; i--)
65
+ if (d = decorators[i])
66
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
67
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
68
+ }
69
+ function __param(paramIndex, decorator) {
70
+ return function (target, key) { decorator(target, key, paramIndex); };
71
+ }
72
+ function __metadata(metadataKey, metadataValue) {
73
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
74
+ return Reflect.metadata(metadataKey, metadataValue);
75
+ }
76
+ function __awaiter(thisArg, _arguments, P, generator) {
77
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
78
+ return new (P || (P = Promise))(function (resolve, reject) {
79
+ function fulfilled(value) { try {
80
+ step(generator.next(value));
81
+ }
82
+ catch (e) {
83
+ reject(e);
84
+ } }
85
+ function rejected(value) { try {
86
+ step(generator["throw"](value));
87
+ }
88
+ catch (e) {
89
+ reject(e);
90
+ } }
91
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
92
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
93
+ });
94
+ }
95
+ function __generator(thisArg, body) {
96
+ var _ = { label: 0, sent: function () { if (t[0] & 1)
97
+ throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
98
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
99
+ function verb(n) { return function (v) { return step([n, v]); }; }
100
+ function step(op) {
101
+ if (f)
102
+ throw new TypeError("Generator is already executing.");
103
+ while (_)
104
+ try {
105
+ 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)
106
+ return t;
107
+ if (y = 0, t)
108
+ op = [op[0] & 2, t.value];
109
+ switch (op[0]) {
110
+ case 0:
111
+ case 1:
112
+ t = op;
113
+ break;
114
+ case 4:
115
+ _.label++;
116
+ return { value: op[1], done: false };
117
+ case 5:
118
+ _.label++;
119
+ y = op[1];
120
+ op = [0];
121
+ continue;
122
+ case 7:
123
+ op = _.ops.pop();
124
+ _.trys.pop();
125
+ continue;
126
+ default:
127
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
128
+ _ = 0;
129
+ continue;
130
+ }
131
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
132
+ _.label = op[1];
133
+ break;
134
+ }
135
+ if (op[0] === 6 && _.label < t[1]) {
136
+ _.label = t[1];
137
+ t = op;
138
+ break;
139
+ }
140
+ if (t && _.label < t[2]) {
141
+ _.label = t[2];
142
+ _.ops.push(op);
143
+ break;
144
+ }
145
+ if (t[2])
146
+ _.ops.pop();
147
+ _.trys.pop();
148
+ continue;
149
+ }
150
+ op = body.call(thisArg, _);
151
+ }
152
+ catch (e) {
153
+ op = [6, e];
154
+ y = 0;
155
+ }
156
+ finally {
157
+ f = t = 0;
158
+ }
159
+ if (op[0] & 5)
160
+ throw op[1];
161
+ return { value: op[0] ? op[1] : void 0, done: true };
162
+ }
163
+ }
164
+ var __createBinding = Object.create ? (function (o, m, k, k2) {
165
+ if (k2 === undefined)
166
+ k2 = k;
167
+ Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } });
168
+ }) : (function (o, m, k, k2) {
169
+ if (k2 === undefined)
170
+ k2 = k;
171
+ o[k2] = m[k];
172
+ });
173
+ function __exportStar(m, exports) {
174
+ for (var p in m)
175
+ if (p !== "default" && !exports.hasOwnProperty(p))
176
+ __createBinding(exports, m, p);
177
+ }
178
+ function __values(o) {
179
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
180
+ if (m)
181
+ return m.call(o);
182
+ if (o && typeof o.length === "number")
183
+ return {
184
+ next: function () {
185
+ if (o && i >= o.length)
186
+ o = void 0;
187
+ return { value: o && o[i++], done: !o };
188
+ }
189
+ };
190
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
191
+ }
192
+ function __read(o, n) {
193
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
194
+ if (!m)
195
+ return o;
196
+ var i = m.call(o), r, ar = [], e;
197
+ try {
198
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
199
+ ar.push(r.value);
200
+ }
201
+ catch (error) {
202
+ e = { error: error };
203
+ }
204
+ finally {
205
+ try {
206
+ if (r && !r.done && (m = i["return"]))
207
+ m.call(i);
208
+ }
209
+ finally {
210
+ if (e)
211
+ throw e.error;
212
+ }
213
+ }
214
+ return ar;
215
+ }
216
+ function __spread() {
217
+ for (var ar = [], i = 0; i < arguments.length; i++)
218
+ ar = ar.concat(__read(arguments[i]));
219
+ return ar;
220
+ }
221
+ function __spreadArrays() {
222
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++)
223
+ s += arguments[i].length;
224
+ for (var r = Array(s), k = 0, i = 0; i < il; i++)
225
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
226
+ r[k] = a[j];
227
+ return r;
228
+ }
229
+ ;
230
+ function __await(v) {
231
+ return this instanceof __await ? (this.v = v, this) : new __await(v);
232
+ }
233
+ function __asyncGenerator(thisArg, _arguments, generator) {
234
+ if (!Symbol.asyncIterator)
235
+ throw new TypeError("Symbol.asyncIterator is not defined.");
236
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
237
+ return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
238
+ function verb(n) { if (g[n])
239
+ i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
240
+ function resume(n, v) { try {
241
+ step(g[n](v));
242
+ }
243
+ catch (e) {
244
+ settle(q[0][3], e);
245
+ } }
246
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
247
+ function fulfill(value) { resume("next", value); }
248
+ function reject(value) { resume("throw", value); }
249
+ function settle(f, v) { if (f(v), q.shift(), q.length)
250
+ resume(q[0][0], q[0][1]); }
251
+ }
252
+ function __asyncDelegator(o) {
253
+ var i, p;
254
+ return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
255
+ 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; }
256
+ }
257
+ function __asyncValues(o) {
258
+ if (!Symbol.asyncIterator)
259
+ throw new TypeError("Symbol.asyncIterator is not defined.");
260
+ var m = o[Symbol.asyncIterator], i;
261
+ 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);
262
+ 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); }); }; }
263
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }
264
+ }
265
+ function __makeTemplateObject(cooked, raw) {
266
+ if (Object.defineProperty) {
267
+ Object.defineProperty(cooked, "raw", { value: raw });
268
+ }
269
+ else {
270
+ cooked.raw = raw;
271
+ }
272
+ return cooked;
273
+ }
274
+ ;
275
+ var __setModuleDefault = Object.create ? (function (o, v) {
276
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
277
+ }) : function (o, v) {
278
+ o["default"] = v;
279
+ };
280
+ function __importStar(mod) {
281
+ if (mod && mod.__esModule)
282
+ return mod;
283
+ var result = {};
284
+ if (mod != null)
285
+ for (var k in mod)
286
+ if (Object.hasOwnProperty.call(mod, k))
287
+ __createBinding(result, mod, k);
288
+ __setModuleDefault(result, mod);
289
+ return result;
290
+ }
291
+ function __importDefault(mod) {
292
+ return (mod && mod.__esModule) ? mod : { default: mod };
293
+ }
294
+ function __classPrivateFieldGet(receiver, privateMap) {
295
+ if (!privateMap.has(receiver)) {
296
+ throw new TypeError("attempted to get private field on non-instance");
297
+ }
298
+ return privateMap.get(receiver);
299
+ }
300
+ function __classPrivateFieldSet(receiver, privateMap, value) {
301
+ if (!privateMap.has(receiver)) {
302
+ throw new TypeError("attempted to set private field on non-instance");
303
+ }
304
+ privateMap.set(receiver, value);
305
+ return value;
233
306
  }
234
307
 
235
308
  /** Base tree control. It has basic toggle/expand/collapse operations on a single data node. */
@@ -286,13 +359,6 @@
286
359
  return BaseTreeControl;
287
360
  }());
288
361
 
289
- /**
290
- * @license
291
- * Copyright Google LLC All Rights Reserved.
292
- *
293
- * Use of this source code is governed by an MIT-style license that can be
294
- * found in the LICENSE file at https://angular.io/license
295
- */
296
362
  /** Flat tree control. Able to expand/collapse a subtree recursively for flattened tree. */
297
363
  var FlatTreeControl = /** @class */ (function (_super) {
298
364
  __extends(FlatTreeControl, _super);
@@ -345,9 +411,13 @@
345
411
  var NestedTreeControl = /** @class */ (function (_super) {
346
412
  __extends(NestedTreeControl, _super);
347
413
  /** Construct with nested tree function getChildren. */
348
- function NestedTreeControl(getChildren) {
414
+ function NestedTreeControl(getChildren, options) {
349
415
  var _this = _super.call(this) || this;
350
416
  _this.getChildren = getChildren;
417
+ _this.options = options;
418
+ if (_this.options) {
419
+ _this.trackBy = _this.options.trackBy;
420
+ }
351
421
  return _this;
352
422
  }
353
423
  /**
@@ -360,10 +430,8 @@
360
430
  var _a;
361
431
  var _this = this;
362
432
  this.expansionModel.clear();
363
- var allNodes = this.dataNodes.reduce(function (accumulator, dataNode) {
364
- return __spread(accumulator, _this.getDescendants(dataNode), [dataNode]);
365
- }, []);
366
- (_a = this.expansionModel).select.apply(_a, __spread(allNodes));
433
+ var allNodes = this.dataNodes.reduce(function (accumulator, dataNode) { return __spread(accumulator, _this.getDescendants(dataNode), [dataNode]); }, []);
434
+ (_a = this.expansionModel).select.apply(_a, __spread(allNodes.map(function (node) { return _this._trackByValue(node); })));
367
435
  };
368
436
  /** Gets a list of descendant dataNodes of a subtree rooted at given data node recursively. */
369
437
  NestedTreeControl.prototype.getDescendants = function (dataNode) {
@@ -427,17 +495,17 @@
427
495
  this.viewContainer = viewContainer;
428
496
  this._node = _node;
429
497
  }
430
- CdkTreeNodeOutlet.decorators = [
431
- { type: core.Directive, args: [{
432
- selector: '[cdkTreeNodeOutlet]'
433
- },] }
434
- ];
435
- CdkTreeNodeOutlet.ctorParameters = function () { return [
436
- { type: core.ViewContainerRef },
437
- { type: undefined, decorators: [{ type: core.Inject, args: [CDK_TREE_NODE_OUTLET_NODE,] }, { type: core.Optional }] }
438
- ]; };
439
498
  return CdkTreeNodeOutlet;
440
499
  }());
500
+ CdkTreeNodeOutlet.decorators = [
501
+ { type: core.Directive, args: [{
502
+ selector: '[cdkTreeNodeOutlet]'
503
+ },] }
504
+ ];
505
+ CdkTreeNodeOutlet.ctorParameters = function () { return [
506
+ { type: core.ViewContainerRef },
507
+ { type: undefined, decorators: [{ type: core.Inject, args: [CDK_TREE_NODE_OUTLET_NODE,] }, { type: core.Optional }] }
508
+ ]; };
441
509
 
442
510
  /**
443
511
  * @license
@@ -462,19 +530,19 @@
462
530
  function CdkTreeNodeDef(template) {
463
531
  this.template = template;
464
532
  }
465
- CdkTreeNodeDef.decorators = [
466
- { type: core.Directive, args: [{
467
- selector: '[cdkTreeNodeDef]',
468
- inputs: [
469
- 'when: cdkTreeNodeDefWhen'
470
- ],
471
- },] }
472
- ];
473
- CdkTreeNodeDef.ctorParameters = function () { return [
474
- { type: core.TemplateRef }
475
- ]; };
476
533
  return CdkTreeNodeDef;
477
534
  }());
535
+ CdkTreeNodeDef.decorators = [
536
+ { type: core.Directive, args: [{
537
+ selector: '[cdkTreeNodeDef]',
538
+ inputs: [
539
+ 'when: cdkTreeNodeDefWhen'
540
+ ],
541
+ },] }
542
+ ];
543
+ CdkTreeNodeDef.ctorParameters = function () { return [
544
+ { type: core.TemplateRef }
545
+ ]; };
478
546
 
479
547
  /**
480
548
  * @license
@@ -698,40 +766,40 @@
698
766
  CdkTreeNode.mostRecentTreeNode.data = nodeData;
699
767
  }
700
768
  };
701
- CdkTree.decorators = [
702
- { type: core.Component, args: [{
703
- selector: 'cdk-tree',
704
- exportAs: 'cdkTree',
705
- template: "<ng-container cdkTreeNodeOutlet></ng-container>",
706
- host: {
707
- 'class': 'cdk-tree',
708
- 'role': 'tree',
709
- },
710
- encapsulation: core.ViewEncapsulation.None,
711
- // The "OnPush" status for the `CdkTree` component is effectively a noop, so we are removing it.
712
- // The view for `CdkTree` consists entirely of templates declared in other views. As they are
713
- // declared elsewhere, they are checked when their declaration points are checked.
714
- // tslint:disable-next-line:validate-decorators
715
- changeDetection: core.ChangeDetectionStrategy.Default
716
- },] }
717
- ];
718
- CdkTree.ctorParameters = function () { return [
719
- { type: core.IterableDiffers },
720
- { type: core.ChangeDetectorRef }
721
- ]; };
722
- CdkTree.propDecorators = {
723
- dataSource: [{ type: core.Input }],
724
- treeControl: [{ type: core.Input }],
725
- trackBy: [{ type: core.Input }],
726
- _nodeOutlet: [{ type: core.ViewChild, args: [CdkTreeNodeOutlet, { static: true },] }],
727
- _nodeDefs: [{ type: core.ContentChildren, args: [CdkTreeNodeDef, {
728
- // We need to use `descendants: true`, because Ivy will no longer match
729
- // indirect descendants if it's left as false.
730
- descendants: true
731
- },] }]
732
- };
733
769
  return CdkTree;
734
770
  }());
771
+ CdkTree.decorators = [
772
+ { type: core.Component, args: [{
773
+ selector: 'cdk-tree',
774
+ exportAs: 'cdkTree',
775
+ template: "<ng-container cdkTreeNodeOutlet></ng-container>",
776
+ host: {
777
+ 'class': 'cdk-tree',
778
+ 'role': 'tree',
779
+ },
780
+ encapsulation: core.ViewEncapsulation.None,
781
+ // The "OnPush" status for the `CdkTree` component is effectively a noop, so we are removing it.
782
+ // The view for `CdkTree` consists entirely of templates declared in other views. As they are
783
+ // declared elsewhere, they are checked when their declaration points are checked.
784
+ // tslint:disable-next-line:validate-decorators
785
+ changeDetection: core.ChangeDetectionStrategy.Default
786
+ },] }
787
+ ];
788
+ CdkTree.ctorParameters = function () { return [
789
+ { type: core.IterableDiffers },
790
+ { type: core.ChangeDetectorRef }
791
+ ]; };
792
+ CdkTree.propDecorators = {
793
+ dataSource: [{ type: core.Input }],
794
+ treeControl: [{ type: core.Input }],
795
+ trackBy: [{ type: core.Input }],
796
+ _nodeOutlet: [{ type: core.ViewChild, args: [CdkTreeNodeOutlet, { static: true },] }],
797
+ _nodeDefs: [{ type: core.ContentChildren, args: [CdkTreeNodeDef, {
798
+ // We need to use `descendants: true`, because Ivy will no longer match
799
+ // indirect descendants if it's left as false.
800
+ descendants: true
801
+ },] }]
802
+ };
735
803
  /**
736
804
  * Tree node for CdkTree. It contains the data in the tree node.
737
805
  */
@@ -744,9 +812,9 @@
744
812
  /** Emits when the node's data has changed. */
745
813
  this._dataChanges = new rxjs.Subject();
746
814
  /**
747
- * The role of the node should be 'group' if it's an internal node,
748
- * and 'treeitem' if it's a leaf node.
815
+ * The role of the node should always be 'treeitem'.
749
816
  */
817
+ // TODO: mark as deprecated
750
818
  this.role = 'treeitem';
751
819
  CdkTreeNode.mostRecentTreeNode = this;
752
820
  }
@@ -791,54 +859,39 @@
791
859
  CdkTreeNode.prototype.focus = function () {
792
860
  this._elementRef.nativeElement.focus();
793
861
  };
862
+ // TODO: role should eventually just be set in the component host
794
863
  CdkTreeNode.prototype._setRoleFromData = function () {
795
- var _this = this;
796
- if (this._tree.treeControl.isExpandable) {
797
- this.role = this._tree.treeControl.isExpandable(this._data) ? 'group' : 'treeitem';
798
- }
799
- else {
800
- if (!this._tree.treeControl.getChildren) {
801
- throw getTreeControlFunctionsMissingError();
802
- }
803
- var childrenNodes = this._tree.treeControl.getChildren(this._data);
804
- if (Array.isArray(childrenNodes)) {
805
- this._setRoleFromChildren(childrenNodes);
806
- }
807
- else if (rxjs.isObservable(childrenNodes)) {
808
- childrenNodes.pipe(operators.takeUntil(this._destroyed))
809
- .subscribe(function (children) { return _this._setRoleFromChildren(children); });
810
- }
864
+ if (!this._tree.treeControl.isExpandable && !this._tree.treeControl.getChildren) {
865
+ throw getTreeControlFunctionsMissingError();
811
866
  }
812
- };
813
- CdkTreeNode.prototype._setRoleFromChildren = function (children) {
814
- this.role = children && children.length ? 'group' : 'treeitem';
815
- };
816
- /**
817
- * The most recently created `CdkTreeNode`. We save it in static variable so we can retrieve it
818
- * in `CdkTree` and set the data to it.
819
- */
820
- CdkTreeNode.mostRecentTreeNode = null;
821
- CdkTreeNode.decorators = [
822
- { type: core.Directive, args: [{
823
- selector: 'cdk-tree-node',
824
- exportAs: 'cdkTreeNode',
825
- host: {
826
- '[attr.aria-expanded]': 'isExpanded',
827
- '[attr.aria-level]': 'role === "treeitem" ? level : null',
828
- '[attr.role]': 'role',
829
- 'class': 'cdk-tree-node',
830
- },
831
- },] }
832
- ];
833
- CdkTreeNode.ctorParameters = function () { return [
834
- { type: core.ElementRef },
835
- { type: CdkTree }
836
- ]; };
837
- CdkTreeNode.propDecorators = {
838
- role: [{ type: core.Input }]
867
+ this.role = 'treeitem';
839
868
  };
840
869
  return CdkTreeNode;
841
870
  }());
871
+ /**
872
+ * The most recently created `CdkTreeNode`. We save it in static variable so we can retrieve it
873
+ * in `CdkTree` and set the data to it.
874
+ */
875
+ CdkTreeNode.mostRecentTreeNode = null;
876
+ CdkTreeNode.decorators = [
877
+ { type: core.Directive, args: [{
878
+ selector: 'cdk-tree-node',
879
+ exportAs: 'cdkTreeNode',
880
+ host: {
881
+ '[attr.aria-expanded]': 'isExpanded',
882
+ '[attr.aria-level]': 'level + 1',
883
+ '[attr.role]': 'role',
884
+ 'class': 'cdk-tree-node',
885
+ },
886
+ },] }
887
+ ];
888
+ CdkTreeNode.ctorParameters = function () { return [
889
+ { type: core.ElementRef },
890
+ { type: CdkTree }
891
+ ]; };
892
+ CdkTreeNode.propDecorators = {
893
+ role: [{ type: core.Input }]
894
+ };
842
895
 
843
896
  /**
844
897
  * Nested node is a child of `<cdk-tree>`. It works with nested tree.
@@ -907,35 +960,35 @@
907
960
  // that we don't pick up the outlet of a child node by accident.
908
961
  return outlets && outlets.find(function (outlet) { return !outlet._node || outlet._node === _this; });
909
962
  };
910
- CdkNestedTreeNode.decorators = [
911
- { type: core.Directive, args: [{
912
- selector: 'cdk-nested-tree-node',
913
- exportAs: 'cdkNestedTreeNode',
914
- host: {
915
- '[attr.aria-expanded]': 'isExpanded',
916
- '[attr.role]': 'role',
917
- 'class': 'cdk-tree-node cdk-nested-tree-node',
918
- },
919
- providers: [
920
- { provide: CdkTreeNode, useExisting: CdkNestedTreeNode },
921
- { provide: CDK_TREE_NODE_OUTLET_NODE, useExisting: CdkNestedTreeNode }
922
- ]
923
- },] }
924
- ];
925
- CdkNestedTreeNode.ctorParameters = function () { return [
926
- { type: core.ElementRef },
927
- { type: CdkTree },
928
- { type: core.IterableDiffers }
929
- ]; };
930
- CdkNestedTreeNode.propDecorators = {
931
- nodeOutlet: [{ type: core.ContentChildren, args: [CdkTreeNodeOutlet, {
932
- // We need to use `descendants: true`, because Ivy will no longer match
933
- // indirect descendants if it's left as false.
934
- descendants: true
935
- },] }]
936
- };
937
963
  return CdkNestedTreeNode;
938
964
  }(CdkTreeNode));
965
+ CdkNestedTreeNode.decorators = [
966
+ { type: core.Directive, args: [{
967
+ selector: 'cdk-nested-tree-node',
968
+ exportAs: 'cdkNestedTreeNode',
969
+ host: {
970
+ '[attr.aria-expanded]': 'isExpanded',
971
+ '[attr.role]': 'role',
972
+ 'class': 'cdk-tree-node cdk-nested-tree-node',
973
+ },
974
+ providers: [
975
+ { provide: CdkTreeNode, useExisting: CdkNestedTreeNode },
976
+ { provide: CDK_TREE_NODE_OUTLET_NODE, useExisting: CdkNestedTreeNode }
977
+ ]
978
+ },] }
979
+ ];
980
+ CdkNestedTreeNode.ctorParameters = function () { return [
981
+ { type: core.ElementRef },
982
+ { type: CdkTree },
983
+ { type: core.IterableDiffers }
984
+ ]; };
985
+ CdkNestedTreeNode.propDecorators = {
986
+ nodeOutlet: [{ type: core.ContentChildren, args: [CdkTreeNodeOutlet, {
987
+ // We need to use `descendants: true`, because Ivy will no longer match
988
+ // indirect descendants if it's left as false.
989
+ descendants: true
990
+ },] }]
991
+ };
939
992
 
940
993
  /**
941
994
  * @license
@@ -1034,24 +1087,24 @@
1034
1087
  this._currentPadding = padding;
1035
1088
  }
1036
1089
  };
1037
- CdkTreeNodePadding.decorators = [
1038
- { type: core.Directive, args: [{
1039
- selector: '[cdkTreeNodePadding]',
1040
- },] }
1041
- ];
1042
- CdkTreeNodePadding.ctorParameters = function () { return [
1043
- { type: CdkTreeNode },
1044
- { type: CdkTree },
1045
- { type: core.Renderer2 },
1046
- { type: core.ElementRef },
1047
- { type: bidi.Directionality, decorators: [{ type: core.Optional }] }
1048
- ]; };
1049
- CdkTreeNodePadding.propDecorators = {
1050
- level: [{ type: core.Input, args: ['cdkTreeNodePadding',] }],
1051
- indent: [{ type: core.Input, args: ['cdkTreeNodePaddingIndent',] }]
1052
- };
1053
1090
  return CdkTreeNodePadding;
1054
1091
  }());
1092
+ CdkTreeNodePadding.decorators = [
1093
+ { type: core.Directive, args: [{
1094
+ selector: '[cdkTreeNodePadding]',
1095
+ },] }
1096
+ ];
1097
+ CdkTreeNodePadding.ctorParameters = function () { return [
1098
+ { type: CdkTreeNode },
1099
+ { type: CdkTree },
1100
+ { type: core.Renderer2 },
1101
+ { type: core.ElementRef },
1102
+ { type: bidi.Directionality, decorators: [{ type: core.Optional }] }
1103
+ ]; };
1104
+ CdkTreeNodePadding.propDecorators = {
1105
+ level: [{ type: core.Input, args: ['cdkTreeNodePadding',] }],
1106
+ indent: [{ type: core.Input, args: ['cdkTreeNodePaddingIndent',] }]
1107
+ };
1055
1108
 
1056
1109
  /**
1057
1110
  * @license
@@ -1087,19 +1140,19 @@
1087
1140
  : this._tree.treeControl.toggle(this._treeNode.data);
1088
1141
  event.stopPropagation();
1089
1142
  };
1090
- CdkTreeNodeToggle.decorators = [
1091
- { type: core.Directive, args: [{ selector: '[cdkTreeNodeToggle]' },] }
1092
- ];
1093
- CdkTreeNodeToggle.ctorParameters = function () { return [
1094
- { type: CdkTree },
1095
- { type: CdkTreeNode }
1096
- ]; };
1097
- CdkTreeNodeToggle.propDecorators = {
1098
- recursive: [{ type: core.Input, args: ['cdkTreeNodeToggleRecursive',] }],
1099
- _toggle: [{ type: core.HostListener, args: ['click', ['$event'],] }]
1100
- };
1101
1143
  return CdkTreeNodeToggle;
1102
1144
  }());
1145
+ CdkTreeNodeToggle.decorators = [
1146
+ { type: core.Directive, args: [{ selector: '[cdkTreeNodeToggle]' },] }
1147
+ ];
1148
+ CdkTreeNodeToggle.ctorParameters = function () { return [
1149
+ { type: CdkTree },
1150
+ { type: CdkTreeNode }
1151
+ ]; };
1152
+ CdkTreeNodeToggle.propDecorators = {
1153
+ recursive: [{ type: core.Input, args: ['cdkTreeNodeToggleRecursive',] }],
1154
+ _toggle: [{ type: core.HostListener, args: ['click', ['$event'],] }]
1155
+ };
1103
1156
 
1104
1157
  /**
1105
1158
  * @license
@@ -1120,15 +1173,15 @@
1120
1173
  var CdkTreeModule = /** @class */ (function () {
1121
1174
  function CdkTreeModule() {
1122
1175
  }
1123
- CdkTreeModule.decorators = [
1124
- { type: core.NgModule, args: [{
1125
- exports: EXPORTED_DECLARATIONS,
1126
- declarations: EXPORTED_DECLARATIONS,
1127
- providers: [a11y.FocusMonitor, CdkTreeNodeDef]
1128
- },] }
1129
- ];
1130
1176
  return CdkTreeModule;
1131
1177
  }());
1178
+ CdkTreeModule.decorators = [
1179
+ { type: core.NgModule, args: [{
1180
+ exports: EXPORTED_DECLARATIONS,
1181
+ declarations: EXPORTED_DECLARATIONS,
1182
+ providers: [a11y.FocusMonitor, CdkTreeNodeDef]
1183
+ },] }
1184
+ ];
1132
1185
 
1133
1186
  /**
1134
1187
  * @license