@angular/cdk 10.0.0-rc.3 → 10.1.0

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 (242) hide show
  1. package/a11y/aria-describer/aria-describer.d.ts +10 -1
  2. package/a11y/focus-trap/focus-trap.d.ts +4 -2
  3. package/a11y/index.metadata.json +1 -1
  4. package/a11y/interactivity-checker/interactivity-checker.d.ts +11 -1
  5. package/a11y/key-manager/list-key-manager.d.ts +6 -0
  6. package/accordion/accordion.d.ts +7 -1
  7. package/accordion/index.d.ts +1 -0
  8. package/accordion/index.metadata.json +1 -1
  9. package/bundles/cdk-a11y.umd.js +78 -15
  10. package/bundles/cdk-a11y.umd.js.map +1 -1
  11. package/bundles/cdk-a11y.umd.min.js +11 -11
  12. package/bundles/cdk-a11y.umd.min.js.map +1 -1
  13. package/bundles/cdk-accordion.umd.js +12 -4
  14. package/bundles/cdk-accordion.umd.js.map +1 -1
  15. package/bundles/cdk-accordion.umd.min.js +2 -2
  16. package/bundles/cdk-accordion.umd.min.js.map +1 -1
  17. package/bundles/cdk-drag-drop.umd.js +717 -641
  18. package/bundles/cdk-drag-drop.umd.js.map +1 -1
  19. package/bundles/cdk-drag-drop.umd.min.js +8 -16
  20. package/bundles/cdk-drag-drop.umd.min.js.map +1 -1
  21. package/bundles/cdk-overlay.umd.js +199 -42
  22. package/bundles/cdk-overlay.umd.js.map +1 -1
  23. package/bundles/cdk-overlay.umd.min.js +11 -18
  24. package/bundles/cdk-overlay.umd.min.js.map +1 -1
  25. package/bundles/cdk-platform.umd.js +0 -1
  26. package/bundles/cdk-platform.umd.js.map +1 -1
  27. package/bundles/cdk-platform.umd.min.js +2 -2
  28. package/bundles/cdk-platform.umd.min.js.map +1 -1
  29. package/bundles/cdk-scrolling.umd.js +26 -4
  30. package/bundles/cdk-scrolling.umd.js.map +1 -1
  31. package/bundles/cdk-scrolling.umd.min.js +11 -4
  32. package/bundles/cdk-scrolling.umd.min.js.map +1 -1
  33. package/bundles/cdk-testing-protractor.umd.min.js +1 -1
  34. package/bundles/cdk-testing-protractor.umd.min.js.map +1 -1
  35. package/bundles/cdk-testing-testbed.umd.min.js +8 -8
  36. package/bundles/cdk-testing-testbed.umd.min.js.map +1 -1
  37. package/bundles/cdk-testing.umd.js +32 -0
  38. package/bundles/cdk-testing.umd.js.map +1 -1
  39. package/bundles/cdk-testing.umd.min.js +5 -5
  40. package/bundles/cdk-testing.umd.min.js.map +1 -1
  41. package/bundles/cdk-tree.umd.js +6 -2
  42. package/bundles/cdk-tree.umd.js.map +1 -1
  43. package/bundles/cdk-tree.umd.min.js +3 -3
  44. package/bundles/cdk-tree.umd.min.js.map +1 -1
  45. package/bundles/cdk.umd.js +1 -1
  46. package/bundles/cdk.umd.js.map +1 -1
  47. package/bundles/cdk.umd.min.js +1 -1
  48. package/bundles/cdk.umd.min.js.map +1 -1
  49. package/drag-drop/directives/drag-handle.d.ts +7 -1
  50. package/drag-drop/directives/drag-placeholder.d.ts +7 -1
  51. package/drag-drop/directives/drag-preview.d.ts +7 -1
  52. package/drag-drop/directives/drag.d.ts +4 -14
  53. package/drag-drop/directives/drop-list-group.d.ts +7 -1
  54. package/drag-drop/directives/drop-list.d.ts +7 -1
  55. package/drag-drop/drag-ref.d.ts +6 -0
  56. package/drag-drop/drop-list-ref.d.ts +3 -2
  57. package/drag-drop/index.d.ts +2 -2
  58. package/drag-drop/index.metadata.json +1 -1
  59. package/esm2015/a11y/a11y-module.js +15 -19
  60. package/esm2015/a11y/aria-describer/aria-describer.js +177 -167
  61. package/esm2015/a11y/focus-monitor/focus-monitor.js +337 -345
  62. package/esm2015/a11y/focus-trap/configurable-focus-trap-factory.js +30 -34
  63. package/esm2015/a11y/focus-trap/focus-trap-manager.js +36 -40
  64. package/esm2015/a11y/focus-trap/focus-trap.js +85 -82
  65. package/esm2015/a11y/high-contrast-mode/high-contrast-mode-detector.js +56 -60
  66. package/esm2015/a11y/interactivity-checker/interactivity-checker.js +113 -104
  67. package/esm2015/a11y/key-manager/list-key-manager.js +29 -4
  68. package/esm2015/a11y/live-announcer/live-announcer.js +138 -146
  69. package/esm2015/accordion/accordion-item.js +119 -123
  70. package/esm2015/accordion/accordion-module.js +9 -13
  71. package/esm2015/accordion/accordion.js +49 -46
  72. package/esm2015/accordion/index.js +2 -1
  73. package/esm2015/bidi/bidi-module.js +9 -13
  74. package/esm2015/bidi/dir.js +41 -45
  75. package/esm2015/bidi/directionality.js +27 -31
  76. package/esm2015/clipboard/clipboard-module.js +9 -13
  77. package/esm2015/clipboard/clipboard.js +36 -40
  78. package/esm2015/clipboard/copy-to-clipboard.js +71 -75
  79. package/esm2015/collections/unique-selection-dispatcher.js +33 -37
  80. package/esm2015/drag-drop/directives/drag-handle.js +42 -39
  81. package/esm2015/drag-drop/directives/drag-placeholder.js +24 -21
  82. package/esm2015/drag-drop/directives/drag-preview.js +29 -26
  83. package/esm2015/drag-drop/directives/drag.js +313 -319
  84. package/esm2015/drag-drop/directives/drop-list-group.js +32 -29
  85. package/esm2015/drag-drop/directives/drop-list.js +251 -250
  86. package/esm2015/drag-drop/drag-drop-module.js +27 -31
  87. package/esm2015/drag-drop/drag-drop-registry.js +139 -143
  88. package/esm2015/drag-drop/drag-drop.js +33 -37
  89. package/esm2015/drag-drop/drag-ref.js +59 -25
  90. package/esm2015/drag-drop/drop-list-ref.js +15 -9
  91. package/esm2015/drag-drop/index.js +3 -2
  92. package/esm2015/layout/breakpoints-observer.js +81 -85
  93. package/esm2015/layout/layout-module.js +6 -10
  94. package/esm2015/layout/media-matcher.js +28 -32
  95. package/esm2015/observers/observe-content.js +147 -163
  96. package/esm2015/overlay/dispatchers/base-overlay-dispatcher.js +51 -0
  97. package/esm2015/overlay/dispatchers/index.js +10 -0
  98. package/esm2015/overlay/dispatchers/overlay-keyboard-dispatcher.js +79 -0
  99. package/esm2015/overlay/dispatchers/overlay-outside-click-dispatcher.js +94 -0
  100. package/esm2015/overlay/fullscreen-overlay-container.js +70 -74
  101. package/esm2015/overlay/index.js +5 -4
  102. package/esm2015/overlay/overlay-config.js +5 -1
  103. package/esm2015/overlay/overlay-container.js +69 -73
  104. package/esm2015/overlay/overlay-directives.js +245 -243
  105. package/esm2015/overlay/overlay-module.js +15 -19
  106. package/esm2015/overlay/overlay-ref.js +24 -2
  107. package/esm2015/overlay/overlay-reference.js +1 -1
  108. package/esm2015/overlay/overlay.js +93 -92
  109. package/esm2015/overlay/position/connected-position.js +14 -18
  110. package/esm2015/overlay/position/overlay-position-builder.js +43 -47
  111. package/esm2015/overlay/public-api.js +2 -2
  112. package/esm2015/overlay/scroll/scroll-strategy-options.js +33 -37
  113. package/esm2015/platform/features/scrolling.js +1 -2
  114. package/esm2015/platform/platform-module.js +6 -10
  115. package/esm2015/platform/platform.js +48 -52
  116. package/esm2015/portal/portal-directives.js +181 -201
  117. package/esm2015/scrolling/fixed-size-virtual-scroll.js +57 -47
  118. package/esm2015/scrolling/public-api.js +2 -1
  119. package/esm2015/scrolling/scroll-dispatcher.js +139 -143
  120. package/esm2015/scrolling/scrollable.js +135 -139
  121. package/esm2015/scrolling/scrolling-module.js +32 -40
  122. package/esm2015/scrolling/viewport-ruler.js +105 -109
  123. package/esm2015/scrolling/virtual-for-of.js +264 -268
  124. package/esm2015/scrolling/virtual-scroll-repeater.js +8 -0
  125. package/esm2015/scrolling/virtual-scroll-viewport.js +318 -322
  126. package/esm2015/stepper/step-header.js +20 -24
  127. package/esm2015/stepper/step-label.js +13 -17
  128. package/esm2015/stepper/stepper-button.js +59 -67
  129. package/esm2015/stepper/stepper-module.js +24 -28
  130. package/esm2015/stepper/stepper.js +313 -321
  131. package/esm2015/table/cell.js +129 -157
  132. package/esm2015/table/row.js +183 -219
  133. package/esm2015/table/table-module.js +9 -13
  134. package/esm2015/table/table.js +765 -785
  135. package/esm2015/table/text-column.js +85 -89
  136. package/esm2015/testing/component-harness.js +19 -1
  137. package/esm2015/testing/harness-environment.js +7 -1
  138. package/esm2015/text-field/autofill.js +89 -97
  139. package/esm2015/text-field/autosize.js +225 -229
  140. package/esm2015/text-field/text-field-module.js +10 -14
  141. package/esm2015/tree/control/nested-tree-control.js +7 -3
  142. package/esm2015/tree/nested-node.js +79 -83
  143. package/esm2015/tree/node.js +17 -21
  144. package/esm2015/tree/outlet.js +15 -19
  145. package/esm2015/tree/padding.js +88 -92
  146. package/esm2015/tree/toggle.js +32 -36
  147. package/esm2015/tree/tree-module.js +10 -14
  148. package/esm2015/tree/tree.js +266 -274
  149. package/esm2015/version.js +1 -1
  150. package/fesm2015/a11y.js +1021 -996
  151. package/fesm2015/a11y.js.map +1 -1
  152. package/fesm2015/accordion.js +173 -175
  153. package/fesm2015/accordion.js.map +1 -1
  154. package/fesm2015/bidi.js +74 -83
  155. package/fesm2015/bidi.js.map +1 -1
  156. package/fesm2015/cdk.js +1 -1
  157. package/fesm2015/cdk.js.map +1 -1
  158. package/fesm2015/clipboard.js +113 -122
  159. package/fesm2015/clipboard.js.map +1 -1
  160. package/fesm2015/collections.js +32 -35
  161. package/fesm2015/collections.js.map +1 -1
  162. package/fesm2015/drag-drop.js +1005 -961
  163. package/fesm2015/drag-drop.js.map +1 -1
  164. package/fesm2015/layout.js +111 -120
  165. package/fesm2015/layout.js.map +1 -1
  166. package/fesm2015/observers.js +146 -158
  167. package/fesm2015/observers.js.map +1 -1
  168. package/fesm2015/overlay.js +793 -659
  169. package/fesm2015/overlay.js.map +1 -1
  170. package/fesm2015/platform.js +52 -59
  171. package/fesm2015/platform.js.map +1 -1
  172. package/fesm2015/portal.js +180 -195
  173. package/fesm2015/portal.js.map +1 -1
  174. package/fesm2015/scrolling.js +1058 -1060
  175. package/fesm2015/scrolling.js.map +1 -1
  176. package/fesm2015/stepper.js +424 -445
  177. package/fesm2015/stepper.js.map +1 -1
  178. package/fesm2015/table.js +1178 -1247
  179. package/fesm2015/table.js.map +1 -1
  180. package/fesm2015/testing.js +25 -1
  181. package/fesm2015/testing.js.map +1 -1
  182. package/fesm2015/text-field.js +318 -330
  183. package/fesm2015/text-field.js.map +1 -1
  184. package/fesm2015/tree.js +517 -537
  185. package/fesm2015/tree.js.map +1 -1
  186. package/overlay/dispatchers/base-overlay-dispatcher.d.ts +28 -0
  187. package/overlay/dispatchers/index.d.ts +9 -0
  188. package/overlay/{keyboard → dispatchers}/overlay-keyboard-dispatcher.d.ts +4 -10
  189. package/overlay/dispatchers/overlay-outside-click-dispatcher.d.ts +27 -0
  190. package/overlay/index.d.ts +4 -3
  191. package/overlay/index.metadata.json +1 -1
  192. package/overlay/overlay-config.d.ts +4 -0
  193. package/overlay/overlay-directives.d.ts +4 -0
  194. package/overlay/overlay-ref.d.ts +8 -2
  195. package/overlay/overlay-reference.d.ts +1 -0
  196. package/overlay/overlay.d.ts +4 -2
  197. package/overlay/public-api.d.ts +1 -1
  198. package/package.json +3 -3
  199. package/schematics/index.js +1 -1
  200. package/schematics/migration.json +5 -0
  201. package/schematics/ng-add/index.js +1 -1
  202. package/schematics/ng-update/data/index.js +1 -1
  203. package/schematics/ng-update/devkit-file-system.d.ts +5 -5
  204. package/schematics/ng-update/devkit-file-system.js +21 -16
  205. package/schematics/ng-update/devkit-migration-rule.js +13 -20
  206. package/schematics/ng-update/devkit-migration.d.ts +0 -2
  207. package/schematics/ng-update/devkit-migration.js +1 -1
  208. package/schematics/ng-update/find-stylesheets.d.ts +10 -0
  209. package/schematics/ng-update/find-stylesheets.js +31 -0
  210. package/schematics/ng-update/index.d.ts +2 -0
  211. package/schematics/ng-update/index.js +7 -2
  212. package/schematics/ng-update/migrations/attribute-selectors.js +3 -3
  213. package/schematics/ng-update/migrations/css-selectors.js +3 -3
  214. package/schematics/ng-update/migrations/element-selectors.js +3 -3
  215. package/schematics/ng-update/public-api.js +1 -1
  216. package/schematics/update-tool/component-resource-collector.d.ts +1 -1
  217. package/schematics/update-tool/component-resource-collector.js +18 -14
  218. package/schematics/update-tool/file-system.d.ts +19 -14
  219. package/schematics/update-tool/file-system.js +1 -1
  220. package/schematics/update-tool/index.d.ts +21 -3
  221. package/schematics/update-tool/index.js +29 -23
  222. package/schematics/update-tool/public-api.js +1 -1
  223. package/schematics/update-tool/target-version.d.ts +2 -1
  224. package/schematics/update-tool/target-version.js +5 -3
  225. package/schematics/update-tool/utils/parse-tsconfig.d.ts +2 -1
  226. package/schematics/update-tool/utils/parse-tsconfig.js +6 -10
  227. package/schematics/update-tool/utils/virtual-host.d.ts +34 -0
  228. package/schematics/update-tool/utils/virtual-host.js +62 -0
  229. package/schematics/update-tool/version-changes.js +4 -6
  230. package/schematics/utils/index.js +1 -1
  231. package/schematics/utils/project-tsconfig-paths.d.ts +2 -1
  232. package/schematics/utils/project-tsconfig-paths.js +1 -1
  233. package/scrolling/index.metadata.json +1 -1
  234. package/scrolling/public-api.d.ts +1 -0
  235. package/scrolling/virtual-for-of.d.ts +2 -1
  236. package/scrolling/virtual-scroll-repeater.d.ts +16 -0
  237. package/scrolling/virtual-scroll-viewport.d.ts +4 -4
  238. package/testing/component-harness.d.ts +12 -0
  239. package/testing/harness-environment.d.ts +1 -0
  240. package/tree/control/nested-tree-control.d.ts +7 -2
  241. package/tree/index.metadata.json +1 -1
  242. package/esm2015/overlay/keyboard/overlay-keyboard-dispatcher.js +0 -100
