@angular/cdk 13.0.0-rc.0 → 13.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (456) 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 -38
  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 +2 -2
  323. package/schematics/ng-generate/drag-drop/index.mjs +2 -2
  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 +4 -3
  343. package/schematics/ng-update/devkit-migration-rule.mjs +4 -3
  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 +1 -1
  348. package/schematics/ng-update/html-parsing/elements.mjs +1 -1
  349. package/schematics/ng-update/index.js +2 -4
  350. package/schematics/ng-update/index.mjs +2 -4
  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 +1 -1
  374. package/schematics/ng-update/migrations/symbol-removal.mjs +1 -1
  375. package/schematics/ng-update/migrations/tilde-import-v13/tilde-import-migration.js +4 -3
  376. package/schematics/ng-update/migrations/tilde-import-v13/tilde-import-migration.mjs +4 -3
  377. package/schematics/ng-update/typescript/base-types.js +1 -1
  378. package/schematics/ng-update/typescript/base-types.mjs +1 -1
  379. package/schematics/ng-update/typescript/literal.d.ts +1 -1
  380. package/schematics/ng-update/typescript/literal.js +1 -1
  381. package/schematics/ng-update/typescript/literal.mjs +1 -1
  382. package/schematics/ng-update/typescript/module-specifiers.js +3 -3
  383. package/schematics/ng-update/typescript/module-specifiers.mjs +3 -3
  384. package/schematics/ng-update/upgrade-data.js +1 -1
  385. package/schematics/ng-update/upgrade-data.mjs +1 -1
  386. package/schematics/update-tool/component-resource-collector.js +2 -2
  387. package/schematics/update-tool/component-resource-collector.mjs +2 -2
  388. package/schematics/update-tool/file-system.js +1 -1
  389. package/schematics/update-tool/file-system.mjs +1 -1
  390. package/schematics/update-tool/index.d.ts +4 -1
  391. package/schematics/update-tool/index.js +7 -3
  392. package/schematics/update-tool/index.mjs +7 -3
  393. package/schematics/update-tool/migration.d.ts +1 -1
  394. package/schematics/update-tool/migration.js +1 -1
  395. package/schematics/update-tool/migration.mjs +1 -1
  396. package/schematics/update-tool/target-version.js +1 -1
  397. package/schematics/update-tool/target-version.mjs +1 -1
  398. package/schematics/update-tool/utils/decorators.js +7 -3
  399. package/schematics/update-tool/utils/decorators.mjs +7 -3
  400. package/schematics/update-tool/utils/functions.js +1 -1
  401. package/schematics/update-tool/utils/functions.mjs +1 -1
  402. package/schematics/update-tool/utils/imports.js +2 -2
  403. package/schematics/update-tool/utils/imports.mjs +2 -2
  404. package/schematics/update-tool/utils/line-mappings.js +1 -1
  405. package/schematics/update-tool/utils/line-mappings.mjs +1 -1
  406. package/schematics/update-tool/utils/parse-tsconfig.js +1 -1
  407. package/schematics/update-tool/utils/parse-tsconfig.mjs +1 -1
  408. package/schematics/update-tool/utils/property-name.js +1 -1
  409. package/schematics/update-tool/utils/property-name.mjs +1 -1
  410. package/schematics/update-tool/utils/virtual-host.js +2 -2
  411. package/schematics/update-tool/utils/virtual-host.mjs +2 -2
  412. package/schematics/update-tool/version-changes.js +1 -1
  413. package/schematics/update-tool/version-changes.mjs +1 -1
  414. package/schematics/utils/ast/ng-module-imports.js +5 -3
  415. package/schematics/utils/ast/ng-module-imports.mjs +5 -3
  416. package/schematics/utils/ast.js +1 -1
  417. package/schematics/utils/ast.mjs +1 -1
  418. package/schematics/utils/build-component.js +12 -18
  419. package/schematics/utils/build-component.mjs +12 -18
  420. package/schematics/utils/get-project.js +1 -1
  421. package/schematics/utils/get-project.mjs +1 -1
  422. package/schematics/utils/html-manipulation.js +6 -5
  423. package/schematics/utils/html-manipulation.mjs +6 -5
  424. package/schematics/utils/parse5-element.js +9 -10
  425. package/schematics/utils/parse5-element.mjs +9 -10
  426. package/schematics/utils/project-main-file.js +1 -1
  427. package/schematics/utils/project-main-file.mjs +1 -1
  428. package/schematics/utils/project-style-file.js +3 -5
  429. package/schematics/utils/project-style-file.mjs +3 -5
  430. package/schematics/utils/project-targets.js +1 -1
  431. package/schematics/utils/project-targets.mjs +1 -1
  432. package/schematics/utils/project-tsconfig-paths.js +2 -2
  433. package/schematics/utils/project-tsconfig-paths.mjs +2 -2
  434. package/schematics/utils/schematic-options.js +7 -5
  435. package/schematics/utils/schematic-options.mjs +7 -5
  436. package/schematics/utils/vendored-ast-utils/index.js +15 -16
  437. package/schematics/utils/vendored-ast-utils/index.mjs +15 -16
  438. package/scrolling/index.d.ts +5 -1
  439. package/scrolling/package.json +2 -2
  440. package/scrolling/scrolling_public_index.d.ts +4 -0
  441. package/stepper/index.d.ts +5 -1
  442. package/stepper/package.json +2 -2
  443. package/stepper/stepper_public_index.d.ts +4 -0
  444. package/table/index.d.ts +5 -1
  445. package/table/package.json +2 -2
  446. package/table/table_public_index.d.ts +4 -0
  447. package/testing/testbed/proxy-zone-types.d.ts +1 -1
  448. package/testing/testbed/zone-types.d.ts +1 -1
  449. package/text-field/index.d.ts +5 -1
  450. package/text-field/package.json +2 -2
  451. package/text-field/text-field_public_index.d.ts +4 -0
  452. package/tree/control/base-tree-control.d.ts +1 -1
  453. package/tree/control/nested-tree-control.d.ts +2 -2
  454. package/tree/index.d.ts +5 -1
  455. package/tree/package.json +2 -2
  456. package/tree/tree_public_index.d.ts +4 -0
@@ -33,8 +33,12 @@ class CdkAccordion {
33
33
  this._multi = false;
34
34
  }
35
35
  /** Whether the accordion should allow multiple expanded accordion items simultaneously. */
36
- get multi() { return this._multi; }
37
- set multi(multi) { this._multi = coerceBooleanProperty(multi); }
36
+ get multi() {
37
+ return this._multi;
38
+ }
39
+ set multi(multi) {
40
+ this._multi = coerceBooleanProperty(multi);
41
+ }
38
42
  /** Opens all enabled accordion items in an accordion where multi is enabled. */
