@angular/aria 21.0.0-rc.1 → 21.0.0-rc.3

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 (41) hide show
  1. package/_adev_assets/aria-accordion.json +429 -59
  2. package/_adev_assets/aria-combobox.json +261 -41
  3. package/_adev_assets/aria-grid.json +339 -85
  4. package/_adev_assets/aria-listbox.json +99 -70
  5. package/_adev_assets/aria-menu.json +355 -158
  6. package/_adev_assets/aria-tabs.json +198 -305
  7. package/_adev_assets/aria-toolbar.json +70 -221
  8. package/_adev_assets/aria-tree.json +153 -363
  9. package/fesm2022/_widget-chunk.mjs +388 -57
  10. package/fesm2022/_widget-chunk.mjs.map +1 -1
  11. package/fesm2022/accordion.mjs +125 -72
  12. package/fesm2022/accordion.mjs.map +1 -1
  13. package/fesm2022/aria.mjs +1 -1
  14. package/fesm2022/aria.mjs.map +1 -1
  15. package/fesm2022/combobox.mjs +129 -24
  16. package/fesm2022/combobox.mjs.map +1 -1
  17. package/fesm2022/grid.mjs +203 -65
  18. package/fesm2022/grid.mjs.map +1 -1
  19. package/fesm2022/listbox.mjs +50 -39
  20. package/fesm2022/listbox.mjs.map +1 -1
  21. package/fesm2022/menu.mjs +179 -71
  22. package/fesm2022/menu.mjs.map +1 -1
  23. package/fesm2022/private.mjs +418 -440
  24. package/fesm2022/private.mjs.map +1 -1
  25. package/fesm2022/tabs.mjs +105 -73
  26. package/fesm2022/tabs.mjs.map +1 -1
  27. package/fesm2022/toolbar.mjs +52 -44
  28. package/fesm2022/toolbar.mjs.map +1 -1
  29. package/fesm2022/tree.mjs +106 -63
  30. package/fesm2022/tree.mjs.map +1 -1
  31. package/package.json +2 -2
  32. package/types/_grid-chunk.d.ts +216 -35
  33. package/types/accordion.d.ts +134 -35
  34. package/types/combobox.d.ts +141 -12
  35. package/types/grid.d.ts +150 -32
  36. package/types/listbox.d.ts +60 -28
  37. package/types/menu.d.ts +133 -49
  38. package/types/private.d.ts +210 -250
  39. package/types/tabs.d.ts +124 -44
  40. package/types/toolbar.d.ts +58 -36
  41. package/types/tree.d.ts +121 -49
@@ -1,114 +1,9 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { Signal, OnDestroy } from '@angular/core';
3
- import { SignalLike, WritableSignalLike, KeyboardEventManager, PointerEventManager } from './_grid-chunk.js';
2
+ import { Signal, WritableSignal, OnDestroy } from '@angular/core';
3
+ import { ListFocusItem, SignalLike, ListFocusInputs, WritableSignalLike, ListFocus, ListNavigationItem, ListNavigationInputs, ListNavigation, KeyboardEventManager, PointerEventManager } from './_grid-chunk.js';
4
4
  export { GridCellInputs, GridCellPattern, GridCellWidgetInputs, GridCellWidgetPattern, GridInputs, GridPattern, GridRowInputs, GridRowPattern, convertGetterSetterToWritableSignalLike } from './_grid-chunk.js';
5
5
 
6
- /** Represents an item in a collection, such as a listbox option, than may receive focus. */
7
- interface ListFocusItem {
8
- /** A unique identifier for the item. */
9
- id: SignalLike<string>;
10
- /** The html element that should receive focus. */
11
- element: SignalLike<HTMLElement | undefined>;
12
- /** Whether an item is disabled. */
13
- disabled: SignalLike<boolean>;
14
- /** The index of the item in the list. */
15
- index: SignalLike<number>;
16
- }
17
- /** Represents the required inputs for a collection that contains focusable items. */
18
- interface ListFocusInputs<T extends ListFocusItem> {
19
- /** The focus strategy used by the list. */
20
- focusMode: SignalLike<'roving' | 'activedescendant'>;
21
- /** Whether the list is disabled. */
22
- disabled: SignalLike<boolean>;
23
- /** The items in the list. */
24
- items: SignalLike<T[]>;
25
- /** The active item. */
26
- activeItem: WritableSignalLike<T | undefined>;
27
- /** Whether disabled items in the list should be focusable. */
28
- softDisabled: SignalLike<boolean>;
29
- element: SignalLike<HTMLElement | undefined>;
30
- }
31
- /** Controls focus for a list of items. */
32
- declare class ListFocus<T extends ListFocusItem> {
33
- readonly inputs: ListFocusInputs<T>;
34
- /** The last item that was active. */
35
- prevActiveItem: _angular_core.WritableSignal<T | undefined>;
36
- /** The index of the last item that was active. */
37
- prevActiveIndex: _angular_core.Signal<number>;
38
- /** The current active index in the list. */
39
- activeIndex: _angular_core.Signal<number>;
40
- constructor(inputs: ListFocusInputs<T>);
41
- /** Whether the list is in a disabled state. */
42
- isListDisabled(): boolean;
43
- /** The id of the current active item. */
44
- getActiveDescendant(): string | undefined;
45
- /** The tab index for the list. */
46
- getListTabIndex(): -1 | 0;
47
- /** Returns the tab index for the given item. */
48
- getItemTabIndex(item: T): -1 | 0;
49
- /** Moves focus to the given item if it is focusable. */
50
- focus(item: T, opts?: {
51
- focusElement?: boolean;
52
- }): boolean;
53
- /** Returns true if the given item can be navigated to. */
54
- isFocusable(item: T): boolean;
55
- }
56
-
57
- /** Represents an item in a collection, such as a listbox option, than can be navigated to. */
58
- interface ListNavigationItem extends ListFocusItem {
59
- }
60
- /** Represents the required inputs for a collection that has navigable items. */
61
- interface ListNavigationInputs<T extends ListNavigationItem> extends ListFocusInputs<T> {
62
- /** Whether focus should wrap when navigating. */
63
- wrap: SignalLike<boolean>;
64
- /** Whether the list is vertically or horizontally oriented. */
65
- orientation: SignalLike<'vertical' | 'horizontal'>;
66
- /** The direction that text is read based on the users locale. */
67
- textDirection: SignalLike<'rtl' | 'ltr'>;
68
- }
69
- /** Controls navigation for a list of items. */
70
- declare class ListNavigation<T extends ListNavigationItem> {
71
- readonly inputs: ListNavigationInputs<T> & {
72
- focusManager: ListFocus<T>;
73
- };
74
- constructor(inputs: ListNavigationInputs<T> & {
75
- focusManager: ListFocus<T>;
76
- });
77
- /** Navigates to the given item. */
78
- goto(item?: T, opts?: {
79
- focusElement?: boolean;
80
- }): boolean;
81
- /** Navigates to the next item in the list. */
82
- next(opts?: {
83
- focusElement?: boolean;
84
- }): boolean;
85
- /** Peeks the next item in the list. */
86
- peekNext(): T | undefined;
87
- /** Navigates to the previous item in the list. */
88
- prev(opts?: {
89
- focusElement?: boolean;
90
- }): boolean;
91
- /** Peeks the previous item in the list. */
92
- peekPrev(): T | undefined;
93
- /** Navigates to the first item in the list. */
94
- first(opts?: {
95
- focusElement?: boolean;
96
- }): boolean;
97
- /** Navigates to the last item in the list. */
98
- last(opts?: {
99
- focusElement?: boolean;
100
- }): boolean;
101
- /** Gets the first focusable item from the given list of items. */
102
- peekFirst(items?: T[]): T | undefined;
103
- /** Gets the last focusable item from the given list of items. */
104
- peekLast(items?: T[]): T | undefined;
105
- /** Advances to the next or previous focusable item in the list based on the given delta. */
106
- private _advance;
107
- /** Peeks the next or previous focusable item in the list based on the given delta. */
108
- private _peek;
109
- }
110
-
111
- /** Represents an item in a collection, such as a listbox option, than can be selected. */
6
+ /** Represents an item in a collection, such as a listbox option, that can be selected. */
112
7
  interface ListSelectionItem<V> extends ListFocusItem {
113
8
  /** The value of the item. */
114
9
  value: SignalLike<V>;
@@ -120,7 +15,7 @@ interface ListSelectionInputs<T extends ListSelectionItem<V>, V> extends ListFoc
120
15
  /** Whether multiple items in the list can be selected at once. */
121
16
  multi: SignalLike<boolean>;
122
17
  /** The current value of the list selection. */
123
- value: WritableSignalLike<V[]>;
18
+ values: WritableSignalLike<V[]>;
124
19
  /** The selection strategy used by the list. */
125
20
  selectionMode: SignalLike<'follow' | 'explicit'>;
126
21
  }
