@angular/aria 22.0.0-next.3 → 22.0.0-next.5
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 +5 -5
- package/fesm2022/_accordion-chunk.mjs.map +1 -1
- package/fesm2022/_click-event-manager-chunk.mjs +45 -0
- package/fesm2022/_click-event-manager-chunk.mjs.map +1 -0
- package/fesm2022/_combobox-chunk.mjs +8 -8
- package/fesm2022/_combobox-chunk.mjs.map +1 -1
- package/fesm2022/_combobox-listbox-chunk.mjs +17 -7
- package/fesm2022/_combobox-listbox-chunk.mjs.map +1 -1
- package/fesm2022/_combobox-tree-chunk.mjs +16 -6
- package/fesm2022/_combobox-tree-chunk.mjs.map +1 -1
- package/fesm2022/_deferred-content-chunk.mjs +6 -6
- package/fesm2022/_element-chunk.mjs +6 -0
- package/fesm2022/_element-chunk.mjs.map +1 -0
- package/fesm2022/_list-chunk.mjs.map +1 -1
- package/fesm2022/_list-navigation-chunk.mjs.map +1 -1
- package/fesm2022/_list-typeahead-chunk.mjs.map +1 -1
- package/fesm2022/_menu-chunk.mjs +33 -12
- package/fesm2022/_menu-chunk.mjs.map +1 -1
- package/fesm2022/_pointer-event-manager-chunk.mjs.map +1 -1
- package/fesm2022/_signal-like-chunk.mjs.map +1 -1
- package/fesm2022/_tabs-chunk.mjs +15 -5
- package/fesm2022/_tabs-chunk.mjs.map +1 -1
- package/fesm2022/_toolbar-widget-group-chunk.mjs +13 -1
- package/fesm2022/_toolbar-widget-group-chunk.mjs.map +1 -1
- package/fesm2022/_widget-chunk.mjs +17 -169
- package/fesm2022/_widget-chunk.mjs.map +1 -1
- package/fesm2022/accordion-testing.mjs +61 -0
- package/fesm2022/accordion-testing.mjs.map +1 -0
- package/fesm2022/accordion.mjs +217 -192
- package/fesm2022/accordion.mjs.map +1 -1
- package/fesm2022/aria.mjs +1 -1
- package/fesm2022/aria.mjs.map +1 -1
- package/fesm2022/combobox.mjs +15 -15
- package/fesm2022/combobox.mjs.map +1 -1
- package/fesm2022/grid.mjs +26 -97
- package/fesm2022/grid.mjs.map +1 -1
- package/fesm2022/listbox-testing.mjs +55 -0
- package/fesm2022/listbox-testing.mjs.map +1 -0
- package/fesm2022/listbox.mjs +13 -20
- package/fesm2022/listbox.mjs.map +1 -1
- package/fesm2022/menu-testing.mjs +75 -0
- package/fesm2022/menu-testing.mjs.map +1 -0
- package/fesm2022/menu.mjs +18 -22
- package/fesm2022/menu.mjs.map +1 -1
- package/fesm2022/private.mjs +2 -0
- package/fesm2022/private.mjs.map +1 -1
- package/fesm2022/tabs-testing.mjs +57 -0
- package/fesm2022/tabs-testing.mjs.map +1 -0
- package/fesm2022/tabs.mjs +22 -32
- package/fesm2022/tabs.mjs.map +1 -1
- package/fesm2022/toolbar-testing.mjs +56 -0
- package/fesm2022/toolbar-testing.mjs.map +1 -0
- package/fesm2022/toolbar.mjs +20 -26
- package/fesm2022/toolbar.mjs.map +1 -1
- package/fesm2022/tree-testing.mjs +88 -0
- package/fesm2022/tree-testing.mjs.map +1 -0
- package/fesm2022/tree.mjs +16 -26
- package/fesm2022/tree.mjs.map +1 -1
- package/package.json +26 -2
- package/resources/code-examples.db +0 -0
- package/types/_accordion-chunk.d.ts +10 -9
- package/types/_click-event-manager-chunk.d.ts +27 -0
- package/types/_combobox-chunk.d.ts +23 -23
- package/types/_element-chunk.d.ts +10 -0
- package/types/_expansion-chunk.d.ts +1 -1
- package/types/_grid-chunk.d.ts +13 -51
- package/types/_keyboard-event-manager-chunk.d.ts +2 -2
- package/types/_list-chunk.d.ts +19 -18
- package/types/_list-navigation-chunk.d.ts +6 -16
- package/types/_listbox-chunk.d.ts +37 -30
- package/types/_menu-chunk.d.ts +60 -56
- package/types/_pointer-event-manager-chunk.d.ts +1 -1
- package/types/_signal-like-chunk.d.ts +14 -0
- package/types/_tabs-chunk.d.ts +13 -6
- package/types/_toolbar-chunk.d.ts +6 -1
- package/types/_tree-chunk.d.ts +24 -17
- package/types/accordion-testing.d.ts +63 -0
- package/types/accordion.d.ts +69 -55
- package/types/combobox.d.ts +6 -5
- package/types/grid.d.ts +8 -14
- package/types/listbox-testing.d.ts +39 -0
- package/types/listbox.d.ts +21 -22
- package/types/menu-testing.d.ts +50 -0
- package/types/menu.d.ts +4 -3
- package/types/private.d.ts +48 -45
- package/types/tabs-testing.d.ts +57 -0
- package/types/tabs.d.ts +4 -9
- package/types/toolbar-testing.d.ts +72 -0
- package/types/toolbar.d.ts +3 -5
- package/types/tree-testing.d.ts +75 -0
- package/types/tree.d.ts +5 -9
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree-testing.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/tree/testing/item-harness.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/tree/testing/tree-harness.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 {ContentContainerComponentHarness, HarnessPredicate} from '@angular/cdk/testing';\nimport {TreeItemHarnessFilters} from './tree-harness-filters';\n\n/** Harness for interacting with an Aria tree item. */\nexport class TreeItemHarness extends ContentContainerComponentHarness<string> {\n static hostSelector = '[ngTreeItem]';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a tree item with specific attributes.\n * @param options Options for narrowing the search\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: TreeItemHarnessFilters = {}): HarnessPredicate<TreeItemHarness> {\n return new HarnessPredicate(TreeItemHarness, options)\n .addOption('text', options.text, (harness, text) =>\n HarnessPredicate.stringMatches(harness.getText(), text),\n )\n .addOption(\n 'disabled',\n options.disabled,\n async (harness, disabled) => (await harness.isDisabled()) === disabled,\n )\n .addOption(\n 'expanded',\n options.expanded,\n async (harness, expanded) => (await harness.isExpanded()) === expanded,\n )\n .addOption(\n 'selected',\n options.selected,\n async (harness, selected) => (await harness.isSelected()) === selected,\n )\n .addOption(\n 'level',\n options.level,\n async (harness, level) => (await harness.getLevel()) === level,\n );\n }\n\n /** Whether the tree item is expanded. */\n async isExpanded(): Promise<boolean> {\n return (await this._getHostAttribute('aria-expanded')) === 'true';\n }\n\n /** Whether the tree item is disabled. */\n async isDisabled(): Promise<boolean> {\n return (await this._getHostAttribute('aria-disabled')) === 'true';\n }\n\n /** Whether the tree item is selected. */\n async isSelected(): Promise<boolean> {\n return (await this._getHostAttribute('aria-selected')) === 'true';\n }\n\n /** Gets the level of the tree item. Note that this gets the aria-level and is 1 indexed. */\n async getLevel(): Promise<number> {\n const level = (await this._getHostAttribute('aria-level')) ?? '1';\n return parseInt(level);\n }\n\n /** Gets the tree item's text. */\n async getText(): Promise<string> {\n return (await this.host()).text({exclude: '[ngTreeItem], [ngTreeItemGroup]'});\n }\n\n /** Clicks the tree item. */\n async click(): Promise<void> {\n return (await this.host()).click();\n }\n\n private async _getHostAttribute(attributeName: string): Promise<string | null> {\n return (await this.host()).getAttribute(attributeName);\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 {ComponentHarness, HarnessPredicate, parallel} from '@angular/cdk/testing';\nimport {TreeItemHarness} from './item-harness';\nimport {TreeHarnessFilters, TreeItemHarnessFilters} from './tree-harness-filters';\n\nexport interface TextTree {\n text?: string;\n children?: TextTree[];\n}\n\n/** Harness for interacting with an Aria tree in tests. */\nexport class TreeHarness extends ComponentHarness {\n static hostSelector = '[ngTree]';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a tree with specific attributes.\n * @param options Options for narrowing the search\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: TreeHarnessFilters = {}): HarnessPredicate<TreeHarness> {\n return new HarnessPredicate(TreeHarness, options);\n }\n\n /** Gets all of the items in the tree. */\n async getItems(filter: TreeItemHarnessFilters = {}): Promise<TreeItemHarness[]> {\n return this.locatorForAll(TreeItemHarness.with(filter))();\n }\n\n /**\n * Gets an object representation for the visible tree structure\n * If an item is under an unexpanded item it will not be included.\n */\n async getTreeStructure(): Promise<TextTree> {\n const items = await this.getItems();\n const itemInformation = await parallel(() =>\n items.map(item => parallel(() => [item.getLevel(), item.getText(), item.isExpanded()])),\n );\n return this._getTreeStructure(itemInformation, 1, true);\n }\n\n /**\n * Recursively collect the structured text of the tree items.\n * @param items A list of tree items\n * @param level The level of items that are being accounted for during this iteration\n * @param parentExpanded Whether the parent of the first item in param items is expanded\n */\n private _getTreeStructure(\n items: [number, string, boolean][],\n level: number,\n parentExpanded: boolean,\n ): TextTree {\n const result: TextTree = {};\n for (let i = 0; i < items.length; i++) {\n const [itemLevel, text, expanded] = items[i];\n const nextItemLevel = items[i + 1]?.[0] ?? -1;\n\n // Return the accumulated value for the current level once we reach a shallower level item\n if (itemLevel < level) {\n return result;\n }\n // Skip deeper level items during this iteration, they will be picked up in a later iteration\n if (itemLevel > level) {\n continue;\n }\n // Only add to representation if it is visible (parent is expanded)\n if (parentExpanded) {\n // Collect the data under this item according to the following rules:\n // 1. If the next item in the list is a sibling of the current item add it to the child list\n // 2. If the next item is a child of the current item, get the sub-tree structure for the\n // child and add it under this item\n // 3. If the next item has a shallower level, we've reached the end of the child items for\n // the current parent.\n if (nextItemLevel === level) {\n this._addChildToItem(result, {text});\n } else if (nextItemLevel > level) {\n let children = this._getTreeStructure(\n items.slice(i + 1),\n nextItemLevel,\n expanded,\n )?.children;\n let child = children ? {text, children} : {text};\n this._addChildToItem(result, child);\n } else {\n this._addChildToItem(result, {text});\n return result;\n }\n }\n }\n return result;\n }\n\n private _addChildToItem(result: TextTree, child: TextTree) {\n result.children ? result.children.push(child) : (result.children = [child]);\n }\n}\n"],"names":["TreeItemHarness","ContentContainerComponentHarness","hostSelector","with","options","HarnessPredicate","addOption","text","harness","stringMatches","getText","disabled","isDisabled","expanded","isExpanded","selected","isSelected","level","getLevel","_getHostAttribute","parseInt","host","exclude","click","attributeName","getAttribute","TreeHarness","ComponentHarness","getItems","filter","locatorForAll","getTreeStructure","items","itemInformation","parallel","map","item","_getTreeStructure","parentExpanded","result","i","length","itemLevel","nextItemLevel","_addChildToItem","children","slice","child","push"],"mappings":"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"}
|
package/fesm2022/tree.mjs
CHANGED
|
@@ -5,6 +5,7 @@ import { Directionality } from '@angular/cdk/bidi';
|
|
|
5
5
|
import { ComboboxPopup } from './combobox.mjs';
|
|
6
6
|
export { Combobox as ɵɵCombobox, ComboboxDialog as ɵɵComboboxDialog, ComboboxInput as ɵɵComboboxInput, ComboboxPopupContainer as ɵɵComboboxPopupContainer } from './combobox.mjs';
|
|
7
7
|
import { ComboboxTreePattern, TreePattern, TreeItemPattern } from './_combobox-tree-chunk.mjs';
|
|
8
|
+
import { sortDirectives } from './_element-chunk.mjs';
|
|
8
9
|
import { DeferredContentAware, DeferredContent } from './_deferred-content-chunk.mjs';
|
|
9
10
|
import './_combobox-chunk.mjs';
|
|
10
11
|
import './_signal-like-chunk.mjs';
|
|
@@ -13,10 +14,7 @@ import './_pointer-event-manager-chunk.mjs';
|
|
|
13
14
|
import './_expansion-chunk.mjs';
|
|
14
15
|
import './_list-navigation-chunk.mjs';
|
|
15
16
|
import './_list-typeahead-chunk.mjs';
|
|
16
|
-
|
|
17
|
-
function sortDirectives(a, b) {
|
|
18
|
-
return (a.element.compareDocumentPosition(b.element) & Node.DOCUMENT_POSITION_PRECEDING) > 0 ? 1 : -1;
|
|
19
|
-
}
|
|
17
|
+
import './_click-event-manager-chunk.mjs';
|
|
20
18
|
|
|
21
19
|
class Tree {
|
|
22
20
|
_elementRef = inject(ElementRef);
|
|
@@ -80,9 +78,6 @@ class Tree {
|
|
|
80
78
|
debugName: "currentType"
|
|
81
79
|
}] : []));
|
|
82
80
|
_pattern;
|
|
83
|
-
_hasFocused = signal(false, ...(ngDevMode ? [{
|
|
84
|
-
debugName: "_hasFocused"
|
|
85
|
-
}] : []));
|
|
86
81
|
constructor() {
|
|
87
82
|
const inputs = {
|
|
88
83
|
...this,
|
|
@@ -105,9 +100,7 @@ class Tree {
|
|
|
105
100
|
}
|
|
106
101
|
});
|
|
107
102
|
afterRenderEffect(() => {
|
|
108
|
-
|
|
109
|
-
this._pattern.setDefaultState();
|
|
110
|
-
}
|
|
103
|
+
this._pattern.setDefaultStateEffect();
|
|
111
104
|
});
|
|
112
105
|
afterRenderEffect(() => {
|
|
113
106
|
const items = inputs.items();
|
|
@@ -125,9 +118,6 @@ class Tree {
|
|
|
125
118
|
}
|
|
126
119
|
});
|
|
127
120
|
}
|
|
128
|
-
_onFocus() {
|
|
129
|
-
this._hasFocused.set(true);
|
|
130
|
-
}
|
|
131
121
|
_register(child) {
|
|
132
122
|
this._unorderedItems().add(child);
|
|
133
123
|
this._unorderedItems.set(new Set(this._unorderedItems()));
|
|
@@ -143,7 +133,7 @@ class Tree {
|
|
|
143
133
|
}
|
|
144
134
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
145
135
|
minVersion: "12.0.0",
|
|
146
|
-
version: "22.0.0-next.
|
|
136
|
+
version: "22.0.0-next.6",
|
|
147
137
|
ngImport: i0,
|
|
148
138
|
type: Tree,
|
|
149
139
|
deps: [],
|
|
@@ -151,7 +141,7 @@ class Tree {
|
|
|
151
141
|
});
|
|
152
142
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
153
143
|
minVersion: "17.1.0",
|
|
154
|
-
version: "22.0.0-next.
|
|
144
|
+
version: "22.0.0-next.6",
|
|
155
145
|
type: Tree,
|
|
156
146
|
isStandalone: true,
|
|
157
147
|
selector: "[ngTree]",
|
|
@@ -250,8 +240,8 @@ class Tree {
|
|
|
250
240
|
},
|
|
251
241
|
listeners: {
|
|
252
242
|
"keydown": "_pattern.onKeydown($event)",
|
|
253
|
-
"
|
|
254
|
-
"focusin": "
|
|
243
|
+
"click": "_pattern.onClick($event)",
|
|
244
|
+
"focusin": "_pattern.onFocusIn()"
|
|
255
245
|
},
|
|
256
246
|
properties: {
|
|
257
247
|
"attr.id": "id()",
|
|
@@ -271,7 +261,7 @@ class Tree {
|
|
|
271
261
|
}
|
|
272
262
|
i0.ɵɵngDeclareClassMetadata({
|
|
273
263
|
minVersion: "12.0.0",
|
|
274
|
-
version: "22.0.0-next.
|
|
264
|
+
version: "22.0.0-next.6",
|
|
275
265
|
ngImport: i0,
|
|
276
266
|
type: Tree,
|
|
277
267
|
decorators: [{
|
|
@@ -288,8 +278,8 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
288
278
|
'[attr.aria-activedescendant]': '_pattern.activeDescendant()',
|
|
289
279
|
'[tabindex]': '_pattern.tabIndex()',
|
|
290
280
|
'(keydown)': '_pattern.onKeydown($event)',
|
|
291
|
-
'(
|
|
292
|
-
'(focusin)': '
|
|
281
|
+
'(click)': '_pattern.onClick($event)',
|
|
282
|
+
'(focusin)': '_pattern.onFocusIn()'
|
|
293
283
|
},
|
|
294
284
|
hostDirectives: [ComboboxPopup]
|
|
295
285
|
}]
|
|
@@ -502,7 +492,7 @@ class TreeItem extends DeferredContentAware {
|
|
|
502
492
|
}
|
|
503
493
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
504
494
|
minVersion: "12.0.0",
|
|
505
|
-
version: "22.0.0-next.
|
|
495
|
+
version: "22.0.0-next.6",
|
|
506
496
|
ngImport: i0,
|
|
507
497
|
type: TreeItem,
|
|
508
498
|
deps: [],
|
|
@@ -510,7 +500,7 @@ class TreeItem extends DeferredContentAware {
|
|
|
510
500
|
});
|
|
511
501
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
512
502
|
minVersion: "17.1.0",
|
|
513
|
-
version: "22.0.0-next.
|
|
503
|
+
version: "22.0.0-next.6",
|
|
514
504
|
type: TreeItem,
|
|
515
505
|
isStandalone: true,
|
|
516
506
|
selector: "[ngTreeItem]",
|
|
@@ -592,7 +582,7 @@ class TreeItem extends DeferredContentAware {
|
|
|
592
582
|
}
|
|
593
583
|
i0.ɵɵngDeclareClassMetadata({
|
|
594
584
|
minVersion: "12.0.0",
|
|
595
|
-
version: "22.0.0-next.
|
|
585
|
+
version: "22.0.0-next.6",
|
|
596
586
|
ngImport: i0,
|
|
597
587
|
type: TreeItem,
|
|
598
588
|
decorators: [{
|
|
@@ -709,7 +699,7 @@ class TreeItemGroup {
|
|
|
709
699
|
}
|
|
710
700
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
711
701
|
minVersion: "12.0.0",
|
|
712
|
-
version: "22.0.0-next.
|
|
702
|
+
version: "22.0.0-next.6",
|
|
713
703
|
ngImport: i0,
|
|
714
704
|
type: TreeItemGroup,
|
|
715
705
|
deps: [],
|
|
@@ -717,7 +707,7 @@ class TreeItemGroup {
|
|
|
717
707
|
});
|
|
718
708
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
719
709
|
minVersion: "17.1.0",
|
|
720
|
-
version: "22.0.0-next.
|
|
710
|
+
version: "22.0.0-next.6",
|
|
721
711
|
type: TreeItemGroup,
|
|
722
712
|
isStandalone: true,
|
|
723
713
|
selector: "ng-template[ngTreeItemGroup]",
|
|
@@ -739,7 +729,7 @@ class TreeItemGroup {
|
|
|
739
729
|
}
|
|
740
730
|
i0.ɵɵngDeclareClassMetadata({
|
|
741
731
|
minVersion: "12.0.0",
|
|
742
|
-
version: "22.0.0-next.
|
|
732
|
+
version: "22.0.0-next.6",
|
|
743
733
|
ngImport: i0,
|
|
744
734
|
type: TreeItemGroup,
|
|
745
735
|
decorators: [{
|
package/fesm2022/tree.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/tree/utils.ts","../../../../../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\nexport interface HasElement {\n element: HTMLElement;\n}\n\n/**\n * Sort directives by their document order.\n */\nexport function sortDirectives(a: HasElement, b: HasElement) {\n return (a.element.compareDocumentPosition(b.element) & Node.DOCUMENT_POSITION_PRECEDING) > 0\n ? 1\n : -1;\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 untracked,\n} from '@angular/core';\nimport {_IdGenerator} from '@angular/cdk/a11y';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {ComboboxTreePattern, TreeItemPattern, TreePattern} from '../private';\nimport {ComboboxPopup} from '../combobox';\nimport type {TreeItem} from './tree-item';\nimport {sortDirectives} from './utils';\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]': '_pattern.tabIndex()',\n '(keydown)': '_pattern.onKeydown($event)',\n '(pointerdown)': '_pattern.onPointerdown($event)',\n '(focusin)': '_onFocus()',\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 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 /** Whether the tree has received focus since it was rendered. */\n private _hasFocused = signal(false);\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 if (this._popup?.combobox) {\n this._popup?._controls?.set(this._pattern as ComboboxTreePattern<V>);\n }\n\n afterRenderEffect(() => {\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 afterRenderEffect(() => {\n if (!this._hasFocused()) {\n this._pattern.setDefaultState();\n }\n });\n\n afterRenderEffect(() => {\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 afterRenderEffect(() => {\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 _onFocus() {\n this._hasFocused.set(true);\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} from '../private';\nimport {Tree} from './tree';\nimport {TreeItemGroup} from './tree-item-group';\nimport {HasElement} from './utils';\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 this.tree()._pattern instanceof ComboboxTreePattern\n ? this.contentVisible.set(true)\n : this.contentVisible.set(this._pattern.expanded());\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} from '../private';\nimport type {TreeItem} from './tree-item';\nimport {sortDirectives} from './utils';\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":["sortDirectives","a","b","element","compareDocumentPosition","Node","DOCUMENT_POSITION_PRECEDING","Tree","_elementRef","inject","ElementRef","nativeElement","_popup","ComboboxPopup","optional","_unorderedItems","signal","Set","id","input","_IdGenerator","getId","orientation","multi","transform","booleanAttribute","disabled","selectionMode","focusMode","wrap","softDisabled","typeaheadDelay","value","model","textDirection","Directionality","valueSignal","nav","currentType","_pattern","_hasFocused","constructor","inputs","items","computed","sort","map","item","activeItem","undefined","combobox","ComboboxTreePattern","TreePattern","_controls","set","afterRenderEffect","ngDevMode","violations","validate","violation","console","error","setDefaultState","untracked","some","i","treeBehavior","unfocus","v","filter","_onFocus","_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.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 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]': '_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 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 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 if (this._popup?.combobox) {\n this._popup?._controls?.set(this._pattern as ComboboxTreePattern<V>);\n }\n\n afterRenderEffect(() => {\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 afterRenderEffect(() => {\n this._pattern.setDefaultStateEffect();\n });\n\n afterRenderEffect(() => {\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 afterRenderEffect(() => {\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 _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 this.tree()._pattern instanceof ComboboxTreePattern\n ? this.contentVisible.set(true)\n : this.contentVisible.set(this._pattern.expanded());\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","value","model","textDirection","Directionality","valueSignal","nav","currentType","_pattern","constructor","inputs","items","computed","sort","sortDirectives","map","item","activeItem","undefined","combobox","ComboboxTreePattern","TreePattern","_controls","set","afterRenderEffect","ngDevMode","violations","validate","violation","console","error","setDefaultStateEffect","untracked","some","i","treeBehavior","unfocus","v","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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@angular/aria",
|
|
3
|
-
"version": "22.0.0-next.
|
|
3
|
+
"version": "22.0.0-next.5",
|
|
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-next.
|
|
15
|
+
"@angular/cdk": "22.0.0-next.5",
|
|
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": {
|
|
@@ -55,6 +55,10 @@
|
|
|
55
55
|
"types": "./types/accordion.d.ts",
|
|
56
56
|
"default": "./fesm2022/accordion.mjs"
|
|
57
57
|
},
|
|
58
|
+
"./accordion/testing": {
|
|
59
|
+
"types": "./types/accordion-testing.d.ts",
|
|
60
|
+
"default": "./fesm2022/accordion-testing.mjs"
|
|
61
|
+
},
|
|
58
62
|
"./combobox": {
|
|
59
63
|
"types": "./types/combobox.d.ts",
|
|
60
64
|
"default": "./fesm2022/combobox.mjs"
|
|
@@ -67,10 +71,18 @@
|
|
|
67
71
|
"types": "./types/listbox.d.ts",
|
|
68
72
|
"default": "./fesm2022/listbox.mjs"
|
|
69
73
|
},
|
|
74
|
+
"./listbox/testing": {
|
|
75
|
+
"types": "./types/listbox-testing.d.ts",
|
|
76
|
+
"default": "./fesm2022/listbox-testing.mjs"
|
|
77
|
+
},
|
|
70
78
|
"./menu": {
|
|
71
79
|
"types": "./types/menu.d.ts",
|
|
72
80
|
"default": "./fesm2022/menu.mjs"
|
|
73
81
|
},
|
|
82
|
+
"./menu/testing": {
|
|
83
|
+
"types": "./types/menu-testing.d.ts",
|
|
84
|
+
"default": "./fesm2022/menu-testing.mjs"
|
|
85
|
+
},
|
|
74
86
|
"./private": {
|
|
75
87
|
"types": "./types/private.d.ts",
|
|
76
88
|
"default": "./fesm2022/private.mjs"
|
|
@@ -79,13 +91,25 @@
|
|
|
79
91
|
"types": "./types/tabs.d.ts",
|
|
80
92
|
"default": "./fesm2022/tabs.mjs"
|
|
81
93
|
},
|
|
94
|
+
"./tabs/testing": {
|
|
95
|
+
"types": "./types/tabs-testing.d.ts",
|
|
96
|
+
"default": "./fesm2022/tabs-testing.mjs"
|
|
97
|
+
},
|
|
82
98
|
"./toolbar": {
|
|
83
99
|
"types": "./types/toolbar.d.ts",
|
|
84
100
|
"default": "./fesm2022/toolbar.mjs"
|
|
85
101
|
},
|
|
102
|
+
"./toolbar/testing": {
|
|
103
|
+
"types": "./types/toolbar-testing.d.ts",
|
|
104
|
+
"default": "./fesm2022/toolbar-testing.mjs"
|
|
105
|
+
},
|
|
86
106
|
"./tree": {
|
|
87
107
|
"types": "./types/tree.d.ts",
|
|
88
108
|
"default": "./fesm2022/tree.mjs"
|
|
109
|
+
},
|
|
110
|
+
"./tree/testing": {
|
|
111
|
+
"types": "./types/tree-testing.d.ts",
|
|
112
|
+
"default": "./fesm2022/tree-testing.mjs"
|
|
89
113
|
}
|
|
90
114
|
}
|
|
91
115
|
}
|
|
Binary file
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { KeyboardEventManager } from './_keyboard-event-manager-chunk.js';
|
|
2
|
-
import {
|
|
2
|
+
import { ClickEventManager } from './_click-event-manager-chunk.js';
|
|
3
3
|
import { ExpansionItem, ListExpansionInputs, ListExpansion } from './_expansion-chunk.js';
|
|
4
|
-
import { ListNavigationInputs, ListNavigationItem, ListFocusItem,
|
|
4
|
+
import { ListNavigationInputs, ListNavigationItem, ListFocusItem, ListFocusInputs, ListNavigation, ListFocus } from './_list-navigation-chunk.js';
|
|
5
|
+
import { SignalLike, WritableSignalLike } from './_signal-like-chunk.js';
|
|
5
6
|
|
|
6
7
|
/** Inputs of the AccordionGroupPattern. */
|
|
7
8
|
interface AccordionGroupInputs extends Omit<ListNavigationInputs<AccordionTriggerPattern> & ListFocusInputs<AccordionTriggerPattern> & Omit<ListExpansionInputs, 'items'>, 'focusMode'> {
|
|
@@ -17,17 +18,17 @@ declare class AccordionGroupPattern {
|
|
|
17
18
|
readonly expansionBehavior: ListExpansion;
|
|
18
19
|
constructor(inputs: AccordionGroupInputs);
|
|
19
20
|
/** The key used to navigate to the previous accordion trigger. */
|
|
20
|
-
prevKey: SignalLike<"ArrowUp" | "ArrowRight" | "ArrowLeft">;
|
|
21
|
+
readonly prevKey: SignalLike<"ArrowUp" | "ArrowRight" | "ArrowLeft">;
|
|
21
22
|
/** The key used to navigate to the next accordion trigger. */
|
|
22
|
-
nextKey: SignalLike<"ArrowRight" | "ArrowLeft" | "ArrowDown">;
|
|
23
|
+
readonly nextKey: SignalLike<"ArrowRight" | "ArrowLeft" | "ArrowDown">;
|
|
23
24
|
/** The keydown event manager for the accordion trigger. */
|
|
24
|
-
keydown: SignalLike<KeyboardEventManager<KeyboardEvent>>;
|
|
25
|
-
/** The
|
|
26
|
-
|
|
25
|
+
readonly keydown: SignalLike<KeyboardEventManager<KeyboardEvent>>;
|
|
26
|
+
/** The click event manager for the accordion trigger. */
|
|
27
|
+
readonly click: SignalLike<ClickEventManager<PointerEvent>>;
|
|
27
28
|
/** Handles keydown events on the trigger, delegating to the group if not disabled. */
|
|
28
29
|
onKeydown(event: KeyboardEvent): void;
|
|
29
|
-
/** Handles
|
|
30
|
-
|
|
30
|
+
/** Handles click events on the trigger, delegating to the group if not disabled. */
|
|
31
|
+
onClick(event: PointerEvent): void;
|
|
31
32
|
/** Handles focus events on the trigger. This ensures the tabbing changes the active index. */
|
|
32
33
|
onFocus(event: FocusEvent): void;
|
|
33
34
|
/** Toggles the expansion state of the active accordion item. */
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { EventManager, EventHandlerOptions, ModifierInputs, EventHandler } from './_keyboard-event-manager-chunk.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* An event manager that is specialized for handling click events.
|
|
5
|
+
*
|
|
6
|
+
* This manager should ONLY be used to handle click events. It explicitly
|
|
7
|
+
* filters out simulated click events generated by browsers when Enter or Space
|
|
8
|
+
* keys are pressed, to avoid concurrent logic or overwriting selection state
|
|
9
|
+
* when handling keyboard activation explicitly via KeyboardEventManager.
|
|
10
|
+
*/
|
|
11
|
+
declare class ClickEventManager<T extends PointerEvent> extends EventManager<T> {
|
|
12
|
+
readonly options: EventHandlerOptions;
|
|
13
|
+
/**
|
|
14
|
+
* Configures this event manager to handle events with a specific modifier combination.
|
|
15
|
+
*/
|
|
16
|
+
on(modifiers: ModifierInputs, handler: EventHandler<T>): this;
|
|
17
|
+
/**
|
|
18
|
+
* Configures this event manager to handle events with no modifiers.
|
|
19
|
+
*
|
|
20
|
+
* @param handler The handler function
|
|
21
|
+
*/
|
|
22
|
+
on(handler: EventHandler<T>): this;
|
|
23
|
+
private _normalizeInputs;
|
|
24
|
+
_isMatch(event: T, modifiers: ModifierInputs): boolean;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export { ClickEventManager };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { KeyboardEventManager } from './_keyboard-event-manager-chunk.js';
|
|
2
2
|
import { PointerEventManager } from './_pointer-event-manager-chunk.js';
|
|
3
|
-
import { SignalLike, WritableSignalLike } from './
|
|
3
|
+
import { SignalLike, WritableSignalLike } from './_signal-like-chunk.js';
|
|
4
4
|
import { ListItem } from './_list-chunk.js';
|
|
5
5
|
|
|
6
6
|
/** Represents the required inputs for a combobox. */
|
|
@@ -29,7 +29,7 @@ interface ComboboxInputs<T extends ListItem<V>, V> {
|
|
|
29
29
|
/** An interface that allows combobox popups to expose the necessary controls for the combobox. */
|
|
30
30
|
interface ComboboxListboxControls<T extends ListItem<V>, V> {
|
|
31
31
|
/** A unique identifier for the popup. */
|
|
32
|
-
id: () => string;
|
|
32
|
+
readonly id: () => string;
|
|
33
33
|
/** The ARIA role for the popup. */
|
|
34
34
|
role: SignalLike<'listbox' | 'tree' | 'grid'>;
|
|
35
35
|
/** Whether multiple items in the popup can be selected at once. */
|
|
@@ -89,39 +89,39 @@ interface ComboboxTreeControls<T extends ListItem<V>, V> extends ComboboxListbox
|
|
|
89
89
|
declare class ComboboxPattern<T extends ListItem<V>, V> {
|
|
90
90
|
readonly inputs: ComboboxInputs<T, V>;
|
|
91
91
|
/** Whether the combobox is expanded. */
|
|
92
|
-
expanded: WritableSignalLike<boolean>;
|
|
92
|
+
readonly expanded: WritableSignalLike<boolean>;
|
|
93
93
|
/** Whether the combobox is disabled. */
|
|
94
|
-
disabled: () => boolean;
|
|
94
|
+
readonly disabled: () => boolean;
|
|
95
95
|
/** The ID of the active item in the combobox. */
|
|
96
|
-
activeDescendant: SignalLike<string | null>;
|
|
96
|
+
readonly activeDescendant: SignalLike<string | null>;
|
|
97
97
|
/** The currently highlighted item in the combobox. */
|
|
98
|
-
highlightedItem: WritableSignalLike<T | undefined>;
|
|
98
|
+
readonly highlightedItem: WritableSignalLike<T | undefined>;
|
|
99
99
|
/** Whether the most recent input event was a deletion. */
|
|
100
|
-
|
|
100
|
+
private _isDeleting;
|
|
101
101
|
/** Whether the combobox is focused. */
|
|
102
|
-
isFocused: WritableSignalLike<boolean>;
|
|
102
|
+
readonly isFocused: WritableSignalLike<boolean>;
|
|
103
103
|
/** Whether the combobox has ever been focused. */
|
|
104
|
-
|
|
104
|
+
readonly hasBeenInteracted: WritableSignalLike<boolean>;
|
|
105
105
|
/** The key used to navigate to the previous item in the list. */
|
|
106
|
-
expandKey: SignalLike<"ArrowLeft" | "ArrowRight">;
|
|
106
|
+
readonly expandKey: SignalLike<"ArrowLeft" | "ArrowRight">;
|
|
107
107
|
/** The key used to navigate to the next item in the list. */
|
|
108
|
-
collapseKey: SignalLike<"ArrowLeft" | "ArrowRight">;
|
|
108
|
+
readonly collapseKey: SignalLike<"ArrowLeft" | "ArrowRight">;
|
|
109
109
|
/** The ID of the popup associated with the combobox. */
|
|
110
|
-
popupId: SignalLike<string | null>;
|
|
110
|
+
readonly popupId: SignalLike<string | null>;
|
|
111
111
|
/** The autocomplete behavior of the combobox. */
|
|
112
|
-
autocomplete: SignalLike<"both" | "list">;
|
|
112
|
+
readonly autocomplete: SignalLike<"both" | "list">;
|
|
113
113
|
/** The ARIA role of the popup associated with the combobox. */
|
|
114
|
-
hasPopup: SignalLike<"listbox" | "tree" | "grid" | "dialog" | null>;
|
|
114
|
+
readonly hasPopup: SignalLike<"listbox" | "tree" | "grid" | "dialog" | null>;
|
|
115
115
|
/** Whether the combobox is read-only. */
|
|
116
|
-
readonly: SignalLike<true | null>;
|
|
116
|
+
readonly readonly: SignalLike<true | null>;
|
|
117
117
|
/** Returns the listbox controls for the combobox. */
|
|
118
|
-
listControls: () => ComboboxListboxControls<T, V> | null | undefined;
|
|
118
|
+
readonly listControls: () => ComboboxListboxControls<T, V> | null | undefined;
|
|
119
119
|
/** Returns the tree controls for the combobox. */
|
|
120
|
-
treeControls: () => ComboboxTreeControls<T, V> | null;
|
|
120
|
+
readonly treeControls: () => ComboboxTreeControls<T, V> | null;
|
|
121
121
|
/** The keydown event manager for the combobox. */
|
|
122
|
-
keydown: SignalLike<KeyboardEventManager<KeyboardEvent>>;
|
|
122
|
+
readonly keydown: SignalLike<KeyboardEventManager<KeyboardEvent>>;
|
|
123
123
|
/** The click event manager for the combobox. */
|
|
124
|
-
click: SignalLike<PointerEventManager<PointerEvent>>;
|
|
124
|
+
readonly click: SignalLike<PointerEventManager<PointerEvent>>;
|
|
125
125
|
constructor(inputs: ComboboxInputs<T, V>);
|
|
126
126
|
/** Handles keydown events for the combobox. */
|
|
127
127
|
onKeydown(event: KeyboardEvent): void;
|
|
@@ -134,7 +134,7 @@ declare class ComboboxPattern<T extends ListItem<V>, V> {
|
|
|
134
134
|
/** Handles focus out events for the combobox. */
|
|
135
135
|
onFocusOut(event: FocusEvent): void;
|
|
136
136
|
/** The first matching item in the combobox. */
|
|
137
|
-
firstMatch: SignalLike<T | undefined>;
|
|
137
|
+
readonly firstMatch: SignalLike<T | undefined>;
|
|
138
138
|
/** Handles filtering logic for the combobox. */
|
|
139
139
|
onFilter(): void;
|
|
140
140
|
/** Highlights the currently selected item in the combobox. */
|
|
@@ -178,9 +178,9 @@ declare class ComboboxDialogPattern {
|
|
|
178
178
|
element: SignalLike<HTMLDialogElement>;
|
|
179
179
|
id: SignalLike<string>;
|
|
180
180
|
};
|
|
181
|
-
id: () => string;
|
|
182
|
-
role: () => "dialog";
|
|
183
|
-
keydown: SignalLike<KeyboardEventManager<KeyboardEvent>>;
|
|
181
|
+
readonly id: () => string;
|
|
182
|
+
readonly role: () => "dialog";
|
|
183
|
+
readonly keydown: SignalLike<KeyboardEventManager<KeyboardEvent>>;
|
|
184
184
|
constructor(inputs: {
|
|
185
185
|
combobox: ComboboxPattern<any, any>;
|
|
186
186
|
element: SignalLike<HTMLDialogElement>;
|