SweetAlert2

A beautiful and customizable replacement for Javascript's "Alert"

So... What does it do?

Here’s a comparison of a standard error message. The first one uses the built-in alert-function, while the second is using SweetAlert2.

Normal alert

Code:
alert('Oops... Something went wrong!');

    

SweetAlert2

Code:
sweetAlert('Oops...', 'Something went wrong!', 'error');

Pretty cool huh? SweetAlert2 automatically centers itself on the page and looks great no matter if you're using a desktop computer, mobile or tablet. It's even highly customizeable, as you can see below!

More examples

In these examples, we're using the shorthand function swal.

Download & install

Method 1: Install through bower:

$ bower install sweetalert2

Method 2: Download the sweetAlert2 CSS and JavaScript files.

Download files
  1. Initialize the plugin by referencing the necessary files:

    <script src="dist/sweetalert2.min.js"></script>
      <link rel="stylesheet" type="text/css" href="dist/sweetalert2.css">
  2. Call the sweetAlert2-function after the page has loaded

            swal({
                title: 'Error!',
                text: 'Do you want to continue',
                type: 'error',
                confirmButtonText: 'Cool'
            });
          

Configuration

Here are the keys that you can use if you pass an object into sweetAlert2:

Argument
Default value
Description
title null The title of the modal. It can either be added to the object under the key "title" or passed as the first parameter of the function.
text null A description for the modal. It can either be added to the object under the key "text" or passed as the second parameter of the function.
html null A HTML description for the modal. If "text" and "html" parameters are provided in the same time, "text" will be used.
type null The type of the modal. SweetAlert2 comes with 4 built-in types which will show a corresponding icon animation: "warning", "error", "success" and "info". It can either be put in the array under the key "type" or passed as the third parameter of the function.
customClass null A custom CSS class for the modal. It can be added to the object under the key "customClass".
animation true If set to false, modal CSS animation will be disabled.
allowOutsideClick true If set to false, the user can't dismiss the modal by clicking outside it.
allowEscapeKey true If set to true, the user can dismiss the modal by pressing the Escape key.
showConfirmButton true If set to false, a "Confirm"-button will not be shown. It can be useful when you're using custom HTML description.
showCancelButton false If set to true, a "Cancel"-button will be shown, which the user can click on to dismiss the modal.
confirmButtonText "OK" Use this to change the text on the "Confirm"-button.
cancelButtonText "Cancel" Use this to change the text on the "Cancel"-button.
confirmButtonColor "#3085d6" Use this to change the background color of the "Confirm"-button (must be a HEX value).
cancelButtonColor "#aaa" Use this to change the background color of the "Cancel"-button (must be a HEX value).
confirmButtonClass null A custom CSS class for the confirm button.
cancelButtonClass null A custom CSS class for the cancel button.
closeOnConfirm true Set to false if you want the modal to stay open even if the user presses the "Confirm"-button. This is especially useful if the function attached to the "Confirm"-button is another SweetAlert2.
imageUrl null Add a customized icon for the modal. Should contain a string with the path to the image.
imageSize "80x80" If imageUrl is set, you can specify imageSize to describes how big you want the icon to be in px. Pass in a string with two values separated by an "x". The first value is the width, the second is the height.
timer null Auto close timer of the modal. Set in ms (milliseconds).
width 500 Modal window width, including paddings (box-sizing: border-box).
padding 20 Modal window padding.
background "#fff" Modal window background (CSS background property).

Contribute

Feel free to fork SweetAlert2 on GitHub if you have any features that you want to add!