1.0.1 • Published 2 years ago

react-native-swipeable-snackbar v1.0.1

Weekly downloads
2
License
MIT
Repository
github
Last release
2 years ago

react-native-snackbar

Snackbar is use for displaying a brief message to the user, along with an optional action button. Snackbar animate up from the bottom of the screen and then disappear shortly afterward. This repo provides snackbar that can appear from bottom or top as per requirements.

It is a simple React-native library, works for both Android and IOS.

You have to Just import it and use it. Its has dependency on react-native-simple-events. It is a minimalist implementation of snackbar. It is small and fast.

Introduced Swipe feature.
As the snackbar appears you can swipe over the snackbar to hide it. 
This looks good in app and works great with minimal implementation of code. 

Installation

If your are using npm

npm install react-native-swipeable-snackbar --save

If your are using yarn

yarn add react-native-swipeable-snackbar

Implementation and Usage

import SnackBar from 'react-native-swipeable-snackbar';

<View style={{flxe:1}}>
    {/*......................Root App code............................*/}
     <SnackBar
        id={'SnackBar_Root_App'}
        position={'top'}
        backgroundColor={'green'}
        textColor={'black'}
        buttonColor={'yellow'}
        marginFromTop={30}
      />
</View>
import {showSnackBar, showSnackBarWithButton} from 'react-native-swipeable-snackbar';

showSnackBar({
    message: "Your custom message text here",
    textColor: '#FFF', // message text color
    position: 'top',  // enum(top/bottom).
    confirmText: 'OK', // button text.
    buttonColor: '#03a9f4', // default button text color
    duration: 4000,   // (in ms), duartion for which snackbar is visible.
    animationTime: 250, // time duration in which snackbar will complete its open/close animation.
    backgroundColor:"#323232", //background color for snackbar
    onConfirm: () => {},    //  perform some task here on snackbar button press.
  });
  
showSnackBarWithButton("Demo snackbar", null, {
  position: 'bottom',
  buttonColor: 'black',
  backgroundColor: 'red'
});

showSnackBarWithButton("Demo snackbar", ()=>{});

example

import React, {Component} from "react";
import {StyleSheet, View, TouchableOpacity} from "react-native";
import Snackbar, {showSnackBar} from '@prince8verma/react-native-snackbar'

export default class Demo extends Component {

    onPress = () => {
        showSnackBar({
            message: "Hello World",
            position: 'top',
            confirmText: 'OK',
            backgroundColor: "#323232",
            duration: 6000,
            onConfirm: () => {
                alert('hi')
            }
        });
    };

    render() {
        return (
            <View style={styles.container}>
                <TouchableOpacity
                    style={{backgroundColor: 'red'}}
                    onPress={this.onPress}>
                    <Text style={styles.welcome}>
                        show snackbar
                    </Text>
                </TouchableOpacity>
                {/* place snackbar code en the end of the root component*/}
                <Snackbar id={"root_app"}/>
            </View>
        );
    }
}

const styles = StyleSheet.create({
    container: {
        flex: 1,
        justifyContent: 'center',
        alignItems: 'center',
        backgroundColor: '#F5FCFF',
    }
});

Supported option in showSnackBar function call:

propertytypedefaultdescription
messageString""Message shown in snackbar.
textColorString"#FFF"message text color
positionenum("top"/"bottom")"bottom"position of snackbar
confirmTextString"OK"button text.
buttonColorString"#03a9f4"default button text color
durationNumber5000time in ms, duartion for which snackbar is visible
animationTimeNumber250time in ms, duration in which snackbar will complete its open/close animation.
backgroundColorString"#323232"background color for snackbar
onConfirmfunctionundefinedperform some task here on snackbar button press.

Supported Props in Snackbar Component.

propertytypedefaultdescription
idString'123456789'Unique is for the snackbar
positionenum('top'/'bottom')'bottom'Default position of snackbar
marginFromTopNumber0Default margin space from top, if Position is 'top'
backgroundColorString"#323232"Default background color of the snackbar
textColorString"#FFF"Default color of the Message text
buttonColorString"#03a9f4"Default button text color
textStyleObject{textAlign: 'left', fontSize: 14}Default textStyle for the message and button text
animationTimeNumber250time in ms, duration in which snackbar will complete its open/close animation
maxHeightNumber48Max height of the snackbar
durationNumber4000Time in ms, duartion for which snackbar is visible

Links

github link : https://github.com/prince-verma/react-native-swipeable-snackbar

npm link : https://www.npmjs.com/package/react-native-swipeable-snackbar