@angular/cdk 20.0.0-next.1 → 20.0.0-next.10

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 (445) hide show
  1. package/_adev_assets/cdk_testing.json +1 -0
  2. package/_adev_assets/cdk_testing_protractor.json +1 -0
  3. package/_adev_assets/cdk_testing_selenium_webdriver.json +1 -0
  4. package/_adev_assets/cdk_testing_testbed.json +1 -0
  5. package/a11y/index.d.ts +11 -11
  6. package/{a11y-module.d-7d03e079.d.ts → a11y-module.d-DBHGyKoh.d.ts} +4 -3
  7. package/a11y-prebuilt.css +1 -1
  8. package/accordion/index.d.ts +1 -1
  9. package/{activedescendant-key-manager.d-11921e3a.d.ts → activedescendant-key-manager.d-Bjic5obv.d.ts} +3 -2
  10. package/bidi/index.d.ts +1 -1
  11. package/{bidi-module.d-f8648621.d.ts → bidi-module.d-IN1Vp56w.d.ts} +8 -4
  12. package/clipboard/index.d.ts +2 -1
  13. package/coercion/index.d.ts +3 -2
  14. package/collections/index.d.ts +9 -8
  15. package/{data-source.d-7cab2c9d.d.ts → data-source.d-Bblv7Zvh.d.ts} +2 -1
  16. package/dialog/index.d.ts +26 -19
  17. package/drag-drop/index.d.ts +14 -6
  18. package/fesm2022/{a11y-module-e6996d20.mjs → a11y-module-DpEjWNCj.mjs} +32 -33
  19. package/fesm2022/a11y-module-DpEjWNCj.mjs.map +1 -0
  20. package/fesm2022/a11y.mjs +35 -36
  21. package/fesm2022/a11y.mjs.map +1 -1
  22. package/fesm2022/accordion.mjs +12 -12
  23. package/fesm2022/accordion.mjs.map +1 -1
  24. package/fesm2022/{activedescendant-key-manager-1351a9d3.mjs → activedescendant-key-manager-DC3-fwQI.mjs} +2 -2
  25. package/fesm2022/activedescendant-key-manager-DC3-fwQI.mjs.map +1 -0
  26. package/fesm2022/{array-ee3b4bab.mjs → array-I1yfCXUO.mjs} +1 -1
  27. package/fesm2022/array-I1yfCXUO.mjs.map +1 -0
  28. package/fesm2022/bidi.mjs +77 -4
  29. package/fesm2022/bidi.mjs.map +1 -1
  30. package/fesm2022/{breakpoints-observer-d4584b66.mjs → breakpoints-observer-DpQzdtrE.mjs} +9 -9
  31. package/fesm2022/breakpoints-observer-DpQzdtrE.mjs.map +1 -0
  32. package/fesm2022/cdk.mjs +1 -1
  33. package/fesm2022/cdk.mjs.map +1 -1
  34. package/fesm2022/clipboard.mjs +11 -12
  35. package/fesm2022/clipboard.mjs.map +1 -1
  36. package/fesm2022/coercion/private.mjs +14 -2
  37. package/fesm2022/coercion/private.mjs.map +1 -1
  38. package/fesm2022/coercion.mjs +3 -3
  39. package/fesm2022/coercion.mjs.map +1 -1
  40. package/fesm2022/collections.mjs +5 -5
  41. package/fesm2022/{css-pixel-value-286c9a60.mjs → css-pixel-value-C_HEqLhI.mjs} +1 -1
  42. package/fesm2022/css-pixel-value-C_HEqLhI.mjs.map +1 -0
  43. package/fesm2022/{data-source-5320b6fd.mjs → data-source-D34wiQZj.mjs} +1 -1
  44. package/fesm2022/data-source-D34wiQZj.mjs.map +1 -0
  45. package/fesm2022/dialog.mjs +88 -71
  46. package/fesm2022/dialog.mjs.map +1 -1
  47. package/fesm2022/{directionality-7ea26429.mjs → directionality-Ck5Uc9Se.mjs} +13 -8
  48. package/fesm2022/directionality-Ck5Uc9Se.mjs.map +1 -0
  49. package/fesm2022/{dispose-view-repeater-strategy-b11b87ea.mjs → dispose-view-repeater-strategy-D_JReLI1.mjs} +2 -2
  50. package/fesm2022/dispose-view-repeater-strategy-D_JReLI1.mjs.map +1 -0
  51. package/fesm2022/drag-drop.mjs +125 -60
  52. package/fesm2022/drag-drop.mjs.map +1 -1
  53. package/fesm2022/{element-705567fe.mjs → element-x4z00URv.mjs} +2 -2
  54. package/fesm2022/element-x4z00URv.mjs.map +1 -0
  55. package/fesm2022/{fake-event-detection-7055b1bd.mjs → fake-event-detection-DWOdFTFz.mjs} +1 -1
  56. package/fesm2022/fake-event-detection-DWOdFTFz.mjs.map +1 -0
  57. package/fesm2022/{focus-key-manager-58d29acd.mjs → focus-key-manager-C1rAQJ5z.mjs} +2 -2
  58. package/fesm2022/focus-key-manager-C1rAQJ5z.mjs.map +1 -0
  59. package/fesm2022/{focus-monitor-cebaa0d1.mjs → focus-monitor-DKFfep8Q.mjs} +21 -23
  60. package/fesm2022/focus-monitor-DKFfep8Q.mjs.map +1 -0
  61. package/fesm2022/{id-generator-fba495fb.mjs → id-generator-BwB8lolC.mjs} +4 -4
  62. package/fesm2022/id-generator-BwB8lolC.mjs.map +1 -0
  63. package/fesm2022/{keycodes-107cd3e4.mjs → keycodes-CpHkExLC.mjs} +2 -2
  64. package/fesm2022/keycodes-CpHkExLC.mjs.map +1 -0
  65. package/fesm2022/keycodes.mjs +14 -2
  66. package/fesm2022/keycodes.mjs.map +1 -1
  67. package/fesm2022/layout.mjs +7 -7
  68. package/fesm2022/layout.mjs.map +1 -1
  69. package/fesm2022/{list-key-manager-c7b5cefb.mjs → list-key-manager-CyOIXo8P.mjs} +4 -4
  70. package/fesm2022/list-key-manager-CyOIXo8P.mjs.map +1 -0
  71. package/fesm2022/listbox.mjs +20 -20
  72. package/fesm2022/listbox.mjs.map +1 -1
  73. package/fesm2022/menu.mjs +85 -90
  74. package/fesm2022/menu.mjs.map +1 -1
  75. package/fesm2022/observers/private.mjs +3 -3
  76. package/fesm2022/observers/private.mjs.map +1 -1
  77. package/fesm2022/observers.mjs +209 -5
  78. package/fesm2022/observers.mjs.map +1 -1
  79. package/fesm2022/{overlay-module-863b82c9.mjs → overlay-module-BaGhSGqO.mjs} +204 -171
  80. package/fesm2022/overlay-module-BaGhSGqO.mjs.map +1 -0
  81. package/fesm2022/overlay.mjs +23 -24
  82. package/fesm2022/overlay.mjs.map +1 -1
  83. package/fesm2022/{passive-listeners-c0bdc49f.mjs → passive-listeners-esHZRgIN.mjs} +1 -1
  84. package/fesm2022/passive-listeners-esHZRgIN.mjs.map +1 -0
  85. package/fesm2022/{platform-1be098b0.mjs → platform-CPg0IbDW.mjs} +4 -4
  86. package/fesm2022/platform-CPg0IbDW.mjs.map +1 -0
  87. package/fesm2022/platform.mjs +9 -10
  88. package/fesm2022/platform.mjs.map +1 -1
  89. package/fesm2022/portal.mjs +613 -3
  90. package/fesm2022/portal.mjs.map +1 -1
  91. package/fesm2022/private.mjs +18 -3
  92. package/fesm2022/private.mjs.map +1 -1
  93. package/fesm2022/{recycle-view-repeater-strategy-c1712813.mjs → recycle-view-repeater-strategy-DoWdPqVw.mjs} +2 -2
  94. package/fesm2022/recycle-view-repeater-strategy-DoWdPqVw.mjs.map +1 -0
  95. package/fesm2022/{scrolling-61955dd1.mjs → scrolling-BkvA05C8.mjs} +1 -1
  96. package/fesm2022/scrolling-BkvA05C8.mjs.map +1 -0
  97. package/fesm2022/scrolling.mjs +1462 -11
  98. package/fesm2022/scrolling.mjs.map +1 -1
  99. package/fesm2022/{selection-model-30243dba.mjs → selection-model-BCgC8uEN.mjs} +1 -1
  100. package/fesm2022/selection-model-BCgC8uEN.mjs.map +1 -0
  101. package/fesm2022/{shadow-dom-9f403d00.mjs → shadow-dom-B0oHn41l.mjs} +2 -2
  102. package/fesm2022/shadow-dom-B0oHn41l.mjs.map +1 -0
  103. package/fesm2022/stepper.mjs +43 -38
  104. package/fesm2022/stepper.mjs.map +1 -1
  105. package/fesm2022/{style-loader-e14dc585.mjs → style-loader-BDEAZOey.mjs} +4 -4
  106. package/fesm2022/style-loader-BDEAZOey.mjs.map +1 -0
  107. package/fesm2022/table.mjs +170 -226
  108. package/fesm2022/table.mjs.map +1 -1
  109. package/fesm2022/{test-environment-34eef1ee.mjs → test-environment-CT0XxPyp.mjs} +1 -1
  110. package/fesm2022/test-environment-CT0XxPyp.mjs.map +1 -0
  111. package/fesm2022/testing/selenium-webdriver.mjs +1 -1
  112. package/fesm2022/testing/selenium-webdriver.mjs.map +1 -1
  113. package/fesm2022/testing/testbed.mjs +2 -2
  114. package/fesm2022/testing/testbed.mjs.map +1 -1
  115. package/fesm2022/testing.mjs +697 -2
  116. package/fesm2022/testing.mjs.map +1 -1
  117. package/fesm2022/text-field.mjs +27 -24
  118. package/fesm2022/text-field.mjs.map +1 -1
  119. package/fesm2022/{tree-key-manager-2f20c79c.mjs → tree-key-manager-KnCoIkIC.mjs} +3 -3
  120. package/fesm2022/tree-key-manager-KnCoIkIC.mjs.map +1 -0
  121. package/fesm2022/tree.mjs +47 -35
  122. package/fesm2022/tree.mjs.map +1 -1
  123. package/fesm2022/{typeahead-11ae39bd.mjs → typeahead-9ZW4Dtsf.mjs} +2 -2
  124. package/fesm2022/typeahead-9ZW4Dtsf.mjs.map +1 -0
  125. package/fesm2022/{unique-selection-dispatcher-1d6f91d8.mjs → unique-selection-dispatcher-Cag6cZJ2.mjs} +4 -4
  126. package/fesm2022/unique-selection-dispatcher-Cag6cZJ2.mjs.map +1 -0
  127. package/{focus-key-manager.d-415a6958.d.ts → focus-key-manager.d-BIKDy8oD.d.ts} +4 -3
  128. package/{focus-monitor.d-810a02e6.d.ts → focus-monitor.d-CvvJeQRc.d.ts} +2 -1
  129. package/{harness-environment.d-4d615248.d.ts → harness-environment.d-BatBdODN.d.ts} +2 -1
  130. package/keycodes/index.d.ts +2 -1
  131. package/layout/index.d.ts +2 -1
  132. package/{list-key-manager.d-72e9a2e7.d.ts → list-key-manager.d-BlK3jyRn.d.ts} +2 -1
  133. package/listbox/index.d.ts +5 -4
  134. package/menu/index.d.ts +16 -18
  135. package/{number-property.d-ce316715.d.ts → number-property.d-CJVxXUcb.d.ts} +2 -1
  136. package/observers/index.d.ts +84 -4
  137. package/overlay/_index.scss +7 -1
  138. package/overlay/index.d.ts +77 -80
  139. package/{overlay-module.d-5d06db8a.d.ts → overlay-module.d-BiAhhk6g.d.ts} +23 -12
  140. package/overlay-prebuilt.css +1 -1
  141. package/package.json +2 -4
  142. package/platform/index.d.ts +2 -17
  143. package/portal/index.d.ts +3 -3
  144. package/{portal-directives.d-d345bd53.d.ts → portal-directives.d-DbeNrI5D.d.ts} +2 -1
  145. package/private/index.d.ts +1 -1
  146. package/schematics/index.js +1 -1
  147. package/schematics/index.js.map +1 -0
  148. package/schematics/ng-add/index.js +11 -19
  149. package/schematics/ng-add/index.js.map +1 -0
  150. package/schematics/ng-add/schema.js +1 -1
  151. package/schematics/ng-add/schema.js.map +1 -0
  152. package/schematics/ng-generate/drag-drop/index.js +15 -6
  153. package/schematics/ng-generate/drag-drop/index.js.map +1 -0
  154. package/schematics/ng-generate/drag-drop/schema.js +1 -1
  155. package/schematics/ng-generate/drag-drop/schema.js.map +1 -0
  156. package/schematics/ng-update/data/attribute-selectors.js +1 -1
  157. package/schematics/ng-update/data/attribute-selectors.js.map +1 -0
  158. package/schematics/ng-update/data/class-names.js +1 -1
  159. package/schematics/ng-update/data/class-names.js.map +1 -0
  160. package/schematics/ng-update/data/constructor-checks.js +1 -1
  161. package/schematics/ng-update/data/constructor-checks.js.map +1 -0
  162. package/schematics/ng-update/data/css-selectors.js +1 -1
  163. package/schematics/ng-update/data/css-selectors.js.map +1 -0
  164. package/schematics/ng-update/data/css-tokens.js +1 -1
  165. package/schematics/ng-update/data/css-tokens.js.map +1 -0
  166. package/schematics/ng-update/data/element-selectors.js +1 -1
  167. package/schematics/ng-update/data/element-selectors.js.map +1 -0
  168. package/schematics/ng-update/data/index.js +1 -1
  169. package/schematics/ng-update/data/index.js.map +1 -0
  170. package/schematics/ng-update/data/input-names.js +1 -1
  171. package/schematics/ng-update/data/input-names.js.map +1 -0
  172. package/schematics/ng-update/data/method-call-checks.js +1 -1
  173. package/schematics/ng-update/data/method-call-checks.js.map +1 -0
  174. package/schematics/ng-update/data/output-names.js +1 -1
  175. package/schematics/ng-update/data/output-names.js.map +1 -0
  176. package/schematics/ng-update/data/property-names.js +1 -1
  177. package/schematics/ng-update/data/property-names.js.map +1 -0
  178. package/schematics/ng-update/data/symbol-removal.js +1 -1
  179. package/schematics/ng-update/data/symbol-removal.js.map +1 -0
  180. package/schematics/ng-update/devkit-file-system.js +2 -3
  181. package/schematics/ng-update/devkit-file-system.js.map +1 -0
  182. package/schematics/ng-update/devkit-migration-rule.js +13 -4
  183. package/schematics/ng-update/devkit-migration-rule.js.map +1 -0
  184. package/schematics/ng-update/devkit-migration.d.ts +2 -2
  185. package/schematics/ng-update/devkit-migration.js +1 -1
  186. package/schematics/ng-update/devkit-migration.js.map +1 -0
  187. package/schematics/ng-update/find-stylesheets.js +1 -1
  188. package/schematics/ng-update/find-stylesheets.js.map +1 -0
  189. package/schematics/ng-update/html-parsing/angular.js +2 -2
  190. package/schematics/ng-update/html-parsing/angular.js.map +1 -0
  191. package/schematics/ng-update/html-parsing/elements.js +3 -2
  192. package/schematics/ng-update/html-parsing/elements.js.map +1 -0
  193. package/schematics/ng-update/index.js +1 -1
  194. package/schematics/ng-update/index.js.map +1 -0
  195. package/schematics/ng-update/migrations/attribute-selectors.js +8 -5
  196. package/schematics/ng-update/migrations/attribute-selectors.js.map +1 -0
  197. package/schematics/ng-update/migrations/class-inheritance.js +11 -8
  198. package/schematics/ng-update/migrations/class-inheritance.js.map +1 -0
  199. package/schematics/ng-update/migrations/class-names.js +15 -12
  200. package/schematics/ng-update/migrations/class-names.js.map +1 -0
  201. package/schematics/ng-update/migrations/constructor-signature.js +10 -7
  202. package/schematics/ng-update/migrations/constructor-signature.js.map +1 -0
  203. package/schematics/ng-update/migrations/css-selectors.js +8 -5
  204. package/schematics/ng-update/migrations/css-selectors.js.map +1 -0
  205. package/schematics/ng-update/migrations/css-tokens.js +8 -5
  206. package/schematics/ng-update/migrations/css-tokens.js.map +1 -0
  207. package/schematics/ng-update/migrations/element-selectors.js +8 -5
  208. package/schematics/ng-update/migrations/element-selectors.js.map +1 -0
  209. package/schematics/ng-update/migrations/input-names.js +8 -5
  210. package/schematics/ng-update/migrations/input-names.js.map +1 -0
  211. package/schematics/ng-update/migrations/method-call-arguments.js +8 -5
  212. package/schematics/ng-update/migrations/method-call-arguments.js.map +1 -0
  213. package/schematics/ng-update/migrations/misc-template.js +6 -3
  214. package/schematics/ng-update/migrations/misc-template.js.map +1 -0
  215. package/schematics/ng-update/migrations/output-names.js +8 -5
  216. package/schematics/ng-update/migrations/output-names.js.map +1 -0
  217. package/schematics/ng-update/migrations/property-names.js +8 -5
  218. package/schematics/ng-update/migrations/property-names.js.map +1 -0
  219. package/schematics/ng-update/migrations/symbol-removal.js +10 -6
  220. package/schematics/ng-update/migrations/symbol-removal.js.map +1 -0
  221. package/schematics/ng-update/public-api.js +1 -1
  222. package/schematics/ng-update/public-api.js.map +1 -0
  223. package/schematics/ng-update/typescript/base-types.js +1 -1
  224. package/schematics/ng-update/typescript/base-types.js.map +1 -0
  225. package/schematics/ng-update/typescript/imports.js +1 -1
  226. package/schematics/ng-update/typescript/imports.js.map +1 -0
  227. package/schematics/ng-update/typescript/literal.js +1 -1
  228. package/schematics/ng-update/typescript/literal.js.map +1 -0
  229. package/schematics/ng-update/typescript/module-specifiers.js +1 -1
  230. package/schematics/ng-update/typescript/module-specifiers.js.map +1 -0
  231. package/schematics/ng-update/upgrade-data.js +1 -1
  232. package/schematics/ng-update/upgrade-data.js.map +1 -0
  233. package/schematics/paths.js +1 -1
  234. package/schematics/paths.js.map +1 -0
  235. package/schematics/update-tool/component-resource-collector.js +3 -5
  236. package/schematics/update-tool/component-resource-collector.js.map +1 -0
  237. package/schematics/update-tool/file-system.js +1 -1
  238. package/schematics/update-tool/file-system.js.map +1 -0
  239. package/schematics/update-tool/index.js +2 -8
  240. package/schematics/update-tool/index.js.map +1 -0
  241. package/schematics/update-tool/logger.js +1 -1
  242. package/schematics/update-tool/logger.js.map +1 -0
  243. package/schematics/update-tool/migration.js +3 -10
  244. package/schematics/update-tool/migration.js.map +1 -0
  245. package/schematics/update-tool/public-api.js +1 -1
  246. package/schematics/update-tool/public-api.js.map +1 -0
  247. package/schematics/update-tool/target-version.js +1 -1
  248. package/schematics/update-tool/target-version.js.map +1 -0
  249. package/schematics/update-tool/update-recorder.js +1 -1
  250. package/schematics/update-tool/update-recorder.js.map +1 -0
  251. package/schematics/update-tool/utils/decorators.js +1 -1
  252. package/schematics/update-tool/utils/decorators.js.map +1 -0
  253. package/schematics/update-tool/utils/diagnostics.js +1 -1
  254. package/schematics/update-tool/utils/diagnostics.js.map +1 -0
  255. package/schematics/update-tool/utils/functions.js +1 -1
  256. package/schematics/update-tool/utils/functions.js.map +1 -0
  257. package/schematics/update-tool/utils/imports.js +1 -1
  258. package/schematics/update-tool/utils/imports.js.map +1 -0
  259. package/schematics/update-tool/utils/line-mappings.js +1 -1
  260. package/schematics/update-tool/utils/line-mappings.js.map +1 -0
  261. package/schematics/update-tool/utils/parse-tsconfig.js +1 -1
  262. package/schematics/update-tool/utils/parse-tsconfig.js.map +1 -0
  263. package/schematics/update-tool/utils/property-name.js +1 -1
  264. package/schematics/update-tool/utils/property-name.js.map +1 -0
  265. package/schematics/update-tool/utils/virtual-host.js +2 -3
  266. package/schematics/update-tool/utils/virtual-host.js.map +1 -0
  267. package/schematics/update-tool/version-changes.js +1 -1
  268. package/schematics/update-tool/version-changes.js.map +1 -0
  269. package/schematics/utils/ast/ng-module-imports.js +1 -1
  270. package/schematics/utils/ast/ng-module-imports.js.map +1 -0
  271. package/schematics/utils/ast.d.ts +2 -2
  272. package/schematics/utils/ast.js +23 -12
  273. package/schematics/utils/ast.js.map +1 -0
  274. package/schematics/utils/build-component.js +22 -17
  275. package/schematics/utils/build-component.js.map +1 -0
  276. package/schematics/utils/get-project.d.ts +2 -2
  277. package/schematics/utils/get-project.js +1 -1
  278. package/schematics/utils/get-project.js.map +1 -0
  279. package/schematics/utils/html-manipulation.js +1 -1
  280. package/schematics/utils/html-manipulation.js.map +1 -0
  281. package/schematics/utils/index.js +1 -1
  282. package/schematics/utils/index.js.map +1 -0
  283. package/schematics/utils/parse5-element.js +1 -1
  284. package/schematics/utils/parse5-element.js.map +1 -0
  285. package/schematics/utils/project-index-file.d.ts +6 -3
  286. package/schematics/utils/project-index-file.js +30 -7
  287. package/schematics/utils/project-index-file.js.map +1 -0
  288. package/schematics/utils/project-main-file.d.ts +3 -2
  289. package/schematics/utils/project-main-file.js +1 -1
  290. package/schematics/utils/project-main-file.js.map +1 -0
  291. package/schematics/utils/project-style-file.d.ts +2 -2
  292. package/schematics/utils/project-style-file.js +1 -1
  293. package/schematics/utils/project-style-file.js.map +1 -0
  294. package/schematics/utils/project-targets.d.ts +5 -4
  295. package/schematics/utils/project-targets.js +15 -8
  296. package/schematics/utils/project-targets.js.map +1 -0
  297. package/schematics/utils/project-tsconfig-paths.d.ts +3 -3
  298. package/schematics/utils/project-tsconfig-paths.js +26 -14
  299. package/schematics/utils/project-tsconfig-paths.js.map +1 -0
  300. package/schematics/utils/schematic-options.d.ts +2 -2
  301. package/schematics/utils/schematic-options.js +27 -15
  302. package/schematics/utils/schematic-options.js.map +1 -0
  303. package/scrolling/index.d.ts +62 -7
  304. package/{scrolling-module.d-a08a462d.d.ts → scrolling-module.d-DP0Qb7T9.d.ts} +5 -4
  305. package/{selection-model.d-1a70542c.d.ts → selection-model.d-DNgOONDg.d.ts} +2 -1
  306. package/stepper/index.d.ts +6 -5
  307. package/table/index.d.ts +9 -197
  308. package/testing/index.d.ts +3 -2
  309. package/testing/selenium-webdriver/index.d.ts +3 -2
  310. package/testing/testbed/index.d.ts +3 -2
  311. package/text-field/index.d.ts +5 -2
  312. package/text-field-prebuilt.css +1 -1
  313. package/tree/index.d.ts +7 -4
  314. package/{tree-key-manager-strategy.d-603161dd.d.ts → tree-key-manager-strategy.d-XB6M79l-.d.ts} +1 -1
  315. package/{unique-selection-dispatcher.d-7993b9f5.d.ts → unique-selection-dispatcher.d-DSFqf1MM.d.ts} +2 -1
  316. package/{view-repeater.d-79039e1f.d.ts → view-repeater.d-BKljR8u8.d.ts} +2 -1
  317. package/fesm2022/a11y-module-e6996d20.mjs.map +0 -1
  318. package/fesm2022/activedescendant-key-manager-1351a9d3.mjs.map +0 -1
  319. package/fesm2022/array-ee3b4bab.mjs.map +0 -1
  320. package/fesm2022/backwards-compatibility-bcbe473e.mjs +0 -25
  321. package/fesm2022/backwards-compatibility-bcbe473e.mjs.map +0 -1
  322. package/fesm2022/bidi-module-0726b65c.mjs +0 -78
  323. package/fesm2022/bidi-module-0726b65c.mjs.map +0 -1
  324. package/fesm2022/breakpoints-observer-d4584b66.mjs.map +0 -1
  325. package/fesm2022/css-pixel-value-286c9a60.mjs.map +0 -1
  326. package/fesm2022/data-source-5320b6fd.mjs.map +0 -1
  327. package/fesm2022/directionality-7ea26429.mjs.map +0 -1
  328. package/fesm2022/dispose-view-repeater-strategy-b11b87ea.mjs.map +0 -1
  329. package/fesm2022/element-705567fe.mjs.map +0 -1
  330. package/fesm2022/fake-event-detection-7055b1bd.mjs.map +0 -1
  331. package/fesm2022/focus-key-manager-58d29acd.mjs.map +0 -1
  332. package/fesm2022/focus-monitor-cebaa0d1.mjs.map +0 -1
  333. package/fesm2022/id-generator-fba495fb.mjs.map +0 -1
  334. package/fesm2022/keycodes-107cd3e4.mjs.map +0 -1
  335. package/fesm2022/list-key-manager-c7b5cefb.mjs.map +0 -1
  336. package/fesm2022/modifiers-33a5859e.mjs +0 -13
  337. package/fesm2022/modifiers-33a5859e.mjs.map +0 -1
  338. package/fesm2022/observable-97c0792c.mjs +0 -15
  339. package/fesm2022/observable-97c0792c.mjs.map +0 -1
  340. package/fesm2022/observe-content-d2a6b5a0.mjs +0 -210
  341. package/fesm2022/observe-content-d2a6b5a0.mjs.map +0 -1
  342. package/fesm2022/overlay-module-863b82c9.mjs.map +0 -1
  343. package/fesm2022/passive-listeners-c0bdc49f.mjs.map +0 -1
  344. package/fesm2022/platform-1be098b0.mjs.map +0 -1
  345. package/fesm2022/portal-directives-c88fea11.mjs +0 -615
  346. package/fesm2022/portal-directives-c88fea11.mjs.map +0 -1
  347. package/fesm2022/recycle-view-repeater-strategy-c1712813.mjs.map +0 -1
  348. package/fesm2022/scrolling-61955dd1.mjs.map +0 -1
  349. package/fesm2022/scrolling-module-aa9eeac5.mjs +0 -1463
  350. package/fesm2022/scrolling-module-aa9eeac5.mjs.map +0 -1
  351. package/fesm2022/selection-model-30243dba.mjs.map +0 -1
  352. package/fesm2022/shadow-dom-9f403d00.mjs.map +0 -1
  353. package/fesm2022/style-loader-e14dc585.mjs.map +0 -1
  354. package/fesm2022/test-environment-34eef1ee.mjs.map +0 -1
  355. package/fesm2022/text-filtering-b60ba8a2.mjs +0 -698
  356. package/fesm2022/text-filtering-b60ba8a2.mjs.map +0 -1
  357. package/fesm2022/tree-key-manager-2f20c79c.mjs.map +0 -1
  358. package/fesm2022/typeahead-11ae39bd.mjs.map +0 -1
  359. package/fesm2022/unique-selection-dispatcher-1d6f91d8.mjs.map +0 -1
  360. package/fesm2022/visually-hidden-83aea4a0.mjs +0 -18
  361. package/fesm2022/visually-hidden-83aea4a0.mjs.map +0 -1
  362. package/observe-content.d-c08bc882.d.ts +0 -84
  363. package/schematics/index.mjs +0 -37
  364. package/schematics/ng-add/index.mjs +0 -39
  365. package/schematics/ng-add/package-config.d.ts +0 -12
  366. package/schematics/ng-add/package-config.js +0 -51
  367. package/schematics/ng-add/package-config.mjs +0 -51
  368. package/schematics/ng-add/schema.mjs +0 -10
  369. package/schematics/ng-generate/drag-drop/index.mjs +0 -33
  370. package/schematics/ng-generate/drag-drop/schema.mjs +0 -10
  371. package/schematics/ng-update/data/attribute-selectors.mjs +0 -12
  372. package/schematics/ng-update/data/class-names.mjs +0 -12
  373. package/schematics/ng-update/data/constructor-checks.mjs +0 -17
  374. package/schematics/ng-update/data/css-selectors.mjs +0 -12
  375. package/schematics/ng-update/data/css-tokens.mjs +0 -12
  376. package/schematics/ng-update/data/element-selectors.mjs +0 -12
  377. package/schematics/ng-update/data/index.mjs +0 -35
  378. package/schematics/ng-update/data/input-names.mjs +0 -12
  379. package/schematics/ng-update/data/method-call-checks.mjs +0 -12
  380. package/schematics/ng-update/data/output-names.mjs +0 -12
  381. package/schematics/ng-update/data/property-names.mjs +0 -12
  382. package/schematics/ng-update/data/symbol-removal.mjs +0 -12
  383. package/schematics/ng-update/devkit-file-system.mjs +0 -84
  384. package/schematics/ng-update/devkit-migration-rule.mjs +0 -133
  385. package/schematics/ng-update/devkit-migration.mjs +0 -20
  386. package/schematics/ng-update/find-stylesheets.mjs +0 -41
  387. package/schematics/ng-update/html-parsing/angular.mjs +0 -51
  388. package/schematics/ng-update/html-parsing/elements.mjs +0 -62
  389. package/schematics/ng-update/index.mjs +0 -29
  390. package/schematics/ng-update/migrations/attribute-selectors.mjs +0 -68
  391. package/schematics/ng-update/migrations/class-inheritance.mjs +0 -55
  392. package/schematics/ng-update/migrations/class-names.mjs +0 -88
  393. package/schematics/ng-update/migrations/constructor-signature.mjs +0 -136
  394. package/schematics/ng-update/migrations/css-selectors.mjs +0 -72
  395. package/schematics/ng-update/migrations/css-tokens.mjs +0 -80
  396. package/schematics/ng-update/migrations/element-selectors.mjs +0 -63
  397. package/schematics/ng-update/migrations/input-names.mjs +0 -56
  398. package/schematics/ng-update/migrations/method-call-arguments.mjs +0 -59
  399. package/schematics/ng-update/migrations/misc-template.mjs +0 -22
  400. package/schematics/ng-update/migrations/output-names.mjs +0 -43
  401. package/schematics/ng-update/migrations/property-names.mjs +0 -57
  402. package/schematics/ng-update/migrations/symbol-removal.mjs +0 -43
  403. package/schematics/ng-update/public-api.mjs +0 -36
  404. package/schematics/ng-update/typescript/base-types.mjs +0 -23
  405. package/schematics/ng-update/typescript/imports.mjs +0 -53
  406. package/schematics/ng-update/typescript/literal.mjs +0 -32
  407. package/schematics/ng-update/typescript/module-specifiers.mjs +0 -35
  408. package/schematics/ng-update/upgrade-data.mjs +0 -40
  409. package/schematics/paths.mjs +0 -16
  410. package/schematics/schematics.externs.js +0 -0
  411. package/schematics/tsconfig.json +0 -29
  412. package/schematics/update-tool/component-resource-collector.mjs +0 -166
  413. package/schematics/update-tool/file-system.mjs +0 -18
  414. package/schematics/update-tool/index.mjs +0 -178
  415. package/schematics/update-tool/logger.mjs +0 -18
  416. package/schematics/update-tool/migration.mjs +0 -77
  417. package/schematics/update-tool/public-api.mjs +0 -33
  418. package/schematics/update-tool/target-version.mjs +0 -27
  419. package/schematics/update-tool/update-recorder.mjs +0 -10
  420. package/schematics/update-tool/update-tool.externs.js +0 -0
  421. package/schematics/update-tool/utils/decorators.mjs +0 -41
  422. package/schematics/update-tool/utils/diagnostics.mjs +0 -18
  423. package/schematics/update-tool/utils/functions.mjs +0 -20
  424. package/schematics/update-tool/utils/imports.mjs +0 -110
  425. package/schematics/update-tool/utils/line-mappings.mjs +0 -75
  426. package/schematics/update-tool/utils/parse-tsconfig.mjs +0 -45
  427. package/schematics/update-tool/utils/property-name.mjs +0 -27
  428. package/schematics/update-tool/utils/virtual-host.mjs +0 -72
  429. package/schematics/update-tool/version-changes.mjs +0 -38
  430. package/schematics/utils/ast/ng-module-imports.mjs +0 -82
  431. package/schematics/utils/ast.mjs +0 -68
  432. package/schematics/utils/build-component.mjs +0 -183
  433. package/schematics/utils/get-project.mjs +0 -28
  434. package/schematics/utils/html-manipulation.mjs +0 -91
  435. package/schematics/utils/index.mjs +0 -36
  436. package/schematics/utils/parse5-element.mjs +0 -30
  437. package/schematics/utils/project-index-file.mjs +0 -20
  438. package/schematics/utils/project-main-file.mjs +0 -25
  439. package/schematics/utils/project-style-file.mjs +0 -42
  440. package/schematics/utils/project-targets.mjs +0 -39
  441. package/schematics/utils/project-tsconfig-paths.mjs +0 -34
  442. package/schematics/utils/schematic-options.mjs +0 -77
  443. package/viewport-ruler.d-f3d3e82f.d.ts +0 -57
  444. /package/{platform.d-0a5b4792.d.ts → platform.d-B3vREl3q.d.ts} +0 -0
  445. /package/{style-loader.d-19baab84.d.ts → style-loader.d-BXZfQZTF.d.ts} +0 -0
