@angular/aria 21.0.3 → 21.1.0-next.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 (56) hide show
  1. package/_adev_assets/aria-accordion.json +743 -0
  2. package/_adev_assets/aria-combobox.json +603 -0
  3. package/_adev_assets/aria-grid.json +893 -0
  4. package/_adev_assets/aria-listbox.json +540 -0
  5. package/_adev_assets/aria-menu.json +1049 -0
  6. package/_adev_assets/aria-tabs.json +880 -0
  7. package/_adev_assets/aria-toolbar.json +545 -0
  8. package/_adev_assets/aria-tree.json +853 -0
  9. package/fesm2022/_widget-chunk.mjs +246 -4
  10. package/fesm2022/_widget-chunk.mjs.map +1 -1
  11. package/fesm2022/accordion.mjs +4 -17
  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 +120 -96
  16. package/fesm2022/combobox.mjs.map +1 -1
  17. package/fesm2022/grid.mjs +201 -225
  18. package/fesm2022/grid.mjs.map +1 -1
  19. package/fesm2022/listbox.mjs +161 -173
  20. package/fesm2022/listbox.mjs.map +1 -1
  21. package/fesm2022/menu.mjs +238 -256
  22. package/fesm2022/menu.mjs.map +1 -1
  23. package/fesm2022/private.mjs +932 -7
  24. package/fesm2022/private.mjs.map +1 -1
  25. package/fesm2022/tabs.mjs +168 -182
  26. package/fesm2022/tabs.mjs.map +1 -1
  27. package/fesm2022/toolbar.mjs +3 -15
  28. package/fesm2022/toolbar.mjs.map +1 -1
  29. package/fesm2022/tree.mjs +2 -4
  30. package/fesm2022/tree.mjs.map +1 -1
  31. package/package.json +3 -3
  32. package/types/_grid-chunk.d.ts +210 -3
  33. package/types/accordion.d.ts +49 -52
  34. package/types/combobox.d.ts +111 -25
  35. package/types/grid.d.ts +32 -37
  36. package/types/listbox.d.ts +5 -8
  37. package/types/menu.d.ts +113 -113
  38. package/types/private.d.ts +498 -10
  39. package/types/tabs.d.ts +84 -89
  40. package/types/toolbar.d.ts +66 -69
  41. package/types/tree.d.ts +103 -106
  42. package/fesm2022/_combobox-chunk.mjs +0 -425
  43. package/fesm2022/_combobox-chunk.mjs.map +0 -1
  44. package/fesm2022/_combobox-listbox-chunk.mjs +0 -522
  45. package/fesm2022/_combobox-listbox-chunk.mjs.map +0 -1
  46. package/fesm2022/_combobox-popup-chunk.mjs +0 -46
  47. package/fesm2022/_combobox-popup-chunk.mjs.map +0 -1
  48. package/fesm2022/_list-navigation-chunk.mjs +0 -116
  49. package/fesm2022/_list-navigation-chunk.mjs.map +0 -1
  50. package/fesm2022/_pointer-event-manager-chunk.mjs +0 -134
  51. package/fesm2022/_pointer-event-manager-chunk.mjs.map +0 -1
  52. package/types/_combobox-chunk.d.ts +0 -98
  53. package/types/_combobox-chunk.d2.ts +0 -193
  54. package/types/_list-chunk.d.ts +0 -212
  55. package/types/_list-navigation-chunk.d.ts +0 -212
  56. package/types/_listbox-chunk.d.ts +0 -106
@@ -1,8 +1,8 @@
1
+ import * as _angular_cdk_bidi from '@angular/cdk/bidi';
1
2
  import * as _angular_core from '@angular/core';
2
3
  import { WritableSignal } from '@angular/core';
3
4
  import * as i1 from '@angular/aria/private';
4
5
  import { AccordionTriggerPattern, AccordionPanelPattern, AccordionGroupPattern } from '@angular/aria/private';
5
- import * as _angular_cdk_bidi from '@angular/cdk/bidi';
6
6
 
7
7
  /**
8
8
  * The content panel of an accordion item that is conditionally visible.
@@ -47,7 +47,53 @@ declare class AccordionPanel {
47
47
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AccordionPanel, never>;
48
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
49
  }
50
-
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>;
96
+ }
51
97
  /**
52
98
  * A container for a group of accordion items. It manages the overall state and
53
99
  * interactions of the accordion, such as keyboard navigation and expansion mode.
@@ -95,7 +141,7 @@ declare class AccordionGroup {
95
141
  /** The AccordionPanels nested inside this group. */
