@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');
@@ -260,7 +260,8 @@ class CdkStepper {
260
260
  throw Error('cdkStepper: Cannot assign out-of-bounds value to `selectedIndex`.');
261
261
  }
262
262
  this.selected?._markAsInteracted();
263
- if (this._selectedIndex !== newIndex && !this._anyControlsInvalidOrPending(newIndex) &&
263
+ if (this._selectedIndex !== newIndex &&
264
+ !this._anyControlsInvalidOrPending(newIndex) &&
264
265
  (newIndex >= this._selectedIndex || this.steps.toArray()[newIndex].editable)) {
265
266
  this._updateSelectedItemIndex(index);
266
267
  }
@@ -274,10 +275,12 @@ class CdkStepper {
274
275
  return this.steps ? this.steps.toArray()[this.selectedIndex] : undefined;
275
276
  }
276
277
  set selected(step) {
277
- this.selectedIndex = (step && this.steps) ? this.steps.toArray().indexOf(step) : -1;
278
+ this.selectedIndex = step && this.steps ? this.steps.toArray().indexOf(step) : -1;
278
279
  }
279
280
  /** Orientation of the stepper. */
280
- get orientation() { return this._orientation; }
281
+ get orientation() {
282
+ return this._orientation;
283
+ }
281
284
  set orientation(value) {
282
285
  // This is a protected method so that `MatSteppter` can hook into it.
283
286
  this._orientation = value;
@@ -383,8 +386,9 @@ class CdkStepper {
383
386
  _getIndicatorType(index, state = STEP_STATE.NUMBER) {
384
387
  const step = this.steps.toArray()[index];
385
388
  const isCurrentStep = this._isCurrentStep(index);
386
- return step._displayDefaultIndicatorType ? this._getDefaultIndicatorLogic(step, isCurrentStep) :
387
- this._getGuidelineLogic(step, isCurrentStep, state);
389
+ return step._displayDefaultIndicatorType
390
+ ? this._getDefaultIndicatorLogic(step, isCurrentStep)
391
+ : this._getGuidelineLogic(step, isCurrentStep, state);
388
392
  }
389
393
  _getDefaultIndicatorLogic(step, isCurrentStep) {
390
394
  if (step._showError() && step.hasError && !isCurrentStep) {
@@ -433,8 +437,9 @@ class CdkStepper {
433
437
  // lost when the active step content is hidden. We can't be more granular with the check
434
438
  // (e.g. checking whether focus is inside the active step), because we don't have a
435
439
  // reference to the elements that are rendering out the content.
436
- this._containsFocus() ? this._keyManager.setActiveItem(newIndex) :
437
- this._keyManager.updateActiveItem(newIndex);
440
+ this._containsFocus()
441
+ ? this._keyManager.setActiveItem(newIndex)
442
+ : this._keyManager.updateActiveItem(newIndex);
438
443
  this._selectedIndex = newIndex;
439
444
  this._stateChanged();
440
445
  }
@@ -442,7 +447,8 @@ class CdkStepper {
442
447
  const hasModifier = hasModifierKey(event);
443
448
  const keyCode = event.keyCode;
444
449
  const manager = this._keyManager;
445
- if (manager.activeItemIndex != null && !hasModifier &&
450
+ if (manager.activeItemIndex != null &&
451
+ !hasModifier &&
446
452
  (keyCode === SPACE || keyCode === ENTER)) {
447
453
  this.selectedIndex = manager.activeItemIndex;
448
454
  event.preventDefault();
@@ -453,9 +459,14 @@ class CdkStepper {
453
459
  }
454
460
  _anyControlsInvalidOrPending(index) {
455
461
  if (this._linear && index >= 0) {
456
- return this.steps.toArray().slice(0, index).some(step => {
462
+ return this.steps
463
+ .toArray()
464
+ .slice(0, index)
465
+ .some(step => {
457
466
  const control = step.stepControl;
458
- const isIncomplete = control ? (control.invalid || control.pending || !step.interacted) : !step.completed;
467
+ const isIncomplete = control
468
+ ? control.invalid || control.pending || !step.interacted
469
+ : !step.completed;
459
470
  return isIncomplete && !step.optional && !step._completedOverride;
460
471
  });
461
472
  }
@@ -537,7 +548,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15",
537
548
  selector: 'button[cdkStepperNext]',
538
549
  host: {
539
550
  '[type]': 'type',
540
- }
551
+ },
541
552
  }]
542
553
  }], ctorParameters: function () { return [{ type: CdkStepper }]; }, propDecorators: { type: [{
543
554
  type: Input
@@ -569,7 +580,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15",
569
580
  selector: 'button[cdkStepperPrevious]',
570
581
  host: {
571
582
  '[type]': 'type',
572
- }
583
+ },
573
584
  }]
574
585
  }], ctorParameters: function () { return [{ type: CdkStepper }]; }, propDecorators: { type: [{
575
586
  type: Input
@@ -593,25 +604,13 @@ CdkStepperModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versio
593
604
  CdkStepHeader,
594
605
  CdkStepLabel,
595
606
  CdkStepperNext,
596
- CdkStepperPrevious], imports: [BidiModule], exports: [CdkStep,
597
- CdkStepper,
598
- CdkStepHeader,
599
- CdkStepLabel,
600
- CdkStepperNext,
601
- CdkStepperPrevious] });
607
+ CdkStepperPrevious], imports: [BidiModule], exports: [CdkStep, CdkStepper, CdkStepHeader, CdkStepLabel, CdkStepperNext, CdkStepperPrevious] });
602
608
  CdkStepperModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkStepperModule, imports: [[BidiModule]] });
