Gathering detailed insights and metrics for react-native-actions-sheet-web
Gathering detailed insights and metrics for react-native-actions-sheet-web
Gathering detailed insights and metrics for react-native-actions-sheet-web
Gathering detailed insights and metrics for react-native-actions-sheet-web
npm install react-native-actions-sheet-web
Typescript
Module System
Node Version
NPM Version
Cumulative downloads
Total Downloads
Last Day
0%
2
Compared to previous day
Last Week
0%
8
Compared to previous week
Last Month
125%
45
Compared to previous month
Last Year
231.7%
272
Compared to previous year
npm install react-native-actions-sheet-web --save
OR
yarn add react-native-actions-sheet-web
It's very simple to use the ActionSheet. Import the ActionSheet & SheetManager.
1import React from "react"; 2import ActionSheet, { SheetManager } from "react-native-actions-sheet-web";
Create your ActionSheet component and give it a unique id.
1<ActionSheet id="helloworld_sheet"> 2 <View> 3 <Text>Hello World</Text> 4 </View> 5</ActionSheet>
Open the ActionSheet from anywhere in the app.
1SheetManager.show("helloworld_sheet");
Want to pass some data on opening the sheet or update the state?
1SheetManager.show("helloworld_sheet",{value:"Hello World"}); 2 3<ActionSheet 4onBeforeShow={(data) => { 5 setData(data); 6}} 7id="helloworld_sheet">
Hiding the sheet is easy. Enable gestures or do the following.
1await SheetManager.hide("helloworld_sheet");
Close all opened ActionSheets
1SheetManager.hideAll();
If you are using the library in one of your projects, consider supporting with a star. It takes a lot of time and effort to keep this maintained and address issues and bugs. Thank you.
id
A unique id for the ActionSheet. You must set this if you are using SheetManager
.
Type | Required |
---|---|
id | false |
ref
Assigns a ref to ActionSheet component to use methods.
Type | Required |
---|---|
ref | false |
testID
Test ID for unit testing
Type | Required |
---|---|
string | no |
initialOffsetFromBottom
Use if you want to show the ActionSheet Partially on Opening. **Requires gestureEnabled=true
**
Type | Required |
---|---|
number | no |
Default: 1
extraScroll
Normally when the ActionSheet is fully opened, a small portion from the bottom is hidden by default. Use this prop if you want the ActionSheet to hover over the bottom of screen and not hide a little behind it.
Type | Required |
---|---|
number | no |
Default: 0
indicatorStyle
Style the top indicator bar in ActionSheet.
Type | Required |
---|---|
ViewStyle | no |
containerStyle
Any custom styles for the container.
Type | Required |
---|---|
Object | no |
delayActionSheetDraw
Delay draw of ActionSheet on open for android.
Type | Required |
---|---|
boolean | no |
Default: false
delayActionSheetDrawTime
Delay draw of ActionSheet on open for android time.
Type | Required |
---|---|
number (ms) | no |
Default: 50
CustomHeaderComponent
Your custom header component. Using this will hide the default indicator.
Type | Required |
---|---|
React. ReactNode | no |
ExtraOverlayComponent
Render a component over the ActionSheet. Useful for rendering Toast components with which user can interact.
Type | Required |
---|---|
React. ReactNode | no |
headerAlwaysVisible
Keep the header always visible even when gestures are disabled.
Type | Required |
---|---|
boolean | no |
Default: false
animated
Animate the opening and closing of ActionSheet.
Type | Required |
---|---|
boolean | no |
Default: true
openAnimationSpeed
Speed of opening animation. Higher means the ActionSheet will open more quickly. Use it in combination with bounciness
prop to have optimize the bounce/spring effect on ActionSheet open.
Type | Required |
---|---|
number | no |
Default: 12
closeAnimationDuration
Duration of closing animation.
Type | Required |
---|---|
number | no |
Default: 300
gestureEnabled
Enables gesture control of ActionSheet
Type | Required |
---|---|
boolean | no |
Default: false
closeOnTouchBackdrop
Control closing ActionSheet by touching on backdrop.
Type | Required |
---|---|
boolean | no |
Default: true
bounceOnOpen
Bounces the ActionSheet on open.
Type | Required |
---|---|
boolean | no |
Default: false
bounciness
How much you want the ActionSheet to bounce when it is opened.
Type | Required |
---|---|
number | no |
Default: 8
springOffset
When touch ends and user has not moved farther from the set springOffset, the ActionSheet will return to previous position.
Type | Required |
---|---|
number | no |
Default: 50
elevation
Add elevation to the ActionSheet container.
Type | Required |
---|---|
number | no |
Default: 0
indicatorColor
Color of the gestureEnabled Indicator.
Type | Required |
---|---|
string | no |
Default: "#f0f0f0"
overlayColor
Color of the overlay/backdrop.
Type | Required |
---|---|
string | no |
Default: "black"
defaultOverlayOpacity
Default opacity of the overlay/backdrop.
Type | Required |
---|---|
number 0 - 1 | no |
Default: 0.3
closable
Prevent ActionSheet from closing on gesture or tapping on backdrop. Instead snap it to bottomOffset
location
Type | Required |
---|---|
boolean | no |
Default: true
bottomOffset
Snap ActionSheet to this location if closable
is set to false. By default it will snap to the location on first open.
Type | Required |
---|---|
number | no |
Default: 0
keyboardShouldPersistTaps
Setting the keyboard persistence of the ScrollView
component. Should be one of "never", "always" or "handled"
Type | Required |
---|---|
string | no |
Default: never
keyboardHandlerEnabled
Allow to choose will content change position when keyboard is visible. This is enabled by default.
Type | Required |
---|---|
boolean | no |
Default: true
keyboardDismissMode
Set how keyboard should behave on tapping the ActionSheet.
Type | Required |
---|---|
"on-drag" "none" "interactive" | no |
Default : "none"
statusBarTranslucent
Determine whether the modal should go under the system statusbar.
Type | Required |
---|---|
boolean | no |
Default: true
closeOnPressBack
Will the ActionSheet close on hardwareBackPress
event.
Type | Required |
---|---|
boolean | no |
Default: true
drawUnderStatusBar
Allow ActionSheet to draw under the StatusBar. This is enabled by default.
Type | Required |
---|---|
boolean | no |
Default: false
onPositionChanged(onReachedTop:boolean)
Event called when position of ActionSheet changes.
Type | Required |
---|---|
function | no |
onClose
Event called when the ActionSheet closes.
Type | Required |
---|---|
function | no |
onOpen
An event called when the ActionSheet Opens.
Type | Required |
---|---|
function | no |
Methods require you to set a ref on ActionSheet Component.
handleChildScrollEnd()
If your component includes any child ScrollView/FlatList you must attach this method to all scroll end callbacks.
1 2<ScrollView 3 ref={scrollViewRef} 4 nestedScrollEnabled={true} 5 onMomentumScrollEnd={() => 6 actionSheetRef.current?.handleChildScrollEnd() 7 } 8..... 9
show()
Opens the ActionSheet.
1import ActionSheet from "react-native-actions-sheet-web"; 2import React, { createRef } from "react"; 3 4const actionSheetRef = createRef(); 5 6// First create a ref on your <ActionSheet/> Component. 7<ActionSheet ref={actionSheetRef} />; 8 9// then later in your function to open the ActionSheet: 10 11actionSheetRef.current?.show();
hide()
Closes the ActionSheet.
1import ActionSheet from "react-native-actions-sheet-web"; 2import React, { createRef } from "react"; 3 4const actionSheetRef = createRef(); 5 6// First create a ref on your <ActionSheet/> Component. 7<ActionSheet ref={actionSheetRef} />; 8 9// then later in your function to open the ActionSheet: 10 11actionSheetRef.current?.hide();
setModalVisible
ActionSheet can be opened or closed using its ref.
1import ActionSheet from "react-native-actions-sheet-web"; 2import React, { createRef } from "react"; 3 4const actionSheetRef = createRef(); 5 6// First create a ref on your <ActionSheet/> Component. 7<ActionSheet ref={actionSheetRef} />; 8 9// then later in your function to open the ActionSheet: 10 11actionSheetRef.current?.setModalVisible();
setModalVisible(visible)
It's also possible to explicitly either show or hide modal.
1import ActionSheet from "react-native-actions-sheet-web"; 2import React, { createRef } from "react"; 3 4const actionSheetRef = createRef(); 5// First create a ref on your <ActionSheet/> Component. 6<ActionSheet ref={actionSheetRef} />; 7 8// then to show modal use 9actionSheetRef.current?.setModalVisible(true); 10 11// and later you may want to hide it using 12actionSheetRef.current?.setModalVisible(false);
snapToOffset(offset:number)
When the ActionSheet is open, you can progammatically snap it to different offsets.
1import ActionSheet from "react-native-actions-sheet-web"; 2import React, { createRef } from "react"; 3 4const actionSheetRef = createRef(); 5// First create a ref on your <ActionSheet/> Component. 6<ActionSheet ref={actionSheetRef} />; 7 8// snap to this location on screen 9actionSheetRef.current?.snapToOffset(200); 10 11actionSheetRef.current?.snapToOffset(150); 12 13actionSheetRef.current?.snapToOffset(300);
Nested scrolling on android is disabled by default. You can enable it as done below.
1import ActionSheet from "react-native-actions-sheet-web"; 2 3const App = () => { 4 const actionSheetRef = useRef(); 5 6 return ( 7 <ActionSheet ref={actionSheetRef}> 8 <ScrollView 9 nestedScrollEnabled={true} 10 onMomentumScrollEnd={() => 11 actionSheetRef.current?.handleChildScrollEnd() 12 } 13 /> 14 </ActionSheet> 15 ); 16};
Support it by donating or joining stargazers for this repository. ⭐️ and follow me for my next creations!
No vulnerabilities found.