1.1.0 • Published 2 years ago

react-native-gesture-bottom-sheet v1.1.0

Weekly downloads
24
License
ISC
Repository
github
Last release
2 years ago

React Native Gesture Bottom Sheet

Need a lightweight and easy-to-use bottom sheet component? Here it is!

A cross-platform Bottom Sheet component which supports gestures.

npm.io

  • Checkout the example/ folder for use example.

Features

  • Smooth animations and gestures
  • Highly customizable
  • Very lightweight

Installation

Open a Terminal in the project root and run:

yarn add react-native-gesture-bottom-sheet

Quick Start

import React, { useRef } from "react";
import { SafeAreaView, TouchableOpacity, Text, StyleSheet } from "react-native";
import BottomSheet from "react-native-gesture-bottom-sheet";

const Example = () => {
  // Needed in order to use .show()
  const bottomSheet = useRef();

  return (
    <SafeAreaView style={styles.container}>
      <BottomSheet hasDraggableIcon ref={bottomSheet} height={600} />
      <TouchableOpacity
        style={styles.button}
        onPress={() => bottomSheet.current.show()}
      >
        <Text style={styles.text}>Open modal</Text>
      </TouchableOpacity>
    </SafeAreaView>
  );
};

const styles = StyleSheet.create({
  button: {
    height: 50,
    width: 150,
    backgroundColor: "#140078",
    justifyContent: "center",
    alignItems: "center",
    borderRadius: 20,
    shadowColor: "#8559da",
    shadowOpacity: 0.7,
    shadowOffset: {
      height: 4,
      width: 4,
    },
    shadowRadius: 5,
    elevation: 6,
  },
  text: {
    color: "white",
    fontWeight: "600",
  },
  container: {
    flex: 1,
    justifyContent: "center",
    alignItems: "center",
  },
});

export default Example;

Props

namerequireddefaultTypedescription
heightYesintegerDetermines the panel size.
radiusNo10integerDetermines the radius of the top borders.
hasDraggableIconNofalsebooleanControls visibility of the draggable icon on top of the modal.
draggableNotruebooleanSpecify whether the panel is draggable or not.
backgroundColorNo#25252599stringChange the color of the overlay.
sheetBackgroundColorNo#F3F3F3stringChange the background of the panel.