react-native-customisable-alert v0.1.20
Installation
To install the latest version of react-native-customisable-alert you only need to run:
npm install --save react-native-customisable-alertor
yarn add react-native-customisable-alertTry it out
You can find the examples above on src/examples
Basic Usage
This component was meant to be used globally, so you only need to import it once in your App.js:
import React from "react";
import { View } from "react-native";
import CustomisableAlert from "react-native-customisable-alert";
export default class App extends React.Component {
render() {
return (
<View style={{ flex: 1 }}>
... all your stuff
<CustomisableAlert
titleStyle={{
fontSize: 18,
fontWeight: "bold"
}}
/>
</View>
);
}
}After that all you need is to call showAlert or closeAlert methods from anywhere in your app.
Show some alert
To fire an alert just call showAlert(obj) as below:
import React from "react";
import { View, Button } from "react-native";
import { showAlert } from "react-native-customisable-alert";
class OtherScreen extends React.Component {
render() {
return (
<View style={{ flex: 1 }}>
<Button
onPress={() => {
showAlert({
title="Are you sure?"
message: "All your files will be deleted!",
alertType: 'warning',
onPress: () => console.log('files deleted!'),
});
}}
/>
</View>
);
}
}When you call showAlert you should pass some attributes to customize your alert:
| Property | Type | Description |
|---|---|---|
| title | string | The title of your alert |
| message | string | The message of your alert |
| btnLabel | string | Button label for the one button alert ('error' or success' alertTypes), default='Ok' |
| leftBtnLabel | string | Left button label for two buttons alerts ('warning' alertTypes), default='Cancel' |
| customAlert | React.Component | Define a custom alert (this will replace the whole thing!) |
| customIcon | React.Component | Set a custom icon for your alert. If you want no icon in your alert use customIcon:'none' |
| alertType | 'error', 'success', 'warning', 'custom' | Define the type of the alert |
| onPress | (): void | Button pressed callback (one button alerts or right button in a two buttons alerts) |
| onDismiss | (): void | Close alert button callback (left button in a two buttons alerts) |
| animationIn | Animation | Overhides global animation for an entrance animation |
| animationOut | Animation | Overhides global animation for an exit animation |
| dismissable | boolean | Overhides global dismissable behavior. If true it closes the alert when touch outside, default false |
| modalProps | ModalProps | Overhides global modal props from react-native-modal |
All alerts are set to close automatically when any button pressed, but for custom and warning alertTypes you need close it programatically as the example below:
import React from "react";
import { View, Button } from "react-native";
import { showAlert, closeAlert } from "react-native-customisable-alert";
class OtherScreen extends React.Component {
render() {
return (
<View style={{ flex: 1 }}>
<Button
onPress={() => {
showAlert({
customAlert: (
<View>
<Text>Could you tell us your name?</Text>
<TextInput />
<View>
<Button
title="Cancel"
onPress={() => closeAlert()}
/>
<Button
title="Send"
onPress={() => {}}
/>
</View>
</View>
)
});
}}
/>
</View>
);
}
}Global Props
You can set a default style for all your alerts with the following:
| Property | Type | Description |
|---|---|---|
| defaultTitle | string | Set a default title for all alerts you call, default='Title' |
| backdropStyle | ViewStyle | Style for the alert backdrop |
| alertContainerStyle | ViewStyle | Style for the alert container |
| titleStyle | TextStyle | Style for the title |
| textStyle | TextStyle | Style for the message |
| btnStyle | TouchableOpacityProps | Style for all buttons or one button alert type |
| btnLeftStyle | TouchableOpacityProps | Style for the left button ('warning' alertTypes), overrides btnStyle |
| btnRightStyle | TouchableOpacityProps | Style for the right button ('warning' alertTypes), overrides btnStyle |
| btnLabelStyle | TextStyle | Style for the label of the buttons |
| btnLeftLabelStyle | TextStyle | Style for the left label button |
| btnRightLabelStyle | TextStyle | Style for the right label button |
| defaultLeftBtnLabel | string | Set a default label for the left button, default='Cancel' |
| defaultRightBtnLabel | string | Set a default label for the right button, default='Ok' |
| defaultType | 'error' | 'success' | 'warning' | 'custom' | Set a default type for your alert, default='error' |
| animationIn | Animation | Set a default entrance animation for your alert |
| animationOut | Animation | Set a default exit animation for your alert |
| dismissable | boolean | If true alert auto dismiss when touch outside, default=false |
| defaultWarningIcon | React.Component | Set a default icon for you warning messages |
| defaultSuccessIcon | React.Component | Set a default icon for you success messages |
| defaultErrorIcon | React.Component | Set a default icon for you error messages |
| modalProps | ModalProps | Set a global modal props from react-native-modal |
License
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago