import React from "react"; import { IButtonProps, Button } from "@blueprintjs/core"; import { darkenActive, darkenHover, Theme } from "constants/DefaultTheme"; import styled, { css } from "styled-components"; import { omit } from "lodash"; import { ButtonStyleType, ButtonVariant } from "components/constants"; export type ButtonStyleName = "primary" | "secondary" | "error"; type ButtonStyleProps = { accent?: ButtonStyleName; filled?: boolean; buttonStyle?: ButtonStyleType; buttonVariant?: ButtonVariant; }; const AccentColorMap: Record = { primary: "primaryOld", secondary: "secondaryOld", error: "error", }; const getButtonColorStyles = (props: { theme: Theme } & ButtonStyleProps) => { if (props.filled) return props.theme.colors.textOnDarkBG; if (props.accent) { if (props.accent === "secondary") { return props.theme.colors[AccentColorMap["primary"]]; } return props.theme.colors[AccentColorMap[props.accent]]; } }; const ButtonColorStyles = css` color: ${getButtonColorStyles}; svg { fill: ${getButtonColorStyles}; } `; const ButtonWrapper = styled((props: ButtonStyleProps & IButtonProps) => (