@@ -318,7 +213,7 @@ declare class List<T extends ListItem<V>, V> {
318
213
  /** Represents the required inputs for a combobox. */
319
214
  interface ComboboxInputs<T extends ListItem<V>, V> {
320
215
  /** The controls for the popup associated with the combobox. */
321
- popupControls: SignalLike<ComboboxListboxControls<T, V> | ComboboxTreeControls<T, V> | undefined>;
216
+ popupControls: SignalLike<ComboboxListboxControls<T, V> | ComboboxTreeControls<T, V> | ComboboxDialogPattern | undefined>;
322
217
  /** The HTML input element that serves as the combobox input. */
323
218
  inputEl: SignalLike<HTMLInputElement | undefined>;
324
219
  /** The HTML element that serves as the combobox container. */
@@ -335,6 +230,8 @@ interface ComboboxInputs<T extends ListItem<V>, V> {
335
230
  readonly: SignalLike<boolean>;
336
231
  /** Whether the combobox is in a right-to-left context. */
337
232
  textDirection: SignalLike<'rtl' | 'ltr'>;
233
+ /** Whether the combobox is always expanded. */
234
+ alwaysExpanded: SignalLike<boolean>;
338
235
  }
339
236
  /** An interface that allows combobox popups to expose the necessary controls for the combobox. */
340
237
  interface ComboboxListboxControls<T extends ListItem<V>, V> {
@@ -370,6 +267,8 @@ interface ComboboxListboxControls<T extends ListItem<V>, V> {
370
267
  unfocus: () => void;
371
268
  /** Returns the item corresponding to the given event. */
372
269
  getItem: (e: PointerEvent) => T | undefined;
270
+ /** Returns the currently active (focused) item in the popup. */
271
+ getActiveItem: () => T | undefined;
373
272
  /** Returns the currently selected items in the popup. */
374
273
  getSelectedItems: () => T[];
375
274
  /** Sets the value of the combobox based on the selected item. */
@@ -398,6 +297,8 @@ declare class ComboboxPattern<T extends ListItem<V>, V> {
398
297
  readonly inputs: ComboboxInputs<T, V>;
399
298
  /** Whether the combobox is expanded. */
400
299
  expanded: _angular_core.WritableSignal<boolean>;
300
+ /** Whether the combobox is disabled. */
301
+ disabled: () => boolean;
401
302
  /** The ID of the active item in the combobox. */
402
303
  activeDescendant: _angular_core.Signal<string | null>;
403
304
  /** The currently highlighted item in the combobox. */
@@ -406,6 +307,8 @@ declare class ComboboxPattern<T extends ListItem<V>, V> {
406
307
  isDeleting: boolean;
407
308
  /** Whether the combobox is focused. */
408
309
  isFocused: _angular_core.WritableSignal<boolean>;
310
+ /** Whether the combobox has ever been focused. */
311
+ hasBeenFocused: _angular_core.WritableSignal<boolean>;
409
312
  /** The key used to navigate to the previous item in the list. */
410
313
  expandKey: _angular_core.Signal<"ArrowLeft" | "ArrowRight">;
411
314
  /** The key used to navigate to the next item in the list. */
@@ -415,18 +318,22 @@ declare class ComboboxPattern<T extends ListItem<V>, V> {
415
318
  /** The autocomplete behavior of the combobox. */
416
319
  autocomplete: _angular_core.Signal<"both" | "list">;
417
320
  /** The ARIA role of the popup associated with the combobox. */
418
- hasPopup: _angular_core.Signal<"listbox" | "tree" | "grid" | null>;
321
+ hasPopup: _angular_core.Signal<"listbox" | "tree" | "grid" | "dialog" | null>;
419
322
  /** Whether the combobox is read-only. */
420
323
  readonly: _angular_core.Signal<true | null>;
324
+ /** Returns the listbox controls for the combobox. */
325
+ listControls: () => ComboboxListboxControls<T, V> | null | undefined;
326
+ /** Returns the tree controls for the combobox. */
327
+ treeControls: () => ComboboxTreeControls<T, V> | null;
421
328
  /** The keydown event manager for the combobox. */
422
329
  keydown: _angular_core.Signal<KeyboardEventManager<KeyboardEvent>>;
423
- /** The pointerup event manager for the combobox. */
424
- pointerup: _angular_core.Signal<PointerEventManager<PointerEvent>>;
330
+ /** The click event manager for the combobox. */
331
+ click: _angular_core.Signal<PointerEventManager<PointerEvent>>;
425
332
  constructor(inputs: ComboboxInputs<T, V>);
426
333
  /** Handles keydown events for the combobox. */
427
334
  onKeydown(event: KeyboardEvent): void;
428
- /** Handles pointerup events for the combobox. */
429
- onPointerup(event: PointerEvent): void;
335
+ /** Handles click events for the combobox. */
336
+ onClick(event: MouseEvent): void;
430
337
  /** Handles input events for the combobox. */
431
338
  onInput(event: Event): void;
432
339
  /** Handles focus in events for the combobox. */
@@ -472,6 +379,23 @@ declare class ComboboxPattern<T extends ListItem<V>, V> {
472
379
  /** Navigates and handles additional actions based on filter mode. */
473
380
  private _navigate;
474
381
  }
382
+ declare class ComboboxDialogPattern {
383
+ readonly inputs: {
384
+ combobox: ComboboxPattern<any, any>;
385
+ element: SignalLike<HTMLDialogElement>;
386
+ id: SignalLike<string>;
387
+ };
388
+ id: () => string;
389
+ role: () => "dialog";
390
+ keydown: _angular_core.Signal<KeyboardEventManager<KeyboardEvent>>;
391
+ constructor(inputs: {
392
+ combobox: ComboboxPattern<any, any>;
393
+ element: SignalLike<HTMLDialogElement>;
394
+ id: SignalLike<string>;
395
+ });
396
+ onKeydown(event: KeyboardEvent): void;
397
+ onClick(event: MouseEvent): void;
398
+ }
475
399
 
476
400
  /**
477
401
  * Represents the properties exposed by a listbox that need to be accessed by an option.
@@ -602,6 +526,8 @@ declare class ComboboxListboxPattern<V> extends ListboxPattern<V> implements Com
602
526
  focus: (item: OptionPattern<V>, opts?: {
603
527
  focusElement?: boolean;
604
528
  }) => void;
529
+ /** Navigates to the previous focusable item in the listbox. */
530
+ getActiveItem: () => OptionPattern<V> | undefined;
605
531
  /** Navigates to the next focusable item in the listbox. */
606
532
  next: () => void;
607
533
  /** Navigates to the previous focusable item in the listbox. */
@@ -627,7 +553,7 @@ declare class ComboboxListboxPattern<V> extends ListboxPattern<V> implements Com
627
553
  }
628
554
 
629
555
  /** The inputs for the MenuBarPattern class. */
630
- interface MenuBarInputs<V> extends Omit<ListInputs<MenuItemPattern<V>, V>, 'disabled'> {
556
+ interface MenuBarInputs<V> extends ListInputs<MenuItemPattern<V>, V> {
631
557
  /** The menu items contained in the menu. */
632
558
  items: SignalLike<MenuItemPattern<V>[]>;
633
559
  /** Callback function triggered when a menu item is selected. */
@@ -636,7 +562,7 @@ interface MenuBarInputs<V> extends Omit<ListInputs<MenuItemPattern<V>, V>, 'disa
636
562
  textDirection: SignalLike<'ltr' | 'rtl'>;
637
563
  }
638
564
  /** The inputs for the MenuPattern class. */
639
- interface MenuInputs<V> extends Omit<ListInputs<MenuItemPattern<V>, V>, 'value' | 'disabled'> {
565
+ interface MenuInputs<V> extends Omit<ListInputs<MenuItemPattern<V>, V>, 'values'> {
640
566
  /** The unique ID of the menu. */
641
567
  id: SignalLike<string>;
642
568
  /** The menu items contained in the menu. */
@@ -647,6 +573,8 @@ interface MenuInputs<V> extends Omit<ListInputs<MenuItemPattern<V>, V>, 'value'
647
573
  onSelect?: (value: V) => void;
648
574
  /** The text direction of the menu bar. */
649
575
  textDirection: SignalLike<'ltr' | 'rtl'>;
576
+ /** The delay in milliseconds before expanding sub-menus on hover. */
577
+ expansionDelay: SignalLike<number>;
650
578
  }
651
579
  /** The inputs for the MenuTriggerPattern class. */
652
580
  interface MenuTriggerInputs<V> {
@@ -656,6 +584,8 @@ interface MenuTriggerInputs<V> {
656
584
  menu: SignalLike<MenuPattern<V> | undefined>;
657
585
  /** The text direction of the menu bar. */
658
586
  textDirection: SignalLike<'ltr' | 'rtl'>;
587
+ /** Whether the menu trigger is disabled. */
588
+ disabled: SignalLike<boolean>;
659
589
  }
660
590
  /** The inputs for the MenuItemPattern class. */
661
591
  interface MenuItemInputs<V> extends Omit<ListItem<V>, 'index' | 'selectable'> {
@@ -671,14 +601,22 @@ declare class MenuPattern<V> {
671
601
  id: SignalLike<string>;
672
602
  /** The role of the menu. */
673
603
  role: () => string;
604
+ /** Whether the menu is disabled. */
605
+ disabled: () => boolean;
674
606
  /** Whether the menu is visible. */
675
- isVisible: Signal<boolean>;
607
+ visible: Signal<boolean>;
676
608
  /** Controls list behavior for the menu items. */
677
609
  listBehavior: List<MenuItemPattern<V>, V>;
678
610
  /** Whether the menu or any of its child elements are currently focused. */
679
611
  isFocused: _angular_core.WritableSignal<boolean>;
680
612
  /** Whether the menu has received focus. */
681
613
  hasBeenFocused: _angular_core.WritableSignal<boolean>;
614
+ /** Timeout used to open sub-menus on hover. */
615
+ _openTimeout: any;
616
+ /** Timeout used to close sub-menus on hover out. */
617
+ _closeTimeout: any;
618
+ /** The tab index of the menu. */
619
+ tabIndex: () => 0 | -1;
682
620
  /** Whether the menu should be focused on mouse over. */
683
621
  shouldFocus: Signal<boolean>;
684
622
  /** The key used to expand sub-menus. */
@@ -700,6 +638,10 @@ declare class MenuPattern<V> {
700
638
  onKeydown(event: KeyboardEvent): void;
701
639
  /** Handles mouseover events for the menu. */
702
640
  onMouseOver(event: MouseEvent): void;
641
+ /** Closes the specified menu item after a delay. */
642
+ private _closeItem;
643
+ /** Opens the specified menu item after a delay. */
644
+ private _openItem;
703
645
  /** Handles mouseout events for the menu. */
704
646
  onMouseOut(event: MouseEvent): void;
705
647
  /** Handles click events for the menu. */
@@ -724,14 +666,24 @@ declare class MenuPattern<V> {
724
666
  collapse(): void;
725
667
  /** Expands the current menu or focuses the next item in the menubar. */
726
668
  expand(): void;
669
+ /** Closes the menu. */
670
+ close(): void;
727
671
  /** Closes the menu and all parent menus. */
728
672
  closeAll(): void;
673
+ /** Clears any open or close timeouts for sub-menus. */
674
+ _clearTimeouts(): void;
675
+ /** Clears the open timeout. */
676
+ _clearOpenTimeout(): void;
677
+ /** Clears the close timeout. */
678
+ _clearCloseTimeout(): void;
729
679
  }
730
680
  /** The menubar ui pattern class. */
731
681
  declare class MenuBarPattern<V> {
732
682
  readonly inputs: MenuBarInputs<V>;
733
683
  /** Controls list behavior for the menu items. */
734
684
  listBehavior: List<MenuItemPattern<V>, V>;
685
+ /** The tab index of the menu. */
686
+ tabIndex: () => 0 | -1;
735
687
  /** The key used to navigate to the next item. */
736
688
  private _nextKey;
737
689
  /** The key used to navigate to the previous item. */
@@ -744,6 +696,8 @@ declare class MenuBarPattern<V> {
744
696
  isFocused: _angular_core.WritableSignal<boolean>;
745
697
  /** Whether the menubar has been focused. */
746
698
  hasBeenFocused: _angular_core.WritableSignal<boolean>;
699
+ /** Whether the menubar is disabled. */
700
+ disabled: () => boolean;
747
701
  /** Handles keyboard events for the menu. */
748
702
  keydownManager: Signal<KeyboardEventManager<KeyboardEvent>>;
749
703
  constructor(inputs: MenuBarInputs<V>);
@@ -775,6 +729,8 @@ declare class MenuTriggerPattern<V> {
775
729
  readonly inputs: MenuTriggerInputs<V>;
776
730
  /** Whether the menu is expanded. */
777
731
  expanded: _angular_core.WritableSignal<boolean>;
732
+ /** Whether the menu trigger has received focus. */
733
+ hasBeenFocused: _angular_core.WritableSignal<boolean>;
778
734
  /** The role of the menu trigger. */
779
735
  role: () => string;
780
736
  /** Whether the menu trigger has a popup. */
@@ -783,6 +739,8 @@ declare class MenuTriggerPattern<V> {
783
739
  menu: SignalLike<MenuPattern<V> | undefined>;
784
740
  /** The tab index of the menu trigger. */
785
741
  tabIndex: Signal<-1 | 0>;
742
+ /** Whether the menu trigger is disabled. */
743
+ disabled: () => boolean;
786
744
  /** Handles keyboard events for the menu trigger. */
787
745
  keydownManager: Signal<KeyboardEventManager<KeyboardEvent>>;
788
746
  constructor(inputs: MenuTriggerInputs<V>);
@@ -790,6 +748,8 @@ declare class MenuTriggerPattern<V> {
790
748
  onKeydown(event: KeyboardEvent): void;
791
749
  /** Handles click events for the menu trigger. */
792
750
  onClick(): void;
751
+ /** Handles focusin events for the menu trigger. */
752
+ onFocusIn(): void;
793
753
  /** Handles focusout events for the menu trigger. */
794
754
  onFocusOut(event: FocusEvent): void;
795
755
  /** Opens the menu. */
@@ -810,13 +770,15 @@ declare class MenuItemPattern<V> implements ListItem<V> {
810
770
  /** The unique ID of the menu item. */
811
771
  id: SignalLike<string>;
812
772
  /** Whether the menu item is disabled. */
813
- disabled: SignalLike<boolean>;
773
+ disabled: () => boolean;
814
774
  /** The search term for the menu item. */
815
775
  searchTerm: SignalLike<string>;
816
776
  /** The element of the menu item. */
817
777
  element: SignalLike<HTMLElement | undefined>;
818
778
  /** Whether the menu item is active. */
819
- isActive: Signal<boolean>;
779
+ active: Signal<boolean>;
780
+ /** Whether the menu item has received focus. */
781
+ hasBeenFocused: _angular_core.WritableSignal<boolean>;
820
782
  /** The tab index of the menu item. */
821
783
  tabIndex: Signal<0 | -1>;
822
784
  /** The position of the menu item in the menu. */
@@ -845,47 +807,23 @@ declare class MenuItemPattern<V> implements ListItem<V> {
845
807
  close(opts?: {
846
808
  refocus?: boolean;
847
809
  }): void;
810
+ /** Handles focusin events for the menu item. */
811
+ onFocusIn(): void;
848
812
  }
849
813
 
850
814
  /** Represents an item that can be expanded or collapsed. */
851
815
  interface ExpansionItem {
852
816
  /** Whether the item is expandable. */
853
817
  expandable: SignalLike<boolean>;
854
- /** Used to uniquely identify an expansion item. */
855
- expansionId: SignalLike<string>;
818
+ /** Whether the item is expanded. */
819
+ expanded: WritableSignalLike<boolean>;
856
820
  /** Whether the expansion is disabled. */
857
821
  disabled: SignalLike<boolean>;
858
822
  }
859
- interface ExpansionControl extends ExpansionItem {
860
- }
861
- /**
862
- * Controls a single item's expansion state and interactions,
863
- * delegating actual state changes to an Expansion manager.
864
- */
865
- declare class ExpansionControl {
866
- readonly inputs: ExpansionItem & {
867
- expansionManager: ListExpansion;
868
- };
869
- /** Whether this specific item is currently expanded. Derived from the Expansion manager. */
870
- readonly isExpanded: _angular_core.Signal<boolean>;
871
- /** Whether this item can be expanded. */
872
- readonly isExpandable: _angular_core.Signal<boolean>;
873
- constructor(inputs: ExpansionItem & {
874
- expansionManager: ListExpansion;
875
- });
876
- /** Requests the Expansion manager to open this item. */
877
- open(): void;
878
- /** Requests the Expansion manager to close this item. */
879
- close(): void;
880
- /** Requests the Expansion manager to toggle this item. */
881
- toggle(): void;
882
- }
883
823
  /** Represents the required inputs for an expansion behavior. */
884
824
  interface ListExpansionInputs {
885
825
  /** Whether multiple items can be expanded at once. */
886
826
  multiExpandable: SignalLike<boolean>;
887
- /** An array of ids of the currently expanded items. */
888
- expandedIds: WritableSignalLike<string[]>;
889
827
  /** An array of expansion items. */
890
828
  items: SignalLike<ExpansionItem[]>;
891
829
  /** Whether all expansions are disabled. */
@@ -894,23 +832,19 @@ interface ListExpansionInputs {
894
832
  /** Manages the expansion state of a list of items. */
895
833
  declare class ListExpansion {
896
834
  readonly inputs: ListExpansionInputs;
897
- /** A signal holding an array of ids of the currently expanded items. */
898
- expandedIds: WritableSignalLike<string[]>;
899
835
  constructor(inputs: ListExpansionInputs);
900
836
  /** Opens the specified item. */
901
- open(item: ExpansionItem): void;
837
+ open(item: ExpansionItem): boolean;
902
838
  /** Closes the specified item. */
903
- close(item: ExpansionItem): void;
839
+ close(item: ExpansionItem): boolean;
904
840
  /** Toggles the expansion state of the specified item. */
905
- toggle(item: ExpansionItem): void;
841
+ toggle(item: ExpansionItem): boolean;
906
842
  /** Opens all focusable items in the list. */
907
843
  openAll(): void;
908
844
  /** Closes all focusable items in the list. */
909
845
  closeAll(): void;
910
846
  /** Checks whether the specified item is expandable / collapsible. */
911
847
  isExpandable(item: ExpansionItem): boolean;
912
- /** Checks whether the specified item is currently expanded. */
913
- isExpanded(item: ExpansionItem): boolean;
914
848
  }
915
849
 
916
850
  /** Represents the required inputs for the label control. */
@@ -936,37 +870,31 @@ declare class LabelControl {
936
870
  }
937
871
 
938
872
  /** The required inputs to tabs. */
939
- interface TabInputs extends Omit<ListItem<string>, 'searchTerm' | 'index' | 'selectable'>, Omit<ExpansionItem, 'expansionId' | 'expandable'> {
873
+ interface TabInputs extends Omit<ListNavigationItem, 'index'>, Omit<ExpansionItem, 'expandable'> {
940
874
  /** The parent tablist that controls the tab. */
941
875
  tablist: SignalLike<TabListPattern>;
942
876
  /** The remote tabpanel controlled by the tab. */
943
877
  tabpanel: SignalLike<TabPanelPattern | undefined>;
878
+ /** The remote tabpanel unique identifier. */
879
+ value: SignalLike<string>;
944
880
  }
945
881
  /** A tab in a tablist. */
946
882
  declare class TabPattern {
947
883
  readonly inputs: TabInputs;
948
- /** Controls expansion for this tab. */
949
- readonly expansion: ExpansionControl;
950
884
  /** A global unique identifier for the tab. */
951
885
  readonly id: SignalLike<string>;
952
886
  /** The index of the tab. */
953
887
  readonly index: _angular_core.Signal<number>;
954
- /** A local unique identifier for the tab. */
888
+ /** The remote tabpanel unique identifier. */
955
889
  readonly value: SignalLike<string>;
956
890
  /** Whether the tab is disabled. */
957
891
  readonly disabled: SignalLike<boolean>;
958
892
  /** The html element that should receive focus. */
959
- readonly element: SignalLike<HTMLElement | undefined>;
960
- /** Whether the tab is selectable. */
961
- readonly selectable: () => boolean;
962
- /** The text used by the typeahead search. */
963
- readonly searchTerm: () => string;
964
- /** Whether this tab has expandable content. */
965
- readonly expandable: _angular_core.Signal<boolean>;
966
- /** The unique identifier used by the expansion behavior. */
967
- readonly expansionId: _angular_core.Signal<string>;
968
- /** Whether the tab is expanded. */
969
- readonly expanded: _angular_core.Signal<boolean>;
893
+ readonly element: SignalLike<HTMLElement>;
894
+ /** Whether this tab has expandable panel. */
895
+ readonly expandable: SignalLike<boolean>;
896
+ /** Whether the tab panel is expanded. */
897
+ readonly expanded: WritableSignalLike<boolean>;
970
898
  /** Whether the tab is active. */
971
899
  readonly active: _angular_core.Signal<boolean>;
972
900
  /** Whether the tab is selected. */
@@ -976,11 +904,16 @@ declare class TabPattern {
976
904
  /** The id of the tabpanel associated with the tab. */
977
905
  readonly controls: _angular_core.Signal<string | undefined>;
978
906
  constructor(inputs: TabInputs);
907
+ /** Opens the tab. */
908
+ open(): boolean;
979
909
  }
980
910
  /** The required inputs for the tabpanel. */
981
911
  interface TabPanelInputs extends LabelControlOptionalInputs {
912
+ /** A global unique identifier for the tabpanel. */
982
913
  id: SignalLike<string>;
914
+ /** The tab that controls this tabpanel. */
983
915
  tab: SignalLike<TabPattern | undefined>;
916
+ /** A local unique identifier for the tabpanel. */
984
917
  value: SignalLike<string>;
985
918
  }
986
919
  /** A tabpanel associated with a tab. */
@@ -995,20 +928,29 @@ declare class TabPanelPattern {
995
928
  /** Whether the tabpanel is hidden. */
996
929
  readonly hidden: _angular_core.Signal<boolean>;
997
930
  /** The tab index of this tabpanel. */
998
- readonly tabIndex: _angular_core.Signal<0 | -1>;
931
+ readonly tabIndex: _angular_core.Signal<-1 | 0>;
999
932
  /** The aria-labelledby value for this tabpanel. */
1000
933
  readonly labelledBy: _angular_core.Signal<string | undefined>;
1001
934
  constructor(inputs: TabPanelInputs);
1002
935
  }
1003
936
  /** The required inputs for the tablist. */
1004
- type TabListInputs = Omit<ListInputs<TabPattern, string>, 'multi' | 'typeaheadDelay'> & Omit<ListExpansionInputs, 'multiExpandable' | 'expandedIds' | 'items'>;
937
+ interface TabListInputs extends Omit<ListNavigationInputs<TabPattern>, 'multi'>, Omit<ListExpansionInputs, 'multiExpandable' | 'items'> {
938
+ /** The selection strategy used by the tablist. */
939
+ selectionMode: SignalLike<'follow' | 'explicit'>;
940
+ }
1005
941
  /** Controls the state of a tablist. */
1006
942
  declare class TabListPattern {
1007
943
  readonly inputs: TabListInputs;
1008
- /** The list behavior for the tablist. */
1009
- readonly listBehavior: List<TabPattern, string>;
944
+ /** The list focus behavior for the tablist. */
945
+ readonly focusBehavior: ListFocus<TabPattern>;
946
+ /** The list navigation behavior for the tablist. */
947
+ readonly navigationBehavior: ListNavigation<TabPattern>;
1010
948
  /** Controls expansion for the tablist. */
1011
- readonly expansionManager: ListExpansion;
949
+ readonly expansionBehavior: ListExpansion;
950
+ /** The currently active tab. */
951
+ readonly activeTab: SignalLike<TabPattern | undefined>;
952
+ /** The currently selected tab. */
953
+ readonly selectedTab: WritableSignal<TabPattern | undefined>;
1012
954
  /** Whether the tablist is vertically or horizontally oriented. */
1013
955
  readonly orientation: SignalLike<'vertical' | 'horizontal'>;
1014
956
  /** Whether the tablist is disabled. */
@@ -1041,6 +983,12 @@ declare class TabListPattern {
1041
983
  onKeydown(event: KeyboardEvent): void;
1042
984
  /** The pointerdown event manager for the tablist. */
1043
985
  onPointerdown(event: PointerEvent): void;
986
+ /** Opens the tab by given value. */
987
+ open(value: string): boolean;
988
+ /** Opens the given tab or the current active tab. */
989
+ open(tab?: TabPattern): boolean;
990
+ /** Executes a navigation operation and expand the active tab if needed. */
991
+ private _navigate;
1044
992
  /** Returns the tab item associated with the given pointer event. */
1045
993
  private _getItem;
1046
994
  }
@@ -1109,7 +1057,7 @@ declare class ToolbarWidgetPattern<V> implements ListItem<V> {
1109
1057
  }
1110
1058
 
1111
1059
  /** Represents the required inputs for a toolbar. */
1112
- type ToolbarInputs<V> = Omit<ListInputs<ToolbarWidgetPattern<V>, V>, 'multi' | 'typeaheadDelay' | 'value' | 'selectionMode' | 'focusMode'> & {
1060
+ type ToolbarInputs<V> = Omit<ListInputs<ToolbarWidgetPattern<V>, V>, 'multi' | 'typeaheadDelay' | 'selectionMode' | 'focusMode'> & {
1113
1061
  /** A function that returns the toolbar item associated with a given element. */
1114
1062
  getItem: (e: Element) => ToolbarWidgetPattern<V> | undefined;
1115
1063
  };
@@ -1165,53 +1113,20 @@ declare class ToolbarPattern<V> {
1165
1113
  }
1166
1114
 
1167
1115
  /** Inputs of the AccordionGroupPattern. */
1168
- type AccordionGroupInputs = Omit<ListNavigationInputs<AccordionTriggerPattern> & ListFocusInputs<AccordionTriggerPattern> & Omit<ListExpansionInputs, 'items'>, 'focusMode'>;
1169
- interface AccordionGroupPattern extends AccordionGroupInputs {
1116
+ interface AccordionGroupInputs extends Omit<ListNavigationInputs<AccordionTriggerPattern> & ListFocusInputs<AccordionTriggerPattern> & Omit<ListExpansionInputs, 'items'>, 'focusMode'> {
1117
+ /** A function that returns the trigger associated with a given element. */
1118
+ getItem: (e: Element | null | undefined) => AccordionTriggerPattern | undefined;
1170
1119
  }
1171
1120
  /** A pattern controls the nested Accordions. */
1172
1121
  declare class AccordionGroupPattern {
1173
1122
  readonly inputs: AccordionGroupInputs;
1174
1123
  /** Controls navigation for the group. */
1175
- navigation: ListNavigation<AccordionTriggerPattern>;
1124
+ readonly navigationBehavior: ListNavigation<AccordionTriggerPattern>;
1176
1125
  /** Controls focus for the group. */
1177
- focusManager: ListFocus<AccordionTriggerPattern>;
1126
+ readonly focusBehavior: ListFocus<AccordionTriggerPattern>;
1178
1127
  /** Controls expansion for the group. */
1179
- expansionManager: ListExpansion;
1128
+ readonly expansionBehavior: ListExpansion;
1180
1129
  constructor(inputs: AccordionGroupInputs);
1181
- }
1182
- /** Inputs for the AccordionTriggerPattern. */
1183
- type AccordionTriggerInputs = Omit<ListNavigationItem & ListFocusItem, 'index'> & Omit<ExpansionItem, 'expansionId' | 'expandable'> & {
1184
- /** A local unique identifier for the trigger. */
1185
- value: SignalLike<string>;
1186
- /** The parent accordion group that controls this trigger. */
1187
- accordionGroup: SignalLike<AccordionGroupPattern>;
1188
- /** The accordion panel controlled by this trigger. */
1189
- accordionPanel: SignalLike<AccordionPanelPattern | undefined>;
1190
- };
1191
- interface AccordionTriggerPattern extends AccordionTriggerInputs {
1192
- }
1193
- /** A pattern controls the expansion state of an accordion. */
1194
- declare class AccordionTriggerPattern {
1195
- readonly inputs: AccordionTriggerInputs;
1196
- /** Whether this tab has expandable content. */
1197
- expandable: SignalLike<boolean>;
1198
- /** The unique identifier used by the expansion behavior. */
1199
- expansionId: SignalLike<string>;
1200
- /** Whether an accordion is expanded. */
1201
- expanded: SignalLike<boolean>;
1202
- /** Controls the expansion state for the trigger. */
1203
- expansionControl: ExpansionControl;
1204
- /** Whether the trigger is active. */
1205
- active: _angular_core.Signal<boolean>;
1206
- /** Id of the accordion panel controlled by the trigger. */
1207
- controls: _angular_core.Signal<string | undefined>;
1208
- /** The tab index of the trigger. */
1209
- tabIndex: _angular_core.Signal<-1 | 0>;
1210
- /** Whether the trigger is disabled. Disabling an accordion group disables all the triggers. */
1211
- disabled: _angular_core.Signal<boolean>;
1212
- /** The index of the trigger within its accordion group. */
1213
- index: _angular_core.Signal<number>;
1214
- constructor(inputs: AccordionTriggerInputs);
1215
1130
  /** The key used to navigate to the previous accordion trigger. */
1216
1131
  prevKey: _angular_core.Signal<"ArrowUp" | "ArrowRight" | "ArrowLeft">;
1217
1132
  /** The key used to navigate to the next accordion trigger. */
@@ -1226,29 +1141,72 @@ declare class AccordionTriggerPattern {
1226
1141
  onPointerdown(event: PointerEvent): void;
1227
1142
  /** Handles focus events on the trigger. This ensures the tabbing changes the active index. */
1228
1143
  onFocus(event: FocusEvent): void;
1229
- private _getItem;
1144
+ /** Toggles the expansion state of the active accordion item. */
1145
+ toggle(): void;
1146
+ }
1147
+ /** Inputs for the AccordionTriggerPattern. */
1148
+ interface AccordionTriggerInputs extends Omit<ListNavigationItem & ListFocusItem, 'index'>, Omit<ExpansionItem, 'expandable'> {
1149
+ /** A local unique identifier for the trigger's corresponding panel. */
1150
+ panelId: SignalLike<string>;
1151
+ /** The parent accordion group that controls this trigger. */
1152
+ accordionGroup: SignalLike<AccordionGroupPattern>;
1153
+ /** The accordion panel controlled by this trigger. */
1154
+ accordionPanel: SignalLike<AccordionPanelPattern | undefined>;
1155
+ }
1156
+ /** A pattern controls the expansion state of an accordion. */
1157
+ declare class AccordionTriggerPattern implements ListNavigationItem, ListFocusItem, ExpansionItem {
1158
+ readonly inputs: AccordionTriggerInputs;
1159
+ /** A unique identifier for this trigger. */
1160
+ readonly id: SignalLike<string>;
1161
+ /** A reference to the trigger element. */
1162
+ readonly element: SignalLike<HTMLElement>;
1163
+ /** Whether this trigger has expandable panel. */
1164
+ readonly expandable: SignalLike<boolean>;
1165
+ /** Whether the corresponding panel is expanded. */
1166
+ readonly expanded: WritableSignalLike<boolean>;
1167
+ /** Whether the trigger is active. */
1168
+ readonly active: _angular_core.Signal<boolean>;
1169
+ /** Id of the accordion panel controlled by the trigger. */
1170
+ readonly controls: _angular_core.Signal<string | undefined>;
1171
+ /** The tabindex of the trigger. */
1172
+ readonly tabIndex: _angular_core.Signal<-1 | 0>;
1173
+ /** Whether the trigger is disabled. Disabling an accordion group disables all the triggers. */
1174
+ readonly disabled: _angular_core.Signal<boolean>;
1175
+ /** Whether the trigger is hard disabled. */
1176
+ readonly hardDisabled: _angular_core.Signal<boolean>;
1177
+ /** The index of the trigger within its accordion group. */
1178
+ readonly index: _angular_core.Signal<number>;
1179
+ constructor(inputs: AccordionTriggerInputs);
1180
+ /** Opens the accordion panel. */
1181
+ open(): void;
1182
+ /** Closes the accordion panel. */
1183
+ close(): void;
1184
+ /** Toggles the accordion panel. */
1185
+ toggle(): void;
1230
1186
  }
1231
1187
  /** Represents the required inputs for the AccordionPanelPattern. */
1232
1188
  interface AccordionPanelInputs {
1233
1189
  /** A global unique identifier for the panel. */
1234
1190
  id: SignalLike<string>;
1235
- /** A local unique identifier for the panel, matching its trigger's value. */
1236
- value: SignalLike<string>;
1191
+ /** A local unique identifier for the panel, matching its trigger's panelId. */
1192
+ panelId: SignalLike<string>;
1237
1193
  /** The parent accordion trigger that controls this panel. */
1238
1194
  accordionTrigger: SignalLike<AccordionTriggerPattern | undefined>;
1239
1195
  }
1240
- interface AccordionPanelPattern extends AccordionPanelInputs {
1241
- }
1242
1196
  /** Represents an accordion panel. */
1243
1197
  declare class AccordionPanelPattern {
1244
1198
  readonly inputs: AccordionPanelInputs;
1199
+ /** A global unique identifier for the panel. */
1200
+ id: SignalLike<string>;
1201
+ /** The parent accordion trigger that controls this panel. */
1202
+ accordionTrigger: SignalLike<AccordionTriggerPattern | undefined>;
1245
1203
  /** Whether the accordion panel is hidden. True if the associated trigger is not expanded. */
1246
1204
  hidden: SignalLike<boolean>;
1247
1205
  constructor(inputs: AccordionPanelInputs);
1248
1206
  }
1249
1207
 
1250
1208
  /** Represents the required inputs for a tree item. */
1251
- interface TreeItemInputs<V> extends Omit<ListItem<V>, 'index'> {
1209
+ interface TreeItemInputs<V> extends Omit<ListItem<V>, 'index'>, Omit<ExpansionItem, 'expandable'> {
1252
1210
  /** The parent item. */
1253
1211
  parent: SignalLike<TreeItemPattern<V> | TreePattern<V>>;
1254
1212
  /** Whether this item has children. Children can be lazily loaded. */
@@ -1268,7 +1226,7 @@ declare class TreeItemPattern<V> implements ListItem<V>, ExpansionItem {
1268
1226
  /** The value of this item. */
1269
1227
  readonly value: SignalLike<V>;
1270
1228
  /** A reference to the item element. */
1271
- readonly element: SignalLike<HTMLElement | undefined>;
1229
+ readonly element: SignalLike<HTMLElement>;
1272
1230
  /** Whether the item is disabled. */
1273
1231
  readonly disabled: SignalLike<boolean>;
1274
1232
  /** The text used by the typeahead search. */
@@ -1281,20 +1239,16 @@ declare class TreeItemPattern<V> implements ListItem<V>, ExpansionItem {
1281
1239
  readonly children: SignalLike<TreeItemPattern<V>[]>;
1282
1240
  /** The position of this item among its siblings. */
1283
1241
  readonly index: _angular_core.Signal<number>;
1284
- /** The unique identifier used by the expansion behavior. */
1285
- readonly expansionId: SignalLike<string>;
1286
1242
  /** Controls expansion for child items. */
1287
- readonly expansionManager: ListExpansion;
1288
- /** Controls expansion for this item. */
1289
- readonly expansion: ExpansionControl;
1243
+ readonly expansionBehavior: ListExpansion;
1290
1244
  /** Whether the item is expandable. It's expandable if children item exist. */
1291
1245
  readonly expandable: SignalLike<boolean>;
1292
1246
  /** Whether the item is selectable. */
1293
1247
  readonly selectable: SignalLike<boolean>;
1248
+ /** Whether the item is expanded. */
1249
+ readonly expanded: WritableSignalLike<boolean>;
1294
1250
  /** The level of the current item in a tree. */
1295
1251
  readonly level: SignalLike<number>;
1296
- /** Whether this item is currently expanded. */
1297
- readonly expanded: _angular_core.Signal<boolean>;
1298
1252
  /** Whether this item is visible. */
1299
1253
  readonly visible: SignalLike<boolean>;
1300
1254
  /** The number of items under the same parent at the same level. */
@@ -1329,20 +1283,18 @@ interface TreeInputs<V> extends Omit<ListInputs<TreeItemPattern<V>, V>, 'items'>
1329
1283
  /** The aria-current type. */
1330
1284
  currentType: SignalLike<'page' | 'step' | 'location' | 'date' | 'time' | 'true' | 'false'>;
1331
1285
  }
1332
- interface TreePattern<V> extends TreeInputs<V> {
1333
- }
1334
1286
  /** Controls the state and interactions of a tree view. */
1335
- declare class TreePattern<V> {
1287
+ declare class TreePattern<V> implements TreeInputs<V> {
1336
1288
  readonly inputs: TreeInputs<V>;
1337
1289
  /** The list behavior for the tree. */
1338
1290
  readonly listBehavior: List<TreeItemPattern<V>, V>;
1339
1291
  /** Controls expansion for direct children of the tree root (top-level items). */
1340
- readonly expansionManager: ListExpansion;
1292
+ readonly expansionBehavior: ListExpansion;
1341
1293
  /** The root level is 0. */
1342
1294
  readonly level: () => number;
1343
1295
  /** The root is always expanded. */
1344
1296
  readonly expanded: () => boolean;
1345
- /** The roow is always visible. */
1297
+ /** The root is always visible. */
1346
1298
  readonly visible: () => boolean;
1347
1299
  /** The tab index of the tree. */
1348
1300
  readonly tabIndex: SignalLike<-1 | 0>;
@@ -1354,6 +1306,8 @@ declare class TreePattern<V> {
1354
1306
  readonly visibleItems: _angular_core.Signal<TreeItemPattern<V>[]>;
1355
1307
  /** Whether the tree selection follows focus. */
1356
1308
  readonly followFocus: _angular_core.Signal<boolean>;
1309
+ /** Whether the tree direction is RTL. */
1310
+ readonly isRtl: _angular_core.Signal<boolean>;
1357
1311
  /** The key for navigating to the previous item. */
1358
1312
  readonly prevKey: _angular_core.Signal<"ArrowUp" | "ArrowRight" | "ArrowLeft">;
1359
1313
  /** The key for navigating to the next item. */
@@ -1371,33 +1325,37 @@ declare class TreePattern<V> {
1371
1325
  /** The pointerdown event manager for the tree. */
1372
1326
  pointerdown: _angular_core.Signal<PointerEventManager<PointerEvent>>;
1373
1327
  /** A unique identifier for the tree. */
1374
- id: SignalLike<string>;
1328
+ readonly id: SignalLike<string>;
1329
+ /** The host native element. */
1330
+ readonly element: SignalLike<HTMLElement>;
1375
1331
  /** Whether the tree is in navigation mode. */
1376
- nav: SignalLike<boolean>;
1332
+ readonly nav: SignalLike<boolean>;
1377
1333
  /** The aria-current type. */
1378
- currentType: SignalLike<'page' | 'step' | 'location' | 'date' | 'time' | 'true' | 'false'>;
1334
+ readonly currentType: SignalLike<'page' | 'step' | 'location' | 'date' | 'time' | 'true' | 'false'>;
1379
1335
  /** All items in the tree, in document order (DFS-like, a flattened list). */
1380
- allItems: SignalLike<TreeItemPattern<V>[]>;
1336
+ readonly allItems: SignalLike<TreeItemPattern<V>[]>;
1337
+ /** The focus strategy used by the tree. */
1338
+ readonly focusMode: SignalLike<'roving' | 'activedescendant'>;
1381
1339
  /** Whether the tree is disabled. */
1382
- disabled: SignalLike<boolean>;
1340
+ readonly disabled: SignalLike<boolean>;
1383
1341
  /** The currently active item in the tree. */
1384
- activeItem: WritableSignalLike<TreeItemPattern<V> | undefined>;
1342
+ readonly activeItem: WritableSignalLike<TreeItemPattern<V> | undefined>;
1385
1343
  /** Whether disabled items should be focusable. */
1386
- softDisabled: SignalLike<boolean>;
1344
+ readonly softDisabled: SignalLike<boolean>;
1387
1345
  /** Whether the focus should wrap when navigating past the first or last item. */
1388
- wrap: SignalLike<boolean>;
1346
+ readonly wrap: SignalLike<boolean>;
1389
1347
  /** The orientation of the tree. */
1390
- orientation: SignalLike<'vertical' | 'horizontal'>;
1348
+ readonly orientation: SignalLike<'vertical' | 'horizontal'>;
1391
1349
  /** The text direction of the tree. */
1392
- textDirection: SignalLike<'ltr' | 'rtl'>;
1350
+ readonly textDirection: SignalLike<'ltr' | 'rtl'>;
1393
1351
  /** Whether multiple items can be selected at the same time. */
1394
- multi: SignalLike<boolean>;
1352
+ readonly multi: SignalLike<boolean>;
1395
1353
  /** The selection mode of the tree. */
1396
- selectionMode: SignalLike<'follow' | 'explicit'>;
1354
+ readonly selectionMode: SignalLike<'follow' | 'explicit'>;
1397
1355
  /** The delay in milliseconds to wait before clearing the typeahead buffer. */
1398
- typeaheadDelay: SignalLike<number>;
1399
- /** The current value of the tree (the selected items). */
1400
- value: WritableSignalLike<V[]>;
1356
+ readonly typeaheadDelay: SignalLike<number>;
1357
+ /** The current selected items of the tree. */
1358
+ readonly values: WritableSignalLike<V[]>;
1401
1359
  constructor(inputs: TreeInputs<V>);
1402
1360
  /**
1403
1361
  * Sets the tree to it's default initial state.
@@ -1435,6 +1393,8 @@ declare class ComboboxTreePattern<V> extends TreePattern<V> implements ComboboxT
1435
1393
  /** The ARIA role for the tree. */
1436
1394
  role: () => "tree";
1437
1395
  activeId: _angular_core.Signal<string | undefined>;
1396
+ /** Returns the currently active (focused) item in the tree. */
1397
+ getActiveItem: () => TreeItemPattern<V> | undefined;
1438
1398
  /** The list of items in the tree. */
1439
1399
  items: _angular_core.Signal<TreeItemPattern<V>[]>;
1440
1400
  /** The tab index for the tree. Always -1 because the combobox handles focus. */
@@ -1522,5 +1482,5 @@ declare class DeferredContent implements OnDestroy {
1522
1482
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DeferredContent, never, never, {}, {}, never, never, true, never>;
1523
1483
  }
1524
1484
 
1525
- export { AccordionGroupPattern, AccordionPanelPattern, AccordionTriggerPattern, ComboboxListboxPattern, ComboboxPattern, ComboboxTreePattern, DeferredContent, DeferredContentAware, ListboxPattern, MenuBarPattern, MenuItemPattern, MenuPattern, MenuTriggerPattern, OptionPattern, SignalLike, TabListPattern, TabPanelPattern, TabPattern, ToolbarPattern, ToolbarWidgetGroupPattern, ToolbarWidgetPattern, TreeItemPattern, TreePattern, WritableSignalLike };
1485
+ export { AccordionGroupPattern, AccordionPanelPattern, AccordionTriggerPattern, ComboboxDialogPattern, ComboboxListboxPattern, ComboboxPattern, ComboboxTreePattern, DeferredContent, DeferredContentAware, ListboxPattern, MenuBarPattern, MenuItemPattern, MenuPattern, MenuTriggerPattern, OptionPattern, SignalLike, TabListPattern, TabPanelPattern, TabPattern, ToolbarPattern, ToolbarWidgetGroupPattern, ToolbarWidgetPattern, TreeItemPattern, TreePattern, WritableSignalLike };
1526
1486
  export type { AccordionGroupInputs, AccordionPanelInputs, AccordionTriggerInputs, ComboboxInputs, ComboboxListboxControls, ComboboxListboxInputs, ComboboxTreeControls, ComboboxTreeInputs, ListboxInputs, MenuBarInputs, MenuInputs, MenuItemInputs, MenuTriggerInputs, OptionInputs, TabInputs, TabListInputs, TabPanelInputs, ToolbarInputs, ToolbarWidgetGroupInputs, ToolbarWidgetInputs, TreeInputs, TreeItemInputs };