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 (
);
};
const confirmIcon = {
shape: SystemIcons.CircleInformation,
color: blue
};
export const DialogModalWithIcon = args => {
const [isOpen, setIsOpen] = React.useState(false);
function handleChange() {
setIsOpen(!isOpen);
}
return (
);
};
export const _SmallDialogModal = args => {
const [isOpen, setIsOpen] = React.useState(false);
function handleChange() {
setIsOpen(!isOpen);
}
return (
);
};
export const _LargeDialogModal = args => {
const [isOpen, setIsOpen] = React.useState(false);
function handleChange() {
setIsOpen(!isOpen);
}
return (
);
};
export const DialogModalWithFlushedContent = args => {
const [isOpen, setIsOpen] = React.useState(false);
function handleChange() {
setIsOpen(!isOpen);
}
return (
);
};
export const _DialogModalWithFooter = args => {
const [isOpen, setIsOpen] = React.useState(false);
function handleChange() {
setIsOpen(!isOpen);
}
return (
Continue
}
closeText="Dismiss"
{...args}
>
);
};
export const _SmallDialogModalWithFooter = args => {
const [isOpen, setIsOpen] = React.useState(false);
function handleChange() {
setIsOpen(!isOpen);
}
return (
Continue
}
closeText="Dismiss"
{...args}
>
);
};
export const _LargeDialogModalWithFooter = args => {
const [isOpen, setIsOpen] = React.useState(false);
function handleChange() {
setIsOpen(!isOpen);
}
return (
Continue
}
closeText="Dismiss"
{...args}
>
);
};
export const _FullscreenModal = args => {
const [isOpen, setIsOpen] = React.useState(false);
function handleChange() {
setIsOpen(!isOpen);
}
return (
);
};
export const FullscreenModalWithAdditionalHeaderContent = args => {
const HeaderContent = ({ ctaButton, closeText, title, onClose }) => (
);
const [isOpen, setIsOpen] = React.useState(false);
function handleChange() {
setIsOpen(!isOpen);
}
return (
Continue
}
headerComponent={HeaderContent}
{...args}
>
);
};
export const FullscreenModalWithFlushedContent = args => {
const [isOpen, setIsOpen] = React.useState(false);
function handleChange() {
setIsOpen(!isOpen);
}
return (
);
};
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 (
Continue
}
id="testId"
{...args}
>
);
};
export const CustomFocusedElement = args => {
const [isOpen, setIsOpen] = React.useState(false);
function handleChange() {
setIsOpen(!isOpen);
}
return (
);
};