@@ -1 +1 @@
1
- {"version":3,"sources":["src/cdk/cdk-tree.umd.js"],"names":["global","factory","exports","module","require","define","amd","self","ng","cdk","tree","collections","rxjs","operators","core","bidi","coercion","a11y","this","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","constructor","prototype","create","__read","o","n","m","Symbol","iterator","r","e","i","call","ar","next","done","push","value","error","__spread","arguments","length","concat","BaseTreeControl","expansionModel","SelectionModel","toggle","dataNode","_trackByValue","expand","select","collapse","deselect","isExpanded","isSelected","toggleDescendants","collapseDescendants","expandDescendants","collapseAll","clear","_a","_this","toBeProcessed","apply","getDescendants","map","trackBy","FlatTreeControl","_super","getLevel","isExpandable","options","results","dataNodes","indexOf","expandAll","node","NestedTreeControl","getChildren","allNodes","reduce","accumulator","descendants","_getDescendants","splice","childrenNodes","isArray","forEach","child","isObservable","pipe","take","filter","Boolean","subscribe","children","e_1","children_1","__values","s","TypeError","children_1_1","e_1_1","return","CDK_TREE_NODE_OUTLET_NODE","InjectionToken","CdkTreeNodeOutlet","viewContainer","_node","decorators","type","Directive","args","selector","ctorParameters","ViewContainerRef","undefined","Inject","Optional","CdkTreeNodeOutletContext","data","$implicit","CdkTreeNodeDef","template","inputs","TemplateRef","getTreeNoValidDataSourceError","Error","getTreeMultipleDefaultNodeDefsError","getTreeMissingMatchingNodeDefError","getTreeControlMissingError","getTreeControlFunctionsMissingError","CdkTree","_differs","_changeDetectorRef","_onDestroy","Subject","_levels","Map","viewChange","BehaviorSubject","start","end","Number","MAX_VALUE","defineProperty","get","_dataSource","set","dataSource","_switchDataSource","enumerable","configurable","ngOnInit","_dataDiffer","find","treeControl","ngOnDestroy","_nodeOutlet","complete","disconnect","_dataSubscription","unsubscribe","ngAfterContentChecked","defaultNodeDefs","_nodeDefs","def","when","_defaultNodeDef","_observeRenderChanges","dataStream","isDataSource","connect","of","takeUntil","renderNodeChanges","dataDiffer","parentData","changes","diff","forEachOperation","item","adjustedPreviousIndex","currentIndex","previousIndex","insertNode","remove","delete","view","move","detectChanges","_getNodeDef","first","nodeDef","nodeData","index","context","level","has","createEmbeddedView","CdkTreeNode","mostRecentTreeNode","Component","exportAs","host","class","role","encapsulation","ViewEncapsulation","None","changeDetection","ChangeDetectionStrategy","Default","IterableDiffers","ChangeDetectorRef","propDecorators","Input","ViewChild","static","ContentChildren","_elementRef","_tree","_destroyed","_dataChanges","_data","_setRoleFromData","focus","nativeElement","_setRoleFromChildren","[attr.aria-expanded]","[attr.aria-level]","[attr.role]","ElementRef","CdkNestedTreeNode","ngAfterContentInit","updateChildrenNodes","result","nodeOutlet","_clear","outlet","_getNodeOutlet","_children","outlets","providers","provide","useExisting","cssUnitPattern","CdkTreeNodePadding","_treeNode","_renderer","_element","_dir","indentUnits","_indent","_setPadding","change","_level","coerceNumberProperty","indent","units","parts","split","_paddingIndent","nodeLevel","forceChange","padding","_currentPadding","element","paddingProp","resetProp","style","Renderer2","Directionality","CdkTreeNodeToggle","_recursive","coerceBooleanProperty","_toggle","event","recursive","stopPropagation","HostListener","EXPORTED_DECLARATIONS","CdkTreeModule","NgModule","declarations","FocusMonitor"],"mappings":"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","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/cdk/collections'), require('rxjs'), require('rxjs/operators'), require('@angular/core'), require('@angular/cdk/bidi'), require('@angular/cdk/coercion'), require('@angular/cdk/a11y')) :\n typeof define === 'function' && define.amd ? define('@angular/cdk/tree', ['exports', '@angular/cdk/collections', 'rxjs', 'rxjs/operators', '@angular/core', '@angular/cdk/bidi', '@angular/cdk/coercion', '@angular/cdk/a11y'], factory) :\n (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));\n}(this, (function (exports, collections, rxjs, operators, core, bidi, coercion, a11y) { 'use strict';\n\n /*! *****************************************************************************\r\n Copyright (c) Microsoft Corporation.\r\n\r\n Permission to use, copy, modify, and/or distribute this software for any\r\n purpose with or without fee is hereby granted.\r\n\r\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\n AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\n LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\n OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\n PERFORMANCE OF THIS SOFTWARE.\r\n ***************************************************************************** */\r\n /* global Reflect, Promise */\r\n\r\n var 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\n 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\n 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\n 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++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n }\r\n\r\n 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\n function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n }\r\n\r\n function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n }\r\n\r\n function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\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) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n }\r\n\r\n 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\n var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n }) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n });\r\n\r\n function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);\r\n }\r\n\r\n function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") 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 throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n }\r\n\r\n 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\n 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\n function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n };\r\n\r\n function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n }\r\n\r\n 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\n 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\n 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\n 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\n var __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n }) : function(o, v) {\r\n o[\"default\"] = v;\r\n };\r\n\r\n 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)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n }\r\n\r\n function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n }\r\n\r\n function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n }\r\n\r\n function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n }\n\n /** Base tree control. It has basic toggle/expand/collapse operations on a single data node. */\n var BaseTreeControl = /** @class */ (function () {\n function BaseTreeControl() {\n /** A selection model with multi-selection to track expansion status. */\n this.expansionModel = new collections.SelectionModel(true);\n }\n /** Toggles one single data node's expanded/collapsed state. */\n BaseTreeControl.prototype.toggle = function (dataNode) {\n this.expansionModel.toggle(this._trackByValue(dataNode));\n };\n /** Expands one single data node. */\n BaseTreeControl.prototype.expand = function (dataNode) {\n this.expansionModel.select(this._trackByValue(dataNode));\n };\n /** Collapses one single data node. */\n BaseTreeControl.prototype.collapse = function (dataNode) {\n this.expansionModel.deselect(this._trackByValue(dataNode));\n };\n /** Whether a given data node is expanded or not. Returns true if the data node is expanded. */\n BaseTreeControl.prototype.isExpanded = function (dataNode) {\n return this.expansionModel.isSelected(this._trackByValue(dataNode));\n };\n /** Toggles a subtree rooted at `node` recursively. */\n BaseTreeControl.prototype.toggleDescendants = function (dataNode) {\n this.expansionModel.isSelected(this._trackByValue(dataNode)) ?\n this.collapseDescendants(dataNode) :\n this.expandDescendants(dataNode);\n };\n /** Collapse all dataNodes in the tree. */\n BaseTreeControl.prototype.collapseAll = function () {\n this.expansionModel.clear();\n };\n /** Expands a subtree rooted at given data node recursively. */\n BaseTreeControl.prototype.expandDescendants = function (dataNode) {\n var _a;\n var _this = this;\n var toBeProcessed = [dataNode];\n toBeProcessed.push.apply(toBeProcessed, __spread(this.getDescendants(dataNode)));\n (_a = this.expansionModel).select.apply(_a, __spread(toBeProcessed.map(function (value) { return _this._trackByValue(value); })));\n };\n /** Collapses a subtree rooted at given data node recursively. */\n BaseTreeControl.prototype.collapseDescendants = function (dataNode) {\n var _a;\n var _this = this;\n var toBeProcessed = [dataNode];\n toBeProcessed.push.apply(toBeProcessed, __spread(this.getDescendants(dataNode)));\n (_a = this.expansionModel).deselect.apply(_a, __spread(toBeProcessed.map(function (value) { return _this._trackByValue(value); })));\n };\n BaseTreeControl.prototype._trackByValue = function (value) {\n return this.trackBy ? this.trackBy(value) : value;\n };\n return BaseTreeControl;\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 /** Flat tree control. Able to expand/collapse a subtree recursively for flattened tree. */\n var FlatTreeControl = /** @class */ (function (_super) {\n __extends(FlatTreeControl, _super);\n /** Construct with flat tree data node functions getLevel and isExpandable. */\n function FlatTreeControl(getLevel, isExpandable, options) {\n var _this = _super.call(this) || this;\n _this.getLevel = getLevel;\n _this.isExpandable = isExpandable;\n _this.options = options;\n if (_this.options) {\n _this.trackBy = _this.options.trackBy;\n }\n return _this;\n }\n /**\n * Gets a list of the data node's subtree of descendent data nodes.\n *\n * To make this working, the `dataNodes` of the TreeControl must be flattened tree nodes\n * with correct levels.\n */\n FlatTreeControl.prototype.getDescendants = function (dataNode) {\n var startIndex = this.dataNodes.indexOf(dataNode);\n var results = [];\n // Goes through flattened tree nodes in the `dataNodes` array, and get all descendants.\n // The level of descendants of a tree node must be greater than the level of the given\n // tree node.\n // If we reach a node whose level is equal to the level of the tree node, we hit a sibling.\n // If we reach a node whose level is greater than the level of the tree node, we hit a\n // sibling of an ancestor.\n for (var i = startIndex + 1; i < this.dataNodes.length && this.getLevel(dataNode) < this.getLevel(this.dataNodes[i]); i++) {\n results.push(this.dataNodes[i]);\n }\n return results;\n };\n /**\n * Expands all data nodes in the tree.\n *\n * To make this working, the `dataNodes` variable of the TreeControl must be set to all flattened\n * data nodes of the tree.\n */\n FlatTreeControl.prototype.expandAll = function () {\n var _a;\n var _this = this;\n (_a = this.expansionModel).select.apply(_a, __spread(this.dataNodes.map(function (node) { return _this._trackByValue(node); })));\n };\n return FlatTreeControl;\n }(BaseTreeControl));\n\n /** Nested tree control. Able to expand/collapse a subtree recursively for NestedNode type. */\n var NestedTreeControl = /** @class */ (function (_super) {\n __extends(NestedTreeControl, _super);\n /** Construct with nested tree function getChildren. */\n function NestedTreeControl(getChildren) {\n var _this = _super.call(this) || this;\n _this.getChildren = getChildren;\n return _this;\n }\n /**\n * Expands all dataNodes in the tree.\n *\n * To make this working, the `dataNodes` variable of the TreeControl must be set to all root level\n * data nodes of the tree.\n */\n NestedTreeControl.prototype.expandAll = function () {\n var _a;\n var _this = this;\n this.expansionModel.clear();\n var allNodes = this.dataNodes.reduce(function (accumulator, dataNode) {\n return __spread(accumulator, _this.getDescendants(dataNode), [dataNode]);\n }, []);\n (_a = this.expansionModel).select.apply(_a, __spread(allNodes));\n };\n /** Gets a list of descendant dataNodes of a subtree rooted at given data node recursively. */\n NestedTreeControl.prototype.getDescendants = function (dataNode) {\n var descendants = [];\n this._getDescendants(descendants, dataNode);\n // Remove the node itself\n return descendants.splice(1);\n };\n /** A helper function to get descendants recursively. */\n NestedTreeControl.prototype._getDescendants = function (descendants, dataNode) {\n var _this = this;\n descendants.push(dataNode);\n var childrenNodes = this.getChildren(dataNode);\n if (Array.isArray(childrenNodes)) {\n childrenNodes.forEach(function (child) { return _this._getDescendants(descendants, child); });\n }\n else if (rxjs.isObservable(childrenNodes)) {\n // TypeScript as of version 3.5 doesn't seem to treat `Boolean` like a function that\n // returns a `boolean` specifically in the context of `filter`, so we manually clarify that.\n childrenNodes.pipe(operators.take(1), operators.filter(Boolean))\n .subscribe(function (children) {\n var e_1, _a;\n try {\n for (var children_1 = __values(children), children_1_1 = children_1.next(); !children_1_1.done; children_1_1 = children_1.next()) {\n var child = children_1_1.value;\n _this._getDescendants(descendants, child);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (children_1_1 && !children_1_1.done && (_a = children_1.return)) _a.call(children_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n });\n }\n };\n return NestedTreeControl;\n }(BaseTreeControl));\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 /**\n * Injection token used to provide a `CdkTreeNode` to its outlet.\n * Used primarily to avoid circular imports.\n * @docs-private\n */\n var CDK_TREE_NODE_OUTLET_NODE = new core.InjectionToken('CDK_TREE_NODE_OUTLET_NODE');\n /**\n * Outlet for nested CdkNode. Put `[cdkTreeNodeOutlet]` on a tag to place children dataNodes\n * inside the outlet.\n */\n var CdkTreeNodeOutlet = /** @class */ (function () {\n function CdkTreeNodeOutlet(viewContainer, _node) {\n this.viewContainer = viewContainer;\n this._node = _node;\n }\n CdkTreeNodeOutlet.decorators = [\n { type: core.Directive, args: [{\n selector: '[cdkTreeNodeOutlet]'\n },] }\n ];\n CdkTreeNodeOutlet.ctorParameters = function () { return [\n { type: core.ViewContainerRef },\n { type: undefined, decorators: [{ type: core.Inject, args: [CDK_TREE_NODE_OUTLET_NODE,] }, { type: core.Optional }] }\n ]; };\n return CdkTreeNodeOutlet;\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 /** Context provided to the tree node component. */\n var CdkTreeNodeOutletContext = /** @class */ (function () {\n function CdkTreeNodeOutletContext(data) {\n this.$implicit = data;\n }\n return CdkTreeNodeOutletContext;\n }());\n /**\n * Data node definition for the CdkTree.\n * Captures the node's template and a when predicate that describes when this node should be used.\n */\n var CdkTreeNodeDef = /** @class */ (function () {\n /** @docs-private */\n function CdkTreeNodeDef(template) {\n this.template = template;\n }\n CdkTreeNodeDef.decorators = [\n { type: core.Directive, args: [{\n selector: '[cdkTreeNodeDef]',\n inputs: [\n 'when: cdkTreeNodeDefWhen'\n ],\n },] }\n ];\n CdkTreeNodeDef.ctorParameters = function () { return [\n { type: core.TemplateRef }\n ]; };\n return CdkTreeNodeDef;\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 /**\n * Returns an error to be thrown when there is no usable data.\n * @docs-private\n */\n function getTreeNoValidDataSourceError() {\n return Error(\"A valid data source must be provided.\");\n }\n /**\n * Returns an error to be thrown when there are multiple nodes that are missing a when function.\n * @docs-private\n */\n function getTreeMultipleDefaultNodeDefsError() {\n return Error(\"There can only be one default row without a when predicate function.\");\n }\n /**\n * Returns an error to be thrown when there are no matching node defs for a particular set of data.\n * @docs-private\n */\n function getTreeMissingMatchingNodeDefError() {\n return Error(\"Could not find a matching node definition for the provided node data.\");\n }\n /**\n * Returns an error to be thrown when there are tree control.\n * @docs-private\n */\n function getTreeControlMissingError() {\n return Error(\"Could not find a tree control for the tree.\");\n }\n /**\n * Returns an error to be thrown when tree control did not implement functions for flat/nested node.\n * @docs-private\n */\n function getTreeControlFunctionsMissingError() {\n return Error(\"Could not find functions for nested/flat tree in tree control.\");\n }\n\n /**\n * CDK tree component that connects with a data source to retrieve data of type `T` and renders\n * dataNodes with hierarchy. Updates the dataNodes when new data is provided by the data source.\n */\n var CdkTree = /** @class */ (function () {\n function CdkTree(_differs, _changeDetectorRef) {\n this._differs = _differs;\n this._changeDetectorRef = _changeDetectorRef;\n /** Subject that emits when the component has been destroyed. */\n this._onDestroy = new rxjs.Subject();\n /** Level of nodes */\n this._levels = new Map();\n // TODO(tinayuangao): Setup a listener for scrolling, emit the calculated view to viewChange.\n // Remove the MAX_VALUE in viewChange\n /**\n * Stream containing the latest information on what rows are being displayed on screen.\n * Can be used by the data source to as a heuristic of what data should be provided.\n */\n this.viewChange = new rxjs.BehaviorSubject({ start: 0, end: Number.MAX_VALUE });\n }\n Object.defineProperty(CdkTree.prototype, \"dataSource\", {\n /**\n * Provides a stream containing the latest data array to render. Influenced by the tree's\n * stream of view window (what dataNodes are currently on screen).\n * Data source can be an observable of data array, or a data array to render.\n */\n get: function () { return this._dataSource; },\n set: function (dataSource) {\n if (this._dataSource !== dataSource) {\n this._switchDataSource(dataSource);\n }\n },\n enumerable: false,\n configurable: true\n });\n CdkTree.prototype.ngOnInit = function () {\n this._dataDiffer = this._differs.find([]).create(this.trackBy);\n if (!this.treeControl) {\n throw getTreeControlMissingError();\n }\n };\n CdkTree.prototype.ngOnDestroy = function () {\n this._nodeOutlet.viewContainer.clear();\n this.viewChange.complete();\n this._onDestroy.next();\n this._onDestroy.complete();\n if (this._dataSource && typeof this._dataSource.disconnect === 'function') {\n this.dataSource.disconnect(this);\n }\n if (this._dataSubscription) {\n this._dataSubscription.unsubscribe();\n this._dataSubscription = null;\n }\n };\n CdkTree.prototype.ngAfterContentChecked = function () {\n var defaultNodeDefs = this._nodeDefs.filter(function (def) { return !def.when; });\n if (defaultNodeDefs.length > 1) {\n throw getTreeMultipleDefaultNodeDefsError();\n }\n this._defaultNodeDef = defaultNodeDefs[0];\n if (this.dataSource && this._nodeDefs && !this._dataSubscription) {\n this._observeRenderChanges();\n }\n };\n // TODO(tinayuangao): Work on keyboard traversal and actions, make sure it's working for RTL\n // and nested trees.\n /**\n * Switch to the provided data source by resetting the data and unsubscribing from the current\n * render change subscription if one exists. If the data source is null, interpret this by\n * clearing the node outlet. Otherwise start listening for new data.\n */\n CdkTree.prototype._switchDataSource = function (dataSource) {\n if (this._dataSource && typeof this._dataSource.disconnect === 'function') {\n this.dataSource.disconnect(this);\n }\n if (this._dataSubscription) {\n this._dataSubscription.unsubscribe();\n this._dataSubscription = null;\n }\n // Remove the all dataNodes if there is now no data source\n if (!dataSource) {\n this._nodeOutlet.viewContainer.clear();\n }\n this._dataSource = dataSource;\n if (this._nodeDefs) {\n this._observeRenderChanges();\n }\n };\n /** Set up a subscription for the data provided by the data source. */\n CdkTree.prototype._observeRenderChanges = function () {\n var _this = this;\n var dataStream;\n if (collections.isDataSource(this._dataSource)) {\n dataStream = this._dataSource.connect(this);\n }\n else if (rxjs.isObservable(this._dataSource)) {\n dataStream = this._dataSource;\n }\n else if (Array.isArray(this._dataSource)) {\n dataStream = rxjs.of(this._dataSource);\n }\n if (dataStream) {\n this._dataSubscription = dataStream.pipe(operators.takeUntil(this._onDestroy))\n .subscribe(function (data) { return _this.renderNodeChanges(data); });\n }\n else {\n throw getTreeNoValidDataSourceError();\n }\n };\n /** Check for changes made in the data and render each change (node added/removed/moved). */\n CdkTree.prototype.renderNodeChanges = function (data, dataDiffer, viewContainer, parentData) {\n var _this = this;\n if (dataDiffer === void 0) { dataDiffer = this._dataDiffer; }\n if (viewContainer === void 0) { viewContainer = this._nodeOutlet.viewContainer; }\n var changes = dataDiffer.diff(data);\n if (!changes) {\n return;\n }\n changes.forEachOperation(function (item, adjustedPreviousIndex, currentIndex) {\n if (item.previousIndex == null) {\n _this.insertNode(data[currentIndex], currentIndex, viewContainer, parentData);\n }\n else if (currentIndex == null) {\n viewContainer.remove(adjustedPreviousIndex);\n _this._levels.delete(item.item);\n }\n else {\n var view = viewContainer.get(adjustedPreviousIndex);\n viewContainer.move(view, currentIndex);\n }\n });\n this._changeDetectorRef.detectChanges();\n };\n /**\n * Finds the matching node definition that should be used for this node data. If there is only\n * one node definition, it is returned. Otherwise, find the node definition that has a when\n * predicate that returns true with the data. If none return true, return the default node\n * definition.\n */\n CdkTree.prototype._getNodeDef = function (data, i) {\n if (this._nodeDefs.length === 1) {\n return this._nodeDefs.first;\n }\n var nodeDef = this._nodeDefs.find(function (def) { return def.when && def.when(i, data); }) || this._defaultNodeDef;\n if (!nodeDef) {\n throw getTreeMissingMatchingNodeDefError();\n }\n return nodeDef;\n };\n /**\n * Create the embedded view for the data node template and place it in the correct index location\n * within the data node view container.\n */\n CdkTree.prototype.insertNode = function (nodeData, index, viewContainer, parentData) {\n var node = this._getNodeDef(nodeData, index);\n // Node context that will be provided to created embedded view\n var context = new CdkTreeNodeOutletContext(nodeData);\n // If the tree is flat tree, then use the `getLevel` function in flat tree control\n // Otherwise, use the level of parent node.\n if (this.treeControl.getLevel) {\n context.level = this.treeControl.getLevel(nodeData);\n }\n else if (typeof parentData !== 'undefined' && this._levels.has(parentData)) {\n context.level = this._levels.get(parentData) + 1;\n }\n else {\n context.level = 0;\n }\n this._levels.set(nodeData, context.level);\n // Use default tree nodeOutlet, or nested node's nodeOutlet\n var container = viewContainer ? viewContainer : this._nodeOutlet.viewContainer;\n container.createEmbeddedView(node.template, context, index);\n // Set the data to just created `CdkTreeNode`.\n // The `CdkTreeNode` created from `createEmbeddedView` will be saved in static variable\n // `mostRecentTreeNode`. We get it from static variable and pass the node data to it.\n if (CdkTreeNode.mostRecentTreeNode) {\n CdkTreeNode.mostRecentTreeNode.data = nodeData;\n }\n };\n CdkTree.decorators = [\n { type: core.Component, args: [{\n selector: 'cdk-tree',\n exportAs: 'cdkTree',\n template: \"<ng-container cdkTreeNodeOutlet></ng-container>\",\n host: {\n 'class': 'cdk-tree',\n 'role': 'tree',\n },\n encapsulation: core.ViewEncapsulation.None,\n // The \"OnPush\" status for the `CdkTree` component is effectively a noop, so we are removing it.\n // The view for `CdkTree` consists entirely of templates declared in other views. As they are\n // declared elsewhere, they are checked when their declaration points are checked.\n // tslint:disable-next-line:validate-decorators\n changeDetection: core.ChangeDetectionStrategy.Default\n },] }\n ];\n CdkTree.ctorParameters = function () { return [\n { type: core.IterableDiffers },\n { type: core.ChangeDetectorRef }\n ]; };\n CdkTree.propDecorators = {\n dataSource: [{ type: core.Input }],\n treeControl: [{ type: core.Input }],\n trackBy: [{ type: core.Input }],\n _nodeOutlet: [{ type: core.ViewChild, args: [CdkTreeNodeOutlet, { static: true },] }],\n _nodeDefs: [{ type: core.ContentChildren, args: [CdkTreeNodeDef, {\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 };\n return CdkTree;\n }());\n /**\n * Tree node for CdkTree. It contains the data in the tree node.\n */\n var CdkTreeNode = /** @class */ (function () {\n function CdkTreeNode(_elementRef, _tree) {\n this._elementRef = _elementRef;\n this._tree = _tree;\n /** Subject that emits when the component has been destroyed. */\n this._destroyed = new rxjs.Subject();\n /** Emits when the node's data has changed. */\n this._dataChanges = new rxjs.Subject();\n /**\n * The role of the node should be 'group' if it's an internal node,\n * and 'treeitem' if it's a leaf node.\n */\n this.role = 'treeitem';\n CdkTreeNode.mostRecentTreeNode = this;\n }\n Object.defineProperty(CdkTreeNode.prototype, \"data\", {\n /** The tree node's data. */\n get: function () { return this._data; },\n set: function (value) {\n if (value !== this._data) {\n this._data = value;\n this._setRoleFromData();\n this._dataChanges.next();\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CdkTreeNode.prototype, \"isExpanded\", {\n get: function () {\n return this._tree.treeControl.isExpanded(this._data);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CdkTreeNode.prototype, \"level\", {\n get: function () {\n return this._tree.treeControl.getLevel ? this._tree.treeControl.getLevel(this._data) : 0;\n },\n enumerable: false,\n configurable: true\n });\n CdkTreeNode.prototype.ngOnDestroy = function () {\n // If this is the last tree node being destroyed,\n // clear out the reference to avoid leaking memory.\n if (CdkTreeNode.mostRecentTreeNode === this) {\n CdkTreeNode.mostRecentTreeNode = null;\n }\n this._dataChanges.complete();\n this._destroyed.next();\n this._destroyed.complete();\n };\n /** Focuses the menu item. Implements for FocusableOption. */\n CdkTreeNode.prototype.focus = function () {\n this._elementRef.nativeElement.focus();\n };\n CdkTreeNode.prototype._setRoleFromData = function () {\n var _this = this;\n if (this._tree.treeControl.isExpandable) {\n this.role = this._tree.treeControl.isExpandable(this._data) ? 'group' : 'treeitem';\n }\n else {\n if (!this._tree.treeControl.getChildren) {\n throw getTreeControlFunctionsMissingError();\n }\n var childrenNodes = this._tree.treeControl.getChildren(this._data);\n if (Array.isArray(childrenNodes)) {\n this._setRoleFromChildren(childrenNodes);\n }\n else if (rxjs.isObservable(childrenNodes)) {\n childrenNodes.pipe(operators.takeUntil(this._destroyed))\n .subscribe(function (children) { return _this._setRoleFromChildren(children); });\n }\n }\n };\n CdkTreeNode.prototype._setRoleFromChildren = function (children) {\n this.role = children && children.length ? 'group' : 'treeitem';\n };\n /**\n * The most recently created `CdkTreeNode`. We save it in static variable so we can retrieve it\n * in `CdkTree` and set the data to it.\n */\n CdkTreeNode.mostRecentTreeNode = null;\n CdkTreeNode.decorators = [\n { type: core.Directive, args: [{\n selector: 'cdk-tree-node',\n exportAs: 'cdkTreeNode',\n host: {\n '[attr.aria-expanded]': 'isExpanded',\n '[attr.aria-level]': 'role === \"treeitem\" ? level : null',\n '[attr.role]': 'role',\n 'class': 'cdk-tree-node',\n },\n },] }\n ];\n CdkTreeNode.ctorParameters = function () { return [\n { type: core.ElementRef },\n { type: CdkTree }\n ]; };\n CdkTreeNode.propDecorators = {\n role: [{ type: core.Input }]\n };\n return CdkTreeNode;\n }());\n\n /**\n * Nested node is a child of `<cdk-tree>`. It works with nested tree.\n * By using `cdk-nested-tree-node` component in tree node template, children of the parent node will\n * be added in the `cdkTreeNodeOutlet` in tree node template.\n * The children of node will be automatically added to `cdkTreeNodeOutlet`.\n */\n var CdkNestedTreeNode = /** @class */ (function (_super) {\n __extends(CdkNestedTreeNode, _super);\n function CdkNestedTreeNode(_elementRef, _tree, _differs) {\n var _this = _super.call(this, _elementRef, _tree) || this;\n _this._elementRef = _elementRef;\n _this._tree = _tree;\n _this._differs = _differs;\n return _this;\n }\n CdkNestedTreeNode.prototype.ngAfterContentInit = function () {\n var _this = this;\n this._dataDiffer = this._differs.find([]).create(this._tree.trackBy);\n if (!this._tree.treeControl.getChildren) {\n throw getTreeControlFunctionsMissingError();\n }\n var childrenNodes = this._tree.treeControl.getChildren(this.data);\n if (Array.isArray(childrenNodes)) {\n this.updateChildrenNodes(childrenNodes);\n }\n else if (rxjs.isObservable(childrenNodes)) {\n childrenNodes.pipe(operators.takeUntil(this._destroyed))\n .subscribe(function (result) { return _this.updateChildrenNodes(result); });\n }\n this.nodeOutlet.changes.pipe(operators.takeUntil(this._destroyed))\n .subscribe(function () { return _this.updateChildrenNodes(); });\n };\n CdkNestedTreeNode.prototype.ngOnDestroy = function () {\n this._clear();\n _super.prototype.ngOnDestroy.call(this);\n };\n /** Add children dataNodes to the NodeOutlet */\n CdkNestedTreeNode.prototype.updateChildrenNodes = function (children) {\n var outlet = this._getNodeOutlet();\n if (children) {\n this._children = children;\n }\n if (outlet && this._children) {\n var viewContainer = outlet.viewContainer;\n this._tree.renderNodeChanges(this._children, this._dataDiffer, viewContainer, this._data);\n }\n else {\n // Reset the data differ if there's no children nodes displayed\n this._dataDiffer.diff([]);\n }\n };\n /** Clear the children dataNodes. */\n CdkNestedTreeNode.prototype._clear = function () {\n var outlet = this._getNodeOutlet();\n if (outlet) {\n outlet.viewContainer.clear();\n this._dataDiffer.diff([]);\n }\n };\n /** Gets the outlet for the current node. */\n CdkNestedTreeNode.prototype._getNodeOutlet = function () {\n var _this = this;\n var outlets = this.nodeOutlet;\n // Note that since we use `descendants: true` on the query, we have to ensure\n // that we don't pick up the outlet of a child node by accident.\n return outlets && outlets.find(function (outlet) { return !outlet._node || outlet._node === _this; });\n };\n CdkNestedTreeNode.decorators = [\n { type: core.Directive, args: [{\n selector: 'cdk-nested-tree-node',\n exportAs: 'cdkNestedTreeNode',\n host: {\n '[attr.aria-expanded]': 'isExpanded',\n '[attr.role]': 'role',\n 'class': 'cdk-tree-node cdk-nested-tree-node',\n },\n providers: [\n { provide: CdkTreeNode, useExisting: CdkNestedTreeNode },\n { provide: CDK_TREE_NODE_OUTLET_NODE, useExisting: CdkNestedTreeNode }\n ]\n },] }\n ];\n CdkNestedTreeNode.ctorParameters = function () { return [\n { type: core.ElementRef },\n { type: CdkTree },\n { type: core.IterableDiffers }\n ]; };\n CdkNestedTreeNode.propDecorators = {\n nodeOutlet: [{ type: core.ContentChildren, args: [CdkTreeNodeOutlet, {\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 };\n return CdkNestedTreeNode;\n }(CdkTreeNode));\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 /** Regex used to split a string on its CSS units. */\n var cssUnitPattern = /([A-Za-z%]+)$/;\n /**\n * Indent for the children tree dataNodes.\n * This directive will add left-padding to the node to show hierarchy.\n */\n var CdkTreeNodePadding = /** @class */ (function () {\n function CdkTreeNodePadding(_treeNode, _tree, \n /**\n * @deprecated _renderer parameter no longer being used. To be removed.\n * @breaking-change 11.0.0\n */\n _renderer, _element, _dir) {\n var _this = this;\n this._treeNode = _treeNode;\n this._tree = _tree;\n this._element = _element;\n this._dir = _dir;\n /** Subject that emits when the component has been destroyed. */\n this._destroyed = new rxjs.Subject();\n /** CSS units used for the indentation value. */\n this.indentUnits = 'px';\n this._indent = 40;\n this._setPadding();\n if (_dir) {\n _dir.change.pipe(operators.takeUntil(this._destroyed)).subscribe(function () { return _this._setPadding(true); });\n }\n // In Ivy the indentation binding might be set before the tree node's data has been added,\n // which means that we'll miss the first render. We have to subscribe to changes in the\n // data to ensure that everything is up to date.\n _treeNode._dataChanges.subscribe(function () { return _this._setPadding(); });\n }\n Object.defineProperty(CdkTreeNodePadding.prototype, \"level\", {\n /** The level of depth of the tree node. The padding will be `level * indent` pixels. */\n get: function () { return this._level; },\n set: function (value) {\n // Set to null as the fallback value so that _setPadding can fall back to the node level if the\n // consumer set the directive as `cdkTreeNodePadding=\"\"`. We still want to take this value if\n // they set 0 explicitly.\n this._level = coercion.coerceNumberProperty(value, null);\n this._setPadding();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CdkTreeNodePadding.prototype, \"indent\", {\n /**\n * The indent for each level. Can be a number or a CSS string.\n * Default number 40px from material design menu sub-menu spec.\n */\n get: function () { return this._indent; },\n set: function (indent) {\n var value = indent;\n var units = 'px';\n if (typeof indent === 'string') {\n var parts = indent.split(cssUnitPattern);\n value = parts[0];\n units = parts[1] || units;\n }\n this.indentUnits = units;\n this._indent = coercion.coerceNumberProperty(value);\n this._setPadding();\n },\n enumerable: false,\n configurable: true\n });\n CdkTreeNodePadding.prototype.ngOnDestroy = function () {\n this._destroyed.next();\n this._destroyed.complete();\n };\n /** The padding indent value for the tree node. Returns a string with px numbers if not null. */\n CdkTreeNodePadding.prototype._paddingIndent = function () {\n var nodeLevel = (this._treeNode.data && this._tree.treeControl.getLevel)\n ? this._tree.treeControl.getLevel(this._treeNode.data)\n : null;\n var level = this._level == null ? nodeLevel : this._level;\n return typeof level === 'number' ? \"\" + level * this._indent + this.indentUnits : null;\n };\n CdkTreeNodePadding.prototype._setPadding = function (forceChange) {\n if (forceChange === void 0) { forceChange = false; }\n var padding = this._paddingIndent();\n if (padding !== this._currentPadding || forceChange) {\n var element = this._element.nativeElement;\n var paddingProp = this._dir && this._dir.value === 'rtl' ? 'paddingRight' : 'paddingLeft';\n var resetProp = paddingProp === 'paddingLeft' ? 'paddingRight' : 'paddingLeft';\n element.style[paddingProp] = padding || '';\n element.style[resetProp] = '';\n this._currentPadding = padding;\n }\n };\n CdkTreeNodePadding.decorators = [\n { type: core.Directive, args: [{\n selector: '[cdkTreeNodePadding]',\n },] }\n ];\n CdkTreeNodePadding.ctorParameters = function () { return [\n { type: CdkTreeNode },\n { type: CdkTree },\n { type: core.Renderer2 },\n { type: core.ElementRef },\n { type: bidi.Directionality, decorators: [{ type: core.Optional }] }\n ]; };\n CdkTreeNodePadding.propDecorators = {\n level: [{ type: core.Input, args: ['cdkTreeNodePadding',] }],\n indent: [{ type: core.Input, args: ['cdkTreeNodePaddingIndent',] }]\n };\n return CdkTreeNodePadding;\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 /**\n * Node toggle to expand/collapse the node.\n */\n var CdkTreeNodeToggle = /** @class */ (function () {\n function CdkTreeNodeToggle(_tree, _treeNode) {\n this._tree = _tree;\n this._treeNode = _treeNode;\n this._recursive = false;\n }\n Object.defineProperty(CdkTreeNodeToggle.prototype, \"recursive\", {\n /** Whether expand/collapse the node recursively. */\n get: function () { return this._recursive; },\n set: function (value) { this._recursive = coercion.coerceBooleanProperty(value); },\n enumerable: false,\n configurable: true\n });\n // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.\n // In Ivy the `host` bindings will be merged when this class is extended, whereas in\n // ViewEngine they're overwritten.\n // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n CdkTreeNodeToggle.prototype._toggle = function (event) {\n this.recursive\n ? this._tree.treeControl.toggleDescendants(this._treeNode.data)\n : this._tree.treeControl.toggle(this._treeNode.data);\n event.stopPropagation();\n };\n CdkTreeNodeToggle.decorators = [\n { type: core.Directive, args: [{ selector: '[cdkTreeNodeToggle]' },] }\n ];\n CdkTreeNodeToggle.ctorParameters = function () { return [\n { type: CdkTree },\n { type: CdkTreeNode }\n ]; };\n CdkTreeNodeToggle.propDecorators = {\n recursive: [{ type: core.Input, args: ['cdkTreeNodeToggleRecursive',] }],\n _toggle: [{ type: core.HostListener, args: ['click', ['$event'],] }]\n };\n return CdkTreeNodeToggle;\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 var EXPORTED_DECLARATIONS = [\n CdkNestedTreeNode,\n CdkTreeNodeDef,\n CdkTreeNodePadding,\n CdkTreeNodeToggle,\n CdkTree,\n CdkTreeNode,\n CdkTreeNodeOutlet,\n ];\n var CdkTreeModule = /** @class */ (function () {\n function CdkTreeModule() {\n }\n CdkTreeModule.decorators = [\n { type: core.NgModule, args: [{\n exports: EXPORTED_DECLARATIONS,\n declarations: EXPORTED_DECLARATIONS,\n providers: [a11y.FocusMonitor, CdkTreeNodeDef]\n },] }\n ];\n return CdkTreeModule;\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\n /**\n * Generated bundle index. Do not edit.\n */\n\n exports.BaseTreeControl = BaseTreeControl;\n exports.CDK_TREE_NODE_OUTLET_NODE = CDK_TREE_NODE_OUTLET_NODE;\n exports.CdkNestedTreeNode = CdkNestedTreeNode;\n exports.CdkTree = CdkTree;\n exports.CdkTreeModule = CdkTreeModule;\n exports.CdkTreeNode = CdkTreeNode;\n exports.CdkTreeNodeDef = CdkTreeNodeDef;\n exports.CdkTreeNodeOutlet = CdkTreeNodeOutlet;\n exports.CdkTreeNodeOutletContext = CdkTreeNodeOutletContext;\n exports.CdkTreeNodePadding = CdkTreeNodePadding;\n exports.CdkTreeNodeToggle = CdkTreeNodeToggle;\n exports.FlatTreeControl = FlatTreeControl;\n exports.NestedTreeControl = NestedTreeControl;\n exports.getTreeControlFunctionsMissingError = getTreeControlFunctionsMissingError;\n exports.getTreeControlMissingError = getTreeControlMissingError;\n exports.getTreeMissingMatchingNodeDefError = getTreeMissingMatchingNodeDefError;\n exports.getTreeMultipleDefaultNodeDefsError = getTreeMultipleDefaultNodeDefsError;\n exports.getTreeNoValidDataSourceError = getTreeNoValidDataSourceError;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n//# sourceMappingURL=cdk-tree.umd.js.map\n"]}
1
+ {"version":3,"sources":["src/cdk/cdk-tree.umd.js"],"names":["global","factory","exports","module","require","define","amd","self","ng","cdk","tree","collections","rxjs","operators","core","bidi","coercion","a11y","this","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","constructor","prototype","create","__read","o","n","m","Symbol","iterator","r","e","i","call","ar","next","done","push","value","error","__spread","arguments","length","concat","BaseTreeControl","expansionModel","SelectionModel","toggle","dataNode","_trackByValue","expand","select","collapse","deselect","isExpanded","isSelected","toggleDescendants","collapseDescendants","expandDescendants","collapseAll","clear","_a","_this","toBeProcessed","apply","getDescendants","map","trackBy","FlatTreeControl","_super","getLevel","isExpandable","options","results","dataNodes","indexOf","expandAll","node","NestedTreeControl","getChildren","allNodes","reduce","accumulator","descendants","_getDescendants","splice","childrenNodes","isArray","forEach","child","isObservable","pipe","take","filter","Boolean","subscribe","children","e_1","children_1","__values","s","TypeError","children_1_1","e_1_1","return","CDK_TREE_NODE_OUTLET_NODE","InjectionToken","CdkTreeNodeOutlet","viewContainer","_node","decorators","type","Directive","args","selector","ctorParameters","ViewContainerRef","undefined","Inject","Optional","CdkTreeNodeOutletContext","data","$implicit","CdkTreeNodeDef","template","inputs","TemplateRef","getTreeNoValidDataSourceError","Error","getTreeMultipleDefaultNodeDefsError","getTreeMissingMatchingNodeDefError","getTreeControlMissingError","getTreeControlFunctionsMissingError","CdkTree","_differs","_changeDetectorRef","_onDestroy","Subject","_levels","Map","viewChange","BehaviorSubject","start","end","Number","MAX_VALUE","defineProperty","get","_dataSource","set","dataSource","_switchDataSource","enumerable","configurable","ngOnInit","_dataDiffer","find","treeControl","ngOnDestroy","_nodeOutlet","complete","disconnect","_dataSubscription","unsubscribe","ngAfterContentChecked","defaultNodeDefs","_nodeDefs","def","when","_defaultNodeDef","_observeRenderChanges","dataStream","isDataSource","connect","of","takeUntil","renderNodeChanges","dataDiffer","parentData","changes","diff","forEachOperation","item","adjustedPreviousIndex","currentIndex","previousIndex","insertNode","remove","delete","view","move","detectChanges","_getNodeDef","first","nodeDef","nodeData","index","context","level","has","createEmbeddedView","CdkTreeNode","mostRecentTreeNode","Component","exportAs","host","class","role","encapsulation","ViewEncapsulation","None","changeDetection","ChangeDetectionStrategy","Default","IterableDiffers","ChangeDetectorRef","propDecorators","Input","ViewChild","static","ContentChildren","_elementRef","_tree","_destroyed","_dataChanges","_data","_setRoleFromData","focus","nativeElement","_setRoleFromChildren","[attr.aria-expanded]","[attr.aria-level]","[attr.role]","ElementRef","CdkNestedTreeNode","ngAfterContentInit","updateChildrenNodes","result","nodeOutlet","_clear","outlet","_getNodeOutlet","_children","outlets","providers","provide","useExisting","cssUnitPattern","CdkTreeNodePadding","_treeNode","_renderer","_element","_dir","indentUnits","_indent","_setPadding","change","_level","coerceNumberProperty","indent","units","parts","split","_paddingIndent","nodeLevel","forceChange","padding","_currentPadding","element","paddingProp","resetProp","style","Renderer2","Directionality","CdkTreeNodeToggle","_recursive","coerceBooleanProperty","_toggle","event","recursive","stopPropagation","HostListener","EXPORTED_DECLARATIONS","CdkTreeModule","NgModule","declarations","FocusMonitor"],"mappings":"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","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/cdk/collections'), require('rxjs'), require('rxjs/operators'), require('@angular/core'), require('@angular/cdk/bidi'), require('@angular/cdk/coercion'), require('@angular/cdk/a11y')) :\n typeof define === 'function' && define.amd ? define('@angular/cdk/tree', ['exports', '@angular/cdk/collections', 'rxjs', 'rxjs/operators', '@angular/core', '@angular/cdk/bidi', '@angular/cdk/coercion', '@angular/cdk/a11y'], factory) :\n (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));\n}(this, (function (exports, collections, rxjs, operators, core, bidi, coercion, a11y) { 'use strict';\n\n /*! *****************************************************************************\r\n Copyright (c) Microsoft Corporation.\r\n\r\n Permission to use, copy, modify, and/or distribute this software for any\r\n purpose with or without fee is hereby granted.\r\n\r\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\n AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\n LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\n OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\n PERFORMANCE OF THIS SOFTWARE.\r\n ***************************************************************************** */\r\n /* global Reflect, Promise */\r\n\r\n var 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\n 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\n 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\n 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++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n }\r\n\r\n 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\n function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n }\r\n\r\n function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n }\r\n\r\n function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\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) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n }\r\n\r\n 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\n var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n }) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n });\r\n\r\n function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);\r\n }\r\n\r\n function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") 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 throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n }\r\n\r\n 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\n 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\n function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n };\r\n\r\n function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n }\r\n\r\n 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\n 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\n 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\n 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\n var __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n }) : function(o, v) {\r\n o[\"default\"] = v;\r\n };\r\n\r\n 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)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n }\r\n\r\n function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n }\r\n\r\n function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n }\r\n\r\n function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n }\n\n /** Base tree control. It has basic toggle/expand/collapse operations on a single data node. */\n var BaseTreeControl = /** @class */ (function () {\n function BaseTreeControl() {\n /** A selection model with multi-selection to track expansion status. */\n this.expansionModel = new collections.SelectionModel(true);\n }\n /** Toggles one single data node's expanded/collapsed state. */\n BaseTreeControl.prototype.toggle = function (dataNode) {\n this.expansionModel.toggle(this._trackByValue(dataNode));\n };\n /** Expands one single data node. */\n BaseTreeControl.prototype.expand = function (dataNode) {\n this.expansionModel.select(this._trackByValue(dataNode));\n };\n /** Collapses one single data node. */\n BaseTreeControl.prototype.collapse = function (dataNode) {\n this.expansionModel.deselect(this._trackByValue(dataNode));\n };\n /** Whether a given data node is expanded or not. Returns true if the data node is expanded. */\n BaseTreeControl.prototype.isExpanded = function (dataNode) {\n return this.expansionModel.isSelected(this._trackByValue(dataNode));\n };\n /** Toggles a subtree rooted at `node` recursively. */\n BaseTreeControl.prototype.toggleDescendants = function (dataNode) {\n this.expansionModel.isSelected(this._trackByValue(dataNode)) ?\n this.collapseDescendants(dataNode) :\n this.expandDescendants(dataNode);\n };\n /** Collapse all dataNodes in the tree. */\n BaseTreeControl.prototype.collapseAll = function () {\n this.expansionModel.clear();\n };\n /** Expands a subtree rooted at given data node recursively. */\n BaseTreeControl.prototype.expandDescendants = function (dataNode) {\n var _a;\n var _this = this;\n var toBeProcessed = [dataNode];\n toBeProcessed.push.apply(toBeProcessed, __spread(this.getDescendants(dataNode)));\n (_a = this.expansionModel).select.apply(_a, __spread(toBeProcessed.map(function (value) { return _this._trackByValue(value); })));\n };\n /** Collapses a subtree rooted at given data node recursively. */\n BaseTreeControl.prototype.collapseDescendants = function (dataNode) {\n var _a;\n var _this = this;\n var toBeProcessed = [dataNode];\n toBeProcessed.push.apply(toBeProcessed, __spread(this.getDescendants(dataNode)));\n (_a = this.expansionModel).deselect.apply(_a, __spread(toBeProcessed.map(function (value) { return _this._trackByValue(value); })));\n };\n BaseTreeControl.prototype._trackByValue = function (value) {\n return this.trackBy ? this.trackBy(value) : value;\n };\n return BaseTreeControl;\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 /** Flat tree control. Able to expand/collapse a subtree recursively for flattened tree. */\n var FlatTreeControl = /** @class */ (function (_super) {\n __extends(FlatTreeControl, _super);\n /** Construct with flat tree data node functions getLevel and isExpandable. */\n function FlatTreeControl(getLevel, isExpandable, options) {\n var _this = _super.call(this) || this;\n _this.getLevel = getLevel;\n _this.isExpandable = isExpandable;\n _this.options = options;\n if (_this.options) {\n _this.trackBy = _this.options.trackBy;\n }\n return _this;\n }\n /**\n * Gets a list of the data node's subtree of descendent data nodes.\n *\n * To make this working, the `dataNodes` of the TreeControl must be flattened tree nodes\n * with correct levels.\n */\n FlatTreeControl.prototype.getDescendants = function (dataNode) {\n var startIndex = this.dataNodes.indexOf(dataNode);\n var results = [];\n // Goes through flattened tree nodes in the `dataNodes` array, and get all descendants.\n // The level of descendants of a tree node must be greater than the level of the given\n // tree node.\n // If we reach a node whose level is equal to the level of the tree node, we hit a sibling.\n // If we reach a node whose level is greater than the level of the tree node, we hit a\n // sibling of an ancestor.\n for (var i = startIndex + 1; i < this.dataNodes.length && this.getLevel(dataNode) < this.getLevel(this.dataNodes[i]); i++) {\n results.push(this.dataNodes[i]);\n }\n return results;\n };\n /**\n * Expands all data nodes in the tree.\n *\n * To make this working, the `dataNodes` variable of the TreeControl must be set to all flattened\n * data nodes of the tree.\n */\n FlatTreeControl.prototype.expandAll = function () {\n var _a;\n var _this = this;\n (_a = this.expansionModel).select.apply(_a, __spread(this.dataNodes.map(function (node) { return _this._trackByValue(node); })));\n };\n return FlatTreeControl;\n }(BaseTreeControl));\n\n /** Nested tree control. Able to expand/collapse a subtree recursively for NestedNode type. */\n var NestedTreeControl = /** @class */ (function (_super) {\n __extends(NestedTreeControl, _super);\n /** Construct with nested tree function getChildren. */\n function NestedTreeControl(getChildren, options) {\n var _this = _super.call(this) || this;\n _this.getChildren = getChildren;\n _this.options = options;\n if (_this.options) {\n _this.trackBy = _this.options.trackBy;\n }\n return _this;\n }\n /**\n * Expands all dataNodes in the tree.\n *\n * To make this working, the `dataNodes` variable of the TreeControl must be set to all root level\n * data nodes of the tree.\n */\n NestedTreeControl.prototype.expandAll = function () {\n var _a;\n var _this = this;\n this.expansionModel.clear();\n var allNodes = this.dataNodes.reduce(function (accumulator, dataNode) {\n return __spread(accumulator, _this.getDescendants(dataNode), [dataNode]);\n }, []);\n (_a = this.expansionModel).select.apply(_a, __spread(allNodes.map(function (node) { return _this._trackByValue(node); })));\n };\n /** Gets a list of descendant dataNodes of a subtree rooted at given data node recursively. */\n NestedTreeControl.prototype.getDescendants = function (dataNode) {\n var descendants = [];\n this._getDescendants(descendants, dataNode);\n // Remove the node itself\n return descendants.splice(1);\n };\n /** A helper function to get descendants recursively. */\n NestedTreeControl.prototype._getDescendants = function (descendants, dataNode) {\n var _this = this;\n descendants.push(dataNode);\n var childrenNodes = this.getChildren(dataNode);\n if (Array.isArray(childrenNodes)) {\n childrenNodes.forEach(function (child) { return _this._getDescendants(descendants, child); });\n }\n else if (rxjs.isObservable(childrenNodes)) {\n // TypeScript as of version 3.5 doesn't seem to treat `Boolean` like a function that\n // returns a `boolean` specifically in the context of `filter`, so we manually clarify that.\n childrenNodes.pipe(operators.take(1), operators.filter(Boolean))\n .subscribe(function (children) {\n var e_1, _a;\n try {\n for (var children_1 = __values(children), children_1_1 = children_1.next(); !children_1_1.done; children_1_1 = children_1.next()) {\n var child = children_1_1.value;\n _this._getDescendants(descendants, child);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (children_1_1 && !children_1_1.done && (_a = children_1.return)) _a.call(children_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n });\n }\n };\n return NestedTreeControl;\n }(BaseTreeControl));\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 /**\n * Injection token used to provide a `CdkTreeNode` to its outlet.\n * Used primarily to avoid circular imports.\n * @docs-private\n */\n var CDK_TREE_NODE_OUTLET_NODE = new core.InjectionToken('CDK_TREE_NODE_OUTLET_NODE');\n /**\n * Outlet for nested CdkNode. Put `[cdkTreeNodeOutlet]` on a tag to place children dataNodes\n * inside the outlet.\n */\n var CdkTreeNodeOutlet = /** @class */ (function () {\n function CdkTreeNodeOutlet(viewContainer, _node) {\n this.viewContainer = viewContainer;\n this._node = _node;\n }\n CdkTreeNodeOutlet.decorators = [\n { type: core.Directive, args: [{\n selector: '[cdkTreeNodeOutlet]'\n },] }\n ];\n CdkTreeNodeOutlet.ctorParameters = function () { return [\n { type: core.ViewContainerRef },\n { type: undefined, decorators: [{ type: core.Inject, args: [CDK_TREE_NODE_OUTLET_NODE,] }, { type: core.Optional }] }\n ]; };\n return CdkTreeNodeOutlet;\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 /** Context provided to the tree node component. */\n var CdkTreeNodeOutletContext = /** @class */ (function () {\n function CdkTreeNodeOutletContext(data) {\n this.$implicit = data;\n }\n return CdkTreeNodeOutletContext;\n }());\n /**\n * Data node definition for the CdkTree.\n * Captures the node's template and a when predicate that describes when this node should be used.\n */\n var CdkTreeNodeDef = /** @class */ (function () {\n /** @docs-private */\n function CdkTreeNodeDef(template) {\n this.template = template;\n }\n CdkTreeNodeDef.decorators = [\n { type: core.Directive, args: [{\n selector: '[cdkTreeNodeDef]',\n inputs: [\n 'when: cdkTreeNodeDefWhen'\n ],\n },] }\n ];\n CdkTreeNodeDef.ctorParameters = function () { return [\n { type: core.TemplateRef }\n ]; };\n return CdkTreeNodeDef;\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 /**\n * Returns an error to be thrown when there is no usable data.\n * @docs-private\n */\n function getTreeNoValidDataSourceError() {\n return Error(\"A valid data source must be provided.\");\n }\n /**\n * Returns an error to be thrown when there are multiple nodes that are missing a when function.\n * @docs-private\n */\n function getTreeMultipleDefaultNodeDefsError() {\n return Error(\"There can only be one default row without a when predicate function.\");\n }\n /**\n * Returns an error to be thrown when there are no matching node defs for a particular set of data.\n * @docs-private\n */\n function getTreeMissingMatchingNodeDefError() {\n return Error(\"Could not find a matching node definition for the provided node data.\");\n }\n /**\n * Returns an error to be thrown when there are tree control.\n * @docs-private\n */\n function getTreeControlMissingError() {\n return Error(\"Could not find a tree control for the tree.\");\n }\n /**\n * Returns an error to be thrown when tree control did not implement functions for flat/nested node.\n * @docs-private\n */\n function getTreeControlFunctionsMissingError() {\n return Error(\"Could not find functions for nested/flat tree in tree control.\");\n }\n\n /**\n * CDK tree component that connects with a data source to retrieve data of type `T` and renders\n * dataNodes with hierarchy. Updates the dataNodes when new data is provided by the data source.\n */\n var CdkTree = /** @class */ (function () {\n function CdkTree(_differs, _changeDetectorRef) {\n this._differs = _differs;\n this._changeDetectorRef = _changeDetectorRef;\n /** Subject that emits when the component has been destroyed. */\n this._onDestroy = new rxjs.Subject();\n /** Level of nodes */\n this._levels = new Map();\n // TODO(tinayuangao): Setup a listener for scrolling, emit the calculated view to viewChange.\n // Remove the MAX_VALUE in viewChange\n /**\n * Stream containing the latest information on what rows are being displayed on screen.\n * Can be used by the data source to as a heuristic of what data should be provided.\n */\n this.viewChange = new rxjs.BehaviorSubject({ start: 0, end: Number.MAX_VALUE });\n }\n Object.defineProperty(CdkTree.prototype, \"dataSource\", {\n /**\n * Provides a stream containing the latest data array to render. Influenced by the tree's\n * stream of view window (what dataNodes are currently on screen).\n * Data source can be an observable of data array, or a data array to render.\n */\n get: function () { return this._dataSource; },\n set: function (dataSource) {\n if (this._dataSource !== dataSource) {\n this._switchDataSource(dataSource);\n }\n },\n enumerable: false,\n configurable: true\n });\n CdkTree.prototype.ngOnInit = function () {\n this._dataDiffer = this._differs.find([]).create(this.trackBy);\n if (!this.treeControl) {\n throw getTreeControlMissingError();\n }\n };\n CdkTree.prototype.ngOnDestroy = function () {\n this._nodeOutlet.viewContainer.clear();\n this.viewChange.complete();\n this._onDestroy.next();\n this._onDestroy.complete();\n if (this._dataSource && typeof this._dataSource.disconnect === 'function') {\n this.dataSource.disconnect(this);\n }\n if (this._dataSubscription) {\n this._dataSubscription.unsubscribe();\n this._dataSubscription = null;\n }\n };\n CdkTree.prototype.ngAfterContentChecked = function () {\n var defaultNodeDefs = this._nodeDefs.filter(function (def) { return !def.when; });\n if (defaultNodeDefs.length > 1) {\n throw getTreeMultipleDefaultNodeDefsError();\n }\n this._defaultNodeDef = defaultNodeDefs[0];\n if (this.dataSource && this._nodeDefs && !this._dataSubscription) {\n this._observeRenderChanges();\n }\n };\n // TODO(tinayuangao): Work on keyboard traversal and actions, make sure it's working for RTL\n // and nested trees.\n /**\n * Switch to the provided data source by resetting the data and unsubscribing from the current\n * render change subscription if one exists. If the data source is null, interpret this by\n * clearing the node outlet. Otherwise start listening for new data.\n */\n CdkTree.prototype._switchDataSource = function (dataSource) {\n if (this._dataSource && typeof this._dataSource.disconnect === 'function') {\n this.dataSource.disconnect(this);\n }\n if (this._dataSubscription) {\n this._dataSubscription.unsubscribe();\n this._dataSubscription = null;\n }\n // Remove the all dataNodes if there is now no data source\n if (!dataSource) {\n this._nodeOutlet.viewContainer.clear();\n }\n this._dataSource = dataSource;\n if (this._nodeDefs) {\n this._observeRenderChanges();\n }\n };\n /** Set up a subscription for the data provided by the data source. */\n CdkTree.prototype._observeRenderChanges = function () {\n var _this = this;\n var dataStream;\n if (collections.isDataSource(this._dataSource)) {\n dataStream = this._dataSource.connect(this);\n }\n else if (rxjs.isObservable(this._dataSource)) {\n dataStream = this._dataSource;\n }\n else if (Array.isArray(this._dataSource)) {\n dataStream = rxjs.of(this._dataSource);\n }\n if (dataStream) {\n this._dataSubscription = dataStream.pipe(operators.takeUntil(this._onDestroy))\n .subscribe(function (data) { return _this.renderNodeChanges(data); });\n }\n else {\n throw getTreeNoValidDataSourceError();\n }\n };\n /** Check for changes made in the data and render each change (node added/removed/moved). */\n CdkTree.prototype.renderNodeChanges = function (data, dataDiffer, viewContainer, parentData) {\n var _this = this;\n if (dataDiffer === void 0) { dataDiffer = this._dataDiffer; }\n if (viewContainer === void 0) { viewContainer = this._nodeOutlet.viewContainer; }\n var changes = dataDiffer.diff(data);\n if (!changes) {\n return;\n }\n changes.forEachOperation(function (item, adjustedPreviousIndex, currentIndex) {\n if (item.previousIndex == null) {\n _this.insertNode(data[currentIndex], currentIndex, viewContainer, parentData);\n }\n else if (currentIndex == null) {\n viewContainer.remove(adjustedPreviousIndex);\n _this._levels.delete(item.item);\n }\n else {\n var view = viewContainer.get(adjustedPreviousIndex);\n viewContainer.move(view, currentIndex);\n }\n });\n this._changeDetectorRef.detectChanges();\n };\n /**\n * Finds the matching node definition that should be used for this node data. If there is only\n * one node definition, it is returned. Otherwise, find the node definition that has a when\n * predicate that returns true with the data. If none return true, return the default node\n * definition.\n */\n CdkTree.prototype._getNodeDef = function (data, i) {\n if (this._nodeDefs.length === 1) {\n return this._nodeDefs.first;\n }\n var nodeDef = this._nodeDefs.find(function (def) { return def.when && def.when(i, data); }) || this._defaultNodeDef;\n if (!nodeDef) {\n throw getTreeMissingMatchingNodeDefError();\n }\n return nodeDef;\n };\n /**\n * Create the embedded view for the data node template and place it in the correct index location\n * within the data node view container.\n */\n CdkTree.prototype.insertNode = function (nodeData, index, viewContainer, parentData) {\n var node = this._getNodeDef(nodeData, index);\n // Node context that will be provided to created embedded view\n var context = new CdkTreeNodeOutletContext(nodeData);\n // If the tree is flat tree, then use the `getLevel` function in flat tree control\n // Otherwise, use the level of parent node.\n if (this.treeControl.getLevel) {\n context.level = this.treeControl.getLevel(nodeData);\n }\n else if (typeof parentData !== 'undefined' && this._levels.has(parentData)) {\n context.level = this._levels.get(parentData) + 1;\n }\n else {\n context.level = 0;\n }\n this._levels.set(nodeData, context.level);\n // Use default tree nodeOutlet, or nested node's nodeOutlet\n var container = viewContainer ? viewContainer : this._nodeOutlet.viewContainer;\n container.createEmbeddedView(node.template, context, index);\n // Set the data to just created `CdkTreeNode`.\n // The `CdkTreeNode` created from `createEmbeddedView` will be saved in static variable\n // `mostRecentTreeNode`. We get it from static variable and pass the node data to it.\n if (CdkTreeNode.mostRecentTreeNode) {\n CdkTreeNode.mostRecentTreeNode.data = nodeData;\n }\n };\n CdkTree.decorators = [\n { type: core.Component, args: [{\n selector: 'cdk-tree',\n exportAs: 'cdkTree',\n template: \"<ng-container cdkTreeNodeOutlet></ng-container>\",\n host: {\n 'class': 'cdk-tree',\n 'role': 'tree',\n },\n encapsulation: core.ViewEncapsulation.None,\n // The \"OnPush\" status for the `CdkTree` component is effectively a noop, so we are removing it.\n // The view for `CdkTree` consists entirely of templates declared in other views. As they are\n // declared elsewhere, they are checked when their declaration points are checked.\n // tslint:disable-next-line:validate-decorators\n changeDetection: core.ChangeDetectionStrategy.Default\n },] }\n ];\n CdkTree.ctorParameters = function () { return [\n { type: core.IterableDiffers },\n { type: core.ChangeDetectorRef }\n ]; };\n CdkTree.propDecorators = {\n dataSource: [{ type: core.Input }],\n treeControl: [{ type: core.Input }],\n trackBy: [{ type: core.Input }],\n _nodeOutlet: [{ type: core.ViewChild, args: [CdkTreeNodeOutlet, { static: true },] }],\n _nodeDefs: [{ type: core.ContentChildren, args: [CdkTreeNodeDef, {\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 };\n return CdkTree;\n }());\n /**\n * Tree node for CdkTree. It contains the data in the tree node.\n */\n var CdkTreeNode = /** @class */ (function () {\n function CdkTreeNode(_elementRef, _tree) {\n this._elementRef = _elementRef;\n this._tree = _tree;\n /** Subject that emits when the component has been destroyed. */\n this._destroyed = new rxjs.Subject();\n /** Emits when the node's data has changed. */\n this._dataChanges = new rxjs.Subject();\n /**\n * The role of the node should be 'group' if it's an internal node,\n * and 'treeitem' if it's a leaf node.\n */\n this.role = 'treeitem';\n CdkTreeNode.mostRecentTreeNode = this;\n }\n Object.defineProperty(CdkTreeNode.prototype, \"data\", {\n /** The tree node's data. */\n get: function () { return this._data; },\n set: function (value) {\n if (value !== this._data) {\n this._data = value;\n this._setRoleFromData();\n this._dataChanges.next();\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CdkTreeNode.prototype, \"isExpanded\", {\n get: function () {\n return this._tree.treeControl.isExpanded(this._data);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CdkTreeNode.prototype, \"level\", {\n get: function () {\n return this._tree.treeControl.getLevel ? this._tree.treeControl.getLevel(this._data) : 0;\n },\n enumerable: false,\n configurable: true\n });\n CdkTreeNode.prototype.ngOnDestroy = function () {\n // If this is the last tree node being destroyed,\n // clear out the reference to avoid leaking memory.\n if (CdkTreeNode.mostRecentTreeNode === this) {\n CdkTreeNode.mostRecentTreeNode = null;\n }\n this._dataChanges.complete();\n this._destroyed.next();\n this._destroyed.complete();\n };\n /** Focuses the menu item. Implements for FocusableOption. */\n CdkTreeNode.prototype.focus = function () {\n this._elementRef.nativeElement.focus();\n };\n CdkTreeNode.prototype._setRoleFromData = function () {\n var _this = this;\n if (this._tree.treeControl.isExpandable) {\n this.role = this._tree.treeControl.isExpandable(this._data) ? 'group' : 'treeitem';\n }\n else {\n if (!this._tree.treeControl.getChildren) {\n throw getTreeControlFunctionsMissingError();\n }\n var childrenNodes = this._tree.treeControl.getChildren(this._data);\n if (Array.isArray(childrenNodes)) {\n this._setRoleFromChildren(childrenNodes);\n }\n else if (rxjs.isObservable(childrenNodes)) {\n childrenNodes.pipe(operators.takeUntil(this._destroyed))\n .subscribe(function (children) { return _this._setRoleFromChildren(children); });\n }\n }\n };\n CdkTreeNode.prototype._setRoleFromChildren = function (children) {\n this.role = children && children.length ? 'group' : 'treeitem';\n };\n /**\n * The most recently created `CdkTreeNode`. We save it in static variable so we can retrieve it\n * in `CdkTree` and set the data to it.\n */\n CdkTreeNode.mostRecentTreeNode = null;\n CdkTreeNode.decorators = [\n { type: core.Directive, args: [{\n selector: 'cdk-tree-node',\n exportAs: 'cdkTreeNode',\n host: {\n '[attr.aria-expanded]': 'isExpanded',\n '[attr.aria-level]': 'role === \"treeitem\" ? level : null',\n '[attr.role]': 'role',\n 'class': 'cdk-tree-node',\n },\n },] }\n ];\n CdkTreeNode.ctorParameters = function () { return [\n { type: core.ElementRef },\n { type: CdkTree }\n ]; };\n CdkTreeNode.propDecorators = {\n role: [{ type: core.Input }]\n };\n return CdkTreeNode;\n }());\n\n /**\n * Nested node is a child of `<cdk-tree>`. It works with nested tree.\n * By using `cdk-nested-tree-node` component in tree node template, children of the parent node will\n * be added in the `cdkTreeNodeOutlet` in tree node template.\n * The children of node will be automatically added to `cdkTreeNodeOutlet`.\n */\n var CdkNestedTreeNode = /** @class */ (function (_super) {\n __extends(CdkNestedTreeNode, _super);\n function CdkNestedTreeNode(_elementRef, _tree, _differs) {\n var _this = _super.call(this, _elementRef, _tree) || this;\n _this._elementRef = _elementRef;\n _this._tree = _tree;\n _this._differs = _differs;\n return _this;\n }\n CdkNestedTreeNode.prototype.ngAfterContentInit = function () {\n var _this = this;\n this._dataDiffer = this._differs.find([]).create(this._tree.trackBy);\n if (!this._tree.treeControl.getChildren) {\n throw getTreeControlFunctionsMissingError();\n }\n var childrenNodes = this._tree.treeControl.getChildren(this.data);\n if (Array.isArray(childrenNodes)) {\n this.updateChildrenNodes(childrenNodes);\n }\n else if (rxjs.isObservable(childrenNodes)) {\n childrenNodes.pipe(operators.takeUntil(this._destroyed))\n .subscribe(function (result) { return _this.updateChildrenNodes(result); });\n }\n this.nodeOutlet.changes.pipe(operators.takeUntil(this._destroyed))\n .subscribe(function () { return _this.updateChildrenNodes(); });\n };\n CdkNestedTreeNode.prototype.ngOnDestroy = function () {\n this._clear();\n _super.prototype.ngOnDestroy.call(this);\n };\n /** Add children dataNodes to the NodeOutlet */\n CdkNestedTreeNode.prototype.updateChildrenNodes = function (children) {\n var outlet = this._getNodeOutlet();\n if (children) {\n this._children = children;\n }\n if (outlet && this._children) {\n var viewContainer = outlet.viewContainer;\n this._tree.renderNodeChanges(this._children, this._dataDiffer, viewContainer, this._data);\n }\n else {\n // Reset the data differ if there's no children nodes displayed\n this._dataDiffer.diff([]);\n }\n };\n /** Clear the children dataNodes. */\n CdkNestedTreeNode.prototype._clear = function () {\n var outlet = this._getNodeOutlet();\n if (outlet) {\n outlet.viewContainer.clear();\n this._dataDiffer.diff([]);\n }\n };\n /** Gets the outlet for the current node. */\n CdkNestedTreeNode.prototype._getNodeOutlet = function () {\n var _this = this;\n var outlets = this.nodeOutlet;\n // Note that since we use `descendants: true` on the query, we have to ensure\n // that we don't pick up the outlet of a child node by accident.\n return outlets && outlets.find(function (outlet) { return !outlet._node || outlet._node === _this; });\n };\n CdkNestedTreeNode.decorators = [\n { type: core.Directive, args: [{\n selector: 'cdk-nested-tree-node',\n exportAs: 'cdkNestedTreeNode',\n host: {\n '[attr.aria-expanded]': 'isExpanded',\n '[attr.role]': 'role',\n 'class': 'cdk-tree-node cdk-nested-tree-node',\n },\n providers: [\n { provide: CdkTreeNode, useExisting: CdkNestedTreeNode },\n { provide: CDK_TREE_NODE_OUTLET_NODE, useExisting: CdkNestedTreeNode }\n ]\n },] }\n ];\n CdkNestedTreeNode.ctorParameters = function () { return [\n { type: core.ElementRef },\n { type: CdkTree },\n { type: core.IterableDiffers }\n ]; };\n CdkNestedTreeNode.propDecorators = {\n nodeOutlet: [{ type: core.ContentChildren, args: [CdkTreeNodeOutlet, {\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 };\n return CdkNestedTreeNode;\n }(CdkTreeNode));\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 /** Regex used to split a string on its CSS units. */\n var cssUnitPattern = /([A-Za-z%]+)$/;\n /**\n * Indent for the children tree dataNodes.\n * This directive will add left-padding to the node to show hierarchy.\n */\n var CdkTreeNodePadding = /** @class */ (function () {\n function CdkTreeNodePadding(_treeNode, _tree, \n /**\n * @deprecated _renderer parameter no longer being used. To be removed.\n * @breaking-change 11.0.0\n */\n _renderer, _element, _dir) {\n var _this = this;\n this._treeNode = _treeNode;\n this._tree = _tree;\n this._element = _element;\n this._dir = _dir;\n /** Subject that emits when the component has been destroyed. */\n this._destroyed = new rxjs.Subject();\n /** CSS units used for the indentation value. */\n this.indentUnits = 'px';\n this._indent = 40;\n this._setPadding();\n if (_dir) {\n _dir.change.pipe(operators.takeUntil(this._destroyed)).subscribe(function () { return _this._setPadding(true); });\n }\n // In Ivy the indentation binding might be set before the tree node's data has been added,\n // which means that we'll miss the first render. We have to subscribe to changes in the\n // data to ensure that everything is up to date.\n _treeNode._dataChanges.subscribe(function () { return _this._setPadding(); });\n }\n Object.defineProperty(CdkTreeNodePadding.prototype, \"level\", {\n /** The level of depth of the tree node. The padding will be `level * indent` pixels. */\n get: function () { return this._level; },\n set: function (value) {\n // Set to null as the fallback value so that _setPadding can fall back to the node level if the\n // consumer set the directive as `cdkTreeNodePadding=\"\"`. We still want to take this value if\n // they set 0 explicitly.\n this._level = coercion.coerceNumberProperty(value, null);\n this._setPadding();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CdkTreeNodePadding.prototype, \"indent\", {\n /**\n * The indent for each level. Can be a number or a CSS string.\n * Default number 40px from material design menu sub-menu spec.\n */\n get: function () { return this._indent; },\n set: function (indent) {\n var value = indent;\n var units = 'px';\n if (typeof indent === 'string') {\n var parts = indent.split(cssUnitPattern);\n value = parts[0];\n units = parts[1] || units;\n }\n this.indentUnits = units;\n this._indent = coercion.coerceNumberProperty(value);\n this._setPadding();\n },\n enumerable: false,\n configurable: true\n });\n CdkTreeNodePadding.prototype.ngOnDestroy = function () {\n this._destroyed.next();\n this._destroyed.complete();\n };\n /** The padding indent value for the tree node. Returns a string with px numbers if not null. */\n CdkTreeNodePadding.prototype._paddingIndent = function () {\n var nodeLevel = (this._treeNode.data && this._tree.treeControl.getLevel)\n ? this._tree.treeControl.getLevel(this._treeNode.data)\n : null;\n var level = this._level == null ? nodeLevel : this._level;\n return typeof level === 'number' ? \"\" + level * this._indent + this.indentUnits : null;\n };\n CdkTreeNodePadding.prototype._setPadding = function (forceChange) {\n if (forceChange === void 0) { forceChange = false; }\n var padding = this._paddingIndent();\n if (padding !== this._currentPadding || forceChange) {\n var element = this._element.nativeElement;\n var paddingProp = this._dir && this._dir.value === 'rtl' ? 'paddingRight' : 'paddingLeft';\n var resetProp = paddingProp === 'paddingLeft' ? 'paddingRight' : 'paddingLeft';\n element.style[paddingProp] = padding || '';\n element.style[resetProp] = '';\n this._currentPadding = padding;\n }\n };\n CdkTreeNodePadding.decorators = [\n { type: core.Directive, args: [{\n selector: '[cdkTreeNodePadding]',\n },] }\n ];\n CdkTreeNodePadding.ctorParameters = function () { return [\n { type: CdkTreeNode },\n { type: CdkTree },\n { type: core.Renderer2 },\n { type: core.ElementRef },\n { type: bidi.Directionality, decorators: [{ type: core.Optional }] }\n ]; };\n CdkTreeNodePadding.propDecorators = {\n level: [{ type: core.Input, args: ['cdkTreeNodePadding',] }],\n indent: [{ type: core.Input, args: ['cdkTreeNodePaddingIndent',] }]\n };\n return CdkTreeNodePadding;\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 /**\n * Node toggle to expand/collapse the node.\n */\n var CdkTreeNodeToggle = /** @class */ (function () {\n function CdkTreeNodeToggle(_tree, _treeNode) {\n this._tree = _tree;\n this._treeNode = _treeNode;\n this._recursive = false;\n }\n Object.defineProperty(CdkTreeNodeToggle.prototype, \"recursive\", {\n /** Whether expand/collapse the node recursively. */\n get: function () { return this._recursive; },\n set: function (value) { this._recursive = coercion.coerceBooleanProperty(value); },\n enumerable: false,\n configurable: true\n });\n // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.\n // In Ivy the `host` bindings will be merged when this class is extended, whereas in\n // ViewEngine they're overwritten.\n // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n CdkTreeNodeToggle.prototype._toggle = function (event) {\n this.recursive\n ? this._tree.treeControl.toggleDescendants(this._treeNode.data)\n : this._tree.treeControl.toggle(this._treeNode.data);\n event.stopPropagation();\n };\n CdkTreeNodeToggle.decorators = [\n { type: core.Directive, args: [{ selector: '[cdkTreeNodeToggle]' },] }\n ];\n CdkTreeNodeToggle.ctorParameters = function () { return [\n { type: CdkTree },\n { type: CdkTreeNode }\n ]; };\n CdkTreeNodeToggle.propDecorators = {\n recursive: [{ type: core.Input, args: ['cdkTreeNodeToggleRecursive',] }],\n _toggle: [{ type: core.HostListener, args: ['click', ['$event'],] }]\n };\n return CdkTreeNodeToggle;\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 var EXPORTED_DECLARATIONS = [\n CdkNestedTreeNode,\n CdkTreeNodeDef,\n CdkTreeNodePadding,\n CdkTreeNodeToggle,\n CdkTree,\n CdkTreeNode,\n CdkTreeNodeOutlet,\n ];\n var CdkTreeModule = /** @class */ (function () {\n function CdkTreeModule() {\n }\n CdkTreeModule.decorators = [\n { type: core.NgModule, args: [{\n exports: EXPORTED_DECLARATIONS,\n declarations: EXPORTED_DECLARATIONS,\n providers: [a11y.FocusMonitor, CdkTreeNodeDef]\n },] }\n ];\n return CdkTreeModule;\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\n /**\n * Generated bundle index. Do not edit.\n */\n\n exports.BaseTreeControl = BaseTreeControl;\n exports.CDK_TREE_NODE_OUTLET_NODE = CDK_TREE_NODE_OUTLET_NODE;\n exports.CdkNestedTreeNode = CdkNestedTreeNode;\n exports.CdkTree = CdkTree;\n exports.CdkTreeModule = CdkTreeModule;\n exports.CdkTreeNode = CdkTreeNode;\n exports.CdkTreeNodeDef = CdkTreeNodeDef;\n exports.CdkTreeNodeOutlet = CdkTreeNodeOutlet;\n exports.CdkTreeNodeOutletContext = CdkTreeNodeOutletContext;\n exports.CdkTreeNodePadding = CdkTreeNodePadding;\n exports.CdkTreeNodeToggle = CdkTreeNodeToggle;\n exports.FlatTreeControl = FlatTreeControl;\n exports.NestedTreeControl = NestedTreeControl;\n exports.getTreeControlFunctionsMissingError = getTreeControlFunctionsMissingError;\n exports.getTreeControlMissingError = getTreeControlMissingError;\n exports.getTreeMissingMatchingNodeDefError = getTreeMissingMatchingNodeDefError;\n exports.getTreeMultipleDefaultNodeDefsError = getTreeMultipleDefaultNodeDefsError;\n exports.getTreeNoValidDataSourceError = getTreeNoValidDataSourceError;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n//# sourceMappingURL=cdk-tree.umd.js.map\n"]}
@@ -12,7 +12,7 @@
12
12
  * found in the LICENSE file at https://angular.io/license
