@angular/cdk 13.0.0-next.7 → 13.0.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (855) hide show
  1. package/a11y/a11y-module.d.ts +9 -7
  2. package/a11y/a11y_public_index.d.ts +4 -0
  3. package/a11y/aria-describer/aria-describer.d.ts +3 -7
  4. package/a11y/focus-monitor/focus-monitor.d.ts +5 -0
  5. package/a11y/focus-trap/configurable-focus-trap-factory.d.ts +3 -7
  6. package/a11y/focus-trap/focus-trap-manager.d.ts +3 -7
  7. package/a11y/focus-trap/focus-trap.d.ts +5 -0
  8. package/a11y/high-contrast-mode/high-contrast-mode-detector.d.ts +3 -0
  9. package/a11y/index.d.ts +5 -2
  10. package/a11y/input-modality/input-modality-detector.d.ts +3 -7
  11. package/a11y/interactivity-checker/interactivity-checker.d.ts +3 -0
  12. package/a11y/live-announcer/live-announcer.d.ts +6 -1
  13. package/a11y/package.json +6 -6
  14. package/accordion/accordion-item.d.ts +3 -0
  15. package/accordion/accordion-module.d.ts +6 -7
  16. package/accordion/accordion.d.ts +3 -0
  17. package/accordion/accordion_public_index.d.ts +4 -0
  18. package/accordion/index.d.ts +5 -2
  19. package/accordion/package.json +6 -6
  20. package/bidi/bidi-module.d.ts +5 -7
  21. package/bidi/bidi_public_index.d.ts +4 -0
  22. package/bidi/dir.d.ts +3 -0
  23. package/bidi/directionality.d.ts +3 -0
  24. package/bidi/index.d.ts +5 -2
  25. package/bidi/package.json +6 -6
  26. package/clipboard/clipboard-module.d.ts +5 -7
  27. package/clipboard/clipboard.d.ts +3 -7
  28. package/clipboard/clipboard_public_index.d.ts +4 -0
  29. package/clipboard/copy-to-clipboard.d.ts +3 -0
  30. package/clipboard/index.d.ts +5 -1
  31. package/clipboard/package.json +6 -6
  32. package/coercion/package.json +5 -5
  33. package/collections/collections_public_index.d.ts +4 -0
  34. package/collections/index.d.ts +5 -1
  35. package/collections/package.json +6 -6
  36. package/collections/unique-selection-dispatcher.d.ts +3 -0
  37. package/drag-drop/client-rect.d.ts +8 -1
  38. package/drag-drop/directives/drag-handle.d.ts +3 -0
  39. package/drag-drop/directives/drag-placeholder.d.ts +3 -0
  40. package/drag-drop/directives/drag-preview.d.ts +3 -0
  41. package/drag-drop/directives/drag.d.ts +3 -0
  42. package/drag-drop/directives/drop-list-group.d.ts +3 -0
  43. package/drag-drop/directives/drop-list.d.ts +3 -0
  44. package/drag-drop/drag-drop-module.d.ts +11 -7
  45. package/drag-drop/drag-drop-registry.d.ts +3 -0
  46. package/drag-drop/drag-drop.d.ts +3 -0
  47. package/drag-drop/drag-drop_public_index.d.ts +4 -0
  48. package/drag-drop/index.d.ts +5 -2
  49. package/drag-drop/package.json +6 -6
  50. package/esm2020/a11y/a11y-module.mjs +33 -0
  51. package/esm2020/a11y/a11y_public_index.mjs +5 -0
  52. package/esm2020/a11y/aria-describer/aria-describer.mjs +208 -0
  53. package/{esm2015/a11y/aria-describer/aria-reference.js → esm2020/a11y/aria-describer/aria-reference.mjs} +1 -1
  54. package/esm2020/a11y/fake-event-detection.mjs +29 -0
  55. package/esm2020/a11y/focus-monitor/focus-monitor.mjs +400 -0
  56. package/{esm2015/a11y/focus-trap/configurable-focus-trap-config.js → esm2020/a11y/focus-trap/configurable-focus-trap-config.mjs} +0 -0
  57. package/esm2020/a11y/focus-trap/configurable-focus-trap-factory.mjs +53 -0
  58. package/esm2020/a11y/focus-trap/configurable-focus-trap.mjs +51 -0
  59. package/esm2020/a11y/focus-trap/event-listener-inert-strategy.mjs +61 -0
  60. package/esm2020/a11y/focus-trap/focus-trap-inert-strategy.mjs +11 -0
  61. package/esm2020/a11y/focus-trap/focus-trap-manager.mjs +53 -0
  62. package/esm2020/a11y/focus-trap/focus-trap.mjs +399 -0
  63. package/esm2020/a11y/high-contrast-mode/high-contrast-mode-detector.mjs +95 -0
  64. package/esm2020/a11y/index.mjs +9 -0
  65. package/esm2020/a11y/input-modality/input-modality-detector.mjs +176 -0
  66. package/esm2020/a11y/interactivity-checker/interactivity-checker.mjs +238 -0
  67. package/{esm2015/a11y/key-manager/activedescendant-key-manager.js → esm2020/a11y/key-manager/activedescendant-key-manager.mjs} +1 -1
  68. package/{esm2015/a11y/key-manager/focus-key-manager.js → esm2020/a11y/key-manager/focus-key-manager.mjs} +0 -0
  69. package/esm2020/a11y/key-manager/list-key-manager.mjs +321 -0
  70. package/esm2020/a11y/live-announcer/live-announcer-tokens.mjs +19 -0
  71. package/esm2020/a11y/live-announcer/live-announcer.mjs +170 -0
  72. package/{esm2015/a11y/public-api.js → esm2020/a11y/public-api.mjs} +0 -0
  73. package/esm2020/accordion/accordion-item.mjs +167 -0
  74. package/esm2020/accordion/accordion-module.mjs +24 -0
  75. package/esm2020/accordion/accordion.mjs +70 -0
  76. package/esm2020/accordion/accordion_public_index.mjs +5 -0
  77. package/esm2020/accordion/index.mjs +9 -0
  78. package/{esm2015/accordion/public-api.js → esm2020/accordion/public-api.mjs} +0 -0
  79. package/esm2020/bidi/bidi-module.mjs +23 -0
  80. package/esm2020/bidi/bidi_public_index.mjs +5 -0
  81. package/{esm2015/bidi/dir-document-token.js → esm2020/bidi/dir-document-token.mjs} +1 -1
  82. package/esm2020/bidi/dir.mjs +67 -0
  83. package/esm2020/bidi/directionality.mjs +47 -0
  84. package/esm2020/bidi/index.mjs +9 -0
  85. package/{esm2015/bidi/public-api.js → esm2020/bidi/public-api.mjs} +1 -1
  86. package/esm2020/clipboard/clipboard-module.mjs +23 -0
  87. package/esm2020/clipboard/clipboard.mjs +53 -0
  88. package/esm2020/clipboard/clipboard_public_index.mjs +5 -0
  89. package/esm2020/clipboard/copy-to-clipboard.mjs +99 -0
  90. package/esm2020/clipboard/index.mjs +9 -0
  91. package/esm2020/clipboard/pending-copy.mjs +67 -0
  92. package/{esm2015/clipboard/public-api.js → esm2020/clipboard/public-api.mjs} +0 -0
  93. package/{esm2015/coercion/array.js → esm2020/coercion/array.mjs} +0 -0
  94. package/{esm2015/coercion/boolean-property.js → esm2020/coercion/boolean-property.mjs} +0 -0
  95. package/{esm2015/coercion/css-pixel-value.js → esm2020/coercion/css-pixel-value.mjs} +0 -0
  96. package/{esm2015/coercion/element.js → esm2020/coercion/element.mjs} +0 -0
  97. package/{esm2015/coercion/index.js → esm2020/coercion/index.mjs} +0 -0
  98. package/{esm2015/coercion/number-property.js → esm2020/coercion/number-property.mjs} +0 -0
  99. package/{esm2015/coercion/public-api.js → esm2020/coercion/public-api.mjs} +0 -0
  100. package/{esm2015/coercion/string-array.js → esm2020/coercion/string-array.mjs} +0 -0
  101. package/{esm2015/collections/array-data-source.js → esm2020/collections/array-data-source.mjs} +1 -1
  102. package/esm2020/collections/collection-viewer.mjs +9 -0
  103. package/esm2020/collections/collections_public_index.mjs +5 -0
  104. package/{esm2015/collections/data-source.js → esm2020/collections/data-source.mjs} +0 -0
  105. package/esm2020/collections/dispose-view-repeater-strategy.mjs +47 -0
  106. package/esm2020/collections/index.mjs +9 -0
  107. package/{esm2015/collections/public-api.js → esm2020/collections/public-api.mjs} +0 -0
  108. package/esm2020/collections/recycle-view-repeater-strategy.mjs +128 -0
  109. package/{esm2015/collections/selection-model.js → esm2020/collections/selection-model.mjs} +2 -2
  110. package/esm2020/collections/tree-adapter.mjs +9 -0
  111. package/esm2020/collections/unique-selection-dispatcher.mjs +55 -0
  112. package/esm2020/collections/view-repeater.mjs +14 -0
  113. package/esm2020/drag-drop/client-rect.mjs +64 -0
  114. package/esm2020/drag-drop/clone-node.mjs +65 -0
  115. package/esm2020/drag-drop/directives/assertions.mjs +18 -0
  116. package/{esm2015/drag-drop/directives/config.js → esm2020/drag-drop/directives/config.mjs} +1 -1
  117. package/esm2020/drag-drop/directives/drag-handle.mjs +66 -0
  118. package/esm2020/drag-drop/directives/drag-placeholder.mjs +36 -0
  119. package/esm2020/drag-drop/directives/drag-preview.mjs +47 -0
  120. package/esm2020/drag-drop/directives/drag.mjs +483 -0
  121. package/esm2020/drag-drop/directives/drop-list-group.mjs +53 -0
  122. package/esm2020/drag-drop/directives/drop-list.mjs +344 -0
  123. package/esm2020/drag-drop/drag-drop-module.mjs +57 -0
  124. package/esm2020/drag-drop/drag-drop-registry.mjs +231 -0
  125. package/esm2020/drag-drop/drag-drop.mjs +57 -0
  126. package/esm2020/drag-drop/drag-drop_public_index.mjs +5 -0
  127. package/esm2020/drag-drop/drag-events.mjs +9 -0
  128. package/{esm2015/drag-drop/drag-parent.js → esm2020/drag-drop/drag-parent.mjs} +0 -0
  129. package/esm2020/drag-drop/drag-ref.mjs +1108 -0
  130. package/esm2020/drag-drop/drag-styling.mjs +69 -0
  131. package/esm2020/drag-drop/drag-utils.mjs +60 -0
  132. package/esm2020/drag-drop/drop-list-ref.mjs +830 -0
  133. package/esm2020/drag-drop/index.mjs +9 -0
  134. package/{esm2015/drag-drop/parent-position-tracker.js → esm2020/drag-drop/parent-position-tracker.mjs} +2 -2
  135. package/{esm2015/drag-drop/public-api.js → esm2020/drag-drop/public-api.mjs} +0 -0
  136. package/esm2020/drag-drop/transition-duration.mjs +36 -0
  137. package/{esm2015/index.js → esm2020/index.mjs} +0 -0
  138. package/esm2020/keycodes/index.mjs +9 -0
  139. package/{esm2015/keycodes/keycodes.js → esm2020/keycodes/keycodes.mjs} +1 -1
  140. package/esm2020/keycodes/keycodes_public_index.mjs +5 -0
  141. package/{esm2015/keycodes/modifiers.js → esm2020/keycodes/modifiers.mjs} +0 -0
  142. package/{esm2015/keycodes/public-api.js → esm2020/keycodes/public-api.mjs} +0 -0
  143. package/esm2020/layout/breakpoints-observer.mjs +105 -0
  144. package/{esm2015/layout/breakpoints.js → esm2020/layout/breakpoints.mjs} +1 -1
  145. package/esm2020/layout/index.mjs +9 -0
  146. package/esm2020/layout/layout-module.mjs +19 -0
  147. package/esm2020/layout/layout_public_index.mjs +5 -0
  148. package/esm2020/layout/media-matcher.mjs +85 -0
  149. package/{esm2015/layout/public-api.js → esm2020/layout/public-api.mjs} +0 -0
  150. package/esm2020/observers/index.mjs +9 -0
  151. package/esm2020/observers/observe-content.mjs +187 -0
  152. package/esm2020/observers/observers_public_index.mjs +5 -0
  153. package/{esm2015/observers/public-api.js → esm2020/observers/public-api.mjs} +0 -0
  154. package/esm2020/overlay/dispatchers/base-overlay-dispatcher.mjs +52 -0
  155. package/{esm2015/overlay/dispatchers/index.js → esm2020/overlay/dispatchers/index.mjs} +0 -0
  156. package/esm2020/overlay/dispatchers/overlay-keyboard-dispatcher.mjs +63 -0
  157. package/esm2020/overlay/dispatchers/overlay-outside-click-dispatcher.mjs +116 -0
  158. package/esm2020/overlay/fullscreen-overlay-container.mjs +94 -0
  159. package/esm2020/overlay/index.mjs +9 -0
  160. package/esm2020/overlay/overlay-config.mjs +45 -0
  161. package/esm2020/overlay/overlay-container.mjs +81 -0
  162. package/esm2020/overlay/overlay-directives.mjs +427 -0
  163. package/esm2020/overlay/overlay-module.mjs +29 -0
  164. package/esm2020/overlay/overlay-ref.mjs +402 -0
  165. package/{esm2015/overlay/overlay-reference.js → esm2020/overlay/overlay-reference.mjs} +0 -0
  166. package/esm2020/overlay/overlay.mjs +119 -0
  167. package/esm2020/overlay/overlay_public_index.mjs +5 -0
  168. package/esm2020/overlay/position/connected-position.mjs +97 -0
  169. package/esm2020/overlay/position/flexible-connected-position-strategy.mjs +959 -0
  170. package/esm2020/overlay/position/global-position-strategy.mjs +203 -0
  171. package/esm2020/overlay/position/overlay-position-builder.mjs +50 -0
  172. package/{esm2015/overlay/position/position-strategy.js → esm2020/overlay/position/position-strategy.mjs} +0 -0
  173. package/esm2020/overlay/position/scroll-clip.mjs +40 -0
  174. package/{esm2015/overlay/public-api.js → esm2020/overlay/public-api.mjs} +0 -0
  175. package/{esm2015/overlay/scroll/block-scroll-strategy.js → esm2020/overlay/scroll/block-scroll-strategy.mjs} +1 -1
  176. package/esm2020/overlay/scroll/close-scroll-strategy.mjs +61 -0
  177. package/{esm2015/overlay/scroll/index.js → esm2020/overlay/scroll/index.mjs} +2 -2
  178. package/{esm2015/overlay/scroll/noop-scroll-strategy.js → esm2020/overlay/scroll/noop-scroll-strategy.mjs} +1 -1
  179. package/{esm2015/overlay/scroll/reposition-scroll-strategy.js → esm2020/overlay/scroll/reposition-scroll-strategy.mjs} +1 -1
  180. package/esm2020/overlay/scroll/scroll-strategy-options.mjs +55 -0
  181. package/{esm2015/overlay/scroll/scroll-strategy.js → esm2020/overlay/scroll/scroll-strategy.mjs} +0 -0
  182. package/{esm2015/platform/features/input-types.js → esm2020/platform/features/input-types.mjs} +1 -1
  183. package/esm2020/platform/features/passive-listeners.mjs +36 -0
  184. package/esm2020/platform/features/scrolling.mjs +85 -0
  185. package/{esm2015/platform/features/shadow-dom.js → esm2020/platform/features/shadow-dom.mjs} +4 -3
  186. package/esm2020/platform/features/test-environment.mjs +27 -0
  187. package/esm2020/platform/index.mjs +9 -0
  188. package/esm2020/platform/platform-module.mjs +19 -0
  189. package/esm2020/platform/platform.mjs +85 -0
  190. package/esm2020/platform/platform_public_index.mjs +5 -0
  191. package/{esm2015/platform/public-api.js → esm2020/platform/public-api.mjs} +0 -0
  192. package/esm2020/portal/dom-portal-outlet.mjs +134 -0
  193. package/esm2020/portal/index.mjs +9 -0
  194. package/esm2020/portal/portal-directives.mjs +244 -0
  195. package/{esm2015/portal/portal-errors.js → esm2020/portal/portal-errors.mjs} +1 -1
  196. package/esm2020/portal/portal-injector.mjs +28 -0
  197. package/esm2020/portal/portal.mjs +179 -0
  198. package/esm2020/portal/portal_public_index.mjs +5 -0
  199. package/{esm2015/portal/public-api.js → esm2020/portal/public-api.mjs} +0 -0
  200. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  201. package/esm2020/scrolling/fixed-size-virtual-scroll.mjs +217 -0
  202. package/esm2020/scrolling/index.mjs +9 -0
  203. package/{esm2015/scrolling/public-api.js → esm2020/scrolling/public-api.mjs} +0 -0
  204. package/esm2020/scrolling/scroll-dispatcher.mjs +163 -0
  205. package/esm2020/scrolling/scrollable.mjs +176 -0
  206. package/esm2020/scrolling/scrolling-module.mjs +52 -0
  207. package/esm2020/scrolling/scrolling_public_index.mjs +5 -0
  208. package/esm2020/scrolling/viewport-ruler.mjs +146 -0
  209. package/esm2020/scrolling/virtual-for-of.mjs +296 -0
  210. package/{esm2015/scrolling/virtual-scroll-repeater.js → esm2020/scrolling/virtual-scroll-repeater.mjs} +0 -0
  211. package/esm2020/scrolling/virtual-scroll-strategy.mjs +11 -0
  212. package/esm2020/scrolling/virtual-scroll-viewport.mjs +378 -0
  213. package/esm2020/stepper/index.mjs +9 -0
  214. package/{esm2015/stepper/public-api.js → esm2020/stepper/public-api.mjs} +0 -0
  215. package/esm2020/stepper/step-header.mjs +30 -0
  216. package/esm2020/stepper/step-label.mjs +23 -0
  217. package/esm2020/stepper/stepper-button.mjs +76 -0
  218. package/esm2020/stepper/stepper-module.mjs +40 -0
  219. package/esm2020/stepper/stepper.mjs +471 -0
  220. package/esm2020/stepper/stepper_public_index.mjs +5 -0
  221. package/esm2020/table/can-stick.mjs +44 -0
  222. package/esm2020/table/cell.mjs +222 -0
  223. package/esm2020/table/coalesced-style-scheduler.mjs +91 -0
  224. package/esm2020/table/index.mjs +9 -0
  225. package/{esm2015/table/public-api.js → esm2020/table/public-api.mjs} +0 -0
  226. package/esm2020/table/row.mjs +254 -0
  227. package/esm2020/table/sticky-position-listener.mjs +11 -0
  228. package/esm2020/table/sticky-styler.mjs +345 -0
  229. package/{esm2015/table/table-errors.js → esm2020/table/table-errors.mjs} +1 -1
  230. package/esm2020/table/table-module.mjs +94 -0
  231. package/esm2020/table/table.mjs +1023 -0
  232. package/esm2020/table/table_public_index.mjs +5 -0
  233. package/esm2020/table/text-column.mjs +153 -0
  234. package/{esm2015/table/tokens.js → esm2020/table/tokens.mjs} +1 -1
  235. package/esm2020/testing/change-detection.mjs +102 -0
  236. package/esm2020/testing/component-harness.mjs +322 -0
  237. package/{esm2015/testing/element-dimensions.js → esm2020/testing/element-dimensions.mjs} +1 -1
  238. package/esm2020/testing/harness-environment.mjs +202 -0
  239. package/{esm2015/testing/index.js → esm2020/testing/index.mjs} +0 -0
  240. package/{esm2015/testing/protractor/index.js → esm2020/testing/protractor/index.mjs} +0 -0
  241. package/esm2020/testing/protractor/protractor-element.mjs +234 -0
  242. package/esm2020/testing/protractor/protractor-harness-environment.mjs +72 -0
  243. package/{esm2015/testing/protractor/public-api.js → esm2020/testing/protractor/public-api.mjs} +0 -0
  244. package/{esm2015/testing/public-api.js → esm2020/testing/public-api.mjs} +0 -0
  245. package/{esm2015/testing/selenium-webdriver/index.js → esm2020/testing/selenium-webdriver/index.mjs} +0 -0
  246. package/{esm2015/testing/selenium-webdriver/public-api.js → esm2020/testing/selenium-webdriver/public-api.mjs} +0 -0
  247. package/esm2020/testing/selenium-webdriver/selenium-web-driver-element.mjs +199 -0
  248. package/esm2020/testing/selenium-webdriver/selenium-web-driver-harness-environment.mjs +87 -0
  249. package/{esm2015/testing/selenium-webdriver/selenium-webdriver-keys.js → esm2020/testing/selenium-webdriver/selenium-webdriver-keys.mjs} +2 -2
  250. package/esm2020/testing/test-element.mjs +48 -0
  251. package/esm2020/testing/testbed/fake-events/dispatch-events.mjs +53 -0
  252. package/esm2020/testing/testbed/fake-events/element-focus.mjs +39 -0
  253. package/esm2020/testing/testbed/fake-events/event-objects.mjs +113 -0
  254. package/{esm2015/testing/testbed/fake-events/index.js → esm2020/testing/testbed/fake-events/index.mjs} +0 -0
  255. package/esm2020/testing/testbed/fake-events/type-in-element.mjs +88 -0
  256. package/{esm2015/testing/testbed/index.js → esm2020/testing/testbed/index.mjs} +0 -0
  257. package/{esm2015/testing/testbed/public-api.js → esm2020/testing/testbed/public-api.mjs} +0 -0
  258. package/esm2020/testing/testbed/task-state-zone-interceptor.mjs +82 -0
  259. package/esm2020/testing/testbed/testbed-harness-environment.mjs +162 -0
  260. package/esm2020/testing/testbed/unit-test-element.mjs +224 -0
  261. package/esm2020/testing/text-filtering.mjs +21 -0
  262. package/esm2020/text-field/autofill.mjs +113 -0
  263. package/esm2020/text-field/autosize.mjs +310 -0
  264. package/esm2020/text-field/index.mjs +9 -0
  265. package/{esm2015/text-field/public-api.js → esm2020/text-field/public-api.mjs} +0 -0
  266. package/esm2020/text-field/text-field-module.mjs +26 -0
  267. package/esm2020/text-field/text-field_public_index.mjs +5 -0
  268. package/{esm2015/tree/control/base-tree-control.js → esm2020/tree/control/base-tree-control.mjs} +4 -4
  269. package/{esm2015/tree/control/flat-tree-control.js → esm2020/tree/control/flat-tree-control.mjs} +1 -1
  270. package/esm2020/tree/control/nested-tree-control.mjs +58 -0
  271. package/{esm2015/tree/control/tree-control.js → esm2020/tree/control/tree-control.mjs} +0 -0
  272. package/esm2020/tree/index.mjs +9 -0
  273. package/esm2020/tree/nested-node.mjs +117 -0
  274. package/esm2020/tree/node.mjs +35 -0
  275. package/esm2020/tree/outlet.mjs +39 -0
  276. package/esm2020/tree/padding.mjs +131 -0
  277. package/{esm2015/tree/public-api.js → esm2020/tree/public-api.mjs} +0 -0
  278. package/esm2020/tree/toggle.mjs +53 -0
  279. package/{esm2015/tree/tree-errors.js → esm2020/tree/tree-errors.mjs} +0 -0
  280. package/esm2020/tree/tree-module.mjs +49 -0
  281. package/esm2020/tree/tree.mjs +361 -0
  282. package/esm2020/tree/tree_public_index.mjs +5 -0
  283. package/{esm2015/version.js → esm2020/version.mjs} +1 -1
  284. package/fesm2015/{a11y.js → a11y.mjs} +289 -254
  285. package/fesm2015/a11y.mjs.map +1 -0
  286. package/fesm2015/accordion.mjs +275 -0
  287. package/fesm2015/accordion.mjs.map +1 -0
  288. package/fesm2015/bidi.mjs +187 -0
  289. package/fesm2015/bidi.mjs.map +1 -0
  290. package/fesm2015/{cdk.js → cdk.mjs} +2 -2
  291. package/fesm2015/cdk.mjs.map +1 -0
  292. package/fesm2015/clipboard.mjs +261 -0
  293. package/fesm2015/clipboard.mjs.map +1 -0
  294. package/fesm2015/{coercion.js → coercion.mjs} +1 -1
  295. package/fesm2015/coercion.mjs.map +1 -0
  296. package/fesm2015/{collections.js → collections.mjs} +20 -24
  297. package/fesm2015/collections.mjs.map +1 -0
  298. package/fesm2015/drag-drop.mjs +3675 -0
  299. package/fesm2015/drag-drop.mjs.map +1 -0
  300. package/fesm2015/{keycodes.js → keycodes.mjs} +9 -1
  301. package/fesm2015/keycodes.mjs.map +1 -0
  302. package/fesm2015/{layout.js → layout.mjs} +38 -28
  303. package/fesm2015/layout.mjs.map +1 -0
  304. package/fesm2015/{observers.js → observers.mjs} +58 -41
  305. package/fesm2015/observers.mjs.map +1 -0
  306. package/fesm2015/overlay.mjs +3012 -0
  307. package/fesm2015/overlay.mjs.map +1 -0
  308. package/fesm2015/platform.mjs +388 -0
  309. package/fesm2015/platform.mjs.map +1 -0
  310. package/fesm2015/portal.mjs +657 -0
  311. package/fesm2015/portal.mjs.map +1 -0
  312. package/fesm2015/scrolling.mjs +1402 -0
  313. package/fesm2015/scrolling.mjs.map +1 -0
  314. package/fesm2015/{stepper.js → stepper.mjs} +194 -133
  315. package/fesm2015/stepper.mjs.map +1 -0
  316. package/fesm2015/{table.js → table.mjs} +508 -359
  317. package/fesm2015/table.mjs.map +1 -0
  318. package/fesm2015/testing/{protractor.js → protractor.mjs} +12 -25
  319. package/fesm2015/testing/protractor.mjs.map +1 -0
  320. package/fesm2015/testing/{selenium-webdriver.js → selenium-webdriver.mjs} +14 -28
  321. package/fesm2015/testing/selenium-webdriver.mjs.map +1 -0
  322. package/fesm2015/testing/{testbed.js → testbed.mjs} +23 -29
  323. package/fesm2015/testing/testbed.mjs.map +1 -0
  324. package/fesm2015/{testing.js → testing.mjs} +19 -45
  325. package/fesm2015/testing.mjs.map +1 -0
  326. package/fesm2015/text-field.mjs +463 -0
  327. package/fesm2015/text-field.mjs.map +1 -0
  328. package/fesm2015/{tree.js → tree.mjs} +206 -152
  329. package/fesm2015/tree.mjs.map +1 -0
  330. package/fesm2020/a11y.mjs +2376 -0
  331. package/fesm2020/a11y.mjs.map +1 -0
  332. package/{fesm2015/accordion.js → fesm2020/accordion.mjs} +95 -57
  333. package/fesm2020/accordion.mjs.map +1 -0
  334. package/{fesm2015/bidi.js → fesm2020/bidi.mjs} +55 -31
  335. package/fesm2020/bidi.mjs.map +1 -0
  336. package/fesm2020/cdk.mjs +30 -0
  337. package/fesm2020/cdk.mjs.map +1 -0
  338. package/{fesm2015/clipboard.js → fesm2020/clipboard.mjs} +59 -40
  339. package/fesm2020/clipboard.mjs.map +1 -0
  340. package/fesm2020/coercion.mjs +132 -0
  341. package/fesm2020/coercion.mjs.map +1 -0
  342. package/fesm2020/collections.mjs +480 -0
  343. package/fesm2020/collections.mjs.map +1 -0
  344. package/{fesm2015/drag-drop.js → fesm2020/drag-drop.mjs} +528 -369
  345. package/fesm2020/drag-drop.mjs.map +1 -0
  346. package/fesm2020/keycodes.mjs +167 -0
  347. package/fesm2020/keycodes.mjs.map +1 -0
  348. package/fesm2020/layout.mjs +254 -0
  349. package/fesm2020/layout.mjs.map +1 -0
  350. package/fesm2020/observers.mjs +210 -0
  351. package/fesm2020/observers.mjs.map +1 -0
  352. package/{fesm2015/overlay.js → fesm2020/overlay.mjs} +320 -228
  353. package/fesm2020/overlay.mjs.map +1 -0
  354. package/{fesm2015/platform.js → fesm2020/platform.mjs} +60 -28
  355. package/fesm2020/platform.mjs.map +1 -0
  356. package/{fesm2015/portal.js → fesm2020/portal.mjs} +93 -64
  357. package/fesm2020/portal.mjs.map +1 -0
  358. package/{fesm2015/scrolling.js → fesm2020/scrolling.mjs} +221 -170
  359. package/fesm2020/scrolling.mjs.map +1 -0
  360. package/fesm2020/stepper.mjs +646 -0
  361. package/fesm2020/stepper.mjs.map +1 -0
  362. package/fesm2020/table.mjs +2303 -0
  363. package/fesm2020/table.mjs.map +1 -0
  364. package/fesm2020/testing/protractor.mjs +322 -0
  365. package/fesm2020/testing/protractor.mjs.map +1 -0
  366. package/fesm2020/testing/selenium-webdriver.mjs +362 -0
  367. package/fesm2020/testing/selenium-webdriver.mjs.map +1 -0
  368. package/fesm2020/testing/testbed.mjs +780 -0
  369. package/fesm2020/testing/testbed.mjs.map +1 -0
  370. package/fesm2020/testing.mjs +719 -0
  371. package/fesm2020/testing.mjs.map +1 -0
  372. package/{fesm2015/text-field.js → fesm2020/text-field.mjs} +91 -68
  373. package/fesm2020/text-field.mjs.map +1 -0
  374. package/fesm2020/tree.mjs +975 -0
  375. package/fesm2020/tree.mjs.map +1 -0
  376. package/keycodes/index.d.ts +5 -1
  377. package/keycodes/keycodes_public_index.d.ts +4 -0
  378. package/keycodes/package.json +6 -6
  379. package/layout/breakpoints-observer.d.ts +3 -7
  380. package/layout/index.d.ts +5 -1
  381. package/layout/layout-module.d.ts +4 -0
  382. package/layout/layout_public_index.d.ts +4 -0
  383. package/layout/media-matcher.d.ts +3 -0
  384. package/layout/package.json +6 -6
  385. package/observers/index.d.ts +5 -1
  386. package/observers/observe-content.d.ts +10 -0
  387. package/observers/observers_public_index.d.ts +4 -0
  388. package/observers/package.json +6 -6
  389. package/overlay/dispatchers/base-overlay-dispatcher.d.ts +3 -7
  390. package/overlay/dispatchers/overlay-keyboard-dispatcher.d.ts +3 -7
  391. package/overlay/dispatchers/overlay-outside-click-dispatcher.d.ts +6 -7
  392. package/overlay/fullscreen-overlay-container.d.ts +3 -0
  393. package/overlay/index.d.ts +5 -3
  394. package/overlay/overlay-container.d.ts +3 -7
  395. package/overlay/overlay-directives.d.ts +5 -0
  396. package/overlay/overlay-module.d.ts +8 -7
  397. package/overlay/overlay.d.ts +3 -0
  398. package/overlay/overlay_public_index.d.ts +4 -0
  399. package/overlay/package.json +6 -6
  400. package/overlay/position/flexible-connected-position-strategy.d.ts +2 -2
  401. package/overlay/position/overlay-position-builder.d.ts +3 -0
  402. package/overlay/position/scroll-clip.d.ts +5 -2
  403. package/overlay/scroll/index.d.ts +1 -1
  404. package/overlay/scroll/scroll-strategy-options.d.ts +3 -0
  405. package/package.json +219 -7
  406. package/platform/index.d.ts +5 -1
  407. package/platform/package.json +6 -6
  408. package/platform/platform-module.d.ts +4 -7
  409. package/platform/platform.d.ts +3 -7
  410. package/platform/platform_public_index.d.ts +4 -0
  411. package/portal/index.d.ts +5 -1
  412. package/portal/package.json +6 -6
  413. package/portal/portal-directives.d.ts +12 -0
  414. package/portal/portal_public_index.d.ts +4 -0
  415. package/schematics/ng-add/index.js +3 -3
  416. package/schematics/ng-add/index.mjs +3 -3
  417. package/schematics/ng-add/package-config.js +4 -2
  418. package/schematics/ng-add/package-config.mjs +4 -2
  419. package/schematics/ng-add/schema.js +1 -1
  420. package/schematics/ng-add/schema.mjs +1 -1
  421. package/schematics/ng-generate/drag-drop/index.js +6 -6
  422. package/schematics/ng-generate/drag-drop/index.mjs +6 -6
  423. package/schematics/ng-update/data/attribute-selectors.js +7 -5
  424. package/schematics/ng-update/data/attribute-selectors.mjs +7 -5
  425. package/schematics/ng-update/data/class-names.js +13 -11
  426. package/schematics/ng-update/data/class-names.mjs +13 -11
  427. package/schematics/ng-update/data/constructor-checks.js +28 -20
  428. package/schematics/ng-update/data/constructor-checks.mjs +28 -20
  429. package/schematics/ng-update/data/css-selectors.js +2 -2
  430. package/schematics/ng-update/data/css-selectors.mjs +2 -2
  431. package/schematics/ng-update/data/element-selectors.js +2 -2
  432. package/schematics/ng-update/data/element-selectors.mjs +2 -2
  433. package/schematics/ng-update/data/input-names.js +40 -16
  434. package/schematics/ng-update/data/input-names.mjs +40 -16
  435. package/schematics/ng-update/data/method-call-checks.js +32 -18
  436. package/schematics/ng-update/data/method-call-checks.mjs +32 -18
  437. package/schematics/ng-update/data/output-names.js +8 -6
  438. package/schematics/ng-update/data/output-names.mjs +8 -6
  439. package/schematics/ng-update/data/property-names.js +40 -32
  440. package/schematics/ng-update/data/property-names.mjs +40 -32
  441. package/schematics/ng-update/devkit-file-system.js +2 -2
  442. package/schematics/ng-update/devkit-file-system.mjs +2 -2
  443. package/schematics/ng-update/devkit-migration-rule.js +8 -7
  444. package/schematics/ng-update/devkit-migration-rule.mjs +8 -7
  445. package/schematics/ng-update/devkit-migration.d.ts +3 -2
  446. package/schematics/ng-update/devkit-migration.js +1 -1
  447. package/schematics/ng-update/devkit-migration.mjs +1 -1
  448. package/schematics/ng-update/find-stylesheets.js +3 -3
  449. package/schematics/ng-update/find-stylesheets.mjs +3 -3
  450. package/schematics/ng-update/html-parsing/angular.js +7 -7
  451. package/schematics/ng-update/html-parsing/angular.mjs +7 -7
  452. package/schematics/ng-update/html-parsing/elements.js +2 -2
  453. package/schematics/ng-update/html-parsing/elements.mjs +2 -2
  454. package/schematics/ng-update/index.js +11 -9
  455. package/schematics/ng-update/index.mjs +11 -9
  456. package/schematics/ng-update/migrations/attribute-selectors.js +11 -7
  457. package/schematics/ng-update/migrations/attribute-selectors.mjs +11 -7
  458. package/schematics/ng-update/migrations/class-inheritance.js +3 -3
  459. package/schematics/ng-update/migrations/class-inheritance.mjs +3 -3
  460. package/schematics/ng-update/migrations/class-names.js +7 -6
  461. package/schematics/ng-update/migrations/class-names.mjs +7 -6
  462. package/schematics/ng-update/migrations/constructor-signature.js +16 -13
  463. package/schematics/ng-update/migrations/constructor-signature.mjs +16 -13
  464. package/schematics/ng-update/migrations/css-selectors.js +7 -6
  465. package/schematics/ng-update/migrations/css-selectors.mjs +7 -6
  466. package/schematics/ng-update/migrations/element-selectors.js +7 -6
  467. package/schematics/ng-update/migrations/element-selectors.mjs +7 -6
  468. package/schematics/ng-update/migrations/input-names.js +8 -9
  469. package/schematics/ng-update/migrations/input-names.mjs +8 -9
  470. package/schematics/ng-update/migrations/method-call-arguments.js +4 -3
  471. package/schematics/ng-update/migrations/method-call-arguments.mjs +4 -3
  472. package/schematics/ng-update/migrations/misc-template.js +3 -3
  473. package/schematics/ng-update/migrations/misc-template.mjs +3 -3
  474. package/schematics/ng-update/migrations/output-names.js +7 -8
  475. package/schematics/ng-update/migrations/output-names.mjs +7 -8
  476. package/schematics/ng-update/migrations/property-names.js +4 -3
  477. package/schematics/ng-update/migrations/property-names.mjs +4 -3
  478. package/schematics/ng-update/migrations/symbol-removal.js +2 -2
  479. package/schematics/ng-update/migrations/symbol-removal.mjs +2 -2
  480. package/schematics/ng-update/migrations/tilde-import-v13/tilde-import-migration.d.ts +14 -0
  481. package/schematics/ng-update/migrations/tilde-import-v13/tilde-import-migration.js +38 -0
  482. package/schematics/ng-update/migrations/tilde-import-v13/tilde-import-migration.mjs +38 -0
  483. package/schematics/ng-update/typescript/base-types.js +1 -1
  484. package/schematics/ng-update/typescript/base-types.mjs +1 -1
  485. package/schematics/ng-update/typescript/literal.d.ts +1 -1
  486. package/schematics/ng-update/typescript/literal.js +1 -1
  487. package/schematics/ng-update/typescript/literal.mjs +1 -1
  488. package/schematics/ng-update/typescript/module-specifiers.js +5 -5
  489. package/schematics/ng-update/typescript/module-specifiers.mjs +5 -5
  490. package/schematics/ng-update/upgrade-data.js +2 -2
  491. package/schematics/ng-update/upgrade-data.mjs +2 -2
  492. package/schematics/package.json +3 -0
  493. package/schematics/paths.js +3 -3
  494. package/schematics/paths.mjs +3 -3
  495. package/schematics/update-tool/component-resource-collector.js +10 -10
  496. package/schematics/update-tool/component-resource-collector.mjs +10 -10
  497. package/schematics/update-tool/file-system.js +1 -1
  498. package/schematics/update-tool/file-system.mjs +1 -1
  499. package/schematics/update-tool/index.d.ts +4 -1
  500. package/schematics/update-tool/index.js +9 -5
  501. package/schematics/update-tool/index.mjs +9 -5
  502. package/schematics/update-tool/migration.d.ts +1 -1
  503. package/schematics/update-tool/migration.js +1 -1
  504. package/schematics/update-tool/migration.mjs +1 -1
  505. package/schematics/update-tool/target-version.js +1 -1
  506. package/schematics/update-tool/target-version.mjs +1 -1
  507. package/schematics/update-tool/utils/decorators.js +8 -4
  508. package/schematics/update-tool/utils/decorators.mjs +8 -4
  509. package/schematics/update-tool/utils/functions.js +1 -1
  510. package/schematics/update-tool/utils/functions.mjs +1 -1
  511. package/schematics/update-tool/utils/imports.js +2 -2
  512. package/schematics/update-tool/utils/imports.mjs +2 -2
  513. package/schematics/update-tool/utils/line-mappings.js +1 -1
  514. package/schematics/update-tool/utils/line-mappings.mjs +1 -1
  515. package/schematics/update-tool/utils/parse-tsconfig.js +2 -2
  516. package/schematics/update-tool/utils/parse-tsconfig.mjs +2 -2
  517. package/schematics/update-tool/utils/property-name.js +1 -1
  518. package/schematics/update-tool/utils/property-name.mjs +1 -1
  519. package/schematics/update-tool/utils/virtual-host.d.ts +1 -1
  520. package/schematics/update-tool/utils/virtual-host.js +3 -3
  521. package/schematics/update-tool/utils/virtual-host.mjs +3 -3
  522. package/schematics/update-tool/version-changes.js +1 -1
  523. package/schematics/update-tool/version-changes.mjs +1 -1
  524. package/schematics/utils/ast/ng-module-imports.js +5 -3
  525. package/schematics/utils/ast/ng-module-imports.mjs +5 -3
  526. package/schematics/utils/ast.js +5 -5
  527. package/schematics/utils/ast.mjs +5 -5
  528. package/schematics/utils/build-component.js +32 -38
  529. package/schematics/utils/build-component.mjs +32 -38
  530. package/schematics/utils/get-project.js +1 -1
  531. package/schematics/utils/get-project.mjs +1 -1
  532. package/schematics/utils/html-manipulation.js +8 -7
  533. package/schematics/utils/html-manipulation.mjs +8 -7
  534. package/schematics/utils/parse5-element.js +9 -10
  535. package/schematics/utils/parse5-element.mjs +9 -10
  536. package/schematics/utils/project-index-file.js +2 -2
  537. package/schematics/utils/project-index-file.mjs +2 -2
  538. package/schematics/utils/project-main-file.js +2 -2
  539. package/schematics/utils/project-main-file.mjs +2 -2
  540. package/schematics/utils/project-style-file.js +7 -9
  541. package/schematics/utils/project-style-file.mjs +7 -9
  542. package/schematics/utils/project-targets.js +1 -1
  543. package/schematics/utils/project-targets.mjs +1 -1
  544. package/schematics/utils/project-tsconfig-paths.js +4 -4
  545. package/schematics/utils/project-tsconfig-paths.mjs +4 -4
  546. package/schematics/utils/schematic-options.js +7 -5
  547. package/schematics/utils/schematic-options.mjs +7 -5
  548. package/schematics/utils/vendored-ast-utils/index.js +17 -18
  549. package/schematics/utils/vendored-ast-utils/index.mjs +17 -18
  550. package/scrolling/fixed-size-virtual-scroll.d.ts +3 -0
  551. package/scrolling/index.d.ts +5 -1
  552. package/scrolling/package.json +6 -6
  553. package/scrolling/scroll-dispatcher.d.ts +3 -7
  554. package/scrolling/scrollable.d.ts +3 -0
  555. package/scrolling/scrolling-module.d.ts +13 -7
  556. package/scrolling/scrolling_public_index.d.ts +4 -0
  557. package/scrolling/viewport-ruler.d.ts +11 -1
  558. package/scrolling/virtual-for-of.d.ts +3 -0
  559. package/scrolling/virtual-scroll-viewport.d.ts +3 -0
  560. package/stepper/index.d.ts +5 -1
  561. package/stepper/package.json +6 -6
  562. package/stepper/step-header.d.ts +3 -0
  563. package/stepper/step-label.d.ts +3 -0
  564. package/stepper/stepper-button.d.ts +5 -7
  565. package/stepper/stepper-module.d.ts +9 -7
  566. package/stepper/stepper.d.ts +5 -7
  567. package/stepper/stepper_public_index.d.ts +4 -0
  568. package/table/cell.d.ts +15 -0
  569. package/table/coalesced-style-scheduler.d.ts +3 -0
  570. package/table/index.d.ts +5 -1
  571. package/table/package.json +6 -6
  572. package/table/row.d.ts +19 -0
  573. package/table/table-module.d.ts +9 -7
  574. package/table/table.d.ts +13 -0
  575. package/table/table_public_index.d.ts +4 -0
  576. package/table/text-column.d.ts +3 -0
  577. package/testing/package.json +5 -5
  578. package/testing/protractor/package.json +5 -5
  579. package/testing/selenium-webdriver/package.json +5 -5
  580. package/testing/testbed/package.json +5 -5
  581. package/testing/testbed/proxy-zone-types.d.ts +1 -1
  582. package/testing/testbed/zone-types.d.ts +1 -1
  583. package/text-field/autofill.d.ts +5 -0
  584. package/text-field/autosize.d.ts +3 -0
  585. package/text-field/index.d.ts +5 -1
  586. package/text-field/package.json +6 -6
  587. package/text-field/text-field-module.d.ts +7 -7
  588. package/text-field/text-field_public_index.d.ts +4 -0
  589. package/tree/control/base-tree-control.d.ts +1 -1
  590. package/tree/control/nested-tree-control.d.ts +2 -2
  591. package/tree/index.d.ts +5 -1
  592. package/tree/nested-node.d.ts +3 -0
  593. package/tree/node.d.ts +3 -0
  594. package/tree/outlet.d.ts +3 -0
  595. package/tree/package.json +6 -6
  596. package/tree/padding.d.ts +3 -0
  597. package/tree/toggle.d.ts +3 -0
  598. package/tree/tree-module.d.ts +10 -7
  599. package/tree/tree.d.ts +5 -0
  600. package/tree/tree_public_index.d.ts +4 -0
  601. package/a11y/index.metadata.json +0 -1
  602. package/accordion/index.metadata.json +0 -1
  603. package/bidi/index.metadata.json +0 -1
  604. package/bundles/cdk-a11y.umd.js +0 -2752
  605. package/bundles/cdk-a11y.umd.js.map +0 -1
  606. package/bundles/cdk-accordion.umd.js +0 -262
  607. package/bundles/cdk-accordion.umd.js.map +0 -1
  608. package/bundles/cdk-bidi.umd.js +0 -206
  609. package/bundles/cdk-bidi.umd.js.map +0 -1
  610. package/bundles/cdk-clipboard.umd.js +0 -278
  611. package/bundles/cdk-clipboard.umd.js.map +0 -1
  612. package/bundles/cdk-coercion.umd.js +0 -477
  613. package/bundles/cdk-coercion.umd.js.map +0 -1
  614. package/bundles/cdk-collections.umd.js +0 -846
  615. package/bundles/cdk-collections.umd.js.map +0 -1
  616. package/bundles/cdk-drag-drop.umd.js +0 -3921
  617. package/bundles/cdk-drag-drop.umd.js.map +0 -1
  618. package/bundles/cdk-keycodes.umd.js +0 -292
  619. package/bundles/cdk-keycodes.umd.js.map +0 -1
  620. package/bundles/cdk-layout.umd.js +0 -284
  621. package/bundles/cdk-layout.umd.js.map +0 -1
  622. package/bundles/cdk-observers.umd.js +0 -242
  623. package/bundles/cdk-observers.umd.js.map +0 -1
  624. package/bundles/cdk-overlay.umd.js +0 -3417
  625. package/bundles/cdk-overlay.umd.js.map +0 -1
  626. package/bundles/cdk-platform.umd.js +0 -397
  627. package/bundles/cdk-platform.umd.js.map +0 -1
  628. package/bundles/cdk-portal.umd.js +0 -1008
  629. package/bundles/cdk-portal.umd.js.map +0 -1
  630. package/bundles/cdk-scrolling.umd.js +0 -1787
  631. package/bundles/cdk-scrolling.umd.js.map +0 -1
  632. package/bundles/cdk-stepper.umd.js +0 -648
  633. package/bundles/cdk-stepper.umd.js.map +0 -1
  634. package/bundles/cdk-table.umd.js +0 -2730
  635. package/bundles/cdk-table.umd.js.map +0 -1
  636. package/bundles/cdk-testing-protractor.umd.js +0 -833
  637. package/bundles/cdk-testing-protractor.umd.js.map +0 -1
  638. package/bundles/cdk-testing-selenium-webdriver.umd.js +0 -1002
  639. package/bundles/cdk-testing-selenium-webdriver.umd.js.map +0 -1
  640. package/bundles/cdk-testing-testbed.umd.js +0 -1396
  641. package/bundles/cdk-testing-testbed.umd.js.map +0 -1
  642. package/bundles/cdk-testing.umd.js +0 -1285
  643. package/bundles/cdk-testing.umd.js.map +0 -1
  644. package/bundles/cdk-text-field.umd.js +0 -494
  645. package/bundles/cdk-text-field.umd.js.map +0 -1
  646. package/bundles/cdk-tree.umd.js +0 -1308
  647. package/bundles/cdk-tree.umd.js.map +0 -1
  648. package/bundles/cdk.umd.js +0 -38
  649. package/bundles/cdk.umd.js.map +0 -1
  650. package/clipboard/index.metadata.json +0 -1
  651. package/collections/index.metadata.json +0 -1
  652. package/drag-drop/index.metadata.json +0 -1
  653. package/esm2015/a11y/a11y-module.js +0 -30
  654. package/esm2015/a11y/a11y.externs.js +0 -6
  655. package/esm2015/a11y/aria-describer/aria-describer.js +0 -213
  656. package/esm2015/a11y/fake-event-detection.js +0 -28
  657. package/esm2015/a11y/focus-monitor/focus-monitor.js +0 -394
  658. package/esm2015/a11y/focus-trap/configurable-focus-trap-factory.js +0 -52
  659. package/esm2015/a11y/focus-trap/configurable-focus-trap.js +0 -49
  660. package/esm2015/a11y/focus-trap/event-listener-inert-strategy.js +0 -62
  661. package/esm2015/a11y/focus-trap/focus-trap-inert-strategy.js +0 -11
  662. package/esm2015/a11y/focus-trap/focus-trap-manager.js +0 -51
  663. package/esm2015/a11y/focus-trap/focus-trap.js +0 -391
  664. package/esm2015/a11y/high-contrast-mode/high-contrast-mode-detector.js +0 -92
  665. package/esm2015/a11y/index.js +0 -6
  666. package/esm2015/a11y/input-modality/input-modality-detector.js +0 -171
  667. package/esm2015/a11y/interactivity-checker/interactivity-checker.js +0 -237
  668. package/esm2015/a11y/key-manager/list-key-manager.js +0 -317
  669. package/esm2015/a11y/live-announcer/live-announcer-tokens.js +0 -19
  670. package/esm2015/a11y/live-announcer/live-announcer.js +0 -167
  671. package/esm2015/accordion/accordion-item.js +0 -146
  672. package/esm2015/accordion/accordion-module.js +0 -19
  673. package/esm2015/accordion/accordion.externs.js +0 -6
  674. package/esm2015/accordion/accordion.js +0 -63
  675. package/esm2015/accordion/index.js +0 -6
  676. package/esm2015/bidi/bidi-module.js +0 -18
  677. package/esm2015/bidi/bidi.externs.js +0 -6
  678. package/esm2015/bidi/dir.js +0 -58
  679. package/esm2015/bidi/directionality.js +0 -44
  680. package/esm2015/bidi/index.js +0 -6
  681. package/esm2015/cdk.externs.js +0 -0
  682. package/esm2015/clipboard/clipboard-module.js +0 -18
  683. package/esm2015/clipboard/clipboard.externs.js +0 -6
  684. package/esm2015/clipboard/clipboard.js +0 -52
  685. package/esm2015/clipboard/copy-to-clipboard.js +0 -90
  686. package/esm2015/clipboard/index.js +0 -5
  687. package/esm2015/clipboard/pending-copy.js +0 -68
  688. package/esm2015/coercion/coercion.externs.js +0 -0
  689. package/esm2015/collections/collection-viewer.js +0 -9
  690. package/esm2015/collections/collections.externs.js +0 -6
  691. package/esm2015/collections/dispose-view-repeater-strategy.js +0 -48
  692. package/esm2015/collections/index.js +0 -5
  693. package/esm2015/collections/recycle-view-repeater-strategy.js +0 -125
  694. package/esm2015/collections/tree-adapter.js +0 -9
  695. package/esm2015/collections/unique-selection-dispatcher.js +0 -53
  696. package/esm2015/collections/view-repeater.js +0 -14
  697. package/esm2015/drag-drop/client-rect.js +0 -60
  698. package/esm2015/drag-drop/clone-node.js +0 -65
  699. package/esm2015/drag-drop/directives/assertions.js +0 -19
  700. package/esm2015/drag-drop/directives/drag-handle.js +0 -57
  701. package/esm2015/drag-drop/directives/drag-placeholder.js +0 -36
  702. package/esm2015/drag-drop/directives/drag-preview.js +0 -42
  703. package/esm2015/drag-drop/directives/drag.js +0 -413
  704. package/esm2015/drag-drop/directives/drop-list-group.js +0 -47
  705. package/esm2015/drag-drop/directives/drop-list.js +0 -301
  706. package/esm2015/drag-drop/drag-drop-module.js +0 -43
  707. package/esm2015/drag-drop/drag-drop-registry.js +0 -231
  708. package/esm2015/drag-drop/drag-drop.externs.js +0 -6
  709. package/esm2015/drag-drop/drag-drop.js +0 -59
  710. package/esm2015/drag-drop/drag-events.js +0 -9
  711. package/esm2015/drag-drop/drag-ref.js +0 -1110
  712. package/esm2015/drag-drop/drag-styling.js +0 -69
  713. package/esm2015/drag-drop/drag-utils.js +0 -60
  714. package/esm2015/drag-drop/drop-list-ref.js +0 -813
  715. package/esm2015/drag-drop/index.js +0 -5
  716. package/esm2015/drag-drop/transition-duration.js +0 -36
  717. package/esm2015/keycodes/index.js +0 -5
  718. package/esm2015/keycodes/keycodes.externs.js +0 -6
  719. package/esm2015/layout/breakpoints-observer.js +0 -106
  720. package/esm2015/layout/index.js +0 -5
  721. package/esm2015/layout/layout-module.js +0 -14
  722. package/esm2015/layout/layout.externs.js +0 -6
  723. package/esm2015/layout/media-matcher.js +0 -85
  724. package/esm2015/observers/index.js +0 -5
  725. package/esm2015/observers/observe-content.js +0 -179
  726. package/esm2015/observers/observers.externs.js +0 -6
  727. package/esm2015/overlay/dispatchers/base-overlay-dispatcher.js +0 -51
  728. package/esm2015/overlay/dispatchers/overlay-keyboard-dispatcher.js +0 -62
  729. package/esm2015/overlay/dispatchers/overlay-outside-click-dispatcher.js +0 -97
  730. package/esm2015/overlay/fullscreen-overlay-container.js +0 -94
  731. package/esm2015/overlay/index.js +0 -7
  732. package/esm2015/overlay/overlay-config.js +0 -45
  733. package/esm2015/overlay/overlay-container.js +0 -85
  734. package/esm2015/overlay/overlay-directives.js +0 -352
  735. package/esm2015/overlay/overlay-module.js +0 -27
  736. package/esm2015/overlay/overlay-ref.js +0 -409
  737. package/esm2015/overlay/overlay.externs.js +0 -6
  738. package/esm2015/overlay/overlay.js +0 -119
  739. package/esm2015/overlay/position/connected-position.js +0 -94
  740. package/esm2015/overlay/position/flexible-connected-position-strategy.js +0 -960
  741. package/esm2015/overlay/position/global-position-strategy.js +0 -197
  742. package/esm2015/overlay/position/overlay-position-builder.js +0 -52
  743. package/esm2015/overlay/position/scroll-clip.js +0 -42
  744. package/esm2015/overlay/scroll/close-scroll-strategy.js +0 -61
  745. package/esm2015/overlay/scroll/scroll-strategy-options.js +0 -57
  746. package/esm2015/platform/features/passive-listeners.js +0 -36
  747. package/esm2015/platform/features/scrolling.js +0 -85
  748. package/esm2015/platform/features/test-environment.js +0 -16
  749. package/esm2015/platform/index.js +0 -5
  750. package/esm2015/platform/platform-module.js +0 -14
  751. package/esm2015/platform/platform.externs.js +0 -6
  752. package/esm2015/platform/platform.js +0 -77
  753. package/esm2015/portal/dom-portal-outlet.js +0 -136
  754. package/esm2015/portal/index.js +0 -5
  755. package/esm2015/portal/portal-directives.js +0 -221
  756. package/esm2015/portal/portal-injector.js +0 -28
  757. package/esm2015/portal/portal.externs.js +0 -6
  758. package/esm2015/portal/portal.js +0 -179
  759. package/esm2015/scrolling/fixed-size-virtual-scroll.js +0 -188
  760. package/esm2015/scrolling/index.js +0 -5
  761. package/esm2015/scrolling/scroll-dispatcher.js +0 -163
  762. package/esm2015/scrolling/scrollable.js +0 -173
  763. package/esm2015/scrolling/scrolling-module.js +0 -49
  764. package/esm2015/scrolling/scrolling.externs.js +0 -6
  765. package/esm2015/scrolling/viewport-ruler.js +0 -139
  766. package/esm2015/scrolling/virtual-for-of.js +0 -293
  767. package/esm2015/scrolling/virtual-scroll-strategy.js +0 -11
  768. package/esm2015/scrolling/virtual-scroll-viewport.js +0 -371
  769. package/esm2015/stepper/index.js +0 -5
  770. package/esm2015/stepper/step-header.js +0 -29
  771. package/esm2015/stepper/step-label.js +0 -22
  772. package/esm2015/stepper/stepper-button.js +0 -72
  773. package/esm2015/stepper/stepper-module.js +0 -37
  774. package/esm2015/stepper/stepper.externs.js +0 -6
  775. package/esm2015/stepper/stepper.js +0 -428
  776. package/esm2015/table/can-stick.js +0 -42
  777. package/esm2015/table/cell.js +0 -211
  778. package/esm2015/table/coalesced-style-scheduler.js +0 -89
  779. package/esm2015/table/index.js +0 -5
  780. package/esm2015/table/row.js +0 -244
  781. package/esm2015/table/sticky-position-listener.js +0 -11
  782. package/esm2015/table/sticky-styler.js +0 -336
  783. package/esm2015/table/table-module.js +0 -47
  784. package/esm2015/table/table.externs.js +0 -6
  785. package/esm2015/table/table.js +0 -987
  786. package/esm2015/table/text-column.js +0 -127
  787. package/esm2015/testing/change-detection.js +0 -110
  788. package/esm2015/testing/component-harness.js +0 -344
  789. package/esm2015/testing/harness-environment.js +0 -219
  790. package/esm2015/testing/protractor/protractor-element.js +0 -274
  791. package/esm2015/testing/protractor/protractor-harness-environment.js +0 -79
  792. package/esm2015/testing/protractor/protractor.externs.js +0 -0
  793. package/esm2015/testing/selenium-webdriver/selenium-web-driver-element.js +0 -241
  794. package/esm2015/testing/selenium-webdriver/selenium-web-driver-harness-environment.js +0 -97
  795. package/esm2015/testing/selenium-webdriver/selenium-webdriver.externs.js +0 -0
  796. package/esm2015/testing/test-element.js +0 -48
  797. package/esm2015/testing/testbed/fake-events/dispatch-events.js +0 -53
  798. package/esm2015/testing/testbed/fake-events/element-focus.js +0 -39
  799. package/esm2015/testing/testbed/fake-events/event-objects.js +0 -107
  800. package/esm2015/testing/testbed/fake-events/type-in-element.js +0 -79
  801. package/esm2015/testing/testbed/task-state-zone-interceptor.js +0 -82
  802. package/esm2015/testing/testbed/testbed-harness-environment.js +0 -173
  803. package/esm2015/testing/testbed/testbed.externs.js +0 -0
  804. package/esm2015/testing/testbed/unit-test-element.js +0 -266
  805. package/esm2015/testing/testing.externs.js +0 -0
  806. package/esm2015/testing/text-filtering.js +0 -23
  807. package/esm2015/text-field/autofill.js +0 -117
  808. package/esm2015/text-field/autosize.js +0 -293
  809. package/esm2015/text-field/index.js +0 -5
  810. package/esm2015/text-field/text-field-module.js +0 -21
  811. package/esm2015/text-field/text-field.externs.js +0 -6
  812. package/esm2015/tree/control/nested-tree-control.js +0 -59
  813. package/esm2015/tree/index.js +0 -5
  814. package/esm2015/tree/nested-node.js +0 -112
  815. package/esm2015/tree/node.js +0 -36
  816. package/esm2015/tree/outlet.js +0 -34
  817. package/esm2015/tree/padding.js +0 -119
  818. package/esm2015/tree/toggle.js +0 -46
  819. package/esm2015/tree/tree-module.js +0 -32
  820. package/esm2015/tree/tree.externs.js +0 -6
  821. package/esm2015/tree/tree.js +0 -345
  822. package/fesm2015/a11y.js.map +0 -1
  823. package/fesm2015/accordion.js.map +0 -1
  824. package/fesm2015/bidi.js.map +0 -1
  825. package/fesm2015/cdk.js.map +0 -1
  826. package/fesm2015/clipboard.js.map +0 -1
  827. package/fesm2015/coercion.js.map +0 -1
  828. package/fesm2015/collections.js.map +0 -1
  829. package/fesm2015/drag-drop.js.map +0 -1
  830. package/fesm2015/keycodes.js.map +0 -1
  831. package/fesm2015/layout.js.map +0 -1
  832. package/fesm2015/observers.js.map +0 -1
  833. package/fesm2015/overlay.js.map +0 -1
  834. package/fesm2015/platform.js.map +0 -1
  835. package/fesm2015/portal.js.map +0 -1
  836. package/fesm2015/scrolling.js.map +0 -1
  837. package/fesm2015/stepper.js.map +0 -1
  838. package/fesm2015/table.js.map +0 -1
  839. package/fesm2015/testing/protractor.js.map +0 -1
  840. package/fesm2015/testing/selenium-webdriver.js.map +0 -1
  841. package/fesm2015/testing/testbed.js.map +0 -1
  842. package/fesm2015/testing.js.map +0 -1
  843. package/fesm2015/text-field.js.map +0 -1
  844. package/fesm2015/tree.js.map +0 -1
  845. package/keycodes/index.metadata.json +0 -1
  846. package/layout/index.metadata.json +0 -1
  847. package/observers/index.metadata.json +0 -1
  848. package/overlay/index.metadata.json +0 -1
  849. package/platform/index.metadata.json +0 -1
  850. package/portal/index.metadata.json +0 -1
  851. package/scrolling/index.metadata.json +0 -1
  852. package/stepper/index.metadata.json +0 -1
  853. package/table/index.metadata.json +0 -1
  854. package/text-field/index.metadata.json +0 -1
  855. package/tree/index.metadata.json +0 -1
