import React, { useEffect, useState } from 'react'; import { Meta, StoryObj } from '@storybook/react'; import Toaster from './Toast'; import Button from '../Button'; const meta: Meta = { title: 'Components/Toast', component: Toaster, parameters: { layout: 'centered', }, argTypes: { variant: { control: { type: 'select' } }, displayPosition: { control: { type: 'select' } }, }, tags: ['autodocs'], }; type Story = StoryObj; const defaultArgs = { isOpen: false, toastTitle: 'Success', toastMessage: 'Variable name Requested for Review successfully', closeButtonLabel: 'x', displayDuration: 3000, // Set toast displayDuration in milliseconds }; export const Controlled: Story = { args: { ...defaultArgs, }, render: () => { const [open1, setOpen1] = useState(false); const handleButtonClick1 = () => { setOpen1(true); setTimeout(() => { setOpen1(false); }, defaultArgs.displayDuration); // Set toast displayDuration in milliseconds }; const handleCancelClick1 = () => { setOpen1(false); }; const [open2, setOpen2] = useState(false); const handleButtonClick2 = () => { setOpen2(true); setTimeout(() => { setOpen2(false); }, defaultArgs.displayDuration); // Set toast displayDuration in milliseconds }; const handleCancelClick2 = () => { setOpen2(false); }; const [open3, setOpen3] = useState(false); const handleButtonClick3 = () => { setOpen3(true); setTimeout(() => { setOpen3(false); }, defaultArgs.displayDuration); // Set toast displayDuration in milliseconds }; const handleCancelClick3 = () => { setOpen3(false); }; const [open4, setOpen4] = useState(false); const handleButtonClick4 = () => { setOpen4(true); setTimeout(() => { setOpen4(false); }, defaultArgs.displayDuration); // Set toast displayDuration in milliseconds }; const handleCancelClick4 = () => { setOpen4(false); }; const [open5, setOpen5] = useState(false); const handleButtonClick5 = () => { setOpen5(true); setTimeout(() => { setOpen5(false); }, defaultArgs.displayDuration); // Set toast displayDuration in milliseconds }; const handleCancelClick5 = () => { setOpen5(false); }; const [open6, setOpen6] = useState(false); const handleButtonClick6 = () => { setOpen6(true); setTimeout(() => { setOpen6(false); }, defaultArgs.displayDuration); // Set toast displayDuration in milliseconds }; const handleCancelClick6 = () => { setOpen6(false); }; return (
); }, }; export default meta;