0.0.5 • Published 6 years ago

react-native-material-drawer v0.0.5

Weekly downloads
9
License
MIT
Repository
github
Last release
6 years ago

react-native-material-drawer

React Native Material Drawer for iOS, Android, Web, Electron, and other platforms. If you need more cross-platform material components, check out Material Bread.

Storybook Demos

Modal Drawer

Push Drawer

Permanent

Table of Contents

Installation

npm install react-native-material-drawer --save

Usage

import React, { Component } from 'react';
import { View, Text, TouchableOpacity } from 'react-native';
import { Drawer } from 'react-native-material-drawer';

const styles = {
  container: {
    width: '100%',
  },
  body: {
    backgroundColor: '#eee',
  },
};

class App extends Component {
  constructor(props) {
    super(props)
    this.state = {
      isOpen: false
    }
  }
  render() {
    return (
      <View style={styles.container}>
        <Drawer
          open={this.state.isOpen}
          drawerContent={<View><Text>Drawer Content</Text></View>}
          onClose={() => this.setState({ isOpen: false })}
          animationTime={250}>
          <View style={styles.body}>
             <View style={{ marginTop: 20, alignItems: 'center', width: '100%', flex: 1 }}>
              <Text style={{ marginBottom: 20 }}>
                This is a page
              </Text>
              <TouchableOpacity onTouch={() => this.setState({ isOpen: !this.state.isOpen })}>
                <Text>Toggle</Text>
              </TouchableOpacity>
            </View>
          </View>
        </Drawer>
      </View>
    );
  }
}

Props

NameDescriptionTypeDefault
animationTimeHow long the drawer animation should be, in msnumber200
appbarRender appbar above drawer and page content for clipping purposesnode
contentContainerStyleStyles wrapper around page contentobject
drawerContentComponents displayed inside the drawernode
drawerStyleStyles drawerobject
fullHeightDrawer takes up full height of the page so conent is not scrolledboolfalse
onCloseCallback when clicking outside of drawerfunc
pageHeightOverride calculated pageHeight, useful for demos as shownnumberScreenHeight
pageWidthOverride calculated pageWidth, useful pages that do not take up full spacenumberScreenWidth
positionPosition of drawerstringabsolute
openWhether drawer is shown or hiddenboolfalse
styleStyles container elementobject
scrimWhether scrim is shownbooltrue
scrimColorColor of scrimobjectblack
scrimOpacityThe ending opacity for the scimnumber.4
typeDetermines the type of drawer from modal, push, and permanenentstringmodal
widthSpecific drawer width in pixels, will override widthPercentagenumber240
widthPercentagePercentage of pageWidth the drawer should take up0-1.40