refactor(B06): 줌 · 조정창 단추 · 머리 알약 · 알림 칩 · 접이 넷 · 띠 알림 · 빈 상태를 부품으로 (PLAN 553-2)

- 줌 [+ − ⤢] = 아이콘 단추 22 · 상세 [칸에 넣기] = 단추 22 · [여럿] = 켜기 칩 22 · 사이 금 지움
- 구조물 조정창 십자 · 9키 · 단 수 [-][+] = 아이콘 단추(선) 22 · ✕ = 고스트 · 옵션 연동 · 경사 = 켜기 칩 24(유입 · 유출 칸 꼴은 그대로)
- 카드 머리 단면유형 = 배지(정보) 20 · 구조물 = 배지(강조) 20
- 알림 칩 = 단추(고스트) 20(색만 경고 / 정보) · 측점 목록 날 단추 = 단추(고스트) 20
- 날 details 넷(변수 위치 안내 · 상세값 · 다른 프로젝트 불러오기 · 횡단 조정) = 접이 구역(ui-collapsible) · 가이드 장면 선택자 `details.` 뗌
- 측점 없는 구조물 줄 · 표준 미반영 알림 = 띠 알림(경고) — 날 색 #fff8e6 · #e0b872 · #7a5a12 · #8a6a22 · 폴백 #d98324 지움
- 빈 그림 자리 = 빈 상태 · 선 치수 글 옛 보라 이름 → --color-accent
- 흉내 DOM 시험 · 서버 Node 묶음이 끄는 파일이라 부품 함수 대신 클래스 · data-size 계약 + 부품 CSS 직접 실음(묶음 셋 빌드 정상)
- 시험 넷 기대 고침 — 108(닫기 클래스) · 179-1(줌 사이 금 규칙 없음) · 196-1(칩 클래스) · 207-1(칩 반경 = 부품)
- 그대로 둔 것 — 수량 산출표(b06-detail__qtable · B07 산출서 병합 칸 · 세로선 = 부품 표에 없는 꼴) · 조정창 고르기 · 암 절토 칸(작은 단 없음) · 조정창 · ⋯ · 측점 목록 떠 있는 판

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-26 23:08:13 +09:00
co-authored by Claude Opus 5.5
parent 913122ac4e
commit e2b3a87828
21 changed files with 107 additions and 182 deletions
+2 -1
View File
@@ -115,7 +115,8 @@ def test_조정창은_제목과_단추만(out) -> None:
"""머리줄 = 제목 · 닫기(집수정 ↺ 없음) · BOX 오버레이 읽기 줄 = 끄는 중 미리 보기 하나."""
assert out["wall"]["diag1"]["overlayHead"] == [
"b06-structure-panel__title",
"b06-structure-panel__btn b06-structure-panel__close",
# 553-2 — 닫기 = 부품 아이콘 단추(선) 22 + 고스트 덮음
"ui-icon-btn ui-icon-btn--outline b06-structure-panel__btn b06-structure-panel__close",
]
assert out["box"]["left"]["value"] == ["b06-structure-panel__drag"]
assert out["ford"]["diag"]["value"] == ["b06-structure-panel__drag"]
@@ -17,11 +17,10 @@ def _src(rel: str) -> str:
def test_좁은_카드_내림_규칙_없음():
css = _src("B06_Section/B06_Section_UI_Style_Cross_Controls.css")
assert "@container" not in css
# 치수 칸 규칙은 기본 꼴 · 숨김(+ 옆 단추) 뿐 — 절대 자리 · 왼선 지움 규칙 없음
# 치수 칸 규칙은 기본 꼴 · 숨김 뿐 — 절대 자리 · 왼선 지움 규칙 없음(553-2 줌 단추 = 부품 · 사이 금 없음)
assert re.findall(r"\.b06-cross-card__line-dims[^{,;]*\{", css) == [
".b06-cross-card__line-dims {",
".b06-cross-card__line-dims[hidden] {",
".b06-cross-card__line-dims[hidden] + .b06-cross-card__zoom-btn {",
]
@@ -90,8 +90,17 @@ out.tags = chipsRow.children.map((c) => [c.tag, c.type]);
"""
)
assert got["v"]["chips"] == [
["성토 5m↑ 3", "false", "b06-section__notice-chip b06-section__notice-chip--warn"],
["소단 검토 5", "false", "b06-section__notice-chip b06-section__notice-chip--info"],
# 553-2 — 칩 = 부품 단추(고스트) 20
[
"성토 5m↑ 3",
"false",
"ui-btn ui-btn--ghost b06-section__notice-chip b06-section__notice-chip--warn",
],
[
"소단 검토 5",
"false",
"ui-btn ui-btn--ghost b06-section__notice-chip b06-section__notice-chip--info",
],
]
assert got["tags"] == [["button", "button"], ["button", "button"]]
assert got["v"]["panelHidden"] is True and got["v"]["rows"] == []
@@ -39,9 +39,11 @@ const marks = () => panel2.children.map((b) => [b.dataset.stationId, b.classList
def test_칩은_둥근_사각_공용_단추_반경_알약_아님():
# 553-2 — 칩 = 부품 단추(고스트 · 둥근 사각) · 페이지는 색만
chip = _rule(".b06-section__notice-chip")
assert "border-radius: var(--radius-buttons)" in chip
assert "radius-pills" not in chip and "radius-sm" not in chip
assert "border-radius" not in chip and "radius-pills" not in chip
chips = (B06 / "B06_Section_UI_Cross_Notice_Chips.ts").read_text(encoding="utf-8")
assert "`ui-btn ui-btn--ghost b06-section__notice-chip" in chips
def test_내용_칸은_흐름_밖_카드_위에_겹침():