@angular/aria 22.0.0-next.8 → 22.0.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/_accordion-chunk.mjs +11 -1
- package/fesm2022/_accordion-chunk.mjs.map +1 -1
- package/fesm2022/_click-event-manager-chunk.mjs +1 -1
- package/fesm2022/_deferred-content-chunk.mjs +6 -6
- package/fesm2022/_list-chunk.mjs +1 -1
- package/fesm2022/_list-navigation-chunk.mjs +1 -1
- package/fesm2022/_list-typeahead-chunk.mjs +1 -1
- package/fesm2022/_menu-chunk.mjs +27 -4
- package/fesm2022/_menu-chunk.mjs.map +1 -1
- package/fesm2022/_option-chunk.mjs +11 -1
- package/fesm2022/_option-chunk.mjs.map +1 -1
- package/fesm2022/_tabs-chunk.mjs +1 -1
- package/fesm2022/_toolbar-widget-group-chunk.mjs +10 -1
- package/fesm2022/_toolbar-widget-group-chunk.mjs.map +1 -1
- package/fesm2022/_tree-chunk.mjs +6 -1
- package/fesm2022/_tree-chunk.mjs.map +1 -1
- package/fesm2022/{_collection-chunk.mjs → _violations-chunk.mjs} +11 -2
- package/fesm2022/_violations-chunk.mjs.map +1 -0
- package/fesm2022/_widget-chunk.mjs +11 -1
- package/fesm2022/_widget-chunk.mjs.map +1 -1
- package/fesm2022/accordion.mjs +102 -48
- package/fesm2022/accordion.mjs.map +1 -1
- package/fesm2022/aria.mjs +1 -1
- package/fesm2022/aria.mjs.map +1 -1
- package/fesm2022/combobox.mjs +9 -9
- package/fesm2022/combobox.mjs.map +1 -1
- package/fesm2022/grid.mjs +20 -13
- package/fesm2022/grid.mjs.map +1 -1
- package/fesm2022/listbox.mjs +15 -17
- package/fesm2022/listbox.mjs.map +1 -1
- package/fesm2022/menu.mjs +79 -24
- package/fesm2022/menu.mjs.map +1 -1
- package/fesm2022/private.mjs +2 -2
- package/fesm2022/tabs.mjs +117 -54
- package/fesm2022/tabs.mjs.map +1 -1
- package/fesm2022/toolbar.mjs +31 -10
- package/fesm2022/toolbar.mjs.map +1 -1
- package/fesm2022/tree.mjs +18 -20
- package/fesm2022/tree.mjs.map +1 -1
- package/package.json +2 -2
- package/types/_accordion-chunk.d.ts +2 -0
- package/types/_grid-chunk.d.ts +2 -0
- package/types/_menu-chunk.d.ts +9 -1
- package/types/_toolbar-chunk.d.ts +2 -0
- package/types/accordion.d.ts +3 -5
- package/types/combobox.d.ts +26 -10
- package/types/grid.d.ts +0 -8
- package/types/listbox.d.ts +0 -4
- package/types/menu.d.ts +6 -12
- package/types/private.d.ts +4 -1
- package/types/tabs.d.ts +3 -11
- package/types/toolbar.d.ts +1 -6
- package/types/tree.d.ts +0 -6
- package/fesm2022/_collection-chunk.mjs.map +0 -1
package/fesm2022/toolbar.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolbar.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/toolbar/toolbar.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/toolbar/toolbar-tokens.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/toolbar/toolbar-widget.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/toolbar/toolbar-widget-group.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n afterNextRender,\n afterRenderEffect,\n booleanAttribute,\n computed,\n Directive,\n ElementRef,\n inject,\n input,\n model,\n OnDestroy,\n signal,\n} from '@angular/core';\nimport {ToolbarPattern, ToolbarWidgetPattern, SortedCollection} from '../private';\nimport {Directionality} from '@angular/cdk/bidi';\nimport type {ToolbarWidget} from './toolbar-widget';\n\n/**\n * A toolbar widget container for a group of interactive widgets, such as\n * buttons or radio groups. It provides a single point of reference for keyboard navigation\n * and focus management. It supports various orientations and disabled states.\n *\n * ```html\n * <div ngToolbar orientation=\"horizontal\" [wrap]=\"true\">\n * <button ngToolbarWidget value=\"save\">Save</button>\n * <button ngToolbarWidget value=\"print\">Print</button>\n *\n * <div ngToolbarWidgetGroup [(value)]=\"selectedAlignment\">\n * <button ngToolbarWidget value=\"left\">Left</button>\n * <button ngToolbarWidget value=\"center\">Center</button>\n * <button ngToolbarWidget value=\"right\">Right</button>\n * </div>\n * </div>\n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Toolbar](guide/aria/toolbar)\n */\n@Directive({\n selector: '[ngToolbar]',\n exportAs: 'ngToolbar',\n host: {\n 'role': 'toolbar',\n '[attr.tabindex]': '_pattern.tabIndex()',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[attr.aria-orientation]': '_pattern.orientation()',\n '(keydown)': '_pattern.onKeydown($event)',\n '(click)': '_pattern.onClick($event)',\n '(pointerdown)': '_pattern.onPointerdown($event)',\n '(focusin)': '_pattern.onFocusIn()',\n },\n})\nexport class Toolbar<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 widgets in the toolbar. */\n readonly _collection = new SortedCollection<ToolbarWidget<V>>();\n\n /** Text direction. */\n readonly textDirection = inject(Directionality).valueSignal;\n\n /** Sorted UIPatterns of the child widgets */\n readonly _itemPatterns = computed<ToolbarWidgetPattern<V>[]>(() =>\n this._collection.orderedItems().map(widget => widget._pattern),\n );\n\n /** Whether the toolbar is vertically or horizontally oriented. */\n readonly orientation = input<'vertical' | 'horizontal'>('horizontal');\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 /** Whether the toolbar is disabled. */\n readonly disabled = input(false, {transform: booleanAttribute});\n\n /** Whether focus should wrap when navigating. */\n readonly wrap = input(true, {transform: booleanAttribute});\n\n /** The values of the selected widgets within the toolbar. */\n readonly value = model<V[]>([]);\n\n /** The toolbar UIPattern. */\n readonly _pattern: ToolbarPattern<V> = new ToolbarPattern<V>({\n ...this,\n items: this._itemPatterns,\n activeItem: signal(undefined),\n textDirection: this.textDirection,\n element: () => this._elementRef.nativeElement,\n getItem: e => this._getItem(e),\n value: this.value,\n });\n\n constructor() {\n afterRenderEffect({write: () => this._pattern.setDefaultStateEffect()});\n\n afterNextRender(() => {\n this._collection.startObserving(this.element);\n });\n }\n\n ngOnDestroy() {\n this._collection.stopObserving();\n }\n\n /** Finds the toolbar item associated with a given element. */\n private _getItem(element: Element) {\n return this._itemPatterns().find(item => item.element()?.contains(element));\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 {InjectionToken} from '@angular/core';\nimport type {ToolbarWidgetGroup} from './toolbar-widget-group';\n\n/** Token used to provide the `ToolbarWidgetGroup` directive. */\nexport const TOOLBAR_WIDGET_GROUP = new InjectionToken<ToolbarWidgetGroup<unknown>>(\n 'TOOLBAR_WIDGET_GROUP',\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 inject,\n computed,\n input,\n booleanAttribute,\n OnInit,\n OnDestroy,\n} from '@angular/core';\nimport {\n ToolbarWidgetPattern,\n ToolbarWidgetGroupPattern,\n SignalLike,\n ToolbarPattern,\n} from '../private';\nimport {_IdGenerator} from '@angular/cdk/a11y';\nimport {Toolbar} from './toolbar';\nimport {TOOLBAR_WIDGET_GROUP} from './toolbar-tokens';\nimport type {ToolbarWidgetGroup} from './toolbar-widget-group';\n\n/**\n * A widget within a toolbar.\n *\n * The `ngToolbarWidget` directive should be applied to any native HTML element that acts\n * as an interactive widget within an `ngToolbar` or `ngToolbarWidgetGroup`. It enables\n * keyboard navigation and selection within the toolbar.\n *\n * ```html\n * <button ngToolbarWidget value=\"action-id\" [disabled]=\"isDisabled\">\n * Perform Action\n * </button>\n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Toolbar](guide/aria/toolbar)\n */\n@Directive({\n selector: '[ngToolbarWidget]',\n exportAs: 'ngToolbarWidget',\n host: {\n // Ensure the attribute is applied even when used as a host directive.\n 'ngToolbarWidget': '',\n '[attr.data-active]': 'active()',\n '[attr.tabindex]': '_pattern.tabIndex()',\n '[attr.inert]': 'hardDisabled() ? true : null',\n '[attr.disabled]': 'hardDisabled() ? true : null',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[id]': '_pattern.id()',\n },\n})\nexport class ToolbarWidget<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 parent Toolbar. */\n private readonly _toolbar = inject<Toolbar<V>>(Toolbar);\n\n /** A unique identifier for the widget. */\n readonly id = input(inject(_IdGenerator).getId('ng-toolbar-widget-', true));\n\n /** The parent Toolbar UIPattern. */\n readonly _toolbarPattern = computed<ToolbarPattern<V>>(() => this._toolbar._pattern);\n\n /** Whether the widget is disabled. */\n readonly disabled = input(false, {transform: booleanAttribute});\n\n /** Whether the widget is 'hard' disabled, which is different from `aria-disabled`. A hard disabled widget cannot receive focus. */\n readonly hardDisabled = computed(() => this._pattern.disabled() && !this._toolbar.softDisabled());\n\n /** The optional ToolbarWidgetGroup this widget belongs to. */\n readonly _group = inject<ToolbarWidgetGroup<V>>(TOOLBAR_WIDGET_GROUP, {optional: true});\n\n /** The value associated with the widget. */\n readonly value = input.required<V>();\n\n /** Whether the widget is currently active (focused). */\n readonly active = computed(() => this._pattern.active());\n\n /** Whether the widget is selected (only relevant in a selection group). */\n readonly selected = () => this._pattern.selected();\n\n private readonly _groupPattern: SignalLike<\n ToolbarWidgetGroupPattern<ToolbarWidgetPattern<V>, V> | undefined\n > = () => this._group?._pattern;\n\n /** The ToolbarWidget UIPattern. */\n readonly _pattern = new ToolbarWidgetPattern<V>({\n ...this,\n group: this._groupPattern,\n toolbar: this._toolbarPattern,\n id: this.id,\n value: this.value,\n element: () => this.element,\n });\n\n ngOnInit() {\n this._toolbar._collection.register(this);\n }\n\n ngOnDestroy() {\n this._toolbar._collection.unregister(this);\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 inject,\n computed,\n input,\n booleanAttribute,\n contentChildren,\n} from '@angular/core';\nimport {ToolbarWidgetPattern, ToolbarWidgetGroupPattern} from '../private';\nimport {Toolbar} from './toolbar';\nimport {ToolbarWidget} from './toolbar-widget';\nimport {TOOLBAR_WIDGET_GROUP} from './toolbar-tokens';\n\n/**\n * A directive that groups toolbar widgets, used for more complex widgets like radio groups\n * that have their own internal navigation.\n *\n * @developerPreview 21.0\n *\n * @see [Toolbar](guide/aria/toolbar)\n */\n@Directive({\n selector: '[ngToolbarWidgetGroup]',\n exportAs: 'ngToolbarWidgetGroup',\n providers: [{provide: TOOLBAR_WIDGET_GROUP, useExisting: ToolbarWidgetGroup}],\n})\nexport class ToolbarWidgetGroup<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 /** The parent Toolbar. */\n private readonly _toolbar = inject<Toolbar<V>>(Toolbar, {optional: true});\n\n /** The list of child widgets within the group. */\n private readonly _widgets = contentChildren(ToolbarWidget, {descendants: true});\n\n /** The parent Toolbar UIPattern. */\n private readonly _toolbarPattern = computed(() => this._toolbar?._pattern);\n\n /** Whether the widget group is disabled. */\n readonly disabled = input(false, {transform: booleanAttribute});\n\n /** The list of toolbar items within the group. */\n private readonly _itemPatterns = () => this._widgets().map(w => w._pattern);\n\n /** Whether the group allows multiple widgets to be selected. */\n readonly multi = input(false, {transform: booleanAttribute});\n\n /** The ToolbarWidgetGroup UIPattern. */\n readonly _pattern = new ToolbarWidgetGroupPattern<ToolbarWidgetPattern<V>, V>({\n ...this,\n items: this._itemPatterns,\n toolbar: this._toolbarPattern,\n });\n}\n"],"names":["Toolbar","_elementRef","inject","ElementRef","element","nativeElement","_collection","SortedCollection","textDirection","Directionality","valueSignal","_itemPatterns","computed","orderedItems","map","widget","_pattern","orientation","input","softDisabled","transform","booleanAttribute","disabled","wrap","value","model","ToolbarPattern","items","activeItem","signal","undefined","getItem","e","_getItem","constructor","afterRenderEffect","write","setDefaultStateEffect","afterNextRender","startObserving","ngOnDestroy","stopObserving","find","item","contains","deps","target","i0","ɵɵFactoryTarget","Directive","isStandalone","selector","inputs","classPropertyName","publicName","isSignal","isRequired","transformFunction","outputs","host","attributes","listeners","properties","exportAs","ngImport","decorators","args","TOOLBAR_WIDGET_GROUP","InjectionToken","ToolbarWidget","_toolbar","id","_IdGenerator","getId","_toolbarPattern","hardDisabled","_group","optional","required","active","selected","_groupPattern","ToolbarWidgetPattern","group","toolbar","ngOnInit","register","unregister","ToolbarWidgetGroup","_widgets","contentChildren","descendants","w","multi","ToolbarWidgetGroupPattern","ɵdir","ɵɵngDeclareDirective","minVersion","version","type","providers","provide","useExisting","propDecorators","ContentChildren","forwardRef","Input","alias"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"toolbar.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/toolbar/toolbar.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/toolbar/toolbar-tokens.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/toolbar/toolbar-widget.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/toolbar/toolbar-widget-group.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n afterNextRender,\n afterRenderEffect,\n booleanAttribute,\n computed,\n Directive,\n ElementRef,\n inject,\n input,\n model,\n OnDestroy,\n signal,\n} from '@angular/core';\nimport {ToolbarPattern, ToolbarWidgetPattern, SortedCollection, reportViolations} from '../private';\nimport {Directionality} from '@angular/cdk/bidi';\nimport type {ToolbarWidget} from './toolbar-widget';\n\n/**\n * A toolbar widget container for a group of interactive widgets, such as\n * buttons or radio groups. It provides a single point of reference for keyboard navigation\n * and focus management. It supports various orientations and disabled states.\n *\n * ```html\n * <div ngToolbar orientation=\"horizontal\" [wrap]=\"true\">\n * <button ngToolbarWidget value=\"save\">Save</button>\n * <button ngToolbarWidget value=\"print\">Print</button>\n *\n * <div ngToolbarWidgetGroup [(value)]=\"selectedAlignment\">\n * <button ngToolbarWidget value=\"left\">Left</button>\n * <button ngToolbarWidget value=\"center\">Center</button>\n * <button ngToolbarWidget value=\"right\">Right</button>\n * </div>\n * </div>\n * ```\n *\n * @see [Toolbar](guide/aria/toolbar)\n */\n@Directive({\n selector: '[ngToolbar]',\n exportAs: 'ngToolbar',\n host: {\n 'role': 'toolbar',\n '[attr.tabindex]': '_pattern.tabIndex()',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[attr.aria-orientation]': '_pattern.orientation()',\n '(keydown)': '_pattern.onKeydown($event)',\n '(click)': '_pattern.onClick($event)',\n '(pointerdown)': '_pattern.onPointerdown($event)',\n '(focusin)': '_pattern.onFocusIn()',\n },\n})\nexport class Toolbar<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 widgets in the toolbar. */\n readonly _collection = new SortedCollection<ToolbarWidget<V>>();\n\n /** Text direction. */\n readonly textDirection = inject(Directionality).valueSignal;\n\n /** Sorted UIPatterns of the child widgets */\n readonly _itemPatterns = computed<ToolbarWidgetPattern<V>[]>(() =>\n this._collection.orderedItems().map(widget => widget._pattern),\n );\n\n /** Whether the toolbar is vertically or horizontally oriented. */\n readonly orientation = input<'vertical' | 'horizontal'>('horizontal');\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 /** Whether the toolbar is disabled. */\n readonly disabled = input(false, {transform: booleanAttribute});\n\n /** Whether focus should wrap when navigating. */\n readonly wrap = input(true, {transform: booleanAttribute});\n\n /** The values of the selected widgets within the toolbar. */\n readonly value = model<V[]>([]);\n\n /** The toolbar UIPattern. */\n readonly _pattern: ToolbarPattern<V> = new ToolbarPattern<V>({\n ...this,\n items: this._itemPatterns,\n activeItem: signal(undefined),\n textDirection: this.textDirection,\n element: () => this._elementRef.nativeElement,\n getItem: e => this._getItem(e),\n value: this.value,\n });\n\n constructor() {\n afterRenderEffect({write: () => this._pattern.setDefaultStateEffect()});\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 afterNextRender(() => {\n this._collection.startObserving(this.element);\n });\n }\n\n ngOnDestroy() {\n this._collection.stopObserving();\n }\n\n /** Finds the toolbar item associated with a given element. */\n private _getItem(element: Element) {\n return this._itemPatterns().find(item => item.element()?.contains(element));\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 {InjectionToken} from '@angular/core';\nimport type {ToolbarWidgetGroup} from './toolbar-widget-group';\n\n/** Token used to provide the `ToolbarWidgetGroup` directive. */\nexport const TOOLBAR_WIDGET_GROUP = new InjectionToken<ToolbarWidgetGroup<unknown>>(\n 'TOOLBAR_WIDGET_GROUP',\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 inject,\n computed,\n input,\n booleanAttribute,\n OnInit,\n OnDestroy,\n} from '@angular/core';\nimport {\n ToolbarWidgetPattern,\n ToolbarWidgetGroupPattern,\n SignalLike,\n ToolbarPattern,\n} from '../private';\nimport {_IdGenerator} from '@angular/cdk/a11y';\nimport {Toolbar} from './toolbar';\nimport {TOOLBAR_WIDGET_GROUP} from './toolbar-tokens';\nimport type {ToolbarWidgetGroup} from './toolbar-widget-group';\n\n/**\n * A widget within a toolbar.\n *\n * The `ngToolbarWidget` directive should be applied to any native HTML element that acts\n * as an interactive widget within an `ngToolbar` or `ngToolbarWidgetGroup`. It enables\n * keyboard navigation and selection within the toolbar.\n *\n * ```html\n * <button ngToolbarWidget value=\"action-id\" [disabled]=\"isDisabled\">\n * Perform Action\n * </button>\n * ```\n *\n * @see [Toolbar](guide/aria/toolbar)\n */\n@Directive({\n selector: '[ngToolbarWidget]',\n exportAs: 'ngToolbarWidget',\n host: {\n // Ensure the attribute is applied even when used as a host directive.\n 'ngToolbarWidget': '',\n '[attr.data-active]': 'active()',\n '[attr.tabindex]': '_pattern.tabIndex()',\n '[attr.inert]': 'hardDisabled() ? true : null',\n '[attr.disabled]': 'hardDisabled() ? true : null',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[id]': '_pattern.id()',\n },\n})\nexport class ToolbarWidget<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 parent Toolbar. */\n private readonly _toolbar = inject<Toolbar<V>>(Toolbar);\n\n /** A unique identifier for the widget. */\n readonly id = input(inject(_IdGenerator).getId('ng-toolbar-widget-', true));\n\n /** The parent Toolbar UIPattern. */\n readonly _toolbarPattern = computed<ToolbarPattern<V>>(() => this._toolbar._pattern);\n\n /** Whether the widget is disabled. */\n readonly disabled = input(false, {transform: booleanAttribute});\n\n /** Whether the widget is 'hard' disabled, which is different from `aria-disabled`. A hard disabled widget cannot receive focus. */\n readonly hardDisabled = computed(() => this._pattern.disabled() && !this._toolbar.softDisabled());\n\n /** The optional ToolbarWidgetGroup this widget belongs to. */\n readonly _group = inject<ToolbarWidgetGroup<V>>(TOOLBAR_WIDGET_GROUP, {optional: true});\n\n /** The value associated with the widget. */\n readonly value = input.required<V>();\n\n /** Whether the widget is currently active (focused). */\n readonly active = computed(() => this._pattern.active());\n\n /** Whether the widget is selected (only relevant in a selection group). */\n readonly selected = () => this._pattern.selected();\n\n private readonly _groupPattern: SignalLike<\n ToolbarWidgetGroupPattern<ToolbarWidgetPattern<V>, V> | undefined\n > = () => this._group?._pattern;\n\n /** The ToolbarWidget UIPattern. */\n readonly _pattern = new ToolbarWidgetPattern<V>({\n ...this,\n group: this._groupPattern,\n toolbar: this._toolbarPattern,\n id: this.id,\n value: this.value,\n element: () => this.element,\n });\n\n ngOnInit() {\n this._toolbar._collection.register(this);\n }\n\n ngOnDestroy() {\n this._toolbar._collection.unregister(this);\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 inject,\n computed,\n input,\n booleanAttribute,\n contentChildren,\n afterRenderEffect,\n} from '@angular/core';\nimport {ToolbarWidgetPattern, ToolbarWidgetGroupPattern, reportViolations} from '../private';\nimport {Toolbar} from './toolbar';\nimport {ToolbarWidget} from './toolbar-widget';\nimport {TOOLBAR_WIDGET_GROUP} from './toolbar-tokens';\n\n/**\n * A directive that groups toolbar widgets, used for more complex widgets like radio groups\n * that have their own internal navigation.\n *\n * @see [Toolbar](guide/aria/toolbar)\n */\n@Directive({\n selector: '[ngToolbarWidgetGroup]',\n exportAs: 'ngToolbarWidgetGroup',\n providers: [{provide: TOOLBAR_WIDGET_GROUP, useExisting: ToolbarWidgetGroup}],\n})\nexport class ToolbarWidgetGroup<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 /** The parent Toolbar. */\n private readonly _toolbar = inject<Toolbar<V>>(Toolbar, {optional: true});\n\n /** The list of child widgets within the group. */\n private readonly _widgets = contentChildren(ToolbarWidget, {descendants: true});\n\n /** The parent Toolbar UIPattern. */\n private readonly _toolbarPattern = computed(() => this._toolbar?._pattern);\n\n /** Whether the widget group is disabled. */\n readonly disabled = input(false, {transform: booleanAttribute});\n\n /** The list of toolbar items within the group. */\n private readonly _itemPatterns = () => this._widgets().map(w => w._pattern);\n\n /** Whether the group allows multiple widgets to be selected. */\n readonly multi = input(false, {transform: booleanAttribute});\n\n /** The ToolbarWidgetGroup UIPattern. */\n readonly _pattern = new ToolbarWidgetGroupPattern<ToolbarWidgetPattern<V>, V>({\n ...this,\n items: this._itemPatterns,\n toolbar: this._toolbarPattern,\n });\n\n constructor() {\n // Check for any violations after the DOM has been updated.\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n afterRenderEffect({\n read: () => {\n const violations: string[] = [];\n if (!this._toolbar) {\n violations.push('ngToolbarWidgetGroup must be placed inside an ngToolbar container.');\n }\n reportViolations(violations, this.element);\n },\n });\n }\n }\n}\n"],"names":["Toolbar","_elementRef","inject","ElementRef","element","nativeElement","_collection","SortedCollection","textDirection","Directionality","valueSignal","_itemPatterns","computed","orderedItems","map","widget","_pattern","orientation","input","softDisabled","transform","booleanAttribute","disabled","wrap","value","model","ToolbarPattern","items","activeItem","signal","undefined","getItem","e","_getItem","constructor","afterRenderEffect","write","setDefaultStateEffect","ngDevMode","read","reportViolations","validate","afterNextRender","startObserving","ngOnDestroy","stopObserving","find","item","contains","deps","target","i0","ɵɵFactoryTarget","Directive","isStandalone","selector","inputs","classPropertyName","publicName","isSignal","isRequired","transformFunction","outputs","host","attributes","listeners","properties","exportAs","ngImport","decorators","args","TOOLBAR_WIDGET_GROUP","InjectionToken","ToolbarWidget","_toolbar","id","_IdGenerator","getId","_toolbarPattern","hardDisabled","_group","optional","required","active","selected","_groupPattern","ToolbarWidgetPattern","group","toolbar","ngOnInit","register","unregister","ToolbarWidgetGroup","_widgets","contentChildren","descendants","w","multi","ToolbarWidgetGroupPattern","violations","push","ɵdir","ɵɵngDeclareDirective","minVersion","version","type","providers","provide","useExisting","ctorParameters","propDecorators","ContentChildren","forwardRef","Input","alias"],"mappings":"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"}
|
package/fesm2022/tree.mjs
CHANGED
|
@@ -3,7 +3,7 @@ import { inject, ElementRef, input, booleanAttribute, model, signal, computed, a
|
|
|
3
3
|
import { _IdGenerator } from '@angular/cdk/a11y';
|
|
4
4
|
import { Directionality } from '@angular/cdk/bidi';
|
|
5
5
|
import { TreePattern, TreeItemPattern } from './_tree-chunk.mjs';
|
|
6
|
-
import { SortedCollection, sortDirectives } from './
|
|
6
|
+
import { SortedCollection, reportViolations, sortDirectives } from './_violations-chunk.mjs';
|
|
7
7
|
import { tabIndexTransform } from './_transforms-chunk.mjs';
|
|
8
8
|
import { DeferredContent, DeferredContentAware } from './_deferred-content-chunk.mjs';
|
|
9
9
|
import './_expansion-chunk.mjs';
|
|
@@ -92,16 +92,13 @@ class Tree {
|
|
|
92
92
|
afterNextRender(() => {
|
|
93
93
|
this._collection.startObserving(this.element);
|
|
94
94
|
});
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
for (const violation of violations) {
|
|
100
|
-
console.error(violation);
|
|
101
|
-
}
|
|
95
|
+
if (typeof ngDevMode === 'undefined' || ngDevMode) {
|
|
96
|
+
afterRenderEffect({
|
|
97
|
+
read: () => {
|
|
98
|
+
reportViolations(this._pattern.validate(), this.element);
|
|
102
99
|
}
|
|
103
|
-
}
|
|
104
|
-
}
|
|
100
|
+
});
|
|
101
|
+
}
|
|
105
102
|
afterRenderEffect({
|
|
106
103
|
write: () => this._pattern.setDefaultStateEffect()
|
|
107
104
|
});
|
|
@@ -109,8 +106,9 @@ class Tree {
|
|
|
109
106
|
write: () => {
|
|
110
107
|
const items = inputs.items();
|
|
111
108
|
const activeItem = untracked(() => inputs.activeItem());
|
|
112
|
-
if (!items.some(i => i === activeItem)
|
|
109
|
+
if (activeItem && !items.some(i => i === activeItem)) {
|
|
113
110
|
this._pattern.treeBehavior.unfocus();
|
|
111
|
+
this._pattern.setDefaultState();
|
|
114
112
|
}
|
|
115
113
|
}
|
|
116
114
|
});
|
|
@@ -125,7 +123,7 @@ class Tree {
|
|
|
125
123
|
}
|
|
126
124
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
127
125
|
minVersion: "12.0.0",
|
|
128
|
-
version: "22.0.0-
|
|
126
|
+
version: "22.0.0-rc.0",
|
|
129
127
|
ngImport: i0,
|
|
130
128
|
type: Tree,
|
|
131
129
|
deps: [],
|
|
@@ -133,7 +131,7 @@ class Tree {
|
|
|
133
131
|
});
|
|
134
132
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
135
133
|
minVersion: "17.1.0",
|
|
136
|
-
version: "22.0.0-
|
|
134
|
+
version: "22.0.0-rc.0",
|
|
137
135
|
type: Tree,
|
|
138
136
|
isStandalone: true,
|
|
139
137
|
selector: "[ngTree]",
|
|
@@ -257,7 +255,7 @@ class Tree {
|
|
|
257
255
|
}
|
|
258
256
|
i0.ɵɵngDeclareClassMetadata({
|
|
259
257
|
minVersion: "12.0.0",
|
|
260
|
-
version: "22.0.0-
|
|
258
|
+
version: "22.0.0-rc.0",
|
|
261
259
|
ngImport: i0,
|
|
262
260
|
type: Tree,
|
|
263
261
|
decorators: [{
|
|
@@ -421,7 +419,7 @@ class TreeItemGroup {
|
|
|
421
419
|
}
|
|
422
420
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
423
421
|
minVersion: "12.0.0",
|
|
424
|
-
version: "22.0.0-
|
|
422
|
+
version: "22.0.0-rc.0",
|
|
425
423
|
ngImport: i0,
|
|
426
424
|
type: TreeItemGroup,
|
|
427
425
|
deps: [],
|
|
@@ -429,7 +427,7 @@ class TreeItemGroup {
|
|
|
429
427
|
});
|
|
430
428
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
431
429
|
minVersion: "17.1.0",
|
|
432
|
-
version: "22.0.0-
|
|
430
|
+
version: "22.0.0-rc.0",
|
|
433
431
|
type: TreeItemGroup,
|
|
434
432
|
isStandalone: true,
|
|
435
433
|
selector: "ng-template[ngTreeItemGroup]",
|
|
@@ -451,7 +449,7 @@ class TreeItemGroup {
|
|
|
451
449
|
}
|
|
452
450
|
i0.ɵɵngDeclareClassMetadata({
|
|
453
451
|
minVersion: "12.0.0",
|
|
454
|
-
version: "22.0.0-
|
|
452
|
+
version: "22.0.0-rc.0",
|
|
455
453
|
ngImport: i0,
|
|
456
454
|
type: TreeItemGroup,
|
|
457
455
|
decorators: [{
|
|
@@ -579,7 +577,7 @@ class TreeItem extends DeferredContentAware {
|
|
|
579
577
|
}
|
|
580
578
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
581
579
|
minVersion: "12.0.0",
|
|
582
|
-
version: "22.0.0-
|
|
580
|
+
version: "22.0.0-rc.0",
|
|
583
581
|
ngImport: i0,
|
|
584
582
|
type: TreeItem,
|
|
585
583
|
deps: [],
|
|
@@ -587,7 +585,7 @@ class TreeItem extends DeferredContentAware {
|
|
|
587
585
|
});
|
|
588
586
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
589
587
|
minVersion: "17.1.0",
|
|
590
|
-
version: "22.0.0-
|
|
588
|
+
version: "22.0.0-rc.0",
|
|
591
589
|
type: TreeItem,
|
|
592
590
|
isStandalone: true,
|
|
593
591
|
selector: "[ngTreeItem]",
|
|
@@ -669,7 +667,7 @@ class TreeItem extends DeferredContentAware {
|
|
|
669
667
|
}
|
|
670
668
|
i0.ɵɵngDeclareClassMetadata({
|
|
671
669
|
minVersion: "12.0.0",
|
|
672
|
-
version: "22.0.0-
|
|
670
|
+
version: "22.0.0-rc.0",
|
|
673
671
|
ngImport: i0,
|
|
674
672
|
type: TreeItem,
|
|
675
673
|
decorators: [{
|
package/fesm2022/tree.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/tree/tree.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/tree/tree-item-group.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/tree/tree-item.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n afterNextRender,\n afterRenderEffect,\n booleanAttribute,\n computed,\n Directive,\n ElementRef,\n inject,\n input,\n model,\n OnDestroy,\n signal,\n Signal,\n untracked,\n} from '@angular/core';\nimport {_IdGenerator} from '@angular/cdk/a11y';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {SortedCollection, tabIndexTransform, TreeItemPattern, TreePattern} 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 * @developerPreview 21.0\n *\n * @see [Tree](guide/aria/tree)\n */\n@Directive({\n selector: '[ngTree]',\n exportAs: 'ngTree',\n host: {\n 'role': 'tree',\n '[attr.id]': 'id()',\n '[attr.aria-orientation]': '_pattern.orientation()',\n '[attr.aria-multiselectable]': '_pattern.multi()',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[attr.aria-activedescendant]': '_pattern.activeDescendant()',\n '[tabindex]': 'tabIndex() !== undefined ? tabIndex() : _pattern.tabIndex()',\n '(keydown)': '_pattern.onKeydown($event)',\n '(click)': '_pattern.onClick($event)',\n '(focusin)': '_pattern.onFocusIn()',\n },\n})\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 afterRenderEffect({\n read: () => {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n const violations = this._pattern.validate();\n for (const violation of violations) {\n console.error(violation);\n }\n }\n },\n });\n\n // Resets default focus based on selection state until interacted.\n afterRenderEffect({write: () => this._pattern.setDefaultStateEffect()});\n\n afterRenderEffect({\n write: () => {\n const items = inputs.items();\n const activeItem = untracked(() => inputs.activeItem());\n\n if (!items.some(i => i === activeItem) && activeItem) {\n this._pattern.treeBehavior.unfocus();\n }\n },\n });\n }\n\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 * @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","/**\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 * @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 afterRenderEffect({\n write: () => {\n this.contentVisible.set(this._pattern.expanded());\n },\n });\n }\n\n ngOnInit() {\n if (this.parent() instanceof TreeItemGroup) {\n (this.parent() as TreeItemGroup<V>)._register(this);\n }\n this.tree()._collection.register(this);\n\n const treePattern = computed(() => this.tree()._pattern);\n const parentPattern = computed(() => {\n if (this.parent() instanceof Tree) {\n return treePattern();\n }\n return (this.parent() as TreeItemGroup<V>).ownedBy()._pattern;\n });\n this._pattern = new TreeItemPattern<V>({\n ...this,\n tree: treePattern,\n parent: parentPattern,\n children: computed(() => this._group()?._childPatterns()),\n hasChildren: computed(() => !!this._group()),\n element: () => this.element,\n searchTerm: () => this.searchTerm() ?? '',\n });\n }\n\n ngOnDestroy() {\n if (this.parent() instanceof TreeItemGroup) {\n (this.parent() as TreeItemGroup<V>)._unregister(this);\n }\n this.tree()._collection.unregister(this);\n }\n\n _register(group: TreeItemGroup<V>) {\n this._group.set(group);\n }\n\n _unregister() {\n this._group.set(undefined);\n }\n}\n"],"names":["Tree","_elementRef","inject","ElementRef","element","nativeElement","_collection","SortedCollection","id","input","_IdGenerator","getId","orientation","multi","transform","booleanAttribute","disabled","selectionMode","focusMode","wrap","softDisabled","typeaheadDelay","tabIndex","undefined","ngDevMode","debugName","alias","tabIndexTransform","value","model","textDirection","Directionality","valueSignal","nav","currentType","_pattern","activeDescendant","constructor","inputs","items","computed","orderedItems","map","item","activeItem","signal","TreePattern","afterNextRender","startObserving","afterRenderEffect","read","violations","validate","violation","console","error","write","setDefaultStateEffect","untracked","some","i","treeBehavior","unfocus","ngOnDestroy","stopObserving","scrollActiveItemIntoView","options","block","scrollIntoView","deps","target","i0","ɵɵFactoryTarget","Directive","isStandalone","selector","classPropertyName","publicName","isSignal","isRequired","transformFunction","outputs","host","attributes","listeners","properties","exportAs","ngImport","decorators","args","TreeItemGroup","_deferredContent","DeferredContent","_unorderedItems","Set","_childPatterns","sort","sortDirectives","c","ownedBy","required","ngOnInit","deferredContentAware","set","_register","_unregister","child","add","delete","hostDirectives","directive","i1","TreeItem","DeferredContentAware","_group","parent","selectable","expanded","label","searchTerm","textContent","tree","active","level","selected","visible","_expanded","expandable","contentVisible","register","treePattern","parentPattern","TreeItemPattern","children","hasChildren","unregister","group","usesInheritance"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tree.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/tree/tree.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/tree/tree-item-group.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/tree/tree-item.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n afterNextRender,\n afterRenderEffect,\n booleanAttribute,\n computed,\n Directive,\n ElementRef,\n inject,\n input,\n model,\n OnDestroy,\n signal,\n Signal,\n untracked,\n} from '@angular/core';\nimport {_IdGenerator} from '@angular/cdk/a11y';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {\n SortedCollection,\n tabIndexTransform,\n TreeItemPattern,\n TreePattern,\n reportViolations,\n} from '../private';\nimport type {TreeItem} from './tree-item';\n\n/**\n * A container that transforms nested lists into an accessible, ARIA-compliant tree structure.\n * It manages the overall state of the tree, including selection, expansion, and keyboard\n * navigation.\n *\n * ```html\n * <ul ngTree [(value)]=\"selectedItems\" [multi]=\"true\">\n * <ng-template\n * [ngTemplateOutlet]=\"treeNodes\"\n * [ngTemplateOutletContext]=\"{nodes: treeData, parent: tree}\"\n * />\n * </ul>\n *\n * <ng-template #treeNodes let-nodes=\"nodes\" let-parent=\"parent\">\n * @for (node of nodes; track node.name) {\n * <li ngTreeItem [parent]=\"parent\" [value]=\"node.name\" [label]=\"node.name\">\n * {{ node.name }}\n * @if (node.children) {\n * <ul role=\"group\">\n * <ng-template ngTreeItemGroup [ownedBy]=\"treeItem\" #group=\"ngTreeItemGroup\">\n * <ng-template\n * [ngTemplateOutlet]=\"treeNodes\"\n * [ngTemplateOutletContext]=\"{nodes: node.children, parent: group}\"\n * />\n * </ng-template>\n * </ul>\n * }\n * </li>\n * }\n * </ng-template>\n * ```\n *\n * @see [Tree](guide/aria/tree)\n */\n@Directive({\n selector: '[ngTree]',\n exportAs: 'ngTree',\n host: {\n 'role': 'tree',\n '[attr.id]': 'id()',\n '[attr.aria-orientation]': '_pattern.orientation()',\n '[attr.aria-multiselectable]': '_pattern.multi()',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[attr.aria-activedescendant]': '_pattern.activeDescendant()',\n '[tabindex]': 'tabIndex() !== undefined ? tabIndex() : _pattern.tabIndex()',\n '(keydown)': '_pattern.onKeydown($event)',\n '(click)': '_pattern.onClick($event)',\n '(focusin)': '_pattern.onFocusIn()',\n },\n})\nexport class Tree<V> implements OnDestroy {\n /** A reference to the host element. */\n private readonly _elementRef = inject(ElementRef);\n\n /** A reference to the host element. */\n readonly element = this._elementRef.nativeElement as HTMLElement;\n\n /** The collection of tree items. */\n readonly _collection = new SortedCollection<TreeItem<V>>();\n\n /** A unique identifier for the tree. */\n readonly id = input(inject(_IdGenerator).getId('ng-tree-', true));\n\n /** Orientation of the tree. */\n readonly orientation = input<'vertical' | 'horizontal'>('vertical');\n\n /** Whether multi-selection is allowed. */\n readonly multi = input(false, {transform: booleanAttribute});\n\n /** Whether the tree is disabled. */\n readonly disabled = input(false, {transform: booleanAttribute});\n\n /**\n * The selection strategy used by the tree.\n * - `explicit`: Items are selected explicitly by the user (e.g., via click or spacebar).\n * - `follow`: The focused item is automatically selected.\n */\n readonly selectionMode = input<'explicit' | 'follow'>('explicit');\n\n /**\n * The focus strategy used by the tree.\n * - `roving`: Focus is moved to the active item using `tabindex`.\n * - `activedescendant`: Focus remains on the tree container, and `aria-activedescendant` is used to indicate the active item.\n */\n readonly focusMode = input<'roving' | 'activedescendant'>('roving');\n\n /** Whether navigation wraps. */\n readonly wrap = input(true, {transform: booleanAttribute});\n\n /**\n * Whether to allow disabled items to receive focus. When `true`, disabled items are\n * focusable but not interactive. When `false`, disabled items are skipped during navigation.\n */\n readonly softDisabled = input(true, {transform: booleanAttribute});\n\n /** The delay in seconds before the typeahead search is reset. */\n readonly typeaheadDelay = input(500);\n\n /** The tabindex of the tree. */\n readonly tabIndex = input(undefined, {\n alias: 'tabindex',\n transform: tabIndexTransform,\n });\n\n /** The values of the currently selected items. */\n readonly value = model<V[]>([]);\n\n /** Text direction. */\n readonly textDirection = inject(Directionality).valueSignal;\n\n /** Whether the tree is in navigation mode. */\n readonly nav = input(false, {transform: booleanAttribute});\n\n /**\n * The `aria-current` type. It can be used in navigation trees to indicate the currently active item.\n * See https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Reference/Attributes/aria-current for more details.\n */\n readonly currentType = input<'page' | 'step' | 'location' | 'date' | 'time' | 'true' | 'false'>(\n 'page',\n );\n\n /** The UI pattern for the tree. */\n readonly _pattern: TreePattern<V>;\n\n /** The ID of the active descendant in the tree. */\n readonly activeDescendant: Signal<string | undefined>;\n\n constructor() {\n const inputs = {\n ...this,\n id: this.id,\n items: computed(() => this._collection.orderedItems().map(item => item._pattern)),\n activeItem: signal<TreeItemPattern<V> | undefined>(undefined),\n element: () => this.element,\n };\n\n this._pattern = new TreePattern<V>(inputs);\n\n this.activeDescendant = computed(() => this._pattern.activeDescendant());\n\n afterNextRender(() => {\n this._collection.startObserving(this.element);\n });\n\n // Check for any violations after the DOM has been updated.\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n afterRenderEffect({\n read: () => {\n reportViolations(this._pattern.validate(), this.element);\n },\n });\n }\n\n // Resets default focus based on selection state until interacted.\n afterRenderEffect({write: () => this._pattern.setDefaultStateEffect()});\n\n afterRenderEffect({\n write: () => {\n const items = inputs.items();\n const activeItem = untracked(() => inputs.activeItem());\n\n if (activeItem && !items.some(i => i === activeItem)) {\n this._pattern.treeBehavior.unfocus();\n this._pattern.setDefaultState();\n }\n },\n });\n }\n\n ngOnDestroy() {\n this._collection.stopObserving();\n }\n\n scrollActiveItemIntoView(options: ScrollIntoViewOptions = {block: 'nearest'}) {\n this._pattern.inputs.activeItem()?.element()?.scrollIntoView(options);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n Directive,\n ElementRef,\n computed,\n inject,\n input,\n signal,\n OnInit,\n OnDestroy,\n} from '@angular/core';\nimport {TreeItemPattern, DeferredContent, sortDirectives} from '../private';\nimport type {TreeItem} from './tree-item';\n\n/**\n * Group that contains children tree items.\n *\n * The `ngTreeItemGroup` structural directive should be applied to an `ng-template` that\n * wraps the child `ngTreeItem` elements. It is used to define a group of children for an\n * expandable `ngTreeItem`. The `ownedBy` input links the group to its parent `ngTreeItem`.\n *\n * ```html\n * <li ngTreeItem [value]=\"'parent-id'\">\n * Parent Item\n * <ul role=\"group\">\n * <ng-template ngTreeItemGroup [ownedBy]=\"parentTreeItemRef\">\n * <li ngTreeItem [value]=\"'child-id'\">Child Item</li>\n * </ng-template>\n * </ul>\n * </li>\n * ```\n *\n * @see [Tree](guide/aria/tree)\n */\n@Directive({\n selector: 'ng-template[ngTreeItemGroup]',\n exportAs: 'ngTreeItemGroup',\n hostDirectives: [DeferredContent],\n})\nexport class TreeItemGroup<V> implements OnInit, OnDestroy {\n /** A reference to the host element. */\n private readonly _elementRef = inject(ElementRef);\n\n /** A reference to the host element. */\n readonly element = this._elementRef.nativeElement as HTMLElement;\n\n /** The DeferredContent host directive. */\n private readonly _deferredContent = inject(DeferredContent);\n\n /** All groupable items that are descendants of the group. */\n private readonly _unorderedItems = signal(new Set<TreeItem<V>>());\n\n /** Child items within this group. */\n readonly _childPatterns = computed<TreeItemPattern<V>[]>(() =>\n [...this._unorderedItems()].sort(sortDirectives).map(c => c._pattern),\n );\n\n /** Tree item that owns the group. */\n readonly ownedBy = input.required<TreeItem<V>>();\n\n ngOnInit() {\n this._deferredContent.deferredContentAware.set(this.ownedBy());\n this.ownedBy()._register(this);\n }\n\n ngOnDestroy() {\n this.ownedBy()._unregister();\n }\n\n _register(child: TreeItem<V>) {\n this._unorderedItems().add(child);\n this._unorderedItems.set(new Set(this._unorderedItems()));\n }\n\n _unregister(child: TreeItem<V>) {\n this._unorderedItems().delete(child);\n this._unorderedItems.set(new Set(this._unorderedItems()));\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n Directive,\n ElementRef,\n afterRenderEffect,\n booleanAttribute,\n computed,\n inject,\n input,\n model,\n signal,\n Signal,\n OnInit,\n OnDestroy,\n} from '@angular/core';\nimport {_IdGenerator} from '@angular/cdk/a11y';\nimport {TreeItemPattern, DeferredContentAware, HasElement} from '../private';\nimport {Tree} from './tree';\nimport {TreeItemGroup} from './tree-item-group';\n\n/**\n * A selectable and expandable item in an `ngTree`.\n *\n * The `ngTreeItem` directive represents an individual node within an `ngTree`. It can be\n * selected, expanded (if it has children), and disabled. The `parent` input establishes\n * the hierarchical relationship within the tree.\n *\n * ```html\n * <li ngTreeItem [parent]=\"parentTreeOrGroup\" value=\"item-id\" label=\"Item Label\">\n * Item Label\n * </li>\n * ```\n */\n@Directive({\n selector: '[ngTreeItem]',\n exportAs: 'ngTreeItem',\n host: {\n '[attr.data-active]': 'active()',\n 'role': 'treeitem',\n '[id]': '_pattern.id()',\n '[attr.aria-expanded]': '_expanded()',\n '[attr.aria-selected]': 'selected()',\n '[attr.aria-current]': '_pattern.current()',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[attr.aria-level]': 'level()',\n '[attr.aria-setsize]': '_pattern.setsize()',\n '[attr.aria-posinset]': '_pattern.posinset()',\n '[attr.tabindex]': '_pattern.tabIndex()',\n },\n})\nexport class TreeItem<V> extends DeferredContentAware implements OnInit, OnDestroy, HasElement {\n /** A reference to the host element. */\n private readonly _elementRef = inject(ElementRef);\n\n /** A reference to the host element. */\n readonly element = this._elementRef.nativeElement as HTMLElement;\n\n /** The owned tree item group. */\n private readonly _group = signal<TreeItemGroup<V> | undefined>(undefined);\n\n /** A unique identifier for the tree item. */\n readonly id = input(inject(_IdGenerator).getId('ng-tree-item-', true));\n\n /** The value of the tree item. */\n readonly value = input.required<V>();\n\n /** The parent tree root or tree item group. */\n readonly parent = input.required<Tree<V> | TreeItemGroup<V>>();\n\n /** Whether the tree item is disabled. */\n readonly disabled = input(false, {transform: booleanAttribute});\n\n /** Whether the tree item is selectable. */\n readonly selectable = input<boolean>(true);\n\n /** Whether the tree item is expanded. */\n readonly expanded = model<boolean>(false);\n\n /** Optional label for typeahead. Defaults to the element's textContent. */\n readonly label = input<string>();\n\n /** Search term for typeahead. */\n readonly searchTerm = computed(() => this.label() ?? this.element.textContent);\n\n /** The tree root. */\n readonly tree: Signal<Tree<V>> = computed(() => {\n if (this.parent() instanceof Tree) {\n return this.parent() as Tree<V>;\n }\n return (this.parent() as TreeItemGroup<V>).ownedBy().tree();\n });\n\n /** Whether the item is active. */\n readonly active = computed(() => this._pattern.active());\n\n /** The level of the current item in a tree. */\n readonly level = computed(() => this._pattern.level());\n\n /** Whether the item is selected. */\n readonly selected = computed(() => this._pattern.selected());\n\n /** Whether this item is visible due to all of its parents being expanded. */\n readonly visible = computed(() => this._pattern.visible());\n\n /** Whether the tree is expanded. Use this value for aria-expanded. */\n protected readonly _expanded: Signal<boolean | undefined> = computed(() =>\n this._pattern.expandable() ? this._pattern.expanded() : undefined,\n );\n\n /** The UI pattern for this item. */\n _pattern!: TreeItemPattern<V>;\n\n constructor() {\n super();\n afterRenderEffect({\n write: () => {\n this.contentVisible.set(this._pattern.expanded());\n },\n });\n }\n\n ngOnInit() {\n if (this.parent() instanceof TreeItemGroup) {\n (this.parent() as TreeItemGroup<V>)._register(this);\n }\n this.tree()._collection.register(this);\n\n const treePattern = computed(() => this.tree()._pattern);\n const parentPattern = computed(() => {\n if (this.parent() instanceof Tree) {\n return treePattern();\n }\n return (this.parent() as TreeItemGroup<V>).ownedBy()._pattern;\n });\n this._pattern = new TreeItemPattern<V>({\n ...this,\n tree: treePattern,\n parent: parentPattern,\n children: computed(() => this._group()?._childPatterns()),\n hasChildren: computed(() => !!this._group()),\n element: () => this.element,\n searchTerm: () => this.searchTerm() ?? '',\n });\n }\n\n ngOnDestroy() {\n if (this.parent() instanceof TreeItemGroup) {\n (this.parent() as TreeItemGroup<V>)._unregister(this);\n }\n this.tree()._collection.unregister(this);\n }\n\n _register(group: TreeItemGroup<V>) {\n this._group.set(group);\n }\n\n _unregister() {\n this._group.set(undefined);\n }\n}\n"],"names":["Tree","_elementRef","inject","ElementRef","element","nativeElement","_collection","SortedCollection","id","input","_IdGenerator","getId","orientation","multi","transform","booleanAttribute","disabled","selectionMode","focusMode","wrap","softDisabled","typeaheadDelay","tabIndex","undefined","ngDevMode","debugName","alias","tabIndexTransform","value","model","textDirection","Directionality","valueSignal","nav","currentType","_pattern","activeDescendant","constructor","inputs","items","computed","orderedItems","map","item","activeItem","signal","TreePattern","afterNextRender","startObserving","afterRenderEffect","read","reportViolations","validate","write","setDefaultStateEffect","untracked","some","i","treeBehavior","unfocus","setDefaultState","ngOnDestroy","stopObserving","scrollActiveItemIntoView","options","block","scrollIntoView","deps","target","i0","ɵɵFactoryTarget","Directive","isStandalone","selector","classPropertyName","publicName","isSignal","isRequired","transformFunction","outputs","host","attributes","listeners","properties","exportAs","ngImport","decorators","args","TreeItemGroup","_deferredContent","DeferredContent","_unorderedItems","Set","_childPatterns","sort","sortDirectives","c","ownedBy","required","ngOnInit","deferredContentAware","set","_register","_unregister","child","add","delete","hostDirectives","directive","i1","TreeItem","DeferredContentAware","_group","parent","selectable","expanded","label","searchTerm","textContent","tree","active","level","selected","visible","_expanded","expandable","contentVisible","register","treePattern","parentPattern","TreeItemPattern","children","hasChildren","unregister","group","usesInheritance"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@angular/aria",
|
|
3
|
-
"version": "22.0.0-
|
|
3
|
+
"version": "22.0.0-rc.1",
|
|
4
4
|
"description": "Angular Aria",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
},
|
|
13
13
|
"homepage": "https://github.com/angular/components#readme",
|
|
14
14
|
"peerDependencies": {
|
|
15
|
-
"@angular/cdk": "22.0.0-
|
|
15
|
+
"@angular/cdk": "22.0.0-rc.1",
|
|
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": {
|
|
@@ -37,6 +37,8 @@ declare class AccordionGroupPattern {
|
|
|
37
37
|
expandAll(): void;
|
|
38
38
|
/** Collapses all accordion panels. */
|
|
39
39
|
collapseAll(): void;
|
|
40
|
+
/** Returns a set of violations */
|
|
41
|
+
validate(): string[];
|
|
40
42
|
/** Finds the trigger pattern for a given element. */
|
|
41
43
|
private _findTriggerPattern;
|
|
42
44
|
}
|
package/types/_grid-chunk.d.ts
CHANGED
|
@@ -538,6 +538,8 @@ declare class GridPattern {
|
|
|
538
538
|
/** Whether the grid state is stale and needs to be reconciled. */
|
|
539
539
|
private readonly _stateStale;
|
|
540
540
|
constructor(inputs: GridInputs);
|
|
541
|
+
/** Returns a set of violations */
|
|
542
|
+
validate(): string[];
|
|
541
543
|
/** Handles keydown events on the grid. */
|
|
542
544
|
onKeydown(event: KeyboardEvent): void;
|
|
543
545
|
/** Handles click events on the grid. */
|
package/types/_menu-chunk.d.ts
CHANGED
|
@@ -43,6 +43,8 @@ interface MenuItemInputs<V> extends Omit<ListItem<V>, 'index' | 'selectable'> {
|
|
|
43
43
|
parent: SignalLike<MenuPattern<V> | MenuBarPattern<V> | undefined>;
|
|
44
44
|
/** A reference to the submenu associated with the menu item. */
|
|
45
45
|
submenu: SignalLike<MenuPattern<V> | undefined>;
|
|
46
|
+
/** The role of the menu item. */
|
|
47
|
+
role: SignalLike<'menuitem' | 'menuitemradio' | 'menuitemcheckbox'>;
|
|
46
48
|
}
|
|
47
49
|
/** The menu ui pattern class. */
|
|
48
50
|
declare class MenuPattern<V> {
|
|
@@ -84,6 +86,8 @@ declare class MenuPattern<V> {
|
|
|
84
86
|
/** Handles keyboard events for the menu. */
|
|
85
87
|
readonly keydownManager: SignalLike<KeyboardEventManager<KeyboardEvent>>;
|
|
86
88
|
constructor(inputs: MenuInputs<V>);
|
|
89
|
+
/** Returns a set of violations */
|
|
90
|
+
validate(): string[];
|
|
87
91
|
/** Sets the default state for the menu. */
|
|
88
92
|
setDefaultState(): void;
|
|
89
93
|
/** Sets the default active state of the menu before receiving interaction for the first time. */
|
|
@@ -187,6 +191,8 @@ declare class MenuTriggerPattern<V> {
|
|
|
187
191
|
readonly expanded: WritableSignalLike<boolean>;
|
|
188
192
|
/** Whether the menu trigger has received interaction. */
|
|
189
193
|
readonly hasBeenInteracted: WritableSignalLike<boolean>;
|
|
194
|
+
/** The pending focus target when the menu is opened before the menu instance is available. */
|
|
195
|
+
readonly pendingFocus: WritableSignalLike<"first" | "last" | undefined>;
|
|
190
196
|
/** The role of the menu trigger. */
|
|
191
197
|
readonly role: () => string;
|
|
192
198
|
/** Whether the menu trigger has a popup. */
|
|
@@ -200,6 +206,8 @@ declare class MenuTriggerPattern<V> {
|
|
|
200
206
|
/** Handles keyboard events for the menu trigger. */
|
|
201
207
|
readonly keydownManager: SignalLike<KeyboardEventManager<KeyboardEvent>>;
|
|
202
208
|
constructor(inputs: MenuTriggerInputs<V>);
|
|
209
|
+
/** Flushes any pending focus when the menu instance becomes available. */
|
|
210
|
+
pendingFocusEffect(): void;
|
|
203
211
|
/** Handles keyboard events for the menu trigger. */
|
|
204
212
|
onKeydown(event: KeyboardEvent): void;
|
|
205
213
|
/** Handles click events for the menu trigger. */
|
|
@@ -246,7 +254,7 @@ declare class MenuItemPattern<V> implements ListItem<V> {
|
|
|
246
254
|
/** The ID of the menu that the menu item controls. */
|
|
247
255
|
readonly controls: WritableSignalLike<string | undefined>;
|
|
248
256
|
/** The role of the menu item. */
|
|
249
|
-
readonly role: () =>
|
|
257
|
+
readonly role: () => "menuitem" | "menuitemradio" | "menuitemcheckbox";
|
|
250
258
|
/** Whether the menu item has a popup. */
|
|
251
259
|
readonly hasPopup: SignalLike<boolean>;
|
|
252
260
|
/** The submenu associated with the menu item. */
|
|
@@ -106,6 +106,8 @@ declare class ToolbarPattern<V> {
|
|
|
106
106
|
private _goto;
|
|
107
107
|
select(): void;
|
|
108
108
|
constructor(inputs: ToolbarInputs<V>);
|
|
109
|
+
/** Returns a set of violations */
|
|
110
|
+
validate(): string[];
|
|
109
111
|
/** Handles keydown events for the toolbar. */
|
|
110
112
|
onKeydown(event: KeyboardEvent): void;
|
|
111
113
|
onPointerdown(event: PointerEvent): void;
|
package/types/accordion.d.ts
CHANGED
|
@@ -27,7 +27,6 @@ import './_list-navigation-chunk.js';
|
|
|
27
27
|
* </div>
|
|
28
28
|
* ```
|
|
29
29
|
*
|
|
30
|
-
* @developerPreview 21.0
|
|
31
30
|
* @see [Accordion](guide/aria/accordion)
|
|
32
31
|
*/
|
|
33
32
|
declare class AccordionPanel {
|
|
@@ -37,6 +36,7 @@ declare class AccordionPanel {
|
|
|
37
36
|
readonly element: HTMLElement;
|
|
38
37
|
/** The DeferredContentAware host directive. */
|
|
39
38
|
private readonly _deferredContentAware;
|
|
39
|
+
private readonly _accordionContent;
|
|
40
40
|
/** A global unique identifier for the panel. */
|
|
41
41
|
readonly id: _angular_core.InputSignal<string>;
|
|
42
42
|
/** Whether the accordion panel is visible. True if the associated trigger is expanded. */
|
|
@@ -55,7 +55,7 @@ declare class AccordionPanel {
|
|
|
55
55
|
/** Toggles the expansion state of this item. */
|
|
56
56
|
toggle(): void;
|
|
57
57
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AccordionPanel, never>;
|
|
58
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AccordionPanel, "[ngAccordionPanel]", ["ngAccordionPanel"], { "id": { "alias": "id"; "required": false; "isSignal": true; }; }, {},
|
|
58
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AccordionPanel, "[ngAccordionPanel]", ["ngAccordionPanel"], { "id": { "alias": "id"; "required": false; "isSignal": true; }; }, {}, ["_accordionContent"], never, true, [{ directive: typeof DeferredContentAware; inputs: { "preserveContent": "preserveContent"; }; outputs: {}; }]>;
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
/**
|
|
@@ -73,7 +73,6 @@ declare class AccordionPanel {
|
|
|
73
73
|
* </button>
|
|
74
74
|
* ```
|
|
75
75
|
*
|
|
76
|
-
* @developerPreview 21.0
|
|
77
76
|
* @see [Accordion](guide/aria/accordion)
|
|
78
77
|
*/
|
|
79
78
|
declare class AccordionTrigger implements OnInit, OnDestroy {
|
|
@@ -97,6 +96,7 @@ declare class AccordionTrigger implements OnInit, OnDestroy {
|
|
|
97
96
|
readonly active: _angular_core.Signal<boolean>;
|
|
98
97
|
/** The UI pattern instance for this trigger. */
|
|
99
98
|
_pattern: AccordionTriggerPattern;
|
|
99
|
+
constructor();
|
|
100
100
|
ngOnInit(): void;
|
|
101
101
|
ngOnDestroy(): void;
|
|
102
102
|
/** Expands this item. */
|
|
@@ -142,7 +142,6 @@ declare class AccordionTrigger implements OnInit, OnDestroy {
|
|
|
142
142
|
* </div>
|
|
143
143
|
* ```
|
|
144
144
|
*
|
|
145
|
-
* @developerPreview 21.0
|
|
146
145
|
* @see [Accordion](guide/aria/accordion)
|
|
147
146
|
*/
|
|
148
147
|
declare class AccordionGroup implements OnDestroy {
|
|
@@ -195,7 +194,6 @@ declare class AccordionGroup implements OnDestroy {
|
|
|
195
194
|
* </div>
|
|
196
195
|
* ```
|
|
197
196
|
*
|
|
198
|
-
* @developerPreview 21.0
|
|
199
197
|
* @see [Accordion](guide/aria/accordion)
|
|
200
198
|
*/
|
|
201
199
|
declare class AccordionContent {
|
package/types/combobox.d.ts
CHANGED
|
@@ -74,21 +74,37 @@ declare class ComboboxPopup implements OnInit, OnDestroy {
|
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
/**
|
|
77
|
-
*
|
|
77
|
+
* A directive that coordinates a combobox trigger element and its associated popup widget.
|
|
78
78
|
*
|
|
79
|
-
* The `ngCombobox` directive is
|
|
80
|
-
*
|
|
79
|
+
* The `ngCombobox` directive is applied directly to the interactive trigger element, which can be
|
|
80
|
+
* either an editable `<input>` (for search/autocomplete behaviors) or a non-editable element like
|
|
81
|
+
* a `<div>` (for custom select dropdowns). It manages focus and expansion states, coordinates autocomplete
|
|
82
|
+
* suggestions (if editable), and forwards navigation keys down into the active popup.
|
|
81
83
|
*
|
|
84
|
+
* ### Example 1: Editable Autocomplete Input
|
|
82
85
|
* ```html
|
|
83
|
-
* <
|
|
84
|
-
* <input ngComboboxInput />
|
|
86
|
+
* <input ngCombobox #combobox="ngCombobox" [(value)]="searchQuery" [(expanded)]="isExpanded" />
|
|
85
87
|
*
|
|
86
|
-
*
|
|
87
|
-
*
|
|
88
|
-
*
|
|
89
|
-
* </div>
|
|
90
|
-
* </
|
|
88
|
+
* <ng-template ngComboboxPopup [combobox]="combobox">
|
|
89
|
+
* <div ngComboboxWidget #listbox="ngListbox" ngListbox [(value)]="selectedValues" [activeDescendant]="listbox.activeDescendant()">
|
|
90
|
+
* <div ngOption value="first">First Option</div>
|
|
91
|
+
* <div ngOption value="second">Second Option</div>
|
|
92
|
+
* </div>
|
|
93
|
+
* </ng-template>
|
|
94
|
+
* ```
|
|
95
|
+
*
|
|
96
|
+
* ### Example 2: Non-Editable Custom Select Dropdown
|
|
97
|
+
* ```html
|
|
98
|
+
* <div ngCombobox #combobox="ngCombobox" [(expanded)]="isExpanded" class="select-trigger">
|
|
99
|
+
* {{selectedValue}}
|
|
91
100
|
* </div>
|
|
101
|
+
*
|
|
102
|
+
* <ng-template ngComboboxPopup [combobox]="combobox">
|
|
103
|
+
* <div ngComboboxWidget #listbox="ngListbox" ngListbox [(value)]="selectedValues" [activeDescendant]="listbox.activeDescendant()">
|
|
104
|
+
* <div ngOption value="first">First Option</div>
|
|
105
|
+
* <div ngOption value="second">Second Option</div>
|
|
106
|
+
* </div>
|
|
107
|
+
* </ng-template>
|
|
92
108
|
* ```
|
|
93
109
|
*/
|
|
94
110
|
declare class Combobox extends DeferredContentAware implements OnInit {
|
package/types/grid.d.ts
CHANGED
|
@@ -17,8 +17,6 @@ import './_click-event-manager-chunk.js';
|
|
|
17
17
|
* </td>
|
|
18
18
|
* ```
|
|
19
19
|
*
|
|
20
|
-
* @developerPreview 21.0
|
|
21
|
-
*
|
|
22
20
|
* @see [Grid](guide/aria/grid)
|
|
23
21
|
*/
|
|
24
22
|
declare class GridCell implements OnInit, OnDestroy {
|
|
@@ -82,8 +80,6 @@ declare class GridCell implements OnInit, OnDestroy {
|
|
|
82
80
|
* </tr>
|
|
83
81
|
* ```
|
|
84
82
|
*
|
|
85
|
-
* @developerPreview 21.0
|
|
86
|
-
*
|
|
87
83
|
* @see [Grid](guide/aria/grid)
|
|
88
84
|
*/
|
|
89
85
|
declare class GridRow implements OnInit, OnDestroy {
|
|
@@ -129,8 +125,6 @@ declare class GridRow implements OnInit, OnDestroy {
|
|
|
129
125
|
* </table>
|
|
130
126
|
* ```
|
|
131
127
|
*
|
|
132
|
-
* @developerPreview 21.0
|
|
133
|
-
*
|
|
134
128
|
* @see [Grid](guide/aria/grid)
|
|
135
129
|
*/
|
|
136
130
|
declare class Grid implements OnDestroy {
|
|
@@ -211,8 +205,6 @@ declare class Grid implements OnDestroy {
|
|
|
211
205
|
* </td>
|
|
212
206
|
* ```
|
|
213
207
|
*
|
|
214
|
-
* @developerPreview 21.0
|
|
215
|
-
*
|
|
216
208
|
* @see [Grid](guide/aria/grid)
|
|
217
209
|
*/
|
|
218
210
|
declare class GridCellWidget {
|