sweetalert2

A beautiful, responsive, highly customizable and accessible (WAI-ARIA) replacement for JavaScript's popup boxes. Zero dependencies.


:shipit: The author of SweetAlert2 (@limonte) is looking for short-term to medium-term working contracts in front-end, preferably OSS.


:point_right: Upgrading from v8.x to v9.x? Read the release notes!
If you're upgrading from v7.x, please upgrade from v7 to v8 first!
If you're upgrading from v6.x, please upgrade from v6 to v7 first!

:point_right: Migrating from SweetAlert? SweetAlert 1.x to SweetAlert2 migration guide


Installation

npm install --save sweetalert2

Or grab from jsdelivr CDN
:

<script src="https://cdn.jsdelivr.net/npm/sweetalert2@9"></script>

Usage

<script src="sweetalert2/dist/sweetalert2.all.min.js"></script>

<!-- Include a polyfill for ES6 Promises (optional) for IE11 -->
<script src="https://cdn.jsdelivr.net/npm/promise-polyfill9/dist/polyfill.js"></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')

Or with JS modules:

<link rel="stylesheet" href="sweetalert2/dist/sweetalert2.css">

<script type="module">
  import Swal from 'sweetalert2/src/sweetalert2.js'
</script>

It's possible to import JS and CSS separately, e.g. if you need to customize styles:

import Swal from 'sweetalert2/dist/sweetalert2.js'

import 'sweetalert2/src/sweetalert2.scss'

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.fire('Hello world!')

A message signaling an error:

Swal.fire('Oops...', 'Something went wrong!', 'error')

Handling the result of SweetAlert2 modal:

Swal.fire({
  title: 'Are you sure?',
  text: 'You will not be able to recover this imaginary file!',
  icon: 'warning',
  showCancelButton: true,
  confirmButtonText: 'Yes, delete it!',
  cancelButtonText: 'No, keep it'
}).then((result) => {
  if (result.value) {
    Swal.fire(
      '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.fire(
      'Cancelled',
      'Your imaginary file is safe :)',
      'error'
    )
  }
})

Go here to see the docs and more examples ↗

Browser compatibility

IE11*, Edge, Chrome, Firefox, Safari, Opera, UC Browser
-------, ------, --------, ---------, --------, -------, ------------
:heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, * 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.

Themes (sweetalert2-themes ↗)

Collaborators

, , ,
-, -, -, -, @gverni, @zenflow, @toverux, @acupajoe

Contributing

Maintainability
semantic-release

If you would like to contribute enhancements or fixes, please do the following:

  1. Fork the sweetalert2 repository and clone it locally.

  2. Make sure you have npm or yarn installed.

  3. When in the SweetAlert2 directory, run npm install or yarn install to install dependencies.

  4. To begin active development, run npm start or yarn start. This does several things for you:

  • Builds the dist folder
  • Serves sandbox.html @ http://localhost:8080/ (browser-sync ui: http://localhost:8081/)
  • Serves unit tests @ http://localhost:3000
  • Re-builds, re-loads and re-tests as necessary when files change

Big Thanks

Sponsors

, , , , ,
-, -, -, -, -, -
Become a sponsor, FlowCrypt, SexualAlpha (NSFW), STED (NSFW), YourDoll (NSFW), STC (NSFW)

, , ,
-, -, -, -
SebaEBC, LoveLoxy (NSFW), Bingato (NSFW 18+), RealSexDoll (NSFW)

Support and Donations

Has SweetAlert2 helped you create an amazing application? You can show your support by making a donation:

  • GitHub Sponsors :heart:
  • PayPal
  • PayPal.me
  • Bitcoin: 16Z7RvFv7PsV3XzFvchYwPnRfw9KeLTZQJ
  • Ether: 0x192096161eB2273f12b1cB4E31aBB09Bfc03a7F3
  • Bitcoin Cash: qz28x66hrljtdz3052p8ya3cmkwwva5avy0msz2ej3
  • Stellar: GDUM4VJZYDNRHBTKUQBOPC374AP6MMMVOJDMSHIPEJPEMBCY4ZHH6NDY

Hall of Donators :trophy:

主要指標

概覽
名稱與所有者sweetalert2/sweetalert2
主編程語言JavaScript
編程語言CSS (語言數: 6)
平台
許可證MIT License
所有者活动
創建於2015-01-03 16:15:52
推送於2024-10-20 16:28:54
最后一次提交
發布數775
最新版本名稱v11.14.4 (發布於 )
第一版名稱v0.0.1 (發布於 )
用户参与
星數17.3k
關注者數216
派生數1.6k
提交數3.2k
已啟用問題?
問題數1652
打開的問題數10
拉請求數916
打開的拉請求數1
關閉的拉請求數169
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?