import React, { Component } from "react";
import PropTypes from "prop-types";
import { ToggleButtonContainer, HiddenInput } from "./styled-toggle-button";
import { ToggleButtonIcon, ToggleButtonCheckedIcon } from "./svg";
import Text from "../text";
import globalColors from "../utils/globalColors";
const ToggleIcon = ({ isChecked }) => {
return (
<>
{isChecked ? (
) : (
)}
>
);
};
class ToggleButton extends Component {
constructor(props) {
super(props);
this.state = {
checked: props.isChecked,
};
}
componentDidUpdate(prevProps) {
if (this.props.isChecked !== prevProps.isChecked) {
this.setState({ checked: this.props.isChecked });
}
}
render() {
const { isDisabled, label, onChange, id, className, style } = this.props;
const { gray } = globalColors;
const colorProps = isDisabled ? { color: gray } : {};
//console.log("ToggleButton render");
return (
{label && (
{label}
)}
);
}
}
ToggleButton.propTypes = {
isChecked: PropTypes.bool.isRequired,
isDisabled: PropTypes.bool,
onChange: PropTypes.func,
label: PropTypes.string,
id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
className: PropTypes.string,
style: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),
};
ToggleIcon.propTypes = {
isChecked: PropTypes.bool,
};
export default ToggleButton;