fleet/frontend/components/forms/fields/Dropdown/Dropdown.stories.tsx
Martavis Parker bcfac603f0
Added components to Storybook library (#2768)
* added storybook

* added avatar component

* added button story

* added dropdown button story

* removed unused ellipsis component

* cleaned up modal path

* reorganized enroll secrets table file

* added flash story; removed unused persistent flash

* added fleet ace story

* added checkbox story

* added dropdown story

* added input story

* fixed storybook build

* fixed avatar

* added input with icon story

* added radio button story

* added select targets dropdown story

* added slider story

* added tooltip story

* added info banner story

* removed unused loaders; added spinner story

* added modal story

* removed unused NumberPill

* added pagination story

* lint fixes

* added documentation to run

* modified documentation

* fixed corelayout test

* fixed format for date-fns

* fixed date format that breaks tests

* wait for page
2021-11-06 23:41:09 -07:00

60 lines
1.4 KiB
TypeScript

import React from "react";
import { Meta, Story } from "@storybook/react";
import { noop } from "lodash";
import { IDropdownOption } from "interfaces/dropdownOption"; // @ts-ignore
import Dropdown from ".";
import "../../../../index.scss";
interface IDropdownProps {
className?: string;
clearable?: boolean;
searchable?: boolean;
disabled?: boolean;
error?: string;
label?: string | string[];
labelClassName?: string;
multi?: boolean;
name?: string;
options: IDropdownOption[];
placeholder?: string | string[];
value?: string | string[] | number;
wrapperClassName?: string;
onChange: () => void;
onOpen: () => void;
onClose: () => void;
}
const authMethodOptions = [
{ label: "Plain", value: "authmethod_plain" },
{ label: "Cram MD5", value: "authmethod_cram_md5" },
{ label: "Login", value: "authmethod_login" },
];
export default {
component: Dropdown,
title: "Components/FormFields/Dropdown",
args: {
className: "",
clearable: false,
searchable: false,
disabled: false,
error: "",
label: "",
labelClassName: "",
multi: false,
name: "",
options: authMethodOptions,
placeholder: "Choose one...",
value: "",
wrapperClassName: "",
onChange: noop,
onOpen: noop,
onClose: noop,
},
} as Meta;
const Template: Story<IDropdownProps> = (props) => <Dropdown {...props} />;
export const Default = Template.bind({});