saleor-dashboard/src/components/MenuToggle.tsx
2019-12-02 16:33:58 +01:00

42 lines
742 B
TypeScript

import 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: { close: this.handleClose, open: this.handleClick },
open
});
}
}
export default MenuToggle;