@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/menu/index.d.ts CHANGED
@@ -1,1013 +1,834 @@
1
- import { AfterContentInit } from '@angular/core';
2
- import { BooleanInput } from '@kato-lee/cdk/coercion';
3
- import { ConnectedPosition } from '@kato-lee/cdk/overlay';
4
- import { Directionality } from '@kato-lee/cdk/bidi';
5
- import { ElementRef } from '@angular/core';
6
- import { EventEmitter } from '@angular/core';
7
- import { FocusableOption } from '@kato-lee/cdk/a11y';
8
- import { FocusKeyManager } from '@kato-lee/cdk/a11y';
9
- import { FocusOrigin } from '@kato-lee/cdk/a11y';
10
- import * as i0 from '@angular/core';
11
- import * as i10 from '@kato-lee/cdk/overlay';
12
- import { InjectionToken } from '@angular/core';
13
- import { Injector } from '@angular/core';
14
- import { NgZone } from '@angular/core';
15
- import { Observable } from 'rxjs';
16
- import { OnDestroy } from '@angular/core';
17
- import { Optional } from '@angular/core';
18
- import { OverlayRef } from '@kato-lee/cdk/overlay';
19
- import { QueryList } from '@angular/core';
20
- import { Subject } from 'rxjs';
21
- import { TemplatePortal } from '@kato-lee/cdk/portal';
22
- import { TemplateRef } from '@angular/core';
23
- import { ViewContainerRef } from '@angular/core';
24
-
25
- /** Injection token used to return classes implementing the Menu interface */
26
- export declare const CDK_MENU: InjectionToken<Menu>;
27
-
28
- /**
29
- * A directive that opens a menu when a user right-clicks within its host element.
30
- * It is aware of nested context menus and will trigger only the lowest level non-disabled context menu.
31
- */
32
- export declare class CdkContextMenuTrigger extends CdkMenuTriggerBase implements OnDestroy {
33
- /** The CDK overlay service. */
34
- private readonly _overlay;
35
- /** The directionality of the page. */
36
- private readonly _directionality;
37
- /** The app's context menu tracking registry */
38
- private readonly _contextMenuTracker;
39
- /** Whether the context menu is disabled. */
40
- get disabled(): boolean;
41
- set disabled(value: BooleanInput);
42
- private _disabled;
43
- constructor();
44
- /**
45
- * Open the attached menu at the specified location.
46
- * @param coordinates where to open the context menu
47
- */
48
- open(coordinates: ContextMenuCoordinates): void;
49
- /** Close the currently opened context menu. */
50
- close(): void;
51
- /**
52
- * Open the context menu and closes any previously open menus.
53
- * @param event the mouse event which opens the context menu.
54
- */
55
- _openOnContextMenu(event: MouseEvent): void;
56
- /**
57
- * Get the configuration object used to create the overlay.
58
- * @param coordinates the location to place the opened menu
59
- */
60
- private _getOverlayConfig;
61
- /**
62
- * Get the position strategy for the overlay which specifies where to place the menu.
63
- * @param coordinates the location to place the opened menu
64
- */
65
- private _getOverlayPositionStrategy;
66
- /** Subscribe to the menu stack close events and close this menu when requested. */
67
- private _setMenuStackCloseListener;
68
- /**
69
- * Subscribe to the overlays outside pointer events stream and handle closing out the stack if a
70
- * click occurs outside the menus.
71
- * @param ignoreFirstAuxClick Whether to ignore the first auxclick event outside the menu.
72
- */
73
- private _subscribeToOutsideClicks;
74
- /**
75
- * Open the attached menu at the specified location.
76
- * @param coordinates where to open the context menu
77
- * @param ignoreFirstOutsideAuxClick Whether to ignore the first auxclick outside the menu after opening.
78
- */
79
- private _open;
80
- static ɵfac: i0.ɵɵFactoryDeclaration<CdkContextMenuTrigger, never>;
81
- static ɵdir: i0.ɵɵDirectiveDeclaration<
82
- CdkContextMenuTrigger,
83
- '[cdkContextMenuTriggerFor]',
84
- ['cdkContextMenuTriggerFor'],
85
- {
86
- menuTemplateRef: 'cdkContextMenuTriggerFor';
87
- menuPosition: 'cdkContextMenuPosition';
88
- disabled: 'cdkContextMenuDisabled';
89
- },
90
- { opened: 'cdkContextMenuOpened'; closed: 'cdkContextMenuClosed' },
91
- never,
92
- never,
93
- false
94
- >;
95
- }
96
-
97
- /**
98
- * Directive which configures the element as a Menu which should contain child elements marked as
99
- * CdkMenuItem or CdkMenuGroup. Sets the appropriate role and aria-attributes for a menu and
100
- * contains accessible keyboard and mouse handling logic.
101
- *
102
- * It also acts as a RadioGroup for elements marked with role `menuitemradio`.
103
- */
104
- export declare class CdkMenu extends CdkMenuBase implements AfterContentInit, OnDestroy {
105
- private _parentTrigger;
106
- /** Event emitted when the menu is closed. */
107
- readonly closed: EventEmitter<void>;
108
- /** The direction items in the menu flow. */
109
- readonly orientation = 'vertical';
110
- /** Whether the menu is displayed inline (i.e. always present vs a conditional popup that the user triggers with a trigger element). */
111
- readonly isInline: boolean;
112
- constructor();
113
- ngAfterContentInit(): void;
114
- ngOnDestroy(): void;
115
- /**
116
- * Handle keyboard events for the Menu.
117
- * @param event The keyboard event to be handled.
118
- */
119
- _handleKeyEvent(event: KeyboardEvent): void;
120
- /**
121
- * Set focus the either the current, previous or next item based on the FocusNext event.
122
- * @param focusNext The element to focus.
123
- */
124
- private _toggleMenuFocus;
125
- /** Subscribe to the MenuStack emptied events. */
126
- private _subscribeToMenuStackEmptied;
127
- static ɵfac: i0.ɵɵFactoryDeclaration<CdkMenu, never>;
128
- static ɵdir: i0.ɵɵDirectiveDeclaration<
129
- CdkMenu,
130
- '[cdkMenu]',
131
- ['cdkMenu'],
132
- {},
133
- { closed: 'closed' },
134
- never,
135
- never,
136
- false
137
- >;
138
- }
139
-
140
- /**
141
- * Directive applied to an element which configures it as a MenuBar by setting the appropriate
142
- * role, aria attributes, and accessible keyboard and mouse handling logic. The component that
143
- * this directive is applied to should contain components marked with CdkMenuItem.
144
- *
145
- */
146
- export declare class CdkMenuBar extends CdkMenuBase implements AfterContentInit {
147
- /** The direction items in the menu flow. */
148
- readonly orientation = 'horizontal';
149
- /** Whether the menu is displayed inline (i.e. always present vs a conditional popup that the user triggers with a trigger element). */
150
- readonly isInline = true;
151
- ngAfterContentInit(): void;
152
- /**
153
- * Handle keyboard events for the Menu.
154
- * @param event The keyboard event to be handled.
155
- */
156
- _handleKeyEvent(event: KeyboardEvent): void;
157
- /**
158
- * Set focus to either the current, previous or next item based on the FocusNext event, then
159
- * open the previous or next item.
160
- * @param focusNext The element to focus.
161
- */
162
- private _toggleOpenMenu;
163
- /** Subscribe to the MenuStack emptied events. */
164
- private _subscribeToMenuStackEmptied;
165
- static ɵfac: i0.ɵɵFactoryDeclaration<CdkMenuBar, never>;
166
- static ɵdir: i0.ɵɵDirectiveDeclaration<
167
- CdkMenuBar,
168
- '[cdkMenuBar]',
169
- ['cdkMenuBar'],
170
- {},
171
- {},
172
- never,
173
- never,
174
- false
175
- >;
176
- }
177
-
178
- /**
179
- * Abstract directive that implements shared logic common to all menus.
180
- * This class can be extended to create custom menu types.
181
- */
182
- export declare abstract class CdkMenuBase
183
- extends CdkMenuGroup
184
- implements Menu, AfterContentInit, OnDestroy
185
- {
186
- /** The menu's native DOM host element. */
187
- readonly nativeElement: HTMLElement;
188
- /** The Angular zone. */
189
- protected ngZone: NgZone;
190
- /** The stack of menus this menu belongs to. */
191
- readonly menuStack: MenuStack;
192
- /** The menu aim service used by this menu. */
193
- protected readonly menuAim: MenuAim | null;
194
- /** The directionality (text direction) of the current page. */
195
- protected readonly dir: Directionality | null;
196
- /** The id of the menu's host element. */
197
- id: string;
198
- /** All child MenuItem elements nested in this Menu. */
199
- readonly items: QueryList<CdkMenuItem>;
200
- /** The direction items in the menu flow. */
201
- orientation: 'horizontal' | 'vertical';
202
- /**
203
- * Whether the menu is displayed inline (i.e. always present vs a conditional popup that the
204
- * user triggers with a trigger element).
205
- */
206
- isInline: boolean;
207
- /** Handles keyboard events for the menu. */
208
- protected keyManager: FocusKeyManager<CdkMenuItem>;
209
- /** Emits when the MenuBar is destroyed. */
210
- protected readonly destroyed: Subject<void>;
211
- /** The Menu Item which triggered the open submenu. */
212
- protected triggerItem?: CdkMenuItem;
213
- /** Tracks the users mouse movements over the menu. */
214
- protected pointerTracker?: PointerFocusTracker<CdkMenuItem>;
215
- /** Whether this menu's menu stack has focus. */
216
- private _menuStackHasFocus;
217
- ngAfterContentInit(): void;
218
- ngOnDestroy(): void;
219
- /**
220
- * Place focus on the first MenuItem in the menu and set the focus origin.
221
- * @param focusOrigin The origin input mode of the focus event.
222
- */
223
- focusFirstItem(focusOrigin?: FocusOrigin): void;
224
- /**
225
- * Place focus on the last MenuItem in the menu and set the focus origin.
226
- * @param focusOrigin The origin input mode of the focus event.
227
- */
228
- focusLastItem(focusOrigin?: FocusOrigin): void;
229
- /** Gets the tabindex for this menu. */
230
- _getTabIndex(): 0 | -1 | null;
231
- /**
232
- * Close the open menu if the current active item opened the requested MenuStackItem.
233
- * @param menu The menu requested to be closed.
234
- * @param options Options to configure the behavior on close.
235
- * - `focusParentTrigger` Whether to focus the parent trigger after closing the menu.
236
- */
237
- protected closeOpenMenu(
238
- menu: MenuStackItem,
239
- options?: {
240
- focusParentTrigger?: boolean;
241
- }
242
- ): void;
243
- /** Setup the FocusKeyManager with the correct orientation for the menu. */
244
- private _setKeyManager;
245
- /**
246
- * Subscribe to the menu trigger's open events in order to track the trigger which opened the menu
247
- * and stop tracking it when the menu is closed.
248
- */
249
- private _subscribeToMenuOpen;
250
- /** Subscribe to the MenuStack close events. */
251
- private _subscribeToMenuStackClosed;
252
- /** Subscribe to the MenuStack hasFocus events. */
253
- private _subscribeToMenuStackHasFocus;
254
- /**
255
- * Set the PointerFocusTracker and ensure that when mouse focus changes the key manager is updated
256
- * with the latest menu item under mouse focus.
257
- */
258
- private _setUpPointerTracker;
259
- static ɵfac: i0.ɵɵFactoryDeclaration<CdkMenuBase, never>;
260
- static ɵdir: i0.ɵɵDirectiveDeclaration<
261
- CdkMenuBase,
262
- never,
263
- never,
264
- { id: 'id' },
265
- {},
266
- ['items'],
267
- never,
268
- false
269
- >;
270
- }
271
-
272
- /**
273
- * A grouping container for `CdkMenuItemRadio` instances, similar to a `role="radiogroup"` element.
274
- */
275
- export declare class CdkMenuGroup {
276
- static ɵfac: i0.ɵɵFactoryDeclaration<CdkMenuGroup, never>;
277
- static ɵdir: i0.ɵɵDirectiveDeclaration<
278
- CdkMenuGroup,
279
- '[cdkMenuGroup]',
280
- ['cdkMenuGroup'],
281
- {},
282
- {},
283
- never,
284
- never,
285
- false
286
- >;
287
- }
288
-
289
- /**
290
- * Directive which provides the ability for an element to be focused and navigated to using the
291
- * keyboard when residing in a CdkMenu, CdkMenuBar, or CdkMenuGroup. It performs user defined
292
- * behavior when clicked.
293
- */
294
- export declare class CdkMenuItem implements FocusableOption, FocusableElement, Toggler, OnDestroy {
295
- /** The directionality (text direction) of the current page. */
296
- protected readonly _dir: Directionality | null;
297
- /** The menu's native DOM host element. */
298
- readonly _elementRef: ElementRef<HTMLElement>;
299
- /** The Angular zone. */
300
- protected _ngZone: NgZone;
301
- /** The menu aim service used by this menu. */
302
- private readonly _menuAim;
303
- /** The stack of menus this menu belongs to. */
304
- private readonly _menuStack;
305
- /** The parent menu in which this menuitem resides. */
306
- private readonly _parentMenu;
307
- /** Reference to the CdkMenuItemTrigger directive if one is added to the same element */
308
- private readonly _menuTrigger;
309
- /** Whether the CdkMenuItem is disabled - defaults to false */
310
- get disabled(): boolean;
311
- set disabled(value: BooleanInput);
312
- private _disabled;
313
- /**
314
- * The text used to locate this item during menu typeahead. If not specified,
315
- * the `textContent` of the item will be used.
316
- */
317
- typeaheadLabel: string | null;
318
- /**
319
- * If this MenuItem is a regular MenuItem, outputs when it is triggered by a keyboard or mouse
320
- * event.
321
- */
322
- readonly triggered: EventEmitter<void>;
323
- /** Whether the menu item opens a menu. */
324
- readonly hasMenu: boolean;
325
- /**
326
- * The tabindex for this menu item managed internally and used for implementing roving a
327
- * tab index.
328
- */
329
- _tabindex: 0 | -1;
330
- /** Whether the item should close the menu if triggered by the spacebar. */
331
- protected closeOnSpacebarTrigger: boolean;
332
- /** Emits when the menu item is destroyed. */
333
- protected readonly destroyed: Subject<void>;
334
- constructor();
335
- ngOnDestroy(): void;
336
- /** Place focus on the element. */
337
- focus(): void;
338
- /**
339
- * If the menu item is not disabled and the element does not have a menu trigger attached, emit
340
- * on the cdkMenuItemTriggered emitter and close all open menus.
341
- * @param options Options the configure how the item is triggered
342
- * - keepOpen: specifies that the menu should be kept open after triggering the item.
343
- */
344
- trigger(options?: { keepOpen: boolean }): void;
345
- /** Return true if this MenuItem has an attached menu and it is open. */
346
- isMenuOpen(): boolean;
347
- /**
348
- * Get a reference to the rendered Menu if the Menu is open and it is visible in the DOM.
349
- * @return the menu if it is open, otherwise undefined.
350
- */
351
- getMenu(): Menu | undefined;
352
- /** Get the CdkMenuTrigger associated with this element. */
353
- getMenuTrigger(): CdkMenuTrigger | null;
354
- /** Get the label for this element which is required by the FocusableOption interface. */
355
- getLabel(): string;
356
- /** Reset the tabindex to -1. */
357
- _resetTabIndex(): void;
358
- /**
359
- * Set the tab index to 0 if not disabled and it's a focus event, or a mouse enter if this element
360
- * is not in a menu bar.
361
- */
362
- _setTabIndex(event?: MouseEvent): void;
363
- /**
364
- * Handles keyboard events for the menu item, specifically either triggering the user defined
365
- * callback or opening/closing the current menu based on whether the left or right arrow key was
366
- * pressed.
367
- * @param event the keyboard event to handle
368
- */
369
- _onKeydown(event: KeyboardEvent): void;
370
- /** Whether this menu item is standalone or within a menu or menu bar. */
371
- private _isStandaloneItem;
372
- /**
373
- * Handles the user pressing the back arrow key.
374
- * @param event The keyboard event.
375
- */
376
- private _backArrowPressed;
377
- /**
378
- * Handles the user pressing the forward arrow key.
379
- * @param event The keyboard event.
380
- */
381
- private _forwardArrowPressed;
382
- /**
383
- * Subscribe to the mouseenter events and close any sibling menu items if this element is moused
384
- * into.
385
- */
386
- private _setupMouseEnter;
387
- /**
388
- * Return true if the enclosing parent menu is configured in a horizontal orientation, false
389
- * otherwise or if no parent.
390
- */
391
- private _isParentVertical;
392
- /** Sets the `type` attribute of the menu item. */
393
- private _setType;
394
- static ɵfac: i0.ɵɵFactoryDeclaration<CdkMenuItem, never>;
395
- static ɵdir: i0.ɵɵDirectiveDeclaration<
396
- CdkMenuItem,
397
- '[cdkMenuItem]',
398
- ['cdkMenuItem'],
399
- { disabled: 'cdkMenuItemDisabled'; typeaheadLabel: 'cdkMenuitemTypeaheadLabel' },
400
- { triggered: 'cdkMenuItemTriggered' },
401
- never,
402
- never,
403
- false
404
- >;
405
- }
406
-
407
- /**
408
- * A directive providing behavior for the "menuitemcheckbox" ARIA role, which behaves similarly to a
409
- * conventional checkbox.
410
- */
411
- export declare class CdkMenuItemCheckbox extends CdkMenuItemSelectable {
412
- /**
413
- * Toggle the checked state of the checkbox.
414
- * @param options Options the configure how the item is triggered
415
- * - keepOpen: specifies that the menu should be kept open after triggering the item.
416
- */
417
- trigger(options?: { keepOpen: boolean }): void;
418
- static ɵfac: i0.ɵɵFactoryDeclaration<CdkMenuItemCheckbox, never>;
419
- static ɵdir: i0.ɵɵDirectiveDeclaration<
420
- CdkMenuItemCheckbox,
421
- '[cdkMenuItemCheckbox]',
422
- ['cdkMenuItemCheckbox'],
423
- {},
424
- {},
425
- never,
426
- never,
427
- false
428
- >;
429
- }
430
-
431
- /**
432
- * A directive providing behavior for the "menuitemradio" ARIA role, which behaves similarly to
433
- * a conventional radio-button. Any sibling `CdkMenuItemRadio` instances within the same `CdkMenu`
434
- * or `CdkMenuGroup` comprise a radio group with unique selection enforced.
435
- */
436
- export declare class CdkMenuItemRadio extends CdkMenuItemSelectable implements OnDestroy {
437
- /** The unique selection dispatcher for this radio's `CdkMenuGroup`. */
438
- private readonly _selectionDispatcher;
439
- /** An ID to identify this radio item to the `UniqueSelectionDispatcher`. */
440
- private _id;
441
- /** Function to unregister the selection dispatcher */
442
- private _removeDispatcherListener;
443
- constructor();
444
- ngOnDestroy(): void;
445
- /**
446
- * Toggles the checked state of the radio-button.
447
- * @param options Options the configure how the item is triggered
448
- * - keepOpen: specifies that the menu should be kept open after triggering the item.
449
- */
450
- trigger(options?: { keepOpen: boolean }): void;
451
- /** Configure the unique selection dispatcher listener in order to toggle the checked state */
452
- private _registerDispatcherListener;
453
- static ɵfac: i0.ɵɵFactoryDeclaration<CdkMenuItemRadio, never>;
454
- static ɵdir: i0.ɵɵDirectiveDeclaration<
455
- CdkMenuItemRadio,
456
- '[cdkMenuItemRadio]',
457
- ['cdkMenuItemRadio'],
458
- {},
459
- {},
460
- never,
461
- never,
462
- false
463
- >;
464
- }
465
-
466
- /** Base class providing checked state for selectable MenuItems. */
467
- export declare abstract class CdkMenuItemSelectable extends CdkMenuItem {
468
- /** Whether the element is checked */
469
- get checked(): boolean;
470
- set checked(value: BooleanInput);
471
- private _checked;
472
- /** Whether the item should close the menu if triggered by the spacebar. */
473
- protected closeOnSpacebarTrigger: boolean;
474
- static ɵfac: i0.ɵɵFactoryDeclaration<CdkMenuItemSelectable, never>;
475
- static ɵdir: i0.ɵɵDirectiveDeclaration<
476
- CdkMenuItemSelectable,
477
- never,
478
- never,
479
- { checked: 'cdkMenuItemChecked' },
480
- {},
481
- never,
482
- never,
483
- false
484
- >;
485
- }
486
-
487
- /** Module that declares components and directives for the CDK menu. */
488
- export declare class CdkMenuModule {
489
- static ɵfac: i0.ɵɵFactoryDeclaration<CdkMenuModule, never>;
490
- static ɵmod: i0.ɵɵNgModuleDeclaration<
491
- CdkMenuModule,
492
- [
493
- typeof i1.CdkMenuBar,
494
- typeof i2.CdkMenu,
495
- typeof i3.CdkMenuItem,
496
- typeof i4.CdkMenuItemRadio,
497
- typeof i5.CdkMenuItemCheckbox,
498
- typeof i6.CdkMenuTrigger,
499
- typeof i7.CdkMenuGroup,
500
- typeof i8.CdkContextMenuTrigger,
501
- typeof i9.CdkTargetMenuAim,
502
- ],
503
- [typeof i10.OverlayModule],
504
- [
505
- typeof i1.CdkMenuBar,
506
- typeof i2.CdkMenu,
507
- typeof i3.CdkMenuItem,
508
- typeof i4.CdkMenuItemRadio,
509
- typeof i5.CdkMenuItemCheckbox,
510
- typeof i6.CdkMenuTrigger,
511
- typeof i7.CdkMenuGroup,
512
- typeof i8.CdkContextMenuTrigger,
513
- typeof i9.CdkTargetMenuAim,
514
- ]
515
- >;
516
- static ɵinj: i0.ɵɵInjectorDeclaration<CdkMenuModule>;
517
- }
518
-
519
- /**
520
- * A directive that turns its host element into a trigger for a popup menu.
521
- * It can be combined with cdkMenuItem to create sub-menus. If the element is in a top level
522
- * MenuBar it will open the menu on click, or if a sibling is already opened it will open on hover.
523
- * If it is inside of a Menu it will open the attached Submenu on hover regardless of its sibling
524
- * state.
525
- */
526
- export declare class CdkMenuTrigger extends CdkMenuTriggerBase implements OnDestroy {
527
- /** The host element. */
528
- private readonly _elementRef;
529
- /** The CDK overlay service. */
530
- private readonly _overlay;
531
- /** The Angular zone. */
532
- private readonly _ngZone;
533
- /** The parent menu this trigger belongs to. */
534
- private readonly _parentMenu;
535
- /** The menu aim service used by this menu. */
536
- private readonly _menuAim;
537
- /** The directionality of the page. */
538
- private readonly _directionality;
539
- constructor();
540
- /** Toggle the attached menu. */
541
- toggle(): void;
542
- /** Open the attached menu. */
543
- open(): void;
544
- /** Close the opened menu. */
545
- close(): void;
546
- /**
547
- * Get a reference to the rendered Menu if the Menu is open and rendered in the DOM.
548
- */
549
- getMenu(): Menu | undefined;
550
- /**
551
- * Handles keyboard events for the menu item.
552
- * @param event The keyboard event to handle
553
- */
554
- _toggleOnKeydown(event: KeyboardEvent): void;
555
- /**
556
- * Sets whether the trigger's menu stack has focus.
557
- * @param hasFocus Whether the menu stack has focus.
558
- */
559
- _setHasFocus(hasFocus: boolean): void;
560
- /**
561
- * Subscribe to the mouseenter events and close any sibling menu items if this element is moused
562
- * into.
563
- */
564
- private _subscribeToMouseEnter;
565
- /** Close out any sibling menu trigger menus. */
566
- private _closeSiblingTriggers;
567
- /** Get the configuration object used to create the overlay. */
568
- private _getOverlayConfig;
569
- /** Build the position strategy for the overlay which specifies where to place the menu. */
570
- private _getOverlayPositionStrategy;
571
- /** Get the preferred positions for the opened menu relative to the menu item. */
572
- private _getOverlayPositions;
573
- /**
574
- * Subscribe to the MenuStack close events if this is a standalone trigger and close out the menu
575
- * this triggers when requested.
576
- */
577
- private _registerCloseHandler;
578
- /**
579
- * Subscribe to the overlays outside pointer events stream and handle closing out the stack if a
580
- * click occurs outside the menus.
581
- */
582
- private _subscribeToOutsideClicks;
583
- /** Subscribe to the MenuStack hasFocus events. */
584
- private _subscribeToMenuStackHasFocus;
585
- /** Subscribe to the MenuStack closed events. */
586
- private _subscribeToMenuStackClosed;
587
- /** Sets the role attribute for this trigger if needed. */
588
- private _setRole;
589
- /** Sets thte `type` attribute of the trigger. */
590
- private _setType;
591
- static ɵfac: i0.ɵɵFactoryDeclaration<CdkMenuTrigger, never>;
592
- static ɵdir: i0.ɵɵDirectiveDeclaration<
593
- CdkMenuTrigger,
594
- '[cdkMenuTriggerFor]',
595
- ['cdkMenuTriggerFor'],
596
- { menuTemplateRef: 'cdkMenuTriggerFor'; menuPosition: 'cdkMenuPosition' },
597
- { opened: 'cdkMenuOpened'; closed: 'cdkMenuClosed' },
598
- never,
599
- never,
600
- false
601
- >;
602
- }
603
-
604
- /**
605
- * Abstract directive that implements shared logic common to all menu triggers.
606
- * This class can be extended to create custom menu trigger types.
607
- */
608
- export declare abstract class CdkMenuTriggerBase implements OnDestroy {
609
- /** The DI injector for this component. */
610
- readonly injector: Injector;
611
- /** The view container ref for this component */
612
- protected readonly viewContainerRef: ViewContainerRef;
613
- /** The menu stack in which this menu resides. */
614
- protected readonly menuStack: MenuStack;
615
- /**
616
- * A list of preferred menu positions to be used when constructing the
617
- * `FlexibleConnectedPositionStrategy` for this trigger's menu.
618
- */
619
- menuPosition: ConnectedPosition[];
620
- /** Emits when the attached menu is requested to open */
621
- readonly opened: EventEmitter<void>;
622
- /** Emits when the attached menu is requested to close */
623
- readonly closed: EventEmitter<void>;
624
- /** Template reference variable to the menu this trigger opens */
625
- menuTemplateRef: TemplateRef<unknown>;
626
- /** A reference to the overlay which manages the triggered menu */
627
- protected overlayRef: OverlayRef | null;
628
- /** Emits when this trigger is destroyed. */
629
- protected readonly destroyed: Subject<void>;
630
- /** Emits when the outside pointer events listener on the overlay should be stopped. */
631
- protected readonly stopOutsideClicksListener: Observable<void>;
632
- /** The child menu opened by this trigger. */
633
- protected childMenu?: Menu;
634
- /** The content of the menu panel opened by this trigger. */
635
- private _menuPortal;
636
- /** The injector to use for the child menu opened by this trigger. */
637
- private _childMenuInjector?;
638
- ngOnDestroy(): void;
639
- /** Whether the attached menu is open. */
640
- isOpen(): boolean;
641
- /** Registers a child menu as having been opened by this trigger. */
642
- registerChildMenu(child: Menu): void;
643
- /**
644
- * Get the portal to be attached to the overlay which contains the menu. Allows for the menu
645
- * content to change dynamically and be reflected in the application.
646
- */
647
- protected getMenuContentPortal(): TemplatePortal<any>;
648
- /**
649
- * Whether the given element is inside the scope of this trigger's menu stack.
650
- * @param element The element to check.
651
- * @return Whether the element is inside the scope of this trigger's menu stack.
652
- */
653
- protected isElementInsideMenuStack(element: Element): boolean;
654
- /** Destroy and unset the overlay reference it if exists */
655
- private _destroyOverlay;
656
- /** Gets the injector to use when creating a child menu. */
657
- private _getChildMenuInjector;
658
- static ɵfac: i0.ɵɵFactoryDeclaration<CdkMenuTriggerBase, never>;
659
- static ɵdir: i0.ɵɵDirectiveDeclaration<
660
- CdkMenuTriggerBase,
661
- never,
662
- never,
663
- {},
664
- {},
665
- never,
666
- never,
667
- false
668
- >;
669
- }
670
-
671
- /**
672
- * CdkTargetMenuAim is a provider for the TargetMenuAim service. It can be added to an
673
- * element with either the `cdkMenu` or `cdkMenuBar` directive and child menu items.
674
- */
675
- export declare class CdkTargetMenuAim {
676
- static ɵfac: i0.ɵɵFactoryDeclaration<CdkTargetMenuAim, never>;
677
- static ɵdir: i0.ɵɵDirectiveDeclaration<
678
- CdkTargetMenuAim,
679
- '[cdkTargetMenuAim]',
680
- ['cdkTargetMenuAim'],
681
- {},
682
- {},
683
- never,
684
- never,
685
- false
686
- >;
687
- }
688
-
689
- /** Options that can be provided to the close or closeAll methods. */
690
- export declare interface CloseOptions {
691
- /** The element to focus next if the close operation causes the menu stack to become empty. */
692
- focusNextOnEmpty?: FocusNext;
693
- /** Whether to focus the parent trigger after closing the menu. */
694
- focusParentTrigger?: boolean;
695
- }
696
-
697
- /** The coordinates where the context menu should open. */
698
- export declare type ContextMenuCoordinates = {
699
- x: number;
700
- y: number;
701
- };
702
-
703
- /** Tracks the last open context menu trigger across the entire application. */
704
- export declare class ContextMenuTracker {
705
- /** The last open context menu trigger. */
706
- private static _openContextMenuTrigger?;
707
- /**
708
- * Close the previous open context menu and set the given one as being open.
709
- * @param trigger The trigger for the currently open Context Menu.
710
- */
711
- update(trigger: CdkContextMenuTrigger): void;
712
- static ɵfac: i0.ɵɵFactoryDeclaration<ContextMenuTracker, never>;
713
- static ɵprov: i0.ɵɵInjectableDeclaration<ContextMenuTracker>;
714
- }
715
-
716
- /** Item to track for mouse focus events. */
717
- export declare interface FocusableElement {
718
- /** A reference to the element to be tracked. */
719
- _elementRef: ElementRef<HTMLElement>;
720
- }
721
-
722
- /** The relative item in the inline menu to focus after closing all popup menus. */
723
- export declare const enum FocusNext {
724
- nextItem = 0,
725
- previousItem = 1,
726
- currentItem = 2,
727
- }
728
-
729
- declare namespace i1 {
730
- export { CdkMenuBar };
731
- }
732
-
733
- declare namespace i2 {
734
- export { CdkMenu };
735
- }
736
-
737
- declare namespace i3 {
738
- export { CdkMenuItem };
739
- }
740
-
741
- declare namespace i4 {
742
- export { CdkMenuItemRadio };
743
- }
744
-
745
- declare namespace i5 {
746
- export { CdkMenuItemCheckbox };
747
- }
748
-
749
- declare namespace i6 {
750
- export { CdkMenuTrigger };
751
- }
752
-
753
- declare namespace i7 {
754
- export { CdkMenuGroup };
755
- }
756
-
757
- declare namespace i8 {
758
- export { ContextMenuTracker, ContextMenuCoordinates, CdkContextMenuTrigger };
759
- }
760
-
761
- declare namespace i9 {
762
- export { MenuAim, MENU_AIM, Toggler, TargetMenuAim, CdkTargetMenuAim };
763
- }
764
-
765
- /** Interface which specifies Menu operations and used to break circular dependency issues */
766
- export declare interface Menu extends MenuStackItem {
767
- /** The id of the menu's host element. */
768
- id: string;
769
- /** The menu's native DOM host element. */
770
- nativeElement: HTMLElement;
771
- /** The direction items in the menu flow. */
772
- readonly orientation: 'horizontal' | 'vertical';
773
- /** Place focus on the first MenuItem in the menu. */
774
- focusFirstItem(focusOrigin: FocusOrigin): void;
775
- /** Place focus on the last MenuItem in the menu. */
776
- focusLastItem(focusOrigin: FocusOrigin): void;
777
- }
778
-
779
- /** Injection token used for an implementation of MenuAim. */
780
- export declare const MENU_AIM: InjectionToken<MenuAim>;
781
-
782
- /** Injection token used for an implementation of MenuStack. */
783
- export declare const MENU_STACK: InjectionToken<MenuStack>;
784
-
785
- /** Injection token used for an implementation of MenuStack. */
786
- export declare const MENU_TRIGGER: InjectionToken<CdkMenuTriggerBase>;
787
-
788
- /**
789
- * MenuAim is responsible for determining if a sibling menuitem's menu should be closed when a
790
- * Toggler item is hovered into. It is up to the hovered in item to call the MenuAim service in
791
- * order to determine if it may perform its close actions.
792
- */
793
- export declare interface MenuAim {
794
- /**
795
- * Set the Menu and its PointerFocusTracker.
796
- * @param menu The menu that this menu aim service controls.
797
- * @param pointerTracker The `PointerFocusTracker` for the given menu.
798
- */
799
- initialize(menu: Menu, pointerTracker: PointerFocusTracker<FocusableElement & Toggler>): void;
800
- /**
801
- * Calls the `doToggle` callback when it is deemed that the user is not moving towards
802
- * the submenu.
803
- * @param doToggle the function called when the user is not moving towards the submenu.
804
- */
805
- toggle(doToggle: () => void): void;
806
- }
807
-
808
- /**
809
- * MenuStack allows subscribers to listen for close events (when a MenuStackItem is popped off
810
- * of the stack) in order to perform closing actions. Upon the MenuStack being empty it emits
811
- * from the `empty` observable specifying the next focus action which the listener should perform
812
- * as requested by the closer.
813
- */
814
- export declare class MenuStack {
815
- /** The ID of this menu stack. */
816
- readonly id: string;
817
- /** All MenuStackItems tracked by this MenuStack. */
818
- private readonly _elements;
819
- /** Emits the element which was popped off of the stack when requested by a closer. */
820
- private readonly _close;
821
- /** Emits once the MenuStack has become empty after popping off elements. */
822
- private readonly _empty;
823
- /** Emits whether any menu in the menu stack has focus. */
824
- private readonly _hasFocus;
825
- /** Observable which emits the MenuStackItem which has been requested to close. */
826
- readonly closed: Observable<MenuStackCloseEvent>;
827
- /** Observable which emits whether any menu in the menu stack has focus. */
828
- readonly hasFocus: Observable<boolean>;
829
- /**
830
- * Observable which emits when the MenuStack is empty after popping off the last element. It
831
- * emits a FocusNext event which specifies the action the closer has requested the listener
832
- * perform.
833
- */
834
- readonly emptied: Observable<FocusNext | undefined>;
835
- /**
836
- * Whether the inline menu associated with this menu stack is vertical or horizontal.
837
- * `null` indicates there is no inline menu associated with this menu stack.
838
- */
839
- private _inlineMenuOrientation;
840
- /** Creates a menu stack that originates from an inline menu. */
841
- static inline(orientation: 'vertical' | 'horizontal'): MenuStack;
842
- /**
843
- * Adds an item to the menu stack.
844
- * @param menu the MenuStackItem to put on the stack.
845
- */
846
- push(menu: MenuStackItem): void;
847
- /**
848
- * Pop items off of the stack up to and including `lastItem` and emit each on the close
849
- * observable. If the stack is empty or `lastItem` is not on the stack it does nothing.
850
- * @param lastItem the last item to pop off the stack.
851
- * @param options Options that configure behavior on close.
852
- */
853
- close(lastItem: MenuStackItem, options?: CloseOptions): void;
854
- /**
855
- * Pop items off of the stack up to but excluding `lastItem` and emit each on the close
856
- * observable. If the stack is empty or `lastItem` is not on the stack it does nothing.
857
- * @param lastItem the element which should be left on the stack
858
- * @return whether or not an item was removed from the stack
859
- */
860
- closeSubMenuOf(lastItem: MenuStackItem): boolean;
861
- /**
862
- * Pop off all MenuStackItems and emit each one on the `close` observable one by one.
863
- * @param options Options that configure behavior on close.
864
- */
865
- closeAll(options?: CloseOptions): void;
866
- /** Return true if this stack is empty. */
867
- isEmpty(): boolean;
868
- /** Return the length of the stack. */
869
- length(): number;
870
- /** Get the top most element on the stack. */
871
- peek(): MenuStackItem | undefined;
872
- /** Whether the menu stack is associated with an inline menu. */
873
- hasInlineMenu(): boolean;
874
- /** The orientation of the associated inline menu. */
875
- inlineMenuOrientation(): 'vertical' | 'horizontal' | null;
876
- /** Sets whether the menu stack contains the focused element. */
877
- setHasFocus(hasFocus: boolean): void;
878
- static ɵfac: i0.ɵɵFactoryDeclaration<MenuStack, never>;
879
- static ɵprov: i0.ɵɵInjectableDeclaration<MenuStack>;
880
- }
881
-
882
- /** Event dispatched when a menu is closed. */
883
- export declare interface MenuStackCloseEvent {
884
- /** The menu being closed. */
885
- item: MenuStackItem;
886
- /** Whether to focus the parent trigger after closing the menu. */
887
- focusParentTrigger?: boolean;
888
- }
889
-
890
- /** A single item (menu) in the menu stack. */
891
- export declare interface MenuStackItem {
892
- /** A reference to the menu stack this menu stack item belongs to. */
893
- menuStack?: MenuStack;
894
- }
895
-
896
- /** Provider that provides the parent menu stack, or a new inline menu stack if there is no parent one. */
897
- export declare const PARENT_OR_NEW_INLINE_MENU_STACK_PROVIDER: (
898
- orientation: 'vertical' | 'horizontal'
899
- ) => {
900
- provide: InjectionToken<MenuStack>;
901
- deps: Optional[][];
902
- useFactory: (parentMenuStack?: MenuStack) => MenuStack;
903
- };
904
-
905
- /** Provider that provides the parent menu stack, or a new menu stack if there is no parent one. */
906
- export declare const PARENT_OR_NEW_MENU_STACK_PROVIDER: {
907
- provide: InjectionToken<MenuStack>;
908
- deps: Optional[][];
909
- useFactory: (parentMenuStack?: MenuStack) => MenuStack;
910
- };
911
-
912
- /**
913
- * PointerFocusTracker keeps track of the currently active item under mouse focus. It also has
914
- * observables which emit when the users mouse enters and leaves a tracked element.
915
- */
916
- export declare class PointerFocusTracker<T extends FocusableElement> {
917
- /** The list of items being tracked. */
918
- private readonly _items;
919
- /** Emits when an element is moused into. */
920
- readonly entered: Observable<T>;
921
- /** Emits when an element is moused out. */
922
- readonly exited: Observable<T>;
923
- /** The element currently under mouse focus. */
924
- activeElement?: T;
925
- /** The element previously under mouse focus. */
926
- previousElement?: T;
927
- /** Emits when this is destroyed. */
928
- private readonly _destroyed;
929
- constructor(
930
- /** The list of items being tracked. */
931
- _items: QueryList<T>
932
- );
933
- /** Stop the managers listeners. */
934
- destroy(): void;
935
- /**
936
- * Gets a stream of pointer (mouse) entries into the given items.
937
- * This should typically run outside the Angular zone.
938
- */
939
- private _getItemPointerEntries;
940
- /**
941
- * Gets a stream of pointer (mouse) exits out of the given items.
942
- * This should typically run outside the Angular zone.
943
- */
944
- private _getItemPointerExits;
945
- }
946
-
947
- /**
948
- * TargetMenuAim predicts if a user is moving into a submenu. It calculates the
949
- * trajectory of the user's mouse movement in the current menu to determine if the
950
- * mouse is moving towards an open submenu.
951
- *
952
- * The determination is made by calculating the slope of the users last NUM_POINTS moves where each
953
- * pair of points determines if the trajectory line points into the submenu. It uses consensus
954
- * approach by checking if at least NUM_POINTS / 2 pairs determine that the user is moving towards
955
- * to submenu.
956
- */
957
- export declare class TargetMenuAim implements MenuAim, OnDestroy {
958
- /** The Angular zone. */
959
- private readonly _ngZone;
960
- /** The last NUM_POINTS mouse move events. */
961
- private readonly _points;
962
- /** Reference to the root menu in which we are tracking mouse moves. */
963
- private _menu;
964
- /** Reference to the root menu's mouse manager. */
965
- private _pointerTracker;
966
- /** The id associated with the current timeout call waiting to resolve. */
967
- private _timeoutId;
968
- /** Emits when this service is destroyed. */
969
- private readonly _destroyed;
970
- ngOnDestroy(): void;
971
- /**
972
- * Set the Menu and its PointerFocusTracker.
973
- * @param menu The menu that this menu aim service controls.
974
- * @param pointerTracker The `PointerFocusTracker` for the given menu.
975
- */
976
- initialize(menu: Menu, pointerTracker: PointerFocusTracker<FocusableElement & Toggler>): void;
977
- /**
978
- * Calls the `doToggle` callback when it is deemed that the user is not moving towards
979
- * the submenu.
980
- * @param doToggle the function called when the user is not moving towards the submenu.
981
- */
982
- toggle(doToggle: () => void): void;
983
- /**
984
- * Start the delayed toggle handler if one isn't running already.
985
- *
986
- * The delayed toggle handler executes the `doToggle` callback after some period of time iff the
987
- * users mouse is on an item in the current menu.
988
- *
989
- * @param doToggle the function called when the user is not moving towards the submenu.
990
- */
991
- private _startTimeout;
992
- /** Whether the user is heading towards the open submenu. */
993
- private _isMovingToSubmenu;
994
- /** Get the bounding DOMRect for the open submenu. */
995
- private _getSubmenuBounds;
996
- /**
997
- * Check if a reference to the PointerFocusTracker and menu element is provided.
998
- * @throws an error if neither reference is provided.
999
- */
1000
- private _checkConfigured;
1001
- /** Subscribe to the root menus mouse move events and update the tracked mouse points. */
1002
- private _subscribeToMouseMoves;
1003
- static ɵfac: i0.ɵɵFactoryDeclaration<TargetMenuAim, never>;
1004
- static ɵprov: i0.ɵɵInjectableDeclaration<TargetMenuAim>;
1005
- }
1006
-
1007
- /** An element which when hovered over may open or close a menu. */
1008
- export declare interface Toggler {
1009
- /** Gets the open menu, or undefined if no menu is open. */
1010
- getMenu(): Menu | undefined;
1011
- }
1012
-
1013
- export {};
1
+ import * as i0 from '@angular/core';
2
+ import { ElementRef, Renderer2, QueryList, InjectionToken, Optional, OnDestroy, Injector, ViewContainerRef, EventEmitter, TemplateRef, OnChanges, SimpleChanges, NgZone, AfterContentInit } from '@angular/core';
3
+ import { ScrollStrategy, ConnectedPosition, OverlayRef, OverlayModule } from '../overlay-module.d.js';
4
+ import * as rxjs from 'rxjs';
5
+ import { Observable, Subject } from 'rxjs';
6
+ import { FocusOrigin } from '../focus-monitor.d.js';
7
+ import { FocusableOption, FocusKeyManager } from '../focus-key-manager.d.js';
8
+ import { Directionality } from '../bidi-module.d.js';
9
+ import { TemplatePortal } from '../portal-directives.d.js';
10
+ import '../scrolling-module.d.js';
11
+ import '../data-source.d.js';
12
+ import '../number-property.d.js';
13
+ import '@angular/common';
14
+ import '../scrolling/index.js';
15
+ import '../platform.d.js';
16
+ import '../style-loader.d.js';
17
+ import '../list-key-manager.d.js';
18
+
19
+ /** Item to track for mouse focus events. */
20
+ interface FocusableElement {
21
+ /** A reference to the element to be tracked. */
22
+ _elementRef: ElementRef<HTMLElement>;
23
+ }
24
+ /**
25
+ * PointerFocusTracker keeps track of the currently active item under mouse focus. It also has
26
+ * observables which emit when the users mouse enters and leaves a tracked element.
27
+ */
28
+ declare class PointerFocusTracker<T extends FocusableElement> {
29
+ private _renderer;
30
+ private readonly _items;
31
+ private _eventCleanups;
32
+ private _itemsSubscription;
33
+ /** Emits when an element is moused into. */
34
+ readonly entered: Observable<T>;
35
+ /** Emits when an element is moused out. */
36
+ readonly exited: Observable<T>;
37
+ /** The element currently under mouse focus. */
38
+ activeElement?: T;
39
+ /** The element previously under mouse focus. */
40
+ previousElement?: T;
41
+ constructor(_renderer: Renderer2, _items: QueryList<T>);
42
+ /** Stop the managers listeners. */
43
+ destroy(): void;
44
+ /** Binds the enter/exit events on all the items. */
45
+ private _bindEvents;
46
+ /** Cleans up the currently-bound events. */
47
+ private _cleanupEvents;
48
+ }
49
+
50
+ /** The relative item in the inline menu to focus after closing all popup menus. */
51
+ declare enum FocusNext {
52
+ nextItem = 0,
53
+ previousItem = 1,
54
+ currentItem = 2
55
+ }
56
+ /** A single item (menu) in the menu stack. */
57
+ interface MenuStackItem {
58
+ /** A reference to the menu stack this menu stack item belongs to. */
59
+ menuStack?: MenuStack;
60
+ }
61
+ /** Injection token used for an implementation of MenuStack. */
62
+ declare const MENU_STACK: InjectionToken<MenuStack>;
63
+ /** Provider that provides the parent menu stack, or a new menu stack if there is no parent one. */
64
+ declare const PARENT_OR_NEW_MENU_STACK_PROVIDER: {
65
+ provide: InjectionToken<MenuStack>;
66
+ deps: Optional[][];
67
+ useFactory: (parentMenuStack?: MenuStack) => MenuStack;
68
+ };
69
+ /** Provider that provides the parent menu stack, or a new inline menu stack if there is no parent one. */
70
+ declare const PARENT_OR_NEW_INLINE_MENU_STACK_PROVIDER: (orientation: "vertical" | "horizontal") => {
71
+ provide: InjectionToken<MenuStack>;
72
+ deps: Optional[][];
73
+ useFactory: (parentMenuStack?: MenuStack) => MenuStack;
74
+ };
75
+ /** Options that can be provided to the close or closeAll methods. */
76
+ interface CloseOptions {
77
+ /** The element to focus next if the close operation causes the menu stack to become empty. */
78
+ focusNextOnEmpty?: FocusNext;
79
+ /** Whether to focus the parent trigger after closing the menu. */
80
+ focusParentTrigger?: boolean;
81
+ }
82
+ /** Event dispatched when a menu is closed. */
83
+ interface MenuStackCloseEvent {
84
+ /** The menu being closed. */
85
+ item: MenuStackItem;
86
+ /** Whether to focus the parent trigger after closing the menu. */
87
+ focusParentTrigger?: boolean;
88
+ }
89
+ /**
90
+ * MenuStack allows subscribers to listen for close events (when a MenuStackItem is popped off
91
+ * of the stack) in order to perform closing actions. Upon the MenuStack being empty it emits
92
+ * from the `empty` observable specifying the next focus action which the listener should perform
93
+ * as requested by the closer.
94
+ */
95
+ declare class MenuStack {
96
+ /** The ID of this menu stack. */
97
+ readonly id: string;
98
+ /** All MenuStackItems tracked by this MenuStack. */
99
+ private readonly _elements;
100
+ /** Emits the element which was popped off of the stack when requested by a closer. */
101
+ private readonly _close;
102
+ /** Emits once the MenuStack has become empty after popping off elements. */
103
+ private readonly _empty;
104
+ /** Emits whether any menu in the menu stack has focus. */
105
+ private readonly _hasFocus;
106
+ /** Observable which emits the MenuStackItem which has been requested to close. */
107
+ readonly closed: Observable<MenuStackCloseEvent>;
108
+ /** Observable which emits whether any menu in the menu stack has focus. */
109
+ readonly hasFocus: Observable<boolean>;
110
+ /**
111
+ * Observable which emits when the MenuStack is empty after popping off the last element. It
112
+ * emits a FocusNext event which specifies the action the closer has requested the listener
113
+ * perform.
114
+ */
115
+ readonly emptied: Observable<FocusNext | undefined>;
116
+ /**
117
+ * Whether the inline menu associated with this menu stack is vertical or horizontal.
118
+ * `null` indicates there is no inline menu associated with this menu stack.
119
+ */
120
+ private _inlineMenuOrientation;
121
+ /** Creates a menu stack that originates from an inline menu. */
122
+ static inline(orientation: 'vertical' | 'horizontal'): MenuStack;
123
+ /**
124
+ * Adds an item to the menu stack.
125
+ * @param menu the MenuStackItem to put on the stack.
126
+ */
127
+ push(menu: MenuStackItem): void;
128
+ /**
129
+ * Pop items off of the stack up to and including `lastItem` and emit each on the close
130
+ * observable. If the stack is empty or `lastItem` is not on the stack it does nothing.
131
+ * @param lastItem the last item to pop off the stack.
132
+ * @param options Options that configure behavior on close.
133
+ */
134
+ close(lastItem: MenuStackItem, options?: CloseOptions): void;
135
+ /**
136
+ * Pop items off of the stack up to but excluding `lastItem` and emit each on the close
137
+ * observable. If the stack is empty or `lastItem` is not on the stack it does nothing.
138
+ * @param lastItem the element which should be left on the stack
139
+ * @return whether or not an item was removed from the stack
140
+ */
141
+ closeSubMenuOf(lastItem: MenuStackItem): boolean;
142
+ /**
143
+ * Pop off all MenuStackItems and emit each one on the `close` observable one by one.
144
+ * @param options Options that configure behavior on close.
145
+ */
146
+ closeAll(options?: CloseOptions): void;
147
+ /** Return true if this stack is empty. */
148
+ isEmpty(): boolean;
149
+ /** Return the length of the stack. */
150
+ length(): number;
151
+ /** Get the top most element on the stack. */
152
+ peek(): MenuStackItem | undefined;
153
+ /** Whether the menu stack is associated with an inline menu. */
154
+ hasInlineMenu(): boolean;
155
+ /** The orientation of the associated inline menu. */
156
+ inlineMenuOrientation(): "vertical" | "horizontal" | null;
157
+ /** Sets whether the menu stack contains the focused element. */
158
+ setHasFocus(hasFocus: boolean): void;
159
+ static ɵfac: i0.ɵɵFactoryDeclaration<MenuStack, never>;
160
+ static ɵprov: i0.ɵɵInjectableDeclaration<MenuStack>;
161
+ }
162
+
163
+ /** Injection token used to return classes implementing the Menu interface */
164
+ declare const CDK_MENU: InjectionToken<Menu>;
165
+ /** Interface which specifies Menu operations and used to break circular dependency issues */
166
+ interface Menu extends MenuStackItem {
167
+ /** The id of the menu's host element. */
168
+ id: string;
169
+ /** The menu's native DOM host element. */
170
+ nativeElement: HTMLElement;
171
+ /** The direction items in the menu flow. */
172
+ readonly orientation: 'horizontal' | 'vertical';
173
+ /** Place focus on the first MenuItem in the menu. */
174
+ focusFirstItem(focusOrigin: FocusOrigin): void;
175
+ /** Place focus on the last MenuItem in the menu. */
176
+ focusLastItem(focusOrigin: FocusOrigin): void;
177
+ }
178
+
179
+ /**
180
+ * MenuAim is responsible for determining if a sibling menuitem's menu should be closed when a
181
+ * Toggler item is hovered into. It is up to the hovered in item to call the MenuAim service in
182
+ * order to determine if it may perform its close actions.
183
+ */
184
+ interface MenuAim {
185
+ /**
186
+ * Set the Menu and its PointerFocusTracker.
187
+ * @param menu The menu that this menu aim service controls.
188
+ * @param pointerTracker The `PointerFocusTracker` for the given menu.
189
+ */
190
+ initialize(menu: Menu, pointerTracker: PointerFocusTracker<FocusableElement & Toggler>): void;
191
+ /**
192
+ * Calls the `doToggle` callback when it is deemed that the user is not moving towards
193
+ * the submenu.
194
+ * @param doToggle the function called when the user is not moving towards the submenu.
195
+ */
196
+ toggle(doToggle: () => void): void;
197
+ }
198
+ /** Injection token used for an implementation of MenuAim. */
199
+ declare const MENU_AIM: InjectionToken<MenuAim>;
200
+ /** An element which when hovered over may open or close a menu. */
201
+ interface Toggler {
202
+ /** Gets the open menu, or undefined if no menu is open. */
203
+ getMenu(): Menu | undefined;
204
+ }
205
+ /**
206
+ * TargetMenuAim predicts if a user is moving into a submenu. It calculates the
207
+ * trajectory of the user's mouse movement in the current menu to determine if the
208
+ * mouse is moving towards an open submenu.
209
+ *
210
+ * The determination is made by calculating the slope of the users last NUM_POINTS moves where each
211
+ * pair of points determines if the trajectory line points into the submenu. It uses consensus
212
+ * approach by checking if at least NUM_POINTS / 2 pairs determine that the user is moving towards
213
+ * to submenu.
214
+ */
215
+ declare class TargetMenuAim implements MenuAim, OnDestroy {
216
+ private readonly _ngZone;
217
+ private readonly _renderer;
218
+ private _cleanupMousemove;
219
+ /** The last NUM_POINTS mouse move events. */
220
+ private readonly _points;
221
+ /** Reference to the root menu in which we are tracking mouse moves. */
222
+ private _menu;
223
+ /** Reference to the root menu's mouse manager. */
224
+ private _pointerTracker;
225
+ /** The id associated with the current timeout call waiting to resolve. */
226
+ private _timeoutId;
227
+ /** Emits when this service is destroyed. */
228
+ private readonly _destroyed;
229
+ ngOnDestroy(): void;
230
+ /**
231
+ * Set the Menu and its PointerFocusTracker.
232
+ * @param menu The menu that this menu aim service controls.
233
+ * @param pointerTracker The `PointerFocusTracker` for the given menu.
234
+ */
235
+ initialize(menu: Menu, pointerTracker: PointerFocusTracker<FocusableElement & Toggler>): void;
236
+ /**
237
+ * Calls the `doToggle` callback when it is deemed that the user is not moving towards
238
+ * the submenu.
239
+ * @param doToggle the function called when the user is not moving towards the submenu.
240
+ */
241
+ toggle(doToggle: () => void): void;
242
+ /**
243
+ * Start the delayed toggle handler if one isn't running already.
244
+ *
245
+ * The delayed toggle handler executes the `doToggle` callback after some period of time iff the
246
+ * users mouse is on an item in the current menu.
247
+ *
248
+ * @param doToggle the function called when the user is not moving towards the submenu.
249
+ */
250
+ private _startTimeout;
251
+ /** Whether the user is heading towards the open submenu. */
252
+ private _isMovingToSubmenu;
253
+ /** Get the bounding DOMRect for the open submenu. */
254
+ private _getSubmenuBounds;
255
+ /**
256
+ * Check if a reference to the PointerFocusTracker and menu element is provided.
257
+ * @throws an error if neither reference is provided.
258
+ */
259
+ private _checkConfigured;
260
+ /** Subscribe to the root menus mouse move events and update the tracked mouse points. */
261
+ private _subscribeToMouseMoves;
262
+ static ɵfac: i0.ɵɵFactoryDeclaration<TargetMenuAim, never>;
263
+ static ɵprov: i0.ɵɵInjectableDeclaration<TargetMenuAim>;
264
+ }
265
+ /**
266
+ * CdkTargetMenuAim is a provider for the TargetMenuAim service. It can be added to an
267
+ * element with either the `cdkMenu` or `cdkMenuBar` directive and child menu items.
268
+ */
269
+ declare class CdkTargetMenuAim {
270
+ static ɵfac: i0.ɵɵFactoryDeclaration<CdkTargetMenuAim, never>;
271
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CdkTargetMenuAim, "[cdkTargetMenuAim]", ["cdkTargetMenuAim"], {}, {}, never, never, true, never>;
272
+ }
273
+
274
+ /**
275
+ * A grouping container for `CdkMenuItemRadio` instances, similar to a `role="radiogroup"` element.
276
+ */
277
+ declare class CdkMenuGroup {
278
+ static ɵfac: i0.ɵɵFactoryDeclaration<CdkMenuGroup, never>;
279
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CdkMenuGroup, "[cdkMenuGroup]", ["cdkMenuGroup"], {}, {}, never, never, true, never>;
280
+ }
281
+
282
+ /** Injection token used for an implementation of MenuStack. */
283
+ declare const MENU_TRIGGER: InjectionToken<CdkMenuTriggerBase>;
284
+ /** Injection token used to configure the behavior of the menu when the page is scrolled. */
285
+ declare const MENU_SCROLL_STRATEGY: InjectionToken<() => ScrollStrategy>;
286
+ /** Tracks the last open menu trigger across the entire application. */
287
+ declare class MenuTracker {
288
+ /** The last open menu trigger. */
289
+ private static _openMenuTrigger?;
290
+ /**
291
+ * Close the previous open menu and set the given one as being open.
292
+ * @param trigger The trigger for the currently open Menu.
293
+ */
294
+ update(trigger: CdkMenuTriggerBase): void;
295
+ static ɵfac: i0.ɵɵFactoryDeclaration<MenuTracker, never>;
296
+ static ɵprov: i0.ɵɵInjectableDeclaration<MenuTracker>;
297
+ }
298
+ /**
299
+ * Abstract directive that implements shared logic common to all menu triggers.
300
+ * This class can be extended to create custom menu trigger types.
301
+ */
302
+ declare abstract class CdkMenuTriggerBase implements OnDestroy {
303
+ /** The DI injector for this component. */
304
+ readonly injector: Injector;
305
+ /** The view container ref for this component */
306
+ protected readonly viewContainerRef: ViewContainerRef;
307
+ /** The menu stack in which this menu resides. */
308
+ protected readonly menuStack: MenuStack;
309
+ /** Function used to configure the scroll strategy for the menu. */
310
+ protected readonly menuScrollStrategy: () => ScrollStrategy;
311
+ /**
312
+ * A list of preferred menu positions to be used when constructing the
313
+ * `FlexibleConnectedPositionStrategy` for this trigger's menu.
314
+ */
315
+ menuPosition: ConnectedPosition[];
316
+ /** Emits when the attached menu is requested to open */
317
+ readonly opened: EventEmitter<void>;
318
+ /** Emits when the attached menu is requested to close */
319
+ readonly closed: EventEmitter<void>;
320
+ /** Template reference variable to the menu this trigger opens */
321
+ menuTemplateRef: TemplateRef<unknown> | null;
322
+ /** Context data to be passed along to the menu template */
323
+ menuData: unknown;
324
+ /** Close the opened menu. */
325
+ abstract close(): void;
326
+ /** A reference to the overlay which manages the triggered menu */
327
+ protected overlayRef: OverlayRef | null;
328
+ /** Emits when this trigger is destroyed. */
329
+ protected readonly destroyed: Subject<void>;
330
+ /** Emits when the outside pointer events listener on the overlay should be stopped. */
331
+ protected readonly stopOutsideClicksListener: rxjs.Observable<void>;
332
+ /** The child menu opened by this trigger. */
333
+ protected childMenu?: Menu;
334
+ /** The content of the menu panel opened by this trigger. */
335
+ private _menuPortal;
336
+ /** The injector to use for the child menu opened by this trigger. */
337
+ private _childMenuInjector?;
338
+ ngOnDestroy(): void;
339
+ /** Whether the attached menu is open. */
340
+ isOpen(): boolean;
341
+ /** Registers a child menu as having been opened by this trigger. */
342
+ registerChildMenu(child: Menu): void;
343
+ /**
344
+ * Get the portal to be attached to the overlay which contains the menu. Allows for the menu
345
+ * content to change dynamically and be reflected in the application.
346
+ */
347
+ protected getMenuContentPortal(): TemplatePortal<any>;
348
+ /**
349
+ * Whether the given element is inside the scope of this trigger's menu stack.
350
+ * @param element The element to check.
351
+ * @return Whether the element is inside the scope of this trigger's menu stack.
352
+ */
353
+ protected isElementInsideMenuStack(element: Element): boolean;
354
+ /** Destroy and unset the overlay reference it if exists */
355
+ private _destroyOverlay;
356
+ /** Gets the injector to use when creating a child menu. */
357
+ private _getChildMenuInjector;
358
+ static ɵfac: i0.ɵɵFactoryDeclaration<CdkMenuTriggerBase, never>;
359
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CdkMenuTriggerBase, never, never, {}, {}, never, never, true, never>;
360
+ }
361
+
362
+ /**
363
+ * A directive that turns its host element into a trigger for a popup menu.
364
+ * It can be combined with cdkMenuItem to create sub-menus. If the element is in a top level
365
+ * MenuBar it will open the menu on click, or if a sibling is already opened it will open on hover.
366
+ * If it is inside of a Menu it will open the attached Submenu on hover regardless of its sibling
367
+ * state.
368
+ */
369
+ declare class CdkMenuTrigger extends CdkMenuTriggerBase implements OnChanges, OnDestroy {
370
+ private readonly _elementRef;
371
+ private readonly _ngZone;
372
+ private readonly _changeDetectorRef;
373
+ private readonly _inputModalityDetector;
374
+ private readonly _directionality;
375
+ private readonly _renderer;
376
+ private readonly _injector;
377
+ private _cleanupMouseenter;
378
+ /** The app's menu tracking registry */
379
+ private readonly _menuTracker;
380
+ /** The parent menu this trigger belongs to. */
381
+ private readonly _parentMenu;
382
+ /** The menu aim service used by this menu. */
383
+ private readonly _menuAim;
384
+ constructor();
385
+ /** Toggle the attached menu. */
386
+ toggle(): void;
387
+ /** Open the attached menu. */
388
+ open(): void;
389
+ /** Close the opened menu. */
390
+ close(): void;
391
+ /**
392
+ * Get a reference to the rendered Menu if the Menu is open and rendered in the DOM.
393
+ */
394
+ getMenu(): Menu | undefined;
395
+ ngOnChanges(changes: SimpleChanges): void;
396
+ ngOnDestroy(): void;
397
+ /**
398
+ * Handles keyboard events for the menu item.
399
+ * @param event The keyboard event to handle
400
+ */
401
+ _toggleOnKeydown(event: KeyboardEvent): void;
402
+ /** Handles clicks on the menu trigger. */
403
+ _handleClick(): void;
404
+ /**
405
+ * Sets whether the trigger's menu stack has focus.
406
+ * @param hasFocus Whether the menu stack has focus.
407
+ */
408
+ _setHasFocus(hasFocus: boolean): void;
409
+ /**
410
+ * Subscribe to the mouseenter events and close any sibling menu items if this element is moused
411
+ * into.
412
+ */
413
+ private _subscribeToMouseEnter;
414
+ /** Close out any sibling menu trigger menus. */
415
+ private _closeSiblingTriggers;
416
+ /** Get the configuration object used to create the overlay. */
417
+ private _getOverlayConfig;
418
+ /** Build the position strategy for the overlay which specifies where to place the menu. */
419
+ private _getOverlayPositionStrategy;
420
+ /** Get the preferred positions for the opened menu relative to the menu item. */
421
+ private _getOverlayPositions;
422
+ /**
423
+ * Subscribe to the MenuStack close events if this is a standalone trigger and close out the menu
424
+ * this triggers when requested.
425
+ */
426
+ private _registerCloseHandler;
427
+ /**
428
+ * Subscribe to the overlays outside pointer events stream and handle closing out the stack if a
429
+ * click occurs outside the menus.
430
+ */
431
+ private _subscribeToOutsideClicks;
432
+ /** Subscribe to the MenuStack hasFocus events. */
433
+ private _subscribeToMenuStackHasFocus;
434
+ /** Subscribe to the MenuStack closed events. */
435
+ private _subscribeToMenuStackClosed;
436
+ /** Sets the role attribute for this trigger if needed. */
437
+ private _setRole;
438
+ /** Sets thte `type` attribute of the trigger. */
439
+ private _setType;
440
+ static ɵfac: i0.ɵɵFactoryDeclaration<CdkMenuTrigger, never>;
441
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CdkMenuTrigger, "[cdkMenuTriggerFor]", ["cdkMenuTriggerFor"], { "menuTemplateRef": { "alias": "cdkMenuTriggerFor"; "required": false; }; "menuPosition": { "alias": "cdkMenuPosition"; "required": false; }; "menuData": { "alias": "cdkMenuTriggerData"; "required": false; }; }, { "opened": "cdkMenuOpened"; "closed": "cdkMenuClosed"; }, never, never, true, never>;
442
+ }
443
+
444
+ /**
445
+ * Directive which provides the ability for an element to be focused and navigated to using the
446
+ * keyboard when residing in a CdkMenu, CdkMenuBar, or CdkMenuGroup. It performs user defined
447
+ * behavior when clicked.
448
+ */
449
+ declare class CdkMenuItem implements FocusableOption, FocusableElement, Toggler, OnDestroy {
450
+ protected readonly _dir: Directionality | null;
451
+ readonly _elementRef: ElementRef<HTMLElement>;
452
+ protected _ngZone: NgZone;
453
+ private readonly _inputModalityDetector;
454
+ private readonly _renderer;
455
+ private _cleanupMouseEnter;
456
+ /** The menu aim service used by this menu. */
457
+ private readonly _menuAim;
458
+ /** The stack of menus this menu belongs to. */
459
+ private readonly _menuStack;
460
+ /** The parent menu in which this menuitem resides. */
461
+ readonly _parentMenu: Menu | null;
462
+ /** Reference to the CdkMenuItemTrigger directive if one is added to the same element */
463
+ private readonly _menuTrigger;
464
+ /** Whether the CdkMenuItem is disabled - defaults to false */
465
+ disabled: boolean;
466
+ /**
467
+ * The text used to locate this item during menu typeahead. If not specified,
468
+ * the `textContent` of the item will be used.
469
+ */
470
+ typeaheadLabel: string | null;
471
+ /**
472
+ * If this MenuItem is a regular MenuItem, outputs when it is triggered by a keyboard or mouse
473
+ * event.
474
+ */
475
+ readonly triggered: EventEmitter<void>;
476
+ /** Whether the menu item opens a menu. */
477
+ get hasMenu(): boolean;
478
+ /**
479
+ * The tabindex for this menu item managed internally and used for implementing roving a
480
+ * tab index.
481
+ */
482
+ _tabindex: 0 | -1;
483
+ /** Whether the item should close the menu if triggered by the spacebar. */
484
+ protected closeOnSpacebarTrigger: boolean;
485
+ /** Emits when the menu item is destroyed. */
486
+ protected readonly destroyed: Subject<void>;
487
+ constructor();
488
+ ngOnDestroy(): void;
489
+ /** Place focus on the element. */
490
+ focus(): void;
491
+ /**
492
+ * If the menu item is not disabled and the element does not have a menu trigger attached, emit
493
+ * on the cdkMenuItemTriggered emitter and close all open menus.
494
+ * @param options Options the configure how the item is triggered
495
+ * - keepOpen: specifies that the menu should be kept open after triggering the item.
496
+ */
497
+ trigger(options?: {
498
+ keepOpen: boolean;
499
+ }): void;
500
+ /** Return true if this MenuItem has an attached menu and it is open. */
501
+ isMenuOpen(): boolean;
502
+ /**
503
+ * Get a reference to the rendered Menu if the Menu is open and it is visible in the DOM.
504
+ * @return the menu if it is open, otherwise undefined.
505
+ */
506
+ getMenu(): Menu | undefined;
507
+ /** Get the CdkMenuTrigger associated with this element. */
508
+ getMenuTrigger(): CdkMenuTrigger | null;
509
+ /** Get the label for this element which is required by the FocusableOption interface. */
510
+ getLabel(): string;
511
+ /** Reset the tabindex to -1. */
512
+ _resetTabIndex(): void;
513
+ /**
514
+ * Set the tab index to 0 if not disabled and it's a focus event, or a mouse enter if this element
515
+ * is not in a menu bar.
516
+ */
517
+ _setTabIndex(event?: MouseEvent): void;
518
+ /** Handles click events on the item. */
519
+ protected _handleClick(event: MouseEvent): void;
520
+ /**
521
+ * Handles keyboard events for the menu item, specifically either triggering the user defined
522
+ * callback or opening/closing the current menu based on whether the left or right arrow key was
523
+ * pressed.
524
+ * @param event the keyboard event to handle
525
+ */
526
+ _onKeydown(event: KeyboardEvent): void;
527
+ /** Whether this menu item is standalone or within a menu or menu bar. */
528
+ private _isStandaloneItem;
529
+ /**
530
+ * Handles the user pressing the back arrow key.
531
+ * @param event The keyboard event.
532
+ */
533
+ private _backArrowPressed;
534
+ /**
535
+ * Handles the user pressing the forward arrow key.
536
+ * @param event The keyboard event.
537
+ */
538
+ private _forwardArrowPressed;
539
+ /**
540
+ * Subscribe to the mouseenter events and close any sibling menu items if this element is moused
541
+ * into.
542
+ */
543
+ private _setupMouseEnter;
544
+ /**
545
+ * Return true if the enclosing parent menu is configured in a horizontal orientation, false
546
+ * otherwise or if no parent.
547
+ */
548
+ private _isParentVertical;
549
+ /** Sets the `type` attribute of the menu item. */
550
+ private _setType;
551
+ static ɵfac: i0.ɵɵFactoryDeclaration<CdkMenuItem, never>;
552
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CdkMenuItem, "[cdkMenuItem]", ["cdkMenuItem"], { "disabled": { "alias": "cdkMenuItemDisabled"; "required": false; }; "typeaheadLabel": { "alias": "cdkMenuitemTypeaheadLabel"; "required": false; }; }, { "triggered": "cdkMenuItemTriggered"; }, never, never, true, never>;
553
+ static ngAcceptInputType_disabled: unknown;
554
+ }
555
+
556
+ /**
557
+ * Abstract directive that implements shared logic common to all menus.
558
+ * This class can be extended to create custom menu types.
559
+ */
560
+ declare abstract class CdkMenuBase extends CdkMenuGroup implements Menu, AfterContentInit, OnDestroy {
561
+ private _focusMonitor;
562
+ protected ngZone: NgZone;
563
+ private _renderer;
564
+ /** The menu's native DOM host element. */
565
+ readonly nativeElement: HTMLElement;
566
+ /** The stack of menus this menu belongs to. */
567
+ readonly menuStack: MenuStack;
568
+ /** The menu aim service used by this menu. */
569
+ protected readonly menuAim: MenuAim | null;
570
+ /** The directionality (text direction) of the current page. */
571
+ protected readonly dir: Directionality | null;
572
+ /** All items inside the menu, including ones that belong to other menus. */
573
+ protected _allItems: QueryList<CdkMenuItem>;
574
+ /** The id of the menu's host element. */
575
+ id: string;
576
+ /** All child MenuItem elements belonging to this Menu. */
577
+ readonly items: QueryList<CdkMenuItem>;
578
+ /** The direction items in the menu flow. */
579
+ orientation: 'horizontal' | 'vertical';
580
+ /**
581
+ * Whether the menu is displayed inline (i.e. always present vs a conditional popup that the
582
+ * user triggers with a trigger element).
583
+ */
584
+ isInline: boolean;
585
+ /** Handles keyboard events for the menu. */
586
+ protected keyManager: FocusKeyManager<CdkMenuItem>;
587
+ /** Emits when the MenuBar is destroyed. */
588
+ protected readonly destroyed: Subject<void>;
589
+ /** The Menu Item which triggered the open submenu. */
590
+ protected triggerItem?: CdkMenuItem;
591
+ /** Tracks the users mouse movements over the menu. */
592
+ protected pointerTracker?: PointerFocusTracker<CdkMenuItem>;
593
+ /** Whether this menu's menu stack has focus. */
594
+ private _menuStackHasFocus;
595
+ private _tabIndexSignal;
596
+ ngAfterContentInit(): void;
597
+ ngOnDestroy(): void;
598
+ /**
599
+ * Place focus on the first MenuItem in the menu and set the focus origin.
600
+ * @param focusOrigin The origin input mode of the focus event.
601
+ */
602
+ focusFirstItem(focusOrigin?: FocusOrigin): void;
603
+ /**
604
+ * Place focus on the last MenuItem in the menu and set the focus origin.
605
+ * @param focusOrigin The origin input mode of the focus event.
606
+ */
607
+ focusLastItem(focusOrigin?: FocusOrigin): void;
608
+ /**
609
+ * Sets the active item to the item at the specified index and focuses the newly active item.
610
+ * @param item The index of the item to be set as active, or the CdkMenuItem instance.
611
+ */
612
+ setActiveMenuItem(item: number | CdkMenuItem): void;
613
+ /** Gets the tabindex for this menu. */
614
+ _getTabIndex(): 0 | -1 | null;
615
+ /**
616
+ * Close the open menu if the current active item opened the requested MenuStackItem.
617
+ * @param menu The menu requested to be closed.
618
+ * @param options Options to configure the behavior on close.
619
+ * - `focusParentTrigger` Whether to focus the parent trigger after closing the menu.
620
+ */
621
+ protected closeOpenMenu(menu: MenuStackItem, options?: {
622
+ focusParentTrigger?: boolean;
623
+ }): void;
624
+ /** Sets up the subscription that keeps the items list in sync. */
625
+ private _setItems;
626
+ /** Setup the FocusKeyManager with the correct orientation for the menu. */
627
+ private _setKeyManager;
628
+ /**
629
+ * Subscribe to the menu trigger's open events in order to track the trigger which opened the menu
630
+ * and stop tracking it when the menu is closed.
631
+ */
632
+ private _subscribeToMenuOpen;
633
+ /** Subscribe to the MenuStack close events. */
634
+ private _subscribeToMenuStackClosed;
635
+ /** Subscribe to the MenuStack hasFocus events. */
636
+ private _subscribeToMenuStackHasFocus;
637
+ /**
638
+ * Set the PointerFocusTracker and ensure that when mouse focus changes the key manager is updated
639
+ * with the latest menu item under mouse focus.
640
+ */
641
+ private _setUpPointerTracker;
642
+ /** Handles focus landing on the host element of the menu. */
643
+ private _handleFocus;
644
+ static ɵfac: i0.ɵɵFactoryDeclaration<CdkMenuBase, never>;
645
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CdkMenuBase, never, never, { "id": { "alias": "id"; "required": false; }; }, {}, ["_allItems"], never, true, never>;
646
+ }
647
+
648
+ /**
649
+ * Directive applied to an element which configures it as a MenuBar by setting the appropriate
650
+ * role, aria attributes, and accessible keyboard and mouse handling logic. The component that
651
+ * this directive is applied to should contain components marked with CdkMenuItem.
652
+ *
653
+ */
654
+ declare class CdkMenuBar extends CdkMenuBase implements AfterContentInit {
655
+ /** The direction items in the menu flow. */
656
+ readonly orientation = "horizontal";
657
+ /** Whether the menu is displayed inline (i.e. always present vs a conditional popup that the user triggers with a trigger element). */
658
+ readonly isInline = true;
659
+ ngAfterContentInit(): void;
660
+ /**
661
+ * Handle keyboard events for the Menu.
662
+ * @param event The keyboard event to be handled.
663
+ */
664
+ _handleKeyEvent(event: KeyboardEvent): void;
665
+ /**
666
+ * Set focus to either the current, previous or next item based on the FocusNext event, then
667
+ * open the previous or next item.
668
+ * @param focusNext The element to focus.
669
+ */
670
+ private _toggleOpenMenu;
671
+ /** Subscribe to the MenuStack emptied events. */
672
+ private _subscribeToMenuStackEmptied;
673
+ static ɵfac: i0.ɵɵFactoryDeclaration<CdkMenuBar, never>;
674
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CdkMenuBar, "[cdkMenuBar]", ["cdkMenuBar"], {}, {}, never, never, true, never>;
675
+ }
676
+
677
+ /**
678
+ * Directive which configures the element as a Menu which should contain child elements marked as
679
+ * CdkMenuItem or CdkMenuGroup. Sets the appropriate role and aria-attributes for a menu and
680
+ * contains accessible keyboard and mouse handling logic.
681
+ *
682
+ * It also acts as a RadioGroup for elements marked with role `menuitemradio`.
683
+ */
684
+ declare class CdkMenu extends CdkMenuBase implements AfterContentInit, OnDestroy {
685
+ private _parentTrigger;
686
+ /** Event emitted when the menu is closed. */
687
+ readonly closed: EventEmitter<void>;
688
+ /** The direction items in the menu flow. */
689
+ readonly orientation = "vertical";
690
+ /** Whether the menu is displayed inline (i.e. always present vs a conditional popup that the user triggers with a trigger element). */
691
+ readonly isInline: boolean;
692
+ constructor();
693
+ ngAfterContentInit(): void;
694
+ ngOnDestroy(): void;
695
+ /**
696
+ * Handle keyboard events for the Menu.
697
+ * @param event The keyboard event to be handled.
698
+ */
699
+ _handleKeyEvent(event: KeyboardEvent): void;
700
+ /**
701
+ * Set focus the either the current, previous or next item based on the FocusNext event.
702
+ * @param focusNext The element to focus.
703
+ */
704
+ private _toggleMenuFocus;
705
+ /** Subscribe to the MenuStack emptied events. */
706
+ private _subscribeToMenuStackEmptied;
707
+ static ɵfac: i0.ɵɵFactoryDeclaration<CdkMenu, never>;
708
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CdkMenu, "[cdkMenu]", ["cdkMenu"], {}, { "closed": "closed"; }, never, never, true, never>;
709
+ }
710
+
711
+ /** Base class providing checked state for selectable MenuItems. */
712
+ declare abstract class CdkMenuItemSelectable extends CdkMenuItem {
713
+ /** Whether the element is checked */
714
+ checked: boolean;
715
+ /** Whether the item should close the menu if triggered by the spacebar. */
716
+ protected closeOnSpacebarTrigger: boolean;
717
+ static ɵfac: i0.ɵɵFactoryDeclaration<CdkMenuItemSelectable, never>;
718
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CdkMenuItemSelectable, never, never, { "checked": { "alias": "cdkMenuItemChecked"; "required": false; }; }, {}, never, never, true, never>;
719
+ static ngAcceptInputType_checked: unknown;
720
+ }
721
+
722
+ /**
723
+ * A directive providing behavior for the "menuitemradio" ARIA role, which behaves similarly to
724
+ * a conventional radio-button. Any sibling `CdkMenuItemRadio` instances within the same `CdkMenu`
725
+ * or `CdkMenuGroup` comprise a radio group with unique selection enforced.
726
+ */
727
+ declare class CdkMenuItemRadio extends CdkMenuItemSelectable implements OnDestroy {
728
+ /** The unique selection dispatcher for this radio's `CdkMenuGroup`. */
729
+ private readonly _selectionDispatcher;
730
+ /** An ID to identify this radio item to the `UniqueSelectionDispatcher`. */
731
+ private _id;
732
+ /** Function to unregister the selection dispatcher */
733
+ private _removeDispatcherListener;
734
+ constructor();
735
+ ngOnDestroy(): void;
736
+ /**
737
+ * Toggles the checked state of the radio-button.
738
+ * @param options Options the configure how the item is triggered
739
+ * - keepOpen: specifies that the menu should be kept open after triggering the item.
740
+ */
741
+ trigger(options?: {
742
+ keepOpen: boolean;
743
+ }): void;
744
+ /** Configure the unique selection dispatcher listener in order to toggle the checked state */
745
+ private _registerDispatcherListener;
746
+ static ɵfac: i0.ɵɵFactoryDeclaration<CdkMenuItemRadio, never>;
747
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CdkMenuItemRadio, "[cdkMenuItemRadio]", ["cdkMenuItemRadio"], {}, {}, never, never, true, never>;
748
+ }
749
+
750
+ /**
751
+ * A directive providing behavior for the "menuitemcheckbox" ARIA role, which behaves similarly to a
752
+ * conventional checkbox.
753
+ */
754
+ declare class CdkMenuItemCheckbox extends CdkMenuItemSelectable {
755
+ /**
756
+ * Toggle the checked state of the checkbox.
757
+ * @param options Options the configure how the item is triggered
758
+ * - keepOpen: specifies that the menu should be kept open after triggering the item.
759
+ */
760
+ trigger(options?: {
761
+ keepOpen: boolean;
762
+ }): void;
763
+ static ɵfac: i0.ɵɵFactoryDeclaration<CdkMenuItemCheckbox, never>;
764
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CdkMenuItemCheckbox, "[cdkMenuItemCheckbox]", ["cdkMenuItemCheckbox"], {}, {}, never, never, true, never>;
765
+ }
766
+
767
+ /** The coordinates where the context menu should open. */
768
+ type ContextMenuCoordinates = {
769
+ x: number;
770
+ y: number;
771
+ };
772
+ /**
773
+ * A directive that opens a menu when a user right-clicks within its host element.
774
+ * It is aware of nested context menus and will trigger only the lowest level non-disabled context menu.
775
+ */
776
+ declare class CdkContextMenuTrigger extends CdkMenuTriggerBase implements OnDestroy {
777
+ private readonly _injector;
778
+ private readonly _directionality;
779
+ /** The app's menu tracking registry */
780
+ private readonly _menuTracker;
781
+ private readonly _changeDetectorRef;
782
+ /** Whether the context menu is disabled. */
783
+ disabled: boolean;
784
+ constructor();
785
+ /**
786
+ * Open the attached menu at the specified location.
787
+ * @param coordinates where to open the context menu
788
+ */
789
+ open(coordinates: ContextMenuCoordinates): void;
790
+ /** Close the currently opened context menu. */
791
+ close(): void;
792
+ /**
793
+ * Open the context menu and closes any previously open menus.
794
+ * @param event the mouse event which opens the context menu.
795
+ */
796
+ _openOnContextMenu(event: MouseEvent): void;
797
+ /**
798
+ * Get the configuration object used to create the overlay.
799
+ * @param coordinates the location to place the opened menu
800
+ */
801
+ private _getOverlayConfig;
802
+ /**
803
+ * Get the position strategy for the overlay which specifies where to place the menu.
804
+ * @param coordinates the location to place the opened menu
805
+ */
806
+ private _getOverlayPositionStrategy;
807
+ /** Subscribe to the menu stack close events and close this menu when requested. */
808
+ private _setMenuStackCloseListener;
809
+ /**
810
+ * Subscribe to the overlays outside pointer events stream and handle closing out the stack if a
811
+ * click occurs outside the menus.
812
+ * @param userEvent User-generated event that opened the menu.
813
+ */
814
+ private _subscribeToOutsideClicks;
815
+ /**
816
+ * Open the attached menu at the specified location.
817
+ * @param userEvent User-generated event that opened the menu
818
+ * @param coordinates where to open the context menu
819
+ */
820
+ private _open;
821
+ static ɵfac: i0.ɵɵFactoryDeclaration<CdkContextMenuTrigger, never>;
822
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CdkContextMenuTrigger, "[cdkContextMenuTriggerFor]", ["cdkContextMenuTriggerFor"], { "menuTemplateRef": { "alias": "cdkContextMenuTriggerFor"; "required": false; }; "menuPosition": { "alias": "cdkContextMenuPosition"; "required": false; }; "menuData": { "alias": "cdkContextMenuTriggerData"; "required": false; }; "disabled": { "alias": "cdkContextMenuDisabled"; "required": false; }; }, { "opened": "cdkContextMenuOpened"; "closed": "cdkContextMenuClosed"; }, never, never, true, never>;
823
+ static ngAcceptInputType_disabled: unknown;
824
+ }
825
+
826
+ /** Module that declares components and directives for the CDK menu. */
827
+ declare class CdkMenuModule {
828
+ static ɵfac: i0.ɵɵFactoryDeclaration<CdkMenuModule, never>;
829
+ static ɵmod: i0.ɵɵNgModuleDeclaration<CdkMenuModule, never, [typeof OverlayModule, typeof CdkMenuBar, typeof CdkMenu, typeof CdkMenuItem, typeof CdkMenuItemRadio, typeof CdkMenuItemCheckbox, typeof CdkMenuTrigger, typeof CdkMenuGroup, typeof CdkContextMenuTrigger, typeof CdkTargetMenuAim], [typeof CdkMenuBar, typeof CdkMenu, typeof CdkMenuItem, typeof CdkMenuItemRadio, typeof CdkMenuItemCheckbox, typeof CdkMenuTrigger, typeof CdkMenuGroup, typeof CdkContextMenuTrigger, typeof CdkTargetMenuAim]>;
830
+ static ɵinj: i0.ɵɵInjectorDeclaration<CdkMenuModule>;
831
+ }
832
+
833
+ export { CDK_MENU, CdkContextMenuTrigger, CdkMenu, CdkMenuBar, CdkMenuBase, CdkMenuGroup, CdkMenuItem, CdkMenuItemCheckbox, CdkMenuItemRadio, CdkMenuItemSelectable, CdkMenuModule, CdkMenuTrigger, CdkMenuTriggerBase, CdkTargetMenuAim, MenuTracker as ContextMenuTracker, FocusNext, MENU_AIM, MENU_SCROLL_STRATEGY, MENU_STACK, MENU_TRIGGER, MenuStack, MenuTracker, PARENT_OR_NEW_INLINE_MENU_STACK_PROVIDER, PARENT_OR_NEW_MENU_STACK_PROVIDER, PointerFocusTracker, TargetMenuAim };
834
+ export type { CloseOptions, ContextMenuCoordinates, FocusableElement, Menu, MenuAim, MenuStackCloseEvent, MenuStackItem, Toggler };