Repository URL to install this package:
|
Version:
8.1.0-rc.5 ▾
|
:root {
--radioButtonMinWidth: 50px;
--radioButtonHeight: 100%;
--radioButtonHeightBorder: calc(100% + 4px);
}
.CustomRadioButtons-title {
margin-bottom: 4px;
margin-top: var(--space-2x);
display: flex;
& p {
display: inline;
margin: 0 8px 0 0;
}
}
.CustomRadioButtons {
display: inline-flex;
align-items: stretch;
justify-content: center;
padding: 0;
border: 2px solid var(--color-neutral-300);
border-radius: var(--border-radius-2x);
height: auto; /* Using min-height here will break in IE11 */
font-size: var(--font-size);
font-family: var(--font-family-primary);
text-decoration: none;
background-color: var(--color-neutral-300);
& .CustomRadioButtons-option {
position: relative;
}
& label {
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;
color: var(--color-ink-1);
background: var(--color-white);
height: var(--radioButtonHeight);
min-width: var(--radioButtonMinWidth);
padding: var(--space) var(--space-2x);
}
& input[type='radio'] {
display:none;
opacity: 0;
position: absolute;
}
& input[type='radio']:checked + label {
outline: 0;
background-color: var(--color-brand-500);
color: var(--color-white);
height: var(--radioButtonHeightBorder);
}
& input[type='radio']:checked + label::before,
& input[type='radio']:hover + label::before,
& input[type='radio']:focus + label::before {
content: '';
position: absolute;
top: -2px;
bottom: 0;
border: 3px solid #2372e8;
height: var(--radioButtonHeightBorder);
}
& .CustomRadioButtons-option--middle + .CustomRadioButtons-option--middle {
& label {
border-left: 2px solid var(--color-neutral-300);
}
}
& .CustomRadioButtons-option--middle {
& label::before {
border-right: 2px solid var(--color-neutral-300);
border-left: 2px solid var(--color-neutral-300);
left: 0;
right: 0;
}
& input[type='radio']:checked + label {
height: var(--radioButtonHeightBorder);
margin-top: -2px;
}
& input[type='radio']:checked + label::before,
& input[type='radio']:hover + label::before,
& input[type='radio']:focus + label::before {
width: calc(100% + 4px);
left: -1px;
z-index: 1;
}
}
& .CustomRadioButtons-option--single {
& label {
top: -2px;
position: absolute;
left: -2px;
border-radius: 2px;
}
& label::before {
display: none;
}
}
& .CustomRadioButtons-option--first {
& label,
& label::before {
border-top-left-radius: var(--border-radius);
border-bottom-left-radius: var(--border-radius);
border-right: 2px solid var(--color-neutral-300);
border-top-right-radius: 0;
border-bottom-right-radius: 0;
border-bottom-left-radius: 2px;
border-top-left-radius: 2px;
left: -2px;
right: 0;
}
& input[type='radio']:checked + label {
height: var(--radioButtonHeightBorder);
margin-top: -2px;
}
}
& .CustomRadioButtons-option--last {
& label,
& label::before {
border-top-right-radius: var(--border-radius);
border-bottom-right-radius: var(--border-radius);
border-left: 2px solid var(--color-neutral-300);
border-top-right-radius: 2px;
border-bottom-right-radius: 2px;
border-bottom-left-radius: 0;
border-top-left-radius: 0;
right: -2px;
left: 0;
}
& input[type='radio']:checked + label {
height: var(--radioButtonHeightBorder);
margin-top: -2px;
}
}
& .CustomRadioButtons-option--first + .CustomRadioButtons-option--middle {
& input[type='radio']:checked + label::before,
& input[type='radio']:hover + label::before,
& input[type='radio']:focus + label::before {
width: calc(100% + 4px);
left: -2px;
z-index: 1;
}
}
}