Files
Aislo/ui_template/ui_template_range_bar.css
T

112 lines
2.7 KiB
CSS

/* 부품 「범위 바」(631) — 칸 · 경계 입력 · 색 상자 · 단 값은 ui_template_button.css */
.ui-range-bar {
display: flex;
flex-direction: column;
gap: 8px;
}
.ui-range-bar__track {
display: flex;
align-items: flex-start;
gap: 4px;
}
.ui-range-bar__end {
flex: none;
display: inline-flex;
align-items: center;
height: var(--ui-size-h);
color: var(--color-text-secondary);
font-size: var(--text-caption);
white-space: nowrap;
}
.ui-range-bar__seg {
flex: 1 1 0;
min-width: 16px;
height: var(--ui-size-h);
padding: 0;
border: 1px solid var(--color-border);
border-radius: var(--radius-sm);
background: var(--ui-range-bar-color, transparent);
cursor: pointer;
transition:
border-color var(--transition-fast),
box-shadow var(--transition-fast);
}
.ui-range-bar__seg[data-empty],
.ui-range-bar__swatch[data-empty]::before {
background: repeating-linear-gradient(
135deg,
var(--color-border-strong) 0 1px,
transparent 1px 5px
);
}
.ui-range-bar__seg:is(:hover, [data-state="hover"]):not(:disabled) {
border-color: var(--color-border-strong);
}
.ui-range-bar__seg[aria-pressed="true"] {
outline: 2px solid var(--color-accent);
outline-offset: 1px;
}
.ui-range-bar__seg:is(:active, [data-state="active"]):not(:disabled) {
box-shadow: inset 0 1px 2px var(--color-scrim);
}
.ui-range-bar__seg:disabled {
opacity: 0.5;
cursor: not-allowed;
}
.ui-range-bar__edge {
flex: none;
display: flex;
flex-direction: column;
width: 4rem;
gap: 2px;
}
.ui-range-bar__edge .ui-input {
padding: 0 4px;
text-align: center;
}
.ui-range-bar__hint {
color: var(--color-text-muted);
font-size: var(--text-caption);
text-align: center;
white-space: nowrap;
}
.ui-range-bar__colors {
display: flex;
flex-wrap: wrap;
gap: 4px;
}
.ui-range-bar__swatch {
display: inline-flex;
align-items: center;
gap: 4px;
height: 24px;
padding: 0 8px;
border: 1px solid var(--color-border);
border-radius: var(--radius-pills);
background: var(--color-surface-raised);
color: var(--color-text-secondary);
font: inherit;
font-size: var(--text-caption);
cursor: pointer;
}
.ui-range-bar__swatch::before {
content: "";
width: 12px;
height: 12px;
border-radius: 2px;
background: var(--ui-range-bar-color);
}
.ui-range-bar__swatch[data-empty]::before {
box-shadow: inset 0 0 0 1px var(--color-border-strong);
}
.ui-range-bar__swatch:is(:hover, [data-state="hover"]):not(:disabled) {
background: var(--color-hover);
color: var(--color-text);
}
.ui-range-bar__swatch[aria-pressed="true"] {
border-color: var(--color-accent);
background: var(--color-accent-soft);
color: var(--color-accent);
font-weight: var(--font-weight-bold);
}