feat(M02): 면적산출 · 재료산출 오른쪽 조합 패널 — 조합 목록 · 이 열에 쓰기 · 조합 고치기

- 오른쪽 안쪽 패널: 공용 사이드바 카드 · 접기(attachCollapsible) · 공용 폭 손잡이(createPanelResizer · 폭 기억 · 최소 280 · 최대 60%) · 공용 접기 손잡이(createWorkflowPanelHandle)
- 「이 열의 조합」 칸: 면적 = 일위대가 조합 줄 + [조합 고치기] · 재료 = 담은 자재 표(옆 판 aside 없앰)
- 조합 목록: 면적 = 일위대가(UA) · 재료 = 자재 조합(UM) · 키 · 이름 · 수 · 본뜬키 · 찾기 · 이 열 조합 강조
- [이 열에 쓰기]: 서버 POST /api/m02/structures/{column}/use-combo(집계표 판 검사 · 그 열 키만 바꿈 · 조합은 그대로) → 알약 다시 받음
- 상태 등록표에 m02-combo-panel-width · collapsed · 시험 더함

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019Kyw9qnkJ94pC1A4PfpDtA
This commit is contained in:
2026-09-29 09:04:19 +09:00
co-authored by Claude Opus 5.5
parent acc4408028
commit 1bba901834
12 changed files with 461 additions and 68 deletions
@@ -74,42 +74,19 @@
line-height: 1.5;
}
/* 재료산출 — 엑셀 옆 접히는 판 */
.m02-main__host:has(> .ss) > .m02-mat {
flex: none;
}
/* 재료산출 — 오른쪽 조합 패널 「이 열의 조합」 칸: 담은 자재 표 */
.m02-mat {
order: 2;
display: flex;
flex-direction: column;
gap: var(--spacing-8);
width: min(30rem, 42%);
min-height: 0;
padding: var(--spacing-8);
border-left: 1px solid var(--color-border);
overflow: auto;
}
.m02-mat.is-collapsed {
width: auto;
}
.m02-mat.is-collapsed .m02-mat__body {
display: none;
}
.m02-mat > .ui-btn {
align-self: flex-start;
}
.m02-mat__body {
display: flex;
flex-direction: column;
gap: var(--spacing-8);
font-size: var(--text-body-sm);
}
/* 패널 폭이 좁아도 줄이 넘치지 않게 — 이름 · 규격 칸이 줄어듦 */
.m02-mat .m02-mat__row {
grid-template-columns: 5.5rem minmax(0, 1.4fr) minmax(0, 1fr) 2.5rem 3rem auto;
}
.m02-mat__title {
display: flex;
flex-wrap: wrap;
@@ -138,7 +115,3 @@
flex-wrap: wrap;
gap: var(--spacing-8);
}
.m02-main__combo:empty {
display: none;
}