"use client"; import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu"; import type { ReactNode } from "react"; import { forwardRef } from "react"; import { Icon } from "../icon"; import type { ButtonBaseProps, ButtonProps } from "./Button"; import { Button, buttonClasses } from "./Button"; export interface SplitButtonProps extends ButtonBaseProps { children?: ReactNode; dropdown?: { items: { label: string; action: () => void; icon?: ButtonProps["StartIcon"]; color?: ButtonProps["color"]; }[]; }; } export const SplitButton = forwardRef(function SplitButton( { children, dropdown, StartIcon, color = "primary", ...mainButtonProps }, forwardedRef ) { if (!dropdown) { return ( ); } return (
{dropdown.items.map((item, index) => ( {item.icon && } {item.label} ))}
); });