@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
@@ -10,23 +10,23 @@
10
10
  "entryType": "directive",
11
11
  "members": [
12
12
  {
13
- "name": "textDirection",
14
- "type": "any",
13
+ "name": "element",
14
+ "type": "HTMLElement",
15
15
  "memberType": "property",
16
16
  "memberTags": [
17
17
  "readonly"
18
18
  ],
19
- "description": "Text direction.",
19
+ "description": "A reference to the host element.",
20
20
  "jsdocTags": []
21
21
  },
22
22
  {
23
- "name": "items",
23
+ "name": "textDirection",
24
24
  "type": "any",
25
25
  "memberType": "property",
26
26
  "memberTags": [
27
27
  "readonly"
28
28
  ],
29
- "description": "Sorted UIPatterns of the child widgets",
29
+ "description": "Text direction.",
30
30
  "jsdocTags": []
31
31
  },
32
32
  {
@@ -49,7 +49,7 @@
49
49
  "memberTags": [
50
50
  "input"
51
51
  ],
52
- "description": "Whether to allow disabled items to receive focus.",
52
+ "description": "Whether to allow disabled items to receive focus. When `true`, disabled items are\nfocusable but not interactive. When `false`, disabled items are skipped during navigation.",
53
53
  "jsdocTags": [],
54
54
  "inputAlias": "softDisabled",
55
55
  "isRequiredInput": false
@@ -81,135 +81,19 @@
81
81
  "isRequiredInput": false
82
82
  },
83
83
  {
84
- "name": "onFocus",
85
- "signatures": [
86
- {
87
- "name": "onFocus",
88
- "entryType": "function",
89
- "description": "",
90
- "generics": [],
91
- "isNewType": false,
92
- "jsdocTags": [],
93
- "params": [],
94
- "rawComment": "",
95
- "returnType": "void"
96
- }
97
- ],
98
- "implementation": {
99
- "params": [],
100
- "isNewType": false,
101
- "returnType": "void",
102
- "generics": [],
103
- "name": "onFocus",
104
- "description": "",
105
- "entryType": "function",
106
- "jsdocTags": [],
107
- "rawComment": ""
108
- },
109
- "entryType": "function",
110
- "description": "",
111
- "jsdocTags": [],
112
- "rawComment": "",
113
- "memberType": "method",
114
- "memberTags": []
115
- },
116
- {
117
- "name": "register",
118
- "signatures": [
119
- {
120
- "name": "register",
121
- "entryType": "function",
122
- "description": "",
123
- "generics": [],
124
- "isNewType": false,
125
- "jsdocTags": [],
126
- "params": [
127
- {
128
- "name": "widget",
129
- "description": "",
130
- "type": "ToolbarWidget<V>",
131
- "isOptional": false,
132
- "isRestParam": false
133
- }
134
- ],
135
- "rawComment": "",
136
- "returnType": "void"
137
- }
84
+ "name": "values",
85
+ "type": "any",
86
+ "memberType": "property",
87
+ "memberTags": [
88
+ "readonly",
89
+ "input",
90
+ "output"
138
91
  ],
139
- "implementation": {
140
- "params": [
141
- {
142
- "name": "widget",
143
- "description": "",
144
- "type": "ToolbarWidget<V>",
145
- "isOptional": false,
146
- "isRestParam": false
147
- }
148
- ],
149
- "isNewType": false,
150
- "returnType": "void",
151
- "generics": [],
152
- "name": "register",
153
- "description": "",
154
- "entryType": "function",
155
- "jsdocTags": [],
156
- "rawComment": ""
157
- },
158
- "entryType": "function",
159
- "description": "",
92
+ "description": "The values of the selected widgets within the toolbar.",
160
93
  "jsdocTags": [],
161
- "rawComment": "",
162
- "memberType": "method",
163
- "memberTags": []
164
- },
165
- {
166
- "name": "unregister",
167
- "signatures": [
168
- {
169
- "name": "unregister",
170
- "entryType": "function",
171
- "description": "",
172
- "generics": [],
173
- "isNewType": false,
174
- "jsdocTags": [],
175
- "params": [
176
- {
177
- "name": "widget",
178
- "description": "",
179
- "type": "ToolbarWidget<V>",
180
- "isOptional": false,
181
- "isRestParam": false
182
- }
183
- ],
184
- "rawComment": "",
185
- "returnType": "void"
186
- }
187
- ],
188
- "implementation": {
189
- "params": [
190
- {
191
- "name": "widget",
192
- "description": "",
193
- "type": "ToolbarWidget<V>",
194
- "isOptional": false,
195
- "isRestParam": false
196
- }
197
- ],
198
- "isNewType": false,
199
- "returnType": "void",
200
- "generics": [],
201
- "name": "unregister",
202
- "description": "",
203
- "entryType": "function",
204
- "jsdocTags": [],
205
- "rawComment": ""
206
- },
207
- "entryType": "function",
208
- "description": "",
209
- "jsdocTags": [],
210
- "rawComment": "",
211
- "memberType": "method",
212
- "memberTags": []
94
+ "inputAlias": "values",
95
+ "isRequiredInput": false,
96
+ "outputAlias": "valuesChange"
213
97
  }
214
98
  ],
215
99
  "generics": [
@@ -217,9 +101,14 @@
217
101
  "name": "V"
218
102
  }
219
103
  ],
