feat(M01): 단가산출 로직 상세 차례 · 오른쪽 흐름도/원문 두 패널

- 좌측 차례 = 기본정보 › 시험 계산 › 단가산출 상세 › 텍스트 수식
- 오른쪽 패널 둘(흐름도 · 원문) — 하나만 열림 · 둘 다 접기 · 머리 토글 단추 · 열린 패널 계정 취향(m01-logic-panel)
- 흐름도 패널 접힘을 부르는 쪽이 정하는 길(folded · onFold · fold)
- 원문 패널 = 출처 글로 품셈 본문 절을 찾아 보임(GET /api/m01/logic/source) · 못 찾으면 「원문 연결 없음」 + 출처
- 시험 test_m01_logic_source.py · 화면 시나리오 ui_checks/44-4_로직상세_패널.js

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NPJGtfXo6GMbcpiboQC4uK
This commit is contained in:
2026-10-05 11:31:09 +09:00
co-authored by Claude Opus 5.5
parent 576b12eb7d
commit 7d39f90a0e
11 changed files with 520 additions and 11 deletions
@@ -0,0 +1,54 @@
/* 로직 상세 오른쪽 두 패널 — 흐름도 · 원문 · 접힌 패널은 얇은 띠 */
.m01lab-side {
display: flex;
align-items: stretch;
min-width: 0;
}
.m01lab-side__slot {
flex: 0 0 40px;
min-width: 0;
}
.m01lab-side__slot.is-open {
flex: 1 1 auto;
}
/* 접힌 흐름도 자리 — 띠만(기다림 글 · 변환 알림은 숨김) */
.m01lab-side__slot:not(.is-open) > :not(.m01lab-flow__panel, .m01lab-src) {
display: none;
}
.m01lab-src__body {
display: flex;
flex-direction: column;
gap: var(--spacing-8);
min-width: 0;
max-height: 80vh;
overflow: auto;
}
.m01lab-src__head {
margin: var(--spacing-8) 0 0;
}
.m01lab-src__p {
margin: 0;
white-space: pre-wrap;
line-height: 1.6;
}
.m01lab-src__file {
margin: 0;
font-size: var(--text-body-sm);
word-break: break-all;
}
.m01lab-src__none {
margin: 0;
font-weight: 600;
}
.m01lab-src__table td {
white-space: nowrap;
}