import * as React from "react"; import { action } from "@storybook/addon-actions"; import { Toaster, Toast } from ".."; import { ToastProps } from "../components/Toast"; import { fontSizes } from "../../shared/styles/typography"; import { purple } from "../../design-tokens/build/js/designTokens"; let addedToastId = 1; const toastTitle = "I have a message for you"; const fakeButtonStyles = { ["-webkit-appearance"]: "none", ["-moz-appearance"]: "none", background: "transparent", border: "none", color: purple, cursor: "pointer", fontSize: fontSizes.s, padding: 0 }; export default { title: "Feedback/Toaster", component: Toaster }; export const Default = () => ( {[]} ); export const Danger = () => ( {[]} ); export const Success = () => ( {[]} ); export const Warning = () => ( {[]} ); export const Description = () => ( {[ ]} ); export const MultiToast = () => ( ); export const AutoDismiss = () => { const [toasts, setToasts] = React.useState([]); const removeToast = (id: number) => { setToasts(toasts => toasts.filter(toast => toast !== id)); }; const handleToastAdd = () => { const newToastId = addedToastId++; setToasts(toasts => [...toasts, newToastId]); }; return (
{toasts.map(toastId => { const handleDismiss = () => { removeToast(toastId); }; return ( ); })}
); }; export const CustomDismissTimeAutoDismiss = () => { const [toasts, setToasts] = React.useState([]); const removeToast = (id: number) => { setToasts(toasts => toasts.filter(toast => toast !== id)); }; const handleToastAdd = () => { const newToastId = addedToastId++; setToasts(toasts => [...toasts, newToastId]); }; return (
{toasts.map(toastId => { const handleDismiss = () => { removeToast(toastId); }; return ( ); })}
); }; export const WithDismissCallback = () => ( {[ ]} ); export const With1Action = () => ( {[ primaryAction } id="oneAction" /> ]} ); export const With2Actions = () => ( {[ primaryAction } secondaryAction={ } id="twoActions" /> ]} );