@angular/cdk 13.0.0-rc.0 → 13.0.0-rc.1

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 (366) hide show
  1. package/esm2020/a11y/a11y-module.mjs +1 -1
  2. package/esm2020/a11y/aria-describer/aria-describer.mjs +3 -4
  3. package/esm2020/a11y/aria-describer/aria-reference.mjs +1 -1
  4. package/esm2020/a11y/fake-event-detection.mjs +6 -5
  5. package/esm2020/a11y/focus-monitor/focus-monitor.mjs +20 -16
  6. package/esm2020/a11y/focus-trap/configurable-focus-trap-factory.mjs +2 -2
  7. package/esm2020/a11y/focus-trap/configurable-focus-trap.mjs +4 -2
  8. package/esm2020/a11y/focus-trap/event-listener-inert-strategy.mjs +1 -1
  9. package/esm2020/a11y/focus-trap/focus-trap-inert-strategy.mjs +2 -2
  10. package/esm2020/a11y/focus-trap/focus-trap-manager.mjs +2 -2
  11. package/esm2020/a11y/focus-trap/focus-trap.mjs +30 -20
  12. package/esm2020/a11y/high-contrast-mode/high-contrast-mode-detector.mjs +9 -6
  13. package/esm2020/a11y/input-modality/input-modality-detector.mjs +1 -1
  14. package/esm2020/a11y/interactivity-checker/interactivity-checker.mjs +15 -13
  15. package/esm2020/a11y/key-manager/activedescendant-key-manager.mjs +1 -1
  16. package/esm2020/a11y/key-manager/list-key-manager.mjs +10 -6
  17. package/esm2020/a11y/live-announcer/live-announcer-tokens.mjs +1 -1
  18. package/esm2020/a11y/live-announcer/live-announcer.mjs +6 -6
  19. package/esm2020/accordion/accordion-item.mjs +18 -11
  20. package/esm2020/accordion/accordion-module.mjs +1 -1
  21. package/esm2020/accordion/accordion.mjs +7 -3
  22. package/esm2020/bidi/bidi-module.mjs +1 -1
  23. package/esm2020/bidi/dir-document-token.mjs +1 -1
  24. package/esm2020/bidi/dir.mjs +9 -5
  25. package/esm2020/bidi/directionality.mjs +2 -2
  26. package/esm2020/bidi/public-api.mjs +1 -1
  27. package/esm2020/clipboard/clipboard-module.mjs +1 -1
  28. package/esm2020/clipboard/clipboard.mjs +1 -1
  29. package/esm2020/clipboard/copy-to-clipboard.mjs +2 -2
  30. package/esm2020/clipboard/pending-copy.mjs +4 -3
  31. package/esm2020/collections/array-data-source.mjs +1 -1
  32. package/esm2020/collections/collection-viewer.mjs +1 -1
  33. package/esm2020/collections/dispose-view-repeater-strategy.mjs +2 -3
  34. package/esm2020/collections/recycle-view-repeater-strategy.mjs +7 -4
  35. package/esm2020/collections/selection-model.mjs +2 -2
  36. package/esm2020/collections/tree-adapter.mjs +1 -1
  37. package/esm2020/collections/unique-selection-dispatcher.mjs +1 -1
  38. package/esm2020/collections/view-repeater.mjs +2 -2
  39. package/esm2020/drag-drop/client-rect.mjs +6 -4
  40. package/esm2020/drag-drop/clone-node.mjs +1 -1
  41. package/esm2020/drag-drop/directives/assertions.mjs +2 -3
  42. package/esm2020/drag-drop/directives/config.mjs +1 -1
  43. package/esm2020/drag-drop/directives/drag-handle.mjs +5 -3
  44. package/esm2020/drag-drop/directives/drag-preview.mjs +7 -3
  45. package/esm2020/drag-drop/directives/drag.mjs +46 -37
  46. package/esm2020/drag-drop/directives/drop-list-group.mjs +4 -2
  47. package/esm2020/drag-drop/directives/drop-list.mjs +12 -11
  48. package/esm2020/drag-drop/drag-drop-module.mjs +3 -7
  49. package/esm2020/drag-drop/drag-drop-registry.mjs +6 -6
  50. package/esm2020/drag-drop/drag-drop.mjs +2 -2
  51. package/esm2020/drag-drop/drag-events.mjs +1 -1
  52. package/esm2020/drag-drop/drag-ref.mjs +56 -41
  53. package/esm2020/drag-drop/drag-styling.mjs +6 -6
  54. package/esm2020/drag-drop/drag-utils.mjs +1 -1
  55. package/esm2020/drag-drop/drop-list-ref.mjs +55 -37
  56. package/esm2020/drag-drop/parent-position-tracker.mjs +2 -2
  57. package/esm2020/drag-drop/transition-duration.mjs +3 -3
  58. package/esm2020/keycodes/keycodes.mjs +1 -1
  59. package/esm2020/layout/breakpoints-observer.mjs +3 -2
  60. package/esm2020/layout/breakpoints.mjs +1 -1
  61. package/esm2020/layout/layout-module.mjs +1 -1
  62. package/esm2020/layout/media-matcher.mjs +8 -7
  63. package/esm2020/observers/observe-content.mjs +11 -8
  64. package/esm2020/overlay/dispatchers/base-overlay-dispatcher.mjs +1 -1
  65. package/esm2020/overlay/dispatchers/overlay-keyboard-dispatcher.mjs +1 -1
  66. package/esm2020/overlay/dispatchers/overlay-outside-click-dispatcher.mjs +22 -3
  67. package/esm2020/overlay/fullscreen-overlay-container.mjs +3 -3
  68. package/esm2020/overlay/overlay-config.mjs +1 -1
  69. package/esm2020/overlay/overlay-container.mjs +2 -3
  70. package/esm2020/overlay/overlay-directives.mjs +49 -24
  71. package/esm2020/overlay/overlay-module.mjs +3 -9
  72. package/esm2020/overlay/overlay-ref.mjs +2 -4
  73. package/esm2020/overlay/overlay.mjs +1 -1
  74. package/esm2020/overlay/position/connected-position.mjs +1 -1
  75. package/esm2020/overlay/position/flexible-connected-position-strategy.mjs +26 -27
  76. package/esm2020/overlay/position/global-position-strategy.mjs +9 -3
  77. package/esm2020/overlay/position/overlay-position-builder.mjs +1 -1
  78. package/esm2020/overlay/position/scroll-clip.mjs +1 -1
  79. package/esm2020/overlay/scroll/block-scroll-strategy.mjs +1 -1
  80. package/esm2020/overlay/scroll/close-scroll-strategy.mjs +1 -1
  81. package/esm2020/overlay/scroll/index.mjs +2 -2
  82. package/esm2020/overlay/scroll/noop-scroll-strategy.mjs +1 -1
  83. package/esm2020/overlay/scroll/reposition-scroll-strategy.mjs +1 -1
  84. package/esm2020/overlay/scroll/scroll-strategy-options.mjs +1 -1
  85. package/esm2020/platform/features/input-types.mjs +1 -1
  86. package/esm2020/platform/features/passive-listeners.mjs +2 -2
  87. package/esm2020/platform/features/scrolling.mjs +1 -1
  88. package/esm2020/platform/features/shadow-dom.mjs +4 -3
  89. package/esm2020/platform/features/test-environment.mjs +3 -3
  90. package/esm2020/platform/platform-module.mjs +1 -1
  91. package/esm2020/platform/platform.mjs +15 -9
  92. package/esm2020/portal/dom-portal-outlet.mjs +3 -3
  93. package/esm2020/portal/portal-directives.mjs +26 -19
  94. package/esm2020/portal/portal-errors.mjs +1 -1
  95. package/esm2020/portal/portal-injector.mjs +1 -1
  96. package/esm2020/portal/portal.mjs +2 -2
  97. package/esm2020/scrolling/fixed-size-virtual-scroll.mjs +34 -14
  98. package/esm2020/scrolling/scroll-dispatcher.mjs +6 -7
  99. package/esm2020/scrolling/scrollable.mjs +5 -4
  100. package/esm2020/scrolling/scrolling-module.mjs +6 -21
  101. package/esm2020/scrolling/viewport-ruler.mjs +15 -9
  102. package/esm2020/scrolling/virtual-for-of.mjs +12 -16
  103. package/esm2020/scrolling/virtual-scroll-strategy.mjs +1 -1
  104. package/esm2020/scrolling/virtual-scroll-viewport.mjs +15 -11
  105. package/esm2020/stepper/step-header.mjs +1 -1
  106. package/esm2020/stepper/step-label.mjs +1 -1
  107. package/esm2020/stepper/stepper-button.mjs +3 -3
  108. package/esm2020/stepper/stepper-module.mjs +4 -16
  109. package/esm2020/stepper/stepper.mjs +24 -13
  110. package/esm2020/table/can-stick.mjs +4 -2
  111. package/esm2020/table/cell.mjs +12 -10
  112. package/esm2020/table/coalesced-style-scheduler.mjs +7 -5
  113. package/esm2020/table/row.mjs +3 -3
  114. package/esm2020/table/sticky-position-listener.mjs +1 -1
  115. package/esm2020/table/sticky-styler.mjs +26 -16
  116. package/esm2020/table/table-errors.mjs +1 -1
  117. package/esm2020/table/table-module.mjs +4 -4
  118. package/esm2020/table/table.mjs +25 -20
  119. package/esm2020/table/text-column.mjs +1 -1
  120. package/esm2020/table/tokens.mjs +1 -1
  121. package/esm2020/testing/change-detection.mjs +2 -2
  122. package/esm2020/testing/component-harness.mjs +4 -3
  123. package/esm2020/testing/element-dimensions.mjs +1 -1
  124. package/esm2020/testing/harness-environment.mjs +15 -11
  125. package/esm2020/testing/protractor/protractor-element.mjs +11 -10
  126. package/esm2020/testing/protractor/protractor-harness-environment.mjs +2 -2
  127. package/esm2020/testing/selenium-webdriver/selenium-web-driver-element.mjs +12 -11
  128. package/esm2020/testing/selenium-webdriver/selenium-web-driver-harness-environment.mjs +3 -4
  129. package/esm2020/testing/selenium-webdriver/selenium-webdriver-keys.mjs +2 -2
  130. package/esm2020/testing/test-element.mjs +1 -1
  131. package/esm2020/testing/testbed/fake-events/dispatch-events.mjs +1 -1
  132. package/esm2020/testing/testbed/fake-events/element-focus.mjs +2 -2
  133. package/esm2020/testing/testbed/fake-events/event-objects.mjs +1 -1
  134. package/esm2020/testing/testbed/fake-events/type-in-element.mjs +17 -8
  135. package/esm2020/testing/testbed/task-state-zone-interceptor.mjs +2 -2
  136. package/esm2020/testing/testbed/testbed-harness-environment.mjs +3 -3
  137. package/esm2020/testing/testbed/unit-test-element.mjs +4 -5
  138. package/esm2020/text-field/autofill.mjs +2 -2
  139. package/esm2020/text-field/autosize.mjs +19 -13
  140. package/esm2020/text-field/text-field-module.mjs +1 -1
  141. package/esm2020/tree/control/base-tree-control.mjs +4 -4
  142. package/esm2020/tree/control/flat-tree-control.mjs +1 -1
  143. package/esm2020/tree/control/nested-tree-control.mjs +2 -3
  144. package/esm2020/tree/nested-node.mjs +9 -7
  145. package/esm2020/tree/node.mjs +2 -4
  146. package/esm2020/tree/outlet.mjs +3 -3
  147. package/esm2020/tree/padding.mjs +14 -6
  148. package/esm2020/tree/toggle.mjs +7 -3
  149. package/esm2020/tree/tree.mjs +25 -13
  150. package/esm2020/version.mjs +1 -1
  151. package/fesm2015/a11y.mjs +94 -69
  152. package/fesm2015/a11y.mjs.map +1 -1
  153. package/fesm2015/accordion.mjs +23 -12
  154. package/fesm2015/accordion.mjs.map +1 -1
  155. package/fesm2015/bidi.mjs +8 -4
  156. package/fesm2015/bidi.mjs.map +1 -1
  157. package/fesm2015/cdk.mjs +1 -1
  158. package/fesm2015/cdk.mjs.map +1 -1
  159. package/fesm2015/clipboard.mjs +4 -3
  160. package/fesm2015/clipboard.mjs.map +1 -1
  161. package/fesm2015/collections.mjs +8 -6
  162. package/fesm2015/collections.mjs.map +1 -1
  163. package/fesm2015/drag-drop.mjs +198 -150
  164. package/fesm2015/drag-drop.mjs.map +1 -1
  165. package/fesm2015/keycodes.mjs.map +1 -1
  166. package/fesm2015/layout.mjs +9 -7
  167. package/fesm2015/layout.mjs.map +1 -1
  168. package/fesm2015/observers.mjs +9 -6
  169. package/fesm2015/observers.mjs.map +1 -1
  170. package/fesm2015/overlay.mjs +108 -68
  171. package/fesm2015/overlay.mjs.map +1 -1
  172. package/fesm2015/platform.mjs +20 -13
  173. package/fesm2015/platform.mjs.map +1 -1
  174. package/fesm2015/portal.mjs +27 -20
  175. package/fesm2015/portal.mjs.map +1 -1
  176. package/fesm2015/scrolling.mjs +85 -74
  177. package/fesm2015/scrolling.mjs.map +1 -1
  178. package/fesm2015/stepper.mjs +27 -28
  179. package/fesm2015/stepper.mjs.map +1 -1
  180. package/fesm2015/table.mjs +69 -48
  181. package/fesm2015/table.mjs.map +1 -1
  182. package/fesm2015/testing/protractor.mjs +11 -10
  183. package/fesm2015/testing/protractor.mjs.map +1 -1
  184. package/fesm2015/testing/selenium-webdriver.mjs +13 -13
  185. package/fesm2015/testing/selenium-webdriver.mjs.map +1 -1
  186. package/fesm2015/testing/testbed.mjs +22 -14
  187. package/fesm2015/testing/testbed.mjs.map +1 -1
  188. package/fesm2015/testing.mjs +17 -12
  189. package/fesm2015/testing.mjs.map +1 -1
  190. package/fesm2015/text-field.mjs +18 -12
  191. package/fesm2015/text-field.mjs.map +1 -1
  192. package/fesm2015/tree.mjs +55 -32
  193. package/fesm2015/tree.mjs.map +1 -1
  194. package/fesm2020/a11y.mjs +94 -69
  195. package/fesm2020/a11y.mjs.map +1 -1
  196. package/fesm2020/accordion.mjs +23 -12
  197. package/fesm2020/accordion.mjs.map +1 -1
  198. package/fesm2020/bidi.mjs +8 -4
  199. package/fesm2020/bidi.mjs.map +1 -1
  200. package/fesm2020/cdk.mjs +1 -1
  201. package/fesm2020/cdk.mjs.map +1 -1
  202. package/fesm2020/clipboard.mjs +4 -3
  203. package/fesm2020/clipboard.mjs.map +1 -1
  204. package/fesm2020/collections.mjs +8 -6
  205. package/fesm2020/collections.mjs.map +1 -1
  206. package/fesm2020/drag-drop.mjs +198 -150
  207. package/fesm2020/drag-drop.mjs.map +1 -1
  208. package/fesm2020/keycodes.mjs.map +1 -1
  209. package/fesm2020/layout.mjs +9 -7
  210. package/fesm2020/layout.mjs.map +1 -1
  211. package/fesm2020/observers.mjs +9 -6
  212. package/fesm2020/observers.mjs.map +1 -1
  213. package/fesm2020/overlay.mjs +108 -68
  214. package/fesm2020/overlay.mjs.map +1 -1
  215. package/fesm2020/platform.mjs +20 -13
  216. package/fesm2020/platform.mjs.map +1 -1
  217. package/fesm2020/portal.mjs +27 -20
  218. package/fesm2020/portal.mjs.map +1 -1
  219. package/fesm2020/scrolling.mjs +85 -74
  220. package/fesm2020/scrolling.mjs.map +1 -1
  221. package/fesm2020/stepper.mjs +27 -28
  222. package/fesm2020/stepper.mjs.map +1 -1
  223. package/fesm2020/table.mjs +69 -48
  224. package/fesm2020/table.mjs.map +1 -1
  225. package/fesm2020/testing/protractor.mjs +11 -10
  226. package/fesm2020/testing/protractor.mjs.map +1 -1
  227. package/fesm2020/testing/selenium-webdriver.mjs +13 -13
  228. package/fesm2020/testing/selenium-webdriver.mjs.map +1 -1
  229. package/fesm2020/testing/testbed.mjs +22 -14
  230. package/fesm2020/testing/testbed.mjs.map +1 -1
  231. package/fesm2020/testing.mjs +18 -13
  232. package/fesm2020/testing.mjs.map +1 -1
  233. package/fesm2020/text-field.mjs +18 -12
  234. package/fesm2020/text-field.mjs.map +1 -1
  235. package/fesm2020/tree.mjs +55 -32
  236. package/fesm2020/tree.mjs.map +1 -1
  237. package/overlay/dispatchers/overlay-outside-click-dispatcher.d.ts +3 -0
  238. package/overlay/position/flexible-connected-position-strategy.d.ts +2 -2
  239. package/overlay/scroll/index.d.ts +1 -1
  240. package/package.json +1 -1
  241. package/schematics/ng-add/index.js +2 -2
  242. package/schematics/ng-add/index.mjs +2 -2
  243. package/schematics/ng-add/package-config.js +4 -2
  244. package/schematics/ng-add/package-config.mjs +4 -2
  245. package/schematics/ng-add/schema.js +1 -1
  246. package/schematics/ng-add/schema.mjs +1 -1
  247. package/schematics/ng-generate/drag-drop/index.js +2 -2
  248. package/schematics/ng-generate/drag-drop/index.mjs +2 -2
  249. package/schematics/ng-update/data/attribute-selectors.js +7 -5
  250. package/schematics/ng-update/data/attribute-selectors.mjs +7 -5
  251. package/schematics/ng-update/data/class-names.js +13 -11
  252. package/schematics/ng-update/data/class-names.mjs +13 -11
  253. package/schematics/ng-update/data/constructor-checks.js +28 -20
  254. package/schematics/ng-update/data/constructor-checks.mjs +28 -20
  255. package/schematics/ng-update/data/css-selectors.js +2 -2
  256. package/schematics/ng-update/data/css-selectors.mjs +2 -2
  257. package/schematics/ng-update/data/element-selectors.js +2 -2
  258. package/schematics/ng-update/data/element-selectors.mjs +2 -2
  259. package/schematics/ng-update/data/input-names.js +40 -16
  260. package/schematics/ng-update/data/input-names.mjs +40 -16
  261. package/schematics/ng-update/data/method-call-checks.js +32 -18
  262. package/schematics/ng-update/data/method-call-checks.mjs +32 -18
  263. package/schematics/ng-update/data/output-names.js +8 -6
  264. package/schematics/ng-update/data/output-names.mjs +8 -6
  265. package/schematics/ng-update/data/property-names.js +40 -32
  266. package/schematics/ng-update/data/property-names.mjs +40 -32
  267. package/schematics/ng-update/devkit-migration-rule.js +4 -3
  268. package/schematics/ng-update/devkit-migration-rule.mjs +4 -3
  269. package/schematics/ng-update/devkit-migration.d.ts +1 -1
  270. package/schematics/ng-update/devkit-migration.js +1 -1
  271. package/schematics/ng-update/devkit-migration.mjs +1 -1
  272. package/schematics/ng-update/html-parsing/elements.js +1 -1
  273. package/schematics/ng-update/html-parsing/elements.mjs +1 -1
  274. package/schematics/ng-update/index.js +2 -4
  275. package/schematics/ng-update/index.mjs +2 -4
  276. package/schematics/ng-update/migrations/attribute-selectors.js +7 -3
  277. package/schematics/ng-update/migrations/attribute-selectors.mjs +7 -3
  278. package/schematics/ng-update/migrations/class-inheritance.js +1 -1
  279. package/schematics/ng-update/migrations/class-inheritance.mjs +1 -1
  280. package/schematics/ng-update/migrations/class-names.js +3 -2
  281. package/schematics/ng-update/migrations/class-names.mjs +3 -2
  282. package/schematics/ng-update/migrations/constructor-signature.js +15 -12
  283. package/schematics/ng-update/migrations/constructor-signature.mjs +15 -12
  284. package/schematics/ng-update/migrations/css-selectors.js +3 -2
  285. package/schematics/ng-update/migrations/css-selectors.mjs +3 -2
  286. package/schematics/ng-update/migrations/element-selectors.js +3 -2
  287. package/schematics/ng-update/migrations/element-selectors.mjs +3 -2
  288. package/schematics/ng-update/migrations/input-names.js +4 -5
  289. package/schematics/ng-update/migrations/input-names.mjs +4 -5
  290. package/schematics/ng-update/migrations/method-call-arguments.js +3 -2
  291. package/schematics/ng-update/migrations/method-call-arguments.mjs +3 -2
  292. package/schematics/ng-update/migrations/misc-template.js +2 -2
  293. package/schematics/ng-update/migrations/misc-template.mjs +2 -2
  294. package/schematics/ng-update/migrations/output-names.js +4 -5
  295. package/schematics/ng-update/migrations/output-names.mjs +4 -5
  296. package/schematics/ng-update/migrations/property-names.js +3 -2
  297. package/schematics/ng-update/migrations/property-names.mjs +3 -2
  298. package/schematics/ng-update/migrations/symbol-removal.js +1 -1
  299. package/schematics/ng-update/migrations/symbol-removal.mjs +1 -1
  300. package/schematics/ng-update/migrations/tilde-import-v13/tilde-import-migration.js +4 -3
  301. package/schematics/ng-update/migrations/tilde-import-v13/tilde-import-migration.mjs +4 -3
  302. package/schematics/ng-update/typescript/base-types.js +1 -1
  303. package/schematics/ng-update/typescript/base-types.mjs +1 -1
  304. package/schematics/ng-update/typescript/literal.d.ts +1 -1
  305. package/schematics/ng-update/typescript/literal.js +1 -1
  306. package/schematics/ng-update/typescript/literal.mjs +1 -1
  307. package/schematics/ng-update/typescript/module-specifiers.js +3 -3
  308. package/schematics/ng-update/typescript/module-specifiers.mjs +3 -3
  309. package/schematics/ng-update/upgrade-data.js +1 -1
  310. package/schematics/ng-update/upgrade-data.mjs +1 -1
  311. package/schematics/update-tool/component-resource-collector.js +2 -2
  312. package/schematics/update-tool/component-resource-collector.mjs +2 -2
  313. package/schematics/update-tool/file-system.js +1 -1
  314. package/schematics/update-tool/file-system.mjs +1 -1
  315. package/schematics/update-tool/index.d.ts +4 -1
  316. package/schematics/update-tool/index.js +7 -3
  317. package/schematics/update-tool/index.mjs +7 -3
  318. package/schematics/update-tool/migration.d.ts +1 -1
  319. package/schematics/update-tool/migration.js +1 -1
  320. package/schematics/update-tool/migration.mjs +1 -1
  321. package/schematics/update-tool/target-version.js +1 -1
  322. package/schematics/update-tool/target-version.mjs +1 -1
  323. package/schematics/update-tool/utils/decorators.js +7 -3
  324. package/schematics/update-tool/utils/decorators.mjs +7 -3
  325. package/schematics/update-tool/utils/functions.js +1 -1
  326. package/schematics/update-tool/utils/functions.mjs +1 -1
  327. package/schematics/update-tool/utils/imports.js +2 -2
  328. package/schematics/update-tool/utils/imports.mjs +2 -2
  329. package/schematics/update-tool/utils/line-mappings.js +1 -1
  330. package/schematics/update-tool/utils/line-mappings.mjs +1 -1
  331. package/schematics/update-tool/utils/parse-tsconfig.js +1 -1
  332. package/schematics/update-tool/utils/parse-tsconfig.mjs +1 -1
  333. package/schematics/update-tool/utils/property-name.js +1 -1
  334. package/schematics/update-tool/utils/property-name.mjs +1 -1
  335. package/schematics/update-tool/utils/virtual-host.js +2 -2
  336. package/schematics/update-tool/utils/virtual-host.mjs +2 -2
  337. package/schematics/update-tool/version-changes.js +1 -1
  338. package/schematics/update-tool/version-changes.mjs +1 -1
  339. package/schematics/utils/ast/ng-module-imports.js +5 -3
  340. package/schematics/utils/ast/ng-module-imports.mjs +5 -3
  341. package/schematics/utils/ast.js +1 -1
  342. package/schematics/utils/ast.mjs +1 -1
  343. package/schematics/utils/build-component.js +12 -18
  344. package/schematics/utils/build-component.mjs +12 -18
  345. package/schematics/utils/get-project.js +1 -1
  346. package/schematics/utils/get-project.mjs +1 -1
  347. package/schematics/utils/html-manipulation.js +6 -5
  348. package/schematics/utils/html-manipulation.mjs +6 -5
  349. package/schematics/utils/parse5-element.js +9 -10
  350. package/schematics/utils/parse5-element.mjs +9 -10
  351. package/schematics/utils/project-main-file.js +1 -1
  352. package/schematics/utils/project-main-file.mjs +1 -1
  353. package/schematics/utils/project-style-file.js +3 -5
  354. package/schematics/utils/project-style-file.mjs +3 -5
  355. package/schematics/utils/project-targets.js +1 -1
  356. package/schematics/utils/project-targets.mjs +1 -1
  357. package/schematics/utils/project-tsconfig-paths.js +2 -2
  358. package/schematics/utils/project-tsconfig-paths.mjs +2 -2
  359. package/schematics/utils/schematic-options.js +7 -5
  360. package/schematics/utils/schematic-options.mjs +7 -5
  361. package/schematics/utils/vendored-ast-utils/index.js +15 -16
  362. package/schematics/utils/vendored-ast-utils/index.mjs +15 -16
  363. package/testing/testbed/proxy-zone-types.d.ts +1 -1
  364. package/testing/testbed/zone-types.d.ts +1 -1
  365. package/tree/control/base-tree-control.d.ts +1 -1
  366. package/tree/control/nested-tree-control.d.ts +2 -2
