import * as React from "react"; import styled from "styled-components"; import { Button, ButtonGroup, IButtonProps } from "@blueprintjs/core"; import BaseControl, { ControlProps } from "./BaseControl"; import { ControlIcons } from "icons/ControlIcons"; import { ThemeProp } from "components/ads/common"; export enum ButtonBorderRadiusTypes { SHARP = "SHARP", ROUNDED = "ROUNDED", CIRCLE = "CIRCLE", } export type ButtonBorderRadius = keyof typeof ButtonBorderRadiusTypes; const StyledButtonGroup = styled(ButtonGroup)` height: 33px; `; const StyledButton = styled(Button)` border: ${(props) => props.active ? `1px solid #6A86CE` : `1px solid #A9A7A7`}; border-radius: 0; box-shadow: none !important; background-image: none !important; background-color: #ffffff !important; min-height: 100% !important; & > div { display: flex; } &.bp3-active { box-shadow: none !important; background-color: #ffffff !important; } &:hover { background-color: #ffffff !important; } `; export interface ButtonBorderRadiusOptionsControlProps extends ControlProps { propertyValue: ButtonBorderRadius | undefined; onChange: (borderRaidus: ButtonBorderRadius) => void; } class ButtonBorderRadiusOptionsControl extends BaseControl< ButtonBorderRadiusOptionsControlProps > { constructor(props: ButtonBorderRadiusOptionsControlProps) { super(props); } static getControlType() { return "BUTTON_BORDER_RADIUS_OPTIONS"; } public render() { const { propertyValue } = this.props; return ( } large onClick={() => this.toggleOption(ButtonBorderRadiusTypes.SHARP)} /> } large onClick={() => this.toggleOption(ButtonBorderRadiusTypes.ROUNDED)} /> ); } private toggleOption = (option: ButtonBorderRadius) => { this.updateProperty(this.props.propertyName, option); }; } export default ButtonBorderRadiusOptionsControl;