import * as React from "react";
import { StoryFn, 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: StoryFn = args => (
Menu}
{...args}
>
Edit
Scale
Restart
Stop
);
export const Default = {
render: Template
};
export const WithDangerousAction = {
render: args => (
Menu}
{...args}
>
Edit
Scale
Restart
Stop
Delete
)
};
export const WithDisabledAction = {
render: args => (
Menu}
{...args}
>
Edit
Scale
Restart
Stop
Delete
)
};
export const InitialIsOpen = {
render: Template,
args: {
initialIsOpen: true
}
};
export const MenuHasMaxHeight = {
render: Template,
args: {
menuMaxHeight: 90
}
};
export const MenuHasMaxWidth = {
render: 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 = {
render: Template,
args: {
onSelect
}
};
export const WithSections = {
render: args => (
Menu}
{...args}
>
Edit
Scale
Restart
Restart Delay
Pause
Stop
)
};
export const WithIconsAndAvatarsPositionStart = {
render: args => (
Menu}
{...args}
>
Edit
Scale
Restart
Stop
Grafana
Kibana
Kubernetes
)
};
export const WithIconsAndAvatarsPositionEnd = {
render: args => (
Menu}
{...args}
>
Edit
Scale
Restart
Stop
Grafana
Kibana
Kubernetes
)
};
export const WithFooterSection = {
render: 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
)
};