saleor-dashboard/src/components/MenuToggle.tsx
2019-06-19 16:40:52 +02:00

44 lines
769 B
TypeScript

import * as React from "react";
interface MenuToggleProps {
ariaOwns?: string;
children: ((
props: {
actions: {
open: () => void;
close: () => void;
};
open: boolean;
}
) => React.ReactElement<any>);
}
interface MenuToggleState {
open: boolean;
}
class MenuToggle extends React.Component<MenuToggleProps, MenuToggleState> {
state = {
open: false
};
handleClick = () => {
this.setState({ open: true });
};
handleClose = () => {
this.setState({ open: false });
};
render() {
const { children } = this.props;
const { open } = this.state;
return children({
actions: { open: this.handleClick, close: this.handleClose },
open
});
}
}
export default MenuToggle;