@kelvininc/ui-components
Version:
Kelvin UI Components
118 lines (112 loc) • 2.6 kB
CSS
/** HEADINGS **/
/** LABELS **/
/** SPANS **/
/** PARAGRAPHS **/
/** CODE/CONSOLE **/
@property --rotation {
syntax: "<angle>";
initial-value: 0deg;
inherits: false;
}
@keyframes rotate-border {
to {
--rotation: 360deg;
}
}
/** HEADINGS **/
/** LABELS **/
/** SPANS **/
/** PARAGRAPHS **/
/** CODE/CONSOLE **/
@property --rotation {
syntax: "<angle>";
initial-value: 0deg;
inherits: false;
}
@keyframes rotate-border {
to {
--rotation: 360deg;
}
}
:host {
/**
* @prop --input-height-large: Text Field's large height.
* @prop --input-height-small: Text Field's small height.
* @prop --radio-label-text-color: Radio label color.
* @prop --radio-input-default-color: Radio input color when state is not checked.
* @prop --radio-input-checked-color: Radio input color when state is checked.
*/
--input-height-large: 36px;
--input-height-small: 28px;
}
.radio-container {
display: flex;
align-items: center;
cursor: pointer;
user-select: none;
width: fit-content;
}
.radio-container--size-large {
height: var(--input-height-large);
}
.radio-container--size-small {
height: var(--input-height-small);
}
.radio-container.disabled {
pointer-events: none;
opacity: 0.5;
}
.radio-container.disabled .circle {
border-color: var(--radio-input-default-color);
}
.circle {
height: 14px;
width: 14px;
border-radius: 50%;
border: 1px solid var(--radio-input-default-color);
display: inline-flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
.circle:focus {
outline: none;
border-color: var(--radio-input-focused-color);
}
.circle .checked-icon {
height: 8px;
width: 8px;
border-radius: 50%;
transition: all 0.2s ease-out;
}
.checked .circle {
border: 1px solid var(--radio-input-checked-color);
}
.checked .circle .checked-icon {
height: 8px;
width: 8px;
border-radius: 50%;
background: var(--radio-input-checked-color);
transition: all 0.2s ease-out;
}
.label {
font-family: var(--kv-primary-font, "proxima-nova", sans-serif, "Arial");
font-size: 14px;
font-weight: 400;
font-stretch: normal;
font-style: normal;
line-height: 21px;
letter-spacing: normal;
text-transform: none;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
color: var(--radio-label-text-color);
margin-left: var(--kv-spacing-2x, 8px);
}
:host {
--radio-label-text-color: var(--kv-text, #fff);
--radio-input-checked-color: var(--kv-primary, #005cc7);
--radio-input-focused-color: var(--kv-primary, #005cc7);
--radio-input-default-color: var(--kv-neutral-3, #ddd);
}