220
- "description": "A toolbar widget container.\n\nWidgets such as radio groups or buttons are nested within a toolbar to allow for a single\nplace of reference for focus and navigation. The Toolbar is meant to be used in conjunction\nwith ToolbarWidget and RadioGroup as follows:\n\n```html\n<div ngToolbar>\n <button ngToolbarWidget>Button</button>\n <div ngRadioGroup>\n <label ngRadioButton value=\"1\">Option 1</label>\n <label ngRadioButton value=\"2\">Option 2</label>\n <label ngRadioButton value=\"3\">Option 3</label>\n </div>\n</div>\n```",
221
- "jsdocTags": [],
222
- "rawComment": "/**\n * A toolbar widget container.\n *\n * Widgets such as radio groups or buttons are nested within a toolbar to allow for a single\n * place of reference for focus and navigation. The Toolbar is meant to be used in conjunction\n * with ToolbarWidget and RadioGroup as follows:\n *\n * ```html\n * <div ngToolbar>\n * <button ngToolbarWidget>Button</button>\n * <div ngRadioGroup>\n * <label ngRadioButton value=\"1\">Option 1</label>\n * <label ngRadioButton value=\"2\">Option 2</label>\n * <label ngRadioButton value=\"3\">Option 3</label>\n * </div>\n * </div>\n * ```\n */",
104
+ "description": "A toolbar widget container for a group of interactive widgets, such as\nbuttons or radio groups. It provides a single point of reference for keyboard navigation\nand focus management. It supports various orientations and disabled states.\n\n```html\n<div ngToolbar orientation=\"horizontal\" [wrap]=\"true\">\n <button ngToolbarWidget value=\"save\">Save</button>\n <button ngToolbarWidget value=\"print\">Print</button>\n\n <div ngToolbarWidgetGroup [(value)]=\"selectedAlignment\">\n <button ngToolbarWidget value=\"left\">Left</button>\n <button ngToolbarWidget value=\"center\">Center</button>\n <button ngToolbarWidget value=\"right\">Right</button>\n </div>\n</div>\n```",
105
+ "jsdocTags": [
106
+ {
107
+ "name": "developerPreview",
108
+ "comment": "21.0"
109
+ }
110
+ ],
111
+ "rawComment": "/**\n * A toolbar widget container for a group of interactive widgets, such as\n * buttons or radio groups. It provides a single point of reference for keyboard navigation\n * and focus management. It supports various orientations and disabled states.\n *\n * ```html\n * <div ngToolbar orientation=\"horizontal\" [wrap]=\"true\">\n * <button ngToolbarWidget value=\"save\">Save</button>\n * <button ngToolbarWidget value=\"print\">Print</button>\n *\n * <div ngToolbarWidgetGroup [(value)]=\"selectedAlignment\">\n * <button ngToolbarWidget value=\"left\">Left</button>\n * <button ngToolbarWidget value=\"center\">Center</button>\n * <button ngToolbarWidget value=\"right\">Right</button>\n * </div>\n * </div>\n * ```\n *\n * @developerPreview 21.0\n */",
223
112
  "implements": [],
224
113
  "isStandalone": true,
225
114
  "selector": "[ngToolbar]",
@@ -228,8 +117,8 @@
228
117
  ],
229
118
  "source": {
230
119
  "filePath": "/src/aria/toolbar/toolbar.ts",
231
- "startLine": 63,
232
- "endLine": 158
120
+ "startLine": 65,
121
+ "endLine": 169
233
122
  }
234
123
  },
