@angular/aria 21.0.5 → 21.0.6
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/LICENSE +1 -1
- package/fesm2022/_combobox-tree-chunk.mjs +274 -107
- package/fesm2022/_combobox-tree-chunk.mjs.map +1 -1
- package/fesm2022/_list-chunk.mjs +2 -168
- package/fesm2022/_list-chunk.mjs.map +1 -1
- package/fesm2022/_list-navigation-chunk.mjs +15 -12
- package/fesm2022/_list-navigation-chunk.mjs.map +1 -1
- package/fesm2022/_list-typeahead-chunk.mjs +170 -0
- package/fesm2022/_list-typeahead-chunk.mjs.map +1 -0
- package/fesm2022/_toolbar-widget-group-chunk.mjs +9 -3
- package/fesm2022/_toolbar-widget-group-chunk.mjs.map +1 -1
- package/fesm2022/accordion.mjs +1 -1
- package/fesm2022/aria.mjs +1 -1
- package/fesm2022/aria.mjs.map +1 -1
- package/fesm2022/listbox.mjs +1 -0
- package/fesm2022/listbox.mjs.map +1 -1
- package/fesm2022/menu.mjs +3 -2
- package/fesm2022/menu.mjs.map +1 -1
- package/fesm2022/private.mjs +1 -0
- package/fesm2022/private.mjs.map +1 -1
- package/fesm2022/toolbar.mjs +1 -0
- package/fesm2022/toolbar.mjs.map +1 -1
- package/fesm2022/tree.mjs +7 -7
- package/fesm2022/tree.mjs.map +1 -1
- package/package.json +2 -2
- package/types/_list-chunk.d.ts +9 -8
- package/types/_list-navigation-chunk.d.ts +23 -19
- package/types/_tree-chunk.d.ts +119 -28
- package/types/accordion.d.ts +1 -1
- package/types/menu.d.ts +1 -1
- package/types/private.d.ts +4 -2
- package/types/tree.d.ts +1 -1
package/fesm2022/menu.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/menu/menu-trigger.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/menu/menu-tokens.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/menu/menu-item.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/menu/menu-bar.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/menu/menu.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/menu/menu-content.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 booleanAttribute,\n computed,\n Directive,\n effect,\n ElementRef,\n inject,\n input,\n} from '@angular/core';\nimport {MenuTriggerPattern} from '../private';\nimport {Directionality} from '@angular/cdk/bidi';\nimport type {Menu} from './menu';\n\n/**\n * A trigger for a menu.\n *\n * The `ngMenuTrigger` directive is used to open and close menus. It can be applied to\n * any interactive element (e.g., a button) to associate it with a `ngMenu` instance.\n * It also supports linking to sub-menus when applied to a `ngMenuItem`.\n *\n * ```html\n * <button ngMenuTrigger [menu]=\"myMenu\">Open Menu</button>\n *\n * <div ngMenu #myMenu=\"ngMenu\">\n * <div ngMenuItem>Item 1</div>\n * <div ngMenuItem>Item 2</div>\n * </div>\n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Menu](guide/aria/menu)\n * @see [MenuBar](guide/aria/menubar)\n */\n@Directive({\n selector: 'button[ngMenuTrigger]',\n exportAs: 'ngMenuTrigger',\n host: {\n '[attr.tabindex]': '_pattern.tabIndex()',\n '[attr.disabled]': '!softDisabled() && _pattern.disabled() ? true : null',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[attr.aria-haspopup]': 'hasPopup()',\n '[attr.aria-expanded]': 'expanded()',\n '[attr.aria-controls]': '_pattern.menu()?.id()',\n '(click)': '_pattern.onClick()',\n '(keydown)': '_pattern.onKeydown($event)',\n '(focusout)': '_pattern.onFocusOut($event)',\n '(focusin)': '_pattern.onFocusIn()',\n },\n})\nexport class MenuTrigger<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 directionality (LTR / RTL) context for the application (or a subtree of it). */\n readonly textDirection = inject(Directionality).valueSignal;\n\n /** The menu associated with the trigger. */\n menu = input<Menu<V> | undefined>(undefined);\n\n /** Whether the menu is expanded. */\n readonly expanded = computed(() => this._pattern.expanded());\n\n /** Whether the menu trigger has a popup. */\n readonly hasPopup = computed(() => this._pattern.hasPopup());\n\n /** Whether the menu trigger is disabled. */\n readonly disabled = input(false, {transform: booleanAttribute});\n\n /** Whether the menu trigger is soft disabled. */\n readonly softDisabled = input(true, {transform: booleanAttribute});\n\n /** The menu trigger ui pattern instance. */\n _pattern: MenuTriggerPattern<V> = new MenuTriggerPattern({\n textDirection: this.textDirection,\n element: computed(() => this._elementRef.nativeElement),\n menu: computed(() => this.menu()?._pattern),\n disabled: () => this.disabled(),\n });\n\n constructor() {\n effect(() => this.menu()?.parent.set(this));\n }\n\n /** Opens the menu focusing on the first menu item. */\n open() {\n this._pattern.open({first: true});\n }\n\n /** Closes the menu. */\n close() {\n this._pattern.close();\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 {Menu} from './menu';\nimport type {MenuBar} from './menu-bar';\n\n/** Token used to expose menus to their child components. */\nexport const MENU_COMPONENT = new InjectionToken<Menu<any> | MenuBar<any>>('MENU_COMPONENT');\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 {computed, Directive, effect, ElementRef, inject, input, model} from '@angular/core';\nimport {MenuItemPattern} from '../private';\nimport {_IdGenerator} from '@angular/cdk/a11y';\nimport {MENU_COMPONENT} from './menu-tokens';\nimport type {Menu} from './menu';\nimport type {MenuBar} from './menu-bar';\n\n/**\n * An item in a Menu.\n *\n * `ngMenuItem` directives can be used in `ngMenu` and `ngMenuBar` to represent a choice\n * or action a user can take. They can also act as triggers for sub-menus.\n *\n * ```html\n * <div ngMenuItem (onSelect)=\"doAction()\">Action Item</div>\n *\n * <div ngMenuItem [submenu]=\"anotherMenu\">Submenu Trigger</div>\n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Menu](guide/aria/menu)\n * @see [MenuBar](guide/aria/menubar)\n */\n@Directive({\n selector: '[ngMenuItem]',\n exportAs: 'ngMenuItem',\n host: {\n 'role': 'menuitem',\n '(focusin)': '_pattern.onFocusIn()',\n '[attr.tabindex]': '_pattern.tabIndex()',\n '[attr.data-active]': 'active()',\n '[attr.aria-haspopup]': 'hasPopup()',\n '[attr.aria-expanded]': 'expanded()',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[attr.aria-controls]': '_pattern.submenu()?.id()',\n },\n})\nexport class MenuItem<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 unique ID of the menu item. */\n readonly id = input(inject(_IdGenerator).getId('ng-menu-item-', true));\n\n /** The value of the menu item. */\n readonly value = input.required<V>();\n\n /** Whether the menu item is disabled. */\n readonly disabled = input<boolean>(false);\n\n // TODO(wagnermaciel): Discuss whether all inputs should be models.\n\n /** The search term associated with the menu item. */\n readonly searchTerm = model<string>('');\n\n /** A reference to the parent menu or menubar. */\n readonly parent = inject<Menu<V> | MenuBar<V>>(MENU_COMPONENT, {optional: true});\n\n /** The submenu associated with the menu item. */\n readonly submenu = input<Menu<V> | undefined>(undefined);\n\n /** Whether the menu item is active. */\n readonly active = computed(() => this._pattern.active());\n\n /** Whether the menu is expanded. */\n readonly expanded = computed(() => this._pattern.expanded());\n\n /** Whether the menu item has a popup. */\n readonly hasPopup = computed(() => this._pattern.hasPopup());\n\n /** The menu item ui pattern instance. */\n readonly _pattern: MenuItemPattern<V> = new MenuItemPattern<V>({\n id: this.id,\n value: this.value,\n element: computed(() => this._elementRef.nativeElement),\n disabled: this.disabled,\n searchTerm: this.searchTerm,\n parent: computed(() => this.parent?._pattern),\n submenu: computed(() => this.submenu()?._pattern),\n });\n\n constructor() {\n effect(() => this.submenu()?.parent.set(this));\n }\n\n /** Opens the submenu focusing on the first menu item. */\n open() {\n this._pattern.open({first: true});\n }\n\n /** Closes the submenu. */\n close() {\n this._pattern.close();\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 afterRenderEffect,\n booleanAttribute,\n computed,\n contentChildren,\n Directive,\n ElementRef,\n inject,\n input,\n model,\n output,\n signal,\n} from '@angular/core';\nimport {SignalLike, MenuBarPattern} from '../private';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {MenuItem} from './menu-item';\nimport {MENU_COMPONENT} from './menu-tokens';\n\n/**\n * A menu bar of menu items.\n *\n * Like the `ngMenu`, a `ngMenuBar` is used to offer a list of menu item choices to users.\n * However, a menubar is used to display a persistent, top-level, always-visible set of\n * menu item choices, typically found at the top of an application window.\n *\n * ```html\n * <div ngMenuBar>\n * <button ngMenuTrigger [menu]=\"fileMenu\">File</button>\n * <button ngMenuTrigger [menu]=\"editMenu\">Edit</button>\n * </div>\n *\n * <div ngMenu #fileMenu=\"ngMenu\">\n * <div ngMenuItem>New</div>\n * <div ngMenuItem>Open</div>\n * </div>\n *\n * <div ngMenu #editMenu=\"ngMenu\">\n * <div ngMenuItem>Cut</div>\n * <div ngMenuItem>Copy</div>\n * </div>\n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Menu](guide/aria/menu)\n * @see [MenuBar](guide/aria/menubar)\n */\n@Directive({\n selector: '[ngMenuBar]',\n exportAs: 'ngMenuBar',\n host: {\n 'role': 'menubar',\n '[attr.disabled]': '!softDisabled() && _pattern.disabled() ? true : null',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[attr.tabindex]': '_pattern.tabIndex()',\n '(keydown)': '_pattern.onKeydown($event)',\n '(mouseover)': '_pattern.onMouseOver($event)',\n '(click)': '_pattern.onClick($event)',\n '(focusin)': '_pattern.onFocusIn()',\n '(focusout)': '_pattern.onFocusOut($event)',\n },\n providers: [{provide: MENU_COMPONENT, useExisting: MenuBar}],\n})\nexport class MenuBar<V> {\n /** The menu items contained in the menubar. */\n readonly _allItems = contentChildren<MenuItem<V>>(MenuItem, {descendants: true});\n\n readonly _items: SignalLike<MenuItem<V>[]> = () =>\n this._allItems().filter(i => i.parent === this);\n\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 /** Whether the menubar is disabled. */\n readonly disabled = input(false, {transform: booleanAttribute});\n\n /** Whether the menubar is soft disabled. */\n readonly softDisabled = input(true, {transform: booleanAttribute});\n\n /** The directionality (LTR / RTL) context for the application (or a subtree of it). */\n readonly textDirection = inject(Directionality).valueSignal;\n\n /** The values of the currently selected menu items. */\n readonly values = model<V[]>([]);\n\n /** Whether the menu should wrap its items. */\n readonly wrap = input(true, {transform: booleanAttribute});\n\n /** The delay in milliseconds before the typeahead buffer is cleared. */\n readonly typeaheadDelay = input<number>(500);\n\n /** The menu ui pattern instance. */\n readonly _pattern: MenuBarPattern<V>;\n\n /** The menu items as a writable signal. */\n private readonly _itemPatterns = signal<any[]>([]);\n\n /** A callback function triggered when a menu item is selected. */\n onSelect = output<V>();\n\n constructor() {\n this._pattern = new MenuBarPattern({\n ...this,\n items: this._itemPatterns,\n multi: () => false,\n softDisabled: () => true,\n focusMode: () => 'roving',\n orientation: () => 'horizontal',\n selectionMode: () => 'explicit',\n onSelect: (value: V) => this.onSelect.emit(value),\n activeItem: signal(undefined),\n element: computed(() => this._elementRef.nativeElement),\n });\n\n afterRenderEffect(() => {\n this._itemPatterns.set(this._items().map(i => i._pattern));\n });\n\n afterRenderEffect(() => {\n if (!this._pattern.hasBeenFocused()) {\n this._pattern.setDefaultState();\n }\n });\n }\n\n /** Closes the menubar. */\n close() {\n this._pattern.close();\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 afterRenderEffect,\n booleanAttribute,\n computed,\n contentChildren,\n Directive,\n ElementRef,\n inject,\n input,\n output,\n Signal,\n signal,\n untracked,\n} from '@angular/core';\nimport {MenuPattern, DeferredContentAware} from '../private';\nimport {_IdGenerator} from '@angular/cdk/a11y';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {MenuTrigger} from './menu-trigger';\nimport {MenuItem} from './menu-item';\nimport {MenuBar} from './menu-bar';\nimport {MENU_COMPONENT} from './menu-tokens';\n\n/**\n * A list of menu items.\n *\n * A `ngMenu` is used to offer a list of menu item choices to users. Menus can be nested\n * within other menus to create sub-menus. It works in conjunction with `ngMenuTrigger`\n * and `ngMenuItem` directives.\n *\n * ```html\n * <button ngMenuTrigger [menu]=\"myMenu\">Options</button>\n *\n * <div ngMenu #myMenu=\"ngMenu\">\n * <div ngMenuItem>Star</div>\n * <div ngMenuItem>Edit</div>\n * <div ngMenuItem [submenu]=\"subMenu\">More</div>\n * </div>\n *\n * <div ngMenu #subMenu=\"ngMenu\">\n * <div ngMenuItem>Sub Item 1</div>\n * <div ngMenuItem>Sub Item 2</div>\n * </div>\n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Menu](guide/aria/menu)\n * @see [MenuBar](guide/aria/menubar)\n */\n@Directive({\n selector: '[ngMenu]',\n exportAs: 'ngMenu',\n host: {\n 'role': 'menu',\n '[attr.id]': '_pattern.id()',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[attr.tabindex]': 'tabIndex()',\n '[attr.data-visible]': 'visible()',\n '(keydown)': '_pattern.onKeydown($event)',\n '(mouseover)': '_pattern.onMouseOver($event)',\n '(mouseout)': '_pattern.onMouseOut($event)',\n '(focusout)': '_pattern.onFocusOut($event)',\n '(focusin)': '_pattern.onFocusIn()',\n '(click)': '_pattern.onClick($event)',\n },\n hostDirectives: [\n {\n directive: DeferredContentAware,\n inputs: ['preserveContent'],\n },\n ],\n providers: [{provide: MENU_COMPONENT, useExisting: Menu}],\n})\nexport class Menu<V> {\n /** The DeferredContentAware host directive. */\n private readonly _deferredContentAware = inject(DeferredContentAware, {optional: true});\n\n /** The menu items contained in the menu. */\n readonly _allItems = contentChildren<MenuItem<V>>(MenuItem, {descendants: true});\n\n /** The menu items that are direct children of this menu. */\n readonly _items: Signal<MenuItem<V>[]> = computed(() =>\n this._allItems().filter(i => i.parent === this),\n );\n\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 directionality (LTR / RTL) context for the application (or a subtree of it). */\n readonly textDirection = inject(Directionality).valueSignal;\n\n /** The unique ID of the menu. */\n readonly id = input(inject(_IdGenerator).getId('ng-menu-', true));\n\n /** Whether the menu should wrap its items. */\n readonly wrap = input(true, {transform: booleanAttribute});\n\n /** The delay in milliseconds before the typeahead buffer is cleared. */\n readonly typeaheadDelay = input<number>(500); // Picked arbitrarily.\n\n /** Whether the menu is disabled. */\n readonly disabled = input(false, {transform: booleanAttribute});\n\n /** A reference to the parent menu item or menu trigger. */\n readonly parent = signal<MenuTrigger<V> | MenuItem<V> | undefined>(undefined);\n\n /** The menu ui pattern instance. */\n readonly _pattern: MenuPattern<V>;\n\n /**\n * The menu items as a writable signal.\n *\n * TODO(wagnermaciel): This would normally be a computed, but using a computed causes a bug where\n * sometimes the items array is empty. The bug can be reproduced by switching this to use a\n * computed and then quickly opening and closing menus in the dev app.\n */\n private readonly _itemPatterns = () => this._items().map(i => i._pattern);\n\n /** Whether the menu is visible. */\n readonly visible = computed(() => this._pattern.visible());\n\n /** The tab index of the menu. */\n readonly tabIndex = computed(() => this._pattern.tabIndex());\n\n /** A callback function triggered when a menu item is selected. */\n onSelect = output<V>();\n\n /** The delay in milliseconds before expanding sub-menus on hover. */\n readonly expansionDelay = input<number>(100); // Arbitrarily chosen.\n\n constructor() {\n this._pattern = new MenuPattern({\n ...this,\n parent: computed(() => this.parent()?._pattern),\n items: this._itemPatterns,\n multi: () => false,\n softDisabled: () => true,\n focusMode: () => 'roving',\n orientation: () => 'vertical',\n selectionMode: () => 'explicit',\n activeItem: signal(undefined),\n element: computed(() => this._elementRef.nativeElement),\n onSelect: (value: V) => this.onSelect.emit(value),\n });\n\n afterRenderEffect(() => {\n const parent = this.parent();\n if (parent instanceof MenuItem && parent.parent instanceof MenuBar) {\n this._deferredContentAware?.contentVisible.set(true);\n } else {\n this._deferredContentAware?.contentVisible.set(\n this._pattern.visible() || !!this.parent()?._pattern.hasBeenFocused(),\n );\n }\n });\n\n // TODO(wagnermaciel): This is a redundancy needed for if the user uses display: none to hide\n // submenus. In those cases, the ui pattern is calling focus() before the ui has a chance to\n // update the display property. The result is focus() being called on an element that is not\n // focusable. This simply retries focusing the element after render.\n afterRenderEffect(() => {\n if (this._pattern.visible()) {\n const activeItem = untracked(() => this._pattern.inputs.activeItem());\n this._pattern.listBehavior.goto(activeItem!);\n }\n });\n\n afterRenderEffect(() => {\n if (\n !this._pattern.hasBeenFocused() &&\n !this._pattern.hasBeenHovered() &&\n this._items().length\n ) {\n untracked(() => this._pattern.setDefaultState());\n }\n });\n }\n\n /** Closes the menu. */\n close() {\n this._pattern.close();\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 {Directive} from '@angular/core';\nimport {DeferredContent} from '../private';\n\n/**\n * Defers the rendering of the menu content.\n *\n * This structural directive should be applied to an `ng-template` within a `ngMenu`\n * or `ngMenuBar` to lazily render its content only when the menu is opened.\n *\n * ```html\n * <div ngMenu #myMenu=\"ngMenu\">\n * <ng-template ngMenuContent>\n * <div ngMenuItem>Lazy Item 1</div>\n * <div ngMenuItem>Lazy Item 2</div>\n * </ng-template>\n * </div>\n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Menu](guide/aria/menu)\n * @see [MenuBar](guide/aria/menubar)\n */\n@Directive({\n selector: 'ng-template[ngMenuContent]',\n exportAs: 'ngMenuContent',\n hostDirectives: [DeferredContent],\n})\nexport class MenuContent {}\n"],"names":["MenuTrigger","_elementRef","inject","ElementRef","element","nativeElement","textDirection","Directionality","valueSignal","menu","input","undefined","expanded","computed","_pattern","hasPopup","disabled","transform","booleanAttribute","softDisabled","MenuTriggerPattern","constructor","effect","parent","set","open","first","close","deps","target","i0","ɵɵFactoryTarget","Directive","isStandalone","selector","inputs","classPropertyName","publicName","isSignal","isRequired","transformFunction","host","listeners","properties","exportAs","ngImport","decorators","args","MENU_COMPONENT","InjectionToken","MenuItem","id","_IdGenerator","getId","value","required","searchTerm","model","optional","submenu","active","MenuItemPattern","outputs","attributes","MenuBar","_allItems","contentChildren","descendants","_items","filter","i","values","wrap","typeaheadDelay","_itemPatterns","signal","onSelect","output","MenuBarPattern","items","multi","focusMode","orientation","selectionMode","emit","activeItem","afterRenderEffect","map","hasBeenFocused","setDefaultState","ɵdir","ɵɵngDeclareDirective","minVersion","version","type","providers","provide","useExisting","ctorParameters","propDecorators","ContentChildren","forwardRef","Input","alias","Output","Menu","_deferredContentAware","DeferredContentAware","ngDevMode","debugName","visible","tabIndex","expansionDelay","MenuPattern","contentVisible","untracked","listBehavior","goto","hasBeenHovered","length","hostDirectives","directive","i1","MenuContent","DeferredContent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"menu.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/menu/menu-trigger.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/menu/menu-tokens.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/menu/menu-item.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/menu/menu-bar.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/menu/menu.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/menu/menu-content.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 booleanAttribute,\n computed,\n Directive,\n effect,\n ElementRef,\n inject,\n input,\n} from '@angular/core';\nimport {MenuTriggerPattern} from '../private';\nimport {Directionality} from '@angular/cdk/bidi';\nimport type {Menu} from './menu';\n\n/**\n * A trigger for a menu.\n *\n * The `ngMenuTrigger` directive is used to open and close menus. It can be applied to\n * any interactive element (e.g., a button) to associate it with a `ngMenu` instance.\n * It also supports linking to sub-menus when applied to a `ngMenuItem`.\n *\n * ```html\n * <button ngMenuTrigger [menu]=\"myMenu\">Open Menu</button>\n *\n * <div ngMenu #myMenu=\"ngMenu\">\n * <div ngMenuItem>Item 1</div>\n * <div ngMenuItem>Item 2</div>\n * </div>\n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Menu](guide/aria/menu)\n * @see [MenuBar](guide/aria/menubar)\n */\n@Directive({\n selector: '[ngMenuTrigger]',\n exportAs: 'ngMenuTrigger',\n host: {\n '[attr.tabindex]': '_pattern.tabIndex()',\n '[attr.disabled]': '!softDisabled() && _pattern.disabled() ? true : null',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[attr.aria-haspopup]': 'hasPopup()',\n '[attr.aria-expanded]': 'expanded()',\n '[attr.aria-controls]': '_pattern.menu()?.id()',\n '(click)': '_pattern.onClick()',\n '(keydown)': '_pattern.onKeydown($event)',\n '(focusout)': '_pattern.onFocusOut($event)',\n '(focusin)': '_pattern.onFocusIn()',\n },\n})\nexport class MenuTrigger<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 directionality (LTR / RTL) context for the application (or a subtree of it). */\n readonly textDirection = inject(Directionality).valueSignal;\n\n /** The menu associated with the trigger. */\n menu = input<Menu<V> | undefined>(undefined);\n\n /** Whether the menu is expanded. */\n readonly expanded = computed(() => this._pattern.expanded());\n\n /** Whether the menu trigger has a popup. */\n readonly hasPopup = computed(() => this._pattern.hasPopup());\n\n /** Whether the menu trigger is disabled. */\n readonly disabled = input(false, {transform: booleanAttribute});\n\n /** Whether the menu trigger is soft disabled. */\n readonly softDisabled = input(true, {transform: booleanAttribute});\n\n /** The menu trigger ui pattern instance. */\n _pattern: MenuTriggerPattern<V> = new MenuTriggerPattern({\n textDirection: this.textDirection,\n element: computed(() => this._elementRef.nativeElement),\n menu: computed(() => this.menu()?._pattern),\n disabled: () => this.disabled(),\n });\n\n constructor() {\n effect(() => this.menu()?.parent.set(this));\n }\n\n /** Opens the menu focusing on the first menu item. */\n open() {\n this._pattern.open({first: true});\n }\n\n /** Closes the menu. */\n close() {\n this._pattern.close();\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 {Menu} from './menu';\nimport type {MenuBar} from './menu-bar';\n\n/** Token used to expose menus to their child components. */\nexport const MENU_COMPONENT = new InjectionToken<Menu<any> | MenuBar<any>>('MENU_COMPONENT');\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 {computed, Directive, effect, ElementRef, inject, input, model} from '@angular/core';\nimport {MenuItemPattern} from '../private';\nimport {_IdGenerator} from '@angular/cdk/a11y';\nimport {MENU_COMPONENT} from './menu-tokens';\nimport type {Menu} from './menu';\nimport type {MenuBar} from './menu-bar';\n\n/**\n * An item in a Menu.\n *\n * `ngMenuItem` directives can be used in `ngMenu` and `ngMenuBar` to represent a choice\n * or action a user can take. They can also act as triggers for sub-menus.\n *\n * ```html\n * <div ngMenuItem (onSelect)=\"doAction()\">Action Item</div>\n *\n * <div ngMenuItem [submenu]=\"anotherMenu\">Submenu Trigger</div>\n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Menu](guide/aria/menu)\n * @see [MenuBar](guide/aria/menubar)\n */\n@Directive({\n selector: '[ngMenuItem]',\n exportAs: 'ngMenuItem',\n host: {\n 'role': 'menuitem',\n '(focusin)': '_pattern.onFocusIn()',\n '[attr.tabindex]': '_pattern.tabIndex()',\n '[attr.data-active]': 'active()',\n '[attr.aria-haspopup]': 'hasPopup()',\n '[attr.aria-expanded]': 'expanded()',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[attr.aria-controls]': '_pattern.submenu()?.id()',\n },\n})\nexport class MenuItem<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 unique ID of the menu item. */\n readonly id = input(inject(_IdGenerator).getId('ng-menu-item-', true));\n\n /** The value of the menu item. */\n readonly value = input.required<V>();\n\n /** Whether the menu item is disabled. */\n readonly disabled = input<boolean>(false);\n\n // TODO(wagnermaciel): Discuss whether all inputs should be models.\n\n /** The search term associated with the menu item. */\n readonly searchTerm = model<string>('');\n\n /** A reference to the parent menu or menubar. */\n readonly parent = inject<Menu<V> | MenuBar<V>>(MENU_COMPONENT, {optional: true});\n\n /** The submenu associated with the menu item. */\n readonly submenu = input<Menu<V> | undefined>(undefined);\n\n /** Whether the menu item is active. */\n readonly active = computed(() => this._pattern.active());\n\n /** Whether the menu is expanded. */\n readonly expanded = computed(() => this._pattern.expanded());\n\n /** Whether the menu item has a popup. */\n readonly hasPopup = computed(() => this._pattern.hasPopup());\n\n /** The menu item ui pattern instance. */\n readonly _pattern: MenuItemPattern<V> = new MenuItemPattern<V>({\n id: this.id,\n value: this.value,\n element: computed(() => this._elementRef.nativeElement),\n disabled: this.disabled,\n searchTerm: this.searchTerm,\n parent: computed(() => this.parent?._pattern),\n submenu: computed(() => this.submenu()?._pattern),\n });\n\n constructor() {\n effect(() => this.submenu()?.parent.set(this));\n }\n\n /** Opens the submenu focusing on the first menu item. */\n open() {\n this._pattern.open({first: true});\n }\n\n /** Closes the submenu. */\n close() {\n this._pattern.close();\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 afterRenderEffect,\n booleanAttribute,\n computed,\n contentChildren,\n Directive,\n ElementRef,\n inject,\n input,\n model,\n output,\n signal,\n} from '@angular/core';\nimport {SignalLike, MenuBarPattern} from '../private';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {MenuItem} from './menu-item';\nimport {MENU_COMPONENT} from './menu-tokens';\n\n/**\n * A menu bar of menu items.\n *\n * Like the `ngMenu`, a `ngMenuBar` is used to offer a list of menu item choices to users.\n * However, a menubar is used to display a persistent, top-level, always-visible set of\n * menu item choices, typically found at the top of an application window.\n *\n * ```html\n * <div ngMenuBar>\n * <button ngMenuTrigger [menu]=\"fileMenu\">File</button>\n * <button ngMenuTrigger [menu]=\"editMenu\">Edit</button>\n * </div>\n *\n * <div ngMenu #fileMenu=\"ngMenu\">\n * <div ngMenuItem>New</div>\n * <div ngMenuItem>Open</div>\n * </div>\n *\n * <div ngMenu #editMenu=\"ngMenu\">\n * <div ngMenuItem>Cut</div>\n * <div ngMenuItem>Copy</div>\n * </div>\n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Menu](guide/aria/menu)\n * @see [MenuBar](guide/aria/menubar)\n */\n@Directive({\n selector: '[ngMenuBar]',\n exportAs: 'ngMenuBar',\n host: {\n 'role': 'menubar',\n '[attr.disabled]': '!softDisabled() && _pattern.disabled() ? true : null',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[attr.tabindex]': '_pattern.tabIndex()',\n '(keydown)': '_pattern.onKeydown($event)',\n '(mouseover)': '_pattern.onMouseOver($event)',\n '(click)': '_pattern.onClick($event)',\n '(focusin)': '_pattern.onFocusIn()',\n '(focusout)': '_pattern.onFocusOut($event)',\n },\n providers: [{provide: MENU_COMPONENT, useExisting: MenuBar}],\n})\nexport class MenuBar<V> {\n /** The menu items contained in the menubar. */\n readonly _allItems = contentChildren<MenuItem<V>>(MenuItem, {descendants: true});\n\n readonly _items: SignalLike<MenuItem<V>[]> = () =>\n this._allItems().filter(i => i.parent === this);\n\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 /** Whether the menubar is disabled. */\n readonly disabled = input(false, {transform: booleanAttribute});\n\n /** Whether the menubar is soft disabled. */\n readonly softDisabled = input(true, {transform: booleanAttribute});\n\n /** The directionality (LTR / RTL) context for the application (or a subtree of it). */\n readonly textDirection = inject(Directionality).valueSignal;\n\n /** The values of the currently selected menu items. */\n readonly values = model<V[]>([]);\n\n /** Whether the menu should wrap its items. */\n readonly wrap = input(true, {transform: booleanAttribute});\n\n /** The delay in milliseconds before the typeahead buffer is cleared. */\n readonly typeaheadDelay = input<number>(500);\n\n /** The menu ui pattern instance. */\n readonly _pattern: MenuBarPattern<V>;\n\n /** The menu items as a writable signal. */\n private readonly _itemPatterns = signal<any[]>([]);\n\n /** A callback function triggered when a menu item is selected. */\n onSelect = output<V>();\n\n constructor() {\n this._pattern = new MenuBarPattern({\n ...this,\n items: this._itemPatterns,\n multi: () => false,\n softDisabled: () => true,\n focusMode: () => 'roving',\n orientation: () => 'horizontal',\n selectionMode: () => 'explicit',\n onSelect: (value: V) => this.onSelect.emit(value),\n activeItem: signal(undefined),\n element: computed(() => this._elementRef.nativeElement),\n });\n\n afterRenderEffect(() => {\n this._itemPatterns.set(this._items().map(i => i._pattern));\n });\n\n afterRenderEffect(() => {\n if (!this._pattern.hasBeenFocused()) {\n this._pattern.setDefaultState();\n }\n });\n }\n\n /** Closes the menubar. */\n close() {\n this._pattern.close();\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 afterRenderEffect,\n booleanAttribute,\n computed,\n contentChildren,\n Directive,\n ElementRef,\n inject,\n input,\n output,\n Signal,\n signal,\n untracked,\n} from '@angular/core';\nimport {MenuPattern, DeferredContentAware} from '../private';\nimport {_IdGenerator} from '@angular/cdk/a11y';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {MenuTrigger} from './menu-trigger';\nimport {MenuItem} from './menu-item';\nimport {MenuBar} from './menu-bar';\nimport {MENU_COMPONENT} from './menu-tokens';\n\n/**\n * A list of menu items.\n *\n * A `ngMenu` is used to offer a list of menu item choices to users. Menus can be nested\n * within other menus to create sub-menus. It works in conjunction with `ngMenuTrigger`\n * and `ngMenuItem` directives.\n *\n * ```html\n * <button ngMenuTrigger [menu]=\"myMenu\">Options</button>\n *\n * <div ngMenu #myMenu=\"ngMenu\">\n * <div ngMenuItem>Star</div>\n * <div ngMenuItem>Edit</div>\n * <div ngMenuItem [submenu]=\"subMenu\">More</div>\n * </div>\n *\n * <div ngMenu #subMenu=\"ngMenu\">\n * <div ngMenuItem>Sub Item 1</div>\n * <div ngMenuItem>Sub Item 2</div>\n * </div>\n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Menu](guide/aria/menu)\n * @see [MenuBar](guide/aria/menubar)\n */\n@Directive({\n selector: '[ngMenu]',\n exportAs: 'ngMenu',\n host: {\n 'role': 'menu',\n '[attr.id]': '_pattern.id()',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[attr.tabindex]': 'tabIndex()',\n '[attr.data-visible]': 'visible()',\n '(keydown)': '_pattern.onKeydown($event)',\n '(mouseover)': '_pattern.onMouseOver($event)',\n '(mouseout)': '_pattern.onMouseOut($event)',\n '(focusout)': '_pattern.onFocusOut($event)',\n '(focusin)': '_pattern.onFocusIn()',\n '(click)': '_pattern.onClick($event)',\n },\n hostDirectives: [\n {\n directive: DeferredContentAware,\n inputs: ['preserveContent'],\n },\n ],\n providers: [{provide: MENU_COMPONENT, useExisting: Menu}],\n})\nexport class Menu<V> {\n /** The DeferredContentAware host directive. */\n private readonly _deferredContentAware = inject(DeferredContentAware, {optional: true});\n\n /** The menu items contained in the menu. */\n readonly _allItems = contentChildren<MenuItem<V>>(MenuItem, {descendants: true});\n\n /** The menu items that are direct children of this menu. */\n readonly _items: Signal<MenuItem<V>[]> = computed(() =>\n this._allItems().filter(i => i.parent === this),\n );\n\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 directionality (LTR / RTL) context for the application (or a subtree of it). */\n readonly textDirection = inject(Directionality).valueSignal;\n\n /** The unique ID of the menu. */\n readonly id = input(inject(_IdGenerator).getId('ng-menu-', true));\n\n /** Whether the menu should wrap its items. */\n readonly wrap = input(true, {transform: booleanAttribute});\n\n /** The delay in milliseconds before the typeahead buffer is cleared. */\n readonly typeaheadDelay = input<number>(500); // Picked arbitrarily.\n\n /** Whether the menu is disabled. */\n readonly disabled = input(false, {transform: booleanAttribute});\n\n /** A reference to the parent menu item or menu trigger. */\n readonly parent = signal<MenuTrigger<V> | MenuItem<V> | undefined>(undefined);\n\n /** The menu ui pattern instance. */\n readonly _pattern: MenuPattern<V>;\n\n /**\n * The menu items as a writable signal.\n *\n * TODO(wagnermaciel): This would normally be a computed, but using a computed causes a bug where\n * sometimes the items array is empty. The bug can be reproduced by switching this to use a\n * computed and then quickly opening and closing menus in the dev app.\n */\n private readonly _itemPatterns = () => this._items().map(i => i._pattern);\n\n /** Whether the menu is visible. */\n readonly visible = computed(() => this._pattern.visible());\n\n /** The tab index of the menu. */\n readonly tabIndex = computed(() => this._pattern.tabIndex());\n\n /** A callback function triggered when a menu item is selected. */\n onSelect = output<V>();\n\n /** The delay in milliseconds before expanding sub-menus on hover. */\n readonly expansionDelay = input<number>(100); // Arbitrarily chosen.\n\n constructor() {\n this._pattern = new MenuPattern({\n ...this,\n parent: computed(() => this.parent()?._pattern),\n items: this._itemPatterns,\n multi: () => false,\n softDisabled: () => true,\n focusMode: () => 'roving',\n orientation: () => 'vertical',\n selectionMode: () => 'explicit',\n activeItem: signal(undefined),\n element: computed(() => this._elementRef.nativeElement),\n onSelect: (value: V) => this.onSelect.emit(value),\n });\n\n afterRenderEffect(() => {\n const parent = this.parent();\n if (parent instanceof MenuItem && parent.parent instanceof MenuBar) {\n this._deferredContentAware?.contentVisible.set(true);\n } else {\n this._deferredContentAware?.contentVisible.set(\n this._pattern.visible() || !!this.parent()?._pattern.hasBeenFocused(),\n );\n }\n });\n\n // TODO(wagnermaciel): This is a redundancy needed for if the user uses display: none to hide\n // submenus. In those cases, the ui pattern is calling focus() before the ui has a chance to\n // update the display property. The result is focus() being called on an element that is not\n // focusable. This simply retries focusing the element after render.\n afterRenderEffect(() => {\n if (this._pattern.visible()) {\n const activeItem = untracked(() => this._pattern.inputs.activeItem());\n this._pattern.listBehavior.goto(activeItem!);\n }\n });\n\n afterRenderEffect(() => {\n if (\n !this._pattern.hasBeenFocused() &&\n !this._pattern.hasBeenHovered() &&\n this._items().length\n ) {\n untracked(() => this._pattern.setDefaultState());\n }\n });\n }\n\n /** Closes the menu. */\n close() {\n this._pattern.close();\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 {Directive} from '@angular/core';\nimport {DeferredContent} from '../private';\n\n/**\n * Defers the rendering of the menu content.\n *\n * This structural directive should be applied to an `ng-template` within a `ngMenu`\n * or `ngMenuBar` to lazily render its content only when the menu is opened.\n *\n * ```html\n * <div ngMenu #myMenu=\"ngMenu\">\n * <ng-template ngMenuContent>\n * <div ngMenuItem>Lazy Item 1</div>\n * <div ngMenuItem>Lazy Item 2</div>\n * </ng-template>\n * </div>\n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Menu](guide/aria/menu)\n * @see [MenuBar](guide/aria/menubar)\n */\n@Directive({\n selector: 'ng-template[ngMenuContent]',\n exportAs: 'ngMenuContent',\n hostDirectives: [DeferredContent],\n})\nexport class MenuContent {}\n"],"names":["MenuTrigger","_elementRef","inject","ElementRef","element","nativeElement","textDirection","Directionality","valueSignal","menu","input","undefined","expanded","computed","_pattern","hasPopup","disabled","transform","booleanAttribute","softDisabled","MenuTriggerPattern","constructor","effect","parent","set","open","first","close","deps","target","i0","ɵɵFactoryTarget","Directive","isStandalone","selector","inputs","classPropertyName","publicName","isSignal","isRequired","transformFunction","host","listeners","properties","exportAs","ngImport","decorators","args","MENU_COMPONENT","InjectionToken","MenuItem","id","_IdGenerator","getId","value","required","searchTerm","model","optional","submenu","active","MenuItemPattern","outputs","attributes","MenuBar","_allItems","contentChildren","descendants","_items","filter","i","values","wrap","typeaheadDelay","_itemPatterns","signal","onSelect","output","MenuBarPattern","items","multi","focusMode","orientation","selectionMode","emit","activeItem","afterRenderEffect","map","hasBeenFocused","setDefaultState","ɵdir","ɵɵngDeclareDirective","minVersion","version","type","providers","provide","useExisting","ctorParameters","propDecorators","ContentChildren","forwardRef","Input","alias","Output","Menu","_deferredContentAware","DeferredContentAware","ngDevMode","debugName","visible","tabIndex","expansionDelay","MenuPattern","contentVisible","untracked","listBehavior","goto","hasBeenHovered","length","hostDirectives","directive","i1","MenuContent","DeferredContent"],"mappings":"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"}
|
package/fesm2022/private.mjs
CHANGED
|
@@ -12,6 +12,7 @@ export { DeferredContent, DeferredContentAware } from './_deferred-content-chunk
|
|
|
12
12
|
import './_pointer-event-manager-chunk.mjs';
|
|
13
13
|
import './_list-chunk.mjs';
|
|
14
14
|
import './_list-navigation-chunk.mjs';
|
|
15
|
+
import './_list-typeahead-chunk.mjs';
|
|
15
16
|
import './_expansion-chunk.mjs';
|
|
16
17
|
import '@angular/core';
|
|
17
18
|
//# sourceMappingURL=private.mjs.map
|
package/fesm2022/private.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"private.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"private.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
|
package/fesm2022/toolbar.mjs
CHANGED
|
@@ -7,6 +7,7 @@ import './_signal-like-chunk.mjs';
|
|
|
7
7
|
import '@angular/core/primitives/signals';
|
|
8
8
|
import './_list-chunk.mjs';
|
|
9
9
|
import './_list-navigation-chunk.mjs';
|
|
10
|
+
import './_list-typeahead-chunk.mjs';
|
|
10
11
|
|
|
11
12
|
const TOOLBAR_WIDGET_GROUP = new InjectionToken('TOOLBAR_WIDGET_GROUP');
|
|
12
13
|
function sortDirectives(a, b) {
|
package/fesm2022/toolbar.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolbar.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/toolbar/utils.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/toolbar/toolbar.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 {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\ninterface HasElement {\n element: HTMLElement;\n}\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 afterRenderEffect,\n Directive,\n ElementRef,\n inject,\n computed,\n input,\n booleanAttribute,\n signal,\n model,\n} from '@angular/core';\nimport {ToolbarPattern} from '../private';\nimport {Directionality} from '@angular/cdk/bidi';\nimport type {ToolbarWidget} from './toolbar-widget';\nimport {sortDirectives} from './utils';\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)': '_onFocus()',\n },\n})\nexport class Toolbar<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 TabList nested inside of the container. */\n private readonly _widgets = signal(new Set<ToolbarWidget<V>>());\n\n /** Text direction. */\n readonly textDirection = inject(Directionality).valueSignal;\n\n /** Sorted UIPatterns of the child widgets */\n readonly _itemPatterns = computed(() =>\n [...this._widgets()].sort(sortDirectives).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 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 values = 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 values: this.values,\n });\n\n /** Whether the toolbar has received focus yet. */\n private _hasBeenFocused = signal(false);\n\n constructor() {\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._hasBeenFocused()) {\n this._pattern.setDefaultState();\n }\n });\n }\n\n _onFocus() {\n this._hasBeenFocused.set(true);\n }\n\n _register(widget: ToolbarWidget<V>) {\n const widgets = this._widgets();\n if (!widgets.has(widget)) {\n widgets.add(widget);\n this._widgets.set(new Set(widgets));\n }\n }\n\n _unregister(widget: ToolbarWidget<V>) {\n const widgets = this._widgets();\n if (widgets.delete(widget)) {\n this._widgets.set(new Set(widgets));\n }\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 {\n Directive,\n ElementRef,\n inject,\n computed,\n input,\n booleanAttribute,\n OnInit,\n OnDestroy,\n} from '@angular/core';\nimport {ToolbarWidgetPattern, ToolbarWidgetGroupPattern, SignalLike} from '../private';\nimport {_IdGenerator} from '@angular/cdk/a11y';\nimport {Toolbar} from './toolbar';\nimport {TOOLBAR_WIDGET_GROUP} from './utils';\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 '[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(() => 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._register(this);\n }\n\n ngOnDestroy() {\n this._toolbar._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 './utils';\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_WIDGET_GROUP","InjectionToken","sortDirectives","a","b","element","compareDocumentPosition","Node","DOCUMENT_POSITION_PRECEDING","Toolbar","_elementRef","inject","ElementRef","nativeElement","_widgets","signal","Set","textDirection","Directionality","valueSignal","_itemPatterns","computed","sort","map","widget","_pattern","orientation","input","softDisabled","transform","booleanAttribute","disabled","wrap","values","model","ToolbarPattern","items","activeItem","undefined","getItem","e","_getItem","_hasBeenFocused","constructor","afterRenderEffect","ngDevMode","violations","validate","violation","console","error","setDefaultState","_onFocus","set","_register","widgets","has","add","_unregister","delete","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","ToolbarWidget","_toolbar","id","_IdGenerator","getId","_toolbarPattern","debugName","hardDisabled","_group","optional","value","required","active","selected","_groupPattern","ToolbarWidgetPattern","group","toolbar","ngOnInit","ngOnDestroy","ToolbarWidgetGroup","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/utils.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/toolbar/toolbar.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 {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\ninterface HasElement {\n element: HTMLElement;\n}\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 afterRenderEffect,\n Directive,\n ElementRef,\n inject,\n computed,\n input,\n booleanAttribute,\n signal,\n model,\n} from '@angular/core';\nimport {ToolbarPattern} from '../private';\nimport {Directionality} from '@angular/cdk/bidi';\nimport type {ToolbarWidget} from './toolbar-widget';\nimport {sortDirectives} from './utils';\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)': '_onFocus()',\n },\n})\nexport class Toolbar<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 TabList nested inside of the container. */\n private readonly _widgets = signal(new Set<ToolbarWidget<V>>());\n\n /** Text direction. */\n readonly textDirection = inject(Directionality).valueSignal;\n\n /** Sorted UIPatterns of the child widgets */\n readonly _itemPatterns = computed(() =>\n [...this._widgets()].sort(sortDirectives).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 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 values = 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 values: this.values,\n });\n\n /** Whether the toolbar has received focus yet. */\n private _hasBeenFocused = signal(false);\n\n constructor() {\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._hasBeenFocused()) {\n this._pattern.setDefaultState();\n }\n });\n }\n\n _onFocus() {\n this._hasBeenFocused.set(true);\n }\n\n _register(widget: ToolbarWidget<V>) {\n const widgets = this._widgets();\n if (!widgets.has(widget)) {\n widgets.add(widget);\n this._widgets.set(new Set(widgets));\n }\n }\n\n _unregister(widget: ToolbarWidget<V>) {\n const widgets = this._widgets();\n if (widgets.delete(widget)) {\n this._widgets.set(new Set(widgets));\n }\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 {\n Directive,\n ElementRef,\n inject,\n computed,\n input,\n booleanAttribute,\n OnInit,\n OnDestroy,\n} from '@angular/core';\nimport {ToolbarWidgetPattern, ToolbarWidgetGroupPattern, SignalLike} from '../private';\nimport {_IdGenerator} from '@angular/cdk/a11y';\nimport {Toolbar} from './toolbar';\nimport {TOOLBAR_WIDGET_GROUP} from './utils';\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 '[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(() => 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._register(this);\n }\n\n ngOnDestroy() {\n this._toolbar._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 './utils';\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_WIDGET_GROUP","InjectionToken","sortDirectives","a","b","element","compareDocumentPosition","Node","DOCUMENT_POSITION_PRECEDING","Toolbar","_elementRef","inject","ElementRef","nativeElement","_widgets","signal","Set","textDirection","Directionality","valueSignal","_itemPatterns","computed","sort","map","widget","_pattern","orientation","input","softDisabled","transform","booleanAttribute","disabled","wrap","values","model","ToolbarPattern","items","activeItem","undefined","getItem","e","_getItem","_hasBeenFocused","constructor","afterRenderEffect","ngDevMode","violations","validate","violation","console","error","setDefaultState","_onFocus","set","_register","widgets","has","add","_unregister","delete","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","ToolbarWidget","_toolbar","id","_IdGenerator","getId","_toolbarPattern","debugName","hardDisabled","_group","optional","value","required","active","selected","_groupPattern","ToolbarWidgetPattern","group","toolbar","ngOnInit","ngOnDestroy","ToolbarWidgetGroup","contentChildren","descendants","w","multi","ToolbarWidgetGroupPattern","ɵdir","ɵɵngDeclareDirective","minVersion","version","type","providers","provide","useExisting","propDecorators","ContentChildren","forwardRef","Input","alias"],"mappings":"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"}
|
package/fesm2022/tree.mjs
CHANGED
|
@@ -10,9 +10,9 @@ import './_combobox-chunk.mjs';
|
|
|
10
10
|
import './_signal-like-chunk.mjs';
|
|
11
11
|
import '@angular/core/primitives/signals';
|
|
12
12
|
import './_pointer-event-manager-chunk.mjs';
|
|
13
|
-
import './_list-chunk.mjs';
|
|
14
|
-
import './_list-navigation-chunk.mjs';
|
|
15
13
|
import './_expansion-chunk.mjs';
|
|
14
|
+
import './_list-navigation-chunk.mjs';
|
|
15
|
+
import './_list-typeahead-chunk.mjs';
|
|
16
16
|
|
|
17
17
|
function sortDirectives(a, b) {
|
|
18
18
|
return (a.element.compareDocumentPosition(b.element) & Node.DOCUMENT_POSITION_PRECEDING) > 0 ? 1 : -1;
|
|
@@ -87,7 +87,7 @@ class Tree {
|
|
|
87
87
|
const inputs = {
|
|
88
88
|
...this,
|
|
89
89
|
id: this.id,
|
|
90
|
-
|
|
90
|
+
items: computed(() => [...this._unorderedItems()].sort(sortDirectives).map(item => item._pattern)),
|
|
91
91
|
activeItem: signal(undefined),
|
|
92
92
|
combobox: () => this._popup?.combobox?._pattern,
|
|
93
93
|
element: () => this.element
|
|
@@ -102,15 +102,15 @@ class Tree {
|
|
|
102
102
|
}
|
|
103
103
|
});
|
|
104
104
|
afterRenderEffect(() => {
|
|
105
|
-
const items = inputs.
|
|
105
|
+
const items = inputs.items();
|
|
106
106
|
const activeItem = untracked(() => inputs.activeItem());
|
|
107
107
|
if (!items.some(i => i === activeItem) && activeItem) {
|
|
108
|
-
this._pattern.
|
|
108
|
+
this._pattern.treeBehavior.unfocus();
|
|
109
109
|
}
|
|
110
110
|
});
|
|
111
111
|
afterRenderEffect(() => {
|
|
112
112
|
if (!(this._pattern instanceof ComboboxTreePattern)) return;
|
|
113
|
-
const items = inputs.
|
|
113
|
+
const items = inputs.items();
|
|
114
114
|
const values = untracked(() => this.values());
|
|
115
115
|
if (items && values.some(v => !items.some(i => i.value() === v))) {
|
|
116
116
|
this.values.set(values.filter(v => items.some(i => i.value() === v)));
|
|
@@ -476,7 +476,7 @@ class TreeItem extends DeferredContentAware {
|
|
|
476
476
|
...this,
|
|
477
477
|
tree: treePattern,
|
|
478
478
|
parent: parentPattern,
|
|
479
|
-
children: computed(() => this._group()?._childPatterns()
|
|
479
|
+
children: computed(() => this._group()?._childPatterns()),
|
|
480
480
|
hasChildren: computed(() => !!this._group()),
|
|
481
481
|
element: () => this.element,
|
|
482
482
|
searchTerm: () => this.searchTerm() ?? ''
|
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 allItems: 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 (!this._hasFocused()) {\n this._pattern.setDefaultState();\n }\n });\n\n afterRenderEffect(() => {\n const items = inputs.allItems();\n const activeItem = untracked(() => inputs.activeItem());\n\n if (!items.some(i => i === activeItem) && activeItem) {\n this._pattern.listBehavior.unfocus();\n }\n });\n\n afterRenderEffect(() => {\n if (!(this._pattern instanceof ComboboxTreePattern)) return;\n\n const items = inputs.allItems();\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","allItems","computed","sort","map","item","activeItem","undefined","combobox","ComboboxTreePattern","TreePattern","_controls","set","afterRenderEffect","setDefaultState","items","untracked","some","i","listBehavior","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","ngDevMode","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)': '_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 (!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","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","ngDevMode","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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@angular/aria",
|
|
3
|
-
"version": "21.0.
|
|
3
|
+
"version": "21.0.6",
|
|
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": "21.0.
|
|
15
|
+
"@angular/cdk": "21.0.6",
|
|
16
16
|
"@angular/core": "^21.0.0 || ^22.0.0"
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|