UNPKG

faim

Version:

Element Plus & Element UI isomorphic UI component library, more than Element.

140 lines (139 loc) 3.52 kB
import Swal from "sweetalert2"; function success() { const [titleOrOptions, html, icon] = arguments; if (!titleOrOptions) { console.error("Parameter is empty"); return; } const options = typeof titleOrOptions === "string" ? { title: titleOrOptions, ...html && { html }, ...icon && { icon } } : titleOrOptions; return Swal.fire({ icon: "success", toast: true, timer: 2e3, didOpen: (toast) => { toast.addEventListener("mouseenter", Swal.stopTimer); toast.addEventListener("mouseleave", Swal.resumeTimer); }, position: "top", showConfirmButton: false, ...options }); } function info() { const [titleOrOptions, html, icon] = arguments; if (!titleOrOptions) { console.error("Parameter is empty"); return; } const options = typeof titleOrOptions === "string" ? { title: titleOrOptions, ...html && { html }, ...icon && { icon } } : titleOrOptions; return Swal.fire({ icon: "info", toast: true, timer: 3e3, timerProgressBar: true, didOpen: (toast) => { toast.addEventListener("mouseenter", Swal.stopTimer); toast.addEventListener("mouseleave", Swal.resumeTimer); }, showConfirmButton: false, ...options }); } function warning() { const [titleOrOptions, html, icon] = arguments; if (!titleOrOptions) { console.error("Parameter is empty"); return; } const options = typeof titleOrOptions === "string" ? { title: titleOrOptions, ...html && { html }, ...icon && { icon } } : titleOrOptions; return Swal.fire({ icon: "warning", backdrop: false, confirmButtonColor: "#66b1ff", timer: 5e3, timerProgressBar: true, didOpen(toast) { toast.addEventListener("mouseenter", Swal.stopTimer); toast.addEventListener("mouseleave", Swal.resumeTimer); }, ...options }); } function error() { const [titleOrOptions, html, icon] = arguments; if (!titleOrOptions) { console.error("Parameter is empty"); return; } const options = typeof titleOrOptions === "string" ? { title: titleOrOptions, ...html && { html }, ...icon && { icon } } : titleOrOptions; return Swal.fire({ icon: "error", allowOutsideClick: false, confirmButtonColor: "#66b1ff", ...options }); } function confirm() { const [titleOrOptions, html, icon] = arguments; if (!titleOrOptions) { console.error("Parameter is empty"); return; } const options = typeof titleOrOptions === "string" ? { title: titleOrOptions, ...html && { html }, ...icon && { icon } } : titleOrOptions; return new Promise((resolve, reject) => { Swal.fire({ icon: "question", confirmButtonColor: "#66b1ff", showCancelButton: true, reverseButtons: true, allowOutsideClick: false, ...options }).then((e) => { if (e.isConfirmed) { resolve(e); } else { reject(e); } }); }); } function loading() { const [titleOrOptions, html, icon] = arguments; const options = typeof titleOrOptions === "string" ? { title: titleOrOptions, ...html && { html }, ...icon && { icon } } : titleOrOptions; return Swal.fire({ showCancelButton: false, allowOutsideClick: false, allowEscapeKey: false, background: "transparent", width: "unset", didOpen() { Swal.showLoading(); }, ...options }); } export default Object.assign(Swal, { success, warning, info, error, confirm, loading });