add react-burger-menu definitions

This commit is contained in:
rajab
2017-06-25 00:39:23 +03:00
parent 0f3c8218dd
commit c678a29fc7
4 changed files with 99 additions and 0 deletions

53
types/react-burger-menu/index.d.ts vendored Normal file
View File

@@ -0,0 +1,53 @@
// Type definitions for react-burger-menu 2.1
// Project: https://github.com/negomi/react-burger-menu
// Definitions by: Rajab Shakirov <https://github.com/radziksh>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
import * as React from "react";
interface Props {
burgerBarClassName?: string;
burgerButtonClassName?: string;
crossButtonClassName?: string;
crossClassName?: string;
customBurgerIcon?: Element | false;
customCrossIcon?: Element | false;
id?: string;
isOpen?: boolean;
itemListClassName?: string;
menuClassName?: string;
morphShapeClassName?: string;
noOverlay?: boolean;
onStateChange?(): void;
// TODO (Rajab) This can be improved, though I do not know how. From PropTypes:
// styles && styles.outerContainer ? PropTypes.string.isRequired : PropTypes.string
outerContainerId?: string;
overlayClassName?: string;
// TODO (Rajab) This can be improved, though I do not know how. From PropTypes:
// styles && styles.pageWrap ? PropTypes.string.isRequired : PropTypes.string,
pageWrapId?: string;
right?: boolean;
styles?: {
bmBurgerButton: CSSStyleDeclaration;
bmBurgerBars: CSSStyleDeclaration;
bmCrossButton: CSSStyleDeclaration;
bmCross: CSSStyleDeclaration;
bmMenu: CSSStyleDeclaration;
bmMorphShape: CSSStyleDeclaration;
bmItemList: CSSStyleDeclaration;
bmOverlay: CSSStyleDeclaration;
};
width?: number | string;
}
declare class ReactBurgerMenu extends React.Component<Props, {}> { }
export class slide extends ReactBurgerMenu { }
export class stack extends ReactBurgerMenu { }
export class elastic extends ReactBurgerMenu { }
export class bubble extends ReactBurgerMenu { }
export class push extends ReactBurgerMenu { }
export class pushRotate extends ReactBurgerMenu { }
export class scaleDown extends ReactBurgerMenu { }
export class scaleRotate extends ReactBurgerMenu { }
export class fallDown extends ReactBurgerMenu { }

View File

@@ -0,0 +1,21 @@
import * as React from 'react';
import { slide as Menu } from 'react-burger-menu';
class Example extends React.Component {
showSettings(event: {
preventDefault: Function;
}) {
event.preventDefault();
}
render() {
return (
<Menu>
<a id="home" className="menu-item" href="/">Home</a>
<a id="about" className="menu-item" href="/about">About</a>
<a id="contact" className="menu-item" href="/contact">Contact</a>
<a onClick={this.showSettings} className="menu-item--small" href="">Settings</a>
</Menu>
);
}
}

View File

@@ -0,0 +1,24 @@
{
"compilerOptions": {
"module": "commonjs",
"lib": [
"es6",
"dom"
],
"noImplicitAny": true,
"noImplicitThis": true,
"strictNullChecks": true,
"baseUrl": "../",
"typeRoots": [
"../"
],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true,
"jsx": "react"
},
"files": [
"index.d.ts",
"react-burger-menu-tests.tsx"
]
}

View File

@@ -0,0 +1 @@
{ "extends": "dtslint/dt.json" }