@hua-labs/ui
v1.0.0
bash
npm install @hua-labs/huatsx
import { ContextMenu, ContextMenuItem, ContextMenuSeparator, ContextMenuLabel, ContextMenuGroup } from "@hua-labs/hua";trigger* | React.ReactNode | - | docs:components.contextMenu.props.trigger |
children* | React.ReactNode | - | docs:components.contextMenu.props.children |
open | boolean | - | docs:components.contextMenu.props.open |
onOpenChange | (open: boolean) => void | - | docs:components.contextMenu.props.onOpenChange |
disabled | boolean | false | docs:components.contextMenu.props.disabled |
placement | "top" | "bottom" | "left" | "right" | - | Menu placement relative to trigger |
align | "start" | "center" | "end" | - | Menu alignment |
offset | number | - | Offset from trigger (pixels) |
| Prop | Type | Default | |
|---|---|---|---|
| icon | React.ReactNode | - | docs:components.contextMenu.itemProps.icon |
| variant | "default" | "destructive" | "disabled" | "default" | docs:components.contextMenu.itemProps.variant |
| disabled | boolean | false | docs:components.contextMenu.itemProps.disabled |
docs:common.basicUsagetsx
1// Via framework (recommended)2import { ContextMenu, ContextMenuItem, ContextMenuSeparator } from '@hua-labs/hua';3// Or direct import4// import { ContextMenu, ContextMenuItem, ContextMenuSeparator } from '@hua-labs/ui/interactive';5 6<ContextMenu7 trigger={8 <div className="p-4 border rounded-lg">9 Right-click here10 </div>11 }12>13 <ContextMenuItem icon={<Copy />}>Copy</ContextMenuItem>14 <ContextMenuItem icon={<Scissors />}>Cut</ContextMenuItem>15 <ContextMenuItem icon={<ClipboardText />}>Paste</ContextMenuItem>16 <ContextMenuSeparator />17 <ContextMenuItem icon={<Trash />} variant="destructive">18 Delete19 </ContextMenuItem>20</ContextMenu>docs:components.contextMenu.examples.groupsAndLabelstsx
1<ContextMenu trigger={<div>Right-click</div>}>2 <ContextMenuLabel>Edit</ContextMenuLabel>3 <ContextMenuGroup>4 <ContextMenuItem icon={<Copy />}>Copy</ContextMenuItem>5 <ContextMenuItem icon={<Pencil />}>Rename</ContextMenuItem>6 </ContextMenuGroup>7 <ContextMenuSeparator />8 <ContextMenuLabel>Actions</ContextMenuLabel>9 <ContextMenuGroup>10 <ContextMenuItem icon={<Download />}>Download</ContextMenuItem>11 <ContextMenuItem icon={<Trash />} variant="destructive">12 Delete13 </ContextMenuItem>14 </ContextMenuGroup>15</ContextMenu>- •
ContextMenuItem- - •
ContextMenuSeparator- - •
ContextMenuLabel- - •
ContextMenuGroup-
- •docs:components.contextMenu.accessibility.keyboard: docs:components.contextMenu.accessibility.keyboardDesc
- •docs:components.contextMenu.accessibility.clickOutside: docs:components.contextMenu.accessibility.clickOutsideDesc
- •docs:components.contextMenu.accessibility.viewportBoundary: docs:components.contextMenu.accessibility.viewportBoundaryDesc