Skip to content
This repository was archived by the owner on Oct 7, 2020. It is now read-only.

Commit 5587eb2

Browse files
committed
feat(menu): Initial commit for MDC menu foundation integration
1 parent 96890fb commit 5587eb2

File tree

2 files changed

+49
-0
lines changed

2 files changed

+49
-0
lines changed

src/components/menu/index.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import { NgModule } from '@angular/core';
2+
import { CommonModule } from '@angular/common';
3+
4+
import { MenuComponent } from './menu';
5+
import { MenuItemDirective } from './menu-item';
6+
7+
const MENU_COMPONENTS = [
8+
MenuComponent,
9+
MenuItemDirective
10+
];
11+
12+
@NgModule({
13+
imports: [CommonModule],
14+
exports: [MENU_COMPONENTS],
15+
declarations: [MENU_COMPONENTS],
16+
})
17+
export class MenuModule { }

src/components/menu/menu-adapter.d.ts

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
interface MDCMenuAdapter {
2+
addClass: (string) => void
3+
removeClass: (string) => void
4+
hasClass: (string) => void
5+
hasNecessaryDom: () => boolean
6+
getInnerDimensions: () => { width: number, height: number }
7+
hasAnchor: () => boolean
8+
getAnchorDimensions: () => { width: number, height: number, top: number, right: number, bottom: number, left: number }
9+
getWindowDimensions: () => { width: number, height: number }
10+
setScale: (x: number, y: number) => void
11+
setInnerScale: (x: number, y: number) => void
12+
getNumberOfItems: () => number
13+
registerInteractionHandler: (type: string, handler: EventListener) => void
14+
deregisterInteractionHandler: (type: string, handler: EventListener) => void
15+
registerDocumentClickHandler: (handler: EventListener) => void
16+
deregisterDocumentClickHandler: (handler: EventListener) => void
17+
getYParamsForItemAtIndex: (index: number) => { top: number, height: number }
18+
setTransitionDelayForItemAtIndex: (index: number, value: string) => void
19+
getIndexForEventTarget: (target: EventTarget) => number
20+
notifySelected: (evtData: { index: number }) => void
21+
notifyCancel: () => void
22+
saveFocus: () => void
23+
restoreFocus: () => void
24+
isFocused: () => boolean
25+
focus: () => void
26+
getFocusedItemIndex: () => number
27+
focusItemAtIndex: (index: number) => void
28+
isRtl: () => boolean
29+
setTransformOrigin: (origin: string) => void
30+
setPosition: (position: { top: string, right: string, bottom: string, left: string }) => void
31+
getAccurateTime: () => number
32+
}

0 commit comments

Comments
 (0)