13
13
  */
14
14
  /** Current version of the Angular Component Development Kit. */
15
- var VERSION = new core.Version('10.0.0-rc.3');
15
+ var VERSION = new core.Version('10.1.0');
16
16
 
17
17
  /**
18
18
  * @license
@@ -1 +1 @@
1
- {"version":3,"file":"cdk.umd.js","sources":["../../../../../src/cdk/version.ts","../../../../../src/cdk/public-api.ts","../../../../../src/cdk/index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Version} from '@angular/core';\n\n/** Current version of the Angular Component Development Kit. */\nexport const VERSION = new Version('10.0.0-rc.3');\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './version';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './public-api';\n"],"names":["Version"],"mappings":";;;;;;CAAA;;;;;;;AAQA,CAEA;AACA,KAAa,OAAO,GAAG,IAAIA,YAAO,CAAC,mBAAmB,CAAC;;CCXvD;;;;;;IAMG;;CCNH;;;;;;IAMG;;;;;;;;;;;;"}
1
+ {"version":3,"file":"cdk.umd.js","sources":["../../../../../src/cdk/version.ts","../../../../../src/cdk/public-api.ts","../../../../../src/cdk/index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Version} from '@angular/core';\n\n/** Current version of the Angular Component Development Kit. */\nexport const VERSION = new Version('10.1.0');\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './version';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './public-api';\n"],"names":["Version"],"mappings":";;;;;;CAAA;;;;;;;AAQA,CAEA;AACA,KAAa,OAAO,GAAG,IAAIA,YAAO,CAAC,mBAAmB,CAAC;;CCXvD;;;;;;IAMG;;CCNH;;;;;;IAMG;;;;;;;;;;;;"}
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * Use of this source code is governed by an MIT-style license that can be
7
7
  * found in the LICENSE file at https://angular.io/license
