You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

@masumdev/bottom-sheet

Package Overview
Dependencies
Maintainers
0
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install
Package was removed
Sorry, it seems this package was removed from the registry

@masumdev/bottom-sheet

A highly customizable and gesture-responsive bottom sheet component for React Native applications.

1.0.11
unpublished
latest
Source
npmnpm
Version published
Weekly downloads
0
Maintainers
0
Weekly downloads
 
Created
Source

@masumdev/bottom-sheet

A highly customizable and gesture-responsive bottom sheet component for React Native applications.

Demo

Toast Demo Iphone Toast Demo

Youtube Tutorial

React Native Toast Demo

Features

  • 🎯 Customizable snap points (10% to 90% of screen height)
  • 🎨 Customizable background and backdrop colors
  • 📱 iOS and Android back gesture/button handling
  • 💫 Smooth animations and gestures using react-native-reanimated
  • 🔄 Context-based state management
  • 📜 Scrollable content support
  • 🔝 Dynamic height adjustment
  • 🎯 Title and content management through hooks
  • 🛡️ Safe area support

Installation

Prerequisites

Make sure you have these peer dependencies installed in your React Native project:

{
  "react": "^18.3.1",
  "react-native": "^0.76.7",
  "react-native-reanimated": "^3.16.7",
  "react-native-gesture-handler": "^2.20.2",
  "react-native-safe-area-context": "^4.12.0",
  "@react-navigation/native": "^6.x"
}

Using npm

npm install @masumdev/bottom-sheet

Using yarn

yarn add @masumdev/bottom-sheet

Using bun

bun add @masumdev/bottom-sheet

Using pnpm

pnpm add @masumdev/bottom-sheet

Basic Usage

  • Wrap your app with BottomSheetProvider:
import React from 'react';
import { View } from 'react-native';
import { BottomSheetProvider } from '@masumdev/bottom-sheet';

export default function App() {
  return (
    <BottomSheetProvider>
      <View style={{ flex: 1 }}>
        {/* Your app content */}
      </View>
    </BottomSheetProvider>
  );
}
  • Use the useBottomSheet hook in your components:
import React from 'react';
import { View, Text, Button } from 'react-native';
import { useBottomSheet } from '@masumdev/bottom-sheet';

export default function MyComponent() {
  const { expand, setContent, setSheetTitle } = useBottomSheet('50%');

  const showProfile = () => {
    setSheetTitle('Profile Details');
    setContent(
      <View>
        <Text>Name: John Doe</Text>
        <Button title="Close" onPress={close} />
      </View>
    );
    expand();
  };

  return (
    <View>
      <Button title="Show Profile" onPress={showProfile} />
    </View>
  );
}

Advanced Usage

Custom Configuration

import { BottomSheetProvider } from '@masumdev/bottom-sheet';

<BottomSheetProvider
  defaultSnapTo="50%"
  maxSnapTo="80%"
  backgroundColor="#F5F5F5"
  backDropColor="rgba(0,0,0,0.7)"
  onStateChange={(isOpen) => console.log('Sheet is open:', isOpen)}
>
  <App />
</BottomSheetProvider>

Dynamic Height Adjustment

import { useBottomSheet } from '@masumdev/bottom-sheet';

const { expand, setContent } = useBottomSheet();

const showHalfSheet = () => {
  setContent(<Text>Half Sheet Content</Text>);
  expand('50%'); // Override default height
};

API Reference

BottomSheetProvider Props

PropTypeDefaultDescription
defaultSnapTostring'70%'Default height of the bottom sheet
maxSnapTostring'90%'Maximum height the bottom sheet can expand to
backgroundColorstring'#FFFFFF'Background color of the bottom sheet
backDropColorstring'rgba(0,0,0,0.5)'Color of the backdrop overlay
onStateChangefunction-Callback when bottom sheet state changes

useBottomSheet Hook

The hook returns an object with the following methods:

MethodTypeDescription
isOpenbooleanCurrent state of the bottom sheet
isLoadingbooleanLoading state of the bottom sheet
expandfunctionOpens the bottom sheet with optional height
closefunctionCloses the bottom sheet
togglefunctionToggles the bottom sheet state
setContentfunctionSets the content of the bottom sheet
setSheetTitlefunctionSets the title of the bottom sheet
setSnapTofunctionSets the height of the bottom sheet

License

MIT

Keywords

react-native

FAQs

Package last updated on 20 Mar 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts