feat(B09): 설계내역서 접히지 않는 트리 — 폴더 줄 수식 · 파일 줄 입력 · 안내선 · 더블클릭 입력 · 고른 줄 상자(235-1)

- 공용 표 editOnDouble — 고칠 칸 = 글 · 더블클릭 · Enter · F2 = 그 칸만 글 상자 · Enter · 초점 떠남 = 입력 끝
- 공용 표 level.tree — ├ └ │ 안내선 + 폴더 · 파일 아이콘(공용 나무와 한 벌 TREE_ICON)
- 설계내역서 — 폴더 줄 금액 = 자손 합 수식 풍선 · 고른 줄 = accent 상자 테두리
- test_235_1 새 시험 · test_228_1 들여쓰기 식 개수 고침

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SE9MxeXTu2uaDZ55BJowAY
This commit is contained in:
2026-10-10 19:09:00 +09:00
co-authored by Claude Opus 5.5
parent 21c1428772
commit 3e70362b14
10 changed files with 580 additions and 27 deletions
+54
View File
@@ -195,6 +195,60 @@
text-align: left;
}
/* 나무(PLAN 235-1 · level.tree) — 접히지 않는 나무 안내선 · 폴더 · 파일 아이콘(공용 나무 ui_template_tree 꼴)
* 안내선 칸 한 단 = 들여쓰기 한 칸 · 선 = 칸 가운데(윗대 아이콘 가운데) · 고정 열 칸은 sticky 가 자리 기준 */
.ui-data-table__table td.has-tree:not(.is-frozen) {
position: relative;
}
.ui-data-table__guide {
position: absolute;
z-index: 1;
top: 0;
bottom: 0;
left: calc(var(--spacing-8) + var(--g, 0) * var(--dt-indent));
width: var(--dt-indent);
pointer-events: none;
}
.ui-data-table__guide::before,
.ui-data-table__guide::after {
content: "";
position: absolute;
left: 50%;
}
/* │ 윗대 형제가 아래에 더 있음 · ├ 형제가 아래에 더 있음 · └ 끝 형제 */
.ui-data-table__guide::before {
top: 0;
bottom: 0;
border-left: 1px solid var(--color-border);
}
.ui-data-table__guide.is-end::before {
bottom: 50%;
}
.ui-data-table__guide.is-tee::after,
.ui-data-table__guide.is-end::after {
top: 50%;
width: 50%;
border-top: 1px solid var(--color-border);
}
.ui-data-table__icon {
display: inline-flex;
margin-right: var(--spacing-4);
color: var(--color-text-secondary);
vertical-align: -2px;
}
.ui-data-table__table td.has-tree .ui-data-table__input {
padding-left: calc(
var(--spacing-8) + var(--dt-lv, 0) * var(--dt-indent) + 14px + var(--spacing-4)
);
}
/* 레벨 글꼴(PLAN 228-1) — 묶음 줄(is-node) 굵게 · 크기는 레벨 · 항목 줄은 14px 보다 크지 않게(Lv1 · 2 항목 = 기본) */
.ui-data-table__table td.ui-data-table__lv.is-node {
font-weight: var(--font-weight-bold);