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"; import { ButtonBorderRadius, ButtonBorderRadiusTypes, } from "components/constants"; import { replayHighlightClass } from "globalStyles/portals"; 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; & > div { display: flex; } &.bp3-active { box-shadow: none !important; background-color: #ffffff !important; } &:hover { background-color: #ffffff !important; } `; export interface BorderRadiusOptionsControlProps extends ControlProps { propertyValue: ButtonBorderRadius | undefined; onChange: (borderRaidus: ButtonBorderRadius) => void; options: any[]; } class BorderRadiusOptionsControl extends BaseControl< BorderRadiusOptionsControlProps > { constructor(props: BorderRadiusOptionsControlProps) { super(props); } static getControlType() { return "BORDER_RADIUS_OPTIONS"; } public render() { const { options, propertyValue } = this.props; return ( {options.map((option: ButtonBorderRadius) => { const active = option === ButtonBorderRadiusTypes.SHARP ? propertyValue === option || propertyValue === undefined : propertyValue === option; const icon = option === ButtonBorderRadiusTypes.SHARP ? ( ) : option === ButtonBorderRadiusTypes.ROUNDED ? ( ) : ( ); return ( this.toggleOption(option)} /> ); })} {/* } large onClick={() => this.toggleOption(ButtonBorderRadiusTypes.SHARP)} /> } large onClick={() => this.toggleOption(ButtonBorderRadiusTypes.ROUNDED)} /> } large onClick={() => this.toggleOption(ButtonBorderRadiusTypes.CIRCLE)} /> */} ); } private toggleOption = (option: ButtonBorderRadius) => { this.updateProperty(this.props.propertyName, option); }; } export default BorderRadiusOptionsControl;