8
- */var o=new n.Version("10.0.0-rc.3");
8
+ */var o=new n.Version("10.1.0");
9
9
  /**
10
10
  * @license
11
11
  * Copyright Google LLC All Rights Reserved.
@@ -1 +1 @@
1
- {"version":3,"sources":["src/cdk/cdk.umd.js"],"names":["global","factory","exports","module","require","define","amd","self","ng","cdk","core","this","VERSION","Version","Object","defineProperty","value"],"mappings":"CAAC,SAAUA,EAAQC,GACC,iBAAZC,SAA0C,oBAAXC,OAAyBF,EAAQC,QAASE,QAAQ,kBACtE,mBAAXC,QAAyBA,OAAOC,IAAMD,OAAO,eAAgB,CAAC,UAAW,iBAAkBJ,GACxEA,IAAzBD,EAASA,GAAUO,MAAsBC,GAAKR,EAAOQ,IAAM,GAAIR,EAAOQ,GAAGC,IAAM,IAAKT,EAAOQ,GAAGE,MAHhG,CAIEC,MAAM,SAAWT,EAASQ,GAAQ;;;;;;;IAUnC,IAAIE,EAAU,IAAIF,EAAKG,QAAQ;;;;;;;;;;;;;;IAkB/BX,EAAQU,QAAUA,EAElBE,OAAOC,eAAeb,EAAS,aAAc,CAAEc,OAAO","sourcesContent":["(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core')) :\n\ttypeof define === 'function' && define.amd ? define('@angular/cdk', ['exports', '@angular/core'], factory) :\n\t(global = global || self, factory((global.ng = global.ng || {}, global.ng.cdk = {}), global.ng.core));\n}(this, (function (exports, core) { 'use strict';\n\n\t/**\n\t * @license\n\t * Copyright Google LLC All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */\n\t/** Current version of the Angular Component Development Kit. */\n\tvar VERSION = new core.Version('10.0.0-rc.3');\n\n\t/**\n\t * @license\n\t * Copyright Google LLC All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */\n\n\t/**\n\t * @license\n\t * Copyright Google LLC All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */\n\n\texports.VERSION = VERSION;\n\n\tObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n//# sourceMappingURL=cdk.umd.js.map\n"]}
1
+ {"version":3,"sources":["src/cdk/cdk.umd.js"],"names":["global","factory","exports","module","require","define","amd","self","ng","cdk","core","this","VERSION","Version","Object","defineProperty","value"],"mappings":"CAAC,SAAUA,EAAQC,GACC,iBAAZC,SAA0C,oBAAXC,OAAyBF,EAAQC,QAASE,QAAQ,kBACtE,mBAAXC,QAAyBA,OAAOC,IAAMD,OAAO,eAAgB,CAAC,UAAW,iBAAkBJ,GACxEA,IAAzBD,EAASA,GAAUO,MAAsBC,GAAKR,EAAOQ,IAAM,GAAIR,EAAOQ,GAAGC,IAAM,IAAKT,EAAOQ,GAAGE,MAHhG,CAIEC,MAAM,SAAWT,EAASQ,GAAQ;;;;;;;IAUnC,IAAIE,EAAU,IAAIF,EAAKG,QAAQ;;;;;;;;;;;;;;IAkB/BX,EAAQU,QAAUA,EAElBE,OAAOC,eAAeb,EAAS,aAAc,CAAEc,OAAO","sourcesContent":["(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core')) :\n\ttypeof define === 'function' && define.amd ? define('@angular/cdk', ['exports', '@angular/core'], factory) :\n\t(global = global || self, factory((global.ng = global.ng || {}, global.ng.cdk = {}), global.ng.core));\n}(this, (function (exports, core) { 'use strict';\n\n\t/**\n\t * @license\n\t * Copyright Google LLC All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */\n\t/** Current version of the Angular Component Development Kit. */\n\tvar VERSION = new core.Version('10.1.0');\n\n\t/**\n\t * @license\n\t * Copyright Google LLC All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */\n\n\t/**\n\t * @license\n\t * Copyright Google LLC All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */\n\n\texports.VERSION = VERSION;\n\n\tObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n//# sourceMappingURL=cdk.umd.js.map\n"]}
@@ -5,9 +5,15 @@
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
- import { ElementRef, OnDestroy } from '@angular/core';
9
8
  import { BooleanInput } from '@angular/cdk/coercion';