@@ -1,25 +1,32 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, NgZone, Injectable, RendererFactory2, Component, ChangeDetectionStrategy, ViewEncapsulation, untracked, afterRender, afterNextRender, ElementRef, Injector, ANIMATION_MODULE_TYPE, EnvironmentInjector, ApplicationRef, InjectionToken, Directive, EventEmitter, TemplateRef, ViewContainerRef, booleanAttribute, Input, Output, NgModule } from '@angular/core';
3
- import { DOCUMENT, Location } from '@angular/common';
4
- import { P as Platform } from './platform-1be098b0.mjs';
5
- import { _ as _bindEventWithOptions } from './backwards-compatibility-bcbe473e.mjs';
6
- import { _ as _getEventTarget } from './shadow-dom-9f403d00.mjs';
7
- import { _ as _isTestEnvironment } from './test-environment-34eef1ee.mjs';
8
- import { _ as _CdkPrivateStyleLoader } from './style-loader-e14dc585.mjs';
9
- import { Subject, Subscription, merge } from 'rxjs';
10
- import { filter, takeUntil, takeWhile } from 'rxjs/operators';
11
- import { c as coerceCssPixelValue } from './css-pixel-value-286c9a60.mjs';
12
- import { c as coerceArray } from './array-ee3b4bab.mjs';
13
- import { S as ScrollDispatcher, V as ViewportRuler, a as ScrollingModule } from './scrolling-module-aa9eeac5.mjs';
14
- import { s as supportsScrollBehavior } from './scrolling-61955dd1.mjs';
15
- import { D as DomPortalOutlet, T as TemplatePortal, P as PortalModule } from './portal-directives-c88fea11.mjs';
16
- import { D as Directionality } from './directionality-7ea26429.mjs';
17
- import { _ as _IdGenerator } from './id-generator-fba495fb.mjs';
18
- import { e as ESCAPE } from './keycodes-107cd3e4.mjs';
19
- import { h as hasModifierKey } from './modifiers-33a5859e.mjs';
20
- import { B as BidiModule } from './bidi-module-0726b65c.mjs';
2
+ import { DOCUMENT, NgZone, inject, Injector, Injectable, RendererFactory2, Component, ChangeDetectionStrategy, ViewEncapsulation, afterNextRender, ElementRef, ApplicationRef, Renderer2, ANIMATION_MODULE_TYPE, EnvironmentInjector, InjectionToken, Directive, EventEmitter, TemplateRef, ViewContainerRef, booleanAttribute, Input, Output, NgModule } from '@angular/core';
3
+ import { Location } from '@angular/common';
4
+ import { P as Platform } from './platform-CPg0IbDW.mjs';
5
+ import { _ as _getEventTarget } from './shadow-dom-B0oHn41l.mjs';
6
+ import { _ as _isTestEnvironment } from './test-environment-CT0XxPyp.mjs';
7
+ import { _ as _CdkPrivateStyleLoader } from './style-loader-BDEAZOey.mjs';
8
+ import { Subject, Subscription } from 'rxjs';
9
+ import { c as coerceCssPixelValue } from './css-pixel-value-C_HEqLhI.mjs';
10
+ import { c as coerceArray } from './array-I1yfCXUO.mjs';
11
+ import { ViewportRuler, ScrollDispatcher, ScrollingModule } from './scrolling.mjs';
12
+ import { DomPortalOutlet, TemplatePortal, PortalModule } from './portal.mjs';
13
+ import { s as supportsScrollBehavior } from './scrolling-BkvA05C8.mjs';
14
+ import { filter, takeWhile } from 'rxjs/operators';
15
+ import { _ as _IdGenerator } from './id-generator-BwB8lolC.mjs';
16
+ import { D as Directionality } from './directionality-Ck5Uc9Se.mjs';
17
+ import { g as ESCAPE } from './keycodes-CpHkExLC.mjs';
18
+ import { hasModifierKey } from './keycodes.mjs';
19
+ import { BidiModule } from './bidi.mjs';
21
20
 
