@angular/aria 21.0.2 → 21.0.4

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 (81) hide show
  1. package/fesm2022/_accordion-chunk.mjs +108 -0
  2. package/fesm2022/_accordion-chunk.mjs.map +1 -0
  3. package/fesm2022/_combobox-chunk.mjs +425 -0
  4. package/fesm2022/_combobox-chunk.mjs.map +1 -0
  5. package/fesm2022/_combobox-listbox-chunk.mjs +240 -0
  6. package/fesm2022/_combobox-listbox-chunk.mjs.map +1 -0
  7. package/fesm2022/_combobox-tree-chunk.mjs +331 -0
  8. package/fesm2022/_combobox-tree-chunk.mjs.map +1 -0
  9. package/fesm2022/_deferred-content-chunk.mjs +124 -0
  10. package/fesm2022/_deferred-content-chunk.mjs.map +1 -0
  11. package/fesm2022/_expansion-chunk.mjs +41 -0
  12. package/fesm2022/_expansion-chunk.mjs.map +1 -0
  13. package/fesm2022/_list-chunk.mjs +287 -0
  14. package/fesm2022/_list-chunk.mjs.map +1 -0
  15. package/fesm2022/_list-navigation-chunk.mjs +116 -0
  16. package/fesm2022/_list-navigation-chunk.mjs.map +1 -0
  17. package/fesm2022/_menu-chunk.mjs +515 -0
  18. package/fesm2022/_menu-chunk.mjs.map +1 -0
  19. package/fesm2022/_pointer-event-manager-chunk.mjs +54 -0
  20. package/fesm2022/_pointer-event-manager-chunk.mjs.map +1 -0
  21. package/fesm2022/_signal-like-chunk.mjs +118 -0
  22. package/fesm2022/_signal-like-chunk.mjs.map +1 -0
  23. package/fesm2022/_tabs-chunk.mjs +159 -0
  24. package/fesm2022/_tabs-chunk.mjs.map +1 -0
  25. package/fesm2022/_toolbar-widget-group-chunk.mjs +148 -0
  26. package/fesm2022/_toolbar-widget-group-chunk.mjs.map +1 -0
  27. package/fesm2022/_widget-chunk.mjs +5 -246
  28. package/fesm2022/_widget-chunk.mjs.map +1 -1
  29. package/fesm2022/accordion.mjs +73 -55
  30. package/fesm2022/accordion.mjs.map +1 -1
  31. package/fesm2022/aria.mjs +1 -1
  32. package/fesm2022/aria.mjs.map +1 -1
  33. package/fesm2022/combobox.mjs +166 -153
  34. package/fesm2022/combobox.mjs.map +1 -1
  35. package/fesm2022/grid.mjs +287 -261
  36. package/fesm2022/grid.mjs.map +1 -1
  37. package/fesm2022/listbox.mjs +211 -197
  38. package/fesm2022/listbox.mjs.map +1 -1
  39. package/fesm2022/menu.mjs +308 -286
  40. package/fesm2022/menu.mjs.map +1 -1
  41. package/fesm2022/private.mjs +15 -2329
  42. package/fesm2022/private.mjs.map +1 -1
  43. package/fesm2022/tabs.mjs +221 -199
  44. package/fesm2022/tabs.mjs.map +1 -1
  45. package/fesm2022/toolbar.mjs +64 -48
  46. package/fesm2022/toolbar.mjs.map +1 -1
  47. package/fesm2022/tree.mjs +54 -44
  48. package/fesm2022/tree.mjs.map +1 -1
  49. package/package.json +2 -2
  50. package/types/_accordion-chunk.d.ts +100 -0
  51. package/types/_combobox-chunk.d.ts +194 -0
  52. package/types/_deferred-content-chunk.d.ts +42 -0
  53. package/types/_expansion-chunk.d.ts +40 -0
  54. package/types/_grid-chunk.d.ts +43 -250
  55. package/types/_keyboard-event-manager-chunk.d.ts +68 -0
  56. package/types/_list-chunk.d.ts +211 -0
  57. package/types/_list-navigation-chunk.d.ts +119 -0
  58. package/types/_listbox-chunk.d.ts +107 -0
  59. package/types/_menu-chunk.d.ts +267 -0
  60. package/types/_pointer-event-manager-chunk.d.ts +34 -0
  61. package/types/_tabs-chunk.d.ts +153 -0
  62. package/types/_toolbar-chunk.d.ts +124 -0
  63. package/types/_tree-chunk.d.ts +185 -0
  64. package/types/accordion.d.ts +65 -54
  65. package/types/aria.d.ts +1 -1
  66. package/types/combobox.d.ts +86 -56
  67. package/types/grid.d.ts +47 -32
  68. package/types/listbox.d.ts +22 -7
  69. package/types/menu.d.ts +135 -117
  70. package/types/private.d.ts +28 -1376
  71. package/types/tabs.d.ts +109 -88
  72. package/types/toolbar.d.ts +77 -66
  73. package/types/tree.d.ts +118 -104
  74. package/_adev_assets/aria-accordion.json +0 -743
  75. package/_adev_assets/aria-combobox.json +0 -603
  76. package/_adev_assets/aria-grid.json +0 -893
  77. package/_adev_assets/aria-listbox.json +0 -540
  78. package/_adev_assets/aria-menu.json +0 -1049
  79. package/_adev_assets/aria-tabs.json +0 -880
  80. package/_adev_assets/aria-toolbar.json +0 -545
  81. package/_adev_assets/aria-tree.json +0 -853
