feat(M02): 일위대가 · 면적산출 상세 오른쪽 패널 따로 스크롤 — follow:false · 고정 높이 · 원문 강조는 패널 몸만(85-5)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W4uKaV4ZBhsJN4GHG7yRj4
This commit is contained in:
2026-10-08 12:12:45 +09:00
co-authored by Claude Opus 5.5
parent eaeff398dc
commit b08796ab4e
9 changed files with 110 additions and 10 deletions
@@ -99,6 +99,7 @@ export function buildAreaPanel(opts: AreaPanelOptions): AreaPanel {
const panels = createSidePanels({
prefKey: "m02-area-panels",
defaultWidth: DEFAULT_WIDTH,
follow: false, // 85-5 — 면적 상세 고정 높이 칸을 채움 · 메인 스크롤과 따로
panels: [
{ id: "labor", title: TEXT.labor, body: view.root },
{ id: "drawing", title: TEXT.drawing, body: drawing.root },
@@ -141,6 +141,7 @@ export function mountLaborDetail(
? null
: createSidePanels({
prefKey: "m02-labor-side",
follow: false, // 85-5 — 상세 고정 높이 칸을 채움 · 메인 스크롤과 따로
panels: [{ id: "source", title: tc("Labor_Source"), body: sourceHost }],
onChange: () => showSource(),
});
@@ -152,6 +152,30 @@
min-width: 0;
}
/* 일위대가 상세(85-5) — 면적 상세와 같은 고정 높이 · 본문 칸만 굴림 · 오른쪽 패널은 칸 높이(따로 스크롤) */
.m02-main:has(> .m02-main__host > .ui-side-panels-row) {
box-sizing: border-box;
height: calc(100vh - var(--spacing-64));
min-height: 0;
}
.m02-main__host:has(> .ui-side-panels-row) {
display: flex;
flex: 1 1 0;
min-height: 0;
}
.m02-main__host > .ui-side-panels-row {
flex: 1 1 0;
min-width: 0;
min-height: 0;
}
.m02-main__host > .ui-side-panels-row > :first-child {
min-height: 0;
overflow: auto;
}
.m02-main__empty {
margin: 0;
padding: var(--spacing-24);