96
142
  private readonly _panels;
97
143
  /** The text direction (ltr or rtl). */
98
- readonly textDirection: _angular_core.WritableSignal<_angular_cdk_bidi.Direction>;
144
+ readonly textDirection: WritableSignal<_angular_cdk_bidi.Direction>;
99
145
  /** Whether the entire accordion group is disabled. */
100
146
  readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
101
147
  /** Whether multiple accordion items can be expanded simultaneously. */
@@ -119,55 +165,6 @@ declare class AccordionGroup {
119
165
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AccordionGroup, never>;
120
166
  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>;
121
167
  }
122
-
123
- /**
124
- * The trigger that toggles the visibility of its associated `ngAccordionPanel`.
125
- *
126
- * This directive requires a `panelId` that must match the `panelId` of the `ngAccordionPanel` it
127
- * controls. When clicked, it will expand or collapse the panel. It also handles keyboard
128
- * interactions for navigation within the `ngAccordionGroup`. It applies `role="button"` and manages
129
- * `aria-expanded`, `aria-controls`, and `aria-disabled` attributes for accessibility.
130
- * The `disabled` input can be used to disable the trigger.
131
- *
132
- * ```html
133
- * <button ngAccordionTrigger panelId="unique-id-1">
134
- * Accordion Trigger Text
135
- * </button>
136
- * ```
137
- *
138
- * @developerPreview 21.0
139
- */
140
- declare class AccordionTrigger {
141
- /** A reference to the trigger element. */
142
- private readonly _elementRef;
143
- /** A reference to the trigger element. */
144
- readonly element: HTMLElement;
145
- /** The parent AccordionGroup. */
146
- private readonly _accordionGroup;
147
- /** A unique identifier for the widget. */
148
- readonly id: _angular_core.InputSignal<string>;
149
- /** A local unique identifier for the trigger, used to match with its panel's `panelId`. */
150
- readonly panelId: _angular_core.InputSignal<string>;
151
- /** Whether the trigger is disabled. */
152
- readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
153
- /** Whether the corresponding panel is expanded. */
154
- readonly expanded: _angular_core.ModelSignal<boolean>;
155
- /** Whether the trigger is active. */
156
- readonly active: _angular_core.Signal<boolean>;
157
- /** The accordion panel pattern controlled by this trigger. This is set by AccordionGroup. */
158
- readonly _accordionPanelPattern: WritableSignal<AccordionPanelPattern | undefined>;
159
- /** The UI pattern instance for this trigger. */
160
- readonly _pattern: AccordionTriggerPattern;
161
- /** Expands this item. */
162
- expand(): void;
163
- /** Collapses this item. */
164
- collapse(): void;
165
- /** Toggles the expansion state of this item. */
166
- toggle(): void;
167
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AccordionTrigger, never>;
168
- 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>;
169
- }
170
-
171
168
  /**
172
169
  * A structural directive that provides a mechanism for lazily rendering the content for an
173
170
  * `ngAccordionPanel`.
@@ -1,42 +1,81 @@
1
- import { Combobox, ComboboxPopup } from './_combobox-chunk.js';
2
- import { ComboboxDialogPattern } from './_combobox-chunk.d2.ts';
3
1
  import * as _angular_core from '@angular/core';
2
+ import { WritableSignal } from '@angular/core';
3
+ import * as _angular_cdk_bidi from '@angular/cdk/bidi';
4
4
  import * as i1 from '@angular/aria/private';
5
- import '@angular/cdk/bidi';
6
- import './_list-navigation-chunk.js';
7
- import './_list-chunk.js';
5
+ import { ComboboxPattern, ComboboxDialogPattern, ComboboxListboxControls, ComboboxTreeControls } from '@angular/aria/private';
8
6
 
9
7
  /**
10
- * Integrates a native `<dialog>` element with the combobox, allowing for
11
- * a modal or non-modal popup experience. It handles the opening and closing of the dialog
12
- * based on the combobox's expanded state.
8
+ * The container element that wraps a combobox input and popup, and orchestrates its behavior.
9
+ *
10
+ * The `ngCombobox` directive is the main entry point for creating a combobox and customizing its
11
+ * behavior. It coordinates the interactions between the `ngComboboxInput` and the popup, which
12
+ * is defined by a `ng-template` with the `ngComboboxPopupContainer` directive. If using the
13
+ * `CdkOverlay`, the `cdkConnectedOverlay` directive takes the place of `ngComboboxPopupContainer`.
13
14
  *
14
15
  * ```html
15
- * <ng-template ngComboboxPopupContainer>
16
- * <dialog ngComboboxDialog class="example-dialog">
17
- * <!-- ... dialog content ... -->
18
- * </dialog>
19
- * </ng-template>
16
+ * <div ngCombobox filterMode="highlight">
17
+ * <input
18
+ * ngComboboxInput
19
+ * placeholder="Search for a state..."
20
+ * [(value)]="searchString"
21
+ * />
22
+ *
23
+ * <ng-template ngComboboxPopupContainer>
24
+ * <div ngListbox [(value)]="selectedValue">
25
+ * @for (option of filteredOptions(); track option) {
26
+ * <div ngOption [value]="option" [label]="option">
27
+ * <span>{{option}}</span>
28
+ * </div>
29
+ * }
30
+ * </div>
31
+ * </ng-template>
32
+ * </div>
20
33
  * ```
21
34
  *
22
35
  * @developerPreview 21.0
23
36
  */
