@angular/aria 22.0.0-next.8 → 22.0.0-rc.1

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 (54) hide show
  1. package/fesm2022/_accordion-chunk.mjs +11 -1
  2. package/fesm2022/_accordion-chunk.mjs.map +1 -1
  3. package/fesm2022/_click-event-manager-chunk.mjs +1 -1
  4. package/fesm2022/_deferred-content-chunk.mjs +6 -6
  5. package/fesm2022/_list-chunk.mjs +1 -1
  6. package/fesm2022/_list-navigation-chunk.mjs +1 -1
  7. package/fesm2022/_list-typeahead-chunk.mjs +1 -1
  8. package/fesm2022/_menu-chunk.mjs +27 -4
  9. package/fesm2022/_menu-chunk.mjs.map +1 -1
  10. package/fesm2022/_option-chunk.mjs +11 -1
  11. package/fesm2022/_option-chunk.mjs.map +1 -1
  12. package/fesm2022/_tabs-chunk.mjs +1 -1
  13. package/fesm2022/_toolbar-widget-group-chunk.mjs +10 -1
  14. package/fesm2022/_toolbar-widget-group-chunk.mjs.map +1 -1
  15. package/fesm2022/_tree-chunk.mjs +6 -1
  16. package/fesm2022/_tree-chunk.mjs.map +1 -1
  17. package/fesm2022/{_collection-chunk.mjs → _violations-chunk.mjs} +11 -2
  18. package/fesm2022/_violations-chunk.mjs.map +1 -0
  19. package/fesm2022/_widget-chunk.mjs +11 -1
  20. package/fesm2022/_widget-chunk.mjs.map +1 -1
  21. package/fesm2022/accordion.mjs +102 -48
  22. package/fesm2022/accordion.mjs.map +1 -1
  23. package/fesm2022/aria.mjs +1 -1
  24. package/fesm2022/aria.mjs.map +1 -1
  25. package/fesm2022/combobox.mjs +9 -9
  26. package/fesm2022/combobox.mjs.map +1 -1
  27. package/fesm2022/grid.mjs +20 -13
  28. package/fesm2022/grid.mjs.map +1 -1
  29. package/fesm2022/listbox.mjs +15 -17
  30. package/fesm2022/listbox.mjs.map +1 -1
  31. package/fesm2022/menu.mjs +79 -24
  32. package/fesm2022/menu.mjs.map +1 -1
  33. package/fesm2022/private.mjs +2 -2
  34. package/fesm2022/tabs.mjs +117 -54
  35. package/fesm2022/tabs.mjs.map +1 -1
  36. package/fesm2022/toolbar.mjs +31 -10
  37. package/fesm2022/toolbar.mjs.map +1 -1
  38. package/fesm2022/tree.mjs +18 -20
  39. package/fesm2022/tree.mjs.map +1 -1
  40. package/package.json +2 -2
  41. package/types/_accordion-chunk.d.ts +2 -0
  42. package/types/_grid-chunk.d.ts +2 -0
  43. package/types/_menu-chunk.d.ts +9 -1
  44. package/types/_toolbar-chunk.d.ts +2 -0
  45. package/types/accordion.d.ts +3 -5
  46. package/types/combobox.d.ts +26 -10
  47. package/types/grid.d.ts +0 -8
  48. package/types/listbox.d.ts +0 -4
  49. package/types/menu.d.ts +6 -12
  50. package/types/private.d.ts +4 -1
  51. package/types/tabs.d.ts +3 -11
  52. package/types/toolbar.d.ts +1 -6
  53. package/types/tree.d.ts +0 -6
  54. package/fesm2022/_collection-chunk.mjs.map +0 -1
package/fesm2022/menu.mjs CHANGED
@@ -1,9 +1,9 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, ElementRef, input, computed, booleanAttribute, effect, Directive, InjectionToken, model, output, signal, afterRenderEffect, afterNextRender, untracked } from '@angular/core';
2
+ import { inject, ElementRef, input, computed, booleanAttribute, effect, Directive, InjectionToken, model, afterRenderEffect, output, signal, afterNextRender, untracked } from '@angular/core';
3
3
  import { _IdGenerator } from '@angular/cdk/a11y';
4
4
  import { Directionality } from '@angular/cdk/bidi';
5
5
  import { MenuTriggerPattern, MenuItemPattern, MenuBarPattern, MenuPattern } from './_menu-chunk.mjs';
6
- import { SortedCollection } from './_collection-chunk.mjs';
6
+ import { reportViolations, SortedCollection } from './_violations-chunk.mjs';
7
7
  import { DeferredContentAware, DeferredContent } from './_deferred-content-chunk.mjs';
8
8
  import './_list-chunk.mjs';
9
9
  import './_list-navigation-chunk.mjs';
@@ -43,6 +43,7 @@ class MenuTrigger {
43
43
  });
44
44
  constructor() {
45
45
  effect(() => this.menu()?.parent.set(this));
46
+ effect(() => this._pattern.pendingFocusEffect());
46
47
  }
