import preview from "#.storybook/preview"; import { AnimatedModal } from "../../src/ts/components/common/AnimatedModal"; import { ModalId, showModal } from "../../src/ts/states/modals"; function ModalTrigger(props: { modalId: ModalId; label: string }) { return ( ); } const meta = preview.meta({ title: "Common/AnimatedModal", component: AnimatedModal, parameters: { layout: "fullscreen", }, tags: ["autodocs"], argTypes: { mode: { control: "select", options: ["modal", "dialog"] }, animationMode: { control: "select", options: ["none", "both", "modalOnly"], }, title: { control: "text" }, modalClass: { control: "text" }, wrapperClass: { control: "text" }, }, decorators: [ (Story, context) => { // oxlint-disable-next-line typescript/no-unsafe-member-access -- storybook decorator context is untyped const modalId = context.args.id as ModalId; // oxlint-disable-next-line typescript/no-unsafe-member-access -- storybook decorator context is untyped const title = (context.args.title as string) ?? "Modal"; return (
This is modal content.
This modal has no animation.
This uses dialog mode instead of modal.