/** * Combobox — WealthX Design System * Base: @base-ui/react/combobox * WealthX overrides: square corners (rounded-none), design token colors, * consistent styling with Select component, built-in search filtering. */ import * as React from "react"; import { CheckIcon, ChevronDownIcon, SearchIcon } from "lucide-react"; import { Combobox as ComboboxPrimitive } from "@base-ui/react/combobox"; import { cn } from "@/lib/utils"; export type ComboboxProps< Value = string, Multiple extends boolean | undefined = false, > = React.ComponentProps>; function Combobox({ ...props }: React.ComponentProps>) { return ; } export type ComboboxTriggerProps = React.ComponentProps< typeof ComboboxPrimitive.Trigger > & { size?: "sm" | "default"; }; function ComboboxTrigger({ className, size = "default", children, ...props }: ComboboxTriggerProps) { return ( {children} ); } export type ComboboxValueProps = React.ComponentProps< typeof ComboboxPrimitive.Value >; function ComboboxValue({ ...props }: ComboboxValueProps) { return ; } export type ComboboxInputProps = React.ComponentProps< typeof ComboboxPrimitive.Input >; function ComboboxInput({ className, ...props }: ComboboxInputProps) { return (
); } export type ComboboxContentProps = React.ComponentProps< typeof ComboboxPrimitive.Popup >; function ComboboxContent({ className, children, ...props }: ComboboxContentProps) { return ( {children} ); } export type ComboboxListProps = React.ComponentProps< typeof ComboboxPrimitive.List >; function ComboboxList({ className, ...props }: ComboboxListProps) { return ( ); } export type ComboboxItemProps = React.ComponentProps< typeof ComboboxPrimitive.Item >; function ComboboxItem({ className, children, ...props }: ComboboxItemProps) { return ( {children} ); } export type ComboboxEmptyProps = React.ComponentProps< typeof ComboboxPrimitive.Empty >; function ComboboxEmpty({ className, ...props }: ComboboxEmptyProps) { return ( ); } export type ComboboxGroupProps = React.ComponentProps< typeof ComboboxPrimitive.Group >; function ComboboxGroup({ ...props }: ComboboxGroupProps) { return ; } export type ComboboxGroupLabelProps = React.ComponentProps< typeof ComboboxPrimitive.GroupLabel >; function ComboboxGroupLabel({ className, ...props }: ComboboxGroupLabelProps) { return ( ); } export type ComboboxSeparatorProps = React.ComponentProps<"div">; function ComboboxSeparator({ className, ...props }: ComboboxSeparatorProps) { return (
); } export { Combobox, ComboboxTrigger, ComboboxValue, ComboboxInput, ComboboxContent, ComboboxList, ComboboxItem, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxSeparator, };