22
21
  const scrollBehaviorSupported = supportsScrollBehavior();
22
+ /**
23
+ * Creates a scroll strategy that prevents the user from scrolling while the overlay is open.
24
+ * @param injector Injector used to resolve dependencies of the scroll strategy.
25
+ * @param config Configuration options for the scroll strategy.
26
+ */
27
+ function createBlockScrollStrategy(injector) {
28
+ return new BlockScrollStrategy(injector.get(ViewportRuler), injector.get(DOCUMENT));
29
+ }
23
30
  /**
24
31
  * Strategy that will prevent the user from scrolling while the overlay is visible.
25
32
  */
@@ -87,9 +94,9 @@ class BlockScrollStrategy {
87
94
  if (html.classList.contains('cdk-global-scrollblock') || this._isEnabled) {
88
95
  return false;
89
96
  }
90
- const body = this._document.body;
97
+ const rootElement = this._document.documentElement;
91
98
  const viewport = this._viewportRuler.getViewportSize();
92
- return body.scrollHeight > viewport.height || body.scrollWidth > viewport.width;
99
+ return rootElement.scrollHeight > viewport.height || rootElement.scrollWidth > viewport.width;
93
100
  }
94
101
  }
95
102
 
@@ -100,6 +107,14 @@ function getMatScrollStrategyAlreadyAttachedError() {
100
107
  return Error(`Scroll strategy has already been attached.`);
101
108
  }