603
609
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkStepperModule, decorators: [{
604
610
  type: NgModule,
605
611
  args: [{
606
612
  imports: [BidiModule],
607
- exports: [
608
- CdkStep,
609
- CdkStepper,
610
- CdkStepHeader,
611
- CdkStepLabel,
612
- CdkStepperNext,
613
- CdkStepperPrevious,
614
- ],
613
+ exports: [CdkStep, CdkStepper, CdkStepHeader, CdkStepLabel, CdkStepperNext, CdkStepperPrevious],
615
614
  declarations: [
616
615
  CdkStep,
617
616
  CdkStepper,
@@ -619,7 +618,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15",
619
618
  CdkStepLabel,
620
619
  CdkStepperNext,
621
620
  CdkStepperPrevious,
622
- ]
621
+ ],
623
622
  }]
624
623
  }] });
625
624
 
@@ -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":"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"}
@@ -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
  }
@@ -240,9 +246,8 @@ class CdkFooterCell extends BaseCdkCell {
240
246
  constructor(columnDef, elementRef) {
241
247
  super(columnDef, elementRef);
242
248
  if (columnDef._table?._elementRef.nativeElement.nodeType === 1) {
243
- const tableRole = columnDef._table._elementRef.nativeElement
244
- .getAttribute('role');
245
- const role = (tableRole === 'grid' || tableRole === 'treegrid') ? 'gridcell' : 'cell';
249
+ const tableRole = columnDef._table._elementRef.nativeElement.getAttribute('role');
250
+ const role = tableRole === 'grid' || tableRole === 'treegrid' ? 'gridcell' : 'cell';
246
251
  elementRef.nativeElement.setAttribute('role', role);
247
252
  }
248
253
  }
@@ -263,9 +268,8 @@ class CdkCell extends BaseCdkCell {
263
268
  constructor(columnDef, elementRef) {
264
269
  super(columnDef, elementRef);
265
270
  if (columnDef._table?._elementRef.nativeElement.nodeType === 1) {
266
- const tableRole = columnDef._table._elementRef.nativeElement
267
- .getAttribute('role');
268
- const role = (tableRole === 'grid' || tableRole === 'treegrid') ? 'gridcell' : 'cell';
271
+ const tableRole = columnDef._table._elementRef.nativeElement.getAttribute('role');
272
+ const role = tableRole === 'grid' || tableRole === 'treegrid' ? 'gridcell' : 'cell';
269
273
  elementRef.nativeElement.setAttribute('role', role);
270
274
  }
271
275
  }
@@ -338,7 +342,9 @@ class _CoalescedStyleScheduler {
338
342
  return;
339
343
  }
340
344
  this._currentSchedule = new _Schedule();
341
- this._getScheduleObservable().pipe(takeUntil(this._destroyed)).subscribe(() => {
345
+ this._getScheduleObservable()
346
+ .pipe(takeUntil(this._destroyed))
347
+ .subscribe(() => {
342
348
  while (this._currentSchedule.tasks.length || this._currentSchedule.endTasks.length) {
343
349
  const schedule = this._currentSchedule;
344
350
  // Capture new tasks scheduled by the current set of tasks.
@@ -356,9 +362,9 @@ class _CoalescedStyleScheduler {
356
362
  _getScheduleObservable() {
357
363
  // Use onStable when in the context of an ongoing change detection cycle so that we
358
364
  // do not accidentally trigger additional cycles.
359
- return this._ngZone.isStable ?
360
- from(Promise.resolve(undefined)) :
361
- this._ngZone.onStable.pipe(take(1));
365
+ return this._ngZone.isStable
366
+ ? from(Promise.resolve(undefined))
367
+ : this._ngZone.onStable.pipe(take(1));
362
368
  }
363
369
  }
364
370
  _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 });
@@ -613,7 +619,7 @@ CdkNoDataRow.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version:
613
619
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkNoDataRow, decorators: [{
614
620
  type: Directive,
615
621
  args: [{
616
- selector: 'ng-template[cdkNoDataRow]'
622
+ selector: 'ng-template[cdkNoDataRow]',
617
623
  }]
618
624
  }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
619
625
 
@@ -702,8 +708,9 @@ class StickyStyler {
702
708
  * column cell. If `false` cached widths will be used instead.
703
709
  */
704
710
  updateStickyColumns(rows, stickyStartStates, stickyEndStates, recalculateCellWidths = true) {
705
- if (!rows.length || !this._isBrowser || !(stickyStartStates.some(state => state) ||
706
- stickyEndStates.some(state => state))) {
711
+ if (!rows.length ||
712
+ !this._isBrowser ||
713
+ !(stickyStartStates.some(state => state) || stickyEndStates.some(state => state))) {
707
714
  if (this._positionListener) {
708
715
  this._positionListener.stickyColumnsUpdated({ sizes: [] });
709
716
  this._positionListener.stickyEndColumnsUpdated({ sizes: [] });
@@ -735,19 +742,19 @@ class StickyStyler {
735
742
  }
736
743
  if (this._positionListener) {
737
744
  this._positionListener.stickyColumnsUpdated({
738
- sizes: lastStickyStart === -1 ?
739
- [] :
740
- cellWidths
745
+ sizes: lastStickyStart === -1
746
+ ? []
747
+ : cellWidths
741
748
  .slice(0, lastStickyStart + 1)
742
- .map((width, index) => stickyStartStates[index] ? width : null)
749
+ .map((width, index) => (stickyStartStates[index] ? width : null)),
743
750
  });
744
751
  this._positionListener.stickyEndColumnsUpdated({
745
- sizes: firstStickyEnd === -1 ?
746
- [] :
747
- cellWidths
752
+ sizes: firstStickyEnd === -1
753
+ ? []
754
+ : cellWidths
748
755
  .slice(firstStickyEnd)
749
- .map((width, index) => stickyEndStates[index + firstStickyEnd] ? width : null)
750
- .reverse()
756
+ .map((width, index) => (stickyEndStates[index + firstStickyEnd] ? width : null))
757
+ .reverse(),
751
758
  });
752
759
  }
753
760
  });
@@ -783,8 +790,9 @@ class StickyStyler {
783
790
  }
784
791
  stickyOffsets[rowIndex] = stickyOffset;
785
792
  const row = rows[rowIndex];
786
- elementsToStick[rowIndex] = this._isNativeHtmlTable ?
787
- Array.from(row.children) : [row];
793
+ elementsToStick[rowIndex] = this._isNativeHtmlTable
794
+ ? Array.from(row.children)
795
+ : [row];
788
796
  const height = row.getBoundingClientRect().height;
789
797
  stickyOffset += height;
790
798
  stickyCellHeights[rowIndex] = height;
@@ -804,10 +812,18 @@ class StickyStyler {
804
812
  }
805
813
  }
806
814
  if (position === 'top') {
807
- this._positionListener?.stickyHeaderRowsUpdated({ sizes: stickyCellHeights, offsets: stickyOffsets, elements: elementsToStick });
815
+ this._positionListener?.stickyHeaderRowsUpdated({
816
+ sizes: stickyCellHeights,
817
+ offsets: stickyOffsets,
818
+ elements: elementsToStick,
819
+ });
808
820
  }
809
821
  else {
810
- this._positionListener?.stickyFooterRowsUpdated({ sizes: stickyCellHeights, offsets: stickyOffsets, elements: elementsToStick });
822
+ this._positionListener?.stickyFooterRowsUpdated({
823
+ sizes: stickyCellHeights,
824
+ offsets: stickyOffsets,
825
+ elements: elementsToStick,
826
+ });
811
827
  }
812
828
  });
813
829
  }
@@ -1043,16 +1059,12 @@ const STICKY_POSITIONING_LISTENER = new InjectionToken('CDK_SPL');
1043
1059
  class CdkRecycleRows {
1044
1060
  }
1045
1061
  CdkRecycleRows.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkRecycleRows, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1046
- 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: [
1047
- { provide: _VIEW_REPEATER_STRATEGY, useClass: _RecycleViewRepeaterStrategy },
1048
- ], ngImport: i0 });
1062
+ 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 });
1049
1063
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkRecycleRows, decorators: [{
1050
1064
  type: Directive,
1051
1065
  args: [{
1052
1066
  selector: 'cdk-table[recycleRows], table[cdk-table][recycleRows]',
1053
- providers: [
1054
- { provide: _VIEW_REPEATER_STRATEGY, useClass: _RecycleViewRepeaterStrategy },
1055
- ],
1067
+ providers: [{ provide: _VIEW_REPEATER_STRATEGY, useClass: _RecycleViewRepeaterStrategy }],
1056
1068
  }]
1057
1069
  }] });
