import React, { useState } from "react"; import Alert from "../../app/components/modals/Alert"; export default { title: "Components/Modals/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 (
setIsVisible(false)} />
); }; 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 })} /> )}
); };