excalidraw/src/components/ColorPicker.css

154 lines
3.2 KiB
CSS
Raw Normal View History

.color-picker {
background: rgb(255, 255, 255);
border: 0px solid rgba(0, 0, 0, 0.25);
box-shadow: rgba(0, 0, 0, 0.25) 0px 1px 4px;
border-radius: 4px;
position: absolute;
left: -5.5px;
}
.color-picker-control-container {
display: grid;
grid-template-columns: auto 1fr;
align-items: center;
}
.color-picker-triangle {
width: 0px;
height: 0px;
border-style: solid;
border-width: 0px 9px 10px;
border-color: transparent transparent rgb(255, 255, 255);
position: absolute;
top: -10px;
left: 12px;
}
.color-picker-triangle-shadow {
border-color: transparent transparent rgba(0, 0, 0, 0.1);
top: -11px;
}
.color-picker-content {
padding: 0.5rem 0.5rem;
display: grid;
grid-template-columns: repeat(5, auto);
grid-gap: 0.5rem;
}
.color-picker-content .color-input-container {
grid-column: 1 / span 5;
}
.color-picker-swatch {
position: relative;
2020-01-20 19:59:00 -03:00
height: 1.875rem;
width: 1.875rem;
cursor: pointer;
border-radius: 4px;
margin: 0;
box-sizing: border-box;
border: 1px solid #ddd;
}
.color-picker-swatch:focus {
/* Note: in the original react-color it uses the color of the element,
but it's too annoying to set from JavaScript without a css lib... */
box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
}
.color-picker-transparent {
border-radius: 4px;
box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 0px 1px inset;
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
}
.color-picker-transparent,
.color-picker-label-swatch {
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMUlEQVQ4T2NkYGAQYcAP3uCTZhw1gGGYhAGBZIA/nYDCgBDAm9BGDWAAJyRCgLaBCAAgXwixzAS0pgAAAABJRU5ErkJggg==")
left center;
}
.color-picker-hash {
background: #dee2e6;
2020-01-20 19:59:00 -03:00
height: 1.875rem;
width: 1.875rem;
border-radius: 4px 0px 0px 4px;
color: #495057;
display: flex;
align-items: center;
justify-content: center;
z-index: 1;
position: relative;
}
.color-input-container:focus-within .color-picker-hash {
box-shadow: 0 0 0 2px #a5d8ff;
}
.color-input-container:focus-within .color-picker-hash::before,
.color-input-container:focus-within .color-picker-hash::after {
content: "";
width: 1px;
height: 100%;
position: absolute;
top: 0;
}
.color-input-container:focus-within .color-picker-hash::before {
background: #dee2e6;
right: -1px;
}
.color-input-container:focus-within .color-picker-hash::after {
background: #fff;
right: -2px;
}
.color-input-container {
display: flex;
}
.color-picker-input {
width: 12ch; /* length of `transparent` + 1 */
margin: 0;
2020-01-20 19:59:00 -03:00
font-size: 1rem;
color: #343a40;
border: 0px;
outline: none;
2020-01-20 19:59:00 -03:00
height: 1.75em;
box-shadow: #dee2e6 0px 0px 0px 1px inset;
border-radius: 0px 4px 4px 0px;
float: left;
padding: 1px;
2020-01-20 19:59:00 -03:00
padding-left: 0.5em;
appearance: none;
}
.color-picker-label-swatch {
2020-01-20 19:59:00 -03:00
height: 1.875rem;
width: 1.875rem;
margin-right: 0.25rem;
border: 1px solid #dee2e6;
position: relative;
overflow: hidden;
background-color: transparent !important;
}
.color-picker-label-swatch::after {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: var(--swatch-color);
}
.color-picker-keybinding {
position: absolute;
bottom: 2px;
right: 2px;
font-size: 0.7em;
color: #ccc;
}