235
124
  {
@@ -238,37 +127,27 @@
238
127
  "entryType": "directive",
239
128
  "members": [
240
129
  {
241
- "name": "id",
242
- "type": "any",
243
- "memberType": "property",
244
- "memberTags": [
245
- "readonly",
246
- "input"
247
- ],
248
- "description": "A unique identifier for the widget.",
249
- "jsdocTags": [],
250
- "inputAlias": "id",
251
- "isRequiredInput": false
252
- },
253
- {
254
- "name": "toolbar",
255
- "type": "any",
130
+ "name": "element",
131
+ "type": "HTMLElement",
256
132
  "memberType": "property",
257
133
  "memberTags": [
258
134
  "readonly"
259
135
  ],
260
- "description": "The parent Toolbar UIPattern.",
136
+ "description": "A reference to the host element.",
261
137
  "jsdocTags": []
262
138
  },
263
139
  {
264
- "name": "element",
140
+ "name": "id",
265
141
  "type": "any",
266
142
  "memberType": "property",
267
143
  "memberTags": [
268
- "readonly"
144
+ "readonly",
145
+ "input"
269
146
  ],
270
- "description": "A reference to the widget element to be focused on navigation.",
271
- "jsdocTags": []
147
+ "description": "A unique identifier for the widget.",
148
+ "jsdocTags": [],
149
+ "inputAlias": "id",
150
+ "isRequiredInput": false
272
151
  },
273
152
  {
274
153
  "name": "disabled",
@@ -326,16 +205,6 @@
326
205
  "description": "Whether the widget is selected (only relevant in a selection group).",
327
206
  "jsdocTags": []
328
207
  },
329
- {
330
- "name": "group",
331
- "type": "SignalLike<any>",
332
- "memberType": "property",
333
- "memberTags": [
334
- "readonly"
335
- ],
336
- "description": "",
337
- "jsdocTags": []
338
- },
339
208
  {
340
209
  "name": "ngOnInit",
341
210
  "signatures": [
@@ -408,9 +277,14 @@
408
277
  "name": "V"
409
278
  }
410
279
  ],
411
- "description": "A widget within a toolbar.\n\nA widget is anything that is within a toolbar. It should be applied to any native HTML element\nthat has the purpose of acting as a widget navigatable within a toolbar.",
412
- "jsdocTags": [],
413
- "rawComment": "/**\n * A widget within a toolbar.\n *\n * A widget is anything that is within a toolbar. It should be applied to any native HTML element\n * that has the purpose of acting as a widget navigatable within a toolbar.\n */",
280
+ "description": "A widget within a toolbar.\n\nThe `ngToolbarWidget` directive should be applied to any native HTML element that acts\nas an interactive widget within an `ngToolbar` or `ngToolbarWidgetGroup`. It enables\nkeyboard navigation and selection within the toolbar.\n\n```html\n<button ngToolbarWidget value=\"action-id\" [disabled]=\"isDisabled\">\n Perform Action\n</button>\n```",
281
+ "jsdocTags": [
282
+ {
283
+ "name": "developerPreview",
284
+ "comment": "21.0"
285
+ }
286
+ ],
287
+ "rawComment": "/**\n * A widget within a toolbar.\n *\n * The `ngToolbarWidget` directive should be applied to any native HTML element that acts\n * as an interactive widget within an `ngToolbar` or `ngToolbarWidgetGroup`. It enables\n * keyboard navigation and selection within the toolbar.\n *\n * ```html\n * <button ngToolbarWidget value=\"action-id\" [disabled]=\"isDisabled\">\n * Perform Action\n * </button>\n * ```\n *\n * @developerPreview 21.0\n */",
414
288
  "implements": [
415
289
  "OnInit",
416
290
  "OnDestroy"
@@ -422,8 +296,8 @@
422
296
  ],
423
297
  "source": {
424
298
  "filePath": "/src/aria/toolbar/toolbar.ts",
425
- "startLine": 166,
426
- "endLine": 234
299
+ "startLine": 186,
300
+ "endLine": 253
427
301
  }
428
302
  },
429
303
  {
@@ -432,13 +306,13 @@
432
306
  "entryType": "directive",
433
307
  "members": [
434
308
  {
435
- "name": "toolbar",
436
- "type": "any",
309
+ "name": "element",
310
+ "type": "HTMLElement",
437
311
  "memberType": "property",
438
312
  "memberTags": [
439
313
  "readonly"
440
314
  ],
441
- "description": "The parent Toolbar UIPattern.",
315
+ "description": "A reference to the host element.",
442
316
  "jsdocTags": []
443
317
  },
444
318
  {
@@ -454,16 +328,6 @@
454
328
  "inputAlias": "disabled",
455
329
  "isRequiredInput": false
456
330
  },
457
- {
458
- "name": "items",
459
- "type": "() => any",
460
- "memberType": "property",
461
- "memberTags": [
462
- "readonly"
463
- ],
464
- "description": "The list of toolbar items within the group.",
465
- "jsdocTags": []
466
- },
467
331
  {
468
332
  "name": "multi",
469
333
  "type": "any",
@@ -483,9 +347,14 @@
483
347
  "name": "V"
484
348
  }
485
349
  ],
486
- "description": "A directive that groups toolbar widgets, used for more complex widgets like radio groups that\nhave their own internal navigation.",
487
- "jsdocTags": [],
488
- "rawComment": "/**\n * A directive that groups toolbar widgets, used for more complex widgets like radio groups that\n * have their own internal navigation.\n */",
350
+ "description": "A directive that groups toolbar widgets, used for more complex widgets like radio groups\nthat have their own internal navigation.",
351
+ "jsdocTags": [
352
+ {
353
+ "name": "developerPreview",
354
+ "comment": "21.0"
355
+ }
356
+ ],
357
+ "rawComment": "/**\n * A directive that groups toolbar widgets, used for more complex widgets like radio groups\n * that have their own internal navigation.\n *\n * @developerPreview 21.0\n */",
489
358
  "implements": [],
490
359
  "isStandalone": true,
491
360
  "selector": "[ngToolbarWidgetGroup]",
@@ -494,8 +363,8 @@
494
363
  ],
495
364
  "source": {
496
365
  "filePath": "/src/aria/toolbar/toolbar.ts",
497
- "startLine": 240,
498
- "endLine": 268
366
+ "startLine": 261,
367
+ "endLine": 296
499
368
  }
500
369
  }
