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 ModalStoryContainer from "./helpers/ModalStoryContainer"; 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 => ( {({ isOpen, onClose }) => ( )} ); const confirmIcon = { shape: SystemIcons.CircleInformation, color: blue }; export const DialogModalWithIcon = args => ( {({ isOpen, onClose }) => ( )} ); export const _SmallDialogModal = args => ( {({ isOpen, onClose }) => ( )} ); export const _LargeDialogModal = args => ( {({ isOpen, onClose }) => ( )} ); export const DialogModalWithFlushedContent = args => ( {({ isOpen, onClose }) => ( )} ); export const _DialogModalWithFooter = args => ( {({ isOpen, onClose }) => ( Continue } closeText="Dismiss" {...args} > )} ); export const _SmallDialogModalWithFooter = args => ( {({ isOpen, onClose }) => ( Continue } closeText="Dismiss" {...args} > )} ); export const _LargeDialogModalWithFooter = args => ( {({ isOpen, onClose }) => ( Continue } closeText="Dismiss" {...args} > )} ); export const _FullscreenModal = args => ( {({ isOpen, onClose }) => ( Continue } {...args} > )} ); export const FullscreenModalWithAdditionalHeaderContent = args => { const HeaderContent = ({ ctaButton, closeText, title, onClose }) => (
{closeText}
{title}
Some subheader
{ctaButton}
); return ( {({ isOpen, onClose }) => ( Continue } headerComponent={HeaderContent} {...args} > )} ); }; export const FullscreenModalWithFlushedContent = args => ( {({ isOpen, onClose }) => ( Continue } {...args} > )} ); export const FullscreenModalWithDialogModal = args => { return ( {({ isOpen, onClose }) => ( Continue } id="testId" {...args} > {({ isOpen, onClose }) => ( )} )} ); }; export const CustomFocusedElement = args => ( {({ isOpen, onClose }) => (
)}
);