24
- declare class ComboboxDialog {
25
- /** The dialog element. */
37
+ declare class Combobox<V> {
38
+ /** The directionality (LTR / RTL) context for the application (or a subtree of it). */
39
+ private readonly _directionality;
40
+ /** A signal wrapper for directionality. */
41
+ protected textDirection: _angular_core.Signal<_angular_cdk_bidi.Direction>;
42
+ /** The element that the combobox is attached to. */
26
43
  private readonly _elementRef;
27
- /** A reference to the dialog element. */
44
+ /** A reference to the combobox element. */
28
45
  readonly element: HTMLElement;
29
- /** The combobox that the dialog belongs to. */
30
- readonly combobox: Combobox<any>;
31
- /** A reference to the parent combobox popup, if one exists. */
32
- private readonly _popup;
33
- _pattern: ComboboxDialogPattern;
46
+ /** The DeferredContentAware host directive. */
47
+ private readonly _deferredContentAware;
48
+ /** The combobox popup. */
49
+ readonly popup: _angular_core.Signal<ComboboxPopup<V> | undefined>;
50
+ /**
51
+ * The filter mode for the combobox.
52
+ * - `manual`: The consumer is responsible for filtering the options.
53
+ * - `auto-select`: The combobox automatically selects the first matching option.
54
+ * - `highlight`: The combobox highlights matching text in the options without changing selection.
55
+ */
56
+ filterMode: _angular_core.InputSignal<"manual" | "auto-select" | "highlight">;
57
+ /** Whether the combobox is disabled. */
58
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
59
+ /** Whether the combobox is read-only. */
60
+ readonly readonly: _angular_core.InputSignalWithTransform<boolean, unknown>;
61
+ /** The value of the first matching item in the popup. */
62
+ readonly firstMatch: _angular_core.InputSignal<V | undefined>;
63
+ /** Whether the combobox is expanded. */
64
+ readonly expanded: _angular_core.Signal<boolean>;
65
+ /** Whether the combobox popup should always be expanded, regardless of user interaction. */
66
+ readonly alwaysExpanded: _angular_core.InputSignalWithTransform<boolean, unknown>;
67
+ /** Input element connected to the combobox, if any. */
68
+ readonly inputElement: _angular_core.Signal<HTMLInputElement | undefined>;
69
+ /** The combobox ui pattern. */
70
+ readonly _pattern: ComboboxPattern<any, V>;
34
71
  constructor();
72
+ /** Opens the combobox to the selected item. */
73
+ open(): void;
74
+ /** Closes the combobox. */
35
75
  close(): void;
36
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ComboboxDialog, never>;
37
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ComboboxDialog, "dialog[ngComboboxDialog]", ["ngComboboxDialog"], {}, {}, never, never, true, [{ directive: typeof ComboboxPopup; inputs: {}; outputs: {}; }]>;
76
+ 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: {}; }]>;
38
78
  }
39
-
40
79
  /**
41
80
  * An input that is part of a combobox. It is responsible for displaying the
42
81
  * current value and handling user input for filtering and selection.
@@ -68,7 +107,6 @@ declare class ComboboxInput {
68
107
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ComboboxInput, never>;
69
108
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ComboboxInput, "input[ngComboboxInput]", ["ngComboboxInput"], { "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
70
109
  }
71
-
72
110
  /**
73
111
  * A structural directive that marks the `ng-template` to be used as the popup
74
112
  * for a combobox. This content is conditionally rendered.
@@ -103,5 +141,53 @@ declare class ComboboxPopupContainer {
103
141
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ComboboxPopupContainer, never>;
104
142
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ComboboxPopupContainer, "ng-template[ngComboboxPopupContainer]", ["ngComboboxPopupContainer"], {}, {}, never, never, true, [{ directive: typeof i1.DeferredContent; inputs: {}; outputs: {}; }]>;
105
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: {}; }]>;
191
+ }
106
192
 
107
193
  export { Combobox, ComboboxDialog, ComboboxInput, ComboboxPopup, ComboboxPopupContainer };
package/types/grid.d.ts CHANGED
@@ -1,9 +1,7 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { Signal, ElementRef } from '@angular/core';
3
3
  import * as _angular_cdk_bidi from '@angular/cdk/bidi';
4
- import { GridPattern, GridCellPattern, GridRowPattern, GridCellWidgetPattern } from './_grid-chunk.js';
5
- import * as _angular_aria_private_public_api from '@angular/aria/private/public-api';
6
- import './_list-navigation-chunk.js';
4
+ import { GridPattern, GridRowPattern, GridCellPattern, GridCellWidgetPattern } from './_grid-chunk.js';
7
5
 
8
6
  /**
9
7
  * The container for a grid. It provides keyboard navigation and focus management for the grid's
@@ -84,7 +82,37 @@ declare class Grid {
84
82
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<Grid, never>;
85
83
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<Grid, "[ngGrid]", ["ngGrid"], { "enableSelection": { "alias": "enableSelection"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "softDisabled": { "alias": "softDisabled"; "required": false; "isSignal": true; }; "focusMode": { "alias": "focusMode"; "required": false; "isSignal": true; }; "rowWrap": { "alias": "rowWrap"; "required": false; "isSignal": true; }; "colWrap": { "alias": "colWrap"; "required": false; "isSignal": true; }; "multi": { "alias": "multi"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "enableRangeSelection": { "alias": "enableRangeSelection"; "required": false; "isSignal": true; }; }, {}, ["_rows"], never, true, never>;
86
84
  }
87
-
85
+ /**
86
+ * Represents a row within a grid. It is a container for `ngGridCell` directives.
87
+ *
88
+ * ```html
89
+ * <tr ngGridRow>
90
+ * <!-- ... cells ... -->
91
+ * </tr>
92
+ * ```
93
+ *
94
+ * @developerPreview 21.0
95
+ */
96
+ declare class GridRow {
97
+ /** A reference to the host element. */
98
+ private readonly _elementRef;
99
+ /** A reference to the host element. */
100
+ readonly element: HTMLElement;
101
+ /** The cells that make up this row. */
102
+ private readonly _cells;
103
+ /** The UI patterns for the cells in this row. */
104
+ private readonly _cellPatterns;
105
+ /** The parent grid. */
106
+ private readonly _grid;
107
+ /** The parent grid UI pattern. */
108
+ readonly _gridPattern: Signal<GridPattern>;
109
+ /** The index of this row within the grid. */
110
+ readonly rowIndex: _angular_core.InputSignal<number | undefined>;
111
+ /** The UI pattern for the grid row. */
112
+ readonly _pattern: GridRowPattern;
113
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridRow, never>;
114
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<GridRow, "[ngGridRow]", ["ngGridRow"], { "rowIndex": { "alias": "rowIndex"; "required": false; "isSignal": true; }; }, {}, ["_cells"], never, true, never>;
115
+ }
88
116
  /**
89
117
  * Represents a cell within a grid row. It is the primary focusable element
90
118
  * within the grid. It can be disabled and can have its selection state managed
@@ -150,39 +178,6 @@ declare class GridCell {
150
178
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridCell, never>;
151
179
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<GridCell, "[ngGridCell]", ["ngGridCell"], { "id": { "alias": "id"; "required": false; "isSignal": true; }; "role": { "alias": "role"; "required": false; "isSignal": true; }; "rowSpan": { "alias": "rowSpan"; "required": false; "isSignal": true; }; "colSpan": { "alias": "colSpan"; "required": false; "isSignal": true; }; "rowIndex": { "alias": "rowIndex"; "required": false; "isSignal": true; }; "colIndex": { "alias": "colIndex"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "wrap": { "alias": "wrap"; "required": false; "isSignal": true; }; "tabindex": { "alias": "tabindex"; "required": false; "isSignal": true; }; }, { "selected": "selectedChange"; }, ["_widgets"], never, true, never>;
152
180
  }
153
-
154
- /**
155
- * Represents a row within a grid. It is a container for `ngGridCell` directives.
156
- *
157
- * ```html
158
- * <tr ngGridRow>
159
- * <!-- ... cells ... -->
160
- * </tr>
161
- * ```
162
- *
163
- * @developerPreview 21.0
164
- */
165
- declare class GridRow {
166
- /** A reference to the host element. */
167
- private readonly _elementRef;
168
- /** A reference to the host element. */
169
- readonly element: HTMLElement;
170
- /** The cells that make up this row. */
171
- private readonly _cells;
172
- /** The UI patterns for the cells in this row. */
173
- private readonly _cellPatterns;
174
- /** The parent grid. */
175
- private readonly _grid;
176
- /** The parent grid UI pattern. */
177
- readonly _gridPattern: Signal<_angular_aria_private_public_api.GridPattern>;
178
- /** The index of this row within the grid. */
179
- readonly rowIndex: _angular_core.InputSignal<number | undefined>;
180
- /** The UI pattern for the grid row. */
181
- readonly _pattern: GridRowPattern;
182
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridRow, never>;
183
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<GridRow, "[ngGridRow]", ["ngGridRow"], { "rowIndex": { "alias": "rowIndex"; "required": false; "isSignal": true; }; }, {}, ["_cells"], never, true, never>;
184
- }
185
-
186
181
  /**
187
182
  * Represents an interactive element inside a `GridCell`. It allows for pausing grid navigation to
188
183
  * interact with the widget.
@@ -1,11 +1,7 @@
1
- import * as _angular_aria_private_public_api from '@angular/aria/private/public-api';
2
1
  import * as _angular_cdk_bidi from '@angular/cdk/bidi';
3
2
  import * as _angular_core from '@angular/core';
4
- import { ListboxPattern, OptionPattern } from './_listbox-chunk.js';
5
- import { ComboboxPopup } from './_combobox-chunk.js';
6
- import './_list-navigation-chunk.js';
7
- import './_list-chunk.js';
8
- import '@angular/aria/private';
3
+ import { ListboxPattern, OptionPattern } from '@angular/aria/private';
4
+ import { ComboboxPopup } from './combobox.js';
9
5
 
10
6
  /**
11
7
  * Represents a container used to display a list of items for a user to select from.
@@ -42,7 +38,7 @@ declare class Listbox<V> {
42
38
  /** A signal wrapper for directionality. */