102
109
 
110
+ /**
111
+ * Creates a scroll strategy that closes the overlay when the user starts to scroll.
112
+ * @param injector Injector used to resolve dependencies of the scroll strategy.
113
+ * @param config Configuration options for the scroll strategy.
114
+ */
115
+ function createCloseScrollStrategy(injector, config) {
116
+ return new CloseScrollStrategy(injector.get(ScrollDispatcher), injector.get(NgZone), injector.get(ViewportRuler), config);
117
+ }
103
118
  /**
104
119
  * Strategy that will close the overlay as soon as the user starts scrolling.
105
120
  */
@@ -169,6 +184,10 @@ class CloseScrollStrategy {
169
184
  };
170
185
  }
171
186
 
187
+ /** Creates a scroll strategy that does nothing. */
188
+ function createNoopScrollStrategy() {
189
+ return new NoopScrollStrategy();
190
+ }
172
191
  /** Scroll strategy that doesn't do anything. */
173
192
  class NoopScrollStrategy {
174
193
  /** Does nothing, as this scroll strategy is a no-op. */
@@ -212,6 +231,14 @@ function isElementClippedByScrolling(element, scrollContainers) {
212
231
  });
213
232
  }
214
233
 
234
+ /**
235
+ * Creates a scroll strategy that updates the overlay's position when the user scrolls.
236
+ * @param injector Injector used to resolve dependencies of the scroll strategy.
237
+ * @param config Configuration options for the scroll strategy.
238
+ */
239
+ function createRepositionScrollStrategy(injector, config) {
240
+ return new RepositionScrollStrategy(injector.get(ScrollDispatcher), injector.get(ViewportRuler), injector.get(NgZone), config);
241
+ }
215
242
  /**
216
243
  * Strategy that will update the element position as the user is scrolling.
217
244
  */
