diff --git a/src/cdk-experimental/ui-patterns/accordion/accordion.ts b/src/cdk-experimental/ui-patterns/accordion/accordion.ts index 2d3a8ebe711c..6664161f250d 100644 --- a/src/cdk-experimental/ui-patterns/accordion/accordion.ts +++ b/src/cdk-experimental/ui-patterns/accordion/accordion.ts @@ -7,8 +7,7 @@ */ import {computed} from '@angular/core'; -import {KeyboardEventManager} from '../behaviors/event-manager/keyboard-event-manager'; -import {PointerEventManager} from '../behaviors/event-manager/pointer-event-manager'; +import {KeyboardEventManager, PointerEventManager} from '../behaviors/event-manager'; import { ExpansionItem, ExpansionControl, diff --git a/src/cdk-experimental/ui-patterns/behaviors/event-manager/event-manager.ts b/src/cdk-experimental/ui-patterns/behaviors/event-manager/event-manager.ts index 539744a648b6..f6718617cc8f 100644 --- a/src/cdk-experimental/ui-patterns/behaviors/event-manager/event-manager.ts +++ b/src/cdk-experimental/ui-patterns/behaviors/event-manager/event-manager.ts @@ -41,7 +41,7 @@ export interface EventHandlerConfig extends EventHandlerOptions } /** Bit flag representation of the possible modifier keys that can be present on an event. */ -export enum ModifierKey { +export enum Modifier { None = 0, Ctrl = 0b1, Shift = 0b10, @@ -50,7 +50,7 @@ export enum ModifierKey { Any = 'Any', } -export type ModifierInputs = ModifierKey | ModifierKey[]; +export type ModifierInputs = Modifier | Modifier[]; /** * Abstract base class for all event managers. @@ -86,10 +86,10 @@ export abstract class EventManager { /** Gets bit flag representation of the modifier keys present on the given event. */ export function getModifiers(event: EventWithModifiers): number { return ( - (+event.ctrlKey && ModifierKey.Ctrl) | - (+event.shiftKey && ModifierKey.Shift) | - (+event.altKey && ModifierKey.Alt) | - (+event.metaKey && ModifierKey.Meta) + (+event.ctrlKey && Modifier.Ctrl) | + (+event.shiftKey && Modifier.Shift) | + (+event.altKey && Modifier.Alt) | + (+event.metaKey && Modifier.Meta) ); } @@ -101,7 +101,7 @@ export function hasModifiers(event: EventWithModifiers, modifiers: ModifierInput const eventModifiers = getModifiers(event); const modifiersList = Array.isArray(modifiers) ? modifiers : [modifiers]; - if (modifiersList.includes(ModifierKey.Any)) { + if (modifiersList.includes(Modifier.Any)) { return true; } diff --git a/src/cdk-experimental/ui-patterns/behaviors/event-manager/index.ts b/src/cdk-experimental/ui-patterns/behaviors/event-manager/index.ts new file mode 100644 index 000000000000..d396497d2d16 --- /dev/null +++ b/src/cdk-experimental/ui-patterns/behaviors/event-manager/index.ts @@ -0,0 +1,11 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.dev/license + */ + +export {Modifier} from './event-manager'; +export {KeyboardEventManager} from './keyboard-event-manager'; +export {PointerEventManager} from './pointer-event-manager'; diff --git a/src/cdk-experimental/ui-patterns/behaviors/event-manager/keyboard-event-manager.ts b/src/cdk-experimental/ui-patterns/behaviors/event-manager/keyboard-event-manager.ts index 38943ffaadb1..86cf3329ade5 100644 --- a/src/cdk-experimental/ui-patterns/behaviors/event-manager/keyboard-event-manager.ts +++ b/src/cdk-experimental/ui-patterns/behaviors/event-manager/keyboard-event-manager.ts @@ -13,7 +13,7 @@ import { EventManager, hasModifiers, ModifierInputs, - ModifierKey, + Modifier, } from './event-manager'; /** @@ -55,7 +55,7 @@ export class KeyboardEventManager extends EventManager< private _normalizeInputs(...args: any[]) { const key = args.length === 3 ? args[1] : args[0]; const handler = args.length === 3 ? args[2] : args[1]; - const modifiers = args.length === 3 ? args[0] : ModifierKey.None; + const modifiers = args.length === 3 ? args[0] : Modifier.None; return { key: key as KeyCode, diff --git a/src/cdk-experimental/ui-patterns/behaviors/event-manager/pointer-event-manager.ts b/src/cdk-experimental/ui-patterns/behaviors/event-manager/pointer-event-manager.ts index 7631f048e027..d03464562c15 100644 --- a/src/cdk-experimental/ui-patterns/behaviors/event-manager/pointer-event-manager.ts +++ b/src/cdk-experimental/ui-patterns/behaviors/event-manager/pointer-event-manager.ts @@ -12,7 +12,7 @@ import { EventManager, hasModifiers, ModifierInputs, - ModifierKey, + Modifier, } from './event-manager'; /** @@ -80,7 +80,7 @@ export class PointerEventManager extends EventManager return { button: MouseButton.Main, - modifiers: ModifierKey.None, + modifiers: Modifier.None, handler: args[0] as EventHandler, }; } diff --git a/src/cdk-experimental/ui-patterns/listbox/listbox.ts b/src/cdk-experimental/ui-patterns/listbox/listbox.ts index b15657af095b..2af7f4b5e1f3 100644 --- a/src/cdk-experimental/ui-patterns/listbox/listbox.ts +++ b/src/cdk-experimental/ui-patterns/listbox/listbox.ts @@ -6,10 +6,8 @@ * found in the LICENSE file at https://angular.dev/license */ -import {ModifierKey as Modifier} from '../behaviors/event-manager/event-manager'; -import {KeyboardEventManager} from '../behaviors/event-manager/keyboard-event-manager'; -import {PointerEventManager} from '../behaviors/event-manager/pointer-event-manager'; import {OptionPattern} from './option'; +import {KeyboardEventManager, PointerEventManager, Modifier} from '../behaviors/event-manager'; import {ListSelection, ListSelectionInputs} from '../behaviors/list-selection/list-selection'; import {ListTypeahead, ListTypeaheadInputs} from '../behaviors/list-typeahead/list-typeahead'; import {ListNavigation, ListNavigationInputs} from '../behaviors/list-navigation/list-navigation'; diff --git a/src/cdk-experimental/ui-patterns/radio-group/radio-group.ts b/src/cdk-experimental/ui-patterns/radio-group/radio-group.ts index 2317769d3f07..16590939c149 100644 --- a/src/cdk-experimental/ui-patterns/radio-group/radio-group.ts +++ b/src/cdk-experimental/ui-patterns/radio-group/radio-group.ts @@ -7,8 +7,7 @@ */ import {computed} from '@angular/core'; -import {KeyboardEventManager} from '../behaviors/event-manager/keyboard-event-manager'; -import {PointerEventManager} from '../behaviors/event-manager/pointer-event-manager'; +import {KeyboardEventManager, PointerEventManager} from '../behaviors/event-manager'; import {ListFocus, ListFocusInputs} from '../behaviors/list-focus/list-focus'; import {ListNavigation, ListNavigationInputs} from '../behaviors/list-navigation/list-navigation'; import {ListSelection, ListSelectionInputs} from '../behaviors/list-selection/list-selection'; diff --git a/src/cdk-experimental/ui-patterns/tabs/tabs.ts b/src/cdk-experimental/ui-patterns/tabs/tabs.ts index e4e9d45c5327..22553affb257 100644 --- a/src/cdk-experimental/ui-patterns/tabs/tabs.ts +++ b/src/cdk-experimental/ui-patterns/tabs/tabs.ts @@ -7,8 +7,7 @@ */ import {computed} from '@angular/core'; -import {KeyboardEventManager} from '../behaviors/event-manager/keyboard-event-manager'; -import {PointerEventManager} from '../behaviors/event-manager/pointer-event-manager'; +import {KeyboardEventManager, PointerEventManager} from '../behaviors/event-manager'; import {ListFocus, ListFocusInputs, ListFocusItem} from '../behaviors/list-focus/list-focus'; import { ListNavigation, diff --git a/src/cdk-experimental/ui-patterns/tree/tree.ts b/src/cdk-experimental/ui-patterns/tree/tree.ts index 9656e74a782f..c66203cfc52d 100644 --- a/src/cdk-experimental/ui-patterns/tree/tree.ts +++ b/src/cdk-experimental/ui-patterns/tree/tree.ts @@ -25,9 +25,7 @@ import { ListTypeaheadItem, } from '../behaviors/list-typeahead/list-typeahead'; import {ExpansionItem, ExpansionControl, ListExpansion} from '../behaviors/expansion/expansion'; -import {KeyboardEventManager} from '../behaviors/event-manager/keyboard-event-manager'; -import {PointerEventManager} from '../behaviors/event-manager/pointer-event-manager'; -import {ModifierKey as Modifier} from '../behaviors/event-manager/event-manager'; +import {KeyboardEventManager, PointerEventManager, Modifier} from '../behaviors/event-manager'; /** Represents the required inputs for a tree item. */ export interface TreeItemInputs