@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
@@ -0,0 +1,944 @@
1
+ /**
2
+ * Dimensions for element size and its position relative to the viewport.
3
+ */
4
+ interface ElementDimensions {
5
+ /** The distance from the top of the viewport in pixels */
6
+ top: number;
7
+ /** The distance from the left of the viewport in pixels */
8
+ left: number;
9
+ /** The width of the element in pixels */
10
+ width: number;
11
+ /** The height of the element in pixels */
12
+ height: number;
13
+ }
14
+
15
+ /** Modifier keys that may be held while typing. */
16
+ interface ModifierKeys {
17
+ control?: boolean;
18
+ alt?: boolean;
19
+ shift?: boolean;
20
+ meta?: boolean;
21
+ }
22
+ /** Data that can be attached to a custom event dispatched from a `TestElement`. */
23
+ type EventData = string | number | boolean | Function | undefined | null | EventData[] | {
24
+ [key: string]: EventData;
25
+ };
26
+ /** An enum of non-text keys that can be used with the `sendKeys` method. */
27
+ declare enum TestKey {
28
+ BACKSPACE = 0,
29
+ TAB = 1,
30
+ ENTER = 2,
31
+ SHIFT = 3,
32
+ CONTROL = 4,
33
+ ALT = 5,
34
+ ESCAPE = 6,
35
+ PAGE_UP = 7,
36
+ PAGE_DOWN = 8,
37
+ END = 9,
38
+ HOME = 10,
39
+ LEFT_ARROW = 11,
40
+ UP_ARROW = 12,
41
+ RIGHT_ARROW = 13,
42
+ DOWN_ARROW = 14,
43
+ INSERT = 15,
44
+ DELETE = 16,
45
+ F1 = 17,
46
+ F2 = 18,
47
+ F3 = 19,
48
+ F4 = 20,
49
+ F5 = 21,
50
+ F6 = 22,
51
+ F7 = 23,
52
+ F8 = 24,
53
+ F9 = 25,
54
+ F10 = 26,
55
+ F11 = 27,
56
+ F12 = 28,
57
+ META = 29,
58
+ COMMA = 30
59
+ }
60
+ /**
61
+ * This acts as a common interface for DOM elements across both unit and e2e tests. It is the
62
+ * interface through which the ComponentHarness interacts with the component's DOM.
63
+ */
64
+ interface TestElement {
65
+ /** Blur the element. */
66
+ blur(): Promise<void>;
67
+ /** Clear the element's input (for input and textarea elements only). */
68
+ clear(): Promise<void>;
69
+ /**
70
+ * Click the element at the default location for the current environment. If you need to guarantee
71
+ * the element is clicked at a specific location, consider using `click('center')` or
72
+ * `click(x, y)` instead.
73
+ */
74
+ click(modifiers?: ModifierKeys): Promise<void>;
75
+ /** Click the element at the element's center. */
76
+ click(location: 'center', modifiers?: ModifierKeys): Promise<void>;
77
+ /**
78
+ * Click the element at the specified coordinates relative to the top-left of the element.
79
+ * @param relativeX Coordinate within the element, along the X-axis at which to click.
80
+ * @param relativeY Coordinate within the element, along the Y-axis at which to click.
81
+ * @param modifiers Modifier keys held while clicking
82
+ */
83
+ click(relativeX: number, relativeY: number, modifiers?: ModifierKeys): Promise<void>;
84
+ /**
85
+ * Right clicks on the element at the specified coordinates relative to the top-left of it.
86
+ * @param relativeX Coordinate within the element, along the X-axis at which to click.
87
+ * @param relativeY Coordinate within the element, along the Y-axis at which to click.
88
+ * @param modifiers Modifier keys held while clicking
89
+ */
90
+ rightClick(relativeX: number, relativeY: number, modifiers?: ModifierKeys): Promise<void>;
91
+ /** Focus the element. */
92
+ focus(): Promise<void>;
93
+ /** Get the computed value of the given CSS property for the element. */
94
+ getCssValue(property: string): Promise<string>;
95
+ /** Hovers the mouse over the element. */
96
+ hover(): Promise<void>;
97
+ /** Moves the mouse away from the element. */
98
+ mouseAway(): Promise<void>;
99
+ /**
100
+ * Sends the given string to the input as a series of key presses. Also fires input events
101
+ * and attempts to add the string to the Element's value. Note that some environments cannot
102
+ * reproduce native browser behavior for keyboard shortcuts such as Tab, Ctrl + A, etc.
103
+ * @throws An error if no keys have been specified.
104
+ */
105
+ sendKeys(...keys: (string | TestKey)[]): Promise<void>;
106
+ /**
107
+ * Sends the given string to the input as a series of key presses. Also fires input
108
+ * events and attempts to add the string to the Element's value.
109
+ * @throws An error if no keys have been specified.
110
+ */
111
+ sendKeys(modifiers: ModifierKeys, ...keys: (string | TestKey)[]): Promise<void>;
112
+ /**
113
+ * Gets the text from the element.
114
+ * @param options Options that affect what text is included.
115
+ */
116
+ text(options?: TextOptions): Promise<string>;
117
+ /**
118
+ * Sets the value of a `contenteditable` element.
119
+ * @param value Value to be set on the element.
120
+ * @breaking-change 16.0.0 Will become a required method.
121
+ */
122
+ setContenteditableValue?(value: string): Promise<void>;
123
+ /** Gets the value for the given attribute from the element. */
124
+ getAttribute(name: string): Promise<string | null>;
125
+ /** Checks whether the element has the given class. */
126
+ hasClass(name: string): Promise<boolean>;
127
+ /** Gets the dimensions of the element. */
128
+ getDimensions(): Promise<ElementDimensions>;
129
+ /** Gets the value of a property of an element. */
130
+ getProperty<T = any>(name: string): Promise<T>;
131
+ /** Checks whether this element matches the given selector. */
132
+ matchesSelector(selector: string): Promise<boolean>;
133
+ /** Checks whether the element is focused. */
134
+ isFocused(): Promise<boolean>;
135
+ /** Sets the value of a property of an input. */
136
+ setInputValue(value: string): Promise<void>;
137
+ /** Selects the options at the specified indexes inside of a native `select` element. */
138
+ selectOptions(...optionIndexes: number[]): Promise<void>;
139
+ /**
140
+ * Dispatches an event with a particular name.
141
+ * @param name Name of the event to be dispatched.
142
+ */
143
+ dispatchEvent(name: string, data?: Record<string, EventData>): Promise<void>;
144
+ }
145
+ /**
146
+ * Options that affect the text returned by `TestElement.text`.
147
+ */
148
+ interface TextOptions {
149
+ /** Optional selector for elements whose content should be excluded from the text string. */
150
+ exclude?: string;
151
+ }
152
+
153
+ /**
154
+ * An async function that returns a promise when called.
155
+ * @deprecated This was just an alias for `() => Promise<T>`. Use that instead.
156
+ * @breaking-change 21.0.0 Remove this alias.
157
+ * @docs-private
158
+ */
159
+ type AsyncFactoryFn<T> = () => Promise<T>;
160
+ /** An async function that takes an item and returns a boolean promise */
161
+ type AsyncPredicate<T> = (item: T) => Promise<boolean>;
162
+ /** An async function that takes an item and an option value and returns a boolean promise. */
163
+ type AsyncOptionPredicate<T, O> = (item: T, option: O) => Promise<boolean>;
164
+ /**
165
+ * A query for a `ComponentHarness`, which is expressed as either a `ComponentHarnessConstructor` or
166
+ * a `HarnessPredicate`.
167
+ */
168
+ type HarnessQuery<T extends ComponentHarness> = ComponentHarnessConstructor<T> | HarnessPredicate<T>;
169
+ /**
170
+ * The result type obtained when searching using a particular list of queries. This type depends on
171
+ * the particular items being queried.
172
+ * - If one of the queries is for a `ComponentHarnessConstructor<C1>`, it means that the result
173
+ * might be a harness of type `C1`
174
+ * - If one of the queries is for a `HarnessPredicate<C2>`, it means that the result might be a
175
+ * harness of type `C2`
176
+ * - If one of the queries is for a `string`, it means that the result might be a `TestElement`.
177
+ *
178
+ * Since we don't know for sure which query will match, the result type if the union of the types
179
+ * for all possible results.
180
+ *
181
+ * @usageNotes
182
+ * ### Example
183
+ *
184
+ * The type:
185
+ * ```ts
186
+ * LocatorFnResult<[
187
+ * ComponentHarnessConstructor<MyHarness>,
188
+ * HarnessPredicate<MyOtherHarness>,
189
+ * string
190
+ * ]>
191
+ * ```
192
+ *
193
+ * is equivalent to:
194
+ *
195
+ * ```ts
196
+ * MyHarness | MyOtherHarness | TestElement
197
+ * ```
198
+ */
199
+ type LocatorFnResult<T extends (HarnessQuery<any> | string)[]> = {
200
+ [I in keyof T]: T[I] extends new (...args: any[]) => infer C ? C : T[I] extends {
201
+ harnessType: new (...args: any[]) => infer C;
202
+ } ? C : T[I] extends string ? TestElement : never;
203
+ }[number];
204
+ /**
205
+ * Interface used to load ComponentHarness objects. This interface is used by test authors to
206
+ * instantiate `ComponentHarness`es.
207
+ */
208
+ interface HarnessLoader {
209
+ /**
210
+ * Searches for an element with the given selector under the current instances's root element,
211
+ * and returns a `HarnessLoader` rooted at the matching element. If multiple elements match the
212
+ * selector, the first is used. If no elements match, an error is thrown.
213
+ * @param selector The selector for the root element of the new `HarnessLoader`
214
+ * @return A `HarnessLoader` rooted at the element matching the given selector.
215
+ * @throws If a matching element can't be found.
216
+ */
217
+ getChildLoader(selector: string): Promise<HarnessLoader>;
218
+ /**
219
+ * Searches for all elements with the given selector under the current instances's root element,
220
+ * and returns an array of `HarnessLoader`s, one for each matching element, rooted at that
221
+ * element.
222
+ * @param selector The selector for the root element of the new `HarnessLoader`
223
+ * @return A list of `HarnessLoader`s, one for each matching element, rooted at that element.
224
+ */
225
+ getAllChildLoaders(selector: string): Promise<HarnessLoader[]>;
226
+ /**
227
+ * Searches for an instance of the component corresponding to the given harness type under the
228
+ * `HarnessLoader`'s root element, and returns a `ComponentHarness` for that instance. If multiple
229
+ * matching components are found, a harness for the first one is returned. If no matching
230
+ * component is found, an error is thrown.
231
+ * @param query A query for a harness to create
232
+ * @return An instance of the given harness type
233
+ * @throws If a matching component instance can't be found.
234
+ */
235
+ getHarness<T extends ComponentHarness>(query: HarnessQuery<T>): Promise<T>;
236
+ /**
237
+ * Searches for an instance of the component corresponding to the given harness type under the
238
+ * `HarnessLoader`'s root element, and returns a `ComponentHarness` for that instance. If multiple
239
+ * matching components are found, a harness for the first one is returned. If no matching
240
+ * component is found, null is returned.
241
+ * @param query A query for a harness to create
242
+ * @return An instance of the given harness type (or null if not found).
243
+ */
244
+ getHarnessOrNull<T extends ComponentHarness>(query: HarnessQuery<T>): Promise<T | null>;
245
+ /**
246
+ * Searches for an instance of the component corresponding to the given harness type under the
247
+ * `HarnessLoader`'s root element, and returns a `ComponentHarness` for the instance on the page
248
+ * at the given index. If no matching component exists at that index, an error is thrown.
249
+ * @param query A query for a harness to create
250
+ * @param index The zero-indexed offset of the matching component instance to return
251
+ * @return An instance of the given harness type.
252
+ * @throws If a matching component instance can't be found at the given index.
253
+ */
254
+ getHarnessAtIndex<T extends ComponentHarness>(query: HarnessQuery<T>, index: number): Promise<T>;
255
+ /**
256
+ * Searches for all instances of the component corresponding to the given harness type under the
257
+ * `HarnessLoader`'s root element, and returns a list `ComponentHarness` for each instance.
258
+ * @param query A query for a harness to create
259
+ * @return A list instances of the given harness type.
260
+ */
261
+ getAllHarnesses<T extends ComponentHarness>(query: HarnessQuery<T>): Promise<T[]>;
262
+ /**
263
+ * Searches for all instances of the component corresponding to the given harness type under the
264
+ * `HarnessLoader`'s root element, and returns the total count of all matching components.
265
+ * @param query A query for a harness to create
266
+ * @return An integer indicating the number of instances that were found.
267
+ */
268
+ countHarnesses<T extends ComponentHarness>(query: HarnessQuery<T>): Promise<number>;
269
+ /**
270
+ * Searches for an instance of the component corresponding to the given harness type under the
271
+ * `HarnessLoader`'s root element, and returns a boolean indicating if any were found.
272
+ * @param query A query for a harness to create
273
+ * @return A boolean indicating if an instance was found.
274
+ */
275
+ hasHarness<T extends ComponentHarness>(query: HarnessQuery<T>): Promise<boolean>;
276
+ }
277
+ /**
278
+ * Interface used to create asynchronous locator functions used find elements and component
279
+ * harnesses. This interface is used by `ComponentHarness` authors to create locator functions for
280
+ * their `ComponentHarness` subclass.
281
+ */
282
+ interface LocatorFactory {
283
+ /** Gets a locator factory rooted at the document root. */
284
+ documentRootLocatorFactory(): LocatorFactory;
285
+ /** The root element of this `LocatorFactory` as a `TestElement`. */
286
+ rootElement: TestElement;
287
+ /**
288
+ * Creates an asynchronous locator function that can be used to find a `ComponentHarness` instance
289
+ * or element under the root element of this `LocatorFactory`.
290
+ *
291
+ * For example, given the following DOM and assuming `DivHarness.hostSelector` is `'div'`
292
+ *
293
+ * ```html
294
+ * <div id="d1"></div><div id="d2"></div>
295
+ * ```
296
+ *
297
+ * then we expect:
298
+ *
299
+ * ```ts
300
+ * await lf.locatorFor(DivHarness, 'div')() // Gets a `DivHarness` instance for #d1
301
+ * await lf.locatorFor('div', DivHarness)() // Gets a `TestElement` instance for #d1
302
+ * await lf.locatorFor('span')() // Throws because the `Promise` rejects
303
+ * ```
304
+ *
305
+ * @param queries A list of queries specifying which harnesses and elements to search for:
306
+ * - A `string` searches for elements matching the CSS selector specified by the string.
307
+ * - A `ComponentHarness` constructor searches for `ComponentHarness` instances matching the
308
+ * given class.
309
+ * - A `HarnessPredicate` searches for `ComponentHarness` instances matching the given
310
+ * predicate.
311
+ * @return An asynchronous locator function that searches for and returns a `Promise` for the
312
+ * first element or harness matching the given search criteria. Matches are ordered first by
313
+ * order in the DOM, and second by order in the queries list. If no matches are found, the
314
+ * `Promise` rejects. The type that the `Promise` resolves to is a union of all result types for
315
+ * each query.
316
+ */
317
+ locatorFor<T extends (HarnessQuery<any> | string)[]>(...queries: T): () => Promise<LocatorFnResult<T>>;
318
+ /**
319
+ * Creates an asynchronous locator function that can be used to find a `ComponentHarness` instance
320
+ * or element under the root element of this `LocatorFactory`.
321
+ *
322
+ * For example, given the following DOM and assuming `DivHarness.hostSelector` is `'div'`
323
+ *
324
+ * ```html
325
+ * <div id="d1"></div><div id="d2"></div>
326
+ * ```
327
+ *
328
+ * then we expect:
329
+ *
330
+ * ```ts
331
+ * await lf.locatorForOptional(DivHarness, 'div')() // Gets a `DivHarness` instance for #d1
332
+ * await lf.locatorForOptional('div', DivHarness)() // Gets a `TestElement` instance for #d1
333
+ * await lf.locatorForOptional('span')() // Gets `null`
334
+ * ```
335
+ *
336
+ * @param queries A list of queries specifying which harnesses and elements to search for:
337
+ * - A `string` searches for elements matching the CSS selector specified by the string.
338
+ * - A `ComponentHarness` constructor searches for `ComponentHarness` instances matching the
339
+ * given class.
340
+ * - A `HarnessPredicate` searches for `ComponentHarness` instances matching the given
341
+ * predicate.
342
+ * @return An asynchronous locator function that searches for and returns a `Promise` for the
343
+ * first element or harness matching the given search criteria. Matches are ordered first by
344
+ * order in the DOM, and second by order in the queries list. If no matches are found, the
345
+ * `Promise` is resolved with `null`. The type that the `Promise` resolves to is a union of all
346
+ * result types for each query or null.
347
+ */
348
+ locatorForOptional<T extends (HarnessQuery<any> | string)[]>(...queries: T): () => Promise<LocatorFnResult<T> | null>;
349
+ /**
350
+ * Creates an asynchronous locator function that can be used to find `ComponentHarness` instances
351
+ * or elements under the root element of this `LocatorFactory`.
352
+ *
353
+ * For example, given the following DOM and assuming `DivHarness.hostSelector` is `'div'` and
354
+ * `IdIsD1Harness.hostSelector` is `'#d1'`
355
+ *
356
+ * ```html
357
+ * <div id="d1"></div><div id="d2"></div>
358
+ * ```
359
+ *
360
+ * then we expect:
361
+ *
362
+ * ```ts
363
+ * // Gets [DivHarness for #d1, TestElement for #d1, DivHarness for #d2, TestElement for #d2]
364
+ * await lf.locatorForAll(DivHarness, 'div')()
365
+ * // Gets [TestElement for #d1, TestElement for #d2]
366
+ * await lf.locatorForAll('div', '#d1')()
367
+ * // Gets [DivHarness for #d1, IdIsD1Harness for #d1, DivHarness for #d2]
368
+ * await lf.locatorForAll(DivHarness, IdIsD1Harness)()
369
+ * // Gets []
370
+ * await lf.locatorForAll('span')()
371
+ * ```
372
+ *
373
+ * @param queries A list of queries specifying which harnesses and elements to search for:
374
+ * - A `string` searches for elements matching the CSS selector specified by the string.
375
+ * - A `ComponentHarness` constructor searches for `ComponentHarness` instances matching the
376
+ * given class.
377
+ * - A `HarnessPredicate` searches for `ComponentHarness` instances matching the given
378
+ * predicate.
379
+ * @return An asynchronous locator function that searches for and returns a `Promise` for all
380
+ * elements and harnesses matching the given search criteria. Matches are ordered first by
381
+ * order in the DOM, and second by order in the queries list. If an element matches more than
382
+ * one `ComponentHarness` class, the locator gets an instance of each for the same element. If
383
+ * an element matches multiple `string` selectors, only one `TestElement` instance is returned
384
+ * for that element. The type that the `Promise` resolves to is an array where each element is
385
+ * the union of all result types for each query.
386
+ */
387
+ locatorForAll<T extends (HarnessQuery<any> | string)[]>(...queries: T): () => Promise<LocatorFnResult<T>[]>;
388
+ /** @return A `HarnessLoader` rooted at the root element of this `LocatorFactory`. */
389
+ rootHarnessLoader(): Promise<HarnessLoader>;
390
+ /**
391
+ * Gets a `HarnessLoader` instance for an element under the root of this `LocatorFactory`.
392
+ * @param selector The selector for the root element.
393
+ * @return A `HarnessLoader` rooted at the first element matching the given selector.
394
+ * @throws If no matching element is found for the given selector.
395
+ */
396
+ harnessLoaderFor(selector: string): Promise<HarnessLoader>;
397
+ /**
398
+ * Gets a `HarnessLoader` instance for an element under the root of this `LocatorFactory`
399
+ * @param selector The selector for the root element.
400
+ * @return A `HarnessLoader` rooted at the first element matching the given selector, or null if
401
+ * no matching element is found.
402
+ */
403
+ harnessLoaderForOptional(selector: string): Promise<HarnessLoader | null>;
404
+ /**
405
+ * Gets a list of `HarnessLoader` instances, one for each matching element.
406
+ * @param selector The selector for the root element.
407
+ * @return A list of `HarnessLoader`, one rooted at each element matching the given selector.
408
+ */
409
+ harnessLoaderForAll(selector: string): Promise<HarnessLoader[]>;
410
+ /**
411
+ * Flushes change detection and async tasks captured in the Angular zone.
412
+ * In most cases it should not be necessary to call this manually. However, there may be some edge
413
+ * cases where it is needed to fully flush animation events.
414
+ */
415
+ forceStabilize(): Promise<void>;
416
+ /**
417
+ * Waits for all scheduled or running async tasks to complete. This allows harness
418
+ * authors to wait for async tasks outside of the Angular zone.
419
+ */
420
+ waitForTasksOutsideAngular(): Promise<void>;
421
+ }
422
+ /**
423
+ * Base class for component test harnesses that all component harness authors should extend. This
424
+ * base component harness provides the basic ability to locate element and sub-component harnesses.
425
+ */
426
+ declare abstract class ComponentHarness {
427
+ protected readonly locatorFactory: LocatorFactory;
428
+ constructor(locatorFactory: LocatorFactory);
429
+ /** Gets a `Promise` for the `TestElement` representing the host element of the component. */
430
+ host(): Promise<TestElement>;
431
+ /**
432
+ * Gets a `LocatorFactory` for the document root element. This factory can be used to create
433
+ * locators for elements that a component creates outside of its own root element. (e.g. by
434
+ * appending to document.body).
435
+ */
436
+ protected documentRootLocatorFactory(): LocatorFactory;
437
+ /**
438
+ * Creates an asynchronous locator function that can be used to find a `ComponentHarness` instance
439
+ * or element under the host element of this `ComponentHarness`.
440
+ *
441
+ * For example, given the following DOM and assuming `DivHarness.hostSelector` is `'div'`
442
+ *
443
+ * ```html
444
+ * <div id="d1"></div><div id="d2"></div>
445
+ * ```
446
+ *
447
+ * then we expect:
448
+ *
449
+ * ```ts
450
+ * await ch.locatorFor(DivHarness, 'div')() // Gets a `DivHarness` instance for #d1
451
+ * await ch.locatorFor('div', DivHarness)() // Gets a `TestElement` instance for #d1
452
+ * await ch.locatorFor('span')() // Throws because the `Promise` rejects
453
+ * ```
454
+ *
455
+ * @param queries A list of queries specifying which harnesses and elements to search for:
456
+ * - A `string` searches for elements matching the CSS selector specified by the string.
457
+ * - A `ComponentHarness` constructor searches for `ComponentHarness` instances matching the
458
+ * given class.
459
+ * - A `HarnessPredicate` searches for `ComponentHarness` instances matching the given
460
+ * predicate.
461
+ * @return An asynchronous locator function that searches for and returns a `Promise` for the
462
+ * first element or harness matching the given search criteria. Matches are ordered first by
463
+ * order in the DOM, and second by order in the queries list. If no matches are found, the
464
+ * `Promise` rejects. The type that the `Promise` resolves to is a union of all result types for
465
+ * each query.
466
+ */
467
+ protected locatorFor<T extends (HarnessQuery<any> | string)[]>(...queries: T): () => Promise<LocatorFnResult<T>>;
468
+ /**
469
+ * Creates an asynchronous locator function that can be used to find a `ComponentHarness` instance
470
+ * or element under the host element of this `ComponentHarness`.
471
+ *
472
+ * For example, given the following DOM and assuming `DivHarness.hostSelector` is `'div'`
473
+ *
474
+ * ```html
475
+ * <div id="d1"></div><div id="d2"></div>
476
+ * ```
477
+ *
478
+ * then we expect:
479
+ *
480
+ * ```ts
481
+ * await ch.locatorForOptional(DivHarness, 'div')() // Gets a `DivHarness` instance for #d1
482
+ * await ch.locatorForOptional('div', DivHarness)() // Gets a `TestElement` instance for #d1
483
+ * await ch.locatorForOptional('span')() // Gets `null`
484
+ * ```
485
+ *
486
+ * @param queries A list of queries specifying which harnesses and elements to search for:
487
+ * - A `string` searches for elements matching the CSS selector specified by the string.
488
+ * - A `ComponentHarness` constructor searches for `ComponentHarness` instances matching the
489
+ * given class.
490
+ * - A `HarnessPredicate` searches for `ComponentHarness` instances matching the given
491
+ * predicate.
492
+ * @return An asynchronous locator function that searches for and returns a `Promise` for the
493
+ * first element or harness matching the given search criteria. Matches are ordered first by
494
+ * order in the DOM, and second by order in the queries list. If no matches are found, the
495
+ * `Promise` is resolved with `null`. The type that the `Promise` resolves to is a union of all
496
+ * result types for each query or null.
497
+ */
498
+ protected locatorForOptional<T extends (HarnessQuery<any> | string)[]>(...queries: T): () => Promise<LocatorFnResult<T> | null>;
499
+ /**
500
+ * Creates an asynchronous locator function that can be used to find `ComponentHarness` instances
501
+ * or elements under the host element of this `ComponentHarness`.
502
+ *
503
+ * For example, given the following DOM and assuming `DivHarness.hostSelector` is `'div'` and
504
+ * `IdIsD1Harness.hostSelector` is `'#d1'`
505
+ *
506
+ * ```html
507
+ * <div id="d1"></div><div id="d2"></div>
508
+ * ```
509
+ *
510
+ * then we expect:
511
+ *
512
+ * ```ts
513
+ * // Gets [DivHarness for #d1, TestElement for #d1, DivHarness for #d2, TestElement for #d2]
514
+ * await ch.locatorForAll(DivHarness, 'div')()
515
+ * // Gets [TestElement for #d1, TestElement for #d2]
516
+ * await ch.locatorForAll('div', '#d1')()
517
+ * // Gets [DivHarness for #d1, IdIsD1Harness for #d1, DivHarness for #d2]
518
+ * await ch.locatorForAll(DivHarness, IdIsD1Harness)()
519
+ * // Gets []
520
+ * await ch.locatorForAll('span')()
521
+ * ```
522
+ *
523
+ * @param queries A list of queries specifying which harnesses and elements to search for:
524
+ * - A `string` searches for elements matching the CSS selector specified by the string.
525
+ * - A `ComponentHarness` constructor searches for `ComponentHarness` instances matching the
526
+ * given class.
527
+ * - A `HarnessPredicate` searches for `ComponentHarness` instances matching the given
528
+ * predicate.
529
+ * @return An asynchronous locator function that searches for and returns a `Promise` for all
530
+ * elements and harnesses matching the given search criteria. Matches are ordered first by
531
+ * order in the DOM, and second by order in the queries list. If an element matches more than
532
+ * one `ComponentHarness` class, the locator gets an instance of each for the same element. If
533
+ * an element matches multiple `string` selectors, only one `TestElement` instance is returned
534
+ * for that element. The type that the `Promise` resolves to is an array where each element is
535
+ * the union of all result types for each query.
536
+ */
537
+ protected locatorForAll<T extends (HarnessQuery<any> | string)[]>(...queries: T): () => Promise<LocatorFnResult<T>[]>;
538
+ /**
539
+ * Flushes change detection and async tasks in the Angular zone.
540
+ * In most cases it should not be necessary to call this manually. However, there may be some edge
541
+ * cases where it is needed to fully flush animation events.
542
+ */
543
+ protected forceStabilize(): Promise<void>;
544
+ /**
545
+ * Waits for all scheduled or running async tasks to complete. This allows harness
546
+ * authors to wait for async tasks outside of the Angular zone.
547
+ */
548
+ protected waitForTasksOutsideAngular(): Promise<void>;
549
+ }
550
+ /**
551
+ * Base class for component harnesses that authors should extend if they anticipate that consumers
552
+ * of the harness may want to access other harnesses within the `<ng-content>` of the component.
553
+ */
554
+ declare abstract class ContentContainerComponentHarness<S extends string = string> extends ComponentHarness implements HarnessLoader {
555
+ /**
556
+ * Gets a `HarnessLoader` that searches for harnesses under the first element matching the given
557
+ * selector within the current harness's content.
558
+ * @param selector The selector for an element in the component's content.
559
+ * @returns A `HarnessLoader` that searches for harnesses under the given selector.
560
+ */
561
+ getChildLoader(selector: S): Promise<HarnessLoader>;
562
+ /**
563
+ * Gets a list of `HarnessLoader` for each element matching the given selector under the current
564
+ * harness's cotnent that searches for harnesses under that element.
565
+ * @param selector The selector for elements in the component's content.
566
+ * @returns A list of `HarnessLoader` for each element matching the given selector.
567
+ */
568
+ getAllChildLoaders(selector: S): Promise<HarnessLoader[]>;
569
+ /**
570
+ * Gets the first matching harness for the given query within the current harness's content.
571
+ * @param query The harness query to search for.
572
+ * @returns The first harness matching the given query.
573
+ * @throws If no matching harness is found.
574
+ */
575
+ getHarness<T extends ComponentHarness>(query: HarnessQuery<T>): Promise<T>;
576
+ /**
577
+ * Gets the first matching harness for the given query within the current harness's content.
578
+ * @param query The harness query to search for.
579
+ * @returns The first harness matching the given query, or null if none is found.
580
+ */
581
+ getHarnessOrNull<T extends ComponentHarness>(query: HarnessQuery<T>): Promise<T | null>;
582
+ /**
583
+ * Gets a matching harness for the given query and index within the current harness's content.
584
+ * @param query The harness query to search for.
585
+ * @param index The zero-indexed offset of the component to find.
586
+ * @returns The first harness matching the given query.
587
+ * @throws If no matching harness is found.
588
+ */
589
+ getHarnessAtIndex<T extends ComponentHarness>(query: HarnessQuery<T>, index: number): Promise<T>;
590
+ /**
591
+ * Gets all matching harnesses for the given query within the current harness's content.
592
+ * @param query The harness query to search for.
593
+ * @returns The list of harness matching the given query.
594
+ */
595
+ getAllHarnesses<T extends ComponentHarness>(query: HarnessQuery<T>): Promise<T[]>;
596
+ /**
597
+ * Returns the number of matching harnesses for the given query within the current harness's
598
+ * content.
599
+ *
600
+ * @param query The harness query to search for.
601
+ * @returns The number of matching harnesses for the given query.
602
+ */
603
+ countHarnesses<T extends ComponentHarness>(query: HarnessQuery<T>): Promise<number>;
604
+ /**
605
+ * Checks whether there is a matching harnesses for the given query within the current harness's
606
+ * content.
607
+ *
608
+ * @param query The harness query to search for.
609
+ * @returns Whether there is matching harnesses for the given query.
610
+ */
611
+ hasHarness<T extends ComponentHarness>(query: HarnessQuery<T>): Promise<boolean>;
612
+ /**
613
+ * Gets the root harness loader from which to start
614
+ * searching for content contained by this harness.
615
+ */
616
+ protected getRootHarnessLoader(): Promise<HarnessLoader>;
617
+ }
618
+ /**
619
+ * Constructor for a ComponentHarness subclass. To be a valid ComponentHarnessConstructor, the
620
+ * class must also have a static `hostSelector` property.
621
+ */
622
+ interface ComponentHarnessConstructor<T extends ComponentHarness> {
623
+ new (locatorFactory: LocatorFactory): T;
624
+ /**
625
+ * `ComponentHarness` subclasses must specify a static `hostSelector` property that is used to
626
+ * find the host element for the corresponding component. This property should match the selector
627
+ * for the Angular component.
628
+ */
629
+ hostSelector: string;
630
+ }
631
+ /** A set of criteria that can be used to filter a list of `ComponentHarness` instances. */
632
+ interface BaseHarnessFilters {
633
+ /** Only find instances whose host element matches the given selector. */
634
+ selector?: string;
635
+ /** Only find instances that are nested under an element with the given selector. */
636
+ ancestor?: string;
637
+ }
638
+ /**
639
+ * A class used to associate a ComponentHarness class with predicate functions that can be used to
640
+ * filter instances of the class to be matched.
641
+ */
642
+ declare class HarnessPredicate<T extends ComponentHarness> {
643
+ harnessType: ComponentHarnessConstructor<T>;
644
+ private _predicates;
645
+ private _descriptions;
646
+ private _ancestor;
647
+ constructor(harnessType: ComponentHarnessConstructor<T>, options: BaseHarnessFilters);
648
+ /**
649
+ * Checks if the specified nullable string value matches the given pattern.
650
+ * @param value The nullable string value to check, or a Promise resolving to the
651
+ * nullable string value.
652
+ * @param pattern The pattern the value is expected to match. If `pattern` is a string,
653
+ * `value` is expected to match exactly. If `pattern` is a regex, a partial match is
654
+ * allowed. If `pattern` is `null`, the value is expected to be `null`.
655
+ * @return Whether the value matches the pattern.
656
+ */
657
+ static stringMatches(value: string | null | Promise<string | null>, pattern: string | RegExp | null): Promise<boolean>;
658
+ /**
659
+ * Adds a predicate function to be run against candidate harnesses.
660
+ * @param description A description of this predicate that may be used in error messages.
661
+ * @param predicate An async predicate function.
662
+ * @return this (for method chaining).
663
+ */
664
+ add(description: string, predicate: AsyncPredicate<T>): this;
665
+ /**
666
+ * Adds a predicate function that depends on an option value to be run against candidate
667
+ * harnesses. If the option value is undefined, the predicate will be ignored.
668
+ * @param name The name of the option (may be used in error messages).
669
+ * @param option The option value.
670
+ * @param predicate The predicate function to run if the option value is not undefined.
671
+ * @return this (for method chaining).
672
+ */
673
+ addOption<O>(name: string, option: O | undefined, predicate: AsyncOptionPredicate<T, O>): this;
674
+ /**
675
+ * Filters a list of harnesses on this predicate.
676
+ * @param harnesses The list of harnesses to filter.
677
+ * @return A list of harnesses that satisfy this predicate.
678
+ */
679
+ filter(harnesses: T[]): Promise<T[]>;
680
+ /**
681
+ * Evaluates whether the given harness satisfies this predicate.
682
+ * @param harness The harness to check
683
+ * @return A promise that resolves to true if the harness satisfies this predicate,
684
+ * and resolves to false otherwise.
685
+ */
686
+ evaluate(harness: T): Promise<boolean>;
687
+ /** Gets a description of this predicate for use in error messages. */
688
+ getDescription(): string;
689
+ /** Gets the selector used to find candidate elements. */
690
+ getSelector(): string;
691
+ /** Adds base options common to all harness types. */
692
+ private _addBaseOptions;
693
+ }
694
+
695
+ /**
696
+ * Base harness environment class that can be extended to allow `ComponentHarness`es to be used in
697
+ * different test environments (e.g. testbed, protractor, etc.). This class implements the
698
+ * functionality of both a `HarnessLoader` and `LocatorFactory`. This class is generic on the raw
699
+ * element type, `E`, used by the particular test environment.
700
+ */
701
+ declare abstract class HarnessEnvironment<E> implements HarnessLoader, LocatorFactory {
702
+ /** The native root element of this `HarnessEnvironment`. */
703
+ protected rawRootElement: E;
704
+ /** The root element of this `HarnessEnvironment` as a `TestElement`. */
705
+ get rootElement(): TestElement;
706
+ set rootElement(element: TestElement);
707
+ private _rootElement;
708
+ protected constructor(
709
+ /** The native root element of this `HarnessEnvironment`. */
710
+ rawRootElement: E);
711
+ /** Gets a locator factory rooted at the document root. */
712
+ documentRootLocatorFactory(): LocatorFactory;
713
+ /**
714
+ * Creates an asynchronous locator function that can be used to find a `ComponentHarness` instance
715
+ * or element under the root element of this `HarnessEnvironment`.
716
+ *
717
+ * For example, given the following DOM and assuming `DivHarness.hostSelector` is `'div'`
718
+ *
719
+ * ```html
720
+ * <div id="d1"></div><div id="d2"></div>
721
+ * ```
722
+ *
723
+ * then we expect:
724
+ *
725
+ * ```ts
726
+ * await lf.locatorFor(DivHarness, 'div')() // Gets a `DivHarness` instance for #d1
727
+ * await lf.locatorFor('div', DivHarness)() // Gets a `TestElement` instance for #d1
728
+ * await lf.locatorFor('span')() // Throws because the `Promise` rejects
729
+ * ```
730
+ *
731
+ * @param queries A list of queries specifying which harnesses and elements to search for:
732
+ * - A `string` searches for elements matching the CSS selector specified by the string.
733
+ * - A `ComponentHarness` constructor searches for `ComponentHarness` instances matching the
734
+ * given class.
735
+ * - A `HarnessPredicate` searches for `ComponentHarness` instances matching the given
736
+ * predicate.
737
+ * @return An asynchronous locator function that searches for and returns a `Promise` for the
738
+ * first element or harness matching the given search criteria. Matches are ordered first by
739
+ * order in the DOM, and second by order in the queries list. If no matches are found, the
740
+ * `Promise` rejects. The type that the `Promise` resolves to is a union of all result types for
741
+ * each query.
742
+ */
743
+ locatorFor<T extends (HarnessQuery<any> | string)[]>(...queries: T): () => Promise<LocatorFnResult<T>>;
744
+ /**
745
+ * Creates an asynchronous locator function that can be used to find a `ComponentHarness` instance
746
+ * or element under the root element of this `HarnessEnvironmnet`.
747
+ *
748
+ * For example, given the following DOM and assuming `DivHarness.hostSelector` is `'div'`
749
+ *
750
+ * ```html
751
+ * <div id="d1"></div><div id="d2"></div>
752
+ * ```
753
+ *
754
+ * then we expect:
755
+ *
756
+ * ```ts
757
+ * await lf.locatorForOptional(DivHarness, 'div')() // Gets a `DivHarness` instance for #d1
758
+ * await lf.locatorForOptional('div', DivHarness)() // Gets a `TestElement` instance for #d1
759
+ * await lf.locatorForOptional('span')() // Gets `null`
760
+ * ```
761
+ *
762
+ * @param queries A list of queries specifying which harnesses and elements to search for:
763
+ * - A `string` searches for elements matching the CSS selector specified by the string.
764
+ * - A `ComponentHarness` constructor searches for `ComponentHarness` instances matching the
765
+ * given class.
766
+ * - A `HarnessPredicate` searches for `ComponentHarness` instances matching the given
767
+ * predicate.
768
+ * @return An asynchronous locator function that searches for and returns a `Promise` for the
769
+ * first element or harness matching the given search criteria. Matches are ordered first by
770
+ * order in the DOM, and second by order in the queries list. If no matches are found, the
771
+ * `Promise` is resolved with `null`. The type that the `Promise` resolves to is a union of all
772
+ * result types for each query or null.
773
+ */
774
+ locatorForOptional<T extends (HarnessQuery<any> | string)[]>(...queries: T): () => Promise<LocatorFnResult<T> | null>;
775
+ /**
776
+ * Creates an asynchronous locator function that can be used to find `ComponentHarness` instances
777
+ * or elements under the root element of this `HarnessEnvironment`.
778
+ *
779
+ * For example, given the following DOM and assuming `DivHarness.hostSelector` is `'div'` and
780
+ * `IdIsD1Harness.hostSelector` is `'#d1'`
781
+ *
782
+ * ```html
783
+ * <div id="d1"></div><div id="d2"></div>
784
+ * ```
785
+ *
786
+ * then we expect:
787
+ *
788
+ * ```ts
789
+ * // Gets [DivHarness for #d1, TestElement for #d1, DivHarness for #d2, TestElement for #d2]
790
+ * await lf.locatorForAll(DivHarness, 'div')()
791
+ * // Gets [TestElement for #d1, TestElement for #d2]
792
+ * await lf.locatorForAll('div', '#d1')()
793
+ * // Gets [DivHarness for #d1, IdIsD1Harness for #d1, DivHarness for #d2]
794
+ * await lf.locatorForAll(DivHarness, IdIsD1Harness)()
795
+ * // Gets []
796
+ * await lf.locatorForAll('span')()
797
+ * ```
798
+ *
799
+ * @param queries A list of queries specifying which harnesses and elements to search for:
800
+ * - A `string` searches for elements matching the CSS selector specified by the string.
801
+ * - A `ComponentHarness` constructor searches for `ComponentHarness` instances matching the
802
+ * given class.
803
+ * - A `HarnessPredicate` searches for `ComponentHarness` instances matching the given
804
+ * predicate.
805
+ * @return An asynchronous locator function that searches for and returns a `Promise` for all
806
+ * elements and harnesses matching the given search criteria. Matches are ordered first by
807
+ * order in the DOM, and second by order in the queries list. If an element matches more than
808
+ * one `ComponentHarness` class, the locator gets an instance of each for the same element. If
809
+ * an element matches multiple `string` selectors, only one `TestElement` instance is returned
810
+ * for that element. The type that the `Promise` resolves to is an array where each element is
811
+ * the union of all result types for each query.
812
+ */
813
+ locatorForAll<T extends (HarnessQuery<any> | string)[]>(...queries: T): () => Promise<LocatorFnResult<T>[]>;
814
+ /** @return A `HarnessLoader` rooted at the root element of this `HarnessEnvironment`. */
815
+ rootHarnessLoader(): Promise<HarnessLoader>;
816
+ /**
817
+ * Gets a `HarnessLoader` instance for an element under the root of this `HarnessEnvironment`.
818
+ * @param selector The selector for the root element.
819
+ * @return A `HarnessLoader` rooted at the first element matching the given selector.
820
+ * @throws If no matching element is found for the given selector.
821
+ */
822
+ harnessLoaderFor(selector: string): Promise<HarnessLoader>;
823
+ /**
824
+ * Gets a `HarnessLoader` instance for an element under the root of this `HarnessEnvironment`.
825
+ * @param selector The selector for the root element.
826
+ * @return A `HarnessLoader` rooted at the first element matching the given selector, or null if
827
+ * no matching element is found.
828
+ */
829
+ harnessLoaderForOptional(selector: string): Promise<HarnessLoader | null>;
830
+ /**
831
+ * Gets a list of `HarnessLoader` instances, one for each matching element.
832
+ * @param selector The selector for the root element.
833
+ * @return A list of `HarnessLoader`, one rooted at each element matching the given selector.
834
+ */
835
+ harnessLoaderForAll(selector: string): Promise<HarnessLoader[]>;
836
+ /**
837
+ * Searches for an instance of the component corresponding to the given harness type under the
838
+ * `HarnessEnvironment`'s root element, and returns a `ComponentHarness` for that instance. If
839
+ * multiple matching components are found, a harness for the first one is returned. If no matching
840
+ * component is found, an error is thrown.
841
+ * @param query A query for a harness to create
842
+ * @return An instance of the given harness type
843
+ * @throws If a matching component instance can't be found.
844
+ */
845
+ getHarness<T extends ComponentHarness>(query: HarnessQuery<T>): Promise<T>;
846
+ /**
847
+ * Searches for an instance of the component corresponding to the given harness type under the
848
+ * `HarnessEnvironment`'s root element, and returns a `ComponentHarness` for that instance. If
849
+ * multiple matching components are found, a harness for the first one is returned. If no matching
850
+ * component is found, null is returned.
851
+ * @param query A query for a harness to create
852
+ * @return An instance of the given harness type (or null if not found).
853
+ */
854
+ getHarnessOrNull<T extends ComponentHarness>(query: HarnessQuery<T>): Promise<T | null>;
855
+ /**
856
+ * Searches for an instance of the component corresponding to the given harness type and index
857
+ * under the `HarnessEnvironment`'s root element, and returns a `ComponentHarness` for that
858
+ * instance. The index specifies the offset of the component to find. If no matching
859
+ * component is found at that index, an error is thrown.
860
+ * @param query A query for a harness to create
861
+ * @param index The zero-indexed offset of the component to find
862
+ * @return An instance of the given harness type
863
+ * @throws If a matching component instance can't be found.
864
+ */
865
+ getHarnessAtIndex<T extends ComponentHarness>(query: HarnessQuery<T>, offset: number): Promise<T>;
866
+ /**
867
+ * Searches for all instances of the component corresponding to the given harness type under the
868
+ * `HarnessEnvironment`'s root element, and returns a list `ComponentHarness` for each instance.
869
+ * @param query A query for a harness to create
870
+ * @return A list instances of the given harness type.
871
+ */
872
+ getAllHarnesses<T extends ComponentHarness>(query: HarnessQuery<T>): Promise<T[]>;
873
+ /**
874
+ * Searches for all instance of the component corresponding to the given harness type under the
875
+ * `HarnessEnvironment`'s root element, and returns the number that were found.
876
+ * @param query A query for a harness to create
877
+ * @return The number of instances that were found.
878
+ */
879
+ countHarnesses<T extends ComponentHarness>(query: HarnessQuery<T>): Promise<number>;
880
+ /**
881
+ * Searches for an instance of the component corresponding to the given harness type under the
882
+ * `HarnessEnvironment`'s root element, and returns a boolean indicating if any were found.
883
+ * @param query A query for a harness to create
884
+ * @return A boolean indicating if an instance was found.
885
+ */
886
+ hasHarness<T extends ComponentHarness>(query: HarnessQuery<T>): Promise<boolean>;
887
+ /**
888
+ * Searches for an element with the given selector under the evironment's root element,
889
+ * and returns a `HarnessLoader` rooted at the matching element. If multiple elements match the
890
+ * selector, the first is used. If no elements match, an error is thrown.
891
+ * @param selector The selector for the root element of the new `HarnessLoader`
892
+ * @return A `HarnessLoader` rooted at the element matching the given selector.
893
+ * @throws If a matching element can't be found.
894
+ */
895
+ getChildLoader(selector: string): Promise<HarnessLoader>;
896
+ /**
897
+ * Searches for all elements with the given selector under the environment's root element,
898
+ * and returns an array of `HarnessLoader`s, one for each matching element, rooted at that
899
+ * element.
900
+ * @param selector The selector for the root element of the new `HarnessLoader`
901
+ * @return A list of `HarnessLoader`s, one for each matching element, rooted at that element.
902
+ */
903
+ getAllChildLoaders(selector: string): Promise<HarnessLoader[]>;
904
+ /** Creates a `ComponentHarness` for the given harness type with the given raw host element. */
905
+ protected createComponentHarness<T extends ComponentHarness>(harnessType: ComponentHarnessConstructor<T>, element: E): T;
906
+ /**
907
+ * Flushes change detection and async tasks captured in the Angular zone.
908
+ * In most cases it should not be necessary to call this manually. However, there may be some edge
909
+ * cases where it is needed to fully flush animation events.
910
+ * This is an abstrct method that must be implemented by subclasses.
911
+ */
912
+ abstract forceStabilize(): Promise<void>;
913
+ /**
914
+ * Waits for all scheduled or running async tasks to complete. This allows harness
915
+ * authors to wait for async tasks outside of the Angular zone.
916
+ * This is an abstrct method that must be implemented by subclasses.
917
+ */
918
+ abstract waitForTasksOutsideAngular(): Promise<void>;
919
+ /** Gets the root element for the document. */
920
+ protected abstract getDocumentRoot(): E;
921
+ /** Creates a `TestElement` from a raw element. */
922
+ protected abstract createTestElement(element: E): TestElement;
923
+ /** Creates a `HarnessEnvironment` rooted at the given raw element. */
924
+ protected abstract createEnvironment(element: E): HarnessEnvironment<E>;
925
+ /**
926
+ * Gets a list of all elements matching the given selector under this environment's root element.
927
+ */
928
+ protected abstract getAllRawElements(selector: string): Promise<E[]>;
929
+ /**
930
+ * Matches the given raw elements with the given list of element and harness queries to produce a
931
+ * list of matched harnesses and test elements.
932
+ */
933
+ private _getAllHarnessesAndTestElements;
934
+ /**
935
+ * Check whether the given query matches the given element, if it does return the matched
936
+ * `TestElement` or `ComponentHarness`, if it does not, return null. In cases where the caller
937
+ * knows for sure that the query matches the element's selector, `skipSelectorCheck` can be used
938
+ * to skip verification and optimize performance.
939
+ */
940
+ private _getQueryResultForElement;
941
+ }
942
+
943
+ export { ComponentHarness, ContentContainerComponentHarness, HarnessEnvironment, HarnessPredicate, TestKey };
944
+ export type { AsyncFactoryFn, AsyncOptionPredicate, AsyncPredicate, BaseHarnessFilters, ComponentHarnessConstructor, ElementDimensions, EventData, HarnessLoader, HarnessQuery, LocatorFactory, LocatorFnResult, ModifierKeys, TestElement, TextOptions };