Add RadioButton component

Signed-off-by: Ajay Bura <ajbura@gmail.com>
This commit is contained in:
Ajay Bura 2021-12-23 17:09:09 +05:30
parent 5e89675c9c
commit ea5b63af18
2 changed files with 49 additions and 0 deletions

View file

@ -0,0 +1,25 @@
import React from 'react';
import PropTypes from 'prop-types';
import './RadioButton.scss';
function RadioButton({ isActive, onToggle }) {
return (
// eslint-disable-next-line jsx-a11y/control-has-associated-label
<button
onClick={() => onToggle(!isActive)}
className={`radio-btn${isActive ? ' radio-btn--active' : ''}`}
type="button"
/>
);
}
RadioButton.defaultProps = {
isActive: false,
};
RadioButton.propTypes = {
isActive: PropTypes.bool,
onToggle: PropTypes.func.isRequired,
};
export default RadioButton;

View file

@ -0,0 +1,24 @@
@use '../../partials/flex';
.radio-btn {
@extend .cp-fx__row--c-c;
width: 24px;
height: 24px;
border-radius: 50%;
background-color: var(--bg-surface-low);
box-shadow: var(--bs-surface-border);
cursor: pointer;
&--active {
background-color: var(--bg-positive);
&::before {
content: '';
display: inline-block;
width: 16px;
height: 16px;
background-color: white;
border-radius: 50%;
}
}
}