@angular/aria 22.2.0-next.1 → 22.2.0-next.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/fesm2022/_accordion-chunk.mjs +3 -2
  2. package/fesm2022/_accordion-chunk.mjs.map +1 -1
  3. package/fesm2022/_deferred-content-chunk.mjs +6 -6
  4. package/fesm2022/_menu-chunk.mjs +5 -4
  5. package/fesm2022/_menu-chunk.mjs.map +1 -1
  6. package/fesm2022/_option-chunk.mjs +4 -2
  7. package/fesm2022/_option-chunk.mjs.map +1 -1
  8. package/fesm2022/_tabs-chunk.mjs +4 -2
  9. package/fesm2022/_tabs-chunk.mjs.map +1 -1
  10. package/fesm2022/_toolbar-widget-group-chunk.mjs +2 -1
  11. package/fesm2022/_toolbar-widget-group-chunk.mjs.map +1 -1
  12. package/fesm2022/_tree-chunk.mjs +4 -2
  13. package/fesm2022/_tree-chunk.mjs.map +1 -1
  14. package/fesm2022/_widget-chunk.mjs +9 -8
  15. package/fesm2022/_widget-chunk.mjs.map +1 -1
  16. package/fesm2022/accordion.mjs +13 -12
  17. package/fesm2022/accordion.mjs.map +1 -1
  18. package/fesm2022/aria.mjs +1 -1
  19. package/fesm2022/aria.mjs.map +1 -1
  20. package/fesm2022/combobox.mjs +9 -9
  21. package/fesm2022/grid.mjs +13 -12
  22. package/fesm2022/grid.mjs.map +1 -1
  23. package/fesm2022/listbox.mjs +7 -6
  24. package/fesm2022/listbox.mjs.map +1 -1
  25. package/fesm2022/menu.mjs +16 -15
  26. package/fesm2022/menu.mjs.map +1 -1
  27. package/fesm2022/private.mjs +4 -3
  28. package/fesm2022/private.mjs.map +1 -1
  29. package/fesm2022/tabs.mjs +16 -15
  30. package/fesm2022/tabs.mjs.map +1 -1
  31. package/fesm2022/toolbar.mjs +10 -9
  32. package/fesm2022/toolbar.mjs.map +1 -1
  33. package/fesm2022/tree.mjs +10 -9
  34. package/fesm2022/tree.mjs.map +1 -1
  35. package/package.json +2 -2
  36. package/types/_accordion-chunk.d.ts +2 -2
  37. package/types/_collection-chunk.d.ts +1 -1
  38. package/types/_grid-chunk.d.ts +4 -4
  39. package/types/_list-chunk.d.ts +2 -2
  40. package/types/_listbox-chunk.d.ts +3 -3
  41. package/types/_menu-chunk.d.ts +4 -4
  42. package/types/_tabs-chunk.d.ts +4 -4
  43. package/types/_toolbar-chunk.d.ts +2 -2
  44. package/types/_tree-chunk.d.ts +7 -7
  45. package/types/combobox.d.ts +1 -1
  46. package/types/grid.d.ts +6 -6
  47. package/types/listbox.d.ts +3 -3
  48. package/types/menu.d.ts +13 -13
  49. package/types/private.d.ts +3 -3
  50. package/types/tabs.d.ts +3 -3
  51. package/types/toolbar.d.ts +1 -1
  52. package/types/tree.d.ts +5 -5
@@ -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.1",
3
+ "version": "22.2.0-next.3",
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.1",
15
+ "@angular/cdk": "22.2.0-next.3",
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": {
@@ -18,9 +18,9 @@ declare class AccordionGroupPattern {
18
18
  readonly expansionBehavior: ListExpansion;
19
19
  constructor(inputs: AccordionGroupInputs);
20
20
  /** The key used to navigate to the previous accordion trigger. */
21
- readonly prevKey: SignalLike<"ArrowUp" | "ArrowRight" | "ArrowLeft">;
21
+ readonly prevKey: SignalLike<"ArrowLeft" | "ArrowRight" | "ArrowUp">;
22
22
  /** The key used to navigate to the next accordion trigger. */
23
- readonly nextKey: SignalLike<"ArrowRight" | "ArrowLeft" | "ArrowDown">;
23
+ readonly nextKey: SignalLike<"ArrowDown" | "ArrowLeft" | "ArrowRight">;
24
24
  /** The keydown event manager for the accordion trigger. */
25
25
  readonly keydown: SignalLike<KeyboardEventManager<KeyboardEvent>>;
26
26
  /** The click event manager for the accordion trigger. */
@@ -18,7 +18,7 @@ interface HasElement {
18
18
  /**
19
19
  * Sort directives by their document order.
20
20
  */
21
- declare function sortDirectives(a: HasElement, b: HasElement): 1 | -1;
21
+ declare function sortDirectives(a: HasElement, b: HasElement): -1 | 1;
22
22
 
23
23
  /**
24
24
  * A collection that lazily sorts its items based on their DOM position.
@@ -99,7 +99,7 @@ declare class GridFocus<T extends GridFocusCell> {
99
99
  /** Whether the grid is in a disabled state. */
100
100
  readonly gridDisabled: SignalLike<boolean>;
101
101
  /** The tab index for the grid container. */
102
- readonly gridTabIndex: SignalLike<0 | -1>;
102
+ readonly gridTabIndex: SignalLike<-1 | 0>;
103
103
  constructor(inputs: GridFocusInputs & GridFocusDeps<T>);
104
104
  /** Returns the tab index for the given grid cell cell. */
105
105
  getCellTabIndex(cell: T): -1 | 0;
@@ -504,7 +504,7 @@ declare class GridPattern {
504
504
  /** The cells in the grid. */
505
505
  readonly cells: SignalLike<GridCellPattern[][]>;
506
506
  /** The tab index for the grid. */
507
- readonly tabIndex: SignalLike<0 | -1>;
507
+ readonly tabIndex: SignalLike<-1 | 0>;
508
508
  /** Whether the grid is disabled. */
509
509
  readonly disabled: SignalLike<boolean>;
510
510
  /** Whether the grid is multi-selectable. */
@@ -524,9 +524,9 @@ declare class GridPattern {
524
524
  /** Whether the user is currently dragging to select a range of cells. */
525
525
  readonly dragging: WritableSignalLike<boolean>;
526
526
  /** The key for navigating to the previous column. */
527
- readonly prevColKey: SignalLike<"ArrowRight" | "ArrowLeft">;
527
+ readonly prevColKey: SignalLike<"ArrowLeft" | "ArrowRight">;
528
528
  /** The key for navigating to the next column. */
529
- readonly nextColKey: SignalLike<"ArrowRight" | "ArrowLeft">;
529
+ readonly nextColKey: SignalLike<"ArrowLeft" | "ArrowRight">;
530
530
  /** The keydown event manager for the grid. */
531
531
  readonly keydown: SignalLike<KeyboardEventManager<KeyboardEvent>>;
532
532
  /** The click event manager for the grid. */
@@ -140,7 +140,7 @@ declare class List<T extends ListItem<V>, V> {
140
140
  /** The id of the current active item. */
141
141
  readonly activeDescendant: SignalLike<string | undefined>;
142
142
  /** The tab index of the list. */
143
- readonly tabIndex: SignalLike<0 | -1>;
143
+ readonly tabIndex: SignalLike<-1 | 0>;
144
144
  /** The index of the currently active item in the list. */
145
145
  readonly activeIndex: SignalLike<number>;
146
146
  /**
@@ -160,7 +160,7 @@ declare class List<T extends ListItem<V>, V> {
160
160
  private readonly _wrap;
161
161
  constructor(inputs: ListInputs<T, V>);
162
162
  /** Returns the tab index for the given item. */
163
- getItemTabindex(item: T): 0 | -1;
163
+ getItemTabindex(item: T): -1 | 0;
164
164
  /** Navigates to the first option in the list. */
165
165
  first(opts?: NavOptions<T>): void;
166
166
  /** Navigates to the last option in the list. */
@@ -36,7 +36,7 @@ declare class OptionPattern<V> {
36
36
  /** A reference to the parent listbox. */
37
37
  readonly listbox: SignalLike<ListboxPattern$1<V> | undefined>;
38
38
  /** The tab index of the option. */
39
- readonly tabIndex: SignalLike<0 | -1 | undefined>;
39
+ readonly tabIndex: SignalLike<-1 | 0 | undefined>;
40
40
  /** The html element that should receive focus. */
41
41
  readonly element: SignalLike<HTMLElement | undefined>;
42
42
  constructor(args: OptionInputs<V>);
@@ -74,9 +74,9 @@ declare class ListboxPattern<V> {
74
74
  /** Whether the listbox should wrap. Used to disable wrapping while range selecting. */
75
75
  readonly wrap: WritableSignalLike<boolean>;
76
76
  /** The key used to navigate to the previous item in the list. */
77
- readonly prevKey: SignalLike<"ArrowUp" | "ArrowRight" | "ArrowLeft">;
77
+ readonly prevKey: SignalLike<"ArrowLeft" | "ArrowRight" | "ArrowUp">;
78
78
  /** The key used to navigate to the next item in the list. */
79
- readonly nextKey: SignalLike<"ArrowRight" | "ArrowLeft" | "ArrowDown">;
79
+ readonly nextKey: SignalLike<"ArrowDown" | "ArrowLeft" | "ArrowRight">;
80
80
  /** Represents the space key. Does nothing when the user is actively using typeahead. */
81
81
  readonly dynamicSpaceKey: SignalLike<"" | " ">;
82
82
  /** The regexp used to decide if a key should trigger typeahead. */
@@ -70,7 +70,7 @@ declare class MenuPattern<V> {
70
70
  /** Timeout used to close sub-menus on hover out. */
71
71
  _closeTimeout: any;
72
72
  /** The tab index of the menu. */
73
- readonly tabIndex: () => 0 | -1;
73
+ readonly tabIndex: () => -1 | 0;
74
74
  /** Whether the menu should be focused on mouse over. */
75
75
  readonly shouldFocus: SignalLike<boolean>;
76
76
  /** The key used to expand sub-menus. */
@@ -141,7 +141,7 @@ declare class MenuBarPattern<V> {
141
141
  /** Controls list behavior for the menu items. */
142
142
  readonly listBehavior: List<MenuItemPattern<V>, V>;
143
143
  /** The tab index of the menu. */
144
- readonly tabIndex: () => 0 | -1;
144
+ readonly tabIndex: () => -1 | 0;
145
145
  /** The key used to navigate to the next item. */
146
146
  private readonly _nextKey;
147
147
  /** The key used to navigate to the previous item. */
@@ -244,7 +244,7 @@ declare class MenuItemPattern<V> implements ListItem<V> {
244
244
  /** Whether the menu item has received interaction. */
245
245
  readonly hasBeenInteracted: WritableSignalLike<boolean>;
246
246
  /** The tab index of the menu item. */
247
- readonly tabIndex: SignalLike<0 | -1>;
247
+ readonly tabIndex: SignalLike<-1 | 0>;
248
248
  /** The position of the menu item in the menu. */
249
249
  readonly index: SignalLike<number>;
250
250
  /** Whether the menu item is expanded. */
@@ -254,7 +254,7 @@ declare class MenuItemPattern<V> implements ListItem<V> {
254
254
  /** The ID of the menu that the menu item controls. */
255
255
  readonly controls: WritableSignalLike<string | undefined>;
256
256
  /** The role of the menu item. */
257
- readonly role: () => "menuitem" | "menuitemradio" | "menuitemcheckbox";
257
+ readonly role: () => "menuitem" | "menuitemcheckbox" | "menuitemradio";
258
258
  /** Whether the menu item has a popup. */
259
259
  readonly hasPopup: SignalLike<boolean>;
260
260
  /** The submenu associated with the menu item. */
@@ -28,7 +28,7 @@ declare class TabPattern {
28
28
  /** Whether the tab is selected. */
29
29
  readonly selected: SignalLike<boolean>;
30
30
  /** The tab index of the tab. */
31
- readonly tabIndex: SignalLike<0 | -1>;
31
+ readonly tabIndex: SignalLike<-1 | 0>;
32
32
  /** The id of the tabpanel associated with the tab. */
33
33
  readonly controls: SignalLike<string | undefined>;
34
34
  constructor(inputs: TabInputs);
@@ -82,15 +82,15 @@ declare class TabListPattern {
82
82
  /** Whether the tablist is disabled. */
83
83
  readonly disabled: SignalLike<boolean>;
84
84
  /** The tab index of the tablist. */
85
- readonly tabIndex: SignalLike<0 | -1>;
85
+ readonly tabIndex: SignalLike<-1 | 0>;
86
86
  /** The id of the current active tab. */
87
87
  readonly activeDescendant: SignalLike<string | undefined>;
88
88
  /** Whether selection should follow focus. */
89
89
  readonly followFocus: SignalLike<boolean>;
90
90
  /** The key used to navigate to the previous tab in the tablist. */
91
- readonly prevKey: SignalLike<"ArrowUp" | "ArrowRight" | "ArrowLeft">;
91
+ readonly prevKey: SignalLike<"ArrowLeft" | "ArrowRight" | "ArrowUp">;
92
92
  /** The key used to navigate to the next item in the list. */
93
- readonly nextKey: SignalLike<"ArrowRight" | "ArrowLeft" | "ArrowDown">;
93
+ readonly nextKey: SignalLike<"ArrowDown" | "ArrowLeft" | "ArrowRight">;
94
94
  /** The keydown event manager for the tablist. */
95
95
  readonly keydown: SignalLike<KeyboardEventManager<KeyboardEvent>>;
96
96
  /** The click event manager for the tablist. */
@@ -48,7 +48,7 @@ declare class ToolbarWidgetPattern<V> implements ListItem<V> {
48
48
  /** A reference to the toolbar containing the widget. */
49
49
  readonly toolbar: () => ToolbarPattern<V>;
50
50
  /** The tabindex of the widget. */
51
- readonly tabIndex: SignalLike<0 | -1>;
51
+ readonly tabIndex: SignalLike<-1 | 0>;
52
52
  /** The text used by the typeahead search. */
53
53
  readonly searchTerm: () => string;
54
54
  /** The value associated with the widget. */
@@ -83,7 +83,7 @@ declare class ToolbarPattern<V> {
83
83
  /** Whether the toolbar is disabled. */
84
84
  readonly disabled: SignalLike<boolean>;
85
85
  /** The tab index of the toolbar (if using activedescendant). */
86
- readonly tabIndex: SignalLike<0 | -1>;
86
+ readonly tabIndex: SignalLike<-1 | 0>;
87
87
  /** The id of the current active widget (if using activedescendant). */
88
88
  readonly activeDescendant: SignalLike<string | undefined>;
89
89
  /** The currently active item in the toolbar. */
@@ -34,7 +34,7 @@ declare class Tree<T extends TreeItem<V, T>, V> {
34
34
  /** The id of the current active item. */
35
35
  readonly activeDescendant: SignalLike<string | undefined>;
36
36
  /** The tab index of the tree. */
37
- readonly tabIndex: SignalLike<0 | -1>;
37
+ readonly tabIndex: SignalLike<-1 | 0>;
38
38
  /** The index of the currently active item in the tree (within the flattened list). */
39
39
  readonly activeIndex: SignalLike<number>;
40
40
  /** The uncommitted index for selecting a range of options. */
@@ -43,7 +43,7 @@ declare class Tree<T extends TreeItem<V, T>, V> {
43
43
  private readonly _wrap;
44
44
  constructor(inputs: TreeInputs$1<T, V>);
45
45
  /** Returns the tab index for the given item. */
46
- getItemTabindex(item: T): 0 | -1;
46
+ getItemTabindex(item: T): -1 | 0;
47
47
  /** Navigates to the first option in the tree. */
48
48
  first(opts?: NavOptions<T>): void;
49
49
  /** Navigates to the last option in the tree. */
@@ -159,7 +159,7 @@ declare class TreeItemPattern<V> implements TreeItem<V, TreeItemPattern<V>> {
159
159
  /** Whether the item is active. */
160
160
  readonly active: SignalLike<boolean>;
161
161
  /** The tab index of the item. */
162
- readonly tabIndex: SignalLike<0 | -1>;
162
+ readonly tabIndex: SignalLike<-1 | 0>;
163
163
  /** Whether the item is selected. */
164
164
  readonly selected: SignalLike<boolean | undefined>;
165
165
  /** The current type of this item. */
@@ -208,13 +208,13 @@ declare class TreePattern<V> implements TreeInputs<V> {
208
208
  /** Whether the tree direction is RTL. */
209
209
  readonly isRtl: SignalLike<boolean>;
210
210
  /** The key for navigating to the previous item. */
211
- readonly prevKey: SignalLike<"ArrowUp" | "ArrowRight" | "ArrowLeft">;
211
+ readonly prevKey: SignalLike<"ArrowLeft" | "ArrowRight" | "ArrowUp">;
212
212
  /** The key for navigating to the next item. */
213
- readonly nextKey: SignalLike<"ArrowRight" | "ArrowLeft" | "ArrowDown">;
213
+ readonly nextKey: SignalLike<"ArrowDown" | "ArrowLeft" | "ArrowRight">;
214
214
  /** The key for collapsing an item or moving to its parent. */
215
- readonly collapseKey: SignalLike<"ArrowUp" | "ArrowRight" | "ArrowLeft">;
215
+ readonly collapseKey: SignalLike<"ArrowLeft" | "ArrowRight" | "ArrowUp">;
216
216
  /** The key for expanding an item or moving to its first child. */
217
- readonly expandKey: SignalLike<"ArrowRight" | "ArrowLeft" | "ArrowDown">;
217
+ readonly expandKey: SignalLike<"ArrowDown" | "ArrowLeft" | "ArrowRight">;
218
218
  /** Represents the space key. Does nothing when the user is actively using typeahead. */
219
219
  readonly dynamicSpaceKey: SignalLike<"" | " ">;
220
220
  /** Regular expression to match characters for typeahead. */
@@ -61,7 +61,7 @@ declare class ComboboxPopup implements OnInit, OnDestroy {
61
61
  /** The ID of the active descendant in the popup. */
62
62
  readonly activeDescendant: _angular_core.Signal<string | undefined>;
63
63
  /** The type of the popup (e.g., listbox, tree, grid, dialog). */
64
- readonly popupType: _angular_core.InputSignal<"listbox" | "tree" | "grid" | "dialog">;
64
+ readonly popupType: _angular_core.InputSignal<"dialog" | "grid" | "listbox" | "tree">;
65
65
  /** The popup pattern. */
66
66
  readonly _pattern: ComboboxPopupPattern;
67
67
  ngOnInit(): void;
package/types/grid.d.ts CHANGED
@@ -37,7 +37,7 @@ declare class GridCell implements OnInit, OnDestroy {
37
37
  /** A unique identifier for the cell. */
38
38
  readonly id: _angular_core.InputSignal<string>;
39
39
  /** The ARIA role for the cell. */
40
- readonly role: _angular_core.InputSignal<"gridcell" | "columnheader" | "rowheader">;
40
+ readonly role: _angular_core.InputSignal<"columnheader" | "gridcell" | "rowheader">;
41
41
  /** The number of rows the cell should span. */
42
42
  readonly rowSpan: _angular_core.InputSignal<number>;
43
43
  /** The number of columns the cell should span. */
@@ -152,7 +152,7 @@ declare class Grid implements OnDestroy {
152
152
  * - `roving`: Focus is moved to the active cell using `tabindex`.
153
153
  * - `activedescendant`: Focus remains on the grid container, and `aria-activedescendant` is used to indicate the active cell.
154
154
  */
155
- readonly focusMode: _angular_core.InputSignal<"roving" | "activedescendant">;
155
+ readonly focusMode: _angular_core.InputSignal<"activedescendant" | "roving">;
156
156
  /**
157
157
  * The wrapping behavior for keyboard navigation along the row axis.
158
158
  * - `continuous`: Navigation wraps from the last row to the first, and vice-versa.
@@ -174,7 +174,7 @@ declare class Grid implements OnDestroy {
174
174
  * - `follow`: The focused cell is automatically selected.
175
175
  * - `explicit`: Cells are selected explicitly by the user (e.g., via click or spacebar).
176
176
  */
177
- readonly selectionMode: _angular_core.InputSignal<"follow" | "explicit">;
177
+ readonly selectionMode: _angular_core.InputSignal<"explicit" | "follow">;
178
178
  /** The tabindex of the grid. */
179
179
  readonly tabIndex: _angular_core.InputSignalWithTransform<number | undefined, string | number | undefined>;
180
180
  /** The UI pattern for the grid. */
@@ -219,15 +219,15 @@ declare class GridCellWidget {
219
219
  /** A unique identifier for the widget. */
220
220
  readonly id: _angular_core.InputSignal<string>;
221
221
  /** The type of widget, which determines how it is activated. */
222
- readonly widgetType: _angular_core.InputSignal<"simple" | "complex" | "editable">;
222
+ readonly widgetType: _angular_core.InputSignal<"complex" | "editable" | "simple">;
223
223
  /** Whether the widget is disabled. */
224
224
  readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
225
225
  /** The target that will receive focus instead of the widget. */
226
226
  readonly focusTarget: _angular_core.InputSignal<ElementResolver<HTMLElement>>;
227
227
  /** Emits when the widget is activated. */
228
- readonly activated: _angular_core.OutputEmitterRef<KeyboardEvent | FocusEvent | undefined>;
228
+ readonly activated: _angular_core.OutputEmitterRef<FocusEvent | KeyboardEvent | undefined>;
229
229
  /** Emits when the widget is deactivated. */
230
- readonly deactivated: _angular_core.OutputEmitterRef<KeyboardEvent | FocusEvent | undefined>;
230
+ readonly deactivated: _angular_core.OutputEmitterRef<FocusEvent | KeyboardEvent | undefined>;
231
231
  /** The tabindex override. */
232
232
  readonly tabindex: _angular_core.InputSignal<number | undefined>;
233
233
  /**
@@ -87,7 +87,7 @@ declare class Listbox<V> implements OnDestroy {
87
87
  /** A signal wrapper for directionality. */
88
88
  protected readonly textDirection: Signal<_angular_cdk_bidi.Direction>;
89
89
  /** Whether the list is vertically or horizontally oriented. */
90
- readonly orientation: _angular_core.InputSignal<"vertical" | "horizontal">;
90
+ readonly orientation: _angular_core.InputSignal<"horizontal" | "vertical">;
91
91
  /** Whether multiple items in the list can be selected at once. */
92
92
  readonly multi: _angular_core.InputSignalWithTransform<boolean, unknown>;
93
93
  /** Whether focus should wrap when navigating. */
@@ -102,13 +102,13 @@ declare class Listbox<V> implements OnDestroy {
102
102
  * - `roving`: Focus is moved to the active item using `tabindex`.
103
103
  * - `activedescendant`: Focus remains on the listbox container, and `aria-activedescendant` is used to indicate the active item.
104
104
  */
105
- readonly focusMode: _angular_core.InputSignal<"roving" | "activedescendant">;
105
+ readonly focusMode: _angular_core.InputSignal<"activedescendant" | "roving">;
106
106
  /**
107
107
  * The selection strategy used by the list.
108
108
  * - `follow`: The focused item is automatically selected.
109
109
  * - `explicit`: Items are selected explicitly by the user (e.g., via click or spacebar).
110
110
  */
111
- readonly selectionMode: _angular_core.InputSignal<"follow" | "explicit">;
111
+ readonly selectionMode: _angular_core.InputSignal<"explicit" | "follow">;
112
112
  /** The amount of time before the typeahead search is reset. */
113
113
  readonly typeaheadDelay: _angular_core.InputSignal<number>;
114
114
  /** Whether the listbox is disabled. */
package/types/menu.d.ts CHANGED
@@ -22,13 +22,13 @@ import './_list-navigation-chunk.js';
22
22
  * </div>
23
23
  *
24
24
  * <div ngMenu #fileMenu="ngMenu">
25
- * <div ngMenuItem>New</div>
26
- * <div ngMenuItem>Open</div>
25
+ * <div ngMenuItem value="New">New</div>
26
+ * <div ngMenuItem value="Open">Open</div>
27
27
  * </div>
28
28
  *
29
29
  * <div ngMenu #editMenu="ngMenu">
30
- * <div ngMenuItem>Cut</div>
31
- * <div ngMenuItem>Copy</div>
30
+ * <div ngMenuItem value="Cut">Cut</div>
31
+ * <div ngMenuItem value="Copy">Copy</div>
32
32
  * </div>
33
33
  * ```
34
34
  *
@@ -77,8 +77,8 @@ declare class MenuBar<V> implements OnDestroy {
77
77
  *
78
78
  * ```html
79
79
  * <div ngMenu (itemSelected)="doAction()">
80
- * <div ngMenuItem>Action Item</div>
81
- * <div ngMenuItem [submenu]="anotherMenu">Submenu Trigger</div>
80
+ * <div ngMenuItem value="Action Item">Action Item</div>
81
+ * <div ngMenuItem value="Submenu Trigger" [submenu]="anotherMenu">Submenu Trigger</div>
82
82
  * </div>
83
83
  * ```
84
84
  *
@@ -99,7 +99,7 @@ declare class MenuItem<V> implements OnInit, OnDestroy {
99
99
  /** The search term associated with the menu item. */
100
100
  readonly searchTerm: _angular_core.ModelSignal<string>;
101
101
  /** The role of the menu item. */
102
- readonly role: _angular_core.InputSignal<"menuitem" | "menuitemradio" | "menuitemcheckbox">;
102
+ readonly role: _angular_core.InputSignal<"menuitem" | "menuitemcheckbox" | "menuitemradio">;
103
103
  /** A reference to the parent menu or menubar. */
104
104
  readonly parent: Menu<V> | MenuBar<V> | null;
105
105
  /** The submenu associated with the menu item. */
@@ -170,7 +170,7 @@ declare class Menu<V> implements OnDestroy {
170
170
  /** Whether the menu is disabled. */
171
171
  readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
172
172
  /** A reference to the parent menu item or menu trigger. */
173
- readonly parent: _angular_core.WritableSignal<MenuTrigger<V> | MenuItem<V> | undefined>;
173
+ readonly parent: _angular_core.WritableSignal<MenuItem<V> | MenuTrigger<V> | undefined>;
174
174
  /** Whether the menu is soft disabled. */
175
175
  readonly softDisabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
176
176
  /** The menu ui pattern instance. */
@@ -189,7 +189,7 @@ declare class Menu<V> implements OnDestroy {
189
189
  /** Whether the menu is visible. */
190
190
  readonly visible: Signal<boolean>;
191
191
  /** The tab index of the menu. */
192
- readonly tabIndex: Signal<0 | -1>;
192
+ readonly tabIndex: Signal<-1 | 0>;
193
193
  /** A callback function triggered when a menu item is selected. */
194
194
  readonly itemSelected: _angular_core.OutputEmitterRef<V>;
195
195
  /** The delay in milliseconds before expanding sub-menus on hover. */
@@ -213,8 +213,8 @@ declare class Menu<V> implements OnDestroy {
213
213
  * <button ngMenuTrigger [menu]="myMenu">Open Menu</button>
214
214
  *
215
215
  * <div ngMenu #myMenu="ngMenu">
216
- * <div ngMenuItem>Item 1</div>
217
- * <div ngMenuItem>Item 2</div>
216
+ * <div ngMenuItem value="Item 1">Item 1</div>
217
+ * <div ngMenuItem value="Item 2">Item 2</div>
218
218
  * </div>
219
219
  * ```
220
220
  *
@@ -258,8 +258,8 @@ declare class MenuTrigger<V> {
258
258
  * ```html
259
259
  * <div ngMenu #myMenu="ngMenu">
260
260
  * <ng-template ngMenuContent>
261
- * <div ngMenuItem>Lazy Item 1</div>
262
- * <div ngMenuItem>Lazy Item 2</div>
261
+ * <div ngMenuItem value="Lazy Item 1">Lazy Item 1</div>
262
+ * <div ngMenuItem value="Lazy Item 2">Lazy Item 2</div>
263
263
  * </ng-template>
264
264
  * </div>
265
265
  * ```
@@ -66,9 +66,9 @@ declare class ComboboxPattern {
66
66
  /** The ID of the popup. */
67
67
  readonly popupId: _angular_core.Signal<string | undefined>;
68
68
  /** The type of the popup. */
69
- readonly popupType: _angular_core.Signal<"listbox" | "tree" | "grid" | "dialog" | undefined>;
69
+ readonly popupType: _angular_core.Signal<"dialog" | "grid" | "listbox" | "tree" | undefined>;
70
70
  /** The autocomplete behavior of the combobox. */
71
- readonly autocomplete: _angular_core.Signal<"none" | "inline" | "list" | "both">;
71
+ readonly autocomplete: _angular_core.Signal<"both" | "inline" | "list" | "none">;
72
72
  /** A relay for keyboard events to the popup. */
73
73
  readonly keyboardEventRelay: _angular_core.WritableSignal<KeyboardEvent | undefined>;
74
74
  /** Whether the combobox is focused. */
@@ -118,7 +118,7 @@ interface ComboboxPopupInputs {
118
118
  declare class ComboboxPopupPattern {
119
119
  readonly inputs: ComboboxPopupInputs;
120
120
  /** The type of the popup. */
121
- readonly popupType: () => "listbox" | "tree" | "grid" | "dialog";
121
+ readonly popupType: () => "dialog" | "grid" | "listbox" | "tree";
122
122
  /** The element that serves as the control target for the popup. */
123
123
  readonly controlTarget: () => HTMLElement | undefined;
124
124
  /** The ID of the active descendant in the popup. */
package/types/tabs.d.ts CHANGED
@@ -81,7 +81,7 @@ declare class TabList implements OnInit, OnDestroy {
81
81
  /** The Tab UIPatterns of the child Tabs. */
82
82
  readonly _tabPatterns: _angular_core.Signal<TabPattern[]>;
83
83
  /** Whether the tablist is vertically or horizontally oriented. */
84
- readonly orientation: _angular_core.InputSignal<"vertical" | "horizontal">;
84
+ readonly orientation: _angular_core.InputSignal<"horizontal" | "vertical">;
85
85
  /** Text direction. */
86
86
  readonly textDirection: WritableSignal<_angular_cdk_bidi.Direction>;
87
87
  /** Whether focus should wrap when navigating. */
@@ -96,13 +96,13 @@ declare class TabList implements OnInit, OnDestroy {
96
96
  * - `roving`: Focus is moved to the active tab using `tabindex`.
97
97
  * - `activedescendant`: Focus remains on the tablist container, and `aria-activedescendant` is used to indicate the active tab.
98
98
  */
99
- readonly focusMode: _angular_core.InputSignal<"roving" | "activedescendant">;
99
+ readonly focusMode: _angular_core.InputSignal<"activedescendant" | "roving">;
100
100
  /**
101
101
  * The selection strategy used by the tablist.
102
102
  * - `follow`: The focused tab is automatically selected.
103
103
  * - `explicit`: Tabs are selected explicitly by the user (e.g., via click or spacebar).
104
104
  */
105
- readonly selectionMode: _angular_core.InputSignal<"follow" | "explicit">;
105
+ readonly selectionMode: _angular_core.InputSignal<"explicit" | "follow">;
106
106
  /** The current selected tab as a model input. */
107
107
  readonly selectedTab: _angular_core.ModelSignal<string | undefined>;
108
108
  /** The current selected Tab pattern, passed to the List pattern. */
@@ -115,7 +115,7 @@ declare class Toolbar<V> implements OnDestroy {
115
115
  /** Sorted UIPatterns of the child widgets */
116
116
  readonly _itemPatterns: _angular_core.Signal<ToolbarWidgetPattern<V>[]>;
117
117
  /** Whether the toolbar is vertically or horizontally oriented. */
118
- readonly orientation: _angular_core.InputSignal<"vertical" | "horizontal">;
118
+ readonly orientation: _angular_core.InputSignal<"horizontal" | "vertical">;
119
119
  /**
120
120
  * Whether to allow disabled items to receive focus. When `true`, disabled items are
121
121
  * focusable but not interactive. When `false`, disabled items are skipped during navigation.