0.0.10 • Published 6 months ago

jeinch-sweetalert2-wrapper v0.0.10

Weekly downloads
-
License
MIT
Repository
-
Last release
6 months ago

Jeinch SweetAlert2 Wrapper

A lightweight wrapper for SweetAlert2, providing five modular functions: swalSuccess, swalWarning, swalError, swalInfo, and swalConfirm. This package allows you to easily display alerts with global options and flexible parameters. It supports global options configuration for seamless integration with frameworks like Vite and Nuxt. Optimized for JavaScript and TypeScript for Frontend Template build by Jeinch.


Installation

Install the package via npm or yarn:

npm install jeinch-sweetalert2-wrapper

Or using pnpm:

pnpm add jeinch-sweetalert2-wrapper

Features

  • Modular functions: Each function serves a specific type of alert. Easy-to-use wrapper functions:
    • swalSuccess: Displays an alert with a success icon.
    • swalWarning: Displays an alert with a warning icon.
    • swalError: Displays an alert with an error icon.
    • swalInfo: Displays an alert with an info icon.
    • swalConfirm: Displays an alert with a confirmation icon.
  • HTML support: Pass HTML strings directly for rich content.
  • Global configuration: Define global options once and reuse them across all alerts.
  • Sanitization: Automatic sanitization of all parameters using DOMPurify to prevent XSS vulnerabilities.
  • Default titles: Each alert type has a predefined title.

Usage

Importing the Functions

You can import the specific functions you need:

import { swalSuccess, swalError, swalInfo, swalWarning, swalConfirm, setGlobalOptions } from 'jeinch-sweetalert2-wrapper';

Example Usages

Simple Alerts

swalSuccess('This is a success message!');
swalError('An error occurred.');
swalInfo('Here is some information.');
swalWarning('Be cautious!');

Alerts with Options

swalSuccess('<span style="color: green;">Success with HTML!</span>', { showCancelButton: true });
swalConfirm('Are you sure?', { confirmButtonText: 'Proceed', cancelButtonText: 'Cancel' })
  .then((result) => {
    if (result.isConfirmed) {
      console.log('User confirmed!');
    } else {
      console.log('User canceled!');
    }
  });

Global Options

Define global options once in your project:

import { setGlobalOptions } from 'jeinch-sweetalert2-wrapper';

setGlobalOptions({
  confirmButtonColor: '#3085d6',
  cancelButtonColor: '#d33',
});

Now, all alerts will use these global settings unless overridden.

Preventing XSS with Automatic Sanitization

The wrapper automatically sanitizes all HTML inputs using DOMPurify. Example:

swalError('<img src=x onerror=alert("XSS")>'); // Malicious code

Will be sanitized to:

swalError('<img src="x">'); // Sanitized code

The above malicious code will be sanitized, ensuring application security.

Default Titles

Each alert type has a default title:

  • swalSuccess: "Success"
  • swalError: "Error"
  • swalInfo: "Info"
  • swalWarning: "Warning"
  • swalConfirm: "Are you sure?"

TypeScript Support

This package provides type definitions for all exported functions, ensuring compatibility with TypeScript projects.


License

This package is licensed under the MIT License. MIT

0.0.10

6 months ago

0.0.9

6 months ago

0.0.8

6 months ago

0.0.7

6 months ago

0.0.6

6 months ago

0.0.5

6 months ago

0.0.4

6 months ago

0.0.3

6 months ago

0.0.2

6 months ago

0.0.1

6 months ago