@ethlete/cdk 2.8.0 → 2.9.0

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.
Files changed (45) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/esm2022/lib/components/overlay/components/menu/context-menu-trigger.mjs +163 -0
  3. package/esm2022/lib/components/overlay/components/menu/menu-aim.mjs +140 -0
  4. package/esm2022/lib/components/overlay/components/menu/menu-bar.mjs +113 -0
  5. package/esm2022/lib/components/overlay/components/menu/menu-base.mjs +154 -0
  6. package/esm2022/lib/components/overlay/components/menu/menu-errors.mjs +7 -0
  7. package/esm2022/lib/components/overlay/components/menu/menu-group.mjs +26 -0
  8. package/esm2022/lib/components/overlay/components/menu/menu-interface.mjs +3 -0
  9. package/esm2022/lib/components/overlay/components/menu/menu-item-checkbox.mjs +39 -0
  10. package/esm2022/lib/components/overlay/components/menu/menu-item-radio.mjs +56 -0
  11. package/esm2022/lib/components/overlay/components/menu/menu-item-selectable.mjs +32 -0
  12. package/esm2022/lib/components/overlay/components/menu/menu-item.mjs +210 -0
  13. package/esm2022/lib/components/overlay/components/menu/menu-module.mjs +52 -0
  14. package/esm2022/lib/components/overlay/components/menu/menu-stack.mjs +101 -0
  15. package/esm2022/lib/components/overlay/components/menu/menu-trigger-base.mjs +77 -0
  16. package/esm2022/lib/components/overlay/components/menu/menu-trigger.mjs +240 -0
  17. package/esm2022/lib/components/overlay/components/menu/menu.mjs +116 -0
  18. package/esm2022/lib/components/overlay/components/menu/pointer-focus-tracker.mjs +26 -0
  19. package/esm2022/lib/components/overlay/components/menu/public-api.mjs +17 -0
  20. package/esm2022/lib/components/overlay/components/public-api.mjs +2 -1
  21. package/esm2022/lib/components/scrollable/components/scrollable/scrollable.component.mjs +4 -4
  22. package/fesm2022/ethlete-cdk.mjs +1561 -157
  23. package/fesm2022/ethlete-cdk.mjs.map +1 -1
  24. package/lib/components/overlay/components/menu/context-menu-trigger.d.ts +33 -0
  25. package/lib/components/overlay/components/menu/menu-aim.d.ts +34 -0
  26. package/lib/components/overlay/components/menu/menu-bar.d.ts +13 -0
  27. package/lib/components/overlay/components/menu/menu-base.d.ts +41 -0
  28. package/lib/components/overlay/components/menu/menu-errors.d.ts +2 -0
  29. package/lib/components/overlay/components/menu/menu-group.d.ts +5 -0
  30. package/lib/components/overlay/components/menu/menu-interface.d.ts +11 -0
  31. package/lib/components/overlay/components/menu/menu-item-checkbox.d.ts +9 -0
  32. package/lib/components/overlay/components/menu/menu-item-radio.d.ts +16 -0
  33. package/lib/components/overlay/components/menu/menu-item-selectable.d.ts +11 -0
  34. package/lib/components/overlay/components/menu/menu-item.d.ts +52 -0
  35. package/lib/components/overlay/components/menu/menu-module.d.ts +16 -0
  36. package/lib/components/overlay/components/menu/menu-stack.d.ts +54 -0
  37. package/lib/components/overlay/components/menu/menu-trigger-base.d.ts +33 -0
  38. package/lib/components/overlay/components/menu/menu-trigger.d.ts +34 -0
  39. package/lib/components/overlay/components/menu/menu.d.ts +17 -0
  40. package/lib/components/overlay/components/menu/pointer-focus-tracker.d.ts +17 -0
  41. package/lib/components/overlay/components/menu/public-api.d.ts +16 -0
  42. package/lib/components/overlay/components/public-api.d.ts +1 -0
  43. package/package.json +3 -3
  44. package/src/lib/styles/cursor-drag-scroll.css +3 -0
  45. package/src/lib/styles/index.css +1 -0