@@ -76,7 +76,7 @@ const STEP_STATE = {
76
76
  NUMBER: 'number',
77
77
  EDIT: 'edit',
78
78
  DONE: 'done',
79
- ERROR: 'error'
79
+ ERROR: 'error',
80
80
  };
81
81
  /** InjectionToken that can be used to specify the global stepper options. */
82
82
  const STEPPER_GLOBAL_OPTIONS = new InjectionToken('STEPPER_GLOBAL_OPTIONS');
@@ -264,7 +264,8 @@ class CdkStepper {
264
264
  throw Error('cdkStepper: Cannot assign out-of-bounds value to `selectedIndex`.');
265
265
  }
266
266
  (_a = this.selected) === null || _a === void 0 ? void 0 : _a._markAsInteracted();
267
- if (this._selectedIndex !== newIndex && !this._anyControlsInvalidOrPending(newIndex) &&
267
+ if (this._selectedIndex !== newIndex &&
268
+ !this._anyControlsInvalidOrPending(newIndex) &&
268
269
  (newIndex >= this._selectedIndex || this.steps.toArray()[newIndex].editable)) {
269
270
  this._updateSelectedItemIndex(index);
270
271
  }
@@ -278,10 +279,12 @@ class CdkStepper {
278
279
  return this.steps ? this.steps.toArray()[this.selectedIndex] : undefined;
279
280
  }
280
281
  set selected(step) {
281
- this.selectedIndex = (step && this.steps) ? this.steps.toArray().indexOf(step) : -1;
282
+ this.selectedIndex = step && this.steps ? this.steps.toArray().indexOf(step) : -1;
282
283
  }
283
284
  /** Orientation of the stepper. */
284
- get orientation() { return this._orientation; }
285
+ get orientation() {
286
+ return this._orientation;
287
+ }
285
288
  set orientation(value) {
286
289
  // This is a protected method so that `MatSteppter` can hook into it.
287
290
  this._orientation = value;
@@ -387,8 +390,9 @@ class CdkStepper {
387
390
  _getIndicatorType(index, state = STEP_STATE.NUMBER) {
388
391
  const step = this.steps.toArray()[index];
389
392
  const isCurrentStep = this._isCurrentStep(index);
390
- return step._displayDefaultIndicatorType ? this._getDefaultIndicatorLogic(step, isCurrentStep) :
391
- this._getGuidelineLogic(step, isCurrentStep, state);
393
+ return step._displayDefaultIndicatorType
394
+ ? this._getDefaultIndicatorLogic(step, isCurrentStep)
395
+ : this._getGuidelineLogic(step, isCurrentStep, state);
392
396
  }
393
397
  _getDefaultIndicatorLogic(step, isCurrentStep) {
394
398
  if (step._showError() && step.hasError && !isCurrentStep) {
@@ -437,8 +441,9 @@ class CdkStepper {
437
441
  // lost when the active step content is hidden. We can't be more granular with the check
438
442
  // (e.g. checking whether focus is inside the active step), because we don't have a
439
443
  // reference to the elements that are rendering out the content.
440
- this._containsFocus() ? this._keyManager.setActiveItem(newIndex) :
441
- this._keyManager.updateActiveItem(newIndex);
444
+ this._containsFocus()
445
+ ? this._keyManager.setActiveItem(newIndex)
446
+ : this._keyManager.updateActiveItem(newIndex);
442
447
  this._selectedIndex = newIndex;
443
448
  this._stateChanged();
444
449
  }
@@ -446,7 +451,8 @@ class CdkStepper {
446
451
  const hasModifier = hasModifierKey(event);
447
452
  const keyCode = event.keyCode;
448
453
  const manager = this._keyManager;
449
- if (manager.activeItemIndex != null && !hasModifier &&
454
+ if (manager.activeItemIndex != null &&
455
+ !hasModifier &&
450
456
  (keyCode === SPACE || keyCode === ENTER)) {
451
457
  this.selectedIndex = manager.activeItemIndex;
452
458
  event.preventDefault();
@@ -457,9 +463,14 @@ class CdkStepper {
457
463
  }
458
464
  _anyControlsInvalidOrPending(index) {
459
465
  if (this._linear && index >= 0) {
460
- return this.steps.toArray().slice(0, index).some(step => {
466
+ return this.steps
467
+ .toArray()
468
+ .slice(0, index)
469
+ .some(step => {
461
470
  const control = step.stepControl;
462
- const isIncomplete = control ? (control.invalid || control.pending || !step.interacted) : !step.completed;
471
+ const isIncomplete = control
472
+ ? control.invalid || control.pending || !step.interacted
473
+ : !step.completed;
463
474
  return isIncomplete && !step.optional && !step._completedOverride;
464
475
  });
465
476
  }
@@ -543,7 +554,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15",
543
554
  selector: 'button[cdkStepperNext]',
544
555
  host: {
545
556
  '[type]': 'type',
546
- }
557
+ },
547
558
  }]
548
559
  }], ctorParameters: function () { return [{ type: CdkStepper }]; }, propDecorators: { type: [{
549
560
  type: Input
@@ -575,7 +586,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15",
575
586
  selector: 'button[cdkStepperPrevious]',
576
587
  host: {
577
588
  '[type]': 'type',
578
- }
589
+ },
579
590
  }]
580
591
  }], ctorParameters: function () { return [{ type: CdkStepper }]; }, propDecorators: { type: [{
581
592
  type: Input
@@ -599,25 +610,13 @@ CdkStepperModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versio
599
610
  CdkStepHeader,
600
611
  CdkStepLabel,
601
612
  CdkStepperNext,
602
- CdkStepperPrevious], imports: [BidiModule], exports: [CdkStep,
603
- CdkStepper,
604
- CdkStepHeader,
605
- CdkStepLabel,
606
- CdkStepperNext,
607
- CdkStepperPrevious] });
613
+ CdkStepperPrevious], imports: [BidiModule], exports: [CdkStep, CdkStepper, CdkStepHeader, CdkStepLabel, CdkStepperNext, CdkStepperPrevious] });
608
614
  CdkStepperModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkStepperModule, imports: [[BidiModule]] });
