import { HuiThemesPalette } from '../themes/presets' import { NormalTypes } from '../utils/prop-types' type ButtonDropdownColors = { color: string bgColor: string hoverBgColor: string hoverBorder: string borderLeftColor: string } export const getColor = ( palette: HuiThemesPalette, type: NormalTypes | undefined, disabled = false ) => { const colors: { [key in NormalTypes]: ButtonDropdownColors } = { default: { color: palette.accents_10, bgColor: palette.background, borderLeftColor: palette.accents_2, hoverBgColor: palette.accents_1, hoverBorder: palette.accents_2 }, secondary: { color: palette.background, bgColor: palette.foreground, borderLeftColor: palette.accents_11, hoverBgColor: palette.accents_11, hoverBorder: palette.accents_11 }, success: { color: palette.background, bgColor: palette.success, borderLeftColor: palette.successDark, hoverBgColor: palette.successDark, hoverBorder: palette.successDark }, warning: { color: palette.background, bgColor: palette.warning, borderLeftColor: palette.warningDark, hoverBgColor: palette.warningDark, hoverBorder: palette.warningDark }, error: { color: palette.background, bgColor: palette.error, borderLeftColor: palette.errorDark, hoverBgColor: palette.errorDark, hoverBorder: palette.errorDark } } if (disabled) return { ...colors.default, bgColor: palette.accents_1, color: palette.accents_9 } return type ? colors[type] : colors.default }