import React from "react"; import PropTypes from "prop-types"; import { ReactSVG } from "react-svg"; import styled from "styled-components"; import Text from "../../text"; import { StyledArrowIcon, StyledIcon, StyledOptionalItem, StyledComboButton, } from "./styled-combobutton"; import ExpanderDownIcon from "../../../../../../public/images/expander-down.react.svg"; import commonIconsStyles from "../../../utils/common-icons-style"; const StyledExpanderDownIcon = styled(ExpanderDownIcon)` ${commonIconsStyles} `; class ComboButton extends React.Component { render() { const { noBorder, onClick, isDisabled, innerContainer, innerContainerClassName, selectedOption, optionsLength, withOptions, withAdvancedOptions, isOpen, scaled, size, } = this.props; const defaultOption = selectedOption.default; return ( {innerContainer && ( {innerContainer} )} {selectedOption && selectedOption.icon && ( )} {selectedOption.label} {(withOptions || withAdvancedOptions) && ( )} ); } } ComboButton.propTypes = { noBorder: PropTypes.bool, isDisabled: PropTypes.bool, selectedOption: PropTypes.oneOfType([ PropTypes.arrayOf(PropTypes.object), PropTypes.object, ]), withOptions: PropTypes.bool, optionsLength: PropTypes.number, withAdvancedOptions: PropTypes.bool, innerContainer: PropTypes.oneOfType([ PropTypes.arrayOf(PropTypes.node), PropTypes.node, ]), innerContainerClassName: PropTypes.string, isOpen: PropTypes.bool, size: PropTypes.oneOf(["base", "middle", "big", "huge", "content"]), scaled: PropTypes.bool, onClick: PropTypes.func, }; ComboButton.defaultProps = { noBorder: false, isDisabled: false, withOptions: true, withAdvancedOptions: false, innerContainerClassName: "innerContainer", isOpen: false, size: "content", scaled: false, }; export default ComboButton;