Files
Aislo/ui_template/ui_template_toggle.css
T
eomsangdonandClaude Opus 5.5 2c51bb53a6 feat(ui-kit): 기본 부품 입력 · 고르기 · 슬라이더 · 체크 · 켜기 · 분할 · 탭 · 배지 · 툴팁 · 보조 글 (PLAN 552-2)
- ui_template_input.ts · .css 새로 — createInputField · createSelectField 를 옮김(ui_template_elements 가 다시 내보냄 · 부르는 길 그대로) · size(data-size 단 높이) · unit(칸 안 단위) · multiline · createSlider(이름 | 막대 | 값 글 3열)
- 옛 compact 는 단을 안 붙임 — 옛 작은 칸 30 그대로(32 로 맞추면 페이지 칸이 바뀜 · 553 에서 단으로 옮김)
- 입력 · 고르기 상태 = 마우스 선 짙게 · 막힘 흐림 · 오류 빨강(aria-invalid 같이) · 고르기 화살표 = 보라 → 보조 글 색(밝음 · 어두움 따로)
- 체크 = 라디오 · 칩 꼴 더함(createCheckbox 부름 그대로) · 켜기(스위치 · 색 점 칩) · 분할 고르기(대시보드 .b01-sys-seg 꼴) · 탭(밑줄 · 보조 알약 = 옛 .ui-subtabs · 수 배지)
- 배지(알약 · 수 · 램프 ✓ ✗ · 점 · 옛 .ui-tag 같이) · 툴팁 제자리 상자(tooltipBox) · 보조 글(흐린 · 안내 · 오류 ✗ · 경고 ! · 성공 ✓)
- 부품 모음 기본 묶음 13 줄 모두 새 부품 견본 · 상태 다섯 칸 · 여덟 단 한 줄
- 시험 test_552_2_parts 새로(머리 · 옛 이름 · 크기 단 · 상태 · 날 색 없음 · 부품 모음 13)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 21:39:26 +09:00

87 lines
2.3 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* 부품 「켜기」(552-2) — 스위치 · 켜기 칩 · 단 값은 ui_template_button.css */
.ui-toggle {
display: inline-flex;
align-items: center;
gap: var(--ui-size-gap);
height: var(--ui-size-h);
padding: 0;
border: 0;
background: none;
color: var(--color-text-body);
font: inherit;
font-size: var(--ui-size-font);
line-height: 1;
white-space: nowrap;
cursor: pointer;
}
/* 스위치 막대 — 높이 = 단의 0.65 · 너비 = 높이 × 1.8 */
.ui-toggle__track {
position: relative;
flex: none;
width: calc(var(--ui-size-h) * 0.65 * 1.8);
height: calc(var(--ui-size-h) * 0.65);
border-radius: var(--radius-pills);
background: var(--color-smoke);
transition: background-color var(--transition-fast);
}
.ui-toggle__track::after {
content: "";
position: absolute;
top: 2px;
left: 2px;
width: calc(var(--ui-size-h) * 0.65 - 4px);
height: calc(var(--ui-size-h) * 0.65 - 4px);
border-radius: 50%;
background: var(--color-canvas);
box-shadow: var(--shadow-sm);
transition: transform var(--transition-fast);
}
.ui-toggle[aria-checked="true"] .ui-toggle__track {
background: var(--color-accent);
}
.ui-toggle[aria-checked="true"] .ui-toggle__track::after {
transform: translateX(calc(var(--ui-size-h) * 0.65 * 0.8));
}
.ui-toggle:is(:hover, [data-state="hover"]):not(:disabled) {
color: var(--color-text);
}
.ui-toggle:is(:hover, [data-state="hover"]):not(:disabled) .ui-toggle__track {
filter: brightness(0.92);
}
/* 켜기 칩 — 알약 · 켜면 강조 테두리 · 바탕 */
.ui-toggle--chip {
padding-inline: var(--ui-size-px);
border: 1px solid var(--color-border);
border-radius: var(--radius-pills);
background: var(--color-surface-raised);
color: var(--color-text-secondary);
}
.ui-toggle--chip:is(:hover, [data-state="hover"]):not(:disabled) {
background: var(--color-hover);
}
.ui-toggle--chip[aria-pressed="true"] {
border-color: var(--color-accent);
background: var(--color-accent-soft);
color: var(--color-accent);
font-weight: var(--font-weight-medium);
}
.ui-toggle__dot {
flex: none;
width: 8px;
height: 8px;
border-radius: 50%;
}
.ui-toggle--chip[aria-pressed="false"] .ui-toggle__dot {
opacity: 0.4;
}
.ui-toggle:is(:active, [data-state="active"]):not(:disabled) {
transform: translateY(1px);
}
.ui-toggle:disabled {
opacity: 0.5;
cursor: not-allowed;
}