Socket
Socket
Sign inDemoInstall

sonner

Package Overview
Dependencies
Maintainers
1
Versions
45
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sonner - npm Package Compare versions

Comparing version 1.4.0 to 1.4.1

23

dist/index.d.ts

@@ -28,2 +28,9 @@ import React from 'react';

}
interface ToastIcons {
success?: React.ReactNode;
info?: React.ReactNode;
warning?: React.ReactNode;
error?: React.ReactNode;
loading?: React.ReactNode;
}
interface ToastT {

@@ -74,2 +81,3 @@ id: number | string;

}
type CnFunction = (...classes: Array<string | undefined>) => string;
interface ToasterProps {

@@ -91,5 +99,15 @@ invert?: boolean;

dir?: 'rtl' | 'ltr' | 'auto';
/**
* @deprecated Please use the `icons` prop instead:
* ```jsx
* <Toaster
* icons={{ loading: <LoadingIcon /> }}
* />
* ```
*/
loadingIcon?: React.ReactNode;
icons?: ToastIcons;
containerAriaLabel?: string;
pauseWhenPageIsHidden?: boolean;
cn?: CnFunction;
}

@@ -112,4 +130,7 @@ type ExternalToast = Omit<ToastT, 'id' | 'type' | 'title' | 'jsx' | 'delete' | 'promise'> & {

declare function useSonner(): {
toasts: ToastT[];
};
declare const Toaster: (props: ToasterProps) => React.JSX.Element;
export { ExternalToast, ToastT, Toaster, toast };
export { ExternalToast, ToastT, Toaster, toast, useSonner };

4

dist/index.js

@@ -1,3 +0,3 @@

"use client";var Ft=Object.create;var Z=Object.defineProperty;var $t=Object.getOwnPropertyDescriptor;var Ut=Object.getOwnPropertyNames;var Wt=Object.getPrototypeOf,_t=Object.prototype.hasOwnProperty;var Vt=(s,e)=>{for(var t in e)Z(s,t,{get:e[t],enumerable:!0})},Bt=(s,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let m of Ut(e))!_t.call(s,m)&&m!==t&&Z(s,m,{get:()=>e[m],enumerable:!(n=$t(e,m))||n.enumerable});return s};var tt=(s,e,t)=>(t=s!=null?Ft(Wt(s)):{},Bt(e||!s||!s.__esModule?Z(t,"default",{value:s,enumerable:!0}):t,s)),Kt=s=>Bt(Z({},"__esModule",{value:!0}),s);var le={};Vt(le,{Toaster:()=>ie,toast:()=>Pt});module.exports=Kt(le);var a=tt(require("react")),Ht=tt(require("react-dom"));function ct(s,{insertAt:e}={}){if(!s||typeof document=="undefined")return;let t=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",e==="top"&&t.firstChild?t.insertBefore(n,t.firstChild):t.appendChild(n),n.styleSheet?n.styleSheet.cssText=s:n.appendChild(document.createTextNode(s))}ct(`html[dir=ltr],[data-sonner-toaster][dir=ltr]{--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0;--toast-close-button-start: 0;--toast-close-button-end: unset;--toast-close-button-transform: translate(-35%, -35%)}html[dir=rtl],[data-sonner-toaster][dir=rtl]{--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto;--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999}[data-sonner-toaster][data-x-position=right]{right:max(var(--offset),env(safe-area-inset-right))}[data-sonner-toaster][data-x-position=left]{left:max(var(--offset),env(safe-area-inset-left))}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translate(-50%)}[data-sonner-toaster][data-y-position=top]{top:max(var(--offset),env(safe-area-inset-top))}[data-sonner-toaster][data-y-position=bottom]{bottom:max(var(--offset),env(safe-area-inset-bottom))}[data-sonner-toast]{--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;will-change:transform,opacity,height;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}[data-sonner-toast][data-y-position=top]{top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}[data-sonner-toast] [data-description]{font-weight:400;line-height:1.4;color:inherit}[data-sonner-toast] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast] [data-icon]>*{flex-shrink:0}[data-sonner-toast] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast] [data-button]:focus-visible{box-shadow:0 0 0 2px #0006}[data-sonner-toast] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toast][data-theme=dark] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;background:var(--gray1);color:var(--gray12);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast] [data-close-button]:focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}[data-sonner-toast] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]:before{content:"";position:absolute;left:0;right:0;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]:before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]:before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]:before{content:"";position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast]:after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y: translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y: translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]:before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount, 0px));transition:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation:swipe-out .2s ease-out forwards}@keyframes swipe-out{0%{transform:translateY(calc(var(--lift) * var(--offset) + var(--swipe-amount)));opacity:1}to{transform:translateY(calc(var(--lift) * var(--offset) + var(--swipe-amount) + var(--lift) * -100%));opacity:0}}@media (max-width: 600px){[data-sonner-toaster]{position:fixed;--mobile-offset: 16px;right:var(--mobile-offset);left:var(--mobile-offset);width:100%}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - 32px)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset)}[data-sonner-toaster][data-y-position=bottom]{bottom:20px}[data-sonner-toaster][data-y-position=top]{top:20px}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset);right:var(--mobile-offset);transform:none}}[data-sonner-toaster][data-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 91%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 91%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 91%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-theme=dark]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 100%, 12%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 12%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);--error-text: hsl(358, 100%, 81%)}[data-rich-colors=true] [data-sonner-toast][data-type=success],[data-rich-colors=true] [data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true] [data-sonner-toast][data-type=info],[data-rich-colors=true] [data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true] [data-sonner-toast][data-type=warning],[data-rich-colors=true] [data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true] [data-sonner-toast][data-type=error],[data-rich-colors=true] [data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}
`);var T=tt(require("react")),Mt=s=>{switch(s){case"success":return Jt;case"info":return qt;case"warning":return Gt;case"error":return Ot;default:return null}},Xt=Array(12).fill(0),Nt=({visible:s})=>T.default.createElement("div",{className:"sonner-loading-wrapper","data-visible":s},T.default.createElement("div",{className:"sonner-spinner"},Xt.map((e,t)=>T.default.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${t}`})))),Jt=T.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},T.default.createElement("path",{fillRule:"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",clipRule:"evenodd"})),Gt=T.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},T.default.createElement("path",{fillRule:"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",clipRule:"evenodd"})),qt=T.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},T.default.createElement("path",{fillRule:"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",clipRule:"evenodd"})),Ot=T.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},T.default.createElement("path",{fillRule:"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",clipRule:"evenodd"}));var ut=tt(require("react")),Dt=()=>{let[s,e]=ut.default.useState(!1);return ut.default.useEffect(()=>{let t=()=>{e(document.hidden)};return document.addEventListener("visibilitychange",t),()=>window.removeEventListener("visibilitychange",t)},[]),s};var ft=1,mt=class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)});this.publish=e=>{this.subscribers.forEach(t=>t(e))};this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]};this.create=e=>{var p;let{message:t,...n}=e,m=typeof(e==null?void 0:e.id)=="number"||((p=e.id)==null?void 0:p.length)>0?e.id:ft++,h=this.toasts.find(i=>i.id===m),f=e.dismissible===void 0?!0:e.dismissible;return h?this.toasts=this.toasts.map(i=>i.id===m?(this.publish({...i,...e,id:m,title:t}),{...i,...e,id:m,dismissible:f,title:t}):i):this.addToast({title:t,...n,dismissible:f,id:m}),m};this.dismiss=e=>(e||this.toasts.forEach(t=>{this.subscribers.forEach(n=>n({id:t.id,dismiss:!0}))}),this.subscribers.forEach(t=>t({id:e,dismiss:!0})),e);this.message=(e,t)=>this.create({...t,message:e});this.error=(e,t)=>this.create({...t,message:e,type:"error"});this.success=(e,t)=>this.create({...t,type:"success",message:e});this.info=(e,t)=>this.create({...t,type:"info",message:e});this.warning=(e,t)=>this.create({...t,type:"warning",message:e});this.loading=(e,t)=>this.create({...t,type:"loading",message:e});this.promise=(e,t)=>{if(!t)return;let n;t.loading!==void 0&&(n=this.create({...t,promise:e,type:"loading",message:t.loading,description:typeof t.description!="function"?t.description:void 0}));let m=e instanceof Promise?e:e(),h=n!==void 0;return m.then(f=>{if(f&&typeof f.ok=="boolean"&&!f.ok){h=!1;let p=typeof t.error=="function"?t.error(`HTTP error! status: ${f.status}`):t.error,i=typeof t.description=="function"?t.description(`HTTP error! status: ${f.status}`):t.description;this.create({id:n,type:"error",message:p,description:i})}else if(t.success!==void 0){h=!1;let p=typeof t.success=="function"?t.success(f):t.success,i=typeof t.description=="function"?t.description(f):t.description;this.create({id:n,type:"success",message:p,description:i})}}).catch(f=>{if(t.error!==void 0){h=!1;let p=typeof t.error=="function"?t.error(f):t.error,i=typeof t.description=="function"?t.description(f):t.description;this.create({id:n,type:"error",message:p,description:i})}}).finally(()=>{var f;h&&(this.dismiss(n),n=void 0),(f=t.finally)==null||f.call(t)}),n};this.custom=(e,t)=>{let n=(t==null?void 0:t.id)||ft++;return this.create({jsx:e(n),id:n,...t}),n};this.subscribers=[],this.toasts=[]}},w=new mt,Qt=(s,e)=>{let t=(e==null?void 0:e.id)||ft++;return w.addToast({title:s,...e,id:t}),t},Zt=Qt,Pt=Object.assign(Zt,{success:w.success,info:w.info,warning:w.warning,error:w.error,custom:w.custom,message:w.message,promise:w.promise,dismiss:w.dismiss,loading:w.loading});var te=3,ee="32px",ae=4e3,oe=356,Rt=14,se=20,ne=200;function j(...s){return s.filter(Boolean).join(" ")}var re=s=>{var vt,xt,Tt,wt,Et,St,kt;let{invert:e,toast:t,unstyled:n,interacting:m,setHeights:h,visibleToasts:f,heights:p,index:i,toasts:et,expanded:F,removeToast:_,closeButton:V,style:r,cancelButtonStyle:K,actionButtonStyle:at,className:ot="",descriptionClassName:st="",duration:X,position:B,gap:$=Rt,loadingIcon:J,expandByDefault:z,classNames:d,closeButtonAriaLabel:nt="Close toast",pauseWhenPageIsHidden:M}=s,[H,G]=a.default.useState(!1),[q,R]=a.default.useState(!1),[P,O]=a.default.useState(!1),[S,L]=a.default.useState(!1),[rt,l]=a.default.useState(0),[g,b]=a.default.useState(0),N=a.default.useRef(null),x=a.default.useRef(null),u=i===0,U=i+1<=f,v=t.type,D=t.dismissible!==!1,W=t.className||"",Lt=t.descriptionClassName||"",Q=a.default.useMemo(()=>p.findIndex(o=>o.toastId===t.id)||0,[p,t.id]),zt=a.default.useMemo(()=>{var o;return(o=t.closeButton)!=null?o:V},[t.closeButton,V]),pt=a.default.useMemo(()=>t.duration||X||ae,[t.duration,X]),it=a.default.useRef(0),A=a.default.useRef(0),gt=a.default.useRef(0),Y=a.default.useRef(null),[ht,At]=B.split("-"),bt=a.default.useMemo(()=>p.reduce((o,c,y)=>y>=Q?o:o+c.height,0),[p,Q]),yt=Dt(),Yt=t.invert||e,lt=v==="loading";A.current=a.default.useMemo(()=>Q*$+bt,[Q,bt]),a.default.useEffect(()=>{G(!0)},[]),a.default.useLayoutEffect(()=>{if(!H)return;let o=x.current,c=o.style.height;o.style.height="auto";let y=o.getBoundingClientRect().height;o.style.height=c,b(y),h(k=>k.find(E=>E.toastId===t.id)?k.map(E=>E.toastId===t.id?{...E,height:y}:E):[{toastId:t.id,height:y,position:t.position},...k])},[H,t.title,t.description,h,t.id]);let C=a.default.useCallback(()=>{R(!0),l(A.current),h(o=>o.filter(c=>c.toastId!==t.id)),setTimeout(()=>{_(t)},ne)},[t,_,h,A]);a.default.useEffect(()=>{if(t.promise&&v==="loading"||t.duration===1/0||t.type==="loading")return;let o,c=pt;return F||m||M&&yt?(()=>{if(gt.current<it.current){let I=new Date().getTime()-it.current;c=c-I}gt.current=new Date().getTime()})():(()=>{it.current=new Date().getTime(),o=setTimeout(()=>{var I;(I=t.onAutoClose)==null||I.call(t,t),C()},c)})(),()=>clearTimeout(o)},[F,m,z,t,pt,C,t.promise,v,M,yt]),a.default.useEffect(()=>{let o=x.current;if(o){let c=o.getBoundingClientRect().height;return b(c),h(y=>[{toastId:t.id,height:c,position:t.position},...y]),()=>h(y=>y.filter(k=>k.toastId!==t.id))}},[h,t.id]),a.default.useEffect(()=>{t.delete&&C()},[C,t.delete]);function jt(){return J?a.default.createElement("div",{className:"sonner-loader","data-visible":v==="loading"},J):a.default.createElement(Nt,{visible:v==="loading"})}return a.default.createElement("li",{"aria-live":t.important?"assertive":"polite","aria-atomic":"true",role:"status",tabIndex:0,ref:x,className:j(ot,W,d==null?void 0:d.toast,(vt=t==null?void 0:t.classNames)==null?void 0:vt.toast,d==null?void 0:d[v],(xt=t==null?void 0:t.classNames)==null?void 0:xt[v]),"data-sonner-toast":"","data-styled":!(t.jsx||t.unstyled||n),"data-mounted":H,"data-promise":!!t.promise,"data-removed":q,"data-visible":U,"data-y-position":ht,"data-x-position":At,"data-index":i,"data-front":u,"data-swiping":P,"data-dismissible":D,"data-type":v,"data-invert":Yt,"data-swipe-out":S,"data-expanded":!!(F||z&&H),style:{"--index":i,"--toasts-before":i,"--z-index":et.length-i,"--offset":`${q?rt:A.current}px`,"--initial-height":z?"auto":`${g}px`,...r,...t.style},onPointerDown:o=>{lt||!D||(N.current=new Date,l(A.current),o.target.setPointerCapture(o.pointerId),o.target.tagName!=="BUTTON"&&(O(!0),Y.current={x:o.clientX,y:o.clientY}))},onPointerUp:()=>{var k,I,E,dt;if(S||!D)return;Y.current=null;let o=Number(((k=x.current)==null?void 0:k.style.getPropertyValue("--swipe-amount").replace("px",""))||0),c=new Date().getTime()-((I=N.current)==null?void 0:I.getTime()),y=Math.abs(o)/c;if(Math.abs(o)>=se||y>.11){l(A.current),(E=t.onDismiss)==null||E.call(t,t),C(),L(!0);return}(dt=x.current)==null||dt.style.setProperty("--swipe-amount","0px"),O(!1)},onPointerMove:o=>{var It;if(!Y.current||!D)return;let c=o.clientY-Y.current.y,y=o.clientX-Y.current.x,I=(ht==="top"?Math.min:Math.max)(0,c),E=o.pointerType==="touch"?10:2;Math.abs(I)>E?(It=x.current)==null||It.style.setProperty("--swipe-amount",`${c}px`):Math.abs(y)>E&&(Y.current=null)}},zt&&!t.jsx?a.default.createElement("button",{"aria-label":nt,"data-disabled":lt,"data-close-button":!0,onClick:lt||!D?()=>{}:()=>{var o;C(),(o=t.onDismiss)==null||o.call(t,t)},className:j(d==null?void 0:d.closeButton,(Tt=t==null?void 0:t.classNames)==null?void 0:Tt.closeButton)},a.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},a.default.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),a.default.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"}))):null,t.jsx||a.default.isValidElement(t.title)?t.jsx||t.title:a.default.createElement(a.default.Fragment,null,v||t.icon||t.promise?a.default.createElement("div",{"data-icon":""},(t.promise||t.type==="loading")&&!t.icon?jt():null,t.icon||Mt(v)):null,a.default.createElement("div",{"data-content":""},a.default.createElement("div",{"data-title":"",className:j(d==null?void 0:d.title,(wt=t==null?void 0:t.classNames)==null?void 0:wt.title)},t.title),t.description?a.default.createElement("div",{"data-description":"",className:j(st,Lt,d==null?void 0:d.description,(Et=t==null?void 0:t.classNames)==null?void 0:Et.description)},t.description):null),t.cancel?a.default.createElement("button",{"data-button":!0,"data-cancel":!0,style:t.cancelButtonStyle||K,onClick:o=>{var c;D&&(C(),(c=t.cancel)!=null&&c.onClick&&t.cancel.onClick(o))},className:j(d==null?void 0:d.cancelButton,(St=t==null?void 0:t.classNames)==null?void 0:St.cancelButton)},t.cancel.label):null,t.action?a.default.createElement("button",{"data-button":"",style:t.actionButtonStyle||at,onClick:o=>{var c;(c=t.action)==null||c.onClick(o),!o.defaultPrevented&&C()},className:j(d==null?void 0:d.actionButton,(kt=t==null?void 0:t.classNames)==null?void 0:kt.actionButton)},t.action.label):null))};function Ct(){if(typeof window=="undefined"||typeof document=="undefined")return"ltr";let s=document.documentElement.getAttribute("dir");return s==="auto"||!s?window.getComputedStyle(document.documentElement).direction:s}var ie=s=>{let{invert:e,position:t="bottom-right",hotkey:n=["altKey","KeyT"],expand:m,closeButton:h,className:f,offset:p,theme:i="light",richColors:et,duration:F,style:_,visibleToasts:V=te,toastOptions:r,dir:K=Ct(),gap:at,loadingIcon:ot,containerAriaLabel:st="Notifications",pauseWhenPageIsHidden:X}=s,[B,$]=a.default.useState([]),J=a.default.useMemo(()=>Array.from(new Set([t].concat(B.filter(l=>l.position).map(l=>l.position)))),[B,t]),[z,d]=a.default.useState([]),[nt,M]=a.default.useState(!1),[H,G]=a.default.useState(!1),[q,R]=a.default.useState(i!=="system"?i:typeof window!="undefined"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),P=a.default.useRef(null),O=n.join("+").replace(/Key/g,"").replace(/Digit/g,""),S=a.default.useRef(null),L=a.default.useRef(!1),rt=a.default.useCallback(l=>$(g=>g.filter(({id:b})=>b!==l.id)),[]);return a.default.useEffect(()=>w.subscribe(l=>{if(l.dismiss){$(g=>g.map(b=>b.id===l.id?{...b,delete:!0}:b));return}setTimeout(()=>{Ht.default.flushSync(()=>{$(g=>{let b=g.findIndex(N=>N.id===l.id);return b!==-1?[...g.slice(0,b),{...g[b],...l},...g.slice(b+1)]:[l,...g]})})})}),[]),a.default.useEffect(()=>{if(i!=="system"){R(i);return}i==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?R("dark"):R("light")),typeof window!="undefined"&&window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",({matches:l})=>{R(l?"dark":"light")})},[i]),a.default.useEffect(()=>{B.length<=1&&M(!1)},[B]),a.default.useEffect(()=>{let l=g=>{var N,x;n.every(u=>g[u]||g.code===u)&&(M(!0),(N=P.current)==null||N.focus()),g.code==="Escape"&&(document.activeElement===P.current||(x=P.current)!=null&&x.contains(document.activeElement))&&M(!1)};return document.addEventListener("keydown",l),()=>document.removeEventListener("keydown",l)},[n]),a.default.useEffect(()=>{if(P.current)return()=>{S.current&&(S.current.focus({preventScroll:!0}),S.current=null,L.current=!1)}},[P.current]),B.length?a.default.createElement("section",{"aria-label":`${st} ${O}`,tabIndex:-1},J.map((l,g)=>{var x;let[b,N]=l.split("-");return a.default.createElement("ol",{key:l,dir:K==="auto"?Ct():K,tabIndex:-1,ref:P,className:f,"data-sonner-toaster":!0,"data-theme":q,"data-rich-colors":et,"data-y-position":b,"data-x-position":N,style:{"--front-toast-height":`${(x=z[0])==null?void 0:x.height}px`,"--offset":typeof p=="number"?`${p}px`:p||ee,"--width":`${oe}px`,"--gap":`${Rt}px`,..._},onBlur:u=>{L.current&&!u.currentTarget.contains(u.relatedTarget)&&(L.current=!1,S.current&&(S.current.focus({preventScroll:!0}),S.current=null))},onFocus:u=>{u.target instanceof HTMLElement&&u.target.dataset.dismissible==="false"||L.current||(L.current=!0,S.current=u.relatedTarget)},onMouseEnter:()=>M(!0),onMouseMove:()=>M(!0),onMouseLeave:()=>{H||M(!1)},onPointerDown:u=>{u.target instanceof HTMLElement&&u.target.dataset.dismissible==="false"||G(!0)},onPointerUp:()=>G(!1)},B.filter(u=>!u.position&&g===0||u.position===l).map((u,U)=>{var v,D;return a.default.createElement(re,{key:u.id,index:U,toast:u,duration:(v=r==null?void 0:r.duration)!=null?v:F,className:r==null?void 0:r.className,descriptionClassName:r==null?void 0:r.descriptionClassName,invert:e,visibleToasts:V,closeButton:(D=r==null?void 0:r.closeButton)!=null?D:h,interacting:H,position:l,style:r==null?void 0:r.style,unstyled:r==null?void 0:r.unstyled,classNames:r==null?void 0:r.classNames,cancelButtonStyle:r==null?void 0:r.cancelButtonStyle,actionButtonStyle:r==null?void 0:r.actionButtonStyle,removeToast:rt,toasts:B.filter(W=>W.position==u.position),heights:z.filter(W=>W.position==u.position),setHeights:d,expandByDefault:m,gap:at,loadingIcon:ot,expanded:nt,pauseWhenPageIsHidden:X})}))})):null};0&&(module.exports={Toaster,toast});
"use client";var $t=Object.create;var Q=Object.defineProperty;var _t=Object.getOwnPropertyDescriptor;var Ut=Object.getOwnPropertyNames;var Wt=Object.getPrototypeOf,Vt=Object.prototype.hasOwnProperty;var Kt=(s,e)=>{for(var t in e)Q(s,t,{get:e[t],enumerable:!0})},Mt=(s,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let u of Ut(e))!Vt.call(s,u)&&u!==t&&Q(s,u,{get:()=>e[u],enumerable:!(n=_t(e,u))||n.enumerable});return s};var Z=(s,e,t)=>(t=s!=null?$t(Wt(s)):{},Mt(e||!s||!s.__esModule?Q(t,"default",{value:s,enumerable:!0}):t,s)),Xt=s=>Mt(Q({},"__esModule",{value:!0}),s);var ue={};Kt(ue,{Toaster:()=>ce,toast:()=>Ct,useSonner:()=>de});module.exports=Xt(ue);var a=Z(require("react")),Lt=Z(require("react-dom"));function ut(s,{insertAt:e}={}){if(!s||typeof document=="undefined")return;let t=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",e==="top"&&t.firstChild?t.insertBefore(n,t.firstChild):t.appendChild(n),n.styleSheet?n.styleSheet.cssText=s:n.appendChild(document.createTextNode(s))}ut(`html[dir=ltr],[data-sonner-toaster][dir=ltr]{--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0;--toast-close-button-start: 0;--toast-close-button-end: unset;--toast-close-button-transform: translate(-35%, -35%)}html[dir=rtl],[data-sonner-toaster][dir=rtl]{--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto;--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999}[data-sonner-toaster][data-x-position=right]{right:max(var(--offset),env(safe-area-inset-right))}[data-sonner-toaster][data-x-position=left]{left:max(var(--offset),env(safe-area-inset-left))}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translate(-50%)}[data-sonner-toaster][data-y-position=top]{top:max(var(--offset),env(safe-area-inset-top))}[data-sonner-toaster][data-y-position=bottom]{bottom:max(var(--offset),env(safe-area-inset-bottom))}[data-sonner-toast]{--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);filter:blur(0);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}[data-sonner-toast][data-y-position=top]{top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}[data-sonner-toast] [data-description]{font-weight:400;line-height:1.4;color:inherit}[data-sonner-toast] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast] [data-icon]>*{flex-shrink:0}[data-sonner-toast] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast] [data-button]:focus-visible{box-shadow:0 0 0 2px #0006}[data-sonner-toast] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toast][data-theme=dark] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;background:var(--gray1);color:var(--gray12);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast] [data-close-button]:focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}[data-sonner-toast] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]:before{content:"";position:absolute;left:0;right:0;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]:before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]:before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]:before{content:"";position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast]:after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y: translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y: translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]:before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount, 0px));transition:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation:swipe-out .2s ease-out forwards}@keyframes swipe-out{0%{transform:translateY(calc(var(--lift) * var(--offset) + var(--swipe-amount)));opacity:1}to{transform:translateY(calc(var(--lift) * var(--offset) + var(--swipe-amount) + var(--lift) * -100%));opacity:0}}@media (max-width: 600px){[data-sonner-toaster]{position:fixed;--mobile-offset: 16px;right:var(--mobile-offset);left:var(--mobile-offset);width:100%}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - 32px)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset)}[data-sonner-toaster][data-y-position=bottom]{bottom:20px}[data-sonner-toaster][data-y-position=top]{top:20px}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset);right:var(--mobile-offset);transform:none}}[data-sonner-toaster][data-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 91%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 91%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 91%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-theme=dark]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 100%, 12%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 12%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);--error-text: hsl(358, 100%, 81%)}[data-rich-colors=true] [data-sonner-toast][data-type=success],[data-rich-colors=true] [data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true] [data-sonner-toast][data-type=info],[data-rich-colors=true] [data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true] [data-sonner-toast][data-type=warning],[data-rich-colors=true] [data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true] [data-sonner-toast][data-type=error],[data-rich-colors=true] [data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}
`);var k=Z(require("react")),Nt=s=>{switch(s){case"success":return Gt;case"info":return Ot;case"warning":return qt;case"error":return Qt;default:return null}},Jt=Array(12).fill(0),Dt=({visible:s})=>k.default.createElement("div",{className:"sonner-loading-wrapper","data-visible":s},k.default.createElement("div",{className:"sonner-spinner"},Jt.map((e,t)=>k.default.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${t}`})))),Gt=k.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},k.default.createElement("path",{fillRule:"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",clipRule:"evenodd"})),qt=k.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},k.default.createElement("path",{fillRule:"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",clipRule:"evenodd"})),Ot=k.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},k.default.createElement("path",{fillRule:"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",clipRule:"evenodd"})),Qt=k.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},k.default.createElement("path",{fillRule:"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",clipRule:"evenodd"}));var ft=Z(require("react")),Pt=()=>{let[s,e]=ft.default.useState(!1);return ft.default.useEffect(()=>{let t=()=>{e(document.hidden)};return document.addEventListener("visibilitychange",t),()=>window.removeEventListener("visibilitychange",t)},[]),s};var mt=1,pt=class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)});this.publish=e=>{this.subscribers.forEach(t=>t(e))};this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]};this.create=e=>{var h;let{message:t,...n}=e,u=typeof(e==null?void 0:e.id)=="number"||((h=e.id)==null?void 0:h.length)>0?e.id:mt++,c=this.toasts.find(i=>i.id===u),p=e.dismissible===void 0?!0:e.dismissible;return c?this.toasts=this.toasts.map(i=>i.id===u?(this.publish({...i,...e,id:u,title:t}),{...i,...e,id:u,dismissible:p,title:t}):i):this.addToast({title:t,...n,dismissible:p,id:u}),u};this.dismiss=e=>(e||this.toasts.forEach(t=>{this.subscribers.forEach(n=>n({id:t.id,dismiss:!0}))}),this.subscribers.forEach(t=>t({id:e,dismiss:!0})),e);this.message=(e,t)=>this.create({...t,message:e});this.error=(e,t)=>this.create({...t,message:e,type:"error"});this.success=(e,t)=>this.create({...t,type:"success",message:e});this.info=(e,t)=>this.create({...t,type:"info",message:e});this.warning=(e,t)=>this.create({...t,type:"warning",message:e});this.loading=(e,t)=>this.create({...t,type:"loading",message:e});this.promise=(e,t)=>{if(!t)return;let n;t.loading!==void 0&&(n=this.create({...t,promise:e,type:"loading",message:t.loading,description:typeof t.description!="function"?t.description:void 0}));let u=e instanceof Promise?e:e(),c=n!==void 0;return u.then(p=>{if(p&&typeof p.ok=="boolean"&&!p.ok){c=!1;let h=typeof t.error=="function"?t.error(`HTTP error! status: ${p.status}`):t.error,i=typeof t.description=="function"?t.description(`HTTP error! status: ${p.status}`):t.description;this.create({id:n,type:"error",message:h,description:i})}else if(t.success!==void 0){c=!1;let h=typeof t.success=="function"?t.success(p):t.success,i=typeof t.description=="function"?t.description(p):t.description;this.create({id:n,type:"success",message:h,description:i})}}).catch(p=>{if(t.error!==void 0){c=!1;let h=typeof t.error=="function"?t.error(p):t.error,i=typeof t.description=="function"?t.description(p):t.description;this.create({id:n,type:"error",message:h,description:i})}}).finally(()=>{var p;c&&(this.dismiss(n),n=void 0),(p=t.finally)==null||p.call(t)}),n};this.custom=(e,t)=>{let n=(t==null?void 0:t.id)||mt++;return this.create({jsx:e(n),id:n,...t}),n};this.subscribers=[],this.toasts=[]}},x=new pt,Zt=(s,e)=>{let t=(e==null?void 0:e.id)||mt++;return x.addToast({title:s,...e,id:t}),t},te=Zt,Ct=Object.assign(te,{success:x.success,info:x.info,warning:x.warning,error:x.error,custom:x.custom,message:x.message,promise:x.promise,dismiss:x.dismiss,loading:x.loading});var ee=3,ae="32px",oe=4e3,se=356,Rt=14,ne=20,re=200;function ie(...s){return s.filter(Boolean).join(" ")}var le=s=>{var xt,Tt,wt,Et,St,kt,It;let{invert:e,toast:t,unstyled:n,interacting:u,setHeights:c,visibleToasts:p,heights:h,index:i,toasts:tt,expanded:F,removeToast:U,closeButton:W,style:r,cancelButtonStyle:V,actionButtonStyle:et,className:at="",descriptionClassName:ot="",duration:K,position:st,gap:nt=Rt,loadingIcon:E,expandByDefault:A,classNames:l,icons:T,closeButtonAriaLabel:rt="Close toast",pauseWhenPageIsHidden:X,cn:w}=s,[L,J]=a.default.useState(!1),[G,R]=a.default.useState(!1),[C,q]=a.default.useState(!1),[B,z]=a.default.useState(!1),[it,d]=a.default.useState(0),[g,b]=a.default.useState(0),D=a.default.useRef(null),S=a.default.useRef(null),m=i===0,$=i+1<=p,y=t.type,P=t.dismissible!==!1,_=t.className||"",zt=t.descriptionClassName||"",O=a.default.useMemo(()=>h.findIndex(o=>o.toastId===t.id)||0,[h,t.id]),At=a.default.useMemo(()=>{var o;return(o=t.closeButton)!=null?o:W},[t.closeButton,W]),gt=a.default.useMemo(()=>t.duration||K||oe,[t.duration,K]),lt=a.default.useRef(0),Y=a.default.useRef(0),ht=a.default.useRef(0),j=a.default.useRef(null),[bt,Yt]=st.split("-"),yt=a.default.useMemo(()=>h.reduce((o,f,v)=>v>=O?o:o+f.height,0),[h,O]),vt=Pt(),jt=t.invert||e,dt=y==="loading";Y.current=a.default.useMemo(()=>O*nt+yt,[O,yt]),a.default.useEffect(()=>{J(!0)},[]),a.default.useLayoutEffect(()=>{if(!L)return;let o=S.current,f=o.style.height;o.style.height="auto";let v=o.getBoundingClientRect().height;o.style.height=f,b(v),c(M=>M.find(I=>I.toastId===t.id)?M.map(I=>I.toastId===t.id?{...I,height:v}:I):[{toastId:t.id,height:v,position:t.position},...M])},[L,t.title,t.description,c,t.id]);let H=a.default.useCallback(()=>{R(!0),d(Y.current),c(o=>o.filter(f=>f.toastId!==t.id)),setTimeout(()=>{U(t)},re)},[t,U,c,Y]);a.default.useEffect(()=>{if(t.promise&&y==="loading"||t.duration===1/0||t.type==="loading")return;let o,f=gt;return F||u||X&&vt?(()=>{if(ht.current<lt.current){let N=new Date().getTime()-lt.current;f=f-N}ht.current=new Date().getTime()})():(()=>{lt.current=new Date().getTime(),o=setTimeout(()=>{var N;(N=t.onAutoClose)==null||N.call(t,t),H()},f)})(),()=>clearTimeout(o)},[F,u,A,t,gt,H,t.promise,y,X,vt]),a.default.useEffect(()=>{let o=S.current;if(o){let f=o.getBoundingClientRect().height;return b(f),c(v=>[{toastId:t.id,height:f,position:t.position},...v]),()=>c(v=>v.filter(M=>M.toastId!==t.id))}},[c,t.id]),a.default.useEffect(()=>{t.delete&&H()},[H,t.delete]);function Ft(){return T!=null&&T.loading?a.default.createElement("div",{className:"loader","data-visible":y==="loading"},T.loading):E?a.default.createElement("div",{className:"sonner-loader","data-visible":y==="loading"},E):a.default.createElement(Dt,{visible:y==="loading"})}return a.default.createElement("li",{"aria-live":t.important?"assertive":"polite","aria-atomic":"true",role:"status",tabIndex:0,ref:S,className:w(at,_,l==null?void 0:l.toast,(xt=t==null?void 0:t.classNames)==null?void 0:xt.toast,l==null?void 0:l.default,l==null?void 0:l[y],(Tt=t==null?void 0:t.classNames)==null?void 0:Tt[y]),"data-sonner-toast":"","data-styled":!(t.jsx||t.unstyled||n),"data-mounted":L,"data-promise":!!t.promise,"data-removed":G,"data-visible":$,"data-y-position":bt,"data-x-position":Yt,"data-index":i,"data-front":m,"data-swiping":C,"data-dismissible":P,"data-type":y,"data-invert":jt,"data-swipe-out":B,"data-expanded":!!(F||A&&L),style:{"--index":i,"--toasts-before":i,"--z-index":tt.length-i,"--offset":`${G?it:Y.current}px`,"--initial-height":A?"auto":`${g}px`,...r,...t.style},onPointerDown:o=>{dt||!P||(D.current=new Date,d(Y.current),o.target.setPointerCapture(o.pointerId),o.target.tagName!=="BUTTON"&&(q(!0),j.current={x:o.clientX,y:o.clientY}))},onPointerUp:()=>{var M,N,I,ct;if(B||!P)return;j.current=null;let o=Number(((M=S.current)==null?void 0:M.style.getPropertyValue("--swipe-amount").replace("px",""))||0),f=new Date().getTime()-((N=D.current)==null?void 0:N.getTime()),v=Math.abs(o)/f;if(Math.abs(o)>=ne||v>.11){d(Y.current),(I=t.onDismiss)==null||I.call(t,t),H(),z(!0);return}(ct=S.current)==null||ct.style.setProperty("--swipe-amount","0px"),q(!1)},onPointerMove:o=>{var Bt;if(!j.current||!P)return;let f=o.clientY-j.current.y,v=o.clientX-j.current.x,N=(bt==="top"?Math.min:Math.max)(0,f),I=o.pointerType==="touch"?10:2;Math.abs(N)>I?(Bt=S.current)==null||Bt.style.setProperty("--swipe-amount",`${f}px`):Math.abs(v)>I&&(j.current=null)}},At&&!t.jsx?a.default.createElement("button",{"aria-label":rt,"data-disabled":dt,"data-close-button":!0,onClick:dt||!P?()=>{}:()=>{var o;H(),(o=t.onDismiss)==null||o.call(t,t)},className:w(l==null?void 0:l.closeButton,(wt=t==null?void 0:t.classNames)==null?void 0:wt.closeButton)},a.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},a.default.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),a.default.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"}))):null,t.jsx||a.default.isValidElement(t.title)?t.jsx||t.title:a.default.createElement(a.default.Fragment,null,y||t.icon||t.promise?a.default.createElement("div",{"data-icon":""},t.promise||y==="loading"?t.icon||(T==null?void 0:T.loading)||Ft():t.icon||(T==null?void 0:T[y])||Nt(y)):null,a.default.createElement("div",{"data-content":""},a.default.createElement("div",{"data-title":"",className:w(l==null?void 0:l.title,(Et=t==null?void 0:t.classNames)==null?void 0:Et.title)},t.title),t.description?a.default.createElement("div",{"data-description":"",className:w(ot,zt,l==null?void 0:l.description,(St=t==null?void 0:t.classNames)==null?void 0:St.description)},t.description):null),t.cancel?a.default.createElement("button",{"data-button":!0,"data-cancel":!0,style:t.cancelButtonStyle||V,onClick:o=>{var f;P&&(H(),(f=t.cancel)!=null&&f.onClick&&t.cancel.onClick(o))},className:w(l==null?void 0:l.cancelButton,(kt=t==null?void 0:t.classNames)==null?void 0:kt.cancelButton)},t.cancel.label):null,t.action?a.default.createElement("button",{"data-button":"",style:t.actionButtonStyle||et,onClick:o=>{var f;(f=t.action)==null||f.onClick(o),!o.defaultPrevented&&H()},className:w(l==null?void 0:l.actionButton,(It=t==null?void 0:t.classNames)==null?void 0:It.actionButton)},t.action.label):null))};function Ht(){if(typeof window=="undefined"||typeof document=="undefined")return"ltr";let s=document.documentElement.getAttribute("dir");return s==="auto"||!s?window.getComputedStyle(document.documentElement).direction:s}function de(){let[s,e]=a.default.useState([]);return a.default.useEffect(()=>x.subscribe(t=>{e(n=>{if("dismiss"in t&&t.dismiss)return n.filter(c=>c.id!==t.id);let u=n.findIndex(c=>c.id===t.id);if(u!==-1){let c=[...n];return c[u]={...c[u],...t},c}else return[t,...n]})}),[]),{toasts:s}}var ce=s=>{let{invert:e,position:t="bottom-right",hotkey:n=["altKey","KeyT"],expand:u,closeButton:c,className:p,offset:h,theme:i="light",richColors:tt,duration:F,style:U,visibleToasts:W=ee,toastOptions:r,dir:V=Ht(),gap:et,loadingIcon:at,icons:ot,containerAriaLabel:K="Notifications",pauseWhenPageIsHidden:st,cn:nt=ie}=s,[E,A]=a.default.useState([]),l=a.default.useMemo(()=>Array.from(new Set([t].concat(E.filter(d=>d.position).map(d=>d.position)))),[E,t]),[T,rt]=a.default.useState([]),[X,w]=a.default.useState(!1),[L,J]=a.default.useState(!1),[G,R]=a.default.useState(i!=="system"?i:typeof window!="undefined"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),C=a.default.useRef(null),q=n.join("+").replace(/Key/g,"").replace(/Digit/g,""),B=a.default.useRef(null),z=a.default.useRef(!1),it=a.default.useCallback(d=>{var g;(g=E.find(b=>b.id===d.id))!=null&&g.delete||x.dismiss(d.id)},[E]);return a.default.useEffect(()=>x.subscribe(d=>{if(d.dismiss){A(g=>g.map(b=>b.id===d.id?{...b,delete:!0}:b));return}setTimeout(()=>{Lt.default.flushSync(()=>{A(g=>{let b=g.findIndex(D=>D.id===d.id);return b!==-1?[...g.slice(0,b),{...g[b],...d},...g.slice(b+1)]:[d,...g]})})})}),[]),a.default.useEffect(()=>{if(i!=="system"){R(i);return}i==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?R("dark"):R("light")),typeof window!="undefined"&&window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",({matches:d})=>{R(d?"dark":"light")})},[i]),a.default.useEffect(()=>{E.length<=1&&w(!1)},[E]),a.default.useEffect(()=>{let d=g=>{var D,S;n.every(m=>g[m]||g.code===m)&&(w(!0),(D=C.current)==null||D.focus()),g.code==="Escape"&&(document.activeElement===C.current||(S=C.current)!=null&&S.contains(document.activeElement))&&w(!1)};return document.addEventListener("keydown",d),()=>document.removeEventListener("keydown",d)},[n]),a.default.useEffect(()=>{if(C.current)return()=>{B.current&&(B.current.focus({preventScroll:!0}),B.current=null,z.current=!1)}},[C.current]),E.length?a.default.createElement("section",{"aria-label":`${K} ${q}`,tabIndex:-1},l.map((d,g)=>{var S;let[b,D]=d.split("-");return a.default.createElement("ol",{key:d,dir:V==="auto"?Ht():V,tabIndex:-1,ref:C,className:p,"data-sonner-toaster":!0,"data-theme":G,"data-rich-colors":tt,"data-y-position":b,"data-x-position":D,style:{"--front-toast-height":`${(S=T[0])==null?void 0:S.height}px`,"--offset":typeof h=="number"?`${h}px`:h||ae,"--width":`${se}px`,"--gap":`${Rt}px`,...U},onBlur:m=>{z.current&&!m.currentTarget.contains(m.relatedTarget)&&(z.current=!1,B.current&&(B.current.focus({preventScroll:!0}),B.current=null))},onFocus:m=>{m.target instanceof HTMLElement&&m.target.dataset.dismissible==="false"||z.current||(z.current=!0,B.current=m.relatedTarget)},onMouseEnter:()=>w(!0),onMouseMove:()=>w(!0),onMouseLeave:()=>{L||w(!1)},onPointerDown:m=>{m.target instanceof HTMLElement&&m.target.dataset.dismissible==="false"||J(!0)},onPointerUp:()=>J(!1)},E.filter(m=>!m.position&&g===0||m.position===d).map((m,$)=>{var y,P;return a.default.createElement(le,{key:m.id,icons:ot,index:$,toast:m,duration:(y=r==null?void 0:r.duration)!=null?y:F,className:r==null?void 0:r.className,descriptionClassName:r==null?void 0:r.descriptionClassName,invert:e,visibleToasts:W,closeButton:(P=r==null?void 0:r.closeButton)!=null?P:c,interacting:L,position:d,style:r==null?void 0:r.style,unstyled:r==null?void 0:r.unstyled,classNames:r==null?void 0:r.classNames,cancelButtonStyle:r==null?void 0:r.cancelButtonStyle,actionButtonStyle:r==null?void 0:r.actionButtonStyle,removeToast:it,toasts:E.filter(_=>_.position==m.position),heights:T.filter(_=>_.position==m.position),setHeights:rt,expandByDefault:u,gap:et,loadingIcon:at,expanded:X,pauseWhenPageIsHidden:st,cn:nt})}))})):null};0&&(module.exports={Toaster,toast,useSonner});
//# sourceMappingURL=index.js.map
{
"name": "sonner",
"version": "1.4.0",
"version": "1.4.1",
"description": "An opinionated toast component for React.",

@@ -5,0 +5,0 @@ "exports": {

@@ -33,2 +33,2 @@ https://github.com/vallezw/sonner/assets/50796600/59b95cb7-9068-4f3e-8469-0b35d9de5cf0

You can find out more about the API and implementation in the [Documentation](https://sonner.emilkowal.ski/getting-started).
Find the full API reference in the [documentation](https://sonner.emilkowal.ski/getting-started).

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc