import{r as t}from"./jsx-runtime-BnbLqBWP.js";let s=0;const o=new Map,a=(t,s)=>{if(o.has(t))return;const a=setTimeout((()=>{o.delete(t),r({type:"REMOVE_TOAST",toastId:t})}),s||5e3);o.set(t,a)},e=(t,s)=>{switch(s.type){case"ADD_TOAST":return{...t,toasts:[s.toast,...t.toasts].slice(0,1)};case"UPDATE_TOAST":return{...t,toasts:t.toasts.map((t=>t.id===s.toast.id?{...t,...s.toast}:t))};case"DISMISS_TOAST":{const{toastId:o}=s;if(o){const s=t.toasts.find((t=>t.id===o));a(o,s?.duration)}else t.toasts.forEach((t=>{a(t.id,t.duration)}));return{...t,toasts:t.toasts.map((t=>t.id===o||void 0===o?{...t,open:!1}:t))}}case"REMOVE_TOAST":return void 0===s.toastId?{...t,toasts:[]}:{...t,toasts:t.toasts.filter((t=>t.id!==s.toastId))}}},i=[];let n={toasts:[]};function r(t){n=e(n,t),i.forEach((t=>{t(n)}))}const d=({title:t,description:o,action:e,variant:i,duration:n,...d})=>{const c=(s=(s+1)%Number.MAX_VALUE,s.toString()),u=n||5e3,T=()=>r({type:"DISMISS_TOAST",toastId:c});return r({type:"ADD_TOAST",toast:{...d,id:c,title:t,description:o,action:e,variant:i,duration:u,open:!0,onOpenChange:t=>{t||T()}}}),a(c,u),{id:c,dismiss:T,update:t=>r({type:"UPDATE_TOAST",toast:{...t,id:c}})}};function c(){const[s,o]=t.useState(n);return t.useEffect((()=>(i.push(o),()=>{const t=i.indexOf(o);t>-1&&i.splice(t,1)})),[s]),{...s,toast:d,dismiss:t=>r({type:"DISMISS_TOAST",toastId:t})}}export{d as t,c as u};