Updated tables. Added MenuButton.
This commit is contained in:
30
src/components/input/MenuButton.tsx
Normal file
30
src/components/input/MenuButton.tsx
Normal file
@@ -0,0 +1,30 @@
|
||||
import { ReactNode, Key } from 'react';
|
||||
import { DialogTrigger, Button, Menu, Popover, Icon } from '@umami/react-zen';
|
||||
import { Lucide } from '@/components/icons';
|
||||
|
||||
export function MenuButton({
|
||||
children,
|
||||
onAction,
|
||||
}: {
|
||||
children: ReactNode;
|
||||
onAction?: (action: string) => void;
|
||||
}) {
|
||||
const handleAction = (key: Key) => {
|
||||
onAction?.(key.toString());
|
||||
};
|
||||
|
||||
return (
|
||||
<DialogTrigger>
|
||||
<Button variant="outline">
|
||||
<Icon>
|
||||
<Lucide.Ellipsis />
|
||||
</Icon>
|
||||
</Button>
|
||||
<Popover>
|
||||
<Menu onAction={handleAction} style={{ minWidth: '140px' }}>
|
||||
{children}
|
||||
</Menu>
|
||||
</Popover>
|
||||
</DialogTrigger>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user