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
);