@@ -0,0 +1,185 @@
1
+ import { SignalLike, WritableSignalLike } from './_list-navigation-chunk.js';
2
+ import { ListItem, ListInputs, List } from './_list-chunk.js';
3
+ import { ExpansionItem, ListExpansion } from './_expansion-chunk.js';
4
+ import { KeyboardEventManager } from './_keyboard-event-manager-chunk.js';
5
+ import { PointerEventManager } from './_pointer-event-manager-chunk.js';
6
+
7
+ /** Represents the required inputs for a tree item. */
8
+ interface TreeItemInputs<V> extends Omit<ListItem<V>, 'index'>, Omit<ExpansionItem, 'expandable'> {
9
+ /** The parent item. */
10
+ parent: SignalLike<TreeItemPattern<V> | TreePattern<V>>;
11
+ /** Whether this item has children. Children can be lazily loaded. */
12
+ hasChildren: SignalLike<boolean>;
13
+ /** The children items. */
14
+ children: SignalLike<TreeItemPattern<V>[]>;
15
+ /** The tree pattern this item belongs to. */
16
+ tree: SignalLike<TreePattern<V>>;
17
+ }
18
+ /**
19
+ * Represents an item in a Tree.
20
+ */
21
+ declare class TreeItemPattern<V> implements ListItem<V>, ExpansionItem {
22
+ readonly inputs: TreeItemInputs<V>;
23
+ /** A unique identifier for this item. */
24
+ readonly id: SignalLike<string>;
25
+ /** The value of this item. */
26
+ readonly value: SignalLike<V>;
27
+ /** A reference to the item element. */
28
+ readonly element: SignalLike<HTMLElement>;
29
+ /** Whether the item is disabled. */
30
+ readonly disabled: SignalLike<boolean>;
31
+ /** The text used by the typeahead search. */
32
+ readonly searchTerm: SignalLike<string>;
33
+ /** The tree pattern this item belongs to. */
34
+ readonly tree: SignalLike<TreePattern<V>>;
35
+ /** The parent item. */
36
+ readonly parent: SignalLike<TreeItemPattern<V> | TreePattern<V>>;
37
+ /** The children items. */
38
+ readonly children: SignalLike<TreeItemPattern<V>[]>;
39
+ /** The position of this item among its siblings. */
40
+ readonly index: SignalLike<number>;
41
+ /** Controls expansion for child items. */
42
+ readonly expansionBehavior: ListExpansion;
43
+ /** Whether the item is expandable. It's expandable if children item exist. */
44
+ readonly expandable: SignalLike<boolean>;
45
+ /** Whether the item is selectable. */
46
+ readonly selectable: SignalLike<boolean>;
47
+ /** Whether the item is expanded. */
48
+ readonly expanded: WritableSignalLike<boolean>;
49
+ /** The level of the current item in a tree. */
50
+ readonly level: SignalLike<number>;
51
+ /** Whether this item is visible. */
52
+ readonly visible: SignalLike<boolean>;
53
+ /** The number of items under the same parent at the same level. */
54
+ readonly setsize: SignalLike<number>;
55
+ /** The position of this item among its siblings (1-based). */
56
+ readonly posinset: SignalLike<number>;
57
+ /** Whether the item is active. */
58
+ readonly active: SignalLike<boolean>;
59
+ /** The tab index of the item. */
60
+ readonly tabIndex: SignalLike<0 | -1>;
61
+ /** Whether the item is selected. */
62
+ readonly selected: SignalLike<boolean | undefined>;
63
+ /** The current type of this item. */
64
+ readonly current: SignalLike<string | undefined>;
65
+ constructor(inputs: TreeItemInputs<V>);
66
+ }
67
+ /** The selection operations that the tree can perform. */
68
+ interface SelectOptions {
69
+ toggle?: boolean;
70
+ selectOne?: boolean;
71
+ selectRange?: boolean;
72
+ anchor?: boolean;
73
+ }
74
+ /** Represents the required inputs for a tree. */
75
+ interface TreeInputs<V> extends Omit<ListInputs<TreeItemPattern<V>, V>, 'items'> {
76
+ /** A unique identifier for the tree. */
77
+ id: SignalLike<string>;
78
+ /** All items in the tree, in document order (DFS-like, a flattened list). */
79
+ allItems: SignalLike<TreeItemPattern<V>[]>;
80
+ /** Whether the tree is in navigation mode. */
81
+ nav: SignalLike<boolean>;
82
+ /** The aria-current type. */
83
+ currentType: SignalLike<'page' | 'step' | 'location' | 'date' | 'time' | 'true' | 'false'>;
84
+ }
85
+ /** Controls the state and interactions of a tree view. */
86
+ declare class TreePattern<V> implements TreeInputs<V> {
87
+ readonly inputs: TreeInputs<V>;
88
+ /** The list behavior for the tree. */
89
+ readonly listBehavior: List<TreeItemPattern<V>, V>;
90
+ /** Controls expansion for direct children of the tree root (top-level items). */
91
+ readonly expansionBehavior: ListExpansion;
92
+ /** The root level is 0. */
93
+ readonly level: () => number;
94
+ /** The root is always expanded. */
95
+ readonly expanded: () => boolean;
96
+ /** The root is always visible. */
97
+ readonly visible: () => boolean;
98
+ /** The tab index of the tree. */
99
+ readonly tabIndex: SignalLike<-1 | 0>;
100
+ /** The id of the current active item. */
101
+ readonly activeDescendant: SignalLike<string | undefined>;
102
+ /** The direct children of the root (top-level tree items). */
103
+ readonly children: SignalLike<TreeItemPattern<V>[]>;
104
+ /** All currently visible tree items. An item is visible if their parent is expanded. */
105
+ readonly visibleItems: SignalLike<TreeItemPattern<V>[]>;
106
+ /** Whether the tree selection follows focus. */
107
+ readonly followFocus: SignalLike<boolean>;
108
+ /** Whether the tree direction is RTL. */
109
+ readonly isRtl: SignalLike<boolean>;
110
+ /** The key for navigating to the previous item. */
111
+ readonly prevKey: SignalLike<"ArrowUp" | "ArrowRight" | "ArrowLeft">;
112
+ /** The key for navigating to the next item. */
113
+ readonly nextKey: SignalLike<"ArrowRight" | "ArrowLeft" | "ArrowDown">;
114
+ /** The key for collapsing an item or moving to its parent. */
115
+ readonly collapseKey: SignalLike<"ArrowUp" | "ArrowRight" | "ArrowLeft">;
116
+ /** The key for expanding an item or moving to its first child. */
117
+ readonly expandKey: SignalLike<"ArrowRight" | "ArrowLeft" | "ArrowDown">;
118
+ /** Represents the space key. Does nothing when the user is actively using typeahead. */
119
+ readonly dynamicSpaceKey: SignalLike<"" | " ">;
120
+ /** Regular expression to match characters for typeahead. */
121
+ readonly typeaheadRegexp: RegExp;
122
+ /** The keydown event manager for the tree. */
123
+ readonly keydown: SignalLike<KeyboardEventManager<KeyboardEvent>>;
124
+ /** The pointerdown event manager for the tree. */
125
+ pointerdown: SignalLike<PointerEventManager<PointerEvent>>;
126
+ /** A unique identifier for the tree. */
127
+ readonly id: SignalLike<string>;
128
+ /** The host native element. */
129
+ readonly element: SignalLike<HTMLElement>;
130
+ /** Whether the tree is in navigation mode. */
131
+ readonly nav: SignalLike<boolean>;
132
+ /** The aria-current type. */
133
+ readonly currentType: SignalLike<'page' | 'step' | 'location' | 'date' | 'time' | 'true' | 'false'>;
134
+ /** All items in the tree, in document order (DFS-like, a flattened list). */
135
+ readonly allItems: SignalLike<TreeItemPattern<V>[]>;
136
+ /** The focus strategy used by the tree. */
137
+ readonly focusMode: SignalLike<'roving' | 'activedescendant'>;
138
+ /** Whether the tree is disabled. */
139
+ readonly disabled: SignalLike<boolean>;
140
+ /** The currently active item in the tree. */
141
+ readonly activeItem: WritableSignalLike<TreeItemPattern<V> | undefined>;
142
+ /** Whether disabled items should be focusable. */
143
+ readonly softDisabled: SignalLike<boolean>;
144
+ /** Whether the focus should wrap when navigating past the first or last item. */
145
+ readonly wrap: SignalLike<boolean>;
146
+ /** The orientation of the tree. */
147
+ readonly orientation: SignalLike<'vertical' | 'horizontal'>;
148
+ /** The text direction of the tree. */
149
+ readonly textDirection: SignalLike<'ltr' | 'rtl'>;
150
+ /** Whether multiple items can be selected at the same time. */
151
+ readonly multi: SignalLike<boolean>;
152
+ /** The selection mode of the tree. */
153
+ readonly selectionMode: SignalLike<'follow' | 'explicit'>;
154
+ /** The delay in milliseconds to wait before clearing the typeahead buffer. */
155
+ readonly typeaheadDelay: SignalLike<number>;
156
+ /** The current selected items of the tree. */
157
+ readonly values: WritableSignalLike<V[]>;
158
+ constructor(inputs: TreeInputs<V>);
159
+ /**
160
+ * Sets the tree to it's default initial state.
161
+ *
162
+ * Sets the active index of the tree to the first focusable selected tree item if one exists.
163
+ * Otherwise, sets focus to the first focusable tree item.
164
+ */
165
+ setDefaultState(): void;
166
+ /** Handles keydown events on the tree. */
167
+ onKeydown(event: KeyboardEvent): void;
168
+ /** Handles pointerdown events on the tree. */
169
+ onPointerdown(event: PointerEvent): void;
170
+ /** Navigates to the given tree item in the tree. */
171
+ goto(e: PointerEvent, opts?: SelectOptions): void;
172
+ /** Toggles to expand or collapse a tree item. */
173
+ toggleExpansion(item?: TreeItemPattern<V>): void;
174
+ /** Expands a tree item. */
175
+ expand(opts?: SelectOptions): void;
176
+ /** Expands all sibling tree items including itself. */
177
+ expandSiblings(item?: TreeItemPattern<V>): void;
178
+ /** Collapses a tree item. */
179
+ collapse(opts?: SelectOptions): void;
180
+ /** Retrieves the TreeItemPattern associated with a DOM event, if any. */
181
+ protected _getItem(event: Event): TreeItemPattern<V> | undefined;
182
+ }
183
+
184
+ export { TreeItemPattern, TreePattern };
185
+ export type { TreeInputs, TreeItemInputs };
@@ -1,8 +1,12 @@
1
- import * as _angular_cdk_bidi from '@angular/cdk/bidi';
2
1
  import * as _angular_core from '@angular/core';
