import * as React from "react"; import { cx } from "@emotion/css"; import { action } from "@storybook/addon-actions"; import { Meta } from "@storybook/react"; import { DialogModal, SmallDialogModal, LargeDialogModal, DialogModalWithFooter, SmallDialogModalWithFooter, LargeDialogModalWithFooter, FullscreenModal } from "../../index"; import { ModalContent, BorderedModalContent } from "./helpers/modalContents"; import PrimaryButton from "../../button/components/PrimaryButton"; import { flex, flexItem, padding, textSize, tintContentSecondary } from "../../shared/styles/styleUtils"; import { SecondaryButton } from "../../button"; import { TextInput } from "../../textInput"; import { fullscreenModalTitle } from "../../fullscreenView/style"; import { blue } from "../../design-tokens/build/js/designTokens"; import { SystemIcons } from "../../icons/dist/system-icons-enum"; export default { title: "Overlays/Modal", component: DialogModal, subcomponents: { SmallDialogModal, LargeDialogModal, DialogModalWithFooter, SmallDialogModalWithFooter, LargeDialogModalWithFooter, FullscreenModal }, argTypes: { footerContent: { control: { disable: true } }, title: { control: { disable: true } }, icon: { control: { disable: true } }, initialFocus: { control: { disable: true } }, id: { control: { disable: true } }, overlayRoot: { control: { disable: true } }, className: { control: { disable: true } }, "data-cy": { control: { disable: true } } } } as Meta; export const _DialogModal = args => { const [isOpen, setIsOpen] = React.useState(false); function handleChange() { setIsOpen(!isOpen); } return (
Open Modal
); }; const confirmIcon = { shape: SystemIcons.CircleInformation, color: blue }; export const DialogModalWithIcon = args => { const [isOpen, setIsOpen] = React.useState(false); function handleChange() { setIsOpen(!isOpen); } return (
Open Modal
); }; export const _SmallDialogModal = args => { const [isOpen, setIsOpen] = React.useState(false); function handleChange() { setIsOpen(!isOpen); } return (
Open Modal
); }; export const _LargeDialogModal = args => { const [isOpen, setIsOpen] = React.useState(false); function handleChange() { setIsOpen(!isOpen); } return (
Open Modal
); }; export const DialogModalWithFlushedContent = args => { const [isOpen, setIsOpen] = React.useState(false); function handleChange() { setIsOpen(!isOpen); } return (
Open Modal
); }; export const _DialogModalWithFooter = args => { const [isOpen, setIsOpen] = React.useState(false); function handleChange() { setIsOpen(!isOpen); } return (
Open Modal
Continue } closeText="Dismiss" {...args} >
); }; export const _SmallDialogModalWithFooter = args => { const [isOpen, setIsOpen] = React.useState(false); function handleChange() { setIsOpen(!isOpen); } return (
Open Modal
Continue } closeText="Dismiss" {...args} >
); }; export const _LargeDialogModalWithFooter = args => { const [isOpen, setIsOpen] = React.useState(false); function handleChange() { setIsOpen(!isOpen); } return (
Open Modal
Continue } closeText="Dismiss" {...args} >
); }; export const _FullscreenModal = args => { const [isOpen, setIsOpen] = React.useState(false); function handleChange() { setIsOpen(!isOpen); } return (
Open Modal
Continue } {...args} >
); }; export const FullscreenModalWithAdditionalHeaderContent = args => { const HeaderContent = ({ ctaButton, closeText, title, onClose }) => (
{closeText}
{title}
Some subheader
{ctaButton}
); const [isOpen, setIsOpen] = React.useState(false); function handleChange() { setIsOpen(!isOpen); } return (
Open Modal
Continue } headerComponent={HeaderContent} {...args} >
); }; export const FullscreenModalWithFlushedContent = args => { const [isOpen, setIsOpen] = React.useState(false); function handleChange() { setIsOpen(!isOpen); } return (
Open Modal
Continue } {...args} >
); }; export const FullscreenModalWithDialogModal = args => { const [isOpen, setIsOpen] = React.useState(false); function handleChange() { setIsOpen(!isOpen); } const [isOpen1, setIsOpen1] = React.useState(false); function handleChange1() { setIsOpen1(!isOpen1); } return (
Open Modal
Continue } id="testId" {...args} >
Open Modal
); }; export const CustomFocusedElement = args => { const [isOpen, setIsOpen] = React.useState(false); function handleChange() { setIsOpen(!isOpen); } return (
Open Modal
); };