import MenuItem from "../../app/components/navigation/MenuItem"; export default { title: "Components/Navigation/MenuItem", component: MenuItem, parameters: { layout: "centered", docs: { description: { component: "A navigation menu item with multiple variants, sizes, and states. Renders as a link or button (or disabled span) with accessibility support. Use Tab to test focus indicators.", }, }, }, argTypes: { mode: { control: { type: "select" }, options: ["default", "inverse"], description: "The visual style mode of the menu item", }, size: { control: { type: "select" }, options: ["X Small", "Small", "Medium", "Large", "X Large"], description: "The size of the menu item", }, disabled: { control: { type: "boolean" }, description: "Whether the menu item is disabled", }, href: { control: { type: "text" }, description: "The link destination", }, onClick: { action: "clicked" }, }, tags: ["autodocs"], }; export const Default = { args: { children: "Menu Item", size: "Large", }, }; export const Modes = { args: { children: "Menu Item", size: "Large", }, render: (args) => (
Default Inverse
), parameters: { docs: { description: { story: "Different visual modes of the menu item component.", }, }, }, }; export const Sizes = { args: { children: "Menu Item", mode: "default", }, render: (args) => (
X Small Small Medium Large X Large
), parameters: { docs: { description: { story: "Different sizes available for the menu item component.", }, }, }, }; export const States = { args: { children: "Menu Item", size: "Large", mode: "default", }, render: (args) => (
Normal Disabled
), parameters: { docs: { description: { story: "Different states of the menu item component.", }, }, }, }; export const AllModes = { args: {}, render: () => (

Default Mode

X Small Large X Large

Inverse Mode

X Small Large X Large

Disabled States

Default Disabled Inverse Disabled
), parameters: { docs: { description: { story: "Complete overview of all menu item modes, sizes, and states.", }, }, }, };