censa_front_end_library
Version:
React components library project for censa Design System
224 lines (183 loc) • 4.85 kB
CSS
/* Radio */
.Radio {
display: flex;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
padding-top: var(--spacing-s);
padding-bottom: var(--spacing-s);
width: fit-content;
}
.Radio-outerWrapper {
position: relative;
flex-shrink: 0;
margin-top: var(--spacing-s);
}
.Radio-defaultWrapper {
border: 1px solid #cbcacb;
}
.Radio-errorWrapper {
border: var(--border);
border-color: var(--alert);
}
.Radio-outerWrapper--regular {
height: var(--spacing-2);
width: var(--spacing-2);
}
.Radio-outerWrapper--tiny {
height: var(--spacing-l);
width: var(--spacing-l);
}
.Radio-input {
opacity: 0;
position: absolute;
height: 100%;
width: 100%;
z-index: 2;
margin: 0;
cursor: pointer;
}
.Radio-labelWrapper {
padding-left: var(--spacing);
display: flex;
flex-direction: column;
color: var(--night);
}
.Radio-Label {
display: flex;
cursor: pointer;
}
.Radio-wrapper {
top: 0;
left: 0;
height: 100%;
width: 100%;
position: absolute;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
box-sizing: border-box;
z-index: 1;
transition: var(--duration--fast-01) var(--standard-productive-curve);
}
.Radio--disabled {
pointer-events: none;
}
.Radio:hover .Radio-wrapper {
border: var(--spacing-xs) solid #a04efc;
/* background-color: #8025e3; */
}
.Radio:active .Radio-wrapper {
background-color: #8025e3;
border: var(--spacing-xs) solid #8025e3;
}
.Radio:hover .Radio-errorWrapper {
border: var(--border);
background-color: #a04efc;
border-color: #a04efc;
}
.Radio:active .Radio-errorWrapper {
border: var(--border);
background-color: #8025e3;
border-color: var(--alert-darker);
}
.Radio:focus-within .Radio-wrapper {
outline: 0;
box-shadow: var(--shadow-spread) var(--secondary-shadow);
border-radius: 50%;
}
.Radio:focus-within .Radio-errorWrapper {
outline: 0;
box-shadow: var(--shadow-spread) var(--alert-shadow);
border-radius: 50%;
}
.Radio:focus-within .Radio-input:checked ~ .Radio-wrapper {
outline: 0;
box-shadow: var(--shadow-spread) var(--primary-shadow);
}
.Radio:focus-within .Radio-input:checked ~ .Radio-errorWrapper {
outline: 0;
box-shadow: var(--shadow-spread) var(--primary-shadow);
}
.Radio--disabled .Radio-wrapper {
border: var(--spacing-xs) solid #e7d0ff;
background-color: #e7d0ff;
}
.Radio--disabled .Radio-errorWrapper {
border: var(--spacing-xs) #e7d0ff;
background-color: #e7d0ff;
}
.Radio-input:checked ~ .Radio-wrapper {
border: var(--spacing-xs) solid #8025e3;
}
.Radio-input:checked ~ .Radio-errorWrapper {
border: var(--spacing-xs) solid var(--alert);
}
.Radio-input:checked ~ .Radio-wrapper:after {
display: block;
transition: var(--duration--fast-01) var(--standard-productive-curve);
}
.Radio-wrapper:after {
content: '';
display: none;
border-radius: 50%;
background: #8025e3;
}
.Radio-wrapper--regular:after {
width: var(--spacing);
height: var(--spacing);
}
.Radio-wrapper--tiny:after {
width: var(--spacing-m);
height: var(--spacing-m);
border: var(--spacing-xs) solid var(--night);
}
.Radio:hover .Radio-input:checked ~ .Radio-wrapper {
border: var(--spacing-xs) solid #a04efc;
}
.Radio:hover .Radio-input:checked ~ .Radio-wrapper:after {
background-color: #a04efc;
}
.Radio:hover .Radio-input:checked ~ .Radio-wrapper--tiny:after {
border: var(--spacing-xs) solid #a04efc;
}
.Radio:active .Radio-input:checked ~ .Radio-wrapper {
background-color: #8025e3;
border: var(--spacing-xs) #8025e3;
}
.Radio:hover .Radio-input:checked ~ .Radio-errorWrapper {
background-color: #a04efc;
border: var(--spacing-xs) solid #a04efc;
}
.Radio:active .Radio-input:checked ~ .Radio-errorWrapper {
background-color: #8025e3;
border: var(--spacing-xs) solid #8025e3;
}
.Radio:active .Radio-input:checked ~ .Radio-wrapper:after {
background: transparent;
}
.Radio:active .Radio-input:checked ~ .Radio-wrapper--tiny:after {
border: var(--spacing-xs) solid #8025e3;
}
.Radio--disabled .Radio-input:checked ~ .Radio-wrapper {
border: var(--spacing-xs) solid #e7d0ff;
background-color: #e7d0ff;
}
.Radio--disabled .Radio-input:checked ~ .Radio-errorWrapper {
border: var(--spacing-xs) solid #e7d0ff;
background-color: #e7d0ff;
}
.Radio--disabled .Radio-input:checked ~ .Radio-wrapper:after {
background: #e7d0ff;
}
.Radio--disabled .Radio-input ~ .Radio-wrapper:focus {
box-shadow: none;
}
.Radio--disabled .Radio-input ~ .Radio-errorWrapper:focus {
box-shadow: none;
}
.enabledradio .Radio-input {
opacity: 9;
}