@angular/aria 22.2.0-next.3 → 22.2.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.map +1 -1
- package/fesm2022/_click-event-manager-chunk.mjs.map +1 -1
- package/fesm2022/_deferred-content-chunk.mjs +6 -6
- package/fesm2022/_deferred-content-chunk.mjs.map +1 -1
- package/fesm2022/_expansion-chunk.mjs.map +1 -1
- 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 +6 -4
- package/fesm2022/_menu-chunk.mjs.map +1 -1
- package/fesm2022/_option-chunk.mjs.map +1 -1
- package/fesm2022/_tabs-chunk.mjs.map +1 -1
- package/fesm2022/_toolbar-widget-group-chunk.mjs +34 -53
- package/fesm2022/_toolbar-widget-group-chunk.mjs.map +1 -1
- package/fesm2022/_transforms-chunk.mjs.map +1 -1
- package/fesm2022/_tree-chunk.mjs.map +1 -1
- package/fesm2022/_violations-chunk.mjs.map +1 -1
- package/fesm2022/_widget-chunk.mjs.map +1 -1
- package/fesm2022/accordion-testing.mjs.map +1 -1
- package/fesm2022/accordion.mjs +12 -12
- 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.map +1 -1
- package/fesm2022/combobox.mjs +11 -10
- package/fesm2022/combobox.mjs.map +1 -1
- package/fesm2022/grid-testing.mjs.map +1 -1
- package/fesm2022/grid.mjs +12 -12
- package/fesm2022/grid.mjs.map +1 -1
- package/fesm2022/listbox-testing.mjs.map +1 -1
- package/fesm2022/listbox.mjs +6 -6
- package/fesm2022/listbox.mjs.map +1 -1
- package/fesm2022/menu-testing.mjs.map +1 -1
- package/fesm2022/menu.mjs +18 -18
- package/fesm2022/menu.mjs.map +1 -1
- package/fesm2022/private.mjs +6 -1
- package/fesm2022/private.mjs.map +1 -1
- package/fesm2022/tabs-testing.mjs.map +1 -1
- package/fesm2022/tabs.mjs +15 -15
- package/fesm2022/tabs.mjs.map +1 -1
- package/fesm2022/toolbar-testing.mjs.map +1 -1
- package/fesm2022/toolbar.mjs +11 -86
- package/fesm2022/toolbar.mjs.map +1 -1
- package/fesm2022/tree-testing.mjs.map +1 -1
- package/fesm2022/tree.mjs +9 -9
- package/fesm2022/tree.mjs.map +1 -1
- package/package.json +2 -2
- package/types/_menu-chunk.d.ts +15 -11
- package/types/_toolbar-chunk.d.ts +52 -48
- package/types/menu.d.ts +4 -4
- package/types/private.d.ts +6 -0
- package/types/toolbar.d.ts +26 -35
package/fesm2022/tree.mjs
CHANGED
|
@@ -124,7 +124,7 @@ class Tree {
|
|
|
124
124
|
}
|
|
125
125
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
126
126
|
minVersion: "12.0.0",
|
|
127
|
-
version: "22.2.0-next.
|
|
127
|
+
version: "22.2.0-next.5",
|
|
128
128
|
ngImport: i0,
|
|
129
129
|
type: Tree,
|
|
130
130
|
deps: [],
|
|
@@ -132,7 +132,7 @@ class Tree {
|
|
|
132
132
|
});
|
|
133
133
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
134
134
|
minVersion: "17.1.0",
|
|
135
|
-
version: "22.2.0-next.
|
|
135
|
+
version: "22.2.0-next.5",
|
|
136
136
|
type: Tree,
|
|
137
137
|
isStandalone: true,
|
|
138
138
|
selector: "[ngTree]",
|
|
@@ -256,7 +256,7 @@ class Tree {
|
|
|
256
256
|
}
|
|
257
257
|
i0.ɵɵngDeclareClassMetadata({
|
|
258
258
|
minVersion: "12.0.0",
|
|
259
|
-
version: "22.2.0-next.
|
|
259
|
+
version: "22.2.0-next.5",
|
|
260
260
|
ngImport: i0,
|
|
261
261
|
type: Tree,
|
|
262
262
|
decorators: [{
|
|
@@ -420,7 +420,7 @@ class TreeItemGroup {
|
|
|
420
420
|
}
|
|
421
421
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
422
422
|
minVersion: "12.0.0",
|
|
423
|
-
version: "22.2.0-next.
|
|
423
|
+
version: "22.2.0-next.5",
|
|
424
424
|
ngImport: i0,
|
|
425
425
|
type: TreeItemGroup,
|
|
426
426
|
deps: [],
|
|
@@ -428,7 +428,7 @@ class TreeItemGroup {
|
|
|
428
428
|
});
|
|
429
429
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
430
430
|
minVersion: "17.1.0",
|
|
431
|
-
version: "22.2.0-next.
|
|
431
|
+
version: "22.2.0-next.5",
|
|
432
432
|
type: TreeItemGroup,
|
|
433
433
|
isStandalone: true,
|
|
434
434
|
selector: "ng-template[ngTreeItemGroup]",
|
|
@@ -450,7 +450,7 @@ class TreeItemGroup {
|
|
|
450
450
|
}
|
|
451
451
|
i0.ɵɵngDeclareClassMetadata({
|
|
452
452
|
minVersion: "12.0.0",
|
|
453
|
-
version: "22.2.0-next.
|
|
453
|
+
version: "22.2.0-next.5",
|
|
454
454
|
ngImport: i0,
|
|
455
455
|
type: TreeItemGroup,
|
|
456
456
|
decorators: [{
|
|
@@ -578,7 +578,7 @@ class TreeItem extends DeferredContentAware {
|
|
|
578
578
|
}
|
|
579
579
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
580
580
|
minVersion: "12.0.0",
|
|
581
|
-
version: "22.2.0-next.
|
|
581
|
+
version: "22.2.0-next.5",
|
|
582
582
|
ngImport: i0,
|
|
583
583
|
type: TreeItem,
|
|
584
584
|
deps: [],
|
|
@@ -586,7 +586,7 @@ class TreeItem extends DeferredContentAware {
|
|
|
586
586
|
});
|
|
587
587
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
588
588
|
minVersion: "17.1.0",
|
|
589
|
-
version: "22.2.0-next.
|
|
589
|
+
version: "22.2.0-next.5",
|
|
590
590
|
type: TreeItem,
|
|
591
591
|
isStandalone: true,
|
|
592
592
|
selector: "[ngTreeItem]",
|
|
@@ -668,7 +668,7 @@ class TreeItem extends DeferredContentAware {
|
|
|
668
668
|
}
|
|
669
669
|
i0.ɵɵngDeclareClassMetadata({
|
|
670
670
|
minVersion: "12.0.0",
|
|
671
|
-
version: "22.2.0-next.
|
|
671
|
+
version: "22.2.0-next.5",
|
|
672
672
|
ngImport: i0,
|
|
673
673
|
type: TreeItem,
|
|
674
674
|
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/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":["i1.DeferredContent"],"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":["i1.DeferredContent"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@angular/aria",
|
|
3
|
-
"version": "22.2.0-next.
|
|
3
|
+
"version": "22.2.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.2.0-next.
|
|
15
|
+
"@angular/cdk": "22.2.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": {
|
package/types/_menu-chunk.d.ts
CHANGED
|
@@ -3,16 +3,16 @@ import { KeyboardEventManager } from './_keyboard-event-manager-chunk.js';
|
|
|
3
3
|
import { ListInputs, ListItem, List } from './_list-chunk.js';
|
|
4
4
|
|
|
5
5
|
/** The inputs for the MenuBarPattern class. */
|
|
6
|
-
interface MenuBarInputs<V> extends ListInputs<MenuItemPattern<V>, V> {
|
|
6
|
+
interface MenuBarInputs<V> extends ListInputs<MenuItemPattern<V>, V | undefined> {
|
|
7
7
|
/** The menu items contained in the menu. */
|
|
8
8
|
items: SignalLike<MenuItemPattern<V>[]>;
|
|
9
9
|
/** Callback function triggered when a menu item is selected. */
|
|
10
|
-
itemSelected?: (value: V) => void;
|
|
10
|
+
itemSelected?: (value: V | undefined) => void;
|
|
11
11
|
/** The text direction of the menu bar. */
|
|
12
12
|
textDirection: SignalLike<'ltr' | 'rtl'>;
|
|
13
13
|
}
|
|
14
14
|
/** The inputs for the MenuPattern class. */
|
|
15
|
-
interface MenuInputs<V> extends Omit<ListInputs<MenuItemPattern<V>, V>, 'value'> {
|
|
15
|
+
interface MenuInputs<V> extends Omit<ListInputs<MenuItemPattern<V>, V | undefined>, 'value'> {
|
|
16
16
|
/** The unique ID of the menu. */
|
|
17
17
|
id: SignalLike<string>;
|
|
18
18
|
/** The menu items contained in the menu. */
|
|
@@ -20,7 +20,7 @@ interface MenuInputs<V> extends Omit<ListInputs<MenuItemPattern<V>, V>, 'value'>
|
|
|
20
20
|
/** A reference to the parent menu or menu trigger. */
|
|
21
21
|
parent: SignalLike<MenuTriggerPattern<V> | MenuItemPattern<V> | undefined>;
|
|
22
22
|
/** Callback function triggered when a menu item is selected. */
|
|
23
|
-
itemSelected?: (value: V) => void;
|
|
23
|
+
itemSelected?: (value: V | undefined) => void;
|
|
24
24
|
/** The text direction of the menu bar. */
|
|
25
25
|
textDirection: SignalLike<'ltr' | 'rtl'>;
|
|
26
26
|
/** The delay in milliseconds before expanding sub-menus on hover. */
|
|
@@ -38,7 +38,9 @@ interface MenuTriggerInputs<V> {
|
|
|
38
38
|
disabled: SignalLike<boolean>;
|
|
39
39
|
}
|
|
40
40
|
/** The inputs for the MenuItemPattern class. */
|
|
41
|
-
interface MenuItemInputs<V> extends Omit<ListItem<V>, 'index' | 'selectable'> {
|
|
41
|
+
interface MenuItemInputs<V> extends Omit<ListItem<V>, 'index' | 'selectable' | 'value'> {
|
|
42
|
+
/** The value of the menu item. */
|
|
43
|
+
value?: SignalLike<V | undefined>;
|
|
42
44
|
/** A reference to the parent menu or menu trigger. */
|
|
43
45
|
parent: SignalLike<MenuPattern<V> | MenuBarPattern<V> | undefined>;
|
|
44
46
|
/** A reference to the submenu associated with the menu item. */
|
|
@@ -58,17 +60,19 @@ declare class MenuPattern<V> {
|
|
|
58
60
|
/** Whether the menu is visible. */
|
|
59
61
|
readonly visible: SignalLike<boolean>;
|
|
60
62
|
/** Controls list behavior for the menu items. */
|
|
61
|
-
readonly listBehavior: List<MenuItemPattern<V>, V>;
|
|
63
|
+
readonly listBehavior: List<MenuItemPattern<V>, V | undefined>;
|
|
62
64
|
/** Whether the menu or any of its child elements are currently focused. */
|
|
63
65
|
readonly isFocused: WritableSignalLike<boolean>;
|
|
64
66
|
/** Whether the menu has received interaction. */
|
|
65
67
|
readonly hasBeenInteracted: WritableSignalLike<boolean>;
|
|
66
68
|
/** Whether the menu trigger has been hovered. */
|
|
67
69
|
readonly hasBeenHovered: WritableSignalLike<boolean>;
|
|
70
|
+
/** Items currently inside the menu. */
|
|
71
|
+
readonly items: () => MenuItemPattern<V>[];
|
|
68
72
|
/** Timeout used to open sub-menus on hover. */
|
|
69
|
-
_openTimeout
|
|
73
|
+
private _openTimeout;
|
|
70
74
|
/** Timeout used to close sub-menus on hover out. */
|
|
71
|
-
_closeTimeout
|
|
75
|
+
private _closeTimeout;
|
|
72
76
|
/** The tab index of the menu. */
|
|
73
77
|
readonly tabIndex: () => -1 | 0;
|
|
74
78
|
/** Whether the menu should be focused on mouse over. */
|
|
@@ -139,7 +143,7 @@ declare class MenuPattern<V> {
|
|
|
139
143
|
declare class MenuBarPattern<V> {
|
|
140
144
|
readonly inputs: MenuBarInputs<V>;
|
|
141
145
|
/** Controls list behavior for the menu items. */
|
|
142
|
-
readonly listBehavior: List<MenuItemPattern<V>, V>;
|
|
146
|
+
readonly listBehavior: List<MenuItemPattern<V>, V | undefined>;
|
|
143
147
|
/** The tab index of the menu. */
|
|
144
148
|
readonly tabIndex: () => -1 | 0;
|
|
145
149
|
/** The key used to navigate to the next item. */
|
|
@@ -227,10 +231,10 @@ declare class MenuTriggerPattern<V> {
|
|
|
227
231
|
}): void;
|
|
228
232
|
}
|
|
229
233
|
/** The menu item ui pattern class. */
|
|
230
|
-
declare class MenuItemPattern<V> implements ListItem<V> {
|
|
234
|
+
declare class MenuItemPattern<V> implements ListItem<V | undefined> {
|
|
231
235
|
readonly inputs: MenuItemInputs<V>;
|
|
232
236
|
/** The value of the menu item. */
|
|
233
|
-
readonly value: SignalLike<V>;
|
|
237
|
+
readonly value: SignalLike<V | undefined>;
|
|
234
238
|
/** The unique ID of the menu item. */
|
|
235
239
|
readonly id: SignalLike<string>;
|
|
236
240
|
/** Whether the menu item is disabled. */
|
|
@@ -1,42 +1,40 @@
|
|
|
1
1
|
import { SignalLike, WritableSignalLike } from './_collection-chunk.js';
|
|
2
|
-
import {
|
|
2
|
+
import { ListFocusItem, ListNavigationItem, ListFocus, ListNavigation } from './_list-navigation-chunk.js';
|
|
3
3
|
|
|
4
4
|
/** Represents the required inputs for a toolbar widget group. */
|
|
5
|
-
interface ToolbarWidgetGroupInputs
|
|
5
|
+
interface ToolbarWidgetGroupInputs {
|
|
6
6
|
/** A reference to the parent toolbar. */
|
|
7
|
-
toolbar: SignalLike<ToolbarPattern
|
|
7
|
+
toolbar: SignalLike<ToolbarPattern | undefined>;
|
|
8
8
|
/** Whether the widget group is disabled. */
|
|
9
9
|
disabled: SignalLike<boolean>;
|
|
10
10
|
/** The list of items within the widget group. */
|
|
11
|
-
items: SignalLike<
|
|
12
|
-
/** Whether the group allows multiple widgets to be selected. */
|
|
13
|
-
multi: SignalLike<boolean>;
|
|
11
|
+
items: SignalLike<ToolbarWidgetPattern[]>;
|
|
14
12
|
}
|
|
15
13
|
/** A group of widgets within a toolbar that provides nested navigation. */
|
|
16
|
-
declare class ToolbarWidgetGroupPattern
|
|
17
|
-
readonly inputs: ToolbarWidgetGroupInputs
|
|
14
|
+
declare class ToolbarWidgetGroupPattern {
|
|
15
|
+
readonly inputs: ToolbarWidgetGroupInputs;
|
|
18
16
|
/** Whether the widget is disabled. */
|
|
19
17
|
readonly disabled: () => boolean;
|
|
20
18
|
/** A reference to the parent toolbar. */
|
|
21
|
-
readonly toolbar: () => ToolbarPattern
|
|
22
|
-
|
|
23
|
-
readonly multi: () => boolean;
|
|
24
|
-
readonly searchTerm: () => string;
|
|
25
|
-
readonly value: () => V;
|
|
26
|
-
readonly selectable: () => boolean;
|
|
27
|
-
readonly element: () => undefined;
|
|
28
|
-
constructor(inputs: ToolbarWidgetGroupInputs<T, V>);
|
|
19
|
+
readonly toolbar: () => ToolbarPattern | undefined;
|
|
20
|
+
constructor(inputs: ToolbarWidgetGroupInputs);
|
|
29
21
|
}
|
|
30
22
|
|
|
31
23
|
/** Represents the required inputs for a toolbar widget in a toolbar. */
|
|
32
|
-
interface ToolbarWidgetInputs
|
|
24
|
+
interface ToolbarWidgetInputs {
|
|
25
|
+
/** A unique identifier for the widget. */
|
|
26
|
+
id: SignalLike<string>;
|
|
27
|
+
/** The html element that should receive focus. */
|
|
28
|
+
element: SignalLike<HTMLElement | undefined>;
|
|
29
|
+
/** Whether the widget is disabled. */
|
|
30
|
+
disabled: SignalLike<boolean>;
|
|
33
31
|
/** A reference to the parent toolbar. */
|
|
34
|
-
toolbar: SignalLike<ToolbarPattern
|
|
32
|
+
toolbar: SignalLike<ToolbarPattern>;
|
|
35
33
|
/** A reference to the parent widget group. */
|
|
36
|
-
group: SignalLike<ToolbarWidgetGroupPattern
|
|
34
|
+
group: SignalLike<ToolbarWidgetGroupPattern | undefined>;
|
|
37
35
|
}
|
|
38
|
-
declare class ToolbarWidgetPattern
|
|
39
|
-
readonly inputs: ToolbarWidgetInputs
|
|
36
|
+
declare class ToolbarWidgetPattern implements ListFocusItem, ListNavigationItem {
|
|
37
|
+
readonly inputs: ToolbarWidgetInputs;
|
|
40
38
|
/** A unique identifier for the widget. */
|
|
41
39
|
readonly id: () => string;
|
|
42
40
|
/** The html element that should receive focus. */
|
|
@@ -44,50 +42,60 @@ declare class ToolbarWidgetPattern<V> implements ListItem<V> {
|
|
|
44
42
|
/** Whether the widget is disabled. */
|
|
45
43
|
readonly disabled: () => boolean;
|
|
46
44
|
/** A reference to the parent toolbar. */
|
|
47
|
-
readonly group: () => ToolbarWidgetGroupPattern
|
|
45
|
+
readonly group: () => ToolbarWidgetGroupPattern | undefined;
|
|
48
46
|
/** A reference to the toolbar containing the widget. */
|
|
49
|
-
readonly toolbar: () => ToolbarPattern
|
|
47
|
+
readonly toolbar: () => ToolbarPattern;
|
|
50
48
|
/** The tabindex of the widget. */
|
|
51
49
|
readonly tabIndex: SignalLike<-1 | 0>;
|
|
52
|
-
/** The text used by the typeahead search. */
|
|
53
|
-
readonly searchTerm: () => string;
|
|
54
|
-
/** The value associated with the widget. */
|
|
55
|
-
readonly value: () => V;
|
|
56
|
-
/** Whether the widget is selectable. */
|
|
57
|
-
readonly selectable: () => boolean;
|
|
58
50
|
/** The position of the widget within the toolbar. */
|
|
59
51
|
readonly index: SignalLike<number>;
|
|
60
|
-
/** Whether the widget is selected (only relevant in a selection group). */
|
|
61
|
-
readonly selected: SignalLike<boolean>;
|
|
62
52
|
/** Whether the widget is currently the active one (focused). */
|
|
63
53
|
readonly active: SignalLike<boolean>;
|
|
64
|
-
constructor(inputs: ToolbarWidgetInputs
|
|
54
|
+
constructor(inputs: ToolbarWidgetInputs);
|
|
65
55
|
}
|
|
66
56
|
|
|
67
57
|
/** Represents the required inputs for a toolbar. */
|
|
68
|
-
type ToolbarInputs
|
|
58
|
+
type ToolbarInputs = {
|
|
59
|
+
/** The html element that should receive focus. */
|
|
60
|
+
element: SignalLike<HTMLElement | undefined>;
|
|
61
|
+
/** The active item. */
|
|
62
|
+
activeItem: WritableSignalLike<ToolbarWidgetPattern | undefined>;
|
|
63
|
+
/** The items in the toolbar. */
|
|
64
|
+
items: SignalLike<ToolbarWidgetPattern[]>;
|
|
65
|
+
/** Whether disabled items in the toolbar should be focusable. */
|
|
66
|
+
softDisabled: SignalLike<boolean>;
|
|
67
|
+
/** Whether the toolbar is disabled. */
|
|
68
|
+
disabled: SignalLike<boolean>;
|
|
69
|
+
/** Whether the toolbar is vertically or horizontally oriented. */
|
|
70
|
+
orientation: SignalLike<'vertical' | 'horizontal'>;
|
|
71
|
+
/** The direction that text is read based on the users locale. */
|
|
72
|
+
textDirection: SignalLike<'rtl' | 'ltr'>;
|
|
73
|
+
/** Whether focus should wrap when navigating. */
|
|
74
|
+
wrap: SignalLike<boolean>;
|
|
69
75
|
/** A function that returns the toolbar item associated with a given element. */
|
|
70
|
-
getItem: (e: Element) => ToolbarWidgetPattern
|
|
76
|
+
getItem: (e: Element) => ToolbarWidgetPattern | undefined;
|
|
71
77
|
};
|
|
72
78
|
/** Controls the state of a toolbar. */
|
|
73
|
-
declare class ToolbarPattern
|
|
74
|
-
readonly inputs: ToolbarInputs
|
|
75
|
-
/**
|
|
76
|
-
readonly
|
|
79
|
+
declare class ToolbarPattern {
|
|
80
|
+
readonly inputs: ToolbarInputs;
|
|
81
|
+
/** Controls focus for the toolbar. */
|
|
82
|
+
readonly focusManager: ListFocus<ToolbarWidgetPattern>;
|
|
83
|
+
/** Controls navigation for the toolbar. */
|
|
84
|
+
readonly navigationBehavior: ListNavigation<ToolbarWidgetPattern>;
|
|
77
85
|
/** Whether the toolbar has been interacted with. */
|
|
78
86
|
readonly hasBeenInteracted: WritableSignalLike<boolean>;
|
|
79
|
-
/** Whether the
|
|
87
|
+
/** Whether the toolbar is vertically or horizontally oriented. */
|
|
80
88
|
readonly orientation: SignalLike<'vertical' | 'horizontal'>;
|
|
81
89
|
/** Whether disabled items in the group should be focusable. */
|
|
82
90
|
readonly softDisabled: SignalLike<boolean>;
|
|
83
91
|
/** Whether the toolbar is disabled. */
|
|
84
92
|
readonly disabled: SignalLike<boolean>;
|
|
85
|
-
/** The tab index of the toolbar
|
|
93
|
+
/** The tab index of the toolbar. */
|
|
86
94
|
readonly tabIndex: SignalLike<-1 | 0>;
|
|
87
|
-
/** The id of the current active widget
|
|
95
|
+
/** The id of the current active widget. */
|
|
88
96
|
readonly activeDescendant: SignalLike<string | undefined>;
|
|
89
97
|
/** The currently active item in the toolbar. */
|
|
90
|
-
readonly activeItem: () => ToolbarWidgetPattern
|
|
98
|
+
readonly activeItem: () => ToolbarWidgetPattern | undefined;
|
|
91
99
|
/** The key used to navigate to the previous widget. */
|
|
92
100
|
private readonly _prevKey;
|
|
93
101
|
/** The key used to navigate to the next widget. */
|
|
@@ -104,10 +112,7 @@ declare class ToolbarPattern<V> {
|
|
|
104
112
|
private _groupPrev;
|
|
105
113
|
/** Navigates to the widget targeted by a pointer event. */
|
|
106
114
|
private _goto;
|
|
107
|
-
|
|
108
|
-
constructor(inputs: ToolbarInputs<V>);
|
|
109
|
-
/** Returns a set of violations */
|
|
110
|
-
validate(): string[];
|
|
115
|
+
constructor(inputs: ToolbarInputs);
|
|
111
116
|
/** Handles keydown events for the toolbar. */
|
|
112
117
|
onKeydown(event: KeyboardEvent): void;
|
|
113
118
|
onPointerdown(event: PointerEvent): void;
|
|
@@ -117,8 +122,7 @@ declare class ToolbarPattern<V> {
|
|
|
117
122
|
/**
|
|
118
123
|
* Sets the toolbar to its default initial state.
|
|
119
124
|
*
|
|
120
|
-
* Sets the active index to the
|
|
121
|
-
* Otherwise, sets the active index to the first focusable widget.
|
|
125
|
+
* Sets the active index to the first focusable widget.
|
|
122
126
|
*/
|
|
123
127
|
setDefaultState(): void;
|
|
124
128
|
/** Sets the default active state of the toolbar before receiving interaction for the first time. */
|
package/types/menu.d.ts
CHANGED
|
@@ -60,7 +60,7 @@ declare class MenuBar<V> implements OnDestroy {
|
|
|
60
60
|
/** The menu items as a writable signal. */
|
|
61
61
|
private readonly _itemPatterns;
|
|
62
62
|
/** A callback function triggered when a menu item is selected. */
|
|
63
|
-
readonly itemSelected: _angular_core.OutputEmitterRef<V>;
|
|
63
|
+
readonly itemSelected: _angular_core.OutputEmitterRef<V | undefined>;
|
|
64
64
|
constructor();
|
|
65
65
|
ngOnDestroy(): void;
|
|
66
66
|
/** Closes the menubar. */
|
|
@@ -93,7 +93,7 @@ declare class MenuItem<V> implements OnInit, OnDestroy {
|
|
|
93
93
|
/** The unique ID of the menu item. */
|
|
94
94
|
readonly id: _angular_core.InputSignal<string>;
|
|
95
95
|
/** The value of the menu item. */
|
|
96
|
-
readonly value: _angular_core.InputSignal<V>;
|
|
96
|
+
readonly value: _angular_core.InputSignal<V | undefined>;
|
|
97
97
|
/** Whether the menu item is disabled. */
|
|
98
98
|
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
99
99
|
/** The search term associated with the menu item. */
|
|
@@ -120,7 +120,7 @@ declare class MenuItem<V> implements OnInit, OnDestroy {
|
|
|
120
120
|
/** Closes the submenu. */
|
|
121
121
|
close(): void;
|
|
122
122
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuItem<any>, never>;
|
|
123
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MenuItem<any>, "[ngMenuItem]", ["ngMenuItem"], { "id": { "alias": "id"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required":
|
|
123
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MenuItem<any>, "[ngMenuItem]", ["ngMenuItem"], { "id": { "alias": "id"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "searchTerm": { "alias": "searchTerm"; "required": false; "isSignal": true; }; "role": { "alias": "role"; "required": false; "isSignal": true; }; "submenu": { "alias": "submenu"; "required": false; "isSignal": true; }; }, { "searchTerm": "searchTermChange"; }, never, never, true, never>;
|
|
124
124
|
}
|
|
125
125
|
|
|
126
126
|
/**
|
|
@@ -191,7 +191,7 @@ declare class Menu<V> implements OnDestroy {
|
|
|
191
191
|
/** The tab index of the menu. */
|
|
192
192
|
readonly tabIndex: Signal<-1 | 0>;
|
|
193
193
|
/** A callback function triggered when a menu item is selected. */
|
|
194
|
-
readonly itemSelected: _angular_core.OutputEmitterRef<V>;
|
|
194
|
+
readonly itemSelected: _angular_core.OutputEmitterRef<V | undefined>;
|
|
195
195
|
/** The delay in milliseconds before expanding sub-menus on hover. */
|
|
196
196
|
readonly expansionDelay: _angular_core.InputSignal<number>;
|
|
197
197
|
constructor();
|
package/types/private.d.ts
CHANGED
|
@@ -96,6 +96,8 @@ declare class ComboboxPattern {
|
|
|
96
96
|
onFocusin(): void;
|
|
97
97
|
/** Handles focus out events for the combobox. */
|
|
98
98
|
onFocusout(): void;
|
|
99
|
+
/** Closes the popup once focus has left both the combobox and the popup. */
|
|
100
|
+
closePopupOnFocusout(): void;
|
|
99
101
|
/** Handles input events for the combobox. */
|
|
100
102
|
onInput(event: Event): void;
|
|
101
103
|
/** Highlights the currently selected item in the combobox. */
|
|
@@ -113,6 +115,8 @@ interface ComboboxPopupInputs {
|
|
|
113
115
|
activeDescendant: SignalLike<string | undefined>;
|
|
114
116
|
/** The ID of the popup. */
|
|
115
117
|
popupId: SignalLike<string | undefined>;
|
|
118
|
+
/** A reference to the parent combobox. */
|
|
119
|
+
combobox: SignalLike<ComboboxPattern | undefined>;
|
|
116
120
|
}
|
|
117
121
|
/** Controls the state of a simple combobox popup. */
|
|
118
122
|
declare class ComboboxPopupPattern {
|
|
@@ -125,6 +129,8 @@ declare class ComboboxPopupPattern {
|
|
|
125
129
|
readonly activeDescendant: () => string | undefined;
|
|
126
130
|
/** The ID of the popup. */
|
|
127
131
|
readonly popupId: () => string | undefined;
|
|
132
|
+
/** A reference to the parent combobox. */
|
|
133
|
+
readonly combobox: () => ComboboxPattern | undefined;
|
|
128
134
|
/** Whether the popup is focused. */
|
|
129
135
|
readonly isFocused: _angular_core.WritableSignal<boolean>;
|
|
130
136
|
constructor(inputs: ComboboxPopupInputs);
|