39
43
  openAll() {
40
44
  if (this._multi) {
@@ -53,9 +57,9 @@ class CdkAccordion {
53
57
  this._openCloseAllActions.complete();
54
58
  }
55
59
  }
56
- CdkAccordion.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkAccordion, deps: [], target: i0.ɵɵFactoryTarget.Directive });
57
- CdkAccordion.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-next.15", type: CdkAccordion, selector: "cdk-accordion, [cdkAccordion]", inputs: { multi: "multi" }, providers: [{ provide: CDK_ACCORDION, useExisting: CdkAccordion }], exportAs: ["cdkAccordion"], usesOnChanges: true, ngImport: i0 });
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkAccordion, decorators: [{
60
+ CdkAccordion.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: CdkAccordion, deps: [], target: i0.ɵɵFactoryTarget.Directive });
61
+ CdkAccordion.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-rc.3", type: CdkAccordion, selector: "cdk-accordion, [cdkAccordion]", inputs: { multi: "multi" }, providers: [{ provide: CDK_ACCORDION, useExisting: CdkAccordion }], exportAs: ["cdkAccordion"], usesOnChanges: true, ngImport: i0 });
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: CdkAccordion, decorators: [{
59
63
  type: Directive,
60
64
  args: [{
61
65
  selector: 'cdk-accordion, [cdkAccordion]',
@@ -104,20 +108,23 @@ class CdkAccordionItem {
104
108
  this._disabled = false;
105
109
  /** Unregister function for _expansionDispatcher. */
106
110
  this._removeUniqueSelectionListener = () => { };
107
- this._removeUniqueSelectionListener =
108
- _expansionDispatcher.listen((id, accordionId) => {
109
- if (this.accordion && !this.accordion.multi &&
110
- this.accordion.id === accordionId && this.id !== id) {
111
- this.expanded = false;
112
- }
113
- });
111
+ this._removeUniqueSelectionListener = _expansionDispatcher.listen((id, accordionId) => {
112
+ if (this.accordion &&
113
+ !this.accordion.multi &&
114
+ this.accordion.id === accordionId &&
115
+ this.id !== id) {
116
+ this.expanded = false;
117
+ }
118
+ });
114
119
  // When an accordion item is hosted in an accordion, subscribe to open/close events.
115
120
  if (this.accordion) {
116
121
  this._openCloseAllSubscription = this._subscribeToOpenCloseAllActions();
117
122
  }
118
123
  }
119
124
  /** Whether the AccordionItem is expanded. */
120
- get expanded() { return this._expanded; }
125
+ get expanded() {
126
+ return this._expanded;
127
+ }
121
128
  set expanded(expanded) {
122
129
  expanded = coerceBooleanProperty(expanded);
123
130
  // Only emit events and update the internal value if the value changes.
@@ -142,8 +149,12 @@ class CdkAccordionItem {
142
149
  }
143
150
  }
144
151
  /** Whether the AccordionItem is disabled. */
145
- get disabled() { return this._disabled; }
146
- set disabled(disabled) { this._disabled = coerceBooleanProperty(disabled); }
152
+ get disabled() {
153
+ return this._disabled;
154
+ }
155
+ set disabled(disabled) {
156
+ this._disabled = coerceBooleanProperty(disabled);
157
+ }
147
158
  /** Emits an event for the accordion item being destroyed. */
148
159
  ngOnDestroy() {
149
160
  this.opened.complete();
@@ -180,13 +191,13 @@ class CdkAccordionItem {
180
191
  });
181
192
  }
182
193
  }
183
- CdkAccordionItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkAccordionItem, deps: [{ token: CDK_ACCORDION, optional: true, skipSelf: true }, { token: i0.ChangeDetectorRef }, { token: i1.UniqueSelectionDispatcher }], target: i0.ɵɵFactoryTarget.Directive });
184
- CdkAccordionItem.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-next.15", type: CdkAccordionItem, selector: "cdk-accordion-item, [cdkAccordionItem]", inputs: { expanded: "expanded", disabled: "disabled" }, outputs: { closed: "closed", opened: "opened", destroyed: "destroyed", expandedChange: "expandedChange" }, providers: [
194
+ CdkAccordionItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: CdkAccordionItem, deps: [{ token: CDK_ACCORDION, optional: true, skipSelf: true }, { token: i0.ChangeDetectorRef }, { token: i1.UniqueSelectionDispatcher }], target: i0.ɵɵFactoryTarget.Directive });
195
+ CdkAccordionItem.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-rc.3", type: CdkAccordionItem, selector: "cdk-accordion-item, [cdkAccordionItem]", inputs: { expanded: "expanded", disabled: "disabled" }, outputs: { closed: "closed", opened: "opened", destroyed: "destroyed", expandedChange: "expandedChange" }, providers: [
185
196
  // Provide `CDK_ACCORDION` as undefined to prevent nested accordion items from
186
197
  // registering to the same accordion.
187
198
  { provide: CDK_ACCORDION, useValue: undefined },
188
199
  ], exportAs: ["cdkAccordionItem"], ngImport: i0 });