9
+ import { ElementRef, InjectionToken, OnDestroy } from '@angular/core';
10
10
  import { Subject } from 'rxjs';
11
+ /**
12
+ * Injection token that can be used to reference instances of `CdkDragHandle`. It serves as
13
+ * alternative token to the actual `CdkDragHandle` class which could cause unnecessary
14
+ * retention of the class and its directive metadata.
15
+ */
16
+ export declare const CDK_DRAG_HANDLE: InjectionToken<CdkDragHandle>;
11
17
  /** Handle that can be used to drag and CdkDrag instance. */
12
18
  export declare class CdkDragHandle implements OnDestroy {
13
19
  element: ElementRef<HTMLElement>;
@@ -5,7 +5,13 @@
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
- import { TemplateRef } from '@angular/core';
8
+ import { TemplateRef, InjectionToken } from '@angular/core';
9
+ /**
10
+ * Injection token that can be used to reference instances of `CdkDragPlaceholder`. It serves as
11
+ * alternative token to the actual `CdkDragPlaceholder` class which could cause unnecessary
12
+ * retention of the class and its directive metadata.
13
+ */
14
+ export declare const CDK_DRAG_PLACEHOLDER: InjectionToken<CdkDragPlaceholder<any>>;
9
15
  /**
10
16
  * Element that will be used as a template for the placeholder of a CdkDrag when
11
17
  * it is being dragged. The placeholder is displayed in place of the element being dragged.
@@ -5,8 +5,14 @@
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
- import { TemplateRef } from '@angular/core';
9
8
  import { BooleanInput } from '@angular/cdk/coercion';
9
+ import { InjectionToken, TemplateRef } from '@angular/core';
10
+ /**
11
+ * Injection token that can be used to reference instances of `CdkDragPreview`. It serves as
12
+ * alternative token to the actual `CdkDragPreview` class which could cause unnecessary
13
+ * retention of the class and its directive metadata.
14
+ */
15
+ export declare const CDK_DRAG_PREVIEW: InjectionToken<CdkDragPreview<any>>;
10
16
  /**
11
17
  * Element that will be used as a template for the preview
12
18
  * of a CdkDrag when it is being dragged.
@@ -6,7 +6,7 @@
6
6
  * found in the LICENSE file at https://angular.io/license
7
7
  */
8
8
  import { Directionality } from '@angular/cdk/bidi';
9
- import { AfterViewInit, ElementRef, EventEmitter, InjectionToken, NgZone, OnDestroy, QueryList, ViewContainerRef, OnChanges, SimpleChanges, ChangeDetectorRef } from '@angular/core';
9
+ import { AfterViewInit, ElementRef, EventEmitter, NgZone, OnDestroy, QueryList, ViewContainerRef, OnChanges, SimpleChanges, ChangeDetectorRef } from '@angular/core';
10
10
  import { BooleanInput } from '@angular/cdk/coercion';
11
11
  import { Observable } from 'rxjs';
12
12
  import { CdkDragDrop, CdkDragEnd, CdkDragEnter, CdkDragExit, CdkDragMove, CdkDragStart, CdkDragRelease } from '../drag-events';
@@ -17,11 +17,6 @@ import { DragRef, Point } from '../drag-ref';
17
17
  import { CdkDropListInternal as CdkDropList } from './drop-list';
18
18
  import { DragDrop } from '../drag-drop';
19
19
  import { DragDropConfig, DragStartDelay, DragAxis } from './config';
20
- /**
21
- * Injection token that is used to provide a CdkDropList instance to CdkDrag.
22
- * Used for avoiding circular imports.
23
- */
24
- export declare const CDK_DROP_LIST: InjectionToken<CdkDropList>;
25
20
  /** Element that can be moved inside a CdkDropList container. */
26
21
  export declare class CdkDrag<T = any> implements AfterViewInit, OnChanges, OnDestroy {
27
22
  /** Element that the draggable is attached to. */
@@ -33,6 +28,7 @@ export declare class CdkDrag<T = any> implements AfterViewInit, OnChanges, OnDes
33
28
  private _viewContainerRef;
34
29
  private _dir;
35
30
  private _changeDetectorRef;
31
+ private _selfHandle?;
36
32
  private _destroyed;
37
33
  /** Reference to the underlying drag instance. */
38
34
  _dragRef: DragRef<CdkDrag<T>>;
@@ -106,19 +102,13 @@ export declare class CdkDrag<T = any> implements AfterViewInit, OnChanges, OnDes
106
102
  /** Element that the draggable is attached to. */
107
103
  element: ElementRef<HTMLElement>,
108
104
  /** Droppable container that the draggable is a part of. */
109
- dropContainer: CdkDropList, _document: any, _ngZone: NgZone, _viewContainerRef: ViewContainerRef, config: DragDropConfig, _dir: Directionality, dragDrop: DragDrop, _changeDetectorRef: ChangeDetectorRef);
105
+ dropContainer: CdkDropList, _document: any, _ngZone: NgZone, _viewContainerRef: ViewContainerRef, config: DragDropConfig, _dir: Directionality, dragDrop: DragDrop, _changeDetectorRef: ChangeDetectorRef, _selfHandle?: CdkDragHandle | undefined);
110
106
  /**
111
107
  * Returns the element that is being used as a placeholder
112
108
  * while the current element is being dragged.
113
- * @deprecated No longer being used to be removed.
114
- * @breaking-change 11.0.0
115
109
  */
