@angular/cdk 13.0.0-next.8 → 13.0.0-rc.3

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 (459) hide show
  1. package/a11y/_index.scss +1 -1
  2. package/a11y/a11y_public_index.d.ts +4 -0
  3. package/a11y/index.d.ts +5 -1
  4. package/a11y/package.json +2 -2
  5. package/accordion/accordion_public_index.d.ts +4 -0
  6. package/accordion/index.d.ts +5 -1
  7. package/accordion/package.json +2 -2
  8. package/bidi/bidi_public_index.d.ts +4 -0
  9. package/bidi/index.d.ts +5 -1
  10. package/bidi/package.json +2 -2
  11. package/clipboard/clipboard_public_index.d.ts +4 -0
  12. package/clipboard/index.d.ts +5 -1
  13. package/clipboard/package.json +2 -2
  14. package/collections/collections_public_index.d.ts +4 -0
  15. package/collections/index.d.ts +5 -1
  16. package/collections/package.json +2 -2
  17. package/drag-drop/drag-drop_public_index.d.ts +4 -0
  18. package/drag-drop/index.d.ts +5 -1
  19. package/drag-drop/package.json +2 -2
  20. package/esm2020/a11y/a11y-module.mjs +5 -5
  21. package/esm2020/a11y/a11y_public_index.mjs +5 -0
  22. package/esm2020/a11y/aria-describer/aria-describer.mjs +6 -7
  23. package/esm2020/a11y/aria-describer/aria-reference.mjs +1 -1
  24. package/esm2020/a11y/fake-event-detection.mjs +6 -5
  25. package/esm2020/a11y/focus-monitor/focus-monitor.mjs +26 -22
  26. package/esm2020/a11y/focus-trap/configurable-focus-trap-factory.mjs +5 -5
  27. package/esm2020/a11y/focus-trap/configurable-focus-trap.mjs +4 -2
  28. package/esm2020/a11y/focus-trap/event-listener-inert-strategy.mjs +1 -1
  29. package/esm2020/a11y/focus-trap/focus-trap-inert-strategy.mjs +2 -2
  30. package/esm2020/a11y/focus-trap/focus-trap-manager.mjs +5 -5
  31. package/esm2020/a11y/focus-trap/focus-trap.mjs +36 -26
  32. package/esm2020/a11y/high-contrast-mode/high-contrast-mode-detector.mjs +12 -9
  33. package/esm2020/a11y/index.mjs +6 -2
  34. package/esm2020/a11y/input-modality/input-modality-detector.mjs +4 -4
  35. package/esm2020/a11y/interactivity-checker/interactivity-checker.mjs +18 -16
  36. package/esm2020/a11y/key-manager/activedescendant-key-manager.mjs +1 -1
  37. package/esm2020/a11y/key-manager/list-key-manager.mjs +10 -6
  38. package/esm2020/a11y/live-announcer/live-announcer-tokens.mjs +1 -1
  39. package/esm2020/a11y/live-announcer/live-announcer.mjs +12 -12
  40. package/esm2020/accordion/accordion-item.mjs +21 -14
  41. package/esm2020/accordion/accordion-module.mjs +5 -5
  42. package/esm2020/accordion/accordion.mjs +10 -6
  43. package/esm2020/accordion/accordion_public_index.mjs +5 -0
  44. package/esm2020/accordion/index.mjs +6 -2
  45. package/esm2020/bidi/bidi-module.mjs +5 -5
  46. package/esm2020/bidi/bidi_public_index.mjs +5 -0
  47. package/esm2020/bidi/dir-document-token.mjs +1 -1
  48. package/esm2020/bidi/dir.mjs +12 -8
  49. package/esm2020/bidi/directionality.mjs +5 -5
  50. package/esm2020/bidi/index.mjs +6 -2
  51. package/esm2020/bidi/public-api.mjs +1 -1
  52. package/esm2020/clipboard/clipboard-module.mjs +5 -5
  53. package/esm2020/clipboard/clipboard.mjs +4 -4
  54. package/esm2020/clipboard/clipboard_public_index.mjs +5 -0
  55. package/esm2020/clipboard/copy-to-clipboard.mjs +5 -5
  56. package/esm2020/clipboard/index.mjs +6 -2
  57. package/esm2020/clipboard/pending-copy.mjs +4 -3
  58. package/esm2020/collections/array-data-source.mjs +1 -1
  59. package/esm2020/collections/collection-viewer.mjs +1 -1
  60. package/esm2020/collections/collections_public_index.mjs +5 -0
  61. package/esm2020/collections/dispose-view-repeater-strategy.mjs +2 -3
  62. package/esm2020/collections/index.mjs +6 -2
  63. package/esm2020/collections/recycle-view-repeater-strategy.mjs +7 -4
  64. package/esm2020/collections/selection-model.mjs +2 -2
  65. package/esm2020/collections/tree-adapter.mjs +1 -1
  66. package/esm2020/collections/unique-selection-dispatcher.mjs +4 -4
  67. package/esm2020/collections/view-repeater.mjs +2 -2
  68. package/esm2020/drag-drop/client-rect.mjs +6 -4
  69. package/esm2020/drag-drop/clone-node.mjs +1 -1
  70. package/esm2020/drag-drop/directives/assertions.mjs +2 -3
  71. package/esm2020/drag-drop/directives/config.mjs +1 -1
  72. package/esm2020/drag-drop/directives/drag-handle.mjs +8 -6
  73. package/esm2020/drag-drop/directives/drag-placeholder.mjs +4 -4
  74. package/esm2020/drag-drop/directives/drag-preview.mjs +10 -6
  75. package/esm2020/drag-drop/directives/drag.mjs +49 -40
  76. package/esm2020/drag-drop/directives/drop-list-group.mjs +7 -5
  77. package/esm2020/drag-drop/directives/drop-list.mjs +15 -14
  78. package/esm2020/drag-drop/drag-drop-module.mjs +6 -10
  79. package/esm2020/drag-drop/drag-drop-registry.mjs +9 -9
  80. package/esm2020/drag-drop/drag-drop.mjs +5 -5
  81. package/esm2020/drag-drop/drag-drop_public_index.mjs +5 -0
  82. package/esm2020/drag-drop/drag-events.mjs +1 -1
  83. package/esm2020/drag-drop/drag-ref.mjs +56 -41
  84. package/esm2020/drag-drop/drag-styling.mjs +6 -6
  85. package/esm2020/drag-drop/drag-utils.mjs +1 -1
  86. package/esm2020/drag-drop/drop-list-ref.mjs +55 -37
  87. package/esm2020/drag-drop/index.mjs +6 -2
  88. package/esm2020/drag-drop/parent-position-tracker.mjs +2 -2
  89. package/esm2020/drag-drop/transition-duration.mjs +3 -3
  90. package/esm2020/keycodes/index.mjs +6 -2
  91. package/esm2020/keycodes/keycodes.mjs +1 -1
  92. package/esm2020/keycodes/keycodes_public_index.mjs +5 -0
  93. package/esm2020/layout/breakpoints-observer.mjs +6 -5
  94. package/esm2020/layout/breakpoints.mjs +1 -1
  95. package/esm2020/layout/index.mjs +6 -2
  96. package/esm2020/layout/layout-module.mjs +5 -5
  97. package/esm2020/layout/layout_public_index.mjs +5 -0
  98. package/esm2020/layout/media-matcher.mjs +11 -10
  99. package/esm2020/observers/index.mjs +6 -2
  100. package/esm2020/observers/observe-content.mjs +24 -21
  101. package/esm2020/observers/observers_public_index.mjs +5 -0
  102. package/esm2020/overlay/dispatchers/base-overlay-dispatcher.mjs +4 -4
  103. package/esm2020/overlay/dispatchers/overlay-keyboard-dispatcher.mjs +4 -4
  104. package/esm2020/overlay/dispatchers/overlay-outside-click-dispatcher.mjs +25 -6
  105. package/esm2020/overlay/fullscreen-overlay-container.mjs +6 -6
  106. package/esm2020/overlay/index.mjs +6 -2
  107. package/esm2020/overlay/overlay-config.mjs +1 -1
  108. package/esm2020/overlay/overlay-container.mjs +5 -6
  109. package/esm2020/overlay/overlay-directives.mjs +55 -30
  110. package/esm2020/overlay/overlay-module.mjs +6 -12
  111. package/esm2020/overlay/overlay-ref.mjs +2 -4
  112. package/esm2020/overlay/overlay.mjs +4 -4
  113. package/esm2020/overlay/overlay_public_index.mjs +5 -0
  114. package/esm2020/overlay/position/connected-position.mjs +1 -1
  115. package/esm2020/overlay/position/flexible-connected-position-strategy.mjs +26 -27
  116. package/esm2020/overlay/position/global-position-strategy.mjs +9 -3
  117. package/esm2020/overlay/position/overlay-position-builder.mjs +4 -4
  118. package/esm2020/overlay/position/scroll-clip.mjs +1 -1
  119. package/esm2020/overlay/scroll/block-scroll-strategy.mjs +1 -1
  120. package/esm2020/overlay/scroll/close-scroll-strategy.mjs +1 -1
  121. package/esm2020/overlay/scroll/index.mjs +2 -2
  122. package/esm2020/overlay/scroll/noop-scroll-strategy.mjs +1 -1
  123. package/esm2020/overlay/scroll/reposition-scroll-strategy.mjs +1 -1
  124. package/esm2020/overlay/scroll/scroll-strategy-options.mjs +4 -4
  125. package/esm2020/platform/features/input-types.mjs +1 -1
  126. package/esm2020/platform/features/passive-listeners.mjs +2 -2
  127. package/esm2020/platform/features/scrolling.mjs +1 -1
  128. package/esm2020/platform/features/shadow-dom.mjs +4 -3
  129. package/esm2020/platform/features/test-environment.mjs +3 -3
  130. package/esm2020/platform/index.mjs +6 -2
  131. package/esm2020/platform/platform-module.mjs +5 -5
  132. package/esm2020/platform/platform.mjs +18 -12
  133. package/esm2020/platform/platform_public_index.mjs +5 -0
  134. package/esm2020/portal/dom-portal-outlet.mjs +3 -3
  135. package/esm2020/portal/index.mjs +6 -2
  136. package/esm2020/portal/portal-directives.mjs +40 -33
  137. package/esm2020/portal/portal-errors.mjs +1 -1
  138. package/esm2020/portal/portal-injector.mjs +1 -1
  139. package/esm2020/portal/portal.mjs +2 -2
  140. package/esm2020/portal/portal_public_index.mjs +5 -0
  141. package/esm2020/scrolling/fixed-size-virtual-scroll.mjs +36 -16
  142. package/esm2020/scrolling/index.mjs +6 -2
  143. package/esm2020/scrolling/scroll-dispatcher.mjs +9 -10
  144. package/esm2020/scrolling/scrollable.mjs +8 -7
  145. package/esm2020/scrolling/scrolling-module.mjs +12 -27
  146. package/esm2020/scrolling/scrolling_public_index.mjs +5 -0
  147. package/esm2020/scrolling/viewport-ruler.mjs +18 -12
  148. package/esm2020/scrolling/virtual-for-of.mjs +14 -18
  149. package/esm2020/scrolling/virtual-scroll-strategy.mjs +1 -1
  150. package/esm2020/scrolling/virtual-scroll-viewport.mjs +17 -13
  151. package/esm2020/stepper/index.mjs +6 -2
  152. package/esm2020/stepper/step-header.mjs +4 -4
  153. package/esm2020/stepper/step-label.mjs +4 -4
  154. package/esm2020/stepper/stepper-button.mjs +9 -9
  155. package/esm2020/stepper/stepper-module.mjs +8 -20
  156. package/esm2020/stepper/stepper.mjs +30 -19
  157. package/esm2020/stepper/stepper_public_index.mjs +5 -0
  158. package/esm2020/table/can-stick.mjs +4 -2
  159. package/esm2020/table/cell.mjs +33 -31
  160. package/esm2020/table/coalesced-style-scheduler.mjs +10 -8
  161. package/esm2020/table/index.mjs +6 -2
  162. package/esm2020/table/row.mjs +30 -30
  163. package/esm2020/table/sticky-position-listener.mjs +1 -1
  164. package/esm2020/table/sticky-styler.mjs +26 -16
  165. package/esm2020/table/table-errors.mjs +1 -1
  166. package/esm2020/table/table-module.mjs +8 -8
  167. package/esm2020/table/table.mjs +42 -37
  168. package/esm2020/table/table_public_index.mjs +5 -0
  169. package/esm2020/table/text-column.mjs +4 -4
  170. package/esm2020/table/tokens.mjs +1 -1
  171. package/esm2020/testing/change-detection.mjs +2 -2
  172. package/esm2020/testing/component-harness.mjs +4 -3
  173. package/esm2020/testing/element-dimensions.mjs +1 -1
  174. package/esm2020/testing/harness-environment.mjs +15 -11
  175. package/esm2020/testing/protractor/protractor-element.mjs +11 -10
  176. package/esm2020/testing/protractor/protractor-harness-environment.mjs +2 -2
  177. package/esm2020/testing/selenium-webdriver/selenium-web-driver-element.mjs +12 -11
  178. package/esm2020/testing/selenium-webdriver/selenium-web-driver-harness-environment.mjs +3 -4
  179. package/esm2020/testing/selenium-webdriver/selenium-webdriver-keys.mjs +2 -2
  180. package/esm2020/testing/test-element.mjs +1 -1
  181. package/esm2020/testing/testbed/fake-events/dispatch-events.mjs +1 -1
  182. package/esm2020/testing/testbed/fake-events/element-focus.mjs +2 -2
  183. package/esm2020/testing/testbed/fake-events/event-objects.mjs +1 -1
  184. package/esm2020/testing/testbed/fake-events/type-in-element.mjs +17 -8
  185. package/esm2020/testing/testbed/task-state-zone-interceptor.mjs +2 -2
  186. package/esm2020/testing/testbed/testbed-harness-environment.mjs +3 -3
  187. package/esm2020/testing/testbed/unit-test-element.mjs +4 -5
  188. package/esm2020/text-field/autofill.mjs +8 -8
  189. package/esm2020/text-field/autosize.mjs +22 -16
  190. package/esm2020/text-field/index.mjs +6 -2
  191. package/esm2020/text-field/text-field-module.mjs +5 -5
  192. package/esm2020/text-field/text-field_public_index.mjs +5 -0
  193. package/esm2020/tree/control/base-tree-control.mjs +4 -4
  194. package/esm2020/tree/control/flat-tree-control.mjs +1 -1
  195. package/esm2020/tree/control/nested-tree-control.mjs +2 -3
  196. package/esm2020/tree/index.mjs +6 -2
  197. package/esm2020/tree/nested-node.mjs +12 -10
  198. package/esm2020/tree/node.mjs +5 -7
  199. package/esm2020/tree/outlet.mjs +6 -6
  200. package/esm2020/tree/padding.mjs +17 -9
  201. package/esm2020/tree/toggle.mjs +10 -6
  202. package/esm2020/tree/tree-module.mjs +5 -5
  203. package/esm2020/tree/tree.mjs +31 -19
  204. package/esm2020/tree/tree_public_index.mjs +5 -0
  205. package/esm2020/version.mjs +1 -1
  206. package/fesm2015/a11y.mjs +142 -109
  207. package/fesm2015/a11y.mjs.map +1 -1
  208. package/fesm2015/accordion.mjs +41 -22
  209. package/fesm2015/accordion.mjs.map +1 -1
  210. package/fesm2015/bidi.mjs +26 -14
  211. package/fesm2015/bidi.mjs.map +1 -1
  212. package/fesm2015/cdk.mjs +1 -1
  213. package/fesm2015/cdk.mjs.map +1 -1
  214. package/fesm2015/clipboard.mjs +22 -13
  215. package/fesm2015/clipboard.mjs.map +1 -1
  216. package/fesm2015/collections.mjs +19 -9
  217. package/fesm2015/collections.mjs.map +1 -1
  218. package/fesm2015/drag-drop.mjs +233 -177
  219. package/fesm2015/drag-drop.mjs.map +1 -1
  220. package/fesm2015/keycodes.mjs +8 -0
  221. package/fesm2015/keycodes.mjs.map +1 -1
  222. package/fesm2015/layout.mjs +27 -17
  223. package/fesm2015/layout.mjs.map +1 -1
  224. package/fesm2015/observers.mjs +30 -19
  225. package/fesm2015/observers.mjs.map +1 -1
  226. package/fesm2015/overlay.mjs +149 -101
  227. package/fesm2015/overlay.mjs.map +1 -1
  228. package/fesm2015/platform.mjs +35 -20
  229. package/fesm2015/platform.mjs.map +1 -1
  230. package/fesm2015/portal.mjs +49 -34
  231. package/fesm2015/portal.mjs.map +1 -1
  232. package/fesm2015/scrolling.mjs +114 -95
  233. package/fesm2015/scrolling.mjs.map +1 -1
  234. package/fesm2015/stepper.mjs +57 -50
  235. package/fesm2015/stepper.mjs.map +1 -1
  236. package/fesm2015/table.mjs +152 -123
  237. package/fesm2015/table.mjs.map +1 -1
  238. package/fesm2015/testing/protractor.mjs +11 -10
  239. package/fesm2015/testing/protractor.mjs.map +1 -1
  240. package/fesm2015/testing/selenium-webdriver.mjs +13 -13
  241. package/fesm2015/testing/selenium-webdriver.mjs.map +1 -1
  242. package/fesm2015/testing/testbed.mjs +22 -14
  243. package/fesm2015/testing/testbed.mjs.map +1 -1
  244. package/fesm2015/testing.mjs +17 -12
  245. package/fesm2015/testing.mjs.map +1 -1
  246. package/fesm2015/text-field.mjs +39 -25
  247. package/fesm2015/text-field.mjs.map +1 -1
  248. package/fesm2015/tree.mjs +88 -57
  249. package/fesm2015/tree.mjs.map +1 -1
  250. package/fesm2020/a11y.mjs +142 -109
  251. package/fesm2020/a11y.mjs.map +1 -1
  252. package/fesm2020/accordion.mjs +41 -22
  253. package/fesm2020/accordion.mjs.map +1 -1
  254. package/fesm2020/bidi.mjs +26 -14
  255. package/fesm2020/bidi.mjs.map +1 -1
  256. package/fesm2020/cdk.mjs +1 -1
  257. package/fesm2020/cdk.mjs.map +1 -1
  258. package/fesm2020/clipboard.mjs +22 -13
  259. package/fesm2020/clipboard.mjs.map +1 -1
  260. package/fesm2020/collections.mjs +19 -9
  261. package/fesm2020/collections.mjs.map +1 -1
  262. package/fesm2020/drag-drop.mjs +233 -177
  263. package/fesm2020/drag-drop.mjs.map +1 -1
  264. package/fesm2020/keycodes.mjs +8 -0
  265. package/fesm2020/keycodes.mjs.map +1 -1
  266. package/fesm2020/layout.mjs +27 -17
  267. package/fesm2020/layout.mjs.map +1 -1
  268. package/fesm2020/observers.mjs +30 -19
  269. package/fesm2020/observers.mjs.map +1 -1
  270. package/fesm2020/overlay.mjs +149 -101
  271. package/fesm2020/overlay.mjs.map +1 -1
  272. package/fesm2020/platform.mjs +35 -20
  273. package/fesm2020/platform.mjs.map +1 -1
  274. package/fesm2020/portal.mjs +49 -34
  275. package/fesm2020/portal.mjs.map +1 -1
  276. package/fesm2020/scrolling.mjs +114 -95
  277. package/fesm2020/scrolling.mjs.map +1 -1
  278. package/fesm2020/stepper.mjs +57 -50
  279. package/fesm2020/stepper.mjs.map +1 -1
  280. package/fesm2020/table.mjs +152 -123
  281. package/fesm2020/table.mjs.map +1 -1
  282. package/fesm2020/testing/protractor.mjs +11 -10
  283. package/fesm2020/testing/protractor.mjs.map +1 -1
  284. package/fesm2020/testing/selenium-webdriver.mjs +13 -13
  285. package/fesm2020/testing/selenium-webdriver.mjs.map +1 -1
  286. package/fesm2020/testing/testbed.mjs +22 -14
  287. package/fesm2020/testing/testbed.mjs.map +1 -1
  288. package/fesm2020/testing.mjs +18 -13
  289. package/fesm2020/testing.mjs.map +1 -1
  290. package/fesm2020/text-field.mjs +39 -25
  291. package/fesm2020/text-field.mjs.map +1 -1
  292. package/fesm2020/tree.mjs +88 -57
  293. package/fesm2020/tree.mjs.map +1 -1
  294. package/keycodes/index.d.ts +5 -1
  295. package/keycodes/keycodes_public_index.d.ts +4 -0
  296. package/keycodes/package.json +2 -2
  297. package/layout/index.d.ts +5 -1
  298. package/layout/layout_public_index.d.ts +4 -0
  299. package/layout/package.json +2 -2
  300. package/observers/index.d.ts +5 -1
  301. package/observers/observers_public_index.d.ts +4 -0
  302. package/observers/package.json +2 -2
  303. package/overlay/dispatchers/overlay-outside-click-dispatcher.d.ts +3 -0
  304. package/overlay/index.d.ts +5 -1
  305. package/overlay/overlay_public_index.d.ts +4 -0
  306. package/overlay/package.json +2 -2
  307. package/overlay/position/flexible-connected-position-strategy.d.ts +2 -2
  308. package/overlay/scroll/index.d.ts +1 -1
  309. package/package.json +38 -35
  310. package/platform/index.d.ts +5 -1
  311. package/platform/package.json +2 -2
  312. package/platform/platform_public_index.d.ts +4 -0
  313. package/portal/index.d.ts +5 -1
  314. package/portal/package.json +2 -2
  315. package/portal/portal_public_index.d.ts +4 -0
  316. package/schematics/ng-add/index.js +2 -2
  317. package/schematics/ng-add/index.mjs +2 -2
  318. package/schematics/ng-add/package-config.js +4 -2
  319. package/schematics/ng-add/package-config.mjs +4 -2
  320. package/schematics/ng-add/schema.js +1 -1
  321. package/schematics/ng-add/schema.mjs +1 -1
  322. package/schematics/ng-generate/drag-drop/index.js +15 -6
  323. package/schematics/ng-generate/drag-drop/index.mjs +15 -6
  324. package/schematics/ng-update/data/attribute-selectors.js +7 -5
  325. package/schematics/ng-update/data/attribute-selectors.mjs +7 -5
  326. package/schematics/ng-update/data/class-names.js +13 -11
  327. package/schematics/ng-update/data/class-names.mjs +13 -11
  328. package/schematics/ng-update/data/constructor-checks.js +28 -20
  329. package/schematics/ng-update/data/constructor-checks.mjs +28 -20
  330. package/schematics/ng-update/data/css-selectors.js +2 -2
  331. package/schematics/ng-update/data/css-selectors.mjs +2 -2
  332. package/schematics/ng-update/data/element-selectors.js +2 -2
  333. package/schematics/ng-update/data/element-selectors.mjs +2 -2
  334. package/schematics/ng-update/data/input-names.js +40 -16
  335. package/schematics/ng-update/data/input-names.mjs +40 -16
  336. package/schematics/ng-update/data/method-call-checks.js +32 -18
  337. package/schematics/ng-update/data/method-call-checks.mjs +32 -18
  338. package/schematics/ng-update/data/output-names.js +8 -6
  339. package/schematics/ng-update/data/output-names.mjs +8 -6
  340. package/schematics/ng-update/data/property-names.js +40 -32
  341. package/schematics/ng-update/data/property-names.mjs +40 -32
  342. package/schematics/ng-update/devkit-migration-rule.js +16 -6
  343. package/schematics/ng-update/devkit-migration-rule.mjs +16 -6
  344. package/schematics/ng-update/devkit-migration.d.ts +3 -2
  345. package/schematics/ng-update/devkit-migration.js +1 -1
  346. package/schematics/ng-update/devkit-migration.mjs +1 -1
  347. package/schematics/ng-update/html-parsing/elements.js +3 -2
  348. package/schematics/ng-update/html-parsing/elements.mjs +3 -2
  349. package/schematics/ng-update/index.js +11 -9
  350. package/schematics/ng-update/index.mjs +11 -9
  351. package/schematics/ng-update/migrations/attribute-selectors.js +7 -3
  352. package/schematics/ng-update/migrations/attribute-selectors.mjs +7 -3
  353. package/schematics/ng-update/migrations/class-inheritance.js +1 -1
  354. package/schematics/ng-update/migrations/class-inheritance.mjs +1 -1
  355. package/schematics/ng-update/migrations/class-names.js +3 -2
  356. package/schematics/ng-update/migrations/class-names.mjs +3 -2
  357. package/schematics/ng-update/migrations/constructor-signature.js +15 -12
  358. package/schematics/ng-update/migrations/constructor-signature.mjs +15 -12
  359. package/schematics/ng-update/migrations/css-selectors.js +3 -2
  360. package/schematics/ng-update/migrations/css-selectors.mjs +3 -2
  361. package/schematics/ng-update/migrations/element-selectors.js +3 -2
  362. package/schematics/ng-update/migrations/element-selectors.mjs +3 -2
  363. package/schematics/ng-update/migrations/input-names.js +4 -5
  364. package/schematics/ng-update/migrations/input-names.mjs +4 -5
  365. package/schematics/ng-update/migrations/method-call-arguments.js +3 -2
  366. package/schematics/ng-update/migrations/method-call-arguments.mjs +3 -2
  367. package/schematics/ng-update/migrations/misc-template.js +2 -2
  368. package/schematics/ng-update/migrations/misc-template.mjs +2 -2
  369. package/schematics/ng-update/migrations/output-names.js +4 -5
  370. package/schematics/ng-update/migrations/output-names.mjs +4 -5
  371. package/schematics/ng-update/migrations/property-names.js +3 -2
  372. package/schematics/ng-update/migrations/property-names.mjs +3 -2
  373. package/schematics/ng-update/migrations/symbol-removal.js +3 -2
  374. package/schematics/ng-update/migrations/symbol-removal.mjs +3 -2
  375. package/schematics/ng-update/migrations/tilde-import-v13/tilde-import-migration.d.ts +14 -0
  376. package/schematics/ng-update/migrations/tilde-import-v13/tilde-import-migration.js +38 -0
  377. package/schematics/ng-update/migrations/tilde-import-v13/tilde-import-migration.mjs +38 -0
  378. package/schematics/ng-update/typescript/base-types.js +1 -1
  379. package/schematics/ng-update/typescript/base-types.mjs +1 -1
  380. package/schematics/ng-update/typescript/literal.d.ts +1 -1
  381. package/schematics/ng-update/typescript/literal.js +1 -1
  382. package/schematics/ng-update/typescript/literal.mjs +1 -1
  383. package/schematics/ng-update/typescript/module-specifiers.js +3 -3
  384. package/schematics/ng-update/typescript/module-specifiers.mjs +3 -3
  385. package/schematics/ng-update/upgrade-data.js +1 -1
  386. package/schematics/ng-update/upgrade-data.mjs +1 -1
  387. package/schematics/update-tool/component-resource-collector.js +2 -2
  388. package/schematics/update-tool/component-resource-collector.mjs +2 -2
  389. package/schematics/update-tool/file-system.js +1 -1
  390. package/schematics/update-tool/file-system.mjs +1 -1
  391. package/schematics/update-tool/index.d.ts +4 -1
  392. package/schematics/update-tool/index.js +7 -3
  393. package/schematics/update-tool/index.mjs +7 -3
  394. package/schematics/update-tool/migration.d.ts +1 -1
  395. package/schematics/update-tool/migration.js +1 -1
  396. package/schematics/update-tool/migration.mjs +1 -1
  397. package/schematics/update-tool/target-version.js +1 -1
  398. package/schematics/update-tool/target-version.mjs +1 -1
  399. package/schematics/update-tool/utils/decorators.js +7 -3
  400. package/schematics/update-tool/utils/decorators.mjs +7 -3
  401. package/schematics/update-tool/utils/functions.js +1 -1
  402. package/schematics/update-tool/utils/functions.mjs +1 -1
  403. package/schematics/update-tool/utils/imports.js +2 -2
  404. package/schematics/update-tool/utils/imports.mjs +2 -2
  405. package/schematics/update-tool/utils/line-mappings.js +1 -1
  406. package/schematics/update-tool/utils/line-mappings.mjs +1 -1
  407. package/schematics/update-tool/utils/parse-tsconfig.js +1 -1
  408. package/schematics/update-tool/utils/parse-tsconfig.mjs +1 -1
  409. package/schematics/update-tool/utils/property-name.js +1 -1
  410. package/schematics/update-tool/utils/property-name.mjs +1 -1
  411. package/schematics/update-tool/utils/virtual-host.js +2 -2
  412. package/schematics/update-tool/utils/virtual-host.mjs +2 -2
  413. package/schematics/update-tool/version-changes.js +1 -1
  414. package/schematics/update-tool/version-changes.mjs +1 -1
  415. package/schematics/utils/ast/ng-module-imports.js +5 -3
  416. package/schematics/utils/ast/ng-module-imports.mjs +5 -3
  417. package/schematics/utils/ast.js +22 -11
  418. package/schematics/utils/ast.mjs +22 -11
  419. package/schematics/utils/build-component.js +25 -26
  420. package/schematics/utils/build-component.mjs +25 -26
  421. package/schematics/utils/get-project.js +1 -1
  422. package/schematics/utils/get-project.mjs +1 -1
  423. package/schematics/utils/html-manipulation.js +6 -5
  424. package/schematics/utils/html-manipulation.mjs +6 -5
  425. package/schematics/utils/parse5-element.js +9 -10
  426. package/schematics/utils/parse5-element.mjs +9 -10
  427. package/schematics/utils/project-index-file.js +2 -2
  428. package/schematics/utils/project-index-file.mjs +2 -2
  429. package/schematics/utils/project-main-file.js +1 -1
  430. package/schematics/utils/project-main-file.mjs +1 -1
  431. package/schematics/utils/project-style-file.js +3 -5
  432. package/schematics/utils/project-style-file.mjs +3 -5
  433. package/schematics/utils/project-targets.js +4 -3
  434. package/schematics/utils/project-targets.mjs +4 -3
  435. package/schematics/utils/project-tsconfig-paths.js +28 -16
  436. package/schematics/utils/project-tsconfig-paths.mjs +28 -16
  437. package/schematics/utils/schematic-options.js +7 -5
  438. package/schematics/utils/schematic-options.mjs +7 -5
  439. package/schematics/utils/vendored-ast-utils/index.js +15 -16
  440. package/schematics/utils/vendored-ast-utils/index.mjs +15 -16
  441. package/scrolling/index.d.ts +5 -1
  442. package/scrolling/package.json +2 -2
  443. package/scrolling/scrolling_public_index.d.ts +4 -0
  444. package/stepper/index.d.ts +5 -1
  445. package/stepper/package.json +2 -2
  446. package/stepper/stepper_public_index.d.ts +4 -0
  447. package/table/index.d.ts +5 -1
  448. package/table/package.json +2 -2
  449. package/table/table_public_index.d.ts +4 -0
  450. package/testing/testbed/proxy-zone-types.d.ts +1 -1
  451. package/testing/testbed/zone-types.d.ts +1 -1
  452. package/text-field/index.d.ts +5 -1
  453. package/text-field/package.json +2 -2
  454. package/text-field/text-field_public_index.d.ts +4 -0
  455. package/tree/control/base-tree-control.d.ts +1 -1
  456. package/tree/control/nested-tree-control.d.ts +2 -2
  457. package/tree/index.d.ts +5 -1
  458. package/tree/package.json +2 -2
  459. package/tree/tree_public_index.d.ts +4 -0
