@kato-lee/cdk 14.2.7 → 20.2.14

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 (735) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +8 -8
  3. package/_adev_assets/cdk_drag_drop.json +7215 -0
  4. package/_adev_assets/cdk_testing.json +7605 -0
  5. package/_adev_assets/cdk_testing_protractor.json +1747 -0
  6. package/_adev_assets/cdk_testing_selenium_webdriver.json +1801 -0
  7. package/_adev_assets/cdk_testing_testbed.json +1903 -0
  8. package/_index.scss +8 -8
  9. package/a11y/_index.scss +60 -102
  10. package/a11y/index.d.ts +550 -1212
  11. package/a11y-module.d.d.ts +314 -0
  12. package/a11y-prebuilt.css +1 -1
  13. package/accordion/index.d.ts +92 -140
  14. package/activedescendant-key-manager.d.d.ts +39 -0
  15. package/bidi/index.d.ts +21 -80
  16. package/bidi-module.d.d.ts +57 -0
  17. package/clipboard/index.d.ts +101 -115
  18. package/coercion/index.d.ts +45 -67
  19. package/coercion/private/index.d.ts +9 -0
  20. package/collections/index.d.ts +99 -374
  21. package/data-source.d.d.ts +43 -0
  22. package/dialog/index.d.ts +412 -469
  23. package/drag-drop/index.d.ts +1410 -1614
  24. package/fesm2022/a11y-module.mjs +951 -0
  25. package/fesm2022/a11y-module.mjs.map +1 -0
  26. package/fesm2022/a11y.mjs +538 -0
  27. package/fesm2022/a11y.mjs.map +1 -0
  28. package/fesm2022/accordion.mjs +216 -0
  29. package/fesm2022/accordion.mjs.map +1 -0
  30. package/fesm2022/activedescendant-key-manager.mjs +16 -0
  31. package/fesm2022/activedescendant-key-manager.mjs.map +1 -0
  32. package/fesm2022/array.mjs +6 -0
  33. package/fesm2022/array.mjs.map +1 -0
  34. package/fesm2022/bidi.mjs +78 -0
  35. package/fesm2022/bidi.mjs.map +1 -0
  36. package/fesm2022/breakpoints-observer.mjs +179 -0
  37. package/fesm2022/breakpoints-observer.mjs.map +1 -0
  38. package/fesm2022/cdk.mjs +7 -0
  39. package/fesm2022/cdk.mjs.map +1 -0
  40. package/{fesm2020 → fesm2022}/clipboard.mjs +210 -259
  41. package/fesm2022/clipboard.mjs.map +1 -0
  42. package/fesm2022/coercion/private.mjs +15 -0
  43. package/fesm2022/coercion/private.mjs.map +1 -0
  44. package/fesm2022/coercion.mjs +43 -0
  45. package/fesm2022/coercion.mjs.map +1 -0
  46. package/fesm2022/collections.mjs +8 -0
  47. package/fesm2022/collections.mjs.map +1 -0
  48. package/fesm2022/css-pixel-value.mjs +10 -0
  49. package/fesm2022/css-pixel-value.mjs.map +1 -0
  50. package/fesm2022/data-source.mjs +15 -0
  51. package/fesm2022/data-source.mjs.map +1 -0
  52. package/{fesm2020 → fesm2022}/dialog.mjs +874 -787
  53. package/fesm2022/dialog.mjs.map +1 -0
  54. package/fesm2022/directionality.mjs +77 -0
  55. package/fesm2022/directionality.mjs.map +1 -0
  56. package/fesm2022/dispose-view-repeater-strategy.mjs +44 -0
  57. package/fesm2022/dispose-view-repeater-strategy.mjs.map +1 -0
  58. package/{fesm2020 → fesm2022}/drag-drop.mjs +4477 -3808
  59. package/fesm2022/drag-drop.mjs.map +1 -0
  60. package/fesm2022/element.mjs +29 -0
  61. package/fesm2022/element.mjs.map +1 -0
  62. package/fesm2022/fake-event-detection.mjs +24 -0
  63. package/fesm2022/fake-event-detection.mjs.map +1 -0
  64. package/fesm2022/focus-key-manager.mjs +22 -0
  65. package/fesm2022/focus-key-manager.mjs.map +1 -0
  66. package/fesm2022/focus-monitor.mjs +622 -0
  67. package/fesm2022/focus-monitor.mjs.map +1 -0
  68. package/fesm2022/id-generator.mjs +37 -0
  69. package/fesm2022/id-generator.mjs.map +1 -0
  70. package/fesm2022/keycodes.mjs +15 -0
  71. package/fesm2022/keycodes.mjs.map +1 -0
  72. package/{fesm2015/keycodes.mjs → fesm2022/keycodes2.mjs} +122 -167
  73. package/fesm2022/keycodes2.mjs.map +1 -0
  74. package/fesm2022/layout.mjs +43 -0
  75. package/fesm2022/layout.mjs.map +1 -0
  76. package/fesm2022/list-key-manager.mjs +360 -0
  77. package/fesm2022/list-key-manager.mjs.map +1 -0
  78. package/fesm2022/listbox.mjs +928 -0
  79. package/fesm2022/listbox.mjs.map +1 -0
  80. package/fesm2022/menu.mjs +2001 -0
  81. package/fesm2022/menu.mjs.map +1 -0
  82. package/fesm2022/observers/private.mjs +124 -0
  83. package/fesm2022/observers/private.mjs.map +1 -0
  84. package/fesm2022/observers.mjs +210 -0
  85. package/fesm2022/observers.mjs.map +1 -0
  86. package/{fesm2020/overlay.mjs → fesm2022/overlay-module.mjs} +3062 -3145
  87. package/fesm2022/overlay-module.mjs.map +1 -0
  88. package/fesm2022/overlay.mjs +101 -0
  89. package/fesm2022/overlay.mjs.map +1 -0
  90. package/fesm2022/passive-listeners.mjs +31 -0
  91. package/fesm2022/passive-listeners.mjs.map +1 -0
  92. package/fesm2022/platform.mjs +73 -0
  93. package/fesm2022/platform.mjs.map +1 -0
  94. package/fesm2022/platform2.mjs +77 -0
  95. package/fesm2022/platform2.mjs.map +1 -0
  96. package/{fesm2020 → fesm2022}/portal.mjs +614 -689
  97. package/fesm2022/portal.mjs.map +1 -0
  98. package/fesm2022/private.mjs +19 -0
  99. package/fesm2022/private.mjs.map +1 -0
  100. package/fesm2022/recycle-view-repeater-strategy.mjs +156 -0
  101. package/fesm2022/recycle-view-repeater-strategy.mjs.map +1 -0
  102. package/{fesm2015 → fesm2022}/scrolling.mjs +1472 -1558
  103. package/fesm2022/scrolling.mjs.map +1 -0
  104. package/fesm2022/scrolling2.mjs +99 -0
  105. package/fesm2022/scrolling2.mjs.map +1 -0
  106. package/fesm2022/selection-model.mjs +221 -0
  107. package/fesm2022/selection-model.mjs.map +1 -0
  108. package/fesm2022/shadow-dom.mjs +49 -0
  109. package/fesm2022/shadow-dom.mjs.map +1 -0
  110. package/fesm2022/stepper.mjs +632 -0
  111. package/fesm2022/stepper.mjs.map +1 -0
  112. package/fesm2022/style-loader.mjs +47 -0
  113. package/fesm2022/style-loader.mjs.map +1 -0
  114. package/{fesm2020 → fesm2022}/table.mjs +2511 -2348
  115. package/fesm2022/table.mjs.map +1 -0
  116. package/fesm2022/test-environment.mjs +19 -0
  117. package/fesm2022/test-environment.mjs.map +1 -0
  118. package/fesm2022/testing/selenium-webdriver.mjs +353 -0
  119. package/fesm2022/testing/selenium-webdriver.mjs.map +1 -0
  120. package/fesm2022/testing/testbed.mjs +782 -0
  121. package/fesm2022/testing/testbed.mjs.map +1 -0
  122. package/fesm2022/testing.mjs +950 -0
  123. package/fesm2022/testing.mjs.map +1 -0
  124. package/{fesm2020 → fesm2022}/text-field.mjs +432 -459
  125. package/fesm2022/text-field.mjs.map +1 -0
  126. package/fesm2022/tree-key-manager.mjs +360 -0
  127. package/fesm2022/tree-key-manager.mjs.map +1 -0
  128. package/fesm2022/tree.mjs +1800 -0
  129. package/fesm2022/tree.mjs.map +1 -0
  130. package/fesm2022/typeahead.mjs +88 -0
  131. package/fesm2022/typeahead.mjs.map +1 -0
  132. package/fesm2022/unique-selection-dispatcher.mjs +49 -0
  133. package/fesm2022/unique-selection-dispatcher.mjs.map +1 -0
  134. package/focus-key-manager.d.d.ts +39 -0
  135. package/focus-monitor.d.d.ts +208 -0
  136. package/harness-environment.d.d.ts +944 -0
  137. package/index.d.ts +6 -6
  138. package/keycodes/index.d.ts +129 -249
  139. package/layout/index.d.ts +89 -90
  140. package/list-key-manager.d.d.ts +170 -0
  141. package/listbox/index.d.ts +354 -419
  142. package/menu/index.d.ts +834 -1013
  143. package/number-property.d.d.ts +16 -0
  144. package/observers/index.d.ts +84 -109
  145. package/observers/private/index.d.ts +34 -0
  146. package/overlay/_index-deprecated.scss +13 -13
  147. package/overlay/_index.scss +193 -152
  148. package/overlay/index.d.ts +328 -1343
  149. package/overlay-module.d.d.ts +801 -0
  150. package/overlay-prebuilt.css +1 -1
  151. package/package.json +177 -232
  152. package/platform/index.d.ts +67 -106
  153. package/platform.d.d.ts +33 -0
  154. package/portal/index.d.ts +51 -328
  155. package/portal-directives.d.d.ts +211 -0
  156. package/private/index.d.ts +13 -0
  157. package/schematics/collection.json +18 -0
  158. package/schematics/index.d.ts +14 -0
  159. package/schematics/index.js +37 -0
  160. package/schematics/index.js.map +1 -0
  161. package/schematics/migration.json +15 -0
  162. package/schematics/ng-add/index.d.ts +17 -0
  163. package/schematics/ng-add/index.js +31 -0
  164. package/schematics/ng-add/index.js.map +1 -0
  165. package/schematics/ng-add/schema.d.ts +11 -0
  166. package/schematics/ng-add/schema.js +10 -0
  167. package/schematics/ng-add/schema.js.map +1 -0
  168. package/schematics/ng-add/schema.json +16 -0
  169. package/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.__style__.template +53 -0
  170. package/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +21 -0
  171. package/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +25 -0
  172. package/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +45 -0
  173. package/schematics/ng-generate/drag-drop/index.d.ts +11 -0
  174. package/schematics/ng-generate/drag-drop/index.js +42 -0
  175. package/schematics/ng-generate/drag-drop/index.js.map +1 -0
  176. package/schematics/ng-generate/drag-drop/schema.d.ts +10 -0
  177. package/schematics/ng-generate/drag-drop/schema.js +10 -0
  178. package/schematics/ng-generate/drag-drop/schema.js.map +1 -0
  179. package/schematics/ng-generate/drag-drop/schema.json +100 -0
  180. package/schematics/ng-update/data/attribute-selectors.d.ts +15 -0
  181. package/schematics/ng-update/data/attribute-selectors.js +12 -0
  182. package/schematics/ng-update/data/attribute-selectors.js.map +1 -0
  183. package/schematics/ng-update/data/class-names.d.ts +15 -0
  184. package/schematics/ng-update/data/class-names.js +12 -0
  185. package/schematics/ng-update/data/class-names.js.map +1 -0
  186. package/schematics/ng-update/data/constructor-checks.d.ts +15 -0
  187. package/schematics/ng-update/data/constructor-checks.js +17 -0
  188. package/schematics/ng-update/data/constructor-checks.js.map +1 -0
  189. package/schematics/ng-update/data/css-selectors.d.ts +27 -0
  190. package/schematics/ng-update/data/css-selectors.js +12 -0
  191. package/schematics/ng-update/data/css-selectors.js.map +1 -0
  192. package/schematics/ng-update/data/css-tokens.d.ts +27 -0
  193. package/schematics/ng-update/data/css-tokens.js +12 -0
  194. package/schematics/ng-update/data/css-tokens.js.map +1 -0
  195. package/schematics/ng-update/data/element-selectors.d.ts +15 -0
  196. package/schematics/ng-update/data/element-selectors.js +12 -0
  197. package/schematics/ng-update/data/element-selectors.js.map +1 -0
  198. package/schematics/ng-update/data/index.d.ts +18 -0
  199. package/schematics/ng-update/data/index.js +35 -0
  200. package/schematics/ng-update/data/index.js.map +1 -0
  201. package/schematics/ng-update/data/input-names.d.ts +22 -0
  202. package/schematics/ng-update/data/input-names.js +12 -0
  203. package/schematics/ng-update/data/input-names.js.map +1 -0
  204. package/schematics/ng-update/data/method-call-checks.d.ts +17 -0
  205. package/schematics/ng-update/data/method-call-checks.js +12 -0
  206. package/schematics/ng-update/data/method-call-checks.js.map +1 -0
  207. package/schematics/ng-update/data/output-names.d.ts +22 -0
  208. package/schematics/ng-update/data/output-names.js +12 -0
  209. package/schematics/ng-update/data/output-names.js.map +1 -0
  210. package/schematics/ng-update/data/property-names.d.ts +20 -0
  211. package/schematics/ng-update/data/property-names.js +12 -0
  212. package/schematics/ng-update/data/property-names.js.map +1 -0
  213. package/schematics/ng-update/data/symbol-removal.d.ts +17 -0
  214. package/schematics/ng-update/data/symbol-removal.js +12 -0
  215. package/schematics/ng-update/data/symbol-removal.js.map +1 -0
  216. package/schematics/ng-update/devkit-file-system.d.ts +30 -0
  217. package/schematics/ng-update/devkit-file-system.js +83 -0
  218. package/schematics/ng-update/devkit-file-system.js.map +1 -0
  219. package/schematics/ng-update/devkit-migration-rule.d.ts +24 -0
  220. package/schematics/ng-update/devkit-migration-rule.js +142 -0
  221. package/schematics/ng-update/devkit-migration-rule.js.map +1 -0
  222. package/schematics/ng-update/devkit-migration.d.ts +35 -0
  223. package/schematics/ng-update/devkit-migration.js +20 -0
  224. package/schematics/ng-update/devkit-migration.js.map +1 -0
  225. package/schematics/ng-update/find-stylesheets.d.ts +16 -0
  226. package/schematics/ng-update/find-stylesheets.js +41 -0
  227. package/schematics/ng-update/find-stylesheets.js.map +1 -0
  228. package/schematics/ng-update/html-parsing/angular.d.ts +15 -0
  229. package/schematics/ng-update/html-parsing/angular.js +51 -0
  230. package/schematics/ng-update/html-parsing/angular.js.map +1 -0
  231. package/schematics/ng-update/html-parsing/elements.d.ts +24 -0
  232. package/schematics/ng-update/html-parsing/elements.js +63 -0
  233. package/schematics/ng-update/html-parsing/elements.js.map +1 -0
  234. package/schematics/ng-update/index.d.ts +10 -0
  235. package/schematics/ng-update/index.js +29 -0
  236. package/schematics/ng-update/index.js.map +1 -0
  237. package/schematics/ng-update/migrations/attribute-selectors.d.ts +26 -0
  238. package/schematics/ng-update/migrations/attribute-selectors.js +71 -0
  239. package/schematics/ng-update/migrations/attribute-selectors.js.map +1 -0
  240. package/schematics/ng-update/migrations/class-inheritance.d.ts +26 -0
  241. package/schematics/ng-update/migrations/class-inheritance.js +58 -0
  242. package/schematics/ng-update/migrations/class-inheritance.js.map +1 -0
  243. package/schematics/ng-update/migrations/class-names.d.ts +32 -0
  244. package/schematics/ng-update/migrations/class-names.js +91 -0
  245. package/schematics/ng-update/migrations/class-names.js.map +1 -0
  246. package/schematics/ng-update/migrations/constructor-signature.d.ts +29 -0
  247. package/schematics/ng-update/migrations/constructor-signature.js +139 -0
  248. package/schematics/ng-update/migrations/constructor-signature.js.map +1 -0
  249. package/schematics/ng-update/migrations/css-selectors.d.ts +26 -0
  250. package/schematics/ng-update/migrations/css-selectors.js +75 -0
  251. package/schematics/ng-update/migrations/css-selectors.js.map +1 -0
  252. package/schematics/ng-update/migrations/css-tokens.d.ts +26 -0
  253. package/schematics/ng-update/migrations/css-tokens.js +83 -0
  254. package/schematics/ng-update/migrations/css-tokens.js.map +1 -0
  255. package/schematics/ng-update/migrations/element-selectors.d.ts +26 -0
  256. package/schematics/ng-update/migrations/element-selectors.js +66 -0
  257. package/schematics/ng-update/migrations/element-selectors.js.map +1 -0
  258. package/schematics/ng-update/migrations/input-names.d.ts +26 -0
  259. package/schematics/ng-update/migrations/input-names.js +59 -0
  260. package/schematics/ng-update/migrations/input-names.js.map +1 -0
  261. package/schematics/ng-update/migrations/method-call-arguments.d.ts +22 -0
  262. package/schematics/ng-update/migrations/method-call-arguments.js +62 -0
  263. package/schematics/ng-update/migrations/method-call-arguments.js.map +1 -0
  264. package/schematics/ng-update/migrations/misc-template.d.ts +18 -0
  265. package/schematics/ng-update/migrations/misc-template.js +25 -0
  266. package/schematics/ng-update/migrations/misc-template.js.map +1 -0
  267. package/schematics/ng-update/migrations/output-names.d.ts +22 -0
  268. package/schematics/ng-update/migrations/output-names.js +46 -0
  269. package/schematics/ng-update/migrations/output-names.js.map +1 -0
  270. package/schematics/ng-update/migrations/property-names.d.ts +22 -0
  271. package/schematics/ng-update/migrations/property-names.js +60 -0
  272. package/schematics/ng-update/migrations/property-names.js.map +1 -0
  273. package/schematics/ng-update/migrations/symbol-removal.d.ts +18 -0
  274. package/schematics/ng-update/migrations/symbol-removal.js +47 -0
  275. package/schematics/ng-update/migrations/symbol-removal.js.map +1 -0
  276. package/schematics/ng-update/public-api.d.ts +19 -0
  277. package/schematics/ng-update/public-api.js +36 -0
  278. package/schematics/ng-update/public-api.js.map +1 -0
  279. package/schematics/ng-update/typescript/base-types.d.ts +10 -0
  280. package/schematics/ng-update/typescript/base-types.js +23 -0
  281. package/schematics/ng-update/typescript/base-types.js.map +1 -0
  282. package/schematics/ng-update/typescript/imports.d.ts +18 -0
  283. package/schematics/ng-update/typescript/imports.js +53 -0
  284. package/schematics/ng-update/typescript/imports.js.map +1 -0
  285. package/schematics/ng-update/typescript/literal.d.ts +18 -0
  286. package/schematics/ng-update/typescript/literal.js +32 -0
  287. package/schematics/ng-update/typescript/literal.js.map +1 -0
  288. package/schematics/ng-update/typescript/module-specifiers.d.ts +16 -0
  289. package/schematics/ng-update/typescript/module-specifiers.js +35 -0
  290. package/schematics/ng-update/typescript/module-specifiers.js.map +1 -0
  291. package/schematics/ng-update/upgrade-data.d.ts +35 -0
  292. package/schematics/ng-update/upgrade-data.js +40 -0
  293. package/schematics/ng-update/upgrade-data.js.map +1 -0
  294. package/schematics/package.json +3 -0
  295. package/schematics/paths.d.ts +11 -0
  296. package/schematics/paths.js +16 -0
  297. package/schematics/paths.js.map +1 -0
  298. package/schematics/update-tool/component-resource-collector.d.ts +44 -0
  299. package/schematics/update-tool/component-resource-collector.js +164 -0
  300. package/schematics/update-tool/component-resource-collector.js.map +1 -0
  301. package/schematics/update-tool/file-system.d.ts +72 -0
  302. package/schematics/update-tool/file-system.js +18 -0
  303. package/schematics/update-tool/file-system.js.map +1 -0
  304. package/schematics/update-tool/index.d.ts +74 -0
  305. package/schematics/update-tool/index.js +172 -0
  306. package/schematics/update-tool/index.js.map +1 -0
  307. package/schematics/update-tool/logger.d.ts +15 -0
  308. package/schematics/update-tool/logger.js +18 -0
  309. package/schematics/update-tool/logger.js.map +1 -0
  310. package/schematics/update-tool/migration.d.ts +87 -0
  311. package/schematics/update-tool/migration.js +70 -0
  312. package/schematics/update-tool/migration.js.map +1 -0
  313. package/schematics/update-tool/public-api.d.ts +16 -0
  314. package/schematics/update-tool/public-api.js +33 -0
  315. package/schematics/update-tool/public-api.js.map +1 -0
  316. package/schematics/update-tool/target-version.d.ts +16 -0
  317. package/schematics/update-tool/target-version.js +27 -0
  318. package/schematics/update-tool/target-version.js.map +1 -0
  319. package/schematics/update-tool/update-recorder.d.ts +13 -0
  320. package/schematics/update-tool/update-recorder.js +10 -0
  321. package/schematics/update-tool/update-recorder.js.map +1 -0
  322. package/schematics/update-tool/utils/decorators.d.ts +22 -0
  323. package/schematics/update-tool/utils/decorators.js +41 -0
  324. package/schematics/update-tool/utils/decorators.js.map +1 -0
  325. package/schematics/update-tool/utils/diagnostics.d.ts +11 -0
  326. package/schematics/update-tool/utils/diagnostics.js +18 -0
  327. package/schematics/update-tool/utils/diagnostics.js.map +1 -0
  328. package/schematics/update-tool/utils/functions.d.ts +14 -0
  329. package/schematics/update-tool/utils/functions.js +20 -0
  330. package/schematics/update-tool/utils/functions.js.map +1 -0
  331. package/schematics/update-tool/utils/imports.d.ts +17 -0
  332. package/schematics/update-tool/utils/imports.js +110 -0
  333. package/schematics/update-tool/utils/imports.js.map +1 -0
  334. package/schematics/update-tool/utils/line-mappings.d.ts +21 -0
  335. package/schematics/update-tool/utils/line-mappings.js +75 -0
  336. package/schematics/update-tool/utils/line-mappings.js.map +1 -0
  337. package/schematics/update-tool/utils/parse-tsconfig.d.ts +18 -0
  338. package/schematics/update-tool/utils/parse-tsconfig.js +45 -0
  339. package/schematics/update-tool/utils/parse-tsconfig.js.map +1 -0
  340. package/schematics/update-tool/utils/property-name.d.ts +18 -0
  341. package/schematics/update-tool/utils/property-name.js +27 -0
  342. package/schematics/update-tool/utils/property-name.js.map +1 -0
  343. package/schematics/update-tool/utils/virtual-host.d.ts +36 -0
  344. package/schematics/update-tool/utils/virtual-host.js +71 -0
  345. package/schematics/update-tool/utils/virtual-host.js.map +1 -0
  346. package/schematics/update-tool/version-changes.d.ts +32 -0
  347. package/schematics/update-tool/version-changes.js +38 -0
  348. package/schematics/update-tool/version-changes.js.map +1 -0
  349. package/schematics/utils/ast/ng-module-imports.d.ts +12 -0
  350. package/schematics/utils/ast/ng-module-imports.js +82 -0
  351. package/schematics/utils/ast/ng-module-imports.js.map +1 -0
  352. package/schematics/utils/ast.d.ts +25 -0
  353. package/schematics/utils/ast.js +79 -0
  354. package/schematics/utils/ast.js.map +1 -0
  355. package/schematics/utils/build-component.d.ts +20 -0
  356. package/schematics/utils/build-component.js +189 -0
  357. package/schematics/utils/build-component.js.map +1 -0
  358. package/schematics/utils/get-project.d.ts +13 -0
  359. package/schematics/utils/get-project.js +28 -0
  360. package/schematics/utils/get-project.js.map +1 -0
  361. package/schematics/utils/html-manipulation.d.ts +15 -0
  362. package/schematics/utils/html-manipulation.js +91 -0
  363. package/schematics/utils/html-manipulation.js.map +1 -0
  364. package/schematics/utils/index.d.ts +19 -0
  365. package/schematics/utils/index.js +36 -0
  366. package/schematics/utils/index.js.map +1 -0
  367. package/schematics/utils/parse5-element.d.ts +12 -0
  368. package/schematics/utils/parse5-element.js +30 -0
  369. package/schematics/utils/parse5-element.js.map +1 -0
  370. package/schematics/utils/project-index-file.d.ts +13 -0
  371. package/schematics/utils/project-index-file.js +43 -0
  372. package/schematics/utils/project-index-file.js.map +1 -0
  373. package/schematics/utils/project-main-file.d.ts +11 -0
  374. package/schematics/utils/project-main-file.js +25 -0
  375. package/schematics/utils/project-main-file.js.map +1 -0
  376. package/schematics/utils/project-style-file.d.ts +13 -0
  377. package/schematics/utils/project-style-file.js +42 -0
  378. package/schematics/utils/project-style-file.js.map +1 -0
  379. package/schematics/utils/project-targets.d.ts +15 -0
  380. package/schematics/utils/project-targets.js +46 -0
  381. package/schematics/utils/project-targets.js.map +1 -0
  382. package/schematics/utils/project-tsconfig-paths.d.ts +14 -0
  383. package/schematics/utils/project-tsconfig-paths.js +46 -0
  384. package/schematics/utils/project-tsconfig-paths.js.map +1 -0
  385. package/schematics/utils/schematic-options.d.ts +20 -0
  386. package/schematics/utils/schematic-options.js +89 -0
  387. package/schematics/utils/schematic-options.js.map +1 -0
  388. package/scrolling/index.d.ts +62 -849
  389. package/scrolling-module.d.d.ts +551 -0
  390. package/selection-model.d.d.ts +112 -0
  391. package/stepper/index.d.ts +236 -419
  392. package/style-loader.d.d.ts +21 -0
  393. package/table/index.d.ts +901 -1483
  394. package/testing/index.d.ts +98 -0
  395. package/testing/selenium-webdriver/index.d.ts +150 -0
  396. package/testing/testbed/index.d.ts +157 -0
  397. package/text-field/_index.scss +89 -89
  398. package/text-field/index.d.ts +154 -203
  399. package/text-field-prebuilt.css +1 -1
  400. package/tree/index.d.ts +720 -593
  401. package/tree-key-manager-strategy.d.d.ts +116 -0
  402. package/unique-selection-dispatcher.d.d.ts +33 -0
  403. package/view-repeater.d.d.ts +88 -0
  404. package/a11y/_index.import.scss +0 -2
  405. package/esm2020/a11y/a11y-module.mjs +0 -32
  406. package/esm2020/a11y/a11y_public_index.mjs +0 -5
  407. package/esm2020/a11y/aria-describer/aria-describer.mjs +0 -232
  408. package/esm2020/a11y/aria-describer/aria-reference.mjs +0 -44
  409. package/esm2020/a11y/fake-event-detection.mjs +0 -31
  410. package/esm2020/a11y/focus-monitor/focus-monitor.mjs +0 -451
  411. package/esm2020/a11y/focus-trap/configurable-focus-trap-config.mjs +0 -9
  412. package/esm2020/a11y/focus-trap/configurable-focus-trap-factory.mjs +0 -53
  413. package/esm2020/a11y/focus-trap/configurable-focus-trap.mjs +0 -51
  414. package/esm2020/a11y/focus-trap/event-listener-inert-strategy.mjs +0 -61
  415. package/esm2020/a11y/focus-trap/focus-trap-inert-strategy.mjs +0 -11
  416. package/esm2020/a11y/focus-trap/focus-trap-manager.mjs +0 -53
  417. package/esm2020/a11y/focus-trap/focus-trap.mjs +0 -402
  418. package/esm2020/a11y/high-contrast-mode/high-contrast-mode-detector.mjs +0 -109
  419. package/esm2020/a11y/index.mjs +0 -9
  420. package/esm2020/a11y/input-modality/input-modality-detector.mjs +0 -176
  421. package/esm2020/a11y/interactivity-checker/interactivity-checker.mjs +0 -238
  422. package/esm2020/a11y/key-manager/activedescendant-key-manager.mjs +0 -20
  423. package/esm2020/a11y/key-manager/focus-key-manager.mjs +0 -29
  424. package/esm2020/a11y/key-manager/list-key-manager.mjs +0 -321
  425. package/esm2020/a11y/live-announcer/live-announcer-tokens.mjs +0 -19
  426. package/esm2020/a11y/live-announcer/live-announcer.mjs +0 -178
  427. package/esm2020/a11y/public-api.mjs +0 -26
  428. package/esm2020/accordion/accordion-item.mjs +0 -167
  429. package/esm2020/accordion/accordion-module.mjs +0 -24
  430. package/esm2020/accordion/accordion.mjs +0 -70
  431. package/esm2020/accordion/accordion_public_index.mjs +0 -5
  432. package/esm2020/accordion/index.mjs +0 -9
  433. package/esm2020/accordion/public-api.mjs +0 -11
  434. package/esm2020/bidi/bidi-module.mjs +0 -23
  435. package/esm2020/bidi/bidi_public_index.mjs +0 -5
  436. package/esm2020/bidi/dir-document-token.mjs +0 -33
  437. package/esm2020/bidi/dir.mjs +0 -69
  438. package/esm2020/bidi/directionality.mjs +0 -52
  439. package/esm2020/bidi/index.mjs +0 -9
  440. package/esm2020/bidi/public-api.mjs +0 -12
  441. package/esm2020/clipboard/clipboard-module.mjs +0 -23
  442. package/esm2020/clipboard/clipboard.mjs +0 -53
  443. package/esm2020/clipboard/clipboard_public_index.mjs +0 -5
  444. package/esm2020/clipboard/copy-to-clipboard.mjs +0 -99
  445. package/esm2020/clipboard/index.mjs +0 -9
  446. package/esm2020/clipboard/pending-copy.mjs +0 -69
  447. package/esm2020/clipboard/public-api.mjs +0 -12
  448. package/esm2020/coercion/array.mjs +0 -11
  449. package/esm2020/coercion/boolean-property.mjs +0 -12
  450. package/esm2020/coercion/css-pixel-value.mjs +0 -15
  451. package/esm2020/coercion/element.mjs +0 -16
  452. package/esm2020/coercion/index.mjs +0 -9
  453. package/esm2020/coercion/number-property.mjs +0 -21
  454. package/esm2020/coercion/public-api.mjs +0 -14
  455. package/esm2020/coercion/string-array.mjs +0 -38
  456. package/esm2020/collections/array-data-source.mjs +0 -21
  457. package/esm2020/collections/collection-viewer.mjs +0 -9
  458. package/esm2020/collections/collections_public_index.mjs +0 -5
  459. package/esm2020/collections/data-source.mjs +0 -19
  460. package/esm2020/collections/dispose-view-repeater-strategy.mjs +0 -47
  461. package/esm2020/collections/index.mjs +0 -9
  462. package/esm2020/collections/public-api.mjs +0 -17
  463. package/esm2020/collections/recycle-view-repeater-strategy.mjs +0 -128
  464. package/esm2020/collections/selection-model.mjs +0 -216
  465. package/esm2020/collections/tree-adapter.mjs +0 -9
  466. package/esm2020/collections/unique-selection-dispatcher.mjs +0 -55
  467. package/esm2020/collections/view-repeater.mjs +0 -14
  468. package/esm2020/dialog/dialog-config.mjs +0 -63
  469. package/esm2020/dialog/dialog-container.mjs +0 -278
  470. package/esm2020/dialog/dialog-injectors.mjs +0 -26
  471. package/esm2020/dialog/dialog-module.mjs +0 -42
  472. package/esm2020/dialog/dialog-ref.mjs +0 -76
  473. package/esm2020/dialog/dialog.mjs +0 -301
  474. package/esm2020/dialog/dialog_public_index.mjs +0 -5
  475. package/esm2020/dialog/index.mjs +0 -9
  476. package/esm2020/dialog/public-api.mjs +0 -14
  477. package/esm2020/drag-drop/directives/assertions.mjs +0 -18
  478. package/esm2020/drag-drop/directives/config.mjs +0 -14
  479. package/esm2020/drag-drop/directives/drag-handle.mjs +0 -66
  480. package/esm2020/drag-drop/directives/drag-placeholder.mjs +0 -36
  481. package/esm2020/drag-drop/directives/drag-preview.mjs +0 -47
  482. package/esm2020/drag-drop/directives/drag.mjs +0 -487
  483. package/esm2020/drag-drop/directives/drop-list-group.mjs +0 -53
  484. package/esm2020/drag-drop/directives/drop-list.mjs +0 -345
  485. package/esm2020/drag-drop/dom/client-rect.mjs +0 -64
  486. package/esm2020/drag-drop/dom/clone-node.mjs +0 -65
  487. package/esm2020/drag-drop/dom/parent-position-tracker.mjs +0 -76
  488. package/esm2020/drag-drop/dom/styling.mjs +0 -69
  489. package/esm2020/drag-drop/dom/transition-duration.mjs +0 -36
  490. package/esm2020/drag-drop/drag-drop-module.mjs +0 -57
  491. package/esm2020/drag-drop/drag-drop-registry.mjs +0 -231
  492. package/esm2020/drag-drop/drag-drop.mjs +0 -57
  493. package/esm2020/drag-drop/drag-drop_public_index.mjs +0 -5
  494. package/esm2020/drag-drop/drag-events.mjs +0 -9
  495. package/esm2020/drag-drop/drag-parent.mjs +0 -16
  496. package/esm2020/drag-drop/drag-ref.mjs +0 -1146
  497. package/esm2020/drag-drop/drag-utils.mjs +0 -60
  498. package/esm2020/drag-drop/drop-list-ref.mjs +0 -577
  499. package/esm2020/drag-drop/index.mjs +0 -9
  500. package/esm2020/drag-drop/public-api.mjs +0 -23
  501. package/esm2020/drag-drop/sorting/drop-list-sort-strategy.mjs +0 -9
  502. package/esm2020/drag-drop/sorting/single-axis-sort-strategy.mjs +0 -341
  503. package/esm2020/index.mjs +0 -9
  504. package/esm2020/keycodes/index.mjs +0 -9
  505. package/esm2020/keycodes/keycodes.mjs +0 -127
  506. package/esm2020/keycodes/keycodes_public_index.mjs +0 -5
  507. package/esm2020/keycodes/modifiers.mjs +0 -18
  508. package/esm2020/keycodes/public-api.mjs +0 -10
  509. package/esm2020/layout/breakpoints-observer.mjs +0 -105
  510. package/esm2020/layout/breakpoints.mjs +0 -29
  511. package/esm2020/layout/index.mjs +0 -9
  512. package/esm2020/layout/layout-module.mjs +0 -19
  513. package/esm2020/layout/layout_public_index.mjs +0 -5
  514. package/esm2020/layout/media-matcher.mjs +0 -85
  515. package/esm2020/layout/public-api.mjs +0 -12
  516. package/esm2020/listbox/index.mjs +0 -9
  517. package/esm2020/listbox/listbox-module.mjs +0 -24
  518. package/esm2020/listbox/listbox.mjs +0 -872
  519. package/esm2020/listbox/listbox_public_index.mjs +0 -5
  520. package/esm2020/listbox/public-api.mjs +0 -10
  521. package/esm2020/menu/context-menu-trigger.mjs +0 -212
  522. package/esm2020/menu/index.mjs +0 -9
  523. package/esm2020/menu/menu-aim.mjs +0 -203
  524. package/esm2020/menu/menu-bar.mjs +0 -133
  525. package/esm2020/menu/menu-base.mjs +0 -187
  526. package/esm2020/menu/menu-errors.mjs +0 -22
  527. package/esm2020/menu/menu-group.mjs +0 -30
  528. package/esm2020/menu/menu-interface.mjs +0 -11
  529. package/esm2020/menu/menu-item-checkbox.mjs +0 -49
  530. package/esm2020/menu/menu-item-radio.mjs +0 -71
  531. package/esm2020/menu/menu-item-selectable.mjs +0 -42
  532. package/esm2020/menu/menu-item.mjs +0 -267
  533. package/esm2020/menu/menu-module.mjs +0 -62
  534. package/esm2020/menu/menu-stack.mjs +0 -156
  535. package/esm2020/menu/menu-trigger-base.mjs +0 -107
  536. package/esm2020/menu/menu-trigger.mjs +0 -291
  537. package/esm2020/menu/menu.mjs +0 -134
  538. package/esm2020/menu/menu_public_index.mjs +0 -5
  539. package/esm2020/menu/pointer-focus-tracker.mjs +0 -51
  540. package/esm2020/menu/public-api.mjs +0 -24
  541. package/esm2020/observers/index.mjs +0 -9
  542. package/esm2020/observers/observe-content.mjs +0 -187
  543. package/esm2020/observers/observers_public_index.mjs +0 -5
  544. package/esm2020/observers/public-api.mjs +0 -9
  545. package/esm2020/overlay/dispatchers/base-overlay-dispatcher.mjs +0 -52
  546. package/esm2020/overlay/dispatchers/index.mjs +0 -10
  547. package/esm2020/overlay/dispatchers/overlay-keyboard-dispatcher.mjs +0 -81
  548. package/esm2020/overlay/dispatchers/overlay-outside-click-dispatcher.mjs +0 -138
  549. package/esm2020/overlay/fullscreen-overlay-container.mjs +0 -94
  550. package/esm2020/overlay/index.mjs +0 -9
  551. package/esm2020/overlay/overlay-config.mjs +0 -45
  552. package/esm2020/overlay/overlay-container.mjs +0 -81
  553. package/esm2020/overlay/overlay-directives.mjs +0 -427
  554. package/esm2020/overlay/overlay-module.mjs +0 -29
  555. package/esm2020/overlay/overlay-ref.mjs +0 -427
  556. package/esm2020/overlay/overlay-reference.mjs +0 -9
  557. package/esm2020/overlay/overlay.mjs +0 -125
  558. package/esm2020/overlay/overlay_public_index.mjs +0 -5
  559. package/esm2020/overlay/position/connected-position.mjs +0 -88
  560. package/esm2020/overlay/position/flexible-connected-position-strategy.mjs +0 -985
  561. package/esm2020/overlay/position/global-position-strategy.mjs +0 -237
  562. package/esm2020/overlay/position/overlay-position-builder.mjs +0 -50
  563. package/esm2020/overlay/position/position-strategy.mjs +0 -9
  564. package/esm2020/overlay/position/scroll-clip.mjs +0 -40
  565. package/esm2020/overlay/public-api.mjs +0 -22
  566. package/esm2020/overlay/scroll/block-scroll-strategy.mjs +0 -80
  567. package/esm2020/overlay/scroll/close-scroll-strategy.mjs +0 -61
  568. package/esm2020/overlay/scroll/index.mjs +0 -14
  569. package/esm2020/overlay/scroll/noop-scroll-strategy.mjs +0 -17
  570. package/esm2020/overlay/scroll/reposition-scroll-strategy.mjs +0 -61
  571. package/esm2020/overlay/scroll/scroll-strategy-options.mjs +0 -55
  572. package/esm2020/overlay/scroll/scroll-strategy.mjs +0 -14
  573. package/esm2020/platform/features/input-types.mjs +0 -59
  574. package/esm2020/platform/features/passive-listeners.mjs +0 -36
  575. package/esm2020/platform/features/scrolling.mjs +0 -85
  576. package/esm2020/platform/features/shadow-dom.mjs +0 -54
  577. package/esm2020/platform/features/test-environment.mjs +0 -24
  578. package/esm2020/platform/index.mjs +0 -9
  579. package/esm2020/platform/platform-module.mjs +0 -19
  580. package/esm2020/platform/platform.mjs +0 -85
  581. package/esm2020/platform/platform_public_index.mjs +0 -5
  582. package/esm2020/platform/public-api.mjs +0 -15
  583. package/esm2020/portal/dom-portal-outlet.mjs +0 -158
  584. package/esm2020/portal/index.mjs +0 -9
  585. package/esm2020/portal/portal-directives.mjs +0 -246
  586. package/esm2020/portal/portal-errors.mjs +0 -51
  587. package/esm2020/portal/portal-injector.mjs +0 -28
  588. package/esm2020/portal/portal.mjs +0 -188
  589. package/esm2020/portal/portal_public_index.mjs +0 -5
  590. package/esm2020/portal/public-api.mjs +0 -12
  591. package/esm2020/public-api.mjs +0 -9
  592. package/esm2020/scrolling/fixed-size-virtual-scroll.mjs +0 -217
  593. package/esm2020/scrolling/index.mjs +0 -9
  594. package/esm2020/scrolling/public-api.mjs +0 -20
  595. package/esm2020/scrolling/scroll-dispatcher.mjs +0 -163
  596. package/esm2020/scrolling/scrollable.mjs +0 -176
  597. package/esm2020/scrolling/scrolling-module.mjs +0 -67
  598. package/esm2020/scrolling/scrolling_public_index.mjs +0 -5
  599. package/esm2020/scrolling/viewport-ruler.mjs +0 -146
  600. package/esm2020/scrolling/virtual-for-of.mjs +0 -298
  601. package/esm2020/scrolling/virtual-scroll-repeater.mjs +0 -9
  602. package/esm2020/scrolling/virtual-scroll-strategy.mjs +0 -11
  603. package/esm2020/scrolling/virtual-scroll-viewport.mjs +0 -437
  604. package/esm2020/scrolling/virtual-scrollable-element.mjs +0 -41
  605. package/esm2020/scrolling/virtual-scrollable-window.mjs +0 -40
  606. package/esm2020/scrolling/virtual-scrollable.mjs +0 -40
  607. package/esm2020/stepper/index.mjs +0 -9
  608. package/esm2020/stepper/public-api.mjs +0 -13
  609. package/esm2020/stepper/step-header.mjs +0 -30
  610. package/esm2020/stepper/step-label.mjs +0 -23
  611. package/esm2020/stepper/stepper-button.mjs +0 -56
  612. package/esm2020/stepper/stepper-module.mjs +0 -40
  613. package/esm2020/stepper/stepper.mjs +0 -458
  614. package/esm2020/stepper/stepper_public_index.mjs +0 -5
  615. package/esm2020/table/can-stick.mjs +0 -44
  616. package/esm2020/table/cell.mjs +0 -217
  617. package/esm2020/table/coalesced-style-scheduler.mjs +0 -91
  618. package/esm2020/table/index.mjs +0 -9
  619. package/esm2020/table/public-api.mjs +0 -20
  620. package/esm2020/table/row.mjs +0 -262
  621. package/esm2020/table/sticky-position-listener.mjs +0 -11
  622. package/esm2020/table/sticky-styler.mjs +0 -345
  623. package/esm2020/table/table-errors.mjs +0 -67
  624. package/esm2020/table/table-module.mjs +0 -94
  625. package/esm2020/table/table.mjs +0 -1065
  626. package/esm2020/table/table_public_index.mjs +0 -5
  627. package/esm2020/table/text-column.mjs +0 -153
  628. package/esm2020/table/tokens.mjs +0 -16
  629. package/esm2020/text-field/autofill.mjs +0 -113
  630. package/esm2020/text-field/autosize.mjs +0 -309
  631. package/esm2020/text-field/index.mjs +0 -9
  632. package/esm2020/text-field/public-api.mjs +0 -11
  633. package/esm2020/text-field/text-field-module.mjs +0 -24
  634. package/esm2020/text-field/text-field_public_index.mjs +0 -5
  635. package/esm2020/tree/control/base-tree-control.mjs +0 -57
  636. package/esm2020/tree/control/flat-tree-control.mjs +0 -51
  637. package/esm2020/tree/control/nested-tree-control.mjs +0 -58
  638. package/esm2020/tree/control/tree-control.mjs +0 -2
  639. package/esm2020/tree/index.mjs +0 -9
  640. package/esm2020/tree/nested-node.mjs +0 -112
  641. package/esm2020/tree/node.mjs +0 -35
  642. package/esm2020/tree/outlet.mjs +0 -39
  643. package/esm2020/tree/padding.mjs +0 -131
  644. package/esm2020/tree/public-api.mjs +0 -20
  645. package/esm2020/tree/toggle.mjs +0 -50
  646. package/esm2020/tree/tree-errors.mjs +0 -43
  647. package/esm2020/tree/tree-module.mjs +0 -49
  648. package/esm2020/tree/tree.mjs +0 -347
  649. package/esm2020/tree/tree_public_index.mjs +0 -5
  650. package/esm2020/version.mjs +0 -11
  651. package/fesm2015/a11y.mjs +0 -2473
  652. package/fesm2015/a11y.mjs.map +0 -1
  653. package/fesm2015/accordion.mjs +0 -414
  654. package/fesm2015/accordion.mjs.map +0 -1
  655. package/fesm2015/bidi.mjs +0 -194
  656. package/fesm2015/bidi.mjs.map +0 -1
  657. package/fesm2015/cdk.mjs +0 -30
  658. package/fesm2015/cdk.mjs.map +0 -1
  659. package/fesm2015/clipboard.mjs +0 -263
  660. package/fesm2015/clipboard.mjs.map +0 -1
  661. package/fesm2015/coercion.mjs +0 -132
  662. package/fesm2015/coercion.mjs.map +0 -1
  663. package/fesm2015/collections.mjs +0 -519
  664. package/fesm2015/collections.mjs.map +0 -1
  665. package/fesm2015/dialog.mjs +0 -1050
  666. package/fesm2015/dialog.mjs.map +0 -1
  667. package/fesm2015/drag-drop.mjs +0 -3812
  668. package/fesm2015/drag-drop.mjs.map +0 -1
  669. package/fesm2015/keycodes.mjs.map +0 -1
  670. package/fesm2015/layout.mjs +0 -337
  671. package/fesm2015/layout.mjs.map +0 -1
  672. package/fesm2015/listbox.mjs +0 -1200
  673. package/fesm2015/listbox.mjs.map +0 -1
  674. package/fesm2015/menu.mjs +0 -2719
  675. package/fesm2015/menu.mjs.map +0 -1
  676. package/fesm2015/observers.mjs +0 -326
  677. package/fesm2015/observers.mjs.map +0 -1
  678. package/fesm2015/overlay.mjs +0 -3137
  679. package/fesm2015/overlay.mjs.map +0 -1
  680. package/fesm2015/platform.mjs +0 -385
  681. package/fesm2015/platform.mjs.map +0 -1
  682. package/fesm2015/portal.mjs +0 -691
  683. package/fesm2015/portal.mjs.map +0 -1
  684. package/fesm2015/scrolling.mjs.map +0 -1
  685. package/fesm2015/stepper.mjs +0 -989
  686. package/fesm2015/stepper.mjs.map +0 -1
  687. package/fesm2015/table.mjs +0 -2356
  688. package/fesm2015/table.mjs.map +0 -1
  689. package/fesm2015/testing.mjs +0 -833
  690. package/fesm2015/testing.mjs.map +0 -1
  691. package/fesm2015/text-field.mjs +0 -461
  692. package/fesm2015/text-field.mjs.map +0 -1
  693. package/fesm2015/tree.mjs +0 -1303
  694. package/fesm2015/tree.mjs.map +0 -1
  695. package/fesm2020/a11y.mjs +0 -2476
  696. package/fesm2020/a11y.mjs.map +0 -1
  697. package/fesm2020/accordion.mjs +0 -414
  698. package/fesm2020/accordion.mjs.map +0 -1
  699. package/fesm2020/bidi.mjs +0 -192
  700. package/fesm2020/bidi.mjs.map +0 -1
  701. package/fesm2020/cdk.mjs +0 -30
  702. package/fesm2020/cdk.mjs.map +0 -1
  703. package/fesm2020/clipboard.mjs.map +0 -1
  704. package/fesm2020/coercion.mjs +0 -132
  705. package/fesm2020/coercion.mjs.map +0 -1
  706. package/fesm2020/collections.mjs +0 -535
  707. package/fesm2020/collections.mjs.map +0 -1
  708. package/fesm2020/dialog.mjs.map +0 -1
  709. package/fesm2020/drag-drop.mjs.map +0 -1
  710. package/fesm2020/keycodes.mjs +0 -167
  711. package/fesm2020/keycodes.mjs.map +0 -1
  712. package/fesm2020/layout.mjs +0 -337
  713. package/fesm2020/layout.mjs.map +0 -1
  714. package/fesm2020/listbox.mjs +0 -1164
  715. package/fesm2020/listbox.mjs.map +0 -1
  716. package/fesm2020/menu.mjs +0 -2615
  717. package/fesm2020/menu.mjs.map +0 -1
  718. package/fesm2020/observers.mjs +0 -325
  719. package/fesm2020/observers.mjs.map +0 -1
  720. package/fesm2020/overlay.mjs.map +0 -1
  721. package/fesm2020/platform.mjs +0 -383
  722. package/fesm2020/platform.mjs.map +0 -1
  723. package/fesm2020/portal.mjs.map +0 -1
  724. package/fesm2020/scrolling.mjs +0 -1591
  725. package/fesm2020/scrolling.mjs.map +0 -1
  726. package/fesm2020/stepper.mjs +0 -985
  727. package/fesm2020/stepper.mjs.map +0 -1
  728. package/fesm2020/table.mjs.map +0 -1
  729. package/fesm2020/testing.mjs +0 -797
  730. package/fesm2020/testing.mjs.map +0 -1
  731. package/fesm2020/text-field.mjs.map +0 -1
  732. package/fesm2020/tree.mjs +0 -1305
  733. package/fesm2020/tree.mjs.map +0 -1
  734. package/overlay/_index.import.scss +0 -13
  735. package/text-field/_index.import.scss +0 -2
