@kato-lee/cdk 14.2.7

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 (374) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +8 -0
  3. package/_index.scss +8 -0
  4. package/a11y/_index.import.scss +2 -0
  5. package/a11y/_index.scss +102 -0
  6. package/a11y/index.d.ts +1212 -0
  7. package/a11y-prebuilt.css +1 -0
  8. package/accordion/index.d.ts +140 -0
  9. package/bidi/index.d.ts +80 -0
  10. package/clipboard/index.d.ts +115 -0
  11. package/coercion/index.d.ts +67 -0
  12. package/collections/index.d.ts +374 -0
  13. package/dialog/index.d.ts +469 -0
  14. package/drag-drop/index.d.ts +1614 -0
  15. package/esm2020/a11y/a11y-module.mjs +32 -0
  16. package/esm2020/a11y/a11y_public_index.mjs +5 -0
  17. package/esm2020/a11y/aria-describer/aria-describer.mjs +232 -0
  18. package/esm2020/a11y/aria-describer/aria-reference.mjs +44 -0
  19. package/esm2020/a11y/fake-event-detection.mjs +31 -0
  20. package/esm2020/a11y/focus-monitor/focus-monitor.mjs +451 -0
  21. package/esm2020/a11y/focus-trap/configurable-focus-trap-config.mjs +9 -0
  22. package/esm2020/a11y/focus-trap/configurable-focus-trap-factory.mjs +53 -0
  23. package/esm2020/a11y/focus-trap/configurable-focus-trap.mjs +51 -0
  24. package/esm2020/a11y/focus-trap/event-listener-inert-strategy.mjs +61 -0
  25. package/esm2020/a11y/focus-trap/focus-trap-inert-strategy.mjs +11 -0
  26. package/esm2020/a11y/focus-trap/focus-trap-manager.mjs +53 -0
  27. package/esm2020/a11y/focus-trap/focus-trap.mjs +402 -0
  28. package/esm2020/a11y/high-contrast-mode/high-contrast-mode-detector.mjs +109 -0
  29. package/esm2020/a11y/index.mjs +9 -0
  30. package/esm2020/a11y/input-modality/input-modality-detector.mjs +176 -0
  31. package/esm2020/a11y/interactivity-checker/interactivity-checker.mjs +238 -0
  32. package/esm2020/a11y/key-manager/activedescendant-key-manager.mjs +20 -0
  33. package/esm2020/a11y/key-manager/focus-key-manager.mjs +29 -0
  34. package/esm2020/a11y/key-manager/list-key-manager.mjs +321 -0
  35. package/esm2020/a11y/live-announcer/live-announcer-tokens.mjs +19 -0
  36. package/esm2020/a11y/live-announcer/live-announcer.mjs +178 -0
  37. package/esm2020/a11y/public-api.mjs +26 -0
  38. package/esm2020/accordion/accordion-item.mjs +167 -0
  39. package/esm2020/accordion/accordion-module.mjs +24 -0
  40. package/esm2020/accordion/accordion.mjs +70 -0
  41. package/esm2020/accordion/accordion_public_index.mjs +5 -0
  42. package/esm2020/accordion/index.mjs +9 -0
  43. package/esm2020/accordion/public-api.mjs +11 -0
  44. package/esm2020/bidi/bidi-module.mjs +23 -0
  45. package/esm2020/bidi/bidi_public_index.mjs +5 -0
  46. package/esm2020/bidi/dir-document-token.mjs +33 -0
  47. package/esm2020/bidi/dir.mjs +69 -0
  48. package/esm2020/bidi/directionality.mjs +52 -0
  49. package/esm2020/bidi/index.mjs +9 -0
  50. package/esm2020/bidi/public-api.mjs +12 -0
  51. package/esm2020/clipboard/clipboard-module.mjs +23 -0
  52. package/esm2020/clipboard/clipboard.mjs +53 -0
  53. package/esm2020/clipboard/clipboard_public_index.mjs +5 -0
  54. package/esm2020/clipboard/copy-to-clipboard.mjs +99 -0
  55. package/esm2020/clipboard/index.mjs +9 -0
  56. package/esm2020/clipboard/pending-copy.mjs +69 -0
  57. package/esm2020/clipboard/public-api.mjs +12 -0
  58. package/esm2020/coercion/array.mjs +11 -0
  59. package/esm2020/coercion/boolean-property.mjs +12 -0
  60. package/esm2020/coercion/css-pixel-value.mjs +15 -0
  61. package/esm2020/coercion/element.mjs +16 -0
  62. package/esm2020/coercion/index.mjs +9 -0
  63. package/esm2020/coercion/number-property.mjs +21 -0
  64. package/esm2020/coercion/public-api.mjs +14 -0
  65. package/esm2020/coercion/string-array.mjs +38 -0
  66. package/esm2020/collections/array-data-source.mjs +21 -0
  67. package/esm2020/collections/collection-viewer.mjs +9 -0
  68. package/esm2020/collections/collections_public_index.mjs +5 -0
  69. package/esm2020/collections/data-source.mjs +19 -0
  70. package/esm2020/collections/dispose-view-repeater-strategy.mjs +47 -0
  71. package/esm2020/collections/index.mjs +9 -0
  72. package/esm2020/collections/public-api.mjs +17 -0
  73. package/esm2020/collections/recycle-view-repeater-strategy.mjs +128 -0
  74. package/esm2020/collections/selection-model.mjs +216 -0
  75. package/esm2020/collections/tree-adapter.mjs +9 -0
  76. package/esm2020/collections/unique-selection-dispatcher.mjs +55 -0
  77. package/esm2020/collections/view-repeater.mjs +14 -0
  78. package/esm2020/dialog/dialog-config.mjs +63 -0
  79. package/esm2020/dialog/dialog-container.mjs +278 -0
  80. package/esm2020/dialog/dialog-injectors.mjs +26 -0
  81. package/esm2020/dialog/dialog-module.mjs +42 -0
  82. package/esm2020/dialog/dialog-ref.mjs +76 -0
  83. package/esm2020/dialog/dialog.mjs +301 -0
  84. package/esm2020/dialog/dialog_public_index.mjs +5 -0
  85. package/esm2020/dialog/index.mjs +9 -0
  86. package/esm2020/dialog/public-api.mjs +14 -0
  87. package/esm2020/drag-drop/directives/assertions.mjs +18 -0
  88. package/esm2020/drag-drop/directives/config.mjs +14 -0
  89. package/esm2020/drag-drop/directives/drag-handle.mjs +66 -0
  90. package/esm2020/drag-drop/directives/drag-placeholder.mjs +36 -0
  91. package/esm2020/drag-drop/directives/drag-preview.mjs +47 -0
  92. package/esm2020/drag-drop/directives/drag.mjs +487 -0
  93. package/esm2020/drag-drop/directives/drop-list-group.mjs +53 -0
  94. package/esm2020/drag-drop/directives/drop-list.mjs +345 -0
  95. package/esm2020/drag-drop/dom/client-rect.mjs +64 -0
  96. package/esm2020/drag-drop/dom/clone-node.mjs +65 -0
  97. package/esm2020/drag-drop/dom/parent-position-tracker.mjs +76 -0
  98. package/esm2020/drag-drop/dom/styling.mjs +69 -0
  99. package/esm2020/drag-drop/dom/transition-duration.mjs +36 -0
  100. package/esm2020/drag-drop/drag-drop-module.mjs +57 -0
  101. package/esm2020/drag-drop/drag-drop-registry.mjs +231 -0
  102. package/esm2020/drag-drop/drag-drop.mjs +57 -0
  103. package/esm2020/drag-drop/drag-drop_public_index.mjs +5 -0
  104. package/esm2020/drag-drop/drag-events.mjs +9 -0
  105. package/esm2020/drag-drop/drag-parent.mjs +16 -0
  106. package/esm2020/drag-drop/drag-ref.mjs +1146 -0
  107. package/esm2020/drag-drop/drag-utils.mjs +60 -0
  108. package/esm2020/drag-drop/drop-list-ref.mjs +577 -0
  109. package/esm2020/drag-drop/index.mjs +9 -0
  110. package/esm2020/drag-drop/public-api.mjs +23 -0
  111. package/esm2020/drag-drop/sorting/drop-list-sort-strategy.mjs +9 -0
  112. package/esm2020/drag-drop/sorting/single-axis-sort-strategy.mjs +341 -0
  113. package/esm2020/index.mjs +9 -0
  114. package/esm2020/keycodes/index.mjs +9 -0
  115. package/esm2020/keycodes/keycodes.mjs +127 -0
  116. package/esm2020/keycodes/keycodes_public_index.mjs +5 -0
  117. package/esm2020/keycodes/modifiers.mjs +18 -0
  118. package/esm2020/keycodes/public-api.mjs +10 -0
  119. package/esm2020/layout/breakpoints-observer.mjs +105 -0
  120. package/esm2020/layout/breakpoints.mjs +29 -0
  121. package/esm2020/layout/index.mjs +9 -0
  122. package/esm2020/layout/layout-module.mjs +19 -0
  123. package/esm2020/layout/layout_public_index.mjs +5 -0
  124. package/esm2020/layout/media-matcher.mjs +85 -0
  125. package/esm2020/layout/public-api.mjs +12 -0
  126. package/esm2020/listbox/index.mjs +9 -0
  127. package/esm2020/listbox/listbox-module.mjs +24 -0
  128. package/esm2020/listbox/listbox.mjs +872 -0
  129. package/esm2020/listbox/listbox_public_index.mjs +5 -0
  130. package/esm2020/listbox/public-api.mjs +10 -0
  131. package/esm2020/menu/context-menu-trigger.mjs +212 -0
  132. package/esm2020/menu/index.mjs +9 -0
  133. package/esm2020/menu/menu-aim.mjs +203 -0
  134. package/esm2020/menu/menu-bar.mjs +133 -0
  135. package/esm2020/menu/menu-base.mjs +187 -0
  136. package/esm2020/menu/menu-errors.mjs +22 -0
  137. package/esm2020/menu/menu-group.mjs +30 -0
  138. package/esm2020/menu/menu-interface.mjs +11 -0
  139. package/esm2020/menu/menu-item-checkbox.mjs +49 -0
  140. package/esm2020/menu/menu-item-radio.mjs +71 -0
  141. package/esm2020/menu/menu-item-selectable.mjs +42 -0
  142. package/esm2020/menu/menu-item.mjs +267 -0
  143. package/esm2020/menu/menu-module.mjs +62 -0
  144. package/esm2020/menu/menu-stack.mjs +156 -0
  145. package/esm2020/menu/menu-trigger-base.mjs +107 -0
  146. package/esm2020/menu/menu-trigger.mjs +291 -0
  147. package/esm2020/menu/menu.mjs +134 -0
  148. package/esm2020/menu/menu_public_index.mjs +5 -0
  149. package/esm2020/menu/pointer-focus-tracker.mjs +51 -0
  150. package/esm2020/menu/public-api.mjs +24 -0
  151. package/esm2020/observers/index.mjs +9 -0
  152. package/esm2020/observers/observe-content.mjs +187 -0
  153. package/esm2020/observers/observers_public_index.mjs +5 -0
  154. package/esm2020/observers/public-api.mjs +9 -0
  155. package/esm2020/overlay/dispatchers/base-overlay-dispatcher.mjs +52 -0
  156. package/esm2020/overlay/dispatchers/index.mjs +10 -0
  157. package/esm2020/overlay/dispatchers/overlay-keyboard-dispatcher.mjs +81 -0
  158. package/esm2020/overlay/dispatchers/overlay-outside-click-dispatcher.mjs +138 -0
  159. package/esm2020/overlay/fullscreen-overlay-container.mjs +94 -0
  160. package/esm2020/overlay/index.mjs +9 -0
  161. package/esm2020/overlay/overlay-config.mjs +45 -0
  162. package/esm2020/overlay/overlay-container.mjs +81 -0
  163. package/esm2020/overlay/overlay-directives.mjs +427 -0
  164. package/esm2020/overlay/overlay-module.mjs +29 -0
  165. package/esm2020/overlay/overlay-ref.mjs +427 -0
  166. package/esm2020/overlay/overlay-reference.mjs +9 -0
  167. package/esm2020/overlay/overlay.mjs +125 -0
  168. package/esm2020/overlay/overlay_public_index.mjs +5 -0
  169. package/esm2020/overlay/position/connected-position.mjs +88 -0
  170. package/esm2020/overlay/position/flexible-connected-position-strategy.mjs +985 -0
  171. package/esm2020/overlay/position/global-position-strategy.mjs +237 -0
  172. package/esm2020/overlay/position/overlay-position-builder.mjs +50 -0
  173. package/esm2020/overlay/position/position-strategy.mjs +9 -0
  174. package/esm2020/overlay/position/scroll-clip.mjs +40 -0
  175. package/esm2020/overlay/public-api.mjs +22 -0
  176. package/esm2020/overlay/scroll/block-scroll-strategy.mjs +80 -0
  177. package/esm2020/overlay/scroll/close-scroll-strategy.mjs +61 -0
  178. package/esm2020/overlay/scroll/index.mjs +14 -0
  179. package/esm2020/overlay/scroll/noop-scroll-strategy.mjs +17 -0
  180. package/esm2020/overlay/scroll/reposition-scroll-strategy.mjs +61 -0
  181. package/esm2020/overlay/scroll/scroll-strategy-options.mjs +55 -0
  182. package/esm2020/overlay/scroll/scroll-strategy.mjs +14 -0
  183. package/esm2020/platform/features/input-types.mjs +59 -0
  184. package/esm2020/platform/features/passive-listeners.mjs +36 -0
  185. package/esm2020/platform/features/scrolling.mjs +85 -0
  186. package/esm2020/platform/features/shadow-dom.mjs +54 -0
  187. package/esm2020/platform/features/test-environment.mjs +24 -0
  188. package/esm2020/platform/index.mjs +9 -0
  189. package/esm2020/platform/platform-module.mjs +19 -0
  190. package/esm2020/platform/platform.mjs +85 -0
  191. package/esm2020/platform/platform_public_index.mjs +5 -0
  192. package/esm2020/platform/public-api.mjs +15 -0
  193. package/esm2020/portal/dom-portal-outlet.mjs +158 -0
  194. package/esm2020/portal/index.mjs +9 -0
  195. package/esm2020/portal/portal-directives.mjs +246 -0
  196. package/esm2020/portal/portal-errors.mjs +51 -0
  197. package/esm2020/portal/portal-injector.mjs +28 -0
  198. package/esm2020/portal/portal.mjs +188 -0
  199. package/esm2020/portal/portal_public_index.mjs +5 -0
  200. package/esm2020/portal/public-api.mjs +12 -0
  201. package/esm2020/public-api.mjs +9 -0
  202. package/esm2020/scrolling/fixed-size-virtual-scroll.mjs +217 -0
  203. package/esm2020/scrolling/index.mjs +9 -0
  204. package/esm2020/scrolling/public-api.mjs +20 -0
  205. package/esm2020/scrolling/scroll-dispatcher.mjs +163 -0
  206. package/esm2020/scrolling/scrollable.mjs +176 -0
  207. package/esm2020/scrolling/scrolling-module.mjs +67 -0
  208. package/esm2020/scrolling/scrolling_public_index.mjs +5 -0
  209. package/esm2020/scrolling/viewport-ruler.mjs +146 -0
  210. package/esm2020/scrolling/virtual-for-of.mjs +298 -0
  211. package/esm2020/scrolling/virtual-scroll-repeater.mjs +9 -0
  212. package/esm2020/scrolling/virtual-scroll-strategy.mjs +11 -0
  213. package/esm2020/scrolling/virtual-scroll-viewport.mjs +437 -0
  214. package/esm2020/scrolling/virtual-scrollable-element.mjs +41 -0
  215. package/esm2020/scrolling/virtual-scrollable-window.mjs +40 -0
  216. package/esm2020/scrolling/virtual-scrollable.mjs +40 -0
  217. package/esm2020/stepper/index.mjs +9 -0
  218. package/esm2020/stepper/public-api.mjs +13 -0
  219. package/esm2020/stepper/step-header.mjs +30 -0
  220. package/esm2020/stepper/step-label.mjs +23 -0
  221. package/esm2020/stepper/stepper-button.mjs +56 -0
  222. package/esm2020/stepper/stepper-module.mjs +40 -0
  223. package/esm2020/stepper/stepper.mjs +458 -0
  224. package/esm2020/stepper/stepper_public_index.mjs +5 -0
  225. package/esm2020/table/can-stick.mjs +44 -0
  226. package/esm2020/table/cell.mjs +217 -0
  227. package/esm2020/table/coalesced-style-scheduler.mjs +91 -0
  228. package/esm2020/table/index.mjs +9 -0
  229. package/esm2020/table/public-api.mjs +20 -0
  230. package/esm2020/table/row.mjs +262 -0
  231. package/esm2020/table/sticky-position-listener.mjs +11 -0
  232. package/esm2020/table/sticky-styler.mjs +345 -0
  233. package/esm2020/table/table-errors.mjs +67 -0
  234. package/esm2020/table/table-module.mjs +94 -0
  235. package/esm2020/table/table.mjs +1065 -0
  236. package/esm2020/table/table_public_index.mjs +5 -0
  237. package/esm2020/table/text-column.mjs +153 -0
  238. package/esm2020/table/tokens.mjs +16 -0
  239. package/esm2020/text-field/autofill.mjs +113 -0
  240. package/esm2020/text-field/autosize.mjs +309 -0
  241. package/esm2020/text-field/index.mjs +9 -0
  242. package/esm2020/text-field/public-api.mjs +11 -0
  243. package/esm2020/text-field/text-field-module.mjs +24 -0
  244. package/esm2020/text-field/text-field_public_index.mjs +5 -0
  245. package/esm2020/tree/control/base-tree-control.mjs +57 -0
  246. package/esm2020/tree/control/flat-tree-control.mjs +51 -0
  247. package/esm2020/tree/control/nested-tree-control.mjs +58 -0
  248. package/esm2020/tree/control/tree-control.mjs +2 -0
  249. package/esm2020/tree/index.mjs +9 -0
  250. package/esm2020/tree/nested-node.mjs +112 -0
  251. package/esm2020/tree/node.mjs +35 -0
  252. package/esm2020/tree/outlet.mjs +39 -0
  253. package/esm2020/tree/padding.mjs +131 -0
  254. package/esm2020/tree/public-api.mjs +20 -0
  255. package/esm2020/tree/toggle.mjs +50 -0
  256. package/esm2020/tree/tree-errors.mjs +43 -0
  257. package/esm2020/tree/tree-module.mjs +49 -0
  258. package/esm2020/tree/tree.mjs +347 -0
  259. package/esm2020/tree/tree_public_index.mjs +5 -0
  260. package/esm2020/version.mjs +11 -0
  261. package/fesm2015/a11y.mjs +2473 -0
  262. package/fesm2015/a11y.mjs.map +1 -0
  263. package/fesm2015/accordion.mjs +414 -0
  264. package/fesm2015/accordion.mjs.map +1 -0
  265. package/fesm2015/bidi.mjs +194 -0
  266. package/fesm2015/bidi.mjs.map +1 -0
  267. package/fesm2015/cdk.mjs +30 -0
  268. package/fesm2015/cdk.mjs.map +1 -0
  269. package/fesm2015/clipboard.mjs +263 -0
  270. package/fesm2015/clipboard.mjs.map +1 -0
  271. package/fesm2015/coercion.mjs +132 -0
  272. package/fesm2015/coercion.mjs.map +1 -0
  273. package/fesm2015/collections.mjs +519 -0
  274. package/fesm2015/collections.mjs.map +1 -0
  275. package/fesm2015/dialog.mjs +1050 -0
  276. package/fesm2015/dialog.mjs.map +1 -0
  277. package/fesm2015/drag-drop.mjs +3812 -0
  278. package/fesm2015/drag-drop.mjs.map +1 -0
  279. package/fesm2015/keycodes.mjs +167 -0
  280. package/fesm2015/keycodes.mjs.map +1 -0
  281. package/fesm2015/layout.mjs +337 -0
  282. package/fesm2015/layout.mjs.map +1 -0
  283. package/fesm2015/listbox.mjs +1200 -0
  284. package/fesm2015/listbox.mjs.map +1 -0
  285. package/fesm2015/menu.mjs +2719 -0
  286. package/fesm2015/menu.mjs.map +1 -0
  287. package/fesm2015/observers.mjs +326 -0
  288. package/fesm2015/observers.mjs.map +1 -0
  289. package/fesm2015/overlay.mjs +3137 -0
  290. package/fesm2015/overlay.mjs.map +1 -0
  291. package/fesm2015/platform.mjs +385 -0
  292. package/fesm2015/platform.mjs.map +1 -0
  293. package/fesm2015/portal.mjs +691 -0
  294. package/fesm2015/portal.mjs.map +1 -0
  295. package/fesm2015/scrolling.mjs +1558 -0
  296. package/fesm2015/scrolling.mjs.map +1 -0
  297. package/fesm2015/stepper.mjs +989 -0
  298. package/fesm2015/stepper.mjs.map +1 -0
  299. package/fesm2015/table.mjs +2356 -0
  300. package/fesm2015/table.mjs.map +1 -0
  301. package/fesm2015/testing.mjs +833 -0
  302. package/fesm2015/testing.mjs.map +1 -0
  303. package/fesm2015/text-field.mjs +461 -0
  304. package/fesm2015/text-field.mjs.map +1 -0
  305. package/fesm2015/tree.mjs +1303 -0
  306. package/fesm2015/tree.mjs.map +1 -0
  307. package/fesm2020/a11y.mjs +2476 -0
  308. package/fesm2020/a11y.mjs.map +1 -0
  309. package/fesm2020/accordion.mjs +414 -0
  310. package/fesm2020/accordion.mjs.map +1 -0
  311. package/fesm2020/bidi.mjs +192 -0
  312. package/fesm2020/bidi.mjs.map +1 -0
  313. package/fesm2020/cdk.mjs +30 -0
  314. package/fesm2020/cdk.mjs.map +1 -0
  315. package/fesm2020/clipboard.mjs +259 -0
  316. package/fesm2020/clipboard.mjs.map +1 -0
  317. package/fesm2020/coercion.mjs +132 -0
  318. package/fesm2020/coercion.mjs.map +1 -0
  319. package/fesm2020/collections.mjs +535 -0
  320. package/fesm2020/collections.mjs.map +1 -0
  321. package/fesm2020/dialog.mjs +787 -0
  322. package/fesm2020/dialog.mjs.map +1 -0
  323. package/fesm2020/drag-drop.mjs +3808 -0
  324. package/fesm2020/drag-drop.mjs.map +1 -0
  325. package/fesm2020/keycodes.mjs +167 -0
  326. package/fesm2020/keycodes.mjs.map +1 -0
  327. package/fesm2020/layout.mjs +337 -0
  328. package/fesm2020/layout.mjs.map +1 -0
  329. package/fesm2020/listbox.mjs +1164 -0
  330. package/fesm2020/listbox.mjs.map +1 -0
  331. package/fesm2020/menu.mjs +2615 -0
  332. package/fesm2020/menu.mjs.map +1 -0
  333. package/fesm2020/observers.mjs +325 -0
  334. package/fesm2020/observers.mjs.map +1 -0
  335. package/fesm2020/overlay.mjs +3145 -0
  336. package/fesm2020/overlay.mjs.map +1 -0
  337. package/fesm2020/platform.mjs +383 -0
  338. package/fesm2020/platform.mjs.map +1 -0
  339. package/fesm2020/portal.mjs +689 -0
  340. package/fesm2020/portal.mjs.map +1 -0
  341. package/fesm2020/scrolling.mjs +1591 -0
  342. package/fesm2020/scrolling.mjs.map +1 -0
  343. package/fesm2020/stepper.mjs +985 -0
  344. package/fesm2020/stepper.mjs.map +1 -0
  345. package/fesm2020/table.mjs +2348 -0
  346. package/fesm2020/table.mjs.map +1 -0
  347. package/fesm2020/testing.mjs +797 -0
  348. package/fesm2020/testing.mjs.map +1 -0
  349. package/fesm2020/text-field.mjs +459 -0
  350. package/fesm2020/text-field.mjs.map +1 -0
  351. package/fesm2020/tree.mjs +1305 -0
  352. package/fesm2020/tree.mjs.map +1 -0
  353. package/index.d.ts +6 -0
  354. package/keycodes/index.d.ts +249 -0
  355. package/layout/index.d.ts +90 -0
  356. package/listbox/index.d.ts +419 -0
  357. package/menu/index.d.ts +1013 -0
  358. package/observers/index.d.ts +109 -0
  359. package/overlay/_index-deprecated.scss +13 -0
  360. package/overlay/_index.import.scss +13 -0
  361. package/overlay/_index.scss +152 -0
  362. package/overlay/index.d.ts +1343 -0
  363. package/overlay-prebuilt.css +1 -0
  364. package/package.json +232 -0
  365. package/platform/index.d.ts +106 -0
  366. package/portal/index.d.ts +328 -0
  367. package/scrolling/index.d.ts +849 -0
  368. package/stepper/index.d.ts +419 -0
  369. package/table/index.d.ts +1483 -0
  370. package/text-field/_index.import.scss +2 -0
  371. package/text-field/_index.scss +89 -0
  372. package/text-field/index.d.ts +203 -0
  373. package/text-field-prebuilt.css +1 -0
  374. package/tree/index.d.ts +593 -0
@@ -0,0 +1,1013 @@
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 {};