3
2
  import { WritableSignal } from '@angular/core';
4
- import * as i1 from '@angular/aria/private';
5
- import { AccordionTriggerPattern, AccordionPanelPattern, AccordionGroupPattern } from '@angular/aria/private';
3
+ import { AccordionTriggerPattern, AccordionPanelPattern, AccordionGroupPattern } from './_accordion-chunk.js';
4
+ import { DeferredContentAware, DeferredContent } from './_deferred-content-chunk.js';
5
+ import * as _angular_cdk_bidi from '@angular/cdk/bidi';
6
+ import './_keyboard-event-manager-chunk.js';
7
+ import './_list-navigation-chunk.js';
8
+ import './_pointer-event-manager-chunk.js';
9
+ import './_expansion-chunk.js';
6
10
 
7
11
  /**
8
12
  * The content panel of an accordion item that is conditionally visible.
@@ -23,6 +27,7 @@ import { AccordionTriggerPattern, AccordionPanelPattern, AccordionGroupPattern }
23
27
  * ```
24
28
  *
25
29
  * @developerPreview 21.0
30
+ * @see [Accordion](guide/aria/accordion)
26
31
  */
27
32
  declare class AccordionPanel {
28
33
  /** The DeferredContentAware host directive. */
@@ -45,55 +50,9 @@ declare class AccordionPanel {
45
50
  /** Toggles the expansion state of this item. */
46
51
  toggle(): void;
47
52
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AccordionPanel, never>;
48
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AccordionPanel, "[ngAccordionPanel]", ["ngAccordionPanel"], { "id": { "alias": "id"; "required": false; "isSignal": true; }; "panelId": { "alias": "panelId"; "required": true; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.DeferredContentAware; inputs: { "preserveContent": "preserveContent"; }; outputs: {}; }]>;
49
- }
50
- /**
51
- * The trigger that toggles the visibility of its associated `ngAccordionPanel`.
52
- *
53
- * This directive requires a `panelId` that must match the `panelId` of the `ngAccordionPanel` it
54
- * controls. When clicked, it will expand or collapse the panel. It also handles keyboard
55
- * interactions for navigation within the `ngAccordionGroup`. It applies `role="button"` and manages
56
- * `aria-expanded`, `aria-controls`, and `aria-disabled` attributes for accessibility.
57
- * The `disabled` input can be used to disable the trigger.
58
- *
59
- * ```html
60
- * <button ngAccordionTrigger panelId="unique-id-1">
61
- * Accordion Trigger Text
62
- * </button>
63
- * ```
64
- *
65
- * @developerPreview 21.0
66
- */
67
- declare class AccordionTrigger {
68
- /** A reference to the trigger element. */
69
- private readonly _elementRef;
70
- /** A reference to the trigger element. */
71
- readonly element: HTMLElement;
72
- /** The parent AccordionGroup. */
73
- private readonly _accordionGroup;
74
- /** A unique identifier for the widget. */
75
- readonly id: _angular_core.InputSignal<string>;
76
- /** A local unique identifier for the trigger, used to match with its panel's `panelId`. */
77
- readonly panelId: _angular_core.InputSignal<string>;
78
- /** Whether the trigger is disabled. */
79
- readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
80
- /** Whether the corresponding panel is expanded. */
81
- readonly expanded: _angular_core.ModelSignal<boolean>;
82
- /** Whether the trigger is active. */
83
- readonly active: _angular_core.Signal<boolean>;
84
- /** The accordion panel pattern controlled by this trigger. This is set by AccordionGroup. */
85
- readonly _accordionPanelPattern: WritableSignal<AccordionPanelPattern | undefined>;
86
- /** The UI pattern instance for this trigger. */
87
- readonly _pattern: AccordionTriggerPattern;
88
- /** Expands this item. */
89
- expand(): void;
90
- /** Collapses this item. */
91
- collapse(): void;
92
- /** Toggles the expansion state of this item. */
93
- toggle(): void;
94
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AccordionTrigger, never>;
95
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AccordionTrigger, "[ngAccordionTrigger]", ["ngAccordionTrigger"], { "id": { "alias": "id"; "required": false; "isSignal": true; }; "panelId": { "alias": "panelId"; "required": true; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "expanded": { "alias": "expanded"; "required": false; "isSignal": true; }; }, { "expanded": "expandedChange"; }, never, never, true, never>;
53
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AccordionPanel, "[ngAccordionPanel]", ["ngAccordionPanel"], { "id": { "alias": "id"; "required": false; "isSignal": true; }; "panelId": { "alias": "panelId"; "required": true; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof DeferredContentAware; inputs: { "preserveContent": "preserveContent"; }; outputs: {}; }]>;
96
54
  }
55
+
97
56
  /**
98
57
  * A container for a group of accordion items. It manages the overall state and
99
58
  * interactions of the accordion, such as keyboard navigation and expansion mode.
@@ -128,6 +87,7 @@ declare class AccordionTrigger {
128
87
  * ```
129
88
  *
130
89
  * @developerPreview 21.0
90
+ * @see [Accordion](guide/aria/accordion)
131
91
  */
132
92
  declare class AccordionGroup {
133
93
  /** A reference to the group element. */
@@ -141,7 +101,7 @@ declare class AccordionGroup {
141
101
  /** The AccordionPanels nested inside this group. */
142
102
  private readonly _panels;
143
103
  /** The text direction (ltr or rtl). */
144
- readonly textDirection: WritableSignal<_angular_cdk_bidi.Direction>;
104
+ readonly textDirection: _angular_core.WritableSignal<_angular_cdk_bidi.Direction>;
145
105
  /** Whether the entire accordion group is disabled. */
146
106
  readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
147
107
  /** Whether multiple accordion items can be expanded simultaneously. */
@@ -165,6 +125,56 @@ declare class AccordionGroup {
165
125
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AccordionGroup, never>;
166
126
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AccordionGroup, "[ngAccordionGroup]", ["ngAccordionGroup"], { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "multiExpandable": { "alias": "multiExpandable"; "required": false; "isSignal": true; }; "softDisabled": { "alias": "softDisabled"; "required": false; "isSignal": true; }; "wrap": { "alias": "wrap"; "required": false; "isSignal": true; }; }, {}, ["_triggers", "_panels"], never, true, never>;
167
127
  }
128
+
129
+ /**
130
+ * The trigger that toggles the visibility of its associated `ngAccordionPanel`.
131
+ *
132
+ * This directive requires a `panelId` that must match the `panelId` of the `ngAccordionPanel` it
133
+ * controls. When clicked, it will expand or collapse the panel. It also handles keyboard
134
+ * interactions for navigation within the `ngAccordionGroup`. It applies `role="button"` and manages
135
+ * `aria-expanded`, `aria-controls`, and `aria-disabled` attributes for accessibility.
136
+ * The `disabled` input can be used to disable the trigger.
137
+ *
138
+ * ```html
139
+ * <button ngAccordionTrigger panelId="unique-id-1">
140
+ * Accordion Trigger Text
141
+ * </button>
142
+ * ```
143
+ *
144
+ * @developerPreview 21.0
145
+ * @see [Accordion](guide/aria/accordion)
146
+ */
147
+ declare class AccordionTrigger {
148
+ /** A reference to the trigger element. */
149
+ private readonly _elementRef;
150
+ /** A reference to the trigger element. */
151
+ readonly element: HTMLElement;
152
+ /** The parent AccordionGroup. */
153
+ private readonly _accordionGroup;
154
+ /** A unique identifier for the widget. */
155
+ readonly id: _angular_core.InputSignal<string>;
156
+ /** A local unique identifier for the trigger, used to match with its panel's `panelId`. */
157
+ readonly panelId: _angular_core.InputSignal<string>;
158
+ /** Whether the trigger is disabled. */
159
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
160
+ /** Whether the corresponding panel is expanded. */
161
+ readonly expanded: _angular_core.ModelSignal<boolean>;
162
+ /** Whether the trigger is active. */
163
+ readonly active: _angular_core.Signal<boolean>;
164
+ /** The accordion panel pattern controlled by this trigger. This is set by AccordionGroup. */
165
+ readonly _accordionPanelPattern: WritableSignal<AccordionPanelPattern | undefined>;
166
+ /** The UI pattern instance for this trigger. */
167
+ readonly _pattern: AccordionTriggerPattern;
168
+ /** Expands this item. */
169
+ expand(): void;
170
+ /** Collapses this item. */
171
+ collapse(): void;
172
+ /** Toggles the expansion state of this item. */
173
+ toggle(): void;
174
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AccordionTrigger, never>;
175
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AccordionTrigger, "[ngAccordionTrigger]", ["ngAccordionTrigger"], { "id": { "alias": "id"; "required": false; "isSignal": true; }; "panelId": { "alias": "panelId"; "required": true; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "expanded": { "alias": "expanded"; "required": false; "isSignal": true; }; }, { "expanded": "expandedChange"; }, never, never, true, never>;
176
+ }
177
+
168
178
  /**
169
179
  * A structural directive that provides a mechanism for lazily rendering the content for an
170
180
  * `ngAccordionPanel`.
@@ -182,10 +192,11 @@ declare class AccordionGroup {
182
192
  * ```
183
193
  *
184
194
  * @developerPreview 21.0
195
+ * @see [Accordion](guide/aria/accordion)
185
196
  */
186
197
  declare class AccordionContent {
187
198
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AccordionContent, never>;
188
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AccordionContent, "ng-template[ngAccordionContent]", never, {}, {}, never, never, true, [{ directive: typeof i1.DeferredContent; inputs: {}; outputs: {}; }]>;
199
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AccordionContent, "ng-template[ngAccordionContent]", never, {}, {}, never, never, true, [{ directive: typeof DeferredContent; inputs: {}; outputs: {}; }]>;
189
200
  }
190
201
 
191
- export { AccordionContent, AccordionGroup, AccordionPanel, AccordionTrigger };
202
+ export { AccordionContent, AccordionGroup, AccordionPanel, AccordionTrigger, DeferredContent as ɵɵDeferredContent };
package/types/aria.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Version } from '@angular/core';
2
2
 
3
- /** Current version of the CDK Experimental package. */
3
+ /** Current version of the Aria package. */
4
4
  declare const VERSION: Version;
5
5
 
6
6
  export { VERSION };
@@ -1,8 +1,35 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { WritableSignal } from '@angular/core';
3
2
  import * as _angular_cdk_bidi from '@angular/cdk/bidi';
4
- import * as i1 from '@angular/aria/private';
5
- import { ComboboxPattern, ComboboxDialogPattern, ComboboxListboxControls, ComboboxTreeControls } from '@angular/aria/private';
3
+ import { ComboboxListboxControls, ComboboxTreeControls, ComboboxDialogPattern, ComboboxPattern } from './_combobox-chunk.js';
4
+ import { DeferredContentAware, DeferredContent } from './_deferred-content-chunk.js';
5
+ import './_keyboard-event-manager-chunk.js';
6
+ import './_list-navigation-chunk.js';
7
+ import './_pointer-event-manager-chunk.js';
8
+ import './_list-chunk.js';
9
+
10
+ /**
11
+ * Identifies an element as a popup for an `ngCombobox`.
12
+ *
13
+ * This directive acts as a bridge, allowing the `ngCombobox` to discover and interact
14
+ * with the underlying control (e.g., `ngListbox`, `ngTree`, or `ngComboboxDialog`) that
15
+ * manages the options. It's primarily used as a host directive and is responsible for
16
+ * exposing the popup's control pattern to the parent combobox.
17
+ *
18
+ * @developerPreview 21.0
19
+ *
20
+ * @see [Combobox](guide/aria/combobox)
21
+ * @see [Select](guide/aria/select)
22
+ * @see [Multiselect](guide/aria/multiselect)
23
+ * @see [Autocomplete](guide/aria/autocomplete)
24
+ */
25
+ declare class ComboboxPopup<V> {
26
+ /** The combobox that the popup belongs to. */
27
+ readonly combobox: Combobox<V> | null;
28
+ /** The popup controls exposed to the combobox. */
29
+ readonly _controls: _angular_core.WritableSignal<ComboboxListboxControls<any, V> | ComboboxTreeControls<any, V> | ComboboxDialogPattern | undefined>;
30
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ComboboxPopup<any>, never>;
31
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ComboboxPopup<any>, "[ngComboboxPopup]", ["ngComboboxPopup"], {}, {}, never, never, true, never>;
32
+ }
6
33
 
7
34
  /**
8
35
  * The container element that wraps a combobox input and popup, and orchestrates its behavior.
@@ -33,10 +60,13 @@ import { ComboboxPattern, ComboboxDialogPattern, ComboboxListboxControls, Combob
33
60
  * ```
34
61
  *
35
62
  * @developerPreview 21.0
63
+ *
64
+ * @see [Combobox](guide/aria/combobox)
65
+ * @see [Select](guide/aria/select)
66
+ * @see [Multiselect](guide/aria/multiselect)
67
+ * @see [Autocomplete](guide/aria/autocomplete)
36
68
  */
37
69
  declare class Combobox<V> {
38
- /** The directionality (LTR / RTL) context for the application (or a subtree of it). */
39
- private readonly _directionality;
40
70
  /** A signal wrapper for directionality. */
41
71
  protected textDirection: _angular_core.Signal<_angular_cdk_bidi.Direction>;
42
72
  /** The element that the combobox is attached to. */
@@ -74,8 +104,45 @@ declare class Combobox<V> {
74
104
  /** Closes the combobox. */
75
105
  close(): void;
76
106
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<Combobox<any>, never>;
77
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<Combobox<any>, "[ngCombobox]", ["ngCombobox"], { "filterMode": { "alias": "filterMode"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "firstMatch": { "alias": "firstMatch"; "required": false; "isSignal": true; }; "alwaysExpanded": { "alias": "alwaysExpanded"; "required": false; "isSignal": true; }; }, {}, ["popup"], never, true, [{ directive: typeof i1.DeferredContentAware; inputs: { "preserveContent": "preserveContent"; }; outputs: {}; }]>;
107
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<Combobox<any>, "[ngCombobox]", ["ngCombobox"], { "filterMode": { "alias": "filterMode"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "firstMatch": { "alias": "firstMatch"; "required": false; "isSignal": true; }; "alwaysExpanded": { "alias": "alwaysExpanded"; "required": false; "isSignal": true; }; }, {}, ["popup"], never, true, [{ directive: typeof DeferredContentAware; inputs: { "preserveContent": "preserveContent"; }; outputs: {}; }]>;
78
108
  }
109
+
110
+ /**
111
+ * Integrates a native `<dialog>` element with the combobox, allowing for
112
+ * a modal or non-modal popup experience. It handles the opening and closing of the dialog
113
+ * based on the combobox's expanded state.
114
+ *
115
+ * ```html
116
+ * <ng-template ngComboboxPopupContainer>
117
+ * <dialog ngComboboxDialog class="example-dialog">
118
+ * <!-- ... dialog content ... -->
119
+ * </dialog>
120
+ * </ng-template>
121
+ * ```
122
+ *
123
+ * @developerPreview 21.0
124
+ *
125
+ * @see [Combobox](guide/aria/combobox)
126
+ * @see [Select](guide/aria/select)
127
+ * @see [Multiselect](guide/aria/multiselect)
128
+ * @see [Autocomplete](guide/aria/autocomplete)
129
+ */
130
+ declare class ComboboxDialog {
131
+ /** The dialog element. */
132
+ private readonly _elementRef;
133
+ /** A reference to the dialog element. */
134
+ readonly element: HTMLElement;
135
+ /** The combobox that the dialog belongs to. */
136
+ readonly combobox: Combobox<any>;
137
+ /** A reference to the parent combobox popup, if one exists. */
138
+ private readonly _popup;
139
+ _pattern: ComboboxDialogPattern;
140
+ constructor();
141
+ close(): void;
142
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ComboboxDialog, never>;
143
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ComboboxDialog, "dialog[ngComboboxDialog]", ["ngComboboxDialog"], {}, {}, never, never, true, [{ directive: typeof ComboboxPopup; inputs: {}; outputs: {}; }]>;
144
+ }
145
+
79
146
  /**
80
147
  * An input that is part of a combobox. It is responsible for displaying the
81
148
  * current value and handling user input for filtering and selection.
@@ -93,6 +160,11 @@ declare class Combobox<V> {
93
160
  * ```
94
161
  *
95
162
  * @developerPreview 21.0
163
+ *
164
+ * @see [Combobox](guide/aria/combobox)
165
+ * @see [Select](guide/aria/select)
166
+ * @see [Multiselect](guide/aria/multiselect)
167
+ * @see [Autocomplete](guide/aria/autocomplete)
96
168
  */
97
169
  declare class ComboboxInput {
98
170
  /** The element that the combobox is attached to. */
@@ -107,6 +179,7 @@ declare class ComboboxInput {
107
179
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ComboboxInput, never>;
108
180
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ComboboxInput, "input[ngComboboxInput]", ["ngComboboxInput"], { "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
109
181
  }
182
+
110
183
  /**
111
184
  * A structural directive that marks the `ng-template` to be used as the popup
112
185
  * for a combobox. This content is conditionally rendered.
@@ -136,58 +209,15 @@ declare class ComboboxInput {
136
209
  * ```
137
210
  *
138
211
  * @developerPreview 21.0
212
+ *
213
+ * @see [Combobox](guide/aria/combobox)
214
+ * @see [Select](guide/aria/select)
215
+ * @see [Multiselect](guide/aria/multiselect)
216
+ * @see [Autocomplete](guide/aria/autocomplete)
139
217
  */
140
218
  declare class ComboboxPopupContainer {
141
219
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ComboboxPopupContainer, never>;
142
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ComboboxPopupContainer, "ng-template[ngComboboxPopupContainer]", ["ngComboboxPopupContainer"], {}, {}, never, never, true, [{ directive: typeof i1.DeferredContent; inputs: {}; outputs: {}; }]>;
143
- }
144
- /**
145
- * Identifies an element as a popup for an `ngCombobox`.
146
- *
147
- * This directive acts as a bridge, allowing the `ngCombobox` to discover and interact
148
- * with the underlying control (e.g., `ngListbox`, `ngTree`, or `ngComboboxDialog`) that
149
- * manages the options. It's primarily used as a host directive and is responsible for
150
- * exposing the popup's control pattern to the parent combobox.
151
- *
152
- * @developerPreview 21.0
153
- */
154
- declare class ComboboxPopup<V> {
155
- /** The combobox that the popup belongs to. */
156
- readonly combobox: Combobox<V> | null;
157
- /** The popup controls exposed to the combobox. */
158
- readonly _controls: WritableSignal<ComboboxDialogPattern | ComboboxListboxControls<any, V> | ComboboxTreeControls<any, V> | undefined>;
159
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ComboboxPopup<any>, never>;
160
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ComboboxPopup<any>, "[ngComboboxPopup]", ["ngComboboxPopup"], {}, {}, never, never, true, never>;
161
- }
162
- /**
163
- * Integrates a native `<dialog>` element with the combobox, allowing for
164
- * a modal or non-modal popup experience. It handles the opening and closing of the dialog
165
- * based on the combobox's expanded state.
166
- *
167
- * ```html
168
- * <ng-template ngComboboxPopupContainer>
169
- * <dialog ngComboboxDialog class="example-dialog">
170
- * <!-- ... dialog content ... -->
171
- * </dialog>
172
- * </ng-template>
173
- * ```
174
- *
175
- * @developerPreview 21.0
176
- */
177
- declare class ComboboxDialog {
178
- /** The dialog element. */
179
- private readonly _elementRef;
180
- /** A reference to the dialog element. */
181
- readonly element: HTMLElement;
182
- /** The combobox that the dialog belongs to. */
183
- readonly combobox: Combobox<any>;
184
- /** A reference to the parent combobox popup, if one exists. */
185
- private readonly _popup;
186
- _pattern: ComboboxDialogPattern;
187
- constructor();
188
- close(): void;
189
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ComboboxDialog, never>;
190
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ComboboxDialog, "dialog[ngComboboxDialog]", ["ngComboboxDialog"], {}, {}, never, never, true, [{ directive: typeof ComboboxPopup; inputs: {}; outputs: {}; }]>;
220
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ComboboxPopupContainer, "ng-template[ngComboboxPopupContainer]", ["ngComboboxPopupContainer"], {}, {}, never, never, true, [{ directive: typeof DeferredContent; inputs: {}; outputs: {}; }]>;
191
221
  }
192
222
 
193
- export { Combobox, ComboboxDialog, ComboboxInput, ComboboxPopup, ComboboxPopupContainer };
223
+ export { Combobox, ComboboxDialog, ComboboxInput, ComboboxPopup, ComboboxPopupContainer, DeferredContent as ɵɵDeferredContent, DeferredContentAware as ɵɵDeferredContentAware };