@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,"exports":[{"export":[{"name":"CdkScrollable","as":"CdkScrollable"},{"name":"ScrollDispatcher","as":"ScrollDispatcher"},{"name":"ViewportRuler","as":"ViewportRuler"}],"from":"@angular/cdk/scrolling"},{"export":[{"name":"ComponentType","as":"ComponentType"}],"from":"@angular/cdk/portal"}],"metadata":{"OverlayConfig":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"OverlayConfig"}]}]}},"HorizontalConnectionPos":{"__symbolic":"interface"},"VerticalConnectionPos":{"__symbolic":"interface"},"OriginConnectionPosition":{"__symbolic":"interface"},"OverlayConnectionPosition":{"__symbolic":"interface"},"ConnectionPositionPair":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"string"}]}]}},"ScrollingVisibility":{"__symbolic":"class","members":{}},"ConnectedOverlayPositionChange":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":94,"character":7}}]],"parameters":[{"__symbolic":"reference","name":"ConnectionPositionPair"},{"__symbolic":"reference","name":"ScrollingVisibility"}]}]}},"validateVerticalPosition":{"__symbolic":"function"},"validateHorizontalPosition":{"__symbolic":"function"},"ScrollStrategy":{"__symbolic":"interface"},"ScrollStrategyOptions":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":26,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":34,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":34,"character":12}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/cdk/scrolling","name":"ScrollDispatcher","line":31,"character":31},{"__symbolic":"reference","module":"@angular/cdk/scrolling","name":"ViewportRuler","line":32,"character":28},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":33,"character":21},{"__symbolic":"reference","name":"any"}]}]},"statics":{"ɵprov":{}}},"RepositionScrollStrategy":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/cdk/scrolling","name":"ScrollDispatcher","line":34,"character":31},{"__symbolic":"reference","module":"@angular/cdk/scrolling","name":"ViewportRuler","line":35,"character":28},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":36,"character":21},{"__symbolic":"reference","name":"any"}]}],"attach":[{"__symbolic":"method"}],"enable":[{"__symbolic":"method"}],"disable":[{"__symbolic":"method"}],"detach":[{"__symbolic":"method"}]}},"RepositionScrollStrategyConfig":{"__symbolic":"interface"},"CloseScrollStrategy":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/cdk/scrolling","name":"ScrollDispatcher","line":30,"character":31},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":31,"character":21},{"__symbolic":"reference","module":"@angular/cdk/scrolling","name":"ViewportRuler","line":32,"character":28},{"__symbolic":"reference","name":"any"}]}],"attach":[{"__symbolic":"method"}],"enable":[{"__symbolic":"method"}],"disable":[{"__symbolic":"method"}],"detach":[{"__symbolic":"method"}]}},"NoopScrollStrategy":{"__symbolic":"class","members":{"enable":[{"__symbolic":"method"}],"disable":[{"__symbolic":"method"}],"attach":[{"__symbolic":"method"}]}},"BlockScrollStrategy":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/cdk/scrolling","name":"ViewportRuler","line":28,"character":38},{"__symbolic":"reference","name":"any"}]}],"attach":[{"__symbolic":"method"}],"enable":[{"__symbolic":"method"}],"disable":[{"__symbolic":"method"}],"_canBeEnabled":[{"__symbolic":"method"}]}},"OverlayModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":23,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/cdk/bidi","name":"BidiModule","line":24,"character":12},{"__symbolic":"reference","module":"@angular/cdk/portal","name":"PortalModule","line":24,"character":24},{"__symbolic":"reference","module":"@angular/cdk/scrolling","name":"ScrollingModule","line":24,"character":38}],"exports":[{"__symbolic":"reference","name":"CdkConnectedOverlay"},{"__symbolic":"reference","name":"CdkOverlayOrigin"},{"__symbolic":"reference","module":"@angular/cdk/scrolling","name":"ScrollingModule","line":25,"character":51}],"declarations":[{"__symbolic":"reference","name":"CdkConnectedOverlay"},{"__symbolic":"reference","name":"CdkOverlayOrigin"}],"providers":[{"__symbolic":"reference","name":"Overlay"},{"__symbolic":"reference","name":"ɵangular_material_src_cdk_overlay_overlay_e"}]}]}],"members":{}},"OVERLAY_PROVIDERS":[{"__symbolic":"reference","name":"Overlay"},{"__symbolic":"reference","name":"OverlayPositionBuilder"},{"__symbolic":"reference","name":"ɵangular_material_src_cdk_overlay_overlay_g"},{"__symbolic":"reference","name":"ɵangular_material_src_cdk_overlay_overlay_b"},{"__symbolic":"reference","name":"ɵangular_material_src_cdk_overlay_overlay_e"}],"Overlay":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":42,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,null,null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":55,"character":15},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":55,"character":22}]}],null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":58,"character":15}}]],"parameters":[{"__symbolic":"reference","name":"ScrollStrategyOptions"},{"__symbolic":"reference","name":"OverlayContainer"},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":50,"character":49},{"__symbolic":"reference","name":"OverlayPositionBuilder"},{"__symbolic":"reference","name":"OverlayKeyboardDispatcher"},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":53,"character":33},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":54,"character":31},{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","module":"@angular/cdk/bidi","name":"Directionality","line":56,"character":39},{"__symbolic":"reference","module":"@angular/common","name":"Location","line":58,"character":46}]}],"create":[{"__symbolic":"method"}],"position":[{"__symbolic":"method"}],"_createPaneElement":[{"__symbolic":"method"}],"_createHostElement":[{"__symbolic":"method"}],"_createPortalOutlet":[{"__symbolic":"method"}]}},"ɵangular_material_src_cdk_overlay_overlay_a":{"__symbolic":"function","parameters":["parentContainer","_document"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"reference","name":"parentContainer"},"right":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"OverlayContainer"},"arguments":[{"__symbolic":"reference","name":"_document"}]}}},"ɵangular_material_src_cdk_overlay_overlay_b":{"provide":{"__symbolic":"reference","name":"OverlayContainer"},"deps":[[{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":120,"character":9}},{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"SkipSelf","line":120,"character":25}},{"__symbolic":"reference","name":"OverlayContainer"}],{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":121,"character":4}],"useFactory":{"__symbolic":"reference","name":"ɵangular_material_src_cdk_overlay_overlay_a"}},"OverlayContainer":{"__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":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":33,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":33,"character":12}]}],null],"parameters":[{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","module":"@angular/cdk/platform","name":"Platform","line":38,"character":26}]}],"ngOnDestroy":[{"__symbolic":"method"}],"getContainerElement":[{"__symbolic":"method"}],"_createContainer":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵangular_material_src_cdk_overlay_overlay_c":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":73,"character":8},"arguments":["cdk-connected-overlay-scroll-strategy"]},"ɵangular_material_src_cdk_overlay_overlay_d":{"__symbolic":"function","parameters":["overlay"],"value":{"__symbolic":"error","message":"Lambda not supported","line":408,"character":9,"module":"./overlay-directives"}},"ɵangular_material_src_cdk_overlay_overlay_e":{"provide":{"__symbolic":"reference","name":"ɵangular_material_src_cdk_overlay_overlay_c"},"deps":[{"__symbolic":"reference","name":"Overlay"}],"useFactory":{"__symbolic":"reference","name":"ɵangular_material_src_cdk_overlay_overlay_d"}},"CdkOverlayOrigin":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":85,"character":1},"arguments":[{"selector":"[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]","exportAs":"cdkOverlayOrigin"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":92,"character":25}]}]}},"CdkConnectedOverlay":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":100,"character":1},"arguments":[{"selector":"[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]","exportAs":"cdkConnectedOverlay"}]}],"members":{"origin":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":119,"character":3},"arguments":["cdkConnectedOverlayOrigin"]}]}],"positions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":122,"character":3},"arguments":["cdkConnectedOverlayPositions"]}]}],"positionStrategy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":128,"character":3},"arguments":["cdkConnectedOverlayPositionStrategy"]}]}],"offsetX":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":131,"character":3},"arguments":["cdkConnectedOverlayOffsetX"]}]}],"offsetY":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":142,"character":3},"arguments":["cdkConnectedOverlayOffsetY"]}]}],"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":153,"character":3},"arguments":["cdkConnectedOverlayWidth"]}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":156,"character":3},"arguments":["cdkConnectedOverlayHeight"]}]}],"minWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":159,"character":3},"arguments":["cdkConnectedOverlayMinWidth"]}]}],"minHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":162,"character":3},"arguments":["cdkConnectedOverlayMinHeight"]}]}],"backdropClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":165,"character":3},"arguments":["cdkConnectedOverlayBackdropClass"]}]}],"panelClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":168,"character":3},"arguments":["cdkConnectedOverlayPanelClass"]}]}],"viewportMargin":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":171,"character":3},"arguments":["cdkConnectedOverlayViewportMargin"]}]}],"scrollStrategy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":174,"character":3},"arguments":["cdkConnectedOverlayScrollStrategy"]}]}],"open":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":177,"character":3},"arguments":["cdkConnectedOverlayOpen"]}]}],"transformOriginSelector":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":180,"character":3},"arguments":["cdkConnectedOverlayTransformOriginOn"]}]}],"hasBackdrop":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":183,"character":3},"arguments":["cdkConnectedOverlayHasBackdrop"]}]}],"lockPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":188,"character":3},"arguments":["cdkConnectedOverlayLockPosition"]}]}],"flexibleDimensions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":193,"character":3},"arguments":["cdkConnectedOverlayFlexibleDimensions"]}]}],"growAfterOpen":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":200,"character":3},"arguments":["cdkConnectedOverlayGrowAfterOpen"]}]}],"push":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":205,"character":3},"arguments":["cdkConnectedOverlayPush"]}]}],"backdropClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":210,"character":3}}]}],"positionChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":213,"character":3}}]}],"attach":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":216,"character":3}}]}],"detach":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":219,"character":3}}]}],"overlayKeydown":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":222,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":230,"character":7},"arguments":[{"__symbolic":"reference","name":"ɵangular_material_src_cdk_overlay_overlay_c"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":231,"character":7}}]],"parameters":[{"__symbolic":"reference","name":"Overlay"},{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"any"}]},{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":229,"character":24},{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","module":"@angular/cdk/bidi","name":"Directionality","line":231,"character":32}]}],"ngOnDestroy":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"_createOverlay":[{"__symbolic":"method"}],"_buildConfig":[{"__symbolic":"method"}],"_updatePositionStrategy":[{"__symbolic":"method"}],"_createPositionStrategy":[{"__symbolic":"method"}],"_attachOverlay":[{"__symbolic":"method"}],"_detachOverlay":[{"__symbolic":"method"}]}},"FullscreenOverlayContainer":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"OverlayContainer"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":21,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":27,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":27,"character":12}]}],null],"parameters":[{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","module":"@angular/cdk/platform","name":"Platform","line":32,"character":15}]}],"ngOnDestroy":[{"__symbolic":"method"}],"_createContainer":[{"__symbolic":"method"}],"_adjustParentForFullscreenChange":[{"__symbolic":"method"}],"_addFullscreenChangeListener":[{"__symbolic":"method"}],"_getEventName":[{"__symbolic":"method"}],"getFullscreenElement":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"OverlayRef":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/cdk/portal","name":"PortalOutlet","line":51,"character":29},{"__symbolic":"error","message":"Could not resolve type","line":52,"character":21,"context":{"typeName":"HTMLElement"},"module":"./overlay-ref"},{"__symbolic":"error","message":"Could not resolve type","line":53,"character":21,"context":{"typeName":"HTMLElement"},"module":"./overlay-ref"},{"__symbolic":"error","message":"Could not resolve type","line":54,"character":23,"context":{"typeName":"ImmutableObject"},"module":"./overlay-ref"},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":55,"character":23},{"__symbolic":"reference","name":"OverlayKeyboardDispatcher"},{"__symbolic":"error","message":"Could not resolve type","line":57,"character":25,"context":{"typeName":"Document"},"module":"./overlay-ref"},{"__symbolic":"reference","module":"@angular/common","name":"Location","line":59,"character":26}]}],"attach":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"detach":[{"__symbolic":"method"}],"dispose":[{"__symbolic":"method"}],"hasAttached":[{"__symbolic":"method"}],"backdropClick":[{"__symbolic":"method"}],"attachments":[{"__symbolic":"method"}],"detachments":[{"__symbolic":"method"}],"keydownEvents":[{"__symbolic":"method"}],"getConfig":[{"__symbolic":"method"}],"updatePosition":[{"__symbolic":"method"}],"updatePositionStrategy":[{"__symbolic":"method"}],"updateSize":[{"__symbolic":"method"}],"setDirection":[{"__symbolic":"method"}],"addPanelClass":[{"__symbolic":"method"}],"removePanelClass":[{"__symbolic":"method"}],"getDirection":[{"__symbolic":"method"}],"updateScrollStrategy":[{"__symbolic":"method"}],"_updateElementDirection":[{"__symbolic":"method"}],"_updateElementSize":[{"__symbolic":"method"}],"_togglePointerEvents":[{"__symbolic":"method"}],"_attachBackdrop":[{"__symbolic":"method"}],"_updateStackingOrder":[{"__symbolic":"method"}],"detachBackdrop":[{"__symbolic":"method"}],"_toggleClasses":[{"__symbolic":"method"}],"_detachContentWhenStable":[{"__symbolic":"method"}],"_disposeScrollStrategy":[{"__symbolic":"method"}]}},"OverlaySizeConfig":{"__symbolic":"interface"},"ɵangular_material_src_cdk_overlay_overlay_f":{"__symbolic":"function","parameters":["dispatcher","_document"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"reference","name":"dispatcher"},"right":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"OverlayKeyboardDispatcher"},"arguments":[{"__symbolic":"reference","name":"_document"}]}}},"ɵangular_material_src_cdk_overlay_overlay_g":{"provide":{"__symbolic":"reference","name":"OverlayKeyboardDispatcher"},"deps":[[{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":110,"character":9}},{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"SkipSelf","line":110,"character":25}},{"__symbolic":"reference","name":"OverlayKeyboardDispatcher"}],{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":114,"character":4}],"useFactory":{"__symbolic":"reference","name":"ɵangular_material_src_cdk_overlay_overlay_f"}},"OverlayKeyboardDispatcher":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":25,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":34,"character":15},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":34,"character":22}]}]],"parameters":[{"__symbolic":"reference","name":"any"}]}],"ngOnDestroy":[{"__symbolic":"method"}],"add":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"_detach":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"OverlayPositionBuilder":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":25,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":28,"character":46},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":28,"character":53}]}],null,null],"parameters":[{"__symbolic":"reference","module":"@angular/cdk/scrolling","name":"ViewportRuler","line":28,"character":30},{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","module":"@angular/cdk/platform","name":"Platform","line":29,"character":25},{"__symbolic":"reference","name":"OverlayContainer"}]}],"global":[{"__symbolic":"method"}],"connectedTo":[{"__symbolic":"method"}],"flexibleConnectedTo":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"PositionStrategy":{"__symbolic":"interface"},"GlobalPositionStrategy":{"__symbolic":"class","members":{"attach":[{"__symbolic":"method"}],"top":[{"__symbolic":"method"}],"left":[{"__symbolic":"method"}],"bottom":[{"__symbolic":"method"}],"right":[{"__symbolic":"method"}],"width":[{"__symbolic":"method"}],"height":[{"__symbolic":"method"}],"centerHorizontally":[{"__symbolic":"method"}],"centerVertically":[{"__symbolic":"method"}],"apply":[{"__symbolic":"method"}],"dispose":[{"__symbolic":"method"}]}},"ConnectedPositionStrategy":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"OriginConnectionPosition"},{"__symbolic":"reference","name":"OverlayConnectionPosition"},{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":62,"character":30,"context":{"typeName":"HTMLElement"},"module":"./position/connected-position-strategy"}]},{"__symbolic":"reference","module":"@angular/cdk/scrolling","name":"ViewportRuler","line":62,"character":59},{"__symbolic":"error","message":"Could not resolve type","line":62,"character":84,"context":{"typeName":"Document"},"module":"./position/connected-position-strategy"},{"__symbolic":"reference","module":"@angular/cdk/platform","name":"Platform","line":63,"character":16},{"__symbolic":"reference","name":"OverlayContainer"}]}],"attach":[{"__symbolic":"method"}],"dispose":[{"__symbolic":"method"}],"detach":[{"__symbolic":"method"}],"apply":[{"__symbolic":"method"}],"recalculateLastPosition":[{"__symbolic":"method"}],"withScrollableContainers":[{"__symbolic":"method"}],"withFallbackPosition":[{"__symbolic":"method"}],"withDirection":[{"__symbolic":"method"}],"withOffsetX":[{"__symbolic":"method"}],"withOffsetY":[{"__symbolic":"method"}],"withLockedPosition":[{"__symbolic":"method"}],"withPositions":[{"__symbolic":"method"}],"setOrigin":[{"__symbolic":"method"}]}},"ConnectedPosition":{"__symbolic":"interface"},"FlexibleConnectedPositionStrategy":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":139,"character":19,"context":{"typeName":"FlexibleConnectedPositionStrategyOrigin"},"module":"./position/flexible-connected-position-strategy"},{"__symbolic":"reference","module":"@angular/cdk/scrolling","name":"ViewportRuler","line":139,"character":84},{"__symbolic":"error","message":"Could not resolve type","line":140,"character":25,"context":{"typeName":"Document"},"module":"./position/flexible-connected-position-strategy"},{"__symbolic":"reference","module":"@angular/cdk/platform","name":"Platform","line":140,"character":54},{"__symbolic":"reference","name":"OverlayContainer"}]}],"attach":[{"__symbolic":"method"}],"apply":[{"__symbolic":"method"}],"detach":[{"__symbolic":"method"}],"dispose":[{"__symbolic":"method"}],"reapplyLastPosition":[{"__symbolic":"method"}],"withScrollableContainers":[{"__symbolic":"method"}],"withPositions":[{"__symbolic":"method"}],"withViewportMargin":[{"__symbolic":"method"}],"withFlexibleDimensions":[{"__symbolic":"method"}],"withGrowAfterOpen":[{"__symbolic":"method"}],"withPush":[{"__symbolic":"method"}],"withLockedPosition":[{"__symbolic":"method"}],"setOrigin":[{"__symbolic":"method"}],"withDefaultOffsetX":[{"__symbolic":"method"}],"withDefaultOffsetY":[{"__symbolic":"method"}],"withTransformOriginOn":[{"__symbolic":"method"}],"_getOriginPoint":[{"__symbolic":"method"}],"_getOverlayPoint":[{"__symbolic":"method"}],"_getOverlayFit":[{"__symbolic":"method"}],"_canFitWithFlexibleDimensions":[{"__symbolic":"method"}],"_pushOverlayOnScreen":[{"__symbolic":"method"}],"_applyPosition":[{"__symbolic":"method"}],"_setTransformOrigin":[{"__symbolic":"method"}],"_calculateBoundingBoxRect":[{"__symbolic":"method"}],"_setBoundingBoxStyles":[{"__symbolic":"method"}],"_resetBoundingBoxStyles":[{"__symbolic":"method"}],"_resetOverlayElementStyles":[{"__symbolic":"method"}],"_setOverlayElementStyles":[{"__symbolic":"method"}],"_getExactOverlayY":[{"__symbolic":"method"}],"_getExactOverlayX":[{"__symbolic":"method"}],"_getScrollVisibility":[{"__symbolic":"method"}],"_subtractOverflows":[{"__symbolic":"method"}],"_getNarrowedViewportRect":[{"__symbolic":"method"}],"_isRtl":[{"__symbolic":"method"}],"_hasExactPosition":[{"__symbolic":"method"}],"_getOffset":[{"__symbolic":"method"}],"_validatePositions":[{"__symbolic":"method"}],"_addPanelClasses":[{"__symbolic":"method"}],"_clearPanelClasses":[{"__symbolic":"method"}],"_getOriginRect":[{"__symbolic":"method"}]}},"FlexibleConnectedPositionStrategyOrigin":{"__symbolic":"interface"}},"origins":{"OverlayConfig":"./overlay-config","HorizontalConnectionPos":"./position/connected-position","VerticalConnectionPos":"./position/connected-position","OriginConnectionPosition":"./position/connected-position","OverlayConnectionPosition":"./position/connected-position","ConnectionPositionPair":"./position/connected-position","ScrollingVisibility":"./position/connected-position","ConnectedOverlayPositionChange":"./position/connected-position","validateVerticalPosition":"./position/connected-position","validateHorizontalPosition":"./position/connected-position","ScrollStrategy":"./scroll/scroll-strategy","ScrollStrategyOptions":"./scroll/scroll-strategy-options","RepositionScrollStrategy":"./scroll/reposition-scroll-strategy","RepositionScrollStrategyConfig":"./scroll/reposition-scroll-strategy","CloseScrollStrategy":"./scroll/close-scroll-strategy","NoopScrollStrategy":"./scroll/noop-scroll-strategy","BlockScrollStrategy":"./scroll/block-scroll-strategy","OverlayModule":"./overlay-module","OVERLAY_PROVIDERS":"./overlay-module","Overlay":"./overlay","ɵangular_material_src_cdk_overlay_overlay_a":"./overlay-container","ɵangular_material_src_cdk_overlay_overlay_b":"./overlay-container","OverlayContainer":"./overlay-container","ɵangular_material_src_cdk_overlay_overlay_c":"./overlay-directives","ɵangular_material_src_cdk_overlay_overlay_d":"./overlay-directives","ɵangular_material_src_cdk_overlay_overlay_e":"./overlay-directives","CdkOverlayOrigin":"./overlay-directives","CdkConnectedOverlay":"./overlay-directives","FullscreenOverlayContainer":"./fullscreen-overlay-container","OverlayRef":"./overlay-ref","OverlaySizeConfig":"./overlay-ref","ɵangular_material_src_cdk_overlay_overlay_f":"./keyboard/overlay-keyboard-dispatcher","ɵangular_material_src_cdk_overlay_overlay_g":"./keyboard/overlay-keyboard-dispatcher","OverlayKeyboardDispatcher":"./keyboard/overlay-keyboard-dispatcher","OverlayPositionBuilder":"./position/overlay-position-builder","PositionStrategy":"./position/position-strategy","GlobalPositionStrategy":"./position/global-position-strategy","ConnectedPositionStrategy":"./position/connected-position-strategy","ConnectedPosition":"./position/flexible-connected-position-strategy","FlexibleConnectedPositionStrategy":"./position/flexible-connected-position-strategy","FlexibleConnectedPositionStrategyOrigin":"./position/flexible-connected-position-strategy"},"importAs":"@angular/cdk/overlay"}
1
+ {"__symbolic":"module","version":4,"exports":[{"export":[{"name":"CdkScrollable","as":"CdkScrollable"},{"name":"ScrollDispatcher","as":"ScrollDispatcher"},{"name":"ViewportRuler","as":"ViewportRuler"}],"from":"@angular/cdk/scrolling"},{"export":[{"name":"ComponentType","as":"ComponentType"}],"from":"@angular/cdk/portal"}],"metadata":{"OverlayConfig":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"OverlayConfig"}]}]}},"HorizontalConnectionPos":{"__symbolic":"interface"},"VerticalConnectionPos":{"__symbolic":"interface"},"OriginConnectionPosition":{"__symbolic":"interface"},"OverlayConnectionPosition":{"__symbolic":"interface"},"ConnectionPositionPair":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"string"}]}]}},"ScrollingVisibility":{"__symbolic":"class","members":{}},"ConnectedOverlayPositionChange":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":94,"character":7}}]],"parameters":[{"__symbolic":"reference","name":"ConnectionPositionPair"},{"__symbolic":"reference","name":"ScrollingVisibility"}]}]}},"validateVerticalPosition":{"__symbolic":"function"},"validateHorizontalPosition":{"__symbolic":"function"},"ScrollStrategy":{"__symbolic":"interface"},"ScrollStrategyOptions":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":26,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":34,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":34,"character":12}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/cdk/scrolling","name":"ScrollDispatcher","line":31,"character":31},{"__symbolic":"reference","module":"@angular/cdk/scrolling","name":"ViewportRuler","line":32,"character":28},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":33,"character":21},{"__symbolic":"reference","name":"any"}]}]},"statics":{"ɵprov":{}}},"RepositionScrollStrategy":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/cdk/scrolling","name":"ScrollDispatcher","line":34,"character":31},{"__symbolic":"reference","module":"@angular/cdk/scrolling","name":"ViewportRuler","line":35,"character":28},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":36,"character":21},{"__symbolic":"reference","name":"any"}]}],"attach":[{"__symbolic":"method"}],"enable":[{"__symbolic":"method"}],"disable":[{"__symbolic":"method"}],"detach":[{"__symbolic":"method"}]}},"RepositionScrollStrategyConfig":{"__symbolic":"interface"},"CloseScrollStrategy":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/cdk/scrolling","name":"ScrollDispatcher","line":30,"character":31},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":31,"character":21},{"__symbolic":"reference","module":"@angular/cdk/scrolling","name":"ViewportRuler","line":32,"character":28},{"__symbolic":"reference","name":"any"}]}],"attach":[{"__symbolic":"method"}],"enable":[{"__symbolic":"method"}],"disable":[{"__symbolic":"method"}],"detach":[{"__symbolic":"method"}]}},"NoopScrollStrategy":{"__symbolic":"class","members":{"enable":[{"__symbolic":"method"}],"disable":[{"__symbolic":"method"}],"attach":[{"__symbolic":"method"}]}},"BlockScrollStrategy":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/cdk/scrolling","name":"ViewportRuler","line":28,"character":38},{"__symbolic":"reference","name":"any"}]}],"attach":[{"__symbolic":"method"}],"enable":[{"__symbolic":"method"}],"disable":[{"__symbolic":"method"}],"_canBeEnabled":[{"__symbolic":"method"}]}},"OverlayModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":23,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/cdk/bidi","name":"BidiModule","line":24,"character":12},{"__symbolic":"reference","module":"@angular/cdk/portal","name":"PortalModule","line":24,"character":24},{"__symbolic":"reference","module":"@angular/cdk/scrolling","name":"ScrollingModule","line":24,"character":38}],"exports":[{"__symbolic":"reference","name":"CdkConnectedOverlay"},{"__symbolic":"reference","name":"CdkOverlayOrigin"},{"__symbolic":"reference","module":"@angular/cdk/scrolling","name":"ScrollingModule","line":25,"character":51}],"declarations":[{"__symbolic":"reference","name":"CdkConnectedOverlay"},{"__symbolic":"reference","name":"CdkOverlayOrigin"}],"providers":[{"__symbolic":"reference","name":"Overlay"},{"__symbolic":"reference","name":"ɵangular_material_src_cdk_overlay_overlay_g"}]}]}],"members":{}},"OVERLAY_PROVIDERS":[{"__symbolic":"reference","name":"Overlay"},{"__symbolic":"reference","name":"OverlayPositionBuilder"},{"__symbolic":"reference","name":"ɵangular_material_src_cdk_overlay_overlay_b"},{"__symbolic":"reference","name":"ɵangular_material_src_cdk_overlay_overlay_d"},{"__symbolic":"reference","name":"ɵangular_material_src_cdk_overlay_overlay_g"}],"ɵangular_material_src_cdk_overlay_overlay_a":{"__symbolic":"function","parameters":["dispatcher","_document"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"reference","name":"dispatcher"},"right":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"OverlayKeyboardDispatcher"},"arguments":[{"__symbolic":"reference","name":"_document"}]}}},"ɵangular_material_src_cdk_overlay_overlay_b":{"provide":{"__symbolic":"reference","name":"OverlayKeyboardDispatcher"},"deps":[[{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":83,"character":9}},{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"SkipSelf","line":83,"character":25}},{"__symbolic":"reference","name":"OverlayKeyboardDispatcher"}],{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":87,"character":4}],"useFactory":{"__symbolic":"reference","name":"ɵangular_material_src_cdk_overlay_overlay_a"}},"OverlayOutsideClickDispatcher":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵangular_material_src_cdk_overlay_overlay_h"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":19,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":24,"character":15},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":24,"character":22}]}],null],"parameters":[{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","module":"@angular/cdk/platform","name":"Platform","line":24,"character":66}]}],"add":[{"__symbolic":"method"}],"detach":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"OverlayKeyboardDispatcher":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵangular_material_src_cdk_overlay_overlay_h"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":25,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":28,"character":15},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":28,"character":22}]}]],"parameters":[{"__symbolic":"reference","name":"any"}]}],"add":[{"__symbolic":"method"}],"detach":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"Overlay":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":43,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,null,null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":56,"character":15},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":56,"character":22}]}],null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":59,"character":15}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":61,"character":15}}]],"parameters":[{"__symbolic":"reference","name":"ScrollStrategyOptions"},{"__symbolic":"reference","name":"OverlayContainer"},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":51,"character":49},{"__symbolic":"reference","name":"OverlayPositionBuilder"},{"__symbolic":"reference","name":"OverlayKeyboardDispatcher"},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":54,"character":33},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":55,"character":31},{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","module":"@angular/cdk/bidi","name":"Directionality","line":57,"character":39},{"__symbolic":"reference","module":"@angular/common","name":"Location","line":59,"character":46},{"__symbolic":"reference","name":"OverlayOutsideClickDispatcher"}]}],"create":[{"__symbolic":"method"}],"position":[{"__symbolic":"method"}],"_createPaneElement":[{"__symbolic":"method"}],"_createHostElement":[{"__symbolic":"method"}],"_createPortalOutlet":[{"__symbolic":"method"}]}},"ɵangular_material_src_cdk_overlay_overlay_c":{"__symbolic":"function","parameters":["parentContainer","_document"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"reference","name":"parentContainer"},"right":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"OverlayContainer"},"arguments":[{"__symbolic":"reference","name":"_document"}]}}},"ɵangular_material_src_cdk_overlay_overlay_d":{"provide":{"__symbolic":"reference","name":"OverlayContainer"},"deps":[[{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":120,"character":9}},{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"SkipSelf","line":120,"character":25}},{"__symbolic":"reference","name":"OverlayContainer"}],{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":121,"character":4}],"useFactory":{"__symbolic":"reference","name":"ɵangular_material_src_cdk_overlay_overlay_c"}},"OverlayContainer":{"__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":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":33,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":33,"character":12}]}],null],"parameters":[{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","module":"@angular/cdk/platform","name":"Platform","line":38,"character":26}]}],"ngOnDestroy":[{"__symbolic":"method"}],"getContainerElement":[{"__symbolic":"method"}],"_createContainer":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵangular_material_src_cdk_overlay_overlay_e":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":73,"character":8},"arguments":["cdk-connected-overlay-scroll-strategy"]},"ɵangular_material_src_cdk_overlay_overlay_f":{"__symbolic":"function","parameters":["overlay"],"value":{"__symbolic":"error","message":"Lambda not supported","line":418,"character":9,"module":"./overlay-directives"}},"ɵangular_material_src_cdk_overlay_overlay_g":{"provide":{"__symbolic":"reference","name":"ɵangular_material_src_cdk_overlay_overlay_e"},"deps":[{"__symbolic":"reference","name":"Overlay"}],"useFactory":{"__symbolic":"reference","name":"ɵangular_material_src_cdk_overlay_overlay_f"}},"CdkOverlayOrigin":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":85,"character":1},"arguments":[{"selector":"[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]","exportAs":"cdkOverlayOrigin"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":92,"character":25}]}]}},"CdkConnectedOverlay":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":100,"character":1},"arguments":[{"selector":"[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]","exportAs":"cdkConnectedOverlay"}]}],"members":{"origin":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":121,"character":3},"arguments":["cdkConnectedOverlayOrigin"]}]}],"positions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":124,"character":3},"arguments":["cdkConnectedOverlayPositions"]}]}],"positionStrategy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":130,"character":3},"arguments":["cdkConnectedOverlayPositionStrategy"]}]}],"offsetX":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":133,"character":3},"arguments":["cdkConnectedOverlayOffsetX"]}]}],"offsetY":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":144,"character":3},"arguments":["cdkConnectedOverlayOffsetY"]}]}],"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":155,"character":3},"arguments":["cdkConnectedOverlayWidth"]}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":158,"character":3},"arguments":["cdkConnectedOverlayHeight"]}]}],"minWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":161,"character":3},"arguments":["cdkConnectedOverlayMinWidth"]}]}],"minHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":164,"character":3},"arguments":["cdkConnectedOverlayMinHeight"]}]}],"backdropClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":167,"character":3},"arguments":["cdkConnectedOverlayBackdropClass"]}]}],"panelClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":170,"character":3},"arguments":["cdkConnectedOverlayPanelClass"]}]}],"viewportMargin":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":173,"character":3},"arguments":["cdkConnectedOverlayViewportMargin"]}]}],"scrollStrategy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":176,"character":3},"arguments":["cdkConnectedOverlayScrollStrategy"]}]}],"open":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":179,"character":3},"arguments":["cdkConnectedOverlayOpen"]}]}],"transformOriginSelector":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":182,"character":3},"arguments":["cdkConnectedOverlayTransformOriginOn"]}]}],"hasBackdrop":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":185,"character":3},"arguments":["cdkConnectedOverlayHasBackdrop"]}]}],"lockPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":190,"character":3},"arguments":["cdkConnectedOverlayLockPosition"]}]}],"flexibleDimensions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":195,"character":3},"arguments":["cdkConnectedOverlayFlexibleDimensions"]}]}],"growAfterOpen":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":202,"character":3},"arguments":["cdkConnectedOverlayGrowAfterOpen"]}]}],"push":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":207,"character":3},"arguments":["cdkConnectedOverlayPush"]}]}],"backdropClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":212,"character":3}}]}],"positionChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":215,"character":3}}]}],"attach":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":218,"character":3}}]}],"detach":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":221,"character":3}}]}],"overlayKeydown":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":224,"character":3}}]}],"overlayOutsideClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":227,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":235,"character":7},"arguments":[{"__symbolic":"reference","name":"ɵangular_material_src_cdk_overlay_overlay_e"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":236,"character":7}}]],"parameters":[{"__symbolic":"reference","name":"Overlay"},{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"any"}]},{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":234,"character":24},{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","module":"@angular/cdk/bidi","name":"Directionality","line":236,"character":32}]}],"ngOnDestroy":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"_createOverlay":[{"__symbolic":"method"}],"_buildConfig":[{"__symbolic":"method"}],"_updatePositionStrategy":[{"__symbolic":"method"}],"_createPositionStrategy":[{"__symbolic":"method"}],"_attachOverlay":[{"__symbolic":"method"}],"_detachOverlay":[{"__symbolic":"method"}]}},"FullscreenOverlayContainer":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"OverlayContainer"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":21,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":27,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":27,"character":12}]}],null],"parameters":[{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","module":"@angular/cdk/platform","name":"Platform","line":32,"character":15}]}],"ngOnDestroy":[{"__symbolic":"method"}],"_createContainer":[{"__symbolic":"method"}],"_adjustParentForFullscreenChange":[{"__symbolic":"method"}],"_addFullscreenChangeListener":[{"__symbolic":"method"}],"_getEventName":[{"__symbolic":"method"}],"getFullscreenElement":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"OverlayRef":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/cdk/portal","name":"PortalOutlet","line":55,"character":29},{"__symbolic":"error","message":"Could not resolve type","line":56,"character":21,"context":{"typeName":"HTMLElement"},"module":"./overlay-ref"},{"__symbolic":"error","message":"Could not resolve type","line":57,"character":21,"context":{"typeName":"HTMLElement"},"module":"./overlay-ref"},{"__symbolic":"error","message":"Could not resolve type","line":58,"character":23,"context":{"typeName":"ImmutableObject"},"module":"./overlay-ref"},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":59,"character":23},{"__symbolic":"reference","name":"OverlayKeyboardDispatcher"},{"__symbolic":"error","message":"Could not resolve type","line":61,"character":25,"context":{"typeName":"Document"},"module":"./overlay-ref"},{"__symbolic":"reference","module":"@angular/common","name":"Location","line":63,"character":26},{"__symbolic":"reference","name":"OverlayOutsideClickDispatcher"}]}],"attach":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"detach":[{"__symbolic":"method"}],"dispose":[{"__symbolic":"method"}],"hasAttached":[{"__symbolic":"method"}],"backdropClick":[{"__symbolic":"method"}],"attachments":[{"__symbolic":"method"}],"detachments":[{"__symbolic":"method"}],"keydownEvents":[{"__symbolic":"method"}],"outsidePointerEvents":[{"__symbolic":"method"}],"getConfig":[{"__symbolic":"method"}],"updatePosition":[{"__symbolic":"method"}],"updatePositionStrategy":[{"__symbolic":"method"}],"updateSize":[{"__symbolic":"method"}],"setDirection":[{"__symbolic":"method"}],"addPanelClass":[{"__symbolic":"method"}],"removePanelClass":[{"__symbolic":"method"}],"getDirection":[{"__symbolic":"method"}],"updateScrollStrategy":[{"__symbolic":"method"}],"_updateElementDirection":[{"__symbolic":"method"}],"_updateElementSize":[{"__symbolic":"method"}],"_togglePointerEvents":[{"__symbolic":"method"}],"_attachBackdrop":[{"__symbolic":"method"}],"_updateStackingOrder":[{"__symbolic":"method"}],"detachBackdrop":[{"__symbolic":"method"}],"_toggleClasses":[{"__symbolic":"method"}],"_detachContentWhenStable":[{"__symbolic":"method"}],"_disposeScrollStrategy":[{"__symbolic":"method"}]}},"OverlaySizeConfig":{"__symbolic":"interface"},"OverlayPositionBuilder":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":25,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":28,"character":46},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":28,"character":53}]}],null,null],"parameters":[{"__symbolic":"reference","module":"@angular/cdk/scrolling","name":"ViewportRuler","line":28,"character":30},{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","module":"@angular/cdk/platform","name":"Platform","line":29,"character":25},{"__symbolic":"reference","name":"OverlayContainer"}]}],"global":[{"__symbolic":"method"}],"connectedTo":[{"__symbolic":"method"}],"flexibleConnectedTo":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"PositionStrategy":{"__symbolic":"interface"},"GlobalPositionStrategy":{"__symbolic":"class","members":{"attach":[{"__symbolic":"method"}],"top":[{"__symbolic":"method"}],"left":[{"__symbolic":"method"}],"bottom":[{"__symbolic":"method"}],"right":[{"__symbolic":"method"}],"width":[{"__symbolic":"method"}],"height":[{"__symbolic":"method"}],"centerHorizontally":[{"__symbolic":"method"}],"centerVertically":[{"__symbolic":"method"}],"apply":[{"__symbolic":"method"}],"dispose":[{"__symbolic":"method"}]}},"ConnectedPositionStrategy":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"OriginConnectionPosition"},{"__symbolic":"reference","name":"OverlayConnectionPosition"},{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":62,"character":30,"context":{"typeName":"HTMLElement"},"module":"./position/connected-position-strategy"}]},{"__symbolic":"reference","module":"@angular/cdk/scrolling","name":"ViewportRuler","line":62,"character":59},{"__symbolic":"error","message":"Could not resolve type","line":62,"character":84,"context":{"typeName":"Document"},"module":"./position/connected-position-strategy"},{"__symbolic":"reference","module":"@angular/cdk/platform","name":"Platform","line":63,"character":16},{"__symbolic":"reference","name":"OverlayContainer"}]}],"attach":[{"__symbolic":"method"}],"dispose":[{"__symbolic":"method"}],"detach":[{"__symbolic":"method"}],"apply":[{"__symbolic":"method"}],"recalculateLastPosition":[{"__symbolic":"method"}],"withScrollableContainers":[{"__symbolic":"method"}],"withFallbackPosition":[{"__symbolic":"method"}],"withDirection":[{"__symbolic":"method"}],"withOffsetX":[{"__symbolic":"method"}],"withOffsetY":[{"__symbolic":"method"}],"withLockedPosition":[{"__symbolic":"method"}],"withPositions":[{"__symbolic":"method"}],"setOrigin":[{"__symbolic":"method"}]}},"ConnectedPosition":{"__symbolic":"interface"},"FlexibleConnectedPositionStrategy":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":139,"character":19,"context":{"typeName":"FlexibleConnectedPositionStrategyOrigin"},"module":"./position/flexible-connected-position-strategy"},{"__symbolic":"reference","module":"@angular/cdk/scrolling","name":"ViewportRuler","line":139,"character":84},{"__symbolic":"error","message":"Could not resolve type","line":140,"character":25,"context":{"typeName":"Document"},"module":"./position/flexible-connected-position-strategy"},{"__symbolic":"reference","module":"@angular/cdk/platform","name":"Platform","line":140,"character":54},{"__symbolic":"reference","name":"OverlayContainer"}]}],"attach":[{"__symbolic":"method"}],"apply":[{"__symbolic":"method"}],"detach":[{"__symbolic":"method"}],"dispose":[{"__symbolic":"method"}],"reapplyLastPosition":[{"__symbolic":"method"}],"withScrollableContainers":[{"__symbolic":"method"}],"withPositions":[{"__symbolic":"method"}],"withViewportMargin":[{"__symbolic":"method"}],"withFlexibleDimensions":[{"__symbolic":"method"}],"withGrowAfterOpen":[{"__symbolic":"method"}],"withPush":[{"__symbolic":"method"}],"withLockedPosition":[{"__symbolic":"method"}],"setOrigin":[{"__symbolic":"method"}],"withDefaultOffsetX":[{"__symbolic":"method"}],"withDefaultOffsetY":[{"__symbolic":"method"}],"withTransformOriginOn":[{"__symbolic":"method"}],"_getOriginPoint":[{"__symbolic":"method"}],"_getOverlayPoint":[{"__symbolic":"method"}],"_getOverlayFit":[{"__symbolic":"method"}],"_canFitWithFlexibleDimensions":[{"__symbolic":"method"}],"_pushOverlayOnScreen":[{"__symbolic":"method"}],"_applyPosition":[{"__symbolic":"method"}],"_setTransformOrigin":[{"__symbolic":"method"}],"_calculateBoundingBoxRect":[{"__symbolic":"method"}],"_setBoundingBoxStyles":[{"__symbolic":"method"}],"_resetBoundingBoxStyles":[{"__symbolic":"method"}],"_resetOverlayElementStyles":[{"__symbolic":"method"}],"_setOverlayElementStyles":[{"__symbolic":"method"}],"_getExactOverlayY":[{"__symbolic":"method"}],"_getExactOverlayX":[{"__symbolic":"method"}],"_getScrollVisibility":[{"__symbolic":"method"}],"_subtractOverflows":[{"__symbolic":"method"}],"_getNarrowedViewportRect":[{"__symbolic":"method"}],"_isRtl":[{"__symbolic":"method"}],"_hasExactPosition":[{"__symbolic":"method"}],"_getOffset":[{"__symbolic":"method"}],"_validatePositions":[{"__symbolic":"method"}],"_addPanelClasses":[{"__symbolic":"method"}],"_clearPanelClasses":[{"__symbolic":"method"}],"_getOriginRect":[{"__symbolic":"method"}]}},"FlexibleConnectedPositionStrategyOrigin":{"__symbolic":"interface"},"ɵangular_material_src_cdk_overlay_overlay_h":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":18,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":27,"character":15},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":27,"character":22}]}]],"parameters":[{"__symbolic":"reference","name":"any"}]}],"ngOnDestroy":[{"__symbolic":"method"}],"add":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"detach":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}}},"origins":{"OverlayConfig":"./overlay-config","HorizontalConnectionPos":"./position/connected-position","VerticalConnectionPos":"./position/connected-position","OriginConnectionPosition":"./position/connected-position","OverlayConnectionPosition":"./position/connected-position","ConnectionPositionPair":"./position/connected-position","ScrollingVisibility":"./position/connected-position","ConnectedOverlayPositionChange":"./position/connected-position","validateVerticalPosition":"./position/connected-position","validateHorizontalPosition":"./position/connected-position","ScrollStrategy":"./scroll/scroll-strategy","ScrollStrategyOptions":"./scroll/scroll-strategy-options","RepositionScrollStrategy":"./scroll/reposition-scroll-strategy","RepositionScrollStrategyConfig":"./scroll/reposition-scroll-strategy","CloseScrollStrategy":"./scroll/close-scroll-strategy","NoopScrollStrategy":"./scroll/noop-scroll-strategy","BlockScrollStrategy":"./scroll/block-scroll-strategy","OverlayModule":"./overlay-module","OVERLAY_PROVIDERS":"./overlay-module","ɵangular_material_src_cdk_overlay_overlay_a":"./dispatchers/overlay-keyboard-dispatcher","ɵangular_material_src_cdk_overlay_overlay_b":"./dispatchers/overlay-keyboard-dispatcher","OverlayOutsideClickDispatcher":"./dispatchers/overlay-outside-click-dispatcher","OverlayKeyboardDispatcher":"./dispatchers/overlay-keyboard-dispatcher","Overlay":"./overlay","ɵangular_material_src_cdk_overlay_overlay_c":"./overlay-container","ɵangular_material_src_cdk_overlay_overlay_d":"./overlay-container","OverlayContainer":"./overlay-container","ɵangular_material_src_cdk_overlay_overlay_e":"./overlay-directives","ɵangular_material_src_cdk_overlay_overlay_f":"./overlay-directives","ɵangular_material_src_cdk_overlay_overlay_g":"./overlay-directives","CdkOverlayOrigin":"./overlay-directives","CdkConnectedOverlay":"./overlay-directives","FullscreenOverlayContainer":"./fullscreen-overlay-container","OverlayRef":"./overlay-ref","OverlaySizeConfig":"./overlay-ref","OverlayPositionBuilder":"./position/overlay-position-builder","PositionStrategy":"./position/position-strategy","GlobalPositionStrategy":"./position/global-position-strategy","ConnectedPositionStrategy":"./position/connected-position-strategy","ConnectedPosition":"./position/flexible-connected-position-strategy","FlexibleConnectedPositionStrategy":"./position/flexible-connected-position-strategy","FlexibleConnectedPositionStrategyOrigin":"./position/flexible-connected-position-strategy","ɵangular_material_src_cdk_overlay_overlay_h":"./dispatchers/base-overlay-dispatcher"},"importAs":"@angular/cdk/overlay"}
@@ -43,5 +43,9 @@ export declare class OverlayConfig {
43
43
  * the `HashLocationStrategy`).
