.dx-color-field-container {
display: flex;
flex: 1;
flex-direction: column;
gap: 4px;
}
.dx-color-field-description {
color: var(--secondary-color-5);
font-size: 14px;
line-height: 1.5;
}
.dx-color-swatch {
width: 2rem;
height: 2rem;
box-sizing: border-box;
border: 1px solid color-mix(in oklab, var(--primary-color) 10%, transparent);
border-radius: 0.25rem;
background-color: var(--swatch-color);
background-image:
linear-gradient(var(--swatch-color), var(--swatch-color)),
repeating-conic-gradient(#CCC 0% 25%, white 0% 50%);
forced-color-adjust: none;
}
.dx-color-slider-container {
display: grid;
width: 224px;
flex-direction: column;
align-items: center;
gap: 8px;
grid-template-columns: 1fr auto;
}
.dx-color-slider-title {
width: fit-content;
color: var(--secondary-color-4);
font-size: 0.875rem;
font-weight: 500;
line-height: 1.5rem;
}
.dx-color-slider-output {
color: var(--secondary-color-5);
font-size: 0.875rem;
font-weight: 500;
line-height: 1.5rem;
}
.dx-color-slider {
position: relative;
display: flex;
align-items: center;
grid-column: span 2 / span 2;
touch-action: none;
}
.dx-color-slider-track {
position: relative;
height: 24px;
box-sizing: border-box;
flex-grow: 1;
border-radius: 0.375rem;
background: linear-gradient(to right, rgb(255 0 0), rgb(255 255 0), rgb(0 255 0), rgb(0 255 255), rgb(0 0 255), rgb(255 0 255), rgb(255 0 0)), repeating-conic-gradient(rgb(204 204 204) 0%, rgb(204 204 204) 25%, white 0%, white 50%) 50% center / 16px 16px;
}
.dx-color-slider-thumb {
all: unset;
position: absolute;
top: 50%;
display: block;
width: 16px;
height: 16px;
border: 2px solid var(--secondary-color-2);
border-radius: 50%;
box-shadow: black 0 0 0 1px, black 0 0 0 1px inset;
cursor: pointer;
forced-color-adjust: none;
transform: translate(-50%, -50%) scale(1);
transition: transform 150ms ease-out, box-shadow 150ms ease-out, border-color 150ms;
}
.dx-color-slider-thumb:hover,
.dx-color-slider-thumb:focus-visible {
transform: translate(-50%, -50%) scale(1.15);
}
.dx-color-slider-thumb[data-dragging="true"] {
box-shadow: black 0 0 0 1px, black 0 0 0 1px inset, rgb(0 0 0 / 30%) 0 2px 6px;
transform: translate(-50%, -50%) scale(1.25);
}
.dx-color-area-container {
position: relative;
display: flex;
width: 100%;
max-width: 224px;
min-height: 116px;
aspect-ratio: 1;
forced-color-adjust: none;
touch-action: none;
}
.dx-color-area-track {
box-sizing: border-box;
flex-grow: 1;
border-radius: 10px;
background: linear-gradient(to top, black, transparent), linear-gradient(to right, white, transparent), var(--area-color);
}
.dx-color-area-thumb {
all: unset;
position: absolute;
display: block;
width: 16px;
height: 16px;
border: 2px solid var(--secondary-color-2);
border-radius: 50%;
box-shadow: black 0 0 0 1px, black 0 0 0 1px inset;
cursor: pointer;
transform: translate(-50%, -50%) scale(1);
transition: transform 150ms ease-out, box-shadow 150ms ease-out, border-color 150ms;
}
.dx-color-area-thumb:hover,
.dx-color-area-thumb:focus-visible,
.dx-color-area-thumb:has(:focus-visible) {
transform: translate(-50%, -50%) scale(1.15);
}
.dx-color-area-thumb[data-dragging="true"] {
box-shadow: black 0 0 0 1px, black 0 0 0 1px inset, rgb(0 0 0 / 30%) 0 2px 6px;
transform: translate(-50%, -50%) scale(1.25);
}
.dx-color-area-input {
position: absolute;
overflow: hidden;
width: 100%;
height: 100%;
padding: 0;
border: 0;
margin: -1px;
opacity: 0.0001;
pointer-events: none;
white-space: nowrap;
}
.dx-color-picker {
position: relative;
display: inline-block;
}
.dx-color-picker-button {
display: flex;
align-items: center;
justify-content: center;
border: 0 solid;
border-radius: 0.125rem;
background-color: transparent;
color: var(--secondary-color-4);
cursor: default;
gap: 8px;
line-height: 1.5;
outline: 0 solid;
transition: box-shadow 150ms, background-color 150ms, color 150ms;
}
.dx-color-picker-button:focus-visible {
box-shadow: 0 0 0 3px
color-mix(in oklab, var(--focused-border-color) 50%, transparent);
}
.dx-color-picker-popover {
position: absolute;
z-index: 1000;
top: 100%;
left: 0;
display: block;
border-radius: 0.5rem;
margin-top: 4px;
background: var(--light, var(--primary-color))
var(--dark, var(--primary-color-5));
box-shadow:
inset 0 0 0 1px var(--light, var(--primary-color-6)) var(--dark, var(--primary-color-7)),
0 4px 16px rgb(0 0 0 / 15%);
}
.dx-color-picker-popover[data-state="open"] {
animation: dx-color-picker-popover-fade-in .15s ease-out;
}
.dx-color-picker-popover[data-state="closed"] {
animation: dx-color-picker-popover-fade-out .15s ease-out forwards;
pointer-events: none;
}
@keyframes dx-color-picker-popover-fade-in {
from {
opacity: 0;
transform: translateY(-4px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes dx-color-picker-popover-fade-out {
from {
opacity: 1;
transform: translateY(0);
}
to {
opacity: 0;
transform: translateY(-4px);
}
}
.dx-color-picker-dialog {
display: flex;
box-sizing: border-box;
flex-direction: column;
padding: 8px;
gap: 8px;
}
.dx-color-picker-input {
display: flex;
flex-direction: row;
align-items: flex-end;
gap: 4px;
}
.dx-color-picker[data-disabled="true"],
.dx-color-picker [data-disabled="true"] {
cursor: not-allowed;
opacity: 0.5;
}