import * as React from "react"; import { Story, Meta } from "@storybook/react"; import { DropdownMenu, DropdownSection, DropdownMenuItem, DropdownMenuItemIcon, DropdownMenuItemAvatar } from "../index"; import { PopoverListItemAppearances } from "../../shared/types/popoverListItemAppearances"; import { SystemIcons } from "../../icons/dist/system-icons-enum"; import { grafanaLogo, kibanaLogo, kubernetesLogo } from "./avatarImgs"; import PrimaryDropdownButton from "../../button/components/PrimaryDropdownButton"; import { DropdownMenuProps } from "../components/DropdownMenu"; import { Direction } from "../../dropdownable/components/Dropdownable"; import { ProductIcons } from "../../icons/dist/product-icons-enum"; export default { title: "Overlays/DropdownMenu", component: DropdownMenu, subcomponents: { DropdownSection, DropdownMenuItem, DropdownMenuItemIcon, DropdownMenuItemAvatar }, decorators: [Story =>
{Story()}
], argTypes: { preferredDirections: { options: [ Direction.BottomLeft, Direction.BottomRight, Direction.BottomCenter ] }, children: { control: { disable: true } }, overlayRoot: { control: { disable: true } }, trigger: { control: { disable: true } } } } as Meta; const Template: Story = args => ( Menu} {...args} > Edit Scale Restart Stop ); export const Default = Template.bind({}); export const WithDangerousAction = args => ( Menu} {...args} > Edit Scale Restart Stop Delete ); export const WithDisabledAction = args => ( Menu} {...args} > Edit Scale Restart Stop Delete ); export const InitialIsOpen = Template.bind({}); InitialIsOpen.args = { initialIsOpen: true }; export const MenuHasMaxHeight = Template.bind({}); MenuHasMaxHeight.args = { menuMaxHeight: 90 }; export const MenuHasMaxWidth = args => ( Menu} {...args} > Donaudampfschifffahrtselektrizitätenhauptbetriebswerkbauunterbeamtengesellschaft Edit Scale Restart Stop ); const onSelect = selectedItem => { alert(`onSelect called with: - selectedItem: "${selectedItem}" - stateAndHelpers: Downshift state and helper fns `); }; export const WithOnSelectCallback = Template.bind({}); WithOnSelectCallback.args = { onSelect }; export const WithSections = args => ( Menu} {...args} > Edit Scale Restart Restart Delay Pause Stop ); export const WithIconsAndAvatarsPositionStart = args => ( Menu} {...args} > Edit Scale Restart Stop Grafana Kibana Kubernetes ); export const WithIconsAndAvatarsPositionEnd = args => ( Menu} {...args} > Edit Scale Restart Stop Grafana Kibana Kubernetes ); export const WithFooterSection = args => ( Workspaces} {...args} > Global Default Workspace Management Cluster Workspace Workspace 1 Workspace 2 Workspace 3 Workspace 4 Workspace 5 Workspace 6 Workspace 7 Workspace 8 Workspace 9 Workspace 10 Workspace 11 Workspace 12 Workspace 13 Workspace 14 Workspace 15 Create Workspace Manage Workspaces );