@ojiepermana/angular 22.1.14 → 22.2.0

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 (252) hide show
  1. package/README.md +8 -6
  2. package/SUPPORT.md +3 -3
  3. package/chart/README.md +1 -1
  4. package/component/README.md +2 -2
  5. package/component/calendar/README.md +3 -15
  6. package/component/drawer/README.md +1 -2
  7. package/fesm2022/ojiepermana-angular-chart-area.mjs +352 -137
  8. package/fesm2022/ojiepermana-angular-chart-bar.mjs +744 -524
  9. package/fesm2022/ojiepermana-angular-chart-core.mjs +1140 -1344
  10. package/fesm2022/ojiepermana-angular-chart-line.mjs +393 -147
  11. package/fesm2022/ojiepermana-angular-chart-pie.mjs +408 -179
  12. package/fesm2022/ojiepermana-angular-chart-primitives.mjs +1262 -920
  13. package/fesm2022/ojiepermana-angular-chart-radar.mjs +473 -205
  14. package/fesm2022/ojiepermana-angular-chart-radial.mjs +425 -182
  15. package/fesm2022/ojiepermana-angular-chart-scatter.mjs +386 -210
  16. package/fesm2022/ojiepermana-angular-chart.mjs +3 -19
  17. package/fesm2022/ojiepermana-angular-component-accordion.mjs +485 -243
  18. package/fesm2022/ojiepermana-angular-component-alert-dialog.mjs +963 -325
  19. package/fesm2022/ojiepermana-angular-component-alert.mjs +266 -103
  20. package/fesm2022/ojiepermana-angular-component-aspect-ratio.mjs +80 -35
  21. package/fesm2022/ojiepermana-angular-component-avatar.mjs +402 -135
  22. package/fesm2022/ojiepermana-angular-component-badge.mjs +109 -59
  23. package/fesm2022/ojiepermana-angular-component-breadcrumb.mjs +410 -142
  24. package/fesm2022/ojiepermana-angular-component-button-group.mjs +249 -96
  25. package/fesm2022/ojiepermana-angular-component-button.mjs +153 -75
  26. package/fesm2022/ojiepermana-angular-component-calendar.mjs +531 -418
  27. package/fesm2022/ojiepermana-angular-component-card.mjs +457 -171
  28. package/fesm2022/ojiepermana-angular-component-carousel.mjs +642 -272
  29. package/fesm2022/ojiepermana-angular-component-checkbox.mjs +312 -108
  30. package/fesm2022/ojiepermana-angular-component-collapsible.mjs +299 -115
  31. package/fesm2022/ojiepermana-angular-component-combobox.mjs +396 -183
  32. package/fesm2022/ojiepermana-angular-component-command.mjs +807 -347
  33. package/fesm2022/ojiepermana-angular-component-composer.mjs +807 -330
  34. package/fesm2022/ojiepermana-angular-component-context-menu.mjs +196 -161
  35. package/fesm2022/ojiepermana-angular-component-date-picker.mjs +650 -338
  36. package/fesm2022/ojiepermana-angular-component-dialog.mjs +710 -316
  37. package/fesm2022/ojiepermana-angular-component-drawer.mjs +2 -5
  38. package/fesm2022/ojiepermana-angular-component-dropdown-menu.mjs +1212 -646
  39. package/fesm2022/ojiepermana-angular-component-editor.mjs +987 -502
  40. package/fesm2022/ojiepermana-angular-component-empty.mjs +350 -137
  41. package/fesm2022/ojiepermana-angular-component-form.mjs +813 -434
  42. package/fesm2022/ojiepermana-angular-component-hover-card.mjs +486 -277
  43. package/fesm2022/ojiepermana-angular-component-icon.mjs +241 -140
  44. package/fesm2022/ojiepermana-angular-component-input-group.mjs +449 -176
  45. package/fesm2022/ojiepermana-angular-component-input-otp.mjs +891 -488
  46. package/fesm2022/ojiepermana-angular-component-input.mjs +86 -55
  47. package/fesm2022/ojiepermana-angular-component-item.mjs +713 -261
  48. package/fesm2022/ojiepermana-angular-component-kanban.mjs +714 -216
  49. package/fesm2022/ojiepermana-angular-component-kbd.mjs +124 -52
  50. package/fesm2022/ojiepermana-angular-component-label.mjs +82 -31
  51. package/fesm2022/ojiepermana-angular-component-menubar.mjs +479 -329
  52. package/fesm2022/ojiepermana-angular-component-native-select.mjs +167 -65
  53. package/fesm2022/ojiepermana-angular-component-navigation-menu.mjs +683 -380
  54. package/fesm2022/ojiepermana-angular-component-pagination.mjs +277 -94
  55. package/fesm2022/ojiepermana-angular-component-pillbox.mjs +1283 -607
  56. package/fesm2022/ojiepermana-angular-component-popover.mjs +291 -204
  57. package/fesm2022/ojiepermana-angular-component-progress.mjs +176 -53
  58. package/fesm2022/ojiepermana-angular-component-radio.mjs +449 -142
  59. package/fesm2022/ojiepermana-angular-component-resizable.mjs +659 -453
  60. package/fesm2022/ojiepermana-angular-component-scroll-area.mjs +117 -39
  61. package/fesm2022/ojiepermana-angular-component-segmented-control.mjs +351 -172
  62. package/fesm2022/ojiepermana-angular-component-select.mjs +475 -345
  63. package/fesm2022/ojiepermana-angular-component-separator.mjs +102 -35
  64. package/fesm2022/ojiepermana-angular-component-sheet.mjs +797 -347
  65. package/fesm2022/ojiepermana-angular-component-skeleton.mjs +62 -29
  66. package/fesm2022/ojiepermana-angular-component-slider.mjs +592 -376
  67. package/fesm2022/ojiepermana-angular-component-spinner.mjs +135 -38
  68. package/fesm2022/ojiepermana-angular-component-switch.mjs +315 -103
  69. package/fesm2022/ojiepermana-angular-component-table.mjs +440 -153
  70. package/fesm2022/ojiepermana-angular-component-tabs.mjs +590 -317
  71. package/fesm2022/ojiepermana-angular-component-textarea.mjs +85 -50
  72. package/fesm2022/ojiepermana-angular-component-timeline.mjs +609 -231
  73. package/fesm2022/ojiepermana-angular-component-toast.mjs +229 -243
  74. package/fesm2022/ojiepermana-angular-component-toggle-group.mjs +573 -288
  75. package/fesm2022/ojiepermana-angular-component-toggle.mjs +187 -78
  76. package/fesm2022/ojiepermana-angular-component-tooltip.mjs +798 -517
  77. package/fesm2022/ojiepermana-angular-component-utils-core.mjs +159 -292
  78. package/fesm2022/ojiepermana-angular-component-utils-overlay.mjs +46 -58
  79. package/fesm2022/ojiepermana-angular-component-utils-scale.mjs +76 -38
  80. package/fesm2022/ojiepermana-angular-component-utils.mjs +2 -8
  81. package/fesm2022/ojiepermana-angular-component.mjs +0 -10
  82. package/fesm2022/ojiepermana-angular-navigation-core.mjs +13 -23
  83. package/fesm2022/ojiepermana-angular-navigation-icon.mjs +35 -24
  84. package/fesm2022/ojiepermana-angular-navigation-navigation-badge-count.component-BKCeWzml.mjs +129 -0
  85. package/fesm2022/ojiepermana-angular-navigation-navigation-dockbar-menu.component-DFEJK2jD.mjs +811 -0
  86. package/fesm2022/{ojiepermana-angular-navigation-navigation-entry-grid.component-COQ-60DS.mjs → ojiepermana-angular-navigation-navigation-entry-grid.component-mpK9Ar08.mjs} +387 -183
  87. package/fesm2022/ojiepermana-angular-navigation-navigation-flyout-menu.component-BPgH7FJk.mjs +650 -0
  88. package/fesm2022/ojiepermana-angular-navigation-navigation-horizontal.component-DMpYcD9t.mjs +662 -0
  89. package/fesm2022/ojiepermana-angular-navigation-navigation-item.component-Basp5SIk.mjs +1228 -0
  90. package/fesm2022/ojiepermana-angular-navigation-navigation-list.component-YUzHI9Pj.mjs +311 -0
  91. package/fesm2022/ojiepermana-angular-navigation-service.mjs +542 -724
  92. package/fesm2022/ojiepermana-angular-navigation-types.mjs +27 -56
  93. package/fesm2022/ojiepermana-angular-navigation.mjs +3052 -4
  94. package/fesm2022/ojiepermana-angular-sdk.mjs +91 -201
  95. package/fesm2022/ojiepermana-angular-theme-component-settings.mjs +1115 -737
  96. package/fesm2022/ojiepermana-angular-theme-layout-services.mjs +245 -328
  97. package/fesm2022/ojiepermana-angular-theme-layout-types.mjs +35 -38
  98. package/fesm2022/ojiepermana-angular-theme-layout-wrapper.mjs +1719 -552
  99. package/fesm2022/ojiepermana-angular-theme-layout.mjs +847 -496
  100. package/fesm2022/ojiepermana-angular-theme-page-core.mjs +288 -358
  101. package/fesm2022/ojiepermana-angular-theme-page-filter.mjs +362 -224
  102. package/fesm2022/ojiepermana-angular-theme-page-overview.mjs +88 -0
  103. package/fesm2022/ojiepermana-angular-theme-page-root.mjs +576 -254
  104. package/fesm2022/ojiepermana-angular-theme-page-side.mjs +317 -177
  105. package/fesm2022/ojiepermana-angular-theme-page-slots.mjs +256 -112
  106. package/fesm2022/ojiepermana-angular-theme-page.mjs +7 -12
  107. package/fesm2022/ojiepermana-angular-theme-shell-services.mjs +215 -326
  108. package/fesm2022/ojiepermana-angular-theme-shell-types.mjs +68 -129
  109. package/fesm2022/ojiepermana-angular-theme-shell.mjs +907 -378
  110. package/fesm2022/ojiepermana-angular-theme-styles.mjs +521 -720
  111. package/fesm2022/ojiepermana-angular-theme.mjs +0 -10
  112. package/fesm2022/ojiepermana-angular.mjs +5 -24
  113. package/navigation/README.md +1 -1
  114. package/package.json +16 -12
  115. package/sdk/README.md +1 -1
  116. package/sdk/src/writer/index.js +2 -2
  117. package/theme/README.md +1 -1
  118. package/theme/layout/README.md +2 -4
  119. package/theme/page/README.md +50 -0
  120. package/theme/styles/README.md +10 -10
  121. package/theme/styles/css/base/prefers-dark.css +1 -1
  122. package/theme/styles/css/base/status.css +1 -1
  123. package/theme/styles/css/color/amber.css +1 -1
  124. package/theme/styles/css/color/blue.css +1 -1
  125. package/theme/styles/css/color/cyan.css +1 -1
  126. package/theme/styles/css/color/emerald.css +1 -1
  127. package/theme/styles/css/color/fuchsia.css +1 -1
  128. package/theme/styles/css/color/green.css +1 -1
  129. package/theme/styles/css/color/indigo.css +1 -1
  130. package/theme/styles/css/color/lime.css +1 -1
  131. package/theme/styles/css/color/orange.css +1 -1
  132. package/theme/styles/css/color/pink.css +1 -1
  133. package/theme/styles/css/color/purple.css +1 -1
  134. package/theme/styles/css/color/red.css +1 -1
  135. package/theme/styles/css/color/rose.css +1 -1
  136. package/theme/styles/css/color/sky.css +1 -1
  137. package/theme/styles/css/color/teal.css +1 -1
  138. package/theme/styles/css/color/violet.css +1 -1
  139. package/theme/styles/css/color/yellow.css +1 -1
  140. package/theme/styles/css/neutral/gray.css +1 -1
  141. package/theme/styles/css/neutral/mauve.css +1 -1
  142. package/theme/styles/css/neutral/mist.css +1 -1
  143. package/theme/styles/css/neutral/neutral.css +1 -1
  144. package/theme/styles/css/neutral/olive.css +1 -1
  145. package/theme/styles/css/neutral/slate.css +1 -1
  146. package/theme/styles/css/neutral/stone.css +1 -1
  147. package/theme/styles/css/neutral/taupe.css +1 -1
  148. package/theme/styles/css/neutral/zinc.css +1 -1
  149. package/types/ojiepermana-angular-chart-area.d.ts +126 -63
  150. package/types/ojiepermana-angular-chart-bar.d.ts +244 -154
  151. package/types/ojiepermana-angular-chart-core.d.ts +409 -398
  152. package/types/ojiepermana-angular-chart-line.d.ts +141 -68
  153. package/types/ojiepermana-angular-chart-pie.d.ts +192 -121
  154. package/types/ojiepermana-angular-chart-primitives.d.ts +283 -214
  155. package/types/ojiepermana-angular-chart-radar.d.ts +189 -108
  156. package/types/ojiepermana-angular-chart-radial.d.ts +177 -106
  157. package/types/ojiepermana-angular-chart-scatter.d.ts +166 -110
  158. package/types/ojiepermana-angular-chart.d.ts +3 -2
  159. package/types/ojiepermana-angular-component-accordion.d.ts +135 -81
  160. package/types/ojiepermana-angular-component-alert-dialog.d.ts +271 -123
  161. package/types/ojiepermana-angular-component-alert.d.ts +69 -39
  162. package/types/ojiepermana-angular-component-aspect-ratio.d.ts +20 -12
  163. package/types/ojiepermana-angular-component-avatar.d.ts +103 -49
  164. package/types/ojiepermana-angular-component-badge.d.ts +36 -24
  165. package/types/ojiepermana-angular-component-breadcrumb.d.ts +79 -40
  166. package/types/ojiepermana-angular-component-button-group.d.ts +48 -24
  167. package/types/ojiepermana-angular-component-button.d.ts +44 -27
  168. package/types/ojiepermana-angular-component-calendar.d.ts +145 -107
  169. package/types/ojiepermana-angular-component-card.d.ts +112 -63
  170. package/types/ojiepermana-angular-component-carousel.d.ts +150 -81
  171. package/types/ojiepermana-angular-component-checkbox.d.ts +96 -38
  172. package/types/ojiepermana-angular-component-collapsible.d.ts +65 -39
  173. package/types/ojiepermana-angular-component-combobox.d.ts +100 -55
  174. package/types/ojiepermana-angular-component-command.d.ts +206 -121
  175. package/types/ojiepermana-angular-component-composer.d.ts +184 -84
  176. package/types/ojiepermana-angular-component-context-menu.d.ts +51 -41
  177. package/types/ojiepermana-angular-component-date-picker.d.ts +199 -109
  178. package/types/ojiepermana-angular-component-dialog.d.ts +200 -105
  179. package/types/ojiepermana-angular-component-drawer.d.ts +2 -1
  180. package/types/ojiepermana-angular-component-dropdown-menu.d.ts +324 -202
  181. package/types/ojiepermana-angular-component-editor.d.ts +215 -117
  182. package/types/ojiepermana-angular-component-empty.d.ts +80 -45
  183. package/types/ojiepermana-angular-component-form.d.ts +185 -121
  184. package/types/ojiepermana-angular-component-hover-card.d.ts +130 -72
  185. package/types/ojiepermana-angular-component-icon.d.ts +87 -57
  186. package/types/ojiepermana-angular-component-input-group.d.ts +93 -46
  187. package/types/ojiepermana-angular-component-input-otp.d.ts +243 -150
  188. package/types/ojiepermana-angular-component-input.d.ts +27 -17
  189. package/types/ojiepermana-angular-component-item.d.ts +160 -84
  190. package/types/ojiepermana-angular-component-kanban.d.ts +157 -62
  191. package/types/ojiepermana-angular-component-kbd.d.ts +24 -15
  192. package/types/ojiepermana-angular-component-label.d.ts +19 -11
  193. package/types/ojiepermana-angular-component-menubar.d.ts +120 -90
  194. package/types/ojiepermana-angular-component-native-select.d.ts +37 -24
  195. package/types/ojiepermana-angular-component-navigation-menu.d.ts +157 -98
  196. package/types/ojiepermana-angular-component-pagination.d.ts +78 -28
  197. package/types/ojiepermana-angular-component-pillbox.d.ts +361 -204
  198. package/types/ojiepermana-angular-component-popover.d.ts +94 -64
  199. package/types/ojiepermana-angular-component-progress.d.ts +45 -17
  200. package/types/ojiepermana-angular-component-radio.d.ts +129 -53
  201. package/types/ojiepermana-angular-component-resizable.d.ts +160 -112
  202. package/types/ojiepermana-angular-component-scroll-area.d.ts +33 -15
  203. package/types/ojiepermana-angular-component-segmented-control.d.ts +94 -50
  204. package/types/ojiepermana-angular-component-select.d.ts +94 -77
  205. package/types/ojiepermana-angular-component-separator.d.ts +26 -14
  206. package/types/ojiepermana-angular-component-sheet.d.ts +226 -116
  207. package/types/ojiepermana-angular-component-skeleton.d.ts +13 -10
  208. package/types/ojiepermana-angular-component-slider.d.ts +140 -75
  209. package/types/ojiepermana-angular-component-spinner.d.ts +31 -13
  210. package/types/ojiepermana-angular-component-switch.d.ts +97 -40
  211. package/types/ojiepermana-angular-component-table.d.ts +102 -50
  212. package/types/ojiepermana-angular-component-tabs.d.ts +174 -115
  213. package/types/ojiepermana-angular-component-textarea.d.ts +27 -17
  214. package/types/ojiepermana-angular-component-timeline.d.ts +141 -59
  215. package/types/ojiepermana-angular-component-toast.d.ts +51 -55
  216. package/types/ojiepermana-angular-component-toggle-group.d.ts +159 -88
  217. package/types/ojiepermana-angular-component-toggle.d.ts +47 -25
  218. package/types/ojiepermana-angular-component-tooltip.d.ts +222 -132
  219. package/types/ojiepermana-angular-component-utils-core.d.ts +81 -90
  220. package/types/ojiepermana-angular-component-utils-overlay.d.ts +7 -11
  221. package/types/ojiepermana-angular-component-utils-scale.d.ts +20 -12
  222. package/types/ojiepermana-angular-component-utils.d.ts +2 -2
  223. package/types/ojiepermana-angular-component.d.ts +1 -2
  224. package/types/ojiepermana-angular-navigation-core.d.ts +46 -50
  225. package/types/ojiepermana-angular-navigation-icon.d.ts +9 -12
  226. package/types/ojiepermana-angular-navigation-service.d.ts +112 -115
  227. package/types/ojiepermana-angular-navigation-types.d.ts +121 -125
  228. package/types/ojiepermana-angular-navigation.d.ts +663 -374
  229. package/types/ojiepermana-angular-sdk.d.ts +69 -71
  230. package/types/ojiepermana-angular-theme-component-settings.d.ts +115 -83
  231. package/types/ojiepermana-angular-theme-layout-services.d.ts +119 -124
  232. package/types/ojiepermana-angular-theme-layout-types.d.ts +27 -31
  233. package/types/ojiepermana-angular-theme-layout-wrapper.d.ts +399 -187
  234. package/types/ojiepermana-angular-theme-layout.d.ts +201 -113
  235. package/types/ojiepermana-angular-theme-page-core.d.ts +136 -142
  236. package/types/ojiepermana-angular-theme-page-filter.d.ts +112 -62
  237. package/types/ojiepermana-angular-theme-page-overview.d.ts +28 -0
  238. package/types/ojiepermana-angular-theme-page-root.d.ts +172 -88
  239. package/types/ojiepermana-angular-theme-page-side.d.ts +89 -49
  240. package/types/ojiepermana-angular-theme-page-slots.d.ts +58 -37
  241. package/types/ojiepermana-angular-theme-page.d.ts +7 -5
  242. package/types/ojiepermana-angular-theme-shell-services.d.ts +119 -125
  243. package/types/ojiepermana-angular-theme-shell-types.d.ts +38 -41
  244. package/types/ojiepermana-angular-theme-shell.d.ts +139 -61
  245. package/types/ojiepermana-angular-theme-styles.d.ts +184 -196
  246. package/types/ojiepermana-angular-theme.d.ts +1 -2
  247. package/types/ojiepermana-angular.d.ts +5 -5
  248. package/fesm2022/ojiepermana-angular-navigation-navigation-badge-count.component-Be3IqzG4.mjs +0 -91
  249. package/fesm2022/ojiepermana-angular-navigation-navigation-dockbar-menu.component-Bc7DWK3R.mjs +0 -522
  250. package/fesm2022/ojiepermana-angular-navigation-navigation-flyout-menu.component-DA8VPEn7.mjs +0 -404
  251. package/fesm2022/ojiepermana-angular-navigation-navigation-horizontal.component-U2TJTzlW.mjs +0 -466
  252. package/fesm2022/ojiepermana-angular-navigation-ojiepermana-angular-navigation-CIUhmytH.mjs +0 -2668
