Package Exports
- sweetalert2
- sweetalert2/dist/sweetalert2
- sweetalert2/dist/sweetalert2.css
- sweetalert2/dist/sweetalert2.js
- sweetalert2/dist/sweetalert2.min.css
- sweetalert2/dist/sweetalert2.min.js
- sweetalert2/src/utils/dom
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (sweetalert2) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
A beautiful, responsive, customizable, accessible (WAI-ARIA) replacement for JavaScript's popup boxes. Zero dependencies.
👉 Upgrading from v6.x to v7.x? Read the release notes!
👉 Migrating from SweetAlert? SweetAlert 1.x to SweetAlert2 migration guide
Installation
npm install --save sweetalert2Or:
bower install --save sweetalert2Or download from CDN: jsdelivr.net/npm/sweetalert2
Usage
<script src="sweetalert2/dist/sweetalert2.all.min.js"></script>
<!-- Include a polyfill for ES6 Promises (optional) for IE11, UC Browser and Android browser support -->
<script src="https://cdn.jsdelivr.net/npm/promise-polyfill"></script>You can also include the stylesheet separately if desired:
<script src="sweetalert2/dist/sweetalert2.min.js"></script>
<link rel="stylesheet" href="sweetalert2/dist/sweetalert2.min.css">Or:
// ES6 Modules or TypeScript
import Swal from 'sweetalert2'
// CommonJS
const Swal = require('sweetalert2')Please note that TypeScript is well-supported, so you don't have to install a third-party declaration file.
Examples
The most basic message:
Swal('Hello world!')A message signaling an error:
Swal('Oops...', 'Something went wrong!', 'error')Handling the result of SweetAlert2 modal:
Swal({
title: 'Are you sure?',
text: 'You will not be able to recover this imaginary file!',
type: 'warning',
showCancelButton: true,
confirmButtonText: 'Yes, delete it!',
cancelButtonText: 'No, keep it'
}).then((result) => {
if (result.value) {
Swal(
'Deleted!',
'Your imaginary file has been deleted.',
'success'
)
// For more information about handling dismissals please visit
// https://sweetalert2.github.io/#handling-dismissals
} else if (result.dismiss === Swal.DismissReason.cancel) {
Swal(
'Cancelled',
'Your imaginary file is safe :)',
'error'
)
}
})Go here to see the docs and more examples ↗
Browser compatibility
| IE11* | Edge | Chrome | Firefox | Safari | Opera | Android Browser* | UC Browser* |
|---|---|---|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
* ES6 Promise polyfill should be included, see usage example.
Note that SweetAlert2 does not and will not provide support or functionality of any kind on IE10 and lower.
Related projects
- ngx-sweetalert2 - Angular 4+ integration
- sweetalert2-react-content - React integration
- sweetalert2-webpack-demo - webpack demo
- sweetalert2-parcel-demo - overriding SCSS variables demo
Related community projects
- avil13/vue-sweetalert2 - Vue.js wrapper
- softon/sweetalert - Laravel 5 Package
Collaborators
| @zenflow | @toverux | @acupajoe | @samturrell | @birjolaxew |
Contributors
This project exists thanks to all the people who contribute.
Contributing
If you would like to contribute enhancements or fixes, please do the following:
Fork the
sweetalert2repository and clone it locally.When in the SweetAlert2 directory, run
npm installoryarn installto install dependencies.To begin active development, run
npm startoryarn start. This does several things for you:
- Lints your code
- Builds the
distfolder - Serves sandbox.html @ http://localhost:8080/ (browser-sync ui: http://localhost:8081/)
- Serves unit tests @ http://localhost:3000
- Re-lints, re-builds, re-loads and re-tests as necessary when files change
Donations
Has SweetAlert2 helped you create an amazing application? You can show your support by making a donation in one of several ways:
