-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsweetconfirm.min.js
11 lines (10 loc) · 1.29 KB
/
sweetconfirm.min.js
1
2
3
4
5
6
7
8
9
10
11
/*
2021 Vic Sh?stak <[email protected]> (https://shostak.dev)
@author Vic Sh?stak
@param {HTMLElement} element
@param {CallableFunction} callback
@param {Object} options
*/
'use strict';var SweetConfirm=function(){return function(b,e,a){let c,d;d=b.innerText;a||(a={bg:"#0f4c81",bgSize:"215% 100%",bgPositionIn:"right bottom",bgPositionOut:"left bottom",trans:{init:!0,in:.5,out:.5},gradient:{deg:"135deg",from_color:"#0f4c81 50%",to_color:"#fa7268 50%"},question:"\ud83e\udd14 Are you sure?",success:{message:"\ud83d\udc4d Success!",color:"#00b16a"},timeout:3E3});b.style.background=a.bg;b.style.background=`linear-gradient(${a.gradient.deg}, ${a.gradient.from_color}, ${a.gradient.to_color})`;
b.style.backgroundSize=a.bgSize;b.style.backgroundPosition=a.bgPositionIn;a.trans.init&&(b.style.transition=`all ${a.trans.in}s ease`);b.addEventListener("mousedown",()=>{b.innerText=a.question;b.style.backgroundPosition=a.bgPositionOut;b.style.transition=`all ${a.timeout/1E3}s ease`;c=window.setTimeout(()=>{b.disabled=!0;b.style.background=a.success.color;b.style.transition=`all ${a.trans.out}s ease`;b.innerText=a.success.message;e()},a.timeout)});b.addEventListener("mouseup",()=>{window.clearTimeout(c);
b.innerText=d;b.style.backgroundPosition=a.bgPositionIn;b.style.transition=`all ${a.trans.out}s ease`})}}()