Current section

Files

Jump to
noora css checkbox.css
Raw

css/checkbox.css

.noora-checkbox {
& [data-part="root"] {
display: grid;
grid-template-rows: auto auto;
grid-template-columns: auto auto;
grid-template-areas:
"control label"
". description";
justify-content: center;
align-items: start;
&[data-disabled] {
cursor: not-allowed;
}
}
& [data-part="control"] {
display: flex;
grid-area: control;
justify-content: center;
align-items: center;
cursor: pointer;
box-sizing: border-box;
margin-top: 2px;
border-radius: var(--noora-radius-small);
width: 16px;
height: 16px;
color: var(--noora-choice-selector-label);
& svg {
width: 12px;
height: 12px;
}
&[data-disabled] {
box-shadow: var(--noora-border-light-default);
background: var(--noora-choice-selector-disabled-background);
}
&:not([data-state="checked"]),
&:not([data-state="indeterminate"]) {
& [data-part="check"] {
display: none;
}
& [data-part="minus"] {
display: none;
}
}
&:not([data-disabled])[data-state="unchecked"] {
box-shadow: var(--noora-border-light-default);
background: var(--noora-choice-selector-uncheck-background);
&:hover {
background: var(--noora-choice-selector-uncheck-background-hover);
}
}
&[data-state="checked"],
&[data-state="indeterminate"] {
box-shadow: 0px 1px 0px 0px oklch(100% 0 0 / 0.2) inset;
border: 1px solid var(--noora-purple-500);
background: var(--noora-choice-selector-check-background);
&:hover {
background: var(--noora-choice-selector-check-background-hover);
}
}
&[data-state="checked"] {
& [data-part="check"] {
display: flex;
}
}
&[data-state="indeterminate"] {
& [data-part="minus"] {
display: flex;
}
}
}
& [data-part="label"] {
display: flex;
grid-area: label;
margin-left: var(--noora-spacing-5);
color: var(--noora-surface-label-primary);
font: var(--noora-font-body-medium);
&:has(+ [data-part="description"]) {
font: var(--noora-font-weight-medium) var(--noora-font-body-medium);
}
}
& [data-part="description"] {
display: flex;
grid-area: description;
margin-top: var(--noora-spacing-2);
margin-left: var(--noora-spacing-5);
color: var(--noora-surface-label-secondary);
font: var(--noora-font-body-small);
}
& [data-part="hidden-input"] {
display: none;
}
}