@ttt-productions/ui-core 0.1.13 → 0.1.18
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/dist/components/toast.d.ts +11 -5
- package/dist/components/toast.d.ts.map +1 -1
- package/dist/components/toast.js +21 -14
- package/dist/components/toast.js.map +1 -1
- package/dist/components/toaster.d.ts.map +1 -1
- package/dist/components/toaster.js +2 -5
- package/dist/components/toaster.js.map +1 -1
- package/dist/hooks/use-toast.d.ts +14 -26
- package/dist/hooks/use-toast.d.ts.map +1 -1
- package/dist/hooks/use-toast.js +49 -43
- package/dist/hooks/use-toast.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -4,13 +4,19 @@ import { type VariantProps } from "class-variance-authority";
|
|
|
4
4
|
declare const ToastProvider: React.FC<ToastPrimitives.ToastProviderProps>;
|
|
5
5
|
declare const ToastViewport: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastViewportProps & React.RefAttributes<HTMLOListElement>, "ref"> & React.RefAttributes<HTMLOListElement>>;
|
|
6
6
|
declare const Toast: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastProps & React.RefAttributes<HTMLLIElement>, "ref"> & VariantProps<(props?: ({
|
|
7
|
-
variant?: "default" | "destructive" | null | undefined;
|
|
8
|
-
} & import("class-variance-authority/types").ClassProp) | undefined) => string> &
|
|
7
|
+
variant?: "default" | "destructive" | "success" | "warning" | "error" | null | undefined;
|
|
8
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string> & {
|
|
9
|
+
/** ms */
|
|
10
|
+
duration?: number;
|
|
11
|
+
/** show X button */
|
|
12
|
+
dismissible?: boolean;
|
|
13
|
+
} & React.RefAttributes<HTMLLIElement>>;
|
|
9
14
|
declare const ToastAction: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastActionProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
10
15
|
declare const ToastClose: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastCloseProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
11
16
|
declare const ToastTitle: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastTitleProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
12
17
|
declare const ToastDescription: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastDescriptionProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
13
|
-
|
|
14
|
-
type
|
|
15
|
-
export
|
|
18
|
+
/** Exported types for consumers */
|
|
19
|
+
export type ToastProps = React.ComponentPropsWithoutRef<typeof Toast>;
|
|
20
|
+
export type ToastActionElement = React.ReactElement<typeof ToastAction>;
|
|
21
|
+
export { ToastProvider, ToastViewport, Toast, ToastTitle, ToastDescription, ToastClose, ToastAction, };
|
|
16
22
|
//# sourceMappingURL=toast.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../src/components/toast.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../src/components/toast.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,eAAe,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAoBlE,QAAA,MAAM,aAAa,8CAA2B,CAAC;AAE/C,QAAA,MAAM,aAAa,kKAKjB,CAAC;AAWH,QAAA,MAAM,KAAK;;;IANP,SAAS;eACE,MAAM;IACjB,oBAAoB;kBACN,OAAO;uCAkCxB,CAAC;AAGF,QAAA,MAAM,WAAW,kKAKf,CAAC;AAGH,QAAA,MAAM,UAAU,iKAKd,CAAC;AAGH,QAAA,MAAM,UAAU,2JAKd,CAAC;AAGH,QAAA,MAAM,gBAAgB,iKAKpB,CAAC;AAGH,mCAAmC;AACnC,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,KAAK,CAAC,CAAC;AACtE,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,YAAY,CAAC,OAAO,WAAW,CAAC,CAAC;AAExE,OAAO,EACL,aAAa,EACb,aAAa,EACb,KAAK,EACL,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,WAAW,GACZ,CAAC"}
|
package/dist/components/toast.js
CHANGED
|
@@ -1,35 +1,42 @@
|
|
|
1
|
-
|
|
2
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
2
|
import * as React from "react";
|
|
4
3
|
import * as ToastPrimitives from "@radix-ui/react-toast";
|
|
5
4
|
import { cva } from "class-variance-authority";
|
|
6
5
|
import { X } from "lucide-react";
|
|
7
6
|
import { cn } from "../lib/utils";
|
|
8
|
-
const
|
|
9
|
-
const ToastViewport = React.forwardRef(({ className, ...props }, ref) => (_jsx(ToastPrimitives.Viewport, { ref: ref, className: cn("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]", className), ...props })));
|
|
10
|
-
ToastViewport.displayName = ToastPrimitives.Viewport.displayName;
|
|
11
|
-
const toastVariants = cva("group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full", {
|
|
7
|
+
const toastVariants = cva("toast-root", {
|
|
12
8
|
variants: {
|
|
13
9
|
variant: {
|
|
14
|
-
default: "
|
|
15
|
-
destructive: "
|
|
10
|
+
default: "",
|
|
11
|
+
destructive: "data-[variant=destructive]:",
|
|
12
|
+
success: "data-[variant=success]:",
|
|
13
|
+
warning: "data-[variant=warning]:",
|
|
14
|
+
error: "data-[variant=error]:",
|
|
16
15
|
},
|
|
17
16
|
},
|
|
18
17
|
defaultVariants: {
|
|
19
18
|
variant: "default",
|
|
20
19
|
},
|
|
21
20
|
});
|
|
22
|
-
const
|
|
23
|
-
|
|
21
|
+
const ToastProvider = ToastPrimitives.Provider;
|
|
22
|
+
const ToastViewport = React.forwardRef(({ className, ...props }, ref) => (_jsx(ToastPrimitives.Viewport, { ref: ref, className: cn("toast-viewport", className), ...props })));
|
|
23
|
+
ToastViewport.displayName = ToastPrimitives.Viewport.displayName;
|
|
24
|
+
const Toast = React.forwardRef(({ className, variant, duration = 5000, dismissible = true, style, children, ...props }, ref) => {
|
|
25
|
+
// pass duration to Radix AND to CSS countdown bar
|
|
26
|
+
const mergedStyle = {
|
|
27
|
+
...style,
|
|
28
|
+
["--toast-duration"]: `${duration}ms`,
|
|
29
|
+
};
|
|
30
|
+
return (_jsxs(ToastPrimitives.Root, { ref: ref, duration: duration, "data-variant": variant, className: cn(toastVariants({ variant }), className), style: mergedStyle, ...props, children: [children, _jsx("div", { className: "toast-progress" }), dismissible ? (_jsx(ToastPrimitives.Close, { className: "toast-dismiss", "aria-label": "Dismiss toast", children: _jsx(X, { className: "h-4 w-4" }) })) : null] }));
|
|
24
31
|
});
|
|
25
32
|
Toast.displayName = ToastPrimitives.Root.displayName;
|
|
26
|
-
const ToastAction = React.forwardRef(({ className, ...props }, ref) => (_jsx(ToastPrimitives.Action, { ref: ref, className: cn(
|
|
33
|
+
const ToastAction = React.forwardRef(({ className, ...props }, ref) => (_jsx(ToastPrimitives.Action, { ref: ref, className: cn(className), ...props })));
|
|
27
34
|
ToastAction.displayName = ToastPrimitives.Action.displayName;
|
|
28
|
-
const ToastClose = React.forwardRef(({ className, ...props }, ref) => (_jsx(ToastPrimitives.Close, { ref: ref, className: cn("
|
|
35
|
+
const ToastClose = React.forwardRef(({ className, ...props }, ref) => (_jsx(ToastPrimitives.Close, { ref: ref, className: cn("toast-dismiss", className), ...props })));
|
|
29
36
|
ToastClose.displayName = ToastPrimitives.Close.displayName;
|
|
30
|
-
const ToastTitle = React.forwardRef(({ className, ...props }, ref) => (_jsx(ToastPrimitives.Title, { ref: ref, className: cn(
|
|
37
|
+
const ToastTitle = React.forwardRef(({ className, ...props }, ref) => (_jsx(ToastPrimitives.Title, { ref: ref, className: cn(className), ...props })));
|
|
31
38
|
ToastTitle.displayName = ToastPrimitives.Title.displayName;
|
|
32
|
-
const ToastDescription = React.forwardRef(({ className, ...props }, ref) => (_jsx(ToastPrimitives.Description, { ref: ref, className: cn(
|
|
39
|
+
const ToastDescription = React.forwardRef(({ className, ...props }, ref) => (_jsx(ToastPrimitives.Description, { ref: ref, className: cn(className), ...props })));
|
|
33
40
|
ToastDescription.displayName = ToastPrimitives.Description.displayName;
|
|
34
41
|
export { ToastProvider, ToastViewport, Toast, ToastTitle, ToastDescription, ToastClose, ToastAction, };
|
|
35
42
|
//# sourceMappingURL=toast.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toast.js","sourceRoot":"","sources":["../../src/components/toast.tsx"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"toast.js","sourceRoot":"","sources":["../../src/components/toast.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toaster.d.ts","sourceRoot":"","sources":["../../src/components/toaster.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"toaster.d.ts","sourceRoot":"","sources":["../../src/components/toaster.tsx"],"names":[],"mappings":"AAGA,wBAAgB,OAAO,4CAyBtB"}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
"use client";
|
|
2
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Toast, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport } from "./toast";
|
|
3
3
|
import { useToast } from "../hooks/use-toast";
|
|
4
|
-
import { Toast, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, } from "./toast";
|
|
5
4
|
export function Toaster() {
|
|
6
5
|
const { toasts } = useToast();
|
|
7
|
-
return (_jsxs(ToastProvider, { children: [toasts.map(
|
|
8
|
-
return (_jsxs(Toast, { ...props, children: [_jsxs("div", { className: "grid gap-1", children: [title && _jsx(ToastTitle, { children: title }), description && _jsx(ToastDescription, { children: description })] }), action, _jsx(ToastClose, {})] }, id));
|
|
9
|
-
}), _jsx(ToastViewport, {})] }));
|
|
6
|
+
return (_jsxs(ToastProvider, { swipeDirection: "right", swipeThreshold: 32, children: [toasts.map(({ id, title, description, action, variant, duration, dismissible, ...props }) => (_jsxs(Toast, { variant: (variant === "error" ? "destructive" : variant) ?? "default", duration: duration ?? 5000, dismissible: dismissible ?? true, ...props, children: [_jsxs("div", { className: "grid gap-1 pr-10", children: [title ? _jsx(ToastTitle, { className: "font-bold", children: title }) : null, description ? _jsx(ToastDescription, { className: "font-bold", children: description }) : null] }), action, _jsx(ToastClose, {})] }, id))), _jsx(ToastViewport, {})] }));
|
|
10
7
|
}
|
|
11
8
|
//# sourceMappingURL=toaster.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toaster.js","sourceRoot":"","sources":["../../src/components/toaster.tsx"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"toaster.js","sourceRoot":"","sources":["../../src/components/toaster.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxG,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,MAAM,UAAU,OAAO;IACrB,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IAE9B,OAAO,CACL,MAAC,aAAa,IAAC,cAAc,EAAC,OAAO,EAAC,cAAc,EAAE,EAAE,aACrD,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,CAAC,CAC5F,MAAC,KAAK,IAEJ,OAAO,EAAE,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,SAAS,EACrE,QAAQ,EAAE,QAAQ,IAAI,IAAI,EAC1B,WAAW,EAAE,WAAW,IAAI,IAAI,KAC5B,KAAK,aAET,eAAK,SAAS,EAAC,kBAAkB,aAC9B,KAAK,CAAC,CAAC,CAAC,KAAC,UAAU,IAAC,SAAS,EAAC,WAAW,YAAE,KAAK,GAAc,CAAC,CAAC,CAAC,IAAI,EACrE,WAAW,CAAC,CAAC,CAAC,KAAC,gBAAgB,IAAC,SAAS,EAAC,WAAW,YAAE,WAAW,GAAoB,CAAC,CAAC,CAAC,IAAI,IAC1F,EACL,MAAM,EAEP,KAAC,UAAU,KAAG,KAZT,EAAE,CAaD,CACT,CAAC,EACF,KAAC,aAAa,KAAG,IACH,CACjB,CAAC;AACJ,CAAC"}
|
|
@@ -1,38 +1,26 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
|
|
3
|
-
type ToasterToast =
|
|
2
|
+
export type ToastVariant = "default" | "destructive" | "success" | "warning" | "error";
|
|
3
|
+
export type ToasterToast = {
|
|
4
4
|
id: string;
|
|
5
5
|
title?: React.ReactNode;
|
|
6
6
|
description?: React.ReactNode;
|
|
7
|
-
action?:
|
|
7
|
+
action?: React.ReactNode;
|
|
8
|
+
variant?: ToastVariant;
|
|
9
|
+
/** ms */
|
|
10
|
+
duration?: number;
|
|
11
|
+
/** show X button */
|
|
12
|
+
dismissible?: boolean;
|
|
8
13
|
};
|
|
9
|
-
type
|
|
10
|
-
|
|
11
|
-
toast: ToasterToast;
|
|
12
|
-
} | {
|
|
13
|
-
type: "UPDATE_TOAST";
|
|
14
|
-
toast: Partial<ToasterToast>;
|
|
15
|
-
} | {
|
|
16
|
-
type: "DISMISS_TOAST";
|
|
17
|
-
toastId?: ToasterToast["id"];
|
|
18
|
-
} | {
|
|
19
|
-
type: "REMOVE_TOAST";
|
|
20
|
-
toastId?: ToasterToast["id"];
|
|
21
|
-
};
|
|
22
|
-
interface State {
|
|
23
|
-
toasts: ToasterToast[];
|
|
24
|
-
}
|
|
25
|
-
export declare const reducer: (state: State, action: Action) => State;
|
|
26
|
-
type Toast = Omit<ToasterToast, "id">;
|
|
27
|
-
declare function toast({ ...props }: Toast): {
|
|
14
|
+
type ToastProps = ToasterToast;
|
|
15
|
+
export declare function toast(input: Omit<ToastProps, "id">): {
|
|
28
16
|
id: string;
|
|
29
17
|
dismiss: () => void;
|
|
30
|
-
update: (props:
|
|
18
|
+
update: (props: Partial<ToastProps>) => void;
|
|
31
19
|
};
|
|
32
|
-
declare function useToast(): {
|
|
20
|
+
export declare function useToast(): {
|
|
33
21
|
toast: typeof toast;
|
|
34
22
|
dismiss: (toastId?: string) => void;
|
|
35
|
-
toasts:
|
|
23
|
+
toasts: ToastProps[];
|
|
36
24
|
};
|
|
37
|
-
export {
|
|
25
|
+
export {};
|
|
38
26
|
//# sourceMappingURL=use-toast.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-toast.d.ts","sourceRoot":"","sources":["../../src/hooks/use-toast.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-toast.d.ts","sourceRoot":"","sources":["../../src/hooks/use-toast.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAEvF,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,OAAO,CAAC,EAAE,YAAY,CAAC;IAEvB,SAAS;IACT,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,oBAAoB;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,KAAK,UAAU,GAAG,YAAY,CAAC;AAoE/B,wBAAgB,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC;;;oBAoB/B,OAAO,CAAC,UAAU,CAAC;EAGtC;AAED,wBAAgB,QAAQ;;wBAcA,MAAM;YAlGpB,UAAU,EAAE;EAuGrB"}
|
package/dist/hooks/use-toast.js
CHANGED
|
@@ -1,43 +1,33 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
// This file is based on the shadcn-ui toast hook, but with a simplified reducer
|
|
3
|
-
// and a single toast limit for our specific use case.
|
|
4
1
|
import * as React from "react";
|
|
5
2
|
const TOAST_LIMIT = 1;
|
|
6
|
-
const TOAST_REMOVE_DELAY =
|
|
3
|
+
const TOAST_REMOVE_DELAY = 1000000;
|
|
7
4
|
const toastTimeouts = new Map();
|
|
8
|
-
const
|
|
9
|
-
if (toastTimeouts.has(toastId))
|
|
10
|
-
return;
|
|
11
|
-
const timeout = setTimeout(() => {
|
|
12
|
-
toastTimeouts.delete(toastId);
|
|
13
|
-
dispatch({ type: "REMOVE_TOAST", toastId });
|
|
14
|
-
}, TOAST_REMOVE_DELAY);
|
|
15
|
-
toastTimeouts.set(toastId, timeout);
|
|
16
|
-
};
|
|
17
|
-
export const reducer = (state, action) => {
|
|
5
|
+
const reducer = (state, action) => {
|
|
18
6
|
switch (action.type) {
|
|
19
|
-
case "ADD_TOAST":
|
|
7
|
+
case "ADD_TOAST": {
|
|
20
8
|
return { ...state, toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT) };
|
|
21
|
-
|
|
9
|
+
}
|
|
10
|
+
case "UPDATE_TOAST": {
|
|
22
11
|
return {
|
|
23
12
|
...state,
|
|
24
13
|
toasts: state.toasts.map((t) => (t.id === action.toast.id ? { ...t, ...action.toast } : t)),
|
|
25
14
|
};
|
|
15
|
+
}
|
|
26
16
|
case "DISMISS_TOAST": {
|
|
27
17
|
const { toastId } = action;
|
|
28
|
-
if (toastId)
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
return {
|
|
33
|
-
...state,
|
|
34
|
-
toasts: state.toasts.map((t) => t.id === toastId || toastId === undefined ? { ...t, open: false } : t),
|
|
35
|
-
};
|
|
18
|
+
if (toastId) {
|
|
19
|
+
return { ...state, toasts: state.toasts.map((t) => (t.id === toastId ? { ...t } : t)) };
|
|
20
|
+
}
|
|
21
|
+
return { ...state, toasts: state.toasts.map((t) => ({ ...t })) };
|
|
36
22
|
}
|
|
37
|
-
case "REMOVE_TOAST":
|
|
38
|
-
|
|
23
|
+
case "REMOVE_TOAST": {
|
|
24
|
+
const { toastId } = action;
|
|
25
|
+
if (!toastId)
|
|
39
26
|
return { ...state, toasts: [] };
|
|
40
|
-
return { ...state, toasts: state.toasts.filter((t) => t.id !==
|
|
27
|
+
return { ...state, toasts: state.toasts.filter((t) => t.id !== toastId) };
|
|
28
|
+
}
|
|
29
|
+
default:
|
|
30
|
+
return state;
|
|
41
31
|
}
|
|
42
32
|
};
|
|
43
33
|
const listeners = [];
|
|
@@ -46,27 +36,40 @@ function dispatch(action) {
|
|
|
46
36
|
memoryState = reducer(memoryState, action);
|
|
47
37
|
listeners.forEach((listener) => listener(memoryState));
|
|
48
38
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
39
|
+
function genId() {
|
|
40
|
+
return Math.random().toString(36).slice(2, 10);
|
|
41
|
+
}
|
|
42
|
+
function addToRemoveQueue(toastId) {
|
|
43
|
+
if (toastTimeouts.has(toastId))
|
|
44
|
+
return;
|
|
45
|
+
const timeout = setTimeout(() => {
|
|
46
|
+
toastTimeouts.delete(toastId);
|
|
47
|
+
dispatch({ type: "REMOVE_TOAST", toastId });
|
|
48
|
+
}, TOAST_REMOVE_DELAY);
|
|
49
|
+
toastTimeouts.set(toastId, timeout);
|
|
50
|
+
}
|
|
51
|
+
export function toast(input) {
|
|
52
52
|
const id = genId();
|
|
53
|
-
const update = (props) => dispatch({ type: "UPDATE_TOAST", toast: { ...props, id } });
|
|
54
|
-
const dismiss = () => dispatch({ type: "DISMISS_TOAST", toastId: id });
|
|
55
53
|
dispatch({
|
|
56
54
|
type: "ADD_TOAST",
|
|
57
55
|
toast: {
|
|
58
|
-
...props,
|
|
59
56
|
id,
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
},
|
|
57
|
+
dismissible: true,
|
|
58
|
+
duration: 5000,
|
|
59
|
+
variant: "default",
|
|
60
|
+
...input,
|
|
65
61
|
},
|
|
66
62
|
});
|
|
67
|
-
return {
|
|
63
|
+
return {
|
|
64
|
+
id,
|
|
65
|
+
dismiss: () => {
|
|
66
|
+
dispatch({ type: "DISMISS_TOAST", toastId: id });
|
|
67
|
+
addToRemoveQueue(id);
|
|
68
|
+
},
|
|
69
|
+
update: (props) => dispatch({ type: "UPDATE_TOAST", toast: { ...props, id } }),
|
|
70
|
+
};
|
|
68
71
|
}
|
|
69
|
-
function useToast() {
|
|
72
|
+
export function useToast() {
|
|
70
73
|
const [state, setState] = React.useState(memoryState);
|
|
71
74
|
React.useEffect(() => {
|
|
72
75
|
listeners.push(setState);
|
|
@@ -75,12 +78,15 @@ function useToast() {
|
|
|
75
78
|
if (index > -1)
|
|
76
79
|
listeners.splice(index, 1);
|
|
77
80
|
};
|
|
78
|
-
}, [
|
|
81
|
+
}, []);
|
|
79
82
|
return {
|
|
80
83
|
...state,
|
|
81
84
|
toast,
|
|
82
|
-
dismiss: (toastId) =>
|
|
85
|
+
dismiss: (toastId) => {
|
|
86
|
+
dispatch({ type: "DISMISS_TOAST", toastId });
|
|
87
|
+
if (toastId)
|
|
88
|
+
addToRemoveQueue(toastId);
|
|
89
|
+
},
|
|
83
90
|
};
|
|
84
91
|
}
|
|
85
|
-
export { useToast, toast };
|
|
86
92
|
//# sourceMappingURL=use-toast.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-toast.js","sourceRoot":"","sources":["../../src/hooks/use-toast.tsx"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"use-toast.js","sourceRoot":"","sources":["../../src/hooks/use-toast.tsx"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,qBAAqB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,aAAa,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,cAAc,qBAAqB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AAEnC,mBAAmB;AACnB,cAAc,aAAa,CAAC"}
|