import type { ComponentProps } from "react"; import { ChevronDownIcon, type LucideIcon } from "lucide-react"; import { cn } from "~/lib/utils"; import { Button } from "../ui/button"; import { SelectTrigger } from "../ui/select"; import { Separator } from "../ui/separator"; export type ComposerControlSize = "sm" | "xs"; type ComposerControlProps = Omit, "size"> & { size?: ComposerControlSize; }; type ComposerSelectControlProps = Omit, "size"> & { size?: ComposerControlSize; }; const composerControlClassName = "rounded-[var(--control-radius)] text-secondary-label transition-none hover:text-foreground [&_svg[data-composer-control-chevron]]:-mx-0.5 [&_svg[data-composer-control-icon]]:mx-0"; const expandedComposerControlClassName = "h-7 min-h-7 gap-1.5 px-2.5"; const restingComposerControlClassName = "[--control-icon-color:currentColor] font-normal text-muted-foreground/70 hover:text-foreground/80 [&_svg[data-composer-control-chevron]]:-me-1 [&_svg[data-composer-control-chevron]]:ms-0"; export function ComposerControl({ className, size = "sm", variant = "ghost", ...props }: ComposerControlProps) { return (