@angular/aria 22.0.0-next.7 → 22.0.0-rc.0
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.
- package/fesm2022/_accordion-chunk.mjs +11 -1
- package/fesm2022/_accordion-chunk.mjs.map +1 -1
- package/fesm2022/_click-event-manager-chunk.mjs +1 -1
- package/fesm2022/_deferred-content-chunk.mjs +6 -6
- package/fesm2022/_list-chunk.mjs +4 -1
- package/fesm2022/_list-chunk.mjs.map +1 -1
- package/fesm2022/_list-navigation-chunk.mjs +1 -1
- package/fesm2022/_list-typeahead-chunk.mjs +1 -1
- package/fesm2022/_menu-chunk.mjs +10 -1
- package/fesm2022/_menu-chunk.mjs.map +1 -1
- package/fesm2022/{_combobox-listbox-chunk.mjs → _option-chunk.mjs} +13 -50
- package/fesm2022/_option-chunk.mjs.map +1 -0
- package/fesm2022/_tabs-chunk.mjs +1 -1
- package/fesm2022/_toolbar-widget-group-chunk.mjs +10 -1
- package/fesm2022/_toolbar-widget-group-chunk.mjs.map +1 -1
- package/fesm2022/_transforms-chunk.mjs +8 -0
- package/fesm2022/_transforms-chunk.mjs.map +1 -0
- package/fesm2022/{_combobox-tree-chunk.mjs → _tree-chunk.mjs} +8 -48
- package/fesm2022/_tree-chunk.mjs.map +1 -0
- package/fesm2022/{_signal-like-chunk.mjs → _violations-chunk.mjs} +60 -2
- package/fesm2022/_violations-chunk.mjs.map +1 -0
- package/fesm2022/_widget-chunk.mjs +46 -15
- package/fesm2022/_widget-chunk.mjs.map +1 -1
- package/fesm2022/accordion.mjs +116 -89
- package/fesm2022/accordion.mjs.map +1 -1
- package/fesm2022/aria.mjs +1 -1
- package/fesm2022/aria.mjs.map +1 -1
- package/fesm2022/combobox-testing.mjs +79 -0
- package/fesm2022/combobox-testing.mjs.map +1 -0
- package/fesm2022/combobox.mjs +273 -307
- package/fesm2022/combobox.mjs.map +1 -1
- package/fesm2022/grid-testing.mjs +8 -0
- package/fesm2022/grid-testing.mjs.map +1 -1
- package/fesm2022/grid.mjs +75 -87
- package/fesm2022/grid.mjs.map +1 -1
- package/fesm2022/listbox-testing.mjs +4 -0
- package/fesm2022/listbox-testing.mjs.map +1 -1
- package/fesm2022/listbox.mjs +192 -215
- package/fesm2022/listbox.mjs.map +1 -1
- package/fesm2022/menu-testing.mjs +11 -0
- package/fesm2022/menu-testing.mjs.map +1 -1
- package/fesm2022/menu.mjs +60 -66
- package/fesm2022/menu.mjs.map +1 -1
- package/fesm2022/private.mjs +19 -13
- package/fesm2022/private.mjs.map +1 -1
- package/fesm2022/tabs.mjs +172 -115
- package/fesm2022/tabs.mjs.map +1 -1
- package/fesm2022/toolbar-testing.mjs +5 -1
- package/fesm2022/toolbar-testing.mjs.map +1 -1
- package/fesm2022/toolbar.mjs +41 -30
- package/fesm2022/toolbar.mjs.map +1 -1
- package/fesm2022/tree-testing.mjs +12 -0
- package/fesm2022/tree-testing.mjs.map +1 -1
- package/fesm2022/tree.mjs +126 -156
- package/fesm2022/tree.mjs.map +1 -1
- package/package.json +6 -6
- package/types/_accordion-chunk.d.ts +4 -2
- package/types/_collection-chunk.d.ts +42 -0
- package/types/_expansion-chunk.d.ts +1 -1
- package/types/_grid-chunk.d.ts +11 -3
- package/types/_keyboard-event-manager-chunk.d.ts +1 -1
- package/types/_list-chunk.d.ts +1 -1
- package/types/_list-navigation-chunk.d.ts +1 -1
- package/types/_listbox-chunk.d.ts +1 -1
- package/types/_menu-chunk.d.ts +3 -1
- package/types/_tabs-chunk.d.ts +1 -1
- package/types/_toolbar-chunk.d.ts +3 -1
- package/types/_tree-chunk.d.ts +1 -1
- package/types/accordion.d.ts +10 -18
- package/types/combobox-testing.d.ts +63 -0
- package/types/combobox.d.ts +96 -193
- package/types/grid-testing.d.ts +4 -0
- package/types/grid.d.ts +99 -103
- package/types/listbox-testing.d.ts +25 -0
- package/types/listbox.d.ts +53 -62
- package/types/menu-testing.d.ts +6 -0
- package/types/menu.d.ts +17 -23
- package/types/private.d.ts +26 -137
- package/types/tabs.d.ts +69 -80
- package/types/toolbar-testing.d.ts +4 -0
- package/types/toolbar.d.ts +6 -12
- package/types/tree-testing.d.ts +8 -0
- package/types/tree.d.ts +7 -20
- package/fesm2022/_combobox-chunk.mjs +0 -478
- package/fesm2022/_combobox-chunk.mjs.map +0 -1
- package/fesm2022/_combobox-listbox-chunk.mjs.map +0 -1
- package/fesm2022/_combobox-tree-chunk.mjs.map +0 -1
- package/fesm2022/_element-chunk.mjs +0 -6
- package/fesm2022/_element-chunk.mjs.map +0 -1
- package/fesm2022/_signal-like-chunk.mjs.map +0 -1
- package/fesm2022/simple-combobox.mjs +0 -443
- package/fesm2022/simple-combobox.mjs.map +0 -1
- package/types/_combobox-chunk.d.ts +0 -224
- package/types/_element-chunk.d.ts +0 -10
- package/types/_signal-like-chunk.d.ts +0 -14
- package/types/simple-combobox.d.ts +0 -124
package/fesm2022/tree.mjs
CHANGED
|
@@ -1,29 +1,21 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, ElementRef,
|
|
2
|
+
import { inject, ElementRef, input, booleanAttribute, model, signal, computed, afterNextRender, afterRenderEffect, untracked, Directive } from '@angular/core';
|
|
3
3
|
import { _IdGenerator } from '@angular/cdk/a11y';
|
|
4
4
|
import { Directionality } from '@angular/cdk/bidi';
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { DeferredContentAware, DeferredContent } from './_deferred-content-chunk.mjs';
|
|
10
|
-
import './_combobox-chunk.mjs';
|
|
11
|
-
import './_signal-like-chunk.mjs';
|
|
12
|
-
import '@angular/core/primitives/signals';
|
|
5
|
+
import { TreePattern, TreeItemPattern } from './_tree-chunk.mjs';
|
|
6
|
+
import { SortedCollection, reportViolations, sortDirectives } from './_violations-chunk.mjs';
|
|
7
|
+
import { tabIndexTransform } from './_transforms-chunk.mjs';
|
|
8
|
+
import { DeferredContent, DeferredContentAware } from './_deferred-content-chunk.mjs';
|
|
13
9
|
import './_expansion-chunk.mjs';
|
|
14
10
|
import './_list-navigation-chunk.mjs';
|
|
15
11
|
import './_list-typeahead-chunk.mjs';
|
|
16
12
|
import './_click-event-manager-chunk.mjs';
|
|
13
|
+
import '@angular/core/primitives/signals';
|
|
17
14
|
|
|
18
15
|
class Tree {
|
|
19
16
|
_elementRef = inject(ElementRef);
|
|
20
17
|
element = this._elementRef.nativeElement;
|
|
21
|
-
|
|
22
|
-
optional: true
|
|
23
|
-
});
|
|
24
|
-
_unorderedItems = signal(new Set(), ...(ngDevMode ? [{
|
|
25
|
-
debugName: "_unorderedItems"
|
|
26
|
-
}] : []));
|
|
18
|
+
_collection = new SortedCollection();
|
|
27
19
|
id = input(inject(_IdGenerator).getId('ng-tree-', true), ...(ngDevMode ? [{
|
|
28
20
|
debugName: "id"
|
|
29
21
|
}] : []));
|
|
@@ -67,7 +59,8 @@ class Tree {
|
|
|
67
59
|
...(ngDevMode ? {
|
|
68
60
|
debugName: "tabIndex"
|
|
69
61
|
} : {}),
|
|
70
|
-
|
|
62
|
+
alias: 'tabindex',
|
|
63
|
+
transform: tabIndexTransform
|
|
71
64
|
});
|
|
72
65
|
value = model([], ...(ngDevMode ? [{
|
|
73
66
|
debugName: "value"
|
|
@@ -88,28 +81,24 @@ class Tree {
|
|
|
88
81
|
const inputs = {
|
|
89
82
|
...this,
|
|
90
83
|
id: this.id,
|
|
91
|
-
items: computed(() =>
|
|
84
|
+
items: computed(() => this._collection.orderedItems().map(item => item._pattern)),
|
|
92
85
|
activeItem: signal(undefined),
|
|
93
|
-
combobox: () => this._popup?.combobox?._pattern,
|
|
94
86
|
element: () => this.element
|
|
95
87
|
};
|
|
96
|
-
this._pattern =
|
|
88
|
+
this._pattern = new TreePattern(inputs);
|
|
97
89
|
this.activeDescendant = computed(() => this._pattern.activeDescendant(), ...(ngDevMode ? [{
|
|
98
90
|
debugName: "activeDescendant"
|
|
99
91
|
}] : []));
|
|
100
|
-
|
|
101
|
-
this.
|
|
102
|
-
}
|
|
103
|
-
afterRenderEffect({
|
|
104
|
-
read: () => {
|
|
105
|
-
if (typeof ngDevMode === 'undefined' || ngDevMode) {
|
|
106
|
-
const violations = this._pattern.validate();
|
|
107
|
-
for (const violation of violations) {
|
|
108
|
-
console.error(violation);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}
|
|
92
|
+
afterNextRender(() => {
|
|
93
|
+
this._collection.startObserving(this.element);
|
|
112
94
|
});
|
|
95
|
+
if (typeof ngDevMode === 'undefined' || ngDevMode) {
|
|
96
|
+
afterRenderEffect({
|
|
97
|
+
read: () => {
|
|
98
|
+
reportViolations(this._pattern.validate(), this.element);
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
}
|
|
113
102
|
afterRenderEffect({
|
|
114
103
|
write: () => this._pattern.setDefaultStateEffect()
|
|
115
104
|
});
|
|
@@ -117,29 +106,15 @@ class Tree {
|
|
|
117
106
|
write: () => {
|
|
118
107
|
const items = inputs.items();
|
|
119
108
|
const activeItem = untracked(() => inputs.activeItem());
|
|
120
|
-
if (!items.some(i => i === activeItem)
|
|
109
|
+
if (activeItem && !items.some(i => i === activeItem)) {
|
|
121
110
|
this._pattern.treeBehavior.unfocus();
|
|
122
|
-
|
|
123
|
-
}
|
|
124
|
-
});
|
|
125
|
-
afterRenderEffect({
|
|
126
|
-
write: () => {
|
|
127
|
-
if (!(this._pattern instanceof ComboboxTreePattern)) return;
|
|
128
|
-
const items = inputs.items();
|
|
129
|
-
const value = untracked(() => this.value());
|
|
130
|
-
if (items && value.some(v => !items.some(i => i.value() === v))) {
|
|
131
|
-
this.value.set(value.filter(v => items.some(i => i.value() === v)));
|
|
111
|
+
this._pattern.setDefaultState();
|
|
132
112
|
}
|
|
133
113
|
}
|
|
134
114
|
});
|
|
135
115
|
}
|
|
136
|
-
|
|
137
|
-
this.
|
|
138
|
-
this._unorderedItems.set(new Set(this._unorderedItems()));
|
|
139
|
-
}
|
|
140
|
-
_unregister(child) {
|
|
141
|
-
this._unorderedItems().delete(child);
|
|
142
|
-
this._unorderedItems.set(new Set(this._unorderedItems()));
|
|
116
|
+
ngOnDestroy() {
|
|
117
|
+
this._collection.stopObserving();
|
|
143
118
|
}
|
|
144
119
|
scrollActiveItemIntoView(options = {
|
|
145
120
|
block: 'nearest'
|
|
@@ -148,7 +123,7 @@ class Tree {
|
|
|
148
123
|
}
|
|
149
124
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
150
125
|
minVersion: "12.0.0",
|
|
151
|
-
version: "22.0.0-next.
|
|
126
|
+
version: "22.0.0-next.12",
|
|
152
127
|
ngImport: i0,
|
|
153
128
|
type: Tree,
|
|
154
129
|
deps: [],
|
|
@@ -156,7 +131,7 @@ class Tree {
|
|
|
156
131
|
});
|
|
157
132
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
158
133
|
minVersion: "17.1.0",
|
|
159
|
-
version: "22.0.0-next.
|
|
134
|
+
version: "22.0.0-next.12",
|
|
160
135
|
type: Tree,
|
|
161
136
|
isStandalone: true,
|
|
162
137
|
selector: "[ngTree]",
|
|
@@ -226,7 +201,7 @@ class Tree {
|
|
|
226
201
|
},
|
|
227
202
|
tabIndex: {
|
|
228
203
|
classPropertyName: "tabIndex",
|
|
229
|
-
publicName: "
|
|
204
|
+
publicName: "tabindex",
|
|
230
205
|
isSignal: true,
|
|
231
206
|
isRequired: false,
|
|
232
207
|
transformFunction: null
|
|
@@ -275,15 +250,12 @@ class Tree {
|
|
|
275
250
|
}
|
|
276
251
|
},
|
|
277
252
|
exportAs: ["ngTree"],
|
|
278
|
-
hostDirectives: [{
|
|
279
|
-
directive: ComboboxPopup
|
|
280
|
-
}],
|
|
281
253
|
ngImport: i0
|
|
282
254
|
});
|
|
283
255
|
}
|
|
284
256
|
i0.ɵɵngDeclareClassMetadata({
|
|
285
257
|
minVersion: "12.0.0",
|
|
286
|
-
version: "22.0.0-next.
|
|
258
|
+
version: "22.0.0-next.12",
|
|
287
259
|
ngImport: i0,
|
|
288
260
|
type: Tree,
|
|
289
261
|
decorators: [{
|
|
@@ -302,8 +274,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
302
274
|
'(keydown)': '_pattern.onKeydown($event)',
|
|
303
275
|
'(click)': '_pattern.onClick($event)',
|
|
304
276
|
'(focusin)': '_pattern.onFocusIn()'
|
|
305
|
-
}
|
|
306
|
-
hostDirectives: [ComboboxPopup]
|
|
277
|
+
}
|
|
307
278
|
}]
|
|
308
279
|
}],
|
|
309
280
|
ctorParameters: () => [],
|
|
@@ -384,7 +355,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
384
355
|
type: i0.Input,
|
|
385
356
|
args: [{
|
|
386
357
|
isSignal: true,
|
|
387
|
-
alias: "
|
|
358
|
+
alias: "tabindex",
|
|
388
359
|
required: false
|
|
389
360
|
}]
|
|
390
361
|
}],
|
|
@@ -418,6 +389,89 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
418
389
|
}
|
|
419
390
|
});
|
|
420
391
|
|
|
392
|
+
class TreeItemGroup {
|
|
393
|
+
_elementRef = inject(ElementRef);
|
|
394
|
+
element = this._elementRef.nativeElement;
|
|
395
|
+
_deferredContent = inject(DeferredContent);
|
|
396
|
+
_unorderedItems = signal(new Set(), ...(ngDevMode ? [{
|
|
397
|
+
debugName: "_unorderedItems"
|
|
398
|
+
}] : []));
|
|
399
|
+
_childPatterns = computed(() => [...this._unorderedItems()].sort(sortDirectives).map(c => c._pattern), ...(ngDevMode ? [{
|
|
400
|
+
debugName: "_childPatterns"
|
|
401
|
+
}] : []));
|
|
402
|
+
ownedBy = input.required(...(ngDevMode ? [{
|
|
403
|
+
debugName: "ownedBy"
|
|
404
|
+
}] : []));
|
|
405
|
+
ngOnInit() {
|
|
406
|
+
this._deferredContent.deferredContentAware.set(this.ownedBy());
|
|
407
|
+
this.ownedBy()._register(this);
|
|
408
|
+
}
|
|
409
|
+
ngOnDestroy() {
|
|
410
|
+
this.ownedBy()._unregister();
|
|
411
|
+
}
|
|
412
|
+
_register(child) {
|
|
413
|
+
this._unorderedItems().add(child);
|
|
414
|
+
this._unorderedItems.set(new Set(this._unorderedItems()));
|
|
415
|
+
}
|
|
416
|
+
_unregister(child) {
|
|
417
|
+
this._unorderedItems().delete(child);
|
|
418
|
+
this._unorderedItems.set(new Set(this._unorderedItems()));
|
|
419
|
+
}
|
|
420
|
+
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
421
|
+
minVersion: "12.0.0",
|
|
422
|
+
version: "22.0.0-next.12",
|
|
423
|
+
ngImport: i0,
|
|
424
|
+
type: TreeItemGroup,
|
|
425
|
+
deps: [],
|
|
426
|
+
target: i0.ɵɵFactoryTarget.Directive
|
|
427
|
+
});
|
|
428
|
+
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
429
|
+
minVersion: "17.1.0",
|
|
430
|
+
version: "22.0.0-next.12",
|
|
431
|
+
type: TreeItemGroup,
|
|
432
|
+
isStandalone: true,
|
|
433
|
+
selector: "ng-template[ngTreeItemGroup]",
|
|
434
|
+
inputs: {
|
|
435
|
+
ownedBy: {
|
|
436
|
+
classPropertyName: "ownedBy",
|
|
437
|
+
publicName: "ownedBy",
|
|
438
|
+
isSignal: true,
|
|
439
|
+
isRequired: true,
|
|
440
|
+
transformFunction: null
|
|
441
|
+
}
|
|
442
|
+
},
|
|
443
|
+
exportAs: ["ngTreeItemGroup"],
|
|
444
|
+
hostDirectives: [{
|
|
445
|
+
directive: DeferredContent
|
|
446
|
+
}],
|
|
447
|
+
ngImport: i0
|
|
448
|
+
});
|
|
449
|
+
}
|
|
450
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
451
|
+
minVersion: "12.0.0",
|
|
452
|
+
version: "22.0.0-next.12",
|
|
453
|
+
ngImport: i0,
|
|
454
|
+
type: TreeItemGroup,
|
|
455
|
+
decorators: [{
|
|
456
|
+
type: Directive,
|
|
457
|
+
args: [{
|
|
458
|
+
selector: 'ng-template[ngTreeItemGroup]',
|
|
459
|
+
exportAs: 'ngTreeItemGroup',
|
|
460
|
+
hostDirectives: [DeferredContent]
|
|
461
|
+
}]
|
|
462
|
+
}],
|
|
463
|
+
propDecorators: {
|
|
464
|
+
ownedBy: [{
|
|
465
|
+
type: i0.Input,
|
|
466
|
+
args: [{
|
|
467
|
+
isSignal: true,
|
|
468
|
+
alias: "ownedBy",
|
|
469
|
+
required: true
|
|
470
|
+
}]
|
|
471
|
+
}]
|
|
472
|
+
}
|
|
473
|
+
});
|
|
474
|
+
|
|
421
475
|
class TreeItem extends DeferredContentAware {
|
|
422
476
|
_elementRef = inject(ElementRef);
|
|
423
477
|
element = this._elementRef.nativeElement;
|
|
@@ -477,20 +531,17 @@ class TreeItem extends DeferredContentAware {
|
|
|
477
531
|
_pattern;
|
|
478
532
|
constructor() {
|
|
479
533
|
super();
|
|
480
|
-
afterNextRender(() => {
|
|
481
|
-
if (this.tree()._pattern instanceof ComboboxTreePattern) {
|
|
482
|
-
this.preserveContent.set(true);
|
|
483
|
-
}
|
|
484
|
-
});
|
|
485
534
|
afterRenderEffect({
|
|
486
535
|
write: () => {
|
|
487
|
-
this.
|
|
536
|
+
this.contentVisible.set(this._pattern.expanded());
|
|
488
537
|
}
|
|
489
538
|
});
|
|
490
539
|
}
|
|
491
540
|
ngOnInit() {
|
|
492
|
-
this.parent()
|
|
493
|
-
|
|
541
|
+
if (this.parent() instanceof TreeItemGroup) {
|
|
542
|
+
this.parent()._register(this);
|
|
543
|
+
}
|
|
544
|
+
this.tree()._collection.register(this);
|
|
494
545
|
const treePattern = computed(() => this.tree()._pattern, ...(ngDevMode ? [{
|
|
495
546
|
debugName: "treePattern"
|
|
496
547
|
}] : []));
|
|
@@ -513,8 +564,10 @@ class TreeItem extends DeferredContentAware {
|
|
|
513
564
|
});
|
|
514
565
|
}
|
|
515
566
|
ngOnDestroy() {
|
|
516
|
-
this.parent()
|
|
517
|
-
|
|
567
|
+
if (this.parent() instanceof TreeItemGroup) {
|
|
568
|
+
this.parent()._unregister(this);
|
|
569
|
+
}
|
|
570
|
+
this.tree()._collection.unregister(this);
|
|
518
571
|
}
|
|
519
572
|
_register(group) {
|
|
520
573
|
this._group.set(group);
|
|
@@ -524,7 +577,7 @@ class TreeItem extends DeferredContentAware {
|
|
|
524
577
|
}
|
|
525
578
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
526
579
|
minVersion: "12.0.0",
|
|
527
|
-
version: "22.0.0-next.
|
|
580
|
+
version: "22.0.0-next.12",
|
|
528
581
|
ngImport: i0,
|
|
529
582
|
type: TreeItem,
|
|
530
583
|
deps: [],
|
|
@@ -532,7 +585,7 @@ class TreeItem extends DeferredContentAware {
|
|
|
532
585
|
});
|
|
533
586
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
534
587
|
minVersion: "17.1.0",
|
|
535
|
-
version: "22.0.0-next.
|
|
588
|
+
version: "22.0.0-next.12",
|
|
536
589
|
type: TreeItem,
|
|
537
590
|
isStandalone: true,
|
|
538
591
|
selector: "[ngTreeItem]",
|
|
@@ -614,7 +667,7 @@ class TreeItem extends DeferredContentAware {
|
|
|
614
667
|
}
|
|
615
668
|
i0.ɵɵngDeclareClassMetadata({
|
|
616
669
|
minVersion: "12.0.0",
|
|
617
|
-
version: "22.0.0-next.
|
|
670
|
+
version: "22.0.0-next.12",
|
|
618
671
|
ngImport: i0,
|
|
619
672
|
type: TreeItem,
|
|
620
673
|
decorators: [{
|
|
@@ -701,88 +754,5 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
701
754
|
}
|
|
702
755
|
});
|
|
703
756
|
|
|
704
|
-
|
|
705
|
-
_elementRef = inject(ElementRef);
|
|
706
|
-
element = this._elementRef.nativeElement;
|
|
707
|
-
_deferredContent = inject(DeferredContent);
|
|
708
|
-
_unorderedItems = signal(new Set(), ...(ngDevMode ? [{
|
|
709
|
-
debugName: "_unorderedItems"
|
|
710
|
-
}] : []));
|
|
711
|
-
_childPatterns = computed(() => [...this._unorderedItems()].sort(sortDirectives).map(c => c._pattern), ...(ngDevMode ? [{
|
|
712
|
-
debugName: "_childPatterns"
|
|
713
|
-
}] : []));
|
|
714
|
-
ownedBy = input.required(...(ngDevMode ? [{
|
|
715
|
-
debugName: "ownedBy"
|
|
716
|
-
}] : []));
|
|
717
|
-
ngOnInit() {
|
|
718
|
-
this._deferredContent.deferredContentAware.set(this.ownedBy());
|
|
719
|
-
this.ownedBy()._register(this);
|
|
720
|
-
}
|
|
721
|
-
ngOnDestroy() {
|
|
722
|
-
this.ownedBy()._unregister();
|
|
723
|
-
}
|
|
724
|
-
_register(child) {
|
|
725
|
-
this._unorderedItems().add(child);
|
|
726
|
-
this._unorderedItems.set(new Set(this._unorderedItems()));
|
|
727
|
-
}
|
|
728
|
-
_unregister(child) {
|
|
729
|
-
this._unorderedItems().delete(child);
|
|
730
|
-
this._unorderedItems.set(new Set(this._unorderedItems()));
|
|
731
|
-
}
|
|
732
|
-
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
733
|
-
minVersion: "12.0.0",
|
|
734
|
-
version: "22.0.0-next.9",
|
|
735
|
-
ngImport: i0,
|
|
736
|
-
type: TreeItemGroup,
|
|
737
|
-
deps: [],
|
|
738
|
-
target: i0.ɵɵFactoryTarget.Directive
|
|
739
|
-
});
|
|
740
|
-
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
741
|
-
minVersion: "17.1.0",
|
|
742
|
-
version: "22.0.0-next.9",
|
|
743
|
-
type: TreeItemGroup,
|
|
744
|
-
isStandalone: true,
|
|
745
|
-
selector: "ng-template[ngTreeItemGroup]",
|
|
746
|
-
inputs: {
|
|
747
|
-
ownedBy: {
|
|
748
|
-
classPropertyName: "ownedBy",
|
|
749
|
-
publicName: "ownedBy",
|
|
750
|
-
isSignal: true,
|
|
751
|
-
isRequired: true,
|
|
752
|
-
transformFunction: null
|
|
753
|
-
}
|
|
754
|
-
},
|
|
755
|
-
exportAs: ["ngTreeItemGroup"],
|
|
756
|
-
hostDirectives: [{
|
|
757
|
-
directive: DeferredContent
|
|
758
|
-
}],
|
|
759
|
-
ngImport: i0
|
|
760
|
-
});
|
|
761
|
-
}
|
|
762
|
-
i0.ɵɵngDeclareClassMetadata({
|
|
763
|
-
minVersion: "12.0.0",
|
|
764
|
-
version: "22.0.0-next.9",
|
|
765
|
-
ngImport: i0,
|
|
766
|
-
type: TreeItemGroup,
|
|
767
|
-
decorators: [{
|
|
768
|
-
type: Directive,
|
|
769
|
-
args: [{
|
|
770
|
-
selector: 'ng-template[ngTreeItemGroup]',
|
|
771
|
-
exportAs: 'ngTreeItemGroup',
|
|
772
|
-
hostDirectives: [DeferredContent]
|
|
773
|
-
}]
|
|
774
|
-
}],
|
|
775
|
-
propDecorators: {
|
|
776
|
-
ownedBy: [{
|
|
777
|
-
type: i0.Input,
|
|
778
|
-
args: [{
|
|
779
|
-
isSignal: true,
|
|
780
|
-
alias: "ownedBy",
|
|
781
|
-
required: true
|
|
782
|
-
}]
|
|
783
|
-
}]
|
|
784
|
-
}
|
|
785
|
-
});
|
|
786
|
-
|
|
787
|
-
export { Tree, TreeItem, TreeItemGroup, ComboboxPopup as ɵɵComboboxPopup, DeferredContent as ɵɵDeferredContent };
|
|
757
|
+
export { Tree, TreeItem, TreeItemGroup, DeferredContent as ɵɵDeferredContent };
|
|
788
758
|
//# sourceMappingURL=tree.mjs.map
|
package/fesm2022/tree.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/tree/tree.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/tree/tree-item.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/tree/tree-item-group.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n Directive,\n ElementRef,\n afterRenderEffect,\n booleanAttribute,\n computed,\n inject,\n input,\n model,\n numberAttribute,\n signal,\n Signal,\n untracked,\n} from '@angular/core';\nimport {_IdGenerator} from '@angular/cdk/a11y';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {ComboboxTreePattern, TreeItemPattern, TreePattern, sortDirectives} from '../private';\nimport {ComboboxPopup} from '../combobox';\nimport type {TreeItem} from './tree-item';\n\n/**\n * A container that transforms nested lists into an accessible, ARIA-compliant tree structure.\n * It manages the overall state of the tree, including selection, expansion, and keyboard\n * navigation.\n *\n * ```html\n * <ul ngTree [(value)]=\"selectedItems\" [multi]=\"true\">\n * <ng-template\n * [ngTemplateOutlet]=\"treeNodes\"\n * [ngTemplateOutletContext]=\"{nodes: treeData, parent: tree}\"\n * />\n * </ul>\n *\n * <ng-template #treeNodes let-nodes=\"nodes\" let-parent=\"parent\">\n * @for (node of nodes; track node.name) {\n * <li ngTreeItem [parent]=\"parent\" [value]=\"node.name\" [label]=\"node.name\">\n * {{ node.name }}\n * @if (node.children) {\n * <ul role=\"group\">\n * <ng-template ngTreeItemGroup [ownedBy]=\"treeItem\" #group=\"ngTreeItemGroup\">\n * <ng-template\n * [ngTemplateOutlet]=\"treeNodes\"\n * [ngTemplateOutletContext]=\"{nodes: node.children, parent: group}\"\n * />\n * </ng-template>\n * </ul>\n * }\n * </li>\n * }\n * </ng-template>\n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Tree](guide/aria/tree)\n */\n@Directive({\n selector: '[ngTree]',\n exportAs: 'ngTree',\n host: {\n 'role': 'tree',\n '[attr.id]': 'id()',\n '[attr.aria-orientation]': '_pattern.orientation()',\n '[attr.aria-multiselectable]': '_pattern.multi()',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[attr.aria-activedescendant]': '_pattern.activeDescendant()',\n '[tabindex]': 'tabIndex() !== undefined ? tabIndex() : _pattern.tabIndex()',\n '(keydown)': '_pattern.onKeydown($event)',\n '(click)': '_pattern.onClick($event)',\n '(focusin)': '_pattern.onFocusIn()',\n },\n hostDirectives: [ComboboxPopup],\n})\nexport class Tree<V> {\n /** A reference to the host element. */\n private readonly _elementRef = inject(ElementRef);\n\n /** A reference to the host element. */\n readonly element = this._elementRef.nativeElement as HTMLElement;\n\n /** A reference to the parent combobox popup, if one exists. */\n private readonly _popup = inject<ComboboxPopup<V>>(ComboboxPopup, {\n optional: true,\n });\n\n /** All TreeItem instances within this tree. */\n private readonly _unorderedItems = signal(new Set<TreeItem<V>>());\n\n /** A unique identifier for the tree. */\n readonly id = input(inject(_IdGenerator).getId('ng-tree-', true));\n\n /** Orientation of the tree. */\n readonly orientation = input<'vertical' | 'horizontal'>('vertical');\n\n /** Whether multi-selection is allowed. */\n readonly multi = input(false, {transform: booleanAttribute});\n\n /** Whether the tree is disabled. */\n readonly disabled = input(false, {transform: booleanAttribute});\n\n /**\n * The selection strategy used by the tree.\n * - `explicit`: Items are selected explicitly by the user (e.g., via click or spacebar).\n * - `follow`: The focused item is automatically selected.\n */\n readonly selectionMode = input<'explicit' | 'follow'>('explicit');\n\n /**\n * The focus strategy used by the tree.\n * - `roving`: Focus is moved to the active item using `tabindex`.\n * - `activedescendant`: Focus remains on the tree container, and `aria-activedescendant` is used to indicate the active item.\n */\n readonly focusMode = input<'roving' | 'activedescendant'>('roving');\n\n /** Whether navigation wraps. */\n readonly wrap = input(true, {transform: booleanAttribute});\n\n /**\n * Whether to allow disabled items to receive focus. When `true`, disabled items are\n * focusable but not interactive. When `false`, disabled items are skipped during navigation.\n */\n readonly softDisabled = input(true, {transform: booleanAttribute});\n\n /** The delay in seconds before the typeahead search is reset. */\n readonly typeaheadDelay = input(500);\n\n /** The tabindex of the tree. */\n readonly tabIndex = input(undefined, {\n transform: (v: string | number | undefined) =>\n v === undefined ? undefined : numberAttribute(v),\n });\n\n /** The values of the currently selected items. */\n readonly value = model<V[]>([]);\n\n /** Text direction. */\n readonly textDirection = inject(Directionality).valueSignal;\n\n /** Whether the tree is in navigation mode. */\n readonly nav = input(false, {transform: booleanAttribute});\n\n /**\n * The `aria-current` type. It can be used in navigation trees to indicate the currently active item.\n * See https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Reference/Attributes/aria-current for more details.\n */\n readonly currentType = input<'page' | 'step' | 'location' | 'date' | 'time' | 'true' | 'false'>(\n 'page',\n );\n\n /** The UI pattern for the tree. */\n readonly _pattern: TreePattern<V>;\n\n /** The ID of the active descendant in the tree. */\n readonly activeDescendant: Signal<string | undefined>;\n\n constructor() {\n const inputs = {\n ...this,\n id: this.id,\n items: computed(() =>\n [...this._unorderedItems()].sort(sortDirectives).map(item => item._pattern),\n ),\n activeItem: signal<TreeItemPattern<V> | undefined>(undefined),\n combobox: () => this._popup?.combobox?._pattern,\n element: () => this.element,\n };\n\n this._pattern = this._popup?.combobox\n ? new ComboboxTreePattern<V>(inputs)\n : new TreePattern<V>(inputs);\n\n this.activeDescendant = computed(() => this._pattern.activeDescendant());\n\n if (this._popup?.combobox) {\n this._popup?._controls?.set(this._pattern as ComboboxTreePattern<V>);\n }\n\n // Check for any violationns after the DOM has been updated.\n afterRenderEffect({\n read: () => {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n const violations = this._pattern.validate();\n for (const violation of violations) {\n console.error(violation);\n }\n }\n },\n });\n\n // Resets default focus based on selection state until interacted.\n afterRenderEffect({write: () => this._pattern.setDefaultStateEffect()});\n\n afterRenderEffect({\n write: () => {\n const items = inputs.items();\n const activeItem = untracked(() => inputs.activeItem());\n\n if (!items.some(i => i === activeItem) && activeItem) {\n this._pattern.treeBehavior.unfocus();\n }\n },\n });\n\n afterRenderEffect({\n write: () => {\n if (!(this._pattern instanceof ComboboxTreePattern)) return;\n\n const items = inputs.items();\n const value = untracked(() => this.value());\n\n if (items && value.some(v => !items.some(i => i.value() === v))) {\n this.value.set(value.filter(v => items.some(i => i.value() === v)));\n }\n },\n });\n }\n\n _register(child: TreeItem<V>) {\n this._unorderedItems().add(child);\n this._unorderedItems.set(new Set(this._unorderedItems()));\n }\n\n _unregister(child: TreeItem<V>) {\n this._unorderedItems().delete(child);\n this._unorderedItems.set(new Set(this._unorderedItems()));\n }\n\n scrollActiveItemIntoView(options: ScrollIntoViewOptions = {block: 'nearest'}) {\n this._pattern.inputs.activeItem()?.element()?.scrollIntoView(options);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n Directive,\n ElementRef,\n afterRenderEffect,\n booleanAttribute,\n computed,\n inject,\n input,\n model,\n signal,\n Signal,\n OnInit,\n OnDestroy,\n afterNextRender,\n} from '@angular/core';\nimport {_IdGenerator} from '@angular/cdk/a11y';\nimport {ComboboxTreePattern, TreeItemPattern, DeferredContentAware, HasElement} from '../private';\nimport {Tree} from './tree';\nimport {TreeItemGroup} from './tree-item-group';\n\n/**\n * A selectable and expandable item in an `ngTree`.\n *\n * The `ngTreeItem` directive represents an individual node within an `ngTree`. It can be\n * selected, expanded (if it has children), and disabled. The `parent` input establishes\n * the hierarchical relationship within the tree.\n *\n * ```html\n * <li ngTreeItem [parent]=\"parentTreeOrGroup\" value=\"item-id\" label=\"Item Label\">\n * Item Label\n * </li>\n * ```\n *\n * @developerPreview 21.0\n */\n@Directive({\n selector: '[ngTreeItem]',\n exportAs: 'ngTreeItem',\n host: {\n '[attr.data-active]': 'active()',\n 'role': 'treeitem',\n '[id]': '_pattern.id()',\n '[attr.aria-expanded]': '_expanded()',\n '[attr.aria-selected]': 'selected()',\n '[attr.aria-current]': '_pattern.current()',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[attr.aria-level]': 'level()',\n '[attr.aria-setsize]': '_pattern.setsize()',\n '[attr.aria-posinset]': '_pattern.posinset()',\n '[attr.tabindex]': '_pattern.tabIndex()',\n },\n})\nexport class TreeItem<V> extends DeferredContentAware implements OnInit, OnDestroy, HasElement {\n /** A reference to the host element. */\n private readonly _elementRef = inject(ElementRef);\n\n /** A reference to the host element. */\n readonly element = this._elementRef.nativeElement as HTMLElement;\n\n /** The owned tree item group. */\n private readonly _group = signal<TreeItemGroup<V> | undefined>(undefined);\n\n /** A unique identifier for the tree item. */\n readonly id = input(inject(_IdGenerator).getId('ng-tree-item-', true));\n\n /** The value of the tree item. */\n readonly value = input.required<V>();\n\n /** The parent tree root or tree item group. */\n readonly parent = input.required<Tree<V> | TreeItemGroup<V>>();\n\n /** Whether the tree item is disabled. */\n readonly disabled = input(false, {transform: booleanAttribute});\n\n /** Whether the tree item is selectable. */\n readonly selectable = input<boolean>(true);\n\n /** Whether the tree item is expanded. */\n readonly expanded = model<boolean>(false);\n\n /** Optional label for typeahead. Defaults to the element's textContent. */\n readonly label = input<string>();\n\n /** Search term for typeahead. */\n readonly searchTerm = computed(() => this.label() ?? this.element.textContent);\n\n /** The tree root. */\n readonly tree: Signal<Tree<V>> = computed(() => {\n if (this.parent() instanceof Tree) {\n return this.parent() as Tree<V>;\n }\n return (this.parent() as TreeItemGroup<V>).ownedBy().tree();\n });\n\n /** Whether the item is active. */\n readonly active = computed(() => this._pattern.active());\n\n /** The level of the current item in a tree. */\n readonly level = computed(() => this._pattern.level());\n\n /** Whether the item is selected. */\n readonly selected = computed(() => this._pattern.selected());\n\n /** Whether this item is visible due to all of its parents being expanded. */\n readonly visible = computed(() => this._pattern.visible());\n\n /** Whether the tree is expanded. Use this value for aria-expanded. */\n protected readonly _expanded: Signal<boolean | undefined> = computed(() =>\n this._pattern.expandable() ? this._pattern.expanded() : undefined,\n );\n\n /** The UI pattern for this item. */\n _pattern!: TreeItemPattern<V>;\n\n constructor() {\n super();\n afterNextRender(() => {\n if (this.tree()._pattern instanceof ComboboxTreePattern) {\n this.preserveContent.set(true);\n }\n });\n // Connect the group's hidden state to the DeferredContentAware's visibility.\n afterRenderEffect({\n write: () => {\n this.tree()._pattern instanceof ComboboxTreePattern\n ? this.contentVisible.set(true)\n : this.contentVisible.set(this._pattern.expanded());\n },\n });\n }\n\n ngOnInit() {\n this.parent()._register(this);\n this.tree()._register(this);\n\n const treePattern = computed(() => this.tree()._pattern);\n const parentPattern = computed(() => {\n if (this.parent() instanceof Tree) {\n return treePattern();\n }\n return (this.parent() as TreeItemGroup<V>).ownedBy()._pattern;\n });\n this._pattern = new TreeItemPattern<V>({\n ...this,\n tree: treePattern,\n parent: parentPattern,\n children: computed(() => this._group()?._childPatterns()),\n hasChildren: computed(() => !!this._group()),\n element: () => this.element,\n searchTerm: () => this.searchTerm() ?? '',\n });\n }\n\n ngOnDestroy() {\n this.parent()._unregister(this);\n this.tree()._unregister(this);\n }\n\n _register(group: TreeItemGroup<V>) {\n this._group.set(group);\n }\n\n _unregister() {\n this._group.set(undefined);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n Directive,\n ElementRef,\n computed,\n inject,\n input,\n signal,\n OnInit,\n OnDestroy,\n} from '@angular/core';\nimport {TreeItemPattern, DeferredContent, sortDirectives} from '../private';\nimport type {TreeItem} from './tree-item';\n\n/**\n * Group that contains children tree items.\n *\n * The `ngTreeItemGroup` structural directive should be applied to an `ng-template` that\n * wraps the child `ngTreeItem` elements. It is used to define a group of children for an\n * expandable `ngTreeItem`. The `ownedBy` input links the group to its parent `ngTreeItem`.\n *\n * ```html\n * <li ngTreeItem [value]=\"'parent-id'\">\n * Parent Item\n * <ul role=\"group\">\n * <ng-template ngTreeItemGroup [ownedBy]=\"parentTreeItemRef\">\n * <li ngTreeItem [value]=\"'child-id'\">Child Item</li>\n * </ng-template>\n * </ul>\n * </li>\n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Tree](guide/aria/tree)\n */\n@Directive({\n selector: 'ng-template[ngTreeItemGroup]',\n exportAs: 'ngTreeItemGroup',\n hostDirectives: [DeferredContent],\n})\nexport class TreeItemGroup<V> implements OnInit, OnDestroy {\n /** A reference to the host element. */\n private readonly _elementRef = inject(ElementRef);\n\n /** A reference to the host element. */\n readonly element = this._elementRef.nativeElement as HTMLElement;\n\n /** The DeferredContent host directive. */\n private readonly _deferredContent = inject(DeferredContent);\n\n /** All groupable items that are descendants of the group. */\n private readonly _unorderedItems = signal(new Set<TreeItem<V>>());\n\n /** Child items within this group. */\n readonly _childPatterns = computed<TreeItemPattern<V>[]>(() =>\n [...this._unorderedItems()].sort(sortDirectives).map(c => c._pattern),\n );\n\n /** Tree item that owns the group. */\n readonly ownedBy = input.required<TreeItem<V>>();\n\n ngOnInit() {\n this._deferredContent.deferredContentAware.set(this.ownedBy());\n this.ownedBy()._register(this);\n }\n\n ngOnDestroy() {\n this.ownedBy()._unregister();\n }\n\n _register(child: TreeItem<V>) {\n this._unorderedItems().add(child);\n this._unorderedItems.set(new Set(this._unorderedItems()));\n }\n\n _unregister(child: TreeItem<V>) {\n this._unorderedItems().delete(child);\n this._unorderedItems.set(new Set(this._unorderedItems()));\n }\n}\n"],"names":["Tree","_elementRef","inject","ElementRef","element","nativeElement","_popup","ComboboxPopup","optional","_unorderedItems","signal","Set","id","input","_IdGenerator","getId","orientation","multi","transform","booleanAttribute","disabled","selectionMode","focusMode","wrap","softDisabled","typeaheadDelay","tabIndex","undefined","ngDevMode","debugName","v","numberAttribute","value","model","textDirection","Directionality","valueSignal","nav","currentType","_pattern","activeDescendant","constructor","inputs","items","computed","sort","sortDirectives","map","item","activeItem","combobox","ComboboxTreePattern","TreePattern","_controls","set","afterRenderEffect","read","violations","validate","violation","console","error","write","setDefaultStateEffect","untracked","some","i","treeBehavior","unfocus","filter","_register","child","add","_unregister","delete","scrollActiveItemIntoView","options","block","scrollIntoView","deps","target","i0","ɵɵFactoryTarget","Directive","isStandalone","selector","classPropertyName","publicName","isSignal","isRequired","transformFunction","outputs","host","attributes","listeners","properties","exportAs","hostDirectives","directive","i1","ngImport","decorators","args","TreeItem","DeferredContentAware","_group","required","parent","selectable","expanded","label","searchTerm","textContent","tree","ownedBy","active","level","selected","visible","_expanded","expandable","afterNextRender","preserveContent","contentVisible","ngOnInit","treePattern","parentPattern","TreeItemPattern","children","_childPatterns","hasChildren","ngOnDestroy","group","usesInheritance","TreeItemGroup","_deferredContent","DeferredContent","c","deferredContentAware"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tree.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/tree/tree.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/tree/tree-item-group.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/tree/tree-item.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n afterNextRender,\n afterRenderEffect,\n booleanAttribute,\n computed,\n Directive,\n ElementRef,\n inject,\n input,\n model,\n OnDestroy,\n signal,\n Signal,\n untracked,\n} from '@angular/core';\nimport {_IdGenerator} from '@angular/cdk/a11y';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {\n SortedCollection,\n tabIndexTransform,\n TreeItemPattern,\n TreePattern,\n reportViolations,\n} from '../private';\nimport type {TreeItem} from './tree-item';\n\n/**\n * A container that transforms nested lists into an accessible, ARIA-compliant tree structure.\n * It manages the overall state of the tree, including selection, expansion, and keyboard\n * navigation.\n *\n * ```html\n * <ul ngTree [(value)]=\"selectedItems\" [multi]=\"true\">\n * <ng-template\n * [ngTemplateOutlet]=\"treeNodes\"\n * [ngTemplateOutletContext]=\"{nodes: treeData, parent: tree}\"\n * />\n * </ul>\n *\n * <ng-template #treeNodes let-nodes=\"nodes\" let-parent=\"parent\">\n * @for (node of nodes; track node.name) {\n * <li ngTreeItem [parent]=\"parent\" [value]=\"node.name\" [label]=\"node.name\">\n * {{ node.name }}\n * @if (node.children) {\n * <ul role=\"group\">\n * <ng-template ngTreeItemGroup [ownedBy]=\"treeItem\" #group=\"ngTreeItemGroup\">\n * <ng-template\n * [ngTemplateOutlet]=\"treeNodes\"\n * [ngTemplateOutletContext]=\"{nodes: node.children, parent: group}\"\n * />\n * </ng-template>\n * </ul>\n * }\n * </li>\n * }\n * </ng-template>\n * ```\n *\n * @see [Tree](guide/aria/tree)\n */\n@Directive({\n selector: '[ngTree]',\n exportAs: 'ngTree',\n host: {\n 'role': 'tree',\n '[attr.id]': 'id()',\n '[attr.aria-orientation]': '_pattern.orientation()',\n '[attr.aria-multiselectable]': '_pattern.multi()',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[attr.aria-activedescendant]': '_pattern.activeDescendant()',\n '[tabindex]': 'tabIndex() !== undefined ? tabIndex() : _pattern.tabIndex()',\n '(keydown)': '_pattern.onKeydown($event)',\n '(click)': '_pattern.onClick($event)',\n '(focusin)': '_pattern.onFocusIn()',\n },\n})\nexport class Tree<V> implements OnDestroy {\n /** A reference to the host element. */\n private readonly _elementRef = inject(ElementRef);\n\n /** A reference to the host element. */\n readonly element = this._elementRef.nativeElement as HTMLElement;\n\n /** The collection of tree items. */\n readonly _collection = new SortedCollection<TreeItem<V>>();\n\n /** A unique identifier for the tree. */\n readonly id = input(inject(_IdGenerator).getId('ng-tree-', true));\n\n /** Orientation of the tree. */\n readonly orientation = input<'vertical' | 'horizontal'>('vertical');\n\n /** Whether multi-selection is allowed. */\n readonly multi = input(false, {transform: booleanAttribute});\n\n /** Whether the tree is disabled. */\n readonly disabled = input(false, {transform: booleanAttribute});\n\n /**\n * The selection strategy used by the tree.\n * - `explicit`: Items are selected explicitly by the user (e.g., via click or spacebar).\n * - `follow`: The focused item is automatically selected.\n */\n readonly selectionMode = input<'explicit' | 'follow'>('explicit');\n\n /**\n * The focus strategy used by the tree.\n * - `roving`: Focus is moved to the active item using `tabindex`.\n * - `activedescendant`: Focus remains on the tree container, and `aria-activedescendant` is used to indicate the active item.\n */\n readonly focusMode = input<'roving' | 'activedescendant'>('roving');\n\n /** Whether navigation wraps. */\n readonly wrap = input(true, {transform: booleanAttribute});\n\n /**\n * Whether to allow disabled items to receive focus. When `true`, disabled items are\n * focusable but not interactive. When `false`, disabled items are skipped during navigation.\n */\n readonly softDisabled = input(true, {transform: booleanAttribute});\n\n /** The delay in seconds before the typeahead search is reset. */\n readonly typeaheadDelay = input(500);\n\n /** The tabindex of the tree. */\n readonly tabIndex = input(undefined, {\n alias: 'tabindex',\n transform: tabIndexTransform,\n });\n\n /** The values of the currently selected items. */\n readonly value = model<V[]>([]);\n\n /** Text direction. */\n readonly textDirection = inject(Directionality).valueSignal;\n\n /** Whether the tree is in navigation mode. */\n readonly nav = input(false, {transform: booleanAttribute});\n\n /**\n * The `aria-current` type. It can be used in navigation trees to indicate the currently active item.\n * See https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Reference/Attributes/aria-current for more details.\n */\n readonly currentType = input<'page' | 'step' | 'location' | 'date' | 'time' | 'true' | 'false'>(\n 'page',\n );\n\n /** The UI pattern for the tree. */\n readonly _pattern: TreePattern<V>;\n\n /** The ID of the active descendant in the tree. */\n readonly activeDescendant: Signal<string | undefined>;\n\n constructor() {\n const inputs = {\n ...this,\n id: this.id,\n items: computed(() => this._collection.orderedItems().map(item => item._pattern)),\n activeItem: signal<TreeItemPattern<V> | undefined>(undefined),\n element: () => this.element,\n };\n\n this._pattern = new TreePattern<V>(inputs);\n\n this.activeDescendant = computed(() => this._pattern.activeDescendant());\n\n afterNextRender(() => {\n this._collection.startObserving(this.element);\n });\n\n // Check for any violations after the DOM has been updated.\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n afterRenderEffect({\n read: () => {\n reportViolations(this._pattern.validate(), this.element);\n },\n });\n }\n\n // Resets default focus based on selection state until interacted.\n afterRenderEffect({write: () => this._pattern.setDefaultStateEffect()});\n\n afterRenderEffect({\n write: () => {\n const items = inputs.items();\n const activeItem = untracked(() => inputs.activeItem());\n\n if (activeItem && !items.some(i => i === activeItem)) {\n this._pattern.treeBehavior.unfocus();\n this._pattern.setDefaultState();\n }\n },\n });\n }\n\n ngOnDestroy() {\n this._collection.stopObserving();\n }\n\n scrollActiveItemIntoView(options: ScrollIntoViewOptions = {block: 'nearest'}) {\n this._pattern.inputs.activeItem()?.element()?.scrollIntoView(options);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n Directive,\n ElementRef,\n computed,\n inject,\n input,\n signal,\n OnInit,\n OnDestroy,\n} from '@angular/core';\nimport {TreeItemPattern, DeferredContent, sortDirectives} from '../private';\nimport type {TreeItem} from './tree-item';\n\n/**\n * Group that contains children tree items.\n *\n * The `ngTreeItemGroup` structural directive should be applied to an `ng-template` that\n * wraps the child `ngTreeItem` elements. It is used to define a group of children for an\n * expandable `ngTreeItem`. The `ownedBy` input links the group to its parent `ngTreeItem`.\n *\n * ```html\n * <li ngTreeItem [value]=\"'parent-id'\">\n * Parent Item\n * <ul role=\"group\">\n * <ng-template ngTreeItemGroup [ownedBy]=\"parentTreeItemRef\">\n * <li ngTreeItem [value]=\"'child-id'\">Child Item</li>\n * </ng-template>\n * </ul>\n * </li>\n * ```\n *\n * @see [Tree](guide/aria/tree)\n */\n@Directive({\n selector: 'ng-template[ngTreeItemGroup]',\n exportAs: 'ngTreeItemGroup',\n hostDirectives: [DeferredContent],\n})\nexport class TreeItemGroup<V> implements OnInit, OnDestroy {\n /** A reference to the host element. */\n private readonly _elementRef = inject(ElementRef);\n\n /** A reference to the host element. */\n readonly element = this._elementRef.nativeElement as HTMLElement;\n\n /** The DeferredContent host directive. */\n private readonly _deferredContent = inject(DeferredContent);\n\n /** All groupable items that are descendants of the group. */\n private readonly _unorderedItems = signal(new Set<TreeItem<V>>());\n\n /** Child items within this group. */\n readonly _childPatterns = computed<TreeItemPattern<V>[]>(() =>\n [...this._unorderedItems()].sort(sortDirectives).map(c => c._pattern),\n );\n\n /** Tree item that owns the group. */\n readonly ownedBy = input.required<TreeItem<V>>();\n\n ngOnInit() {\n this._deferredContent.deferredContentAware.set(this.ownedBy());\n this.ownedBy()._register(this);\n }\n\n ngOnDestroy() {\n this.ownedBy()._unregister();\n }\n\n _register(child: TreeItem<V>) {\n this._unorderedItems().add(child);\n this._unorderedItems.set(new Set(this._unorderedItems()));\n }\n\n _unregister(child: TreeItem<V>) {\n this._unorderedItems().delete(child);\n this._unorderedItems.set(new Set(this._unorderedItems()));\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n Directive,\n ElementRef,\n afterRenderEffect,\n booleanAttribute,\n computed,\n inject,\n input,\n model,\n signal,\n Signal,\n OnInit,\n OnDestroy,\n} from '@angular/core';\nimport {_IdGenerator} from '@angular/cdk/a11y';\nimport {TreeItemPattern, DeferredContentAware, HasElement} from '../private';\nimport {Tree} from './tree';\nimport {TreeItemGroup} from './tree-item-group';\n\n/**\n * A selectable and expandable item in an `ngTree`.\n *\n * The `ngTreeItem` directive represents an individual node within an `ngTree`. It can be\n * selected, expanded (if it has children), and disabled. The `parent` input establishes\n * the hierarchical relationship within the tree.\n *\n * ```html\n * <li ngTreeItem [parent]=\"parentTreeOrGroup\" value=\"item-id\" label=\"Item Label\">\n * Item Label\n * </li>\n * ```\n */\n@Directive({\n selector: '[ngTreeItem]',\n exportAs: 'ngTreeItem',\n host: {\n '[attr.data-active]': 'active()',\n 'role': 'treeitem',\n '[id]': '_pattern.id()',\n '[attr.aria-expanded]': '_expanded()',\n '[attr.aria-selected]': 'selected()',\n '[attr.aria-current]': '_pattern.current()',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[attr.aria-level]': 'level()',\n '[attr.aria-setsize]': '_pattern.setsize()',\n '[attr.aria-posinset]': '_pattern.posinset()',\n '[attr.tabindex]': '_pattern.tabIndex()',\n },\n})\nexport class TreeItem<V> extends DeferredContentAware implements OnInit, OnDestroy, HasElement {\n /** A reference to the host element. */\n private readonly _elementRef = inject(ElementRef);\n\n /** A reference to the host element. */\n readonly element = this._elementRef.nativeElement as HTMLElement;\n\n /** The owned tree item group. */\n private readonly _group = signal<TreeItemGroup<V> | undefined>(undefined);\n\n /** A unique identifier for the tree item. */\n readonly id = input(inject(_IdGenerator).getId('ng-tree-item-', true));\n\n /** The value of the tree item. */\n readonly value = input.required<V>();\n\n /** The parent tree root or tree item group. */\n readonly parent = input.required<Tree<V> | TreeItemGroup<V>>();\n\n /** Whether the tree item is disabled. */\n readonly disabled = input(false, {transform: booleanAttribute});\n\n /** Whether the tree item is selectable. */\n readonly selectable = input<boolean>(true);\n\n /** Whether the tree item is expanded. */\n readonly expanded = model<boolean>(false);\n\n /** Optional label for typeahead. Defaults to the element's textContent. */\n readonly label = input<string>();\n\n /** Search term for typeahead. */\n readonly searchTerm = computed(() => this.label() ?? this.element.textContent);\n\n /** The tree root. */\n readonly tree: Signal<Tree<V>> = computed(() => {\n if (this.parent() instanceof Tree) {\n return this.parent() as Tree<V>;\n }\n return (this.parent() as TreeItemGroup<V>).ownedBy().tree();\n });\n\n /** Whether the item is active. */\n readonly active = computed(() => this._pattern.active());\n\n /** The level of the current item in a tree. */\n readonly level = computed(() => this._pattern.level());\n\n /** Whether the item is selected. */\n readonly selected = computed(() => this._pattern.selected());\n\n /** Whether this item is visible due to all of its parents being expanded. */\n readonly visible = computed(() => this._pattern.visible());\n\n /** Whether the tree is expanded. Use this value for aria-expanded. */\n protected readonly _expanded: Signal<boolean | undefined> = computed(() =>\n this._pattern.expandable() ? this._pattern.expanded() : undefined,\n );\n\n /** The UI pattern for this item. */\n _pattern!: TreeItemPattern<V>;\n\n constructor() {\n super();\n afterRenderEffect({\n write: () => {\n this.contentVisible.set(this._pattern.expanded());\n },\n });\n }\n\n ngOnInit() {\n if (this.parent() instanceof TreeItemGroup) {\n (this.parent() as TreeItemGroup<V>)._register(this);\n }\n this.tree()._collection.register(this);\n\n const treePattern = computed(() => this.tree()._pattern);\n const parentPattern = computed(() => {\n if (this.parent() instanceof Tree) {\n return treePattern();\n }\n return (this.parent() as TreeItemGroup<V>).ownedBy()._pattern;\n });\n this._pattern = new TreeItemPattern<V>({\n ...this,\n tree: treePattern,\n parent: parentPattern,\n children: computed(() => this._group()?._childPatterns()),\n hasChildren: computed(() => !!this._group()),\n element: () => this.element,\n searchTerm: () => this.searchTerm() ?? '',\n });\n }\n\n ngOnDestroy() {\n if (this.parent() instanceof TreeItemGroup) {\n (this.parent() as TreeItemGroup<V>)._unregister(this);\n }\n this.tree()._collection.unregister(this);\n }\n\n _register(group: TreeItemGroup<V>) {\n this._group.set(group);\n }\n\n _unregister() {\n this._group.set(undefined);\n }\n}\n"],"names":["Tree","_elementRef","inject","ElementRef","element","nativeElement","_collection","SortedCollection","id","input","_IdGenerator","getId","orientation","multi","transform","booleanAttribute","disabled","selectionMode","focusMode","wrap","softDisabled","typeaheadDelay","tabIndex","undefined","ngDevMode","debugName","alias","tabIndexTransform","value","model","textDirection","Directionality","valueSignal","nav","currentType","_pattern","activeDescendant","constructor","inputs","items","computed","orderedItems","map","item","activeItem","signal","TreePattern","afterNextRender","startObserving","afterRenderEffect","read","reportViolations","validate","write","setDefaultStateEffect","untracked","some","i","treeBehavior","unfocus","setDefaultState","ngOnDestroy","stopObserving","scrollActiveItemIntoView","options","block","scrollIntoView","deps","target","i0","ɵɵFactoryTarget","Directive","isStandalone","selector","classPropertyName","publicName","isSignal","isRequired","transformFunction","outputs","host","attributes","listeners","properties","exportAs","ngImport","decorators","args","TreeItemGroup","_deferredContent","DeferredContent","_unorderedItems","Set","_childPatterns","sort","sortDirectives","c","ownedBy","required","ngOnInit","deferredContentAware","set","_register","_unregister","child","add","delete","hostDirectives","directive","i1","TreeItem","DeferredContentAware","_group","parent","selectable","expanded","label","searchTerm","textContent","tree","active","level","selected","visible","_expanded","expandable","contentVisible","register","treePattern","parentPattern","TreeItemPattern","children","hasChildren","unregister","group","usesInheritance"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@angular/aria",
|
|
3
|
-
"version": "22.0.0-
|
|
3
|
+
"version": "22.0.0-rc.0",
|
|
4
4
|
"description": "Angular Aria",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
},
|
|
13
13
|
"homepage": "https://github.com/angular/components#readme",
|
|
14
14
|
"peerDependencies": {
|
|
15
|
-
"@angular/cdk": "22.0.0-
|
|
15
|
+
"@angular/cdk": "22.0.0-rc.0",
|
|
16
16
|
"@angular/core": "^22.0.0-0 || ^22.1.0-0 || ^22.2.0-0 || ^22.3.0-0 || ^23.0.0-0"
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
@@ -63,6 +63,10 @@
|
|
|
63
63
|
"types": "./types/combobox.d.ts",
|
|
64
64
|
"default": "./fesm2022/combobox.mjs"
|
|
65
65
|
},
|
|
66
|
+
"./combobox/testing": {
|
|
67
|
+
"types": "./types/combobox-testing.d.ts",
|
|
68
|
+
"default": "./fesm2022/combobox-testing.mjs"
|
|
69
|
+
},
|
|
66
70
|
"./grid": {
|
|
67
71
|
"types": "./types/grid.d.ts",
|
|
68
72
|
"default": "./fesm2022/grid.mjs"
|
|
@@ -91,10 +95,6 @@
|
|
|
91
95
|
"types": "./types/private.d.ts",
|
|
92
96
|
"default": "./fesm2022/private.mjs"
|
|
93
97
|
},
|
|
94
|
-
"./simple-combobox": {
|
|
95
|
-
"types": "./types/simple-combobox.d.ts",
|
|
96
|
-
"default": "./fesm2022/simple-combobox.mjs"
|
|
97
|
-
},
|
|
98
98
|
"./tabs": {
|
|
99
99
|
"types": "./types/tabs.d.ts",
|
|
100
100
|
"default": "./fesm2022/tabs.mjs"
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { KeyboardEventManager } from './_keyboard-event-manager-chunk.js';
|
|
2
2
|
import { ClickEventManager } from './_click-event-manager-chunk.js';
|
|
3
3
|
import { ExpansionItem, ListExpansionInputs, ListExpansion } from './_expansion-chunk.js';
|
|
4
|
-
import {
|
|
5
|
-
import { SignalLike, WritableSignalLike } from './
|
|
4
|
+
import { ListNavigationItem, ListFocusItem, ListNavigationInputs, ListFocusInputs, ListNavigation, ListFocus } from './_list-navigation-chunk.js';
|
|
5
|
+
import { SignalLike, WritableSignalLike } from './_collection-chunk.js';
|
|
6
6
|
|
|
7
7
|
/** Inputs of the AccordionGroupPattern. */
|
|
8
8
|
interface AccordionGroupInputs extends Omit<ListNavigationInputs<AccordionTriggerPattern> & ListFocusInputs<AccordionTriggerPattern> & Omit<ListExpansionInputs, 'items'>, 'focusMode'> {
|
|
@@ -37,6 +37,8 @@ declare class AccordionGroupPattern {
|
|
|
37
37
|
expandAll(): void;
|
|
38
38
|
/** Collapses all accordion panels. */
|
|
39
39
|
collapseAll(): void;
|
|
40
|
+
/** Returns a set of violations */
|
|
41
|
+
validate(): string[];
|
|
40
42
|
/** Finds the trigger pattern for a given element. */
|
|
41
43
|
private _findTriggerPattern;
|
|
42
44
|
}
|