import React, { useState } from 'react'; import { Box } from '@mui/material'; import Error from '@lunit/design-system-icons/Error'; import Button from '@/components/Button'; import Dialog, { DialogProps } from '@/components/Dialog'; import type { Meta, StoryObj, StoryContext } from '@storybook/react-webpack5'; const meta: Meta = { title: 'components/Dialog', component: Dialog, parameters: { docs: { disable: true, hidden: true }, }, argTypes: { onClose: { action: 'onClose' }, }, }; export default meta; type Story = StoryObj; export const PassiveModal: Story = { name: 'Type: passive modal', render: function PassiveModalRender(_Story: DialogProps, context: StoryContext) { const classNameFromGlobal = context.globals.theme; const [target, setTarget] = useState(null); return (
{ setTarget(ref); }} /> Lorem Ipsum is simply dummy text of the a printing and typesetting industry
); }, }; export const ActionModal: Story = { name: 'Type: action modal', render: function ActionModalRender(_Story: DialogProps, context: StoryContext) { const classNameFromGlobal = context.globals.theme; const [target, setTarget] = useState(null); return (
{ setTarget(ref); }} /> } > Lorem Ipsum is simply dummy text of the a printing and typesetting industry
); }, }; export const NonModal: Story = { name: 'Type: non modal', render: function NonModalRender(_Story: DialogProps, context: StoryContext) { const classNameFromGlobal = context.globals.theme; const [isOpen, setIsOpen] = useState(false); function open() { setIsOpen(true); } function close() { setIsOpen(false); } return ( <> } > Lorem Ipsum is simply dummy text of the a printing and typesetting industry ); }, }; export const SmallFalse: Story = { name: 'Option: small false', render: function SmallFalseRender(_Story: DialogProps, context: StoryContext) { const classNameFromGlobal = context.globals.theme; const [target, setTarget] = useState(null); return (
{ setTarget(ref); }} /> Lorem Ipsum is simply dummy text of the a printing and typesetting industry
); }, }; export const WithTitleIcon: Story = { name: 'Option: title icon', render: function WithTitleIconRender(_Story: DialogProps, context: StoryContext) { const classNameFromGlobal = context.globals.theme; const [target, setTarget] = useState(null); return (
{ setTarget(ref); }} /> } actions={ <> } > Lorem Ipsum is simply dummy text of the a printing and typesetting industry
); }, }; export const WithCustomStyle: Story = { name: 'Option: custom style', render: function WithCustomStyleRender(_Story: DialogProps, context: StoryContext) { const classNameFromGlobal = context.globals.theme; const [target, setTarget] = useState(null); return (
{ setTarget(ref); }} /> Lorem Ipsum is simply dummy text of the a printing and typesetting industry
); }, }; export const WithScroll: Story = { name: 'Option: with scroll', render: function WithScrollRender(_Story: DialogProps, context: StoryContext) { const classNameFromGlobal = context.globals.theme; const [target, setTarget] = useState(null); return (
{ setTarget(ref); }} /> } > Lorem ipsum dolor sit amet consectetur, adipisicing elit. Quis, suscipit at. Atque enim, hic architecto sequi libero deserunt dolores omnis, cumque dignissimos ab animi. Recusandae saepe facere error tempore quasi. Lorem ipsum dolor sit amet consectetur adipisicing elit. Consectetur eius commodi deserunt reiciendis. Officia veniam consequuntur doloribus debitis numquam ipsum autem, eos repellendus eligendi esse voluptatum natus, cum optio? Unde! Lorem ipsum dolor sit amet consectetur adipisicing elit. Quibusdam praesentium incidunt tempora quam aut nulla corrupti ipsa voluptatem vitae soluta ex officia, explicabo, voluptate porro. Eius mollitia veritatis corporis neque. Lorem Ipsum is simply dummy text of the a printing and typesetting industry Lorem ipsum dolor sit amet consectetur Lorem ipsum dolor sit amet consectetur, adipisicing elit. Quis, suscipit at. Atque enim, hic architecto sequi libero deserunt dolores omnis, cumque dignissimos ab animi. Recusandae saepe facere error tempore quasi. Lorem ipsum dolor sit amet consectetur adipisicing elit. Consectetur eius commodi deserunt reiciendis. Officia veniam consequuntur doloribus debitis numquam ipsum autem, eos repellendus eligendi esse voluptatum natus, cum optio? Unde! Lorem ipsum dolor sit amet consectetur adipisicing elit. Quibusdam praesentium incidunt tempora quam aut nulla corrupti ipsa voluptatem vitae soluta ex officia, explicabo, voluptate porro. Eius mollitia veritatis corporis neque. Lorem Ipsum is simply dummy text of the a printing and typesetting industry Lorem ipsum dolor sit amet consectetur Lorem ipsum dolor sit amet consectetur, adipisicing elit. Quis, suscipit at. Atque enim, hic architecto sequi libero deserunt dolores omnis, cumque dignissimos ab animi. Recusandae saepe facere error tempore quasi. Lorem ipsum dolor sit amet consectetur adipisicing elit. Consectetur eius commodi deserunt reiciendis. Officia veniam consequuntur doloribus debitis numquam ipsum autem, eos repellendus eligendi esse voluptatum natus, cum optio? Unde! Lorem ipsum dolor sit amet consectetur adipisicing elit. Quibusdam praesentium incidunt tempora quam aut nulla corrupti ipsa voluptatem vitae soluta ex officia, explicabo, voluptate porro. Eius mollitia veritatis corporis neque. Lorem Ipsum is simply dummy text of the a printing and typesetting industry Lorem ipsum dolor sit amet consectetur
); }, };