GithubHelp home page GithubHelp logo

chcepe / react-simple-bottom-sheet Goto Github PK

View Code? Open in Web Editor NEW
12.0 1.0 1.0 574 KB

A simple bottom sheet component for your React apps - best for PWAs. Built with framer-motion.

Home Page: https://chcepe.github.io/react-simple-bottom-sheet/

License: MIT License

JavaScript 14.44% HTML 6.63% TypeScript 78.15% CSS 0.77%
react react-pwa pwa bottomsheet bottom-sheet react-bottom-sheet

react-simple-bottom-sheet's Introduction

React Simple Bottom Sheet ๐ŸŽ‰

A simple bottom sheet component for your React apps - best for PWAs ๐Ÿ”ฅ

Preview

Installation ๐Ÿš€

This library is built with framer-motion and styled-components therefore you have to install first these two dependencies on your project.

npm install framer-motion styled-components or yarn add framer-motion styled-components

then

npm install react-simple-bottom-sheet or yarn add react-simple-bottom-sheet

Sample Usage ๐Ÿ’ป

import React from "react";
import { bottomSheet } from "react-simple-bottom-sheet";

export  default  function App() {
    const handleOpen = () => bottomSheet.create({
	    content: (<p>Hello world!</p>),
    });
    return <button onClick={handleOpen}>Open</button>
}

You can check example/src folder to know more!

API ๐Ÿ‘‹

  • bottomSheet.create(createConfig)
  • bottomSheet.close(closeConfig)
  • bottomSheet.isOpen(id)

The properties of config are as follows:

create({...})

Property Description Type Default
id Unique identifier of the bottom sheet string "default"
content Main content of bottom sheet (required) ReactNode -
header Header content of bottom sheet ReactNode -
footer Footer content of bottom sheet ReactNode -
dragHandle Draggable elements of bottom sheet ['content' | 'header | 'footer' | 'mask'] ['header', 'mask']
onClose function Trigger when bottom sheet is closed -
onOpen function Trigger when bottom sheet is opened -
darkMode boolean Changes the appearance of bottom sheet to dark mode false
maskClosable boolean Whether to close the modal dialog when the mask (area outside the bottom sheet) is clicked true
debug boolean Enables debug mode to show the draggable areas false

close({...})

Property Description Type Default
id Unique identifier of the bottom sheet that needs to be closed string "default"
callback Specifies the function that will be called after the bottom sheet is closed function -

isOpen(id)

Property Description Type Default
id Unique identifier of the bottom sheet that needs to be checked if it's open. string "default"

Note ๐Ÿ—’

Putting clickable elements such as Buttons, Inputs, etc. on draggable areas is not possible as of the moment - still working on it.

Donation ๐Ÿ™

If this project help you reduce time to develop, you can give me a cup of โ˜•๏ธ or โ˜•๏ธ :)

Paypal donate button

License ๐Ÿ™Œ

Copyright (c) 2021 chcepe.github.io

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.