@angular/aria 22.0.0-next.2 → 22.0.0-next.4
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 +45 -0
- package/fesm2022/_click-event-manager-chunk.mjs.map +1 -0
- package/fesm2022/_combobox-chunk.mjs +4 -4
- package/fesm2022/_combobox-chunk.mjs.map +1 -1
- package/fesm2022/_combobox-listbox-chunk.mjs +22 -12
- package/fesm2022/_combobox-listbox-chunk.mjs.map +1 -1
- package/fesm2022/_combobox-tree-chunk.mjs +18 -8
- package/fesm2022/_combobox-tree-chunk.mjs.map +1 -1
- package/fesm2022/_deferred-content-chunk.mjs +7 -7
- 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 +10 -10
- package/fesm2022/_list-typeahead-chunk.mjs.map +1 -1
- package/fesm2022/_menu-chunk.mjs +34 -13
- package/fesm2022/_menu-chunk.mjs.map +1 -1
- package/fesm2022/_pointer-event-manager-chunk.mjs.map +1 -1
- package/fesm2022/_signal-like-chunk.mjs +1 -1
- package/fesm2022/_signal-like-chunk.mjs.map +1 -1
- package/fesm2022/_tabs-chunk.mjs +15 -5
- package/fesm2022/_tabs-chunk.mjs.map +1 -1
- package/fesm2022/_toolbar-widget-group-chunk.mjs +14 -2
- package/fesm2022/_toolbar-widget-group-chunk.mjs.map +1 -1
- package/fesm2022/_widget-chunk.mjs +6 -4
- package/fesm2022/_widget-chunk.mjs.map +1 -1
- package/fesm2022/accordion.mjs +13 -13
- package/fesm2022/accordion.mjs.map +1 -1
- package/fesm2022/aria.mjs +1 -1
- package/fesm2022/aria.mjs.map +1 -1
- package/fesm2022/combobox.mjs +15 -15
- package/fesm2022/combobox.mjs.map +1 -1
- package/fesm2022/grid.mjs +12 -12
- package/fesm2022/grid.mjs.map +1 -1
- package/fesm2022/listbox.mjs +25 -32
- package/fesm2022/listbox.mjs.map +1 -1
- package/fesm2022/menu.mjs +28 -32
- package/fesm2022/menu.mjs.map +1 -1
- package/fesm2022/private.mjs +9 -8
- package/fesm2022/private.mjs.map +1 -1
- package/fesm2022/tabs.mjs +23 -31
- package/fesm2022/tabs.mjs.map +1 -1
- package/fesm2022/toolbar.mjs +22 -30
- package/fesm2022/toolbar.mjs.map +1 -1
- package/fesm2022/tree.mjs +24 -32
- package/fesm2022/tree.mjs.map +1 -1
- package/package.json +2 -2
- package/resources/code-examples.db +0 -0
- package/types/_accordion-chunk.d.ts +2 -2
- package/types/_click-event-manager-chunk.d.ts +27 -0
- package/types/_combobox-chunk.d.ts +1 -1
- package/types/_grid-chunk.d.ts +2 -2
- package/types/_list-chunk.d.ts +1 -1
- package/types/_listbox-chunk.d.ts +12 -5
- package/types/_menu-chunk.d.ts +14 -10
- package/types/_tabs-chunk.d.ts +12 -6
- package/types/_toolbar-chunk.d.ts +6 -1
- package/types/_tree-chunk.d.ts +7 -1
- package/types/listbox.d.ts +4 -6
- package/types/menu.d.ts +2 -2
- package/types/private.d.ts +2 -1
- package/types/tabs.d.ts +1 -4
- package/types/toolbar.d.ts +2 -5
- package/types/tree.d.ts +2 -5
package/fesm2022/tree.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/tree/utils.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/tree/tree.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/tree/tree-item.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/tree/tree-item-group.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nexport interface HasElement {\n element: HTMLElement;\n}\n\n/**\n * Sort directives by their document order.\n */\nexport function sortDirectives(a: HasElement, b: HasElement) {\n return (a.element.compareDocumentPosition(b.element) & Node.DOCUMENT_POSITION_PRECEDING) > 0\n ? 1\n : -1;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n Directive,\n ElementRef,\n afterRenderEffect,\n booleanAttribute,\n computed,\n inject,\n input,\n model,\n signal,\n untracked,\n} from '@angular/core';\nimport {_IdGenerator} from '@angular/cdk/a11y';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {ComboboxTreePattern, TreeItemPattern, TreePattern} from '../private';\nimport {ComboboxPopup} from '../combobox';\nimport type {TreeItem} from './tree-item';\nimport {sortDirectives} from './utils';\n\n/**\n * A container that transforms nested lists into an accessible, ARIA-compliant tree structure.\n * It manages the overall state of the tree, including selection, expansion, and keyboard\n * navigation.\n *\n * ```html\n * <ul ngTree [(value)]=\"selectedItems\" [multi]=\"true\">\n * <ng-template\n * [ngTemplateOutlet]=\"treeNodes\"\n * [ngTemplateOutletContext]=\"{nodes: treeData, parent: tree}\"\n * />\n * </ul>\n *\n * <ng-template #treeNodes let-nodes=\"nodes\" let-parent=\"parent\">\n * @for (node of nodes; track node.name) {\n * <li ngTreeItem [parent]=\"parent\" [value]=\"node.name\" [label]=\"node.name\">\n * {{ node.name }}\n * @if (node.children) {\n * <ul role=\"group\">\n * <ng-template ngTreeItemGroup [ownedBy]=\"treeItem\" #group=\"ngTreeItemGroup\">\n * <ng-template\n * [ngTemplateOutlet]=\"treeNodes\"\n * [ngTemplateOutletContext]=\"{nodes: node.children, parent: group}\"\n * />\n * </ng-template>\n * </ul>\n * }\n * </li>\n * }\n * </ng-template>\n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Tree](guide/aria/tree)\n */\n@Directive({\n selector: '[ngTree]',\n exportAs: 'ngTree',\n host: {\n 'role': 'tree',\n '[attr.id]': 'id()',\n '[attr.aria-orientation]': '_pattern.orientation()',\n '[attr.aria-multiselectable]': '_pattern.multi()',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[attr.aria-activedescendant]': '_pattern.activeDescendant()',\n '[tabindex]': '_pattern.tabIndex()',\n '(keydown)': '_pattern.onKeydown($event)',\n '(pointerdown)': '_pattern.onPointerdown($event)',\n '(focusin)': '_onFocus()',\n },\n hostDirectives: [ComboboxPopup],\n})\nexport class Tree<V> {\n /** A reference to the host element. */\n private readonly _elementRef = inject(ElementRef);\n\n /** A reference to the host element. */\n readonly element = this._elementRef.nativeElement as HTMLElement;\n\n /** A reference to the parent combobox popup, if one exists. */\n private readonly _popup = inject<ComboboxPopup<V>>(ComboboxPopup, {\n optional: true,\n });\n\n /** All TreeItem instances within this tree. */\n private readonly _unorderedItems = signal(new Set<TreeItem<V>>());\n\n /** A unique identifier for the tree. */\n readonly id = input(inject(_IdGenerator).getId('ng-tree-', true));\n\n /** Orientation of the tree. */\n readonly orientation = input<'vertical' | 'horizontal'>('vertical');\n\n /** Whether multi-selection is allowed. */\n readonly multi = input(false, {transform: booleanAttribute});\n\n /** Whether the tree is disabled. */\n readonly disabled = input(false, {transform: booleanAttribute});\n\n /**\n * The selection strategy used by the tree.\n * - `explicit`: Items are selected explicitly by the user (e.g., via click or spacebar).\n * - `follow`: The focused item is automatically selected.\n */\n readonly selectionMode = input<'explicit' | 'follow'>('explicit');\n\n /**\n * The focus strategy used by the tree.\n * - `roving`: Focus is moved to the active item using `tabindex`.\n * - `activedescendant`: Focus remains on the tree container, and `aria-activedescendant` is used to indicate the active item.\n */\n readonly focusMode = input<'roving' | 'activedescendant'>('roving');\n\n /** Whether navigation wraps. */\n readonly wrap = input(true, {transform: booleanAttribute});\n\n /**\n * Whether to allow disabled items to receive focus. When `true`, disabled items are\n * focusable but not interactive. When `false`, disabled items are skipped during navigation.\n */\n readonly softDisabled = input(true, {transform: booleanAttribute});\n\n /** The delay in seconds before the typeahead search is reset. */\n readonly typeaheadDelay = input(500);\n\n /** The values of the currently selected items. */\n readonly values = model<V[]>([]);\n\n /** Text direction. */\n readonly textDirection = inject(Directionality).valueSignal;\n\n /** Whether the tree is in navigation mode. */\n readonly nav = input(false, {transform: booleanAttribute});\n\n /**\n * The `aria-current` type. It can be used in navigation trees to indicate the currently active item.\n * See https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Reference/Attributes/aria-current for more details.\n */\n readonly currentType = input<'page' | 'step' | 'location' | 'date' | 'time' | 'true' | 'false'>(\n 'page',\n );\n\n /** The UI pattern for the tree. */\n readonly _pattern: TreePattern<V>;\n\n /** Whether the tree has received focus since it was rendered. */\n private _hasFocused = signal(false);\n\n constructor() {\n const inputs = {\n ...this,\n id: this.id,\n items: computed(() =>\n [...this._unorderedItems()].sort(sortDirectives).map(item => item._pattern),\n ),\n activeItem: signal<TreeItemPattern<V> | undefined>(undefined),\n combobox: () => this._popup?.combobox?._pattern,\n element: () => this.element,\n };\n\n this._pattern = this._popup?.combobox\n ? new ComboboxTreePattern<V>(inputs)\n : new TreePattern<V>(inputs);\n\n if (this._popup?.combobox) {\n this._popup?._controls?.set(this._pattern as ComboboxTreePattern<V>);\n }\n\n afterRenderEffect(() => {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n const violations = this._pattern.validate();\n for (const violation of violations) {\n console.error(violation);\n }\n }\n });\n\n afterRenderEffect(() => {\n if (!this._hasFocused()) {\n this._pattern.setDefaultState();\n }\n });\n\n afterRenderEffect(() => {\n const items = inputs.items();\n const activeItem = untracked(() => inputs.activeItem());\n\n if (!items.some(i => i === activeItem) && activeItem) {\n this._pattern.treeBehavior.unfocus();\n }\n });\n\n afterRenderEffect(() => {\n if (!(this._pattern instanceof ComboboxTreePattern)) return;\n\n const items = inputs.items();\n const values = untracked(() => this.values());\n\n if (items && values.some(v => !items.some(i => i.value() === v))) {\n this.values.set(values.filter(v => items.some(i => i.value() === v)));\n }\n });\n }\n\n _onFocus() {\n this._hasFocused.set(true);\n }\n\n _register(child: TreeItem<V>) {\n this._unorderedItems().add(child);\n this._unorderedItems.set(new Set(this._unorderedItems()));\n }\n\n _unregister(child: TreeItem<V>) {\n this._unorderedItems().delete(child);\n this._unorderedItems.set(new Set(this._unorderedItems()));\n }\n\n scrollActiveItemIntoView(options: ScrollIntoViewOptions = {block: 'nearest'}) {\n this._pattern.inputs.activeItem()?.element()?.scrollIntoView(options);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n Directive,\n ElementRef,\n afterRenderEffect,\n booleanAttribute,\n computed,\n inject,\n input,\n model,\n signal,\n Signal,\n OnInit,\n OnDestroy,\n afterNextRender,\n} from '@angular/core';\nimport {_IdGenerator} from '@angular/cdk/a11y';\nimport {ComboboxTreePattern, TreeItemPattern, DeferredContentAware} from '../private';\nimport {Tree} from './tree';\nimport {TreeItemGroup} from './tree-item-group';\nimport {HasElement} from './utils';\n\n/**\n * A selectable and expandable item in an `ngTree`.\n *\n * The `ngTreeItem` directive represents an individual node within an `ngTree`. It can be\n * selected, expanded (if it has children), and disabled. The `parent` input establishes\n * the hierarchical relationship within the tree.\n *\n * ```html\n * <li ngTreeItem [parent]=\"parentTreeOrGroup\" value=\"item-id\" label=\"Item Label\">\n * Item Label\n * </li>\n * ```\n *\n * @developerPreview 21.0\n */\n@Directive({\n selector: '[ngTreeItem]',\n exportAs: 'ngTreeItem',\n host: {\n '[attr.data-active]': 'active()',\n 'role': 'treeitem',\n '[id]': '_pattern.id()',\n '[attr.aria-expanded]': '_expanded()',\n '[attr.aria-selected]': 'selected()',\n '[attr.aria-current]': '_pattern.current()',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[attr.aria-level]': 'level()',\n '[attr.aria-setsize]': '_pattern.setsize()',\n '[attr.aria-posinset]': '_pattern.posinset()',\n '[attr.tabindex]': '_pattern.tabIndex()',\n },\n})\nexport class TreeItem<V> extends DeferredContentAware implements OnInit, OnDestroy, HasElement {\n /** A reference to the host element. */\n private readonly _elementRef = inject(ElementRef);\n\n /** A reference to the host element. */\n readonly element = this._elementRef.nativeElement as HTMLElement;\n\n /** The owned tree item group. */\n private readonly _group = signal<TreeItemGroup<V> | undefined>(undefined);\n\n /** A unique identifier for the tree item. */\n readonly id = input(inject(_IdGenerator).getId('ng-tree-item-', true));\n\n /** The value of the tree item. */\n readonly value = input.required<V>();\n\n /** The parent tree root or tree item group. */\n readonly parent = input.required<Tree<V> | TreeItemGroup<V>>();\n\n /** Whether the tree item is disabled. */\n readonly disabled = input(false, {transform: booleanAttribute});\n\n /** Whether the tree item is selectable. */\n readonly selectable = input<boolean>(true);\n\n /** Whether the tree item is expanded. */\n readonly expanded = model<boolean>(false);\n\n /** Optional label for typeahead. Defaults to the element's textContent. */\n readonly label = input<string>();\n\n /** Search term for typeahead. */\n readonly searchTerm = computed(() => this.label() ?? this.element.textContent);\n\n /** The tree root. */\n readonly tree: Signal<Tree<V>> = computed(() => {\n if (this.parent() instanceof Tree) {\n return this.parent() as Tree<V>;\n }\n return (this.parent() as TreeItemGroup<V>).ownedBy().tree();\n });\n\n /** Whether the item is active. */\n readonly active = computed(() => this._pattern.active());\n\n /** The level of the current item in a tree. */\n readonly level = computed(() => this._pattern.level());\n\n /** Whether the item is selected. */\n readonly selected = computed(() => this._pattern.selected());\n\n /** Whether this item is visible due to all of its parents being expanded. */\n readonly visible = computed(() => this._pattern.visible());\n\n /** Whether the tree is expanded. Use this value for aria-expanded. */\n protected readonly _expanded: Signal<boolean | undefined> = computed(() =>\n this._pattern.expandable() ? this._pattern.expanded() : undefined,\n );\n\n /** The UI pattern for this item. */\n _pattern!: TreeItemPattern<V>;\n\n constructor() {\n super();\n afterNextRender(() => {\n if (this.tree()._pattern instanceof ComboboxTreePattern) {\n this.preserveContent.set(true);\n }\n });\n // Connect the group's hidden state to the DeferredContentAware's visibility.\n afterRenderEffect(() => {\n this.tree()._pattern instanceof ComboboxTreePattern\n ? this.contentVisible.set(true)\n : this.contentVisible.set(this._pattern.expanded());\n });\n }\n\n ngOnInit() {\n this.parent()._register(this);\n this.tree()._register(this);\n\n const treePattern = computed(() => this.tree()._pattern);\n const parentPattern = computed(() => {\n if (this.parent() instanceof Tree) {\n return treePattern();\n }\n return (this.parent() as TreeItemGroup<V>).ownedBy()._pattern;\n });\n this._pattern = new TreeItemPattern<V>({\n ...this,\n tree: treePattern,\n parent: parentPattern,\n children: computed(() => this._group()?._childPatterns()),\n hasChildren: computed(() => !!this._group()),\n element: () => this.element,\n searchTerm: () => this.searchTerm() ?? '',\n });\n }\n\n ngOnDestroy() {\n this.parent()._unregister(this);\n this.tree()._unregister(this);\n }\n\n _register(group: TreeItemGroup<V>) {\n this._group.set(group);\n }\n\n _unregister() {\n this._group.set(undefined);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n Directive,\n ElementRef,\n computed,\n inject,\n input,\n signal,\n OnInit,\n OnDestroy,\n} from '@angular/core';\nimport {TreeItemPattern, DeferredContent} from '../private';\nimport type {TreeItem} from './tree-item';\nimport {sortDirectives} from './utils';\n\n/**\n * Group that contains children tree items.\n *\n * The `ngTreeItemGroup` structural directive should be applied to an `ng-template` that\n * wraps the child `ngTreeItem` elements. It is used to define a group of children for an\n * expandable `ngTreeItem`. The `ownedBy` input links the group to its parent `ngTreeItem`.\n *\n * ```html\n * <li ngTreeItem [value]=\"'parent-id'\">\n * Parent Item\n * <ul role=\"group\">\n * <ng-template ngTreeItemGroup [ownedBy]=\"parentTreeItemRef\">\n * <li ngTreeItem [value]=\"'child-id'\">Child Item</li>\n * </ng-template>\n * </ul>\n * </li>\n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Tree](guide/aria/tree)\n */\n@Directive({\n selector: 'ng-template[ngTreeItemGroup]',\n exportAs: 'ngTreeItemGroup',\n hostDirectives: [DeferredContent],\n})\nexport class TreeItemGroup<V> implements OnInit, OnDestroy {\n /** A reference to the host element. */\n private readonly _elementRef = inject(ElementRef);\n\n /** A reference to the host element. */\n readonly element = this._elementRef.nativeElement as HTMLElement;\n\n /** The DeferredContent host directive. */\n private readonly _deferredContent = inject(DeferredContent);\n\n /** All groupable items that are descendants of the group. */\n private readonly _unorderedItems = signal(new Set<TreeItem<V>>());\n\n /** Child items within this group. */\n readonly _childPatterns = computed<TreeItemPattern<V>[]>(() =>\n [...this._unorderedItems()].sort(sortDirectives).map(c => c._pattern),\n );\n\n /** Tree item that owns the group. */\n readonly ownedBy = input.required<TreeItem<V>>();\n\n ngOnInit() {\n this._deferredContent.deferredContentAware.set(this.ownedBy());\n this.ownedBy()._register(this);\n }\n\n ngOnDestroy() {\n this.ownedBy()._unregister();\n }\n\n _register(child: TreeItem<V>) {\n this._unorderedItems().add(child);\n this._unorderedItems.set(new Set(this._unorderedItems()));\n }\n\n _unregister(child: TreeItem<V>) {\n this._unorderedItems().delete(child);\n this._unorderedItems.set(new Set(this._unorderedItems()));\n }\n}\n"],"names":["sortDirectives","a","b","element","compareDocumentPosition","Node","DOCUMENT_POSITION_PRECEDING","Tree","_elementRef","inject","ElementRef","nativeElement","_popup","ComboboxPopup","optional","_unorderedItems","signal","Set","id","input","_IdGenerator","getId","orientation","multi","transform","booleanAttribute","disabled","selectionMode","focusMode","wrap","softDisabled","typeaheadDelay","values","model","textDirection","Directionality","valueSignal","nav","currentType","_pattern","_hasFocused","constructor","inputs","items","computed","sort","map","item","activeItem","undefined","combobox","ComboboxTreePattern","TreePattern","_controls","set","afterRenderEffect","ngDevMode","violations","validate","violation","console","error","setDefaultState","untracked","some","i","treeBehavior","unfocus","v","value","filter","_onFocus","_register","child","add","_unregister","delete","scrollActiveItemIntoView","options","block","scrollIntoView","deps","target","i0","ɵɵFactoryTarget","Directive","isStandalone","selector","classPropertyName","publicName","isSignal","isRequired","transformFunction","outputs","host","attributes","listeners","properties","exportAs","hostDirectives","directive","i1","ngImport","decorators","args","TreeItem","DeferredContentAware","_group","required","parent","selectable","expanded","label","debugName","searchTerm","textContent","tree","ownedBy","active","level","selected","visible","_expanded","expandable","afterNextRender","preserveContent","contentVisible","ngOnInit","treePattern","parentPattern","TreeItemPattern","children","_childPatterns","hasChildren","ngOnDestroy","group","usesInheritance","TreeItemGroup","_deferredContent","DeferredContent","c","deferredContentAware"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tree.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/tree/utils.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/tree/tree.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/tree/tree-item.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/tree/tree-item-group.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nexport interface HasElement {\n element: HTMLElement;\n}\n\n/**\n * Sort directives by their document order.\n */\nexport function sortDirectives(a: HasElement, b: HasElement) {\n return (a.element.compareDocumentPosition(b.element) & Node.DOCUMENT_POSITION_PRECEDING) > 0\n ? 1\n : -1;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n Directive,\n ElementRef,\n afterRenderEffect,\n booleanAttribute,\n computed,\n inject,\n input,\n model,\n signal,\n untracked,\n} from '@angular/core';\nimport {_IdGenerator} from '@angular/cdk/a11y';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {ComboboxTreePattern, TreeItemPattern, TreePattern} from '../private';\nimport {ComboboxPopup} from '../combobox';\nimport type {TreeItem} from './tree-item';\nimport {sortDirectives} from './utils';\n\n/**\n * A container that transforms nested lists into an accessible, ARIA-compliant tree structure.\n * It manages the overall state of the tree, including selection, expansion, and keyboard\n * navigation.\n *\n * ```html\n * <ul ngTree [(value)]=\"selectedItems\" [multi]=\"true\">\n * <ng-template\n * [ngTemplateOutlet]=\"treeNodes\"\n * [ngTemplateOutletContext]=\"{nodes: treeData, parent: tree}\"\n * />\n * </ul>\n *\n * <ng-template #treeNodes let-nodes=\"nodes\" let-parent=\"parent\">\n * @for (node of nodes; track node.name) {\n * <li ngTreeItem [parent]=\"parent\" [value]=\"node.name\" [label]=\"node.name\">\n * {{ node.name }}\n * @if (node.children) {\n * <ul role=\"group\">\n * <ng-template ngTreeItemGroup [ownedBy]=\"treeItem\" #group=\"ngTreeItemGroup\">\n * <ng-template\n * [ngTemplateOutlet]=\"treeNodes\"\n * [ngTemplateOutletContext]=\"{nodes: node.children, parent: group}\"\n * />\n * </ng-template>\n * </ul>\n * }\n * </li>\n * }\n * </ng-template>\n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Tree](guide/aria/tree)\n */\n@Directive({\n selector: '[ngTree]',\n exportAs: 'ngTree',\n host: {\n 'role': 'tree',\n '[attr.id]': 'id()',\n '[attr.aria-orientation]': '_pattern.orientation()',\n '[attr.aria-multiselectable]': '_pattern.multi()',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[attr.aria-activedescendant]': '_pattern.activeDescendant()',\n '[tabindex]': '_pattern.tabIndex()',\n '(keydown)': '_pattern.onKeydown($event)',\n '(pointerdown)': '_pattern.onPointerdown($event)',\n '(focusin)': '_pattern.onFocusIn()',\n },\n hostDirectives: [ComboboxPopup],\n})\nexport class Tree<V> {\n /** A reference to the host element. */\n private readonly _elementRef = inject(ElementRef);\n\n /** A reference to the host element. */\n readonly element = this._elementRef.nativeElement as HTMLElement;\n\n /** A reference to the parent combobox popup, if one exists. */\n private readonly _popup = inject<ComboboxPopup<V>>(ComboboxPopup, {\n optional: true,\n });\n\n /** All TreeItem instances within this tree. */\n private readonly _unorderedItems = signal(new Set<TreeItem<V>>());\n\n /** A unique identifier for the tree. */\n readonly id = input(inject(_IdGenerator).getId('ng-tree-', true));\n\n /** Orientation of the tree. */\n readonly orientation = input<'vertical' | 'horizontal'>('vertical');\n\n /** Whether multi-selection is allowed. */\n readonly multi = input(false, {transform: booleanAttribute});\n\n /** Whether the tree is disabled. */\n readonly disabled = input(false, {transform: booleanAttribute});\n\n /**\n * The selection strategy used by the tree.\n * - `explicit`: Items are selected explicitly by the user (e.g., via click or spacebar).\n * - `follow`: The focused item is automatically selected.\n */\n readonly selectionMode = input<'explicit' | 'follow'>('explicit');\n\n /**\n * The focus strategy used by the tree.\n * - `roving`: Focus is moved to the active item using `tabindex`.\n * - `activedescendant`: Focus remains on the tree container, and `aria-activedescendant` is used to indicate the active item.\n */\n readonly focusMode = input<'roving' | 'activedescendant'>('roving');\n\n /** Whether navigation wraps. */\n readonly wrap = input(true, {transform: booleanAttribute});\n\n /**\n * Whether to allow disabled items to receive focus. When `true`, disabled items are\n * focusable but not interactive. When `false`, disabled items are skipped during navigation.\n */\n readonly softDisabled = input(true, {transform: booleanAttribute});\n\n /** The delay in seconds before the typeahead search is reset. */\n readonly typeaheadDelay = input(500);\n\n /** The values of the currently selected items. */\n readonly value = model<V[]>([]);\n\n /** Text direction. */\n readonly textDirection = inject(Directionality).valueSignal;\n\n /** Whether the tree is in navigation mode. */\n readonly nav = input(false, {transform: booleanAttribute});\n\n /**\n * The `aria-current` type. It can be used in navigation trees to indicate the currently active item.\n * See https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Reference/Attributes/aria-current for more details.\n */\n readonly currentType = input<'page' | 'step' | 'location' | 'date' | 'time' | 'true' | 'false'>(\n 'page',\n );\n\n /** The UI pattern for the tree. */\n readonly _pattern: TreePattern<V>;\n\n constructor() {\n const inputs = {\n ...this,\n id: this.id,\n items: computed(() =>\n [...this._unorderedItems()].sort(sortDirectives).map(item => item._pattern),\n ),\n activeItem: signal<TreeItemPattern<V> | undefined>(undefined),\n combobox: () => this._popup?.combobox?._pattern,\n element: () => this.element,\n };\n\n this._pattern = this._popup?.combobox\n ? new ComboboxTreePattern<V>(inputs)\n : new TreePattern<V>(inputs);\n\n if (this._popup?.combobox) {\n this._popup?._controls?.set(this._pattern as ComboboxTreePattern<V>);\n }\n\n afterRenderEffect(() => {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n const violations = this._pattern.validate();\n for (const violation of violations) {\n console.error(violation);\n }\n }\n });\n\n afterRenderEffect(() => {\n this._pattern.setDefaultStateEffect();\n });\n\n afterRenderEffect(() => {\n const items = inputs.items();\n const activeItem = untracked(() => inputs.activeItem());\n\n if (!items.some(i => i === activeItem) && activeItem) {\n this._pattern.treeBehavior.unfocus();\n }\n });\n\n afterRenderEffect(() => {\n if (!(this._pattern instanceof ComboboxTreePattern)) return;\n\n const items = inputs.items();\n const value = untracked(() => this.value());\n\n if (items && value.some(v => !items.some(i => i.value() === v))) {\n this.value.set(value.filter(v => items.some(i => i.value() === v)));\n }\n });\n }\n\n _register(child: TreeItem<V>) {\n this._unorderedItems().add(child);\n this._unorderedItems.set(new Set(this._unorderedItems()));\n }\n\n _unregister(child: TreeItem<V>) {\n this._unorderedItems().delete(child);\n this._unorderedItems.set(new Set(this._unorderedItems()));\n }\n\n scrollActiveItemIntoView(options: ScrollIntoViewOptions = {block: 'nearest'}) {\n this._pattern.inputs.activeItem()?.element()?.scrollIntoView(options);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n Directive,\n ElementRef,\n afterRenderEffect,\n booleanAttribute,\n computed,\n inject,\n input,\n model,\n signal,\n Signal,\n OnInit,\n OnDestroy,\n afterNextRender,\n} from '@angular/core';\nimport {_IdGenerator} from '@angular/cdk/a11y';\nimport {ComboboxTreePattern, TreeItemPattern, DeferredContentAware} from '../private';\nimport {Tree} from './tree';\nimport {TreeItemGroup} from './tree-item-group';\nimport {HasElement} from './utils';\n\n/**\n * A selectable and expandable item in an `ngTree`.\n *\n * The `ngTreeItem` directive represents an individual node within an `ngTree`. It can be\n * selected, expanded (if it has children), and disabled. The `parent` input establishes\n * the hierarchical relationship within the tree.\n *\n * ```html\n * <li ngTreeItem [parent]=\"parentTreeOrGroup\" value=\"item-id\" label=\"Item Label\">\n * Item Label\n * </li>\n * ```\n *\n * @developerPreview 21.0\n */\n@Directive({\n selector: '[ngTreeItem]',\n exportAs: 'ngTreeItem',\n host: {\n '[attr.data-active]': 'active()',\n 'role': 'treeitem',\n '[id]': '_pattern.id()',\n '[attr.aria-expanded]': '_expanded()',\n '[attr.aria-selected]': 'selected()',\n '[attr.aria-current]': '_pattern.current()',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[attr.aria-level]': 'level()',\n '[attr.aria-setsize]': '_pattern.setsize()',\n '[attr.aria-posinset]': '_pattern.posinset()',\n '[attr.tabindex]': '_pattern.tabIndex()',\n },\n})\nexport class TreeItem<V> extends DeferredContentAware implements OnInit, OnDestroy, HasElement {\n /** A reference to the host element. */\n private readonly _elementRef = inject(ElementRef);\n\n /** A reference to the host element. */\n readonly element = this._elementRef.nativeElement as HTMLElement;\n\n /** The owned tree item group. */\n private readonly _group = signal<TreeItemGroup<V> | undefined>(undefined);\n\n /** A unique identifier for the tree item. */\n readonly id = input(inject(_IdGenerator).getId('ng-tree-item-', true));\n\n /** The value of the tree item. */\n readonly value = input.required<V>();\n\n /** The parent tree root or tree item group. */\n readonly parent = input.required<Tree<V> | TreeItemGroup<V>>();\n\n /** Whether the tree item is disabled. */\n readonly disabled = input(false, {transform: booleanAttribute});\n\n /** Whether the tree item is selectable. */\n readonly selectable = input<boolean>(true);\n\n /** Whether the tree item is expanded. */\n readonly expanded = model<boolean>(false);\n\n /** Optional label for typeahead. Defaults to the element's textContent. */\n readonly label = input<string>();\n\n /** Search term for typeahead. */\n readonly searchTerm = computed(() => this.label() ?? this.element.textContent);\n\n /** The tree root. */\n readonly tree: Signal<Tree<V>> = computed(() => {\n if (this.parent() instanceof Tree) {\n return this.parent() as Tree<V>;\n }\n return (this.parent() as TreeItemGroup<V>).ownedBy().tree();\n });\n\n /** Whether the item is active. */\n readonly active = computed(() => this._pattern.active());\n\n /** The level of the current item in a tree. */\n readonly level = computed(() => this._pattern.level());\n\n /** Whether the item is selected. */\n readonly selected = computed(() => this._pattern.selected());\n\n /** Whether this item is visible due to all of its parents being expanded. */\n readonly visible = computed(() => this._pattern.visible());\n\n /** Whether the tree is expanded. Use this value for aria-expanded. */\n protected readonly _expanded: Signal<boolean | undefined> = computed(() =>\n this._pattern.expandable() ? this._pattern.expanded() : undefined,\n );\n\n /** The UI pattern for this item. */\n _pattern!: TreeItemPattern<V>;\n\n constructor() {\n super();\n afterNextRender(() => {\n if (this.tree()._pattern instanceof ComboboxTreePattern) {\n this.preserveContent.set(true);\n }\n });\n // Connect the group's hidden state to the DeferredContentAware's visibility.\n afterRenderEffect(() => {\n this.tree()._pattern instanceof ComboboxTreePattern\n ? this.contentVisible.set(true)\n : this.contentVisible.set(this._pattern.expanded());\n });\n }\n\n ngOnInit() {\n this.parent()._register(this);\n this.tree()._register(this);\n\n const treePattern = computed(() => this.tree()._pattern);\n const parentPattern = computed(() => {\n if (this.parent() instanceof Tree) {\n return treePattern();\n }\n return (this.parent() as TreeItemGroup<V>).ownedBy()._pattern;\n });\n this._pattern = new TreeItemPattern<V>({\n ...this,\n tree: treePattern,\n parent: parentPattern,\n children: computed(() => this._group()?._childPatterns()),\n hasChildren: computed(() => !!this._group()),\n element: () => this.element,\n searchTerm: () => this.searchTerm() ?? '',\n });\n }\n\n ngOnDestroy() {\n this.parent()._unregister(this);\n this.tree()._unregister(this);\n }\n\n _register(group: TreeItemGroup<V>) {\n this._group.set(group);\n }\n\n _unregister() {\n this._group.set(undefined);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n Directive,\n ElementRef,\n computed,\n inject,\n input,\n signal,\n OnInit,\n OnDestroy,\n} from '@angular/core';\nimport {TreeItemPattern, DeferredContent} from '../private';\nimport type {TreeItem} from './tree-item';\nimport {sortDirectives} from './utils';\n\n/**\n * Group that contains children tree items.\n *\n * The `ngTreeItemGroup` structural directive should be applied to an `ng-template` that\n * wraps the child `ngTreeItem` elements. It is used to define a group of children for an\n * expandable `ngTreeItem`. The `ownedBy` input links the group to its parent `ngTreeItem`.\n *\n * ```html\n * <li ngTreeItem [value]=\"'parent-id'\">\n * Parent Item\n * <ul role=\"group\">\n * <ng-template ngTreeItemGroup [ownedBy]=\"parentTreeItemRef\">\n * <li ngTreeItem [value]=\"'child-id'\">Child Item</li>\n * </ng-template>\n * </ul>\n * </li>\n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Tree](guide/aria/tree)\n */\n@Directive({\n selector: 'ng-template[ngTreeItemGroup]',\n exportAs: 'ngTreeItemGroup',\n hostDirectives: [DeferredContent],\n})\nexport class TreeItemGroup<V> implements OnInit, OnDestroy {\n /** A reference to the host element. */\n private readonly _elementRef = inject(ElementRef);\n\n /** A reference to the host element. */\n readonly element = this._elementRef.nativeElement as HTMLElement;\n\n /** The DeferredContent host directive. */\n private readonly _deferredContent = inject(DeferredContent);\n\n /** All groupable items that are descendants of the group. */\n private readonly _unorderedItems = signal(new Set<TreeItem<V>>());\n\n /** Child items within this group. */\n readonly _childPatterns = computed<TreeItemPattern<V>[]>(() =>\n [...this._unorderedItems()].sort(sortDirectives).map(c => c._pattern),\n );\n\n /** Tree item that owns the group. */\n readonly ownedBy = input.required<TreeItem<V>>();\n\n ngOnInit() {\n this._deferredContent.deferredContentAware.set(this.ownedBy());\n this.ownedBy()._register(this);\n }\n\n ngOnDestroy() {\n this.ownedBy()._unregister();\n }\n\n _register(child: TreeItem<V>) {\n this._unorderedItems().add(child);\n this._unorderedItems.set(new Set(this._unorderedItems()));\n }\n\n _unregister(child: TreeItem<V>) {\n this._unorderedItems().delete(child);\n this._unorderedItems.set(new Set(this._unorderedItems()));\n }\n}\n"],"names":["sortDirectives","a","b","element","compareDocumentPosition","Node","DOCUMENT_POSITION_PRECEDING","Tree","_elementRef","inject","ElementRef","nativeElement","_popup","ComboboxPopup","optional","_unorderedItems","signal","Set","id","input","_IdGenerator","getId","orientation","multi","transform","booleanAttribute","disabled","selectionMode","focusMode","wrap","softDisabled","typeaheadDelay","value","model","textDirection","Directionality","valueSignal","nav","currentType","_pattern","constructor","inputs","items","computed","sort","map","item","activeItem","undefined","combobox","ComboboxTreePattern","TreePattern","_controls","set","afterRenderEffect","ngDevMode","violations","validate","violation","console","error","setDefaultStateEffect","untracked","some","i","treeBehavior","unfocus","v","filter","_register","child","add","_unregister","delete","scrollActiveItemIntoView","options","block","scrollIntoView","deps","target","i0","ɵɵFactoryTarget","Directive","isStandalone","selector","classPropertyName","publicName","isSignal","isRequired","transformFunction","outputs","host","attributes","listeners","properties","exportAs","hostDirectives","directive","i1","ngImport","decorators","args","TreeItem","DeferredContentAware","_group","required","parent","selectable","expanded","label","searchTerm","textContent","tree","ownedBy","active","level","selected","visible","_expanded","expandable","afterNextRender","preserveContent","contentVisible","ngOnInit","treePattern","parentPattern","TreeItemPattern","children","_childPatterns","hasChildren","ngOnDestroy","group","usesInheritance","TreeItemGroup","_deferredContent","DeferredContent","c","deferredContentAware"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@angular/aria",
|
|
3
|
-
"version": "22.0.0-next.
|
|
3
|
+
"version": "22.0.0-next.4",
|
|
4
4
|
"description": "Angular Aria",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
},
|
|
13
13
|
"homepage": "https://github.com/angular/components#readme",
|
|
14
14
|
"peerDependencies": {
|
|
15
|
-
"@angular/cdk": "22.0.0-next.
|
|
15
|
+
"@angular/cdk": "22.0.0-next.4",
|
|
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": {
|
|
Binary file
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { KeyboardEventManager } from './_keyboard-event-manager-chunk.js';
|
|
2
2
|
import { PointerEventManager } from './_pointer-event-manager-chunk.js';
|
|
3
|
-
import { ListExpansionInputs, ListExpansion
|
|
4
|
-
import { ListNavigationInputs,
|
|
3
|
+
import { ExpansionItem, ListExpansionInputs, ListExpansion } from './_expansion-chunk.js';
|
|
4
|
+
import { ListNavigationInputs, ListNavigationItem, ListFocusItem, SignalLike, WritableSignalLike, ListFocusInputs, ListNavigation, ListFocus } from './_list-navigation-chunk.js';
|
|
5
5
|
|
|
6
6
|
/** Inputs of the AccordionGroupPattern. */
|
|
7
7
|
interface AccordionGroupInputs extends Omit<ListNavigationInputs<AccordionTriggerPattern> & ListFocusInputs<AccordionTriggerPattern> & Omit<ListExpansionInputs, 'items'>, 'focusMode'> {
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { EventManager, EventHandlerOptions, ModifierInputs, EventHandler } from './_keyboard-event-manager-chunk.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* An event manager that is specialized for handling click events.
|
|
5
|
+
*
|
|
6
|
+
* This manager should ONLY be used to handle click events. It explicitly
|
|
7
|
+
* filters out simulated click events generated by browsers when Enter or Space
|
|
8
|
+
* keys are pressed, to avoid concurrent logic or overwriting selection state
|
|
9
|
+
* when handling keyboard activation explicitly via KeyboardEventManager.
|
|
10
|
+
*/
|
|
11
|
+
declare class ClickEventManager<T extends PointerEvent> extends EventManager<T> {
|
|
12
|
+
options: EventHandlerOptions;
|
|
13
|
+
/**
|
|
14
|
+
* Configures this event manager to handle events with a specific modifier combination.
|
|
15
|
+
*/
|
|
16
|
+
on(modifiers: ModifierInputs, handler: EventHandler<T>): this;
|
|
17
|
+
/**
|
|
18
|
+
* Configures this event manager to handle events with no modifiers.
|
|
19
|
+
*
|
|
20
|
+
* @param handler The handler function
|
|
21
|
+
*/
|
|
22
|
+
on(handler: EventHandler<T>): this;
|
|
23
|
+
private _normalizeInputs;
|
|
24
|
+
_isMatch(event: T, modifiers: ModifierInputs): boolean;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export { ClickEventManager };
|
|
@@ -101,7 +101,7 @@ declare class ComboboxPattern<T extends ListItem<V>, V> {
|
|
|
101
101
|
/** Whether the combobox is focused. */
|
|
102
102
|
isFocused: WritableSignalLike<boolean>;
|
|
103
103
|
/** Whether the combobox has ever been focused. */
|
|
104
|
-
|
|
104
|
+
hasBeenInteracted: WritableSignalLike<boolean>;
|
|
105
105
|
/** The key used to navigate to the previous item in the list. */
|
|
106
106
|
expandKey: SignalLike<"ArrowLeft" | "ArrowRight">;
|
|
107
107
|
/** The key used to navigate to the next item in the list. */
|
package/types/_grid-chunk.d.ts
CHANGED
|
@@ -535,8 +535,8 @@ declare class GridPattern {
|
|
|
535
535
|
readonly pauseNavigation: SignalLike<boolean>;
|
|
536
536
|
/** Whether the focus is in the grid. */
|
|
537
537
|
readonly isFocused: WritableSignalLike<boolean>;
|
|
538
|
-
/** Whether the grid has
|
|
539
|
-
readonly
|
|
538
|
+
/** Whether the grid has received focus once. */
|
|
539
|
+
readonly hasBeenInteracted: WritableSignalLike<boolean>;
|
|
540
540
|
/** Whether the user is currently dragging to select a range of cells. */
|
|
541
541
|
readonly dragging: WritableSignalLike<boolean>;
|
|
542
542
|
/** The key for navigating to the previous column. */
|
package/types/_list-chunk.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ interface ListSelectionInputs<T extends ListSelectionItem<V>, V> extends ListFoc
|
|
|
12
12
|
/** Whether multiple items in the list can be selected at once. */
|
|
13
13
|
multi: SignalLike<boolean>;
|
|
14
14
|
/** The current value of the list selection. */
|
|
15
|
-
|
|
15
|
+
value: WritableSignalLike<V[]>;
|
|
16
16
|
/** The selection strategy used by the list. */
|
|
17
17
|
selectionMode: SignalLike<'follow' | 'explicit'>;
|
|
18
18
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { SignalLike, WritableSignalLike } from './_list-navigation-chunk.js';
|
|
2
|
-
import {
|
|
2
|
+
import { ListInputs, List, ListItem } from './_list-chunk.js';
|
|
3
3
|
import { KeyboardEventManager } from './_keyboard-event-manager-chunk.js';
|
|
4
|
-
import {
|
|
4
|
+
import { ClickEventManager } from './_click-event-manager-chunk.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Represents the properties exposed by a listbox that need to be accessed by an option.
|
|
@@ -53,6 +53,8 @@ type ListboxInputs<V> = ListInputs<OptionPattern<V>, V> & {
|
|
|
53
53
|
declare class ListboxPattern<V> {
|
|
54
54
|
readonly inputs: ListboxInputs<V>;
|
|
55
55
|
listBehavior: List<OptionPattern<V>, V>;
|
|
56
|
+
/** Whether the listbox has been interacted with. */
|
|
57
|
+
readonly hasBeenInteracted: WritableSignalLike<boolean>;
|
|
56
58
|
/** Whether the list is vertically or horizontally oriented. */
|
|
57
59
|
orientation: SignalLike<'vertical' | 'horizontal'>;
|
|
58
60
|
/** Whether the listbox is disabled. */
|
|
@@ -81,14 +83,15 @@ declare class ListboxPattern<V> {
|
|
|
81
83
|
typeaheadRegexp: RegExp;
|
|
82
84
|
/** The keydown event manager for the listbox. */
|
|
83
85
|
keydown: SignalLike<KeyboardEventManager<KeyboardEvent>>;
|
|
84
|
-
/** The
|
|
85
|
-
|
|
86
|
+
/** The click event manager for the listbox. */
|
|
87
|
+
clickManager: SignalLike<ClickEventManager<PointerEvent>>;
|
|
86
88
|
constructor(inputs: ListboxInputs<V>);
|
|
87
89
|
/** Returns a set of violations */
|
|
88
90
|
validate(): string[];
|
|
89
91
|
/** Handles keydown events for the listbox. */
|
|
90
92
|
onKeydown(event: KeyboardEvent): void;
|
|
91
|
-
|
|
93
|
+
onClick(event: PointerEvent): void;
|
|
94
|
+
onFocusIn(): void;
|
|
92
95
|
/**
|
|
93
96
|
* Sets the listbox to it's default initial state.
|
|
94
97
|
*
|
|
@@ -100,6 +103,10 @@ declare class ListboxPattern<V> {
|
|
|
100
103
|
* is called.
|
|
101
104
|
*/
|
|
102
105
|
setDefaultState(): void;
|
|
106
|
+
/**
|
|
107
|
+
* Sets the default active state of the listbox before receiving interaction for the first time.
|
|
108
|
+
*/
|
|
109
|
+
setDefaultStateEffect(): void;
|
|
103
110
|
protected _getItem(e: PointerEvent): OptionPattern<V> | undefined;
|
|
104
111
|
}
|
|
105
112
|
|
package/types/_menu-chunk.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ interface MenuBarInputs<V> extends ListInputs<MenuItemPattern<V>, V> {
|
|
|
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>, '
|
|
15
|
+
interface MenuInputs<V> extends Omit<ListInputs<MenuItemPattern<V>, V>, 'value'> {
|
|
16
16
|
/** The unique ID of the menu. */
|
|
17
17
|
id: SignalLike<string>;
|
|
18
18
|
/** The menu items contained in the menu. */
|
|
@@ -59,8 +59,8 @@ declare class MenuPattern<V> {
|
|
|
59
59
|
listBehavior: List<MenuItemPattern<V>, V>;
|
|
60
60
|
/** Whether the menu or any of its child elements are currently focused. */
|
|
61
61
|
isFocused: WritableSignalLike<boolean>;
|
|
62
|
-
/** Whether the menu has received
|
|
63
|
-
|
|
62
|
+
/** Whether the menu has received interaction. */
|
|
63
|
+
hasBeenInteracted: WritableSignalLike<boolean>;
|
|
64
64
|
/** Whether the menu trigger has been hovered. */
|
|
65
65
|
hasBeenHovered: WritableSignalLike<boolean>;
|
|
66
66
|
/** Timeout used to open sub-menus on hover. */
|
|
@@ -86,6 +86,8 @@ declare class MenuPattern<V> {
|
|
|
86
86
|
constructor(inputs: MenuInputs<V>);
|
|
87
87
|
/** Sets the default state for the menu. */
|
|
88
88
|
setDefaultState(): void;
|
|
89
|
+
/** Sets the default active state of the menu before receiving interaction for the first time. */
|
|
90
|
+
setDefaultStateEffect(): void;
|
|
89
91
|
/** Handles keyboard events for the menu. */
|
|
90
92
|
onKeydown(event: KeyboardEvent): void;
|
|
91
93
|
/** Handles mouseover events for the menu. */
|
|
@@ -146,8 +148,8 @@ declare class MenuBarPattern<V> {
|
|
|
146
148
|
typeaheadRegexp: RegExp;
|
|
147
149
|
/** Whether the menubar or any of its children are currently focused. */
|
|
148
150
|
isFocused: WritableSignalLike<boolean>;
|
|
149
|
-
/** Whether the menubar has been
|
|
150
|
-
|
|
151
|
+
/** Whether the menubar has been interacted with. */
|
|
152
|
+
hasBeenInteracted: WritableSignalLike<boolean>;
|
|
151
153
|
/** Whether the menubar is disabled. */
|
|
152
154
|
disabled: () => boolean;
|
|
153
155
|
/** Handles keyboard events for the menu. */
|
|
@@ -155,6 +157,8 @@ declare class MenuBarPattern<V> {
|
|
|
155
157
|
constructor(inputs: MenuBarInputs<V>);
|
|
156
158
|
/** Sets the default state for the menubar. */
|
|
157
159
|
setDefaultState(): void;
|
|
160
|
+
/** Sets the default active state of the menubar before receiving interaction for the first time. */
|
|
161
|
+
setDefaultStateEffect(): void;
|
|
158
162
|
/** Handles keyboard events for the menu. */
|
|
159
163
|
onKeydown(event: KeyboardEvent): void;
|
|
160
164
|
/** Handles click events for the menu bar. */
|
|
@@ -179,10 +183,10 @@ declare class MenuBarPattern<V> {
|
|
|
179
183
|
/** The menu trigger ui pattern class. */
|
|
180
184
|
declare class MenuTriggerPattern<V> {
|
|
181
185
|
readonly inputs: MenuTriggerInputs<V>;
|
|
182
|
-
/** Whether the menu is expanded. */
|
|
186
|
+
/** Whether the menu trigger is expanded. */
|
|
183
187
|
expanded: WritableSignalLike<boolean>;
|
|
184
|
-
/** Whether the menu trigger has received
|
|
185
|
-
|
|
188
|
+
/** Whether the menu trigger has received interaction. */
|
|
189
|
+
hasBeenInteracted: WritableSignalLike<boolean>;
|
|
186
190
|
/** The role of the menu trigger. */
|
|
187
191
|
role: () => string;
|
|
188
192
|
/** Whether the menu trigger has a popup. */
|
|
@@ -229,8 +233,8 @@ declare class MenuItemPattern<V> implements ListItem<V> {
|
|
|
229
233
|
element: SignalLike<HTMLElement | undefined>;
|
|
230
234
|
/** Whether the menu item is active. */
|
|
231
235
|
active: SignalLike<boolean>;
|
|
232
|
-
/** Whether the menu item has received
|
|
233
|
-
|
|
236
|
+
/** Whether the menu item has received interaction. */
|
|
237
|
+
hasBeenInteracted: WritableSignalLike<boolean>;
|
|
234
238
|
/** The tab index of the menu item. */
|
|
235
239
|
tabIndex: SignalLike<0 | -1>;
|
|
236
240
|
/** The position of the menu item in the menu. */
|
package/types/_tabs-chunk.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { KeyboardEventManager } from './_keyboard-event-manager-chunk.js';
|
|
2
|
-
import {
|
|
2
|
+
import { ClickEventManager } from './_click-event-manager-chunk.js';
|
|
3
3
|
import { ExpansionItem, ListExpansionInputs, ListExpansion } from './_expansion-chunk.js';
|
|
4
|
-
import { SignalLike, ListNavigationItem,
|
|
4
|
+
import { SignalLike, ListNavigationItem, ListNavigationInputs, WritableSignalLike, ListFocus, ListNavigation } from './_list-navigation-chunk.js';
|
|
5
5
|
|
|
6
6
|
/** Represents the required inputs for the label control. */
|
|
7
7
|
interface LabelControlInputs {
|
|
@@ -103,6 +103,8 @@ declare class TabListPattern {
|
|
|
103
103
|
readonly navigationBehavior: ListNavigation<TabPattern>;
|
|
104
104
|
/** Controls expansion for the tablist. */
|
|
105
105
|
readonly expansionBehavior: ListExpansion;
|
|
106
|
+
/** Whether the tablist has been interacted with. */
|
|
107
|
+
readonly hasBeenInteracted: WritableSignalLike<boolean>;
|
|
106
108
|
/** The currently active tab. */
|
|
107
109
|
readonly activeTab: SignalLike<TabPattern | undefined>;
|
|
108
110
|
/** The currently selected tab. */
|
|
@@ -123,8 +125,8 @@ declare class TabListPattern {
|
|
|
123
125
|
readonly nextKey: SignalLike<"ArrowRight" | "ArrowLeft" | "ArrowDown">;
|
|
124
126
|
/** The keydown event manager for the tablist. */
|
|
125
127
|
readonly keydown: SignalLike<KeyboardEventManager<KeyboardEvent>>;
|
|
126
|
-
/** The
|
|
127
|
-
readonly
|
|
128
|
+
/** The click event manager for the tablist. */
|
|
129
|
+
readonly clickManager: SignalLike<ClickEventManager<PointerEvent>>;
|
|
128
130
|
constructor(inputs: TabListInputs);
|
|
129
131
|
/**
|
|
130
132
|
* Sets the tablist to its default initial state.
|
|
@@ -135,10 +137,14 @@ declare class TabListPattern {
|
|
|
135
137
|
* This method should be called once the tablist and its tabs are properly initialized.
|
|
136
138
|
*/
|
|
137
139
|
setDefaultState(): void;
|
|
140
|
+
/** Sets the default active state of the tablist before receiving interaction for the first time. */
|
|
141
|
+
setDefaultStateEffect(): void;
|
|
138
142
|
/** Handles keydown events for the tablist. */
|
|
139
143
|
onKeydown(event: KeyboardEvent): void;
|
|
140
|
-
/** The
|
|
141
|
-
|
|
144
|
+
/** The click event manager for the tablist. */
|
|
145
|
+
onClick(event: PointerEvent): void;
|
|
146
|
+
/** Handles focusin events for the tablist. */
|
|
147
|
+
onFocusIn(): void;
|
|
142
148
|
/** Opens the tab by given value. */
|
|
143
149
|
open(value: string): boolean;
|
|
144
150
|
/** Opens the given tab or the current active tab. */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SignalLike } from './_list-navigation-chunk.js';
|
|
1
|
+
import { SignalLike, WritableSignalLike } from './_list-navigation-chunk.js';
|
|
2
2
|
import { ListItem, ListInputs, List } from './_list-chunk.js';
|
|
3
3
|
|
|
4
4
|
/** Represents the required inputs for a toolbar widget group. */
|
|
@@ -74,6 +74,8 @@ declare class ToolbarPattern<V> {
|
|
|
74
74
|
readonly inputs: ToolbarInputs<V>;
|
|
75
75
|
/** The list behavior for the toolbar. */
|
|
76
76
|
readonly listBehavior: List<ToolbarWidgetPattern<V>, V>;
|
|
77
|
+
/** Whether the toolbar has been interacted with. */
|
|
78
|
+
readonly hasBeenInteracted: WritableSignalLike<boolean>;
|
|
77
79
|
/** Whether the tablist is vertically or horizontally oriented. */
|
|
78
80
|
readonly orientation: SignalLike<'vertical' | 'horizontal'>;
|
|
79
81
|
/** Whether disabled items in the group should be focusable. */
|
|
@@ -107,6 +109,7 @@ declare class ToolbarPattern<V> {
|
|
|
107
109
|
/** Handles keydown events for the toolbar. */
|
|
108
110
|
onKeydown(event: KeyboardEvent): void;
|
|
109
111
|
onPointerdown(event: PointerEvent): void;
|
|
112
|
+
onFocusIn(): void;
|
|
110
113
|
/** Handles click events for the toolbar. */
|
|
111
114
|
onClick(event: MouseEvent): void;
|
|
112
115
|
/**
|
|
@@ -116,6 +119,8 @@ declare class ToolbarPattern<V> {
|
|
|
116
119
|
* Otherwise, sets the active index to the first focusable widget.
|
|
117
120
|
*/
|
|
118
121
|
setDefaultState(): void;
|
|
122
|
+
/** Sets the default active state of the toolbar before receiving interaction for the first time. */
|
|
123
|
+
setDefaultStateEffect(): void;
|
|
119
124
|
}
|
|
120
125
|
|
|
121
126
|
export { ToolbarPattern, ToolbarWidgetGroupPattern, ToolbarWidgetPattern };
|
package/types/_tree-chunk.d.ts
CHANGED
|
@@ -188,6 +188,8 @@ declare class TreePattern<V> implements TreeInputs<V> {
|
|
|
188
188
|
readonly inputs: TreeInputs<V>;
|
|
189
189
|
/** The tree behavior for the tree. */
|
|
190
190
|
readonly treeBehavior: Tree<TreeItemPattern<V>, V>;
|
|
191
|
+
/** Whether the tree has been interacted with. */
|
|
192
|
+
readonly hasBeenInteracted: WritableSignalLike<boolean>;
|
|
191
193
|
/** The root level is 0. */
|
|
192
194
|
readonly level: () => number;
|
|
193
195
|
/** The root is always expanded. */
|
|
@@ -251,7 +253,7 @@ declare class TreePattern<V> implements TreeInputs<V> {
|
|
|
251
253
|
/** The delay in milliseconds to wait before clearing the typeahead buffer. */
|
|
252
254
|
readonly typeaheadDelay: SignalLike<number>;
|
|
253
255
|
/** The current selected items of the tree. */
|
|
254
|
-
readonly
|
|
256
|
+
readonly value: WritableSignalLike<V[]>;
|
|
255
257
|
constructor(inputs: TreeInputs<V>);
|
|
256
258
|
/** Returns a set of violations */
|
|
257
259
|
validate(): string[];
|
|
@@ -262,10 +264,14 @@ declare class TreePattern<V> implements TreeInputs<V> {
|
|
|
262
264
|
* Otherwise, sets focus to the first focusable tree item.
|
|
263
265
|
*/
|
|
264
266
|
setDefaultState(): void;
|
|
267
|
+
/** Sets the default active state of the tree before receiving interaction for the first time. */
|
|
268
|
+
setDefaultStateEffect(): void;
|
|
265
269
|
/** Handles keydown events on the tree. */
|
|
266
270
|
onKeydown(event: KeyboardEvent): void;
|
|
267
271
|
/** Handles pointerdown events on the tree. */
|
|
268
272
|
onPointerdown(event: PointerEvent): void;
|
|
273
|
+
/** Handles focusin events on the tree. */
|
|
274
|
+
onFocusIn(): void;
|
|
269
275
|
/** Navigates to the given tree item in the tree. */
|
|
270
276
|
goto(e: PointerEvent, opts?: SelectOptions): void;
|
|
271
277
|
/** Expands the active item if possible, otherwise navigates to the first child. */
|
package/types/listbox.d.ts
CHANGED
|
@@ -6,8 +6,9 @@ export { Combobox as ɵɵCombobox, ComboboxDialog as ɵɵComboboxDialog, Combobo
|
|
|
6
6
|
import './_list-navigation-chunk.js';
|
|
7
7
|
import './_list-chunk.js';
|
|
8
8
|
import './_keyboard-event-manager-chunk.js';
|
|
9
|
-
import './
|
|
9
|
+
import './_click-event-manager-chunk.js';
|
|
10
10
|
import './_combobox-chunk.js';
|
|
11
|
+
import './_pointer-event-manager-chunk.js';
|
|
11
12
|
import './_deferred-content-chunk.js';
|
|
12
13
|
|
|
13
14
|
/**
|
|
@@ -79,18 +80,15 @@ declare class Listbox<V> {
|
|
|
79
80
|
/** Whether the listbox is readonly. */
|
|
80
81
|
readonly: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
81
82
|
/** The values of the currently selected items. */
|
|
82
|
-
|
|
83
|
+
value: _angular_core.ModelSignal<V[]>;
|
|
83
84
|
/** The Listbox UIPattern. */
|
|
84
85
|
readonly _pattern: ListboxPattern<V>;
|
|
85
|
-
/** Whether the listbox has received focus yet. */
|
|
86
|
-
private _hasFocused;
|
|
87
86
|
constructor();
|
|
88
|
-
_onFocus(): void;
|
|
89
87
|
scrollActiveItemIntoView(options?: ScrollIntoViewOptions): void;
|
|
90
88
|
/** Navigates to the first item in the listbox. */
|
|
91
89
|
gotoFirst(): void;
|
|
92
90
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<Listbox<any>, never>;
|
|
93
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<Listbox<any>, "[ngListbox]", ["ngListbox"], { "id": { "alias": "id"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "multi": { "alias": "multi"; "required": false; "isSignal": true; }; "wrap": { "alias": "wrap"; "required": false; "isSignal": true; }; "softDisabled": { "alias": "softDisabled"; "required": false; "isSignal": true; }; "focusMode": { "alias": "focusMode"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "typeaheadDelay": { "alias": "typeaheadDelay"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "
|
|
91
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<Listbox<any>, "[ngListbox]", ["ngListbox"], { "id": { "alias": "id"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "multi": { "alias": "multi"; "required": false; "isSignal": true; }; "wrap": { "alias": "wrap"; "required": false; "isSignal": true; }; "softDisabled": { "alias": "softDisabled"; "required": false; "isSignal": true; }; "focusMode": { "alias": "focusMode"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "typeaheadDelay": { "alias": "typeaheadDelay"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, ["_options"], never, true, [{ directive: typeof ComboboxPopup; inputs: {}; outputs: {}; }]>;
|
|
94
92
|
}
|
|
95
93
|
|
|
96
94
|
/**
|
package/types/menu.d.ts
CHANGED
|
@@ -51,7 +51,7 @@ declare class MenuBar<V> {
|
|
|
51
51
|
/** The directionality (LTR / RTL) context for the application (or a subtree of it). */
|
|
52
52
|
readonly textDirection: _angular_core.WritableSignal<_angular_cdk_bidi.Direction>;
|
|
53
53
|
/** The values of the currently selected menu items. */
|
|
54
|
-
readonly
|
|
54
|
+
readonly value: _angular_core.ModelSignal<V[]>;
|
|
55
55
|
/** Whether the menu should wrap its items. */
|
|
56
56
|
readonly wrap: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
57
57
|
/** The delay in milliseconds before the typeahead buffer is cleared. */
|
|
@@ -66,7 +66,7 @@ declare class MenuBar<V> {
|
|
|
66
66
|
/** Closes the menubar. */
|
|
67
67
|
close(): void;
|
|
68
68
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuBar<any>, never>;
|
|
69
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MenuBar<any>, "[ngMenuBar]", ["ngMenuBar"], { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "softDisabled": { "alias": "softDisabled"; "required": false; "isSignal": true; }; "
|
|
69
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MenuBar<any>, "[ngMenuBar]", ["ngMenuBar"], { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "softDisabled": { "alias": "softDisabled"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "wrap": { "alias": "wrap"; "required": false; "isSignal": true; }; "typeaheadDelay": { "alias": "typeaheadDelay"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "itemSelected": "itemSelected"; }, ["_allItems"], never, true, never>;
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
/**
|
package/types/private.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ export { untracked } from '@angular/core/primitives/signals';
|
|
|
16
16
|
import './_keyboard-event-manager-chunk.js';
|
|
17
17
|
import './_pointer-event-manager-chunk.js';
|
|
18
18
|
import './_list-chunk.js';
|
|
19
|
+
import './_click-event-manager-chunk.js';
|
|
19
20
|
import './_expansion-chunk.js';
|
|
20
21
|
import '@angular/core';
|
|
21
22
|
|
|
@@ -41,7 +42,7 @@ declare class ComboboxListboxPattern<V> extends ListboxPattern<V> implements Com
|
|
|
41
42
|
/** Noop. The combobox handles keydown events. */
|
|
42
43
|
onKeydown(_: KeyboardEvent): void;
|
|
43
44
|
/** Noop. The combobox handles pointerdown events. */
|
|
44
|
-
|
|
45
|
+
onClick(_: PointerEvent): void;
|
|
45
46
|
/** Noop. The combobox controls the open state. */
|
|
46
47
|
setDefaultState(): void;
|
|
47
48
|
/** Navigates to the specified item in the listbox. */
|
package/types/tabs.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { TabPattern, TabListPattern, TabPanelPattern } from './_tabs-chunk.js';
|
|
|
5
5
|
import { DeferredContentAware, DeferredContent } from './_deferred-content-chunk.js';
|
|
6
6
|
import './_keyboard-event-manager-chunk.js';
|
|
7
7
|
import './_list-navigation-chunk.js';
|
|
8
|
-
import './
|
|
8
|
+
import './_click-event-manager-chunk.js';
|
|
9
9
|
import './_expansion-chunk.js';
|
|
10
10
|
|
|
11
11
|
interface HasElement {
|
|
@@ -119,10 +119,7 @@ declare class TabList implements OnInit, OnDestroy {
|
|
|
119
119
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
120
120
|
/** The TabList UIPattern. */
|
|
121
121
|
readonly _pattern: TabListPattern;
|
|
122
|
-
/** Whether the tree has received focus yet. */
|
|
123
|
-
private _hasFocused;
|
|
124
122
|
constructor();
|
|
125
|
-
_onFocus(): void;
|
|
126
123
|
ngOnInit(): void;
|
|
127
124
|
ngOnDestroy(): void;
|
|
128
125
|
_register(child: Tab): void;
|
package/types/toolbar.d.ts
CHANGED
|
@@ -130,19 +130,16 @@ declare class Toolbar<V> {
|
|
|
130
130
|
/** Whether focus should wrap when navigating. */
|
|
131
131
|
readonly wrap: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
132
132
|
/** The values of the selected widgets within the toolbar. */
|
|
133
|
-
readonly
|
|
133
|
+
readonly value: _angular_core.ModelSignal<V[]>;
|
|
134
134
|
/** The toolbar UIPattern. */
|
|
135
135
|
readonly _pattern: ToolbarPattern<V>;
|
|
136
|
-
/** Whether the toolbar has received focus yet. */
|
|
137
|
-
private _hasBeenFocused;
|
|
138
136
|
constructor();
|
|
139
|
-
_onFocus(): void;
|
|
140
137
|
_register(widget: ToolbarWidget<V>): void;
|
|
141
138
|
_unregister(widget: ToolbarWidget<V>): void;
|
|
142
139
|
/** Finds the toolbar item associated with a given element. */
|
|
143
140
|
private _getItem;
|
|
144
141
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<Toolbar<any>, never>;
|
|
145
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<Toolbar<any>, "[ngToolbar]", ["ngToolbar"], { "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "softDisabled": { "alias": "softDisabled"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "wrap": { "alias": "wrap"; "required": false; "isSignal": true; }; "
|
|
142
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<Toolbar<any>, "[ngToolbar]", ["ngToolbar"], { "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "softDisabled": { "alias": "softDisabled"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "wrap": { "alias": "wrap"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
|
|
146
143
|
}
|
|
147
144
|
|
|
148
145
|
export { Toolbar, ToolbarWidget, ToolbarWidgetGroup };
|