116
110
  getPlaceholderElement(): HTMLElement;
117
- /**
118
- * Returns the root draggable element.
119
- * @deprecated No longer being used to be removed.
120
- * @breaking-change 11.0.0
121
- */
111
+ /** Returns the root draggable element. */
122
112
  getRootElement(): HTMLElement;
123
113
  /** Resets a standalone drag item to its initial position. */
124
114
  reset(): void;
@@ -5,8 +5,14 @@
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
- import { OnDestroy } from '@angular/core';
8
+ import { OnDestroy, InjectionToken } from '@angular/core';
9
9
  import { BooleanInput } from '@angular/cdk/coercion';
10
+ /**
11
+ * Injection token that can be used to reference instances of `CdkDropListGroup`. It serves as
12
+ * alternative token to the actual `CdkDropListGroup` class which could cause unnecessary
13
+ * retention of the class and its directive metadata.
14
+ */
15
+ export declare const CDK_DROP_LIST_GROUP: InjectionToken<CdkDropListGroup<unknown>>;
10
16
  /**
11
17
  * Declaratively connects sibling `cdkDropList` instances together. All of the `cdkDropList`
12
18
  * elements that are placed inside a `cdkDropListGroup` will be connected to each other
@@ -6,7 +6,7 @@
6
6
  * found in the LICENSE file at https://angular.io/license
7
7
  */