501
370
  ],
@@ -532,10 +401,6 @@
532
401
  "signal",
533
402
  "@angular/core"
534
403
  ],
535
- [
536
- "Signal",
537
- "@angular/core"
538
- ],
539
404
  [
540
405
  "OnInit",
541
406
  "@angular/core"
@@ -548,6 +413,10 @@
548
413
  "contentChildren",
549
414
  "@angular/core"
550
415
  ],
416
+ [
417
+ "model",
418
+ "@angular/core"
419
+ ],
551
420
  [
552
421
  "ToolbarPattern",
553
422
  "@angular/aria/private"
@@ -589,11 +458,11 @@
589
458
  "@angular/aria/toolbar"
590
459
  ],
591
460
  [
592
- "Toolbar.textDirection",
461
+ "Toolbar.element",
593
462
  "@angular/aria/toolbar"
594
463
  ],
595
464
  [
596
- "Toolbar.items",
465
+ "Toolbar.textDirection",
597
466
  "@angular/aria/toolbar"
598
467
  ],
599
468
  [
@@ -613,15 +482,7 @@
613
482
  "@angular/aria/toolbar"
614
483
  ],
615
484
  [
616
- "Toolbar.onFocus",
617
- "@angular/aria/toolbar"
618
- ],
619
- [
620
- "Toolbar.register",
621
- "@angular/aria/toolbar"
622
- ],
623
- [
624
- "Toolbar.unregister",
485
+ "Toolbar.values",
625
486
  "@angular/aria/toolbar"
626
487
  ],
627
488
  [
@@ -629,15 +490,11 @@
629
490
  "@angular/aria/toolbar"
630
491
  ],
631
492
  [
632
- "ToolbarWidget.id",
633
- "@angular/aria/toolbar"
634
- ],
635
- [
636
- "ToolbarWidget.toolbar",
493
+ "ToolbarWidget.element",
637
494
  "@angular/aria/toolbar"
638
495
  ],
639
496
  [
640
- "ToolbarWidget.element",
497
+ "ToolbarWidget.id",
641
498
  "@angular/aria/toolbar"
642
499
  ],
643
500
  [
@@ -660,10 +517,6 @@
660
517
  "ToolbarWidget.selected",
661
518
  "@angular/aria/toolbar"
662
519
  ],
663
- [
664
- "ToolbarWidget.group",
665
- "@angular/aria/toolbar"
666
- ],
667
520
  [
668
521
  "ToolbarWidget.ngOnInit",
669
522
  "@angular/aria/toolbar"
@@ -677,17 +530,13 @@
677
530
  "@angular/aria/toolbar"
678
531
  ],
679
532
  [
680
- "ToolbarWidgetGroup.toolbar",
533
+ "ToolbarWidgetGroup.element",
681
534
  "@angular/aria/toolbar"
682
535
  ],
683
536
  [
684
537
  "ToolbarWidgetGroup.disabled",
685
538
  "@angular/aria/toolbar"
686
539
  ],
687
- [
688
- "ToolbarWidgetGroup.items",
689
- "@angular/aria/toolbar"
690
- ],
691
540
  [
692
541
  "ToolbarWidgetGroup.multi",
693
542
  "@angular/aria/toolbar"