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 (
setIsVisible(false)} />
); }; export const Default = Template.bind({}); Default.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: "toast", }; export const Positive = Template.bind({}); Positive.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: "toast", }; export const Warning = Template.bind({}); Warning.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: "toast", }; export const Danger = Template.bind({}); Danger.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: "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 })} /> )}
); };