import React, { useState } from "react";
import Alert from "../app/components/Alert";
export default {
title: "Components/Alert",
component: Alert,
argTypes: {
status: {
control: { type: "select" },
options: ["default", "positive", "warning", "danger"],
},
type: {
control: { type: "select" },
options: ["toast", "banner"],
},
title: {
control: { type: "text" },
},
description: {
control: { type: "text" },
},
},
};
const Template = (args) => {
const [isVisible, setIsVisible] = useState(true);
if (!isVisible) return
Alert closed
;
return (
);
};
export const ToastDefault = Template.bind({});
ToastDefault.args = {
title: "Short alert toast message goes here",
description:
"Nascetur ipsum a nisi tempor cras nam neque volutpat. Aliquam id est faucibus nunc quis. Eleifend suspendisse.",
status: "default",
type: "toast",
};
export const ToastPositive = Template.bind({});
ToastPositive.args = {
title: "Short alert toast message goes here",
description:
"Nascetur ipsum a nisi tempor cras nam neque volutpat. Aliquam id est faucibus nunc quis. Eleifend suspendisse.",
status: "positive",
type: "toast",
};
export const ToastWarning = Template.bind({});
ToastWarning.args = {
title: "Short alert toast message goes here",
description:
"Nascetur ipsum a nisi tempor cras nam neque volutpat. Aliquam id est faucibus nunc quis. Eleifend suspendisse.",
status: "warning",
type: "toast",
};
export const ToastDanger = Template.bind({});
ToastDanger.args = {
title: "Short alert toast message goes here",
description:
"Nascetur ipsum a nisi tempor cras nam neque volutpat. Aliquam id est faucibus nunc quis. Eleifend suspendisse.",
status: "danger",
type: "toast",
};
export const Banner = Template.bind({});
Banner.args = {
title: "Short alert banner message goes here",
description:
"Nascetur ipsum a nisi tempor cras nam neque volutpat. Aliquam id est faucibus nunc quis. Eleifend suspendisse.",
status: "default",
type: "banner",
};
export const BannerPositive = Template.bind({});
BannerPositive.args = {
title: "Short alert banner message goes here",
description:
"Nascetur ipsum a nisi tempor cras nam neque volutpat. Aliquam id est faucibus nunc quis. Eleifend suspendisse.",
status: "positive",
type: "banner",
};
export const BannerWarning = Template.bind({});
BannerWarning.args = {
title: "Short alert banner message goes here",
description:
"Nascetur ipsum a nisi tempor cras nam neque volutpat. Aliquam id est faucibus nunc quis. Eleifend suspendisse.",
status: "warning",
type: "banner",
};
export const BannerDanger = Template.bind({});
BannerDanger.args = {
title: "Short alert banner message goes here",
description:
"Nascetur ipsum a nisi tempor cras nam neque volutpat. Aliquam id est faucibus nunc quis. Eleifend suspendisse.",
status: "danger",
type: "banner",
};
export const TitleOnly = Template.bind({});
TitleOnly.args = {
title: "Short alert banner message goes here",
status: "default",
type: "toast",
};
export const AllStatuses = () => {
const [visible, setVisible] = useState({
default: true,
positive: true,
warning: true,
danger: true,
});
return (
{visible.default && (
setVisible({ ...visible, default: false })}
/>
)}
{visible.positive && (
setVisible({ ...visible, positive: false })}
/>
)}
{visible.warning && (
setVisible({ ...visible, warning: false })}
/>
)}
{visible.danger && (
setVisible({ ...visible, danger: false })}
/>
)}
);
};