UNPKG

rmwc

Version:

A thin React wrapper for Material Design (Web) Components

149 lines (122 loc) 3.38 kB
# Drawers > A navigation drawer slides in from the left and contains the navigation destinations for your app. import from **rmwc/Drawer** [https://material.io/components/web/catalog/drawers/](https://material.io/components/web/catalog/drawers/) ## Permanent Drawers These are drawers that are permanently fixed inside of a view. [https://material.io/components/web/catalog/drawers/#permanent-drawer-usage](https://material.io/components/web/catalog/drawers/#permanent-drawer-usage) ```jsx render import { Drawer, DrawerHeader, DrawerContent } from 'rmwc/Drawer'; import { List, ListItem, ListItemText } from 'rmwc/List'; <Drawer permanent> <DrawerHeader> DrawerHeader </DrawerHeader> <DrawerContent> <ListItem> <ListItemText>Cookies</ListItemText> </ListItem> <ListItem> <ListItemText>Pizza</ListItemText> </ListItem> <ListItem> <ListItemText>Icecream</ListItemText> </ListItem> </DrawerContent> </Drawer> ``` --- ## Persistent Drawers These are drawers that can be toggled to an open or closed state inside of a view, but still takes up viewable space when clsoed. [https://material.io/components/web/catalog/drawers/#persistent-drawer-usage](https://material.io/components/web/catalog/drawers/#persistent-drawer-usage) ```jsx render import { Drawer, DrawerHeader, DrawerContent } from 'rmwc/Drawer'; import { ListItem, ListItemText } from 'rmwc/List'; import { Button } from 'rmwc/Button'; <Drawer persistent open={this.state.persistentOpen == undefined ? true : this.state.persistentOpen}> <DrawerHeader> DrawerHeader </DrawerHeader> <DrawerContent> <ListItem> <ListItemText>Cookies</ListItemText> </ListItem> <ListItem> <ListItemText>Pizza</ListItemText> </ListItem> <ListItem> <ListItemText>Icecream</ListItemText> </ListItem> </DrawerContent> </Drawer> <Button onClick={() => this.setState({persistentOpen: this.state.persistentOpen === undefined ? false : !this.state.persistentOpen})} raised > Toggle Drawer </Button> ``` --- ## Temporary Drawers These are drawers that can be temporarily displayed fixed on the side of the entire viewport. [https://material.io/components/web/catalog/drawers/#temporary-drawer-usage](https://material.io/components/web/catalog/drawers/#temporary-drawer-usage) ```jsx render import { Drawer, DrawerHeader, DrawerContent } from 'rmwc/Drawer'; import { ListItem, ListItemText } from 'rmwc/List'; import { Button } from 'rmwc/Button'; <Drawer temporary open={this.state.tempOpen} onClose={() => this.setState({tempOpen: false})} > <DrawerHeader> DrawerHeader </DrawerHeader> <DrawerContent> <ListItem> <ListItemText>Cookies</ListItemText> </ListItem> <ListItem> <ListItemText>Pizza</ListItemText> </ListItem> <ListItem> <ListItemText>Icecream</ListItemText> </ListItem> </DrawerContent> </Drawer> <Button onClick={() => this.setState({tempOpen: !this.state.tempOpen})} raised > Toggle Drawer </Button> ``` ```jsx renderOnly import { DocumentComponent } from 'rmwc/Base/utils/DocumentComponent'; <DocumentComponent displayName="Drawer" /> <DocumentComponent displayName="DrawerToolbarSpacer" /> <DocumentComponent displayName="DrawerHeader" /> <DocumentComponent displayName="DrawerContent" /> ```