UNPKG

reactjs-alert

Version:

reactjs-alert is a lightweight and customizable alert component for React.js applications. Easily create success, warning, error, or info alerts with a clean UI, custom colors, and auto-close functionality. Ideal for enhancing user notifications and impro

266 lines (201 loc) 7.79 kB
# reactjs-alert: Lightweight Customizable React.js Alert Component ![npm](https://img.shields.io/npm/dt/reactjs-alert?style=flat-square) ![NPM](https://img.shields.io/npm/l/reactjs-alert?style=flat-square) ![npm](https://img.shields.io/npm/v/reactjs-alert?style=flat-square) ![Dependents (via libraries.io)](https://img.shields.io/github/stars/sourav-oss/reactjs-alert) ![npm collaborators](https://img.shields.io/twitter/url?style=social&url=https%3A%2F%2Ftwitter.com%2F_DuttaSourav) **Simple, lightweight, customizable React.js alert component for better user notifications. <br> <i>An advance and unique alert for React.js applications - `reactjs-alert`. </i>** <blockquote> reactjs-alert is a simple, lightweight, flexible and customizable React.js alert component that helps developers create customizable alerts with ease. It supports multiple alert types like success, warning, error, and info, and comes with options for custom colors, auto-close, and quotes. Ideal for improving user engagement and enhancing notification systems in React applications. Get started in minutes with npm install reactjs-alert. </blockquote> --- ## 🚀 Installation Install the package via npm: ```bash npm install --save reactjs-alert ``` Or with shorthand: ```bash npm i reactjs-alert ``` --- ### 📫 Available Alert Types | **Alert Type** | **Description** | **Color** | **Usage Syntax** | |:----------------|:-------------------------------------------|:----------------|:---------------| | **Success** | Indicates a successful action or completion. | `#00c12c` | **`success`** | | **Warning** | Cautions the user about a potential issue. | `#ff9900` | **`warning`** | | **Error** | Indicates a serious issue that requires attention. | `#de1327` | **`error`** | | **Critical** | Highlights a severe issue that demands immediate action e.g. system outages, security concerns, or urgent messages. | `#a71d31` | **`critical`** | | **Confirmation** | Provides feedback when a user confirms an action. | `#2a8a2e` | **`confirm`** | | **Notice** | Used for maintenance updates or informational notices. | `#51bfd0` | **`notice`** | | **Information** | Displays general information or guidance. | `#00b0ff` | **`info`** | --- ## 🧩 Example Usage with Props ```jsx <ReactJsAlert status={true} type="error" title="Oops! Something went wrong." color="#ff4d4f" isQuotes={true} quote="Please try again later." Close={() => setStatus(false)} /> ``` --- ## ⚙️ Available Props | Prop Name | Type | Description | Required | |-----------------|-----------|------------------------------------------------|:---------:| | `status` | Boolean | Controls alert visibility (`true` / `false`) | **Yes** | | `title` | String | Main message text displayed as title | **Yes** | | `type` | String | Alert type: choose one of the option from **`Available Alert Types`** | **Yes** | | `color` | String | Custom background color (`Hex code e.g. #de1327`) | No | | `isQuotes` | Boolean | Displays additional quote text (`true` / `false`) | No | | `quote` | String | The additional quote message if `isQuotes = true` | No | | `button` | String | Custom button text (`e.g. "Try Again", "Submit"`) | No | | `autoCloseIn` | Number | Automatically close the alert after X milliseconds | No | | `Close` (method) | Function | Callback method to manually close the alert | **Yes** | --- ## 📸 Example Screenshot ![Example Screenshot](./reactjs-alert-sample.png) --- ## 📋 How to Use `reactjs-alert` provides an intuitive way to display alerts for different types like **success**, **warning**, **error**, and **info**. Simply import the component and configure it using the available props. ### Class Component Example ```jsx import React, { Component } from "react"; import ReactJsAlert from "reactjs-alert"; export default class App extends Component { constructor(props) { super(props); this.state = { type: "success", status: true, title: "Hey! This is a success alert.", }; } render() { return ( <div> <ReactJsAlert status={this.state.status} type={this.state.type} title={this.state.title} Close={() => this.setState({ status: false })} /> </div> ); } } ``` --- ### Functional Component Example ```jsx import React, { useState } from "react"; import ReactJsAlert from "reactjs-alert"; export default function App() { const [status, setStatus] = useState(false); const [type, setType] = useState("success"); const [title, setTitle] = useState("This is a success alert"); return ( <div> <button onClick={() => { setStatus(true); setType("success"); setTitle("This is a success alert"); }} > Show Alert </button> <ReactJsAlert status={status} type={type} title={title} Close={() => setStatus(false)} /> </div> ); } ``` --- ## 🔗 Peer Dependencies Ensure these dependencies are present in your project: ```json "peerDependencies": { "react": "^16.13.1", "react-dom": "^16.13.1" } ``` --- ## 💻 Example with Multiple Alerts ### Class Component Example ```jsx import React, { Component } from "react"; import ReactJsAlert from "reactjs-alert"; export default class App extends Component { constructor(props) { super(props); this.state = { type: "error", status: true, title: "Oops! Something went wrong.", }; } render() { return ( <div> <ReactJsAlert status={this.state.status} type={this.state.type} title={this.state.title} Close={() => this.setState({ status: false })} /> </div> ); } } ``` --- ### Functional Component Example ```jsx import React, { useState } from "react"; import ReactJsAlert from "reactjs-alert"; export default function App() { const [status, setStatus] = useState(false); const [type, setType] = useState(""); const [title, setTitle] = useState(""); return ( <div> <button onClick={() => { setStatus(true); setType("info"); setTitle("This is an info alert!"); }} > Show Info Alert </button> <ReactJsAlert status={status} type={type} title={title} isQuotes={true} quote="This is an example of a ReactJs alert." Close={() => setStatus(false)} /> </div> ); } ``` --- ## 🤝 Contributing Contributions are welcome! If you have suggestions, improvements, or feature requests, feel free to fork the repository, raise issues, or submit pull requests. --- ## ⭐ Support If you find this package helpful, consider giving it a on [GitHub](https://github.com/sourav-oss). --- ## 📢 Follow Me For updates, projects, and announcements, follow me on [Linkedin](https://in.linkedin.com/in/sourav-dutta-133a95149). You can also follow me on [Twitter](https://twitter.com/_DuttaSourav). --- **Built with ❤️ by Sourav Dutta 😊** ### Happy Coding! 🚀