carbon-components-svelte/src/Modal/Modal.stories.js
2020-09-19 09:37:36 -07:00

56 lines
1.7 KiB
JavaScript

import { withKnobs, boolean, text, select } from "@storybook/addon-knobs";
import Component from "./Modal.Story.svelte";
export default { title: "Modal", decorators: [withKnobs] };
const sizes = {
Default: "",
"Extra small (xs)": "xs",
"Small (sm)": "sm",
"Large (lg)": "lg",
};
export const Default = () => ({
Component,
props: {
open: boolean("Open (open)", true),
passiveModal: boolean("Without footer (passiveModal)", false),
danger: boolean("Danger mode (danger)", false),
shouldSubmitOnEnter: boolean(
"Enter key to submit (shouldSubmitOnEnter)",
false
),
focusTrap: boolean("Trap focus (focusTrap)", false),
hasScrollingContent: boolean(
"Modal contains scrollable content (hasScrollingContent)",
false
),
modalHeading: text("Modal heading (modalHeading)", "Modal heading"),
modalLabel: text("Optional label (modalLabel)", "Label"),
modalAriaLabel: text(
"ARIA label, used only if modalLabel not provided (modalAriaLabel)",
"A label to be read by screen readers on the modal root node"
),
primaryButtonText: text(
"Primary button text (primaryButtonText)",
"Primary Button"
),
secondaryButtonText: text(
"Secondary button text (secondaryButtonText)",
"Secondary Button"
),
selectorPrimaryFocus: text(
"Primary focus element selector (selectorPrimaryFocus)",
"[data-modal-primary-focus]"
),
size: select("Size (size)", sizes),
preventCloseOnClickOutside: boolean(
"Prevent the modal from closing when clicking outside (preventCloseOnClickOutside)",
false
),
iconDescription: text(
"Close icon description (iconDescription)",
"Close the modal"
),
},
});