mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-06-03 06:27:46 +08:00
add react-burger-menu definitions
This commit is contained in:
53
types/react-burger-menu/index.d.ts
vendored
Normal file
53
types/react-burger-menu/index.d.ts
vendored
Normal 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 { }
|
||||
21
types/react-burger-menu/react-burger-menu-tests.tsx
Normal file
21
types/react-burger-menu/react-burger-menu-tests.tsx
Normal 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>
|
||||
);
|
||||
}
|
||||
}
|
||||
24
types/react-burger-menu/tsconfig.json
Normal file
24
types/react-burger-menu/tsconfig.json
Normal 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"
|
||||
]
|
||||
}
|
||||
1
types/react-burger-menu/tslint.json
Normal file
1
types/react-burger-menu/tslint.json
Normal file
@@ -0,0 +1 @@
|
||||
{ "extends": "dtslint/dt.json" }
|
||||
Reference in New Issue
Block a user