1.0.6 • Published 5 years ago

docking-bottom-sheet v1.0.6

Weekly downloads
8
License
MIT
Repository
github
Last release
5 years ago

docking-bottom-sheet NPM version Build Status

Demo link: https://github.com/iamrajatsoni/DockingBottomSheet/tree/master/demo

DockingBottomSheet offers a React Native component that takes in 2 types of content views as props. One is Main content view and the other is Bottom-Sheet content view. Initially Main view is the active view when Bottom-Sheet is docked at the bottom. It can also be expanded and docked at the top by dragging or using function expandBottomSheet(). Once expanded, dockBottomSheet() function can be used to programmatically dock the rendered bottom-sheet. Various other props are exposed that can be used to customise DockingBottomSheet depending on one's requirement.

Installation

$ npm i docking-bottom-sheet

Import and Basic Usage

Import

import DockingBottomSheet from 'docking-bottom-sheet'
var DockingBottomSheet = require('docking-bottom-sheet');

Basic Usage

<DockingBottomSheet
    ref={ (bottomSheetRef)=> this.bottomSheetRef = bottomSheetRef }
    containerStyle={ <style object> }
    dockHeight={ <number> }
    sheetExpandedTopOffset={ <number> }
    sheetDarknessAlpha={ <float (0 to 1)> }
    mainViewDownScale={ <float (0 to 1)> }
    mainContentView={ <function that returns UI elements> }
    bottomSheetContentView={ <function that returns UI elements> }
/>

Props

  • containerStyle Object: Styling for View that holds main-view and bottom-sheet views. default: { flex: 1 }

  • dockHeight Number: Visible height of bottom-sheet when it is docked at the bottom. default: 96

  • sheetExpandedTopOffset Number: Top-offset of bottom-sheet in its expanded state. default: 128

  • sheetDarknessAlpha Float: The final background darkness alpha of bottom-sheet when its completely expanded. default: 0.7

  • mainViewDownScale Float: The final scale-down value of View [main-view] behind bottom-sheet scales down when its completely expanded. default: 0.9

  • mainContentView Function: Function that returns View[main-view] to be rendered behind bottom-sheet. default: () => null

  • bottomSheetContentView Function: Function that returns View to be rendered as bottom-sheet Note: the bottom-sheet itself is a scroll-view so do not pass scroll-view as parent view-element to this prop. default: () => null

Functions

  • expandBottomSheet(): Used to programmatically expand bottom-sheet. eg. bottomSheetRef.expandBottomSheet()

  • dockBottomSheet(): Used to programmatically dock bottom-sheet at the bottom. eg. bottomSheetRef.dockBottomSheet()

Note

  • Bottom-Sheet's parent is a React Native ScrollView, hence avoid passing ScrollView as root component to prop bottomSheetContentView.

License

MIT © Rajat Soni