@@ -276,10 +303,7 @@ class RepositionScrollStrategy {
276
303
  * behaviors. This class primarily acts as a factory for ScrollStrategy instances.
277
304
  */
278
305
  class ScrollStrategyOptions {
279
- _scrollDispatcher = inject(ScrollDispatcher);
280
- _viewportRuler = inject(ViewportRuler);
281
- _ngZone = inject(NgZone);
282
- _document = inject(DOCUMENT);
306
+ _injector = inject(Injector);
283
307
  constructor() { }
284
308
  /** Do nothing on scroll. */
285
309
  noop = () => new NoopScrollStrategy();
@@ -287,19 +311,19 @@ class ScrollStrategyOptions {
287
311
  * Close the overlay as soon as the user scrolls.
288
312
  * @param config Configuration to be used inside the scroll strategy.
289
313
  */
290
- close = (config) => new CloseScrollStrategy(this._scrollDispatcher, this._ngZone, this._viewportRuler, config);
314
+ close = (config) => createCloseScrollStrategy(this._injector, config);
291
315
  /** Block scrolling. */
292
- block = () => new BlockScrollStrategy(this._viewportRuler, this._document);
316
+ block = () => createBlockScrollStrategy(this._injector);
293
317
  /**
294
318
  * Update the overlay's position on scroll.
295
319
  * @param config Configuration to be used inside the scroll strategy.
296
320
  * Allows debouncing the reposition calls.
297
321
  */
298
- reposition = (config) => new RepositionScrollStrategy(this._scrollDispatcher, this._viewportRuler, this._ngZone, config);
299
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.1", ngImport: i0, type: ScrollStrategyOptions, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
300
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-next.1", ngImport: i0, type: ScrollStrategyOptions, providedIn: 'root' });
322
+ reposition = (config) => createRepositionScrollStrategy(this._injector, config);
323
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: ScrollStrategyOptions, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
324
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: ScrollStrategyOptions, providedIn: 'root' });
301
325
  }
302
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.1", ngImport: i0, type: ScrollStrategyOptions, decorators: [{
326
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: ScrollStrategyOptions, decorators: [{
303
327
  type: Injectable,
304
328
  args: [{ providedIn: 'root' }]
305
329
  }], ctorParameters: () => [] });
@@ -316,6 +340,8 @@ class OverlayConfig {
316
340
  hasBackdrop = false;
317
341
  /** Custom class to add to the backdrop */
318
342
  backdropClass = 'cdk-overlay-dark-backdrop';
343
+ /** Whether to disable any built-in animations. */
344
+ disableAnimations;
319
345
  /** The width of the overlay panel. If a number is provided, pixel units are assumed. */
320
346
  width;
321
347
  /** The height of the overlay panel. If a number is provided, pixel units are assumed. */
@@ -489,10 +515,10 @@ class BaseOverlayDispatcher {
489
515
  this.detach();
490
516
  }
491
517
  }
492
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.1", ngImport: i0, type: BaseOverlayDispatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
493
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-next.1", ngImport: i0, type: BaseOverlayDispatcher, providedIn: 'root' });
518
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: BaseOverlayDispatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
519
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: BaseOverlayDispatcher, providedIn: 'root' });
494
520
  }
495
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.1", ngImport: i0, type: BaseOverlayDispatcher, decorators: [{
521
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: BaseOverlayDispatcher, decorators: [{
496
522
  type: Injectable,
497
523
  args: [{ providedIn: 'root' }]
498
524
  }], ctorParameters: () => [] });
@@ -540,10 +566,10 @@ class OverlayKeyboardDispatcher extends BaseOverlayDispatcher {
540
566
  }
541
567
  }
542
568
  };
543
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.1", ngImport: i0, type: OverlayKeyboardDispatcher, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
544
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-next.1", ngImport: i0, type: OverlayKeyboardDispatcher, providedIn: 'root' });
569
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: OverlayKeyboardDispatcher, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
570
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: OverlayKeyboardDispatcher, providedIn: 'root' });
545
571
  }
546
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.1", ngImport: i0, type: OverlayKeyboardDispatcher, decorators: [{
572
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: OverlayKeyboardDispatcher, decorators: [{
547
573
  type: Injectable,
548
574
  args: [{ providedIn: 'root' }]
549
575
  }] });
@@ -573,11 +599,12 @@ class OverlayOutsideClickDispatcher extends BaseOverlayDispatcher {
573
599
  if (!this._isAttached) {
574
600
  const body = this._document.body;
575
601
  const eventOptions = { capture: true };
602
+ const renderer = this._renderer;
576
603
  this._cleanups = this._ngZone.runOutsideAngular(() => [
577
- _bindEventWithOptions(this._renderer, body, 'pointerdown', this._pointerDownListener, eventOptions),
578
- _bindEventWithOptions(this._renderer, body, 'click', this._clickListener, eventOptions),
579
- _bindEventWithOptions(this._renderer, body, 'auxclick', this._clickListener, eventOptions),
580
- _bindEventWithOptions(this._renderer, body, 'contextmenu', this._clickListener, eventOptions),
604
+ renderer.listen(body, 'pointerdown', this._pointerDownListener, eventOptions),
605
+ renderer.listen(body, 'click', this._clickListener, eventOptions),
606
+ renderer.listen(body, 'auxclick', this._clickListener, eventOptions),
607
+ renderer.listen(body, 'contextmenu', this._clickListener, eventOptions),
581
608
  ]);
582
609
  // click event is not fired on iOS. To make element "clickable" we are
583
610
  // setting the cursor to pointer
@@ -650,10 +677,10 @@ class OverlayOutsideClickDispatcher extends BaseOverlayDispatcher {
650
677
  }
651
678
  }
652
679
  };
653
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.1", ngImport: i0, type: OverlayOutsideClickDispatcher, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
654
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-next.1", ngImport: i0, type: OverlayOutsideClickDispatcher, providedIn: 'root' });
680
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: OverlayOutsideClickDispatcher, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
681
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: OverlayOutsideClickDispatcher, providedIn: 'root' });
655
682
  }
656
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.1", ngImport: i0, type: OverlayOutsideClickDispatcher, decorators: [{
683
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: OverlayOutsideClickDispatcher, decorators: [{
657
684
  type: Injectable,
658
685
  args: [{ providedIn: 'root' }]
659
686
  }] });
@@ -672,12 +699,12 @@ function containsPierceShadowDom(parent, child) {
672
699
  }
673
700
 
674
701
  class _CdkOverlayStyleLoader {
675
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.1", ngImport: i0, type: _CdkOverlayStyleLoader, deps: [], target: i0.ɵɵFactoryTarget.Component });
676
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.0-next.1", type: _CdkOverlayStyleLoader, isStandalone: true, selector: "ng-component", host: { attributes: { "cdk-overlay-style-loader": "" } }, ngImport: i0, template: '', isInline: true, styles: [".cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed}@layer cdk-overlay{.cdk-overlay-container{z-index:1000}}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute}@layer cdk-overlay{.cdk-global-overlay-wrapper{z-index:1000}}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%}@layer cdk-overlay{.cdk-overlay-pane{z-index:1000}}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);opacity:0}@layer cdk-overlay{.cdk-overlay-backdrop{z-index:1000;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors: active){.cdk-overlay-backdrop-showing{opacity:.6}}@layer cdk-overlay{.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px}@layer cdk-overlay{.cdk-overlay-connected-position-bounding-box{z-index:1000}}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
702
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: _CdkOverlayStyleLoader, deps: [], target: i0.ɵɵFactoryTarget.Component });
703
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.0-next.5", type: _CdkOverlayStyleLoader, isStandalone: true, selector: "ng-component", host: { attributes: { "cdk-overlay-style-loader": "" } }, ngImport: i0, template: '', isInline: true, styles: [".cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed}@layer cdk-overlay{.cdk-overlay-container{z-index:1000}}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute}@layer cdk-overlay{.cdk-global-overlay-wrapper{z-index:1000}}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%}@layer cdk-overlay{.cdk-overlay-pane{z-index:1000}}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);opacity:0;touch-action:manipulation}@layer cdk-overlay{.cdk-overlay-backdrop{z-index:1000;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors: active){.cdk-overlay-backdrop-showing{opacity:.6}}@layer cdk-overlay{.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px}@layer cdk-overlay{.cdk-overlay-connected-position-bounding-box{z-index:1000}}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
677
704
  }
678
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.1", ngImport: i0, type: _CdkOverlayStyleLoader, decorators: [{
705
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: _CdkOverlayStyleLoader, decorators: [{
679
706
  type: Component,
680
- args: [{ template: '', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'cdk-overlay-style-loader': '' }, styles: [".cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed}@layer cdk-overlay{.cdk-overlay-container{z-index:1000}}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute}@layer cdk-overlay{.cdk-global-overlay-wrapper{z-index:1000}}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%}@layer cdk-overlay{.cdk-overlay-pane{z-index:1000}}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);opacity:0}@layer cdk-overlay{.cdk-overlay-backdrop{z-index:1000;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors: active){.cdk-overlay-backdrop-showing{opacity:.6}}@layer cdk-overlay{.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px}@layer cdk-overlay{.cdk-overlay-connected-position-bounding-box{z-index:1000}}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}"] }]
707
+ args: [{ template: '', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'cdk-overlay-style-loader': '' }, styles: [".cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed}@layer cdk-overlay{.cdk-overlay-container{z-index:1000}}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute}@layer cdk-overlay{.cdk-global-overlay-wrapper{z-index:1000}}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%}@layer cdk-overlay{.cdk-overlay-pane{z-index:1000}}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);opacity:0;touch-action:manipulation}@layer cdk-overlay{.cdk-overlay-backdrop{z-index:1000;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors: active){.cdk-overlay-backdrop-showing{opacity:.6}}@layer cdk-overlay{.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px}@layer cdk-overlay{.cdk-overlay-connected-position-bounding-box{z-index:1000}}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}\n"] }]
681
708
  }] });
682
709
  /** Container inside which all overlays will render. */
683
710
  class OverlayContainer {
@@ -743,10 +770,10 @@ class OverlayContainer {
743
770
  _loadStyles() {
744
771
  this._styleLoader.load(_CdkOverlayStyleLoader);
745
772
  }
746
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.1", ngImport: i0, type: OverlayContainer, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
747
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-next.1", ngImport: i0, type: OverlayContainer, providedIn: 'root' });
773
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: OverlayContainer, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
774
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: OverlayContainer, providedIn: 'root' });
748
775
  }
749
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.1", ngImport: i0, type: OverlayContainer, decorators: [{
776
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: OverlayContainer, decorators: [{
750
777
  type: Injectable,
751
778
  args: [{ providedIn: 'root' }]
752
779
  }], ctorParameters: () => [] });
@@ -812,6 +839,8 @@ class OverlayRef {
812
839
  _scrollStrategy;
813
840
  _locationChanges = Subscription.EMPTY;
814
841
  _backdropRef = null;
842
+ _detachContentMutationObserver;
843
+ _detachContentAfterRenderRef;
815
844
  /**
816
845
  * Reference to the parent of the `_host` at the time it was detached. Used to restore
817
846
  * the `_host` to its original position in the DOM when it gets re-attached.
@@ -821,8 +850,6 @@ class OverlayRef {
821
850
  _keydownEvents = new Subject();
822
851
  /** Stream of mouse outside events dispatched to this overlay. */
823
852
  _outsidePointerEvents = new Subject();
824
- _renders = new Subject();
825
- _afterRenderRef;
826
853
  /** Reference to the currently-running `afterNextRender` call. */
827
854
  _afterNextRenderRef;
828
855
  constructor(_portalOutlet, _host, _pane, _config, _ngZone, _keyboardDispatcher, _document, _location, _outsideClickDispatcher, _animationsDisabled = false, _injector, _renderer) {
@@ -843,12 +870,6 @@ class OverlayRef {
843
870
  this._scrollStrategy.attach(this);
844
871
  }
845
872
  this._positionStrategy = _config.positionStrategy;
846
- // Users could open the overlay from an `effect`, in which case we need to
847
- // run the `afterRender` as `untracked`. We don't recommend that users do
848
- // this, but we also don't want to break users who are doing it.
849
- this._afterRenderRef = untracked(() => afterRender(() => {
850
- this._renders.next();
851
- }, { injector: this._injector }));
852
873
  }
853
874
  /** The overlay's HTML element */
854
875
  get overlayElement() {
@@ -911,6 +932,7 @@ class OverlayRef {
911
932
  }
912
933
  // Only emit the `attachments` event once all other setup is done.
913
934
  this._attachments.next();
935
+ this._completeDetachContent();
914
936
  // Track this overlay by the keyboard dispatcher
915
937
  this._keyboardDispatcher.add(this);
916
938
  if (this._config.disposeOnNavigation) {
@@ -959,6 +981,7 @@ class OverlayRef {
959
981
  const detachmentResult = this._portalOutlet.detach();
960
982
  // Only emit after everything is detached.
961
983
  this._detachments.next();
984
+ this._completeDetachContent();
962
985
  // Remove this overlay from keyboard dispatcher tracking.
963
986
  this._keyboardDispatcher.remove(this);
964
987
  // Keeping the host element in the DOM can cause scroll jank, because it still gets
@@ -991,8 +1014,7 @@ class OverlayRef {
991
1014
  this._detachments.next();
992
1015
  }
993
1016
  this._detachments.complete();
994
- this._afterRenderRef.destroy();
995
- this._renders.complete();
1017
+ this._completeDetachContent();
996
1018
  }
997
1019
  /** Whether the overlay has attached content. */
998
1020
  hasAttached() {
@@ -1162,32 +1184,54 @@ class OverlayRef {
1162
1184
  isAdd ? element.classList.add(...classes) : element.classList.remove(...classes);
1163
1185
  }
1164
1186
  }
1165
- /** Detaches the overlay content next time the zone stabilizes. */
1187
+ /** Detaches the overlay once the content finishes animating and is removed from the DOM. */
1166
1188
  _detachContentWhenEmpty() {
1167
- // Normally we wouldn't have to explicitly run this outside the `NgZone`, however
1168
- // if the consumer is using `zone-patch-rxjs`, the `Subscription.unsubscribe` call will
1169
- // be patched to run inside the zone, which will throw us into an infinite loop.
1170
- this._ngZone.runOutsideAngular(() => {
1171
- // We can't remove the host here immediately, because the overlay pane's content
1172
- // might still be animating. This stream helps us avoid interrupting the animation
1173
- // by waiting for the pane to become empty.
1174
- const subscription = this._renders
1175
- .pipe(takeUntil(merge(this._attachments, this._detachments)))
1176
- .subscribe(() => {
1177
- // Needs a couple of checks for the pane and host, because
1178
- // they may have been removed by the time the zone stabilizes.
1179
- if (!this._pane || !this._host || this._pane.children.length === 0) {
1180
- if (this._pane && this._config.panelClass) {
1181
- this._toggleClasses(this._pane, this._config.panelClass, false);
1182
- }
1183
- if (this._host && this._host.parentElement) {
1184
- this._previousHostParent = this._host.parentElement;
1185
- this._host.remove();
1186
- }
1187
- subscription.unsubscribe();
1188
- }
1189
+ let rethrow = false;
1190
+ // Attempt to detach on the next render.
1191
+ try {
1192
+ this._detachContentAfterRenderRef = afterNextRender(() => {
1193
+ // Rethrow if we encounter an actual error detaching.
1194
+ rethrow = true;
1195
+ this._detachContent();
1196
+ }, {
1197
+ injector: this._injector,
1189
1198
  });
1190
- });
1199
+ }
1200
+ catch (e) {
1201
+ if (rethrow) {
1202
+ throw e;
1203
+ }
1204
+ // afterNextRender throws if the EnvironmentInjector is has already been destroyed.
1205
+ // This may happen in tests that don't properly flush all async work.
1206
+ // In order to avoid breaking those tests, we just detach immediately in this case.
1207
+ this._detachContent();
1208
+ }
1209
+ // Otherwise wait until the content finishes animating out and detach.
1210
+ if (globalThis.MutationObserver && this._pane) {
1211
+ this._detachContentMutationObserver ||= new globalThis.MutationObserver(() => {
1212
+ this._detachContent();
1213
+ });
1214
+ this._detachContentMutationObserver.observe(this._pane, { childList: true });
1215
+ }
1216
+ }
1217
+ _detachContent() {
1218
+ // Needs a couple of checks for the pane and host, because
1219
+ // they may have been removed by the time the zone stabilizes.
1220
+ if (!this._pane || !this._host || this._pane.children.length === 0) {
1221
+ if (this._pane && this._config.panelClass) {
1222
+ this._toggleClasses(this._pane, this._config.panelClass, false);
1223
+ }
1224
+ if (this._host && this._host.parentElement) {
1225
+ this._previousHostParent = this._host.parentElement;
1226
+ this._host.remove();
1227
+ }
1228
+ this._completeDetachContent();
1229
+ }
1230
+ }
1231
+ _completeDetachContent() {
1232
+ this._detachContentAfterRenderRef?.destroy();
1233
+ this._detachContentAfterRenderRef = undefined;
1234
+ this._detachContentMutationObserver?.disconnect();
1191
1235
  }
1192
1236
  /** Disposes of a scroll strategy. */
1193
1237
  _disposeScrollStrategy() {
@@ -1203,6 +1247,14 @@ class OverlayRef {
1203
1247
  const boundingBoxClass = 'cdk-overlay-connected-position-bounding-box';
1204
1248
  /** Regex used to split a string on its CSS units. */
1205
1249
  const cssUnitPattern = /([A-Za-z%]+)$/;
1250
+ /**
1251
+ * Creates a flexible position strategy.
1252
+ * @param injector Injector used to resolve dependnecies for the position strategy.
1253
+ * @param origin Origin relative to which to position the overlay.
1254
+ */
1255
+ function createFlexibleConnectedPositionStrategy(injector, origin) {
1256
+ return new FlexibleConnectedPositionStrategy(origin, injector.get(ViewportRuler), injector.get(DOCUMENT), injector.get(Platform), injector.get(OverlayContainer));
1257
+ }
1206
1258
  /**
1207
1259
  * A strategy for positioning overlays. Using this strategy, an overlay is given an
1208
1260
  * implicit position relative some origin element. The relative position is defined in terms of
@@ -2224,6 +2276,15 @@ const STANDARD_DROPDOWN_ADJACENT_POSITIONS = [
2224
2276
 
2225
2277
  /** Class to be added to the overlay pane wrapper. */
2226
2278
  const wrapperClass = 'cdk-global-overlay-wrapper';
2279
+ /**
2280
+ * Creates a global position strategy.
2281
+ * @param injector Injector used to resolve dependencies for the strategy.
2282
+ */
2283
+ function createGlobalPositionStrategy(_injector) {
2284
+ // Note: `injector` is unused, but we may need it in
2285
+ // the future which would introduce a breaking change.
2286
+ return new GlobalPositionStrategy();
2287
+ }
2227
2288
  /**
2228
2289
  * A strategy for positioning overlays. Using this strategy, an overlay is given an
2229
2290
  * explicit position relative to the browser's viewport. We use flexbox, instead of
@@ -2454,32 +2515,58 @@ class GlobalPositionStrategy {
2454
2515
 
2455
2516
  /** Builder for overlay position strategy. */
2456
2517
  class OverlayPositionBuilder {
2457
- _viewportRuler = inject(ViewportRuler);
2458
- _document = inject(DOCUMENT);
2459
- _platform = inject(Platform);
2460
- _overlayContainer = inject(OverlayContainer);
2518
+ _injector = inject(Injector);
2461
2519
  constructor() { }
2462
2520
  /**
2463
2521
  * Creates a global position strategy.
2464
2522
  */
2465
2523
  global() {
2466
- return new GlobalPositionStrategy();
2524
+ return createGlobalPositionStrategy();
2467
2525
  }
2468
2526
  /**
2469
2527
  * Creates a flexible position strategy.
2470
2528
  * @param origin Origin relative to which to position the overlay.
2471
2529
  */
2472
2530
  flexibleConnectedTo(origin) {
2473
- return new FlexibleConnectedPositionStrategy(origin, this._viewportRuler, this._document, this._platform, this._overlayContainer);
2531
+ return createFlexibleConnectedPositionStrategy(this._injector, origin);
2474
2532
  }
2475
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.1", ngImport: i0, type: OverlayPositionBuilder, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2476
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-next.1", ngImport: i0, type: OverlayPositionBuilder, providedIn: 'root' });
2533
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: OverlayPositionBuilder, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2534
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: OverlayPositionBuilder, providedIn: 'root' });
2477
2535
  }
2478
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.1", ngImport: i0, type: OverlayPositionBuilder, decorators: [{
2536
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: OverlayPositionBuilder, decorators: [{
2479
2537
  type: Injectable,
2480
2538
  args: [{ providedIn: 'root' }]
2481
2539
  }], ctorParameters: () => [] });
2482
2540
 
2541
+ /**
2542
+ * Creates an overlay.
2543
+ * @param injector Injector to use when resolving the overlay's dependencies.
2544
+ * @param config Configuration applied to the overlay.
2545
+ * @returns Reference to the created overlay.
2546
+ */
2547
+ function createOverlayRef(injector, config) {
2548
+ // This is done in the overlay container as well, but we have it here
2549
+ // since it's common to mock out the overlay container in tests.
2550
+ injector.get(_CdkPrivateStyleLoader).load(_CdkOverlayStyleLoader);
2551
+ const overlayContainer = injector.get(OverlayContainer);
2552
+ const doc = injector.get(DOCUMENT);
2553
+ const idGenerator = injector.get(_IdGenerator);
2554
+ const appRef = injector.get(ApplicationRef);
2555
+ const directionality = injector.get(Directionality);
2556
+ const host = doc.createElement('div');
2557
+ const pane = doc.createElement('div');
2558
+ pane.id = idGenerator.getId('cdk-overlay-');
2559
+ pane.classList.add('cdk-overlay-pane');
2560
+ host.appendChild(pane);
2561
+ overlayContainer.getContainerElement().appendChild(host);
2562
+ const portalOutlet = new DomPortalOutlet(pane, appRef, injector);
2563
+ const overlayConfig = new OverlayConfig(config);
2564
+ const renderer = injector.get(Renderer2, null, { optional: true }) ||
2565
+ injector.get(RendererFactory2).createRenderer(null, null);
2566
+ overlayConfig.direction = overlayConfig.direction || directionality.value;
2567
+ return new OverlayRef(portalOutlet, host, pane, overlayConfig, injector.get(NgZone), injector.get(OverlayKeyboardDispatcher), doc, injector.get(Location), injector.get(OverlayOutsideClickDispatcher), config?.disableAnimations ??
2568
+ injector.get(ANIMATION_MODULE_TYPE, null, { optional: true }) === 'NoopAnimations', injector.get(EnvironmentInjector), renderer);
2569
+ }
2483
2570
  /**
2484
2571
  * Service to create Overlays. Overlays are dynamically added pieces of floating UI, meant to be
2485
2572
  * used as a low-level building block for other components. Dialogs, tooltips, menus,
@@ -2490,20 +2577,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.1",
2490
2577
  */
2491
2578
  class Overlay {
2492
2579
  scrollStrategies = inject(ScrollStrategyOptions);
2493
- _overlayContainer = inject(OverlayContainer);
2494
2580
  _positionBuilder = inject(OverlayPositionBuilder);
2495
- _keyboardDispatcher = inject(OverlayKeyboardDispatcher);
2496
2581
  _injector = inject(Injector);
2497
- _ngZone = inject(NgZone);
2498
- _document = inject(DOCUMENT);
2499
- _directionality = inject(Directionality);
2500
- _location = inject(Location);
2501
- _outsideClickDispatcher = inject(OverlayOutsideClickDispatcher);
2502
- _animationsModuleType = inject(ANIMATION_MODULE_TYPE, { optional: true });
2503
- _idGenerator = inject(_IdGenerator);
2504
- _renderer = inject(RendererFactory2).createRenderer(null, null);
2505
- _appRef;
2506
- _styleLoader = inject(_CdkPrivateStyleLoader);
2507
2582
  constructor() { }
2508
2583
  /**
2509
2584
  * Creates an overlay.
@@ -2511,15 +2586,7 @@ class Overlay {
2511
2586
  * @returns Reference to the created overlay.
2512
2587
  */
2513
2588
  create(config) {
2514
- // This is done in the overlay container as well, but we have it here
2515
- // since it's common to mock out the overlay container in tests.
2516
- this._styleLoader.load(_CdkOverlayStyleLoader);
2517
- const host = this._createHostElement();
2518
- const pane = this._createPaneElement(host);
2519
- const portalOutlet = this._createPortalOutlet(pane);
2520
- const overlayConfig = new OverlayConfig(config);
2521
- overlayConfig.direction = overlayConfig.direction || this._directionality.value;
2522
- return new OverlayRef(portalOutlet, host, pane, overlayConfig, this._ngZone, this._keyboardDispatcher, this._document, this._location, this._outsideClickDispatcher, this._animationsModuleType === 'NoopAnimations', this._injector.get(EnvironmentInjector), this._renderer);
2589
+ return createOverlayRef(this._injector, config);
2523
2590
  }
2524
2591
  /**
2525
2592
  * Gets a position builder that can be used, via fluent API,
@@ -2529,44 +2596,10 @@ class Overlay {
2529
2596
  position() {
2530
2597
  return this._positionBuilder;
2531
2598
  }
2532
- /**
2533
- * Creates the DOM element for an overlay and appends it to the overlay container.
2534
- * @returns Newly-created pane element
2535
- */
2536
- _createPaneElement(host) {
2537
- const pane = this._document.createElement('div');
2538
- pane.id = this._idGenerator.getId('cdk-overlay-');
2539
- pane.classList.add('cdk-overlay-pane');
2540
- host.appendChild(pane);
2541
- return pane;
2542
- }
2543
- /**
2544
- * Creates the host element that wraps around an overlay
2545
- * and can be used for advanced positioning.
2546
- * @returns Newly-create host element.
2547
- */
2548
- _createHostElement() {
2549
- const host = this._document.createElement('div');
2550
- this._overlayContainer.getContainerElement().appendChild(host);
2551
- return host;
2552
- }
2553
- /**
2554
- * Create a DomPortalOutlet into which the overlay content can be loaded.
2555
- * @param pane The DOM element to turn into a portal outlet.
2556
- * @returns A portal outlet for the given DOM element.
2557
- */
2558
- _createPortalOutlet(pane) {
2559
- // We have to resolve the ApplicationRef later in order to allow people
2560
- // to use overlay-based providers during app initialization.
2561
- if (!this._appRef) {
2562
- this._appRef = this._injector.get(ApplicationRef);
2563
- }
2564
- return new DomPortalOutlet(pane, this._appRef, this._injector);
2565
- }
2566
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.1", ngImport: i0, type: Overlay, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2567
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-next.1", ngImport: i0, type: Overlay, providedIn: 'root' });
2599
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: Overlay, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2600
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: Overlay, providedIn: 'root' });
2568
2601
  }
2569
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.1", ngImport: i0, type: Overlay, decorators: [{
2602
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: Overlay, decorators: [{
2570
2603
  type: Injectable,
2571
2604
  args: [{ providedIn: 'root' }]
2572
2605
  }], ctorParameters: () => [] });