8
8
  import { BooleanInput } from '@angular/cdk/coercion';
9
- import { ElementRef, EventEmitter, OnDestroy, ChangeDetectorRef } from '@angular/core';
9
+ import { ElementRef, EventEmitter, OnDestroy, ChangeDetectorRef, InjectionToken } from '@angular/core';
10
10
  import { Directionality } from '@angular/cdk/bidi';
11
11
  import { ScrollDispatcher } from '@angular/cdk/scrolling';
12
12
  import { CdkDrag } from './drag';
@@ -22,6 +22,12 @@ import { DropListOrientation, DragAxis, DragDropConfig } from './config';
22
22
  */
23
23
  export interface CdkDropListInternal extends CdkDropList {
24
24
  }
25
+ /**
26
+ * Injection token that can be used to reference instances of `CdkDropList`. It serves as
27
+ * alternative token to the actual `CdkDropList` class which could cause unnecessary
28
+ * retention of the class and its directive metadata.
29
+ */
30
+ export declare const CDK_DROP_LIST: InjectionToken<CdkDropList<any>>;
25
31
  /** Container that wraps a set of draggable items. */
26
32
  export declare class CdkDropList<T = any> implements OnDestroy {
27
33
  /** Element that the drop list is attached to. */
@@ -104,11 +104,17 @@ export declare class DragRef<T = any> {
104
104
  private _pointerDirectionDelta;
105
105
  /** Pointer position at which the last change in the delta occurred. */
106
106
  private _pointerPositionAtLastDirectionChange;
107
+ /** Position of the pointer at the last pointer event. */
108
+ private _lastKnownPointerPosition;
107
109
  /**
108
110
  * Root DOM node of the drag instance. This is the element that will
109
111
  * be moved around as the user is dragging.
110
112
  */
111
113
  private _rootElement;
114
+ /**
115
+ * Nearest ancestor SVG, relative to which coordinates are calculated if dragging SVGElement
116
+ */
117
+ private _ownerSVGElement;
112
118
  /**
113
119
  * Inline style value of `-webkit-tap-highlight-color` at the time the
114
120
  * dragging was started. Used to restore the value once we're done dragging.
@@ -95,8 +95,9 @@ export declare class DropListRef<T = any> {
95
95
  */
96
96
  private _activeDraggables;
97
97
  /**
98
- * Keeps track of the item that was last swapped with the dragged item, as
99
- * well as what direction the pointer was moving in when the swap occured.
98
+ * Keeps track of the item that was last swapped with the dragged item, as well as what direction
99
+ * the pointer was moving in when the swap occured and whether the user's pointer continued to
100
+ * overlap with the swapped item after the swapping occurred.
100
101
  */
101
102
  private _previousSwap;
102
103
  /** Draggable items in the container. */