@@ -0,0 +1,975 @@
1
+ import { SelectionModel, isDataSource } from '@angular/cdk/collections';
2
+ import { isObservable, Subject, BehaviorSubject, of } from 'rxjs';
3
+ import { take, filter, takeUntil } from 'rxjs/operators';
4
+ import * as i0 from '@angular/core';
5
+ import { InjectionToken, Directive, Inject, Optional, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, ViewChild, ContentChildren, HostListener, NgModule } from '@angular/core';
6
+ import { coerceNumberProperty, coerceBooleanProperty } from '@angular/cdk/coercion';
7
+ import * as i2 from '@angular/cdk/bidi';
8
+
9
+ /**
10
+ * @license
11
+ * Copyright Google LLC All Rights Reserved.
12
+ *
13
+ * Use of this source code is governed by an MIT-style license that can be
14
+ * found in the LICENSE file at https://angular.io/license
15
+ */
16
+ /** Base tree control. It has basic toggle/expand/collapse operations on a single data node. */
17
+ class BaseTreeControl {
18
+ constructor() {
19
+ /** A selection model with multi-selection to track expansion status. */
20
+ this.expansionModel = new SelectionModel(true);
21
+ }
22
+ /** Toggles one single data node's expanded/collapsed state. */
23
+ toggle(dataNode) {
24
+ this.expansionModel.toggle(this._trackByValue(dataNode));
25
+ }
26
+ /** Expands one single data node. */
27
+ expand(dataNode) {
28
+ this.expansionModel.select(this._trackByValue(dataNode));
29
+ }
30
+ /** Collapses one single data node. */
31
+ collapse(dataNode) {
32
+ this.expansionModel.deselect(this._trackByValue(dataNode));
33
+ }
34
+ /** Whether a given data node is expanded or not. Returns true if the data node is expanded. */
35
+ isExpanded(dataNode) {
36
+ return this.expansionModel.isSelected(this._trackByValue(dataNode));
37
+ }
38
+ /** Toggles a subtree rooted at `node` recursively. */
39
+ toggleDescendants(dataNode) {
40
+ this.expansionModel.isSelected(this._trackByValue(dataNode))
41
+ ? this.collapseDescendants(dataNode)
42
+ : this.expandDescendants(dataNode);
43
+ }
44
+ /** Collapse all dataNodes in the tree. */
45
+ collapseAll() {
46
+ this.expansionModel.clear();
47
+ }
48
+ /** Expands a subtree rooted at given data node recursively. */
49
+ expandDescendants(dataNode) {
50
+ let toBeProcessed = [dataNode];
51
+ toBeProcessed.push(...this.getDescendants(dataNode));
52
+ this.expansionModel.select(...toBeProcessed.map(value => this._trackByValue(value)));
53
+ }
54
+ /** Collapses a subtree rooted at given data node recursively. */
55
+ collapseDescendants(dataNode) {
56
+ let toBeProcessed = [dataNode];
57
+ toBeProcessed.push(...this.getDescendants(dataNode));
58
+ this.expansionModel.deselect(...toBeProcessed.map(value => this._trackByValue(value)));
59
+ }
60
+ _trackByValue(value) {
61
+ return this.trackBy ? this.trackBy(value) : value;
62
+ }
63
+ }
64
+
65
+ /**
66
+ * @license
67
+ * Copyright Google LLC All Rights Reserved.
68
+ *
69
+ * Use of this source code is governed by an MIT-style license that can be
70
+ * found in the LICENSE file at https://angular.io/license
71
+ */
72
+ /** Flat tree control. Able to expand/collapse a subtree recursively for flattened tree. */
73
+ class FlatTreeControl extends BaseTreeControl {
74
+ /** Construct with flat tree data node functions getLevel and isExpandable. */
75
+ constructor(getLevel, isExpandable, options) {
76
+ super();
77
+ this.getLevel = getLevel;
78
+ this.isExpandable = isExpandable;
79
+ this.options = options;
80
+ if (this.options) {
81
+ this.trackBy = this.options.trackBy;
82
+ }
83
+ }
84
+ /**
85
+ * Gets a list of the data node's subtree of descendent data nodes.
86
+ *
87
+ * To make this working, the `dataNodes` of the TreeControl must be flattened tree nodes
88
+ * with correct levels.
89
+ */
90
+ getDescendants(dataNode) {
91
+ const startIndex = this.dataNodes.indexOf(dataNode);
92
+ const results = [];
93
+ // Goes through flattened tree nodes in the `dataNodes` array, and get all descendants.
94
+ // The level of descendants of a tree node must be greater than the level of the given
95
+ // tree node.
96
+ // If we reach a node whose level is equal to the level of the tree node, we hit a sibling.
97
+ // If we reach a node whose level is greater than the level of the tree node, we hit a
98
+ // sibling of an ancestor.
99
+ for (let i = startIndex + 1; i < this.dataNodes.length && this.getLevel(dataNode) < this.getLevel(this.dataNodes[i]); i++) {
100
+ results.push(this.dataNodes[i]);
101
+ }
102
+ return results;
103
+ }
104
+ /**
105
+ * Expands all data nodes in the tree.
106
+ *
107
+ * To make this working, the `dataNodes` variable of the TreeControl must be set to all flattened
108
+ * data nodes of the tree.
109
+ */
110
+ expandAll() {
111
+ this.expansionModel.select(...this.dataNodes.map(node => this._trackByValue(node)));
112
+ }
113
+ }
114
+
115
+ /**
116
+ * @license
117
+ * Copyright Google LLC All Rights Reserved.
118
+ *
119
+ * Use of this source code is governed by an MIT-style license that can be
120
+ * found in the LICENSE file at https://angular.io/license
121
+ */
122
+ /** Nested tree control. Able to expand/collapse a subtree recursively for NestedNode type. */
123
+ class NestedTreeControl extends BaseTreeControl {
124
+ /** Construct with nested tree function getChildren. */
125
+ constructor(getChildren, options) {
126
+ super();
127
+ this.getChildren = getChildren;
128
+ this.options = options;
129
+ if (this.options) {
130
+ this.trackBy = this.options.trackBy;
131
+ }
132
+ }
133
+ /**
134
+ * Expands all dataNodes in the tree.
135
+ *
136
+ * To make this working, the `dataNodes` variable of the TreeControl must be set to all root level
137
+ * data nodes of the tree.
138
+ */
139
+ expandAll() {
140
+ this.expansionModel.clear();
141
+ const allNodes = this.dataNodes.reduce((accumulator, dataNode) => [...accumulator, ...this.getDescendants(dataNode), dataNode], []);
142
+ this.expansionModel.select(...allNodes.map(node => this._trackByValue(node)));
143
+ }
144
+ /** Gets a list of descendant dataNodes of a subtree rooted at given data node recursively. */
145
+ getDescendants(dataNode) {
146
+ const descendants = [];
147
+ this._getDescendants(descendants, dataNode);
148
+ // Remove the node itself
149
+ return descendants.splice(1);
150
+ }
151
+ /** A helper function to get descendants recursively. */
152
+ _getDescendants(descendants, dataNode) {
153
+ descendants.push(dataNode);
154
+ const childrenNodes = this.getChildren(dataNode);
155
+ if (Array.isArray(childrenNodes)) {
156
+ childrenNodes.forEach((child) => this._getDescendants(descendants, child));
157
+ }
158
+ else if (isObservable(childrenNodes)) {
159
+ // TypeScript as of version 3.5 doesn't seem to treat `Boolean` like a function that
160
+ // returns a `boolean` specifically in the context of `filter`, so we manually clarify that.
161
+ childrenNodes.pipe(take(1), filter(Boolean)).subscribe(children => {
162
+ for (const child of children) {
163
+ this._getDescendants(descendants, child);
164
+ }
165
+ });
166
+ }
167
+ }
168
+ }
169
+
170
+ /**
171
+ * @license
172
+ * Copyright Google LLC All Rights Reserved.
173
+ *
174
+ * Use of this source code is governed by an MIT-style license that can be
175
+ * found in the LICENSE file at https://angular.io/license
176
+ */
177
+ /**
178
+ * Injection token used to provide a `CdkTreeNode` to its outlet.
179
+ * Used primarily to avoid circular imports.
180
+ * @docs-private
181
+ */
182
+ const CDK_TREE_NODE_OUTLET_NODE = new InjectionToken('CDK_TREE_NODE_OUTLET_NODE');
183
+ /**
184
+ * Outlet for nested CdkNode. Put `[cdkTreeNodeOutlet]` on a tag to place children dataNodes
185
+ * inside the outlet.
186
+ */
187
+ class CdkTreeNodeOutlet {
188
+ constructor(viewContainer, _node) {
189
+ this.viewContainer = viewContainer;
190
+ this._node = _node;
191
+ }
192
+ }
193
+ CdkTreeNodeOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkTreeNodeOutlet, deps: [{ token: i0.ViewContainerRef }, { token: CDK_TREE_NODE_OUTLET_NODE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
194
+ CdkTreeNodeOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-next.15", type: CdkTreeNodeOutlet, selector: "[cdkTreeNodeOutlet]", ngImport: i0 });
195
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkTreeNodeOutlet, decorators: [{
196
+ type: Directive,
197
+ args: [{
198
+ selector: '[cdkTreeNodeOutlet]',
199
+ }]
200
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: undefined, decorators: [{
201
+ type: Inject,
202
+ args: [CDK_TREE_NODE_OUTLET_NODE]
203
+ }, {
204
+ type: Optional
205
+ }] }]; } });
206
+
207
+ /**
208
+ * @license
209
+ * Copyright Google LLC All Rights Reserved.
210
+ *
211
+ * Use of this source code is governed by an MIT-style license that can be
212
+ * found in the LICENSE file at https://angular.io/license
213
+ */
214
+ /** Context provided to the tree node component. */
215
+ class CdkTreeNodeOutletContext {
216
+ constructor(data) {
217
+ this.$implicit = data;
218
+ }
219
+ }
220
+ /**
221
+ * Data node definition for the CdkTree.
222
+ * Captures the node's template and a when predicate that describes when this node should be used.
223
+ */
224
+ class CdkTreeNodeDef {
225
+ /** @docs-private */
226
+ constructor(template) {
227
+ this.template = template;
228
+ }
229
+ }
230
+ CdkTreeNodeDef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkTreeNodeDef, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
231
+ CdkTreeNodeDef.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-next.15", type: CdkTreeNodeDef, selector: "[cdkTreeNodeDef]", inputs: { when: ["cdkTreeNodeDefWhen", "when"] }, ngImport: i0 });
232
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkTreeNodeDef, decorators: [{
233
+ type: Directive,
234
+ args: [{
235
+ selector: '[cdkTreeNodeDef]',
236
+ inputs: ['when: cdkTreeNodeDefWhen'],
237
+ }]
238
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
239
+
240
+ /**
241
+ * @license
242
+ * Copyright Google LLC All Rights Reserved.
243
+ *
244
+ * Use of this source code is governed by an MIT-style license that can be
245
+ * found in the LICENSE file at https://angular.io/license
246
+ */
247
+ /**
248
+ * Returns an error to be thrown when there is no usable data.
249
+ * @docs-private
250
+ */
251
+ function getTreeNoValidDataSourceError() {
252
+ return Error(`A valid data source must be provided.`);
253
+ }
254
+ /**
255
+ * Returns an error to be thrown when there are multiple nodes that are missing a when function.
256
+ * @docs-private
257
+ */
258
+ function getTreeMultipleDefaultNodeDefsError() {
259
+ return Error(`There can only be one default row without a when predicate function.`);
260
+ }
261
+ /**
262
+ * Returns an error to be thrown when there are no matching node defs for a particular set of data.
263
+ * @docs-private
264
+ */
265
+ function getTreeMissingMatchingNodeDefError() {
266
+ return Error(`Could not find a matching node definition for the provided node data.`);
267
+ }
268
+ /**
269
+ * Returns an error to be thrown when there are tree control.
270
+ * @docs-private
271
+ */
272
+ function getTreeControlMissingError() {
273
+ return Error(`Could not find a tree control for the tree.`);
274
+ }
275
+ /**
276
+ * Returns an error to be thrown when tree control did not implement functions for flat/nested node.
277
+ * @docs-private
278
+ */
279
+ function getTreeControlFunctionsMissingError() {
280
+ return Error(`Could not find functions for nested/flat tree in tree control.`);
281
+ }
282
+
283
+ /**
284
+ * CDK tree component that connects with a data source to retrieve data of type `T` and renders
285
+ * dataNodes with hierarchy. Updates the dataNodes when new data is provided by the data source.
286
+ */
287
+ class CdkTree {
288
+ constructor(_differs, _changeDetectorRef) {
289
+ this._differs = _differs;
290
+ this._changeDetectorRef = _changeDetectorRef;
291
+ /** Subject that emits when the component has been destroyed. */
292
+ this._onDestroy = new Subject();
293
+ /** Level of nodes */
294
+ this._levels = new Map();
295
+ // TODO(tinayuangao): Setup a listener for scrolling, emit the calculated view to viewChange.
296
+ // Remove the MAX_VALUE in viewChange
297
+ /**
298
+ * Stream containing the latest information on what rows are being displayed on screen.
299
+ * Can be used by the data source to as a heuristic of what data should be provided.
300
+ */
301
+ this.viewChange = new BehaviorSubject({
302
+ start: 0,
303
+ end: Number.MAX_VALUE,
304
+ });
305
+ }
306
+ /**
307
+ * Provides a stream containing the latest data array to render. Influenced by the tree's
308
+ * stream of view window (what dataNodes are currently on screen).
309
+ * Data source can be an observable of data array, or a data array to render.
310
+ */
311
+ get dataSource() {
312
+ return this._dataSource;
313
+ }
314
+ set dataSource(dataSource) {
315
+ if (this._dataSource !== dataSource) {
316
+ this._switchDataSource(dataSource);
317
+ }
318
+ }
319
+ ngOnInit() {
320
+ this._dataDiffer = this._differs.find([]).create(this.trackBy);
321
+ if (!this.treeControl && (typeof ngDevMode === 'undefined' || ngDevMode)) {
322
+ throw getTreeControlMissingError();
323
+ }
324
+ }
325
+ ngOnDestroy() {
326
+ this._nodeOutlet.viewContainer.clear();
327
+ this.viewChange.complete();
328
+ this._onDestroy.next();
329
+ this._onDestroy.complete();
330
+ if (this._dataSource && typeof this._dataSource.disconnect === 'function') {
331
+ this.dataSource.disconnect(this);
332
+ }
333
+ if (this._dataSubscription) {
334
+ this._dataSubscription.unsubscribe();
335
+ this._dataSubscription = null;
336
+ }
337
+ }
338
+ ngAfterContentChecked() {
339
+ const defaultNodeDefs = this._nodeDefs.filter(def => !def.when);
340
+ if (defaultNodeDefs.length > 1 && (typeof ngDevMode === 'undefined' || ngDevMode)) {
341
+ throw getTreeMultipleDefaultNodeDefsError();
342
+ }
343
+ this._defaultNodeDef = defaultNodeDefs[0];
344
+ if (this.dataSource && this._nodeDefs && !this._dataSubscription) {
345
+ this._observeRenderChanges();
346
+ }
347
+ }
348
+ // TODO(tinayuangao): Work on keyboard traversal and actions, make sure it's working for RTL
349
+ // and nested trees.
350
+ /**
351
+ * Switch to the provided data source by resetting the data and unsubscribing from the current
352
+ * render change subscription if one exists. If the data source is null, interpret this by
353
+ * clearing the node outlet. Otherwise start listening for new data.
354
+ */
355
+ _switchDataSource(dataSource) {
356
+ if (this._dataSource && typeof this._dataSource.disconnect === 'function') {
357
+ this.dataSource.disconnect(this);
358
+ }
359
+ if (this._dataSubscription) {
360
+ this._dataSubscription.unsubscribe();
361
+ this._dataSubscription = null;
362
+ }
363
+ // Remove the all dataNodes if there is now no data source
364
+ if (!dataSource) {
365
+ this._nodeOutlet.viewContainer.clear();
366
+ }
367
+ this._dataSource = dataSource;
368
+ if (this._nodeDefs) {
369
+ this._observeRenderChanges();
370
+ }
371
+ }
372
+ /** Set up a subscription for the data provided by the data source. */
373
+ _observeRenderChanges() {
374
+ let dataStream;
375
+ if (isDataSource(this._dataSource)) {
376
+ dataStream = this._dataSource.connect(this);
377
+ }
378
+ else if (isObservable(this._dataSource)) {
379
+ dataStream = this._dataSource;
380
+ }
381
+ else if (Array.isArray(this._dataSource)) {
382
+ dataStream = of(this._dataSource);
383
+ }
384
+ if (dataStream) {
385
+ this._dataSubscription = dataStream
386
+ .pipe(takeUntil(this._onDestroy))
387
+ .subscribe(data => this.renderNodeChanges(data));
388
+ }
389
+ else if (typeof ngDevMode === 'undefined' || ngDevMode) {
390
+ throw getTreeNoValidDataSourceError();
391
+ }
392
+ }
393
+ /** Check for changes made in the data and render each change (node added/removed/moved). */
394
+ renderNodeChanges(data, dataDiffer = this._dataDiffer, viewContainer = this._nodeOutlet.viewContainer, parentData) {
395
+ const changes = dataDiffer.diff(data);
396
+ if (!changes) {
397
+ return;
398
+ }
399
+ changes.forEachOperation((item, adjustedPreviousIndex, currentIndex) => {
400
+ if (item.previousIndex == null) {
401
+ this.insertNode(data[currentIndex], currentIndex, viewContainer, parentData);
402
+ }
403
+ else if (currentIndex == null) {
404
+ viewContainer.remove(adjustedPreviousIndex);
405
+ this._levels.delete(item.item);
406
+ }
407
+ else {
408
+ const view = viewContainer.get(adjustedPreviousIndex);
409
+ viewContainer.move(view, currentIndex);
410
+ }
411
+ });
412
+ this._changeDetectorRef.detectChanges();
413
+ }
414
+ /**
415
+ * Finds the matching node definition that should be used for this node data. If there is only
416
+ * one node definition, it is returned. Otherwise, find the node definition that has a when
417
+ * predicate that returns true with the data. If none return true, return the default node
418
+ * definition.
419
+ */
420
+ _getNodeDef(data, i) {
421
+ if (this._nodeDefs.length === 1) {
422
+ return this._nodeDefs.first;
423
+ }
424
+ const nodeDef = this._nodeDefs.find(def => def.when && def.when(i, data)) || this._defaultNodeDef;
425
+ if (!nodeDef && (typeof ngDevMode === 'undefined' || ngDevMode)) {
426
+ throw getTreeMissingMatchingNodeDefError();
427
+ }
428
+ return nodeDef;
429
+ }
430
+ /**
431
+ * Create the embedded view for the data node template and place it in the correct index location
432
+ * within the data node view container.
433
+ */
434
+ insertNode(nodeData, index, viewContainer, parentData) {
435
+ const node = this._getNodeDef(nodeData, index);
436
+ // Node context that will be provided to created embedded view
437
+ const context = new CdkTreeNodeOutletContext(nodeData);
438
+ // If the tree is flat tree, then use the `getLevel` function in flat tree control
439
+ // Otherwise, use the level of parent node.
440
+ if (this.treeControl.getLevel) {
441
+ context.level = this.treeControl.getLevel(nodeData);
442
+ }
443
+ else if (typeof parentData !== 'undefined' && this._levels.has(parentData)) {
444
+ context.level = this._levels.get(parentData) + 1;
445
+ }
446
+ else {
447
+ context.level = 0;
448
+ }
449
+ this._levels.set(nodeData, context.level);
450
+ // Use default tree nodeOutlet, or nested node's nodeOutlet
451
+ const container = viewContainer ? viewContainer : this._nodeOutlet.viewContainer;
452
+ container.createEmbeddedView(node.template, context, index);
453
+ // Set the data to just created `CdkTreeNode`.
454
+ // The `CdkTreeNode` created from `createEmbeddedView` will be saved in static variable
455
+ // `mostRecentTreeNode`. We get it from static variable and pass the node data to it.
456
+ if (CdkTreeNode.mostRecentTreeNode) {
457
+ CdkTreeNode.mostRecentTreeNode.data = nodeData;
458
+ }
459
+ }
460
+ }
461
+ CdkTree.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkTree, deps: [{ token: i0.IterableDiffers }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
462
+ CdkTree.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0-next.15", type: CdkTree, selector: "cdk-tree", inputs: { dataSource: "dataSource", treeControl: "treeControl", trackBy: "trackBy" }, host: { attributes: { "role": "tree" }, classAttribute: "cdk-tree" }, queries: [{ propertyName: "_nodeDefs", predicate: CdkTreeNodeDef, descendants: true }], viewQueries: [{ propertyName: "_nodeOutlet", first: true, predicate: CdkTreeNodeOutlet, descendants: true, static: true }], exportAs: ["cdkTree"], ngImport: i0, template: `<ng-container cdkTreeNodeOutlet></ng-container>`, isInline: true, directives: [{ type: CdkTreeNodeOutlet, selector: "[cdkTreeNodeOutlet]" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
463
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkTree, decorators: [{
464
+ type: Component,
465
+ args: [{
466
+ selector: 'cdk-tree',
467
+ exportAs: 'cdkTree',
468
+ template: `<ng-container cdkTreeNodeOutlet></ng-container>`,
469
+ host: {
470
+ 'class': 'cdk-tree',
471
+ 'role': 'tree',
472
+ },
473
+ encapsulation: ViewEncapsulation.None,
474
+ // The "OnPush" status for the `CdkTree` component is effectively a noop, so we are removing it.
475
+ // The view for `CdkTree` consists entirely of templates declared in other views. As they are
476
+ // declared elsewhere, they are checked when their declaration points are checked.
477
+ // tslint:disable-next-line:validate-decorators
478
+ changeDetection: ChangeDetectionStrategy.Default,
479
+ }]
480
+ }], ctorParameters: function () { return [{ type: i0.IterableDiffers }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { dataSource: [{
481
+ type: Input
482
+ }], treeControl: [{
483
+ type: Input
484
+ }], trackBy: [{
485
+ type: Input
486
+ }], _nodeOutlet: [{
487
+ type: ViewChild,
488
+ args: [CdkTreeNodeOutlet, { static: true }]
489
+ }], _nodeDefs: [{
490
+ type: ContentChildren,
491
+ args: [CdkTreeNodeDef, {
492
+ // We need to use `descendants: true`, because Ivy will no longer match
493
+ // indirect descendants if it's left as false.
494
+ descendants: true,
495
+ }]
496
+ }] } });
497
+ /**
498
+ * Tree node for CdkTree. It contains the data in the tree node.
499
+ */
500
+ class CdkTreeNode {
501
+ constructor(_elementRef, _tree) {
502
+ this._elementRef = _elementRef;
503
+ this._tree = _tree;
504
+ /** Subject that emits when the component has been destroyed. */
505
+ this._destroyed = new Subject();
506
+ /** Emits when the node's data has changed. */
507
+ this._dataChanges = new Subject();
508
+ CdkTreeNode.mostRecentTreeNode = this;
509
+ // The classes are directly added here instead of in the host property because classes on
510
+ // the host property are not inherited with View Engine. It is not set as a @HostBinding because
511
+ // it is not set by the time it's children nodes try to read the class from it.
512
+ // TODO: move to host after View Engine deprecation
513
+ this._elementRef.nativeElement.classList.add('cdk-tree-node');
514
+ this.role = 'treeitem';
515
+ }
516
+ /**
517
+ * The role of the tree node.
518
+ * @deprecated The correct role is 'treeitem', 'group' should not be used. This input will be
519
+ * removed in a future version.
520
+ * @breaking-change 12.0.0 Remove this input
521
+ */
522
+ get role() {
523
+ return 'treeitem';
524
+ }
525
+ set role(_role) {
526
+ // TODO: move to host after View Engine deprecation
527
+ this._elementRef.nativeElement.setAttribute('role', _role);
528
+ }
529
+ /** The tree node's data. */
530
+ get data() {
531
+ return this._data;
532
+ }
533
+ set data(value) {
534
+ if (value !== this._data) {
535
+ this._data = value;
536
+ this._setRoleFromData();
537
+ this._dataChanges.next();
538
+ }
539
+ }
540
+ get isExpanded() {
541
+ return this._tree.treeControl.isExpanded(this._data);
542
+ }
543
+ _setExpanded(_expanded) {
544
+ this._isAriaExpanded = _expanded;
545
+ this._elementRef.nativeElement.setAttribute('aria-expanded', `${_expanded}`);
546
+ }
547
+ get level() {
548
+ // If the treeControl has a getLevel method, use it to get the level. Otherwise read the
549
+ // aria-level off the parent node and use it as the level for this node (note aria-level is
550
+ // 1-indexed, while this property is 0-indexed, so we don't need to increment).
551
+ return this._tree.treeControl.getLevel
552
+ ? this._tree.treeControl.getLevel(this._data)
553
+ : this._parentNodeAriaLevel;
554
+ }
555
+ ngOnInit() {
556
+ this._parentNodeAriaLevel = getParentNodeAriaLevel(this._elementRef.nativeElement);
557
+ this._elementRef.nativeElement.setAttribute('aria-level', `${this.level + 1}`);
558
+ }
559
+ ngDoCheck() {
560
+ // aria-expanded is be set here because the expanded state is stored in the tree control and
561
+ // the node isn't aware when the state is changed.
562
+ // It is not set using a @HostBinding because they sometimes get lost with Mixin based classes.
563
+ // TODO: move to host after View Engine deprecation
564
+ if (this.isExpanded != this._isAriaExpanded) {
565
+ this._setExpanded(this.isExpanded);
566
+ }
567
+ }
568
+ ngOnDestroy() {
569
+ // If this is the last tree node being destroyed,
570
+ // clear out the reference to avoid leaking memory.
571
+ if (CdkTreeNode.mostRecentTreeNode === this) {
572
+ CdkTreeNode.mostRecentTreeNode = null;
573
+ }
574
+ this._dataChanges.complete();
575
+ this._destroyed.next();
576
+ this._destroyed.complete();
577
+ }
578
+ /** Focuses the menu item. Implements for FocusableOption. */
579
+ focus() {
580
+ this._elementRef.nativeElement.focus();
581
+ }
582
+ // TODO: role should eventually just be set in the component host
583
+ _setRoleFromData() {
584
+ if (!this._tree.treeControl.isExpandable &&
585
+ !this._tree.treeControl.getChildren &&
586
+ (typeof ngDevMode === 'undefined' || ngDevMode)) {
587
+ throw getTreeControlFunctionsMissingError();
588
+ }
589
+ this.role = 'treeitem';
590
+ }
591
+ }
592
+ /**
593
+ * The most recently created `CdkTreeNode`. We save it in static variable so we can retrieve it
594
+ * in `CdkTree` and set the data to it.
595
+ */
596
+ CdkTreeNode.mostRecentTreeNode = null;
597
+ CdkTreeNode.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkTreeNode, deps: [{ token: i0.ElementRef }, { token: CdkTree }], target: i0.ɵɵFactoryTarget.Directive });
598
+ CdkTreeNode.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-next.15", type: CdkTreeNode, selector: "cdk-tree-node", inputs: { role: "role" }, exportAs: ["cdkTreeNode"], ngImport: i0 });
599
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkTreeNode, decorators: [{
600
+ type: Directive,
601
+ args: [{
602
+ selector: 'cdk-tree-node',
603
+ exportAs: 'cdkTreeNode',
604
+ }]
605
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: CdkTree }]; }, propDecorators: { role: [{
606
+ type: Input
607
+ }] } });
608
+ function getParentNodeAriaLevel(nodeElement) {
609
+ let parent = nodeElement.parentElement;
610
+ while (parent && !isNodeElement(parent)) {
611
+ parent = parent.parentElement;
612
+ }
613
+ if (!parent) {
614
+ if (typeof ngDevMode === 'undefined' || ngDevMode) {
615
+ throw Error('Incorrect tree structure containing detached node.');
616
+ }
617
+ else {
618
+ return -1;
619
+ }
620
+ }
621
+ else if (parent.classList.contains('cdk-nested-tree-node')) {
622
+ return coerceNumberProperty(parent.getAttribute('aria-level'));
623
+ }
624
+ else {
625
+ // The ancestor element is the cdk-tree itself
626
+ return 0;
627
+ }
628
+ }
629
+ function isNodeElement(element) {
630
+ const classList = element.classList;
631
+ return !!(classList?.contains('cdk-nested-tree-node') || classList?.contains('cdk-tree'));
632
+ }
633
+
634
+ /**
635
+ * @license
636
+ * Copyright Google LLC All Rights Reserved.
637
+ *
638
+ * Use of this source code is governed by an MIT-style license that can be
639
+ * found in the LICENSE file at https://angular.io/license
640
+ */
641
+ /**
642
+ * Nested node is a child of `<cdk-tree>`. It works with nested tree.
643
+ * By using `cdk-nested-tree-node` component in tree node template, children of the parent node will
644
+ * be added in the `cdkTreeNodeOutlet` in tree node template.
645
+ * The children of node will be automatically added to `cdkTreeNodeOutlet`.
646
+ */
647
+ class CdkNestedTreeNode extends CdkTreeNode {
648
+ constructor(elementRef, tree, _differs) {
649
+ super(elementRef, tree);
650
+ this._differs = _differs;
651
+ // The classes are directly added here instead of in the host property because classes on
652
+ // the host property are not inherited with View Engine. It is not set as a @HostBinding because
653
+ // it is not set by the time it's children nodes try to read the class from it.
654
+ // TODO: move to host after View Engine deprecation
655
+ elementRef.nativeElement.classList.add('cdk-nested-tree-node');
656
+ }
657
+ ngAfterContentInit() {
658
+ this._dataDiffer = this._differs.find([]).create(this._tree.trackBy);
659
+ if (!this._tree.treeControl.getChildren && (typeof ngDevMode === 'undefined' || ngDevMode)) {
660
+ throw getTreeControlFunctionsMissingError();
661
+ }
662
+ const childrenNodes = this._tree.treeControl.getChildren(this.data);
663
+ if (Array.isArray(childrenNodes)) {
664
+ this.updateChildrenNodes(childrenNodes);
665
+ }
666
+ else if (isObservable(childrenNodes)) {
667
+ childrenNodes
668
+ .pipe(takeUntil(this._destroyed))
669
+ .subscribe(result => this.updateChildrenNodes(result));
670
+ }
671
+ this.nodeOutlet.changes
672
+ .pipe(takeUntil(this._destroyed))
673
+ .subscribe(() => this.updateChildrenNodes());
674
+ }
675
+ // This is a workaround for https://github.com/angular/angular/issues/23091
676
+ // In aot mode, the lifecycle hooks from parent class are not called.
677
+ ngOnInit() {
678
+ super.ngOnInit();
679
+ }
680
+ ngDoCheck() {
681
+ super.ngDoCheck();
682
+ }
683
+ ngOnDestroy() {
684
+ this._clear();
685
+ super.ngOnDestroy();
686
+ }
687
+ /** Add children dataNodes to the NodeOutlet */
688
+ updateChildrenNodes(children) {
689
+ const outlet = this._getNodeOutlet();
690
+ if (children) {
691
+ this._children = children;
692
+ }
693
+ if (outlet && this._children) {
694
+ const viewContainer = outlet.viewContainer;
695
+ this._tree.renderNodeChanges(this._children, this._dataDiffer, viewContainer, this._data);
696
+ }
697
+ else {
698
+ // Reset the data differ if there's no children nodes displayed
699
+ this._dataDiffer.diff([]);
700
+ }
701
+ }
702
+ /** Clear the children dataNodes. */
703
+ _clear() {
704
+ const outlet = this._getNodeOutlet();
705
+ if (outlet) {
706
+ outlet.viewContainer.clear();
707
+ this._dataDiffer.diff([]);
708
+ }
709
+ }
710
+ /** Gets the outlet for the current node. */
711
+ _getNodeOutlet() {
712
+ const outlets = this.nodeOutlet;
713
+ // Note that since we use `descendants: true` on the query, we have to ensure
714
+ // that we don't pick up the outlet of a child node by accident.
715
+ return outlets && outlets.find(outlet => !outlet._node || outlet._node === this);
716
+ }
717
+ }
718
+ CdkNestedTreeNode.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkNestedTreeNode, deps: [{ token: i0.ElementRef }, { token: CdkTree }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Directive });
719
+ CdkNestedTreeNode.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-next.15", type: CdkNestedTreeNode, selector: "cdk-nested-tree-node", inputs: { role: "role", disabled: "disabled", tabIndex: "tabIndex" }, providers: [
720
+ { provide: CdkTreeNode, useExisting: CdkNestedTreeNode },
721
+ { provide: CDK_TREE_NODE_OUTLET_NODE, useExisting: CdkNestedTreeNode },
722
+ ], queries: [{ propertyName: "nodeOutlet", predicate: CdkTreeNodeOutlet, descendants: true }], exportAs: ["cdkNestedTreeNode"], usesInheritance: true, ngImport: i0 });
723
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkNestedTreeNode, decorators: [{
724
+ type: Directive,
725
+ args: [{
726
+ selector: 'cdk-nested-tree-node',
727
+ exportAs: 'cdkNestedTreeNode',
728
+ inputs: ['role', 'disabled', 'tabIndex'],
729
+ providers: [
730
+ { provide: CdkTreeNode, useExisting: CdkNestedTreeNode },
731
+ { provide: CDK_TREE_NODE_OUTLET_NODE, useExisting: CdkNestedTreeNode },
732
+ ],
733
+ }]
734
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: CdkTree }, { type: i0.IterableDiffers }]; }, propDecorators: { nodeOutlet: [{
735
+ type: ContentChildren,
736
+ args: [CdkTreeNodeOutlet, {
737
+ // We need to use `descendants: true`, because Ivy will no longer match
738
+ // indirect descendants if it's left as false.
739
+ descendants: true,
740
+ }]
741
+ }] } });
742
+
743
+ /**
744
+ * @license
745
+ * Copyright Google LLC All Rights Reserved.
746
+ *
747
+ * Use of this source code is governed by an MIT-style license that can be
748
+ * found in the LICENSE file at https://angular.io/license
749
+ */
750
+ /** Regex used to split a string on its CSS units. */
751
+ const cssUnitPattern = /([A-Za-z%]+)$/;
752
+ /**
753
+ * Indent for the children tree dataNodes.
754
+ * This directive will add left-padding to the node to show hierarchy.
755
+ */
756
+ class CdkTreeNodePadding {
757
+ constructor(_treeNode, _tree, _element, _dir) {
758
+ this._treeNode = _treeNode;
759
+ this._tree = _tree;
760
+ this._element = _element;
761
+ this._dir = _dir;
762
+ /** Subject that emits when the component has been destroyed. */
763
+ this._destroyed = new Subject();
764
+ /** CSS units used for the indentation value. */
765
+ this.indentUnits = 'px';
766
+ this._indent = 40;
767
+ this._setPadding();
768
+ if (_dir) {
769
+ _dir.change.pipe(takeUntil(this._destroyed)).subscribe(() => this._setPadding(true));
770
+ }
771
+ // In Ivy the indentation binding might be set before the tree node's data has been added,
772
+ // which means that we'll miss the first render. We have to subscribe to changes in the
773
+ // data to ensure that everything is up to date.
774
+ _treeNode._dataChanges.subscribe(() => this._setPadding());
775
+ }
776
+ /** The level of depth of the tree node. The padding will be `level * indent` pixels. */
777
+ get level() {
778
+ return this._level;
779
+ }
780
+ set level(value) {
781
+ this._setLevelInput(value);
782
+ }
783
+ /**
784
+ * The indent for each level. Can be a number or a CSS string.
785
+ * Default number 40px from material design menu sub-menu spec.
786
+ */
787
+ get indent() {
788
+ return this._indent;
789
+ }
790
+ set indent(indent) {
791
+ this._setIndentInput(indent);
792
+ }
793
+ ngOnDestroy() {
794
+ this._destroyed.next();
795
+ this._destroyed.complete();
796
+ }
797
+ /** The padding indent value for the tree node. Returns a string with px numbers if not null. */
798
+ _paddingIndent() {
799
+ const nodeLevel = this._treeNode.data && this._tree.treeControl.getLevel
800
+ ? this._tree.treeControl.getLevel(this._treeNode.data)
801
+ : null;
802
+ const level = this._level == null ? nodeLevel : this._level;
803
+ return typeof level === 'number' ? `${level * this._indent}${this.indentUnits}` : null;
804
+ }
805
+ _setPadding(forceChange = false) {
806
+ const padding = this._paddingIndent();
807
+ if (padding !== this._currentPadding || forceChange) {
808
+ const element = this._element.nativeElement;
809
+ const paddingProp = this._dir && this._dir.value === 'rtl' ? 'paddingRight' : 'paddingLeft';
810
+ const resetProp = paddingProp === 'paddingLeft' ? 'paddingRight' : 'paddingLeft';
811
+ element.style[paddingProp] = padding || '';
812
+ element.style[resetProp] = '';
813
+ this._currentPadding = padding;
814
+ }
815
+ }
816
+ /**
817
+ * This has been extracted to a util because of TS 4 and VE.
818
+ * View Engine doesn't support property rename inheritance.
819
+ * TS 4.0 doesn't allow properties to override accessors or vice-versa.
820
+ * @docs-private
821
+ */
822
+ _setLevelInput(value) {
823
+ // Set to null as the fallback value so that _setPadding can fall back to the node level if the
824
+ // consumer set the directive as `cdkTreeNodePadding=""`. We still want to take this value if
825
+ // they set 0 explicitly.
826
+ this._level = coerceNumberProperty(value, null);
827
+ this._setPadding();
828
+ }
829
+ /**
830
+ * This has been extracted to a util because of TS 4 and VE.
831
+ * View Engine doesn't support property rename inheritance.
832
+ * TS 4.0 doesn't allow properties to override accessors or vice-versa.
833
+ * @docs-private
834
+ */
835
+ _setIndentInput(indent) {
836
+ let value = indent;
837
+ let units = 'px';
838
+ if (typeof indent === 'string') {
839
+ const parts = indent.split(cssUnitPattern);
840
+ value = parts[0];
841
+ units = parts[1] || units;
842
+ }
843
+ this.indentUnits = units;
844
+ this._indent = coerceNumberProperty(value);
845
+ this._setPadding();
846
+ }
847
+ }
848
+ CdkTreeNodePadding.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkTreeNodePadding, deps: [{ token: CdkTreeNode }, { token: CdkTree }, { token: i0.ElementRef }, { token: i2.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
849
+ CdkTreeNodePadding.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-next.15", type: CdkTreeNodePadding, selector: "[cdkTreeNodePadding]", inputs: { level: ["cdkTreeNodePadding", "level"], indent: ["cdkTreeNodePaddingIndent", "indent"] }, ngImport: i0 });
850
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkTreeNodePadding, decorators: [{
851
+ type: Directive,
852
+ args: [{
853
+ selector: '[cdkTreeNodePadding]',
854
+ }]
855
+ }], ctorParameters: function () { return [{ type: CdkTreeNode }, { type: CdkTree }, { type: i0.ElementRef }, { type: i2.Directionality, decorators: [{
856
+ type: Optional
857
+ }] }]; }, propDecorators: { level: [{
858
+ type: Input,
859
+ args: ['cdkTreeNodePadding']
860
+ }], indent: [{
861
+ type: Input,
862
+ args: ['cdkTreeNodePaddingIndent']
863
+ }] } });
864
+
865
+ /**
866
+ * @license
867
+ * Copyright Google LLC All Rights Reserved.
868
+ *
869
+ * Use of this source code is governed by an MIT-style license that can be
870
+ * found in the LICENSE file at https://angular.io/license
871
+ */
872
+ /**
873
+ * Node toggle to expand/collapse the node.
874
+ */
875
+ class CdkTreeNodeToggle {
876
+ constructor(_tree, _treeNode) {
877
+ this._tree = _tree;
878
+ this._treeNode = _treeNode;
879
+ this._recursive = false;
880
+ }
881
+ /** Whether expand/collapse the node recursively. */
882
+ get recursive() {
883
+ return this._recursive;
884
+ }
885
+ set recursive(value) {
886
+ this._recursive = coerceBooleanProperty(value);
887
+ }
888
+ // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.
889
+ // In Ivy the `host` bindings will be merged when this class is extended, whereas in
890
+ // ViewEngine they're overwritten.
891
+ // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.
892
+ // tslint:disable-next-line:no-host-decorator-in-concrete
893
+ _toggle(event) {
894
+ this.recursive
895
+ ? this._tree.treeControl.toggleDescendants(this._treeNode.data)
896
+ : this._tree.treeControl.toggle(this._treeNode.data);
897
+ event.stopPropagation();
898
+ }
899
+ }
900
+ CdkTreeNodeToggle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkTreeNodeToggle, deps: [{ token: CdkTree }, { token: CdkTreeNode }], target: i0.ɵɵFactoryTarget.Directive });
901
+ CdkTreeNodeToggle.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-next.15", type: CdkTreeNodeToggle, selector: "[cdkTreeNodeToggle]", inputs: { recursive: ["cdkTreeNodeToggleRecursive", "recursive"] }, host: { listeners: { "click": "_toggle($event)" } }, ngImport: i0 });
902
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkTreeNodeToggle, decorators: [{
903
+ type: Directive,
904
+ args: [{ selector: '[cdkTreeNodeToggle]' }]
905
+ }], ctorParameters: function () { return [{ type: CdkTree }, { type: CdkTreeNode }]; }, propDecorators: { recursive: [{
906
+ type: Input,
907
+ args: ['cdkTreeNodeToggleRecursive']
908
+ }], _toggle: [{
909
+ type: HostListener,
910
+ args: ['click', ['$event']]
911
+ }] } });
912
+
913
+ /**
914
+ * @license
915
+ * Copyright Google LLC All Rights Reserved.
916
+ *
917
+ * Use of this source code is governed by an MIT-style license that can be
918
+ * found in the LICENSE file at https://angular.io/license
919
+ */
920
+ const EXPORTED_DECLARATIONS = [
921
+ CdkNestedTreeNode,
922
+ CdkTreeNodeDef,
923
+ CdkTreeNodePadding,
924
+ CdkTreeNodeToggle,
925
+ CdkTree,
926
+ CdkTreeNode,
927
+ CdkTreeNodeOutlet,
928
+ ];
929
+ class CdkTreeModule {
930
+ }
931
+ CdkTreeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkTreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
932
+ CdkTreeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkTreeModule, declarations: [CdkNestedTreeNode,
933
+ CdkTreeNodeDef,
934
+ CdkTreeNodePadding,
935
+ CdkTreeNodeToggle,
936
+ CdkTree,
937
+ CdkTreeNode,
938
+ CdkTreeNodeOutlet], exports: [CdkNestedTreeNode,
939
+ CdkTreeNodeDef,
940
+ CdkTreeNodePadding,
941
+ CdkTreeNodeToggle,
942
+ CdkTree,
943
+ CdkTreeNode,
944
+ CdkTreeNodeOutlet] });
945
+ CdkTreeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkTreeModule });
946
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkTreeModule, decorators: [{
947
+ type: NgModule,
948
+ args: [{
949
+ exports: EXPORTED_DECLARATIONS,
950
+ declarations: EXPORTED_DECLARATIONS,
951
+ }]
952
+ }] });
953
+
954
+ /**
955
+ * @license
956
+ * Copyright Google LLC All Rights Reserved.
957
+ *
958
+ * Use of this source code is governed by an MIT-style license that can be
959
+ * found in the LICENSE file at https://angular.io/license
960
+ */
961
+
962
+ /**
963
+ * @license
964
+ * Copyright Google LLC All Rights Reserved.
965
+ *
966
+ * Use of this source code is governed by an MIT-style license that can be
967
+ * found in the LICENSE file at https://angular.io/license
968
+ */
969
+
970
+ /**
971
+ * Generated bundle index. Do not edit.
972
+ */
973
+
974
+ export { BaseTreeControl, CDK_TREE_NODE_OUTLET_NODE, CdkNestedTreeNode, CdkTree, CdkTreeModule, CdkTreeNode, CdkTreeNodeDef, CdkTreeNodeOutlet, CdkTreeNodeOutletContext, CdkTreeNodePadding, CdkTreeNodeToggle, FlatTreeControl, NestedTreeControl, getTreeControlFunctionsMissingError, getTreeControlMissingError, getTreeMissingMatchingNodeDefError, getTreeMultipleDefaultNodeDefsError, getTreeNoValidDataSourceError };
975
+ //# sourceMappingURL=tree.mjs.map