609
615
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkStepperModule, decorators: [{
610
616
  type: NgModule,
611
617
  args: [{
612
618
  imports: [BidiModule],
613
- exports: [
614
- CdkStep,
615
- CdkStepper,
616
- CdkStepHeader,
617
- CdkStepLabel,
618
- CdkStepperNext,
619
- CdkStepperPrevious,
620
- ],
619
+ exports: [CdkStep, CdkStepper, CdkStepHeader, CdkStepLabel, CdkStepperNext, CdkStepperPrevious],
621
620
  declarations: [
622
621
  CdkStep,
623
622
  CdkStepper,
@@ -625,7 +624,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15",
625
624
  CdkStepLabel,
626
625
  CdkStepperNext,
627
626
  CdkStepperPrevious,
628
- ]
627
+ ],
629
628
  }]
630
629
  }] });
631
630
 
@@ -1 +1 @@
1
- {"version":3,"file":"stepper.mjs","sources":["../../../../../../src/cdk/stepper/step-header.ts","../../../../../../src/cdk/stepper/step-label.ts","../../../../../../src/cdk/stepper/stepper.ts","../../../../../../src/cdk/stepper/stepper-button.ts","../../../../../../src/cdk/stepper/stepper-module.ts","../../../../../../src/cdk/stepper/public-api.ts","../../../../../../src/cdk/stepper/index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, ElementRef} from '@angular/core';\nimport {FocusableOption} from '@angular/cdk/a11y';\n\n\n@Directive({\n selector: '[cdkStepHeader]',\n host: {\n 'role': 'tab',\n },\n})\nexport class CdkStepHeader implements FocusableOption {\n constructor(public _elementRef: ElementRef<HTMLElement>) {}\n\n /** Focuses the step header. */\n focus() {\n this._elementRef.nativeElement.focus();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, TemplateRef} from '@angular/core';\n\n@Directive({\n selector: '[cdkStepLabel]',\n})\nexport class CdkStepLabel {\n constructor(/** @docs-private */ public template: TemplateRef<any>) { }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {FocusableOption, FocusKeyManager} from '@angular/cdk/a11y';\nimport {Direction, Directionality} from '@angular/cdk/bidi';\nimport {\n BooleanInput,\n coerceBooleanProperty,\n coerceNumberProperty,\n NumberInput\n} from '@angular/cdk/coercion';\nimport {ENTER, hasModifierKey, SPACE} from '@angular/cdk/keycodes';\nimport {DOCUMENT} from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n InjectionToken,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n AfterContentInit,\n} from '@angular/core';\nimport {_getFocusedElementPierceShadowDom} from '@angular/cdk/platform';\nimport {Observable, of as observableOf, Subject} from 'rxjs';\nimport {startWith, takeUntil} from 'rxjs/operators';\n\nimport {CdkStepHeader} from './step-header';\nimport {CdkStepLabel} from './step-label';\n\n/** Used to generate unique ID for each stepper component. */\nlet nextId = 0;\n\n/**\n * Position state of the content of each step in stepper that is used for transitioning\n * the content into correct position upon step selection change.\n */\nexport type StepContentPositionState = 'previous'|'current'|'next';\n\n/** Possible orientation of a stepper. */\nexport type StepperOrientation = 'horizontal'|'vertical';\n\n/** Change event emitted on selection changes. */\nexport class StepperSelectionEvent {\n /** Index of the step now selected. */\n selectedIndex: number;\n\n /** Index of the step previously selected. */\n previouslySelectedIndex: number;\n\n /** The step instance now selected. */\n selectedStep: CdkStep;\n\n /** The step instance previously selected. */\n previouslySelectedStep: CdkStep;\n}\n\n/** The state of each step. */\nexport type StepState = 'number'|'edit'|'done'|'error'|string;\n\n/** Enum to represent the different states of the steps. */\nexport const STEP_STATE = {\n NUMBER: 'number',\n EDIT: 'edit',\n DONE: 'done',\n ERROR: 'error'\n};\n\n/** InjectionToken that can be used to specify the global stepper options. */\nexport const STEPPER_GLOBAL_OPTIONS = new InjectionToken<StepperOptions>('STEPPER_GLOBAL_OPTIONS');\n\n/** Configurable options for stepper. */\nexport interface StepperOptions {\n /**\n * Whether the stepper should display an error state or not.\n * Default behavior is assumed to be false.\n */\n showError?: boolean;\n\n /**\n * Whether the stepper should display the default indicator type\n * or not.\n * Default behavior is assumed to be true.\n */\n displayDefaultIndicatorType?: boolean;\n}\n\n@Component({\n selector: 'cdk-step',\n exportAs: 'cdkStep',\n template: '<ng-template><ng-content></ng-content></ng-template>',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CdkStep implements OnChanges {\n private _stepperOptions: StepperOptions;\n _displayDefaultIndicatorType: boolean;\n\n /** Template for step label if it exists. */\n @ContentChild(CdkStepLabel) stepLabel: CdkStepLabel;\n\n /** Template for step content. */\n @ViewChild(TemplateRef, {static: true}) content: TemplateRef<any>;\n\n /** The top level abstract control of the step. */\n @Input() stepControl: AbstractControlLike;\n\n /** Whether user has attempted to move away from the step. */\n interacted = false;\n\n /** Emits when the user has attempted to move away from the step. */\n @Output('interacted')\n readonly interactedStream: EventEmitter<CdkStep> = new EventEmitter<CdkStep>();\n\n /** Plain text label of the step. */\n @Input() label: string;\n\n /** Error message to display when there's an error. */\n @Input() errorMessage: string;\n\n /** Aria label for the tab. */\n @Input('aria-label') ariaLabel: string;\n\n /**\n * Reference to the element that the tab is labelled by.\n * Will be cleared if `aria-label` is set at the same time.\n */\n @Input('aria-labelledby') ariaLabelledby: string;\n\n /** State of the step. */\n @Input() state: StepState;\n\n /** Whether the user can return to this step once it has been marked as completed. */\n @Input()\n get editable(): boolean {\n return this._editable;\n }\n set editable(value: boolean) {\n this._editable = coerceBooleanProperty(value);\n }\n private _editable = true;\n\n /** Whether the completion of step is optional. */\n @Input()\n get optional(): boolean {\n return this._optional;\n }\n set optional(value: boolean) {\n this._optional = coerceBooleanProperty(value);\n }\n private _optional = false;\n\n /** Whether step is marked as completed. */\n @Input()\n get completed(): boolean {\n return this._completedOverride == null ? this._getDefaultCompleted() : this._completedOverride;\n }\n set completed(value: boolean) {\n this._completedOverride = coerceBooleanProperty(value);\n }\n _completedOverride: boolean|null = null;\n\n private _getDefaultCompleted() {\n return this.stepControl ? this.stepControl.valid && this.interacted : this.interacted;\n }\n\n /** Whether step has an error. */\n @Input()\n get hasError(): boolean {\n return this._customError == null ? this._getDefaultError() : this._customError;\n }\n set hasError(value: boolean) {\n this._customError = coerceBooleanProperty(value);\n }\n private _customError: boolean|null = null;\n\n private _getDefaultError() {\n return this.stepControl && this.stepControl.invalid && this.interacted;\n }\n\n constructor(\n @Inject(forwardRef(() => CdkStepper)) public _stepper: CdkStepper,\n @Optional() @Inject(STEPPER_GLOBAL_OPTIONS) stepperOptions?: StepperOptions) {\n this._stepperOptions = stepperOptions ? stepperOptions : {};\n this._displayDefaultIndicatorType = this._stepperOptions.displayDefaultIndicatorType !== false;\n }\n\n /** Selects this step component. */\n select(): void {\n this._stepper.selected = this;\n }\n\n /** Resets the step to its initial state. Note that this includes resetting form data. */\n reset(): void {\n this.interacted = false;\n\n if (this._completedOverride != null) {\n this._completedOverride = false;\n }\n\n if (this._customError != null) {\n this._customError = false;\n }\n\n if (this.stepControl) {\n this.stepControl.reset();\n }\n }\n\n ngOnChanges() {\n // Since basically all inputs of the MatStep get proxied through the view down to the\n // underlying MatStepHeader, we have to make sure that change detection runs correctly.\n this._stepper._stateChanged();\n }\n\n _markAsInteracted() {\n if (!this.interacted) {\n this.interacted = true;\n this.interactedStream.emit(this);\n }\n }\n\n /** Determines whether the error state can be shown. */\n _showError(): boolean {\n // We want to show the error state either if the user opted into/out of it using the\n // global options, or if they've explicitly set it through the `hasError` input.\n return this._stepperOptions.showError ?? this._customError != null;\n }\n\n static ngAcceptInputType_editable: BooleanInput;\n static ngAcceptInputType_hasError: BooleanInput;\n static ngAcceptInputType_optional: BooleanInput;\n static ngAcceptInputType_completed: BooleanInput;\n}\n\n@Directive({\n selector: '[cdkStepper]',\n exportAs: 'cdkStepper',\n})\nexport class CdkStepper implements AfterContentInit, AfterViewInit, OnDestroy {\n /** Emits when the component is destroyed. */\n protected readonly _destroyed = new Subject<void>();\n\n /** Used for managing keyboard focus. */\n private _keyManager: FocusKeyManager<FocusableOption>;\n\n /** Full list of steps inside the stepper, including inside nested steppers. */\n @ContentChildren(CdkStep, {descendants: true}) _steps: QueryList<CdkStep>;\n\n /** Steps that belong to the current stepper, excluding ones from nested steppers. */\n readonly steps: QueryList<CdkStep> = new QueryList<CdkStep>();\n\n /** The list of step headers of the steps in the stepper. */\n @ContentChildren(CdkStepHeader, {descendants: true}) _stepHeader: QueryList<CdkStepHeader>;\n\n /** List of step headers sorted based on their DOM order. */\n private _sortedHeaders = new QueryList<CdkStepHeader>();\n\n /** Whether the validity of previous steps should be checked or not. */\n @Input()\n get linear(): boolean {\n return this._linear;\n }\n set linear(value: boolean) {\n this._linear = coerceBooleanProperty(value);\n }\n private _linear = false;\n\n /** The index of the selected step. */\n @Input()\n get selectedIndex() {\n return this._selectedIndex;\n }\n set selectedIndex(index: number) {\n const newIndex = coerceNumberProperty(index);\n\n if (this.steps && this._steps) {\n // Ensure that the index can't be out of bounds.\n if (!this._isValidIndex(index) && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('cdkStepper: Cannot assign out-of-bounds value to `selectedIndex`.');\n }\n\n this.selected?._markAsInteracted();\n\n if (this._selectedIndex !== newIndex && !this._anyControlsInvalidOrPending(newIndex) &&\n (newIndex >= this._selectedIndex || this.steps.toArray()[newIndex].editable)) {\n this._updateSelectedItemIndex(index);\n }\n } else {\n this._selectedIndex = newIndex;\n }\n }\n private _selectedIndex = 0;\n\n /** The step that is selected. */\n @Input()\n get selected(): CdkStep | undefined {\n return this.steps ? this.steps.toArray()[this.selectedIndex] : undefined;\n }\n set selected(step: CdkStep | undefined) {\n this.selectedIndex = (step && this.steps) ? this.steps.toArray().indexOf(step) : -1;\n }\n\n /** Event emitted when the selected step has changed. */\n @Output() readonly selectionChange = new EventEmitter<StepperSelectionEvent>();\n\n /** Used to track unique ID for each stepper component. */\n _groupId: number;\n\n /** Orientation of the stepper. */\n @Input()\n get orientation(): StepperOrientation { return this._orientation; }\n set orientation(value: StepperOrientation) {\n // This is a protected method so that `MatSteppter` can hook into it.\n this._orientation = value;\n\n if (this._keyManager) {\n this._keyManager.withVerticalOrientation(value === 'vertical');\n }\n }\n\n /**\n * @deprecated To be turned into a private property. Use `orientation` instead.\n * @breaking-change 13.0.0\n */\n protected _orientation: StepperOrientation = 'horizontal';\n\n constructor(\n @Optional() private _dir: Directionality, private _changeDetectorRef: ChangeDetectorRef,\n private _elementRef: ElementRef<HTMLElement>,\n /**\n * @deprecated No longer in use, to be removed.\n * @breaking-change 13.0.0\n */\n @Inject(DOCUMENT) _document: any) {\n this._groupId = nextId++;\n }\n\n ngAfterContentInit() {\n this._steps.changes\n .pipe(startWith(this._steps), takeUntil(this._destroyed))\n .subscribe((steps: QueryList<CdkStep>) => {\n this.steps.reset(steps.filter(step => step._stepper === this));\n this.steps.notifyOnChanges();\n });\n }\n\n ngAfterViewInit() {\n // If the step headers are defined outside of the `ngFor` that renders the steps, like in the\n // Material stepper, they won't appear in the `QueryList` in the same order as they're\n // rendered in the DOM which will lead to incorrect keyboard navigation. We need to sort\n // them manually to ensure that they're correct. Alternatively, we can change the Material\n // template to inline the headers in the `ngFor`, but that'll result in a lot of\n // code duplciation. See #23539.\n this._stepHeader.changes\n .pipe(startWith(this._stepHeader), takeUntil(this._destroyed))\n .subscribe((headers: QueryList<CdkStepHeader>) => {\n this._sortedHeaders.reset(headers.toArray().sort((a, b) => {\n const documentPosition =\n a._elementRef.nativeElement.compareDocumentPosition(b._elementRef.nativeElement);\n\n // `compareDocumentPosition` returns a bitmask so we have to use a bitwise operator.\n // https://developer.mozilla.org/en-US/docs/Web/API/Node/compareDocumentPosition\n // tslint:disable-next-line:no-bitwise\n return documentPosition & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1;\n }));\n this._sortedHeaders.notifyOnChanges();\n });\n\n // Note that while the step headers are content children by default, any components that\n // extend this one might have them as view children. We initialize the keyboard handling in\n // AfterViewInit so we're guaranteed for both view and content children to be defined.\n this._keyManager = new FocusKeyManager<FocusableOption>(this._sortedHeaders)\n .withWrap()\n .withHomeAndEnd()\n .withVerticalOrientation(this._orientation === 'vertical');\n\n (this._dir ? (this._dir.change as Observable<Direction>) : observableOf<Direction>())\n .pipe(startWith(this._layoutDirection()), takeUntil(this._destroyed))\n .subscribe(direction => this._keyManager.withHorizontalOrientation(direction));\n\n this._keyManager.updateActiveItem(this._selectedIndex);\n\n // No need to `takeUntil` here, because we're the ones destroying `steps`.\n this.steps.changes.subscribe(() => {\n if (!this.selected) {\n this._selectedIndex = Math.max(this._selectedIndex - 1, 0);\n }\n });\n\n // The logic which asserts that the selected index is within bounds doesn't run before the\n // steps are initialized, because we don't how many steps there are yet so we may have an\n // invalid index on init. If that's the case, auto-correct to the default so we don't throw.\n if (!this._isValidIndex(this._selectedIndex)) {\n this._selectedIndex = 0;\n }\n }\n\n ngOnDestroy() {\n this.steps.destroy();\n this._sortedHeaders.destroy();\n this._destroyed.next();\n this._destroyed.complete();\n }\n\n /** Selects and focuses the next step in list. */\n next(): void {\n this.selectedIndex = Math.min(this._selectedIndex + 1, this.steps.length - 1);\n }\n\n /** Selects and focuses the previous step in list. */\n previous(): void {\n this.selectedIndex = Math.max(this._selectedIndex - 1, 0);\n }\n\n /** Resets the stepper to its initial state. Note that this includes clearing form data. */\n reset(): void {\n this._updateSelectedItemIndex(0);\n this.steps.forEach(step => step.reset());\n this._stateChanged();\n }\n\n /** Returns a unique id for each step label element. */\n _getStepLabelId(i: number): string {\n return `cdk-step-label-${this._groupId}-${i}`;\n }\n\n /** Returns unique id for each step content element. */\n _getStepContentId(i: number): string {\n return `cdk-step-content-${this._groupId}-${i}`;\n }\n\n /** Marks the component to be change detected. */\n _stateChanged() {\n this._changeDetectorRef.markForCheck();\n }\n\n /** Returns position state of the step with the given index. */\n _getAnimationDirection(index: number): StepContentPositionState {\n const position = index - this._selectedIndex;\n if (position < 0) {\n return this._layoutDirection() === 'rtl' ? 'next' : 'previous';\n } else if (position > 0) {\n return this._layoutDirection() === 'rtl' ? 'previous' : 'next';\n }\n return 'current';\n }\n\n /** Returns the type of icon to be displayed. */\n _getIndicatorType(index: number, state: StepState = STEP_STATE.NUMBER): StepState {\n const step = this.steps.toArray()[index];\n const isCurrentStep = this._isCurrentStep(index);\n\n return step._displayDefaultIndicatorType ? this._getDefaultIndicatorLogic(step, isCurrentStep) :\n this._getGuidelineLogic(step, isCurrentStep, state);\n }\n\n private _getDefaultIndicatorLogic(step: CdkStep, isCurrentStep: boolean): StepState {\n if (step._showError() && step.hasError && !isCurrentStep) {\n return STEP_STATE.ERROR;\n } else if (!step.completed || isCurrentStep) {\n return STEP_STATE.NUMBER;\n } else {\n return step.editable ? STEP_STATE.EDIT : STEP_STATE.DONE;\n }\n }\n\n private _getGuidelineLogic(\n step: CdkStep, isCurrentStep: boolean, state: StepState = STEP_STATE.NUMBER): StepState {\n if (step._showError() && step.hasError && !isCurrentStep) {\n return STEP_STATE.ERROR;\n } else if (step.completed && !isCurrentStep) {\n return STEP_STATE.DONE;\n } else if (step.completed && isCurrentStep) {\n return state;\n } else if (step.editable && isCurrentStep) {\n return STEP_STATE.EDIT;\n } else {\n return state;\n }\n }\n\n private _isCurrentStep(index: number) {\n return this._selectedIndex === index;\n }\n\n /** Returns the index of the currently-focused step header. */\n _getFocusIndex() {\n return this._keyManager ? this._keyManager.activeItemIndex : this._selectedIndex;\n }\n\n private _updateSelectedItemIndex(newIndex: number): void {\n const stepsArray = this.steps.toArray();\n this.selectionChange.emit({\n selectedIndex: newIndex,\n previouslySelectedIndex: this._selectedIndex,\n selectedStep: stepsArray[newIndex],\n previouslySelectedStep: stepsArray[this._selectedIndex],\n });\n\n // If focus is inside the stepper, move it to the next header, otherwise it may become\n // lost when the active step content is hidden. We can't be more granular with the check\n // (e.g. checking whether focus is inside the active step), because we don't have a\n // reference to the elements that are rendering out the content.\n this._containsFocus() ? this._keyManager.setActiveItem(newIndex) :\n this._keyManager.updateActiveItem(newIndex);\n\n this._selectedIndex = newIndex;\n this._stateChanged();\n }\n\n _onKeydown(event: KeyboardEvent) {\n const hasModifier = hasModifierKey(event);\n const keyCode = event.keyCode;\n const manager = this._keyManager;\n\n if (manager.activeItemIndex != null && !hasModifier &&\n (keyCode === SPACE || keyCode === ENTER)) {\n this.selectedIndex = manager.activeItemIndex;\n event.preventDefault();\n } else {\n manager.onKeydown(event);\n }\n }\n\n private _anyControlsInvalidOrPending(index: number): boolean {\n if (this._linear && index >= 0) {\n return this.steps.toArray().slice(0, index).some(step => {\n const control = step.stepControl;\n const isIncomplete =\n control ? (control.invalid || control.pending || !step.interacted) : !step.completed;\n return isIncomplete && !step.optional && !step._completedOverride;\n });\n }\n\n return false;\n }\n\n private _layoutDirection(): Direction {\n return this._dir && this._dir.value === 'rtl' ? 'rtl' : 'ltr';\n }\n\n /** Checks whether the stepper contains the focused element. */\n private _containsFocus(): boolean {\n const stepperElement = this._elementRef.nativeElement;\n const focusedElement = _getFocusedElementPierceShadowDom();\n return stepperElement === focusedElement || stepperElement.contains(focusedElement);\n }\n\n /** Checks whether the passed-in index is a valid step index. */\n private _isValidIndex(index: number): boolean {\n return index > -1 && (!this.steps || index < this.steps.length);\n }\n\n static ngAcceptInputType_editable: BooleanInput;\n static ngAcceptInputType_optional: BooleanInput;\n static ngAcceptInputType_completed: BooleanInput;\n static ngAcceptInputType_hasError: BooleanInput;\n static ngAcceptInputType_linear: BooleanInput;\n static ngAcceptInputType_selectedIndex: NumberInput;\n}\n\n\n/**\n * Simplified representation of an \"AbstractControl\" from @angular/forms.\n * Used to avoid having to bring in @angular/forms for a single optional interface.\n * @docs-private\n */\ninterface AbstractControlLike {\n asyncValidator: ((control: any) => any) | null;\n dirty: boolean;\n disabled: boolean;\n enabled: boolean;\n errors: {[key: string]: any} | null;\n invalid: boolean;\n parent: any;\n pending: boolean;\n pristine: boolean;\n root: AbstractControlLike;\n status: string;\n readonly statusChanges: Observable<any>;\n touched: boolean;\n untouched: boolean;\n updateOn: any;\n valid: boolean;\n validator: ((control: any) => any) | null;\n value: any;\n readonly valueChanges: Observable<any>;\n clearAsyncValidators(): void;\n clearValidators(): void;\n disable(opts?: any): void;\n enable(opts?: any): void;\n get(path: (string | number)[] | string): AbstractControlLike | null;\n getError(errorCode: string, path?: (string | number)[] | string): any;\n hasError(errorCode: string, path?: (string | number)[] | string): boolean;\n markAllAsTouched(): void;\n markAsDirty(opts?: any): void;\n markAsPending(opts?: any): void;\n markAsPristine(opts?: any): void;\n markAsTouched(opts?: any): void;\n markAsUntouched(opts?: any): void;\n patchValue(value: any, options?: Object): void;\n reset(value?: any, options?: Object): void;\n setAsyncValidators(newValidator: (control: any) => any |\n ((control: any) => any)[] | null): void;\n setErrors(errors: {[key: string]: any} | null, opts?: any): void;\n setParent(parent: any): void;\n setValidators(newValidator: (control: any) => any |\n ((control: any) => any)[] | null): void;\n setValue(value: any, options?: Object): void;\n updateValueAndValidity(opts?: any): void;\n patchValue(value: any, options?: any): void;\n reset(formState?: any, options?: any): void;\n setValue(value: any, options?: any): void;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, HostListener, Input} from '@angular/core';\n\nimport {CdkStepper} from './stepper';\n\n/** Button that moves to the next step in a stepper workflow. */\n@Directive({\n selector: 'button[cdkStepperNext]',\n host: {\n '[type]': 'type',\n }\n})\nexport class CdkStepperNext {\n /** Type of the next button. Defaults to \"submit\" if not specified. */\n @Input() type: string = 'submit';\n\n constructor(public _stepper: CdkStepper) {}\n\n // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.\n // In Ivy the `host` bindings will be merged when this class is extended, whereas in\n // ViewEngine they're overwritten.\n // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n @HostListener('click')\n _handleClick() {\n this._stepper.next();\n }\n}\n\n/** Button that moves to the previous step in a stepper workflow. */\n@Directive({\n selector: 'button[cdkStepperPrevious]',\n host: {\n '[type]': 'type',\n }\n})\nexport class CdkStepperPrevious {\n /** Type of the previous button. Defaults to \"button\" if not specified. */\n @Input() type: string = 'button';\n\n constructor(public _stepper: CdkStepper) {}\n\n // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.\n // In Ivy the `host` bindings will be merged when this class is extended, whereas in\n // ViewEngine they're overwritten.\n // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n @HostListener('click')\n _handleClick() {\n this._stepper.previous();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {CdkStepper, CdkStep} from './stepper';\nimport {CdkStepLabel} from './step-label';\nimport {CdkStepperNext, CdkStepperPrevious} from './stepper-button';\nimport {CdkStepHeader} from './step-header';\nimport {BidiModule} from '@angular/cdk/bidi';\n\n@NgModule({\n imports: [BidiModule],\n exports: [\n CdkStep,\n CdkStepper,\n CdkStepHeader,\n CdkStepLabel,\n CdkStepperNext,\n CdkStepperPrevious,\n ],\n declarations: [\n CdkStep,\n CdkStepper,\n CdkStepHeader,\n CdkStepLabel,\n CdkStepperNext,\n CdkStepperPrevious,\n ]\n})\nexport class CdkStepperModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './stepper';\nexport * from './step-label';\nexport * from './stepper-button';\nexport * from './stepper-module';\nexport * from './step-header';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["observableOf"],"mappings":"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"}
1
+ {"version":3,"file":"stepper.mjs","sources":["../../../../../../src/cdk/stepper/step-header.ts","../../../../../../src/cdk/stepper/step-label.ts","../../../../../../src/cdk/stepper/stepper.ts","../../../../../../src/cdk/stepper/stepper-button.ts","../../../../../../src/cdk/stepper/stepper-module.ts","../../../../../../src/cdk/stepper/public-api.ts","../../../../../../src/cdk/stepper/index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, ElementRef} from '@angular/core';\nimport {FocusableOption} from '@angular/cdk/a11y';\n\n@Directive({\n selector: '[cdkStepHeader]',\n host: {\n 'role': 'tab',\n },\n})\nexport class CdkStepHeader implements FocusableOption {\n constructor(public _elementRef: ElementRef<HTMLElement>) {}\n\n /** Focuses the step header. */\n focus() {\n this._elementRef.nativeElement.focus();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, TemplateRef} from '@angular/core';\n\n@Directive({\n selector: '[cdkStepLabel]',\n})\nexport class CdkStepLabel {\n constructor(/** @docs-private */ public template: TemplateRef<any>) {}\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {FocusableOption, FocusKeyManager} from '@angular/cdk/a11y';\nimport {Direction, Directionality} from '@angular/cdk/bidi';\nimport {\n BooleanInput,\n coerceBooleanProperty,\n coerceNumberProperty,\n NumberInput,\n} from '@angular/cdk/coercion';\nimport {ENTER, hasModifierKey, SPACE} from '@angular/cdk/keycodes';\nimport {DOCUMENT} from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n InjectionToken,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n AfterContentInit,\n} from '@angular/core';\nimport {_getFocusedElementPierceShadowDom} from '@angular/cdk/platform';\nimport {Observable, of as observableOf, Subject} from 'rxjs';\nimport {startWith, takeUntil} from 'rxjs/operators';\n\nimport {CdkStepHeader} from './step-header';\nimport {CdkStepLabel} from './step-label';\n\n/** Used to generate unique ID for each stepper component. */\nlet nextId = 0;\n\n/**\n * Position state of the content of each step in stepper that is used for transitioning\n * the content into correct position upon step selection change.\n */\nexport type StepContentPositionState = 'previous' | 'current' | 'next';\n\n/** Possible orientation of a stepper. */\nexport type StepperOrientation = 'horizontal' | 'vertical';\n\n/** Change event emitted on selection changes. */\nexport class StepperSelectionEvent {\n /** Index of the step now selected. */\n selectedIndex: number;\n\n /** Index of the step previously selected. */\n previouslySelectedIndex: number;\n\n /** The step instance now selected. */\n selectedStep: CdkStep;\n\n /** The step instance previously selected. */\n previouslySelectedStep: CdkStep;\n}\n\n/** The state of each step. */\nexport type StepState = 'number' | 'edit' | 'done' | 'error' | string;\n\n/** Enum to represent the different states of the steps. */\nexport const STEP_STATE = {\n NUMBER: 'number',\n EDIT: 'edit',\n DONE: 'done',\n ERROR: 'error',\n};\n\n/** InjectionToken that can be used to specify the global stepper options. */\nexport const STEPPER_GLOBAL_OPTIONS = new InjectionToken<StepperOptions>('STEPPER_GLOBAL_OPTIONS');\n\n/** Configurable options for stepper. */\nexport interface StepperOptions {\n /**\n * Whether the stepper should display an error state or not.\n * Default behavior is assumed to be false.\n */\n showError?: boolean;\n\n /**\n * Whether the stepper should display the default indicator type\n * or not.\n * Default behavior is assumed to be true.\n */\n displayDefaultIndicatorType?: boolean;\n}\n\n@Component({\n selector: 'cdk-step',\n exportAs: 'cdkStep',\n template: '<ng-template><ng-content></ng-content></ng-template>',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CdkStep implements OnChanges {\n private _stepperOptions: StepperOptions;\n _displayDefaultIndicatorType: boolean;\n\n /** Template for step label if it exists. */\n @ContentChild(CdkStepLabel) stepLabel: CdkStepLabel;\n\n /** Template for step content. */\n @ViewChild(TemplateRef, {static: true}) content: TemplateRef<any>;\n\n /** The top level abstract control of the step. */\n @Input() stepControl: AbstractControlLike;\n\n /** Whether user has attempted to move away from the step. */\n interacted = false;\n\n /** Emits when the user has attempted to move away from the step. */\n @Output('interacted')\n readonly interactedStream: EventEmitter<CdkStep> = new EventEmitter<CdkStep>();\n\n /** Plain text label of the step. */\n @Input() label: string;\n\n /** Error message to display when there's an error. */\n @Input() errorMessage: string;\n\n /** Aria label for the tab. */\n @Input('aria-label') ariaLabel: string;\n\n /**\n * Reference to the element that the tab is labelled by.\n * Will be cleared if `aria-label` is set at the same time.\n */\n @Input('aria-labelledby') ariaLabelledby: string;\n\n /** State of the step. */\n @Input() state: StepState;\n\n /** Whether the user can return to this step once it has been marked as completed. */\n @Input()\n get editable(): boolean {\n return this._editable;\n }\n set editable(value: boolean) {\n this._editable = coerceBooleanProperty(value);\n }\n private _editable = true;\n\n /** Whether the completion of step is optional. */\n @Input()\n get optional(): boolean {\n return this._optional;\n }\n set optional(value: boolean) {\n this._optional = coerceBooleanProperty(value);\n }\n private _optional = false;\n\n /** Whether step is marked as completed. */\n @Input()\n get completed(): boolean {\n return this._completedOverride == null ? this._getDefaultCompleted() : this._completedOverride;\n }\n set completed(value: boolean) {\n this._completedOverride = coerceBooleanProperty(value);\n }\n _completedOverride: boolean | null = null;\n\n private _getDefaultCompleted() {\n return this.stepControl ? this.stepControl.valid && this.interacted : this.interacted;\n }\n\n /** Whether step has an error. */\n @Input()\n get hasError(): boolean {\n return this._customError == null ? this._getDefaultError() : this._customError;\n }\n set hasError(value: boolean) {\n this._customError = coerceBooleanProperty(value);\n }\n private _customError: boolean | null = null;\n\n private _getDefaultError() {\n return this.stepControl && this.stepControl.invalid && this.interacted;\n }\n\n constructor(\n @Inject(forwardRef(() => CdkStepper)) public _stepper: CdkStepper,\n @Optional() @Inject(STEPPER_GLOBAL_OPTIONS) stepperOptions?: StepperOptions,\n ) {\n this._stepperOptions = stepperOptions ? stepperOptions : {};\n this._displayDefaultIndicatorType = this._stepperOptions.displayDefaultIndicatorType !== false;\n }\n\n /** Selects this step component. */\n select(): void {\n this._stepper.selected = this;\n }\n\n /** Resets the step to its initial state. Note that this includes resetting form data. */\n reset(): void {\n this.interacted = false;\n\n if (this._completedOverride != null) {\n this._completedOverride = false;\n }\n\n if (this._customError != null) {\n this._customError = false;\n }\n\n if (this.stepControl) {\n this.stepControl.reset();\n }\n }\n\n ngOnChanges() {\n // Since basically all inputs of the MatStep get proxied through the view down to the\n // underlying MatStepHeader, we have to make sure that change detection runs correctly.\n this._stepper._stateChanged();\n }\n\n _markAsInteracted() {\n if (!this.interacted) {\n this.interacted = true;\n this.interactedStream.emit(this);\n }\n }\n\n /** Determines whether the error state can be shown. */\n _showError(): boolean {\n // We want to show the error state either if the user opted into/out of it using the\n // global options, or if they've explicitly set it through the `hasError` input.\n return this._stepperOptions.showError ?? this._customError != null;\n }\n\n static ngAcceptInputType_editable: BooleanInput;\n static ngAcceptInputType_hasError: BooleanInput;\n static ngAcceptInputType_optional: BooleanInput;\n static ngAcceptInputType_completed: BooleanInput;\n}\n\n@Directive({\n selector: '[cdkStepper]',\n exportAs: 'cdkStepper',\n})\nexport class CdkStepper implements AfterContentInit, AfterViewInit, OnDestroy {\n /** Emits when the component is destroyed. */\n protected readonly _destroyed = new Subject<void>();\n\n /** Used for managing keyboard focus. */\n private _keyManager: FocusKeyManager<FocusableOption>;\n\n /** Full list of steps inside the stepper, including inside nested steppers. */\n @ContentChildren(CdkStep, {descendants: true}) _steps: QueryList<CdkStep>;\n\n /** Steps that belong to the current stepper, excluding ones from nested steppers. */\n readonly steps: QueryList<CdkStep> = new QueryList<CdkStep>();\n\n /** The list of step headers of the steps in the stepper. */\n @ContentChildren(CdkStepHeader, {descendants: true}) _stepHeader: QueryList<CdkStepHeader>;\n\n /** List of step headers sorted based on their DOM order. */\n private _sortedHeaders = new QueryList<CdkStepHeader>();\n\n /** Whether the validity of previous steps should be checked or not. */\n @Input()\n get linear(): boolean {\n return this._linear;\n }\n set linear(value: boolean) {\n this._linear = coerceBooleanProperty(value);\n }\n private _linear = false;\n\n /** The index of the selected step. */\n @Input()\n get selectedIndex() {\n return this._selectedIndex;\n }\n set selectedIndex(index: number) {\n const newIndex = coerceNumberProperty(index);\n\n if (this.steps && this._steps) {\n // Ensure that the index can't be out of bounds.\n if (!this._isValidIndex(index) && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('cdkStepper: Cannot assign out-of-bounds value to `selectedIndex`.');\n }\n\n this.selected?._markAsInteracted();\n\n if (\n this._selectedIndex !== newIndex &&\n !this._anyControlsInvalidOrPending(newIndex) &&\n (newIndex >= this._selectedIndex || this.steps.toArray()[newIndex].editable)\n ) {\n this._updateSelectedItemIndex(index);\n }\n } else {\n this._selectedIndex = newIndex;\n }\n }\n private _selectedIndex = 0;\n\n /** The step that is selected. */\n @Input()\n get selected(): CdkStep | undefined {\n return this.steps ? this.steps.toArray()[this.selectedIndex] : undefined;\n }\n set selected(step: CdkStep | undefined) {\n this.selectedIndex = step && this.steps ? this.steps.toArray().indexOf(step) : -1;\n }\n\n /** Event emitted when the selected step has changed. */\n @Output() readonly selectionChange = new EventEmitter<StepperSelectionEvent>();\n\n /** Used to track unique ID for each stepper component. */\n _groupId: number;\n\n /** Orientation of the stepper. */\n @Input()\n get orientation(): StepperOrientation {\n return this._orientation;\n }\n set orientation(value: StepperOrientation) {\n // This is a protected method so that `MatSteppter` can hook into it.\n this._orientation = value;\n\n if (this._keyManager) {\n this._keyManager.withVerticalOrientation(value === 'vertical');\n }\n }\n\n /**\n * @deprecated To be turned into a private property. Use `orientation` instead.\n * @breaking-change 13.0.0\n */\n protected _orientation: StepperOrientation = 'horizontal';\n\n constructor(\n @Optional() private _dir: Directionality,\n private _changeDetectorRef: ChangeDetectorRef,\n private _elementRef: ElementRef<HTMLElement>,\n /**\n * @deprecated No longer in use, to be removed.\n * @breaking-change 13.0.0\n */\n @Inject(DOCUMENT) _document: any,\n ) {\n this._groupId = nextId++;\n }\n\n ngAfterContentInit() {\n this._steps.changes\n .pipe(startWith(this._steps), takeUntil(this._destroyed))\n .subscribe((steps: QueryList<CdkStep>) => {\n this.steps.reset(steps.filter(step => step._stepper === this));\n this.steps.notifyOnChanges();\n });\n }\n\n ngAfterViewInit() {\n // If the step headers are defined outside of the `ngFor` that renders the steps, like in the\n // Material stepper, they won't appear in the `QueryList` in the same order as they're\n // rendered in the DOM which will lead to incorrect keyboard navigation. We need to sort\n // them manually to ensure that they're correct. Alternatively, we can change the Material\n // template to inline the headers in the `ngFor`, but that'll result in a lot of\n // code duplciation. See #23539.\n this._stepHeader.changes\n .pipe(startWith(this._stepHeader), takeUntil(this._destroyed))\n .subscribe((headers: QueryList<CdkStepHeader>) => {\n this._sortedHeaders.reset(\n headers.toArray().sort((a, b) => {\n const documentPosition = a._elementRef.nativeElement.compareDocumentPosition(\n b._elementRef.nativeElement,\n );\n\n // `compareDocumentPosition` returns a bitmask so we have to use a bitwise operator.\n // https://developer.mozilla.org/en-US/docs/Web/API/Node/compareDocumentPosition\n // tslint:disable-next-line:no-bitwise\n return documentPosition & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1;\n }),\n );\n this._sortedHeaders.notifyOnChanges();\n });\n\n // Note that while the step headers are content children by default, any components that\n // extend this one might have them as view children. We initialize the keyboard handling in\n // AfterViewInit so we're guaranteed for both view and content children to be defined.\n this._keyManager = new FocusKeyManager<FocusableOption>(this._sortedHeaders)\n .withWrap()\n .withHomeAndEnd()\n .withVerticalOrientation(this._orientation === 'vertical');\n\n (this._dir ? (this._dir.change as Observable<Direction>) : observableOf<Direction>())\n .pipe(startWith(this._layoutDirection()), takeUntil(this._destroyed))\n .subscribe(direction => this._keyManager.withHorizontalOrientation(direction));\n\n this._keyManager.updateActiveItem(this._selectedIndex);\n\n // No need to `takeUntil` here, because we're the ones destroying `steps`.\n this.steps.changes.subscribe(() => {\n if (!this.selected) {\n this._selectedIndex = Math.max(this._selectedIndex - 1, 0);\n }\n });\n\n // The logic which asserts that the selected index is within bounds doesn't run before the\n // steps are initialized, because we don't how many steps there are yet so we may have an\n // invalid index on init. If that's the case, auto-correct to the default so we don't throw.\n if (!this._isValidIndex(this._selectedIndex)) {\n this._selectedIndex = 0;\n }\n }\n\n ngOnDestroy() {\n this.steps.destroy();\n this._sortedHeaders.destroy();\n this._destroyed.next();\n this._destroyed.complete();\n }\n\n /** Selects and focuses the next step in list. */\n next(): void {\n this.selectedIndex = Math.min(this._selectedIndex + 1, this.steps.length - 1);\n }\n\n /** Selects and focuses the previous step in list. */\n previous(): void {\n this.selectedIndex = Math.max(this._selectedIndex - 1, 0);\n }\n\n /** Resets the stepper to its initial state. Note that this includes clearing form data. */\n reset(): void {\n this._updateSelectedItemIndex(0);\n this.steps.forEach(step => step.reset());\n this._stateChanged();\n }\n\n /** Returns a unique id for each step label element. */\n _getStepLabelId(i: number): string {\n return `cdk-step-label-${this._groupId}-${i}`;\n }\n\n /** Returns unique id for each step content element. */\n _getStepContentId(i: number): string {\n return `cdk-step-content-${this._groupId}-${i}`;\n }\n\n /** Marks the component to be change detected. */\n _stateChanged() {\n this._changeDetectorRef.markForCheck();\n }\n\n /** Returns position state of the step with the given index. */\n _getAnimationDirection(index: number): StepContentPositionState {\n const position = index - this._selectedIndex;\n if (position < 0) {\n return this._layoutDirection() === 'rtl' ? 'next' : 'previous';\n } else if (position > 0) {\n return this._layoutDirection() === 'rtl' ? 'previous' : 'next';\n }\n return 'current';\n }\n\n /** Returns the type of icon to be displayed. */\n _getIndicatorType(index: number, state: StepState = STEP_STATE.NUMBER): StepState {\n const step = this.steps.toArray()[index];\n const isCurrentStep = this._isCurrentStep(index);\n\n return step._displayDefaultIndicatorType\n ? this._getDefaultIndicatorLogic(step, isCurrentStep)\n : this._getGuidelineLogic(step, isCurrentStep, state);\n }\n\n private _getDefaultIndicatorLogic(step: CdkStep, isCurrentStep: boolean): StepState {\n if (step._showError() && step.hasError && !isCurrentStep) {\n return STEP_STATE.ERROR;\n } else if (!step.completed || isCurrentStep) {\n return STEP_STATE.NUMBER;\n } else {\n return step.editable ? STEP_STATE.EDIT : STEP_STATE.DONE;\n }\n }\n\n private _getGuidelineLogic(\n step: CdkStep,\n isCurrentStep: boolean,\n state: StepState = STEP_STATE.NUMBER,\n ): StepState {\n if (step._showError() && step.hasError && !isCurrentStep) {\n return STEP_STATE.ERROR;\n } else if (step.completed && !isCurrentStep) {\n return STEP_STATE.DONE;\n } else if (step.completed && isCurrentStep) {\n return state;\n } else if (step.editable && isCurrentStep) {\n return STEP_STATE.EDIT;\n } else {\n return state;\n }\n }\n\n private _isCurrentStep(index: number) {\n return this._selectedIndex === index;\n }\n\n /** Returns the index of the currently-focused step header. */\n _getFocusIndex() {\n return this._keyManager ? this._keyManager.activeItemIndex : this._selectedIndex;\n }\n\n private _updateSelectedItemIndex(newIndex: number): void {\n const stepsArray = this.steps.toArray();\n this.selectionChange.emit({\n selectedIndex: newIndex,\n previouslySelectedIndex: this._selectedIndex,\n selectedStep: stepsArray[newIndex],\n previouslySelectedStep: stepsArray[this._selectedIndex],\n });\n\n // If focus is inside the stepper, move it to the next header, otherwise it may become\n // lost when the active step content is hidden. We can't be more granular with the check\n // (e.g. checking whether focus is inside the active step), because we don't have a\n // reference to the elements that are rendering out the content.\n this._containsFocus()\n ? this._keyManager.setActiveItem(newIndex)\n : this._keyManager.updateActiveItem(newIndex);\n\n this._selectedIndex = newIndex;\n this._stateChanged();\n }\n\n _onKeydown(event: KeyboardEvent) {\n const hasModifier = hasModifierKey(event);\n const keyCode = event.keyCode;\n const manager = this._keyManager;\n\n if (\n manager.activeItemIndex != null &&\n !hasModifier &&\n (keyCode === SPACE || keyCode === ENTER)\n ) {\n this.selectedIndex = manager.activeItemIndex;\n event.preventDefault();\n } else {\n manager.onKeydown(event);\n }\n }\n\n private _anyControlsInvalidOrPending(index: number): boolean {\n if (this._linear && index >= 0) {\n return this.steps\n .toArray()\n .slice(0, index)\n .some(step => {\n const control = step.stepControl;\n const isIncomplete = control\n ? control.invalid || control.pending || !step.interacted\n : !step.completed;\n return isIncomplete && !step.optional && !step._completedOverride;\n });\n }\n\n return false;\n }\n\n private _layoutDirection(): Direction {\n return this._dir && this._dir.value === 'rtl' ? 'rtl' : 'ltr';\n }\n\n /** Checks whether the stepper contains the focused element. */\n private _containsFocus(): boolean {\n const stepperElement = this._elementRef.nativeElement;\n const focusedElement = _getFocusedElementPierceShadowDom();\n return stepperElement === focusedElement || stepperElement.contains(focusedElement);\n }\n\n /** Checks whether the passed-in index is a valid step index. */\n private _isValidIndex(index: number): boolean {\n return index > -1 && (!this.steps || index < this.steps.length);\n }\n\n static ngAcceptInputType_editable: BooleanInput;\n static ngAcceptInputType_optional: BooleanInput;\n static ngAcceptInputType_completed: BooleanInput;\n static ngAcceptInputType_hasError: BooleanInput;\n static ngAcceptInputType_linear: BooleanInput;\n static ngAcceptInputType_selectedIndex: NumberInput;\n}\n\n/**\n * Simplified representation of an \"AbstractControl\" from @angular/forms.\n * Used to avoid having to bring in @angular/forms for a single optional interface.\n * @docs-private\n */\ninterface AbstractControlLike {\n asyncValidator: ((control: any) => any) | null;\n dirty: boolean;\n disabled: boolean;\n enabled: boolean;\n errors: {[key: string]: any} | null;\n invalid: boolean;\n parent: any;\n pending: boolean;\n pristine: boolean;\n root: AbstractControlLike;\n status: string;\n readonly statusChanges: Observable<any>;\n touched: boolean;\n untouched: boolean;\n updateOn: any;\n valid: boolean;\n validator: ((control: any) => any) | null;\n value: any;\n readonly valueChanges: Observable<any>;\n clearAsyncValidators(): void;\n clearValidators(): void;\n disable(opts?: any): void;\n enable(opts?: any): void;\n get(path: (string | number)[] | string): AbstractControlLike | null;\n getError(errorCode: string, path?: (string | number)[] | string): any;\n hasError(errorCode: string, path?: (string | number)[] | string): boolean;\n markAllAsTouched(): void;\n markAsDirty(opts?: any): void;\n markAsPending(opts?: any): void;\n markAsPristine(opts?: any): void;\n markAsTouched(opts?: any): void;\n markAsUntouched(opts?: any): void;\n patchValue(value: any, options?: Object): void;\n reset(value?: any, options?: Object): void;\n setAsyncValidators(newValidator: (control: any) => any | ((control: any) => any)[] | null): void;\n setErrors(errors: {[key: string]: any} | null, opts?: any): void;\n setParent(parent: any): void;\n setValidators(newValidator: (control: any) => any | ((control: any) => any)[] | null): void;\n setValue(value: any, options?: Object): void;\n updateValueAndValidity(opts?: any): void;\n patchValue(value: any, options?: any): void;\n reset(formState?: any, options?: any): void;\n setValue(value: any, options?: any): void;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, HostListener, Input} from '@angular/core';\n\nimport {CdkStepper} from './stepper';\n\n/** Button that moves to the next step in a stepper workflow. */\n@Directive({\n selector: 'button[cdkStepperNext]',\n host: {\n '[type]': 'type',\n },\n})\nexport class CdkStepperNext {\n /** Type of the next button. Defaults to \"submit\" if not specified. */\n @Input() type: string = 'submit';\n\n constructor(public _stepper: CdkStepper) {}\n\n // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.\n // In Ivy the `host` bindings will be merged when this class is extended, whereas in\n // ViewEngine they're overwritten.\n // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n @HostListener('click')\n _handleClick() {\n this._stepper.next();\n }\n}\n\n/** Button that moves to the previous step in a stepper workflow. */\n@Directive({\n selector: 'button[cdkStepperPrevious]',\n host: {\n '[type]': 'type',\n },\n})\nexport class CdkStepperPrevious {\n /** Type of the previous button. Defaults to \"button\" if not specified. */\n @Input() type: string = 'button';\n\n constructor(public _stepper: CdkStepper) {}\n\n // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.\n // In Ivy the `host` bindings will be merged when this class is extended, whereas in\n // ViewEngine they're overwritten.\n // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n @HostListener('click')\n _handleClick() {\n this._stepper.previous();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {CdkStepper, CdkStep} from './stepper';\nimport {CdkStepLabel} from './step-label';\nimport {CdkStepperNext, CdkStepperPrevious} from './stepper-button';\nimport {CdkStepHeader} from './step-header';\nimport {BidiModule} from '@angular/cdk/bidi';\n\n@NgModule({\n imports: [BidiModule],\n exports: [CdkStep, CdkStepper, CdkStepHeader, CdkStepLabel, CdkStepperNext, CdkStepperPrevious],\n declarations: [\n CdkStep,\n CdkStepper,\n CdkStepHeader,\n CdkStepLabel,\n CdkStepperNext,\n CdkStepperPrevious,\n ],\n})\nexport class CdkStepperModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './stepper';\nexport * from './step-label';\nexport * from './stepper-button';\nexport * from './stepper-module';\nexport * from './step-header';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["observableOf"],"mappings":";;;;;;;;;;;;AAAA;;;;;;;MAiBa,aAAa;IACxB,YAAmB,WAAoC;QAApC,gBAAW,GAAX,WAAW,CAAyB;KAAI;;IAG3D,KAAK;QACH,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;KACxC;;kHANU,aAAa;sGAAb,aAAa;mGAAb,aAAa;kBANzB,SAAS;mBAAC;oBACT,QAAQ,EAAE,iBAAiB;oBAC3B,IAAI,EAAE;wBACJ,MAAM,EAAE,KAAK;qBACd;iBACF;;;AChBD;;;;;;;MAaa,YAAY;IACvB,iCAAwC,QAA0B;QAA1B,aAAQ,GAAR,QAAQ,CAAkB;KAAI;;iHAD3D,YAAY;qGAAZ,YAAY;mGAAZ,YAAY;kBAHxB,SAAS;mBAAC;oBACT,QAAQ,EAAE,gBAAgB;iBAC3B;;;ACZD;;;;;;;AAiDA;AACA,IAAI,MAAM,GAAG,CAAC,CAAC;AAWf;MACa,qBAAqB;CAYjC;AAKD;MACa,UAAU,GAAG;IACxB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;EACd;AAEF;MACa,sBAAsB,GAAG,IAAI,cAAc,CAAiB,wBAAwB,EAAE;MAyBtF,OAAO;IAsFlB,YAC+C,QAAoB,EACrB,cAA+B;QAD9B,aAAQ,GAAR,QAAQ,CAAY;;QAzEnE,eAAU,GAAG,KAAK,CAAC;;QAIV,qBAAgB,GAA0B,IAAI,YAAY,EAAW,CAAC;QA4BvE,cAAS,GAAG,IAAI,CAAC;QAUjB,cAAS,GAAG,KAAK,CAAC;QAU1B,uBAAkB,GAAmB,IAAI,CAAC;QAclC,iBAAY,GAAmB,IAAI,CAAC;QAU1C,IAAI,CAAC,eAAe,GAAG,cAAc,GAAG,cAAc,GAAG,EAAE,CAAC;QAC5D,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC,eAAe,CAAC,2BAA2B,KAAK,KAAK,CAAC;KAChG;;IArDD,IACI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;IACD,IAAI,QAAQ,CAAC,KAAc;QACzB,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KAC/C;;IAID,IACI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;IACD,IAAI,QAAQ,CAAC,KAAc;QACzB,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KAC/C;;IAID,IACI,SAAS;QACX,OAAO,IAAI,CAAC,kBAAkB,IAAI,IAAI,GAAG,IAAI,CAAC,oBAAoB,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC;KAChG;IACD,IAAI,SAAS,CAAC,KAAc;QAC1B,IAAI,CAAC,kBAAkB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KACxD;IAGO,oBAAoB;QAC1B,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;KACvF;;IAGD,IACI,QAAQ;QACV,OAAO,IAAI,CAAC,YAAY,IAAI,IAAI,GAAG,IAAI,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;KAChF;IACD,IAAI,QAAQ,CAAC,KAAc;QACzB,IAAI,CAAC,YAAY,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KAClD;IAGO,gBAAgB;QACtB,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC;KACxE;;IAWD,MAAM;QACJ,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;KAC/B;;IAGD,KAAK;QACH,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAExB,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,EAAE;YACnC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;SACjC;QAED,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;YAC7B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;SAC3B;QAED,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;SAC1B;KACF;IAED,WAAW;;;QAGT,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;KAC/B;IAED,iBAAiB;QACf,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAClC;KACF;;IAGD,UAAU;;;;QAGR,OAAO,MAAA,IAAI,CAAC,eAAe,CAAC,SAAS,mCAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;KACpE;;4GAtIU,OAAO,kBAuFR,UAAU,CAAC,MAAM,UAAU,CAAC,aAChB,sBAAsB;gGAxFjC,OAAO,maAKJ,YAAY,yFAGf,WAAW,0GAZZ,sDAAsD;mGAIrD,OAAO;kBAPnB,SAAS;mBAAC;oBACT,QAAQ,EAAE,UAAU;oBACpB,QAAQ,EAAE,SAAS;oBACnB,QAAQ,EAAE,sDAAsD;oBAChE,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAChD;;wBAwF0D,UAAU;8BAAhE,MAAM;+BAAC,UAAU,CAAC,MAAM,UAAU,CAAC;;8BACnC,QAAQ;;8BAAI,MAAM;+BAAC,sBAAsB;;yBAnFhB,SAAS;sBAApC,YAAY;uBAAC,YAAY;gBAGc,OAAO;sBAA9C,SAAS;uBAAC,WAAW,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC;gBAG7B,WAAW;sBAAnB,KAAK;gBAOG,gBAAgB;sBADxB,MAAM;uBAAC,YAAY;gBAIX,KAAK;sBAAb,KAAK;gBAGG,YAAY;sBAApB,KAAK;gBAGe,SAAS;sBAA7B,KAAK;uBAAC,YAAY;gBAMO,cAAc;sBAAvC,KAAK;uBAAC,iBAAiB;gBAGf,KAAK;sBAAb,KAAK;gBAIF,QAAQ;sBADX,KAAK;gBAWF,QAAQ;sBADX,KAAK;gBAWF,SAAS;sBADZ,KAAK;gBAeF,QAAQ;sBADX,KAAK;;MAyEK,UAAU;IA6FrB,YACsB,IAAoB,EAChC,kBAAqC,EACrC,WAAoC;;;;;IAK1B,SAAc;QAPZ,SAAI,GAAJ,IAAI,CAAgB;QAChC,uBAAkB,GAAlB,kBAAkB,CAAmB;QACrC,gBAAW,GAAX,WAAW,CAAyB;;QA9F3B,eAAU,GAAG,IAAI,OAAO,EAAQ,CAAC;;QAS3C,UAAK,GAAuB,IAAI,SAAS,EAAW,CAAC;;QAMtD,mBAAc,GAAG,IAAI,SAAS,EAAiB,CAAC;QAUhD,YAAO,GAAG,KAAK,CAAC;QA6BhB,mBAAc,GAAG,CAAC,CAAC;;QAYR,oBAAe,GAAG,IAAI,YAAY,EAAyB,CAAC;;;;;QAuBrE,iBAAY,GAAuB,YAAY,CAAC;QAYxD,IAAI,CAAC,QAAQ,GAAG,MAAM,EAAE,CAAC;KAC1B;;IApFD,IACI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;KACrB;IACD,IAAI,MAAM,CAAC,KAAc;QACvB,IAAI,CAAC,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KAC7C;;IAID,IACI,aAAa;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;KAC5B;IACD,IAAI,aAAa,CAAC,KAAa;;QAC7B,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAE7C,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;;YAE7B,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,CAAC,EAAE;gBACjF,MAAM,KAAK,CAAC,mEAAmE,CAAC,CAAC;aAClF;YAED,MAAA,IAAI,CAAC,QAAQ,0CAAE,iBAAiB,EAAE,CAAC;YAEnC,IACE,IAAI,CAAC,cAAc,KAAK,QAAQ;gBAChC,CAAC,IAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC;iBAC3C,QAAQ,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAC5E;gBACA,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;aACtC;SACF;aAAM;YACL,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;SAChC;KACF;;IAID,IACI,QAAQ;QACV,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;KAC1E;IACD,IAAI,QAAQ,CAAC,IAAyB;QACpC,IAAI,CAAC,aAAa,GAAG,IAAI,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;KACnF;;IASD,IACI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;KAC1B;IACD,IAAI,WAAW,CAAC,KAAyB;;QAEvC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAE1B,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC;SAChE;KACF;IAqBD,kBAAkB;QAChB,IAAI,CAAC,MAAM,CAAC,OAAO;aAChB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aACxD,SAAS,CAAC,CAAC,KAAyB;YACnC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC;YAC/D,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;SAC9B,CAAC,CAAC;KACN;IAED,eAAe;;;;;;;QAOb,IAAI,CAAC,WAAW,CAAC,OAAO;aACrB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAC7D,SAAS,CAAC,CAAC,OAAiC;YAC3C,IAAI,CAAC,cAAc,CAAC,KAAK,CACvB,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1B,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,uBAAuB,CAC1E,CAAC,CAAC,WAAW,CAAC,aAAa,CAC5B,CAAC;;;;gBAKF,OAAO,gBAAgB,GAAG,IAAI,CAAC,2BAA2B,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;aACrE,CAAC,CACH,CAAC;YACF,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC;SACvC,CAAC,CAAC;;;;QAKL,IAAI,CAAC,WAAW,GAAG,IAAI,eAAe,CAAkB,IAAI,CAAC,cAAc,CAAC;aACzE,QAAQ,EAAE;aACV,cAAc,EAAE;aAChB,uBAAuB,CAAC,IAAI,CAAC,YAAY,KAAK,UAAU,CAAC,CAAC;QAE7D,CAAC,IAAI,CAAC,IAAI,GAAI,IAAI,CAAC,IAAI,CAAC,MAAgC,GAAGA,EAAY,EAAa;aACjF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aACpE,SAAS,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC;QAEjF,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;;QAGvD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;aAC5D;SACF,CAAC,CAAC;;;;QAKH,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;YAC5C,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;SACzB;KACF;IAED,WAAW;QACT,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;KAC5B;;IAGD,IAAI;QACF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KAC/E;;IAGD,QAAQ;QACN,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;KAC3D;;IAGD,KAAK;QACH,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;;IAGD,eAAe,CAAC,CAAS;QACvB,OAAO,kBAAkB,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC;KAC/C;;IAGD,iBAAiB,CAAC,CAAS;QACzB,OAAO,oBAAoB,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC;KACjD;;IAGD,aAAa;QACX,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;KACxC;;IAGD,sBAAsB,CAAC,KAAa;QAClC,MAAM,QAAQ,GAAG,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7C,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,OAAO,IAAI,CAAC,gBAAgB,EAAE,KAAK,KAAK,GAAG,MAAM,GAAG,UAAU,CAAC;SAChE;aAAM,IAAI,QAAQ,GAAG,CAAC,EAAE;YACvB,OAAO,IAAI,CAAC,gBAAgB,EAAE,KAAK,KAAK,GAAG,UAAU,GAAG,MAAM,CAAC;SAChE;QACD,OAAO,SAAS,CAAC;KAClB;;IAGD,iBAAiB,CAAC,KAAa,EAAE,QAAmB,UAAU,CAAC,MAAM;QACnE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAEjD,OAAO,IAAI,CAAC,4BAA4B;cACpC,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,aAAa,CAAC;cACnD,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;KACzD;IAEO,yBAAyB,CAAC,IAAa,EAAE,aAAsB;QACrE,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,aAAa,EAAE;YACxD,OAAO,UAAU,CAAC,KAAK,CAAC;SACzB;aAAM,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,aAAa,EAAE;YAC3C,OAAO,UAAU,CAAC,MAAM,CAAC;SAC1B;aAAM;YACL,OAAO,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;SAC1D;KACF;IAEO,kBAAkB,CACxB,IAAa,EACb,aAAsB,EACtB,QAAmB,UAAU,CAAC,MAAM;QAEpC,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,aAAa,EAAE;YACxD,OAAO,UAAU,CAAC,KAAK,CAAC;SACzB;aAAM,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,aAAa,EAAE;YAC3C,OAAO,UAAU,CAAC,IAAI,CAAC;SACxB;aAAM,IAAI,IAAI,CAAC,SAAS,IAAI,aAAa,EAAE;YAC1C,OAAO,KAAK,CAAC;SACd;aAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,aAAa,EAAE;YACzC,OAAO,UAAU,CAAC,IAAI,CAAC;SACxB;aAAM;YACL,OAAO,KAAK,CAAC;SACd;KACF;IAEO,cAAc,CAAC,KAAa;QAClC,OAAO,IAAI,CAAC,cAAc,KAAK,KAAK,CAAC;KACtC;;IAGD,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC;KAClF;IAEO,wBAAwB,CAAC,QAAgB;QAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACxC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;YACxB,aAAa,EAAE,QAAQ;YACvB,uBAAuB,EAAE,IAAI,CAAC,cAAc;YAC5C,YAAY,EAAE,UAAU,CAAC,QAAQ,CAAC;YAClC,sBAAsB,EAAE,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC;SACxD,CAAC,CAAC;;;;;QAMH,IAAI,CAAC,cAAc,EAAE;cACjB,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC;cACxC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAEhD,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;QAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IAED,UAAU,CAAC,KAAoB;QAC7B,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC;QAEjC,IACE,OAAO,CAAC,eAAe,IAAI,IAAI;YAC/B,CAAC,WAAW;aACX,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,KAAK,CAAC,EACxC;YACA,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC;YAC7C,KAAK,CAAC,cAAc,EAAE,CAAC;SACxB;aAAM;YACL,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SAC1B;KACF;IAEO,4BAA4B,CAAC,KAAa;QAChD,IAAI,IAAI,CAAC,OAAO,IAAI,KAAK,IAAI,CAAC,EAAE;YAC9B,OAAO,IAAI,CAAC,KAAK;iBACd,OAAO,EAAE;iBACT,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;iBACf,IAAI,CAAC,IAAI;gBACR,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC;gBACjC,MAAM,YAAY,GAAG,OAAO;sBACxB,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU;sBACtD,CAAC,IAAI,CAAC,SAAS,CAAC;gBACpB,OAAO,YAAY,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC;aACnE,CAAC,CAAC;SACN;QAED,OAAO,KAAK,CAAC;KACd;IAEO,gBAAgB;QACtB,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;KAC/D;;IAGO,cAAc;QACpB,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;QACtD,MAAM,cAAc,GAAG,iCAAiC,EAAE,CAAC;QAC3D,OAAO,cAAc,KAAK,cAAc,IAAI,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;KACrF;;IAGO,aAAa,CAAC,KAAa;QACjC,OAAO,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KACjE;;+GA/UU,UAAU,2HAqGX,QAAQ;mGArGP,UAAU,4OAQJ,OAAO,iEAMP,aAAa;mGAdnB,UAAU;kBAJtB,SAAS;mBAAC;oBACT,QAAQ,EAAE,cAAc;oBACxB,QAAQ,EAAE,YAAY;iBACvB;;;8BA+FI,QAAQ;;8BAOR,MAAM;+BAAC,QAAQ;;yBA7F6B,MAAM;sBAApD,eAAe;uBAAC,OAAO,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC;gBAMQ,WAAW;sBAA/D,eAAe;uBAAC,aAAa,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC;gBAO/C,MAAM;sBADT,KAAK;gBAWF,aAAa;sBADhB,KAAK;gBA8BF,QAAQ;sBADX,KAAK;gBASa,eAAe;sBAAjC,MAAM;gBAOH,WAAW;sBADd,KAAK;;;AC7UR;;;;;;;AAYA;MAOa,cAAc;IAIzB,YAAmB,QAAoB;QAApB,aAAQ,GAAR,QAAQ,CAAY;;QAF9B,SAAI,GAAW,QAAQ,CAAC;KAEU;;;;;;IAQ3C,YAAY;QACV,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;KACtB;;mHAdU,cAAc;uGAAd,cAAc;mGAAd,cAAc;kBAN1B,SAAS;mBAAC;oBACT,QAAQ,EAAE,wBAAwB;oBAClC,IAAI,EAAE;wBACJ,QAAQ,EAAE,MAAM;qBACjB;iBACF;8FAGU,IAAI;sBAAZ,KAAK;gBAUN,YAAY;sBADX,YAAY;uBAAC,OAAO;;AAMvB;MAOa,kBAAkB;IAI7B,YAAmB,QAAoB;QAApB,aAAQ,GAAR,QAAQ,CAAY;;QAF9B,SAAI,GAAW,QAAQ,CAAC;KAEU;;;;;;IAQ3C,YAAY;QACV,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;KAC1B;;uHAdU,kBAAkB;2GAAlB,kBAAkB;mGAAlB,kBAAkB;kBAN9B,SAAS;mBAAC;oBACT,QAAQ,EAAE,4BAA4B;oBACtC,IAAI,EAAE;wBACJ,QAAQ,EAAE,MAAM;qBACjB;iBACF;8FAGU,IAAI;sBAAZ,KAAK;gBAUN,YAAY;sBADX,YAAY;uBAAC,OAAO;;;ACtDvB;;;;;;;MA2Ba,gBAAgB;;qHAAhB,gBAAgB;sHAAhB,gBAAgB,iBARzB,OAAO;QACP,UAAU;QACV,aAAa;QACb,YAAY;QACZ,cAAc;QACd,kBAAkB,aARV,UAAU,aACV,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,kBAAkB;sHAUnF,gBAAgB,YAXlB,CAAC,UAAU,CAAC;mGAWV,gBAAgB;kBAZ5B,QAAQ;mBAAC;oBACR,OAAO,EAAE,CAAC,UAAU,CAAC;oBACrB,OAAO,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,kBAAkB,CAAC;oBAC/F,YAAY,EAAE;wBACZ,OAAO;wBACP,UAAU;wBACV,aAAa;wBACb,YAAY;wBACZ,cAAc;wBACd,kBAAkB;qBACnB;iBACF;;;AC1BD;;;;;;;;ACAA;;;;;;"}
@@ -33,7 +33,9 @@ function mixinHasStickyInput(base) {
33
33
  this._hasStickyChanged = false;
34
34
  }
35
35
  /** Whether sticky positioning should be applied. */
36
- get sticky() { return this._sticky; }
36
+ get sticky() {
37
+ return this._sticky;
38
+ }
37
39
  set sticky(v) {
38
40
  const prevValue = this._sticky;
39
41
  this._sticky = coerceBooleanProperty(v);
@@ -135,8 +137,12 @@ class CdkColumnDef extends _CdkColumnDefBase {
135
137
  this._stickyEnd = false;
136
138
  }
137
139
  /** Unique name for this column. */
138
- get name() { return this._name; }
139
- set name(name) { this._setNameInput(name); }
140
+ get name() {
141
+ return this._name;
142
+ }
143
+ set name(name) {
144
+ this._setNameInput(name);
145
+ }
140
146
  /**
141
147
  * Whether this column should be sticky positioned on the end of the row. Should make sure
142
148
  * that it mimics the `CanStick` mixin such that `_hasStickyChanged` is set to true if the value
@@ -171,7 +177,7 @@ class CdkColumnDef extends _CdkColumnDefBase {
171
177
  // trigger with an empty string and should not overwrite the programmatically set value.
172
178
  if (value) {
173
179
  this._name = value;
174
- this.cssClassFriendlyName = value.replace(/[^a-z0-9_-]/ig, '-');
180
+ this.cssClassFriendlyName = value.replace(/[^a-z0-9_-]/gi, '-');
175
181
  this._updateColumnCssClassName();
176
182
  }
177
183
  }
@@ -243,9 +249,8 @@ class CdkFooterCell extends BaseCdkCell {
243
249
  var _a;
244
250
  super(columnDef, elementRef);
245
251
  if (((_a = columnDef._table) === null || _a === void 0 ? void 0 : _a._elementRef.nativeElement.nodeType) === 1) {
246
- const tableRole = columnDef._table._elementRef.nativeElement
247
- .getAttribute('role');
248
- const role = (tableRole === 'grid' || tableRole === 'treegrid') ? 'gridcell' : 'cell';
252
+ const tableRole = columnDef._table._elementRef.nativeElement.getAttribute('role');
253
+ const role = tableRole === 'grid' || tableRole === 'treegrid' ? 'gridcell' : 'cell';
249
254
  elementRef.nativeElement.setAttribute('role', role);
250
255
  }
251
256
  }
@@ -267,9 +272,8 @@ class CdkCell extends BaseCdkCell {
267
272
  var _a;
268
273
  super(columnDef, elementRef);
269
274
  if (((_a = columnDef._table) === null || _a === void 0 ? void 0 : _a._elementRef.nativeElement.nodeType) === 1) {
270
- const tableRole = columnDef._table._elementRef.nativeElement
271
- .getAttribute('role');
272
- const role = (tableRole === 'grid' || tableRole === 'treegrid') ? 'gridcell' : 'cell';
275
+ const tableRole = columnDef._table._elementRef.nativeElement.getAttribute('role');
276
+ const role = tableRole === 'grid' || tableRole === 'treegrid' ? 'gridcell' : 'cell';
273
277
  elementRef.nativeElement.setAttribute('role', role);
274
278
  }
275
279
  }
@@ -342,7 +346,9 @@ class _CoalescedStyleScheduler {
342
346
  return;
343
347
  }
344
348
  this._currentSchedule = new _Schedule();
345
- this._getScheduleObservable().pipe(takeUntil(this._destroyed)).subscribe(() => {
349
+ this._getScheduleObservable()
350
+ .pipe(takeUntil(this._destroyed))
351
+ .subscribe(() => {
346
352
  while (this._currentSchedule.tasks.length || this._currentSchedule.endTasks.length) {
347
353
  const schedule = this._currentSchedule;
348
354
  // Capture new tasks scheduled by the current set of tasks.
@@ -360,9 +366,9 @@ class _CoalescedStyleScheduler {
360
366
  _getScheduleObservable() {
361
367
  // Use onStable when in the context of an ongoing change detection cycle so that we
362
368
  // do not accidentally trigger additional cycles.
363
- return this._ngZone.isStable ?
364
- from(Promise.resolve(undefined)) :
365
- this._ngZone.onStable.pipe(take(1));
369
+ return this._ngZone.isStable
370
+ ? from(Promise.resolve(undefined))
371
+ : this._ngZone.onStable.pipe(take(1));
366
372
  }
367
373
  }
368
374
  _CoalescedStyleScheduler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: _CoalescedStyleScheduler, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
@@ -623,7 +629,7 @@ CdkNoDataRow.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version:
623
629
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkNoDataRow, decorators: [{
624
630
  type: Directive,
625
631
  args: [{
626
- selector: 'ng-template[cdkNoDataRow]'
632
+ selector: 'ng-template[cdkNoDataRow]',
627
633
  }]
628
634
  }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
629
635
 
@@ -712,8 +718,9 @@ class StickyStyler {
712
718
  * column cell. If `false` cached widths will be used instead.
713
719
  */
714
720
  updateStickyColumns(rows, stickyStartStates, stickyEndStates, recalculateCellWidths = true) {
715
- if (!rows.length || !this._isBrowser || !(stickyStartStates.some(state => state) ||
716
- stickyEndStates.some(state => state))) {
721
+ if (!rows.length ||
722
+ !this._isBrowser ||
723
+ !(stickyStartStates.some(state => state) || stickyEndStates.some(state => state))) {
717
724
  if (this._positionListener) {
718
725
  this._positionListener.stickyColumnsUpdated({ sizes: [] });
719
726
  this._positionListener.stickyEndColumnsUpdated({ sizes: [] });
@@ -745,19 +752,19 @@ class StickyStyler {
745
752
  }
746
753
  if (this._positionListener) {
747
754
  this._positionListener.stickyColumnsUpdated({
748
- sizes: lastStickyStart === -1 ?
749
- [] :
750
- cellWidths
755
+ sizes: lastStickyStart === -1
756
+ ? []
757
+ : cellWidths
751
758
  .slice(0, lastStickyStart + 1)
752
- .map((width, index) => stickyStartStates[index] ? width : null)
759
+ .map((width, index) => (stickyStartStates[index] ? width : null)),
753
760
  });
754
761
  this._positionListener.stickyEndColumnsUpdated({
755
- sizes: firstStickyEnd === -1 ?
756
- [] :
757
- cellWidths
762
+ sizes: firstStickyEnd === -1
763
+ ? []
764
+ : cellWidths
758
765
  .slice(firstStickyEnd)
759
- .map((width, index) => stickyEndStates[index + firstStickyEnd] ? width : null)
760
- .reverse()
766
+ .map((width, index) => (stickyEndStates[index + firstStickyEnd] ? width : null))
767
+ .reverse(),
761
768
  });
762
769
  }
763
770
  });
@@ -793,8 +800,9 @@ class StickyStyler {
793
800
  }
794
801
  stickyOffsets[rowIndex] = stickyOffset;
795
802
  const row = rows[rowIndex];
796
- elementsToStick[rowIndex] = this._isNativeHtmlTable ?
797
- Array.from(row.children) : [row];
803
+ elementsToStick[rowIndex] = this._isNativeHtmlTable
804
+ ? Array.from(row.children)
805
+ : [row];
798
806
  const height = row.getBoundingClientRect().height;
799
807
  stickyOffset += height;
800
808
  stickyCellHeights[rowIndex] = height;
@@ -815,10 +823,18 @@ class StickyStyler {
815
823
  }
816
824
  }
817
825
  if (position === 'top') {
818
- (_a = this._positionListener) === null || _a === void 0 ? void 0 : _a.stickyHeaderRowsUpdated({ sizes: stickyCellHeights, offsets: stickyOffsets, elements: elementsToStick });
826
+ (_a = this._positionListener) === null || _a === void 0 ? void 0 : _a.stickyHeaderRowsUpdated({
827
+ sizes: stickyCellHeights,
828
+ offsets: stickyOffsets,
829
+ elements: elementsToStick,
830
+ });
819
831
  }
820
832
  else {
821
- (_b = this._positionListener) === null || _b === void 0 ? void 0 : _b.stickyFooterRowsUpdated({ sizes: stickyCellHeights, offsets: stickyOffsets, elements: elementsToStick });
833
+ (_b = this._positionListener) === null || _b === void 0 ? void 0 : _b.stickyFooterRowsUpdated({
834
+ sizes: stickyCellHeights,
835
+ offsets: stickyOffsets,
836
+ elements: elementsToStick,
837
+ });
822
838
  }
823
839
  });
824
840
  }
@@ -1047,16 +1063,12 @@ const STICKY_POSITIONING_LISTENER = new InjectionToken('CDK_SPL');
1047
1063
  class CdkRecycleRows {
1048
1064
  }
1049
1065
  CdkRecycleRows.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkRecycleRows, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1050
- CdkRecycleRows.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-next.15", type: CdkRecycleRows, selector: "cdk-table[recycleRows], table[cdk-table][recycleRows]", providers: [
1051
- { provide: _VIEW_REPEATER_STRATEGY, useClass: _RecycleViewRepeaterStrategy },
1052
- ], ngImport: i0 });
1066
+ CdkRecycleRows.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-next.15", type: CdkRecycleRows, selector: "cdk-table[recycleRows], table[cdk-table][recycleRows]", providers: [{ provide: _VIEW_REPEATER_STRATEGY, useClass: _RecycleViewRepeaterStrategy }], ngImport: i0 });
1053
1067
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkRecycleRows, decorators: [{
1054
1068
  type: Directive,
1055
1069
  args: [{
1056
1070
  selector: 'cdk-table[recycleRows], table[cdk-table][recycleRows]',
1057
- providers: [
1058
- { provide: _VIEW_REPEATER_STRATEGY, useClass: _RecycleViewRepeaterStrategy },
1059
- ],
1071
+ providers: [{ provide: _VIEW_REPEATER_STRATEGY, useClass: _RecycleViewRepeaterStrategy }],
1060
1072
  }]
1061
1073
  }] });