@@ -1,113 +1,190 @@
1
- import * as _angular_core from '@angular/core';
2
- import { InjectionToken, TemplateRef, AfterContentInit } from '@angular/core';
3
- import * as i1 from '@ojiepermana/angular/component/utils/scale';
4
- import { ComponentScaleDirective } from '@ojiepermana/angular/component/utils/scale';
5
- import { OverlayAlign, OverlaySide } from '@ojiepermana/angular/component/utils/overlay';
6
-
7
- type MenuItemVariant = 'default' | 'destructive';
8
- declare abstract class MenuFocusableItem {
9
- private readonly el;
10
- /** Present whenever the item is rendered inside a `MenuTrigger` overlay. */
11
- private readonly overlay;
12
- /** True when this same element also opens a submenu. */
13
- private readonly opensSubmenu;
14
- readonly disabledInput: _angular_core.InputSignal<boolean>;
15
- readonly inset: _angular_core.InputSignal<boolean>;
16
- readonly class: _angular_core.InputSignal<string>;
17
- readonly variant: _angular_core.InputSignal<MenuItemVariant>;
18
- readonly selected: _angular_core.OutputEmitterRef<MouseEvent | KeyboardEvent>;
19
- get disabled(): boolean;
20
- focus(): void;
21
- getLabel(): string;
22
- protected buildItemClasses(extraClass?: string): string;
23
- /**
24
- * Consume the keystroke that activated the item.
25
- *
26
- * Items render on `button` hosts, and a button turns Enter and Space into an
27
- * activation click of its own. With `(click)` and `(keydown.enter|space)` both
28
- * wired to the same handler that click runs the handler a SECOND time: a
29
- * checkbox toggled on keydown flipped straight back, so `aria-checked` never
30
- * moved, and a plain item emitted `selected` twice whenever the menu was told
31
- * not to close. Preventing the default suppresses the synthesised click, which
32
- * leaves exactly one activation per keystroke on native and non-native hosts
33
- * alike. It also stops Space from scrolling the page behind the menu.
34
- */
35
- protected emitSelection(event: MouseEvent | KeyboardEvent): boolean;
36
- /**
37
- * Close the menu and return focus to the trigger, which is the menu pattern.
38
- *
39
- * Call this AFTER the item has updated its own state: closing tears down the
40
- * overlay view, and a checkbox or radio that wrote its model afterwards would
41
- * never propagate the change. A consumer that already closes the menu by hand
42
- * is fine, closing twice is a no-op.
43
- */
44
- protected finishSelection(): void;
45
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuFocusableItem, never>;
46
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MenuFocusableItem, never, never, { "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "inset": { "alias": "inset"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, { "selected": "selected"; }, never, never, true, never>;
1
+ import * as i0 from "@angular/core";
2
+ import { AfterContentInit, InjectionToken, TemplateRef } from "@angular/core";
3
+ import * as i1 from "@ojiepermana/angular/component/utils/scale";
4
+ import { ComponentScaleDirective } from "@ojiepermana/angular/component/utils/scale";
5
+ import { OverlayAlign, OverlaySide } from "@ojiepermana/angular/component/utils/overlay";
6
+ export type MenuItemVariant = 'default' | 'destructive';
7
+ export declare abstract class MenuFocusableItem {
8
+ private readonly el;
9
+ /** Present whenever the item is rendered inside a `MenuTrigger` overlay. */
10
+ private readonly overlay;
11
+ /** True when this same element also opens a submenu. */
12
+ private readonly opensSubmenu;
13
+ readonly disabledInput: import("@angular/core").InputSignal<boolean>;
14
+ readonly inset: import("@angular/core").InputSignal<boolean>;
15
+ readonly class: import("@angular/core").InputSignal<string>;
16
+ readonly variant: import("@angular/core").InputSignal<MenuItemVariant>;
17
+ readonly selected: import("@angular/core").OutputEmitterRef<MouseEvent | KeyboardEvent>;
18
+ get disabled(): boolean;
19
+ focus(): void;
20
+ getLabel(): string;
21
+ protected buildItemClasses(extraClass?: string): string;
22
+ /**
23
+ * Consume the keystroke that activated the item.
24
+ *
25
+ * Items render on `button` hosts, and a button turns Enter and Space into an
26
+ * activation click of its own. With `(click)` and `(keydown.enter|space)` both
27
+ * wired to the same handler that click runs the handler a SECOND time: a
28
+ * checkbox toggled on keydown flipped straight back, so `aria-checked` never
29
+ * moved, and a plain item emitted `selected` twice whenever the menu was told
30
+ * not to close. Preventing the default suppresses the synthesised click, which
31
+ * leaves exactly one activation per keystroke on native and non-native hosts
32
+ * alike. It also stops Space from scrolling the page behind the menu.
33
+ */
34
+ protected emitSelection(event: MouseEvent | KeyboardEvent): boolean;
35
+ /**
36
+ * Close the menu and return focus to the trigger, which is the menu pattern.
37
+ *
38
+ * Call this AFTER the item has updated its own state: closing tears down the
39
+ * overlay view, and a checkbox or radio that wrote its model afterwards would
40
+ * never propagate the change. A consumer that already closes the menu by hand
41
+ * is fine, closing twice is a no-op.
42
+ */
43
+ protected finishSelection(): void;
44
+ static ɵfac: i0.ɵɵFactoryDeclaration<MenuFocusableItem, never>;
45
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MenuFocusableItem, never, never, {
46
+ "disabledInput": {
47
+ "alias": "disabled";
48
+ "required": false;
49
+ "isSignal": true;
50
+ };
51
+ "inset": {
52
+ "alias": "inset";
53
+ "required": false;
54
+ "isSignal": true;
55
+ };
56
+ "class": {
57
+ "alias": "class";
58
+ "required": false;
59
+ "isSignal": true;
60
+ };
61
+ "variant": {
62
+ "alias": "variant";
63
+ "required": false;
64
+ "isSignal": true;
65
+ };
66
+ }, {
67
+ "selected": "selected";
68
+ }, never, never, true, never>;
47
69
  }
48
- declare class MenuGroupComponent {
49
- readonly class: _angular_core.InputSignal<string>;
50
- protected readonly classes: _angular_core.Signal<string>;
51
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuGroupComponent, never>;
52
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuGroupComponent, "MenuGroup", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
70
+ export declare class MenuGroupComponent {
71
+ readonly class: import("@angular/core").InputSignal<string>;
72
+ protected readonly classes: import("@angular/core").Signal<string>;
73
+ static ɵfac: i0.ɵɵFactoryDeclaration<MenuGroupComponent, never>;
74
+ static ɵcmp: i0.ɵɵComponentDeclaration<MenuGroupComponent, "MenuGroup", never, {
75
+ "class": {
76
+ "alias": "class";
77
+ "required": false;
78
+ "isSignal": true;
79
+ };
80
+ }, {}, never, ["*"], true, never>;
53
81
  }
54
- declare abstract class MenuRadioGroupBase {
55
- abstract isChecked(value: string): boolean;
56
- abstract select(value: string): void;
57
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuRadioGroupBase, never>;
58
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MenuRadioGroupBase, never, never, {}, {}, never, never, true, never>;
82
+ export declare abstract class MenuRadioGroupBase {
83
+ abstract isChecked(value: string): boolean;
84
+ abstract select(value: string): void;
85
+ static ɵfac: i0.ɵɵFactoryDeclaration<MenuRadioGroupBase, never>;
86
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MenuRadioGroupBase, never, never, {}, {}, never, never, true, never>;
59
87
  }
60
- declare class MenuRadioGroupComponent extends MenuRadioGroupBase {
61
- readonly value: _angular_core.ModelSignal<string | null>;
62
- readonly class: _angular_core.InputSignal<string>;
63
- protected readonly classes: _angular_core.Signal<string>;
64
- isChecked(value: string): boolean;
65
- select(value: string): void;
66
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuRadioGroupComponent, never>;
67
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuRadioGroupComponent, "MenuRadioGroup", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, ["*"], true, never>;
88
+ export declare class MenuRadioGroupComponent extends MenuRadioGroupBase {
89
+ readonly value: import("@angular/core").ModelSignal<string | null>;
90
+ readonly class: import("@angular/core").InputSignal<string>;
91
+ protected readonly classes: import("@angular/core").Signal<string>;
92
+ isChecked(value: string): boolean;
93
+ select(value: string): void;
94
+ static ɵfac: i0.ɵɵFactoryDeclaration<MenuRadioGroupComponent, never>;
95
+ static ɵcmp: i0.ɵɵComponentDeclaration<MenuRadioGroupComponent, "MenuRadioGroup", never, {
96
+ "value": {
97
+ "alias": "value";
98
+ "required": false;
99
+ "isSignal": true;
100
+ };
101
+ "class": {
102
+ "alias": "class";
103
+ "required": false;
104
+ "isSignal": true;
105
+ };
106
+ }, {
107
+ "value": "valueChange";
108
+ }, never, ["*"], true, never>;
68
109
  }
69
- declare class MenuItemComponent extends MenuFocusableItem {
70
- protected readonly classes: _angular_core.Signal<string>;
71
- protected handleClick(e: MouseEvent | KeyboardEvent): void;
72
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuItemComponent, never>;
73
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuItemComponent, "MenuItem, button[MenuItem]", never, {}, {}, never, ["*"], true, never>;
110
+ export declare class MenuItemComponent extends MenuFocusableItem {
111
+ protected readonly classes: import("@angular/core").Signal<string>;
112
+ protected handleClick(e: MouseEvent | KeyboardEvent): void;
113
+ static ɵfac: i0.ɵɵFactoryDeclaration<MenuItemComponent, never>;
114
+ static ɵcmp: i0.ɵɵComponentDeclaration<MenuItemComponent, "MenuItem, button[MenuItem]", never, {}, {}, never, ["*"], true, never>;
74
115
  }
75
- declare class MenuCheckboxItemComponent extends MenuFocusableItem {
76
- readonly checked: _angular_core.ModelSignal<boolean>;
77
- protected readonly classes: _angular_core.Signal<string>;
78
- protected toggle(event: MouseEvent | KeyboardEvent): void;
79
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuCheckboxItemComponent, never>;
80
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuCheckboxItemComponent, "MenuCheckboxItem, button[MenuCheckboxItem]", never, { "checked": { "alias": "checked"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; }, never, ["*"], true, never>;
116
+ export declare class MenuCheckboxItemComponent extends MenuFocusableItem {
117
+ readonly checked: import("@angular/core").ModelSignal<boolean>;
118
+ protected readonly classes: import("@angular/core").Signal<string>;
119
+ protected toggle(event: MouseEvent | KeyboardEvent): void;
120
+ static ɵfac: i0.ɵɵFactoryDeclaration<MenuCheckboxItemComponent, never>;
121
+ static ɵcmp: i0.ɵɵComponentDeclaration<MenuCheckboxItemComponent, "MenuCheckboxItem, button[MenuCheckboxItem]", never, {
122
+ "checked": {
123
+ "alias": "checked";
124
+ "required": false;
125
+ "isSignal": true;
126
+ };
127
+ }, {
128
+ "checked": "checkedChange";
129
+ }, never, ["*"], true, never>;
81
130
  }
82
- declare class MenuRadioItemComponent extends MenuFocusableItem {
83
- private readonly group;
84
- readonly value: _angular_core.InputSignal<string>;
85
- protected readonly checked: _angular_core.Signal<boolean>;
86
- protected readonly classes: _angular_core.Signal<string>;
87
- protected select(event: MouseEvent | KeyboardEvent): void;
88
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuRadioItemComponent, never>;
89
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuRadioItemComponent, "MenuRadioItem, button[MenuRadioItem]", never, { "value": { "alias": "value"; "required": true; "isSignal": true; }; }, {}, never, ["*"], true, never>;
131
+ export declare class MenuRadioItemComponent extends MenuFocusableItem {
132
+ private readonly group;
133
+ readonly value: import("@angular/core").InputSignal<string>;
134
+ protected readonly checked: import("@angular/core").Signal<boolean>;
135
+ protected readonly classes: import("@angular/core").Signal<string>;
136
+ protected select(event: MouseEvent | KeyboardEvent): void;
137
+ static ɵfac: i0.ɵɵFactoryDeclaration<MenuRadioItemComponent, never>;
138
+ static ɵcmp: i0.ɵɵComponentDeclaration<MenuRadioItemComponent, "MenuRadioItem, button[MenuRadioItem]", never, {
139
+ "value": {
140
+ "alias": "value";
141
+ "required": true;
142
+ "isSignal": true;
143
+ };
144
+ }, {}, never, ["*"], true, never>;
90
145
  }
91
- declare class MenuSeparatorComponent {
92
- readonly class: _angular_core.InputSignal<string>;
93
- protected readonly classes: _angular_core.Signal<string>;
94
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuSeparatorComponent, never>;
95
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuSeparatorComponent, "MenuSeparator", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
146
+ export declare class MenuSeparatorComponent {
147
+ readonly class: import("@angular/core").InputSignal<string>;
148
+ protected readonly classes: import("@angular/core").Signal<string>;
149
+ static ɵfac: i0.ɵɵFactoryDeclaration<MenuSeparatorComponent, never>;
150
+ static ɵcmp: i0.ɵɵComponentDeclaration<MenuSeparatorComponent, "MenuSeparator", never, {
151
+ "class": {
152
+ "alias": "class";
153
+ "required": false;
154
+ "isSignal": true;
155
+ };
156
+ }, {}, never, never, true, never>;
96
157
  }
97
- declare class MenuLabelComponent {
98
- readonly inset: _angular_core.InputSignal<boolean>;
99
- readonly class: _angular_core.InputSignal<string>;
100
- protected readonly classes: _angular_core.Signal<string>;
101
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuLabelComponent, never>;
102
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuLabelComponent, "MenuLabel", never, { "inset": { "alias": "inset"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
158
+ export declare class MenuLabelComponent {
159
+ readonly inset: import("@angular/core").InputSignal<boolean>;
160
+ readonly class: import("@angular/core").InputSignal<string>;
161
+ protected readonly classes: import("@angular/core").Signal<string>;
162
+ static ɵfac: i0.ɵɵFactoryDeclaration<MenuLabelComponent, never>;
163
+ static ɵcmp: i0.ɵɵComponentDeclaration<MenuLabelComponent, "MenuLabel", never, {
164
+ "inset": {
165
+ "alias": "inset";
166
+ "required": false;
167
+ "isSignal": true;
168
+ };
169
+ "class": {
170
+ "alias": "class";
171
+ "required": false;
172
+ "isSignal": true;
173
+ };
174
+ }, {}, never, ["*"], true, never>;
103
175
  }
104
- declare class MenuShortcutComponent {
105
- readonly class: _angular_core.InputSignal<string>;
106
- protected readonly classes: _angular_core.Signal<string>;
107
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuShortcutComponent, never>;
108
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuShortcutComponent, "MenuShortcut, span[MenuShortcut]", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
176
+ export declare class MenuShortcutComponent {
177
+ readonly class: import("@angular/core").InputSignal<string>;
178
+ protected readonly classes: import("@angular/core").Signal<string>;
179
+ static ɵfac: i0.ɵɵFactoryDeclaration<MenuShortcutComponent, never>;
180
+ static ɵcmp: i0.ɵɵComponentDeclaration<MenuShortcutComponent, "MenuShortcut, span[MenuShortcut]", never, {
181
+ "class": {
182
+ "alias": "class";
183
+ "required": false;
184
+ "isSignal": true;
185
+ };
186
+ }, {}, never, ["*"], true, never>;
109
187
  }
110
-
111
188
  /**
112
189
  * Internal bridge from a menu surface (and its items) back to the trigger that
113
190
  * opened it.
@@ -125,26 +202,26 @@ declare class MenuShortcutComponent {
125
202
  * It is a coordination token between library entry points, not something a
126
203
  * consumer needs to provide or inject.
127
204
  */
128
- interface MenuOverlayController {
129
- /** Id given to the surface element, so the trigger can point `aria-controls` at it. */
130
- readonly surfaceId: string;
131
- /** Id of the trigger element, so the surface can point `aria-labelledby` back. */
132
- readonly triggerId: string;
133
- /**
134
- * True when this menu was opened from an item of another menu.
135
- *
136
- * It is what tells the surface whether ArrowLeft is its own key. A submenu
137
- * closes on ArrowLeft and hands focus back to the item that opened it; a root
138
- * menu must let the key through, because the row of menus above it (a
139
- * `Menubar`) uses left and right to walk between menus.
140
- */
141
- readonly isSubmenu: boolean;
142
- /** Close the overlay and hand focus back to the trigger. Safe to call twice. */
143
- close(): void;
144
- /** Close after an item was chosen, unless this menu opted out with `closeOnSelect`. */
145
- closeAfterSelect(): void;
205
+ export interface MenuOverlayController {
206
+ /** Id given to the surface element, so the trigger can point `aria-controls` at it. */
207
+ readonly surfaceId: string;
208
+ /** Id of the trigger element, so the surface can point `aria-labelledby` back. */
209
+ readonly triggerId: string;
210
+ /**
211
+ * True when this menu was opened from an item of another menu.
212
+ *
213
+ * It is what tells the surface whether ArrowLeft is its own key. A submenu
214
+ * closes on ArrowLeft and hands focus back to the item that opened it; a root
215
+ * menu must let the key through, because the row of menus above it (a
216
+ * `Menubar`) uses left and right to walk between menus.
217
+ */
218
+ readonly isSubmenu: boolean;
219
+ /** Close the overlay and hand focus back to the trigger. Safe to call twice. */
220
+ close(): void;
221
+ /** Close after an item was chosen, unless this menu opted out with `closeOnSelect`. */
222
+ closeAfterSelect(): void;
146
223
  }
147
- declare const MENU_OVERLAY: InjectionToken<MenuOverlayController>;
224
+ export declare const MENU_OVERLAY: InjectionToken<MenuOverlayController>;
148
225
  /**
149
226
  * Marker every `MenuTrigger` provides on its own element.
150
227
  *
@@ -152,97 +229,142 @@ declare const MENU_OVERLAY: InjectionToken<MenuOverlayController>;
152
229
  * submenu, not close the menu it lives in, so an item that finds this marker on
153
230
  * itself skips the close-after-select step.
154
231
  */
155
- declare const MENU_SUBMENU_TRIGGER: InjectionToken<boolean>;
156
-
232
+ export declare const MENU_SUBMENU_TRIGGER: InjectionToken<boolean>;
157
233
  /**
158
234
  * Surface rendered inside the overlay. Hosts keyboard navigation for its items.
159
235
  */
160
- declare class MenuSurfaceComponent implements AfterContentInit {
161
- readonly class: _angular_core.InputSignal<string>;
162
- private readonly items;
163
- /** Present whenever the surface is rendered by a `MenuTrigger`. */
164
- private readonly overlay;
165
- /**
166
- * Emitted when the surface asks to be closed (today: on Tab). The trigger now
167
- * closes itself, so consumers no longer have to wire this up; it stays for
168
- * anyone who already listens to it.
169
- */
170
- readonly closeRequested: _angular_core.OutputEmitterRef<void>;
171
- /** Tied to the trigger's `aria-controls`, so the pair references each other. */
172
- readonly surfaceId: string;
173
- /** Names the menu after the control that opened it. */
174
- readonly labelledBy: string | null;
175
- private keyManager;
176
- protected readonly classes: _angular_core.Signal<string>;
177
- ngAfterContentInit(): void;
178
- protected onArrow(e: KeyboardEvent, delta: number): void;
179
- protected onArrowLeft(e: KeyboardEvent): void;
180
- protected onHome(e: KeyboardEvent): void;
181
- protected onEnd(e: KeyboardEvent): void;
182
- protected onTypeAhead(e: KeyboardEvent): void;
183
- protected onTab(e: KeyboardEvent): void;
184
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuSurfaceComponent, never>;
185
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuSurfaceComponent, "MenuSurface", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, { "closeRequested": "closeRequested"; }, ["items"], ["*"], true, [{ directive: typeof i1.ComponentScaleDirective; inputs: { "radius": "radius"; "density": "density"; }; outputs: {}; }]>;
236
+ export declare class MenuSurfaceComponent implements AfterContentInit {
237
+ readonly class: import("@angular/core").InputSignal<string>;
238
+ private readonly items;
239
+ /** Present whenever the surface is rendered by a `MenuTrigger`. */
240
+ private readonly overlay;
241
+ /**
242
+ * Emitted when the surface asks to be closed (today: on Tab). The trigger now
243
+ * closes itself, so consumers no longer have to wire this up; it stays for
244
+ * anyone who already listens to it.
245
+ */
246
+ readonly closeRequested: import("@angular/core").OutputEmitterRef<void>;
247
+ /** Tied to the trigger's `aria-controls`, so the pair references each other. */
248
+ readonly surfaceId: string;
249
+ /** Names the menu after the control that opened it. */
250
+ readonly labelledBy: string | null;
251
+ private keyManager;
252
+ protected readonly classes: import("@angular/core").Signal<string>;
253
+ ngAfterContentInit(): void;
254
+ protected onArrow(e: KeyboardEvent, delta: number): void;
255
+ protected onArrowLeft(e: KeyboardEvent): void;
256
+ protected onHome(e: KeyboardEvent): void;
257
+ protected onEnd(e: KeyboardEvent): void;
258
+ protected onTypeAhead(e: KeyboardEvent): void;
259
+ protected onTab(e: KeyboardEvent): void;
260
+ static ɵfac: i0.ɵɵFactoryDeclaration<MenuSurfaceComponent, never>;
261
+ static ɵcmp: i0.ɵɵComponentDeclaration<MenuSurfaceComponent, "MenuSurface", never, {
262
+ "class": {
263
+ "alias": "class";
264
+ "required": false;
265
+ "isSignal": true;
266
+ };
267
+ }, {
268
+ "closeRequested": "closeRequested";
269
+ }, ["items"], ["*"], true, [{
270
+ directive: typeof i1.ComponentScaleDirective;
271
+ inputs: {
272
+ "radius": "radius";
273
+ "density": "density";
274
+ };
275
+ outputs: {};
276
+ }]>;
186
277
  }
187
278
  /**
188
279
  * Wraps an `<ng-template>` that holds `<MenuSurface>` + items.
189
280
  */
190
- declare class MenuContentDirective {
191
- protected readonly componentScale: ComponentScaleDirective;
192
- readonly radius: _angular_core.InputSignal<"inherit" | "none" | "xs" | "sm" | "md" | "xl" | "full">;
193
- readonly density: _angular_core.InputSignal<"inherit" | "compact" | "normal" | "relaxed" | "spacious">;
194
- readonly template: TemplateRef<unknown>;
195
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuContentDirective, never>;
196
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MenuContentDirective, "ng-template[MenuContent]", ["MenuContent"], {}, {}, never, never, true, [{ directive: typeof i1.ComponentScaleDirective; inputs: { "radius": "radius"; "density": "density"; }; outputs: {}; }]>;
281
+ export declare class MenuContentDirective {
282
+ protected readonly componentScale: ComponentScaleDirective;
283
+ readonly radius: import("@angular/core").InputSignal<"inherit" | "none" | "xs" | "sm" | "md" | "xl" | "full">;
284
+ readonly density: import("@angular/core").InputSignal<"inherit" | "compact" | "normal" | "relaxed" | "spacious">;
285
+ readonly template: TemplateRef<unknown>;
286
+ static ɵfac: i0.ɵɵFactoryDeclaration<MenuContentDirective, never>;
287
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MenuContentDirective, "ng-template[MenuContent]", ["MenuContent"], {}, {}, never, never, true, [{
288
+ directive: typeof i1.ComponentScaleDirective;
289
+ inputs: {
290
+ "radius": "radius";
291
+ "density": "density";
292
+ };
293
+ outputs: {};
294
+ }]>;
197
295
  }
198
-
199
- type MenuSide = OverlaySide;
200
- type MenuAlign = OverlayAlign;
296
+ export type MenuSide = OverlaySide;
297
+ export type MenuAlign = OverlayAlign;
201
298
  /**
202
299
  * Opens an `<ng-template MenuContent>` anchored to the trigger element.
203
300
  */
204
- declare class MenuTriggerDirective {
205
- private readonly overlay;
206
- private readonly vcr;
207
- private readonly el;
208
- private readonly destroyRef;
209
- private readonly injector;
210
- /**
211
- * The controller of the menu this trigger lives in, if any. Present only when
212
- * the trigger is itself an item of another menu, which is exactly what makes
213
- * the menu it opens a submenu.
214
- */
215
- private readonly parentMenu;
216
- readonly MenuTrigger: _angular_core.InputSignal<MenuContentDirective>;
217
- readonly side: _angular_core.InputSignal<OverlaySide>;
218
- readonly align: _angular_core.InputSignal<OverlayAlign>;
219
- readonly disabled: _angular_core.InputSignal<boolean>;
220
- /**
221
- * Close the menu when an item is chosen, which is the WAI ARIA menu pattern
222
- * and the default here. Set it to `false` for a menu that stays open, for
223
- * example a list of checkbox items the user toggles several of in a row.
224
- */
225
- readonly closeOnSelect: _angular_core.InputSignal<boolean>;
226
- /**
227
- * Id used for `aria-controls` and for the surface's `aria-labelledby`. A
228
- * consumer's own `id` on the trigger element always wins.
229
- */
230
- readonly triggerId: string;
231
- readonly surfaceId: string;
232
- readonly openedChange: _angular_core.OutputEmitterRef<boolean>;
233
- private overlayRef;
234
- readonly isOpen: _angular_core.WritableSignal<boolean>;
235
- constructor();
236
- toggle(): void;
237
- protected openAndFocus(e: KeyboardEvent): void;
238
- protected openForSide(e: KeyboardEvent, side: MenuSide): void;
239
- open(): void;
240
- close(options?: {
241
- restoreFocus?: boolean;
242
- }): void;
243
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuTriggerDirective, never>;
244
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MenuTriggerDirective, "[MenuTrigger]", ["MenuTrigger"], { "MenuTrigger": { "alias": "MenuTrigger"; "required": true; "isSignal": true; }; "side": { "alias": "side"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "closeOnSelect": { "alias": "closeOnSelect"; "required": false; "isSignal": true; }; }, { "openedChange": "openedChange"; }, never, never, true, never>;
245
- }
246
-
247
- export { MENU_OVERLAY, MENU_SUBMENU_TRIGGER, MenuCheckboxItemComponent, MenuContentDirective, MenuFocusableItem, MenuGroupComponent, MenuItemComponent, MenuLabelComponent, MenuRadioGroupBase, MenuRadioGroupComponent, MenuRadioItemComponent, MenuSeparatorComponent, MenuShortcutComponent, MenuSurfaceComponent, MenuTriggerDirective };
248
- export type { MenuAlign, MenuItemVariant, MenuOverlayController, MenuSide };
301
+ export declare class MenuTriggerDirective {
302
+ private readonly overlay;
303
+ private readonly vcr;
304
+ private readonly el;
305
+ private readonly destroyRef;
306
+ private readonly injector;
307
+ /**
308
+ * The controller of the menu this trigger lives in, if any. Present only when
309
+ * the trigger is itself an item of another menu, which is exactly what makes
310
+ * the menu it opens a submenu.
311
+ */
312
+ private readonly parentMenu;
313
+ readonly MenuTrigger: import("@angular/core").InputSignal<MenuContentDirective>;
314
+ readonly side: import("@angular/core").InputSignal<OverlaySide>;
315
+ readonly align: import("@angular/core").InputSignal<OverlayAlign>;
316
+ readonly disabled: import("@angular/core").InputSignal<boolean>;
317
+ /**
318
+ * Close the menu when an item is chosen, which is the WAI ARIA menu pattern
319
+ * and the default here. Set it to `false` for a menu that stays open, for
320
+ * example a list of checkbox items the user toggles several of in a row.
321
+ */
322
+ readonly closeOnSelect: import("@angular/core").InputSignal<boolean>;
323
+ /**
324
+ * Id used for `aria-controls` and for the surface's `aria-labelledby`. A
325
+ * consumer's own `id` on the trigger element always wins.
326
+ */
327
+ readonly triggerId: string;
328
+ readonly surfaceId: string;
329
+ readonly openedChange: import("@angular/core").OutputEmitterRef<boolean>;
330
+ private overlayRef;
331
+ readonly isOpen: import("@angular/core").WritableSignal<boolean>;
332
+ constructor();
333
+ toggle(): void;
334
+ protected openAndFocus(e: KeyboardEvent): void;
335
+ protected openForSide(e: KeyboardEvent, side: MenuSide): void;
336
+ open(): void;
337
+ close(options?: {
338
+ restoreFocus?: boolean;
339
+ }): void;
340
+ static ɵfac: i0.ɵɵFactoryDeclaration<MenuTriggerDirective, never>;
341
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MenuTriggerDirective, "[MenuTrigger]", ["MenuTrigger"], {
342
+ "MenuTrigger": {
343
+ "alias": "MenuTrigger";
344
+ "required": true;
345
+ "isSignal": true;
346
+ };
347
+ "side": {
348
+ "alias": "side";
349
+ "required": false;
350
+ "isSignal": true;
351
+ };
352
+ "align": {
353
+ "alias": "align";
354
+ "required": false;
355
+ "isSignal": true;
356
+ };
357
+ "disabled": {
358
+ "alias": "disabled";
359
+ "required": false;
360
+ "isSignal": true;
361
+ };
362
+ "closeOnSelect": {
363
+ "alias": "closeOnSelect";
364
+ "required": false;
365
+ "isSignal": true;
366
+ };
367
+ }, {
368
+ "openedChange": "openedChange";
369
+ }, never, never, true, never>;
370
+ }