package/a11y/index.d.ts CHANGED
@@ -1,1212 +1,550 @@
1
- import { AfterContentInit } from '@angular/core';
2
- import { AfterViewInit } from '@angular/core';
3
- import { BooleanInput } from '@kato-lee/cdk/coercion';
4
- import { ContentObserver } from '@kato-lee/cdk/observers';
5
- import { DoCheck } from '@angular/core';
6
- import { ElementRef } from '@angular/core';
7
- import { EventEmitter } from '@angular/core';
8
- import * as i0 from '@angular/core';
9
- import * as i4 from '@kato-lee/cdk/observers';
10
- import { InjectionToken } from '@angular/core';
11
- import { NgZone } from '@angular/core';
12
- import { Observable } from 'rxjs';
13
- import { OnChanges } from '@angular/core';
14
- import { OnDestroy } from '@angular/core';
15
- import { Platform } from '@kato-lee/cdk/platform';
16
- import { QueryList } from '@angular/core';
17
- import { SimpleChanges } from '@angular/core';
18
- import { Subject } from 'rxjs';
19
-
20
- export declare class A11yModule {
21
- constructor(highContrastModeDetector: HighContrastModeDetector);
22
- static ɵfac: i0.ɵɵFactoryDeclaration<A11yModule, never>;
23
- static ɵmod: i0.ɵɵNgModuleDeclaration<
24
- A11yModule,
25
- [typeof i1.CdkAriaLive, typeof i2.CdkTrapFocus, typeof i3.CdkMonitorFocus],
26
- [typeof i4.ObserversModule],
27
- [typeof i1.CdkAriaLive, typeof i2.CdkTrapFocus, typeof i3.CdkMonitorFocus]
28
- >;
29
- static ɵinj: i0.ɵɵInjectorDeclaration<A11yModule>;
30
- }
31
-
32
- export declare class ActiveDescendantKeyManager<T> extends ListKeyManager<Highlightable & T> {
33
- /**
34
- * Sets the active item to the item at the specified index and adds the
35
- * active styles to the newly active item. Also removes active styles
36
- * from the previously active item.
37
- * @param index Index of the item to be set as active.
38
- */
39
- setActiveItem(index: number): void;
40
- /**
41
- * Sets the active item to the item to the specified one and adds the
42
- * active styles to the it. Also removes active styles from the
43
- * previously active item.
44
- * @param item Item to be set as active.
45
- */
46
- setActiveItem(item: T): void;
47
- }
48
-
49
- /**
50
- * Utility that creates visually hidden elements with a message content. Useful for elements that
51
- * want to use aria-describedby to further describe themselves without adding additional visual
52
- * content.
53
- */
54
- export declare class AriaDescriber implements OnDestroy {
55
- /**
56
- * @deprecated To be turned into a required parameter.
57
- * @breaking-change 14.0.0
58
- */
59
- private _platform?;
60
- private _document;
61
- /** Map of all registered message elements that have been placed into the document. */
62
- private _messageRegistry;
63
- /** Container for all registered messages. */
64
- private _messagesContainer;
65
- /** Unique ID for the service. */
66
- private readonly _id;
67
- constructor(
68
- _document: any,
69
- /**
70
- * @deprecated To be turned into a required parameter.
71
- * @breaking-change 14.0.0
72
- */
73
- _platform?: Platform | undefined
74
- );
75
- /**
76
- * Adds to the host element an aria-describedby reference to a hidden element that contains
77
- * the message. If the same message has already been registered, then it will reuse the created
78
- * message element.
79
- */
80
- describe(hostElement: Element, message: string, role?: string): void;
81
- /**
82
- * Adds to the host element an aria-describedby reference to an already-existing message element.
83
- */
84
- describe(hostElement: Element, message: HTMLElement): void;
85
- /** Removes the host element's aria-describedby reference to the message. */
86
- removeDescription(hostElement: Element, message: string, role?: string): void;
87
- /** Removes the host element's aria-describedby reference to the message element. */
88
- removeDescription(hostElement: Element, message: HTMLElement): void;
89
- /** Unregisters all created message elements and removes the message container. */
90
- ngOnDestroy(): void;
91
- /**
92
- * Creates a new element in the visually hidden message container element with the message
93
- * as its content and adds it to the message registry.
94
- */
95
- private _createMessageElement;
96
- /** Deletes the message element from the global messages container. */
97
- private _deleteMessageElement;
98
- /** Creates the global container for all aria-describedby messages. */
99
- private _createMessagesContainer;
100
- /** Removes all cdk-describedby messages that are hosted through the element. */
101
- private _removeCdkDescribedByReferenceIds;
102
- /**
103
- * Adds a message reference to the element using aria-describedby and increments the registered
104
- * message's reference count.
105
- */
106
- private _addMessageReference;
107
- /**
108
- * Removes a message reference from the element using aria-describedby
109
- * and decrements the registered message's reference count.
110
- */
111
- private _removeMessageReference;
112
- /** Returns true if the element has been described by the provided message ID. */
113
- private _isElementDescribedByMessage;
114
- /** Determines whether a message can be described on a particular element. */
115
- private _canBeDescribed;
116
- /** Checks whether a node is an Element node. */
117
- private _isElementNode;
118
- static ɵfac: i0.ɵɵFactoryDeclaration<AriaDescriber, never>;
119
- static ɵprov: i0.ɵɵInjectableDeclaration<AriaDescriber>;
120
- }
121
-
122
- /** Possible politeness levels. */
123
- export declare type AriaLivePoliteness = 'off' | 'polite' | 'assertive';
124
-
125
- /**
126
- * Attribute given to each host element that is described by a message element.
127
- * @deprecated To be turned into a private variable.
128
- * @breaking-change 14.0.0
129
- */
130
- export declare const CDK_DESCRIBEDBY_HOST_ATTRIBUTE = 'cdk-describedby-host';
131
-
132
- /**
133
- * ID prefix used for each created message element.
134
- * @deprecated To be turned into a private variable.
135
- * @breaking-change 14.0.0
136
- */
137
- export declare const CDK_DESCRIBEDBY_ID_PREFIX = 'cdk-describedby-message';
138
-
139
- /**
140
- * A directive that works similarly to aria-live, but uses the LiveAnnouncer to ensure compatibility
141
- * with a wider range of browsers and screen readers.
142
- */
143
- export declare class CdkAriaLive implements OnDestroy {
144
- private _elementRef;
145
- private _liveAnnouncer;
146
- private _contentObserver;
147
- private _ngZone;
148
- /** The aria-live politeness level to use when announcing messages. */
149
- get politeness(): AriaLivePoliteness;
150
- set politeness(value: AriaLivePoliteness);
151
- private _politeness;
152
- /** Time in milliseconds after which to clear out the announcer element. */
153
- duration: number;
154
- private _previousAnnouncedText?;
155
- private _subscription;
156
- constructor(
157
- _elementRef: ElementRef,
158
- _liveAnnouncer: LiveAnnouncer,
159
- _contentObserver: ContentObserver,
160
- _ngZone: NgZone
161
- );
162
- ngOnDestroy(): void;
163
- static ɵfac: i0.ɵɵFactoryDeclaration<CdkAriaLive, never>;
164
- static ɵdir: i0.ɵɵDirectiveDeclaration<
165
- CdkAriaLive,
166
- '[cdkAriaLive]',
167
- ['cdkAriaLive'],
168
- { politeness: 'cdkAriaLive'; duration: 'cdkAriaLiveDuration' },
169
- {},
170
- never,
171
- never,
172
- false
173
- >;
174
- }
175
-
176
- /**
177
- * Directive that determines how a particular element was focused (via keyboard, mouse, touch, or
178
- * programmatically) and adds corresponding classes to the element.
179
- *
180
- * There are two variants of this directive:
181
- * 1) cdkMonitorElementFocus: does not consider an element to be focused if one of its children is
182
- * focused.
183
- * 2) cdkMonitorSubtreeFocus: considers an element focused if it or any of its children are focused.
184
- */
185
- export declare class CdkMonitorFocus implements AfterViewInit, OnDestroy {
186
- private _elementRef;
187
- private _focusMonitor;
188
- private _monitorSubscription;
189
- private _focusOrigin;
190
- readonly cdkFocusChange: EventEmitter<FocusOrigin>;
191
- constructor(_elementRef: ElementRef<HTMLElement>, _focusMonitor: FocusMonitor);
192
- get focusOrigin(): FocusOrigin;
193
- ngAfterViewInit(): void;
194
- ngOnDestroy(): void;
195
- static ɵfac: i0.ɵɵFactoryDeclaration<CdkMonitorFocus, never>;
196
- static ɵdir: i0.ɵɵDirectiveDeclaration<
197
- CdkMonitorFocus,
198
- '[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]',
199
- ['cdkMonitorFocus'],
200
- {},
201
- { cdkFocusChange: 'cdkFocusChange' },
202
- never,
203
- never,
204
- false
205
- >;
206
- }
207
-
208
- /** Directive for trapping focus within a region. */
209
- export declare class CdkTrapFocus implements OnDestroy, AfterContentInit, OnChanges, DoCheck {
210
- private _elementRef;
211
- private _focusTrapFactory;
212
- /** Underlying FocusTrap instance. */
213
- focusTrap: FocusTrap;
214
- /** Previously focused element to restore focus to upon destroy when using autoCapture. */
215
- private _previouslyFocusedElement;
216
- /** Whether the focus trap is active. */
217
- get enabled(): boolean;
218
- set enabled(value: BooleanInput);
219
- /**
220
- * Whether the directive should automatically move focus into the trapped region upon
221
- * initialization and return focus to the previous activeElement upon destruction.
222
- */
223
- get autoCapture(): boolean;
224
- set autoCapture(value: BooleanInput);
225
- private _autoCapture;
226
- constructor(
227
- _elementRef: ElementRef<HTMLElement>,
228
- _focusTrapFactory: FocusTrapFactory,
229
- /**
230
- * @deprecated No longer being used. To be removed.
231
- * @breaking-change 13.0.0
232
- */
233
- _document: any
234
- );
235
- ngOnDestroy(): void;
236
- ngAfterContentInit(): void;
237
- ngDoCheck(): void;
238
- ngOnChanges(changes: SimpleChanges): void;
239
- private _captureFocus;
240
- static ɵfac: i0.ɵɵFactoryDeclaration<CdkTrapFocus, never>;
241
- static ɵdir: i0.ɵɵDirectiveDeclaration<
242
- CdkTrapFocus,
243
- '[cdkTrapFocus]',
244
- ['cdkTrapFocus'],
245
- { enabled: 'cdkTrapFocus'; autoCapture: 'cdkTrapFocusAutoCapture' },
246
- {},
247
- never,
248
- never,
249
- false
250
- >;
251
- }
252
-
253
- /**
254
- * Class that allows for trapping focus within a DOM element.
255
- *
256
- * This class uses a strategy pattern that determines how it traps focus.
257
- * See FocusTrapInertStrategy.
258
- */
259
- export declare class ConfigurableFocusTrap extends FocusTrap implements ManagedFocusTrap {
260
- private _focusTrapManager;
261
- private _inertStrategy;
262
- /** Whether the FocusTrap is enabled. */
263
- get enabled(): boolean;
264
- set enabled(value: boolean);
265
- constructor(
266
- _element: HTMLElement,
267
- _checker: InteractivityChecker,
268
- _ngZone: NgZone,
269
- _document: Document,
270
- _focusTrapManager: FocusTrapManager,
271
- _inertStrategy: FocusTrapInertStrategy,
272
- config: ConfigurableFocusTrapConfig
273
- );
274
- /** Notifies the FocusTrapManager that this FocusTrap will be destroyed. */
275
- destroy(): void;
276
- /** @docs-private Implemented as part of ManagedFocusTrap. */
277
- _enable(): void;
278
- /** @docs-private Implemented as part of ManagedFocusTrap. */
279
- _disable(): void;
280
- }
281
-
282
- /**
283
- * Options for creating a ConfigurableFocusTrap.
284
- */
285
- export declare interface ConfigurableFocusTrapConfig {
286
- /**
287
- * Whether to defer the creation of FocusTrap elements to be done manually by the user.
288
- */
289
- defer: boolean;
290
- }
291
-
292
- /** Factory that allows easy instantiation of configurable focus traps. */
293
- export declare class ConfigurableFocusTrapFactory {
294
- private _checker;
295
- private _ngZone;
296
- private _focusTrapManager;
297
- private _document;
298
- private _inertStrategy;
299
- constructor(
300
- _checker: InteractivityChecker,
301
- _ngZone: NgZone,
302
- _focusTrapManager: FocusTrapManager,
303
- _document: any,
304
- _inertStrategy?: FocusTrapInertStrategy
305
- );
306
- /**
307
- * Creates a focus-trapped region around the given element.
308
- * @param element The element around which focus will be trapped.
309
- * @param config The focus trap configuration.
310
- * @returns The created focus trap instance.
311
- */
312
- create(element: HTMLElement, config?: ConfigurableFocusTrapConfig): ConfigurableFocusTrap;
313
- /**
314
- * @deprecated Pass a config object instead of the `deferCaptureElements` flag.
315
- * @breaking-change 11.0.0
316
- */
317
- create(element: HTMLElement, deferCaptureElements: boolean): ConfigurableFocusTrap;
318
- static ɵfac: i0.ɵɵFactoryDeclaration<
319
- ConfigurableFocusTrapFactory,
320
- [null, null, null, null, { optional: true }]
321
- >;
322
- static ɵprov: i0.ɵɵInjectableDeclaration<ConfigurableFocusTrapFactory>;
323
- }
324
-
325
- /**
326
- * Lightweight FocusTrapInertStrategy that adds a document focus event
327
- * listener to redirect focus back inside the FocusTrap.
328
- */
329
- export declare class EventListenerFocusTrapInertStrategy implements FocusTrapInertStrategy {
330
- /** Focus event handler. */
331
- private _listener;
332
- /** Adds a document event listener that keeps focus inside the FocusTrap. */
333
- preventFocus(focusTrap: ConfigurableFocusTrap): void;
334
- /** Removes the event listener added in preventFocus. */
335
- allowFocus(focusTrap: ConfigurableFocusTrap): void;
336
- /**
337
- * Refocuses the first element in the FocusTrap if the focus event target was outside
338
- * the FocusTrap.
339
- *
340
- * This is an event listener callback. The event listener is added in runOutsideAngular,
341
- * so all this code runs outside Angular as well.
342
- */
343
- private _trapFocus;
344
- }
345
-
346
- /** InjectionToken for FocusMonitorOptions. */
347
- export declare const FOCUS_MONITOR_DEFAULT_OPTIONS: InjectionToken<FocusMonitorOptions>;
348
-
349
- /** The injection token used to specify the inert strategy. */
350
- export declare const FOCUS_TRAP_INERT_STRATEGY: InjectionToken<FocusTrapInertStrategy>;
351
-
352
- /**
353
- * This is the interface for focusable items (used by the FocusKeyManager).
354
- * Each item must know how to focus itself, whether or not it is currently disabled
355
- * and be able to supply its label.
356
- */
357
- export declare interface FocusableOption extends ListKeyManagerOption {
358
- /** Focuses the `FocusableOption`. */
359
- focus(origin?: FocusOrigin): void;
360
- }
361
-
362
- export declare class FocusKeyManager<T> extends ListKeyManager<FocusableOption & T> {
363
- private _origin;
364
- /**
365
- * Sets the focus origin that will be passed in to the items for any subsequent `focus` calls.
366
- * @param origin Focus origin to be used when focusing items.
367
- */
368
- setFocusOrigin(origin: FocusOrigin): this;
369
- /**
370
- * Sets the active item to the item at the specified
371
- * index and focuses the newly active item.
372
- * @param index Index of the item to be set as active.
373
- */
374
- setActiveItem(index: number): void;
375
- /**
376
- * Sets the active item to the item that is specified and focuses it.
377
- * @param item Item to be set as active.
378
- */
379
- setActiveItem(item: T): void;
380
- }
381
-
382
- /** Monitors mouse and keyboard events to determine the cause of focus events. */
383
- export declare class FocusMonitor implements OnDestroy {
384
- private _ngZone;
385
- private _platform;
386
- private readonly _inputModalityDetector;
387
- /** The focus origin that the next focus event is a result of. */
388
- private _origin;
389
- /** The FocusOrigin of the last focus event tracked by the FocusMonitor. */
390
- private _lastFocusOrigin;
391
- /** Whether the window has just been focused. */
392
- private _windowFocused;
393
- /** The timeout id of the window focus timeout. */
394
- private _windowFocusTimeoutId;
395
- /** The timeout id of the origin clearing timeout. */
396
- private _originTimeoutId;
397
- /**
398
- * Whether the origin was determined via a touch interaction. Necessary as properly attributing
399
- * focus events to touch interactions requires special logic.
400
- */
401
- private _originFromTouchInteraction;
402
- /** Map of elements being monitored to their info. */
403
- private _elementInfo;
404
- /** The number of elements currently being monitored. */
405
- private _monitoredElementCount;
406
- /**
407
- * Keeps track of the root nodes to which we've currently bound a focus/blur handler,
408
- * as well as the number of monitored elements that they contain. We have to treat focus/blur
409
- * handlers differently from the rest of the events, because the browser won't emit events
410
- * to the document when focus moves inside of a shadow root.
411
- */
412
- private _rootNodeFocusListenerCount;
413
- /**
414
- * The specified detection mode, used for attributing the origin of a focus
415
- * event.
416
- */
417
- private readonly _detectionMode;
418
- /**
419
- * Event listener for `focus` events on the window.
420
- * Needs to be an arrow function in order to preserve the context when it gets bound.
421
- */
422
- private _windowFocusListener;
423
- /** Used to reference correct document/window */
424
- protected _document?: Document;
425
- /** Subject for stopping our InputModalityDetector subscription. */
426
- private readonly _stopInputModalityDetector;
427
- constructor(
428
- _ngZone: NgZone,
429
- _platform: Platform,
430
- _inputModalityDetector: InputModalityDetector,
431
- /** @breaking-change 11.0.0 make document required */
432
- document: any | null,
433
- options: FocusMonitorOptions | null
434
- );
435
- /**
436
- * Event listener for `focus` and 'blur' events on the document.
437
- * Needs to be an arrow function in order to preserve the context when it gets bound.
438
- */
439
- private _rootNodeFocusAndBlurListener;
440
- /**
441
- * Monitors focus on an element and applies appropriate CSS classes.
442
- * @param element The element to monitor
443
- * @param checkChildren Whether to count the element as focused when its children are focused.
444
- * @returns An observable that emits when the focus state of the element changes.
445
- * When the element is blurred, null will be emitted.
446
- */
447
- monitor(element: HTMLElement, checkChildren?: boolean): Observable<FocusOrigin>;
448
- /**
449
- * Monitors focus on an element and applies appropriate CSS classes.
450
- * @param element The element to monitor
451
- * @param checkChildren Whether to count the element as focused when its children are focused.
452
- * @returns An observable that emits when the focus state of the element changes.
453
- * When the element is blurred, null will be emitted.
454
- */
455
- monitor(element: ElementRef<HTMLElement>, checkChildren?: boolean): Observable<FocusOrigin>;
456
- /**
457
- * Stops monitoring an element and removes all focus classes.
458
- * @param element The element to stop monitoring.
459
- */
460
- stopMonitoring(element: HTMLElement): void;
461
- /**
462
- * Stops monitoring an element and removes all focus classes.
463
- * @param element The element to stop monitoring.
464
- */
465
- stopMonitoring(element: ElementRef<HTMLElement>): void;
466
- /**
467
- * Focuses the element via the specified focus origin.
468
- * @param element Element to focus.
469
- * @param origin Focus origin.
470
- * @param options Options that can be used to configure the focus behavior.
471
- */
472
- focusVia(element: HTMLElement, origin: FocusOrigin, options?: FocusOptions_2): void;
473
- /**
474
- * Focuses the element via the specified focus origin.
475
- * @param element Element to focus.
476
- * @param origin Focus origin.
477
- * @param options Options that can be used to configure the focus behavior.
478
- */
479
- focusVia(element: ElementRef<HTMLElement>, origin: FocusOrigin, options?: FocusOptions_2): void;
480
- ngOnDestroy(): void;
481
- /** Access injected document if available or fallback to global document reference */
482
- private _getDocument;
483
- /** Use defaultView of injected document if available or fallback to global window reference */
484
- private _getWindow;
485
- private _getFocusOrigin;
486
- /**
487
- * Returns whether the focus event should be attributed to touch. Recall that in IMMEDIATE mode, a
488
- * touch origin isn't immediately reset at the next tick (see _setOrigin). This means that when we
489
- * handle a focus event following a touch interaction, we need to determine whether (1) the focus
490
- * event was directly caused by the touch interaction or (2) the focus event was caused by a
491
- * subsequent programmatic focus call triggered by the touch interaction.
492
- * @param focusEventTarget The target of the focus event under examination.
493
- */
494
- private _shouldBeAttributedToTouch;
495
- /**
496
- * Sets the focus classes on the element based on the given focus origin.
497
- * @param element The element to update the classes on.
498
- * @param origin The focus origin.
499
- */
500
- private _setClasses;
501
- /**
502
- * Updates the focus origin. If we're using immediate detection mode, we schedule an async
503
- * function to clear the origin at the end of a timeout. The duration of the timeout depends on
504
- * the origin being set.
505
- * @param origin The origin to set.
506
- * @param isFromInteraction Whether we are setting the origin from an interaction event.
507
- */
508
- private _setOrigin;
509
- /**
510
- * Handles focus events on a registered element.
511
- * @param event The focus event.
512
- * @param element The monitored element.
513
- */
514
- private _onFocus;
515
- /**
516
- * Handles blur events on a registered element.
517
- * @param event The blur event.
518
- * @param element The monitored element.
519
- */
520
- _onBlur(event: FocusEvent, element: HTMLElement): void;
521
- private _emitOrigin;
522
- private _registerGlobalListeners;
523
- private _removeGlobalListeners;
524
- /** Updates all the state on an element once its focus origin has changed. */
525
- private _originChanged;
526
- /**
527
- * Collects the `MonitoredElementInfo` of a particular element and
528
- * all of its ancestors that have enabled `checkChildren`.
529
- * @param element Element from which to start the search.
530
- */
531
- private _getClosestElementsInfo;
532
- /**
533
- * Returns whether an interaction is likely to have come from the user clicking the `label` of
534
- * an `input` or `textarea` in order to focus it.
535
- * @param focusEventTarget Target currently receiving focus.
536
- */
537
- private _isLastInteractionFromInputLabel;
538
- static ɵfac: i0.ɵɵFactoryDeclaration<
539
- FocusMonitor,
540
- [null, null, null, { optional: true }, { optional: true }]
541
- >;
542
- static ɵprov: i0.ɵɵInjectableDeclaration<FocusMonitor>;
543
- }
544
-
545
- /** Detection mode used for attributing the origin of a focus event. */
546
- export declare const enum FocusMonitorDetectionMode {
547
- /**
548
- * Any mousedown, keydown, or touchstart event that happened in the previous
549
- * tick or the current tick will be used to assign a focus event's origin (to
550
- * either mouse, keyboard, or touch). This is the default option.
551
- */
552
- IMMEDIATE = 0,
553
- /**
554
- * A focus event's origin is always attributed to the last corresponding
555
- * mousedown, keydown, or touchstart event, no matter how long ago it occurred.
556
- */
557
- EVENTUAL = 1,
558
- }
559
-
560
- /** Injectable service-level options for FocusMonitor. */
561
- export declare interface FocusMonitorOptions {
562
- detectionMode?: FocusMonitorDetectionMode;
563
- }
564
-
565
- /**
566
- * Corresponds to the options that can be passed to the native `focus` event.
567
- * via https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus
568
- */
569
- declare interface FocusOptions_2 {
570
- /** Whether the browser should scroll to the element when it is focused. */
571
- preventScroll?: boolean;
572
- }
573
- export { FocusOptions_2 as FocusOptions };
574
-
575
- export declare type FocusOrigin = 'touch' | 'mouse' | 'keyboard' | 'program' | null;
576
-
577
- /**
578
- * Class that allows for trapping focus within a DOM element.
579
- *
580
- * This class currently uses a relatively simple approach to focus trapping.
581
- * It assumes that the tab order is the same as DOM order, which is not necessarily true.
582
- * Things like `tabIndex > 0`, flex `order`, and shadow roots can cause the two to be misaligned.
583
- *
584
- * @deprecated Use `ConfigurableFocusTrap` instead.
585
- * @breaking-change 11.0.0
586
- */
587
- export declare class FocusTrap {
588
- readonly _element: HTMLElement;
589
- private _checker;
590
- readonly _ngZone: NgZone;
591
- readonly _document: Document;
592
- private _startAnchor;
593
- private _endAnchor;
594
- private _hasAttached;
595
- protected startAnchorListener: () => boolean;
596
- protected endAnchorListener: () => boolean;
597
- /** Whether the focus trap is active. */
598
- get enabled(): boolean;
599
- set enabled(value: boolean);
600
- protected _enabled: boolean;
601
- constructor(
602
- _element: HTMLElement,
603
- _checker: InteractivityChecker,
604
- _ngZone: NgZone,
605
- _document: Document,
606
- deferAnchors?: boolean
607
- );
608
- /** Destroys the focus trap by cleaning up the anchors. */
609
- destroy(): void;
610
- /**
611
- * Inserts the anchors into the DOM. This is usually done automatically
612
- * in the constructor, but can be deferred for cases like directives with `*ngIf`.
613
- * @returns Whether the focus trap managed to attach successfully. This may not be the case
614
- * if the target element isn't currently in the DOM.
615
- */
616
- attachAnchors(): boolean;
617
- /**
618
- * Waits for the zone to stabilize, then focuses the first tabbable element.
619
- * @returns Returns a promise that resolves with a boolean, depending
620
- * on whether focus was moved successfully.
621
- */
622
- focusInitialElementWhenReady(options?: FocusOptions): Promise<boolean>;
623
- /**
624
- * Waits for the zone to stabilize, then focuses
625
- * the first tabbable element within the focus trap region.
626
- * @returns Returns a promise that resolves with a boolean, depending
627
- * on whether focus was moved successfully.
628
- */
629
- focusFirstTabbableElementWhenReady(options?: FocusOptions): Promise<boolean>;
630
- /**
631
- * Waits for the zone to stabilize, then focuses
632
- * the last tabbable element within the focus trap region.
633
- * @returns Returns a promise that resolves with a boolean, depending
634
- * on whether focus was moved successfully.
635
- */
636
- focusLastTabbableElementWhenReady(options?: FocusOptions): Promise<boolean>;
637
- /**
638
- * Get the specified boundary element of the trapped region.
639
- * @param bound The boundary to get (start or end of trapped region).
640
- * @returns The boundary element.
641
- */
642
- private _getRegionBoundary;
643
- /**
644
- * Focuses the element that should be focused when the focus trap is initialized.
645
- * @returns Whether focus was moved successfully.
646
- */
647
- focusInitialElement(options?: FocusOptions): boolean;
648
- /**
649
- * Focuses the first tabbable element within the focus trap region.
650
- * @returns Whether focus was moved successfully.
651
- */
652
- focusFirstTabbableElement(options?: FocusOptions): boolean;
653
- /**
654
- * Focuses the last tabbable element within the focus trap region.
655
- * @returns Whether focus was moved successfully.
656
- */
657
- focusLastTabbableElement(options?: FocusOptions): boolean;
658
- /**
659
- * Checks whether the focus trap has successfully been attached.
660
- */
661
- hasAttached(): boolean;
662
- /** Get the first tabbable element from a DOM subtree (inclusive). */
663
- private _getFirstTabbableElement;
664
- /** Get the last tabbable element from a DOM subtree (inclusive). */
665
- private _getLastTabbableElement;
666
- /** Creates an anchor element. */
667
- private _createAnchor;
668
- /**
669
- * Toggles the `tabindex` of an anchor, based on the enabled state of the focus trap.
670
- * @param isEnabled Whether the focus trap is enabled.
671
- * @param anchor Anchor on which to toggle the tabindex.
672
- */
673
- private _toggleAnchorTabIndex;
674
- /**
675
- * Toggles the`tabindex` of both anchors to either trap Tab focus or allow it to escape.
676
- * @param enabled: Whether the anchors should trap Tab.
677
- */
678
- protected toggleAnchors(enabled: boolean): void;
679
- /** Executes a function when the zone is stable. */
680
- private _executeOnStable;
681
- }
682
-
683
- /**
684
- * Factory that allows easy instantiation of focus traps.
685
- * @deprecated Use `ConfigurableFocusTrapFactory` instead.
686
- * @breaking-change 11.0.0
687
- */
688
- export declare class FocusTrapFactory {
689
- private _checker;
690
- private _ngZone;
691
- private _document;
692
- constructor(_checker: InteractivityChecker, _ngZone: NgZone, _document: any);
693
- /**
694
- * Creates a focus-trapped region around the given element.
695
- * @param element The element around which focus will be trapped.
696
- * @param deferCaptureElements Defers the creation of focus-capturing elements to be done
697
- * manually by the user.
698
- * @returns The created focus trap instance.
699
- */
700
- create(element: HTMLElement, deferCaptureElements?: boolean): FocusTrap;
701
- static ɵfac: i0.ɵɵFactoryDeclaration<FocusTrapFactory, never>;
702
- static ɵprov: i0.ɵɵInjectableDeclaration<FocusTrapFactory>;
703
- }
704
-
705
- /**
706
- * A strategy that dictates how FocusTrap should prevent elements
707
- * outside of the FocusTrap from being focused.
708
- */
709
- export declare interface FocusTrapInertStrategy {
710
- /** Makes all elements outside focusTrap unfocusable. */
711
- preventFocus(focusTrap: FocusTrap): void;
712
- /** Reverts elements made unfocusable by preventFocus to their previous state. */
713
- allowFocus(focusTrap: FocusTrap): void;
714
- }
715
-
716
- /** Injectable that ensures only the most recently enabled FocusTrap is active. */
717
- declare class FocusTrapManager {
718
- private _focusTrapStack;
719
- /**
720
- * Disables the FocusTrap at the top of the stack, and then pushes
721
- * the new FocusTrap onto the stack.
722
- */
723
- register(focusTrap: ManagedFocusTrap): void;
724
- /**
725
- * Removes the FocusTrap from the stack, and activates the
726
- * FocusTrap that is the new top of the stack.
727
- */
728
- deregister(focusTrap: ManagedFocusTrap): void;
729
- static ɵfac: i0.ɵɵFactoryDeclaration<FocusTrapManager, never>;
730
- static ɵprov: i0.ɵɵInjectableDeclaration<FocusTrapManager>;
731
- }
732
-
733
- /** Set of possible high-contrast mode backgrounds. */
734
- export declare const enum HighContrastMode {
735
- NONE = 0,
736
- BLACK_ON_WHITE = 1,
737
- WHITE_ON_BLACK = 2,
738
- }
739
-
740
- /**
741
- * Service to determine whether the browser is currently in a high-contrast-mode environment.
742
- *
743
- * Microsoft Windows supports an accessibility feature called "High Contrast Mode". This mode
744
- * changes the appearance of all applications, including web applications, to dramatically increase
745
- * contrast.
746
- *
747
- * IE, Edge, and Firefox currently support this mode. Chrome does not support Windows High Contrast
748
- * Mode. This service does not detect high-contrast mode as added by the Chrome "High Contrast"
749
- * browser extension.
750
- */
751
- export declare class HighContrastModeDetector implements OnDestroy {
752
- private _platform;
753
- /**
754
- * Figuring out the high contrast mode and adding the body classes can cause
755
- * some expensive layouts. This flag is used to ensure that we only do it once.
756
- */
757
- private _hasCheckedHighContrastMode;
758
- private _document;
759
- private _breakpointSubscription;
760
- constructor(_platform: Platform, document: any);
761
- /** Gets the current high-contrast-mode for the page. */
762
- getHighContrastMode(): HighContrastMode;
763
- ngOnDestroy(): void;
764
- /** Applies CSS classes indicating high-contrast mode to document body (browser-only). */
765
- _applyBodyHighContrastModeCssClasses(): void;
766
- static ɵfac: i0.ɵɵFactoryDeclaration<HighContrastModeDetector, never>;
767
- static ɵprov: i0.ɵɵInjectableDeclaration<HighContrastModeDetector>;
768
- }
769
-
770
- /**
771
- * This is the interface for highlightable items (used by the ActiveDescendantKeyManager).
772
- * Each item must know how to style itself as active or inactive and whether or not it is
773
- * currently disabled.
774
- */
775
- export declare interface Highlightable extends ListKeyManagerOption {
776
- /** Applies the styles for an active item to this item. */
777
- setActiveStyles(): void;
778
- /** Applies the styles for an inactive item to this item. */
779
- setInactiveStyles(): void;
780
- }
781
-
782
- declare namespace i1 {
783
- export { LiveAnnouncer, CdkAriaLive };
784
- }
785
-
786
- declare namespace i2 {
787
- export { FocusTrap, FocusTrapFactory, CdkTrapFocus };
788
- }
789
-
790
- declare namespace i3 {
791
- export {
792
- FocusOrigin,
793
- FocusOptions_2 as FocusOptions,
794
- FocusMonitorDetectionMode,
795
- FocusMonitorOptions,
796
- FOCUS_MONITOR_DEFAULT_OPTIONS,
797
- FocusMonitor,
798
- CdkMonitorFocus,
799
- };
800
- }
801
-
802
- /**
803
- * Default options for the InputModalityDetector.
804
- *
805
- * Modifier keys are ignored by default (i.e. when pressed won't cause the service to detect
806
- * keyboard input modality) for two reasons:
807
- *
808
- * 1. Modifier keys are commonly used with mouse to perform actions such as 'right click' or 'open
809
- * in new tab', and are thus less representative of actual keyboard interaction.
810
- * 2. VoiceOver triggers some keyboard events when linearly navigating with Control + Option (but
811
- * confusingly not with Caps Lock). Thus, to have parity with other screen readers, we ignore
812
- * these keys so as to not update the input modality.
813
- *
814
- * Note that we do not by default ignore the right Meta key on Safari because it has the same key
815
- * code as the ContextMenu key on other browsers. When we switch to using event.key, we can
816
- * distinguish between the two.
817
- */
818
- export declare const INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS: InputModalityDetectorOptions;
819
-
820
- /**
821
- * Injectable options for the InputModalityDetector. These are shallowly merged with the default
822
- * options.
823
- */
824
- export declare const INPUT_MODALITY_DETECTOR_OPTIONS: InjectionToken<InputModalityDetectorOptions>;
825
-
826
- /**
827
- * The input modalities detected by this service. Null is used if the input modality is unknown.
828
- */
829
- export declare type InputModality = 'keyboard' | 'mouse' | 'touch' | null;
830
-
831
- /**
832
- * Service that detects the user's input modality.
833
- *
834
- * This service does not update the input modality when a user navigates with a screen reader
835
- * (e.g. linear navigation with VoiceOver, object navigation / browse mode with NVDA, virtual PC
836
- * cursor mode with JAWS). This is in part due to technical limitations (i.e. keyboard events do not
837
- * fire as expected in these modes) but is also arguably the correct behavior. Navigating with a
838
- * screen reader is akin to visually scanning a page, and should not be interpreted as actual user
839
- * input interaction.
840
- *
841
- * When a user is not navigating but *interacting* with a screen reader, this service attempts to
842
- * update the input modality to keyboard, but in general this service's behavior is largely
843
- * undefined.
844
- */
845
- export declare class InputModalityDetector implements OnDestroy {
846
- private readonly _platform;
847
- /** Emits whenever an input modality is detected. */
848
- readonly modalityDetected: Observable<InputModality>;
849
- /** Emits when the input modality changes. */
850
- readonly modalityChanged: Observable<InputModality>;
851
- /** The most recently detected input modality. */
852
- get mostRecentModality(): InputModality;
853
- /**
854
- * The most recently detected input modality event target. Is null if no input modality has been
855
- * detected or if the associated event target is null for some unknown reason.
856
- */
857
- _mostRecentTarget: HTMLElement | null;
858
- /** The underlying BehaviorSubject that emits whenever an input modality is detected. */
859
- private readonly _modality;
860
- /** Options for this InputModalityDetector. */
861
- private readonly _options;
862
- /**
863
- * The timestamp of the last touch input modality. Used to determine whether mousedown events
864
- * should be attributed to mouse or touch.
865
- */
866
- private _lastTouchMs;
867
- /**
868
- * Handles keydown events. Must be an arrow function in order to preserve the context when it gets
869
- * bound.
870
- */
871
- private _onKeydown;
872
- /**
873
- * Handles mousedown events. Must be an arrow function in order to preserve the context when it
874
- * gets bound.
875
- */
876
- private _onMousedown;
877
- /**
878
- * Handles touchstart events. Must be an arrow function in order to preserve the context when it
879
- * gets bound.
880
- */
881
- private _onTouchstart;
882
- constructor(
883
- _platform: Platform,
884
- ngZone: NgZone,
885
- document: Document,
886
- options?: InputModalityDetectorOptions
887
- );
888
- ngOnDestroy(): void;
889
- static ɵfac: i0.ɵɵFactoryDeclaration<
890
- InputModalityDetector,
891
- [null, null, null, { optional: true }]
892
- >;
893
- static ɵprov: i0.ɵɵInjectableDeclaration<InputModalityDetector>;
894
- }
895
-
896
- /** Options to configure the behavior of the InputModalityDetector. */
897
- export declare interface InputModalityDetectorOptions {
898
- /** Keys to ignore when detecting keyboard input modality. */
899
- ignoreKeys?: number[];
900
- }
901
-
902
- /**
903
- * Utility for checking the interactivity of an element, such as whether is is focusable or
904
- * tabbable.
905
- */
906
- export declare class InteractivityChecker {
907
- private _platform;
908
- constructor(_platform: Platform);
909
- /**
910
- * Gets whether an element is disabled.
911
- *
912
- * @param element Element to be checked.
913
- * @returns Whether the element is disabled.
914
- */
915
- isDisabled(element: HTMLElement): boolean;
916
- /**
917
- * Gets whether an element is visible for the purposes of interactivity.
918
- *
919
- * This will capture states like `display: none` and `visibility: hidden`, but not things like
920
- * being clipped by an `overflow: hidden` parent or being outside the viewport.
921
- *
922
- * @returns Whether the element is visible.
923
- */
924
- isVisible(element: HTMLElement): boolean;
925
- /**
926
- * Gets whether an element can be reached via Tab key.
927
- * Assumes that the element has already been checked with isFocusable.
928
- *
929
- * @param element Element to be checked.
930
- * @returns Whether the element is tabbable.
931
- */
932
- isTabbable(element: HTMLElement): boolean;
933
- /**
934
- * Gets whether an element can be focused by the user.
935
- *
936
- * @param element Element to be checked.
937
- * @param config The config object with options to customize this method's behavior
938
- * @returns Whether the element is focusable.
939
- */
940
- isFocusable(element: HTMLElement, config?: IsFocusableConfig): boolean;
941
- static ɵfac: i0.ɵɵFactoryDeclaration<InteractivityChecker, never>;
942
- static ɵprov: i0.ɵɵInjectableDeclaration<InteractivityChecker>;
943
- }
944
-
945
- /** Gets whether an event could be a faked `mousedown` event dispatched by a screen reader. */
946
- export declare function isFakeMousedownFromScreenReader(event: MouseEvent): boolean;
947
-
948
- /** Gets whether an event could be a faked `touchstart` event dispatched by a screen reader. */
949
- export declare function isFakeTouchstartFromScreenReader(event: TouchEvent): boolean;
950
-
951
- /**
952
- * Configuration for the isFocusable method.
953
- */
954
- export declare class IsFocusableConfig {
955
- /**
956
- * Whether to count an element as focusable even if it is not currently visible.
957
- */
958
- ignoreVisibility: boolean;
959
- }
960
-
961
- /**
962
- * This class manages keyboard events for selectable lists. If you pass it a query list
963
- * of items, it will set the active item correctly when arrow events occur.
964
- */
965
- export declare class ListKeyManager<T extends ListKeyManagerOption> {
966
- private _items;
967
- private _activeItemIndex;
968
- private _activeItem;
969
- private _wrap;
970
- private readonly _letterKeyStream;
971
- private _typeaheadSubscription;
972
- private _vertical;
973
- private _horizontal;
974
- private _allowedModifierKeys;
975
- private _homeAndEnd;
976
- /**
977
- * Predicate function that can be used to check whether an item should be skipped
978
- * by the key manager. By default, disabled items are skipped.
979
- */
980
- private _skipPredicateFn;
981
- private _pressedLetters;
982
- constructor(_items: QueryList<T> | T[]);
983
- /**
984
- * Stream that emits any time the TAB key is pressed, so components can react
985
- * when focus is shifted off of the list.
986
- */
987
- readonly tabOut: Subject<void>;
988
- /** Stream that emits whenever the active item of the list manager changes. */
989
- readonly change: Subject<number>;
990
- /**
991
- * Sets the predicate function that determines which items should be skipped by the
992
- * list key manager.
993
- * @param predicate Function that determines whether the given item should be skipped.
994
- */
995
- skipPredicate(predicate: (item: T) => boolean): this;
996
- /**
997
- * Configures wrapping mode, which determines whether the active item will wrap to
998
- * the other end of list when there are no more items in the given direction.
999
- * @param shouldWrap Whether the list should wrap when reaching the end.
1000
- */
1001
- withWrap(shouldWrap?: boolean): this;
1002
- /**
1003
- * Configures whether the key manager should be able to move the selection vertically.
1004
- * @param enabled Whether vertical selection should be enabled.
1005
- */
1006
- withVerticalOrientation(enabled?: boolean): this;
1007
- /**
1008
- * Configures the key manager to move the selection horizontally.
1009
- * Passing in `null` will disable horizontal movement.
1010
- * @param direction Direction in which the selection can be moved.
1011
- */
1012
- withHorizontalOrientation(direction: 'ltr' | 'rtl' | null): this;
1013
- /**
1014
- * Modifier keys which are allowed to be held down and whose default actions will be prevented
1015
- * as the user is pressing the arrow keys. Defaults to not allowing any modifier keys.
1016
- */
1017
- withAllowedModifierKeys(keys: ListKeyManagerModifierKey[]): this;
1018
- /**
1019
- * Turns on typeahead mode which allows users to set the active item by typing.
1020
- * @param debounceInterval Time to wait after the last keystroke before setting the active item.
1021
- */
1022
- withTypeAhead(debounceInterval?: number): this;
1023
- /**
1024
- * Configures the key manager to activate the first and last items
1025
- * respectively when the Home or End key is pressed.
1026
- * @param enabled Whether pressing the Home or End key activates the first/last item.
1027
- */
1028
- withHomeAndEnd(enabled?: boolean): this;
1029
- /**
1030
- * Sets the active item to the item at the index specified.
1031
- * @param index The index of the item to be set as active.
1032
- */
1033
- setActiveItem(index: number): void;
1034
- /**
1035
- * Sets the active item to the specified item.
1036
- * @param item The item to be set as active.
1037
- */
1038
- setActiveItem(item: T): void;
1039
- /**
1040
- * Sets the active item depending on the key event passed in.
1041
- * @param event Keyboard event to be used for determining which element should be active.
1042
- */
1043
- onKeydown(event: KeyboardEvent): void;
1044
- /** Index of the currently active item. */
1045
- get activeItemIndex(): number | null;
1046
- /** The active item. */
1047
- get activeItem(): T | null;
1048
- /** Gets whether the user is currently typing into the manager using the typeahead feature. */
1049
- isTyping(): boolean;
1050
- /** Sets the active item to the first enabled item in the list. */
1051
- setFirstItemActive(): void;
1052
- /** Sets the active item to the last enabled item in the list. */
1053
- setLastItemActive(): void;
1054
- /** Sets the active item to the next enabled item in the list. */
1055
- setNextItemActive(): void;
1056
- /** Sets the active item to a previous enabled item in the list. */
1057
- setPreviousItemActive(): void;
1058
- /**
1059
- * Allows setting the active without any other effects.
1060
- * @param index Index of the item to be set as active.
1061
- */
1062
- updateActiveItem(index: number): void;
1063
- /**
1064
- * Allows setting the active item without any other effects.
1065
- * @param item Item to be set as active.
1066
- */
1067
- updateActiveItem(item: T): void;
1068
- /**
1069
- * This method sets the active item, given a list of items and the delta between the
1070
- * currently active item and the new active item. It will calculate differently
1071
- * depending on whether wrap mode is turned on.
1072
- */
1073
- private _setActiveItemByDelta;
1074
- /**
1075
- * Sets the active item properly given "wrap" mode. In other words, it will continue to move
1076
- * down the list until it finds an item that is not disabled, and it will wrap if it
1077
- * encounters either end of the list.
1078
- */
1079
- private _setActiveInWrapMode;
1080
- /**
1081
- * Sets the active item properly given the default mode. In other words, it will
1082
- * continue to move down the list until it finds an item that is not disabled. If
1083
- * it encounters either end of the list, it will stop and not wrap.
1084
- */
1085
- private _setActiveInDefaultMode;
1086
- /**
1087
- * Sets the active item to the first enabled item starting at the index specified. If the
1088
- * item is disabled, it will move in the fallbackDelta direction until it either
1089
- * finds an enabled item or encounters the end of the list.
1090
- */
1091
- private _setActiveItemByIndex;
1092
- /** Returns the items as an array. */
1093
- private _getItemsArray;
1094
- }
1095
-
1096
- /** Modifier keys handled by the ListKeyManager. */
1097
- export declare type ListKeyManagerModifierKey = 'altKey' | 'ctrlKey' | 'metaKey' | 'shiftKey';
1098
-
1099
- /** This interface is for items that can be passed to a ListKeyManager. */
1100
- export declare interface ListKeyManagerOption {
1101
- /** Whether the option is disabled. */
1102
- disabled?: boolean;
1103
- /** Gets the label for this option. */
1104
- getLabel?(): string;
1105
- }
1106
-
1107
- /** Injection token that can be used to configure the default options for the LiveAnnouncer. */
1108
- export declare const LIVE_ANNOUNCER_DEFAULT_OPTIONS: InjectionToken<LiveAnnouncerDefaultOptions>;
1109
-
1110
- export declare const LIVE_ANNOUNCER_ELEMENT_TOKEN: InjectionToken<HTMLElement | null>;
1111
-
1112
- /** @docs-private */
1113
- export declare function LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY(): null;
1114
-
1115
- export declare class LiveAnnouncer implements OnDestroy {
1116
- private _ngZone;
1117
- private _defaultOptions?;
1118
- private _liveElement;
1119
- private _document;
1120
- private _previousTimeout;
1121
- private _currentPromise;
1122
- private _currentResolve;
1123
- constructor(
1124
- elementToken: any,
1125
- _ngZone: NgZone,
1126
- _document: any,
1127
- _defaultOptions?: LiveAnnouncerDefaultOptions | undefined
1128
- );
1129
- /**
1130
- * Announces a message to screen readers.
1131
- * @param message Message to be announced to the screen reader.
1132
- * @returns Promise that will be resolved when the message is added to the DOM.
1133
- */
1134
- announce(message: string): Promise<void>;
1135
- /**
1136
- * Announces a message to screen readers.
1137
- * @param message Message to be announced to the screen reader.
1138
- * @param politeness The politeness of the announcer element.
1139
- * @returns Promise that will be resolved when the message is added to the DOM.
1140
- */
1141
- announce(message: string, politeness?: AriaLivePoliteness): Promise<void>;
1142
- /**
1143
- * Announces a message to screen readers.
1144
- * @param message Message to be announced to the screen reader.
1145
- * @param duration Time in milliseconds after which to clear out the announcer element. Note
1146
- * that this takes effect after the message has been added to the DOM, which can be up to
1147
- * 100ms after `announce` has been called.
1148
- * @returns Promise that will be resolved when the message is added to the DOM.
1149
- */
1150
- announce(message: string, duration?: number): Promise<void>;
1151
- /**
1152
- * Announces a message to screen readers.
1153
- * @param message Message to be announced to the screen reader.
1154
- * @param politeness The politeness of the announcer element.
1155
- * @param duration Time in milliseconds after which to clear out the announcer element. Note
1156
- * that this takes effect after the message has been added to the DOM, which can be up to
1157
- * 100ms after `announce` has been called.
1158
- * @returns Promise that will be resolved when the message is added to the DOM.
1159
- */
1160
- announce(message: string, politeness?: AriaLivePoliteness, duration?: number): Promise<void>;
1161
- /**
1162
- * Clears the current text from the announcer element. Can be used to prevent
1163
- * screen readers from reading the text out again while the user is going
1164
- * through the page landmarks.
1165
- */
1166
- clear(): void;
1167
- ngOnDestroy(): void;
1168
- private _createLiveElement;
1169
- static ɵfac: i0.ɵɵFactoryDeclaration<
1170
- LiveAnnouncer,
1171
- [{ optional: true }, null, null, { optional: true }]
1172
- >;
1173
- static ɵprov: i0.ɵɵInjectableDeclaration<LiveAnnouncer>;
1174
- }
1175
-
1176
- /** Object that can be used to configure the default options for the LiveAnnouncer. */
1177
- export declare interface LiveAnnouncerDefaultOptions {
1178
- /** Default politeness for the announcements. */
1179
- politeness?: AriaLivePoliteness;
1180
- /** Default duration for the announcement messages. */
1181
- duration?: number;
1182
- }
1183
-
1184
- /**
1185
- * A FocusTrap managed by FocusTrapManager.
1186
- * Implemented by ConfigurableFocusTrap to avoid circular dependency.
1187
- */
1188
- declare interface ManagedFocusTrap {
1189
- _enable(): void;
1190
- _disable(): void;
1191
- focusInitialElementWhenReady(): Promise<boolean>;
1192
- }
1193
-
1194
- /**
1195
- * ID used for the body container where all messages are appended.
1196
- * @deprecated No longer being used. To be removed.
1197
- * @breaking-change 14.0.0
1198
- */
1199
- export declare const MESSAGES_CONTAINER_ID = 'cdk-describedby-message-container';
1200
-
1201
- /**
1202
- * Interface used to register message elements and keep a count of how many registrations have
1203
- * the same message and the reference to the message element used for the `aria-describedby`.
1204
- */
1205
- export declare interface RegisteredMessage {
1206
- /** The element containing the message. */
1207
- messageElement: Element;
1208
- /** The number of elements that reference this message element via `aria-describedby`. */
1209
- referenceCount: number;
1210
- }
1211
-
1212
- export {};
1
+ import * as i0 from '@angular/core';
2
+ import { OnDestroy, Provider, QueryList, InjectionToken, NgZone, Injector } from '@angular/core';
3
+ export { ActiveDescendantKeyManager, Highlightable } from '../activedescendant-key-manager.d.js';
4
+ export { FocusKeyManager, FocusableOption } from '../focus-key-manager.d.js';
5
+ export { ListKeyManager, ListKeyManagerModifierKey, ListKeyManagerOption } from '../list-key-manager.d.js';
6
+ import { Subject, Observable } from 'rxjs';
7
+ import { TreeKeyManagerItem, TreeKeyManagerStrategy, TreeKeyManagerFactory, TreeKeyManagerOptions } from '../tree-key-manager-strategy.d.js';
8
+ import { FocusTrap, InteractivityChecker } from '../a11y-module.d.js';
9
+ export { A11yModule, AriaLivePoliteness, CdkAriaLive, CdkTrapFocus, FocusTrapFactory, IsFocusableConfig, LIVE_ANNOUNCER_DEFAULT_OPTIONS, LIVE_ANNOUNCER_ELEMENT_TOKEN, LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY, LiveAnnouncer, LiveAnnouncerDefaultOptions } from '../a11y-module.d.js';
10
+ export { CdkMonitorFocus, FOCUS_MONITOR_DEFAULT_OPTIONS, FocusMonitor, FocusMonitorDetectionMode, FocusMonitorOptions, FocusOptions, FocusOrigin } from '../focus-monitor.d.js';
11
+ import '../observers/index.js';
12
+ import '../number-property.d.js';
13
+
14
+ /**
15
+ * Interface used to register message elements and keep a count of how many registrations have
16
+ * the same message and the reference to the message element used for the `aria-describedby`.
17
+ */
18
+ interface RegisteredMessage {
19
+ /** The element containing the message. */
20
+ messageElement: Element;
21
+ /** The number of elements that reference this message element via `aria-describedby`. */
22
+ referenceCount: number;
23
+ }
24
+ /**
25
+ * ID used for the body container where all messages are appended.
26
+ * @deprecated No longer being used. To be removed.
27
+ * @breaking-change 14.0.0
28
+ */
29
+ declare const MESSAGES_CONTAINER_ID = "cdk-describedby-message-container";
30
+ /**
31
+ * ID prefix used for each created message element.
32
+ * @deprecated To be turned into a private variable.
33
+ * @breaking-change 14.0.0
34
+ */
35
+ declare const CDK_DESCRIBEDBY_ID_PREFIX = "cdk-describedby-message";
36
+ /**
37
+ * Attribute given to each host element that is described by a message element.
38
+ * @deprecated To be turned into a private variable.
39
+ * @breaking-change 14.0.0
40
+ */
41
+ declare const CDK_DESCRIBEDBY_HOST_ATTRIBUTE = "cdk-describedby-host";
42
+ /**
43
+ * Utility that creates visually hidden elements with a message content. Useful for elements that
44
+ * want to use aria-describedby to further describe themselves without adding additional visual
45
+ * content.
46
+ */
47
+ declare class AriaDescriber implements OnDestroy {
48
+ private _platform;
49
+ private _document;
50
+ /** Map of all registered message elements that have been placed into the document. */
51
+ private _messageRegistry;
52
+ /** Container for all registered messages. */
53
+ private _messagesContainer;
54
+ /** Unique ID for the service. */
55
+ private readonly _id;
56
+ constructor(...args: unknown[]);
57
+ /**
58
+ * Adds to the host element an aria-describedby reference to a hidden element that contains
59
+ * the message. If the same message has already been registered, then it will reuse the created
60
+ * message element.
61
+ */
62
+ describe(hostElement: Element, message: string, role?: string): void;
63
+ /**
64
+ * Adds to the host element an aria-describedby reference to an already-existing message element.
65
+ */
66
+ describe(hostElement: Element, message: HTMLElement): void;
67
+ /** Removes the host element's aria-describedby reference to the message. */
68
+ removeDescription(hostElement: Element, message: string, role?: string): void;
69
+ /** Removes the host element's aria-describedby reference to the message element. */
70
+ removeDescription(hostElement: Element, message: HTMLElement): void;
71
+ /** Unregisters all created message elements and removes the message container. */
72
+ ngOnDestroy(): void;
73
+ /**
74
+ * Creates a new element in the visually hidden message container element with the message
75
+ * as its content and adds it to the message registry.
76
+ */
77
+ private _createMessageElement;
78
+ /** Deletes the message element from the global messages container. */
79
+ private _deleteMessageElement;
80
+ /** Creates the global container for all aria-describedby messages. */
81
+ private _createMessagesContainer;
82
+ /** Removes all cdk-describedby messages that are hosted through the element. */
83
+ private _removeCdkDescribedByReferenceIds;
84
+ /**
85
+ * Adds a message reference to the element using aria-describedby and increments the registered
86
+ * message's reference count.
87
+ */
88
+ private _addMessageReference;
89
+ /**
90
+ * Removes a message reference from the element using aria-describedby
91
+ * and decrements the registered message's reference count.
92
+ */
93
+ private _removeMessageReference;
94
+ /** Returns true if the element has been described by the provided message ID. */
95
+ private _isElementDescribedByMessage;
96
+ /** Determines whether a message can be described on a particular element. */
97
+ private _canBeDescribed;
98
+ /** Checks whether a node is an Element node. */
99
+ private _isElementNode;
100
+ static ɵfac: i0.ɵɵFactoryDeclaration<AriaDescriber, never>;
101
+ static ɵprov: i0.ɵɵInjectableDeclaration<AriaDescriber>;
102
+ }
103
+
104
+ /**
105
+ * Adds the given ID to the specified ARIA attribute on an element.
106
+ * Used for attributes such as aria-labelledby, aria-owns, etc.
107
+ */
108
+ declare function addAriaReferencedId(el: Element, attr: `aria-${string}`, id: string): void;
109
+ /**
110
+ * Removes the given ID from the specified ARIA attribute on an element.
111
+ * Used for attributes such as aria-labelledby, aria-owns, etc.
112
+ */
113
+ declare function removeAriaReferencedId(el: Element, attr: `aria-${string}`, id: string): void;
114
+ /**
115
+ * Gets the list of IDs referenced by the given ARIA attribute on an element.
116
+ * Used for attributes such as aria-labelledby, aria-owns, etc.
117
+ */
118
+ declare function getAriaReferenceIds(el: Element, attr: string): string[];
119
+
120
+ /**
121
+ * @docs-private
122
+ *
123
+ * Opt-out of Tree of key manager behavior.
124
+ *
125
+ * When provided, Tree has same focus management behavior as before TreeKeyManager was introduced.
126
+ * - Tree does not respond to keyboard interaction
127
+ * - Tree node allows tabindex to be set by Input binding
128
+ * - Tree node allows tabindex to be set by attribute binding
129
+ *
130
+ * @deprecated NoopTreeKeyManager deprecated. Use TreeKeyManager or inject a
131
+ * TreeKeyManagerStrategy instead. To be removed in a future version.
132
+ *
133
+ * @breaking-change 21.0.0
134
+ */
135
+ declare class NoopTreeKeyManager<T extends TreeKeyManagerItem> implements TreeKeyManagerStrategy<T> {
136
+ readonly _isNoopTreeKeyManager = true;
137
+ readonly change: Subject<T | null>;
138
+ destroy(): void;
139
+ onKeydown(): void;
140
+ getActiveItemIndex(): null;
141
+ getActiveItem(): null;
142
+ focusItem(): void;
143
+ }
144
+ /**
145
+ * @docs-private
146
+ *
147
+ * Opt-out of Tree of key manager behavior.
148
+ *
149
+ * When provided, Tree has same focus management behavior as before TreeKeyManager was introduced.
150
+ * - Tree does not respond to keyboard interaction
151
+ * - Tree node allows tabindex to be set by Input binding
152
+ * - Tree node allows tabindex to be set by attribute binding
153
+ *
154
+ * @deprecated NoopTreeKeyManager deprecated. Use TreeKeyManager or inject a
155
+ * TreeKeyManagerStrategy instead. To be removed in a future version.
156
+ *
157
+ * @breaking-change 21.0.0
158
+ */
159
+ declare function NOOP_TREE_KEY_MANAGER_FACTORY<T extends TreeKeyManagerItem>(): TreeKeyManagerFactory<T>;
160
+ /**
161
+ * @docs-private
162
+ *
163
+ * Opt-out of Tree of key manager behavior.
164
+ *
165
+ * When provided, Tree has same focus management behavior as before TreeKeyManager was introduced.
166
+ * - Tree does not respond to keyboard interaction
167
+ * - Tree node allows tabindex to be set by Input binding
168
+ * - Tree node allows tabindex to be set by attribute binding
169
+ *
170
+ * @deprecated NoopTreeKeyManager deprecated. Use TreeKeyManager or inject a
171
+ * TreeKeyManagerStrategy instead. To be removed in a future version.
172
+ *
173
+ * @breaking-change 21.0.0
174
+ */
175
+ declare const NOOP_TREE_KEY_MANAGER_FACTORY_PROVIDER: Provider;
176
+
177
+ /**
178
+ * This class manages keyboard events for trees. If you pass it a QueryList or other list of tree
179
+ * items, it will set the active item, focus, handle expansion and typeahead correctly when
180
+ * keyboard events occur.
181
+ */
182
+ declare class TreeKeyManager<T extends TreeKeyManagerItem> implements TreeKeyManagerStrategy<T> {
183
+ /** The index of the currently active (focused) item. */
184
+ private _activeItemIndex;
185
+ /** The currently active (focused) item. */
186
+ private _activeItem;
187
+ /** Whether or not we activate the item when it's focused. */
188
+ private _shouldActivationFollowFocus;
189
+ /**
190
+ * The orientation that the tree is laid out in. In `rtl` mode, the behavior of Left and
191
+ * Right arrow are switched.
192
+ */
193
+ private _horizontalOrientation;
194
+ /**
195
+ * Predicate function that can be used to check whether an item should be skipped
196
+ * by the key manager.
197
+ *
198
+ * The default value for this doesn't skip any elements in order to keep tree items focusable
199
+ * when disabled. This aligns with ARIA guidelines:
200
+ * https://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/#focusabilityofdisabledcontrols.
201
+ */
202
+ private _skipPredicateFn;
203
+ /** Function to determine equivalent items. */
204
+ private _trackByFn;
205
+ /** Synchronous cache of the items to manage. */
206
+ private _items;
207
+ private _typeahead?;
208
+ private _typeaheadSubscription;
209
+ private _hasInitialFocused;
210
+ private _initializeFocus;
211
+ /**
212
+ *
213
+ * @param items List of TreeKeyManager options. Can be synchronous or asynchronous.
214
+ * @param config Optional configuration options. By default, use 'ltr' horizontal orientation. By
215
+ * default, do not skip any nodes. By default, key manager only calls `focus` method when items
216
+ * are focused and does not call `activate`. If `typeaheadDefaultInterval` is `true`, use a
217
+ * default interval of 200ms.
218
+ */
219
+ constructor(items: Observable<T[]> | QueryList<T> | T[], config: TreeKeyManagerOptions<T>);
220
+ /** Stream that emits any time the focused item changes. */
221
+ readonly change: Subject<T | null>;
222
+ /** Cleans up the key manager. */
223
+ destroy(): void;
224
+ /**
225
+ * Handles a keyboard event on the tree.
226
+ * @param event Keyboard event that represents the user interaction with the tree.
227
+ */
228
+ onKeydown(event: KeyboardEvent): void;
229
+ /** Index of the currently active item. */
230
+ getActiveItemIndex(): number | null;
231
+ /** The currently active item. */
232
+ getActiveItem(): T | null;
233
+ /** Focus the first available item. */
234
+ private _focusFirstItem;
235
+ /** Focus the last available item. */
236
+ private _focusLastItem;
237
+ /** Focus the next available item. */
238
+ private _focusNextItem;
239
+ /** Focus the previous available item. */
240
+ private _focusPreviousItem;
241
+ /**
242
+ * Focus the provided item by index.
243
+ * @param index The index of the item to focus.
244
+ * @param options Additional focusing options.
245
+ */
246
+ focusItem(index: number, options?: {
247
+ emitChangeEvent?: boolean;
248
+ }): void;
249
+ focusItem(item: T, options?: {
250
+ emitChangeEvent?: boolean;
251
+ }): void;
252
+ focusItem(itemOrIndex: number | T, options?: {
253
+ emitChangeEvent?: boolean;
254
+ }): void;
255
+ private _updateActiveItemIndex;
256
+ private _setTypeAhead;
257
+ private _findNextAvailableItemIndex;
258
+ private _findPreviousAvailableItemIndex;
259
+ /**
260
+ * If the item is already expanded, we collapse the item. Otherwise, we will focus the parent.
261
+ */
262
+ private _collapseCurrentItem;
263
+ /**
264
+ * If the item is already collapsed, we expand the item. Otherwise, we will focus the first child.
265
+ */
266
+ private _expandCurrentItem;
267
+ private _isCurrentItemExpanded;
268
+ private _isItemDisabled;
269
+ /** For all items that are the same level as the current item, we expand those items. */
270
+ private _expandAllItemsAtCurrentItemLevel;
271
+ private _activateCurrentItem;
272
+ }
273
+ /**
274
+ * @docs-private
275
+ * @deprecated No longer used, will be removed.
276
+ * @breaking-change 21.0.0
277
+ */
278
+ declare function TREE_KEY_MANAGER_FACTORY<T extends TreeKeyManagerItem>(): TreeKeyManagerFactory<T>;
279
+ /** Injection token that determines the key manager to use. */
280
+ declare const TREE_KEY_MANAGER: InjectionToken<TreeKeyManagerFactory<any>>;
281
+ /**
282
+ * @docs-private
283
+ * @deprecated No longer used, will be removed.
284
+ * @breaking-change 21.0.0
285
+ */
286
+ declare const TREE_KEY_MANAGER_FACTORY_PROVIDER: {
287
+ provide: InjectionToken<TreeKeyManagerFactory<any>>;
288
+ useFactory: typeof TREE_KEY_MANAGER_FACTORY;
289
+ };
290
+
291
+ /**
292
+ * Options for creating a ConfigurableFocusTrap.
293
+ */
294
+ interface ConfigurableFocusTrapConfig {
295
+ /**
296
+ * Whether to defer the creation of FocusTrap elements to be done manually by the user.
297
+ */
298
+ defer: boolean;
299
+ }
300
+
301
+ /** The injection token used to specify the inert strategy. */
302
+ declare const FOCUS_TRAP_INERT_STRATEGY: InjectionToken<FocusTrapInertStrategy>;
303
+ /**
304
+ * A strategy that dictates how FocusTrap should prevent elements
305
+ * outside of the FocusTrap from being focused.
306
+ */
307
+ interface FocusTrapInertStrategy {
308
+ /** Makes all elements outside focusTrap unfocusable. */
309
+ preventFocus(focusTrap: FocusTrap): void;
310
+ /** Reverts elements made unfocusable by preventFocus to their previous state. */
311
+ allowFocus(focusTrap: FocusTrap): void;
312
+ }
313
+
314
+ /**
315
+ * A FocusTrap managed by FocusTrapManager.
316
+ * Implemented by ConfigurableFocusTrap to avoid circular dependency.
317
+ */
318
+ interface ManagedFocusTrap {
319
+ _enable(): void;
320
+ _disable(): void;
321
+ focusInitialElementWhenReady(): Promise<boolean>;
322
+ }
323
+ /** Injectable that ensures only the most recently enabled FocusTrap is active. */
324
+ declare class FocusTrapManager {
325
+ private _focusTrapStack;
326
+ /**
327
+ * Disables the FocusTrap at the top of the stack, and then pushes
328
+ * the new FocusTrap onto the stack.
329
+ */
330
+ register(focusTrap: ManagedFocusTrap): void;
331
+ /**
332
+ * Removes the FocusTrap from the stack, and activates the
333
+ * FocusTrap that is the new top of the stack.
334
+ */
335
+ deregister(focusTrap: ManagedFocusTrap): void;
336
+ static ɵfac: i0.ɵɵFactoryDeclaration<FocusTrapManager, never>;
337
+ static ɵprov: i0.ɵɵInjectableDeclaration<FocusTrapManager>;
338
+ }
339
+
340
+ /**
341
+ * Class that allows for trapping focus within a DOM element.
342
+ *
343
+ * This class uses a strategy pattern that determines how it traps focus.
344
+ * See FocusTrapInertStrategy.
345
+ */
346
+ declare class ConfigurableFocusTrap extends FocusTrap implements ManagedFocusTrap {
347
+ private _focusTrapManager;
348
+ private _inertStrategy;
349
+ /** Whether the FocusTrap is enabled. */
350
+ get enabled(): boolean;
351
+ set enabled(value: boolean);
352
+ constructor(_element: HTMLElement, _checker: InteractivityChecker, _ngZone: NgZone, _document: Document, _focusTrapManager: FocusTrapManager, _inertStrategy: FocusTrapInertStrategy, config: ConfigurableFocusTrapConfig, injector?: Injector);
353
+ /** Notifies the FocusTrapManager that this FocusTrap will be destroyed. */
354
+ destroy(): void;
355
+ /** @docs-private Implemented as part of ManagedFocusTrap. */
356
+ _enable(): void;
357
+ /** @docs-private Implemented as part of ManagedFocusTrap. */
358
+ _disable(): void;
359
+ }
360
+
361
+ /** Factory that allows easy instantiation of configurable focus traps. */
362
+ declare class ConfigurableFocusTrapFactory {
363
+ private _checker;
364
+ private _ngZone;
365
+ private _focusTrapManager;
366
+ private _document;
367
+ private _inertStrategy;
368
+ private readonly _injector;
369
+ constructor(...args: unknown[]);
370
+ /**
371
+ * Creates a focus-trapped region around the given element.
372
+ * @param element The element around which focus will be trapped.
373
+ * @param config The focus trap configuration.
374
+ * @returns The created focus trap instance.
375
+ */
376
+ create(element: HTMLElement, config?: ConfigurableFocusTrapConfig): ConfigurableFocusTrap;
377
+ /**
378
+ * @deprecated Pass a config object instead of the `deferCaptureElements` flag.
379
+ * @breaking-change 11.0.0
380
+ */
381
+ create(element: HTMLElement, deferCaptureElements: boolean): ConfigurableFocusTrap;
382
+ static ɵfac: i0.ɵɵFactoryDeclaration<ConfigurableFocusTrapFactory, never>;
383
+ static ɵprov: i0.ɵɵInjectableDeclaration<ConfigurableFocusTrapFactory>;
384
+ }
385
+
386
+ /**
387
+ * Lightweight FocusTrapInertStrategy that adds a document focus event
388
+ * listener to redirect focus back inside the FocusTrap.
389
+ */
390
+ declare class EventListenerFocusTrapInertStrategy implements FocusTrapInertStrategy {
391
+ /** Focus event handler. */
392
+ private _listener;
393
+ /** Adds a document event listener that keeps focus inside the FocusTrap. */
394
+ preventFocus(focusTrap: ConfigurableFocusTrap): void;
395
+ /** Removes the event listener added in preventFocus. */
396
+ allowFocus(focusTrap: ConfigurableFocusTrap): void;
397
+ /**
398
+ * Refocuses the first element in the FocusTrap if the focus event target was outside
399
+ * the FocusTrap.
400
+ *
401
+ * This is an event listener callback. The event listener is added in runOutsideAngular,
402
+ * so all this code runs outside Angular as well.
403
+ */
404
+ private _trapFocus;
405
+ }
406
+
407
+ /**
408
+ * The input modalities detected by this service. Null is used if the input modality is unknown.
409
+ */
410
+ type InputModality = 'keyboard' | 'mouse' | 'touch' | null;
411
+ /** Options to configure the behavior of the InputModalityDetector. */
412
+ interface InputModalityDetectorOptions {
413
+ /** Keys to ignore when detecting keyboard input modality. */
414
+ ignoreKeys?: number[];
415
+ }
416
+ /**
417
+ * Injectable options for the InputModalityDetector. These are shallowly merged with the default
418
+ * options.
419
+ */
420
+ declare const INPUT_MODALITY_DETECTOR_OPTIONS: InjectionToken<InputModalityDetectorOptions>;
421
+ /**
422
+ * Default options for the InputModalityDetector.
423
+ *
424
+ * Modifier keys are ignored by default (i.e. when pressed won't cause the service to detect
425
+ * keyboard input modality) for two reasons:
426
+ *
427
+ * 1. Modifier keys are commonly used with mouse to perform actions such as 'right click' or 'open
428
+ * in new tab', and are thus less representative of actual keyboard interaction.
429
+ * 2. VoiceOver triggers some keyboard events when linearly navigating with Control + Option (but
430
+ * confusingly not with Caps Lock). Thus, to have parity with other screen readers, we ignore
431
+ * these keys so as to not update the input modality.
432
+ *
433
+ * Note that we do not by default ignore the right Meta key on Safari because it has the same key
434
+ * code as the ContextMenu key on other browsers. When we switch to using event.key, we can
435
+ * distinguish between the two.
436
+ */
437
+ declare const INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS: InputModalityDetectorOptions;
438
+ /**
439
+ * Service that detects the user's input modality.
440
+ *
441
+ * This service does not update the input modality when a user navigates with a screen reader
442
+ * (e.g. linear navigation with VoiceOver, object navigation / browse mode with NVDA, virtual PC
443
+ * cursor mode with JAWS). This is in part due to technical limitations (i.e. keyboard events do not
444
+ * fire as expected in these modes) but is also arguably the correct behavior. Navigating with a
445
+ * screen reader is akin to visually scanning a page, and should not be interpreted as actual user
446
+ * input interaction.
447
+ *
448
+ * When a user is not navigating but *interacting* with a screen reader, this service attempts to
449
+ * update the input modality to keyboard, but in general this service's behavior is largely
450
+ * undefined.
451
+ */
452
+ declare class InputModalityDetector implements OnDestroy {
453
+ private readonly _platform;
454
+ private readonly _listenerCleanups;
455
+ /** Emits whenever an input modality is detected. */
456
+ readonly modalityDetected: Observable<InputModality>;
457
+ /** Emits when the input modality changes. */
458
+ readonly modalityChanged: Observable<InputModality>;
459
+ /** The most recently detected input modality. */
460
+ get mostRecentModality(): InputModality;
461
+ /**
462
+ * The most recently detected input modality event target. Is null if no input modality has been
463
+ * detected or if the associated event target is null for some unknown reason.
464
+ */
465
+ _mostRecentTarget: HTMLElement | null;
466
+ /** The underlying BehaviorSubject that emits whenever an input modality is detected. */
467
+ private readonly _modality;
468
+ /** Options for this InputModalityDetector. */
469
+ private readonly _options;
470
+ /**
471
+ * The timestamp of the last touch input modality. Used to determine whether mousedown events
472
+ * should be attributed to mouse or touch.
473
+ */
474
+ private _lastTouchMs;
475
+ /**
476
+ * Handles keydown events. Must be an arrow function in order to preserve the context when it gets
477
+ * bound.
478
+ */
479
+ private _onKeydown;
480
+ /**
481
+ * Handles mousedown events. Must be an arrow function in order to preserve the context when it
482
+ * gets bound.
483
+ */
484
+ private _onMousedown;
485
+ /**
486
+ * Handles touchstart events. Must be an arrow function in order to preserve the context when it
487
+ * gets bound.
488
+ */
489
+ private _onTouchstart;
490
+ constructor(...args: unknown[]);
491
+ ngOnDestroy(): void;
492
+ static ɵfac: i0.ɵɵFactoryDeclaration<InputModalityDetector, never>;
493
+ static ɵprov: i0.ɵɵInjectableDeclaration<InputModalityDetector>;
494
+ }
495
+
496
+ /** Gets whether an event could be a faked `mousedown` event dispatched by a screen reader. */
497
+ declare function isFakeMousedownFromScreenReader(event: MouseEvent): boolean;
498
+ /** Gets whether an event could be a faked `touchstart` event dispatched by a screen reader. */
499
+ declare function isFakeTouchstartFromScreenReader(event: TouchEvent): boolean;
500
+
501
+ /** Set of possible high-contrast mode backgrounds. */
502
+ declare enum HighContrastMode {
503
+ NONE = 0,
504
+ BLACK_ON_WHITE = 1,
505
+ WHITE_ON_BLACK = 2
506
+ }
507
+ /**
508
+ * Service to determine whether the browser is currently in a high-contrast-mode environment.
509
+ *
510
+ * Microsoft Windows supports an accessibility feature called "High Contrast Mode". This mode
511
+ * changes the appearance of all applications, including web applications, to dramatically increase
512
+ * contrast.
513
+ *
514
+ * IE, Edge, and Firefox currently support this mode. Chrome does not support Windows High Contrast
515
+ * Mode. This service does not detect high-contrast mode as added by the Chrome "High Contrast"
516
+ * browser extension.
517
+ */
518
+ declare class HighContrastModeDetector implements OnDestroy {
519
+ private _platform;
520
+ /**
521
+ * Figuring out the high contrast mode and adding the body classes can cause
522
+ * some expensive layouts. This flag is used to ensure that we only do it once.
523
+ */
524
+ private _hasCheckedHighContrastMode;
525
+ private _document;
526
+ private _breakpointSubscription;
527
+ constructor(...args: unknown[]);
528
+ /** Gets the current high-contrast-mode for the page. */
529
+ getHighContrastMode(): HighContrastMode;
530
+ ngOnDestroy(): void;
531
+ /** Applies CSS classes indicating high-contrast mode to document body (browser-only). */
532
+ _applyBodyHighContrastModeCssClasses(): void;
533
+ static ɵfac: i0.ɵɵFactoryDeclaration<HighContrastModeDetector, never>;
534
+ static ɵprov: i0.ɵɵInjectableDeclaration<HighContrastModeDetector>;
535
+ }
536
+
537
+ /** Service that generates unique IDs for DOM nodes. */
538
+ declare class _IdGenerator {
539
+ private _appId;
540
+ /**
541
+ * Generates a unique ID with a specific prefix.
542
+ * @param prefix Prefix to add to the ID.
543
+ */
544
+ getId(prefix: string): string;
545
+ static ɵfac: i0.ɵɵFactoryDeclaration<_IdGenerator, never>;
546
+ static ɵprov: i0.ɵɵInjectableDeclaration<_IdGenerator>;
547
+ }
548
+
549
+ export { AriaDescriber, CDK_DESCRIBEDBY_HOST_ATTRIBUTE, CDK_DESCRIBEDBY_ID_PREFIX, ConfigurableFocusTrap, ConfigurableFocusTrapFactory, EventListenerFocusTrapInertStrategy, FOCUS_TRAP_INERT_STRATEGY, FocusTrap, HighContrastMode, HighContrastModeDetector, INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS, INPUT_MODALITY_DETECTOR_OPTIONS, InputModalityDetector, InteractivityChecker, MESSAGES_CONTAINER_ID, NOOP_TREE_KEY_MANAGER_FACTORY, NOOP_TREE_KEY_MANAGER_FACTORY_PROVIDER, NoopTreeKeyManager, TREE_KEY_MANAGER, TREE_KEY_MANAGER_FACTORY, TREE_KEY_MANAGER_FACTORY_PROVIDER, TreeKeyManager, TreeKeyManagerFactory, TreeKeyManagerItem, TreeKeyManagerOptions, TreeKeyManagerStrategy, _IdGenerator, addAriaReferencedId, getAriaReferenceIds, isFakeMousedownFromScreenReader, isFakeTouchstartFromScreenReader, removeAriaReferencedId };
550
+ export type { ConfigurableFocusTrapConfig, FocusTrapInertStrategy, InputModality, InputModalityDetectorOptions, RegisteredMessage };