import { ChevronDown } from '@transferwise/icons'; import { clsx } from 'clsx'; import React from 'react'; import { InputGroup } from '../../InputGroup'; import { SelectInputClearButton } from '../ClearButton'; import { SelectInputTriggerButton } from '../TriggerButton'; import { SelectInputProps } from '../SelectInput.types'; import { SelectInputButtonInput } from '../ButtonInput'; export interface SelectInputDefaultRenderTriggerProps { content: React.ReactNode; placeholderShown: boolean; clear: (() => void) | undefined; disabled: boolean; size: 'sm' | 'md' | 'lg'; className: string | undefined; } /** * Default render function for the SelectInput trigger. * Displays the selected value or placeholder with clear button and dropdown indicator. */ export function SelectInputDefaultRenderTrigger({ content, placeholderShown, clear, disabled, size, className, }: SelectInputDefaultRenderTriggerProps) { return ( {clear != null && !placeholderShown ? ( <> { event.preventDefault(); clear(); }} /> ) : null} ), initialContentWidth: 24 + 4, padding: 'sm', }} disabled={disabled} className={className} > {content} ); } export const DefaultRenderTrigger = SelectInputDefaultRenderTrigger satisfies SelectInputProps['renderTrigger'];