dripsender-otp-widget 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -14,18 +14,14 @@ npm install dripsender-otp-widget
14
14
 
15
15
  #### JSDelivr (Recommended)
16
16
  ```html
17
- <!-- Import JavaScript -->
17
+ <!-- CSS is inlined in the JavaScript bundle -->
18
18
  <script type="module" src="https://cdn.jsdelivr.net/npm/dripsender-otp-widget@latest/dist/assets/main.js"></script>
19
- <!-- Import CSS -->
20
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/dripsender-otp-widget@latest/dist/assets/style.css">
21
19
  ```
22
20
 
23
21
  #### Unpkg
24
22
  ```html
25
- <!-- Import JavaScript -->
23
+ <!-- CSS is inlined in the JavaScript bundle -->
26
24
  <script type="module" src="https://unpkg.com/dripsender-otp-widget/dist/assets/main.js"></script>
27
- <!-- Import CSS -->
28
- <link rel="stylesheet" href="https://unpkg.com/dripsender-otp-widget/dist/assets/style.css">
29
25
  ```
30
26
 
31
27
  ### HTML Setup
@@ -1,5 +1,7 @@
1
- (function(j,N){typeof exports=="object"&&typeof module<"u"?module.exports=N():typeof define=="function"&&define.amd?define(N):(j=typeof globalThis<"u"?globalThis:j||self,j.DripsenderOTP=N())})(this,function(){"use strict";var We=Object.defineProperty;var Xe=(j,N,H)=>N in j?We(j,N,{enumerable:!0,configurable:!0,writable:!0,value:H}):j[N]=H;var ne=(j,N,H)=>(Xe(j,typeof N!="symbol"?N+"":N,H),H);var j=typeof document<"u"?document.currentScript:null;const N="";function H(){}function le(e){return e()}function oe(){return Object.create(null)}function q(e){e.forEach(le)}function re(e){return typeof e=="function"}function we(e,t){return e!=e?t==t:e!==t||e&&typeof e=="object"||typeof e=="function"}function ye(e){return Object.keys(e).length===0}function i(e,t){e.appendChild(t)}function O(e,t,n){e.insertBefore(t,n||null)}function T(e){e.parentNode&&e.parentNode.removeChild(e)}function ke(e,t){for(let n=0;n<e.length;n+=1)e[n]&&e[n].d(t)}function b(e){return document.createElement(e)}function J(e){return document.createElementNS("http://www.w3.org/2000/svg",e)}function B(e){return document.createTextNode(e)}function E(){return B(" ")}function xe(){return B("")}function z(e,t,n,l){return e.addEventListener(t,n,l),()=>e.removeEventListener(t,n,l)}function o(e,t,n){n==null?e.removeAttribute(t):e.getAttribute(t)!==n&&e.setAttribute(t,n)}function Se(e){return Array.from(e.childNodes)}function G(e,t){t=""+t,e.data!==t&&(e.data=t)}function se(e,t){e.value=t??""}let Z;function F(e){Z=e}const U=[],ie=[];let V=[];const ue=[],Ce=Promise.resolve();let $=!1;function Pe(){$||($=!0,Ce.then(ce))}function ee(e){V.push(e)}const te=new Set;let D=0;function ce(){if(D!==0)return;const e=Z;do{try{for(;D<U.length;){const t=U[D];D++,F(t),Te(t.$$)}}catch(t){throw U.length=0,D=0,t}for(F(null),U.length=0,D=0;ie.length;)ie.pop()();for(let t=0;t<V.length;t+=1){const n=V[t];te.has(n)||(te.add(n),n())}V.length=0}while(U.length);for(;ue.length;)ue.pop()();$=!1,te.clear(),F(e)}function Te(e){if(e.fragment!==null){e.update(),q(e.before_update);const t=e.dirty;e.dirty=[-1],e.fragment&&e.fragment.p(e.ctx,t),e.after_update.forEach(ee)}}function Oe(e){const t=[],n=[];V.forEach(l=>e.indexOf(l)===-1?t.push(l):n.push(l)),n.forEach(l=>l()),V=t}const Ee=new Set;function Me(e,t){e&&e.i&&(Ee.delete(e),e.i(t))}function ae(e){return(e==null?void 0:e.length)!==void 0?e:Array.from(e)}function je(e,t,n){const{fragment:l,after_update:r}=e.$$;l&&l.m(t,n),ee(()=>{const u=e.$$.on_mount.map(le).filter(re);e.$$.on_destroy?e.$$.on_destroy.push(...u):q(u),e.$$.on_mount=[]}),r.forEach(ee)}function Ie(e,t){const n=e.$$;n.fragment!==null&&(Oe(n.after_update),q(n.on_destroy),n.fragment&&n.fragment.d(t),n.on_destroy=n.fragment=null,n.ctx=[])}function Ne(e,t){e.$$.dirty[0]===-1&&(U.push(e),Pe(),e.$$.dirty.fill(0)),e.$$.dirty[t/31|0]|=1<<t%31}function He(e,t,n,l,r,u,a=null,s=[-1]){const m=Z;F(e);const p=e.$$={fragment:null,ctx:[],props:u,update:H,not_equal:r,bound:oe(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(t.context||(m?m.$$.context:[])),callbacks:oe(),dirty:s,skip_bound:!1,root:t.target||m.$$.root};a&&a(p.root);let v=!1;if(p.ctx=n?n(e,t.props||{},(d,_,...c)=>{const h=c.length?c[0]:_;return p.ctx&&r(p.ctx[d],p.ctx[d]=h)&&(!p.skip_bound&&p.bound[d]&&p.bound[d](h),v&&Ne(e,d)),_}):[],p.update(),v=!0,q(p.before_update),p.fragment=l?l(p.ctx):!1,t.target){if(t.hydrate){const d=Se(t.target);p.fragment&&p.fragment.l(d),d.forEach(T)}else p.fragment&&p.fragment.c();t.intro&&Me(e.$$.fragment),je(e,t.target,t.anchor),ce()}F(m)}class Le{constructor(){ne(this,"$$");ne(this,"$$set")}$destroy(){Ie(this,1),this.$destroy=H}$on(t,n){if(!re(n))return H;const l=this.$$.callbacks[t]||(this.$$.callbacks[t]=[]);return l.push(n),()=>{const r=l.indexOf(n);r!==-1&&l.splice(r,1)}}$set(t){this.$$set&&!ye(t)&&(this.$$.skip_bound=!0,this.$$set(t),this.$$.skip_bound=!1)}}const Ae="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(Ae);const Ye="";function fe(e,t,n){const l=e.slice();return l[24]=t[n],l[26]=n,l}function de(e){let t,n,l,r,u,a,s,m,p,v,d,_;function c(k,C){return k[3]?Be:ze}let h=c(e),w=h(e),y=e[5]&&pe(e),x=e[6]&&he(e);return{c(){t=b("div"),n=b("div"),l=b("div"),r=b("div"),u=b("div"),a=b("h2"),s=B(e[0]),m=E(),p=b("div"),v=E(),w.c(),d=E(),y&&y.c(),_=E(),x&&x.c(),o(a,"class","text-2xl font-bold text-gray-800 mb-2"),o(p,"class","w-16 h-1 bg-gradient-to-r from-blue-500 to-purple-600 mx-auto rounded-full"),o(u,"class","text-center mb-8"),o(r,"class","bg-white p-8 rounded-2xl"),o(l,"class","bg-gradient-to-br from-blue-500 to-purple-600 p-1 rounded-2xl shadow-2xl"),o(n,"class","modal-content relative w-full max-w-md transform transition-all duration-300 ease-in-out scale-100 translate-y-0"),o(t,"class","fixed inset-0 flex items-center justify-center z-50 backdrop-blur-sm")},m(k,C){O(k,t,C),i(t,n),i(n,l),i(l,r),i(r,u),i(u,a),i(a,s),i(u,m),i(u,p),i(r,v),w.m(r,null),i(r,d),y&&y.m(r,null),i(r,_),x&&x.m(r,null)},p(k,C){C&1&&G(s,k[0]),h===(h=c(k))&&w?w.p(k,C):(w.d(1),w=h(k),w&&(w.c(),w.m(r,d))),k[5]?y?y.p(k,C):(y=pe(k),y.c(),y.m(r,_)):y&&(y.d(1),y=null),k[6]?x?x.p(k,C):(x=he(k),x.c(),x.m(r,null)):x&&(x.d(1),x=null)},d(k){k&&T(t),w.d(),y&&y.d(),x&&x.d()}}}function Be(e){let t,n,l,r,u,a,s,m,p,v,d,_,c,h,w,y,x,k,C=ae(e[2]),P=[];for(let g=0;g<C.length;g+=1)P[g]=me(fe(e,C,g));function X(g,L){return g[4]?qe:Ke}let R=X(e),A=R(e);return{c(){t=b("div"),n=b("label"),n.textContent="Masukkan Kode OTP",l=E(),r=b("p"),u=B("Kode OTP telah dikirim ke nomor "),a=B(e[1]),s=E(),m=b("div");for(let g=0;g<P.length;g+=1)P[g].c();p=E(),v=b("div"),d=b("button"),d.innerHTML=`<svg xmlns="http://www.w3.org/2000/svg" class="h-4 w-4 mr-1" viewBox="0 0 20 20" fill="currentColor"><path fill-rule="evenodd" d="M9.707 14.707a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 1.414L7.414 9H15a1 1 0 110 2H7.414l2.293 2.293a1 1 0 010 1.414z" clip-rule="evenodd"></path></svg>
2
- Ubah Nomor HP`,_=E(),c=b("button"),c.innerHTML=`<svg xmlns="http://www.w3.org/2000/svg" class="h-4 w-4 mr-1" viewBox="0 0 20 20" fill="currentColor"><path fill-rule="evenodd" d="M4 2a1 1 0 011 1v2.101a7.002 7.002 0 0111.601 2.566 1 1 0 11-1.885.666A5.002 5.002 0 005.999 7H9a1 1 0 010 2H4a1 1 0 01-1-1V3a1 1 0 011-1zm.008 9.057a1 1 0 011.276.61A5.002 5.002 0 0014.001 13H11a1 1 0 110-2h5a1 1 0 011 1v5a1 1 0 11-2 0v-2.101a7.002 7.002 0 01-11.601-2.566 1 1 0 01.61-1.276z" clip-rule="evenodd"></path></svg>
3
- Kirim Ulang Kode`,h=E(),w=b("button"),A.c(),o(n,"class","block text-sm font-medium text-gray-700 mb-2"),o(r,"class","text-xs text-gray-500 mb-4"),o(m,"class","flex justify-between mb-6"),o(d,"class","text-blue-600 hover:text-blue-800 hover:underline transition-colors flex items-center svelte-13xfqe0"),o(d,"aria-label","Ubah Nomor HP"),o(c,"class","text-blue-600 hover:text-blue-800 hover:underline transition-colors flex items-center svelte-13xfqe0"),o(c,"aria-label","Kirim Ulang Kode"),o(v,"class","flex justify-between text-sm"),o(t,"class","mb-6"),o(t,"id","otp-container"),w.disabled=y=e[4]||e[2].some(be),o(w,"class","w-full bg-gradient-to-r from-blue-500 to-purple-600 text-white p-4 rounded-xl hover:shadow-lg focus:outline-none focus:ring-2 focus:ring-blue-300 focus:ring-offset-2 transition-all duration-200 transform hover:-translate-y-1 disabled:opacity-70 disabled:transform-none svelte-13xfqe0")},m(g,L){O(g,t,L),i(t,n),i(t,l),i(t,r),i(r,u),i(r,a),i(t,s),i(t,m);for(let S=0;S<P.length;S+=1)P[S]&&P[S].m(m,null);i(t,p),i(t,v),i(v,d),i(v,_),i(v,c),O(g,h,L),O(g,w,L),A.m(w,null),x||(k=[z(d,"click",e[21]),z(c,"click",e[22]),z(w,"click",e[13])],x=!0)},p(g,L){if(L&2&&G(a,g[1]),L&23812){C=ae(g[2]);let S;for(S=0;S<C.length;S+=1){const f=fe(g,C,S);P[S]?P[S].p(f,L):(P[S]=me(f),P[S].c(),P[S].m(m,null))}for(;S<P.length;S+=1)P[S].d(1);P.length=C.length}R!==(R=X(g))&&(A.d(1),A=R(g),A&&(A.c(),A.m(w,null))),L&20&&y!==(y=g[4]||g[2].some(be))&&(w.disabled=y)},d(g){g&&(T(t),T(h),T(w)),ke(P,g),A.d(),x=!1,q(k)}}}function ze(e){let t,n,l,r,u,a,s,m,p;function v(c,h){return c[4]?Ve:Ue}let d=v(e),_=d(e);return{c(){t=b("div"),n=b("label"),n.textContent="Nomor HP",l=E(),r=b("div"),u=b("input"),a=E(),s=b("button"),_.c(),o(n,"for","phone"),o(n,"class","block text-sm font-medium text-gray-700 mb-2"),o(u,"type","tel"),o(u,"id","phone"),o(u,"placeholder","Masukkan nomor HP Anda"),o(u,"class","w-full p-4 border-2 border-gray-200 rounded-xl focus:outline-none focus:border-blue-500 transition-all duration-200 svelte-13xfqe0"),o(r,"class","relative"),o(t,"class","mb-6"),o(t,"id","phone-container"),s.disabled=e[4],o(s,"class","w-full bg-gradient-to-r from-blue-500 to-purple-600 text-white p-4 rounded-xl hover:shadow-lg focus:outline-none focus:ring-2 focus:ring-blue-300 focus:ring-offset-2 transition-all duration-200 transform hover:-translate-y-1 disabled:opacity-70 disabled:transform-none svelte-13xfqe0")},m(c,h){O(c,t,h),i(t,n),i(t,l),i(t,r),i(r,u),se(u,e[1]),O(c,a,h),O(c,s,h),_.m(s,null),m||(p=[z(u,"input",e[17]),z(s,"click",e[9])],m=!0)},p(c,h){h&2&&se(u,c[1]),d!==(d=v(c))&&(_.d(1),_=d(c),_&&(_.c(),_.m(s,null))),h&16&&(s.disabled=c[4])},d(c){c&&(T(t),T(a),T(s)),_.d(),m=!1,q(p)}}}function me(e){let t,n,l,r,u,a,s,m,p;function v(...c){return e[18](e[26],...c)}function d(...c){return e[19](e[26],...c)}function _(){return e[20](e[26])}return{c(){t=b("div"),n=b("input"),r=E(),u=b("div"),s=E(),o(n,"type","text"),o(n,"id","otp-"+e[26]),o(n,"maxlength","1"),o(n,"inputmode","numeric"),n.value=l=e[24],o(n,"class","w-12 h-14 text-center text-xl font-bold border-2 border-gray-200 rounded-lg focus:outline-none focus:border-blue-500 transition-all duration-200 svelte-13xfqe0"),o(u,"class",a="absolute -bottom-2 left-1/2 transform -translate-x-1/2 w-8 h-1 rounded-full transition-all duration-200 "+(e[8]===e[26]?"bg-blue-500":"bg-transparent")),o(t,"class","relative")},m(c,h){O(c,t,h),i(t,n),i(t,r),i(t,u),i(t,s),m||(p=[z(n,"input",v),z(n,"keydown",d),z(n,"paste",e[14]),z(n,"focus",_)],m=!0)},p(c,h){e=c,h&4&&l!==(l=e[24])&&n.value!==l&&(n.value=l),h&256&&a!==(a="absolute -bottom-2 left-1/2 transform -translate-x-1/2 w-8 h-1 rounded-full transition-all duration-200 "+(e[8]===e[26]?"bg-blue-500":"bg-transparent"))&&o(u,"class",a)},d(c){c&&T(t),m=!1,q(p)}}}function Ke(e){let t;return{c(){t=B("Verifikasi")},m(n,l){O(n,t,l)},d(n){n&&T(t)}}}function qe(e){let t;return{c(){t=b("div"),t.innerHTML=`<svg class="animate-spin -ml-1 mr-3 h-5 w-5 text-white" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"><circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle><path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path></svg>
4
- Memverifikasi...`,o(t,"class","flex items-center justify-center")},m(n,l){O(n,t,l)},d(n){n&&T(t)}}}function Ue(e){let t;return{c(){t=B("Kirim Kode OTP")},m(n,l){O(n,t,l)},d(n){n&&T(t)}}}function Ve(e){let t;return{c(){t=b("div"),t.innerHTML=`<svg class="animate-spin -ml-1 mr-3 h-5 w-5 text-white" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"><circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle><path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path></svg>
5
- Mengirim...`,o(t,"class","flex items-center justify-center")},m(n,l){O(n,t,l)},d(n){n&&T(t)}}}function pe(e){let t,n,l,r,u,a;return{c(){t=b("div"),n=J("svg"),l=J("path"),r=E(),u=b("span"),a=B(e[5]),o(l,"fill-rule","evenodd"),o(l,"d","M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z"),o(l,"clip-rule","evenodd"),o(n,"xmlns","http://www.w3.org/2000/svg"),o(n,"class","h-5 w-5 mr-2 flex-shrink-0"),o(n,"viewBox","0 0 20 20"),o(n,"fill","currentColor"),o(t,"class","mt-4 p-3 bg-red-50 border-l-4 border-red-500 text-red-700 rounded-md flex items-start")},m(s,m){O(s,t,m),i(t,n),i(n,l),i(t,r),i(t,u),i(u,a)},p(s,m){m&32&&G(a,s[5])},d(s){s&&T(t)}}}function he(e){let t,n,l,r,u,a;return{c(){t=b("div"),n=J("svg"),l=J("path"),r=E(),u=b("span"),a=B(e[6]),o(l,"fill-rule","evenodd"),o(l,"d","M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z"),o(l,"clip-rule","evenodd"),o(n,"xmlns","http://www.w3.org/2000/svg"),o(n,"class","h-5 w-5 mr-2 flex-shrink-0"),o(n,"viewBox","0 0 20 20"),o(n,"fill","currentColor"),o(t,"class","mt-4 p-3 bg-green-50 border-l-4 border-green-500 text-green-700 rounded-md flex items-start")},m(s,m){O(s,t,m),i(t,n),i(n,l),i(t,r),i(t,u),i(u,a)},p(s,m){m&64&&G(a,s[6])},d(s){s&&T(t)}}}function De(e){let t,n=e[7]&&de(e);return{c(){n&&n.c(),t=xe()},m(l,r){n&&n.m(l,r),O(l,t,r)},p(l,[r]){l[7]?n?n.p(l,r):(n=de(l),n.c(),n.m(t.parentNode,t)):n&&(n.d(1),n=null)},i:H,o:H,d(l){l&&T(t),n&&n.d(l)}}}function Q(e){const t=document.getElementById(e);t&&(t.classList.add("shake"),setTimeout(()=>{t.classList.remove("shake")},500))}const be=e=>e==="";function Re(e,t,n){let{title:l="Verifikasi OTP"}=t,{vp_url:r=""}=t,{votp_url:u=""}=t,a="",s=["","","","",""],m=s.length,p=!1,v=!1,d="",_="",c=!0,h=0;localStorage.getItem("savedOtp")&&localStorage.getItem("savedPhoneNumber")&&(c=!1);async function w(){if(!a){n(5,d="Silakan masukkan nomor HP"),Q("phone-container");return}n(5,d=""),n(4,v=!0),(await(await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({phone:a})})).json()).exists?(n(4,v=!1),n(3,p=!0),n(6,_=`Kode OTP telah dikirim ke ${a}`),setTimeout(()=>{var M;(M=document.getElementById("otp-0"))==null||M.focus()},300)):(n(4,v=!1),n(5,d="Nomor HP tidak ditemukan"),Q("phone-container"))}function y(f,I){var K;const M=I.target.value;if(!/^\d*$/.test(M)){I.target.value=s[f];return}n(2,s[f]=M.slice(-1),s),M&&f<5&&((K=document.getElementById(`otp-${f+1}`))==null||K.focus(),n(8,h=f+1)),s.every(Y=>Y!=="")&&f===5&&C()}function x(f,I){var M;I.key==="Backspace"&&!s[f]&&f>0&&((M=document.getElementById(`otp-${f-1}`))==null||M.focus(),n(8,h=f-1))}function k(f){n(8,h=f)}async function C(){const f=s.join("");if(f.length!==s.length){n(5,d="Silakan masukkan kode OTP "+s.length+" digit"),Q("otp-container");return}if(n(5,d=""),n(4,v=!0),(await(await fetch(u,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({phone:a,otp:f})})).json()).status=="success"){n(4,v=!1),n(6,_="Verifikasi berhasil!");const K=document.querySelector(".modal-content");K&&K.classList.add("success-animation"),n(7,c=!1),localStorage.setItem("savedOtp",f),localStorage.setItem("savedPhoneNumber",a)}else n(4,v=!1),n(5,d="Kode OTP tidak valid"),Q("otp-container")}function P(f){var Y;f.preventDefault();const I=f.clipboardData.getData("text");if(!/^\d+$/.test(I))return;const M=I.slice(0,m).split("");M.forEach((Qe,ve)=>{ve<m&&n(2,s[ve]=Qe,s)});const K=Math.min(M.length,5);(Y=document.getElementById(`otp-${K}`))==null||Y.focus(),n(8,h=K),M.length===m&&C()}function X(){a=this.value,n(1,a)}const R=(f,I)=>y(f,I),A=(f,I)=>x(f,I),g=f=>k(f),L=()=>{n(3,p=!1),n(6,_="")},S=()=>{n(6,_=""),w()};return e.$$set=f=>{"title"in f&&n(0,l=f.title),"vp_url"in f&&n(15,r=f.vp_url),"votp_url"in f&&n(16,u=f.votp_url)},[l,a,s,p,v,d,_,c,h,w,y,x,k,C,P,r,u,X,R,A,g,L,S]}class Fe extends Le{constructor(t){super(),He(this,t,Re,De,we,{title:0,vp_url:15,votp_url:16})}}function Je(){const e=(typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:j&&j.tagName.toUpperCase()==="SCRIPT"&&j.src||new URL("assets/main.js",document.baseURI).href).replace("main.js","style.css");if(!document.querySelector(`link[href="${e}"]`)){const n=document.createElement("link");n.rel="stylesheet",n.href=e,document.head.appendChild(n)}}try{Je()}catch{console.warn("Could not auto-inject CSS. Make sure to include the CSS file manually.")}const W=document.getElementById("otp-widget"),ge=W.getAttribute("reqotp"),_e=W.getAttribute("verifyotp"),Ge=W.getAttribute("title")||"Verifikasi OTP";return console.log(ge,_e),new Fe({target:W,props:{vp_url:ge,votp_url:_e,title:Ge}})});
1
+ (function(){"use strict";try{if(typeof document<"u"){var t=document.createElement("style");t.appendChild(document.createTextNode('*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.-bottom-2{bottom:-.5rem}.left-1\\/2{left:50%}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.-ml-1{margin-left:-.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-4{margin-top:1rem}.block{display:block}.flex{display:flex}.hidden{display:none}.h-1{height:.25rem}.h-14{height:3.5rem}.h-4{height:1rem}.h-5{height:1.25rem}.w-12{width:3rem}.w-16{width:4rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-8{width:2rem}.w-full{width:100%}.max-w-md{max-width:28rem}.flex-shrink-0{flex-shrink:0}.-translate-x-1\\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border-2{border-width:2px}.border-l-4{border-left-width:4px}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-green-500{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity, 1))}.border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-blue-500{--tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-purple-600{--tw-gradient-to: #9333ea var(--tw-gradient-to-position)}.p-1{padding:.25rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-8{padding:2rem}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.shake{animation:shake .5s cubic-bezier(.36,.07,.19,.97) both}.success-animation{animation:success-pulse 1.5s ease-in-out}.hover\\:-translate-y-1:hover{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\\:text-blue-800:hover{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:shadow-lg:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\\:ring-blue-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(147 197 253 / var(--tw-ring-opacity, 1))}.focus\\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.disabled\\:transform-none:disabled{transform:none}.disabled\\:opacity-70:disabled{opacity:.7}')),document.head.appendChild(t)}}catch(r){console.error("vite-plugin-css-injected-by-js",r)}})();
2
+ (function(H,T){typeof exports=="object"&&typeof module<"u"?module.exports=T():typeof define=="function"&&define.amd?define(T):(H=typeof globalThis<"u"?globalThis:H||self,H.DripsenderOTP=T())})(this,function(){"use strict";var Ye=Object.defineProperty;var Ze=(H,T,z)=>T in H?Ye(H,T,{enumerable:!0,configurable:!0,writable:!0,value:z}):H[T]=z;var ne=(H,T,z)=>(Ze(H,typeof T!="symbol"?T+"":T,z),z);const H="";function T(){}function z(e){return e()}function le(){return Object.create(null)}function K(e){e.forEach(z)}function oe(e){return typeof e=="function"}function ve(e,t){return e!=e?t==t:e!==t||e&&typeof e=="object"||typeof e=="function"}function we(e){return Object.keys(e).length===0}function i(e,t){e.appendChild(t)}function ye(e,t,n){const l=ke(e);if(!l.getElementById(t)){const r=h("style");r.id=t,r.textContent=n,xe(l,r)}}function ke(e){if(!e)return document;const t=e.getRootNode?e.getRootNode():e.ownerDocument;return t&&t.host?t:e.ownerDocument}function xe(e,t){return i(e.head||e,t),t.sheet}function E(e,t,n){e.insertBefore(t,n||null)}function C(e){e.parentNode&&e.parentNode.removeChild(e)}function Oe(e,t){for(let n=0;n<e.length;n+=1)e[n]&&e[n].d(t)}function h(e){return document.createElement(e)}function F(e){return document.createElementNS("http://www.w3.org/2000/svg",e)}function j(e){return document.createTextNode(e)}function M(){return j(" ")}function Pe(){return j("")}function A(e,t,n,l){return e.addEventListener(t,n,l),()=>e.removeEventListener(t,n,l)}function o(e,t,n){n==null?e.removeAttribute(t):e.getAttribute(t)!==n&&e.setAttribute(t,n)}function Te(e){return Array.from(e.childNodes)}function J(e,t){t=""+t,e.data!==t&&(e.data=t)}function re(e,t){e.value=t??""}let Z;function X(e){Z=e}const D=[],se=[];let V=[];const ie=[],Se=Promise.resolve();let $=!1;function Ce(){$||($=!0,Se.then(ae))}function ee(e){V.push(e)}const te=new Set;let U=0;function ae(){if(U!==0)return;const e=Z;do{try{for(;U<D.length;){const t=D[U];U++,X(t),Ee(t.$$)}}catch(t){throw D.length=0,U=0,t}for(X(null),D.length=0,U=0;se.length;)se.pop()();for(let t=0;t<V.length;t+=1){const n=V[t];te.has(n)||(te.add(n),n())}V.length=0}while(D.length);for(;ie.length;)ie.pop()();$=!1,te.clear(),X(e)}function Ee(e){if(e.fragment!==null){e.update(),K(e.before_update);const t=e.dirty;e.dirty=[-1],e.fragment&&e.fragment.p(e.ctx,t),e.after_update.forEach(ee)}}function Me(e){const t=[],n=[];V.forEach(l=>e.indexOf(l)===-1?t.push(l):n.push(l)),n.forEach(l=>l()),V=t}const Ne=new Set;function Ie(e,t){e&&e.i&&(Ne.delete(e),e.i(t))}function ue(e){return(e==null?void 0:e.length)!==void 0?e:Array.from(e)}function qe(e,t,n){const{fragment:l,after_update:r}=e.$$;l&&l.m(t,n),ee(()=>{const a=e.$$.on_mount.map(z).filter(oe);e.$$.on_destroy?e.$$.on_destroy.push(...a):K(a),e.$$.on_mount=[]}),r.forEach(ee)}function He(e,t){const n=e.$$;n.fragment!==null&&(Me(n.after_update),K(n.on_destroy),n.fragment&&n.fragment.d(t),n.on_destroy=n.fragment=null,n.ctx=[])}function Be(e,t){e.$$.dirty[0]===-1&&(D.push(e),Ce(),e.$$.dirty.fill(0)),e.$$.dirty[t/31|0]|=1<<t%31}function je(e,t,n,l,r,a,f=null,s=[-1]){const p=Z;X(e);const m=e.$$={fragment:null,ctx:[],props:a,update:T,not_equal:r,bound:le(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(t.context||(p?p.$$.context:[])),callbacks:le(),dirty:s,skip_bound:!1,root:t.target||p.$$.root};f&&f(m.root);let v=!1;if(m.ctx=n?n(e,t.props||{},(d,_,...u)=>{const b=u.length?u[0]:_;return m.ctx&&r(m.ctx[d],m.ctx[d]=b)&&(!m.skip_bound&&m.bound[d]&&m.bound[d](b),v&&Be(e,d)),_}):[],m.update(),v=!0,K(m.before_update),m.fragment=l?l(m.ctx):!1,t.target){if(t.hydrate){const d=Te(t.target);m.fragment&&m.fragment.l(d),d.forEach(C)}else m.fragment&&m.fragment.c();t.intro&&Ie(e.$$.fragment),qe(e,t.target,t.anchor),ae()}X(p)}class Ae{constructor(){ne(this,"$$");ne(this,"$$set")}$destroy(){He(this,1),this.$destroy=T}$on(t,n){if(!oe(n))return T;const l=this.$$.callbacks[t]||(this.$$.callbacks[t]=[]);return l.push(n),()=>{const r=l.indexOf(n);r!==-1&&l.splice(r,1)}}$set(t){this.$$set&&!we(t)&&(this.$$.skip_bound=!0,this.$$set(t),this.$$.skip_bound=!1)}}const ze="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(ze);function Le(e){ye(e,"svelte-13xfqe0",`body{margin:0;font-family:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen,
3
+ Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;background-color:#f9fafb}@keyframes svelte-13xfqe0-shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}@keyframes svelte-13xfqe0-success-pulse{0%,100%{transform:scale(1);box-shadow:0 0 0 rgba(79, 209, 197, 0)}50%{transform:scale(1.03);box-shadow:0 0 20px rgba(79, 209, 197, 0.5)}}input[type="text"].svelte-13xfqe0,input[type="tel"].svelte-13xfqe0{transition:border-color 0.2s ease}button.svelte-13xfqe0{position:relative;overflow:hidden}button.svelte-13xfqe0::after{content:'';position:absolute;top:50%;left:50%;width:5px;height:5px;background:rgba(255, 255, 255, 0.5);opacity:0;border-radius:100%;transform:scale(1, 1) translate(-50%);transform-origin:50% 50%}@keyframes svelte-13xfqe0-ripple{0%{transform:scale(0, 0);opacity:0.5}100%{transform:scale(20, 20);opacity:0}}button.svelte-13xfqe0:focus:not(:active)::after{animation:svelte-13xfqe0-ripple 1s ease-out}`)}function fe(e,t,n){const l=e.slice();return l[24]=t[n],l[26]=n,l}function ce(e){let t,n,l,r,a,f,s,p,m,v,d,_;function u(k,P){return k[3]?Ke:De}let b=u(e),w=b(e),y=e[5]&&pe(e),x=e[6]&&me(e);return{c(){t=h("div"),n=h("div"),l=h("div"),r=h("div"),a=h("div"),f=h("h2"),s=j(e[0]),p=M(),m=h("div"),v=M(),w.c(),d=M(),y&&y.c(),_=M(),x&&x.c(),o(f,"class","text-2xl font-bold text-gray-800 mb-2"),o(m,"class","w-16 h-1 bg-gradient-to-r from-blue-500 to-purple-600 mx-auto rounded-full"),o(a,"class","text-center mb-8"),o(r,"class","bg-white p-8 rounded-2xl"),o(l,"class","bg-gradient-to-br from-blue-500 to-purple-600 p-1 rounded-2xl shadow-2xl"),o(n,"class","modal-content relative w-full max-w-md transform transition-all duration-300 ease-in-out scale-100 translate-y-0"),o(t,"class","fixed inset-0 flex items-center justify-center z-50 backdrop-blur-sm")},m(k,P){E(k,t,P),i(t,n),i(n,l),i(l,r),i(r,a),i(a,f),i(f,s),i(a,p),i(a,m),i(r,v),w.m(r,null),i(r,d),y&&y.m(r,null),i(r,_),x&&x.m(r,null)},p(k,P){P&1&&J(s,k[0]),b===(b=u(k))&&w?w.p(k,P):(w.d(1),w=b(k),w&&(w.c(),w.m(r,d))),k[5]?y?y.p(k,P):(y=pe(k),y.c(),y.m(r,_)):y&&(y.d(1),y=null),k[6]?x?x.p(k,P):(x=me(k),x.c(),x.m(r,null)):x&&(x.d(1),x=null)},d(k){k&&C(t),w.d(),y&&y.d(),x&&x.d()}}}function Ke(e){let t,n,l,r,a,f,s,p,m,v,d,_,u,b,w,y,x,k,P=ue(e[2]),S=[];for(let g=0;g<P.length;g+=1)S[g]=de(fe(e,P,g));function W(g,q){return g[4]?Ue:Ve}let R=W(e),B=R(e);return{c(){t=h("div"),n=h("label"),n.textContent="Masukkan Kode OTP",l=M(),r=h("p"),a=j("Kode OTP telah dikirim ke nomor "),f=j(e[1]),s=M(),p=h("div");for(let g=0;g<S.length;g+=1)S[g].c();m=M(),v=h("div"),d=h("button"),d.innerHTML=`<svg xmlns="http://www.w3.org/2000/svg" class="h-4 w-4 mr-1" viewBox="0 0 20 20" fill="currentColor"><path fill-rule="evenodd" d="M9.707 14.707a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 1.414L7.414 9H15a1 1 0 110 2H7.414l2.293 2.293a1 1 0 010 1.414z" clip-rule="evenodd"></path></svg>
4
+ Ubah Nomor HP`,_=M(),u=h("button"),u.innerHTML=`<svg xmlns="http://www.w3.org/2000/svg" class="h-4 w-4 mr-1" viewBox="0 0 20 20" fill="currentColor"><path fill-rule="evenodd" d="M4 2a1 1 0 011 1v2.101a7.002 7.002 0 0111.601 2.566 1 1 0 11-1.885.666A5.002 5.002 0 005.999 7H9a1 1 0 010 2H4a1 1 0 01-1-1V3a1 1 0 011-1zm.008 9.057a1 1 0 011.276.61A5.002 5.002 0 0014.001 13H11a1 1 0 110-2h5a1 1 0 011 1v5a1 1 0 11-2 0v-2.101a7.002 7.002 0 01-11.601-2.566 1 1 0 01.61-1.276z" clip-rule="evenodd"></path></svg>
5
+ Kirim Ulang Kode`,b=M(),w=h("button"),B.c(),o(n,"class","block text-sm font-medium text-gray-700 mb-2"),o(r,"class","text-xs text-gray-500 mb-4"),o(p,"class","flex justify-between mb-6"),o(d,"class","text-blue-600 hover:text-blue-800 hover:underline transition-colors flex items-center svelte-13xfqe0"),o(d,"aria-label","Ubah Nomor HP"),o(u,"class","text-blue-600 hover:text-blue-800 hover:underline transition-colors flex items-center svelte-13xfqe0"),o(u,"aria-label","Kirim Ulang Kode"),o(v,"class","flex justify-between text-sm"),o(t,"class","mb-6"),o(t,"id","otp-container"),w.disabled=y=e[4]||e[2].some(he),o(w,"class","w-full bg-gradient-to-r from-blue-500 to-purple-600 text-white p-4 rounded-xl hover:shadow-lg focus:outline-none focus:ring-2 focus:ring-blue-300 focus:ring-offset-2 transition-all duration-200 transform hover:-translate-y-1 disabled:opacity-70 disabled:transform-none svelte-13xfqe0")},m(g,q){E(g,t,q),i(t,n),i(t,l),i(t,r),i(r,a),i(r,f),i(t,s),i(t,p);for(let O=0;O<S.length;O+=1)S[O]&&S[O].m(p,null);i(t,m),i(t,v),i(v,d),i(v,_),i(v,u),E(g,b,q),E(g,w,q),B.m(w,null),x||(k=[A(d,"click",e[21]),A(u,"click",e[22]),A(w,"click",e[13])],x=!0)},p(g,q){if(q&2&&J(f,g[1]),q&23812){P=ue(g[2]);let O;for(O=0;O<P.length;O+=1){const c=fe(g,P,O);S[O]?S[O].p(c,q):(S[O]=de(c),S[O].c(),S[O].m(p,null))}for(;O<S.length;O+=1)S[O].d(1);S.length=P.length}R!==(R=W(g))&&(B.d(1),B=R(g),B&&(B.c(),B.m(w,null))),q&20&&y!==(y=g[4]||g[2].some(he))&&(w.disabled=y)},d(g){g&&(C(t),C(b),C(w)),Oe(S,g),B.d(),x=!1,K(k)}}}function De(e){let t,n,l,r,a,f,s,p,m;function v(u,b){return u[4]?Xe:Re}let d=v(e),_=d(e);return{c(){t=h("div"),n=h("label"),n.textContent="Nomor HP",l=M(),r=h("div"),a=h("input"),f=M(),s=h("button"),_.c(),o(n,"for","phone"),o(n,"class","block text-sm font-medium text-gray-700 mb-2"),o(a,"type","tel"),o(a,"id","phone"),o(a,"placeholder","Masukkan nomor HP Anda"),o(a,"class","w-full p-4 border-2 border-gray-200 rounded-xl focus:outline-none focus:border-blue-500 transition-all duration-200 svelte-13xfqe0"),o(r,"class","relative"),o(t,"class","mb-6"),o(t,"id","phone-container"),s.disabled=e[4],o(s,"class","w-full bg-gradient-to-r from-blue-500 to-purple-600 text-white p-4 rounded-xl hover:shadow-lg focus:outline-none focus:ring-2 focus:ring-blue-300 focus:ring-offset-2 transition-all duration-200 transform hover:-translate-y-1 disabled:opacity-70 disabled:transform-none svelte-13xfqe0")},m(u,b){E(u,t,b),i(t,n),i(t,l),i(t,r),i(r,a),re(a,e[1]),E(u,f,b),E(u,s,b),_.m(s,null),p||(m=[A(a,"input",e[17]),A(s,"click",e[9])],p=!0)},p(u,b){b&2&&re(a,u[1]),d!==(d=v(u))&&(_.d(1),_=d(u),_&&(_.c(),_.m(s,null))),b&16&&(s.disabled=u[4])},d(u){u&&(C(t),C(f),C(s)),_.d(),p=!1,K(m)}}}function de(e){let t,n,l,r,a,f,s,p,m;function v(...u){return e[18](e[26],...u)}function d(...u){return e[19](e[26],...u)}function _(){return e[20](e[26])}return{c(){t=h("div"),n=h("input"),r=M(),a=h("div"),s=M(),o(n,"type","text"),o(n,"id","otp-"+e[26]),o(n,"maxlength","1"),o(n,"inputmode","numeric"),n.value=l=e[24],o(n,"class","w-12 h-14 text-center text-xl font-bold border-2 border-gray-200 rounded-lg focus:outline-none focus:border-blue-500 transition-all duration-200 svelte-13xfqe0"),o(a,"class",f="absolute -bottom-2 left-1/2 transform -translate-x-1/2 w-8 h-1 rounded-full transition-all duration-200 "+(e[8]===e[26]?"bg-blue-500":"bg-transparent")),o(t,"class","relative")},m(u,b){E(u,t,b),i(t,n),i(t,r),i(t,a),i(t,s),p||(m=[A(n,"input",v),A(n,"keydown",d),A(n,"paste",e[14]),A(n,"focus",_)],p=!0)},p(u,b){e=u,b&4&&l!==(l=e[24])&&n.value!==l&&(n.value=l),b&256&&f!==(f="absolute -bottom-2 left-1/2 transform -translate-x-1/2 w-8 h-1 rounded-full transition-all duration-200 "+(e[8]===e[26]?"bg-blue-500":"bg-transparent"))&&o(a,"class",f)},d(u){u&&C(t),p=!1,K(m)}}}function Ve(e){let t;return{c(){t=j("Verifikasi")},m(n,l){E(n,t,l)},d(n){n&&C(t)}}}function Ue(e){let t;return{c(){t=h("div"),t.innerHTML=`<svg class="animate-spin -ml-1 mr-3 h-5 w-5 text-white" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"><circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle><path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path></svg>
6
+ Memverifikasi...`,o(t,"class","flex items-center justify-center")},m(n,l){E(n,t,l)},d(n){n&&C(t)}}}function Re(e){let t;return{c(){t=j("Kirim Kode OTP")},m(n,l){E(n,t,l)},d(n){n&&C(t)}}}function Xe(e){let t;return{c(){t=h("div"),t.innerHTML=`<svg class="animate-spin -ml-1 mr-3 h-5 w-5 text-white" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"><circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle><path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path></svg>
7
+ Mengirim...`,o(t,"class","flex items-center justify-center")},m(n,l){E(n,t,l)},d(n){n&&C(t)}}}function pe(e){let t,n,l,r,a,f;return{c(){t=h("div"),n=F("svg"),l=F("path"),r=M(),a=h("span"),f=j(e[5]),o(l,"fill-rule","evenodd"),o(l,"d","M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z"),o(l,"clip-rule","evenodd"),o(n,"xmlns","http://www.w3.org/2000/svg"),o(n,"class","h-5 w-5 mr-2 flex-shrink-0"),o(n,"viewBox","0 0 20 20"),o(n,"fill","currentColor"),o(t,"class","mt-4 p-3 bg-red-50 border-l-4 border-red-500 text-red-700 rounded-md flex items-start")},m(s,p){E(s,t,p),i(t,n),i(n,l),i(t,r),i(t,a),i(a,f)},p(s,p){p&32&&J(f,s[5])},d(s){s&&C(t)}}}function me(e){let t,n,l,r,a,f;return{c(){t=h("div"),n=F("svg"),l=F("path"),r=M(),a=h("span"),f=j(e[6]),o(l,"fill-rule","evenodd"),o(l,"d","M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z"),o(l,"clip-rule","evenodd"),o(n,"xmlns","http://www.w3.org/2000/svg"),o(n,"class","h-5 w-5 mr-2 flex-shrink-0"),o(n,"viewBox","0 0 20 20"),o(n,"fill","currentColor"),o(t,"class","mt-4 p-3 bg-green-50 border-l-4 border-green-500 text-green-700 rounded-md flex items-start")},m(s,p){E(s,t,p),i(t,n),i(n,l),i(t,r),i(t,a),i(a,f)},p(s,p){p&64&&J(f,s[6])},d(s){s&&C(t)}}}function Fe(e){let t,n=e[7]&&ce(e);return{c(){n&&n.c(),t=Pe()},m(l,r){n&&n.m(l,r),E(l,t,r)},p(l,[r]){l[7]?n?n.p(l,r):(n=ce(l),n.c(),n.m(t.parentNode,t)):n&&(n.d(1),n=null)},i:T,o:T,d(l){l&&C(t),n&&n.d(l)}}}function G(e){const t=document.getElementById(e);t&&(t.classList.add("shake"),setTimeout(()=>{t.classList.remove("shake")},500))}const he=e=>e==="";function Je(e,t,n){let{title:l="Verifikasi OTP"}=t,{vp_url:r=""}=t,{votp_url:a=""}=t,f="",s=["","","","",""],p=s.length,m=!1,v=!1,d="",_="",u=!0,b=0;localStorage.getItem("savedOtp")&&localStorage.getItem("savedPhoneNumber")&&(u=!1);async function w(){if(!f){n(5,d="Silakan masukkan nomor HP"),G("phone-container");return}n(5,d=""),n(4,v=!0),(await(await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({phone:f})})).json()).exists?(n(4,v=!1),n(3,m=!0),n(6,_=`Kode OTP telah dikirim ke ${f}`),setTimeout(()=>{var N;(N=document.getElementById("otp-0"))==null||N.focus()},300)):(n(4,v=!1),n(5,d="Nomor HP tidak ditemukan"),G("phone-container"))}function y(c,I){var L;const N=I.target.value;if(!/^\d*$/.test(N)){I.target.value=s[c];return}n(2,s[c]=N.slice(-1),s),N&&c<5&&((L=document.getElementById(`otp-${c+1}`))==null||L.focus(),n(8,b=c+1)),s.every(Y=>Y!=="")&&c===5&&P()}function x(c,I){var N;I.key==="Backspace"&&!s[c]&&c>0&&((N=document.getElementById(`otp-${c-1}`))==null||N.focus(),n(8,b=c-1))}function k(c){n(8,b=c)}async function P(){const c=s.join("");if(c.length!==s.length){n(5,d="Silakan masukkan kode OTP "+s.length+" digit"),G("otp-container");return}if(n(5,d=""),n(4,v=!0),(await(await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({phone:f,otp:c})})).json()).status=="success"){n(4,v=!1),n(6,_="Verifikasi berhasil!");const L=document.querySelector(".modal-content");L&&L.classList.add("success-animation"),n(7,u=!1),localStorage.setItem("savedOtp",c),localStorage.setItem("savedPhoneNumber",f)}else n(4,v=!1),n(5,d="Kode OTP tidak valid"),G("otp-container")}function S(c){var Y;c.preventDefault();const I=c.clipboardData.getData("text");if(!/^\d+$/.test(I))return;const N=I.slice(0,p).split("");N.forEach((We,_e)=>{_e<p&&n(2,s[_e]=We,s)});const L=Math.min(N.length,5);(Y=document.getElementById(`otp-${L}`))==null||Y.focus(),n(8,b=L),N.length===p&&P()}function W(){f=this.value,n(1,f)}const R=(c,I)=>y(c,I),B=(c,I)=>x(c,I),g=c=>k(c),q=()=>{n(3,m=!1),n(6,_="")},O=()=>{n(6,_=""),w()};return e.$$set=c=>{"title"in c&&n(0,l=c.title),"vp_url"in c&&n(15,r=c.vp_url),"votp_url"in c&&n(16,a=c.votp_url)},[l,f,s,m,v,d,_,u,b,w,y,x,k,P,S,r,a,W,R,B,g,q,O]}class Ge extends Ae{constructor(t){super(),je(this,t,Je,Fe,ve,{title:0,vp_url:15,votp_url:16},Le)}}const Q=document.getElementById("otp-widget"),be=Q.getAttribute("reqotp"),ge=Q.getAttribute("verifyotp"),Qe=Q.getAttribute("title")||"Verifikasi OTP";return console.log(be,ge),new Ge({target:Q,props:{vp_url:be,votp_url:ge,title:Qe}})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dripsender-otp-widget",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "type": "module",
5
5
  "description": "A customizable OTP verification widget for Dripsender",
6
6
  "main": "dist/assets/main.js",
@@ -31,6 +31,7 @@
31
31
  "postcss": "^8.5.3",
32
32
  "svelte": "^4.2.12",
33
33
  "tailwindcss": "^3.4.17",
34
- "vite": "^4.5.13"
34
+ "vite": "^4.5.13",
35
+ "vite-plugin-css-injected-by-js": "^3.5.2"
35
36
  }
36
37
  }
@@ -1 +0,0 @@
1
- *,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.-bottom-2{bottom:-.5rem}.left-1\/2{left:50%}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.-ml-1{margin-left:-.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-4{margin-top:1rem}.block{display:block}.flex{display:flex}.hidden{display:none}.h-1{height:.25rem}.h-14{height:3.5rem}.h-4{height:1rem}.h-5{height:1.25rem}.w-12{width:3rem}.w-16{width:4rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-8{width:2rem}.w-full{width:100%}.max-w-md{max-width:28rem}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border-2{border-width:2px}.border-l-4{border-left-width:4px}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-green-500{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity, 1))}.border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-blue-500{--tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-purple-600{--tw-gradient-to: #9333ea var(--tw-gradient-to-position)}.p-1{padding:.25rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-8{padding:2rem}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.shake{animation:shake .5s cubic-bezier(.36,.07,.19,.97) both}.success-animation{animation:success-pulse 1.5s ease-in-out}.hover\:-translate-y-1:hover{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:text-blue-800:hover{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-lg:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(147 197 253 / var(--tw-ring-opacity, 1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.disabled\:transform-none:disabled{transform:none}.disabled\:opacity-70:disabled{opacity:.7}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background-color:#f9fafb}@keyframes svelte-13xfqe0-shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes svelte-13xfqe0-success-pulse{0%,to{transform:scale(1);box-shadow:0 0 #4fd1c500}50%{transform:scale(1.03);box-shadow:0 0 20px #4fd1c580}}input[type=text].svelte-13xfqe0,input[type=tel].svelte-13xfqe0{transition:border-color .2s ease}button.svelte-13xfqe0{position:relative;overflow:hidden}button.svelte-13xfqe0:after{content:"";position:absolute;top:50%;left:50%;width:5px;height:5px;background:rgba(255,255,255,.5);opacity:0;border-radius:100%;transform:scale(1) translate(-50%);transform-origin:50% 50%}@keyframes svelte-13xfqe0-ripple{0%{transform:scale(0);opacity:.5}to{transform:scale(20);opacity:0}}button.svelte-13xfqe0:focus:not(:active):after{animation:svelte-13xfqe0-ripple 1s ease-out}