43
39
  protected textDirection: _angular_core.Signal<_angular_cdk_bidi.Direction>;
44
40
  /** The Option UIPatterns of the child Options. */
45
- protected items: _angular_core.Signal<_angular_aria_private_public_api.OptionPattern<any>[]>;
41
+ protected items: _angular_core.Signal<any[]>;
46
42
  /** Whether the list is vertically or horizontally oriented. */
47
43
  orientation: _angular_core.InputSignal<"vertical" | "horizontal">;
48
44
  /** Whether multiple items in the list can be selected at once. */
@@ -86,7 +82,6 @@ declare class Listbox<V> {
86
82
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<Listbox<any>, never>;
87
83
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<Listbox<any>, "[ngListbox]", ["ngListbox"], { "id": { "alias": "id"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "multi": { "alias": "multi"; "required": false; "isSignal": true; }; "wrap": { "alias": "wrap"; "required": false; "isSignal": true; }; "softDisabled": { "alias": "softDisabled"; "required": false; "isSignal": true; }; "focusMode": { "alias": "focusMode"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "typeaheadDelay": { "alias": "typeaheadDelay"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "values": { "alias": "values"; "required": false; "isSignal": true; }; }, { "values": "valuesChange"; }, ["_options"], never, true, [{ directive: typeof ComboboxPopup; inputs: {}; outputs: {}; }]>;
88
84
  }
89
-
90
85
  /**
91
86
  * A selectable option in an `ngListbox`.
92
87
  *
@@ -103,6 +98,8 @@ declare class Listbox<V> {
103
98
  * @developerPreview 21.0
104
99
  */
105
100
  declare class Option<V> {
101
+ /** A reference to the host element. */
102
+ private readonly _elementRef;
106
103
  /** A reference to the host element. */
107
104
  readonly element: HTMLElement;
108
105
  /** Whether the option is currently active (focused). */