@@ -2602,8 +2635,8 @@ const defaultPositionList = [
2602
2635
  const CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY = new InjectionToken('cdk-connected-overlay-scroll-strategy', {
2603
2636
  providedIn: 'root',
2604
2637
  factory: () => {
2605
- const overlay = inject(Overlay);
2606
- return () => overlay.scrollStrategies.reposition();
2638
+ const injector = inject(Injector);
2639
+ return () => createRepositionScrollStrategy(injector);
2607
2640
  },
2608
2641
  });
2609
2642
  /**
@@ -2613,10 +2646,10 @@ const CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY = new InjectionToken('cdk-connected-
2613
2646
  class CdkOverlayOrigin {
2614
2647
  elementRef = inject(ElementRef);
2615
2648
  constructor() { }
2616
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.1", ngImport: i0, type: CdkOverlayOrigin, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2617
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.0-next.1", type: CdkOverlayOrigin, isStandalone: true, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"], ngImport: i0 });
2649
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: CdkOverlayOrigin, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2650
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.0-next.5", type: CdkOverlayOrigin, isStandalone: true, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"], ngImport: i0 });
2618
2651
  }
2619
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.1", ngImport: i0, type: CdkOverlayOrigin, decorators: [{
2652
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: CdkOverlayOrigin, decorators: [{
2620
2653
  type: Directive,
2621
2654
  args: [{
2622
2655
  selector: '[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]',
@@ -2628,8 +2661,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.1",
2628
2661
  * Overlay using a FlexibleConnectedPositionStrategy.
2629
2662
  */
2630
2663
  class CdkConnectedOverlay {
2631
- _overlay = inject(Overlay);
2632
2664
  _dir = inject(Directionality, { optional: true });
2665
+ _injector = inject(Injector);
2633
2666
  _overlayRef;
2634
2667
  _templatePortal;
2635
2668
  _backdropSubscription = Subscription.EMPTY;
@@ -2766,7 +2799,7 @@ class CdkConnectedOverlay {
2766
2799
  if (!this.positions || !this.positions.length) {
2767
2800
  this.positions = defaultPositionList;
2768
2801
  }
2769
- const overlayRef = (this._overlayRef = this._overlay.create(this._buildConfig()));
2802
+ const overlayRef = (this._overlayRef = createOverlayRef(this._injector, this._buildConfig()));
2770
2803
  this._attachSubscription = overlayRef.attachments().subscribe(() => this.attach.emit());
2771
2804
  this._detachSubscription = overlayRef.detachments().subscribe(() => this.detach.emit());
2772
2805
  overlayRef.keydownEvents().subscribe((event) => {
@@ -2838,7 +2871,7 @@ class CdkConnectedOverlay {
2838
2871
  }
2839
2872
  /** Returns the position strategy of the overlay to be set on the overlay config */
2840
2873
  _createPositionStrategy() {
2841
- const strategy = this._overlay.position().flexibleConnectedTo(this._getOrigin());
2874
+ const strategy = createFlexibleConnectedPositionStrategy(this._injector, this._getOrigin());
2842
2875
  this._updatePositionStrategy(strategy);
2843
2876
  return strategy;
2844
2877
  }
@@ -2904,10 +2937,10 @@ class CdkConnectedOverlay {
2904
2937
  this._positionSubscription.unsubscribe();
2905
2938
  this.open = false;
2906
2939
  }
2907
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.1", ngImport: i0, type: CdkConnectedOverlay, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2908
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "20.0.0-next.1", type: CdkConnectedOverlay, isStandalone: true, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: { origin: ["cdkConnectedOverlayOrigin", "origin"], positions: ["cdkConnectedOverlayPositions", "positions"], positionStrategy: ["cdkConnectedOverlayPositionStrategy", "positionStrategy"], offsetX: ["cdkConnectedOverlayOffsetX", "offsetX"], offsetY: ["cdkConnectedOverlayOffsetY", "offsetY"], width: ["cdkConnectedOverlayWidth", "width"], height: ["cdkConnectedOverlayHeight", "height"], minWidth: ["cdkConnectedOverlayMinWidth", "minWidth"], minHeight: ["cdkConnectedOverlayMinHeight", "minHeight"], backdropClass: ["cdkConnectedOverlayBackdropClass", "backdropClass"], panelClass: ["cdkConnectedOverlayPanelClass", "panelClass"], viewportMargin: ["cdkConnectedOverlayViewportMargin", "viewportMargin"], scrollStrategy: ["cdkConnectedOverlayScrollStrategy", "scrollStrategy"], open: ["cdkConnectedOverlayOpen", "open"], disableClose: ["cdkConnectedOverlayDisableClose", "disableClose"], transformOriginSelector: ["cdkConnectedOverlayTransformOriginOn", "transformOriginSelector"], hasBackdrop: ["cdkConnectedOverlayHasBackdrop", "hasBackdrop", booleanAttribute], lockPosition: ["cdkConnectedOverlayLockPosition", "lockPosition", booleanAttribute], flexibleDimensions: ["cdkConnectedOverlayFlexibleDimensions", "flexibleDimensions", booleanAttribute], growAfterOpen: ["cdkConnectedOverlayGrowAfterOpen", "growAfterOpen", booleanAttribute], push: ["cdkConnectedOverlayPush", "push", booleanAttribute], disposeOnNavigation: ["cdkConnectedOverlayDisposeOnNavigation", "disposeOnNavigation", booleanAttribute] }, outputs: { backdropClick: "backdropClick", positionChange: "positionChange", attach: "attach", detach: "detach", overlayKeydown: "overlayKeydown", overlayOutsideClick: "overlayOutsideClick" }, exportAs: ["cdkConnectedOverlay"], usesOnChanges: true, ngImport: i0 });
2940
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: CdkConnectedOverlay, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2941
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "20.0.0-next.5", type: CdkConnectedOverlay, isStandalone: true, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: { origin: ["cdkConnectedOverlayOrigin", "origin"], positions: ["cdkConnectedOverlayPositions", "positions"], positionStrategy: ["cdkConnectedOverlayPositionStrategy", "positionStrategy"], offsetX: ["cdkConnectedOverlayOffsetX", "offsetX"], offsetY: ["cdkConnectedOverlayOffsetY", "offsetY"], width: ["cdkConnectedOverlayWidth", "width"], height: ["cdkConnectedOverlayHeight", "height"], minWidth: ["cdkConnectedOverlayMinWidth", "minWidth"], minHeight: ["cdkConnectedOverlayMinHeight", "minHeight"], backdropClass: ["cdkConnectedOverlayBackdropClass", "backdropClass"], panelClass: ["cdkConnectedOverlayPanelClass", "panelClass"], viewportMargin: ["cdkConnectedOverlayViewportMargin", "viewportMargin"], scrollStrategy: ["cdkConnectedOverlayScrollStrategy", "scrollStrategy"], open: ["cdkConnectedOverlayOpen", "open"], disableClose: ["cdkConnectedOverlayDisableClose", "disableClose"], transformOriginSelector: ["cdkConnectedOverlayTransformOriginOn", "transformOriginSelector"], hasBackdrop: ["cdkConnectedOverlayHasBackdrop", "hasBackdrop", booleanAttribute], lockPosition: ["cdkConnectedOverlayLockPosition", "lockPosition", booleanAttribute], flexibleDimensions: ["cdkConnectedOverlayFlexibleDimensions", "flexibleDimensions", booleanAttribute], growAfterOpen: ["cdkConnectedOverlayGrowAfterOpen", "growAfterOpen", booleanAttribute], push: ["cdkConnectedOverlayPush", "push", booleanAttribute], disposeOnNavigation: ["cdkConnectedOverlayDisposeOnNavigation", "disposeOnNavigation", booleanAttribute] }, outputs: { backdropClick: "backdropClick", positionChange: "positionChange", attach: "attach", detach: "detach", overlayKeydown: "overlayKeydown", overlayOutsideClick: "overlayOutsideClick" }, exportAs: ["cdkConnectedOverlay"], usesOnChanges: true, ngImport: i0 });
2909
2942
  }
