import * as React from "react"; import { Story, Meta } from "@storybook/react"; import { PrimaryButton, SecondaryButton, StandardButton, SuccessButton, DangerButton } from "../../"; import { action } from "@storybook/addon-actions"; import { SystemIcons } from "../../icons/dist/system-icons-enum"; import { ButtonProps } from "../components/ButtonBase"; import { systemIconLabels, systemIcons } from "../../storybookHelpers/controlConstants"; export default { title: "Actions/Button", component: StandardButton, subComponents: { PrimaryButton, SecondaryButton, SuccessButton, DangerButton }, decorators: [Story =>
{Story()}
], argTypes: { children: { control: { type: "text" } }, iconStart: { options: systemIcons, mapping: systemIconLabels }, iconEnd: { options: systemIcons, mapping: systemIconLabels } }, args: { children: "Button" } } as Meta; const Template: Story = args => ( {args.children} ); export const Standard = Template.bind({}); export const _PrimaryButton = args => ( {args.children} ); export const _SecondaryButton = args => ( {args.children} ); export const _SuccessButton = args => ( {args.children} ); export const _DangerButton = args => ( {args.children} ); export const WithIconBeforeButtonText = args => ( Icon button ); export const WithIcon = Template.bind({}); WithIcon.args = { iconStart: SystemIcons.Close }; export const IconOnly = Template.bind({}); IconOnly.args = { iconStart: SystemIcons.Close, ariaLabel: "Close", children: "" }; export const WithOnFocusAndOnBlur = Template.bind({}); WithOnFocusAndOnBlur.args = { onFocus: action("Button focused"), onBlur: action("Button blurred") }; export const UsedAsALink = Template.bind({}); UsedAsALink.args = { url: "www.d2iq.com" };