import * as React from 'react'; import { ChevronDown } from 'lucide-react'; import { cn } from '../lib/utils'; import { Button } from './button'; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from './dropdown-menu'; const SplitButtonContext = React.createContext<{ variant?: React.ComponentProps['variant']; size?: React.ComponentProps['size']; }>({}); const SplitButton = React.forwardRef< HTMLDivElement, React.HTMLAttributes & { variant?: React.ComponentProps['variant']; size?: React.ComponentProps['size']; } >(({ className, children, variant = 'default', size = 'default', ...props }, ref) => { return (
{children}
); }); SplitButton.displayName = 'SplitButton'; const SplitButtonAction = React.forwardRef< HTMLButtonElement, React.ButtonHTMLAttributes >(({ className, children, ...props }, ref) => { const { variant, size } = React.useContext(SplitButtonContext); return ( ); }); SplitButtonAction.displayName = 'SplitButtonAction'; const SplitButtonDropdown = React.forwardRef>( ({ children, ...props }, ref) => { const { variant, size } = React.useContext(SplitButtonContext); return ( {children} ); }, ); SplitButtonDropdown.displayName = 'SplitButtonDropdown'; const SplitButtonDropdownItem = DropdownMenuItem; export { SplitButton, SplitButtonAction, SplitButtonDropdown, SplitButtonDropdownItem };