import type { Meta, StoryObj } from '@storybook/react';
import {
ContextMenu,
ContextMenuCheckboxItem,
ContextMenuContent,
ContextMenuItem,
ContextMenuLabel,
ContextMenuRadioGroup,
ContextMenuRadioItem,
ContextMenuSeparator,
ContextMenuShortcut,
ContextMenuSub,
ContextMenuSubContent,
ContextMenuSubTrigger,
ContextMenuTrigger,
} from '@konobangu/design-system/components/ui/context-menu';
/**
* Displays a menu to the user — such as a set of actions or functions —
* triggered by a button.
*/
const meta = {
title: 'ui/ContextMenu',
component: ContextMenu,
tags: ['autodocs'],
argTypes: {},
args: {},
render: (args) => (
Right click here
Profile
Billing
Team
Subscription
),
parameters: {
layout: 'centered',
},
} satisfies Meta;
export default meta;
type Story = StoryObj;
/**
* The default form of the context menu.
*/
export const Default: Story = {};
/**
* A context menu with shortcuts.
*/
export const WithShortcuts: Story = {
render: (args) => (
Right click here
Back
⌘[
Forward
⌘]
Reload
⌘R
),
};
/**
* A context menu with a submenu.
*/
export const WithSubmenu: Story = {
render: (args) => (
Right click here
New Tab
⌘N
More Tools
Save Page As...
⇧⌘S
Create Shortcut...
Name Window...
Developer Tools
),
};
/**
* A context menu with checkboxes.
*/
export const WithCheckboxes: Story = {
render: (args) => (
Right click here
Show Comments
⌘⇧C
Show Preview
),
};
/**
* A context menu with a radio group.
*/
export const WithRadioGroup: Story = {
render: (args) => (
Right click here
Theme
Light
Dark
),
};