vue-smart-toast 0.1.0

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.
@@ -0,0 +1 @@
1
+ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("vue")):typeof define==`function`&&define.amd?define([`exports`,`vue`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.VueToast={},e.Vue))})(this,function(e,t){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});var n=`middle`,r=3e3;function i(){return typeof window<`u`&&typeof document<`u`}function a(){return i()?window.matchMedia(`(max-width: 600px), (hover: none) and (pointer: coarse)`).matches:!1}function o(e){return e===`pc`||e===`mobile`?e:a()?`mobile`:`pc`}function s(e){return e===`center`||!e?n:e}function c(e){return!e||e===`normal`?`default`:e===`fail`?`error`:e}function l(e){return e===`loading`?1/0:r}var u=new Map,d=0,f=(0,t.shallowReactive)([]);function p(){return d+=1,d}function m(e){let t=u.get(e);t&&(clearTimeout(t),u.delete(e))}function h(e){m(e.id),!(!Number.isFinite(e.duration)||e.duration<=0)&&u.set(e.id,setTimeout(()=>{v(e.id,!0)},e.duration))}function g(e){let t=e.type===`loading`?`loading`:c(e.type);return{id:e.id??p(),type:t,message:e.message??``,description:e.description,duration:e.duration??l(t),device:e.device??`auto`,pcPosition:e.pcPosition??e.position??`bottom-right`,mobilePosition:s(e.mobilePosition),dismissible:e.dismissible??!0,action:e.action,cancel:e.cancel,onClick:e.onClick,onDismiss:e.onDismiss,onAutoClose:e.onAutoClose,icon:e.icon,mobileIcon:e.mobileIcon,class:e.class,style:e.style,descriptionClass:e.descriptionClass,cancelButtonStyle:e.cancelButtonStyle,actionButtonStyle:e.actionButtonStyle,unstyled:e.unstyled,classes:e.classes,closeButtonAriaLabel:e.closeButtonAriaLabel,closeButtonPosition:e.closeButtonPosition,mobileClass:e.mobileClass,mobileStyle:e.mobileStyle,mobileClasses:e.mobileClasses,important:e.important,richColors:e.richColors,closeButton:e.closeButton,toasterId:e.toasterId,createdAt:Date.now(),dismissed:!1}}function _(e){let t=g(e),n=f.findIndex(e=>e.id===t.id);return n>=0?(f[n]={...f[n],...t,createdAt:f[n].createdAt,dismissed:!1},h(f[n]),t.id):(f.forEach(e=>{m(e.id),e.onDismiss?.(e)}),f.splice(0,f.length),f.unshift(t),h(t),t.id)}function v(e,t=!1){if(e===void 0){f.forEach(e=>v(e.id,t));return}let n=f.find(t=>t.id===e);!n||n.dismissed||(m(e),n.dismissed=!0,t?n.onAutoClose?.(n):n.onDismiss?.(n),setTimeout(()=>{let t=f.findIndex(t=>t.id===e);t>=0&&f[t].dismissed&&f.splice(t,1)},240))}function y(){v()}function b(){u.forEach(e=>clearTimeout(e)),u.clear(),f.splice(0,f.length)}var x=1,S=new class{subscribers;toasts;dismissedToasts;constructor(){this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)});publish=e=>{this.subscribers.forEach(t=>t(e))};addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]};create=e=>{let{message:t,...n}=e,r=typeof e.id==`number`||e.id&&e.id?.length>0?e.id:x++,i=this.toasts.find(e=>e.id===r),a=e.dismissible===void 0?!0:e.dismissible;return this.dismissedToasts.has(r)&&this.dismissedToasts.delete(r),i?this.toasts=this.toasts.map(n=>n.id===r?(this.publish({...n,...e,id:r,title:t}),{...n,...e,id:r,dismissible:a,title:t}):n):this.addToast({title:t,...n,dismissible:a,id:r}),r};dismiss=e=>(e?(this.dismissedToasts.add(e),requestAnimationFrame(()=>this.subscribers.forEach(t=>t({id:e,dismiss:!0})))):this.toasts.forEach(e=>{this.subscribers.forEach(t=>t({id:e.id,dismiss:!0}))}),e);message=(e,t)=>this.create({...t,message:e,type:`default`});error=(e,t)=>this.create({...t,type:`error`,message:e});success=(e,t)=>this.create({...t,type:`success`,message:e});info=(e,t)=>this.create({...t,type:`info`,message:e});warning=(e,t)=>this.create({...t,type:`warning`,message:e});loading=(e,t)=>this.create({...t,type:`loading`,message:e});promise=(e,n)=>{if(!n)return;let r;n.loading!==void 0&&(r=this.create({...n,promise:e,type:`loading`,message:n.loading,description:typeof n.description==`function`?void 0:n.description}));let i=Promise.resolve(e instanceof Function?e():e),a=r!==void 0,o,s=i.then(async e=>{if(o=[`resolve`,e],(0,t.isVNode)(e))a=!1,this.create({id:r,type:`default`,message:e});else if(w(e)&&!e.ok){a=!1;let i=typeof n.error==`function`?await n.error(`HTTP error! status: ${e.status}`):n.error,o=typeof n.description==`function`?await n.description(`HTTP error! status: ${e.status}`):n.description,s=typeof i==`object`&&!(0,t.isVNode)(i)?i:{message:i||``,id:r||``};this.create({id:r,type:`error`,description:o,...s})}else if(e instanceof Error){a=!1;let i=typeof n.error==`function`?await n.error(e):n.error,o=typeof n.description==`function`?await n.description(e):n.description,s=typeof i==`object`&&!(0,t.isVNode)(i)?i:{message:i||``,id:r||``};this.create({id:r,type:`error`,description:o,...s})}else if(n.success!==void 0){a=!1;let i=typeof n.success==`function`?await n.success(e):n.success,o=typeof n.description==`function`?await n.description(e):n.description,s=typeof i==`object`&&!(0,t.isVNode)(i)?i:{message:i||``,id:r||``};this.create({id:r,type:`success`,description:o,...s})}}).catch(async e=>{if(o=[`reject`,e],n.error!==void 0){a=!1;let i=typeof n.error==`function`?await n.error(e):n.error,o=typeof n.description==`function`?await n.description(e):n.description,s=typeof i==`object`&&!(0,t.isVNode)(i)?i:{message:i||``,id:r||``};this.create({id:r,type:`error`,description:o,...s})}}).finally(()=>{a&&(this.dismiss(r),r=void 0),n.finally?.()}),c=()=>new Promise((e,t)=>s.then(()=>o[0]===`reject`?t(o[1]):e(o[1])).catch(t));return typeof r!=`string`&&typeof r!=`number`?{unwrap:c}:Object.assign(r,{unwrap:c})};custom=(e,t)=>{let n=t?.id||x++,r=this.toasts.find(e=>e.id===n),i=t?.dismissible===void 0?!0:t.dismissible;return this.dismissedToasts.has(n)&&this.dismissedToasts.delete(n),r?this.toasts=this.toasts.map(r=>r.id===n?(this.publish({...r,component:e,dismissible:i,id:n,...t}),{...r,component:e,dismissible:i,id:n,...t}):r):this.addToast({component:e,dismissible:i,id:n,...t}),n};getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id))};function C(e,t){let n=t?.id||x++;return S.create({message:e,id:n,type:`default`,...t}),n}var w=e=>e&&typeof e==`object`&&`ok`in e&&typeof e.ok==`boolean`&&`status`in e&&typeof e.status==`number`,T=Object.assign(C,{success:S.success,info:S.info,warning:S.warning,error:S.error,custom:S.custom,message:S.message,promise:S.promise,dismiss:S.dismiss,loading:S.loading},{getHistory:()=>S.toasts,getToasts:()=>S.getActiveToasts()}),E=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},D={},O={class:`van-toast__arrow`,width:`24`,height:`24`,viewBox:`0 0 24 24`,"aria-hidden":`true`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`};function k(e,n){return(0,t.openBlock)(),(0,t.createElementBlock)(`svg`,O,[...n[0]||=[(0,t.createElementVNode)(`g`,{stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`},[(0,t.createElementVNode)(`polyline`,{transform:`translate(11 12) scale(-1 1) translate(-11 -12)`,points:`15 4 7 12 15 20`})],-1)]])}var A=E(D,[[`render`,k]]),j={key:0,class:`van-toast__icon`,viewBox:`0 0 24 24`,"aria-hidden":`true`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},M={key:1,class:`van-toast__icon`,viewBox:`0 0 24 24`,"aria-hidden":`true`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},N={key:2,class:`van-toast__icon`,viewBox:`0 0 24 24`,"aria-hidden":`true`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},P={key:3,class:`van-toast__icon`,viewBox:`0 0 24 24`,"aria-hidden":`true`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},F=(0,t.defineComponent)({__name:`MobileToastIcon`,props:{type:{}},setup(e){return(n,r)=>e.type===`success`?((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,j,[...r[0]||=[(0,t.createElementVNode)(`path`,{d:`M20 6.5 9.5 17 4 11.5`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,-1)]])):e.type===`error`||e.type===`fail`?((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,M,[...r[1]||=[(0,t.createElementVNode)(`path`,{d:`m6.5 6.5 11 11m0-11-11 11`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,-1)]])):e.type===`warning`?((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,N,[...r[2]||=[(0,t.createElementVNode)(`path`,{d:`M12 4.5 21 19.5H3L12 4.5Z`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,-1),(0,t.createElementVNode)(`path`,{d:`M12 9.5v4.5m0 3h.01`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,-1)]])):e.type===`info`?((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,P,[...r[3]||=[(0,t.createElementVNode)(`circle`,{cx:`12`,cy:`12`,r:`8`,stroke:`currentColor`,"stroke-width":`1.5`},null,-1),(0,t.createElementVNode)(`path`,{d:`M12 11v5m0-8h.01`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,-1)]])):(0,t.createCommentVNode)(``,!0)}}),I=[`data-removed`],L=(0,t.defineComponent)({__name:`MobileToast`,props:{toast:{},index:{},toastOptions:{}},setup(e){let n=e;function r(e){if(e)return e[n.toast.type]}let i=(0,t.computed)(()=>n.toastOptions?.classes),a=(0,t.computed)(()=>n.toast.mobileClasses),o=(0,t.computed)(()=>[i.value?.icon,r(i.value),a.value?.icon,r(a.value)]);function s(){n.toast.dismissible&&v(n.toast.id)}function c(e){!n.toast.onClick&&!n.toast.action||(n.toast.onClick?.(),n.toast.action?.onClick(e),s())}return(n,s)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`van-toast`,[`van-toast--${e.toast.mobilePosition}`,e.toast.type==="default"?`van-toast--text`:`van-toast--${e.toast.type}`,i.value?.toast,r(i.value),e.toastOptions?.class,a.value?.toast,r(a.value),e.toast.mobileClass]]),"data-removed":e.toast.dismissed,style:(0,t.normalizeStyle)({"--vt-mobile-index":e.index,...e.toastOptions?.style,...e.toast.mobileStyle}),role:`status`,onClick:c},[e.toast.type!=="default"&&e.toast.mobileIcon!==!1?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[e.toast.mobileIcon?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:0,class:(0,t.normalizeClass)([`van-toast__icon`,o.value])},[((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.toast.mobileIcon)))],2)):e.toast.type===`loading`?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:1,class:(0,t.normalizeClass)([`van-loading__spinner van-loading__spinner--circular van-toast__loading`,o.value]),"aria-hidden":`true`},[(0,t.renderSlot)(n.$slots,`loading-icon`,{},()=>[s[0]||=(0,t.createElementVNode)(`svg`,{class:`van-loading__circular`,viewBox:`25 25 50 50`},[(0,t.createElementVNode)(`circle`,{cx:`50`,cy:`50`,r:`20`,fill:`none`})],-1)])],2)):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:2,class:(0,t.normalizeClass)([`van-toast__icon`,o.value])},[e.toast.type===`success`?(0,t.renderSlot)(n.$slots,`success-icon`,{key:0},()=>[(0,t.createVNode)(F,{type:e.toast.type},null,8,[`type`])]):e.toast.type===`error`?(0,t.renderSlot)(n.$slots,`error-icon`,{key:1},()=>[(0,t.createVNode)(F,{type:e.toast.type},null,8,[`type`])]):e.toast.type===`warning`?(0,t.renderSlot)(n.$slots,`warning-icon`,{key:2},()=>[(0,t.createVNode)(F,{type:e.toast.type},null,8,[`type`])]):e.toast.type===`info`?(0,t.renderSlot)(n.$slots,`info-icon`,{key:3},()=>[(0,t.createVNode)(F,{type:e.toast.type},null,8,[`type`])]):(0,t.createCommentVNode)(``,!0)],2))],64)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`van-toast__content`,[i.value?.content,a.value?.content]])},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`van-toast__text`,[i.value?.text,a.value?.text]])},(0,t.toDisplayString)(e.toast.message),3),e.toast.onClick||e.toast.action?((0,t.openBlock)(),(0,t.createBlock)(A,{key:0,class:(0,t.normalizeClass)([i.value?.actionIcon,a.value?.actionIcon])},null,8,[`class`])):(0,t.createCommentVNode)(``,!0)],2),e.toast.description===void 0?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,class:(0,t.normalizeClass)([`van-toast__description`,[i.value?.description,a.value?.description]])},(0,t.toDisplayString)(e.toast.description),3))],14,I))}}),R={class:`vt-mobile-layer`,"aria-live":`polite`,"aria-relevant":`additions text`},z=(0,t.defineComponent)({__name:`MobileToaster`,props:{toasts:{},toastOptions:{}},setup(e){return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,R,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.toasts,(r,i)=>((0,t.openBlock)(),(0,t.createBlock)(L,{key:r.id,toast:r,index:i,"toast-options":e.toastOptions},(0,t.createSlots)({_:2},[n.$slots[`loading-icon`]?{name:`loading-icon`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`loading-icon`)]),key:`0`}:void 0,n.$slots[`success-icon`]?{name:`success-icon`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`success-icon`)]),key:`1`}:void 0,n.$slots[`error-icon`]?{name:`error-icon`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`error-icon`)]),key:`2`}:void 0,n.$slots[`warning-icon`]?{name:`warning-icon`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`warning-icon`)]),key:`3`}:void 0,n.$slots[`info-icon`]?{name:`info-icon`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`info-icon`)]),key:`4`}:void 0]),1032,[`toast`,`index`,`toast-options`]))),128))]))}});function B(e){return e.label!==void 0}var V=`24px`,H=`16px`;function ee(){let e=(0,t.ref)(!1);return(0,t.watchEffect)(()=>{let t=()=>{e.value=document.hidden};return document.addEventListener(`visibilitychange`,t),()=>window.removeEventListener(`visibilitychange`,t)}),{isDocumentHidden:e}}function U(...e){return e.filter(Boolean).join(` `)}function te(e){let[t,n]=e.split(`-`),r=[];return t&&r.push(t),n&&r.push(n),r}function W(e,t){let n={};return[e,t].forEach((e,t)=>{let r=t===1,i=r?`--mobile-offset`:`--offset`,a=r?H:V;function o(e){[`top`,`right`,`bottom`,`left`].forEach(t=>{n[`${i}-${t}`]=typeof e==`number`?`${e}px`:e})}typeof e==`number`||typeof e==`string`?o(e):typeof e==`object`?[`top`,`right`,`bottom`,`left`].forEach(t=>{e[t]===void 0?n[`${i}-${t}`]=a:n[`${i}-${t}`]=typeof e[t]==`number`?`${e[t]}px`:e[t]}):o(a)}),n}var ne=[`data-rich-colors`,`data-styled`,`data-mounted`,`data-promise`,`data-swiped`,`data-removed`,`data-visible`,`data-y-position`,`data-x-position`,`data-index`,`data-front`,`data-swiping`,`data-dismissible`,`data-type`,`data-invert`,`data-swipe-out`,`data-swipe-direction`,`data-expanded`,`data-testid`],re=[`aria-label`,`data-disabled`,`data-close-button-position`],G=(0,t.defineComponent)({__name:`Toast`,props:{toast:{},toasts:{},index:{},swipeDirections:{},expanded:{type:Boolean},invert:{type:Boolean},heights:{},gap:{},position:{},closeButtonPosition:{},visibleToasts:{},expandByDefault:{type:Boolean},closeButton:{type:Boolean},interacting:{type:Boolean},style:{},cancelButtonStyle:{},actionButtonStyle:{},duration:{},class:{},unstyled:{type:Boolean},descriptionClass:{},loadingIcon:{},classes:{},icons:{},closeButtonAriaLabel:{},defaultRichColors:{type:Boolean}},emits:[`update:heights`,`update:height`,`removeToast`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(null),o=(0,t.ref)(null),s=(0,t.ref)(!1),c=(0,t.ref)(!1),l=(0,t.ref)(!1),u=(0,t.ref)(!1),d=(0,t.ref)(!1),f=(0,t.ref)(0),p=(0,t.ref)(0),m=(0,t.ref)(r.toast.duration||r.duration||4e3),h=(0,t.ref)(null),g=(0,t.ref)(null),_=(0,t.computed)(()=>r.index===0),v=(0,t.computed)(()=>r.index+1<=r.visibleToasts),y=(0,t.computed)(()=>r.toast.type),b=(0,t.computed)(()=>r.toast.dismissible!==!1),x=(0,t.computed)(()=>r.toast.class||``),S=(0,t.computed)(()=>r.descriptionClass||``),C=(0,t.computed)(()=>r.toast.icon!==!1&&(y.value!=="default"||r.toast.icon||r.toast.promise)),w=(0,t.computed)(()=>{let e=r.toast.position||r.position,t=r.heights.filter(t=>t.position===e).findIndex(e=>e.toastId===r.toast.id);return t>=0?t:0}),T=(0,t.computed)(()=>{let e=r.toast.position||r.position;return r.heights.filter(t=>t.position===e).reduce((e,t,n)=>n>=w.value?e:e+t.height,0)}),E=(0,t.computed)(()=>w.value*r.gap+T.value||0),D=(0,t.computed)(()=>r.toast.closeButton??r.closeButton),O=(0,t.computed)(()=>r.toast.duration||r.duration||4e3),k=(0,t.ref)(0),A=(0,t.ref)(0),j=(0,t.ref)(null),M=(0,t.computed)(()=>r.position.split(`-`)),N=(0,t.computed)(()=>M.value[0]),P=(0,t.computed)(()=>M.value[1]),F=(0,t.computed)(()=>typeof r.toast.title!=`string`),I=(0,t.computed)(()=>typeof r.toast.description!=`string`),{isDocumentHidden:L}=ee(),R=(0,t.computed)(()=>y.value&&y.value===`loading`);(0,t.onMounted)(()=>{s.value=!0,m.value=O.value}),(0,t.watchEffect)(async()=>{if(!s.value||!g.value)return;await(0,t.nextTick)();let e=g.value,n=e.style.height;e.style.height=`auto`;let a=e.getBoundingClientRect().height;e.style.height=n,p.value=a,i(`update:height`,{toastId:r.toast.id,height:a,position:r.toast.position||r.position})});function z(){c.value=!0,f.value=E.value,setTimeout(()=>{i(`removeToast`,r.toast)},200)}function V(){if(R.value||!b.value)return{};z(),r.toast.onDismiss?.(r.toast)}function H(e){e.button!==2&&(R.value||!b.value||(h.value=new Date,f.value=E.value,e.target.setPointerCapture(e.pointerId),e.target.tagName!==`BUTTON`&&(l.value=!0,j.value={x:e.clientX,y:e.clientY})))}function W(){if(u.value||!b.value)return;j.value=null;let e=Number(g.value?.style.getPropertyValue(`--swipe-amount-x`).replace(`px`,``)||0),t=Number(g.value?.style.getPropertyValue(`--swipe-amount-y`).replace(`px`,``)||0),n=new Date().getTime()-(h.value?.getTime()||0),i=a.value===`x`?e:t,s=Math.abs(i)/n;if(Math.abs(i)>=45||s>.11){f.value=E.value,r.toast.onDismiss?.(r.toast),a.value===`x`?o.value=e>0?`right`:`left`:o.value=t>0?`down`:`up`,z(),u.value=!0;return}else g.value?.style.setProperty(`--swipe-amount-x`,`0px`),g.value?.style.setProperty(`--swipe-amount-y`,`0px`);d.value=!1,l.value=!1,a.value=null}function G(e){if(!j.value||!b.value||(window?.getSelection()?.toString()?.length??!1))return;let t=e.clientY-j.value.y,n=e.clientX-j.value.x,i=r.swipeDirections??te(r.position);!a.value&&(Math.abs(n)>1||Math.abs(t)>1)&&(a.value=Math.abs(n)>Math.abs(t)?`x`:`y`);let o={x:0,y:0},s=e=>1/(1.5+Math.abs(e)/20);if(a.value===`y`){if(i.includes(`top`)||i.includes(`bottom`))if(i.includes(`top`)&&t<0||i.includes(`bottom`)&&t>0)o.y=t;else{let e=t*s(t);o.y=Math.abs(e)<Math.abs(t)?e:t}}else if(a.value===`x`&&(i.includes(`left`)||i.includes(`right`)))if(i.includes(`left`)&&n<0||i.includes(`right`)&&n>0)o.x=n;else{let e=n*s(n);o.x=Math.abs(e)<Math.abs(n)?e:n}(Math.abs(o.x)>0||Math.abs(o.y)>0)&&(d.value=!0),g.value?.style.setProperty(`--swipe-amount-x`,`${o.x}px`),g.value?.style.setProperty(`--swipe-amount-y`,`${o.y}px`)}(0,t.onMounted)(()=>{if(s.value=!0,!g.value)return;let e=g.value.getBoundingClientRect().height;p.value=e,i(`update:heights`,[{toastId:r.toast.id,height:e,position:r.toast.position},...r.heights])}),(0,t.onBeforeUnmount)(()=>{g.value&&i(`removeToast`,r.toast)}),(0,t.watchEffect)(e=>{if(r.toast.promise&&y.value===`loading`||r.toast.duration===1/0||r.toast.type===`loading`)return;let t;r.expanded||r.interacting||L.value?(()=>{if(A.value<k.value){let e=new Date().getTime()-k.value;m.value-=e}A.value=new Date().getTime()})():m.value!==1/0&&(k.value=new Date().getTime(),t=setTimeout(()=>{r.toast.onAutoClose?.(r.toast),z()},m.value)),e(()=>{clearTimeout(t)})}),(0,t.watch)(()=>r.toast.delete,e=>{e!==void 0&&e&&(z(),r.toast.onDismiss?.(r.toast))},{deep:!0});function K(){l.value=!1,a.value=null,j.value=null}return(n,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{tabindex:`0`,ref_key:`toastRef`,ref:g,class:(0,t.normalizeClass)((0,t.unref)(U)(r.class,x.value,e.classes?.toast,e.toast.classes?.toast,e.classes?.[y.value],e.toast?.classes?.[y.value])),"data-sonner-toast":``,"data-rich-colors":e.toast.richColors??e.defaultRichColors,"data-styled":!(e.toast.component||e.toast?.unstyled||e.unstyled),"data-mounted":s.value,"data-promise":!!e.toast.promise,"data-swiped":d.value,"data-removed":c.value,"data-visible":v.value,"data-y-position":N.value,"data-x-position":P.value,"data-index":e.index,"data-front":_.value,"data-swiping":l.value,"data-dismissible":b.value,"data-type":y.value,"data-invert":e.toast.invert||e.invert,"data-swipe-out":u.value,"data-swipe-direction":o.value,"data-expanded":!!(e.expanded||e.expandByDefault&&s.value),"data-testid":e.toast.testId,style:(0,t.normalizeStyle)({"--index":e.index,"--toasts-before":e.index,"--z-index":e.toasts.length-e.index,"--offset":`${c.value?f.value:E.value}px`,"--initial-height":e.expandByDefault?`auto`:`${p.value}px`,...e.style,...r.toast.style}),onDragend:K,onPointerdown:H,onPointerup:W,onPointermove:G},[D.value&&!e.toast.component&&y.value!==`loading`?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,"aria-label":e.closeButtonAriaLabel||`Close toast`,"data-disabled":R.value,"data-close-button":`true`,"data-close-button-position":e.closeButtonPosition,class:(0,t.normalizeClass)((0,t.unref)(U)(e.classes?.closeButton,e.toast?.classes?.closeButton)),onClick:V},[e.icons?.close?((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.icons?.close),{key:0})):(0,t.renderSlot)(n.$slots,`close-icon`,{key:1})],10,re)):(0,t.createCommentVNode)(``,!0),e.toast.component?((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.toast.component),(0,t.mergeProps)({key:1},e.toast.componentProps,{onCloseToast:V,isPaused:n.$props.expanded||n.$props.interacting||(0,t.unref)(L)}),null,16,[`isPaused`])):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:2},[C.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,"data-icon":``,class:(0,t.normalizeClass)((0,t.unref)(U)(e.classes?.icon,e.toast?.classes?.icon))},[e.toast.icon?((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.toast.icon),{key:0})):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[y.value===`loading`?(0,t.renderSlot)(n.$slots,`loading-icon`,{key:0}):y.value===`success`?(0,t.renderSlot)(n.$slots,`success-icon`,{key:1}):y.value===`error`?(0,t.renderSlot)(n.$slots,`error-icon`,{key:2}):y.value===`warning`?(0,t.renderSlot)(n.$slots,`warning-icon`,{key:3}):y.value===`info`?(0,t.renderSlot)(n.$slots,`info-icon`,{key:4}):(0,t.createCommentVNode)(``,!0)],64))],2)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,{"data-content":``,class:(0,t.normalizeClass)((0,t.unref)(U)(e.classes?.content,e.toast?.classes?.content))},[(0,t.createElementVNode)(`div`,{"data-title":``,class:(0,t.normalizeClass)((0,t.unref)(U)(e.classes?.title,e.toast.classes?.title))},[F.value?((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.toast.title),(0,t.normalizeProps)((0,t.mergeProps)({key:0},e.toast.componentProps)),null,16)):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createTextVNode)((0,t.toDisplayString)(e.toast.title),1)],64))],2),e.toast.description?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,"data-description":``,class:(0,t.normalizeClass)((0,t.unref)(U)(e.descriptionClass,S.value,e.toast.descriptionClass,e.classes?.description,e.toast.classes?.description))},[I.value?((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.toast.description),(0,t.normalizeProps)((0,t.mergeProps)({key:0},e.toast.componentProps)),null,16)):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createTextVNode)((0,t.toDisplayString)(e.toast.description),1)],64))],2)):(0,t.createCommentVNode)(``,!0)],2),e.toast.cancel?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,style:(0,t.normalizeStyle)(e.toast.cancelButtonStyle||e.cancelButtonStyle),class:(0,t.normalizeClass)((0,t.unref)(U)(e.classes?.cancelButton,e.toast.classes?.cancelButton)),"data-button":``,"data-cancel":``,onClick:i[0]||=n=>{(0,t.unref)(B)(e.toast.cancel)&&b.value&&(e.toast.cancel.onClick?.(n),z())}},(0,t.toDisplayString)((0,t.unref)(B)(e.toast.cancel)?e.toast.cancel?.label:e.toast.cancel),7)):(0,t.createCommentVNode)(``,!0),e.toast.action?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:2,style:(0,t.normalizeStyle)(e.toast.actionButtonStyle||e.actionButtonStyle),class:(0,t.normalizeClass)((0,t.unref)(U)(e.classes?.actionButton,e.toast.classes?.actionButton)),"data-button":``,"data-action":``,onClick:i[1]||=n=>{(0,t.unref)(B)(e.toast.action)&&(e.toast.action.onClick?.(n),!n.defaultPrevented&&z())}},(0,t.toDisplayString)((0,t.unref)(B)(e.toast.action)?e.toast.action?.label:e.toast.action),7)):(0,t.createCommentVNode)(``,!0)],64))],46,ne))}}),K={},ie={xmlns:`http://www.w3.org/2000/svg`,width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stoke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function ae(e,n){return(0,t.openBlock)(),(0,t.createElementBlock)(`svg`,ie,[...n[0]||=[(0,t.createElementVNode)(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`},null,-1),(0,t.createElementVNode)(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`},null,-1)]])}var oe=E(K,[[`render`,ae]]),se=[`data-visible`],ce={class:`sonner-spinner`},le=(0,t.defineComponent)({__name:`Loader`,props:{visible:{type:Boolean}},setup(e){let n=Array(12).fill(0);return(r,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`sonner-loading-wrapper`,"data-visible":e.visible},[(0,t.createElementVNode)(`div`,ce,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(n),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:`spinner-bar-${e}`,class:`sonner-loading-bar`}))),128))])],8,se))}}),ue={},de={xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`};function fe(e,n){return(0,t.openBlock)(),(0,t.createElementBlock)(`svg`,de,[...n[0]||=[(0,t.createElementVNode)(`path`,{"fill-rule":`evenodd`,d:`M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z`,"clip-rule":`evenodd`},null,-1)]])}var pe=E(ue,[[`render`,fe]]),me={},he={xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`};function ge(e,n){return(0,t.openBlock)(),(0,t.createElementBlock)(`svg`,he,[...n[0]||=[(0,t.createElementVNode)(`path`,{"fill-rule":`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z`,"clip-rule":`evenodd`},null,-1)]])}var _e=E(me,[[`render`,ge]]),ve={},ye={xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`currentColor`,height:`20`,width:`20`};function be(e,n){return(0,t.openBlock)(),(0,t.createElementBlock)(`svg`,ye,[...n[0]||=[(0,t.createElementVNode)(`path`,{"fill-rule":`evenodd`,d:`M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z`,"clip-rule":`evenodd`},null,-1)]])}var xe=E(ve,[[`render`,be]]),Se={},Ce={xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`};function we(e,n){return(0,t.openBlock)(),(0,t.createElementBlock)(`svg`,Ce,[...n[0]||=[(0,t.createElementVNode)(`path`,{"fill-rule":`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z`,"clip-rule":`evenodd`},null,-1)]])}var Te=E(Se,[[`render`,we]]),Ee=[`aria-label`],De=[`data-sonner-theme`,`dir`,`data-theme`,`data-rich-colors`,`data-y-position`,`data-x-position`],Oe=typeof window<`u`&&typeof document<`u`;function ke(){if(typeof window>`u`||typeof document>`u`)return`ltr`;let e=document.documentElement.getAttribute(`dir`);return e===`auto`||!e?window.getComputedStyle(document.documentElement).direction:e}var Ae=(0,t.defineComponent)({name:`Toaster`,inheritAttrs:!1,__name:`Toaster`,props:{id:{},invert:{type:Boolean,default:!1},theme:{default:`light`},position:{default:`bottom-right`},closeButtonPosition:{default:`top-left`},hotkey:{default:()=>[`altKey`,`KeyT`]},richColors:{type:Boolean,default:!1},expand:{type:Boolean,default:!1},duration:{},gap:{default:14},visibleToasts:{default:3},closeButton:{type:Boolean,default:!1},toastOptions:{default:()=>({})},class:{default:``},style:{},offset:{default:V},mobileOffset:{default:H},dir:{default:`auto`},swipeDirections:{},icons:{},containerAriaLabel:{default:`Notifications`}},setup(e){let n=e,r=(0,t.useAttrs)(),i=(0,t.ref)([]),a=(0,t.computed)(()=>n.id?i.value.filter(e=>e.toasterId===n.id):i.value.filter(e=>!e.toasterId));function o(e,t){return a.value.filter(n=>!n.position&&t===0||n.position===e)}let s=(0,t.computed)(()=>{let e=a.value.filter(e=>e.position).map(e=>e.position);return e.length>0?Array.from(new Set([n.position].concat(e))):[n.position]}),c=(0,t.computed)(()=>{let e={};return s.value.forEach(t=>{e[t]=i.value.filter(e=>e.position===t)}),e}),l=(0,t.ref)([]),u=(0,t.ref)({}),d=(0,t.ref)(!1);(0,t.watchEffect)(()=>{s.value.forEach(e=>{e in u.value||(u.value[e]=!1)})});let f=(0,t.ref)(n.theme===`system`?typeof window<`u`&&window.matchMedia&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:n.theme),p=(0,t.ref)(null),m=(0,t.ref)(null),h=(0,t.ref)(!1),g=n.hotkey.join(`+`).replace(/Key/g,``).replace(/Digit/g,``);function _(e){i.value.find(t=>t.id===e.id)?.delete||S.dismiss(e.id),i.value=i.value.filter(({id:t})=>t!==e.id),setTimeout(()=>{i.value.find(t=>t.id===e.id)||(l.value=l.value.filter(t=>t.toastId!==e.id))},250)}function v(e){h.value&&!e.currentTarget?.contains?.(e.relatedTarget)&&(h.value=!1,m.value&&=(m.value.focus({preventScroll:!0}),null))}function y(e){e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||h.value||(h.value=!0,m.value=e.relatedTarget)}function b(e){e.target&&e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||(d.value=!0)}(0,t.watchEffect)(e=>{i.value=S.getActiveToasts(),e(S.subscribe(e=>{if(e.dismiss){requestAnimationFrame(()=>{i.value=i.value.map(t=>t.id===e.id?{...t,delete:!0}:t)});return}(0,t.nextTick)(()=>{let t=i.value.findIndex(t=>t.id===e.id);t===-1?i.value=[e,...i.value]:i.value=[...i.value.slice(0,t),{...i.value[t],...e},...i.value.slice(t+1)]})}))}),(0,t.watchEffect)(e=>{if(typeof window>`u`)return;if(n.theme!==`system`){f.value=n.theme;return}let t=window.matchMedia(`(prefers-color-scheme: dark)`),r=e=>{f.value=e?`dark`:`light`};r(t.matches);let i=e=>{r(e.matches)};try{t.addEventListener(`change`,i)}catch{t.addListener(i)}e(()=>{try{t.removeEventListener(`change`,i)}catch{t.removeListener(i)}})}),(0,t.watchEffect)(()=>{p.value&&m.value&&(m.value.focus({preventScroll:!0}),m.value=null,h.value=!1)}),(0,t.watchEffect)(()=>{i.value.length<=1&&Object.keys(u.value).forEach(e=>{u.value[e]=!1})}),(0,t.watchEffect)(e=>{function t(e){let t=n.hotkey.every(t=>e[t]||e.code===t),r=Array.isArray(p.value)?p.value[0]:p.value;t&&(s.value.forEach(e=>{u.value[e]=!0}),r?.focus());let i=document.activeElement===p.value||r?.contains(document.activeElement);e.code===`Escape`&&i&&s.value.forEach(e=>{u.value[e]=!1})}Oe&&(document.addEventListener(`keydown`,t),e(()=>{document.removeEventListener(`keydown`,t)}))});function x(e){let t=e.currentTarget,n=t.getAttribute(`data-y-position`)+`-`+t.getAttribute(`data-x-position`);u.value[n]=!0}function C(e){if(!d.value){let t=e.currentTarget,n=t.getAttribute(`data-y-position`)+`-`+t.getAttribute(`data-x-position`);u.value[n]=!1}}function w(){Object.keys(u.value).forEach(e=>{u.value[e]=!1})}function T(){d.value=!1}function E(e){l.value=e}function D(e){let t=l.value.findIndex(t=>t.toastId===e.toastId);if(t!==-1)l.value[t]=e;else{let t=l.value.findIndex(t=>t.position===e.position);t===-1?l.value.unshift(e):l.value.splice(t,0,e)}}return(i,a)=>((0,t.openBlock)(),(0,t.createElementBlock)(`section`,{"aria-label":`${e.containerAriaLabel} ${(0,t.unref)(g)}`,tabIndex:-1,"aria-live":`polite`,"aria-relevant":`additions text`,"aria-atomic":`false`},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(s.value,(a,s)=>((0,t.openBlock)(),(0,t.createElementBlock)(`ol`,(0,t.mergeProps)({key:a,ref_for:!0,ref_key:`listRef`,ref:p,"data-sonner-toaster":``,"data-sonner-theme":f.value,class:n.class,dir:e.dir===`auto`?ke():e.dir,tabIndex:-1,"data-theme":e.theme,"data-rich-colors":e.richColors,"data-y-position":a.split(`-`)[0],"data-x-position":a.split(`-`)[1],style:{"--front-toast-height":`${l.value[0]?.height||0}px`,"--width":`${(0,t.unref)(356)}px`,"--gap":`${e.gap}px`,...e.style,...(0,t.unref)(r).style,...(0,t.unref)(W)(e.offset,e.mobileOffset)}},{ref_for:!0},i.$attrs,{onBlur:v,onFocus:y,onMouseenter:x,onMousemove:x,onMouseleave:C,onDragend:w,onPointerdown:b,onPointerup:T}),[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(o(a,s),(r,o)=>((0,t.openBlock)(),(0,t.createBlock)(G,{key:r.id,heights:l.value,icons:e.icons,index:o,toast:r,defaultRichColors:e.richColors,duration:e.toastOptions?.duration??e.duration,class:(0,t.normalizeClass)(e.toastOptions?.class??``),descriptionClass:e.toastOptions?.descriptionClass,invert:e.invert,visibleToasts:e.visibleToasts,closeButton:e.toastOptions?.closeButton??e.closeButton,interacting:d.value,position:a,closeButtonPosition:e.toastOptions?.closeButtonPosition??e.closeButtonPosition,style:(0,t.normalizeStyle)(e.toastOptions?.style),unstyled:e.toastOptions?.unstyled,classes:e.toastOptions?.classes,cancelButtonStyle:e.toastOptions?.cancelButtonStyle,actionButtonStyle:e.toastOptions?.actionButtonStyle,"close-button-aria-label":e.toastOptions?.closeButtonAriaLabel,toasts:c.value[a],expandByDefault:e.expand,gap:e.gap,expanded:u.value[a]||!1,swipeDirections:n.swipeDirections,"onUpdate:heights":E,"onUpdate:height":D,onRemoveToast:_},{"close-icon":(0,t.withCtx)(()=>[(0,t.renderSlot)(i.$slots,`close-icon`,{},()=>[(0,t.createVNode)(oe)])]),"loading-icon":(0,t.withCtx)(()=>[e.icons?.loading?((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.icons.loading),{key:0})):(0,t.renderSlot)(i.$slots,`loading-icon`,{key:1},()=>[(0,t.createVNode)(le,{visible:r.type===`loading`},null,8,[`visible`])])]),"success-icon":(0,t.withCtx)(()=>[e.icons?.success?((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.icons.success),{key:0})):(0,t.renderSlot)(i.$slots,`success-icon`,{key:1},()=>[(0,t.createVNode)(pe)])]),"error-icon":(0,t.withCtx)(()=>[e.icons?.error?((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.icons.error),{key:0})):(0,t.renderSlot)(i.$slots,`error-icon`,{key:1},()=>[(0,t.createVNode)(Te)])]),"warning-icon":(0,t.withCtx)(()=>[e.icons?.warning?((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.icons.warning),{key:0})):(0,t.renderSlot)(i.$slots,`warning-icon`,{key:1},()=>[(0,t.createVNode)(xe)])]),"info-icon":(0,t.withCtx)(()=>[e.icons?.info?((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.icons.info),{key:0})):(0,t.renderSlot)(i.$slots,`info-icon`,{key:1},()=>[(0,t.createVNode)(_e)])]),_:2},1032,[`heights`,`icons`,`index`,`toast`,`defaultRichColors`,`duration`,`class`,`descriptionClass`,`invert`,`visibleToasts`,`closeButton`,`interacting`,`position`,`closeButtonPosition`,`style`,`unstyled`,`classes`,`cancelButtonStyle`,`actionButtonStyle`,`close-button-aria-label`,`toasts`,`expandByDefault`,`gap`,`expanded`,`swipeDirections`]))),128))],16,De))),128))],8,Ee))}}),q=0,J=!1;function je(){return q+=1,()=>{q=Math.max(0,q-1)}}function Me(){q>0||J||typeof console>`u`||(J=!0,console.warn(`[vue-smart-toast] Render <Toaster /> once before calling toast().`))}var Y=(0,t.defineComponent)({name:`Toaster`,__name:`Toaster`,props:{id:String,invert:Boolean,theme:{type:String,default:`light`},position:{type:String,default:`bottom-right`},closeButtonPosition:{type:String,default:`top-left`},hotkey:{type:Array,default:()=>[`altKey`,`KeyT`]},richColors:Boolean,expand:Boolean,duration:Number,gap:Number,visibleToasts:Number,closeButton:Boolean,toastOptions:{type:Object,default:()=>({})},mobileToastOptions:{type:Object,default:()=>({})},class:String,style:Object,offset:[String,Number,Object],mobileOffset:[String,Number,Object],dir:{type:String,default:`auto`},swipeDirections:Array,icons:Object,containerAriaLabel:String},setup(e){let n=e,r;return(0,t.onMounted)(()=>{r=je()}),(0,t.onBeforeUnmount)(()=>{r?.()}),(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[(0,t.createVNode)((0,t.unref)(Ae),{id:n.id,invert:n.invert,theme:n.theme,position:n.position,"close-button-position":n.closeButtonPosition,hotkey:n.hotkey,"rich-colors":n.richColors,expand:n.expand,duration:n.duration,gap:n.gap,"visible-toasts":n.visibleToasts,"close-button":n.closeButton,"toast-options":n.toastOptions,class:(0,t.normalizeClass)(n.class),style:(0,t.normalizeStyle)(n.style),offset:n.offset,"mobile-offset":n.mobileOffset,dir:n.dir,"swipe-directions":n.swipeDirections,icons:n.icons,"container-aria-label":n.containerAriaLabel},(0,t.createSlots)({_:2},[e.$slots[`close-icon`]?{name:`close-icon`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`close-icon`)]),key:`0`}:void 0,e.$slots[`loading-icon`]?{name:`loading-icon`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`loading-icon`)]),key:`1`}:void 0,e.$slots[`success-icon`]?{name:`success-icon`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`success-icon`)]),key:`2`}:void 0,e.$slots[`error-icon`]?{name:`error-icon`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`error-icon`)]),key:`3`}:void 0,e.$slots[`warning-icon`]?{name:`warning-icon`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`warning-icon`)]),key:`4`}:void 0,e.$slots[`info-icon`]?{name:`info-icon`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`info-icon`)]),key:`5`}:void 0]),1032,[`id`,`invert`,`theme`,`position`,`close-button-position`,`hotkey`,`rich-colors`,`expand`,`duration`,`gap`,`visible-toasts`,`close-button`,`toast-options`,`class`,`style`,`offset`,`mobile-offset`,`dir`,`swipe-directions`,`icons`,`container-aria-label`]),(0,t.createVNode)(z,{toasts:(0,t.unref)(f),"toast-options":n.mobileToastOptions},(0,t.createSlots)({_:2},[e.$slots[`mobile-loading-icon`]?{name:`loading-icon`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`mobile-loading-icon`)]),key:`0`}:void 0,e.$slots[`mobile-success-icon`]?{name:`success-icon`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`mobile-success-icon`)]),key:`1`}:void 0,e.$slots[`mobile-error-icon`]?{name:`error-icon`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`mobile-error-icon`)]),key:`2`}:void 0,e.$slots[`mobile-warning-icon`]?{name:`warning-icon`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`mobile-warning-icon`)]),key:`3`}:void 0,e.$slots[`mobile-info-icon`]?{name:`info-icon`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`mobile-info-icon`)]),key:`4`}:void 0]),1032,[`toasts`,`toast-options`])],64))}});function X(e){if(Me(),o(e.device)===`mobile`)return _({...e,device:`mobile`});let t=e.type===`loading`?`loading`:c(e.type),n={id:e.id,description:e.description,duration:e.duration,position:e.pcPosition??e.position,dismissible:e.dismissible,action:e.action,cancel:e.cancel,onDismiss:e.onDismiss,onAutoClose:e.onAutoClose,icon:e.icon,class:e.class,style:e.style,descriptionClass:e.descriptionClass,cancelButtonStyle:e.cancelButtonStyle,actionButtonStyle:e.actionButtonStyle,unstyled:e.unstyled,classes:e.classes,closeButtonAriaLabel:e.closeButtonAriaLabel,closeButtonPosition:e.closeButtonPosition,important:e.important,richColors:e.richColors,closeButton:e.closeButton,toasterId:e.toasterId},r=String(e.message??``);return t===`success`?T.success(r,n):t===`info`?T.info(r,n):t===`warning`?T.warning(r,n):t===`error`?T.error(r,n):t===`loading`?T.loading(r,n):T(r,n)}function Z(e){return(t,n)=>X({...n,message:t,type:e})}function Q(e,t){return typeof e==`function`?e(t):e}function Ne(e){let{loading:t,success:n,error:r,description:i,finally:a,...o}=e;return o}var $=((e,t)=>X({...t,message:e,type:t?.type??`default`}));$.message=Z(`default`),$.success=Z(`success`),$.info=Z(`info`),$.warning=Z(`warning`),$.error=Z(`error`),$.fail=Z(`fail`),$.dismiss=e=>{v(e),T.dismiss(e)},$.clear=()=>{y(),T.dismiss()},$.promise=(e,t={})=>{if(!t.loading&&!t.success&&!t.error)return;let n=Ne(t),r=t.loading?X({...n,message:t.loading,type:`loading`,duration:1/0}):t.id;return(typeof e==`function`?e():e).then(e=>{let i=Q(t.success,e),a=Q(t.description,e);return i!==void 0&&r!==void 0&&X({...n,id:r,message:i,description:a,type:`success`,duration:t.duration}),e}).catch(e=>{let i=Q(t.error,e);i!==void 0&&r!==void 0&&X({...n,id:r,message:i,type:`error`,duration:t.duration})}).finally(()=>{t.finally?.()}),r};var Pe={install(e){e.component(`Toaster`,Y),e.config.globalProperties.$toast=$,e.provide(`toast`,$)}};function Fe(e){return X(e)}var Ie=Fe;e.Toaster=Y,e.default=Pe,e.destroyStore=b,e.dismissToast=v,e.showToast=Ie,e.showToastOptions=Fe,e.toast=$});
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "vue-smart-toast",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "main": "./dist/vue-smart-toast.umd.cjs",
6
+ "module": "./dist/vue-smart-toast.js",
7
+ "types": "./dist/types/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/types/index.d.ts",
11
+ "import": "./dist/vue-smart-toast.js",
12
+ "require": "./dist/vue-smart-toast.umd.cjs"
13
+ },
14
+ "./style.css": "./dist/vue-smart-toast.css"
15
+ },
16
+ "files": [
17
+ "dist"
18
+ ],
19
+ "sideEffects": [
20
+ "**/*.css",
21
+ "**/*.vue"
22
+ ],
23
+ "scripts": {
24
+ "dev": "vite --config vite.demo.config.ts",
25
+ "test": "vitest run",
26
+ "test:coverage": "vitest run --coverage",
27
+ "typecheck": "vue-tsc -p tsconfig.app.json --noEmit",
28
+ "build": "pnpm run typecheck && vite build && vue-tsc -p tsconfig.declaration.json",
29
+ "build:demo": "vite build --config vite.demo.config.ts",
30
+ "preview": "vite preview --config vite.demo.config.ts"
31
+ },
32
+ "peerDependencies": {
33
+ "vue": "^3.5.0"
34
+ },
35
+ "devDependencies": {
36
+ "@types/node": "^24.13.2",
37
+ "@vitejs/plugin-vue": "^6.0.7",
38
+ "@vitest/coverage-v8": "^4.1.9",
39
+ "@vue/test-utils": "^2.4.11",
40
+ "@vue/tsconfig": "^0.9.1",
41
+ "happy-dom": "^20.10.6",
42
+ "typescript": "~6.0.2",
43
+ "vite": "^8.1.0",
44
+ "vitest": "^4.1.9",
45
+ "vue-tsc": "^3.3.5"
46
+ }
47
+ }