2910
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.1", ngImport: i0, type: CdkConnectedOverlay, decorators: [{
2943
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: CdkConnectedOverlay, decorators: [{
2911
2944
  type: Directive,
2912
2945
  args: [{
2913
2946
  selector: '[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]',
@@ -2998,7 +3031,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.1",
2998
3031
  * @breaking-change 21.0.0
2999
3032
  */
3000
3033
  function CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay) {
3001
- return () => overlay.scrollStrategies.reposition();
3034
+ const injector = inject(Injector);
3035
+ return () => createRepositionScrollStrategy(injector);
3002
3036
  }
3003
3037
  /**
3004
3038
  * @docs-private
@@ -3007,16 +3041,15 @@ function CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay) {
3007
3041
  */
3008
3042
  const CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER = {
3009
3043
  provide: CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY,
3010
- deps: [Overlay],
3011
3044
  useFactory: CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY,
3012
3045
  };
3013
3046
 
3014
3047
  class OverlayModule {
3015
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.1", ngImport: i0, type: OverlayModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3016
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.0-next.1", ngImport: i0, type: OverlayModule, imports: [BidiModule, PortalModule, ScrollingModule, CdkConnectedOverlay, CdkOverlayOrigin], exports: [CdkConnectedOverlay, CdkOverlayOrigin, ScrollingModule] });
3017
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.0-next.1", ngImport: i0, type: OverlayModule, providers: [Overlay, CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER], imports: [BidiModule, PortalModule, ScrollingModule, ScrollingModule] });
3048
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: OverlayModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3049
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.0-next.5", ngImport: i0, type: OverlayModule, imports: [BidiModule, PortalModule, ScrollingModule, CdkConnectedOverlay, CdkOverlayOrigin], exports: [CdkConnectedOverlay, CdkOverlayOrigin, ScrollingModule] });
3050
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: OverlayModule, providers: [Overlay, CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER], imports: [BidiModule, PortalModule, ScrollingModule, ScrollingModule] });
3018
3051
  }
3019
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.1", ngImport: i0, type: OverlayModule, decorators: [{
3052
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: OverlayModule, decorators: [{
3020
3053
  type: NgModule,
3021
3054
  args: [{
3022
3055
  imports: [BidiModule, PortalModule, ScrollingModule, CdkConnectedOverlay, CdkOverlayOrigin],
@@ -3025,5 +3058,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.1",
3025
3058
  }]
3026
3059
  }] });
3027
3060
 
3028
- export { BlockScrollStrategy as B, CdkOverlayOrigin as C, FlexibleConnectedPositionStrategy as F, GlobalPositionStrategy as G, NoopScrollStrategy as N, OverlayRef as O, RepositionScrollStrategy as R, STANDARD_DROPDOWN_BELOW_POSITIONS as S, Overlay as a, OverlayContainer as b, OverlayConfig as c, OverlayModule as d, STANDARD_DROPDOWN_ADJACENT_POSITIONS as e, CdkConnectedOverlay as f, OverlayPositionBuilder as g, ConnectionPositionPair as h, ScrollingVisibility as i, ConnectedOverlayPositionChange as j, validateHorizontalPosition as k, ScrollStrategyOptions as l, CloseScrollStrategy as m, OverlayOutsideClickDispatcher as n, OverlayKeyboardDispatcher as o, validateVerticalPosition as v };
3029
- //# sourceMappingURL=overlay-module-863b82c9.mjs.map
3061
+ export { BlockScrollStrategy as B, CdkOverlayOrigin as C, FlexibleConnectedPositionStrategy as F, GlobalPositionStrategy as G, NoopScrollStrategy as N, OverlayContainer as O, RepositionScrollStrategy as R, STANDARD_DROPDOWN_ADJACENT_POSITIONS as S, Overlay as a, CdkConnectedOverlay as b, createOverlayRef as c, OverlayRef as d, OverlayPositionBuilder as e, createGlobalPositionStrategy as f, STANDARD_DROPDOWN_BELOW_POSITIONS as g, createFlexibleConnectedPositionStrategy as h, OverlayConfig as i, ConnectionPositionPair as j, ScrollingVisibility as k, ConnectedOverlayPositionChange as l, validateHorizontalPosition as m, ScrollStrategyOptions as n, createRepositionScrollStrategy as o, CloseScrollStrategy as p, createCloseScrollStrategy as q, createNoopScrollStrategy as r, createBlockScrollStrategy as s, OverlayModule as t, OverlayOutsideClickDispatcher as u, validateVerticalPosition as v, OverlayKeyboardDispatcher as w };
3062
+ //# sourceMappingURL=overlay-module-BaGhSGqO.mjs.map