44
44
  */
45
45
  disposeOnNavigation?: boolean;
46
+ /**
47
+ * Array of HTML elements clicking on which should not be considered as outside click
48
+ */
49
+ excludeFromOutsideClick?: HTMLElement[];
46
50
  constructor(config?: OverlayConfig);
47
51
  }
@@ -43,6 +43,8 @@ export declare class CdkConnectedOverlay implements OnDestroy, OnChanges {
43
43
  private _flexibleDimensions;
44
44
  private _push;
45
45
  private _backdropSubscription;
46
+ private _attachSubscription;
47
+ private _detachSubscription;
46
48
  private _offsetX;
47
49
  private _offsetY;
48
50
  private _position;
@@ -107,6 +109,8 @@ export declare class CdkConnectedOverlay implements OnDestroy, OnChanges {
107
109
  detach: EventEmitter<void>;
108
110
  /** Emits when there are keyboard events that are targeted at the overlay. */
109
111
  overlayKeydown: EventEmitter<KeyboardEvent>;
112
+ /** Emits when there are mouse outside click events that are targeted at the overlay. */
113
+ overlayOutsideClick: EventEmitter<MouseEvent>;
110
114
  constructor(_overlay: Overlay, templateRef: TemplateRef<any>, viewContainerRef: ViewContainerRef, scrollStrategyFactory: any, _dir: Directionality);
111
115
  /** The associated overlay reference. */
112
116
  get overlayRef(): OverlayRef;
@@ -10,7 +10,8 @@ import { ComponentPortal, PortalOutlet, TemplatePortal } from '@angular/cdk/port
10
10
  import { ComponentRef, EmbeddedViewRef, NgZone } from '@angular/core';
11
11
  import { Location } from '@angular/common';
12
12
  import { Observable, Subject } from 'rxjs';
13
- import { OverlayKeyboardDispatcher } from './keyboard/overlay-keyboard-dispatcher';
13
+ import { OverlayKeyboardDispatcher } from './dispatchers/overlay-keyboard-dispatcher';
14
+ import { OverlayOutsideClickDispatcher } from './dispatchers/overlay-outside-click-dispatcher';
14
15
  import { OverlayConfig } from './overlay-config';
15
16
  import { OverlayReference } from './overlay-reference';
16
17
  import { PositionStrategy } from './position/position-strategy';
@@ -32,6 +33,7 @@ export declare class OverlayRef implements PortalOutlet, OverlayReference {
32
33
  private _keyboardDispatcher;
33
34
  private _document;
34
35
  private _location?;
36
+ private _outsideClickDispatcher?;
35
37
  private _backdropElement;
36
38
  private _backdropClick;
37
39
  private _attachments;
@@ -47,7 +49,9 @@ export declare class OverlayRef implements PortalOutlet, OverlayReference {
47
49
  private _previousHostParent;
48
50
  /** Stream of keydown events dispatched to this overlay. */
49
51
  _keydownEvents: Subject<KeyboardEvent>;
50
- constructor(_portalOutlet: PortalOutlet, _host: HTMLElement, _pane: HTMLElement, _config: ImmutableObject<OverlayConfig>, _ngZone: NgZone, _keyboardDispatcher: OverlayKeyboardDispatcher, _document: Document, _location?: Location | undefined);
52
+ /** Stream of mouse outside events dispatched to this overlay. */
53
+ _outsidePointerEvents: Subject<MouseEvent>;
54
+ constructor(_portalOutlet: PortalOutlet, _host: HTMLElement, _pane: HTMLElement, _config: ImmutableObject<OverlayConfig>, _ngZone: NgZone, _keyboardDispatcher: OverlayKeyboardDispatcher, _document: Document, _location?: Location | undefined, _outsideClickDispatcher?: OverlayOutsideClickDispatcher | undefined);
51
55
  /** The overlay's HTML element */
52
56
  get overlayElement(): HTMLElement;
53
57
  /** The overlay's backdrop HTML element. */
@@ -78,6 +82,8 @@ export declare class OverlayRef implements PortalOutlet, OverlayReference {
78
82
  detachments(): Observable<void>;
79
83
  /** Gets an observable of keydown events targeted to this overlay. */
80
84
  keydownEvents(): Observable<KeyboardEvent>;
85
+ /** Gets an observable of pointer events targeted outside this overlay. */
86
+ outsidePointerEvents(): Observable<MouseEvent>;
81
87
  /** Gets the current overlay configuration, which is immutable. */
82
88
  getConfig(): OverlayConfig;
83
89
  /** Updates the position of the overlay based on the position strategy. */
@@ -25,5 +25,6 @@ export interface OverlayReference {
25
25
  updatePosition: () => void;
26
26
  getDirection: () => Direction;
27
27
  setDirection: (dir: Direction | Directionality) => void;
28
+ _outsidePointerEvents: Subject<MouseEvent>;
28
29
  _keydownEvents: Subject<KeyboardEvent>;
29
30
  }
@@ -8,7 +8,8 @@
8
8
  import { Directionality } from '@angular/cdk/bidi';
9
9
  import { Location } from '@angular/common';
10
10
  import { ComponentFactoryResolver, Injector, NgZone } from '@angular/core';
11
- import { OverlayKeyboardDispatcher } from './keyboard/overlay-keyboard-dispatcher';
11
+ import { OverlayKeyboardDispatcher } from './dispatchers/overlay-keyboard-dispatcher';
12
+ import { OverlayOutsideClickDispatcher } from './dispatchers/overlay-outside-click-dispatcher';
12
13
  import { OverlayConfig } from './overlay-config';
13
14
  import { OverlayContainer } from './overlay-container';
14
15
  import { OverlayRef } from './overlay-ref';
@@ -34,10 +35,11 @@ export declare class Overlay {
34
35
  private _document;
35
36
  private _directionality;
36
37
  private _location?;
38
+ private _outsideClickDispatcher?;
37
39
  private _appRef;
38
40
  constructor(
39
41
  /** Scrolling strategies that can be used when creating an overlay. */
40
- scrollStrategies: ScrollStrategyOptions, _overlayContainer: OverlayContainer, _componentFactoryResolver: ComponentFactoryResolver, _positionBuilder: OverlayPositionBuilder, _keyboardDispatcher: OverlayKeyboardDispatcher, _injector: Injector, _ngZone: NgZone, _document: any, _directionality: Directionality, _location?: Location | undefined);
42
+ scrollStrategies: ScrollStrategyOptions, _overlayContainer: OverlayContainer, _componentFactoryResolver: ComponentFactoryResolver, _positionBuilder: OverlayPositionBuilder, _keyboardDispatcher: OverlayKeyboardDispatcher, _injector: Injector, _ngZone: NgZone, _document: any, _directionality: Directionality, _location?: Location | undefined, _outsideClickDispatcher?: OverlayOutsideClickDispatcher | undefined);
41
43
  /**
42
44
  * Creates an overlay.
43
45
  * @param config Configuration applied to the overlay.
@@ -9,6 +9,7 @@ export * from './overlay-config';
9
9
  export * from './position/connected-position';
10
10
  export * from './scroll/index';
11
11
  export * from './overlay-module';
12
+ export * from './dispatchers/index';
12
13
  export { Overlay } from './overlay';
13
14
  export { OverlayContainer } from './overlay-container';
14
15
  export { CdkOverlayOrigin, CdkConnectedOverlay } from './overlay-directives';
@@ -16,7 +17,6 @@ export { FullscreenOverlayContainer } from './fullscreen-overlay-container';
16
17
  export { OverlayRef, OverlaySizeConfig } from './overlay-ref';
17
18
  export { ViewportRuler } from '@angular/cdk/scrolling';
18
19
  export { ComponentType } from '@angular/cdk/portal';
19
- export { OverlayKeyboardDispatcher } from './keyboard/overlay-keyboard-dispatcher';
20
20
  export { OverlayPositionBuilder } from './position/overlay-position-builder';
21
21
  export { PositionStrategy } from './position/position-strategy';
22
22
  export { GlobalPositionStrategy } from './position/global-position-strategy';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/cdk",
3
- "version": "10.0.0-rc.3",
3
+ "version": "10.1.0",
4
4
  "description": "Angular Material Component Development Kit",
5
5
  "repository": {
6
6
  "type": "git",
@@ -19,8 +19,8 @@
19
19
  },
20
20
  "homepage": "https://github.com/angular/components#readme",
21
21
  "peerDependencies": {
22
- "@angular/core": "^10.0.0-0 || ^11.0.0-0",
23
- "@angular/common": "^10.0.0-0 || ^11.0.0-0"
22
+ "@angular/core": "^10.0.0 || ^11.0.0-0",
23
+ "@angular/common": "^10.0.0 || ^11.0.0-0"
24
24
  },
25
25
  "dependencies": {
26
26
  "tslib": "^2.0.0"
@@ -15,7 +15,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
15
15
  }));
16
16
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
17
  for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
18
- }
18
+ };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
20
  exports.parse5 = void 0;
21
21
  __exportStar(require("./utils"), exports);
@@ -26,6 +26,11 @@
26
26
  "description": "Updates the Angular CDK to v10",
27
27
  "factory": "./ng-update/index#updateToV10"
28
28
  },
29
+ "migration-v11": {
30
+ "version": "11.0.0-0",
31
+ "description": "Updates the Angular CDK to v11",
32
+ "factory": "./ng-update/index#updateToV11"
33
+ },
29
34
  "ng-post-update": {
30
35
  "description": "Prints out results after ng-update.",
31
36
  "factory": "./ng-update/index#postUpdate",
@@ -28,7 +28,7 @@ function default_1() {
28
28
  // In order to align the CDK version with other Angular dependencies that are setup by
29
29
  // `@schematics/angular`, we use tilde instead of caret. This is default for Angular
30
30
  // dependencies in new CLI projects.
31
- package_config_1.addPackageToPackageJson(host, '@angular/cdk', `~10.0.0-rc.3`);
31
+ package_config_1.addPackageToPackageJson(host, '@angular/cdk', `~10.1.0-next.0`);
32
32
  // Add a task to run the package manager. This is necessary because we updated the
33
33
  // workspace "package.json" file and we want lock files to reflect the new version range.
34
34
  context.addTask(new tasks_1.NodePackageInstallTask());
@@ -15,7 +15,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
15
15
  }));
16
16
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
17
  for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
18
- }
18
+ };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
20
  __exportStar(require("./attribute-selectors"), exports);
21
21
  __exportStar(require("./class-names"), exports);
@@ -7,23 +7,23 @@
7
7
  */
8
8
  import { Path } from '@angular-devkit/core';
9
9
  import { Tree, UpdateRecorder } from '@angular-devkit/schematics';
10
- import { FileSystem } from '../update-tool/file-system';
10
+ import { DirectoryEntry, FileSystem } from '../update-tool/file-system';
11
11
  /**
12
12
  * File system that leverages the virtual tree from the CLI devkit. This file
13
13
  * system is commonly used by `ng update` migrations that run as part of the
14
14
  * Angular CLI.
15
15
  */
16
- export declare class DevkitFileSystem extends FileSystem<Path> {
16
+ export declare class DevkitFileSystem extends FileSystem {
17
17
  private _tree;
18
18
  private _updateRecorderCache;
19
- private _workspaceFsPath;
20
- constructor(_tree: Tree, workspaceFsPath: string);
19
+ constructor(_tree: Tree);
21
20
  resolve(...segments: string[]): Path;
22
21
  edit(filePath: Path): UpdateRecorder;
23
22
  commitEdits(): void;
24
- exists(filePath: Path): boolean;
23
+ exists(fileOrDirPath: Path): boolean;
25
24
  overwrite(filePath: Path, content: string): void;
26
25
  create(filePath: Path, content: string): void;
27
26
  delete(filePath: Path): void;
28
27
  read(filePath: Path): string | null;
28
+ readDirectory(dirPath: Path): DirectoryEntry;
29
29
  }
@@ -9,32 +9,22 @@
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.DevkitFileSystem = void 0;
11
11
  const core_1 = require("@angular-devkit/core");
12
- const path = require("path");
13
12
  const file_system_1 = require("../update-tool/file-system");
13
+ const path = require("path");
14
14
  /**
15
15
  * File system that leverages the virtual tree from the CLI devkit. This file
16
16
  * system is commonly used by `ng update` migrations that run as part of the
17
17
  * Angular CLI.
18
18
  */
19
19
  class DevkitFileSystem extends file_system_1.FileSystem {
20
- constructor(_tree, workspaceFsPath) {
20
+ constructor(_tree) {
21
21
  super();
22
22
  this._tree = _tree;
23
23
  this._updateRecorderCache = new Map();
24
- this._workspaceFsPath = core_1.normalize(workspaceFsPath);
25
24
  }
26
25
  resolve(...segments) {
27
26
  // Note: We use `posix.resolve` as the devkit paths are using posix separators.
28
- const resolvedPath = core_1.normalize(path.posix.resolve(...segments.map(core_1.normalize)));
29
- // If the resolved path points to the workspace root, then this is an absolute disk
30
- // path and we need to compute a devkit tree relative path.
31
- if (resolvedPath.startsWith(this._workspaceFsPath)) {
32
- return core_1.relative(this._workspaceFsPath, resolvedPath);
33
- }
34
- // Otherwise we know that the path is absolute (due to the resolve), and that it
35
- // refers to an absolute devkit tree path (like `/angular.json`). We keep those
36
- // unmodified as they are already resolved workspace paths.
37
- return resolvedPath;
27
+ return core_1.normalize(path.posix.resolve('/', ...segments.map(core_1.normalize)));
38
28
  }
39
29
  edit(filePath) {
40
30
  if (this._updateRecorderCache.has(filePath)) {
@@ -48,8 +38,19 @@ class DevkitFileSystem extends file_system_1.FileSystem {
48
38
  this._updateRecorderCache.forEach(r => this._tree.commitUpdate(r));
49
39
  this._updateRecorderCache.clear();
50
40
  }
51
- exists(filePath) {
52
- return this._tree.exists(filePath);
41
+ exists(fileOrDirPath) {
42
+ // The devkit tree does not expose an API for checking whether a given
43
+ // directory exists. It throws a specific error though if a directory
44
+ // is being read as a file. We use that to check if a directory exists.
45
+ try {
46
+ return this._tree.get(fileOrDirPath) !== null;
47
+ }
48
+ catch (e) {
49
+ if (e instanceof core_1.PathIsDirectoryException) {
50
+ return true;
51
+ }
52
+ }
53
+ return false;
53
54
  }
54
55
  overwrite(filePath, content) {
55
56
  this._tree.overwrite(filePath, content);
@@ -64,6 +65,10 @@ class DevkitFileSystem extends file_system_1.FileSystem {
64
65
  const buffer = this._tree.read(filePath);
65
66
  return buffer !== null ? buffer.toString() : null;
66
67
  }
68
+ readDirectory(dirPath) {
69
+ const { subdirs: directories, subfiles: files } = this._tree.getDir(dirPath);
70
+ return { directories, files };
71
+ }
67
72
  }
68
73
  exports.DevkitFileSystem = DevkitFileSystem;
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2a2l0LWZpbGUtc3lzdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2Nkay9zY2hlbWF0aWNzL25nLXVwZGF0ZS9kZXZraXQtZmlsZS1zeXN0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBRUgsK0NBQStEO0FBRS9ELDZCQUE2QjtBQUM3Qiw0REFBc0Q7QUFFdEQ7Ozs7R0FJRztBQUNILE1BQWEsZ0JBQWlCLFNBQVEsd0JBQWdCO0lBSXBELFlBQW9CLEtBQVcsRUFBRSxlQUF1QjtRQUN0RCxLQUFLLEVBQUUsQ0FBQztRQURVLFVBQUssR0FBTCxLQUFLLENBQU07UUFIdkIseUJBQW9CLEdBQUcsSUFBSSxHQUFHLEVBQTBCLENBQUM7UUFLL0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFTLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELE9BQU8sQ0FBQyxHQUFHLFFBQWtCO1FBQzNCLCtFQUErRTtRQUMvRSxNQUFNLFlBQVksR0FBRyxnQkFBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxnQkFBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9FLG1GQUFtRjtRQUNuRiwyREFBMkQ7UUFDM0QsSUFBSSxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO1lBQ2xELE9BQU8sZUFBUSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxZQUFZLENBQUMsQ0FBQztTQUN0RDtRQUNELGdGQUFnRjtRQUNoRiwrRUFBK0U7UUFDL0UsMkRBQTJEO1FBQzNELE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFJLENBQUMsUUFBYztRQUNqQixJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDM0MsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBRSxDQUFDO1NBQ2pEO1FBQ0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDbEQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFjO1FBQ25CLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELFNBQVMsQ0FBQyxRQUFjLEVBQUUsT0FBZTtRQUN2QyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFjLEVBQUUsT0FBZTtRQUNwQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFjO1FBQ25CLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLENBQUMsUUFBYztRQUNqQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6QyxPQUFPLE1BQU0sS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3BELENBQUM7Q0FDRjtBQXpERCw0Q0F5REMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtub3JtYWxpemUsIFBhdGgsIHJlbGF0aXZlfSBmcm9tICdAYW5ndWxhci1kZXZraXQvY29yZSc7XG5pbXBvcnQge1RyZWUsIFVwZGF0ZVJlY29yZGVyfSBmcm9tICdAYW5ndWxhci1kZXZraXQvc2NoZW1hdGljcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHtGaWxlU3lzdGVtfSBmcm9tICcuLi91cGRhdGUtdG9vbC9maWxlLXN5c3RlbSc7XG5cbi8qKlxuICogRmlsZSBzeXN0ZW0gdGhhdCBsZXZlcmFnZXMgdGhlIHZpcnR1YWwgdHJlZSBmcm9tIHRoZSBDTEkgZGV2a2l0LiBUaGlzIGZpbGVcbiAqIHN5c3RlbSBpcyBjb21tb25seSB1c2VkIGJ5IGBuZyB1cGRhdGVgIG1pZ3JhdGlvbnMgdGhhdCBydW4gYXMgcGFydCBvZiB0aGVcbiAqIEFuZ3VsYXIgQ0xJLlxuICovXG5leHBvcnQgY2xhc3MgRGV2a2l0RmlsZVN5c3RlbSBleHRlbmRzIEZpbGVTeXN0ZW08UGF0aD4ge1xuICBwcml2YXRlIF91cGRhdGVSZWNvcmRlckNhY2hlID0gbmV3IE1hcDxzdHJpbmcsIFVwZGF0ZVJlY29yZGVyPigpO1xuICBwcml2YXRlIF93b3Jrc3BhY2VGc1BhdGg6IFBhdGg7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfdHJlZTogVHJlZSwgd29ya3NwYWNlRnNQYXRoOiBzdHJpbmcpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX3dvcmtzcGFjZUZzUGF0aCA9IG5vcm1hbGl6ZSh3b3Jrc3BhY2VGc1BhdGgpO1xuICB9XG5cbiAgcmVzb2x2ZSguLi5zZWdtZW50czogc3RyaW5nW10pOiBQYXRoIHtcbiAgICAvLyBOb3RlOiBXZSB1c2UgYHBvc2l4LnJlc29sdmVgIGFzIHRoZSBkZXZraXQgcGF0aHMgYXJlIHVzaW5nIHBvc2l4IHNlcGFyYXRvcnMuXG4gICAgY29uc3QgcmVzb2x2ZWRQYXRoID0gbm9ybWFsaXplKHBhdGgucG9zaXgucmVzb2x2ZSguLi5zZWdtZW50cy5tYXAobm9ybWFsaXplKSkpO1xuICAgIC8vIElmIHRoZSByZXNvbHZlZCBwYXRoIHBvaW50cyB0byB0aGUgd29ya3NwYWNlIHJvb3QsIHRoZW4gdGhpcyBpcyBhbiBhYnNvbHV0ZSBkaXNrXG4gICAgLy8gcGF0aCBhbmQgd2UgbmVlZCB0byBjb21wdXRlIGEgZGV2a2l0IHRyZWUgcmVsYXRpdmUgcGF0aC5cbiAgICBpZiAocmVzb2x2ZWRQYXRoLnN0YXJ0c1dpdGgodGhpcy5fd29ya3NwYWNlRnNQYXRoKSkge1xuICAgICAgcmV0dXJuIHJlbGF0aXZlKHRoaXMuX3dvcmtzcGFjZUZzUGF0aCwgcmVzb2x2ZWRQYXRoKTtcbiAgICB9XG4gICAgLy8gT3RoZXJ3aXNlIHdlIGtub3cgdGhhdCB0aGUgcGF0aCBpcyBhYnNvbHV0ZSAoZHVlIHRvIHRoZSByZXNvbHZlKSwgYW5kIHRoYXQgaXRcbiAgICAvLyByZWZlcnMgdG8gYW4gYWJzb2x1dGUgZGV2a2l0IHRyZWUgcGF0aCAobGlrZSBgL2FuZ3VsYXIuanNvbmApLiBXZSBrZWVwIHRob3NlXG4gICAgLy8gdW5tb2RpZmllZCBhcyB0aGV5IGFyZSBhbHJlYWR5IHJlc29sdmVkIHdvcmtzcGFjZSBwYXRocy5cbiAgICByZXR1cm4gcmVzb2x2ZWRQYXRoO1xuICB9XG5cbiAgZWRpdChmaWxlUGF0aDogUGF0aCkge1xuICAgIGlmICh0aGlzLl91cGRhdGVSZWNvcmRlckNhY2hlLmhhcyhmaWxlUGF0aCkpIHtcbiAgICAgIHJldHVybiB0aGlzLl91cGRhdGVSZWNvcmRlckNhY2hlLmdldChmaWxlUGF0aCkhO1xuICAgIH1cbiAgICBjb25zdCByZWNvcmRlciA9IHRoaXMuX3RyZWUuYmVnaW5VcGRhdGUoZmlsZVBhdGgpO1xuICAgIHRoaXMuX3VwZGF0ZVJlY29yZGVyQ2FjaGUuc2V0KGZpbGVQYXRoLCByZWNvcmRlcik7XG4gICAgcmV0dXJuIHJlY29yZGVyO1xuICB9XG5cbiAgY29tbWl0RWRpdHMoKSB7XG4gICAgdGhpcy5fdXBkYXRlUmVjb3JkZXJDYWNoZS5mb3JFYWNoKHIgPT4gdGhpcy5fdHJlZS5jb21taXRVcGRhdGUocikpO1xuICAgIHRoaXMuX3VwZGF0ZVJlY29yZGVyQ2FjaGUuY2xlYXIoKTtcbiAgfVxuXG4gIGV4aXN0cyhmaWxlUGF0aDogUGF0aCkge1xuICAgIHJldHVybiB0aGlzLl90cmVlLmV4aXN0cyhmaWxlUGF0aCk7XG4gIH1cblxuICBvdmVyd3JpdGUoZmlsZVBhdGg6IFBhdGgsIGNvbnRlbnQ6IHN0cmluZykge1xuICAgIHRoaXMuX3RyZWUub3ZlcndyaXRlKGZpbGVQYXRoLCBjb250ZW50KTtcbiAgfVxuXG4gIGNyZWF0ZShmaWxlUGF0aDogUGF0aCwgY29udGVudDogc3RyaW5nKSB7XG4gICAgdGhpcy5fdHJlZS5jcmVhdGUoZmlsZVBhdGgsIGNvbnRlbnQpO1xuICB9XG5cbiAgZGVsZXRlKGZpbGVQYXRoOiBQYXRoKSB7XG4gICAgdGhpcy5fdHJlZS5kZWxldGUoZmlsZVBhdGgpO1xuICB9XG5cbiAgcmVhZChmaWxlUGF0aDogUGF0aCkge1xuICAgIGNvbnN0IGJ1ZmZlciA9IHRoaXMuX3RyZWUucmVhZChmaWxlUGF0aCk7XG4gICAgcmV0dXJuIGJ1ZmZlciAhPT0gbnVsbCA/IGJ1ZmZlci50b1N0cmluZygpIDogbnVsbDtcbiAgfVxufVxuIl19
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2a2l0LWZpbGUtc3lzdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2Nkay9zY2hlbWF0aWNzL25nLXVwZGF0ZS9kZXZraXQtZmlsZS1zeXN0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBRUgsK0NBQStFO0FBRS9FLDREQUFzRTtBQUN0RSw2QkFBNkI7QUFFN0I7Ozs7R0FJRztBQUNILE1BQWEsZ0JBQWlCLFNBQVEsd0JBQVU7SUFHOUMsWUFBb0IsS0FBVztRQUM3QixLQUFLLEVBQUUsQ0FBQztRQURVLFVBQUssR0FBTCxLQUFLLENBQU07UUFGdkIseUJBQW9CLEdBQUcsSUFBSSxHQUFHLEVBQTBCLENBQUM7SUFJakUsQ0FBQztJQUVELE9BQU8sQ0FBQyxHQUFHLFFBQWtCO1FBQzNCLCtFQUErRTtRQUMvRSxPQUFPLGdCQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxnQkFBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxJQUFJLENBQUMsUUFBYztRQUNqQixJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDM0MsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBRSxDQUFDO1NBQ2pEO1FBQ0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDbEQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxhQUFtQjtRQUN4QixzRUFBc0U7UUFDdEUscUVBQXFFO1FBQ3JFLHVFQUF1RTtRQUN2RSxJQUFJO1lBQ0YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsS0FBSyxJQUFJLENBQUM7U0FDL0M7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLElBQUksQ0FBQyxZQUFZLCtCQUF3QixFQUFFO2dCQUN6QyxPQUFPLElBQUksQ0FBQzthQUNiO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxTQUFTLENBQUMsUUFBYyxFQUFFLE9BQWU7UUFDdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBYyxFQUFFLE9BQWU7UUFDcEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBYztRQUNuQixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxDQUFDLFFBQWM7UUFDakIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDekMsT0FBTyxNQUFNLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNwRCxDQUFDO0lBRUQsYUFBYSxDQUFDLE9BQWE7UUFDekIsTUFBTSxFQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNFLE9BQU8sRUFBQyxXQUFXLEVBQUUsS0FBSyxFQUFDLENBQUM7SUFDOUIsQ0FBQztDQUNGO0FBN0RELDRDQTZEQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge25vcm1hbGl6ZSwgUGF0aCwgUGF0aElzRGlyZWN0b3J5RXhjZXB0aW9ufSBmcm9tICdAYW5ndWxhci1kZXZraXQvY29yZSc7XG5pbXBvcnQge1RyZWUsIFVwZGF0ZVJlY29yZGVyfSBmcm9tICdAYW5ndWxhci1kZXZraXQvc2NoZW1hdGljcyc7XG5pbXBvcnQge0RpcmVjdG9yeUVudHJ5LCBGaWxlU3lzdGVtfSBmcm9tICcuLi91cGRhdGUtdG9vbC9maWxlLXN5c3RlbSc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuXG4vKipcbiAqIEZpbGUgc3lzdGVtIHRoYXQgbGV2ZXJhZ2VzIHRoZSB2aXJ0dWFsIHRyZWUgZnJvbSB0aGUgQ0xJIGRldmtpdC4gVGhpcyBmaWxlXG4gKiBzeXN0ZW0gaXMgY29tbW9ubHkgdXNlZCBieSBgbmcgdXBkYXRlYCBtaWdyYXRpb25zIHRoYXQgcnVuIGFzIHBhcnQgb2YgdGhlXG4gKiBBbmd1bGFyIENMSS5cbiAqL1xuZXhwb3J0IGNsYXNzIERldmtpdEZpbGVTeXN0ZW0gZXh0ZW5kcyBGaWxlU3lzdGVtIHtcbiAgcHJpdmF0ZSBfdXBkYXRlUmVjb3JkZXJDYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCBVcGRhdGVSZWNvcmRlcj4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF90cmVlOiBUcmVlKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHJlc29sdmUoLi4uc2VnbWVudHM6IHN0cmluZ1tdKTogUGF0aCB7XG4gICAgLy8gTm90ZTogV2UgdXNlIGBwb3NpeC5yZXNvbHZlYCBhcyB0aGUgZGV2a2l0IHBhdGhzIGFyZSB1c2luZyBwb3NpeCBzZXBhcmF0b3JzLlxuICAgIHJldHVybiBub3JtYWxpemUocGF0aC5wb3NpeC5yZXNvbHZlKCcvJywgLi4uc2VnbWVudHMubWFwKG5vcm1hbGl6ZSkpKTtcbiAgfVxuXG4gIGVkaXQoZmlsZVBhdGg6IFBhdGgpIHtcbiAgICBpZiAodGhpcy5fdXBkYXRlUmVjb3JkZXJDYWNoZS5oYXMoZmlsZVBhdGgpKSB7XG4gICAgICByZXR1cm4gdGhpcy5fdXBkYXRlUmVjb3JkZXJDYWNoZS5nZXQoZmlsZVBhdGgpITtcbiAgICB9XG4gICAgY29uc3QgcmVjb3JkZXIgPSB0aGlzLl90cmVlLmJlZ2luVXBkYXRlKGZpbGVQYXRoKTtcbiAgICB0aGlzLl91cGRhdGVSZWNvcmRlckNhY2hlLnNldChmaWxlUGF0aCwgcmVjb3JkZXIpO1xuICAgIHJldHVybiByZWNvcmRlcjtcbiAgfVxuXG4gIGNvbW1pdEVkaXRzKCkge1xuICAgIHRoaXMuX3VwZGF0ZVJlY29yZGVyQ2FjaGUuZm9yRWFjaChyID0+IHRoaXMuX3RyZWUuY29tbWl0VXBkYXRlKHIpKTtcbiAgICB0aGlzLl91cGRhdGVSZWNvcmRlckNhY2hlLmNsZWFyKCk7XG4gIH1cblxuICBleGlzdHMoZmlsZU9yRGlyUGF0aDogUGF0aCkge1xuICAgIC8vIFRoZSBkZXZraXQgdHJlZSBkb2VzIG5vdCBleHBvc2UgYW4gQVBJIGZvciBjaGVja2luZyB3aGV0aGVyIGEgZ2l2ZW5cbiAgICAvLyBkaXJlY3RvcnkgZXhpc3RzLiBJdCB0aHJvd3MgYSBzcGVjaWZpYyBlcnJvciB0aG91Z2ggaWYgYSBkaXJlY3RvcnlcbiAgICAvLyBpcyBiZWluZyByZWFkIGFzIGEgZmlsZS4gV2UgdXNlIHRoYXQgdG8gY2hlY2sgaWYgYSBkaXJlY3RvcnkgZXhpc3RzLlxuICAgIHRyeSB7XG4gICAgICByZXR1cm4gdGhpcy5fdHJlZS5nZXQoZmlsZU9yRGlyUGF0aCkgIT09IG51bGw7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgaWYgKGUgaW5zdGFuY2VvZiBQYXRoSXNEaXJlY3RvcnlFeGNlcHRpb24pIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIG92ZXJ3cml0ZShmaWxlUGF0aDogUGF0aCwgY29udGVudDogc3RyaW5nKSB7XG4gICAgdGhpcy5fdHJlZS5vdmVyd3JpdGUoZmlsZVBhdGgsIGNvbnRlbnQpO1xuICB9XG5cbiAgY3JlYXRlKGZpbGVQYXRoOiBQYXRoLCBjb250ZW50OiBzdHJpbmcpIHtcbiAgICB0aGlzLl90cmVlLmNyZWF0ZShmaWxlUGF0aCwgY29udGVudCk7XG4gIH1cblxuICBkZWxldGUoZmlsZVBhdGg6IFBhdGgpIHtcbiAgICB0aGlzLl90cmVlLmRlbGV0ZShmaWxlUGF0aCk7XG4gIH1cblxuICByZWFkKGZpbGVQYXRoOiBQYXRoKSB7XG4gICAgY29uc3QgYnVmZmVyID0gdGhpcy5fdHJlZS5yZWFkKGZpbGVQYXRoKTtcbiAgICByZXR1cm4gYnVmZmVyICE9PSBudWxsID8gYnVmZmVyLnRvU3RyaW5nKCkgOiBudWxsO1xuICB9XG5cbiAgcmVhZERpcmVjdG9yeShkaXJQYXRoOiBQYXRoKTogRGlyZWN0b3J5RW50cnkge1xuICAgIGNvbnN0IHtzdWJkaXJzOiBkaXJlY3Rvcmllcywgc3ViZmlsZXM6IGZpbGVzfSA9IHRoaXMuX3RyZWUuZ2V0RGlyKGRpclBhdGgpO1xuICAgIHJldHVybiB7ZGlyZWN0b3JpZXMsIGZpbGVzfTtcbiAgfVxufVxuIl19