import { NormalSizes, NormalTypes } from '../utils/prop-types' import { HuiThemesPalette } from '../themes' export type InputSize = { heightRatio: string fontSize: string } export const getSizes = (size?: NormalSizes): InputSize => { const sizes: { [key in NormalSizes]: InputSize } = { mini: { heightRatio: '1.25', fontSize: '.75rem' }, small: { heightRatio: '1.5', fontSize: '.75rem' }, medium: { heightRatio: '2', fontSize: '.875rem' }, large: { heightRatio: '2.25', fontSize: '1rem' } } if (!size) return sizes.medium return sizes[size] } export type InputColor = { color: string borderColor: string hoverBorder: string } export const getColors = (palette: HuiThemesPalette, status?: NormalTypes): InputColor => { const colors: { [key in NormalTypes]: InputColor } = { default: { color: palette.foreground, borderColor: palette.border, hoverBorder: palette.accents_10 }, secondary: { color: palette.foreground, borderColor: palette.secondary, hoverBorder: palette.secondary }, success: { color: palette.foreground, borderColor: palette.successLight, hoverBorder: palette.success }, warning: { color: palette.foreground, borderColor: palette.warningLight, hoverBorder: palette.warning }, error: { color: palette.error, borderColor: palette.error, hoverBorder: palette.errorDark } } if (!status) return colors.default return colors[status] }