import React, { useState } from "react";
import ContextMenu from "../../app/components/modals/ContextMenu/ContextMenu";
import ContextMenuItem from "../../app/components/modals/ContextMenuItem";
import ContextMenuSection from "../../app/components/modals/ContextMenu/ContextMenuSection";
import ContextMenuDivider from "../../app/components/modals/ContextMenu/ContextMenuDivider";
export default {
title: "Components/ContextMenu/ContextMenu",
component: ContextMenu,
argTypes: {
className: {
control: { type: "text" },
},
},
};
const Template = (args) => (
Context Menu Item
Context Menu Item
Context Menu Item
Context Menu Item
Context Menu Item
Context Menu Item
Context Menu Item
Context Menu Item
);
export const Default = Template.bind({});
export const WithCustomStyling = Template.bind({});
WithCustomStyling.args = {
className: "min-w-[250px]",
};
// Individual component stories
export const MenuItem = () => (
Default Menu Item
Selected Menu Item
Menu Item with Submenu
Disabled Menu Item
);
export const MenuSection = () => (
Item 1
Item 2
Item 3
Item 4
);
export const MenuDivider = () => (
Item Above
Item Below
);
export const Interactive = () => {
const [selectedItem, setSelectedItem] = useState("");
return (
setSelectedItem("item1")}
>
Context Menu Item 1
setSelectedItem("item2")}
>
Context Menu Item 2
setSelectedItem("item3")}
>
Context Menu Item 3
);
};
// Comparison stories
export const AllVariants = () => (
Default Items
Context Menu Item
Context Menu Item
With Submenu Indicators
Context Menu Item
Context Menu Item
With Selected Item
Context Menu Item
Context Menu Item
Context Menu Item
With Sections
Context Menu Item
Context Menu Item
);