@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
- {"__symbolic":"module","version":4,"metadata":{"FixedSizeVirtualScrollStrategy":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"number"}]}],"attach":[{"__symbolic":"method"}],"detach":[{"__symbolic":"method"}],"updateItemAndBufferSize":[{"__symbolic":"method"}],"onContentScrolled":[{"__symbolic":"method"}],"onDataLengthChanged":[{"__symbolic":"method"}],"onContentRendered":[{"__symbolic":"method"}],"onRenderedOffsetChanged":[{"__symbolic":"method"}],"scrollToIndex":[{"__symbolic":"method"}],"_updateTotalContentSize":[{"__symbolic":"method"}],"_updateRenderedRange":[{"__symbolic":"method"}]}},"_fixedSizeVirtualScrollStrategyFactory":{"__symbolic":"function","parameters":["fixedSizeDir"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"fixedSizeDir"},"member":"_scrollStrategy"}},"CdkFixedSizeVirtualScroll":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":166,"character":1},"arguments":[{"selector":"cdk-virtual-scroll-viewport[itemSize]","providers":[{"provide":{"__symbolic":"reference","name":"VIRTUAL_SCROLL_STRATEGY"},"useFactory":{"__symbolic":"reference","name":"_fixedSizeVirtualScrollStrategyFactory"},"deps":[{"__symbolic":"reference","name":"CdkFixedSizeVirtualScroll"}]}]}]}],"members":{"itemSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":176,"character":3}}]}],"minBufferPx":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":185,"character":3}}]}],"maxBufferPx":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":193,"character":3}}]}],"ngOnChanges":[{"__symbolic":"method"}]}},"DEFAULT_SCROLL_TIME":20,"ScrollDispatcher":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":22,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":30,"character":15}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":30,"character":27},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":30,"character":34}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":27,"character":31},{"__symbolic":"reference","module":"@angular/cdk/platform","name":"Platform","line":28,"character":33},{"__symbolic":"reference","name":"any"}]}],"register":[{"__symbolic":"method"}],"deregister":[{"__symbolic":"method"}],"scrolled":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"ancestorScrolled":[{"__symbolic":"method"}],"getAncestorScrollContainers":[{"__symbolic":"method"}],"_getDocument":[{"__symbolic":"method"}],"_getWindow":[{"__symbolic":"method"}],"_scrollableContainsElement":[{"__symbolic":"method"}],"_addGlobalListener":[{"__symbolic":"method"}],"_removeGlobalListener":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"_Without":{"__symbolic":"interface"},"_XOR":{"__symbolic":"interface"},"_Top":{"__symbolic":"interface"},"_Bottom":{"__symbolic":"interface"},"_Left":{"__symbolic":"interface"},"_Right":{"__symbolic":"interface"},"_Start":{"__symbolic":"interface"},"_End":{"__symbolic":"interface"},"_XAxis":{"__symbolic":"interface"},"_YAxis":{"__symbolic":"interface"},"ExtendedScrollToOptions":{"__symbolic":"interface"},"CdkScrollable":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":43,"character":1},"arguments":[{"selector":"[cdk-scrollable], [cdkScrollable]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":57,"character":15}}]],"parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":54,"character":47,"context":{"typeName":"HTMLElement"},"module":"./scrollable"}]},{"__symbolic":"reference","name":"ScrollDispatcher"},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":56,"character":32},{"__symbolic":"reference","module":"@angular/cdk/bidi","name":"Directionality","line":57,"character":42}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"elementScrolled":[{"__symbolic":"method"}],"getElementRef":[{"__symbolic":"method"}],"scrollTo":[{"__symbolic":"method"}],"_applyScrollToOptions":[{"__symbolic":"method"}],"measureScrollOffset":[{"__symbolic":"method"}]}},"CdkScrollableModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":16,"character":1},"arguments":[{"exports":[{"__symbolic":"reference","name":"CdkScrollable"}],"declarations":[{"__symbolic":"reference","name":"CdkScrollable"}]}]}],"members":{}},"ScrollingModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":22,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/cdk/bidi","name":"BidiModule","line":24,"character":4},{"__symbolic":"reference","module":"@angular/cdk/platform","name":"PlatformModule","line":25,"character":4},{"__symbolic":"reference","name":"CdkScrollableModule"}],"exports":[{"__symbolic":"reference","module":"@angular/cdk/bidi","name":"BidiModule","line":29,"character":4},{"__symbolic":"reference","name":"CdkScrollableModule"},{"__symbolic":"reference","name":"CdkFixedSizeVirtualScroll"},{"__symbolic":"reference","name":"CdkVirtualForOf"},{"__symbolic":"reference","name":"CdkVirtualScrollViewport"}],"declarations":[{"__symbolic":"reference","name":"CdkFixedSizeVirtualScroll"},{"__symbolic":"reference","name":"CdkVirtualForOf"},{"__symbolic":"reference","name":"CdkVirtualScrollViewport"}]}]}],"members":{}},"DEFAULT_RESIZE_TIME":20,"ViewportScrollPosition":{"__symbolic":"interface"},"ViewportRuler":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":27,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":44,"character":15}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":44,"character":27},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":44,"character":34}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/cdk/platform","name":"Platform","line":41,"character":33},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":42,"character":22},{"__symbolic":"reference","name":"any"}]}],"ngOnDestroy":[{"__symbolic":"method"}],"getViewportSize":[{"__symbolic":"method"}],"getViewportRect":[{"__symbolic":"method"}],"getViewportScrollPosition":[{"__symbolic":"method"}],"change":[{"__symbolic":"method"}],"_getDocument":[{"__symbolic":"method"}],"_getWindow":[{"__symbolic":"method"}],"_updateViewportSize":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"CdkVirtualForOfContext":{"__symbolic":"interface"},"CdkVirtualForOf":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":73,"character":1},"arguments":[{"selector":"[cdkVirtualFor][cdkVirtualForOf]"}]}],"members":{"cdkVirtualForOf":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":84,"character":3}}]}],"cdkVirtualForTrackBy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":104,"character":3}}]}],"cdkVirtualForTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":117,"character":3}}]}],"cdkVirtualForTemplateCacheSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":129,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"SkipSelf","line":177,"character":7}}],null],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":171,"character":33},{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":173,"character":37,"context":{"typeName":"CdkVirtualForOfContext"},"module":"./virtual-for-of"}]},{"__symbolic":"reference","module":"@angular/core","name":"IterableDiffers","line":175,"character":24},{"__symbolic":"reference","name":"CdkVirtualScrollViewport"},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":178,"character":14}]}],"measureRangeSize":[{"__symbolic":"method"}],"ngDoCheck":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"_onRenderedDataChange":[{"__symbolic":"method"}],"_changeDataSource":[{"__symbolic":"method"}],"_updateContext":[{"__symbolic":"method"}],"_applyChanges":[{"__symbolic":"method"}],"_cacheView":[{"__symbolic":"method"}],"_insertViewForNewItem":[{"__symbolic":"method"}],"_updateComputedContextProperties":[{"__symbolic":"method"}],"_createEmbeddedViewAt":[{"__symbolic":"method"}],"_insertViewFromCache":[{"__symbolic":"method"}],"_detachView":[{"__symbolic":"method"}]}},"VIRTUAL_SCROLL_STRATEGY":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":15,"character":8},"arguments":["VIRTUAL_SCROLL_STRATEGY"]},"VirtualScrollStrategy":{"__symbolic":"interface"},"CdkVirtualScrollViewport":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"CdkScrollable"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":55,"character":1},"arguments":[{"selector":"cdk-virtual-scroll-viewport","host":{"class":"cdk-virtual-scroll-viewport","[class.cdk-virtual-scroll-orientation-horizontal]":"orientation === \"horizontal\"","[class.cdk-virtual-scroll-orientation-vertical]":"orientation !== \"horizontal\"","$quoted$":["class","[class.cdk-virtual-scroll-orientation-horizontal]","[class.cdk-virtual-scroll-orientation-vertical]"]},"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":64,"character":17},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":65,"character":19},"member":"OnPush"},"providers":[{"provide":{"__symbolic":"reference","name":"CdkScrollable"},"useExisting":{"__symbolic":"reference","name":"CdkVirtualScrollViewport"}}],"template":"<!--\n Wrap the rendered content in an element that will be used to offset it based on the scroll\n position.\n-->\n<div #contentWrapper class=\"cdk-virtual-scroll-content-wrapper\">\n <ng-content></ng-content>\n</div>\n<!--\n Spacer used to force the scrolling container to the correct size for the *total* number of items\n so that the scrollbar captures the size of the entire data set.\n-->\n<div class=\"cdk-virtual-scroll-spacer\"\n [style.width]=\"_totalContentWidth\" [style.height]=\"_totalContentHeight\"></div>\n","styles":["cdk-virtual-scroll-viewport{display:block;position:relative;overflow:auto;contain:strict;transform:translateZ(0);will-change:scroll-position;-webkit-overflow-scrolling:touch}.cdk-virtual-scroll-content-wrapper{position:absolute;top:0;left:0;contain:content}[dir=rtl] .cdk-virtual-scroll-content-wrapper{right:0;left:auto}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper{min-height:100%}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-left:0;padding-right:0;margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;outline:none}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{min-width:100%}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0;outline:none}.cdk-virtual-scroll-spacer{position:absolute;top:0;left:0;height:1px;width:1px;transform-origin:0 0}[dir=rtl] .cdk-virtual-scroll-spacer{right:0;left:auto;transform-origin:100% 0}\n"]}]}],"members":{"orientation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":79,"character":3}}]}],"scrolledIndexChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":96,"character":3}}]}],"_contentWrapper":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":102,"character":3},"arguments":["contentWrapper",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":157,"character":15}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":157,"character":27},"arguments":[{"__symbolic":"reference","name":"VIRTUAL_SCROLL_STRATEGY"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":159,"character":15}}],null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":165,"character":15}}]],"parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":154,"character":44,"context":{"typeName":"HTMLElement"},"module":"./virtual-scroll-viewport"}]},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":155,"character":42},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":156,"character":22},{"__symbolic":"reference","name":"VirtualScrollStrategy"},{"__symbolic":"reference","module":"@angular/cdk/bidi","name":"Directionality","line":159,"character":31},{"__symbolic":"reference","name":"ScrollDispatcher"},{"__symbolic":"reference","name":"ViewportRuler"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"attach":[{"__symbolic":"method"}],"detach":[{"__symbolic":"method"}],"getDataLength":[{"__symbolic":"method"}],"getViewportSize":[{"__symbolic":"method"}],"getRenderedRange":[{"__symbolic":"method"}],"setTotalContentSize":[{"__symbolic":"method"}],"setRenderedRange":[{"__symbolic":"method"}],"getOffsetToRenderedContentStart":[{"__symbolic":"method"}],"setRenderedContentOffset":[{"__symbolic":"method"}],"scrollToOffset":[{"__symbolic":"method"}],"scrollToIndex":[{"__symbolic":"method"}],"measureScrollOffset":[{"__symbolic":"method"}],"measureRenderedContentSize":[{"__symbolic":"method"}],"measureRangeSize":[{"__symbolic":"method"}],"checkViewportSize":[{"__symbolic":"method"}],"_measureViewportSize":[{"__symbolic":"method"}],"_markChangeDetectionNeeded":[{"__symbolic":"method"}],"_doChangeDetection":[{"__symbolic":"method"}],"_calculateSpacerSize":[{"__symbolic":"method"}]}}},"origins":{"FixedSizeVirtualScrollStrategy":"./fixed-size-virtual-scroll","_fixedSizeVirtualScrollStrategyFactory":"./fixed-size-virtual-scroll","CdkFixedSizeVirtualScroll":"./fixed-size-virtual-scroll","DEFAULT_SCROLL_TIME":"./scroll-dispatcher","ScrollDispatcher":"./scroll-dispatcher","_Without":"./scrollable","_XOR":"./scrollable","_Top":"./scrollable","_Bottom":"./scrollable","_Left":"./scrollable","_Right":"./scrollable","_Start":"./scrollable","_End":"./scrollable","_XAxis":"./scrollable","_YAxis":"./scrollable","ExtendedScrollToOptions":"./scrollable","CdkScrollable":"./scrollable","CdkScrollableModule":"./scrolling-module","ScrollingModule":"./scrolling-module","DEFAULT_RESIZE_TIME":"./viewport-ruler","ViewportScrollPosition":"./viewport-ruler","ViewportRuler":"./viewport-ruler","CdkVirtualForOfContext":"./virtual-for-of","CdkVirtualForOf":"./virtual-for-of","VIRTUAL_SCROLL_STRATEGY":"./virtual-scroll-strategy","VirtualScrollStrategy":"./virtual-scroll-strategy","CdkVirtualScrollViewport":"./virtual-scroll-viewport"},"importAs":"@angular/cdk/scrolling"}
1
+ {"__symbolic":"module","version":4,"metadata":{"FixedSizeVirtualScrollStrategy":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"number"}]}],"attach":[{"__symbolic":"method"}],"detach":[{"__symbolic":"method"}],"updateItemAndBufferSize":[{"__symbolic":"method"}],"onContentScrolled":[{"__symbolic":"method"}],"onDataLengthChanged":[{"__symbolic":"method"}],"onContentRendered":[{"__symbolic":"method"}],"onRenderedOffsetChanged":[{"__symbolic":"method"}],"scrollToIndex":[{"__symbolic":"method"}],"_updateTotalContentSize":[{"__symbolic":"method"}],"_updateRenderedRange":[{"__symbolic":"method"}]}},"_fixedSizeVirtualScrollStrategyFactory":{"__symbolic":"function","parameters":["fixedSizeDir"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"fixedSizeDir"},"member":"_scrollStrategy"}},"CdkFixedSizeVirtualScroll":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":184,"character":1},"arguments":[{"selector":"cdk-virtual-scroll-viewport[itemSize]","providers":[{"provide":{"__symbolic":"reference","name":"VIRTUAL_SCROLL_STRATEGY"},"useFactory":{"__symbolic":"reference","name":"_fixedSizeVirtualScrollStrategyFactory"},"deps":[{"__symbolic":"reference","name":"CdkFixedSizeVirtualScroll"}]}]}]}],"members":{"itemSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":194,"character":3}}]}],"minBufferPx":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":203,"character":3}}]}],"maxBufferPx":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":211,"character":3}}]}],"ngOnChanges":[{"__symbolic":"method"}]}},"DEFAULT_SCROLL_TIME":20,"ScrollDispatcher":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":22,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":30,"character":15}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":30,"character":27},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":30,"character":34}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":27,"character":31},{"__symbolic":"reference","module":"@angular/cdk/platform","name":"Platform","line":28,"character":33},{"__symbolic":"reference","name":"any"}]}],"register":[{"__symbolic":"method"}],"deregister":[{"__symbolic":"method"}],"scrolled":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"ancestorScrolled":[{"__symbolic":"method"}],"getAncestorScrollContainers":[{"__symbolic":"method"}],"_getDocument":[{"__symbolic":"method"}],"_getWindow":[{"__symbolic":"method"}],"_scrollableContainsElement":[{"__symbolic":"method"}],"_addGlobalListener":[{"__symbolic":"method"}],"_removeGlobalListener":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"_Without":{"__symbolic":"interface"},"_XOR":{"__symbolic":"interface"},"_Top":{"__symbolic":"interface"},"_Bottom":{"__symbolic":"interface"},"_Left":{"__symbolic":"interface"},"_Right":{"__symbolic":"interface"},"_Start":{"__symbolic":"interface"},"_End":{"__symbolic":"interface"},"_XAxis":{"__symbolic":"interface"},"_YAxis":{"__symbolic":"interface"},"ExtendedScrollToOptions":{"__symbolic":"interface"},"CdkScrollable":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":43,"character":1},"arguments":[{"selector":"[cdk-scrollable], [cdkScrollable]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":57,"character":15}}]],"parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":54,"character":47,"context":{"typeName":"HTMLElement"},"module":"./scrollable"}]},{"__symbolic":"reference","name":"ScrollDispatcher"},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":56,"character":32},{"__symbolic":"reference","module":"@angular/cdk/bidi","name":"Directionality","line":57,"character":42}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"elementScrolled":[{"__symbolic":"method"}],"getElementRef":[{"__symbolic":"method"}],"scrollTo":[{"__symbolic":"method"}],"_applyScrollToOptions":[{"__symbolic":"method"}],"measureScrollOffset":[{"__symbolic":"method"}]}},"CdkScrollableModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":16,"character":1},"arguments":[{"exports":[{"__symbolic":"reference","name":"CdkScrollable"}],"declarations":[{"__symbolic":"reference","name":"CdkScrollable"}]}]}],"members":{}},"ScrollingModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":22,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/cdk/bidi","name":"BidiModule","line":24,"character":4},{"__symbolic":"reference","module":"@angular/cdk/platform","name":"PlatformModule","line":25,"character":4},{"__symbolic":"reference","name":"CdkScrollableModule"}],"exports":[{"__symbolic":"reference","module":"@angular/cdk/bidi","name":"BidiModule","line":29,"character":4},{"__symbolic":"reference","name":"CdkScrollableModule"},{"__symbolic":"reference","name":"CdkFixedSizeVirtualScroll"},{"__symbolic":"reference","name":"CdkVirtualForOf"},{"__symbolic":"reference","name":"CdkVirtualScrollViewport"}],"declarations":[{"__symbolic":"reference","name":"CdkFixedSizeVirtualScroll"},{"__symbolic":"reference","name":"CdkVirtualForOf"},{"__symbolic":"reference","name":"CdkVirtualScrollViewport"}]}]}],"members":{}},"DEFAULT_RESIZE_TIME":20,"ViewportScrollPosition":{"__symbolic":"interface"},"ViewportRuler":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":27,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":44,"character":15}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":44,"character":27},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":44,"character":34}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/cdk/platform","name":"Platform","line":41,"character":33},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":42,"character":22},{"__symbolic":"reference","name":"any"}]}],"ngOnDestroy":[{"__symbolic":"method"}],"getViewportSize":[{"__symbolic":"method"}],"getViewportRect":[{"__symbolic":"method"}],"getViewportScrollPosition":[{"__symbolic":"method"}],"change":[{"__symbolic":"method"}],"_getDocument":[{"__symbolic":"method"}],"_getWindow":[{"__symbolic":"method"}],"_updateViewportSize":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"CdkVirtualForOfContext":{"__symbolic":"interface"},"CdkVirtualForOf":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":74,"character":1},"arguments":[{"selector":"[cdkVirtualFor][cdkVirtualForOf]"}]}],"members":{"cdkVirtualForOf":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":86,"character":3}}]}],"cdkVirtualForTrackBy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":106,"character":3}}]}],"cdkVirtualForTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":119,"character":3}}]}],"cdkVirtualForTemplateCacheSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":131,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"SkipSelf","line":179,"character":7}}],null],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":173,"character":33},{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":175,"character":37,"context":{"typeName":"CdkVirtualForOfContext"},"module":"./virtual-for-of"}]},{"__symbolic":"reference","module":"@angular/core","name":"IterableDiffers","line":177,"character":24},{"__symbolic":"reference","name":"CdkVirtualScrollViewport"},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":180,"character":14}]}],"measureRangeSize":[{"__symbolic":"method"}],"ngDoCheck":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"_onRenderedDataChange":[{"__symbolic":"method"}],"_changeDataSource":[{"__symbolic":"method"}],"_updateContext":[{"__symbolic":"method"}],"_applyChanges":[{"__symbolic":"method"}],"_cacheView":[{"__symbolic":"method"}],"_insertViewForNewItem":[{"__symbolic":"method"}],"_updateComputedContextProperties":[{"__symbolic":"method"}],"_createEmbeddedViewAt":[{"__symbolic":"method"}],"_insertViewFromCache":[{"__symbolic":"method"}],"_detachView":[{"__symbolic":"method"}]}},"VIRTUAL_SCROLL_STRATEGY":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":15,"character":8},"arguments":["VIRTUAL_SCROLL_STRATEGY"]},"VirtualScrollStrategy":{"__symbolic":"interface"},"CdkVirtualScrollViewport":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"CdkScrollable"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":55,"character":1},"arguments":[{"selector":"cdk-virtual-scroll-viewport","host":{"class":"cdk-virtual-scroll-viewport","[class.cdk-virtual-scroll-orientation-horizontal]":"orientation === \"horizontal\"","[class.cdk-virtual-scroll-orientation-vertical]":"orientation !== \"horizontal\"","$quoted$":["class","[class.cdk-virtual-scroll-orientation-horizontal]","[class.cdk-virtual-scroll-orientation-vertical]"]},"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":64,"character":17},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":65,"character":19},"member":"OnPush"},"providers":[{"provide":{"__symbolic":"reference","name":"CdkScrollable"},"useExisting":{"__symbolic":"reference","name":"CdkVirtualScrollViewport"}}],"template":"<!--\n Wrap the rendered content in an element that will be used to offset it based on the scroll\n position.\n-->\n<div #contentWrapper class=\"cdk-virtual-scroll-content-wrapper\">\n <ng-content></ng-content>\n</div>\n<!--\n Spacer used to force the scrolling container to the correct size for the *total* number of items\n so that the scrollbar captures the size of the entire data set.\n-->\n<div class=\"cdk-virtual-scroll-spacer\"\n [style.width]=\"_totalContentWidth\" [style.height]=\"_totalContentHeight\"></div>\n","styles":["cdk-virtual-scroll-viewport{display:block;position:relative;overflow:auto;contain:strict;transform:translateZ(0);will-change:scroll-position;-webkit-overflow-scrolling:touch}.cdk-virtual-scroll-content-wrapper{position:absolute;top:0;left:0;contain:content}[dir=rtl] .cdk-virtual-scroll-content-wrapper{right:0;left:auto}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper{min-height:100%}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-left:0;padding-right:0;margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;outline:none}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{min-width:100%}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0;outline:none}.cdk-virtual-scroll-spacer{position:absolute;top:0;left:0;height:1px;width:1px;transform-origin:0 0}[dir=rtl] .cdk-virtual-scroll-spacer{right:0;left:auto;transform-origin:100% 0}\n"]}]}],"members":{"orientation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":79,"character":3}}]}],"scrolledIndexChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":96,"character":3}}]}],"_contentWrapper":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":102,"character":3},"arguments":["contentWrapper",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":157,"character":15}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":157,"character":27},"arguments":[{"__symbolic":"reference","name":"VIRTUAL_SCROLL_STRATEGY"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":159,"character":15}}],null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":165,"character":15}}]],"parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":154,"character":44,"context":{"typeName":"HTMLElement"},"module":"./virtual-scroll-viewport"}]},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":155,"character":42},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":156,"character":22},{"__symbolic":"reference","name":"VirtualScrollStrategy"},{"__symbolic":"reference","module":"@angular/cdk/bidi","name":"Directionality","line":159,"character":31},{"__symbolic":"reference","name":"ScrollDispatcher"},{"__symbolic":"reference","name":"ViewportRuler"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"attach":[{"__symbolic":"method"}],"detach":[{"__symbolic":"method"}],"getDataLength":[{"__symbolic":"method"}],"getViewportSize":[{"__symbolic":"method"}],"getRenderedRange":[{"__symbolic":"method"}],"setTotalContentSize":[{"__symbolic":"method"}],"setRenderedRange":[{"__symbolic":"method"}],"getOffsetToRenderedContentStart":[{"__symbolic":"method"}],"setRenderedContentOffset":[{"__symbolic":"method"}],"scrollToOffset":[{"__symbolic":"method"}],"scrollToIndex":[{"__symbolic":"method"}],"measureScrollOffset":[{"__symbolic":"method"}],"measureRenderedContentSize":[{"__symbolic":"method"}],"measureRangeSize":[{"__symbolic":"method"}],"checkViewportSize":[{"__symbolic":"method"}],"_measureViewportSize":[{"__symbolic":"method"}],"_markChangeDetectionNeeded":[{"__symbolic":"method"}],"_doChangeDetection":[{"__symbolic":"method"}],"_calculateSpacerSize":[{"__symbolic":"method"}]}},"CdkVirtualScrollRepeater":{"__symbolic":"interface"}},"origins":{"FixedSizeVirtualScrollStrategy":"./fixed-size-virtual-scroll","_fixedSizeVirtualScrollStrategyFactory":"./fixed-size-virtual-scroll","CdkFixedSizeVirtualScroll":"./fixed-size-virtual-scroll","DEFAULT_SCROLL_TIME":"./scroll-dispatcher","ScrollDispatcher":"./scroll-dispatcher","_Without":"./scrollable","_XOR":"./scrollable","_Top":"./scrollable","_Bottom":"./scrollable","_Left":"./scrollable","_Right":"./scrollable","_Start":"./scrollable","_End":"./scrollable","_XAxis":"./scrollable","_YAxis":"./scrollable","ExtendedScrollToOptions":"./scrollable","CdkScrollable":"./scrollable","CdkScrollableModule":"./scrolling-module","ScrollingModule":"./scrolling-module","DEFAULT_RESIZE_TIME":"./viewport-ruler","ViewportScrollPosition":"./viewport-ruler","ViewportRuler":"./viewport-ruler","CdkVirtualForOfContext":"./virtual-for-of","CdkVirtualForOf":"./virtual-for-of","VIRTUAL_SCROLL_STRATEGY":"./virtual-scroll-strategy","VirtualScrollStrategy":"./virtual-scroll-strategy","CdkVirtualScrollViewport":"./virtual-scroll-viewport","CdkVirtualScrollRepeater":"./virtual-scroll-repeater"},"importAs":"@angular/cdk/scrolling"}
@@ -13,3 +13,4 @@ export * from './viewport-ruler';
13
13
  export * from './virtual-for-of';
14
14
  export * from './virtual-scroll-strategy';
15
15
  export * from './virtual-scroll-viewport';
16
+ export * from './virtual-scroll-repeater';
@@ -9,6 +9,7 @@ import { CollectionViewer, DataSource, ListRange } from '@angular/cdk/collection
9
9
  import { DoCheck, IterableDiffers, NgIterable, NgZone, OnDestroy, TemplateRef, TrackByFunction, ViewContainerRef } from '@angular/core';
10
10
  import { Observable, Subject } from 'rxjs';
11
11
  import { CdkVirtualScrollViewport } from './virtual-scroll-viewport';
12
+ import { CdkVirtualScrollRepeater } from './virtual-scroll-repeater';
12
13
  /** The context for an item rendered by `CdkVirtualForOf` */
13
14
  export declare type CdkVirtualForOfContext<T> = {
14
15
  /** The item value. */
@@ -32,7 +33,7 @@ export declare type CdkVirtualForOfContext<T> = {
32
33
  * A directive similar to `ngForOf` to be used for rendering data inside a virtual scrolling
33
34
  * container.
34
35
  */
35
- export declare class CdkVirtualForOf<T> implements CollectionViewer, DoCheck, OnDestroy {
36
+ export declare class CdkVirtualForOf<T> implements CdkVirtualScrollRepeater<T>, CollectionViewer, DoCheck, OnDestroy {
36
37
  /** The view container to add items to. */
37
38
  private _viewContainerRef;
38
39
  /** The template to use when stamping out new items. */
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ import { Observable } from 'rxjs';
9
+ import { ListRange } from '@angular/cdk/collections';
10
+ /**
11
+ * An item to be repeated by the VirtualScrollViewport
12
+ */
13
+ export interface CdkVirtualScrollRepeater<T> {
14
+ dataStream: Observable<T[] | ReadonlyArray<T>>;
15
+ measureRangeSize(range: ListRange, orientation: 'horizontal' | 'vertical'): number;
16
+ }
@@ -11,9 +11,9 @@ import { ChangeDetectorRef, ElementRef, NgZone, OnDestroy, OnInit } from '@angul
11
11
  import { Observable } from 'rxjs';
12
12
  import { ScrollDispatcher } from './scroll-dispatcher';
13
13
  import { CdkScrollable } from './scrollable';
14
- import { CdkVirtualForOf } from './virtual-for-of';
15
14
  import { VirtualScrollStrategy } from './virtual-scroll-strategy';
16
15
  import { ViewportRuler } from './viewport-ruler';
16
+ import { CdkVirtualScrollRepeater } from './virtual-scroll-repeater';
17
17
  /** A viewport that virtualizes its scrolling with the help of `CdkVirtualForOf`. */
18
18
  export declare class CdkVirtualScrollViewport extends CdkScrollable implements OnInit, OnDestroy {
19
19
  elementRef: ElementRef<HTMLElement>;
@@ -52,7 +52,7 @@ export declare class CdkVirtualScrollViewport extends CdkScrollable implements O
52
52
  private _dataLength;
53
53
  /** The size of the viewport (in pixels). */
54
54
  private _viewportSize;
55
- /** the currently attached CdkVirtualForOf. */
55
+ /** the currently attached CdkVirtualScrollRepeater. */
56
56
  private _forOf;
57
57
  /** The last rendered content offset that was set. */
58
58
  private _renderedContentOffset;
@@ -75,8 +75,8 @@ export declare class CdkVirtualScrollViewport extends CdkScrollable implements O
75
75
  viewportRuler?: ViewportRuler);
76
76
  ngOnInit(): void;
77
77
  ngOnDestroy(): void;
78
- /** Attaches a `CdkVirtualForOf` to this viewport. */
79
- attach(forOf: CdkVirtualForOf<any>): void;
78
+ /** Attaches a `CdkVirtualScrollRepeater` to this viewport. */
79
+ attach(forOf: CdkVirtualScrollRepeater<any>): void;
80
80
  /** Detaches the current `CdkVirtualForOf`. */
81
81
  detach(): void;
82
82
  /** Gets the length of the data bound to this viewport (in number of items). */
@@ -175,6 +175,8 @@ export interface LocatorFactory {
175
175
  * - `await lf.locatorForAll('span')()` gets `[]`.
176
176
  */
177
177
  locatorForAll<T extends (HarnessQuery<any> | string)[]>(...queries: T): AsyncFactoryFn<LocatorFnResult<T>[]>;
178
+ /** @return A `HarnessLoader` rooted at the root element of this `LocatorFactory`. */
179
+ rootHarnessLoader(): Promise<HarnessLoader>;
178
180
  /**
179
181
  * Gets a `HarnessLoader` instance for an element under the root of this `LocatorFactory`.
180
182
  * @param selector The selector for the root element.
@@ -316,6 +318,16 @@ export declare abstract class ComponentHarness {
316
318
  */
317
319
  protected waitForTasksOutsideAngular(): Promise<void>;
318
320
  }
321
+ /**
322
+ * Base class for component harnesses that authors should extend if they anticipate that consumers
323
+ * of the harness may want to access other harnesses within the `<ng-content>` of the component.
324
+ */
325
+ export declare abstract class ContentContainerComponentHarness<S extends string = string> extends ComponentHarness implements HarnessLoader {
326
+ getChildLoader(selector: S): Promise<HarnessLoader>;
327
+ getAllChildLoaders(selector: S): Promise<HarnessLoader[]>;
328
+ getHarness<T extends ComponentHarness>(query: HarnessQuery<T>): Promise<T>;
329
+ getAllHarnesses<T extends ComponentHarness>(query: HarnessQuery<T>): Promise<T[]>;
330
+ }
319
331
  /** Constructor for a ComponentHarness subclass. */
320
332
  export interface ComponentHarnessConstructor<T extends ComponentHarness> {
321
333
  new (locatorFactory: LocatorFactory): T;
@@ -21,6 +21,7 @@ export declare abstract class HarnessEnvironment<E> implements HarnessLoader, Lo
21
21
  locatorFor<T extends (HarnessQuery<any> | string)[]>(...queries: T): AsyncFactoryFn<LocatorFnResult<T>>;
22
22
  locatorForOptional<T extends (HarnessQuery<any> | string)[]>(...queries: T): AsyncFactoryFn<LocatorFnResult<T> | null>;
23
23
  locatorForAll<T extends (HarnessQuery<any> | string)[]>(...queries: T): AsyncFactoryFn<LocatorFnResult<T>[]>;
24
+ rootHarnessLoader(): Promise<HarnessLoader>;
24
25
  harnessLoaderFor(selector: string): Promise<HarnessLoader>;
25
26
  harnessLoaderForOptional(selector: string): Promise<HarnessLoader | null>;
26
27
  harnessLoaderForAll(selector: string): Promise<HarnessLoader[]>;
@@ -7,11 +7,16 @@
7
7
  */
8
8
  import { Observable } from 'rxjs';
9
9
  import { BaseTreeControl } from './base-tree-control';
10
+ /** Optional set of configuration that can be provided to the NestedTreeControl. */
11
+ export interface NestedTreeControlOptions<T, K> {
12
+ trackBy?: (dataNode: T) => K;
13
+ }
10
14
  /** Nested tree control. Able to expand/collapse a subtree recursively for NestedNode type. */
11
- export declare class NestedTreeControl<T> extends BaseTreeControl<T> {
15
+ export declare class NestedTreeControl<T, K = T> extends BaseTreeControl<T, K> {
12
16
  getChildren: (dataNode: T) => (Observable<T[]> | T[] | undefined | null);
17
+ options?: NestedTreeControlOptions<T, K> | undefined;
13
18
  /** Construct with nested tree function getChildren. */
14
- constructor(getChildren: (dataNode: T) => (Observable<T[]> | T[] | undefined | null));
19
+ constructor(getChildren: (dataNode: T) => (Observable<T[]> | T[] | undefined | null), options?: NestedTreeControlOptions<T, K> | undefined);
15
20
  /**
16
21
  * Expands all dataNodes in the tree.
17
22
  *
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"BaseTreeControl":{"__symbolic":"class","arity":2,"members":{"getDescendants":[{"__symbolic":"method"}],"expandAll":[{"__symbolic":"method"}],"toggle":[{"__symbolic":"method"}],"expand":[{"__symbolic":"method"}],"collapse":[{"__symbolic":"method"}],"isExpanded":[{"__symbolic":"method"}],"toggleDescendants":[{"__symbolic":"method"}],"collapseAll":[{"__symbolic":"method"}],"expandDescendants":[{"__symbolic":"method"}],"collapseDescendants":[{"__symbolic":"method"}],"_trackByValue":[{"__symbolic":"method"}]}},"FlatTreeControlOptions":{"__symbolic":"interface"},"FlatTreeControl":{"__symbolic":"class","arity":2,"extends":{"__symbolic":"reference","name":"BaseTreeControl"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":20,"character":23,"module":"./control/flat-tree-control"},{"__symbolic":"error","message":"Expression form not supported","line":20,"character":69,"module":"./control/flat-tree-control"},{"__symbolic":"reference","name":"any","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":21,"character":46,"context":{"typeName":"T"},"module":"./control/flat-tree-control"},{"__symbolic":"error","message":"Could not resolve type","line":21,"character":49,"context":{"typeName":"K"},"module":"./control/flat-tree-control"}]}]}],"getDescendants":[{"__symbolic":"method"}],"expandAll":[{"__symbolic":"method"}]}},"NestedTreeControl":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","name":"BaseTreeControl"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":15,"character":34,"module":"./control/nested-tree-control"}]}],"expandAll":[{"__symbolic":"method"}],"getDescendants":[{"__symbolic":"method"}],"_getDescendants":[{"__symbolic":"method"}]}},"TreeControl":{"__symbolic":"interface"},"CdkNestedTreeNode":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","name":"CdkTreeNode"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":30,"character":1},"arguments":[{"selector":"cdk-nested-tree-node","exportAs":"cdkNestedTreeNode","host":{"[attr.aria-expanded]":"isExpanded","[attr.role]":"role","class":"cdk-tree-node cdk-nested-tree-node","$quoted$":["[attr.aria-expanded]","[attr.role]","class"]},"providers":[{"provide":{"__symbolic":"reference","name":"CdkTreeNode"},"useExisting":{"__symbolic":"reference","name":"CdkNestedTreeNode"}},{"provide":{"__symbolic":"reference","name":"CDK_TREE_NODE_OUTLET_NODE"},"useExisting":{"__symbolic":"reference","name":"CdkNestedTreeNode"}}]}]}],"members":{"nodeOutlet":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":51,"character":3},"arguments":[{"__symbolic":"reference","name":"CdkTreeNodeOutlet"},{"descendants":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":58,"character":48,"context":{"typeName":"HTMLElement"},"module":"./nested-node"}]},{"__symbolic":"reference","name":"CdkTree"},{"__symbolic":"reference","module":"@angular/core","name":"IterableDiffers","line":60,"character":34}]}],"ngAfterContentInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"updateChildrenNodes":[{"__symbolic":"method"}],"_clear":[{"__symbolic":"method"}],"_getNodeOutlet":[{"__symbolic":"method"}]}},"CdkTreeNodeOutletContext":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":25,"character":20,"context":{"typeName":"T"},"module":"./node"}]}]}},"CdkTreeNodeDef":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":34,"character":1},"arguments":[{"selector":"[cdkTreeNodeDef]","inputs":["when: cdkTreeNodeDefWhen"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"any"}]}]}]}},"CdkTreeNodePadding":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":22,"character":1},"arguments":[{"selector":"[cdkTreeNodePadding]"}]}],"members":{"level":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":3},"arguments":["cdkTreeNodePadding"]}]}],"indent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":51,"character":3},"arguments":["cdkTreeNodePaddingIndent"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":77,"character":15}}]],"parameters":[{"__symbolic":"reference","name":"CdkTreeNode"},{"__symbolic":"reference","name":"CdkTree"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":75,"character":25},{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":76,"character":43,"context":{"typeName":"HTMLElement"},"module":"./padding"}]},{"__symbolic":"reference","module":"@angular/cdk/bidi","name":"Directionality","line":77,"character":40}]}],"ngOnDestroy":[{"__symbolic":"method"}],"_paddingIndent":[{"__symbolic":"method"}],"_setPadding":[{"__symbolic":"method"}]}},"CDK_TREE_NODE_OUTLET_NODE":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":20,"character":45},"arguments":["CDK_TREE_NODE_OUTLET_NODE"]},"CdkTreeNodeOutlet":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":26,"character":1},"arguments":[{"selector":"[cdkTreeNodeOutlet]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":32,"character":7},"arguments":[{"__symbolic":"reference","name":"CDK_TREE_NODE_OUTLET_NODE"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":32,"character":42}}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":31,"character":28},{"__symbolic":"reference","name":"any"}]}]}},"CdkTree":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":53,"character":1},"arguments":[{"selector":"cdk-tree","exportAs":"cdkTree","template":"<ng-container cdkTreeNodeOutlet></ng-container>","host":{"class":"cdk-tree","role":"tree","$quoted$":["class","role"]},"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":61,"character":17},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":67,"character":19},"member":"Default"}}]}],"members":{"dataSource":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":90,"character":3}}]}],"treeControl":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":100,"character":3}}]}],"trackBy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":108,"character":3}}]}],"_nodeOutlet":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":111,"character":3},"arguments":[{"__symbolic":"reference","name":"CdkTreeNodeOutlet"},{"static":true}]}]}],"_nodeDefs":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":114,"character":3},"arguments":[{"__symbolic":"reference","name":"CdkTreeNodeDef"},{"descendants":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"IterableDiffers","line":129,"character":32},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":130,"character":42}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"ngAfterContentChecked":[{"__symbolic":"method"}],"_switchDataSource":[{"__symbolic":"method"}],"_observeRenderChanges":[{"__symbolic":"method"}],"renderNodeChanges":[{"__symbolic":"method"}],"_getNodeDef":[{"__symbolic":"method"}],"insertNode":[{"__symbolic":"method"}]}},"CdkTreeNode":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":296,"character":1},"arguments":[{"selector":"cdk-tree-node","exportAs":"cdkTreeNode","host":{"[attr.aria-expanded]":"isExpanded","[attr.aria-level]":"role === \"treeitem\" ? level : null","[attr.role]":"role","class":"cdk-tree-node","$quoted$":["[attr.aria-expanded]","[attr.aria-level]","[attr.role]","class"]}}]}],"members":{"role":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":342,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":344,"character":48,"context":{"typeName":"HTMLElement"},"module":"./tree"}]},{"__symbolic":"reference","name":"CdkTree"}]}],"ngOnDestroy":[{"__symbolic":"method"}],"focus":[{"__symbolic":"method"}],"_setRoleFromData":[{"__symbolic":"method"}],"_setRoleFromChildren":[{"__symbolic":"method"}]},"statics":{"mostRecentTreeNode":null}},"getTreeNoValidDataSourceError":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"Error"},"arguments":["A valid data source must be provided."]}},"getTreeMultipleDefaultNodeDefsError":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"Error"},"arguments":["There can only be one default row without a when predicate function."]}},"getTreeMissingMatchingNodeDefError":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"Error"},"arguments":["Could not find a matching node definition for the provided node data."]}},"getTreeControlMissingError":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"Error"},"arguments":["Could not find a tree control for the tree."]}},"getTreeControlFunctionsMissingError":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"Error"},"arguments":["Could not find functions for nested/flat tree in tree control."]}},"CdkTreeModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":27,"character":1},"arguments":[{"exports":[{"__symbolic":"reference","name":"CdkNestedTreeNode"},{"__symbolic":"reference","name":"CdkTreeNodeDef"},{"__symbolic":"reference","name":"CdkTreeNodePadding"},{"__symbolic":"reference","name":"CdkTreeNodeToggle"},{"__symbolic":"reference","name":"CdkTree"},{"__symbolic":"reference","name":"CdkTreeNode"},{"__symbolic":"reference","name":"CdkTreeNodeOutlet"}],"declarations":[{"__symbolic":"reference","name":"CdkNestedTreeNode"},{"__symbolic":"reference","name":"CdkTreeNodeDef"},{"__symbolic":"reference","name":"CdkTreeNodePadding"},{"__symbolic":"reference","name":"CdkTreeNodeToggle"},{"__symbolic":"reference","name":"CdkTree"},{"__symbolic":"reference","name":"CdkTreeNode"},{"__symbolic":"reference","name":"CdkTreeNodeOutlet"}],"providers":[{"__symbolic":"reference","module":"@angular/cdk/a11y","name":"FocusMonitor","line":30,"character":14},{"__symbolic":"reference","name":"CdkTreeNodeDef"}]}]}],"members":{}},"CdkTreeNodeToggle":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":16,"character":1},"arguments":[{"selector":"[cdkTreeNodeToggle]"}]}],"members":{"recursive":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3},"arguments":["cdkTreeNodeToggleRecursive"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"CdkTree"},{"__symbolic":"reference","name":"CdkTreeNode"}]}],"_toggle":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":32,"character":3},"arguments":["click",["$event"]]}]}]}}},"origins":{"BaseTreeControl":"./control/base-tree-control","FlatTreeControlOptions":"./control/flat-tree-control","FlatTreeControl":"./control/flat-tree-control","NestedTreeControl":"./control/nested-tree-control","TreeControl":"./control/tree-control","CdkNestedTreeNode":"./nested-node","CdkTreeNodeOutletContext":"./node","CdkTreeNodeDef":"./node","CdkTreeNodePadding":"./padding","CDK_TREE_NODE_OUTLET_NODE":"./outlet","CdkTreeNodeOutlet":"./outlet","CdkTree":"./tree","CdkTreeNode":"./tree","getTreeNoValidDataSourceError":"./tree-errors","getTreeMultipleDefaultNodeDefsError":"./tree-errors","getTreeMissingMatchingNodeDefError":"./tree-errors","getTreeControlMissingError":"./tree-errors","getTreeControlFunctionsMissingError":"./tree-errors","CdkTreeModule":"./tree-module","CdkTreeNodeToggle":"./toggle"},"importAs":"@angular/cdk/tree"}
1
+ {"__symbolic":"module","version":4,"metadata":{"BaseTreeControl":{"__symbolic":"class","arity":2,"members":{"getDescendants":[{"__symbolic":"method"}],"expandAll":[{"__symbolic":"method"}],"toggle":[{"__symbolic":"method"}],"expand":[{"__symbolic":"method"}],"collapse":[{"__symbolic":"method"}],"isExpanded":[{"__symbolic":"method"}],"toggleDescendants":[{"__symbolic":"method"}],"collapseAll":[{"__symbolic":"method"}],"expandDescendants":[{"__symbolic":"method"}],"collapseDescendants":[{"__symbolic":"method"}],"_trackByValue":[{"__symbolic":"method"}]}},"FlatTreeControlOptions":{"__symbolic":"interface"},"FlatTreeControl":{"__symbolic":"class","arity":2,"extends":{"__symbolic":"reference","name":"BaseTreeControl"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":20,"character":23,"module":"./control/flat-tree-control"},{"__symbolic":"error","message":"Expression form not supported","line":20,"character":69,"module":"./control/flat-tree-control"},{"__symbolic":"reference","name":"any","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":21,"character":46,"context":{"typeName":"T"},"module":"./control/flat-tree-control"},{"__symbolic":"error","message":"Could not resolve type","line":21,"character":49,"context":{"typeName":"K"},"module":"./control/flat-tree-control"}]}]}],"getDescendants":[{"__symbolic":"method"}],"expandAll":[{"__symbolic":"method"}]}},"NestedTreeControlOptions":{"__symbolic":"interface"},"NestedTreeControl":{"__symbolic":"class","arity":2,"extends":{"__symbolic":"reference","name":"BaseTreeControl"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":20,"character":26,"module":"./control/nested-tree-control"},{"__symbolic":"reference","name":"any","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":21,"character":48,"context":{"typeName":"T"},"module":"./control/nested-tree-control"},{"__symbolic":"error","message":"Could not resolve type","line":21,"character":51,"context":{"typeName":"K"},"module":"./control/nested-tree-control"}]}]}],"expandAll":[{"__symbolic":"method"}],"getDescendants":[{"__symbolic":"method"}],"_getDescendants":[{"__symbolic":"method"}]}},"TreeControl":{"__symbolic":"interface"},"CdkNestedTreeNode":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","name":"CdkTreeNode"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":30,"character":1},"arguments":[{"selector":"cdk-nested-tree-node","exportAs":"cdkNestedTreeNode","host":{"[attr.aria-expanded]":"isExpanded","[attr.role]":"role","class":"cdk-tree-node cdk-nested-tree-node","$quoted$":["[attr.aria-expanded]","[attr.role]","class"]},"providers":[{"provide":{"__symbolic":"reference","name":"CdkTreeNode"},"useExisting":{"__symbolic":"reference","name":"CdkNestedTreeNode"}},{"provide":{"__symbolic":"reference","name":"CDK_TREE_NODE_OUTLET_NODE"},"useExisting":{"__symbolic":"reference","name":"CdkNestedTreeNode"}}]}]}],"members":{"nodeOutlet":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":51,"character":3},"arguments":[{"__symbolic":"reference","name":"CdkTreeNodeOutlet"},{"descendants":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":58,"character":48,"context":{"typeName":"HTMLElement"},"module":"./nested-node"}]},{"__symbolic":"reference","name":"CdkTree"},{"__symbolic":"reference","module":"@angular/core","name":"IterableDiffers","line":60,"character":34}]}],"ngAfterContentInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"updateChildrenNodes":[{"__symbolic":"method"}],"_clear":[{"__symbolic":"method"}],"_getNodeOutlet":[{"__symbolic":"method"}]}},"CdkTreeNodeOutletContext":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":25,"character":20,"context":{"typeName":"T"},"module":"./node"}]}]}},"CdkTreeNodeDef":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":34,"character":1},"arguments":[{"selector":"[cdkTreeNodeDef]","inputs":["when: cdkTreeNodeDefWhen"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"any"}]}]}]}},"CdkTreeNodePadding":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":22,"character":1},"arguments":[{"selector":"[cdkTreeNodePadding]"}]}],"members":{"level":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":3},"arguments":["cdkTreeNodePadding"]}]}],"indent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":51,"character":3},"arguments":["cdkTreeNodePaddingIndent"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":77,"character":15}}]],"parameters":[{"__symbolic":"reference","name":"CdkTreeNode"},{"__symbolic":"reference","name":"CdkTree"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":75,"character":25},{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":76,"character":43,"context":{"typeName":"HTMLElement"},"module":"./padding"}]},{"__symbolic":"reference","module":"@angular/cdk/bidi","name":"Directionality","line":77,"character":40}]}],"ngOnDestroy":[{"__symbolic":"method"}],"_paddingIndent":[{"__symbolic":"method"}],"_setPadding":[{"__symbolic":"method"}]}},"CDK_TREE_NODE_OUTLET_NODE":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":20,"character":45},"arguments":["CDK_TREE_NODE_OUTLET_NODE"]},"CdkTreeNodeOutlet":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":26,"character":1},"arguments":[{"selector":"[cdkTreeNodeOutlet]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":32,"character":7},"arguments":[{"__symbolic":"reference","name":"CDK_TREE_NODE_OUTLET_NODE"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":32,"character":42}}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":31,"character":28},{"__symbolic":"reference","name":"any"}]}]}},"CdkTree":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":53,"character":1},"arguments":[{"selector":"cdk-tree","exportAs":"cdkTree","template":"<ng-container cdkTreeNodeOutlet></ng-container>","host":{"class":"cdk-tree","role":"tree","$quoted$":["class","role"]},"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":61,"character":17},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":67,"character":19},"member":"Default"}}]}],"members":{"dataSource":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":90,"character":3}}]}],"treeControl":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":100,"character":3}}]}],"trackBy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":108,"character":3}}]}],"_nodeOutlet":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":111,"character":3},"arguments":[{"__symbolic":"reference","name":"CdkTreeNodeOutlet"},{"static":true}]}]}],"_nodeDefs":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":114,"character":3},"arguments":[{"__symbolic":"reference","name":"CdkTreeNodeDef"},{"descendants":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"IterableDiffers","line":129,"character":32},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":130,"character":42}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"ngAfterContentChecked":[{"__symbolic":"method"}],"_switchDataSource":[{"__symbolic":"method"}],"_observeRenderChanges":[{"__symbolic":"method"}],"renderNodeChanges":[{"__symbolic":"method"}],"_getNodeDef":[{"__symbolic":"method"}],"insertNode":[{"__symbolic":"method"}]}},"CdkTreeNode":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":296,"character":1},"arguments":[{"selector":"cdk-tree-node","exportAs":"cdkTreeNode","host":{"[attr.aria-expanded]":"isExpanded","[attr.aria-level]":"role === \"treeitem\" ? level : null","[attr.role]":"role","class":"cdk-tree-node","$quoted$":["[attr.aria-expanded]","[attr.aria-level]","[attr.role]","class"]}}]}],"members":{"role":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":342,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":344,"character":48,"context":{"typeName":"HTMLElement"},"module":"./tree"}]},{"__symbolic":"reference","name":"CdkTree"}]}],"ngOnDestroy":[{"__symbolic":"method"}],"focus":[{"__symbolic":"method"}],"_setRoleFromData":[{"__symbolic":"method"}],"_setRoleFromChildren":[{"__symbolic":"method"}]},"statics":{"mostRecentTreeNode":null}},"getTreeNoValidDataSourceError":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"Error"},"arguments":["A valid data source must be provided."]}},"getTreeMultipleDefaultNodeDefsError":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"Error"},"arguments":["There can only be one default row without a when predicate function."]}},"getTreeMissingMatchingNodeDefError":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"Error"},"arguments":["Could not find a matching node definition for the provided node data."]}},"getTreeControlMissingError":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"Error"},"arguments":["Could not find a tree control for the tree."]}},"getTreeControlFunctionsMissingError":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"Error"},"arguments":["Could not find functions for nested/flat tree in tree control."]}},"CdkTreeModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":27,"character":1},"arguments":[{"exports":[{"__symbolic":"reference","name":"CdkNestedTreeNode"},{"__symbolic":"reference","name":"CdkTreeNodeDef"},{"__symbolic":"reference","name":"CdkTreeNodePadding"},{"__symbolic":"reference","name":"CdkTreeNodeToggle"},{"__symbolic":"reference","name":"CdkTree"},{"__symbolic":"reference","name":"CdkTreeNode"},{"__symbolic":"reference","name":"CdkTreeNodeOutlet"}],"declarations":[{"__symbolic":"reference","name":"CdkNestedTreeNode"},{"__symbolic":"reference","name":"CdkTreeNodeDef"},{"__symbolic":"reference","name":"CdkTreeNodePadding"},{"__symbolic":"reference","name":"CdkTreeNodeToggle"},{"__symbolic":"reference","name":"CdkTree"},{"__symbolic":"reference","name":"CdkTreeNode"},{"__symbolic":"reference","name":"CdkTreeNodeOutlet"}],"providers":[{"__symbolic":"reference","module":"@angular/cdk/a11y","name":"FocusMonitor","line":30,"character":14},{"__symbolic":"reference","name":"CdkTreeNodeDef"}]}]}],"members":{}},"CdkTreeNodeToggle":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":16,"character":1},"arguments":[{"selector":"[cdkTreeNodeToggle]"}]}],"members":{"recursive":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3},"arguments":["cdkTreeNodeToggleRecursive"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"CdkTree"},{"__symbolic":"reference","name":"CdkTreeNode"}]}],"_toggle":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":32,"character":3},"arguments":["click",["$event"]]}]}]}}},"origins":{"BaseTreeControl":"./control/base-tree-control","FlatTreeControlOptions":"./control/flat-tree-control","FlatTreeControl":"./control/flat-tree-control","NestedTreeControlOptions":"./control/nested-tree-control","NestedTreeControl":"./control/nested-tree-control","TreeControl":"./control/tree-control","CdkNestedTreeNode":"./nested-node","CdkTreeNodeOutletContext":"./node","CdkTreeNodeDef":"./node","CdkTreeNodePadding":"./padding","CDK_TREE_NODE_OUTLET_NODE":"./outlet","CdkTreeNodeOutlet":"./outlet","CdkTree":"./tree","CdkTreeNode":"./tree","getTreeNoValidDataSourceError":"./tree-errors","getTreeMultipleDefaultNodeDefsError":"./tree-errors","getTreeMissingMatchingNodeDefError":"./tree-errors","getTreeControlMissingError":"./tree-errors","getTreeControlFunctionsMissingError":"./tree-errors","CdkTreeModule":"./tree-module","CdkTreeNodeToggle":"./toggle"},"importAs":"@angular/cdk/tree"}
@@ -1,100 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- import { DOCUMENT } from '@angular/common';
9
- import { Inject, Injectable, Optional, SkipSelf, } from '@angular/core';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "@angular/common";
12
- /**
13
- * Service for dispatching keyboard events that land on the body to appropriate overlay ref,
14
- * if any. It maintains a list of attached overlays to determine best suited overlay based
15
- * on event target and order of overlay opens.
16
- */
17
- let OverlayKeyboardDispatcher = /** @class */ (() => {
18
- class OverlayKeyboardDispatcher {
19
- constructor(document) {
20
- /** Currently attached overlays in the order they were attached. */
21
- this._attachedOverlays = [];
22
- /** Keyboard event listener that will be attached to the body. */
23
- this._keydownListener = (event) => {
24
- const overlays = this._attachedOverlays;
25
- for (let i = overlays.length - 1; i > -1; i--) {
26
- // Dispatch the keydown event to the top overlay which has subscribers to its keydown events.
27
- // We want to target the most recent overlay, rather than trying to match where the event came
28
- // from, because some components might open an overlay, but keep focus on a trigger element
29
- // (e.g. for select and autocomplete). We skip overlays without keydown event subscriptions,
30
- // because we don't want overlays that don't handle keyboard events to block the ones below
31
- // them that do.
32
- if (overlays[i]._keydownEvents.observers.length > 0) {
33
- overlays[i]._keydownEvents.next(event);
34
- break;
35
- }
36
- }
37
- };
38
- this._document = document;
39
- }
40
- ngOnDestroy() {
41
- this._detach();
42
- }
43
- /** Add a new overlay to the list of attached overlay refs. */
44
- add(overlayRef) {
45
- // Ensure that we don't get the same overlay multiple times.
46
- this.remove(overlayRef);
47
- // Lazily start dispatcher once first overlay is added
48
- if (!this._isAttached) {
49
- this._document.body.addEventListener('keydown', this._keydownListener);
50
- this._isAttached = true;
51
- }
52
- this._attachedOverlays.push(overlayRef);
53
- }
54
- /** Remove an overlay from the list of attached overlay refs. */
55
- remove(overlayRef) {
56
- const index = this._attachedOverlays.indexOf(overlayRef);
57
- if (index > -1) {
58
- this._attachedOverlays.splice(index, 1);
59
- }
60
- // Remove the global listener once there are no more overlays.
61
- if (this._attachedOverlays.length === 0) {
62
- this._detach();
63
- }
64
- }
65
- /** Detaches the global keyboard event listener. */
66
- _detach() {
67
- if (this._isAttached) {
68
- this._document.body.removeEventListener('keydown', this._keydownListener);
69
- this._isAttached = false;
70
- }
71
- }
72
- }
73
- OverlayKeyboardDispatcher.ɵprov = i0.ɵɵdefineInjectable({ factory: function OverlayKeyboardDispatcher_Factory() { return new OverlayKeyboardDispatcher(i0.ɵɵinject(i1.DOCUMENT)); }, token: OverlayKeyboardDispatcher, providedIn: "root" });
74
- OverlayKeyboardDispatcher.decorators = [
75
- { type: Injectable, args: [{ providedIn: 'root' },] }
76
- ];
77
- OverlayKeyboardDispatcher.ctorParameters = () => [
78
- { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
79
- ];
80
- return OverlayKeyboardDispatcher;
81
- })();
82
- export { OverlayKeyboardDispatcher };
83
- /** @docs-private @deprecated @breaking-change 8.0.0 */
84
- export function OVERLAY_KEYBOARD_DISPATCHER_PROVIDER_FACTORY(dispatcher, _document) {
85
- return dispatcher || new OverlayKeyboardDispatcher(_document);
86
- }
87
- /** @docs-private @deprecated @breaking-change 8.0.0 */
88
- export const OVERLAY_KEYBOARD_DISPATCHER_PROVIDER = {
89
- // If there is already an OverlayKeyboardDispatcher available, use that.
90
- // Otherwise, provide a new one.
91
- provide: OverlayKeyboardDispatcher,
92
- deps: [
93
- [new Optional(), new SkipSelf(), OverlayKeyboardDispatcher],
94
- // Coerce to `InjectionToken` so that the `deps` match the "shape"
95
- // of the type expected by Angular
96
- DOCUMENT
97
- ],
98
- useFactory: OVERLAY_KEYBOARD_DISPATCHER_PROVIDER_FACTORY
99
- };
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1rZXlib2FyZC1kaXNwYXRjaGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2Nkay9vdmVybGF5L2tleWJvYXJkL292ZXJsYXkta2V5Ym9hcmQtZGlzcGF0Y2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUNMLE1BQU0sRUFDTixVQUFVLEVBR1YsUUFBUSxFQUNSLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQzs7O0FBSXZCOzs7O0dBSUc7QUFDSDtJQUFBLE1BQ2EseUJBQXlCO1FBUXBDLFlBQThCLFFBQWE7WUFOM0MsbUVBQW1FO1lBQ25FLHNCQUFpQixHQUF1QixFQUFFLENBQUM7WUFpRDNDLGlFQUFpRTtZQUN6RCxxQkFBZ0IsR0FBRyxDQUFDLEtBQW9CLEVBQUUsRUFBRTtnQkFDbEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO2dCQUV4QyxLQUFLLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtvQkFDN0MsNkZBQTZGO29CQUM3Riw4RkFBOEY7b0JBQzlGLDJGQUEyRjtvQkFDM0YsNEZBQTRGO29CQUM1RiwyRkFBMkY7b0JBQzNGLGdCQUFnQjtvQkFDaEIsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO3dCQUNuRCxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDdkMsTUFBTTtxQkFDUDtpQkFDRjtZQUNILENBQUMsQ0FBQTtZQTNEQyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUM1QixDQUFDO1FBRUQsV0FBVztZQUNULElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNqQixDQUFDO1FBRUQsOERBQThEO1FBQzlELEdBQUcsQ0FBQyxVQUE0QjtZQUM5Qiw0REFBNEQ7WUFDNUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUV4QixzREFBc0Q7WUFDdEQsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztnQkFDdkUsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7YUFDekI7WUFFRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFFRCxnRUFBZ0U7UUFDaEUsTUFBTSxDQUFDLFVBQTRCO1lBQ2pDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7WUFFekQsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDekM7WUFFRCw4REFBOEQ7WUFDOUQsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDdkMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQ2hCO1FBQ0gsQ0FBQztRQUVELG1EQUFtRDtRQUMzQyxPQUFPO1lBQ2IsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQzFFLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO2FBQzFCO1FBQ0gsQ0FBQzs7OztnQkFuREYsVUFBVSxTQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQzs7O2dEQVNqQixNQUFNLFNBQUMsUUFBUTs7b0NBbEM5QjtLQStGQztTQXJFWSx5QkFBeUI7QUF3RXRDLHVEQUF1RDtBQUN2RCxNQUFNLFVBQVUsNENBQTRDLENBQ3hELFVBQXFDLEVBQUUsU0FBYztJQUN2RCxPQUFPLFVBQVUsSUFBSSxJQUFJLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ2hFLENBQUM7QUFFRCx1REFBdUQ7QUFDdkQsTUFBTSxDQUFDLE1BQU0sb0NBQW9DLEdBQUc7SUFDbEQsd0VBQXdFO0lBQ3hFLGdDQUFnQztJQUNoQyxPQUFPLEVBQUUseUJBQXlCO0lBQ2xDLElBQUksRUFBRTtRQUNKLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxJQUFJLFFBQVEsRUFBRSxFQUFFLHlCQUF5QixDQUFDO1FBRTNELGtFQUFrRTtRQUNsRSxrQ0FBa0M7UUFDbEMsUUFBK0I7S0FDaEM7SUFDRCxVQUFVLEVBQUUsNENBQTRDO0NBQ3pELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEluamVjdCxcbiAgSW5qZWN0YWJsZSxcbiAgSW5qZWN0aW9uVG9rZW4sXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG4gIFNraXBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7T3ZlcmxheVJlZmVyZW5jZX0gZnJvbSAnLi4vb3ZlcmxheS1yZWZlcmVuY2UnO1xuXG5cbi8qKlxuICogU2VydmljZSBmb3IgZGlzcGF0Y2hpbmcga2V5Ym9hcmQgZXZlbnRzIHRoYXQgbGFuZCBvbiB0aGUgYm9keSB0byBhcHByb3ByaWF0ZSBvdmVybGF5IHJlZixcbiAqIGlmIGFueS4gSXQgbWFpbnRhaW5zIGEgbGlzdCBvZiBhdHRhY2hlZCBvdmVybGF5cyB0byBkZXRlcm1pbmUgYmVzdCBzdWl0ZWQgb3ZlcmxheSBiYXNlZFxuICogb24gZXZlbnQgdGFyZ2V0IGFuZCBvcmRlciBvZiBvdmVybGF5IG9wZW5zLlxuICovXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBPdmVybGF5S2V5Ym9hcmREaXNwYXRjaGVyIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICAvKiogQ3VycmVudGx5IGF0dGFjaGVkIG92ZXJsYXlzIGluIHRoZSBvcmRlciB0aGV5IHdlcmUgYXR0YWNoZWQuICovXG4gIF9hdHRhY2hlZE92ZXJsYXlzOiBPdmVybGF5UmVmZXJlbmNlW10gPSBbXTtcblxuICBwcml2YXRlIF9kb2N1bWVudDogRG9jdW1lbnQ7XG4gIHByaXZhdGUgX2lzQXR0YWNoZWQ6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChET0NVTUVOVCkgZG9jdW1lbnQ6IGFueSkge1xuICAgIHRoaXMuX2RvY3VtZW50ID0gZG9jdW1lbnQ7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9kZXRhY2goKTtcbiAgfVxuXG4gIC8qKiBBZGQgYSBuZXcgb3ZlcmxheSB0byB0aGUgbGlzdCBvZiBhdHRhY2hlZCBvdmVybGF5IHJlZnMuICovXG4gIGFkZChvdmVybGF5UmVmOiBPdmVybGF5UmVmZXJlbmNlKTogdm9pZCB7XG4gICAgLy8gRW5zdXJlIHRoYXQgd2UgZG9uJ3QgZ2V0IHRoZSBzYW1lIG92ZXJsYXkgbXVsdGlwbGUgdGltZXMuXG4gICAgdGhpcy5yZW1vdmUob3ZlcmxheVJlZik7XG5cbiAgICAvLyBMYXppbHkgc3RhcnQgZGlzcGF0Y2hlciBvbmNlIGZpcnN0IG92ZXJsYXkgaXMgYWRkZWRcbiAgICBpZiAoIXRoaXMuX2lzQXR0YWNoZWQpIHtcbiAgICAgIHRoaXMuX2RvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIHRoaXMuX2tleWRvd25MaXN0ZW5lcik7XG4gICAgICB0aGlzLl9pc0F0dGFjaGVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICB0aGlzLl9hdHRhY2hlZE92ZXJsYXlzLnB1c2gob3ZlcmxheVJlZik7XG4gIH1cblxuICAvKiogUmVtb3ZlIGFuIG92ZXJsYXkgZnJvbSB0aGUgbGlzdCBvZiBhdHRhY2hlZCBvdmVybGF5IHJlZnMuICovXG4gIHJlbW92ZShvdmVybGF5UmVmOiBPdmVybGF5UmVmZXJlbmNlKTogdm9pZCB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLl9hdHRhY2hlZE92ZXJsYXlzLmluZGV4T2Yob3ZlcmxheVJlZik7XG5cbiAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgdGhpcy5fYXR0YWNoZWRPdmVybGF5cy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSB0aGUgZ2xvYmFsIGxpc3RlbmVyIG9uY2UgdGhlcmUgYXJlIG5vIG1vcmUgb3ZlcmxheXMuXG4gICAgaWYgKHRoaXMuX2F0dGFjaGVkT3ZlcmxheXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLl9kZXRhY2goKTtcbiAgICB9XG4gIH1cblxuICAvKiogRGV0YWNoZXMgdGhlIGdsb2JhbCBrZXlib2FyZCBldmVudCBsaXN0ZW5lci4gKi9cbiAgcHJpdmF0ZSBfZGV0YWNoKCkge1xuICAgIGlmICh0aGlzLl9pc0F0dGFjaGVkKSB7XG4gICAgICB0aGlzLl9kb2N1bWVudC5ib2R5LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLl9rZXlkb3duTGlzdGVuZXIpO1xuICAgICAgdGhpcy5faXNBdHRhY2hlZCA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBLZXlib2FyZCBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgYXR0YWNoZWQgdG8gdGhlIGJvZHkuICovXG4gIHByaXZhdGUgX2tleWRvd25MaXN0ZW5lciA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgIGNvbnN0IG92ZXJsYXlzID0gdGhpcy5fYXR0YWNoZWRPdmVybGF5cztcblxuICAgIGZvciAobGV0IGkgPSBvdmVybGF5cy5sZW5ndGggLSAxOyBpID4gLTE7IGktLSkge1xuICAgICAgLy8gRGlzcGF0Y2ggdGhlIGtleWRvd24gZXZlbnQgdG8gdGhlIHRvcCBvdmVybGF5IHdoaWNoIGhhcyBzdWJzY3JpYmVycyB0byBpdHMga2V5ZG93biBldmVudHMuXG4gICAgICAvLyBXZSB3YW50IHRvIHRhcmdldCB0aGUgbW9zdCByZWNlbnQgb3ZlcmxheSwgcmF0aGVyIHRoYW4gdHJ5aW5nIHRvIG1hdGNoIHdoZXJlIHRoZSBldmVudCBjYW1lXG4gICAgICAvLyBmcm9tLCBiZWNhdXNlIHNvbWUgY29tcG9uZW50cyBtaWdodCBvcGVuIGFuIG92ZXJsYXksIGJ1dCBrZWVwIGZvY3VzIG9uIGEgdHJpZ2dlciBlbGVtZW50XG4gICAgICAvLyAoZS5nLiBmb3Igc2VsZWN0IGFuZCBhdXRvY29tcGxldGUpLiBXZSBza2lwIG92ZXJsYXlzIHdpdGhvdXQga2V5ZG93biBldmVudCBzdWJzY3JpcHRpb25zLFxuICAgICAgLy8gYmVjYXVzZSB3ZSBkb24ndCB3YW50IG92ZXJsYXlzIHRoYXQgZG9uJ3QgaGFuZGxlIGtleWJvYXJkIGV2ZW50cyB0byBibG9jayB0aGUgb25lcyBiZWxvd1xuICAgICAgLy8gdGhlbSB0aGF0IGRvLlxuICAgICAgaWYgKG92ZXJsYXlzW2ldLl9rZXlkb3duRXZlbnRzLm9ic2VydmVycy5sZW5ndGggPiAwKSB7XG4gICAgICAgIG92ZXJsYXlzW2ldLl9rZXlkb3duRXZlbnRzLm5leHQoZXZlbnQpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vKiogQGRvY3MtcHJpdmF0ZSBAZGVwcmVjYXRlZCBAYnJlYWtpbmctY2hhbmdlIDguMC4wICovXG5leHBvcnQgZnVuY3Rpb24gT1ZFUkxBWV9LRVlCT0FSRF9ESVNQQVRDSEVSX1BST1ZJREVSX0ZBQ1RPUlkoXG4gICAgZGlzcGF0Y2hlcjogT3ZlcmxheUtleWJvYXJkRGlzcGF0Y2hlciwgX2RvY3VtZW50OiBhbnkpIHtcbiAgcmV0dXJuIGRpc3BhdGNoZXIgfHwgbmV3IE92ZXJsYXlLZXlib2FyZERpc3BhdGNoZXIoX2RvY3VtZW50KTtcbn1cblxuLyoqIEBkb2NzLXByaXZhdGUgQGRlcHJlY2F0ZWQgQGJyZWFraW5nLWNoYW5nZSA4LjAuMCAqL1xuZXhwb3J0IGNvbnN0IE9WRVJMQVlfS0VZQk9BUkRfRElTUEFUQ0hFUl9QUk9WSURFUiA9IHtcbiAgLy8gSWYgdGhlcmUgaXMgYWxyZWFkeSBhbiBPdmVybGF5S2V5Ym9hcmREaXNwYXRjaGVyIGF2YWlsYWJsZSwgdXNlIHRoYXQuXG4gIC8vIE90aGVyd2lzZSwgcHJvdmlkZSBhIG5ldyBvbmUuXG4gIHByb3ZpZGU6IE92ZXJsYXlLZXlib2FyZERpc3BhdGNoZXIsXG4gIGRlcHM6IFtcbiAgICBbbmV3IE9wdGlvbmFsKCksIG5ldyBTa2lwU2VsZigpLCBPdmVybGF5S2V5Ym9hcmREaXNwYXRjaGVyXSxcblxuICAgIC8vIENvZXJjZSB0byBgSW5qZWN0aW9uVG9rZW5gIHNvIHRoYXQgdGhlIGBkZXBzYCBtYXRjaCB0aGUgXCJzaGFwZVwiXG4gICAgLy8gb2YgdGhlIHR5cGUgZXhwZWN0ZWQgYnkgQW5ndWxhclxuICAgIERPQ1VNRU5UIGFzIEluamVjdGlvblRva2VuPGFueT5cbiAgXSxcbiAgdXNlRmFjdG9yeTogT1ZFUkxBWV9LRVlCT0FSRF9ESVNQQVRDSEVSX1BST1ZJREVSX0ZBQ1RPUllcbn07XG4iXX0=