sonner 1.3.1 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -30,4 +30,4 @@ function App() {
30
30
 
31
31
  ## Documentation
32
32
 
33
- You can find out more about the API and implementation in the [Documentation](https://sonner.emilkowal.ski/getting-started).
33
+ Find the full API reference in the [documentation](https://sonner.emilkowal.ski/getting-started).
@@ -0,0 +1,111 @@
1
+ import React from 'react';
2
+
3
+ type ToastTypes = 'normal' | 'action' | 'success' | 'info' | 'warning' | 'error' | 'loading' | 'default';
4
+ type PromiseT<Data = any> = Promise<Data> | (() => Promise<Data>);
5
+ type PromiseExternalToast = Omit<ExternalToast, 'description'>;
6
+ type PromiseData<ToastData = any> = PromiseExternalToast & {
7
+ loading?: string | React.ReactNode;
8
+ success?: string | React.ReactNode | ((data: ToastData) => React.ReactNode | string);
9
+ error?: string | React.ReactNode | ((error: any) => React.ReactNode | string);
10
+ description?: string | React.ReactNode | ((data: any) => React.ReactNode | string);
11
+ finally?: () => void | Promise<void>;
12
+ };
13
+ interface ToastClassnames {
14
+ toast?: string;
15
+ title?: string;
16
+ description?: string;
17
+ loader?: string;
18
+ closeButton?: string;
19
+ cancelButton?: string;
20
+ actionButton?: string;
21
+ success?: string;
22
+ error?: string;
23
+ info?: string;
24
+ warning?: string;
25
+ loading?: string;
26
+ default?: string;
27
+ }
28
+ interface ToastT {
29
+ id: number | string;
30
+ title?: string | React.ReactNode;
31
+ type?: ToastTypes;
32
+ icon?: React.ReactNode;
33
+ jsx?: React.ReactNode;
34
+ invert?: boolean;
35
+ closeButton?: boolean;
36
+ dismissible?: boolean;
37
+ description?: React.ReactNode;
38
+ duration?: number;
39
+ delete?: boolean;
40
+ important?: boolean;
41
+ action?: {
42
+ label: React.ReactNode;
43
+ onClick: (event: React.MouseEvent<HTMLButtonElement>) => void;
44
+ };
45
+ cancel?: {
46
+ label: React.ReactNode;
47
+ onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;
48
+ };
49
+ onDismiss?: (toast: ToastT) => void;
50
+ onAutoClose?: (toast: ToastT) => void;
51
+ promise?: PromiseT;
52
+ cancelButtonStyle?: React.CSSProperties;
53
+ actionButtonStyle?: React.CSSProperties;
54
+ style?: React.CSSProperties;
55
+ unstyled?: boolean;
56
+ className?: string;
57
+ classNames?: ToastClassnames;
58
+ descriptionClassName?: string;
59
+ position?: Position;
60
+ }
61
+ type Position = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'top-center' | 'bottom-center';
62
+ interface ToastOptions {
63
+ className?: string;
64
+ closeButton?: boolean;
65
+ descriptionClassName?: string;
66
+ style?: React.CSSProperties;
67
+ cancelButtonStyle?: React.CSSProperties;
68
+ actionButtonStyle?: React.CSSProperties;
69
+ duration?: number;
70
+ unstyled?: boolean;
71
+ classNames?: ToastClassnames;
72
+ }
73
+ interface ToasterProps {
74
+ invert?: boolean;
75
+ theme?: 'light' | 'dark' | 'system';
76
+ position?: Position;
77
+ hotkey?: string[];
78
+ richColors?: boolean;
79
+ expand?: boolean;
80
+ duration?: number;
81
+ gap?: number;
82
+ visibleToasts?: number;
83
+ closeButton?: boolean;
84
+ toastOptions?: ToastOptions;
85
+ className?: string;
86
+ style?: React.CSSProperties;
87
+ offset?: string | number;
88
+ dir?: 'rtl' | 'ltr' | 'auto';
89
+ loadingIcon?: React.ReactNode;
90
+ containerAriaLabel?: string;
91
+ pauseWhenPageIsHidden?: boolean;
92
+ }
93
+ type ExternalToast = Omit<ToastT, 'id' | 'type' | 'title' | 'jsx' | 'delete' | 'promise'> & {
94
+ id?: number | string;
95
+ };
96
+
97
+ declare const toast: ((message: string | React.ReactNode, data?: ExternalToast) => string | number) & {
98
+ success: (message: string | React.ReactNode, data?: ExternalToast) => string | number;
99
+ info: (message: string | React.ReactNode, data?: ExternalToast) => string | number;
100
+ warning: (message: string | React.ReactNode, data?: ExternalToast) => string | number;
101
+ error: (message: string | React.ReactNode, data?: ExternalToast) => string | number;
102
+ custom: (jsx: (id: number | string) => React.ReactElement, data?: ExternalToast) => string | number;
103
+ message: (message: string | React.ReactNode, data?: ExternalToast) => string | number;
104
+ promise: <ToastData>(promise: PromiseT<ToastData>, data?: PromiseData<ToastData>) => string | number;
105
+ dismiss: (id?: number | string) => string | number;
106
+ loading: (message: string | React.ReactNode, data?: ExternalToast) => string | number;
107
+ };
108
+
109
+ declare const Toaster: (props: ToasterProps) => React.JSX.Element;
110
+
111
+ export { type ExternalToast, type ToastT, Toaster, toast };
package/dist/index.d.ts CHANGED
@@ -2,10 +2,12 @@ import React from 'react';
2
2
 
3
3
  type ToastTypes = 'normal' | 'action' | 'success' | 'info' | 'warning' | 'error' | 'loading' | 'default';
4
4
  type PromiseT<Data = any> = Promise<Data> | (() => Promise<Data>);
5
- type PromiseData<ToastData = any> = ExternalToast & {
5
+ type PromiseExternalToast = Omit<ExternalToast, 'description'>;
6
+ type PromiseData<ToastData = any> = PromiseExternalToast & {
6
7
  loading?: string | React.ReactNode;
7
8
  success?: string | React.ReactNode | ((data: ToastData) => React.ReactNode | string);
8
9
  error?: string | React.ReactNode | ((error: any) => React.ReactNode | string);
10
+ description?: string | React.ReactNode | ((data: any) => React.ReactNode | string);
9
11
  finally?: () => void | Promise<void>;
10
12
  };
11
13
  interface ToastClassnames {
@@ -20,8 +22,16 @@ interface ToastClassnames {
20
22
  error?: string;
21
23
  info?: string;
22
24
  warning?: string;
25
+ loading?: string;
23
26
  default?: string;
24
27
  }
28
+ interface ToastIcons {
29
+ success?: React.ReactNode;
30
+ info?: React.ReactNode;
31
+ warning?: React.ReactNode;
32
+ error?: React.ReactNode;
33
+ loading?: React.ReactNode;
34
+ }
25
35
  interface ToastT {
26
36
  id: number | string;
27
37
  title?: string | React.ReactNode;
@@ -29,18 +39,19 @@ interface ToastT {
29
39
  icon?: React.ReactNode;
30
40
  jsx?: React.ReactNode;
31
41
  invert?: boolean;
42
+ closeButton?: boolean;
32
43
  dismissible?: boolean;
33
44
  description?: React.ReactNode;
34
45
  duration?: number;
35
46
  delete?: boolean;
36
47
  important?: boolean;
37
48
  action?: {
38
- label: string;
49
+ label: React.ReactNode;
39
50
  onClick: (event: React.MouseEvent<HTMLButtonElement>) => void;
40
51
  };
41
52
  cancel?: {
42
- label: string;
43
- onClick?: () => void;
53
+ label: React.ReactNode;
54
+ onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;
44
55
  };
45
56
  onDismiss?: (toast: ToastT) => void;
46
57
  onAutoClose?: (toast: ToastT) => void;
@@ -57,6 +68,7 @@ interface ToastT {
57
68
  type Position = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'top-center' | 'bottom-center';
58
69
  interface ToastOptions {
59
70
  className?: string;
71
+ closeButton?: boolean;
60
72
  descriptionClassName?: string;
61
73
  style?: React.CSSProperties;
62
74
  cancelButtonStyle?: React.CSSProperties;
@@ -65,6 +77,7 @@ interface ToastOptions {
65
77
  unstyled?: boolean;
66
78
  classNames?: ToastClassnames;
67
79
  }
80
+ type CnFunction = (...classes: Array<string | undefined>) => string;
68
81
  interface ToasterProps {
69
82
  invert?: boolean;
70
83
  theme?: 'light' | 'dark' | 'system';
@@ -81,8 +94,19 @@ interface ToasterProps {
81
94
  style?: React.CSSProperties;
82
95
  offset?: string | number;
83
96
  dir?: 'rtl' | 'ltr' | 'auto';
97
+ /**
98
+ * @deprecated Please use the `icons` prop instead:
99
+ * ```jsx
100
+ * <Toaster
101
+ * icons={{ loading: <LoadingIcon /> }}
102
+ * />
103
+ * ```
104
+ */
84
105
  loadingIcon?: React.ReactNode;
106
+ icons?: ToastIcons;
85
107
  containerAriaLabel?: string;
108
+ pauseWhenPageIsHidden?: boolean;
109
+ cn?: CnFunction;
86
110
  }
87
111
  type ExternalToast = Omit<ToastT, 'id' | 'type' | 'title' | 'jsx' | 'delete' | 'promise'> & {
88
112
  id?: number | string;
@@ -100,6 +124,9 @@ declare const toast: ((message: string | React.ReactNode, data?: ExternalToast)
100
124
  loading: (message: string | React.ReactNode, data?: ExternalToast) => string | number;
101
125
  };
102
126
 
127
+ declare function useSonner(): {
128
+ toasts: ToastT[];
129
+ };
103
130
  declare const Toaster: (props: ToasterProps) => React.JSX.Element;
104
131
 
105
- export { ExternalToast, ToastT, Toaster, toast };
132
+ export { ExternalToast, ToastT, Toaster, toast, useSonner };
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- "use client";var Lt=Object.create;var G=Object.defineProperty;var zt=Object.getOwnPropertyDescriptor;var At=Object.getOwnPropertyNames;var Yt=Object.getPrototypeOf,jt=Object.prototype.hasOwnProperty;var Ft=(s,e)=>{for(var t in e)G(s,t,{get:e[t],enumerable:!0})},Et=(s,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let f of At(e))!jt.call(s,f)&&f!==t&&G(s,f,{get:()=>e[f],enumerable:!(r=zt(e,f))||r.enumerable});return s};var lt=(s,e,t)=>(t=s!=null?Lt(Yt(s)):{},Et(e||!s||!s.__esModule?G(t,"default",{value:s,enumerable:!0}):t,s)),$t=s=>Et(G({},"__esModule",{value:!0}),s);var oe={};Ft(oe,{Toaster:()=>ae,toast:()=>It});module.exports=$t(oe);var a=lt(require("react")),Mt=lt(require("react-dom"));function dt(s,{insertAt:e}={}){if(!s||typeof document=="undefined")return;let t=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",e==="top"&&t.firstChild?t.insertBefore(r,t.firstChild):t.appendChild(r),r.styleSheet?r.styleSheet.cssText=s:r.appendChild(document.createTextNode(s))}dt(`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%}[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}}.loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}
2
- `);var T=lt(require("react")),St=s=>{switch(s){case"success":return _t;case"info":return Wt;case"warning":return Vt;case"error":return Kt;default:return null}},Ut=Array(12).fill(0),kt=({visible:s})=>T.default.createElement("div",{className:"sonner-loading-wrapper","data-visible":s},T.default.createElement("div",{className:"sonner-spinner"},Ut.map((e,t)=>T.default.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${t}`})))),_t=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"})),Vt=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"})),Wt=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"})),Kt=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 ct=1,ut=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 g;let{message:t,...r}=e,f=typeof(e==null?void 0:e.id)=="number"||((g=e.id)==null?void 0:g.length)>0?e.id:ct++,h=this.toasts.find(d=>d.id===f),m=e.dismissible===void 0?!0:e.dismissible;return h?this.toasts=this.toasts.map(d=>d.id===f?(this.publish({...d,...e,id:f,title:t}),{...d,...e,id:f,dismissible:m,title:t}):d):this.addToast({title:t,...r,dismissible:m,id:f}),f};this.dismiss=e=>(e||this.toasts.forEach(t=>{this.subscribers.forEach(r=>r({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 r;t.loading!==void 0&&(r=this.create({...t,promise:e,type:"loading",message:t.loading}));let f=e instanceof Promise?e:e(),h=r!==void 0;return f.then(m=>{if(m&&typeof m.ok=="boolean"&&!m.ok){h=!1;let g=typeof t.error=="function"?t.error(`HTTP error! status: ${m.status}`):t.error;this.create({id:r,type:"error",message:g})}else if(t.success!==void 0){h=!1;let g=typeof t.success=="function"?t.success(m):t.success;this.create({id:r,type:"success",message:g})}}).catch(m=>{if(t.error!==void 0){h=!1;let g=typeof t.error=="function"?t.error(m):t.error;this.create({id:r,type:"error",message:g})}}).finally(()=>{var m;h&&(this.dismiss(r),r=void 0),(m=t.finally)==null||m.call(t)}),r};this.custom=(e,t)=>{let r=(t==null?void 0:t.id)||ct++;return this.create({jsx:e(r),id:r,...t}),r};this.subscribers=[],this.toasts=[]}},w=new ut,Xt=(s,e)=>{let t=(e==null?void 0:e.id)||ct++;return w.addToast({title:s,...e,id:t}),t},Jt=Xt,It=Object.assign(Jt,{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 Ot=3,Gt="32px",qt=4e3,Qt=356,Bt=14,Zt=20,te=200;function Y(...s){return s.filter(Boolean).join(" ")}var ee=s=>{var pt,ht,bt,yt,vt,xt,Tt;let{invert:e,toast:t,unstyled:r,interacting:f,setHeights:h,visibleToasts:m,heights:g,index:d,toasts:q,expanded:j,removeToast:V,closeButton:Q,style:n,cancelButtonStyle:W,actionButtonStyle:Z,className:tt="",descriptionClassName:et="",duration:S,position:F,gap:at=Bt,loadingIcon:$,expandByDefault:U,classNames:l,closeButtonAriaLabel:B="Close toast"}=s,[P,K]=a.default.useState(!1),[X,R]=a.default.useState(!1),[C,J]=a.default.useState(!1),[k,H]=a.default.useState(!1),[ot,i]=a.default.useState(0),[p,b]=a.default.useState(0),M=a.default.useRef(null),x=a.default.useRef(null),c=d===0,_=d+1<=m,v=t.type,L=t.dismissible!==!1,Ct=t.className||"",Dt=t.descriptionClassName||"",O=a.default.useMemo(()=>g.findIndex(o=>o.toastId===t.id)||0,[g,t.id]),st=a.default.useMemo(()=>t.duration||S||qt,[t.duration,S]),rt=a.default.useRef(0),z=a.default.useRef(0),se=a.default.useRef(st),ft=a.default.useRef(0),A=a.default.useRef(null),[mt,Pt]=F.split("-"),gt=a.default.useMemo(()=>g.reduce((o,u,y)=>y>=O?o:o+u.height,0),[g,O]),Rt=t.invert||e,nt=v==="loading";z.current=a.default.useMemo(()=>O*at+gt,[O,gt]),a.default.useEffect(()=>{K(!0)},[]),a.default.useLayoutEffect(()=>{if(!P)return;let o=x.current,u=o.style.height;o.style.height="auto";let y=o.getBoundingClientRect().height;o.style.height=u,b(y),h(I=>I.find(E=>E.toastId===t.id)?I.map(E=>E.toastId===t.id?{...E,height:y}:E):[{toastId:t.id,height:y},...I])},[P,t.title,t.description,h,t.id]);let D=a.default.useCallback(()=>{R(!0),i(z.current),h(o=>o.filter(u=>u.toastId!==t.id)),setTimeout(()=>{V(t)},te)},[t,V,h,z]);a.default.useEffect(()=>{if(t.promise&&v==="loading"||t.duration===1/0)return;let o,u=st;return j||f?(()=>{if(ft.current<rt.current){let N=new Date().getTime()-rt.current;u=u-N}ft.current=new Date().getTime()})():(()=>{rt.current=new Date().getTime(),o=setTimeout(()=>{var N;(N=t.onAutoClose)==null||N.call(t,t),D()},u)})(),()=>clearTimeout(o)},[j,f,U,t,st,D,t.promise,v]),a.default.useEffect(()=>{let o=x.current;if(o){let u=o.getBoundingClientRect().height;return b(u),h(y=>[{toastId:t.id,height:u},...y]),()=>h(y=>y.filter(I=>I.toastId!==t.id))}},[h,t.id]),a.default.useEffect(()=>{t.delete&&D()},[D,t.delete]);function Ht(){return $?a.default.createElement("div",{className:"loader","data-visible":v==="loading"},$):a.default.createElement(kt,{visible:v==="loading"})}return a.default.createElement("li",{"aria-live":t.important?"assertive":"polite","aria-atomic":"true",role:"status",tabIndex:0,ref:x,className:Y(tt,Ct,l==null?void 0:l.toast,(pt=t==null?void 0:t.classNames)==null?void 0:pt.toast,l==null?void 0:l[v],(ht=t==null?void 0:t.classNames)==null?void 0:ht[v]),"data-sonner-toast":"","data-styled":!(t.jsx||t.unstyled||r),"data-mounted":P,"data-promise":!!t.promise,"data-removed":X,"data-visible":_,"data-y-position":mt,"data-x-position":Pt,"data-index":d,"data-front":c,"data-swiping":C,"data-dismissible":L,"data-type":v,"data-invert":Rt,"data-swipe-out":k,"data-expanded":!!(j||U&&P),style:{"--index":d,"--toasts-before":d,"--z-index":q.length-d,"--offset":`${X?ot:z.current}px`,"--initial-height":U?"auto":`${p}px`,...n,...t.style},onPointerDown:o=>{nt||!L||(M.current=new Date,i(z.current),o.target.setPointerCapture(o.pointerId),o.target.tagName!=="BUTTON"&&(J(!0),A.current={x:o.clientX,y:o.clientY}))},onPointerUp:()=>{var I,N,E,it;if(k||!L)return;A.current=null;let o=Number(((I=x.current)==null?void 0:I.style.getPropertyValue("--swipe-amount").replace("px",""))||0),u=new Date().getTime()-((N=M.current)==null?void 0:N.getTime()),y=Math.abs(o)/u;if(Math.abs(o)>=Zt||y>.11){i(z.current),(E=t.onDismiss)==null||E.call(t,t),D(),H(!0);return}(it=x.current)==null||it.style.setProperty("--swipe-amount","0px"),J(!1)},onPointerMove:o=>{var wt;if(!A.current||!L)return;let u=o.clientY-A.current.y,y=o.clientX-A.current.x,N=(mt==="top"?Math.min:Math.max)(0,u),E=o.pointerType==="touch"?10:2;Math.abs(N)>E?(wt=x.current)==null||wt.style.setProperty("--swipe-amount",`${u}px`):Math.abs(y)>E&&(A.current=null)}},Q&&!t.jsx?a.default.createElement("button",{"aria-label":B,"data-disabled":nt,"data-close-button":!0,onClick:nt||!L?()=>{}:()=>{var o;D(),(o=t.onDismiss)==null||o.call(t,t)},className:Y(l==null?void 0:l.closeButton,(bt=t==null?void 0:t.classNames)==null?void 0:bt.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?Ht():null,t.icon||St(v)):null,a.default.createElement("div",{"data-content":""},a.default.createElement("div",{"data-title":"",className:Y(l==null?void 0:l.title,(yt=t==null?void 0:t.classNames)==null?void 0:yt.title)},t.title),t.description?a.default.createElement("div",{"data-description":"",className:Y(et,Dt,l==null?void 0:l.description,(vt=t==null?void 0:t.classNames)==null?void 0:vt.description)},t.description):null),t.cancel?a.default.createElement("button",{"data-button":!0,"data-cancel":!0,style:t.cancelButtonStyle||W,onClick:()=>{var o;L&&(D(),(o=t.cancel)!=null&&o.onClick&&t.cancel.onClick())},className:Y(l==null?void 0:l.cancelButton,(xt=t==null?void 0:t.classNames)==null?void 0:xt.cancelButton)},t.cancel.label):null,t.action?a.default.createElement("button",{"data-button":"",style:t.actionButtonStyle||Z,onClick:o=>{var u;(u=t.action)==null||u.onClick(o),!o.defaultPrevented&&D()},className:Y(l==null?void 0:l.actionButton,(Tt=t==null?void 0:t.classNames)==null?void 0:Tt.actionButton)},t.action.label):null))};function Nt(){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 ae=s=>{let{invert:e,position:t="bottom-right",hotkey:r=["altKey","KeyT"],expand:f,closeButton:h,className:m,offset:g,theme:d="light",richColors:q,duration:j,style:V,visibleToasts:Q=Ot,toastOptions:n,dir:W=Nt(),gap:Z,loadingIcon:tt,containerAriaLabel:et="Notifications"}=s,[S,F]=a.default.useState([]),at=a.default.useMemo(()=>Array.from(new Set([t].concat(S.filter(i=>i.position).map(i=>i.position)))),[S,t]),[$,U]=a.default.useState([]),[l,B]=a.default.useState(!1),[P,K]=a.default.useState(!1),[X,R]=a.default.useState(d!=="system"?d:typeof window!="undefined"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),C=a.default.useRef(null),J=r.join("+").replace(/Key/g,"").replace(/Digit/g,""),k=a.default.useRef(null),H=a.default.useRef(!1),ot=a.default.useCallback(i=>F(p=>p.filter(({id:b})=>b!==i.id)),[]);return a.default.useEffect(()=>w.subscribe(i=>{if(i.dismiss){F(p=>p.map(b=>b.id===i.id?{...b,delete:!0}:b));return}setTimeout(()=>{Mt.default.flushSync(()=>{F(p=>{let b=p.findIndex(M=>M.id===i.id);return b!==-1?[...p.slice(0,b),{...p[b],...i},...p.slice(b+1)]:[i,...p]})})})}),[]),a.default.useEffect(()=>{if(d!=="system"){R(d);return}d==="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:i})=>{R(i?"dark":"light")})},[d]),a.default.useEffect(()=>{S.length<=1&&B(!1)},[S]),a.default.useEffect(()=>{let i=p=>{var M,x;r.every(c=>p[c]||p.code===c)&&(B(!0),(M=C.current)==null||M.focus()),p.code==="Escape"&&(document.activeElement===C.current||(x=C.current)!=null&&x.contains(document.activeElement))&&B(!1)};return document.addEventListener("keydown",i),()=>document.removeEventListener("keydown",i)},[r]),a.default.useEffect(()=>{if(C.current)return()=>{k.current&&(k.current.focus({preventScroll:!0}),k.current=null,H.current=!1)}},[C.current]),S.length?a.default.createElement("section",{"aria-label":`${et} ${J}`,tabIndex:-1},at.map((i,p)=>{var x;let[b,M]=i.split("-");return a.default.createElement("ol",{key:i,dir:W==="auto"?Nt():W,tabIndex:-1,ref:C,className:m,"data-sonner-toaster":!0,"data-theme":X,"data-rich-colors":q,"data-y-position":b,"data-x-position":M,style:{"--front-toast-height":`${(x=$[0])==null?void 0:x.height}px`,"--offset":typeof g=="number"?`${g}px`:g||Gt,"--width":`${Qt}px`,"--gap":`${Bt}px`,...V},onBlur:c=>{H.current&&!c.currentTarget.contains(c.relatedTarget)&&(H.current=!1,k.current&&(k.current.focus({preventScroll:!0}),k.current=null))},onFocus:c=>{c.target instanceof HTMLElement&&c.target.dataset.dismissible==="false"||H.current||(H.current=!0,k.current=c.relatedTarget)},onMouseEnter:()=>B(!0),onMouseMove:()=>B(!0),onMouseLeave:()=>{P||B(!1)},onPointerDown:c=>{c.target instanceof HTMLElement&&c.target.dataset.dismissible==="false"||K(!0)},onPointerUp:()=>K(!1)},S.filter(c=>!c.position&&p===0||c.position===i).map((c,_)=>{var v;return a.default.createElement(ee,{key:c.id,index:_,toast:c,duration:(v=n==null?void 0:n.duration)!=null?v:j,className:n==null?void 0:n.className,descriptionClassName:n==null?void 0:n.descriptionClassName,invert:e,visibleToasts:Q,closeButton:h,interacting:P,position:i,style:n==null?void 0:n.style,unstyled:n==null?void 0:n.unstyled,classNames:n==null?void 0:n.classNames,cancelButtonStyle:n==null?void 0:n.cancelButtonStyle,actionButtonStyle:n==null?void 0:n.actionButtonStyle,removeToast:ot,toasts:S,heights:$,setHeights:U,expandByDefault:f,gap:Z,loadingIcon:tt,expanded:l})}))})):null};0&&(module.exports={Toaster,toast});
1
+ "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%)}
2
+ `);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});
3
3
  //# sourceMappingURL=index.js.map