@angular/aria 22.0.0-next.7 → 22.0.0-next.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/_accordion-chunk.mjs +1 -1
- package/fesm2022/_click-event-manager-chunk.mjs +1 -1
- package/fesm2022/{_signal-like-chunk.mjs → _collection-chunk.mjs} +51 -2
- package/fesm2022/_collection-chunk.mjs.map +1 -0
- package/fesm2022/_deferred-content-chunk.mjs +6 -6
- package/fesm2022/_list-chunk.mjs +4 -1
- package/fesm2022/_list-chunk.mjs.map +1 -1
- package/fesm2022/_list-navigation-chunk.mjs +1 -1
- package/fesm2022/_list-typeahead-chunk.mjs +1 -1
- package/fesm2022/_menu-chunk.mjs +1 -1
- package/fesm2022/{_combobox-listbox-chunk.mjs → _option-chunk.mjs} +3 -50
- package/fesm2022/_option-chunk.mjs.map +1 -0
- package/fesm2022/_tabs-chunk.mjs +1 -1
- package/fesm2022/_toolbar-widget-group-chunk.mjs +1 -1
- package/fesm2022/_transforms-chunk.mjs +8 -0
- package/fesm2022/_transforms-chunk.mjs.map +1 -0
- package/fesm2022/{_combobox-tree-chunk.mjs → _tree-chunk.mjs} +3 -48
- package/fesm2022/_tree-chunk.mjs.map +1 -0
- package/fesm2022/_widget-chunk.mjs +36 -15
- package/fesm2022/_widget-chunk.mjs.map +1 -1
- package/fesm2022/accordion.mjs +28 -55
- package/fesm2022/accordion.mjs.map +1 -1
- package/fesm2022/aria.mjs +1 -1
- package/fesm2022/aria.mjs.map +1 -1
- package/fesm2022/combobox-testing.mjs +79 -0
- package/fesm2022/combobox-testing.mjs.map +1 -0
- package/fesm2022/combobox.mjs +273 -307
- package/fesm2022/combobox.mjs.map +1 -1
- package/fesm2022/grid-testing.mjs +8 -0
- package/fesm2022/grid-testing.mjs.map +1 -1
- package/fesm2022/grid.mjs +68 -87
- package/fesm2022/grid.mjs.map +1 -1
- package/fesm2022/listbox-testing.mjs +4 -0
- package/fesm2022/listbox-testing.mjs.map +1 -1
- package/fesm2022/listbox.mjs +184 -205
- package/fesm2022/listbox.mjs.map +1 -1
- package/fesm2022/menu-testing.mjs +11 -0
- package/fesm2022/menu-testing.mjs.map +1 -1
- package/fesm2022/menu.mjs +42 -66
- package/fesm2022/menu.mjs.map +1 -1
- package/fesm2022/private.mjs +19 -13
- package/fesm2022/private.mjs.map +1 -1
- package/fesm2022/tabs.mjs +78 -84
- package/fesm2022/tabs.mjs.map +1 -1
- package/fesm2022/toolbar-testing.mjs +5 -1
- package/fesm2022/toolbar-testing.mjs.map +1 -1
- package/fesm2022/toolbar.mjs +21 -31
- package/fesm2022/toolbar.mjs.map +1 -1
- package/fesm2022/tree-testing.mjs +12 -0
- package/fesm2022/tree-testing.mjs.map +1 -1
- package/fesm2022/tree.mjs +118 -146
- package/fesm2022/tree.mjs.map +1 -1
- package/package.json +6 -6
- package/types/_accordion-chunk.d.ts +2 -2
- package/types/_collection-chunk.d.ts +42 -0
- package/types/_expansion-chunk.d.ts +1 -1
- package/types/_grid-chunk.d.ts +9 -3
- package/types/_keyboard-event-manager-chunk.d.ts +1 -1
- package/types/_list-chunk.d.ts +1 -1
- package/types/_list-navigation-chunk.d.ts +1 -1
- package/types/_listbox-chunk.d.ts +1 -1
- package/types/_menu-chunk.d.ts +1 -1
- package/types/_tabs-chunk.d.ts +1 -1
- package/types/_toolbar-chunk.d.ts +1 -1
- package/types/_tree-chunk.d.ts +1 -1
- package/types/accordion.d.ts +7 -13
- package/types/combobox-testing.d.ts +63 -0
- package/types/combobox.d.ts +96 -193
- package/types/grid-testing.d.ts +4 -0
- package/types/grid.d.ts +101 -97
- package/types/listbox-testing.d.ts +25 -0
- package/types/listbox.d.ts +55 -60
- package/types/menu-testing.d.ts +6 -0
- package/types/menu.d.ts +17 -13
- package/types/private.d.ts +24 -138
- package/types/tabs.d.ts +69 -72
- package/types/toolbar-testing.d.ts +4 -0
- package/types/toolbar.d.ts +5 -6
- package/types/tree-testing.d.ts +8 -0
- package/types/tree.d.ts +7 -14
- package/fesm2022/_combobox-chunk.mjs +0 -478
- package/fesm2022/_combobox-chunk.mjs.map +0 -1
- package/fesm2022/_combobox-listbox-chunk.mjs.map +0 -1
- package/fesm2022/_combobox-tree-chunk.mjs.map +0 -1
- package/fesm2022/_element-chunk.mjs +0 -6
- package/fesm2022/_element-chunk.mjs.map +0 -1
- package/fesm2022/_signal-like-chunk.mjs.map +0 -1
- package/fesm2022/simple-combobox.mjs +0 -443
- package/fesm2022/simple-combobox.mjs.map +0 -1
- package/types/_combobox-chunk.d.ts +0 -224
- package/types/_element-chunk.d.ts +0 -10
- package/types/_signal-like-chunk.d.ts +0 -14
- package/types/simple-combobox.d.ts +0 -124
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ListExpansion } from './_expansion-chunk.mjs';
|
|
2
2
|
import { ListFocus, ListNavigation } from './_list-navigation-chunk.mjs';
|
|
3
|
-
import { computed, KeyboardEventManager } from './
|
|
3
|
+
import { computed, KeyboardEventManager } from './_collection-chunk.mjs';
|
|
4
4
|
import { ClickEventManager } from './_click-event-manager-chunk.mjs';
|
|
5
5
|
|
|
6
6
|
const focusMode = () => 'roving';
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { createComputed, SIGNAL, createLinkedSignal, linkedSignalUpdateFn, linkedSignalSetFn, createSignal } from '@angular/core/primitives/signals';
|
|
2
|
+
import { signal as signal$1, computed as computed$1 } from '@angular/core';
|
|
2
3
|
|
|
3
4
|
var Modifier;
|
|
4
5
|
(function (Modifier) {
|
|
@@ -117,5 +118,53 @@ function linkedSignal(sourceFn) {
|
|
|
117
118
|
});
|
|
118
119
|
}
|
|
119
120
|
|
|
120
|
-
|
|
121
|
-
|
|
121
|
+
function sortDirectives(a, b) {
|
|
122
|
+
return (a.element.compareDocumentPosition(b.element) & Node.DOCUMENT_POSITION_PRECEDING) > 0 ? 1 : -1;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
class SortedCollection {
|
|
126
|
+
_items = signal$1(new Set());
|
|
127
|
+
_version = signal$1(0);
|
|
128
|
+
_observer;
|
|
129
|
+
orderedItems = computed$1(() => {
|
|
130
|
+
this._version();
|
|
131
|
+
const itemsArray = Array.from(this._items());
|
|
132
|
+
return itemsArray.sort(sortDirectives);
|
|
133
|
+
});
|
|
134
|
+
register(item) {
|
|
135
|
+
this._items.update(set => {
|
|
136
|
+
const newSet = new Set(set);
|
|
137
|
+
newSet.add(item);
|
|
138
|
+
return newSet;
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
unregister(item) {
|
|
142
|
+
this._items.update(set => {
|
|
143
|
+
const newSet = new Set(set);
|
|
144
|
+
newSet.delete(item);
|
|
145
|
+
return newSet;
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
startObserving(element) {
|
|
149
|
+
if (this._observer) {
|
|
150
|
+
this._observer.disconnect();
|
|
151
|
+
}
|
|
152
|
+
this._observer = new MutationObserver(mutations => {
|
|
153
|
+
const hasStructuralChange = mutations.some(m => m.addedNodes.length || m.removedNodes.length);
|
|
154
|
+
if (hasStructuralChange) {
|
|
155
|
+
this._version.update(v => v + 1);
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
this._observer.observe(element, {
|
|
159
|
+
childList: true,
|
|
160
|
+
subtree: true
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
stopObserving() {
|
|
164
|
+
this._observer?.disconnect();
|
|
165
|
+
this._observer = undefined;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
export { EventManager, KeyboardEventManager, Modifier, SortedCollection, computed, convertGetterSetterToWritableSignalLike, hasModifiers, linkedSignal, signal, sortDirectives };
|
|
170
|
+
//# sourceMappingURL=_collection-chunk.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_collection-chunk.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/private/behaviors/event-manager/event-manager.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/private/behaviors/event-manager/keyboard-event-manager.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/private/behaviors/signal-like/signal-like.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/private/utils/element.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/private/utils/collection.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\n/**\n * An event that supports modifier keys.\n *\n * Matches the native KeyboardEvent, MouseEvent, and TouchEvent.\n */\nexport interface EventWithModifiers extends Event {\n ctrlKey: boolean;\n shiftKey: boolean;\n altKey: boolean;\n metaKey: boolean;\n}\n\n/**\n * Options that are applicable to all event handlers.\n *\n * This library has not yet had a need for stopPropagationImmediate.\n */\nexport interface EventHandlerOptions {\n ignoreRepeat?: boolean;\n stopPropagation: boolean;\n preventDefault: boolean;\n}\n\n/** A basic event handler. */\nexport type EventHandler<T extends Event> = (event: T) => void;\n\n/** A function that determines whether an event is to be handled. */\nexport type EventMatcher<T extends Event> = (event: T) => boolean;\n\n/** A config that specifies how to handle a particular event. */\nexport interface EventHandlerConfig<T extends Event> extends EventHandlerOptions {\n matcher: EventMatcher<T>;\n handler: EventHandler<T>;\n}\n\n/** Bit flag representation of the possible modifier keys that can be present on an event. */\nexport enum Modifier {\n None = 0,\n Ctrl = 0b1,\n Shift = 0b10,\n Alt = 0b100,\n Meta = 0b1000,\n Any = 'Any',\n}\n\nexport type ModifierInputs = Modifier | Modifier[];\n\n/**\n * Abstract base class for all event managers.\n *\n * Event managers are designed to normalize how event handlers are authored and create a safety net\n * for common event handling gotchas like remembering to call preventDefault or stopPropagation.\n */\nexport abstract class EventManager<T extends Event> {\n protected configs: EventHandlerConfig<T>[] = [];\n abstract options: EventHandlerOptions;\n\n /** Runs the handlers that match with the given event. */\n handle(event: T): void {\n for (const config of this.configs) {\n if (config.matcher(event)) {\n config.handler(event);\n\n if (config.preventDefault) {\n event.preventDefault();\n }\n\n if (config.stopPropagation) {\n event.stopPropagation();\n }\n }\n }\n }\n\n /** Configures the event manager to handle specific events. (See subclasses for more). */\n abstract on(...args: [...unknown[]]): this;\n}\n\n/** Gets bit flag representation of the modifier keys present on the given event. */\nexport function getModifiers(event: EventWithModifiers): number {\n return (\n (+event.ctrlKey && Modifier.Ctrl) |\n (+event.shiftKey && Modifier.Shift) |\n (+event.altKey && Modifier.Alt) |\n (+event.metaKey && Modifier.Meta)\n );\n}\n\n/**\n * Checks if the given event has modifiers that are an exact match for any of the given modifier\n * flag combinations.\n */\nexport function hasModifiers(event: EventWithModifiers, modifiers: ModifierInputs): boolean {\n const eventModifiers = getModifiers(event);\n const modifiersList = Array.isArray(modifiers) ? modifiers : [modifiers];\n\n if (modifiersList.includes(Modifier.Any)) {\n return true;\n }\n\n return modifiersList.some(modifiers => eventModifiers === modifiers);\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 {SignalLike} from '../signal-like/signal-like';\nimport {\n EventHandler,\n EventHandlerOptions,\n EventManager,\n hasModifiers,\n ModifierInputs,\n Modifier,\n} from './event-manager';\n\n/**\n * Used to represent a keycode.\n *\n * This is used to match whether an events keycode should be handled. The ability to match using a\n * string, SignalLike, or Regexp gives us more flexibility when authoring event handlers.\n */\ntype KeyCode = string | SignalLike<string> | RegExp;\n\n/**\n * An event manager that is specialized for handling keyboard events. By default this manager stops\n * propagation and prevents default on all events it handles.\n */\nexport class KeyboardEventManager<T extends KeyboardEvent> extends EventManager<T> {\n readonly options: EventHandlerOptions = {\n ignoreRepeat: true,\n preventDefault: true,\n stopPropagation: true,\n };\n\n /** Configures this event manager to handle events with a specific key and no modifiers. */\n on(key: KeyCode, handler: EventHandler<T>, options?: Partial<EventHandlerOptions>): this;\n\n /** Configures this event manager to handle events with a specific modifer and key combination. */\n on(\n modifiers: ModifierInputs,\n key: KeyCode,\n handler: EventHandler<T>,\n options?: Partial<EventHandlerOptions>,\n ): this;\n\n on(...args: any[]) {\n const {modifiers, key, handler, options} = this._normalizeInputs(...args);\n\n this.configs.push({\n handler: handler,\n matcher: event => this._isMatch(event, key, modifiers, options),\n ...this.options,\n ...options,\n });\n\n return this;\n }\n\n private _normalizeInputs(...args: any[]) {\n const withModifiers = Array.isArray(args[0]) || args[0] in Modifier;\n const modifiers = withModifiers ? args[0] : Modifier.None;\n const key = withModifiers ? args[1] : args[0];\n const handler = withModifiers ? args[2] : args[1];\n const options = withModifiers ? args[3] : args[2];\n\n return {\n key: key as KeyCode,\n handler: handler as EventHandler<T>,\n modifiers: modifiers as ModifierInputs,\n options: (options ?? {}) as Partial<EventHandlerOptions>,\n };\n }\n\n private _isMatch(\n event: T,\n key: KeyCode,\n modifiers: ModifierInputs,\n options?: Partial<EventHandlerOptions>,\n ): boolean {\n if (!hasModifiers(event, modifiers)) {\n return false;\n }\n\n // Default is to ignore repeated key events unless explicitly set to false.\n if (event.repeat && options?.ignoreRepeat !== false) {\n return false;\n }\n\n if (key instanceof RegExp) {\n return key.test(event.key);\n }\n\n const keyStr = typeof key === 'string' ? key : key();\n return keyStr.toLowerCase() === event.key.toLowerCase();\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 createComputed,\n createLinkedSignal,\n createSignal,\n linkedSignalSetFn,\n linkedSignalUpdateFn,\n SIGNAL,\n untracked as primitiveUntracked,\n} from '@angular/core/primitives/signals';\n\nexport {primitiveUntracked as untracked};\n\nexport type SignalLike<T> = () => T;\n\nexport interface WritableSignalLike<T> extends SignalLike<T> {\n set(value: T): void;\n update(updateFn: (value: T) => T): void;\n asReadonly(): SignalLike<T>;\n}\n\n/** Converts a getter setter style signal to a WritableSignalLike. */\nexport function convertGetterSetterToWritableSignalLike<T>(\n getter: () => T,\n setter: (v: T) => void,\n): WritableSignalLike<T> {\n // tslint:disable-next-line:ban Have to use `Object.assign` to preserve the getter function.\n return Object.assign(getter, {\n set: setter,\n update: (updateCallback: (v: T) => T) => setter(updateCallback(getter())),\n asReadonly: () => getter,\n });\n}\n\nexport function computed<T>(computation: () => T): SignalLike<T> {\n const computed = createComputed(computation);\n computed[SIGNAL].debugName = '';\n return computed;\n}\n\nexport function signal<T>(initialValue: T): WritableSignalLike<T> {\n const [get, set, update] = createSignal(initialValue);\n get[SIGNAL].debugName = '';\n // tslint:disable-next-line:ban Have to use `Object.assign` to preserve the getter function.\n return Object.assign(get, {set, update, asReadonly: () => get});\n}\n\nexport function linkedSignal<T>(sourceFn: () => T): WritableSignalLike<T> {\n const getter = createLinkedSignal(sourceFn, s => s);\n getter[SIGNAL].debugName = '';\n // tslint:disable-next-line:ban Have to use `Object.assign` to preserve the getter function.\n return Object.assign(getter, {\n set: (v: T) => linkedSignalSetFn(getter[SIGNAL], v),\n update: (updater: (v: T) => T) => linkedSignalUpdateFn(getter[SIGNAL], updater),\n asReadonly: () => getter,\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\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 {signal, computed, Signal} from '@angular/core';\nimport {sortDirectives, HasElement} from './element';\n\n/**\n * A collection that lazily sorts its items based on their DOM position.\n * It uses manual registration and updates its order when items are added/removed\n * or when structural DOM changes are detected via MutationObserver.\n *\n * TODO(ok7sai): replace Mutation Observer with internal API.\n */\nexport class SortedCollection<T extends HasElement> {\n private readonly _items = signal<Set<T>>(new Set());\n private readonly _version = signal(0);\n private _observer?: MutationObserver;\n\n readonly orderedItems: Signal<T[]> = computed(() => {\n this._version(); // Track DOM changes\n const itemsArray = Array.from(this._items());\n return itemsArray.sort(sortDirectives);\n });\n\n register(item: T) {\n this._items.update(set => {\n const newSet = new Set(set);\n newSet.add(item);\n return newSet;\n });\n }\n\n unregister(item: T) {\n this._items.update(set => {\n const newSet = new Set(set);\n newSet.delete(item);\n return newSet;\n });\n }\n\n startObserving(element: HTMLElement) {\n if (this._observer) {\n this._observer.disconnect();\n }\n\n this._observer = new MutationObserver(mutations => {\n const hasStructuralChange = mutations.some(m => m.addedNodes.length || m.removedNodes.length);\n if (hasStructuralChange) {\n this._version.update(v => v + 1);\n }\n });\n\n this._observer.observe(element, {childList: true, subtree: true});\n }\n\n stopObserving() {\n this._observer?.disconnect();\n this._observer = undefined;\n }\n}\n"],"names":["Modifier","EventManager","configs","handle","event","config","matcher","handler","preventDefault","stopPropagation","getModifiers","ctrlKey","Ctrl","shiftKey","Shift","altKey","Alt","metaKey","Meta","hasModifiers","modifiers","eventModifiers","modifiersList","Array","isArray","includes","Any","some","KeyboardEventManager","options","ignoreRepeat","on","args","key","_normalizeInputs","push","_isMatch","withModifiers","None","repeat","RegExp","test","keyStr","toLowerCase","convertGetterSetterToWritableSignalLike","getter","setter","Object","assign","set","update","updateCallback","asReadonly","computed","computation","createComputed","SIGNAL","debugName","signal","initialValue","get","createSignal","linkedSignal","sourceFn","createLinkedSignal","s","v","linkedSignalSetFn","updater","linkedSignalUpdateFn","sortDirectives","a","b","element","compareDocumentPosition","Node","DOCUMENT_POSITION_PRECEDING","SortedCollection","_items","Set","_version","_observer","orderedItems","itemsArray","from","sort","register","item","newSet","add","unregister","delete","startObserving","disconnect","MutationObserver","mutations","hasStructuralChange","m","addedNodes","length","removedNodes","observe","childList","subtree","stopObserving","undefined"],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ class DeferredContentAware {
|
|
|
10
10
|
}] : []));
|
|
11
11
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
12
12
|
minVersion: "12.0.0",
|
|
13
|
-
version: "22.0.0-next.
|
|
13
|
+
version: "22.0.0-next.10",
|
|
14
14
|
ngImport: i0,
|
|
15
15
|
type: DeferredContentAware,
|
|
16
16
|
deps: [],
|
|
@@ -18,7 +18,7 @@ class DeferredContentAware {
|
|
|
18
18
|
});
|
|
19
19
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
20
20
|
minVersion: "17.1.0",
|
|
21
|
-
version: "22.0.0-next.
|
|
21
|
+
version: "22.0.0-next.10",
|
|
22
22
|
type: DeferredContentAware,
|
|
23
23
|
isStandalone: true,
|
|
24
24
|
inputs: {
|
|
@@ -38,7 +38,7 @@ class DeferredContentAware {
|
|
|
38
38
|
}
|
|
39
39
|
i0.ɵɵngDeclareClassMetadata({
|
|
40
40
|
minVersion: "12.0.0",
|
|
41
|
-
version: "22.0.0-next.
|
|
41
|
+
version: "22.0.0-next.10",
|
|
42
42
|
ngImport: i0,
|
|
43
43
|
type: DeferredContentAware,
|
|
44
44
|
decorators: [{
|
|
@@ -97,7 +97,7 @@ class DeferredContent {
|
|
|
97
97
|
}
|
|
98
98
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
99
99
|
minVersion: "12.0.0",
|
|
100
|
-
version: "22.0.0-next.
|
|
100
|
+
version: "22.0.0-next.10",
|
|
101
101
|
ngImport: i0,
|
|
102
102
|
type: DeferredContent,
|
|
103
103
|
deps: [],
|
|
@@ -105,7 +105,7 @@ class DeferredContent {
|
|
|
105
105
|
});
|
|
106
106
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
107
107
|
minVersion: "14.0.0",
|
|
108
|
-
version: "22.0.0-next.
|
|
108
|
+
version: "22.0.0-next.10",
|
|
109
109
|
type: DeferredContent,
|
|
110
110
|
isStandalone: true,
|
|
111
111
|
ngImport: i0
|
|
@@ -113,7 +113,7 @@ class DeferredContent {
|
|
|
113
113
|
}
|
|
114
114
|
i0.ɵɵngDeclareClassMetadata({
|
|
115
115
|
minVersion: "12.0.0",
|
|
116
|
-
version: "22.0.0-next.
|
|
116
|
+
version: "22.0.0-next.10",
|
|
117
117
|
ngImport: i0,
|
|
118
118
|
type: DeferredContent,
|
|
119
119
|
decorators: [{
|
package/fesm2022/_list-chunk.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { computed, signal } from './
|
|
1
|
+
import { computed, signal } from './_collection-chunk.mjs';
|
|
2
2
|
import { ListFocus, ListNavigation } from './_list-navigation-chunk.mjs';
|
|
3
3
|
import { ListSelection, ListTypeahead } from './_list-typeahead-chunk.mjs';
|
|
4
4
|
|
|
@@ -112,6 +112,9 @@ class List {
|
|
|
112
112
|
const moved = operation();
|
|
113
113
|
if (moved) {
|
|
114
114
|
this.updateSelection(opts);
|
|
115
|
+
if (!opts?.selectRange) {
|
|
116
|
+
this.anchor(this.activeIndex());
|
|
117
|
+
}
|
|
115
118
|
}
|
|
116
119
|
this._wrap.set(true);
|
|
117
120
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_list-chunk.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/private/behaviors/list/list.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 {computed, signal} from '../signal-like/signal-like';\nimport {ListFocus, ListFocusInputs, ListFocusItem} from '../list-focus/list-focus';\nimport {\n ListNavigation,\n ListNavigationInputs,\n ListNavigationItem,\n} from '../list-navigation/list-navigation';\nimport {\n ListSelection,\n ListSelectionInputs,\n ListSelectionItem,\n} from '../list-selection/list-selection';\nimport {\n ListTypeahead,\n ListTypeaheadInputs,\n ListTypeaheadItem,\n} from '../list-typeahead/list-typeahead';\n\n/** The operations that the list can perform after navigation. */\nexport interface NavOptions<T = any> {\n toggle?: boolean;\n select?: boolean;\n selectOne?: boolean;\n selectRange?: boolean;\n anchor?: boolean;\n focusElement?: boolean;\n items?: T[];\n}\n\n/** Represents an item in the list. */\nexport type ListItem<V> = ListTypeaheadItem &\n ListNavigationItem &\n ListSelectionItem<V> &\n ListFocusItem;\n\n/** The necessary inputs for the list behavior. */\nexport type ListInputs<T extends ListItem<V>, V> = ListFocusInputs<T> &\n ListNavigationInputs<T> &\n ListSelectionInputs<T, V> &\n ListTypeaheadInputs<T>;\n\n/** Controls the state of a list. */\nexport class List<T extends ListItem<V>, V> {\n /** Controls navigation for the list. */\n readonly navigationBehavior: ListNavigation<T>;\n\n /** Controls selection for the list. */\n readonly selectionBehavior: ListSelection<T, V>;\n\n /** Controls typeahead for the list. */\n readonly typeaheadBehavior: ListTypeahead<T>;\n\n /** Controls focus for the list. */\n readonly focusBehavior: ListFocus<T>;\n\n /** Whether the list is disabled. */\n readonly disabled = computed(() => this.focusBehavior.isListDisabled());\n\n /** The id of the current active item. */\n readonly activeDescendant = computed(() => this.focusBehavior.getActiveDescendant());\n\n /** The tab index of the list. */\n readonly tabIndex = computed(() => this.focusBehavior.getListTabIndex());\n\n /** The index of the currently active item in the list. */\n readonly activeIndex = computed(() => this.focusBehavior.activeIndex());\n\n /**\n * The uncommitted index for selecting a range of options.\n *\n * NOTE: This is subtly distinct from the \"rangeStartIndex\" in the ListSelection behavior.\n * The anchorIndex does not necessarily represent the start of a range, but represents the most\n * recent index where the user showed intent to begin a range selection. Usually, this is wherever\n * the user most recently pressed the \"Shift\" key, but if the user presses shift + space to select\n * from the anchor, the user is not intending to start a new range from this index.\n *\n * In other words, \"rangeStartIndex\" is only set when a user commits to starting a range selection\n * while \"anchorIndex\" is set whenever a user indicates they may be starting a range selection.\n */\n private readonly _anchorIndex = signal(0);\n\n /** Whether the list should wrap. Used to disable wrapping while range selecting. */\n private readonly _wrap = signal(true);\n\n constructor(readonly inputs: ListInputs<T, V>) {\n this.focusBehavior = new ListFocus(inputs);\n this.selectionBehavior = new ListSelection({...inputs, focusManager: this.focusBehavior});\n this.typeaheadBehavior = new ListTypeahead({...inputs, focusManager: this.focusBehavior});\n this.navigationBehavior = new ListNavigation({\n ...inputs,\n focusManager: this.focusBehavior,\n wrap: computed(() => this._wrap() && this.inputs.wrap()),\n });\n }\n\n /** Returns the tab index for the given item. */\n getItemTabindex(item: T) {\n return this.focusBehavior.getItemTabIndex(item);\n }\n\n /** Navigates to the first option in the list. */\n first(opts?: NavOptions<T>) {\n this._navigate(opts, () => this.navigationBehavior.first(opts));\n }\n\n /** Navigates to the last option in the list. */\n last(opts?: NavOptions<T>) {\n this._navigate(opts, () => this.navigationBehavior.last(opts));\n }\n\n /** Navigates to the next option in the list. */\n next(opts?: NavOptions<T>) {\n this._navigate(opts, () => this.navigationBehavior.next(opts));\n }\n\n /** Navigates to the previous option in the list. */\n prev(opts?: NavOptions<T>) {\n this._navigate(opts, () => this.navigationBehavior.prev(opts));\n }\n\n /** Navigates to the given item in the list. */\n goto(item: T, opts?: NavOptions<T>) {\n this._navigate(opts, () => this.navigationBehavior.goto(item, opts));\n }\n\n /** Removes focus from the list. */\n unfocus() {\n this.inputs.activeItem.set(undefined);\n }\n\n /** Marks the given index as the potential start of a range selection. */\n anchor(index: number) {\n this._anchorIndex.set(index);\n }\n\n /** Handles typeahead search navigation for the list. */\n search(char: string, opts?: NavOptions) {\n this._navigate(opts, () => this.typeaheadBehavior.search(char));\n }\n\n /** Checks if the list is currently typing for typeahead search. */\n isTyping() {\n return this.typeaheadBehavior.isTyping();\n }\n\n /** Selects the currently active item in the list. */\n select(item?: T) {\n this.selectionBehavior.select(item);\n }\n\n /** Sets the selection to only the current active item. */\n selectOne() {\n this.selectionBehavior.selectOne();\n }\n\n /** Deselects the currently active item in the list. */\n deselect(item?: T) {\n this.selectionBehavior.deselect(item);\n }\n\n /** Deselects all items in the list. */\n deselectAll() {\n this.selectionBehavior.deselectAll();\n }\n\n /** Toggles the currently active item in the list. */\n toggle(item?: T) {\n this.selectionBehavior.toggle(item);\n }\n\n /** Toggles the currently active item in the list, deselecting all other items. */\n toggleOne() {\n this.selectionBehavior.toggleOne();\n }\n\n /** Toggles the selection of all items in the list. */\n toggleAll() {\n this.selectionBehavior.toggleAll();\n }\n\n /** Checks if the given item is able to receive focus. */\n isFocusable(item: T) {\n return this.focusBehavior.isFocusable(item);\n }\n\n /** Handles updating selection for the list. */\n updateSelection(opts: NavOptions = {anchor: true}) {\n if (opts.toggle) {\n this.selectionBehavior.toggle();\n }\n if (opts.select) {\n this.selectionBehavior.select();\n }\n if (opts.selectOne) {\n this.selectionBehavior.selectOne();\n }\n if (opts.selectRange) {\n this.selectionBehavior.selectRange();\n }\n if (!opts.anchor) {\n this.anchor(this.selectionBehavior.rangeStartIndex());\n }\n }\n\n /**\n * Safely performs a navigation operation.\n *\n * Handles conditionally disabling wrapping for when a navigation\n * operation is occurring while the user is selecting a range of options.\n *\n * Handles boilerplate calling of focus & selection operations. Also ensures these\n * additional operations are only called if the navigation operation moved focus to a new option.\n */\n private _navigate(opts: NavOptions = {}, operation: () => boolean) {\n if (opts?.selectRange) {\n this._wrap.set(false);\n this.selectionBehavior.rangeStartIndex.set(this._anchorIndex());\n }\n\n const moved = operation();\n\n if (moved) {\n this.updateSelection(opts);\n }\n\n this._wrap.set(true);\n }\n}\n"],"names":["List","inputs","navigationBehavior","selectionBehavior","typeaheadBehavior","focusBehavior","disabled","computed","isListDisabled","activeDescendant","getActiveDescendant","tabIndex","getListTabIndex","activeIndex","_anchorIndex","signal","_wrap","constructor","ListFocus","ListSelection","focusManager","ListTypeahead","ListNavigation","wrap","getItemTabindex","item","getItemTabIndex","first","opts","_navigate","last","next","prev","goto","unfocus","activeItem","set","undefined","anchor","index","search","char","isTyping","select","selectOne","deselect","deselectAll","toggle","toggleOne","toggleAll","isFocusable","updateSelection","selectRange","rangeStartIndex","operation","moved"],"mappings":";;;;MAkDaA,IAAI,CAAA;EA0CMC,MAAA;EAxCZC,kBAAkB;EAGlBC,iBAAiB;EAGjBC,iBAAiB;EAGjBC,aAAa;EAGbC,QAAQ,GAAGC,QAAQ,CAAC,MAAM,IAAI,CAACF,aAAa,CAACG,cAAc,EAAE,CAAC;EAG9DC,gBAAgB,GAAGF,QAAQ,CAAC,MAAM,IAAI,CAACF,aAAa,CAACK,mBAAmB,EAAE,CAAC;EAG3EC,QAAQ,GAAGJ,QAAQ,CAAC,MAAM,IAAI,CAACF,aAAa,CAACO,eAAe,EAAE,CAAC;EAG/DC,WAAW,GAAGN,QAAQ,CAAC,MAAM,IAAI,CAACF,aAAa,CAACQ,WAAW,EAAE,CAAC;AActDC,EAAAA,YAAY,GAAGC,MAAM,CAAC,CAAC,CAAC;AAGxBC,EAAAA,KAAK,GAAGD,MAAM,CAAC,IAAI,CAAC;EAErCE,WAAAA,CAAqBhB,MAAwB,EAAA;IAAxB,IAAA,CAAAA,MAAM,GAANA,MAAM;AACzB,IAAA,IAAI,CAACI,aAAa,GAAG,IAAIa,SAAS,CAACjB,MAAM,CAAC;AAC1C,IAAA,IAAI,CAACE,iBAAiB,GAAG,IAAIgB,aAAa,CAAC;AAAC,MAAA,GAAGlB,MAAM;MAAEmB,YAAY,EAAE,IAAI,CAACf;AAAa,KAAC,CAAC;AACzF,IAAA,IAAI,CAACD,iBAAiB,GAAG,IAAIiB,aAAa,CAAC;AAAC,MAAA,GAAGpB,MAAM;MAAEmB,YAAY,EAAE,IAAI,CAACf;AAAa,KAAC,CAAC;AACzF,IAAA,IAAI,CAACH,kBAAkB,GAAG,IAAIoB,cAAc,CAAC;AAC3C,MAAA,GAAGrB,MAAM;MACTmB,YAAY,EAAE,IAAI,CAACf,aAAa;AAChCkB,MAAAA,IAAI,EAAEhB,QAAQ,CAAC,MAAM,IAAI,CAACS,KAAK,EAAE,IAAI,IAAI,CAACf,MAAM,CAACsB,IAAI,EAAE;AACxD,KAAA,CAAC;AACJ,EAAA;EAGAC,eAAeA,CAACC,IAAO,EAAA;AACrB,IAAA,OAAO,IAAI,CAACpB,aAAa,CAACqB,eAAe,CAACD,IAAI,CAAC;AACjD,EAAA;EAGAE,KAAKA,CAACC,IAAoB,EAAA;AACxB,IAAA,IAAI,CAACC,SAAS,CAACD,IAAI,EAAE,MAAM,IAAI,CAAC1B,kBAAkB,CAACyB,KAAK,CAACC,IAAI,CAAC,CAAC;AACjE,EAAA;EAGAE,IAAIA,CAACF,IAAoB,EAAA;AACvB,IAAA,IAAI,CAACC,SAAS,CAACD,IAAI,EAAE,MAAM,IAAI,CAAC1B,kBAAkB,CAAC4B,IAAI,CAACF,IAAI,CAAC,CAAC;AAChE,EAAA;EAGAG,IAAIA,CAACH,IAAoB,EAAA;AACvB,IAAA,IAAI,CAACC,SAAS,CAACD,IAAI,EAAE,MAAM,IAAI,CAAC1B,kBAAkB,CAAC6B,IAAI,CAACH,IAAI,CAAC,CAAC;AAChE,EAAA;EAGAI,IAAIA,CAACJ,IAAoB,EAAA;AACvB,IAAA,IAAI,CAACC,SAAS,CAACD,IAAI,EAAE,MAAM,IAAI,CAAC1B,kBAAkB,CAAC8B,IAAI,CAACJ,IAAI,CAAC,CAAC;AAChE,EAAA;AAGAK,EAAAA,IAAIA,CAACR,IAAO,EAAEG,IAAoB,EAAA;AAChC,IAAA,IAAI,CAACC,SAAS,CAACD,IAAI,EAAE,MAAM,IAAI,CAAC1B,kBAAkB,CAAC+B,IAAI,CAACR,IAAI,EAAEG,IAAI,CAAC,CAAC;AACtE,EAAA;AAGAM,EAAAA,OAAOA,GAAA;IACL,IAAI,CAACjC,MAAM,CAACkC,UAAU,CAACC,GAAG,CAACC,SAAS,CAAC;AACvC,EAAA;EAGAC,MAAMA,CAACC,KAAa,EAAA;AAClB,IAAA,IAAI,CAACzB,YAAY,CAACsB,GAAG,CAACG,KAAK,CAAC;AAC9B,EAAA;AAGAC,EAAAA,MAAMA,CAACC,IAAY,EAAEb,IAAiB,EAAA;AACpC,IAAA,IAAI,CAACC,SAAS,CAACD,IAAI,EAAE,MAAM,IAAI,CAACxB,iBAAiB,CAACoC,MAAM,CAACC,IAAI,CAAC,CAAC;AACjE,EAAA;AAGAC,EAAAA,QAAQA,GAAA;AACN,IAAA,OAAO,IAAI,CAACtC,iBAAiB,CAACsC,QAAQ,EAAE;AAC1C,EAAA;EAGAC,MAAMA,CAAClB,IAAQ,EAAA;AACb,IAAA,IAAI,CAACtB,iBAAiB,CAACwC,MAAM,CAAClB,IAAI,CAAC;AACrC,EAAA;AAGAmB,EAAAA,SAASA,GAAA;AACP,IAAA,IAAI,CAACzC,iBAAiB,CAACyC,SAAS,EAAE;AACpC,EAAA;EAGAC,QAAQA,CAACpB,IAAQ,EAAA;AACf,IAAA,IAAI,CAACtB,iBAAiB,CAAC0C,QAAQ,CAACpB,IAAI,CAAC;AACvC,EAAA;AAGAqB,EAAAA,WAAWA,GAAA;AACT,IAAA,IAAI,CAAC3C,iBAAiB,CAAC2C,WAAW,EAAE;AACtC,EAAA;EAGAC,MAAMA,CAACtB,IAAQ,EAAA;AACb,IAAA,IAAI,CAACtB,iBAAiB,CAAC4C,MAAM,CAACtB,IAAI,CAAC;AACrC,EAAA;AAGAuB,EAAAA,SAASA,GAAA;AACP,IAAA,IAAI,CAAC7C,iBAAiB,CAAC6C,SAAS,EAAE;AACpC,EAAA;AAGAC,EAAAA,SAASA,GAAA;AACP,IAAA,IAAI,CAAC9C,iBAAiB,CAAC8C,SAAS,EAAE;AACpC,EAAA;EAGAC,WAAWA,CAACzB,IAAO,EAAA;AACjB,IAAA,OAAO,IAAI,CAACpB,aAAa,CAAC6C,WAAW,CAACzB,IAAI,CAAC;AAC7C,EAAA;EAGA0B,eAAeA,CAACvB,IAAA,GAAmB;AAACU,IAAAA,MAAM,EAAE;AAAI,GAAC,EAAA;IAC/C,IAAIV,IAAI,CAACmB,MAAM,EAAE;AACf,MAAA,IAAI,CAAC5C,iBAAiB,CAAC4C,MAAM,EAAE;AACjC,IAAA;IACA,IAAInB,IAAI,CAACe,MAAM,EAAE;AACf,MAAA,IAAI,CAACxC,iBAAiB,CAACwC,MAAM,EAAE;AACjC,IAAA;IACA,IAAIf,IAAI,CAACgB,SAAS,EAAE;AAClB,MAAA,IAAI,CAACzC,iBAAiB,CAACyC,SAAS,EAAE;AACpC,IAAA;IACA,IAAIhB,IAAI,CAACwB,WAAW,EAAE;AACpB,MAAA,IAAI,CAACjD,iBAAiB,CAACiD,WAAW,EAAE;AACtC,IAAA;AACA,IAAA,IAAI,CAACxB,IAAI,CAACU,MAAM,EAAE;MAChB,IAAI,CAACA,MAAM,CAAC,IAAI,CAACnC,iBAAiB,CAACkD,eAAe,EAAE,CAAC;AACvD,IAAA;AACF,EAAA;AAWQxB,EAAAA,SAASA,CAACD,IAAA,GAAmB,EAAE,EAAE0B,SAAwB,EAAA;IAC/D,IAAI1B,IAAI,EAAEwB,WAAW,EAAE;AACrB,MAAA,IAAI,CAACpC,KAAK,CAACoB,GAAG,CAAC,KAAK,CAAC;AACrB,MAAA,IAAI,CAACjC,iBAAiB,CAACkD,eAAe,CAACjB,GAAG,CAAC,IAAI,CAACtB,YAAY,EAAE,CAAC;AACjE,IAAA;AAEA,IAAA,MAAMyC,KAAK,GAAGD,SAAS,EAAE;AAEzB,IAAA,IAAIC,KAAK,EAAE;AACT,MAAA,IAAI,CAACJ,eAAe,CAACvB,IAAI,CAAC;AAC5B,IAAA;AAEA,IAAA,IAAI,CAACZ,KAAK,CAACoB,GAAG,CAAC,IAAI,CAAC;AACtB,EAAA;AACD;;;;"}
|
|
1
|
+
{"version":3,"file":"_list-chunk.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/private/behaviors/list/list.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 {computed, signal} from '../signal-like/signal-like';\nimport {ListFocus, ListFocusInputs, ListFocusItem} from '../list-focus/list-focus';\nimport {\n ListNavigation,\n ListNavigationInputs,\n ListNavigationItem,\n} from '../list-navigation/list-navigation';\nimport {\n ListSelection,\n ListSelectionInputs,\n ListSelectionItem,\n} from '../list-selection/list-selection';\nimport {\n ListTypeahead,\n ListTypeaheadInputs,\n ListTypeaheadItem,\n} from '../list-typeahead/list-typeahead';\n\n/** The operations that the list can perform after navigation. */\nexport interface NavOptions<T = any> {\n toggle?: boolean;\n select?: boolean;\n selectOne?: boolean;\n selectRange?: boolean;\n anchor?: boolean;\n focusElement?: boolean;\n items?: T[];\n}\n\n/** Represents an item in the list. */\nexport type ListItem<V> = ListTypeaheadItem &\n ListNavigationItem &\n ListSelectionItem<V> &\n ListFocusItem;\n\n/** The necessary inputs for the list behavior. */\nexport type ListInputs<T extends ListItem<V>, V> = ListFocusInputs<T> &\n ListNavigationInputs<T> &\n ListSelectionInputs<T, V> &\n ListTypeaheadInputs<T>;\n\n/** Controls the state of a list. */\nexport class List<T extends ListItem<V>, V> {\n /** Controls navigation for the list. */\n readonly navigationBehavior: ListNavigation<T>;\n\n /** Controls selection for the list. */\n readonly selectionBehavior: ListSelection<T, V>;\n\n /** Controls typeahead for the list. */\n readonly typeaheadBehavior: ListTypeahead<T>;\n\n /** Controls focus for the list. */\n readonly focusBehavior: ListFocus<T>;\n\n /** Whether the list is disabled. */\n readonly disabled = computed(() => this.focusBehavior.isListDisabled());\n\n /** The id of the current active item. */\n readonly activeDescendant = computed(() => this.focusBehavior.getActiveDescendant());\n\n /** The tab index of the list. */\n readonly tabIndex = computed(() => this.focusBehavior.getListTabIndex());\n\n /** The index of the currently active item in the list. */\n readonly activeIndex = computed(() => this.focusBehavior.activeIndex());\n\n /**\n * The uncommitted index for selecting a range of options.\n *\n * NOTE: This is subtly distinct from the \"rangeStartIndex\" in the ListSelection behavior.\n * The anchorIndex does not necessarily represent the start of a range, but represents the most\n * recent index where the user showed intent to begin a range selection. Usually, this is wherever\n * the user most recently pressed the \"Shift\" key, but if the user presses shift + space to select\n * from the anchor, the user is not intending to start a new range from this index.\n *\n * In other words, \"rangeStartIndex\" is only set when a user commits to starting a range selection\n * while \"anchorIndex\" is set whenever a user indicates they may be starting a range selection.\n */\n private readonly _anchorIndex = signal(0);\n\n /** Whether the list should wrap. Used to disable wrapping while range selecting. */\n private readonly _wrap = signal(true);\n\n constructor(readonly inputs: ListInputs<T, V>) {\n this.focusBehavior = new ListFocus(inputs);\n this.selectionBehavior = new ListSelection({...inputs, focusManager: this.focusBehavior});\n this.typeaheadBehavior = new ListTypeahead({...inputs, focusManager: this.focusBehavior});\n this.navigationBehavior = new ListNavigation({\n ...inputs,\n focusManager: this.focusBehavior,\n wrap: computed(() => this._wrap() && this.inputs.wrap()),\n });\n }\n\n /** Returns the tab index for the given item. */\n getItemTabindex(item: T) {\n return this.focusBehavior.getItemTabIndex(item);\n }\n\n /** Navigates to the first option in the list. */\n first(opts?: NavOptions<T>) {\n this._navigate(opts, () => this.navigationBehavior.first(opts));\n }\n\n /** Navigates to the last option in the list. */\n last(opts?: NavOptions<T>) {\n this._navigate(opts, () => this.navigationBehavior.last(opts));\n }\n\n /** Navigates to the next option in the list. */\n next(opts?: NavOptions<T>) {\n this._navigate(opts, () => this.navigationBehavior.next(opts));\n }\n\n /** Navigates to the previous option in the list. */\n prev(opts?: NavOptions<T>) {\n this._navigate(opts, () => this.navigationBehavior.prev(opts));\n }\n\n /** Navigates to the given item in the list. */\n goto(item: T, opts?: NavOptions<T>) {\n this._navigate(opts, () => this.navigationBehavior.goto(item, opts));\n }\n\n /** Removes focus from the list. */\n unfocus() {\n this.inputs.activeItem.set(undefined);\n }\n\n /** Marks the given index as the potential start of a range selection. */\n anchor(index: number) {\n this._anchorIndex.set(index);\n }\n\n /** Handles typeahead search navigation for the list. */\n search(char: string, opts?: NavOptions) {\n this._navigate(opts, () => this.typeaheadBehavior.search(char));\n }\n\n /** Checks if the list is currently typing for typeahead search. */\n isTyping() {\n return this.typeaheadBehavior.isTyping();\n }\n\n /** Selects the currently active item in the list. */\n select(item?: T) {\n this.selectionBehavior.select(item);\n }\n\n /** Sets the selection to only the current active item. */\n selectOne() {\n this.selectionBehavior.selectOne();\n }\n\n /** Deselects the currently active item in the list. */\n deselect(item?: T) {\n this.selectionBehavior.deselect(item);\n }\n\n /** Deselects all items in the list. */\n deselectAll() {\n this.selectionBehavior.deselectAll();\n }\n\n /** Toggles the currently active item in the list. */\n toggle(item?: T) {\n this.selectionBehavior.toggle(item);\n }\n\n /** Toggles the currently active item in the list, deselecting all other items. */\n toggleOne() {\n this.selectionBehavior.toggleOne();\n }\n\n /** Toggles the selection of all items in the list. */\n toggleAll() {\n this.selectionBehavior.toggleAll();\n }\n\n /** Checks if the given item is able to receive focus. */\n isFocusable(item: T) {\n return this.focusBehavior.isFocusable(item);\n }\n\n /** Handles updating selection for the list. */\n updateSelection(opts: NavOptions = {anchor: true}) {\n if (opts.toggle) {\n this.selectionBehavior.toggle();\n }\n if (opts.select) {\n this.selectionBehavior.select();\n }\n if (opts.selectOne) {\n this.selectionBehavior.selectOne();\n }\n if (opts.selectRange) {\n this.selectionBehavior.selectRange();\n }\n if (!opts.anchor) {\n this.anchor(this.selectionBehavior.rangeStartIndex());\n }\n }\n\n /**\n * Safely performs a navigation operation.\n *\n * Handles conditionally disabling wrapping for when a navigation\n * operation is occurring while the user is selecting a range of options.\n *\n * Handles boilerplate calling of focus & selection operations. Also ensures these\n * additional operations are only called if the navigation operation moved focus to a new option.\n */\n private _navigate(opts: NavOptions = {}, operation: () => boolean) {\n if (opts?.selectRange) {\n this._wrap.set(false);\n this.selectionBehavior.rangeStartIndex.set(this._anchorIndex());\n }\n\n const moved = operation();\n\n if (moved) {\n this.updateSelection(opts);\n if (!opts?.selectRange) {\n this.anchor(this.activeIndex());\n }\n }\n\n this._wrap.set(true);\n }\n}\n"],"names":["List","inputs","navigationBehavior","selectionBehavior","typeaheadBehavior","focusBehavior","disabled","computed","isListDisabled","activeDescendant","getActiveDescendant","tabIndex","getListTabIndex","activeIndex","_anchorIndex","signal","_wrap","constructor","ListFocus","ListSelection","focusManager","ListTypeahead","ListNavigation","wrap","getItemTabindex","item","getItemTabIndex","first","opts","_navigate","last","next","prev","goto","unfocus","activeItem","set","undefined","anchor","index","search","char","isTyping","select","selectOne","deselect","deselectAll","toggle","toggleOne","toggleAll","isFocusable","updateSelection","selectRange","rangeStartIndex","operation","moved"],"mappings":"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"}
|
package/fesm2022/_menu-chunk.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { signal, computed, KeyboardEventManager, Modifier } from './
|
|
1
|
+
import { signal, computed, KeyboardEventManager, Modifier } from './_collection-chunk.mjs';
|
|
2
2
|
import { List } from './_list-chunk.mjs';
|
|
3
3
|
import { ClickEventManager } from './_click-event-manager-chunk.mjs';
|
|
4
4
|
|
|
@@ -222,52 +222,5 @@ class OptionPattern {
|
|
|
222
222
|
}
|
|
223
223
|
}
|
|
224
224
|
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
id = computed(() => this.inputs.id());
|
|
228
|
-
role = computed(() => 'listbox');
|
|
229
|
-
activeId = computed(() => this.listBehavior.activeDescendant());
|
|
230
|
-
items = computed(() => this.inputs.items());
|
|
231
|
-
tabIndex = () => -1;
|
|
232
|
-
multi = computed(() => {
|
|
233
|
-
return this.inputs.combobox()?.readonly() ? this.inputs.multi() : false;
|
|
234
|
-
});
|
|
235
|
-
constructor(inputs) {
|
|
236
|
-
if (inputs.combobox()) {
|
|
237
|
-
inputs.focusMode = () => 'activedescendant';
|
|
238
|
-
inputs.element = inputs.combobox().inputs.inputEl;
|
|
239
|
-
}
|
|
240
|
-
super(inputs);
|
|
241
|
-
this.inputs = inputs;
|
|
242
|
-
}
|
|
243
|
-
onKeydown(_) {}
|
|
244
|
-
onClick(_) {}
|
|
245
|
-
setDefaultState() {}
|
|
246
|
-
focus = (item, opts) => {
|
|
247
|
-
this.listBehavior.goto(item, opts);
|
|
248
|
-
};
|
|
249
|
-
getActiveItem = () => this.inputs.activeItem();
|
|
250
|
-
next = () => this.listBehavior.next();
|
|
251
|
-
prev = () => this.listBehavior.prev();
|
|
252
|
-
last = () => this.listBehavior.last();
|
|
253
|
-
first = () => this.listBehavior.first();
|
|
254
|
-
unfocus = () => this.listBehavior.unfocus();
|
|
255
|
-
select = item => this.listBehavior.select(item);
|
|
256
|
-
toggle = item => this.listBehavior.toggle(item);
|
|
257
|
-
clearSelection = () => this.listBehavior.deselectAll();
|
|
258
|
-
getItem = e => this._getItem(e);
|
|
259
|
-
getSelectedItems = () => {
|
|
260
|
-
const items = [];
|
|
261
|
-
for (const value of this.inputs.value()) {
|
|
262
|
-
const item = this.items().find(i => i.value() === value);
|
|
263
|
-
if (item) {
|
|
264
|
-
items.push(item);
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
return items;
|
|
268
|
-
};
|
|
269
|
-
setValue = value => this.inputs.value.set(value ? [value] : []);
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
export { ComboboxListboxPattern, ListboxPattern, OptionPattern };
|
|
273
|
-
//# sourceMappingURL=_combobox-listbox-chunk.mjs.map
|
|
225
|
+
export { ListboxPattern, OptionPattern };
|
|
226
|
+
//# sourceMappingURL=_option-chunk.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_option-chunk.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/private/listbox/listbox.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/private/listbox/option.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 {OptionPattern} from './option';\nimport {KeyboardEventManager, Modifier, ClickEventManager} from '../behaviors/event-manager';\nimport {computed, signal, SignalLike} from '../behaviors/signal-like/signal-like';\nimport {List, ListInputs} from '../behaviors/list/list';\n\n/** Represents the required inputs for a listbox. */\nexport type ListboxInputs<V> = ListInputs<OptionPattern<V>, V> & {\n /** A unique identifier for the listbox. */\n id: SignalLike<string>;\n\n /** Whether the listbox is readonly. */\n readonly: SignalLike<boolean>;\n};\n\n/** Controls the state of a listbox. */\nexport class ListboxPattern<V> {\n readonly listBehavior: List<OptionPattern<V>, V>;\n\n /** Whether the listbox has been interacted with. */\n readonly hasBeenInteracted = signal(false);\n\n /** Whether the list is vertically or horizontally oriented. */\n readonly orientation: SignalLike<'vertical' | 'horizontal'>;\n\n /** Whether the listbox is disabled. */\n readonly disabled = computed(() => this.listBehavior.disabled());\n\n /** Whether the listbox is readonly. */\n readonly readonly: SignalLike<boolean>;\n\n /** The tab index of the listbox. */\n readonly tabIndex: SignalLike<-1 | 0> = computed(() => this.listBehavior.tabIndex());\n\n /** The id of the current active item. */\n readonly activeDescendant = computed(() => this.listBehavior.activeDescendant());\n\n /** Whether multiple items in the list can be selected at once. */\n multi: SignalLike<boolean>;\n\n /** The number of items in the listbox. */\n readonly setsize = computed(() => this.inputs.items().length);\n\n /** Whether the listbox selection follows focus. */\n readonly followFocus = computed(() => this.inputs.selectionMode() === 'follow');\n\n /** Whether the listbox should wrap. Used to disable wrapping while range selecting. */\n readonly wrap = signal(true);\n\n /** The key used to navigate to the previous item in the list. */\n readonly prevKey = computed(() => {\n if (this.inputs.orientation() === 'vertical') {\n return 'ArrowUp';\n }\n return this.inputs.textDirection() === 'rtl' ? 'ArrowRight' : 'ArrowLeft';\n });\n\n /** The key used to navigate to the next item in the list. */\n readonly nextKey = computed(() => {\n if (this.inputs.orientation() === 'vertical') {\n return 'ArrowDown';\n }\n return this.inputs.textDirection() === 'rtl' ? 'ArrowLeft' : 'ArrowRight';\n });\n\n /** Represents the space key. Does nothing when the user is actively using typeahead. */\n readonly dynamicSpaceKey = computed(() => (this.listBehavior.isTyping() ? '' : ' '));\n\n /** The regexp used to decide if a key should trigger typeahead. */\n readonly typeaheadRegexp = /^.$/;\n\n /** The keydown event manager for the listbox. */\n readonly keydown = computed(() => {\n const manager = new KeyboardEventManager();\n\n if (this.readonly()) {\n return manager\n .on(this.prevKey, () => this.listBehavior.prev(), {ignoreRepeat: false})\n .on(this.nextKey, () => this.listBehavior.next(), {ignoreRepeat: false})\n .on('Home', () => this.listBehavior.first())\n .on('End', () => this.listBehavior.last())\n .on(this.typeaheadRegexp, e => this.listBehavior.search(e.key));\n }\n\n if (!this.followFocus()) {\n manager\n .on(this.prevKey, () => this.listBehavior.prev(), {ignoreRepeat: false})\n .on(this.nextKey, () => this.listBehavior.next(), {ignoreRepeat: false})\n .on('Home', () => this.listBehavior.first())\n .on('End', () => this.listBehavior.last())\n .on(this.typeaheadRegexp, e => this.listBehavior.search(e.key));\n }\n\n if (this.followFocus()) {\n manager\n .on(this.prevKey, () => this.listBehavior.prev({selectOne: true}), {ignoreRepeat: false})\n .on(this.nextKey, () => this.listBehavior.next({selectOne: true}), {ignoreRepeat: false})\n .on('Home', () => this.listBehavior.first({selectOne: true}))\n .on('End', () => this.listBehavior.last({selectOne: true}))\n .on(this.typeaheadRegexp, e => this.listBehavior.search(e.key, {selectOne: true}));\n }\n\n if (this.inputs.multi()) {\n manager\n .on(Modifier.Any, 'Shift', () => this.listBehavior.anchor(this.listBehavior.activeIndex()))\n .on(Modifier.Shift, this.prevKey, () => this.listBehavior.prev({selectRange: true}), {\n ignoreRepeat: false,\n })\n .on(Modifier.Shift, this.nextKey, () => this.listBehavior.next({selectRange: true}), {\n ignoreRepeat: false,\n })\n .on([Modifier.Ctrl | Modifier.Shift, Modifier.Meta | Modifier.Shift], 'Home', () =>\n this.listBehavior.first({selectRange: true, anchor: false}),\n )\n .on([Modifier.Ctrl | Modifier.Shift, Modifier.Meta | Modifier.Shift], 'End', () =>\n this.listBehavior.last({selectRange: true, anchor: false}),\n )\n .on(Modifier.Shift, 'Enter', () =>\n this.listBehavior.updateSelection({selectRange: true, anchor: false}),\n )\n .on(Modifier.Shift, this.dynamicSpaceKey, () =>\n this.listBehavior.updateSelection({selectRange: true, anchor: false}),\n );\n }\n\n if (!this.followFocus() && this.inputs.multi()) {\n manager\n .on(this.dynamicSpaceKey, () => this.listBehavior.toggle())\n .on('Enter', () => this.listBehavior.toggle())\n .on([Modifier.Ctrl, Modifier.Meta], 'A', () => this.listBehavior.toggleAll());\n }\n\n if (!this.followFocus() && !this.inputs.multi()) {\n manager.on(this.dynamicSpaceKey, () => this.listBehavior.toggleOne());\n manager.on('Enter', () => this.listBehavior.toggleOne());\n }\n\n if (this.inputs.multi() && this.followFocus()) {\n manager\n .on([Modifier.Ctrl, Modifier.Meta], this.prevKey, () => this.listBehavior.prev(), {\n ignoreRepeat: false,\n })\n .on([Modifier.Ctrl, Modifier.Meta], this.nextKey, () => this.listBehavior.next(), {\n ignoreRepeat: false,\n })\n .on([Modifier.Ctrl, Modifier.Meta], ' ', () => this.listBehavior.toggle())\n .on([Modifier.Ctrl, Modifier.Meta], 'Enter', () => this.listBehavior.toggle())\n .on([Modifier.Ctrl, Modifier.Meta], 'Home', () => this.listBehavior.first())\n .on([Modifier.Ctrl, Modifier.Meta], 'End', () => this.listBehavior.last())\n .on([Modifier.Ctrl, Modifier.Meta], 'A', () => {\n this.listBehavior.toggleAll();\n this.listBehavior.select(); // Ensure the currect option remains selected.\n });\n }\n\n return manager;\n });\n\n /** The click event manager for the listbox. */\n readonly clickManager = computed(() => {\n const manager = new ClickEventManager<PointerEvent>();\n\n if (this.readonly()) {\n return manager.on(e => this.listBehavior.goto(this._getItem(e)!));\n }\n\n if (this.multi()) {\n manager.on(Modifier.Shift, e =>\n this.listBehavior.goto(this._getItem(e)!, {selectRange: true}),\n );\n }\n\n if (!this.multi() && this.followFocus()) {\n return manager.on(e => this.listBehavior.goto(this._getItem(e)!, {selectOne: true}));\n }\n\n if (!this.multi() && !this.followFocus()) {\n return manager.on(e => this.listBehavior.goto(this._getItem(e)!, {toggle: true}));\n }\n\n if (this.multi() && this.followFocus()) {\n return manager\n .on(e => this.listBehavior.goto(this._getItem(e)!, {selectOne: true}))\n .on(Modifier.Ctrl, e => this.listBehavior.goto(this._getItem(e)!, {toggle: true}));\n }\n\n if (this.multi() && !this.followFocus()) {\n return manager.on(e => this.listBehavior.goto(this._getItem(e)!, {toggle: true}));\n }\n\n return manager;\n });\n\n constructor(readonly inputs: ListboxInputs<V>) {\n this.readonly = inputs.readonly;\n this.orientation = inputs.orientation;\n this.multi = inputs.multi;\n this.listBehavior = new List(inputs);\n }\n\n /** Returns a set of violations */\n validate(): string[] {\n const violations: string[] = [];\n\n if (!this.inputs.multi() && this.inputs.value().length > 1) {\n violations.push(\n `A single-select listbox should not have multiple selected options. Selected options: ${this.inputs.value().join(', ')}`,\n );\n }\n\n return violations;\n }\n\n /** Handles keydown events for the listbox. */\n onKeydown(event: KeyboardEvent) {\n if (!this.disabled()) {\n this.hasBeenInteracted.set(true);\n this.keydown().handle(event);\n }\n }\n\n onClick(event: PointerEvent) {\n if (!this.disabled()) {\n this.hasBeenInteracted.set(true);\n this.clickManager().handle(event);\n }\n }\n\n onFocusIn() {\n this.hasBeenInteracted.set(true);\n }\n\n /**\n * Sets the listbox to it's default initial state.\n *\n * Sets the active index of the listbox to the first focusable selected\n * item if one exists. Otherwise, sets focus to the first focusable item.\n *\n * This method should be called once the listbox and it's options are properly initialized,\n * meaning the ListboxPattern and OptionPatterns should have references to each other before this\n * is called.\n */\n setDefaultState() {\n let firstItem: OptionPattern<V> | null = null;\n\n for (const item of this.inputs.items()) {\n if (this.listBehavior.isFocusable(item)) {\n if (!firstItem) {\n firstItem = item;\n }\n if (item.selected()) {\n this.inputs.activeItem.set(item);\n return;\n }\n }\n }\n\n if (firstItem) {\n this.inputs.activeItem.set(firstItem);\n if (this.followFocus()) {\n this.listBehavior.select();\n }\n }\n }\n\n /**\n * Sets the default active state of the listbox before receiving interaction for the first time.\n */\n setDefaultStateEffect(): void {\n if (this.hasBeenInteracted()) return;\n\n this.setDefaultState();\n }\n\n protected _getItem(e: PointerEvent) {\n if (!(e.target instanceof HTMLElement)) {\n return;\n }\n\n const element = e.target.closest('[role=\"option\"]');\n return this.inputs.items().find(i => i.element() === 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 {computed, SignalLike} from '../behaviors/signal-like/signal-like';\nimport {List, ListInputs, ListItem} from '../behaviors/list/list';\n\n/**\n * Represents the properties exposed by a listbox that need to be accessed by an option.\n * This exists to avoid circular dependency errors between the listbox and option.\n */\ninterface ListboxPattern<V> {\n inputs: ListInputs<OptionPattern<V>, V>;\n listBehavior: List<OptionPattern<V>, V>;\n}\n\n/** Represents the required inputs for an option in a listbox. */\nexport interface OptionInputs<V> extends Omit<ListItem<V>, 'index' | 'selectable'> {\n listbox: SignalLike<ListboxPattern<V> | undefined>;\n}\n\n/** Represents an option in a listbox. */\nexport class OptionPattern<V> {\n /** A unique identifier for the option. */\n readonly id: SignalLike<string>;\n\n /** The value of the option. */\n readonly value: SignalLike<V>;\n\n /** The position of the option in the list. */\n readonly index = computed(() => this.listbox()?.inputs.items().indexOf(this) ?? -1);\n\n /** Whether the option is active. */\n readonly active = computed(() => this.listbox()?.inputs.activeItem() === this);\n\n /** Whether the option is selected. */\n readonly selected = computed(() => this.listbox()?.inputs.value().includes(this.value()));\n\n /** Whether the option is selectable. */\n readonly selectable = () => true;\n\n /** Whether the option is disabled. */\n readonly disabled: SignalLike<boolean>;\n\n /** The text used by the typeahead search. */\n readonly searchTerm: SignalLike<string>;\n\n /** A reference to the parent listbox. */\n readonly listbox: SignalLike<ListboxPattern<V> | undefined>;\n\n /** The tab index of the option. */\n readonly tabIndex = computed(() => this.listbox()?.listBehavior.getItemTabindex(this));\n\n /** The html element that should receive focus. */\n readonly element: SignalLike<HTMLElement | undefined>;\n\n constructor(args: OptionInputs<V>) {\n this.id = args.id;\n this.value = args.value;\n this.listbox = args.listbox;\n this.element = args.element;\n this.disabled = args.disabled;\n this.searchTerm = args.searchTerm;\n }\n}\n"],"names":["ListboxPattern","inputs","listBehavior","hasBeenInteracted","signal","orientation","disabled","computed","readonly","tabIndex","activeDescendant","multi","setsize","items","length","followFocus","selectionMode","wrap","prevKey","textDirection","nextKey","dynamicSpaceKey","isTyping","typeaheadRegexp","keydown","manager","KeyboardEventManager","on","prev","ignoreRepeat","next","first","last","e","search","key","selectOne","Modifier","Any","anchor","activeIndex","Shift","selectRange","Ctrl","Meta","updateSelection","toggle","toggleAll","toggleOne","select","clickManager","ClickEventManager","goto","_getItem","constructor","List","validate","violations","value","push","join","onKeydown","event","set","handle","onClick","onFocusIn","setDefaultState","firstItem","item","isFocusable","selected","activeItem","setDefaultStateEffect","target","HTMLElement","element","closest","find","i","OptionPattern","id","index","listbox","indexOf","active","includes","selectable","searchTerm","getItemTabindex","args"],"mappings":"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"}
|
package/fesm2022/_tabs-chunk.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ListExpansion } from './_expansion-chunk.mjs';
|
|
2
|
-
import { signal, computed, linkedSignal, KeyboardEventManager } from './
|
|
2
|
+
import { signal, computed, linkedSignal, KeyboardEventManager } from './_collection-chunk.mjs';
|
|
3
3
|
import { ListFocus, ListNavigation } from './_list-navigation-chunk.mjs';
|
|
4
4
|
import { ClickEventManager } from './_click-event-manager-chunk.mjs';
|
|
5
5
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_transforms-chunk.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/private/utils/transforms.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 {numberAttribute} from '@angular/core';\n\n/**\n * Transform function for tabIndex inputs.\n * Returns undefined if the value is undefined, otherwise converts it to a number.\n */\nexport function tabIndexTransform(v: string | number | undefined): number | undefined {\n return v === undefined ? undefined : numberAttribute(v);\n}\n"],"names":["tabIndexTransform","v","undefined","numberAttribute"],"mappings":";;AAcM,SAAUA,iBAAiBA,CAACC,CAA8B,EAAA;EAC9D,OAAOA,CAAC,KAAKC,SAAS,GAAGA,SAAS,GAAGC,eAAe,CAACF,CAAC,CAAC;AACzD;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { computed, signal, KeyboardEventManager, Modifier } from './
|
|
1
|
+
import { computed, signal, KeyboardEventManager, Modifier } from './_collection-chunk.mjs';
|
|
2
2
|
import { ListExpansion } from './_expansion-chunk.mjs';
|
|
3
3
|
import { ListNavigation, ListFocus } from './_list-navigation-chunk.mjs';
|
|
4
4
|
import { ListSelection, ListTypeahead } from './_list-typeahead-chunk.mjs';
|
|
@@ -478,50 +478,5 @@ class TreePattern {
|
|
|
478
478
|
}
|
|
479
479
|
}
|
|
480
480
|
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
toggleExpansion = item => this.treeBehavior.toggleExpansion(item);
|
|
484
|
-
isItemCollapsible = () => this.inputs.activeItem()?.parent() instanceof TreeItemPattern;
|
|
485
|
-
role = () => 'tree';
|
|
486
|
-
activeId = computed(() => this.treeBehavior.activeDescendant());
|
|
487
|
-
getActiveItem = () => this.inputs.activeItem();
|
|
488
|
-
items = computed(() => this.inputs.items());
|
|
489
|
-
tabIndex = () => -1;
|
|
490
|
-
constructor(inputs) {
|
|
491
|
-
if (inputs.combobox()) {
|
|
492
|
-
inputs.multi = () => false;
|
|
493
|
-
inputs.focusMode = () => 'activedescendant';
|
|
494
|
-
inputs.element = inputs.combobox().inputs.inputEl;
|
|
495
|
-
}
|
|
496
|
-
super(inputs);
|
|
497
|
-
this.inputs = inputs;
|
|
498
|
-
}
|
|
499
|
-
onKeydown(_) {}
|
|
500
|
-
onClick(_) {}
|
|
501
|
-
setDefaultState() {}
|
|
502
|
-
focus = item => this.treeBehavior.goto(item);
|
|
503
|
-
next = () => this.treeBehavior.next();
|
|
504
|
-
prev = () => this.treeBehavior.prev();
|
|
505
|
-
last = () => this.treeBehavior.last();
|
|
506
|
-
first = () => this.treeBehavior.first();
|
|
507
|
-
unfocus = () => this.treeBehavior.unfocus();
|
|
508
|
-
select = item => this.treeBehavior.select(item);
|
|
509
|
-
toggle = item => this.treeBehavior.toggle(item);
|
|
510
|
-
clearSelection = () => this.treeBehavior.deselectAll();
|
|
511
|
-
getItem = e => this._getItem(e);
|
|
512
|
-
getSelectedItems = () => this.inputs.items().filter(item => item.selected());
|
|
513
|
-
setValue = value => this.inputs.value.set(value ? [value] : []);
|
|
514
|
-
expandItem = () => this._expandOrFirstChild();
|
|
515
|
-
collapseItem = () => this._collapseOrParent();
|
|
516
|
-
isItemExpandable(item = this.inputs.activeItem()) {
|
|
517
|
-
return item ? item.expandable() : false;
|
|
518
|
-
}
|
|
519
|
-
expandAll = () => this.treeBehavior.expandAll();
|
|
520
|
-
collapseAll = () => this.treeBehavior.collapseAll();
|
|
521
|
-
isItemSelectable = (item = this.inputs.activeItem()) => {
|
|
522
|
-
return item ? item.selectable() : false;
|
|
523
|
-
};
|
|
524
|
-
}
|
|
525
|
-
|
|
526
|
-
export { ComboboxTreePattern, TreeItemPattern, TreePattern };
|
|
527
|
-
//# sourceMappingURL=_combobox-tree-chunk.mjs.map
|
|
481
|
+
export { TreeItemPattern, TreePattern };
|
|
482
|
+
//# sourceMappingURL=_tree-chunk.mjs.map
|