import React from "react"; import { Meta, Story } from "@storybook/react"; import { noop } from "lodash"; import { DEFAULT_GRAVATAR_LINK } from "utilities/constants"; import Avatar from "components/Avatar"; // @ts-ignore import DropdownButton from "."; import "../../../index.scss"; interface IOptions { disabled: boolean; label: string; onClick: (evt: React.MouseEvent) => void; } interface IDropdownButtonProps { children: React.ReactChild; className?: string; disabled?: boolean; options: IOptions[]; size?: string; tabIndex?: number; type?: string; variant?: string; } const options = [ { label: "My account", onClick: noop, }, { label: "Documentation", onClick: () => window.open("https://fleetdm.com/docs", "_blank"), }, { label: "Sign out", onClick: noop, }, ]; export default { component: DropdownButton, title: "Components/DropdownButton", argTypes: { variant: { options: [ "brand", "success", "alert", "blue-green", "grey", "warning", "link", "label", "text-link", "text-icon", "inverse", "inverse-alert", "block", "unstyled", "unstyled-modal-query", "contextual-nav-item", "small-text-icon", ], control: "select", }, type: { options: ["button", "submit", "reset"], control: "select", }, }, parameters: { backgrounds: { default: "header", values: [ { name: "header", value: "linear-gradient(270deg, #201e43 0%, #353d62 100%)", }, ], }, }, args: { variant: "unstyled", className: "story", size: "", tabIndex: 0, options, }, } as Meta; const Template: Story = (props) => ( ); export const Default = Template.bind({}); export const Disabled = Template.bind({}); Disabled.args = { ...Default.args, disabled: true };