import { Meta, StoryObj } from "@storybook/react-vite"; import { useState } from "react"; import { Button } from "../button/Button"; import { Modal } from "./Modal"; import { ModalTrigger } from "./ModalTrigger"; import { ModalContent } from "./ModalContent"; import { ModalDescription, ModalHeader, ModalFooter } from "./Components"; import { type Tab, Tabs } from "../tabs/Tabs"; const meta = { title: "Components/Modal", component: Modal, decorators: [(Story) => ], } satisfies Meta; export default meta; type Story = StoryObj; export const Basic: Story = { // eslint-disable-next-line @typescript-eslint/no-unused-vars render: ({ children, ...args }) => { return ( open Modal Header Content ); }, args: { initialOpen: false, }, }; export const BasicLongText: Story = { // eslint-disable-next-line @typescript-eslint/no-unused-vars render: ({ children, ...args }) => { return ( open Modal Header Lorem ipsum dolor sit amet consectetur adipisicing elit. Exercitationem voluptates amet ad recusandae a. Laudantium, aliquam! Perferendis reiciendis aliquid ut repudiandae, repellat tenetur harum! Ad dicta nostrum laboriosam consectetur ratione. ); }, args: { initialOpen: false, }, }; export const WithButtons = () => { const [isOpen, setIsOpen] = useState(false); return ( { console.log("setIsOpen", e); setIsOpen(e); }} > open Modal Header Content
); }; export const WithTabs = () => { const [isOpen, setIsOpen] = useState(false); const [id, setId] = useState("css"); const tabs: Tab[] = [ { id: "css", title: "CSS Export", content: (

Lorem ipsum dolor sit amet consectetur adipisicing elit. Facere odit id omnis molestias quidem necessitatibus aperiam deleniti, neque reiciendis iusto dolorem pariatur voluptatem natus reprehenderit itaque illum autem consectetur vero?

Lorem ipsum dolor sit amet consectetur adipisicing elit. Facere odit id omnis molestias quidem necessitatibus aperiam deleniti, neque reiciendis iusto dolorem pariatur voluptatem natus reprehenderit itaque illum autem consectetur vero?

), }, { id: "json", title: "JSON Export", content: (

Hello world Hello world Hello world Hello world Hello world Hello world Hello world Hello world Hello world Hello world Hello world Hello world Hello world Hello world Hello world Hello world Hello world Hello world Hello world Hello world Hello world Hello world Hello world{" "}

), }, ]; return ( Generate config ); }; export const Scrollable = () => { const [isOpen, setIsOpen] = useState(false); return ( { console.log("setIsOpen", e); setIsOpen(e); }} > open scrollable modal Header

Lorem ipsum dolor sit amet consectetur adipisicing elit. Praesentium unde, blanditiis rem accusamus obcaecati enim amet, voluptatibus nemo facilis illum aut itaque in? Deleniti iure amet qui vero, blanditiis quos?

Lorem ipsum dolor sit amet consectetur adipisicing elit. Praesentium unde, blanditiis rem accusamus obcaecati enim amet, voluptatibus nemo facilis illum aut itaque in? Deleniti iure amet qui vero, blanditiis quos?

Lorem ipsum dolor sit amet consectetur adipisicing elit. Praesentium unde, blanditiis rem accusamus obcaecati enim amet, voluptatibus nemo facilis illum aut itaque in? Deleniti iure amet qui vero, blanditiis quos?

Lorem ipsum dolor sit amet consectetur adipisicing elit. Praesentium unde, blanditiis rem accusamus obcaecati enim amet, voluptatibus nemo facilis illum aut itaque in? Deleniti iure amet qui vero, blanditiis quos?

); };