189
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkAccordionItem, decorators: [{
200
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: CdkAccordionItem, decorators: [{
190
201
  type: Directive,
191
202
  args: [{
192
203
  selector: 'cdk-accordion-item, [cdkAccordionItem]',
@@ -227,10 +238,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15",
227
238
  */
228
239
  class CdkAccordionModule {
229
240
  }
230
- CdkAccordionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkAccordionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
231
- CdkAccordionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkAccordionModule, declarations: [CdkAccordion, CdkAccordionItem], exports: [CdkAccordion, CdkAccordionItem] });
232
- CdkAccordionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkAccordionModule });
233
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkAccordionModule, decorators: [{
241
+ CdkAccordionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: CdkAccordionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
242
+ CdkAccordionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: CdkAccordionModule, declarations: [CdkAccordion, CdkAccordionItem], exports: [CdkAccordion, CdkAccordionItem] });
243
+ CdkAccordionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: CdkAccordionModule });
244
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: CdkAccordionModule, decorators: [{
234
245
  type: NgModule,
235
246
  args: [{
236
247
  exports: [CdkAccordion, CdkAccordionItem],
@@ -246,6 +257,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15",
246
257
  * found in the LICENSE file at https://angular.io/license
247
258
  */
248
259
 
260
+ /**
261
+ * @license
262
+ * Copyright Google LLC All Rights Reserved.
263
+ *
264
+ * Use of this source code is governed by an MIT-style license that can be
265
+ * found in the LICENSE file at https://angular.io/license
266
+ */
267
+
249
268
  /**
250
269
  * Generated bundle index. Do not edit.
251
270
  */
@@ -1 +1 @@
1
- {"version":3,"file":"accordion.mjs","sources":["../../../../../../src/cdk/accordion/accordion.ts","../../../../../../src/cdk/accordion/accordion-item.ts","../../../../../../src/cdk/accordion/accordion-module.ts","../../../../../../src/cdk/accordion/public-api.ts","../../../../../../src/cdk/accordion/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 {BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {Directive, InjectionToken, Input, OnChanges, OnDestroy, SimpleChanges} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n/** Used to generate unique ID for each accordion. */\nlet nextId = 0;\n\n/**\n * Injection token that can be used to reference instances of `CdkAccordion`. It serves\n * as alternative token to the actual `CdkAccordion` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nexport const CDK_ACCORDION = new InjectionToken<CdkAccordion>('CdkAccordion');\n\n/**\n * Directive whose purpose is to manage the expanded state of CdkAccordionItem children.\n */\n@Directive({\n selector: 'cdk-accordion, [cdkAccordion]',\n exportAs: 'cdkAccordion',\n providers: [{provide: CDK_ACCORDION, useExisting: CdkAccordion}],\n})\nexport class CdkAccordion implements OnDestroy, OnChanges {\n /** Emits when the state of the accordion changes */\n readonly _stateChanges = new Subject<SimpleChanges>();\n\n /** Stream that emits true/false when openAll/closeAll is triggered. */\n readonly _openCloseAllActions: Subject<boolean> = new Subject<boolean>();\n\n /** A readonly id value to use for unique selection coordination. */\n readonly id = `cdk-accordion-${nextId++}`;\n\n /** Whether the accordion should allow multiple expanded accordion items simultaneously. */\n @Input()\n get multi(): boolean { return this._multi; }\n set multi(multi: boolean) { this._multi = coerceBooleanProperty(multi); }\n private _multi: boolean = false;\n\n /** Opens all enabled accordion items in an accordion where multi is enabled. */\n openAll(): void {\n if (this._multi) {\n this._openCloseAllActions.next(true);\n }\n }\n\n /** Closes all enabled accordion items in an accordion where multi is enabled. */\n closeAll(): void {\n this._openCloseAllActions.next(false);\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this._stateChanges.next(changes);\n }\n\n ngOnDestroy() {\n this._stateChanges.complete();\n this._openCloseAllActions.complete();\n }\n\n static ngAcceptInputType_multi: BooleanInput;\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 {\n Output,\n Directive,\n EventEmitter,\n Input,\n OnDestroy,\n Optional,\n ChangeDetectorRef,\n SkipSelf,\n Inject,\n} from '@angular/core';\nimport {UniqueSelectionDispatcher} from '@angular/cdk/collections';\nimport {CDK_ACCORDION, CdkAccordion} from './accordion';\nimport {BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {Subscription} from 'rxjs';\n\n/** Used to generate unique ID for each accordion item. */\nlet nextId = 0;\n\n/**\n * An basic directive expected to be extended and decorated as a component. Sets up all\n * events and attributes needed to be managed by a CdkAccordion parent.\n */\n@Directive({\n selector: 'cdk-accordion-item, [cdkAccordionItem]',\n exportAs: 'cdkAccordionItem',\n providers: [\n // Provide `CDK_ACCORDION` as undefined to prevent nested accordion items from\n // registering to the same accordion.\n {provide: CDK_ACCORDION, useValue: undefined},\n ],\n})\nexport class CdkAccordionItem implements OnDestroy {\n /** Subscription to openAll/closeAll events. */\n private _openCloseAllSubscription = Subscription.EMPTY;\n /** Event emitted every time the AccordionItem is closed. */\n @Output() readonly closed: EventEmitter<void> = new EventEmitter<void>();\n /** Event emitted every time the AccordionItem is opened. */\n @Output() readonly opened: EventEmitter<void> = new EventEmitter<void>();\n /** Event emitted when the AccordionItem is destroyed. */\n @Output() readonly destroyed: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * Emits whenever the expanded state of the accordion changes.\n * Primarily used to facilitate two-way binding.\n * @docs-private\n */\n @Output() readonly expandedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** The unique AccordionItem id. */\n readonly id: string = `cdk-accordion-child-${nextId++}`;\n\n /** Whether the AccordionItem is expanded. */\n @Input()\n get expanded(): boolean { return this._expanded; }\n set expanded(expanded: boolean) {\n expanded = coerceBooleanProperty(expanded);\n\n // Only emit events and update the internal value if the value changes.\n if (this._expanded !== expanded) {\n this._expanded = expanded;\n this.expandedChange.emit(expanded);\n\n if (expanded) {\n this.opened.emit();\n /**\n * In the unique selection dispatcher, the id parameter is the id of the CdkAccordionItem,\n * the name value is the id of the accordion.\n */\n const accordionId = this.accordion ? this.accordion.id : this.id;\n this._expansionDispatcher.notify(this.id, accordionId);\n } else {\n this.closed.emit();\n }\n\n // Ensures that the animation will run when the value is set outside of an `@Input`.\n // This includes cases like the open, close and toggle methods.\n this._changeDetectorRef.markForCheck();\n }\n }\n private _expanded = false;\n\n /** Whether the AccordionItem is disabled. */\n @Input()\n get disabled(): boolean { return this._disabled; }\n set disabled(disabled: boolean) { this._disabled = coerceBooleanProperty(disabled); }\n private _disabled = false;\n\n /** Unregister function for _expansionDispatcher. */\n private _removeUniqueSelectionListener: () => void = () => {};\n\n constructor(@Optional() @Inject(CDK_ACCORDION) @SkipSelf() public accordion: CdkAccordion,\n private _changeDetectorRef: ChangeDetectorRef,\n protected _expansionDispatcher: UniqueSelectionDispatcher) {\n this._removeUniqueSelectionListener =\n _expansionDispatcher.listen((id: string, accordionId: string) => {\n if (this.accordion && !this.accordion.multi &&\n this.accordion.id === accordionId && this.id !== id) {\n this.expanded = false;\n }\n });\n\n // When an accordion item is hosted in an accordion, subscribe to open/close events.\n if (this.accordion) {\n this._openCloseAllSubscription = this._subscribeToOpenCloseAllActions();\n }\n }\n\n /** Emits an event for the accordion item being destroyed. */\n ngOnDestroy() {\n this.opened.complete();\n this.closed.complete();\n this.destroyed.emit();\n this.destroyed.complete();\n this._removeUniqueSelectionListener();\n this._openCloseAllSubscription.unsubscribe();\n }\n\n /** Toggles the expanded state of the accordion item. */\n toggle(): void {\n if (!this.disabled) {\n this.expanded = !this.expanded;\n }\n }\n\n /** Sets the expanded state of the accordion item to false. */\n close(): void {\n if (!this.disabled) {\n this.expanded = false;\n }\n }\n\n /** Sets the expanded state of the accordion item to true. */\n open(): void {\n if (!this.disabled) {\n this.expanded = true;\n }\n }\n\n private _subscribeToOpenCloseAllActions(): Subscription {\n return this.accordion._openCloseAllActions.subscribe(expanded => {\n // Only change expanded state if item is enabled\n if (!this.disabled) {\n this.expanded = expanded;\n }\n });\n }\n\n static ngAcceptInputType_expanded: BooleanInput;\n static ngAcceptInputType_disabled: BooleanInput;\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 {CdkAccordion} from './accordion';\nimport {CdkAccordionItem} from './accordion-item';\n\n\n@NgModule({\n exports: [CdkAccordion, CdkAccordionItem],\n declarations: [CdkAccordion, CdkAccordionItem],\n})\nexport class CdkAccordionModule {}\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 {CdkAccordionItem} from './accordion-item';\nexport {CdkAccordion} from './accordion';\nexport * from './accordion-module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["nextId"],"mappings":"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"}
1
+ {"version":3,"file":"accordion.mjs","sources":["../../../../../../src/cdk/accordion/accordion.ts","../../../../../../src/cdk/accordion/accordion-item.ts","../../../../../../src/cdk/accordion/accordion-module.ts","../../../../../../src/cdk/accordion/public-api.ts","../../../../../../src/cdk/accordion/index.ts","../../../../../../src/cdk/accordion/accordion_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 {BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {Directive, InjectionToken, Input, OnChanges, OnDestroy, SimpleChanges} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n/** Used to generate unique ID for each accordion. */\nlet nextId = 0;\n\n/**\n * Injection token that can be used to reference instances of `CdkAccordion`. It serves\n * as alternative token to the actual `CdkAccordion` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nexport const CDK_ACCORDION = new InjectionToken<CdkAccordion>('CdkAccordion');\n\n/**\n * Directive whose purpose is to manage the expanded state of CdkAccordionItem children.\n */\n@Directive({\n selector: 'cdk-accordion, [cdkAccordion]',\n exportAs: 'cdkAccordion',\n providers: [{provide: CDK_ACCORDION, useExisting: CdkAccordion}],\n})\nexport class CdkAccordion implements OnDestroy, OnChanges {\n /** Emits when the state of the accordion changes */\n readonly _stateChanges = new Subject<SimpleChanges>();\n\n /** Stream that emits true/false when openAll/closeAll is triggered. */\n readonly _openCloseAllActions: Subject<boolean> = new Subject<boolean>();\n\n /** A readonly id value to use for unique selection coordination. */\n readonly id = `cdk-accordion-${nextId++}`;\n\n /** Whether the accordion should allow multiple expanded accordion items simultaneously. */\n @Input()\n get multi(): boolean {\n return this._multi;\n }\n set multi(multi: boolean) {\n this._multi = coerceBooleanProperty(multi);\n }\n private _multi: boolean = false;\n\n /** Opens all enabled accordion items in an accordion where multi is enabled. */\n openAll(): void {\n if (this._multi) {\n this._openCloseAllActions.next(true);\n }\n }\n\n /** Closes all enabled accordion items in an accordion where multi is enabled. */\n closeAll(): void {\n this._openCloseAllActions.next(false);\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this._stateChanges.next(changes);\n }\n\n ngOnDestroy() {\n this._stateChanges.complete();\n this._openCloseAllActions.complete();\n }\n\n static ngAcceptInputType_multi: BooleanInput;\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 {\n Output,\n Directive,\n EventEmitter,\n Input,\n OnDestroy,\n Optional,\n ChangeDetectorRef,\n SkipSelf,\n Inject,\n} from '@angular/core';\nimport {UniqueSelectionDispatcher} from '@angular/cdk/collections';\nimport {CDK_ACCORDION, CdkAccordion} from './accordion';\nimport {BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {Subscription} from 'rxjs';\n\n/** Used to generate unique ID for each accordion item. */\nlet nextId = 0;\n\n/**\n * An basic directive expected to be extended and decorated as a component. Sets up all\n * events and attributes needed to be managed by a CdkAccordion parent.\n */\n@Directive({\n selector: 'cdk-accordion-item, [cdkAccordionItem]',\n exportAs: 'cdkAccordionItem',\n providers: [\n // Provide `CDK_ACCORDION` as undefined to prevent nested accordion items from\n // registering to the same accordion.\n {provide: CDK_ACCORDION, useValue: undefined},\n ],\n})\nexport class CdkAccordionItem implements OnDestroy {\n /** Subscription to openAll/closeAll events. */\n private _openCloseAllSubscription = Subscription.EMPTY;\n /** Event emitted every time the AccordionItem is closed. */\n @Output() readonly closed: EventEmitter<void> = new EventEmitter<void>();\n /** Event emitted every time the AccordionItem is opened. */\n @Output() readonly opened: EventEmitter<void> = new EventEmitter<void>();\n /** Event emitted when the AccordionItem is destroyed. */\n @Output() readonly destroyed: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * Emits whenever the expanded state of the accordion changes.\n * Primarily used to facilitate two-way binding.\n * @docs-private\n */\n @Output() readonly expandedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** The unique AccordionItem id. */\n readonly id: string = `cdk-accordion-child-${nextId++}`;\n\n /** Whether the AccordionItem is expanded. */\n @Input()\n get expanded(): boolean {\n return this._expanded;\n }\n set expanded(expanded: boolean) {\n expanded = coerceBooleanProperty(expanded);\n\n // Only emit events and update the internal value if the value changes.\n if (this._expanded !== expanded) {\n this._expanded = expanded;\n this.expandedChange.emit(expanded);\n\n if (expanded) {\n this.opened.emit();\n /**\n * In the unique selection dispatcher, the id parameter is the id of the CdkAccordionItem,\n * the name value is the id of the accordion.\n */\n const accordionId = this.accordion ? this.accordion.id : this.id;\n this._expansionDispatcher.notify(this.id, accordionId);\n } else {\n this.closed.emit();\n }\n\n // Ensures that the animation will run when the value is set outside of an `@Input`.\n // This includes cases like the open, close and toggle methods.\n this._changeDetectorRef.markForCheck();\n }\n }\n private _expanded = false;\n\n /** Whether the AccordionItem is disabled. */\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(disabled: boolean) {\n this._disabled = coerceBooleanProperty(disabled);\n }\n private _disabled = false;\n\n /** Unregister function for _expansionDispatcher. */\n private _removeUniqueSelectionListener: () => void = () => {};\n\n constructor(\n @Optional() @Inject(CDK_ACCORDION) @SkipSelf() public accordion: CdkAccordion,\n private _changeDetectorRef: ChangeDetectorRef,\n protected _expansionDispatcher: UniqueSelectionDispatcher,\n ) {\n this._removeUniqueSelectionListener = _expansionDispatcher.listen(\n (id: string, accordionId: string) => {\n if (\n this.accordion &&\n !this.accordion.multi &&\n this.accordion.id === accordionId &&\n this.id !== id\n ) {\n this.expanded = false;\n }\n },\n );\n\n // When an accordion item is hosted in an accordion, subscribe to open/close events.\n if (this.accordion) {\n this._openCloseAllSubscription = this._subscribeToOpenCloseAllActions();\n }\n }\n\n /** Emits an event for the accordion item being destroyed. */\n ngOnDestroy() {\n this.opened.complete();\n this.closed.complete();\n this.destroyed.emit();\n this.destroyed.complete();\n this._removeUniqueSelectionListener();\n this._openCloseAllSubscription.unsubscribe();\n }\n\n /** Toggles the expanded state of the accordion item. */\n toggle(): void {\n if (!this.disabled) {\n this.expanded = !this.expanded;\n }\n }\n\n /** Sets the expanded state of the accordion item to false. */\n close(): void {\n if (!this.disabled) {\n this.expanded = false;\n }\n }\n\n /** Sets the expanded state of the accordion item to true. */\n open(): void {\n if (!this.disabled) {\n this.expanded = true;\n }\n }\n\n private _subscribeToOpenCloseAllActions(): Subscription {\n return this.accordion._openCloseAllActions.subscribe(expanded => {\n // Only change expanded state if item is enabled\n if (!this.disabled) {\n this.expanded = expanded;\n }\n });\n }\n\n static ngAcceptInputType_expanded: BooleanInput;\n static ngAcceptInputType_disabled: BooleanInput;\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 {CdkAccordion} from './accordion';\nimport {CdkAccordionItem} from './accordion-item';\n\n@NgModule({\n exports: [CdkAccordion, CdkAccordionItem],\n declarations: [CdkAccordion, CdkAccordionItem],\n})\nexport class CdkAccordionModule {}\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 {CdkAccordionItem} from './accordion-item';\nexport {CdkAccordion} from './accordion';\nexport * from './accordion-module';\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":["nextId"],"mappings":"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"}
package/fesm2020/bidi.mjs CHANGED
@@ -58,16 +58,16 @@ class Directionality {
58
58
  const bodyDir = _document.body ? _document.body.dir : null;
59
59
  const htmlDir = _document.documentElement ? _document.documentElement.dir : null;
60
60
  const value = bodyDir || htmlDir;
61
- this.value = (value === 'ltr' || value === 'rtl') ? value : 'ltr';
61
+ this.value = value === 'ltr' || value === 'rtl' ? value : 'ltr';
62
62
  }
63
63
  }
64
64
  ngOnDestroy() {
65
65
  this.change.complete();
66
66
  }
67
67
  }
68
- Directionality.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: Directionality, deps: [{ token: DIR_DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
69
- Directionality.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: Directionality, providedIn: 'root' });
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: Directionality, decorators: [{
68
+ Directionality.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: Directionality, deps: [{ token: DIR_DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
69
+ Directionality.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: Directionality, providedIn: 'root' });
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: Directionality, decorators: [{
71
71
  type: Injectable,
72
72
  args: [{ providedIn: 'root' }]
73
73
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
@@ -100,18 +100,22 @@ class Dir {
100
100
  this.change = new EventEmitter();
101
101
  }
102
102
  /** @docs-private */
103
- get dir() { return this._dir; }
103
+ get dir() {
104
+ return this._dir;
105
+ }
104
106
  set dir(value) {
105
107
  const old = this._dir;
106
108
  const normalizedValue = value ? value.toLowerCase() : value;
107
109
  this._rawDir = value;
108
- this._dir = (normalizedValue === 'ltr' || normalizedValue === 'rtl') ? normalizedValue : 'ltr';
110
+ this._dir = normalizedValue === 'ltr' || normalizedValue === 'rtl' ? normalizedValue : 'ltr';
109
111
  if (old !== this._dir && this._isInitialized) {
110
112
  this.change.emit(this._dir);
111
113
  }
112
114
  }
113
115
  /** Current layout direction of the element. */
114
- get value() { return this.dir; }
116
+ get value() {
117
+ return this.dir;
118
+ }
115
119
  /** Initialize once default value has been set. */
116
120
  ngAfterContentInit() {
117
121
  this._isInitialized = true;
@@ -120,9 +124,9 @@ class Dir {
120
124
  this.change.complete();
121
125
  }
122
126
  }
123
- Dir.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: Dir, deps: [], target: i0.ɵɵFactoryTarget.Directive });
124
- Dir.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-next.15", type: Dir, selector: "[dir]", inputs: { dir: "dir" }, outputs: { change: "dirChange" }, host: { properties: { "attr.dir": "_rawDir" } }, providers: [{ provide: Directionality, useExisting: Dir }], exportAs: ["dir"], ngImport: i0 });
125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: Dir, decorators: [{
127
+ Dir.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: Dir, deps: [], target: i0.ɵɵFactoryTarget.Directive });
128
+ Dir.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-rc.3", type: Dir, selector: "[dir]", inputs: { dir: "dir" }, outputs: { change: "dirChange" }, host: { properties: { "attr.dir": "_rawDir" } }, providers: [{ provide: Directionality, useExisting: Dir }], exportAs: ["dir"], ngImport: i0 });
129
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: Dir, decorators: [{
126
130
  type: Directive,
127
131
  args: [{
128
132
  selector: '[dir]',
@@ -146,10 +150,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15",
146
150
  */
147
151
  class BidiModule {
148
152
  }
149
- BidiModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: BidiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
150
- BidiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: BidiModule, declarations: [Dir], exports: [Dir] });
151
- BidiModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: BidiModule });
152
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: BidiModule, decorators: [{
153
+ BidiModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: BidiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
154
+ BidiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: BidiModule, declarations: [Dir], exports: [Dir] });
155
+ BidiModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: BidiModule });
156
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: BidiModule, decorators: [{
153
157
  type: NgModule,
154
158
  args: [{
155
159
  exports: [Dir],
@@ -165,6 +169,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15",
165
169
  * found in the LICENSE file at https://angular.io/license
166
170
  */
167
171
 
172
+ /**
173
+ * @license
174
+ * Copyright Google LLC All Rights Reserved.
175
+ *
176
+ * Use of this source code is governed by an MIT-style license that can be
177
+ * found in the LICENSE file at https://angular.io/license
178
+ */
179
+
168
180
  /**
169
181
  * Generated bundle index. Do not edit.
170
182
  */
@@ -1 +1 @@
1
- {"version":3,"file":"bidi.mjs","sources":["../../../../../../src/cdk/bidi/dir-document-token.ts","../../../../../../src/cdk/bidi/directionality.ts","../../../../../../src/cdk/bidi/dir.ts","../../../../../../src/cdk/bidi/bidi-module.ts","../../../../../../src/cdk/bidi/public-api.ts","../../../../../../src/cdk/bidi/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 {DOCUMENT} from '@angular/common';\nimport {inject, InjectionToken} from '@angular/core';\n\n\n/**\n * Injection token used to inject the document into Directionality.\n * This is used so that the value can be faked in tests.\n *\n * We can't use the real document in tests because changing the real `dir` causes geometry-based\n * tests in Safari to fail.\n *\n * We also can't re-provide the DOCUMENT token from platform-brower because the unit tests\n * themselves use things like `querySelector` in test code.\n *\n * This token is defined in a separate file from Directionality as a workaround for\n * https://github.com/angular/angular/issues/22559\n *\n * @docs-private\n */\nexport const DIR_DOCUMENT = new InjectionToken<Document>('cdk-dir-doc', {\n providedIn: 'root',\n factory: DIR_DOCUMENT_FACTORY,\n});\n\n/** @docs-private */\nexport function DIR_DOCUMENT_FACTORY(): Document {\n return inject(DOCUMENT);\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 {EventEmitter, Inject, Injectable, Optional, OnDestroy} from '@angular/core';\nimport {DIR_DOCUMENT} from './dir-document-token';\n\n\nexport type Direction = 'ltr' | 'rtl';\n\n\n/**\n * The directionality (LTR / RTL) context for the application (or a subtree of it).\n * Exposes the current direction and a stream of direction changes.\n */\n@Injectable({providedIn: 'root'})\nexport class Directionality implements OnDestroy {\n /** The current 'ltr' or 'rtl' value. */\n readonly value: Direction = 'ltr';\n\n /** Stream that emits whenever the 'ltr' / 'rtl' state changes. */\n readonly change = new EventEmitter<Direction>();\n\n constructor(@Optional() @Inject(DIR_DOCUMENT) _document?: any) {\n if (_document) {\n // TODO: handle 'auto' value -\n // We still need to account for dir=\"auto\".\n // It looks like HTMLElemenet.dir is also \"auto\" when that's set to the attribute,\n // but getComputedStyle return either \"ltr\" or \"rtl\". avoiding getComputedStyle for now\n const bodyDir = _document.body ? _document.body.dir : null;\n const htmlDir = _document.documentElement ? _document.documentElement.dir : null;\n const value = bodyDir || htmlDir;\n this.value = (value === 'ltr' || value === 'rtl') ? value : 'ltr';\n }\n }\n\n ngOnDestroy() {\n this.change.complete();\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 {\n Directive,\n Output,\n Input,\n EventEmitter,\n AfterContentInit,\n OnDestroy,\n} from '@angular/core';\n\nimport {Direction, Directionality} from './directionality';\n\n/**\n * Directive to listen for changes of direction of part of the DOM.\n *\n * Provides itself as Directionality such that descendant directives only need to ever inject\n * Directionality to get the closest direction.\n */\n@Directive({\n selector: '[dir]',\n providers: [{provide: Directionality, useExisting: Dir}],\n host: {'[attr.dir]': '_rawDir'},\n exportAs: 'dir',\n})\nexport class Dir implements Directionality, AfterContentInit, OnDestroy {\n /** Normalized direction that accounts for invalid/unsupported values. */\n private _dir: Direction = 'ltr';\n\n /** Whether the `value` has been set to its initial value. */\n private _isInitialized: boolean = false;\n\n /** Direction as passed in by the consumer. */\n _rawDir: string;\n\n /** Event emitted when the direction changes. */\n @Output('dirChange') readonly change = new EventEmitter<Direction>();\n\n /** @docs-private */\n @Input()\n get dir(): Direction { return this._dir; }\n set dir(value: Direction) {\n const old = this._dir;\n const normalizedValue = value ? value.toLowerCase() : value;\n\n this._rawDir = value;\n this._dir = (normalizedValue === 'ltr' || normalizedValue === 'rtl') ? normalizedValue : 'ltr';\n\n if (old !== this._dir && this._isInitialized) {\n this.change.emit(this._dir);\n }\n }\n\n /** Current layout direction of the element. */\n get value(): Direction { return this.dir; }\n\n /** Initialize once default value has been set. */\n ngAfterContentInit() {\n this._isInitialized = true;\n }\n\n ngOnDestroy() {\n this.change.complete();\n }\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 {Dir} from './dir';\n\n\n@NgModule({\n exports: [Dir],\n declarations: [Dir],\n})\nexport class BidiModule { }\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 {Directionality, Direction} from './directionality';\nexport {DIR_DOCUMENT} from './dir-document-token';\nexport {Dir} from './dir';\nexport * from './bidi-module';\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bidi.mjs","sources":["../../../../../../src/cdk/bidi/dir-document-token.ts","../../../../../../src/cdk/bidi/directionality.ts","../../../../../../src/cdk/bidi/dir.ts","../../../../../../src/cdk/bidi/bidi-module.ts","../../../../../../src/cdk/bidi/public-api.ts","../../../../../../src/cdk/bidi/index.ts","../../../../../../src/cdk/bidi/bidi_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 {DOCUMENT} from '@angular/common';\nimport {inject, InjectionToken} from '@angular/core';\n\n/**\n * Injection token used to inject the document into Directionality.\n * This is used so that the value can be faked in tests.\n *\n * We can't use the real document in tests because changing the real `dir` causes geometry-based\n * tests in Safari to fail.\n *\n * We also can't re-provide the DOCUMENT token from platform-brower because the unit tests\n * themselves use things like `querySelector` in test code.\n *\n * This token is defined in a separate file from Directionality as a workaround for\n * https://github.com/angular/angular/issues/22559\n *\n * @docs-private\n */\nexport const DIR_DOCUMENT = new InjectionToken<Document>('cdk-dir-doc', {\n providedIn: 'root',\n factory: DIR_DOCUMENT_FACTORY,\n});\n\n/** @docs-private */\nexport function DIR_DOCUMENT_FACTORY(): Document {\n return inject(DOCUMENT);\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 {EventEmitter, Inject, Injectable, Optional, OnDestroy} from '@angular/core';\nimport {DIR_DOCUMENT} from './dir-document-token';\n\nexport type Direction = 'ltr' | 'rtl';\n\n/**\n * The directionality (LTR / RTL) context for the application (or a subtree of it).\n * Exposes the current direction and a stream of direction changes.\n */\n@Injectable({providedIn: 'root'})\nexport class Directionality implements OnDestroy {\n /** The current 'ltr' or 'rtl' value. */\n readonly value: Direction = 'ltr';\n\n /** Stream that emits whenever the 'ltr' / 'rtl' state changes. */\n readonly change = new EventEmitter<Direction>();\n\n constructor(@Optional() @Inject(DIR_DOCUMENT) _document?: any) {\n if (_document) {\n // TODO: handle 'auto' value -\n // We still need to account for dir=\"auto\".\n // It looks like HTMLElemenet.dir is also \"auto\" when that's set to the attribute,\n // but getComputedStyle return either \"ltr\" or \"rtl\". avoiding getComputedStyle for now\n const bodyDir = _document.body ? _document.body.dir : null;\n const htmlDir = _document.documentElement ? _document.documentElement.dir : null;\n const value = bodyDir || htmlDir;\n this.value = value === 'ltr' || value === 'rtl' ? value : 'ltr';\n }\n }\n\n ngOnDestroy() {\n this.change.complete();\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, Output, Input, EventEmitter, AfterContentInit, OnDestroy} from '@angular/core';\n\nimport {Direction, Directionality} from './directionality';\n\n/**\n * Directive to listen for changes of direction of part of the DOM.\n *\n * Provides itself as Directionality such that descendant directives only need to ever inject\n * Directionality to get the closest direction.\n */\n@Directive({\n selector: '[dir]',\n providers: [{provide: Directionality, useExisting: Dir}],\n host: {'[attr.dir]': '_rawDir'},\n exportAs: 'dir',\n})\nexport class Dir implements Directionality, AfterContentInit, OnDestroy {\n /** Normalized direction that accounts for invalid/unsupported values. */\n private _dir: Direction = 'ltr';\n\n /** Whether the `value` has been set to its initial value. */\n private _isInitialized: boolean = false;\n\n /** Direction as passed in by the consumer. */\n _rawDir: string;\n\n /** Event emitted when the direction changes. */\n @Output('dirChange') readonly change = new EventEmitter<Direction>();\n\n /** @docs-private */\n @Input()\n get dir(): Direction {\n return this._dir;\n }\n set dir(value: Direction) {\n const old = this._dir;\n const normalizedValue = value ? value.toLowerCase() : value;\n\n this._rawDir = value;\n this._dir = normalizedValue === 'ltr' || normalizedValue === 'rtl' ? normalizedValue : 'ltr';\n\n if (old !== this._dir && this._isInitialized) {\n this.change.emit(this._dir);\n }\n }\n\n /** Current layout direction of the element. */\n get value(): Direction {\n return this.dir;\n }\n\n /** Initialize once default value has been set. */\n ngAfterContentInit() {\n this._isInitialized = true;\n }\n\n ngOnDestroy() {\n this.change.complete();\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 {Dir} from './dir';\n\n@NgModule({\n exports: [Dir],\n declarations: [Dir],\n})\nexport class BidiModule {}\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 {Directionality, Direction} from './directionality';\nexport {DIR_DOCUMENT} from './dir-document-token';\nexport {Dir} from './dir';\nexport * from './bidi-module';\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":[],"mappings":"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"}
package/fesm2020/cdk.mjs CHANGED
@@ -8,7 +8,7 @@ import { Version } from '@angular/core';
8
8
  * found in the LICENSE file at https://angular.io/license
9
9
  */
10
10
  /** Current version of the Angular Component Development Kit. */
11
- const VERSION = new Version('13.0.0-rc.0');
11
+ const VERSION = new Version('13.0.0');
12
12
 
13
13
  /**
14
14
  * @license
@@ -1 +1 @@
1
- {"version":3,"file":"cdk.mjs","sources":["../../../../../../src/cdk/version.ts","../../../../../../src/cdk/public-api.ts","../../../../../../src/cdk/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 {Version} from '@angular/core';\n\n/** Current version of the Angular Component Development Kit. */\nexport const VERSION = new Version('13.0.0-rc.0');\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 './version';\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"],"names":[],"mappings":";;AAAA;;;;;;;AAUA;MACa,OAAO,GAAG,IAAI,OAAO,CAAC,mBAAmB;;ACXtD;;;;;;;;ACAA;;;;;;;;;;"}
1
+ {"version":3,"file":"cdk.mjs","sources":["../../../../../../src/cdk/version.ts","../../../../../../src/cdk/public-api.ts","../../../../../../src/cdk/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 {Version} from '@angular/core';\n\n/** Current version of the Angular Component Development Kit. */\nexport const VERSION = new Version('13.0.0');\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 './version';\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"],"names":[],"mappings":";;AAAA;;;;;;;AAUA;MACa,OAAO,GAAG,IAAI,OAAO,CAAC,mBAAmB;;ACXtD;;;;;;;;ACAA;;;;;;;;;;"}
@@ -25,7 +25,7 @@ import { Injectable, Inject, InjectionToken, EventEmitter, Directive, Optional,
25
25
  class PendingCopy {
26
26
  constructor(text, _document) {
27
27
  this._document = _document;
28
- const textarea = this._textarea = this._document.createElement('textarea');
28
+ const textarea = (this._textarea = this._document.createElement('textarea'));
29
29
  const styles = textarea.style;
30
30
  // Hide the element for display and accessibility. Set a fixed position so the page layout
31
31
  // isn't affected. We use `fixed` with `top: 0`, because focus is moved into the textarea
@@ -41,7 +41,8 @@ class PendingCopy {
41
41
  copy() {
42
42
  const textarea = this._textarea;
43
43
  let successful = false;
44
- try { // Older browsers could throw if copy is not supported.
44
+ try {
45
+ // Older browsers could throw if copy is not supported.
45
46
  if (textarea) {
46
47
  const currentFocus = this._document.activeElement;
47
48
  textarea.select();
@@ -107,9 +108,9 @@ class Clipboard {
107
108
  return new PendingCopy(text, this._document);
108
109
  }
109
110
  }
110
- Clipboard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: Clipboard, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
111
- Clipboard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: Clipboard, providedIn: 'root' });
112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: Clipboard, decorators: [{
111
+ Clipboard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: Clipboard, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
112
+ Clipboard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: Clipboard, providedIn: 'root' });
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: Clipboard, decorators: [{
113
114
  type: Injectable,
114
115
  args: [{ providedIn: 'root' }]
115
116
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
@@ -186,15 +187,15 @@ class CdkCopyToClipboard {
186
187
  this._destroyed = true;
187
188
  }
188
189
  }
189
- CdkCopyToClipboard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkCopyToClipboard, deps: [{ token: Clipboard }, { token: i0.NgZone }, { token: CDK_COPY_TO_CLIPBOARD_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
190
- CdkCopyToClipboard.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-next.15", type: CdkCopyToClipboard, selector: "[cdkCopyToClipboard]", inputs: { text: ["cdkCopyToClipboard", "text"], attempts: ["cdkCopyToClipboardAttempts", "attempts"] }, outputs: { copied: "cdkCopyToClipboardCopied" }, host: { listeners: { "click": "copy()" } }, ngImport: i0 });
191
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkCopyToClipboard, decorators: [{
190
+ CdkCopyToClipboard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: CdkCopyToClipboard, deps: [{ token: Clipboard }, { token: i0.NgZone }, { token: CDK_COPY_TO_CLIPBOARD_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
191
+ CdkCopyToClipboard.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-rc.3", type: CdkCopyToClipboard, selector: "[cdkCopyToClipboard]", inputs: { text: ["cdkCopyToClipboard", "text"], attempts: ["cdkCopyToClipboardAttempts", "attempts"] }, outputs: { copied: "cdkCopyToClipboardCopied" }, host: { listeners: { "click": "copy()" } }, ngImport: i0 });
192
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: CdkCopyToClipboard, decorators: [{
192
193
  type: Directive,
193
194
  args: [{
194
195
  selector: '[cdkCopyToClipboard]',
195
196
  host: {
196
197
  '(click)': 'copy()',
197
- }
198
+ },
198
199
  }]
199
200
  }], ctorParameters: function () { return [{ type: Clipboard }, { type: i0.NgZone }, { type: undefined, decorators: [{
200
201
  type: Optional
@@ -221,10 +222,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15",
221
222
  */
222
223
  class ClipboardModule {
223
224
  }
224
- ClipboardModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: ClipboardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
225
- ClipboardModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: ClipboardModule, declarations: [CdkCopyToClipboard], exports: [CdkCopyToClipboard] });
226
- ClipboardModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: ClipboardModule });
227
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: ClipboardModule, decorators: [{
225
+ ClipboardModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: ClipboardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
226
+ ClipboardModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: ClipboardModule, declarations: [CdkCopyToClipboard], exports: [CdkCopyToClipboard] });
227
+ ClipboardModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: ClipboardModule });
228
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: ClipboardModule, decorators: [{
228
229
  type: NgModule,
229
230
  args: [{
230
231
  declarations: [CdkCopyToClipboard],
@@ -240,6 +241,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15",
240
241
  * found in the LICENSE file at https://angular.io/license
241
242
  */
242
243
 
244
+ /**
245
+ * @license
246
+ * Copyright Google LLC All Rights Reserved.
247
+ *
248
+ * Use of this source code is governed by an MIT-style license that can be
249
+ * found in the LICENSE file at https://angular.io/license
250
+ */
251
+
243
252
  /**
244
253
  * Generated bundle index. Do not edit.
245
254
  */
@@ -1 +1 @@
1
- {"version":3,"file":"clipboard.mjs","sources":["../../../../../../src/cdk/clipboard/pending-copy.ts","../../../../../../src/cdk/clipboard/clipboard.ts","../../../../../../src/cdk/clipboard/copy-to-clipboard.ts","../../../../../../src/cdk/clipboard/clipboard-module.ts","../../../../../../src/cdk/clipboard/public-api.ts","../../../../../../src/cdk/clipboard/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\n/**\n * A pending copy-to-clipboard operation.\n *\n * The implementation of copying text to the clipboard modifies the DOM and\n * forces a relayout. This relayout can take too long if the string is large,\n * causing the execCommand('copy') to happen too long after the user clicked.\n * This results in the browser refusing to copy. This object lets the\n * relayout happen in a separate tick from copying by providing a copy function\n * that can be called later.\n *\n * Destroy must be called when no longer in use, regardless of whether `copy` is\n * called.\n */\nexport class PendingCopy {\n private _textarea: HTMLTextAreaElement|undefined;\n\n constructor(text: string, private readonly _document: Document) {\n const textarea = this._textarea = this._document.createElement('textarea');\n const styles = textarea.style;\n\n // Hide the element for display and accessibility. Set a fixed position so the page layout\n // isn't affected. We use `fixed` with `top: 0`, because focus is moved into the textarea\n // for a split second and if it's off-screen, some browsers will attempt to scroll it into view.\n styles.position = 'fixed';\n styles.top = styles.opacity = '0';\n styles.left = '-999em';\n textarea.setAttribute('aria-hidden', 'true');\n textarea.value = text;\n this._document.body.appendChild(textarea);\n }\n\n /** Finishes copying the text. */\n copy(): boolean {\n const textarea = this._textarea;\n let successful = false;\n\n try { // Older browsers could throw if copy is not supported.\n if (textarea) {\n const currentFocus = this._document.activeElement as HTMLOrSVGElement | null;\n\n textarea.select();\n textarea.setSelectionRange(0, textarea.value.length);\n successful = this._document.execCommand('copy');\n\n if (currentFocus) {\n currentFocus.focus();\n }\n }\n } catch {\n // Discard error.\n // Initial setting of {@code successful} will represent failure here.\n }\n\n return successful;\n }\n\n /** Cleans up DOM changes used to perform the copy operation. */\n destroy() {\n const textarea = this._textarea;\n\n if (textarea) {\n textarea.remove();\n this._textarea = undefined;\n }\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 {DOCUMENT} from '@angular/common';\nimport {Inject, Injectable} from '@angular/core';\nimport {PendingCopy} from './pending-copy';\n\n\n/**\n * A service for copying text to the clipboard.\n */\n@Injectable({providedIn: 'root'})\nexport class Clipboard {\n private readonly _document: Document;\n\n constructor(@Inject(DOCUMENT) document: any) {\n this._document = document;\n }\n\n /**\n * Copies the provided text into the user's clipboard.\n *\n * @param text The string to copy.\n * @returns Whether the operation was successful.\n */\n copy(text: string): boolean {\n const pendingCopy = this.beginCopy(text);\n const successful = pendingCopy.copy();\n pendingCopy.destroy();\n\n return successful;\n }\n\n /**\n * Prepares a string to be copied later. This is useful for large strings\n * which take too long to successfully render and be copied in the same tick.\n *\n * The caller must call `destroy` on the returned `PendingCopy`.\n *\n * @param text The string to copy.\n * @returns the pending copy operation.\n */\n beginCopy(text: string): PendingCopy {\n return new PendingCopy(text, this._document);\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 {\n Directive,\n EventEmitter,\n Input,\n Output,\n NgZone,\n InjectionToken,\n Inject,\n Optional,\n OnDestroy,\n} from '@angular/core';\nimport {Clipboard} from './clipboard';\nimport {PendingCopy} from './pending-copy';\n\n/** Object that can be used to configure the default options for `CdkCopyToClipboard`. */\nexport interface CdkCopyToClipboardConfig {\n /** Default number of attempts to make when copying text to the clipboard. */\n attempts?: number;\n}\n\n/** Injection token that can be used to provide the default options to `CdkCopyToClipboard`. */\nexport const CDK_COPY_TO_CLIPBOARD_CONFIG =\n new InjectionToken<CdkCopyToClipboardConfig>('CDK_COPY_TO_CLIPBOARD_CONFIG');\n\n/**\n * Provides behavior for a button that when clicked copies content into user's\n * clipboard.\n */\n@Directive({\n selector: '[cdkCopyToClipboard]',\n host: {\n '(click)': 'copy()',\n }\n})\nexport class CdkCopyToClipboard implements OnDestroy {\n /** Content to be copied. */\n @Input('cdkCopyToClipboard') text: string = '';\n\n /**\n * How many times to attempt to copy the text. This may be necessary for longer text, because\n * the browser needs time to fill an intermediate textarea element and copy the content.\n */\n @Input('cdkCopyToClipboardAttempts') attempts: number = 1;\n\n /**\n * Emits when some text is copied to the clipboard. The\n * emitted value indicates whether copying was successful.\n */\n @Output('cdkCopyToClipboardCopied') readonly copied = new EventEmitter<boolean>();\n\n /** Copies that are currently being attempted. */\n private _pending = new Set<PendingCopy>();\n\n /** Whether the directive has been destroyed. */\n private _destroyed: boolean;\n\n /** Timeout for the current copy attempt. */\n private _currentTimeout: any;\n\n constructor(\n private _clipboard: Clipboard,\n private _ngZone: NgZone,\n @Optional() @Inject(CDK_COPY_TO_CLIPBOARD_CONFIG) config?: CdkCopyToClipboardConfig) {\n\n if (config && config.attempts != null) {\n this.attempts = config.attempts;\n }\n }\n\n /** Copies the current text to the clipboard. */\n copy(attempts: number = this.attempts): void {\n if (attempts > 1) {\n let remainingAttempts = attempts;\n const pending = this._clipboard.beginCopy(this.text);\n this._pending.add(pending);\n\n const attempt = () => {\n const successful = pending.copy();\n if (!successful && --remainingAttempts && !this._destroyed) {\n // We use 1 for the timeout since it's more predictable when flushing in unit tests.\n this._currentTimeout = this._ngZone.runOutsideAngular(() => setTimeout(attempt, 1));\n } else {\n this._currentTimeout = null;\n this._pending.delete(pending);\n pending.destroy();\n this.copied.emit(successful);\n }\n };\n attempt();\n } else {\n this.copied.emit(this._clipboard.copy(this.text));\n }\n }\n\n ngOnDestroy() {\n if (this._currentTimeout) {\n clearTimeout(this._currentTimeout);\n }\n\n this._pending.forEach(copy => copy.destroy());\n this._pending.clear();\n this._destroyed = true;\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';\n\nimport {CdkCopyToClipboard} from './copy-to-clipboard';\n\n@NgModule({\n declarations: [CdkCopyToClipboard],\n exports: [CdkCopyToClipboard],\n})\nexport class ClipboardModule {\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\nexport * from './clipboard';\nexport * from './clipboard-module';\nexport * from './copy-to-clipboard';\nexport * from './pending-copy';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clipboard.mjs","sources":["../../../../../../src/cdk/clipboard/pending-copy.ts","../../../../../../src/cdk/clipboard/clipboard.ts","../../../../../../src/cdk/clipboard/copy-to-clipboard.ts","../../../../../../src/cdk/clipboard/clipboard-module.ts","../../../../../../src/cdk/clipboard/public-api.ts","../../../../../../src/cdk/clipboard/index.ts","../../../../../../src/cdk/clipboard/clipboard_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\n/**\n * A pending copy-to-clipboard operation.\n *\n * The implementation of copying text to the clipboard modifies the DOM and\n * forces a relayout. This relayout can take too long if the string is large,\n * causing the execCommand('copy') to happen too long after the user clicked.\n * This results in the browser refusing to copy. This object lets the\n * relayout happen in a separate tick from copying by providing a copy function\n * that can be called later.\n *\n * Destroy must be called when no longer in use, regardless of whether `copy` is\n * called.\n */\nexport class PendingCopy {\n private _textarea: HTMLTextAreaElement | undefined;\n\n constructor(text: string, private readonly _document: Document) {\n const textarea = (this._textarea = this._document.createElement('textarea'));\n const styles = textarea.style;\n\n // Hide the element for display and accessibility. Set a fixed position so the page layout\n // isn't affected. We use `fixed` with `top: 0`, because focus is moved into the textarea\n // for a split second and if it's off-screen, some browsers will attempt to scroll it into view.\n styles.position = 'fixed';\n styles.top = styles.opacity = '0';\n styles.left = '-999em';\n textarea.setAttribute('aria-hidden', 'true');\n textarea.value = text;\n this._document.body.appendChild(textarea);\n }\n\n /** Finishes copying the text. */\n copy(): boolean {\n const textarea = this._textarea;\n let successful = false;\n\n try {\n // Older browsers could throw if copy is not supported.\n if (textarea) {\n const currentFocus = this._document.activeElement as HTMLOrSVGElement | null;\n\n textarea.select();\n textarea.setSelectionRange(0, textarea.value.length);\n successful = this._document.execCommand('copy');\n\n if (currentFocus) {\n currentFocus.focus();\n }\n }\n } catch {\n // Discard error.\n // Initial setting of {@code successful} will represent failure here.\n }\n\n return successful;\n }\n\n /** Cleans up DOM changes used to perform the copy operation. */\n destroy() {\n const textarea = this._textarea;\n\n if (textarea) {\n textarea.remove();\n this._textarea = undefined;\n }\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 {DOCUMENT} from '@angular/common';\nimport {Inject, Injectable} from '@angular/core';\nimport {PendingCopy} from './pending-copy';\n\n/**\n * A service for copying text to the clipboard.\n */\n@Injectable({providedIn: 'root'})\nexport class Clipboard {\n private readonly _document: Document;\n\n constructor(@Inject(DOCUMENT) document: any) {\n this._document = document;\n }\n\n /**\n * Copies the provided text into the user's clipboard.\n *\n * @param text The string to copy.\n * @returns Whether the operation was successful.\n */\n copy(text: string): boolean {\n const pendingCopy = this.beginCopy(text);\n const successful = pendingCopy.copy();\n pendingCopy.destroy();\n\n return successful;\n }\n\n /**\n * Prepares a string to be copied later. This is useful for large strings\n * which take too long to successfully render and be copied in the same tick.\n *\n * The caller must call `destroy` on the returned `PendingCopy`.\n *\n * @param text The string to copy.\n * @returns the pending copy operation.\n */\n beginCopy(text: string): PendingCopy {\n return new PendingCopy(text, this._document);\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 {\n Directive,\n EventEmitter,\n Input,\n Output,\n NgZone,\n InjectionToken,\n Inject,\n Optional,\n OnDestroy,\n} from '@angular/core';\nimport {Clipboard} from './clipboard';\nimport {PendingCopy} from './pending-copy';\n\n/** Object that can be used to configure the default options for `CdkCopyToClipboard`. */\nexport interface CdkCopyToClipboardConfig {\n /** Default number of attempts to make when copying text to the clipboard. */\n attempts?: number;\n}\n\n/** Injection token that can be used to provide the default options to `CdkCopyToClipboard`. */\nexport const CDK_COPY_TO_CLIPBOARD_CONFIG = new InjectionToken<CdkCopyToClipboardConfig>(\n 'CDK_COPY_TO_CLIPBOARD_CONFIG',\n);\n\n/**\n * Provides behavior for a button that when clicked copies content into user's\n * clipboard.\n */\n@Directive({\n selector: '[cdkCopyToClipboard]',\n host: {\n '(click)': 'copy()',\n },\n})\nexport class CdkCopyToClipboard implements OnDestroy {\n /** Content to be copied. */\n @Input('cdkCopyToClipboard') text: string = '';\n\n /**\n * How many times to attempt to copy the text. This may be necessary for longer text, because\n * the browser needs time to fill an intermediate textarea element and copy the content.\n */\n @Input('cdkCopyToClipboardAttempts') attempts: number = 1;\n\n /**\n * Emits when some text is copied to the clipboard. The\n * emitted value indicates whether copying was successful.\n */\n @Output('cdkCopyToClipboardCopied') readonly copied = new EventEmitter<boolean>();\n\n /** Copies that are currently being attempted. */\n private _pending = new Set<PendingCopy>();\n\n /** Whether the directive has been destroyed. */\n private _destroyed: boolean;\n\n /** Timeout for the current copy attempt. */\n private _currentTimeout: any;\n\n constructor(\n private _clipboard: Clipboard,\n private _ngZone: NgZone,\n @Optional() @Inject(CDK_COPY_TO_CLIPBOARD_CONFIG) config?: CdkCopyToClipboardConfig,\n ) {\n if (config && config.attempts != null) {\n this.attempts = config.attempts;\n }\n }\n\n /** Copies the current text to the clipboard. */\n copy(attempts: number = this.attempts): void {\n if (attempts > 1) {\n let remainingAttempts = attempts;\n const pending = this._clipboard.beginCopy(this.text);\n this._pending.add(pending);\n\n const attempt = () => {\n const successful = pending.copy();\n if (!successful && --remainingAttempts && !this._destroyed) {\n // We use 1 for the timeout since it's more predictable when flushing in unit tests.\n this._currentTimeout = this._ngZone.runOutsideAngular(() => setTimeout(attempt, 1));\n } else {\n this._currentTimeout = null;\n this._pending.delete(pending);\n pending.destroy();\n this.copied.emit(successful);\n }\n };\n attempt();\n } else {\n this.copied.emit(this._clipboard.copy(this.text));\n }\n }\n\n ngOnDestroy() {\n if (this._currentTimeout) {\n clearTimeout(this._currentTimeout);\n }\n\n this._pending.forEach(copy => copy.destroy());\n this._pending.clear();\n this._destroyed = true;\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';\n\nimport {CdkCopyToClipboard} from './copy-to-clipboard';\n\n@NgModule({\n declarations: [CdkCopyToClipboard],\n exports: [CdkCopyToClipboard],\n})\nexport class ClipboardModule {}\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 './clipboard';\nexport * from './clipboard-module';\nexport * from './copy-to-clipboard';\nexport * from './pending-copy';\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":[],"mappings":"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"}
@@ -90,8 +90,7 @@ class _DisposeViewRepeaterStrategy {
90
90
  }
91
91
  });
92
92
  }
93
- detach() {
94
- }
93
+ detach() { }
95
94
  }
96
95
 
97
96
  /**
@@ -134,16 +133,19 @@ class _RecycleViewRepeaterStrategy {
134
133
  changes.forEachOperation((record, adjustedPreviousIndex, currentIndex) => {
135
134
  let view;
136
135
  let operation;
137
- if (record.previousIndex == null) { // Item added.
136
+ if (record.previousIndex == null) {
137
+ // Item added.
138
138
  const viewArgsFactory = () => itemContextFactory(record, adjustedPreviousIndex, currentIndex);
139
139
  view = this._insertView(viewArgsFactory, currentIndex, viewContainerRef, itemValueResolver(record));
140
140
  operation = view ? 1 /* INSERTED */ : 0 /* REPLACED */;
141
141
  }
142
- else if (currentIndex == null) { // Item removed.
142
+ else if (currentIndex == null) {
143
+ // Item removed.
143
144
  this._detachAndCacheView(adjustedPreviousIndex, viewContainerRef);
144
145
  operation = 3 /* REMOVED */;
145
146
  }
146
- else { // Item moved.
147
+ else {
148
+ // Item moved.
147
149
  view = this._moveView(adjustedPreviousIndex, currentIndex, viewContainerRef, itemValueResolver(record));
148
150
  operation = 2 /* MOVED */;
149
151
  }
@@ -328,7 +330,7 @@ class SelectionModel {
328
330
  this.changed.next({
329
331
  source: this,
330
332
  added: this._selectedToEmit,
331
- removed: this._deselectedToEmit
333
+ removed: this._deselectedToEmit,
332
334
  });
333
335
  this._deselectedToEmit = [];
334
336
  this._selectedToEmit = [];
@@ -426,9 +428,9 @@ class UniqueSelectionDispatcher {
426
428
  this._listeners = [];
427
429
  }
428
430
  }
429
- UniqueSelectionDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: UniqueSelectionDispatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
430
- UniqueSelectionDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: UniqueSelectionDispatcher, providedIn: 'root' });
431
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: UniqueSelectionDispatcher, decorators: [{
431
+ UniqueSelectionDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: UniqueSelectionDispatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
432
+ UniqueSelectionDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: UniqueSelectionDispatcher, providedIn: 'root' });
433
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: UniqueSelectionDispatcher, decorators: [{
432
434
  type: Injectable,
433
435
  args: [{ providedIn: 'root' }]
434
436
  }] });
@@ -454,6 +456,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15",
454
456
  */
455
457
  const _VIEW_REPEATER_STRATEGY = new InjectionToken('_ViewRepeater');
456
458
 
459
+ /**
460
+ * @license
461
+ * Copyright Google LLC All Rights Reserved.
462
+ *
463
+ * Use of this source code is governed by an MIT-style license that can be
464
+ * found in the LICENSE file at https://angular.io/license
465
+ */
466
+
457
467
  /**
458
468
  * @license
459
469
  * Copyright Google LLC All Rights Reserved.