1062
1074
  /**
@@ -1263,7 +1275,10 @@ class CdkTable {
1263
1275
  *
1264
1276
  * @docs-private
1265
1277
  */
1266
- this.viewChange = new BehaviorSubject({ start: 0, end: Number.MAX_VALUE });
1278
+ this.viewChange = new BehaviorSubject({
1279
+ start: 0,
1280
+ end: Number.MAX_VALUE,
1281
+ });
1267
1282
  if (!role) {
1268
1283
  this._elementRef.nativeElement.setAttribute('role', 'table');
1269
1284
  }
@@ -1355,7 +1370,10 @@ class CdkTable {
1355
1370
  this._dataDiffer = this._differs.find([]).create((_i, dataRow) => {
1356
1371
  return this.trackBy ? this.trackBy(dataRow.dataIndex, dataRow.data) : dataRow;
1357
1372
  });
1358
- this._viewportRuler.change().pipe(takeUntil(this._onDestroy)).subscribe(() => {
1373
+ this._viewportRuler
1374
+ .change()
1375
+ .pipe(takeUntil(this._onDestroy))
1376
+ .subscribe(() => {
1359
1377
  this._forceRecalculateCellWidths = true;
1360
1378
  });
1361
1379
  }
@@ -1364,7 +1382,9 @@ class CdkTable {
1364
1382
  this._cacheRowDefs();
1365
1383
  this._cacheColumnDefs();
1366
1384
  // Make sure that the user has at least added header, footer, or data row def.
1367
- if (!this._headerRowDefs.length && !this._footerRowDefs.length && !this._rowDefs.length &&
1385
+ if (!this._headerRowDefs.length &&
1386
+ !this._footerRowDefs.length &&
1387
+ !this._rowDefs.length &&
1368
1388
  (typeof ngDevMode === 'undefined' || ngDevMode)) {
1369
1389
  throw getTableMissingRowDefsError();
1370
1390
  }
@@ -1427,7 +1447,7 @@ class CdkTable {
1427
1447
  return;
1428
1448
  }
1429
1449
  const viewContainer = this._rowOutlet.viewContainer;
1430
- this._viewRepeater.applyChanges(changes, viewContainer, (record, _adjustedPreviousIndex, currentIndex) => this._getEmbeddedViewArgs(record.item, currentIndex), (record) => record.item.data, (change) => {
1450
+ this._viewRepeater.applyChanges(changes, viewContainer, (record, _adjustedPreviousIndex, currentIndex) => this._getEmbeddedViewArgs(record.item, currentIndex), record => record.item.data, (change) => {
1431
1451
  if (change.operation === 1 /* INSERTED */ && change.context) {
1432
1452
  this._renderCellTemplateForItem(change.record.item.rowDef, change.context);
1433
1453
  }
@@ -1546,8 +1566,7 @@ class CdkTable {
1546
1566
  // In a table using a fixed layout, row content won't affect column width, so sticky styles
1547
1567
  // don't need to be cleared unless either the sticky column config changes or one of the row
1548
1568
  // defs change.
1549
- if ((this._isNativeHtmlTable && !this._fixedLayout)
1550
- || this._stickyColumnStylesNeedReset) {
1569
+ if ((this._isNativeHtmlTable && !this._fixedLayout) || this._stickyColumnStylesNeedReset) {
1551
1570
  // Clear the left and right positioning from all columns in the table across all rows since
1552
1571
  // sticky columns span across all table sections (header, data, footer)
1553
1572
  this._stickyStyler.clearStickyPositioning([...headerRows, ...dataRows, ...footerRows], ['left', 'right']);
@@ -1616,7 +1635,7 @@ class CdkTable {
1616
1635
  _getRenderRowsForData(data, dataIndex, cache) {
1617
1636
  const rowDefs = this._getRowDefs(data, dataIndex);
1618
1637
  return rowDefs.map(rowDef => {
1619
- const cachedRenderRows = (cache && cache.has(rowDef)) ? cache.get(rowDef) : [];
1638
+ const cachedRenderRows = cache && cache.has(rowDef) ? cache.get(rowDef) : [];
1620
1639
  if (cachedRenderRows.length) {
1621
1640
  const dataRow = cachedRenderRows.shift();
1622
1641
  dataRow.dataIndex = dataIndex;
@@ -1646,7 +1665,8 @@ class CdkTable {
1646
1665
  this._rowDefs = mergeArrayAndSet(this._getOwnDefs(this._contentRowDefs), this._customRowDefs);
1647
1666
  // After all row definitions are determined, find the row definition to be considered default.
1648
1667
  const defaultRowDefs = this._rowDefs.filter(def => !def.when);
1649
- if (!this.multiTemplateDataRows && defaultRowDefs.length > 1 &&
1668
+ if (!this.multiTemplateDataRows &&
1669
+ defaultRowDefs.length > 1 &&
1650
1670
  (typeof ngDevMode === 'undefined' || ngDevMode)) {
1651
1671
  throw getTableMultipleDefaultRowDefsError();
1652
1672
  }
@@ -1717,7 +1737,8 @@ class CdkTable {
1717
1737
  if (dataStream === undefined && (typeof ngDevMode === 'undefined' || ngDevMode)) {
1718
1738
  throw getTableUnknownDataSourceError();
1719
1739
  }
1720
- this._renderChangeSubscription = dataStream.pipe(takeUntil(this._onDestroy))
1740
+ this._renderChangeSubscription = dataStream
1741
+ .pipe(takeUntil(this._onDestroy))
1721
1742
  .subscribe(data => {
1722
1743
  this._data = data || [];
1723
1744
  this.renderRows();
@@ -2016,12 +2037,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15",
2016
2037
  }], _contentHeaderRowDefs: [{
2017
2038
  type: ContentChildren,
2018
2039
  args: [CdkHeaderRowDef, {
2019
- descendants: true
2040
+ descendants: true,
2020
2041
  }]
2021
2042
  }], _contentFooterRowDefs: [{
2022
2043
  type: ContentChildren,
2023
2044
  args: [CdkFooterRowDef, {
2024
- descendants: true
2045
+ descendants: true,
2025
2046
  }]
2026
2047
  }], _noDataRow: [{
2027
2048
  type: ContentChild,
@@ -2262,7 +2283,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15",
2262
2283
  args: [{
2263
2284
  exports: EXPORTED_DECLARATIONS,
2264
2285
  declarations: EXPORTED_DECLARATIONS,
2265
- imports: [ScrollingModule]
2286
+ imports: [ScrollingModule],
2266
2287
  }]
2267
2288
  }] });
2268
2289