import './RadioButton.scss';
function RadioButton({ isActive, onToggle }) {
+ if (onToggle === null) return <span className={`radio-btn${isActive ? ' radio-btn--active' : ''}`} />;
return (
// eslint-disable-next-line jsx-a11y/control-has-associated-label
<button
RadioButton.defaultProps = {
isActive: false,
+ onToggle: null,
};
RadioButton.propTypes = {
isActive: PropTypes.bool,
- onToggle: PropTypes.func.isRequired,
+ onToggle: PropTypes.func,
};
export default RadioButton;
.radio-btn {
@extend .cp-fx__row--c-c;
- width: 24px;
- height: 24px;
+ width: 20px;
+ height: 20px;
border-radius: 50%;
- background-color: var(--bg-surface-low);
- box-shadow: var(--bs-surface-border);
+ background-color: var(--bg-surface-border);
+ border: 2px solid var(--bg-surface-border);
cursor: pointer;
+ &::before {
+ content: '';
+ display: inline-block;
+ width: 12px;
+ height: 12px;
+ background-color: var(--bg-surface-border);
+ border-radius: 50%;
+ }
&--active {
- background-color: var(--bg-positive);
-
+ border: 2px solid var(--bg-positive);
&::before {
- content: '';
- display: inline-block;
- width: 16px;
- height: 16px;
- background-color: white;
- border-radius: 50%;
+ background-color: var(--bg-positive);
}
}
}
\ No newline at end of file