import { noop } from 'es-toolkit'; import type { CSSProperties, FC, MouseEvent, ReactNode } from 'react'; import { Icon, type IconName } from './Icon/Icon.tsx'; interface ButtonProps { label?: string; title?: string; iconName?: IconName; iconClassname?: string; iconComponent?: ReactNode; active?: boolean; onClick?: (evt: MouseEvent) => void; children?: ReactNode; className?: string; style?: CSSProperties; dataId?: string; size?: 'small' | 'regular'; type?: 'regular' | 'transparent'; left?: ReactNode; right?: ReactNode; } export const Button: FC = ({ label, title, iconName, iconClassname, iconComponent, onClick, active = false, children, className, style, dataId, type = 'regular', size = 'regular', left = null, right = null, }) => { // 색은 App.css의 테마 토큰이 data-type/data-active로 준다 — 여기서는 배치만. const classParts = [ 'font-semibold py-4 h-10 flex flex-row justify-start w-full items-center', size === 'regular' ? 'pl-2 pr-2 gap-2' : '', size === 'small' ? 'pl-2 pr-2 gap-0' : '', className || '', ]; return ( <> ); };