@conduction/components
Version:
React (Gatsby) components used within the Conduction Skeleton Application (and its implementations)
217 lines (194 loc) • 10.2 kB
CSS
:root {
--conduciton-input-checkbox-checkmark-url: url("data:image/svg+xml,%3Csvg id='eXTGSQIndRe1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 13 13' shape-rendering='geometricPrecision' text-rendering='geometricPrecision'%3E%3Cg transform='translate(-85.642166-156.631362)'%3E%3Cpath d='M86.73927,163.90021l1.92835-2.05763l4.165103,4.176559c-.692268.524-1.562158,1.361078-1.562158,2.198156L86.73927,163.90021Z' fill='%23fff' stroke-width='0'/%3E%3Cpath d='M95.2777,158.04542l2.26736,1.67416-6.27449,8.49772-1.917847-1.798161L95.2777,158.04542Z' fill='%23fff' stroke-width='0'/%3E%3C/g%3E%3C/svg%3E%0A");
--conduction-input-checkbox-color: #ffffff;
--conduction-input-checkbox-border-width: 1px;
--conduction-input-checkbox-border-style: solid;
--conduction-input-checkbox-border-color: #767676;
--conduction-input-checkbox-border-radius: 3px;
/* --conduction-input-checkbox-box-shadow: ; */
--conduction-input-checkbox-focus-outline-width: 2px;
--conduction-input-checkbox-focus-outline-style: solid;
--conduction-input-checkbox-focus-outline-color: #000000;
--conduction-input-checkbox-focus-outline-offset: 2px;
--conduction-input-checkbox-hover-color: #ffffff;
--conduction-input-checkbox-hover-border-width: 1px;
--conduction-input-checkbox-hover-border-style: solid;
--conduction-input-checkbox-hover-border-color: #4f4f4f;
--conduction-input-checkbox-hover-border-radius: 3px;
/* --conduction-input-checkbox-hover-box-shadow: ; */
--conduction-input-checkbox-checked-color: #0075ff;
--conduction-input-checkbox-checked-border-width: 1px;
--conduction-input-checkbox-checked-border-style: solid;
--conduction-input-checkbox-checked-border-color: #0075ff;
--conduction-input-checkbox-checked-border-radius: 3px;
--conduction-input-checkbox-checked-hover-color: #005cc8;
--conduction-input-checkbox-checked-hover-border-width: 1px;
--conduction-input-checkbox-checked-hover-border-style: solid;
--conduction-input-checkbox-checked-hover-border-color: #005cc8;
--conduction-input-checkbox-checked-hover-border-radius: 3px;
--conduction-input-checkbox-disabled-color: #d0d0d0;
--conduction-input-checkbox-disabled-border-width: 1px;
--conduction-input-checkbox-disabled-border-style: solid;
--conduction-input-checkbox-disabled-border-color: #d0d0d0;
--conduction-input-checkbox-disabled-border-radius: 3px;
--conduction-input-checkbox-disabled-hover-color: #d0d0d0;
--conduction-input-checkbox-disabled-hover-border-width: 1px;
--conduction-input-checkbox-disabled-hover-border-style: solid;
--conduction-input-checkbox-disabled-hover-border-color: #d0d0d0;
--conduction-input-checkbox-disabled-hover-border-radius: 3px;
--conduction-input-checkbox-label-color: #000000;
--conduction-input-checkbox-label-font-size: var(--skeleton-font-size-md);
--conduction-input-checkbox-label-font-weight: var(--skeleton-font-weight-normal);
--conduction-input-checkbox-label-container-padding: 3px;
--conduction-input-checkbox-label-container-margin: 5px;
/* --conduction-input-checkbox-label-font-family: ; */
}
.checkbox {
position: absolute;
overflow: hidden;
clip: rect(0 0 0 0);
height: 1px;
width: 1px;
margin: -1px;
padding: 0;
border: 0;
}
.checkbox + label {
position: relative;
font-size: var(--conduction-input-checkbox-label-font-size, var(--utrecht-document-font-size));
font-weight: var(--conduction-input-checkbox-label-font-weight, var(--utrehct-document-font-weight));
font-family: var(--conduction-input-checkbox-label-font-family, var(--utrecht-document-font-family));
cursor: pointer;
display: inline-flex;
align-items: center;
height: 16px;
color: var(--conduction-input-checkbox-label-color, var(--utrecht-document-color));
padding: var(--conduction-input-checkbox-label-container-padding);
}
.checkbox + label::before {
content: " ";
display: inline-block;
vertical-align: middle;
margin: var(--conduction-input-checkbox-label-container-margin);
width: 13px;
height: 13px;
background-color: var(--conduction-input-checkbox-color);
border-width: var(--conduction-input-checkbox-border-width);
border-style: var(--conduction-input-checkbox-border-style);
border-color: var(--conduction-input-checkbox-border-color);
border-radius: var(--conduction-input-checkbox-border-radius);
box-shadow: var(--conduction-input-checkbox-box-shadow);
box-sizing: border-box;
}
.checkbox:focus + label::before,
.checkbox:hover:focus + label::before,
.checkbox:checked:focus + label::before,
.checkbox:checked:hover:focus + label::before {
outline-width: var(--conduction-input-checkbox-focus-outline-width);
outline-style: var(--conduction-input-checkbox-focus-outline-style);
outline-color: var(--conduction-input-checkbox-focus-outline-color);
outline-offset: var(--conduction-input-checkbox-focus-outline-offset);
margin: var(--conduction-input-checkbox-label-container-margin);
box-sizing: border-box;
}
.checkbox:hover + label {
color: var(--conduction-input-checkbox-label-hover-color, var(--conduction-input-checkbox-label-color, var(--utrecht-document-color)));
}
.checkbox:hover + label::before {
content: " ";
display: inline-block;
vertical-align: middle;
margin: var(--conduction-input-checkbox-label-container-margin);
width: 13px;
height: 13px;
background-color: var(--conduction-input-checkbox-hover-color);
border-width: var(--conduction-input-checkbox-hover-border-width, var(--conduction-input-checkbox-border-width));
border-style: var(--conduction-input-checkbox-hover-border-style, var(--conduction-input-checkbox-border-style));
border-color: var(--conduction-input-checkbox-hover-border-color, var(--conduction-input-checkbox-border-color));
border-radius: var(--conduction-input-checkbox-hover-border-radius, var(--conduction-input-checkbox-border-radius));
box-shadow: var(--conduction-input-checkbox-hover-box-shadow, var(--conduction-input-checkbox-box-shadow));
}
/* Checked */
.checkbox:checked + label::before {
content: " ";
display: inline-block;
vertical-align: middle;
margin: var(--conduction-input-checkbox-label-container-margin);
width: 13px;
height: 13px;
background-color: var(--conduction-input-checkbox-checked-color);
border-width: var(--conduction-input-checkbox-checked-border-width);
border-style: var(--conduction-input-checkbox-checked-border-style);
border-color: var(--conduction-input-checkbox-checked-border-color);
border-radius: var(--conduction-input-checkbox-checked-border-radius);
box-shadow: var(--conduction-input-checkbox-checked-box-shadow);
}
.checkbox:checked:hover + label::before {
content: " ";
display: inline-block;
vertical-align: middle;
margin: var(--conduction-input-checkbox-label-container-margin);
width: 13px;
height: 13px;
background-color: var(--conduction-input-checkbox-checked-hover-color, var(--conduction-input-checkbox-checked-color));
border-width: var(--conduction-input-checkbox-checked-hover-border-width, var(--conduction-input-checkbox-checked-border-width));
border-style: var(--conduction-input-checkbox-checked-hover-border-style, var(--conduction-input-checkbox-checked-border-style));
border-color: var(--conduction-input-checkbox-checked-hover-border-color, var(--conduction-input-checkbox-checked-border-color));
border-radius: var(--conduction-input-checkbox-checked-hover-border-radius, var(--conduction-input-checkbox-checked-border-radius));
box-shadow: var(--conduction-input-checkbox-checked-hover-box-shadow, var(--conduction-input-checkbox-checked-box-shadow));
}
.checkbox:checked + label::after {
content: " ";
background-image: var(--conduciton-input-checkbox-checkmark-url);
background-repeat: no-repeat;
background-size: 13px 13px;
background-position: calc(var(--conduction-input-checkbox-label-container-padding) + var(--conduction-input-checkbox-label-container-margin)) center;
position: absolute;
display: flex;
justify-content: center;
align-items: center;
margin-left: 0px;
left: 0px;
top: 0px;
text-align: center;
background-color: transparent;
font-size: 10px;
height: 100%;
width: 100%;
}
/* Disabled */
.checkbox:disabled:hover + label {
cursor: default;
}
.checkbox:disabled + label::before {
content: " ";
display: inline-block;
vertical-align: middle;
margin: var(--conduction-input-checkbox-label-container-margin);
width: 13px;
height: 13px;
background-color: var(--conduction-input-checkbox-disabled-color);
border-width: var(--conduction-input-checkbox-disabled-border-width);
border-style: var(--conduction-input-checkbox-disabled-border-style);
border-color: var(--conduction-input-checkbox-disabled-border-color);
border-radius: var(--conduction-input-checkbox-disabled-border-radius);
box-shadow: var(--conduction-input-checkbox-disabled-box-shadow);
}
.checkbox:disabled:hover + label::before {
content: " ";
display: inline-block;
vertical-align: middle;
margin: var(--conduction-input-checkbox-label-container-margin);
width: 13px;
height: 13px;
background-color: var(--conduction-input-checkbox-disabled-hover-color, var(--conduction-input-checkbox-disabled-color));
border-width: var(--conduction-input-checkbox-disabled-hover-border-width, var(--conduction-input-checkbox-disabled-border-width));
border-style: var(--conduction-input-checkbox-disabled-hover-border-style, var(--conduction-input-checkbox-disabled-border-style));
border-color: var(--conduction-input-checkbox-disabled-hover-border-color, var(--conduction-input-checkbox-disabled-border-color));
border-radius: var(--conduction-input-checkbox-disabled-hover-border-radius, var(--conduction-input-checkbox-disabled-border-radius));
box-shadow: var(--conduction-input-checkbox-disabled-hover-box-shadow, var(--conduction-input-checkbox-disabled-box-shadow));
cursor: default;
}
.checkbox:disabled:checked + label::after {
cursor: default;
}