@@ -26,9 +26,9 @@ class CdkStepHeader {
26
26
  this._elementRef.nativeElement.focus();
27
27
  }
28
28
  }
29
- CdkStepHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkStepHeader, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
30
- CdkStepHeader.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-next.15", type: CdkStepHeader, selector: "[cdkStepHeader]", host: { attributes: { "role": "tab" } }, ngImport: i0 });
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkStepHeader, decorators: [{
29
+ CdkStepHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: CdkStepHeader, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
30
+ CdkStepHeader.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-rc.3", type: CdkStepHeader, selector: "[cdkStepHeader]", host: { attributes: { "role": "tab" } }, ngImport: i0 });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: CdkStepHeader, decorators: [{
32
32
  type: Directive,
33
33
  args: [{
34
34
  selector: '[cdkStepHeader]',
@@ -50,9 +50,9 @@ class CdkStepLabel {
50
50
  this.template = template;
51
51
  }
52
52
  }
53
- CdkStepLabel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkStepLabel, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
54
- CdkStepLabel.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-next.15", type: CdkStepLabel, selector: "[cdkStepLabel]", ngImport: i0 });
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkStepLabel, decorators: [{
53
+ CdkStepLabel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: CdkStepLabel, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
54
+ CdkStepLabel.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-rc.3", type: CdkStepLabel, selector: "[cdkStepLabel]", ngImport: i0 });
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: CdkStepLabel, decorators: [{
56
56
  type: Directive,
57
57
  args: [{
58
58
  selector: '[cdkStepLabel]',
@@ -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');
@@ -163,9 +163,9 @@ class CdkStep {
163
163
  return this._stepperOptions.showError ?? this._customError != null;
164
164
  }
165
165
  }
166
- CdkStep.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkStep, deps: [{ token: forwardRef(() => CdkStepper) }, { token: STEPPER_GLOBAL_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
167
- CdkStep.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0-next.15", type: CdkStep, selector: "cdk-step", inputs: { stepControl: "stepControl", label: "label", errorMessage: "errorMessage", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], state: "state", editable: "editable", optional: "optional", completed: "completed", hasError: "hasError" }, outputs: { interactedStream: "interacted" }, queries: [{ propertyName: "stepLabel", first: true, predicate: CdkStepLabel, descendants: true }], viewQueries: [{ propertyName: "content", first: true, predicate: TemplateRef, descendants: true, static: true }], exportAs: ["cdkStep"], usesOnChanges: true, ngImport: i0, template: '<ng-template><ng-content></ng-content></ng-template>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
168
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkStep, decorators: [{
166
+ CdkStep.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: CdkStep, deps: [{ token: forwardRef(() => CdkStepper) }, { token: STEPPER_GLOBAL_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
167
+ CdkStep.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0-rc.3", type: CdkStep, selector: "cdk-step", inputs: { stepControl: "stepControl", label: "label", errorMessage: "errorMessage", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], state: "state", editable: "editable", optional: "optional", completed: "completed", hasError: "hasError" }, outputs: { interactedStream: "interacted" }, queries: [{ propertyName: "stepLabel", first: true, predicate: CdkStepLabel, descendants: true }], viewQueries: [{ propertyName: "content", first: true, predicate: TemplateRef, descendants: true, static: true }], exportAs: ["cdkStep"], usesOnChanges: true, ngImport: i0, template: '<ng-template><ng-content></ng-content></ng-template>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
168
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: CdkStep, decorators: [{
169
169
  type: Component,
170
170
  args: [{
171
171
  selector: 'cdk-step',
@@ -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
  }
@@ -475,9 +486,9 @@ class CdkStepper {
475
486
  return index > -1 && (!this.steps || index < this.steps.length);
476
487
  }
477
488
  }
478
- CdkStepper.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkStepper, deps: [{ token: i1.Directionality, optional: true }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
479
- CdkStepper.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-next.15", type: CdkStepper, selector: "[cdkStepper]", inputs: { linear: "linear", selectedIndex: "selectedIndex", selected: "selected", orientation: "orientation" }, outputs: { selectionChange: "selectionChange" }, queries: [{ propertyName: "_steps", predicate: CdkStep, descendants: true }, { propertyName: "_stepHeader", predicate: CdkStepHeader, descendants: true }], exportAs: ["cdkStepper"], ngImport: i0 });
480
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkStepper, decorators: [{
489
+ CdkStepper.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: CdkStepper, deps: [{ token: i1.Directionality, optional: true }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
490
+ CdkStepper.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-rc.3", type: CdkStepper, selector: "[cdkStepper]", inputs: { linear: "linear", selectedIndex: "selectedIndex", selected: "selected", orientation: "orientation" }, outputs: { selectionChange: "selectionChange" }, queries: [{ propertyName: "_steps", predicate: CdkStep, descendants: true }, { propertyName: "_stepHeader", predicate: CdkStepHeader, descendants: true }], exportAs: ["cdkStepper"], ngImport: i0 });
491
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: CdkStepper, decorators: [{
481
492
  type: Directive,
482
493
  args: [{
483
494
  selector: '[cdkStepper]',
@@ -529,15 +540,15 @@ class CdkStepperNext {
529
540
  this._stepper.next();
530
541
  }
531
542
  }
532
- CdkStepperNext.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkStepperNext, deps: [{ token: CdkStepper }], target: i0.ɵɵFactoryTarget.Directive });
533
- CdkStepperNext.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-next.15", type: CdkStepperNext, selector: "button[cdkStepperNext]", inputs: { type: "type" }, host: { listeners: { "click": "_handleClick()" }, properties: { "type": "type" } }, ngImport: i0 });
534
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkStepperNext, decorators: [{
543
+ CdkStepperNext.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: CdkStepperNext, deps: [{ token: CdkStepper }], target: i0.ɵɵFactoryTarget.Directive });
544
+ CdkStepperNext.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-rc.3", type: CdkStepperNext, selector: "button[cdkStepperNext]", inputs: { type: "type" }, host: { listeners: { "click": "_handleClick()" }, properties: { "type": "type" } }, ngImport: i0 });
545
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: CdkStepperNext, decorators: [{
535
546
  type: Directive,
536
547
  args: [{
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
@@ -561,15 +572,15 @@ class CdkStepperPrevious {
561
572
  this._stepper.previous();
562
573
  }
563
574
  }
564
- CdkStepperPrevious.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkStepperPrevious, deps: [{ token: CdkStepper }], target: i0.ɵɵFactoryTarget.Directive });
565
- CdkStepperPrevious.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-next.15", type: CdkStepperPrevious, selector: "button[cdkStepperPrevious]", inputs: { type: "type" }, host: { listeners: { "click": "_handleClick()" }, properties: { "type": "type" } }, ngImport: i0 });
566
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkStepperPrevious, decorators: [{
575
+ CdkStepperPrevious.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: CdkStepperPrevious, deps: [{ token: CdkStepper }], target: i0.ɵɵFactoryTarget.Directive });
576
+ CdkStepperPrevious.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-rc.3", type: CdkStepperPrevious, selector: "button[cdkStepperPrevious]", inputs: { type: "type" }, host: { listeners: { "click": "_handleClick()" }, properties: { "type": "type" } }, ngImport: i0 });
577
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: CdkStepperPrevious, decorators: [{
567
578
  type: Directive,
568
579
  args: [{
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
@@ -587,31 +598,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15",
587
598
  */
588
599
  class CdkStepperModule {
589
600
  }
590
- CdkStepperModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkStepperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
591
- CdkStepperModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkStepperModule, declarations: [CdkStep,
592
- CdkStepper,
593
- CdkStepHeader,
594
- CdkStepLabel,
595
- CdkStepperNext,
596
- CdkStepperPrevious], imports: [BidiModule], exports: [CdkStep,
601
+ CdkStepperModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: CdkStepperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
602
+ CdkStepperModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: CdkStepperModule, declarations: [CdkStep,
597
603
  CdkStepper,
598
604
  CdkStepHeader,
599
605
  CdkStepLabel,
600
606
  CdkStepperNext,
601
- CdkStepperPrevious] });
602
- CdkStepperModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkStepperModule, imports: [[BidiModule]] });
603
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkStepperModule, decorators: [{
607
+ CdkStepperPrevious], imports: [BidiModule], exports: [CdkStep, CdkStepper, CdkStepHeader, CdkStepLabel, CdkStepperNext, CdkStepperPrevious] });
608
+ CdkStepperModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: CdkStepperModule, imports: [[BidiModule]] });
609
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.3", 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
 
@@ -631,6 +630,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15",
631
630
  * found in the LICENSE file at https://angular.io/license
632
631
  */
633
632
 
633
+ /**
634
+ * @license
635
+ * Copyright Google LLC All Rights Reserved.
636
+ *
637
+ * Use of this source code is governed by an MIT-style license that can be
638
+ * found in the LICENSE file at https://angular.io/license
639
+ */
640
+
634
641
  /**
635
642
  * Generated bundle index. Do not edit.
636
643
  */
@@ -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","../../../../../../src/cdk/stepper/stepper_public_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 * @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 './public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["observableOf"],"mappings":"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"}