47
48
  open() {
48
49
  this._pattern.open({
@@ -54,7 +55,7 @@ class MenuTrigger {
54
55
  }
55
56
  static ɵfac = i0.ɵɵngDeclareFactory({
56
57
  minVersion: "12.0.0",
57
- version: "22.0.0-next.10",
58
+ version: "22.0.0-rc.0",
58
59
  ngImport: i0,
59
60
  type: MenuTrigger,
60
61
  deps: [],
@@ -62,7 +63,7 @@ class MenuTrigger {
62
63
  });
63
64
  static ɵdir = i0.ɵɵngDeclareDirective({
64
65
  minVersion: "17.1.0",
65
- version: "22.0.0-next.10",
66
+ version: "22.0.0-rc.0",
66
67
  type: MenuTrigger,
67
68
  isStandalone: true,
68
69
  selector: "[ngMenuTrigger]",
@@ -111,7 +112,7 @@ class MenuTrigger {
111
112
  }
112
113
  i0.ɵɵngDeclareClassMetadata({
113
114
  minVersion: "12.0.0",
114
- version: "22.0.0-next.10",
115
+ version: "22.0.0-rc.0",
115
116
  ngImport: i0,
116
117
  type: MenuTrigger,
117
118
  decorators: [{
@@ -179,6 +180,9 @@ class MenuItem {
179
180
  searchTerm = model('', ...(ngDevMode ? [{
180
181
  debugName: "searchTerm"
181
182
  }] : []));
183
+ role = input('menuitem', ...(ngDevMode ? [{
184
+ debugName: "role"
185
+ }] : []));
182
186
  parent = inject(MENU_COMPONENT, {
183
187
  optional: true
184
188
  });
@@ -201,10 +205,22 @@ class MenuItem {
201
205
  disabled: this.disabled,
202
206
  searchTerm: this.searchTerm,
203
207
  parent: computed(() => this.parent?._pattern),
204
- submenu: computed(() => this.submenu()?._pattern)
208
+ submenu: computed(() => this.submenu()?._pattern),
209
+ role: this.role
205
210
  });
206
211
  constructor() {
207
212
  effect(() => this.submenu()?.parent.set(this));
213
+ if (typeof ngDevMode === 'undefined' || ngDevMode) {
214
+ afterRenderEffect({
215
+ read: () => {
216
+ const violations = [];
217
+ if (!this.parent) {
218
+ violations.push('ngMenuItem must be placed inside an ngMenu or ngMenuBar container.');
219
+ }
220
+ reportViolations(violations, this.element);
221
+ }
222
+ });
223
+ }
208
224
  }
209
225
  ngOnInit() {
210
226
  this.parent?._collection.register(this);
@@ -222,7 +238,7 @@ class MenuItem {
222
238
  }
223
239
  static ɵfac = i0.ɵɵngDeclareFactory({
224
240
  minVersion: "12.0.0",
225
- version: "22.0.0-next.10",
241
+ version: "22.0.0-rc.0",
226
242
  ngImport: i0,
227
243
  type: MenuItem,
228
244
  deps: [],
@@ -230,7 +246,7 @@ class MenuItem {
230
246
  });
231
247
  static ɵdir = i0.ɵɵngDeclareDirective({
232
248
  minVersion: "17.1.0",
233
- version: "22.0.0-next.10",
249
+ version: "22.0.0-rc.0",
234
250
  type: MenuItem,
235
251
  isStandalone: true,
236
252
  selector: "[ngMenuItem]",
@@ -263,6 +279,13 @@ class MenuItem {
263
279
  isRequired: false,
264
280
  transformFunction: null
265
281
  },
282
+ role: {
283
+ classPropertyName: "role",
284
+ publicName: "role",
285
+ isSignal: true,
286
+ isRequired: false,
287
+ transformFunction: null
288
+ },
266
289
  submenu: {
267
290
  classPropertyName: "submenu",
268
291
  publicName: "submenu",
@@ -275,13 +298,11 @@ class MenuItem {
275
298
  searchTerm: "searchTermChange"
276
299
  },
277
300
  host: {
278
- attributes: {
279
- "role": "menuitem"
280
- },
281
301
  listeners: {
282
302
  "focusin": "_pattern.onFocusIn()"
283
303
  },
284
304
  properties: {
305
+ "attr.role": "_pattern.role()",
285
306
  "attr.tabindex": "_pattern.tabIndex()",
286
307
  "attr.data-active": "active()",
287
308
  "attr.aria-haspopup": "hasPopup()",
@@ -296,7 +317,7 @@ class MenuItem {
296
317
  }
297
318
  i0.ɵɵngDeclareClassMetadata({
298
319
  minVersion: "12.0.0",
299
- version: "22.0.0-next.10",
320
+ version: "22.0.0-rc.0",
300
321
  ngImport: i0,
301
322
  type: MenuItem,
302
323
  decorators: [{
@@ -305,7 +326,7 @@ i0.ɵɵngDeclareClassMetadata({
305
326
  selector: '[ngMenuItem]',
306
327
  exportAs: 'ngMenuItem',
307
328
  host: {
308
- 'role': 'menuitem',
329
+ '[attr.role]': '_pattern.role()',
309
330
  '(focusin)': '_pattern.onFocusIn()',
310
331
  '[attr.tabindex]': '_pattern.tabIndex()',
311
332
  '[attr.data-active]': 'active()',
@@ -353,6 +374,14 @@ i0.ɵɵngDeclareClassMetadata({
353
374
  type: i0.Output,
354
375
  args: ["searchTermChange"]
355
376
  }],
377
+ role: [{
378
+ type: i0.Input,
379
+ args: [{
380
+ isSignal: true,
381
+ alias: "role",
382
+ required: false
383
+ }]
384
+ }],
356
385
  submenu: [{
357
386
  type: i0.Input,
358
387
  args: [{
@@ -404,7 +433,6 @@ class MenuBar {
404
433
  ...this,
405
434
  items: this._itemPatterns,
406
435
  multi: () => false,
407
- softDisabled: () => true,
408
436
  focusMode: () => 'roving',
409
437
  orientation: () => 'horizontal',
410
438
  selectionMode: () => 'explicit',
@@ -427,7 +455,7 @@ class MenuBar {
427
455
  }
428
456
  static ɵfac = i0.ɵɵngDeclareFactory({
429
457
  minVersion: "12.0.0",
430
- version: "22.0.0-next.10",
458
+ version: "22.0.0-rc.0",
431
459
  ngImport: i0,
432
460
  type: MenuBar,
433
461
  deps: [],
@@ -435,7 +463,7 @@ class MenuBar {
435
463
  });
436
464
  static ɵdir = i0.ɵɵngDeclareDirective({
437
465
  minVersion: "17.1.0",
438
- version: "22.0.0-next.10",
466
+ version: "22.0.0-rc.0",
439
467
  type: MenuBar,
440
468
  isStandalone: true,
441
469
  selector: "[ngMenuBar]",
@@ -507,7 +535,7 @@ class MenuBar {
507
535
  }
508
536
  i0.ɵɵngDeclareClassMetadata({
509
537
  minVersion: "12.0.0",
510
- version: "22.0.0-next.10",
538
+ version: "22.0.0-rc.0",
511
539
  ngImport: i0,
512
540
  type: MenuBar,
513
541
  decorators: [{
@@ -616,6 +644,12 @@ class Menu {
616
644
  parent = signal(undefined, ...(ngDevMode ? [{
617
645
  debugName: "parent"
618
646
  }] : []));
647
+ softDisabled = input(true, {
648
+ ...(ngDevMode ? {
649
+ debugName: "softDisabled"
650
+ } : {}),
651
+ transform: booleanAttribute
652
+ });
619
653
  _pattern;
620
654
  _itemPatterns = computed(() => {
621
655
  this._pattern.visible();
@@ -639,7 +673,6 @@ class Menu {
639
673
  parent: computed(() => this.parent()?._pattern),
640
674
  items: this._itemPatterns,
641
675
  multi: () => false,
642
- softDisabled: () => true,
643
676
  focusMode: () => 'roving',
644
677
  orientation: () => 'vertical',
645
678
  selectionMode: () => 'explicit',
@@ -668,6 +701,13 @@ class Menu {
668
701
  afterRenderEffect({
669
702
  write: () => this._pattern.setDefaultStateEffect()
670
703
  });
704
+ if (typeof ngDevMode === 'undefined' || ngDevMode) {
705
+ afterRenderEffect({
706
+ read: () => {
707
+ reportViolations(this._pattern.validate(), this.element);
708
+ }
709
+ });
710
+ }
671
711
  afterNextRender(() => {
672
712
  this._collection.startObserving(this.element);
673
713
  });
@@ -680,7 +720,7 @@ class Menu {
680
720
  }
681
721
  static ɵfac = i0.ɵɵngDeclareFactory({
682
722
  minVersion: "12.0.0",
683
- version: "22.0.0-next.10",
723
+ version: "22.0.0-rc.0",
684
724
  ngImport: i0,
685
725
  type: Menu,
686
726
  deps: [],
@@ -688,7 +728,7 @@ class Menu {
688
728
  });
689
729
  static ɵdir = i0.ɵɵngDeclareDirective({
690
730
  minVersion: "17.1.0",
691
- version: "22.0.0-next.10",
731
+ version: "22.0.0-rc.0",
692
732
  type: Menu,
693
733
  isStandalone: true,
694
734
  selector: "[ngMenu]",
@@ -721,6 +761,13 @@ class Menu {
721
761
  isRequired: false,
722
762
  transformFunction: null
723
763
  },
764
+ softDisabled: {
765
+ classPropertyName: "softDisabled",
766
+ publicName: "softDisabled",
767
+ isSignal: true,
768
+ isRequired: false,
769
+ transformFunction: null
770
+ },
724
771
  expansionDelay: {
725
772
  classPropertyName: "expansionDelay",
726
773
  publicName: "expansionDelay",
@@ -765,7 +812,7 @@ class Menu {
765
812
  }
766
813
  i0.ɵɵngDeclareClassMetadata({
767
814
  minVersion: "12.0.0",
768
- version: "22.0.0-next.10",
815
+ version: "22.0.0-rc.0",
769
816
  ngImport: i0,
770
817
  type: Menu,
771
818
  decorators: [{
@@ -830,6 +877,14 @@ i0.ɵɵngDeclareClassMetadata({
830
877
  required: false
831
878
  }]
832
879
  }],
880
+ softDisabled: [{
881
+ type: i0.Input,
882
+ args: [{
883
+ isSignal: true,
884
+ alias: "softDisabled",
885
+ required: false
886
+ }]
887
+ }],
833
888
  itemSelected: [{
834
889
  type: i0.Output,
835
890
  args: ["itemSelected"]
@@ -848,7 +903,7 @@ i0.ɵɵngDeclareClassMetadata({
848
903
  class MenuContent {
849
904
  static ɵfac = i0.ɵɵngDeclareFactory({
850
905
  minVersion: "12.0.0",
851
- version: "22.0.0-next.10",
906
+ version: "22.0.0-rc.0",
852
907
  ngImport: i0,
853
908
  type: MenuContent,
854
909
  deps: [],
@@ -856,7 +911,7 @@ class MenuContent {
856
911
  });
857
912
  static ɵdir = i0.ɵɵngDeclareDirective({
858
913
  minVersion: "14.0.0",
859
- version: "22.0.0-next.10",
914
+ version: "22.0.0-rc.0",
860
915
  type: MenuContent,
861
916
  isStandalone: true,
862
917
  selector: "ng-template[ngMenuContent]",
@@ -869,7 +924,7 @@ class MenuContent {
869
924
  }
870
925
  i0.ɵɵngDeclareClassMetadata({
871
926
  minVersion: "12.0.0",
872
- version: "22.0.0-next.10",
927
+ version: "22.0.0-rc.0",
873
928
  ngImport: i0,
874
929
  type: MenuContent,
875
930
  decorators: [{
@@ -1 +1 @@
1
- {"version":3,"file":"menu.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/menu/menu-trigger.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/menu/menu-tokens.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/menu/menu-item.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/menu/menu-bar.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/menu/menu.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/menu/menu-content.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n booleanAttribute,\n computed,\n Directive,\n effect,\n ElementRef,\n inject,\n input,\n} from '@angular/core';\nimport {MenuTriggerPattern} from '../private';\nimport {Directionality} from '@angular/cdk/bidi';\nimport type {Menu} from './menu';\n\n/**\n * A trigger for a menu.\n *\n * The `ngMenuTrigger` directive is used to open and close menus. It can be applied to\n * any interactive element (e.g., a button) to associate it with a `ngMenu` instance.\n * It also supports linking to sub-menus when applied to a `ngMenuItem`.\n *\n * ```html\n * <button ngMenuTrigger [menu]=\"myMenu\">Open Menu</button>\n *\n * <div ngMenu #myMenu=\"ngMenu\">\n * <div ngMenuItem>Item 1</div>\n * <div ngMenuItem>Item 2</div>\n * </div>\n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Menu](guide/aria/menu)\n * @see [MenuBar](guide/aria/menubar)\n */\n@Directive({\n selector: '[ngMenuTrigger]',\n exportAs: 'ngMenuTrigger',\n host: {\n '[attr.tabindex]': '_pattern.tabIndex()',\n '[attr.disabled]': '!softDisabled() && _pattern.disabled() ? true : null',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[attr.aria-haspopup]': 'hasPopup()',\n '[attr.aria-expanded]': 'expanded()',\n '[attr.aria-controls]': '_pattern.menu()?.id()',\n '(click)': '_pattern.onClick()',\n '(keydown)': '_pattern.onKeydown($event)',\n '(focusout)': '_pattern.onFocusOut($event)',\n '(focusin)': '_pattern.onFocusIn()',\n },\n})\nexport class MenuTrigger<V> {\n /** A reference to the host element. */\n private readonly _elementRef = inject(ElementRef);\n\n /** A reference to the host element. */\n readonly element = this._elementRef.nativeElement as HTMLElement;\n\n /** The directionality (LTR / RTL) context for the application (or a subtree of it). */\n readonly textDirection = inject(Directionality).valueSignal;\n\n /** The menu associated with the trigger. */\n readonly menu = input<Menu<V> | undefined>(undefined);\n\n /** Whether the menu is expanded. */\n readonly expanded = computed(() => this._pattern.expanded());\n\n /** Whether the menu trigger has a popup. */\n readonly hasPopup = computed(() => this._pattern.hasPopup());\n\n /** Whether the menu trigger is disabled. */\n readonly disabled = input(false, {transform: booleanAttribute});\n\n /** Whether the menu trigger is soft disabled. */\n readonly softDisabled = input(true, {transform: booleanAttribute});\n\n /** The menu trigger ui pattern instance. */\n readonly _pattern: MenuTriggerPattern<V> = new MenuTriggerPattern({\n textDirection: this.textDirection,\n element: computed(() => this._elementRef.nativeElement),\n menu: computed(() => this.menu()?._pattern),\n disabled: () => this.disabled(),\n });\n\n constructor() {\n effect(() => this.menu()?.parent.set(this));\n }\n\n /** Opens the menu focusing on the first menu item. */\n open() {\n this._pattern.open({first: true});\n }\n\n /** Closes the menu. */\n close() {\n this._pattern.close();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {InjectionToken} from '@angular/core';\nimport type {Menu} from './menu';\nimport type {MenuBar} from './menu-bar';\n\n/** Token used to expose menus to their child components. */\nexport const MENU_COMPONENT = new InjectionToken<Menu<any> | MenuBar<any>>('MENU_COMPONENT');\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n computed,\n Directive,\n effect,\n ElementRef,\n inject,\n input,\n model,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport {MenuItemPattern} from '../private';\nimport {_IdGenerator} from '@angular/cdk/a11y';\nimport {MENU_COMPONENT} from './menu-tokens';\nimport type {Menu} from './menu';\nimport type {MenuBar} from './menu-bar';\n\n/**\n * An item in a Menu.\n *\n * `ngMenuItem` directives can be used in `ngMenu` and `ngMenuBar` to represent a choice\n * or action a user can take. They can also act as triggers for sub-menus.\n *\n * ```html\n * <div ngMenu (itemSelected)=\"doAction()\">\n * <div ngMenuItem>Action Item</div>\n * <div ngMenuItem [submenu]=\"anotherMenu\">Submenu Trigger</div>\n * </div>\n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Menu](guide/aria/menu)\n * @see [MenuBar](guide/aria/menubar)\n */\n@Directive({\n selector: '[ngMenuItem]',\n exportAs: 'ngMenuItem',\n host: {\n 'role': 'menuitem',\n '(focusin)': '_pattern.onFocusIn()',\n '[attr.tabindex]': '_pattern.tabIndex()',\n '[attr.data-active]': 'active()',\n '[attr.aria-haspopup]': 'hasPopup()',\n '[attr.aria-expanded]': 'expanded()',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[attr.aria-controls]': '_pattern.submenu()?.id()',\n },\n})\nexport class MenuItem<V> implements OnInit, OnDestroy {\n /** A reference to the host element. */\n private readonly _elementRef = inject(ElementRef);\n\n /** A reference to the host element. */\n readonly element = this._elementRef.nativeElement as HTMLElement;\n\n /** The unique ID of the menu item. */\n readonly id = input(inject(_IdGenerator).getId('ng-menu-item-', true));\n\n /** The value of the menu item. */\n readonly value = input.required<V>();\n\n /** Whether the menu item is disabled. */\n readonly disabled = input<boolean>(false);\n\n /** The search term associated with the menu item. */\n readonly searchTerm = model<string>('');\n\n /** A reference to the parent menu or menubar. */\n readonly parent = inject<Menu<V> | MenuBar<V>>(MENU_COMPONENT, {optional: true});\n\n /** The submenu associated with the menu item. */\n readonly submenu = input<Menu<V> | undefined>(undefined);\n\n /** Whether the menu item is active. */\n readonly active = computed(() => this._pattern.active());\n\n /** Whether the menu is expanded. */\n readonly expanded = computed(() => this._pattern.expanded());\n\n /** Whether the menu item has a popup. */\n readonly hasPopup = computed(() => this._pattern.hasPopup());\n\n /** The menu item ui pattern instance. */\n readonly _pattern: MenuItemPattern<V> = new MenuItemPattern<V>({\n id: this.id,\n value: this.value,\n element: computed(() => this._elementRef.nativeElement),\n disabled: this.disabled,\n searchTerm: this.searchTerm,\n parent: computed(() => this.parent?._pattern),\n submenu: computed(() => this.submenu()?._pattern),\n });\n\n constructor() {\n effect(() => this.submenu()?.parent.set(this));\n }\n\n ngOnInit() {\n this.parent?._collection.register(this);\n }\n\n ngOnDestroy() {\n this.parent?._collection.unregister(this);\n }\n\n /** Opens the submenu focusing on the first menu item. */\n open() {\n this._pattern.open({first: true});\n }\n\n /** Closes the submenu. */\n close() {\n this._pattern.close();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n afterNextRender,\n afterRenderEffect,\n booleanAttribute,\n computed,\n Directive,\n ElementRef,\n inject,\n input,\n model,\n OnDestroy,\n output,\n signal,\n} from '@angular/core';\nimport {SignalLike, MenuBarPattern, SortedCollection} from '../private';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {MenuItem} from './menu-item';\nimport {MENU_COMPONENT} from './menu-tokens';\n\n/**\n * A menu bar of menu items.\n *\n * Like the `ngMenu`, a `ngMenuBar` is used to offer a list of menu item choices to users.\n * However, a menubar is used to display a persistent, top-level, always-visible set of\n * menu item choices, typically found at the top of an application window.\n *\n * ```html\n * <div ngMenuBar>\n * <button ngMenuTrigger [menu]=\"fileMenu\">File</button>\n * <button ngMenuTrigger [menu]=\"editMenu\">Edit</button>\n * </div>\n *\n * <div ngMenu #fileMenu=\"ngMenu\">\n * <div ngMenuItem>New</div>\n * <div ngMenuItem>Open</div>\n * </div>\n *\n * <div ngMenu #editMenu=\"ngMenu\">\n * <div ngMenuItem>Cut</div>\n * <div ngMenuItem>Copy</div>\n * </div>\n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Menu](guide/aria/menu)\n * @see [MenuBar](guide/aria/menubar)\n */\n@Directive({\n selector: '[ngMenuBar]',\n exportAs: 'ngMenuBar',\n host: {\n 'role': 'menubar',\n '[attr.disabled]': '!softDisabled() && _pattern.disabled() ? true : null',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[attr.tabindex]': '_pattern.tabIndex()',\n '(keydown)': '_pattern.onKeydown($event)',\n '(mouseover)': '_pattern.onMouseOver($event)',\n '(click)': '_pattern.onClick($event)',\n '(focusin)': '_pattern.onFocusIn()',\n '(focusout)': '_pattern.onFocusOut($event)',\n },\n providers: [{provide: MENU_COMPONENT, useExisting: MenuBar}],\n})\nexport class MenuBar<V> implements OnDestroy {\n /** The collection of menu items. */\n readonly _collection = new SortedCollection<MenuItem<V>>();\n\n readonly _items: SignalLike<MenuItem<V>[]> = () =>\n this._collection.orderedItems().filter(i => i.parent === this);\n\n /** A reference to the host element. */\n private readonly _elementRef = inject(ElementRef);\n\n /** A reference to the host element. */\n readonly element = this._elementRef.nativeElement as HTMLElement;\n\n /** Whether the menubar is disabled. */\n readonly disabled = input(false, {transform: booleanAttribute});\n\n /** Whether the menubar is soft disabled. */\n readonly softDisabled = input(true, {transform: booleanAttribute});\n\n /** The directionality (LTR / RTL) context for the application (or a subtree of it). */\n readonly textDirection = inject(Directionality).valueSignal;\n\n /** The values of the currently selected menu items. */\n readonly value = model<V[]>([]);\n\n /** Whether the menu should wrap its items. */\n readonly wrap = input(true, {transform: booleanAttribute});\n\n /** The delay in milliseconds before the typeahead buffer is cleared. */\n readonly typeaheadDelay = input<number>(500);\n\n /** The menu ui pattern instance. */\n readonly _pattern: MenuBarPattern<V>;\n\n /** The menu items as a writable signal. */\n private readonly _itemPatterns = computed(() => this._items().map(i => i._pattern));\n\n /** A callback function triggered when a menu item is selected. */\n readonly itemSelected = output<V>();\n\n constructor() {\n this._pattern = new MenuBarPattern({\n ...this,\n items: this._itemPatterns,\n multi: () => false,\n softDisabled: () => true,\n focusMode: () => 'roving',\n orientation: () => 'horizontal',\n selectionMode: () => 'explicit',\n itemSelected: (value: V) => this.itemSelected.emit(value),\n activeItem: signal(undefined),\n element: computed(() => this._elementRef.nativeElement),\n });\n\n afterRenderEffect({write: () => this._pattern.setDefaultStateEffect()});\n\n afterNextRender(() => {\n this._collection.startObserving(this.element);\n });\n }\n\n ngOnDestroy() {\n this._collection.stopObserving();\n }\n\n /** Closes the menubar. */\n close() {\n this._pattern.close();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n afterNextRender,\n afterRenderEffect,\n booleanAttribute,\n computed,\n Directive,\n ElementRef,\n inject,\n input,\n OnDestroy,\n output,\n Signal,\n signal,\n untracked,\n} from '@angular/core';\nimport {MenuPattern, DeferredContentAware, SortedCollection} from '../private';\nimport {_IdGenerator} from '@angular/cdk/a11y';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {MenuTrigger} from './menu-trigger';\nimport {MenuItem} from './menu-item';\nimport {MenuBar} from './menu-bar';\nimport {MENU_COMPONENT} from './menu-tokens';\n\n/**\n * A list of menu items.\n *\n * A `ngMenu` is used to offer a list of menu item choices to users. Menus can be nested\n * within other menus to create sub-menus. It works in conjunction with `ngMenuTrigger`\n * and `ngMenuItem` directives.\n *\n * ```html\n * <button ngMenuTrigger [menu]=\"myMenu\">Options</button>\n *\n * <div ngMenu #myMenu=\"ngMenu\">\n * <div ngMenuItem value=\"Star\">Star</div>\n * <div ngMenuItem value=\"Edit\">Edit</div>\n * <div ngMenuItem value=\"More\" [submenu]=\"subMenu\">More</div>\n * </div>\n *\n * <div ngMenu #subMenu=\"ngMenu\">\n * <div ngMenuItem value=\"Sub Item 1\">Sub Item 1</div>\n * <div ngMenuItem value=\"Sub Item 2\">Sub Item 2</div>\n * </div>\n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Menu](guide/aria/menu)\n * @see [MenuBar](guide/aria/menubar)\n */\n@Directive({\n selector: '[ngMenu]',\n exportAs: 'ngMenu',\n host: {\n 'role': 'menu',\n '[attr.id]': '_pattern.id()',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[attr.tabindex]': 'tabIndex()',\n '[attr.data-visible]': 'visible()',\n '(keydown)': '_pattern.onKeydown($event)',\n '(mouseover)': '_pattern.onMouseOver($event)',\n '(mouseout)': '_pattern.onMouseOut($event)',\n '(focusout)': '_pattern.onFocusOut($event)',\n '(focusin)': '_pattern.onFocusIn()',\n '(click)': '_pattern.onClick($event)',\n },\n hostDirectives: [\n {\n directive: DeferredContentAware,\n inputs: ['preserveContent'],\n },\n ],\n providers: [{provide: MENU_COMPONENT, useExisting: Menu}],\n})\nexport class Menu<V> implements OnDestroy {\n /** The DeferredContentAware host directive. */\n private readonly _deferredContentAware = inject(DeferredContentAware, {optional: true});\n\n /** The collection of menu items. */\n readonly _collection = new SortedCollection<MenuItem<V>>();\n\n /** The menu items that are direct children of this menu. */\n readonly _items: Signal<MenuItem<V>[]> = computed(() =>\n this._collection.orderedItems().filter(i => i.parent === this),\n );\n\n /** A reference to the host element. */\n private readonly _elementRef = inject(ElementRef);\n\n /** A reference to the host element. */\n readonly element = this._elementRef.nativeElement as HTMLElement;\n\n /** The directionality (LTR / RTL) context for the application (or a subtree of it). */\n readonly textDirection = inject(Directionality).valueSignal;\n\n /** The unique ID of the menu. */\n readonly id = input(inject(_IdGenerator).getId('ng-menu-', true));\n\n /** Whether the menu should wrap its items. */\n readonly wrap = input(true, {transform: booleanAttribute});\n\n /** The delay in milliseconds before the typeahead buffer is cleared. */\n readonly typeaheadDelay = input<number>(500); // Picked arbitrarily.\n\n /** Whether the menu is disabled. */\n readonly disabled = input(false, {transform: booleanAttribute});\n\n /** A reference to the parent menu item or menu trigger. */\n readonly parent = signal<MenuTrigger<V> | MenuItem<V> | undefined>(undefined);\n\n /** The menu ui pattern instance. */\n readonly _pattern: MenuPattern<V>;\n\n /**\n * The menu item patterns for the menu items that are direct children of this menu, passed\n * to the menu pattern.\n *\n * Note: contentChildren has an issue where it will return a successively smaller list\n * each time that the menu is open and closed, eventually resulting in an empty list.\n * The workaround is to trigger a recomputation of this signal whenever the menu is opened\n * or closed, by calling this._pattern.visible() in the signal body. Otherwise, computed could\n * not be used and would have to rebuild the list each time this method is called.\n */\n private readonly _itemPatterns = computed(() => {\n // Only needed to force a recompute.\n this._pattern.visible();\n\n return this._items().map(i => i._pattern);\n });\n\n /** Whether the menu is visible. */\n readonly visible = computed(() => this._pattern.visible());\n\n /** The tab index of the menu. */\n readonly tabIndex = computed(() => this._pattern.tabIndex());\n\n /** A callback function triggered when a menu item is selected. */\n readonly itemSelected = output<V>();\n\n /** The delay in milliseconds before expanding sub-menus on hover. */\n readonly expansionDelay = input<number>(100); // Arbitrarily chosen.\n\n constructor() {\n this._pattern = new MenuPattern({\n ...this,\n parent: computed(() => this.parent()?._pattern),\n items: this._itemPatterns,\n multi: () => false,\n softDisabled: () => true,\n focusMode: () => 'roving',\n orientation: () => 'vertical',\n selectionMode: () => 'explicit',\n activeItem: signal(undefined),\n element: computed(() => this._elementRef.nativeElement),\n itemSelected: (value: V) => this.itemSelected.emit(value),\n });\n\n afterRenderEffect({\n write: () => {\n const parent = this.parent();\n if (parent instanceof MenuItem && parent.parent instanceof MenuBar) {\n this._deferredContentAware?.contentVisible.set(true);\n } else {\n this._deferredContentAware?.contentVisible.set(\n this._pattern.visible() || !!this.parent()?._pattern.hasBeenInteracted(),\n );\n }\n },\n });\n\n // Focuses an active menu item when the menu becomes visible. This is needed to\n // properly restore focus to the active item when returning to a menu, and to\n // focus the first item when navigating into a submenu with hover.\n afterRenderEffect({\n write: () => {\n if (this.visible()) {\n const activeItem = untracked(() => this._pattern.inputs.activeItem());\n this._pattern.listBehavior.goto(activeItem!);\n }\n },\n });\n\n afterRenderEffect({write: () => this._pattern.setDefaultStateEffect()});\n\n afterNextRender(() => {\n this._collection.startObserving(this.element);\n });\n }\n\n ngOnDestroy() {\n this._collection.stopObserving();\n }\n\n /** Closes the menu. */\n close() {\n this._pattern.close();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {Directive} from '@angular/core';\nimport {DeferredContent} from '../private';\n\n/**\n * Defers the rendering of the menu content.\n *\n * This structural directive should be applied to an `ng-template` within a `ngMenu`\n * or `ngMenuBar` to lazily render its content only when the menu is opened.\n *\n * ```html\n * <div ngMenu #myMenu=\"ngMenu\">\n * <ng-template ngMenuContent>\n * <div ngMenuItem>Lazy Item 1</div>\n * <div ngMenuItem>Lazy Item 2</div>\n * </ng-template>\n * </div>\n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Menu](guide/aria/menu)\n * @see [MenuBar](guide/aria/menubar)\n */\n@Directive({\n selector: 'ng-template[ngMenuContent]',\n exportAs: 'ngMenuContent',\n hostDirectives: [DeferredContent],\n})\nexport class MenuContent {}\n"],"names":["MenuTrigger","_elementRef","inject","ElementRef","element","nativeElement","textDirection","Directionality","valueSignal","menu","input","undefined","expanded","computed","_pattern","hasPopup","disabled","transform","booleanAttribute","softDisabled","MenuTriggerPattern","constructor","effect","parent","set","open","first","close","deps","target","i0","ɵɵFactoryTarget","Directive","isStandalone","selector","inputs","classPropertyName","publicName","isSignal","isRequired","transformFunction","host","listeners","properties","exportAs","ngImport","decorators","args","MENU_COMPONENT","InjectionToken","MenuItem","id","_IdGenerator","getId","value","required","searchTerm","model","optional","submenu","active","MenuItemPattern","ngOnInit","_collection","register","ngOnDestroy","unregister","outputs","attributes","MenuBar","SortedCollection","_items","orderedItems","filter","i","wrap","typeaheadDelay","_itemPatterns","map","itemSelected","output","MenuBarPattern","items","multi","focusMode","orientation","selectionMode","emit","activeItem","signal","afterRenderEffect","write","setDefaultStateEffect","afterNextRender","startObserving","stopObserving","providers","provide","useExisting","Menu","_deferredContentAware","DeferredContentAware","ngDevMode","debugName","visible","tabIndex","expansionDelay","MenuPattern","contentVisible","hasBeenInteracted","untracked","listBehavior","goto","hostDirectives","directive","i1","MenuContent","DeferredContent"],"mappings":"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"}
1
+ {"version":3,"file":"menu.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/menu/menu-trigger.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/menu/menu-tokens.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/menu/menu-item.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/menu/menu-bar.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/menu/menu.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/menu/menu-content.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n booleanAttribute,\n computed,\n Directive,\n effect,\n ElementRef,\n inject,\n input,\n} from '@angular/core';\nimport {MenuTriggerPattern} from '../private';\nimport {Directionality} from '@angular/cdk/bidi';\nimport type {Menu} from './menu';\n\n/**\n * A trigger for a menu.\n *\n * The `ngMenuTrigger` directive is used to open and close menus. It can be applied to\n * any interactive element (e.g., a button) to associate it with a `ngMenu` instance.\n * It also supports linking to sub-menus when applied to a `ngMenuItem`.\n *\n * ```html\n * <button ngMenuTrigger [menu]=\"myMenu\">Open Menu</button>\n *\n * <div ngMenu #myMenu=\"ngMenu\">\n * <div ngMenuItem>Item 1</div>\n * <div ngMenuItem>Item 2</div>\n * </div>\n * ```\n *\n * @see [Menu](guide/aria/menu)\n * @see [MenuBar](guide/aria/menubar)\n */\n@Directive({\n selector: '[ngMenuTrigger]',\n exportAs: 'ngMenuTrigger',\n host: {\n '[attr.tabindex]': '_pattern.tabIndex()',\n '[attr.disabled]': '!softDisabled() && _pattern.disabled() ? true : null',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[attr.aria-haspopup]': 'hasPopup()',\n '[attr.aria-expanded]': 'expanded()',\n '[attr.aria-controls]': '_pattern.menu()?.id()',\n '(click)': '_pattern.onClick()',\n '(keydown)': '_pattern.onKeydown($event)',\n '(focusout)': '_pattern.onFocusOut($event)',\n '(focusin)': '_pattern.onFocusIn()',\n },\n})\nexport class MenuTrigger<V> {\n /** A reference to the host element. */\n private readonly _elementRef = inject(ElementRef);\n\n /** A reference to the host element. */\n readonly element = this._elementRef.nativeElement as HTMLElement;\n\n /** The directionality (LTR / RTL) context for the application (or a subtree of it). */\n readonly textDirection = inject(Directionality).valueSignal;\n\n /** The menu associated with the trigger. */\n readonly menu = input<Menu<V> | undefined>(undefined);\n\n /** Whether the menu is expanded. */\n readonly expanded = computed(() => this._pattern.expanded());\n\n /** Whether the menu trigger has a popup. */\n readonly hasPopup = computed(() => this._pattern.hasPopup());\n\n /** Whether the menu trigger is disabled. */\n readonly disabled = input(false, {transform: booleanAttribute});\n\n /** Whether the menu trigger is soft disabled. */\n readonly softDisabled = input(true, {transform: booleanAttribute});\n\n /** The menu trigger ui pattern instance. */\n readonly _pattern: MenuTriggerPattern<V> = new MenuTriggerPattern({\n textDirection: this.textDirection,\n element: computed(() => this._elementRef.nativeElement),\n menu: computed(() => this.menu()?._pattern),\n disabled: () => this.disabled(),\n });\n\n constructor() {\n effect(() => this.menu()?.parent.set(this));\n effect(() => this._pattern.pendingFocusEffect());\n }\n\n /** Opens the menu focusing on the first menu item. */\n open() {\n this._pattern.open({first: true});\n }\n\n /** Closes the menu. */\n close() {\n this._pattern.close();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {InjectionToken} from '@angular/core';\nimport type {Menu} from './menu';\nimport type {MenuBar} from './menu-bar';\n\n/** Token used to expose menus to their child components. */\nexport const MENU_COMPONENT = new InjectionToken<Menu<any> | MenuBar<any>>('MENU_COMPONENT');\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n computed,\n Directive,\n effect,\n ElementRef,\n inject,\n input,\n model,\n OnDestroy,\n OnInit,\n afterRenderEffect,\n} from '@angular/core';\nimport {MenuItemPattern, reportViolations} from '../private';\nimport {_IdGenerator} from '@angular/cdk/a11y';\nimport {MENU_COMPONENT} from './menu-tokens';\nimport type {Menu} from './menu';\nimport type {MenuBar} from './menu-bar';\n\n/**\n * An item in a Menu.\n *\n * `ngMenuItem` directives can be used in `ngMenu` and `ngMenuBar` to represent a choice\n * or action a user can take. They can also act as triggers for sub-menus.\n *\n * ```html\n * <div ngMenu (itemSelected)=\"doAction()\">\n * <div ngMenuItem>Action Item</div>\n * <div ngMenuItem [submenu]=\"anotherMenu\">Submenu Trigger</div>\n * </div>\n * ```\n *\n * @see [Menu](guide/aria/menu)\n * @see [MenuBar](guide/aria/menubar)\n */\n@Directive({\n selector: '[ngMenuItem]',\n exportAs: 'ngMenuItem',\n host: {\n '[attr.role]': '_pattern.role()',\n '(focusin)': '_pattern.onFocusIn()',\n '[attr.tabindex]': '_pattern.tabIndex()',\n '[attr.data-active]': 'active()',\n '[attr.aria-haspopup]': 'hasPopup()',\n '[attr.aria-expanded]': 'expanded()',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[attr.aria-controls]': '_pattern.submenu()?.id()',\n },\n})\nexport class MenuItem<V> implements OnInit, OnDestroy {\n /** A reference to the host element. */\n private readonly _elementRef = inject(ElementRef);\n\n /** A reference to the host element. */\n readonly element = this._elementRef.nativeElement as HTMLElement;\n\n /** The unique ID of the menu item. */\n readonly id = input(inject(_IdGenerator).getId('ng-menu-item-', true));\n\n /** The value of the menu item. */\n readonly value = input.required<V>();\n\n /** Whether the menu item is disabled. */\n readonly disabled = input<boolean>(false);\n\n /** The search term associated with the menu item. */\n readonly searchTerm = model<string>('');\n\n /** The role of the menu item. */\n readonly role = input<'menuitem' | 'menuitemradio' | 'menuitemcheckbox'>('menuitem');\n\n /** A reference to the parent menu or menubar. */\n readonly parent = inject<Menu<V> | MenuBar<V>>(MENU_COMPONENT, {optional: true});\n\n /** The submenu associated with the menu item. */\n readonly submenu = input<Menu<V> | undefined>(undefined);\n\n /** Whether the menu item is active. */\n readonly active = computed(() => this._pattern.active());\n\n /** Whether the menu is expanded. */\n readonly expanded = computed(() => this._pattern.expanded());\n\n /** Whether the menu item has a popup. */\n readonly hasPopup = computed(() => this._pattern.hasPopup());\n\n /** The menu item ui pattern instance. */\n readonly _pattern: MenuItemPattern<V> = new MenuItemPattern<V>({\n id: this.id,\n value: this.value,\n element: computed(() => this._elementRef.nativeElement),\n disabled: this.disabled,\n searchTerm: this.searchTerm,\n parent: computed(() => this.parent?._pattern),\n submenu: computed(() => this.submenu()?._pattern),\n role: this.role,\n });\n\n constructor() {\n effect(() => this.submenu()?.parent.set(this));\n\n // Check for any violations after the DOM has been updated.\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n afterRenderEffect({\n read: () => {\n const violations: string[] = [];\n if (!this.parent) {\n violations.push('ngMenuItem must be placed inside an ngMenu or ngMenuBar container.');\n }\n reportViolations(violations, this.element);\n },\n });\n }\n }\n\n ngOnInit() {\n this.parent?._collection.register(this);\n }\n\n ngOnDestroy() {\n this.parent?._collection.unregister(this);\n }\n\n /** Opens the submenu focusing on the first menu item. */\n open() {\n this._pattern.open({first: true});\n }\n\n /** Closes the submenu. */\n close() {\n this._pattern.close();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n afterNextRender,\n afterRenderEffect,\n booleanAttribute,\n computed,\n Directive,\n ElementRef,\n inject,\n input,\n model,\n OnDestroy,\n output,\n signal,\n} from '@angular/core';\nimport {SignalLike, MenuBarPattern, SortedCollection} from '../private';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {MenuItem} from './menu-item';\nimport {MENU_COMPONENT} from './menu-tokens';\n\n/**\n * A menu bar of menu items.\n *\n * Like the `ngMenu`, a `ngMenuBar` is used to offer a list of menu item choices to users.\n * However, a menubar is used to display a persistent, top-level, always-visible set of\n * menu item choices, typically found at the top of an application window.\n *\n * ```html\n * <div ngMenuBar>\n * <button ngMenuTrigger [menu]=\"fileMenu\">File</button>\n * <button ngMenuTrigger [menu]=\"editMenu\">Edit</button>\n * </div>\n *\n * <div ngMenu #fileMenu=\"ngMenu\">\n * <div ngMenuItem>New</div>\n * <div ngMenuItem>Open</div>\n * </div>\n *\n * <div ngMenu #editMenu=\"ngMenu\">\n * <div ngMenuItem>Cut</div>\n * <div ngMenuItem>Copy</div>\n * </div>\n * ```\n *\n * @see [Menu](guide/aria/menu)\n * @see [MenuBar](guide/aria/menubar)\n */\n@Directive({\n selector: '[ngMenuBar]',\n exportAs: 'ngMenuBar',\n host: {\n 'role': 'menubar',\n '[attr.disabled]': '!softDisabled() && _pattern.disabled() ? true : null',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[attr.tabindex]': '_pattern.tabIndex()',\n '(keydown)': '_pattern.onKeydown($event)',\n '(mouseover)': '_pattern.onMouseOver($event)',\n '(click)': '_pattern.onClick($event)',\n '(focusin)': '_pattern.onFocusIn()',\n '(focusout)': '_pattern.onFocusOut($event)',\n },\n providers: [{provide: MENU_COMPONENT, useExisting: MenuBar}],\n})\nexport class MenuBar<V> implements OnDestroy {\n /** The collection of menu items. */\n readonly _collection = new SortedCollection<MenuItem<V>>();\n\n readonly _items: SignalLike<MenuItem<V>[]> = () =>\n this._collection.orderedItems().filter(i => i.parent === this);\n\n /** A reference to the host element. */\n private readonly _elementRef = inject(ElementRef);\n\n /** A reference to the host element. */\n readonly element = this._elementRef.nativeElement as HTMLElement;\n\n /** Whether the menubar is disabled. */\n readonly disabled = input(false, {transform: booleanAttribute});\n\n /** Whether the menubar is soft disabled. */\n readonly softDisabled = input(true, {transform: booleanAttribute});\n\n /** The directionality (LTR / RTL) context for the application (or a subtree of it). */\n readonly textDirection = inject(Directionality).valueSignal;\n\n /** The values of the currently selected menu items. */\n readonly value = model<V[]>([]);\n\n /** Whether the menu should wrap its items. */\n readonly wrap = input(true, {transform: booleanAttribute});\n\n /** The delay in milliseconds before the typeahead buffer is cleared. */\n readonly typeaheadDelay = input<number>(500);\n\n /** The menu ui pattern instance. */\n readonly _pattern: MenuBarPattern<V>;\n\n /** The menu items as a writable signal. */\n private readonly _itemPatterns = computed(() => this._items().map(i => i._pattern));\n\n /** A callback function triggered when a menu item is selected. */\n readonly itemSelected = output<V>();\n\n constructor() {\n this._pattern = new MenuBarPattern({\n ...this,\n items: this._itemPatterns,\n multi: () => false,\n focusMode: () => 'roving',\n orientation: () => 'horizontal',\n selectionMode: () => 'explicit',\n itemSelected: (value: V) => this.itemSelected.emit(value),\n activeItem: signal(undefined),\n element: computed(() => this._elementRef.nativeElement),\n });\n\n afterRenderEffect({write: () => this._pattern.setDefaultStateEffect()});\n\n afterNextRender(() => {\n this._collection.startObserving(this.element);\n });\n }\n\n ngOnDestroy() {\n this._collection.stopObserving();\n }\n\n /** Closes the menubar. */\n close() {\n this._pattern.close();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n afterNextRender,\n afterRenderEffect,\n booleanAttribute,\n computed,\n Directive,\n ElementRef,\n inject,\n input,\n OnDestroy,\n output,\n Signal,\n signal,\n untracked,\n} from '@angular/core';\nimport {MenuPattern, DeferredContentAware, SortedCollection, reportViolations} from '../private';\nimport {_IdGenerator} from '@angular/cdk/a11y';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {MenuTrigger} from './menu-trigger';\nimport {MenuItem} from './menu-item';\nimport {MenuBar} from './menu-bar';\nimport {MENU_COMPONENT} from './menu-tokens';\n\n/**\n * A list of menu items.\n *\n * A `ngMenu` is used to offer a list of menu item choices to users. Menus can be nested\n * within other menus to create sub-menus. It works in conjunction with `ngMenuTrigger`\n * and `ngMenuItem` directives.\n *\n * ```html\n * <button ngMenuTrigger [menu]=\"myMenu\">Options</button>\n *\n * <div ngMenu #myMenu=\"ngMenu\">\n * <div ngMenuItem value=\"Star\">Star</div>\n * <div ngMenuItem value=\"Edit\">Edit</div>\n * <div ngMenuItem value=\"More\" [submenu]=\"subMenu\">More</div>\n * </div>\n *\n * <div ngMenu #subMenu=\"ngMenu\">\n * <div ngMenuItem value=\"Sub Item 1\">Sub Item 1</div>\n * <div ngMenuItem value=\"Sub Item 2\">Sub Item 2</div>\n * </div>\n * ```\n *\n * @see [Menu](guide/aria/menu)\n * @see [MenuBar](guide/aria/menubar)\n */\n@Directive({\n selector: '[ngMenu]',\n exportAs: 'ngMenu',\n host: {\n 'role': 'menu',\n '[attr.id]': '_pattern.id()',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[attr.tabindex]': 'tabIndex()',\n '[attr.data-visible]': 'visible()',\n '(keydown)': '_pattern.onKeydown($event)',\n '(mouseover)': '_pattern.onMouseOver($event)',\n '(mouseout)': '_pattern.onMouseOut($event)',\n '(focusout)': '_pattern.onFocusOut($event)',\n '(focusin)': '_pattern.onFocusIn()',\n '(click)': '_pattern.onClick($event)',\n },\n hostDirectives: [\n {\n directive: DeferredContentAware,\n inputs: ['preserveContent'],\n },\n ],\n providers: [{provide: MENU_COMPONENT, useExisting: Menu}],\n})\nexport class Menu<V> implements OnDestroy {\n /** The DeferredContentAware host directive. */\n private readonly _deferredContentAware = inject(DeferredContentAware, {optional: true});\n\n /** The collection of menu items. */\n readonly _collection = new SortedCollection<MenuItem<V>>();\n\n /** The menu items that are direct children of this menu. */\n readonly _items: Signal<MenuItem<V>[]> = computed(() =>\n this._collection.orderedItems().filter(i => i.parent === this),\n );\n\n /** A reference to the host element. */\n private readonly _elementRef = inject(ElementRef);\n\n /** A reference to the host element. */\n readonly element = this._elementRef.nativeElement as HTMLElement;\n\n /** The directionality (LTR / RTL) context for the application (or a subtree of it). */\n readonly textDirection = inject(Directionality).valueSignal;\n\n /** The unique ID of the menu. */\n readonly id = input(inject(_IdGenerator).getId('ng-menu-', true));\n\n /** Whether the menu should wrap its items. */\n readonly wrap = input(true, {transform: booleanAttribute});\n\n /** The delay in milliseconds before the typeahead buffer is cleared. */\n readonly typeaheadDelay = input<number>(500); // Picked arbitrarily.\n\n /** Whether the menu is disabled. */\n readonly disabled = input(false, {transform: booleanAttribute});\n\n /** A reference to the parent menu item or menu trigger. */\n readonly parent = signal<MenuTrigger<V> | MenuItem<V> | undefined>(undefined);\n\n /** Whether the menu is soft disabled. */\n readonly softDisabled = input(true, {transform: booleanAttribute});\n\n /** The menu ui pattern instance. */\n readonly _pattern: MenuPattern<V>;\n\n /**\n * The menu item patterns for the menu items that are direct children of this menu, passed\n * to the menu pattern.\n *\n * Note: contentChildren has an issue where it will return a successively smaller list\n * each time that the menu is open and closed, eventually resulting in an empty list.\n * The workaround is to trigger a recomputation of this signal whenever the menu is opened\n * or closed, by calling this._pattern.visible() in the signal body. Otherwise, computed could\n * not be used and would have to rebuild the list each time this method is called.\n */\n private readonly _itemPatterns = computed(() => {\n // Only needed to force a recompute.\n this._pattern.visible();\n\n return this._items().map(i => i._pattern);\n });\n\n /** Whether the menu is visible. */\n readonly visible = computed(() => this._pattern.visible());\n\n /** The tab index of the menu. */\n readonly tabIndex = computed(() => this._pattern.tabIndex());\n\n /** A callback function triggered when a menu item is selected. */\n readonly itemSelected = output<V>();\n\n /** The delay in milliseconds before expanding sub-menus on hover. */\n readonly expansionDelay = input<number>(100); // Arbitrarily chosen.\n\n constructor() {\n this._pattern = new MenuPattern({\n ...this,\n parent: computed(() => this.parent()?._pattern),\n items: this._itemPatterns,\n multi: () => false,\n focusMode: () => 'roving',\n orientation: () => 'vertical',\n selectionMode: () => 'explicit',\n activeItem: signal(undefined),\n element: computed(() => this._elementRef.nativeElement),\n itemSelected: (value: V) => this.itemSelected.emit(value),\n });\n\n afterRenderEffect({\n write: () => {\n const parent = this.parent();\n if (parent instanceof MenuItem && parent.parent instanceof MenuBar) {\n this._deferredContentAware?.contentVisible.set(true);\n } else {\n this._deferredContentAware?.contentVisible.set(\n this._pattern.visible() || !!this.parent()?._pattern.hasBeenInteracted(),\n );\n }\n },\n });\n\n // Focuses an active menu item when the menu becomes visible. This is needed to\n // properly restore focus to the active item when returning to a menu, and to\n // focus the first item when navigating into a submenu with hover.\n afterRenderEffect({\n write: () => {\n if (this.visible()) {\n const activeItem = untracked(() => this._pattern.inputs.activeItem());\n this._pattern.listBehavior.goto(activeItem!);\n }\n },\n });\n\n afterRenderEffect({write: () => this._pattern.setDefaultStateEffect()});\n\n // Check for any violations after the DOM has been updated.\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n afterRenderEffect({\n read: () => {\n reportViolations(this._pattern.validate(), this.element);\n },\n });\n }\n\n afterNextRender(() => {\n this._collection.startObserving(this.element);\n });\n }\n\n ngOnDestroy() {\n this._collection.stopObserving();\n }\n\n /** Closes the menu. */\n close() {\n this._pattern.close();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {Directive} from '@angular/core';\nimport {DeferredContent} from '../private';\n\n/**\n * Defers the rendering of the menu content.\n *\n * This structural directive should be applied to an `ng-template` within a `ngMenu`\n * or `ngMenuBar` to lazily render its content only when the menu is opened.\n *\n * ```html\n * <div ngMenu #myMenu=\"ngMenu\">\n * <ng-template ngMenuContent>\n * <div ngMenuItem>Lazy Item 1</div>\n * <div ngMenuItem>Lazy Item 2</div>\n * </ng-template>\n * </div>\n * ```\n *\n * @see [Menu](guide/aria/menu)\n * @see [MenuBar](guide/aria/menubar)\n */\n@Directive({\n selector: 'ng-template[ngMenuContent]',\n exportAs: 'ngMenuContent',\n hostDirectives: [DeferredContent],\n})\nexport class MenuContent {}\n"],"names":["MenuTrigger","_elementRef","inject","ElementRef","element","nativeElement","textDirection","Directionality","valueSignal","menu","input","undefined","expanded","computed","_pattern","hasPopup","disabled","transform","booleanAttribute","softDisabled","MenuTriggerPattern","constructor","effect","parent","set","pendingFocusEffect","open","first","close","deps","target","i0","ɵɵFactoryTarget","Directive","isStandalone","selector","inputs","classPropertyName","publicName","isSignal","isRequired","transformFunction","host","listeners","properties","exportAs","ngImport","decorators","args","MENU_COMPONENT","InjectionToken","MenuItem","id","_IdGenerator","getId","value","required","searchTerm","model","role","optional","submenu","active","MenuItemPattern","ngDevMode","afterRenderEffect","read","violations","push","reportViolations","ngOnInit","_collection","register","ngOnDestroy","unregister","outputs","MenuBar","SortedCollection","_items","orderedItems","filter","i","wrap","typeaheadDelay","_itemPatterns","map","itemSelected","output","MenuBarPattern","items","multi","focusMode","orientation","selectionMode","emit","activeItem","signal","write","setDefaultStateEffect","afterNextRender","startObserving","stopObserving","attributes","providers","provide","useExisting","Menu","_deferredContentAware","DeferredContentAware","debugName","visible","tabIndex","expansionDelay","MenuPattern","contentVisible","hasBeenInteracted","untracked","listBehavior","goto","validate","hostDirectives","directive","i1","MenuContent","DeferredContent"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  export { AccordionGroupPattern, AccordionTriggerPattern } from './_accordion-chunk.mjs';
2
2
  import { computed, signal, untracked } from '@angular/core';
3
- import { KeyboardEventManager, Modifier } from './_collection-chunk.mjs';
4
- export { SortedCollection, computed, convertGetterSetterToWritableSignalLike, linkedSignal, signal, sortDirectives } from './_collection-chunk.mjs';
3
+ import { KeyboardEventManager, Modifier } from './_violations-chunk.mjs';
4
+ export { SortedCollection, computed, convertGetterSetterToWritableSignalLike, linkedSignal, reportViolations, signal, sortDirectives } from './_violations-chunk.mjs';
5
5
  import { ClickEventManager } from './_click-event-manager-chunk.mjs';
6
6
  export { DeferredContent, DeferredContentAware } from './_deferred-content-chunk.mjs';
7
7
  export { GridCellPattern, GridCellWidgetPattern, GridPattern, GridRowPattern, resolveElement } from './_widget-chunk.mjs';