New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

entity-bottom-sheet

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

entity-bottom-sheet

A reusable bottom sheet for Expo/React Native apps

latest
Source
npmnpm
Version
1.3.3
Version published
Weekly downloads
10
400%
Maintainers
1
Weekly downloads
 
Created
Source

Entity Bottom Sheet

A lightweight, customizable bottom sheet component for React Native and Expo applications. Built with native components and animations for seamless integration.

Open Source Love svg1 contributions welcome

🛠️ Tech Stack

JavaScript TypeScript Node.js npm React Native

✨ Features

  • Smooth animations using React Native's Animated API
  • Drag-to-dismiss with configurable threshold
  • Customizable height, title, and header
  • Supports custom content via children prop
  • Compatible with Expo and bare React Native projects
  • No external dependencies

📦 Installation

Install the package via npm or yarn:

npm install entity-bottom-sheet
# or
yarn add entity-bottom-sheet

🚀 Usage

Example with Custom Header

import React, { useState } from 'react';
import { View, Button, Text } from 'react-native';
import BottomSheet from 'entity-bottom-sheet';

export default function App() {
  const [visible, setVisible] = useState(false);

  return (
    <View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
      <Button title="Open Bottom Sheet" onPress={() => setVisible(true)} />
      <BottomSheet
        visible={visible}
        onClose={() => setVisible(false)}
        title="My Bottom Sheet"
        heightRatio={0.5}
        header={<Text style={{ fontSize: 20, textAlign: 'center' }}>Custom Header</Text>}
      >
        <Text style={{ padding: 16 }}>Your custom content goes here!</Text>
      </BottomSheet>
    </View>
  );
}

Example with Default Title

import React, { useState } from 'react';
import { View, Button, Text } from 'react-native';
import BottomSheet from 'entity-bottom-sheet';

export default function App() {
  const [visible, setVisible] = useState(false);

  return (
    <View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
      <Button title="Open Bottom Sheet" onPress={() => setVisible(true)} />
      <BottomSheet
        visible={visible}
        onClose={() => setVisible(false)}
        title="Welcome Sheet"
        heightRatio={0.4}
      >
        <Text style={{ padding: 16 }}>Simple content without custom header.</Text>
      </BottomSheet>
    </View>
  );
}

⚙️ Props

PropTypeDefaultDescription
visiblebooleanRequiredControls visibility of the bottom sheet
onClosefunctionRequiredCallback triggered when sheet is dismissed
titlestring"Custom Bottom Sheet"Header title (used if header is not provided)
heightRationumber0.5Sheet height as a ratio of screen height (0–1)
childrenReactNodeRequiredContent to render inside the bottom sheet
headerReactNodenullCustom header component (replaces default title)

📜 License

MIT License © 2025 Bazil Suhail

See the LICENSE file for details.

🙌 Contributing

Contributions are welcome! Please open an issue or submit a pull request on GitHub.

🙏 Acknowledgements

Thanks to the React Native and Expo community for inspiration and support.

Keywords

react-native

FAQs

Package last updated on 07 Sep 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