@@ -0,0 +1,33 @@
1
+ import { BooleanInput } from '@angular/cdk/coercion';
2
+ import { OnDestroy } from '@angular/core';
3
+ import { CdkMenuTriggerBase } from './menu-trigger-base';
4
+ import * as i0 from "@angular/core";
5
+ export declare class ContextMenuTracker {
6
+ private static _openContextMenuTrigger?;
7
+ update(trigger: CdkContextMenuTrigger): void;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<ContextMenuTracker, never>;
9
+ static ɵprov: i0.ɵɵInjectableDeclaration<ContextMenuTracker>;
10
+ }
11
+ export type ContextMenuCoordinates = {
12
+ x: number;
13
+ y: number;
14
+ };
15
+ export declare class CdkContextMenuTrigger extends CdkMenuTriggerBase implements OnDestroy {
16
+ private readonly _overlay;
17
+ private readonly _directionality;
18
+ private readonly _contextMenuTracker;
19
+ get disabled(): boolean;
20
+ set disabled(value: BooleanInput);
21
+ private _disabled;
22
+ constructor();
23
+ open(coordinates: ContextMenuCoordinates): void;
24
+ close(): void;
25
+ _openOnContextMenu(event: MouseEvent): void;
26
+ private _getOverlayConfig;
27
+ private _getOverlayPositionStrategy;
28
+ private _setMenuStackCloseListener;
29
+ private _subscribeToOutsideClicks;
30
+ private _open;
31
+ static ɵfac: i0.ɵɵFactoryDeclaration<CdkContextMenuTrigger, never>;
32
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CdkContextMenuTrigger, "[cdkContextMenuTriggerFor]", ["cdkContextMenuTriggerFor"], { "menuTemplateRef": { "alias": "cdkContextMenuTriggerFor"; "required": false; }; "menuPosition": { "alias": "cdkContextMenuPosition"; "required": false; }; "menuData": { "alias": "cdkContextMenuTriggerData"; "required": false; }; "disabled": { "alias": "cdkContextMenuDisabled"; "required": false; }; }, { "opened": "cdkContextMenuOpened"; "closed": "cdkContextMenuClosed"; }, never, never, true, never>;
33
+ }
@@ -0,0 +1,34 @@
1
+ import { InjectionToken, OnDestroy } from '@angular/core';
2
+ import { Menu } from './menu-interface';
3
+ import { FocusableElement, PointerFocusTracker } from './pointer-focus-tracker';
4
+ import * as i0 from "@angular/core";
5
+ export interface MenuAim {
6
+ initialize(menu: Menu, pointerTracker: PointerFocusTracker<FocusableElement & Toggler>): void;
7
+ toggle(doToggle: () => void): void;
8
+ }
9
+ export declare const MENU_AIM: InjectionToken<MenuAim>;
10
+ export interface Toggler {
11
+ getMenu(): Menu | undefined;
12
+ }
13
+ export declare class TargetMenuAim implements MenuAim, OnDestroy {
14
+ private readonly _ngZone;
15
+ private readonly _points;
16
+ private _menu;
17
+ private _pointerTracker;
18
+ private _timeoutId;
19
+ private readonly _destroyed;
20
+ ngOnDestroy(): void;
21
+ initialize(menu: Menu, pointerTracker: PointerFocusTracker<FocusableElement & Toggler>): void;
22
+ toggle(doToggle: () => void): void;
23
+ private _startTimeout;
24
+ private _isMovingToSubmenu;
25
+ private _getSubmenuBounds;
26
+ private _checkConfigured;
27
+ private _subscribeToMouseMoves;
28
+ static ɵfac: i0.ɵɵFactoryDeclaration<TargetMenuAim, never>;
29
+ static ɵprov: i0.ɵɵInjectableDeclaration<TargetMenuAim>;
30
+ }
31
+ export declare class CdkTargetMenuAim {
32
+ static ɵfac: i0.ɵɵFactoryDeclaration<CdkTargetMenuAim, never>;
33
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CdkTargetMenuAim, "[cdkTargetMenuAim]", ["cdkTargetMenuAim"], {}, {}, never, never, true, never>;
34
+ }
@@ -0,0 +1,13 @@
1
+ import { AfterContentInit } from '@angular/core';
2
+ import { CdkMenuBase } from './menu-base';
3
+ import * as i0 from "@angular/core";
4
+ export declare class CdkMenuBar extends CdkMenuBase implements AfterContentInit {
5
+ readonly orientation = "horizontal";
6
+ readonly isInline = true;
7
+ ngAfterContentInit(): void;
8
+ _handleKeyEvent(event: KeyboardEvent): void;
9
+ private _toggleOpenMenu;
10
+ private _subscribeToMenuStackEmptied;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<CdkMenuBar, never>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CdkMenuBar, "[cdkMenuBar]", ["cdkMenuBar"], {}, {}, never, never, true, never>;
13
+ }
@@ -0,0 +1,41 @@
1
+ import { FocusKeyManager, FocusOrigin } from '@angular/cdk/a11y';
2
+ import { Directionality } from '@angular/cdk/bidi';
3
+ import { AfterContentInit, NgZone, OnDestroy, QueryList } from '@angular/core';
4
+ import { Subject } from 'rxjs';
5
+ import { CdkMenuGroup } from './menu-group';
6
+ import { Menu } from './menu-interface';
7
+ import { CdkMenuItem } from './menu-item';
8
+ import { MenuStack, MenuStackItem } from './menu-stack';
9
+ import { PointerFocusTracker } from './pointer-focus-tracker';
10
+ import * as i0 from "@angular/core";
11
+ export declare abstract class CdkMenuBase extends CdkMenuGroup implements Menu, AfterContentInit, OnDestroy {
12
+ readonly nativeElement: HTMLElement;
13
+ protected ngZone: NgZone;
14
+ readonly menuStack: MenuStack;
15
+ protected readonly menuAim: import("./menu-aim").MenuAim | null;
16
+ protected readonly dir: Directionality | null;
17
+ id: string;
18
+ readonly items: QueryList<CdkMenuItem> | null;
19
+ orientation: 'horizontal' | 'vertical';
20
+ isInline: boolean;
21
+ protected keyManager: FocusKeyManager<CdkMenuItem> | null;
22
+ protected readonly destroyed: Subject<void>;
23
+ protected triggerItem?: CdkMenuItem;
24
+ protected pointerTracker?: PointerFocusTracker<CdkMenuItem>;
25
+ private _menuStackHasFocus;
26
+ ngAfterContentInit(): void;
27
+ ngOnDestroy(): void;
28
+ focusFirstItem(focusOrigin?: FocusOrigin): void;
29
+ focusLastItem(focusOrigin?: FocusOrigin): void;
30
+ _getTabIndex(): 0 | -1 | null;
31
+ protected closeOpenMenu(menu: MenuStackItem, options?: {
32
+ focusParentTrigger?: boolean;
33
+ }): void;
34
+ private _setKeyManager;
35
+ private _subscribeToMenuOpen;
36
+ private _subscribeToMenuStackClosed;
37
+ private _subscribeToMenuStackHasFocus;
38
+ private _setUpPointerTracker;
39
+ static ɵfac: i0.ɵɵFactoryDeclaration<CdkMenuBase, never>;
40
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CdkMenuBase, never, never, { "id": { "alias": "id"; "required": false; }; }, {}, ["items"], never, false, never>;
41
+ }
@@ -0,0 +1,2 @@
1
+ export declare function throwMissingPointerFocusTracker(): void;
2
+ export declare function throwMissingMenuReference(): void;
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class CdkMenuGroup {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<CdkMenuGroup, never>;
4
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CdkMenuGroup, "[cdkMenuGroup]", ["cdkMenuGroup"], {}, {}, never, never, true, never>;
5
+ }
@@ -0,0 +1,11 @@
1
+ import { FocusOrigin } from '@angular/cdk/a11y';
2
+ import { InjectionToken } from '@angular/core';
3
+ import { MenuStackItem } from './menu-stack';
4
+ export declare const CDK_MENU: InjectionToken<Menu>;
5
+ export interface Menu extends MenuStackItem {
6
+ id: string;
7
+ nativeElement: HTMLElement;
8
+ readonly orientation: 'horizontal' | 'vertical';
9
+ focusFirstItem(focusOrigin: FocusOrigin): void;
10
+ focusLastItem(focusOrigin: FocusOrigin): void;
11
+ }
@@ -0,0 +1,9 @@
1
+ import { CdkMenuItemSelectable } from './menu-item-selectable';
2
+ import * as i0 from "@angular/core";
3
+ export declare class CdkMenuItemCheckbox extends CdkMenuItemSelectable {
4
+ trigger(options?: {
5
+ keepOpen: boolean;
6
+ }): void;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<CdkMenuItemCheckbox, never>;
8
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CdkMenuItemCheckbox, "[cdkMenuItemCheckbox]", ["cdkMenuItemCheckbox"], {}, {}, never, never, true, never>;
9
+ }
@@ -0,0 +1,16 @@
1
+ import { OnDestroy } from '@angular/core';
2
+ import { CdkMenuItemSelectable } from './menu-item-selectable';
3
+ import * as i0 from "@angular/core";
4
+ export declare class CdkMenuItemRadio extends CdkMenuItemSelectable implements OnDestroy {
5
+ private readonly _selectionDispatcher;
6
+ private _id;
7
+ private _removeDispatcherListener?;
8
+ constructor();
9
+ ngOnDestroy(): void;
10
+ trigger(options?: {
11
+ keepOpen: boolean;
12
+ }): void;
13
+ private _registerDispatcherListener;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<CdkMenuItemRadio, never>;
15
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CdkMenuItemRadio, "[cdkMenuItemRadio]", ["cdkMenuItemRadio"], {}, {}, never, never, true, never>;
16
+ }
@@ -0,0 +1,11 @@
1
+ import { BooleanInput } from '@angular/cdk/coercion';
2
+ import { CdkMenuItem } from './menu-item';
3
+ import * as i0 from "@angular/core";
4
+ export declare abstract class CdkMenuItemSelectable extends CdkMenuItem {
5
+ get checked(): boolean;
6
+ set checked(value: BooleanInput);
7
+ private _checked;
8
+ protected closeOnSpacebarTrigger: boolean;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<CdkMenuItemSelectable, never>;
10
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CdkMenuItemSelectable, never, never, { "checked": { "alias": "cdkMenuItemChecked"; "required": false; }; }, {}, never, never, false, never>;
11
+ }
@@ -0,0 +1,52 @@
1
+ import { FocusableOption } from '@angular/cdk/a11y';
2
+ import { Directionality } from '@angular/cdk/bidi';
3
+ import { BooleanInput } from '@angular/cdk/coercion';
4
+ import { ElementRef, EventEmitter, NgZone, OnDestroy } from '@angular/core';
5
+ import { Subject } from 'rxjs';
6
+ import { Toggler } from './menu-aim';
7
+ import { Menu } from './menu-interface';
8
+ import { CdkMenuTrigger } from './menu-trigger';
9
+ import { FocusableElement } from './pointer-focus-tracker';
10
+ import * as i0 from "@angular/core";
11
+ export declare class CdkMenuItem implements FocusableOption, FocusableElement, Toggler, OnDestroy {
12
+ protected readonly _dir: Directionality | null;
13
+ private readonly _inputModalityDetector;
14
+ readonly _elementRef: ElementRef<HTMLElement>;
15
+ protected _ngZone: NgZone;
16
+ private readonly _menuAim;
17
+ private readonly _menuStack;
18
+ private readonly _parentMenu;
19
+ private readonly _menuTrigger;
20
+ get disabled(): boolean;
21
+ set disabled(value: BooleanInput);
22
+ private _disabled;
23
+ typeaheadLabel: string | null;
24
+ readonly triggered: EventEmitter<void>;
25
+ get hasMenu(): boolean;
26
+ _tabindex: 0 | -1;
27
+ protected closeOnSpacebarTrigger: boolean;
28
+ protected readonly destroyed: Subject<void>;
29
+ constructor();
30
+ ngOnDestroy(): void;
31
+ focus(): void;
32
+ trigger(options?: {
33
+ keepOpen: boolean;
34
+ }): void;
35
+ isMenuOpen(): boolean;
36
+ getMenu(): Menu | undefined;
37
+ getMenuTrigger(): CdkMenuTrigger | null;
38
+ getLabel(): string;
39
+ _resetTabIndex(): void;
40
+ _setTabIndex(event?: MouseEvent): void;
41
+ _onKeydown(event: KeyboardEvent): void;
42
+ _handleClick(): void;
43
+ _handleMousedown(event: MouseEvent): void;
44
+ private _isStandaloneItem;
45
+ private _backArrowPressed;
46
+ private _forwardArrowPressed;
47
+ private _setupMouseEnter;
48
+ private _isParentVertical;
49
+ private _setType;
50
+ static ɵfac: i0.ɵɵFactoryDeclaration<CdkMenuItem, never>;
51
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CdkMenuItem, "[cdkMenuItem]", ["cdkMenuItem"], { "disabled": { "alias": "cdkMenuItemDisabled"; "required": false; }; "typeaheadLabel": { "alias": "cdkMenuitemTypeaheadLabel"; "required": false; }; }, { "triggered": "cdkMenuItemTriggered"; }, never, never, true, never>;
52
+ }
@@ -0,0 +1,16 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "@angular/cdk/overlay";
3
+ import * as i2 from "./menu-bar";
4
+ import * as i3 from "./menu";
5
+ import * as i4 from "./menu-item";
6
+ import * as i5 from "./menu-item-radio";
7
+ import * as i6 from "./menu-item-checkbox";
8
+ import * as i7 from "./menu-trigger";
9
+ import * as i8 from "./menu-group";
10
+ import * as i9 from "./context-menu-trigger";
11
+ import * as i10 from "./menu-aim";
12
+ export declare class CdkMenuModule {
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<CdkMenuModule, never>;
14
+ static ɵmod: i0.ɵɵNgModuleDeclaration<CdkMenuModule, never, [typeof i1.OverlayModule, typeof i2.CdkMenuBar, typeof i3.CdkMenu, typeof i4.CdkMenuItem, typeof i5.CdkMenuItemRadio, typeof i6.CdkMenuItemCheckbox, typeof i7.CdkMenuTrigger, typeof i8.CdkMenuGroup, typeof i9.CdkContextMenuTrigger, typeof i10.CdkTargetMenuAim], [typeof i2.CdkMenuBar, typeof i3.CdkMenu, typeof i4.CdkMenuItem, typeof i5.CdkMenuItemRadio, typeof i6.CdkMenuItemCheckbox, typeof i7.CdkMenuTrigger, typeof i8.CdkMenuGroup, typeof i9.CdkContextMenuTrigger, typeof i10.CdkTargetMenuAim]>;
15
+ static ɵinj: i0.ɵɵInjectorDeclaration<CdkMenuModule>;
16
+ }
@@ -0,0 +1,54 @@
1
+ import { InjectionToken, Optional } from '@angular/core';
2
+ import { Observable } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export declare const enum FocusNext {
5
+ nextItem = 0,
6
+ previousItem = 1,
7
+ currentItem = 2
8
+ }
9
+ export interface MenuStackItem {
10
+ menuStack?: MenuStack;
11
+ }
12
+ export declare const MENU_STACK: InjectionToken<MenuStack>;
13
+ export declare const PARENT_OR_NEW_MENU_STACK_PROVIDER: {
14
+ provide: InjectionToken<MenuStack>;
15
+ deps: Optional[][];
16
+ useFactory: (parentMenuStack?: MenuStack) => MenuStack;
17
+ };
18
+ export declare const PARENT_OR_NEW_INLINE_MENU_STACK_PROVIDER: (orientation: 'vertical' | 'horizontal') => {
19
+ provide: InjectionToken<MenuStack>;
20
+ deps: Optional[][];
21
+ useFactory: (parentMenuStack?: MenuStack) => MenuStack;
22
+ };
23
+ export interface CloseOptions {
24
+ focusNextOnEmpty?: FocusNext;
25
+ focusParentTrigger?: boolean;
26
+ }
27
+ export interface MenuStackCloseEvent {
28
+ item: MenuStackItem;
29
+ focusParentTrigger?: boolean;
30
+ }
31
+ export declare class MenuStack {
32
+ readonly id: string;
33
+ private readonly _elements;
34
+ private readonly _close;
35
+ private readonly _empty;
36
+ private readonly _hasFocus;
37
+ readonly closed: Observable<MenuStackCloseEvent>;
38
+ readonly hasFocus: Observable<boolean>;
39
+ readonly emptied: Observable<FocusNext | undefined>;
40
+ private _inlineMenuOrientation;
41
+ static inline(orientation: 'vertical' | 'horizontal'): MenuStack;
42
+ push(menu: MenuStackItem): void;
43
+ close(lastItem: MenuStackItem, options?: CloseOptions): void;
44
+ closeSubMenuOf(lastItem: MenuStackItem): boolean;
45
+ closeAll(options?: CloseOptions): void;
46
+ isEmpty(): boolean;
47
+ length(): number;
48
+ peek(): MenuStackItem | undefined;
49
+ hasInlineMenu(): boolean;
50
+ inlineMenuOrientation(): "vertical" | "horizontal" | null;
51
+ setHasFocus(hasFocus: boolean): void;
52
+ static ɵfac: i0.ɵɵFactoryDeclaration<MenuStack, never>;
53
+ static ɵprov: i0.ɵɵInjectableDeclaration<MenuStack>;
54
+ }
@@ -0,0 +1,33 @@
1
+ import { ConnectedPosition, OverlayRef } from '@angular/cdk/overlay';
2
+ import { TemplatePortal } from '@angular/cdk/portal';
3
+ import { EventEmitter, InjectionToken, Injector, OnDestroy, TemplateRef, ViewContainerRef } from '@angular/core';
4
+ import { Subject } from 'rxjs';
5
+ import { Menu } from './menu-interface';
6
+ import { MenuStack } from './menu-stack';
7
+ import * as i0 from "@angular/core";
8
+ export declare const MENU_TRIGGER: InjectionToken<CdkMenuTriggerBase>;
9
+ export declare abstract class CdkMenuTriggerBase implements OnDestroy {
10
+ readonly injector: Injector;
11
+ protected readonly viewContainerRef: ViewContainerRef;
12
+ protected readonly menuStack: MenuStack;
13
+ menuPosition: ConnectedPosition[] | null;
14
+ readonly opened: EventEmitter<void>;
15
+ readonly closed: EventEmitter<void>;
16
+ menuTemplateRef: TemplateRef<unknown> | null;
17
+ menuData: unknown;
18
+ protected overlayRef: OverlayRef | null;
19
+ protected readonly destroyed: Subject<void>;
20
+ protected readonly stopOutsideClicksListener: import("rxjs").Observable<void>;
21
+ protected childMenu?: Menu;
22
+ private _menuPortal;
23
+ private _childMenuInjector?;
24
+ ngOnDestroy(): void;
25
+ isOpen(): boolean;
26
+ registerChildMenu(child: Menu): void;
27
+ protected getMenuContentPortal(): TemplatePortal<any> | null;
28
+ protected isElementInsideMenuStack(element: Element): boolean;
29
+ private _destroyOverlay;
30
+ private _getChildMenuInjector;
31
+ static ɵfac: i0.ɵɵFactoryDeclaration<CdkMenuTriggerBase, never>;
32
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CdkMenuTriggerBase, never, never, {}, {}, never, never, false, never>;
33
+ }
@@ -0,0 +1,34 @@
1
+ import { OnDestroy } from '@angular/core';
2
+ import { Menu } from './menu-interface';
3
+ import { CdkMenuTriggerBase } from './menu-trigger-base';
4
+ import * as i0 from "@angular/core";
5
+ export declare class CdkMenuTrigger extends CdkMenuTriggerBase implements OnDestroy {
6
+ private readonly _elementRef;
7
+ private readonly _overlay;
8
+ private readonly _ngZone;
9
+ private readonly _directionality;
10
+ private readonly _inputModalityDetector;
11
+ private readonly _parentMenu;
12
+ private readonly _menuAim;
13
+ constructor();
14
+ toggle(): void;
15
+ open(): void;
16
+ close(): void;
17
+ getMenu(): Menu | undefined;
18
+ _toggleOnKeydown(event: KeyboardEvent): void;
19
+ _handleClick(): void;
20
+ _setHasFocus(hasFocus: boolean): void;
21
+ private _subscribeToMouseEnter;
22
+ private _closeSiblingTriggers;
23
+ private _getOverlayConfig;
24
+ private _getOverlayPositionStrategy;
25
+ private _getOverlayPositions;
26
+ private _registerCloseHandler;
27
+ private _subscribeToOutsideClicks;
28
+ private _subscribeToMenuStackHasFocus;
29
+ private _subscribeToMenuStackClosed;
30
+ private _setRole;
31
+ private _setType;
32
+ static ɵfac: i0.ɵɵFactoryDeclaration<CdkMenuTrigger, never>;
33
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CdkMenuTrigger, "[cdkMenuTriggerFor]", ["cdkMenuTriggerFor"], { "menuTemplateRef": { "alias": "cdkMenuTriggerFor"; "required": false; }; "menuPosition": { "alias": "cdkMenuPosition"; "required": false; }; "menuData": { "alias": "cdkMenuTriggerData"; "required": false; }; }, { "opened": "cdkMenuOpened"; "closed": "cdkMenuClosed"; }, never, never, true, never>;
34
+ }
@@ -0,0 +1,17 @@
1
+ import { AfterContentInit, EventEmitter, OnDestroy } from '@angular/core';
2
+ import { CdkMenuBase } from './menu-base';
3
+ import * as i0 from "@angular/core";
4
+ export declare class CdkMenu extends CdkMenuBase implements AfterContentInit, OnDestroy {
5
+ private _parentTrigger;
6
+ readonly closed: EventEmitter<void>;
7
+ readonly orientation = "vertical";
8
+ readonly isInline: boolean;
9
+ constructor();
10
+ ngAfterContentInit(): void;
11
+ ngOnDestroy(): void;
12
+ _handleKeyEvent(event: KeyboardEvent): void;
13
+ private _toggleMenuFocus;
14
+ private _subscribeToMenuStackEmptied;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<CdkMenu, never>;
16
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CdkMenu, "[cdkMenu]", ["cdkMenu"], {}, { "closed": "closed"; }, never, never, true, never>;
17
+ }
@@ -0,0 +1,17 @@
1
+ import { ElementRef, QueryList } from '@angular/core';
2
+ import { Observable } from 'rxjs';
3
+ export interface FocusableElement {
4
+ _elementRef: ElementRef<HTMLElement>;
5
+ }
6
+ export declare class PointerFocusTracker<T extends FocusableElement> {
7
+ private readonly _items;
8
+ readonly entered: Observable<T>;
9
+ readonly exited: Observable<T>;
10
+ activeElement?: T;
11
+ previousElement?: T;
12
+ private readonly _destroyed;
13
+ constructor(_items: QueryList<T>);
14
+ destroy(): void;
15
+ private _getItemPointerEntries;
16
+ private _getItemPointerExits;
17
+ }
@@ -0,0 +1,16 @@
1
+ export * from './context-menu-trigger';
2
+ export * from './menu';
3
+ export * from './menu-aim';
4
+ export * from './menu-bar';
5
+ export * from './menu-base';
6
+ export * from './menu-group';
7
+ export * from './menu-interface';
8
+ export * from './menu-item';
9
+ export * from './menu-item-checkbox';
10
+ export * from './menu-item-radio';
11
+ export * from './menu-item-selectable';
12
+ export * from './menu-module';
13
+ export * from './menu-stack';
14
+ export * from './menu-trigger';
15
+ export * from './menu-trigger-base';
16
+ export * from './pointer-focus-tracker';
@@ -1,4 +1,5 @@
1
1
  export * from './bottom-sheet/public-api';
2
2
  export * from './dialog/public-api';
3
+ export * from './menu/public-api';
3
4
  export * from './toggletip/public-api';
4
5
  export * from './tooltip/public-api';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ethlete/cdk",
3
- "version": "2.8.0",
3
+ "version": "2.9.0",
4
4
  "exports": {
5
5
  ".": {
6
6
  "css": "./src/lib/styles/index.css",
@@ -19,9 +19,9 @@
19
19
  "peerDependencies": {
20
20
  "@angular/common": "^15.2.1 || ^16.0.0",
21
21
  "@angular/core": "^15.2.1 || ^16.0.0",
22
- "@ethlete/core": "2.7.2",
22
+ "@ethlete/core": "2.7.4",
23
23
  "@angular/animations": "16.1.1",
24
- "@ethlete/query": "4.3.3"
24
+ "@ethlete/query": "4.3.4"
25
25
  },
26
26
  "module": "fesm2022/ethlete-cdk.mjs",
27
27
  "typings": "index.d.ts",
@@ -0,0 +1,3 @@
1
+ .et-cursor-drag-scroll--scrolling * {
2
+ pointer-events: none !important;
3
+ }
@@ -1,3 +1,4 @@
1
1
  @import './cdk.css';
2
2
  @import './easing.css';
3
3
  @import './active-tab-underline.css';
4
+ @import './cursor-drag-scroll.css';