import React, { useState } from "react"; import ContextMenu from "../app/components/ContextMenu"; import ContextMenuItem from "../app/components/ContextMenuItem"; import ContextMenuSection from "../app/components/ContextMenuSection"; import ContextMenuDivider from "../app/components/ContextMenuDivider"; export default { title: "Forms/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
);