import type { ButtonHTMLAttributes, Ref } from 'react'
import { Button as ReuiButton } from '@/components/ui/button'
export type ButtonVariant = 'primary' | 'secondary' | 'danger'
/*
The console's button is ReUI's: the three variants map onto its `default`, `outline`
and `destructive`, and the two sizes onto `default` and `sm`.
`size="sm"` is the button for a table row. It existed as `.ib` copied across three
modules and did not exist in DHCP, which used the large button: the same action
("Edit") looked different depending on which screen you were on.
*/
const VARIANT = { primary: 'default', secondary: 'outline', danger: 'destructive' } as const
export function Button({
variant = 'secondary',
size = 'md',
icon = false,
className,
ref,
...rest
}: ButtonHTMLAttributes & {
variant?: ButtonVariant
size?: 'md' | 'sm'
/** No label: an icon only. The width comes from the icon, not from text. */
icon?: boolean
ref?: Ref
}) {
return (
)
}