1058
1070
  /**
@@ -1259,7 +1271,10 @@ class CdkTable {
1259
1271
  *
1260
1272
  * @docs-private
1261
1273
  */
1262
- this.viewChange = new BehaviorSubject({ start: 0, end: Number.MAX_VALUE });
1274
+ this.viewChange = new BehaviorSubject({
1275
+ start: 0,
1276
+ end: Number.MAX_VALUE,
1277
+ });
1263
1278
  if (!role) {
1264
1279
  this._elementRef.nativeElement.setAttribute('role', 'table');
1265
1280
  }
@@ -1351,7 +1366,10 @@ class CdkTable {
1351
1366
  this._dataDiffer = this._differs.find([]).create((_i, dataRow) => {
1352
1367
  return this.trackBy ? this.trackBy(dataRow.dataIndex, dataRow.data) : dataRow;
1353
1368
  });
1354
- this._viewportRuler.change().pipe(takeUntil(this._onDestroy)).subscribe(() => {
1369
+ this._viewportRuler
1370
+ .change()
1371
+ .pipe(takeUntil(this._onDestroy))
1372
+ .subscribe(() => {
1355
1373
  this._forceRecalculateCellWidths = true;
1356
1374
  });
1357
1375
  }
@@ -1360,7 +1378,9 @@ class CdkTable {
1360
1378
  this._cacheRowDefs();
1361
1379
  this._cacheColumnDefs();
1362
1380
  // Make sure that the user has at least added header, footer, or data row def.
1363
- if (!this._headerRowDefs.length && !this._footerRowDefs.length && !this._rowDefs.length &&
1381
+ if (!this._headerRowDefs.length &&
1382
+ !this._footerRowDefs.length &&
1383
+ !this._rowDefs.length &&
1364
1384
  (typeof ngDevMode === 'undefined' || ngDevMode)) {
1365
1385
  throw getTableMissingRowDefsError();
1366
1386
  }
@@ -1423,7 +1443,7 @@ class CdkTable {
1423
1443
  return;
1424
1444
  }
1425
1445
  const viewContainer = this._rowOutlet.viewContainer;
1426
- this._viewRepeater.applyChanges(changes, viewContainer, (record, _adjustedPreviousIndex, currentIndex) => this._getEmbeddedViewArgs(record.item, currentIndex), (record) => record.item.data, (change) => {
1446
+ this._viewRepeater.applyChanges(changes, viewContainer, (record, _adjustedPreviousIndex, currentIndex) => this._getEmbeddedViewArgs(record.item, currentIndex), record => record.item.data, (change) => {
1427
1447
  if (change.operation === 1 /* INSERTED */ && change.context) {
1428
1448
  this._renderCellTemplateForItem(change.record.item.rowDef, change.context);
1429
1449
  }
@@ -1542,8 +1562,7 @@ class CdkTable {
1542
1562
  // In a table using a fixed layout, row content won't affect column width, so sticky styles
1543
1563
  // don't need to be cleared unless either the sticky column config changes or one of the row
1544
1564
  // defs change.
1545
- if ((this._isNativeHtmlTable && !this._fixedLayout)
1546
- || this._stickyColumnStylesNeedReset) {
1565
+ if ((this._isNativeHtmlTable && !this._fixedLayout) || this._stickyColumnStylesNeedReset) {
1547
1566
  // Clear the left and right positioning from all columns in the table across all rows since
1548
1567
  // sticky columns span across all table sections (header, data, footer)
1549
1568
  this._stickyStyler.clearStickyPositioning([...headerRows, ...dataRows, ...footerRows], ['left', 'right']);
@@ -1612,7 +1631,7 @@ class CdkTable {
1612
1631
  _getRenderRowsForData(data, dataIndex, cache) {
1613
1632
  const rowDefs = this._getRowDefs(data, dataIndex);
1614
1633
  return rowDefs.map(rowDef => {
1615
- const cachedRenderRows = (cache && cache.has(rowDef)) ? cache.get(rowDef) : [];
1634
+ const cachedRenderRows = cache && cache.has(rowDef) ? cache.get(rowDef) : [];
1616
1635
  if (cachedRenderRows.length) {
1617
1636
  const dataRow = cachedRenderRows.shift();
1618
1637
  dataRow.dataIndex = dataIndex;
@@ -1642,7 +1661,8 @@ class CdkTable {
1642
1661
  this._rowDefs = mergeArrayAndSet(this._getOwnDefs(this._contentRowDefs), this._customRowDefs);
1643
1662
  // After all row definitions are determined, find the row definition to be considered default.
1644
1663
  const defaultRowDefs = this._rowDefs.filter(def => !def.when);
1645
- if (!this.multiTemplateDataRows && defaultRowDefs.length > 1 &&
1664
+ if (!this.multiTemplateDataRows &&
1665
+ defaultRowDefs.length > 1 &&
1646
1666
  (typeof ngDevMode === 'undefined' || ngDevMode)) {
1647
1667
  throw getTableMultipleDefaultRowDefsError();
1648
1668
  }
@@ -1713,7 +1733,8 @@ class CdkTable {
1713
1733
  if (dataStream === undefined && (typeof ngDevMode === 'undefined' || ngDevMode)) {
1714
1734
  throw getTableUnknownDataSourceError();
1715
1735
  }
1716
- this._renderChangeSubscription = dataStream.pipe(takeUntil(this._onDestroy))
1736
+ this._renderChangeSubscription = dataStream
1737
+ .pipe(takeUntil(this._onDestroy))
1717
1738
  .subscribe(data => {
1718
1739
  this._data = data || [];
1719
1740
  this.renderRows();
@@ -2010,12 +2031,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15",
2010
2031
  }], _contentHeaderRowDefs: [{
2011
2032
  type: ContentChildren,
2012
2033
  args: [CdkHeaderRowDef, {
2013
- descendants: true
2034
+ descendants: true,
2014
2035
  }]
2015
2036
  }], _contentFooterRowDefs: [{
2016
2037
  type: ContentChildren,
2017
2038
  args: [CdkFooterRowDef, {
2018
- descendants: true
2039
+ descendants: true,
2019
2040
  }]
2020
2041
  }], _noDataRow: [{
2021
2042
  type: ContentChild,
@@ -2254,7 +2275,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15",
2254
2275
  args: [{
2255
2276
  exports: EXPORTED_DECLARATIONS,
2256
2277
  declarations: EXPORTED_DECLARATIONS,
2257
- imports: [ScrollingModule]
2278
+ imports: [ScrollingModule],
2258
2279
  }]
2259
2280
  }] });
2260
2281