From c3e56f2e680a25118298762e75de2a2d02d355d9 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Sun, 11 Oct 2026 16:45:03 +0900 Subject: [PATCH] =?UTF-8?q?feat(B06):=20269-2=20=EC=A2=8C=EC=B8=A1=20?= =?UTF-8?q?=EC=BB=A8=ED=85=8C=EC=9D=B4=EB=84=88(=ED=9A=A1=EB=8B=A8=20?= =?UTF-8?q?=EB=B3=B4=EA=B8=B0=20=EC=84=A4=EC=A0=95=20=C2=B7=20=ED=91=9C?= =?UTF-8?q?=EC=A4=80=20=ED=9A=A1=EB=8B=A8=EB=A9=B4=20=EC=84=A4=EC=A0=95)?= =?UTF-8?q?=20=3D=20=EA=B3=B5=EC=9A=A9=20=EC=96=91=EC=8B=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - createSectionFrame 횡단 칸 틀에 .ui-panel-form · 칸 · 라벨 · 단추 = 「구조물 배치」 기준 - B06 덧칠(칸 글자 · 색 · 오류 칸 접기) 걷음 · 줄 배치만 남김 - 시험 test_269_panel_form B06 항목 Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01QND7Co43B24zK2P937rdxt --- A00_Common/design/design_panel.ts | 3 ++- B06_Section/B06_Section_UI_Style.css | 8 +------ resources/tester/test_269_panel_form.py | 28 +++++++++++++++++++++++++ 3 files changed, 31 insertions(+), 8 deletions(-) diff --git a/A00_Common/design/design_panel.ts b/A00_Common/design/design_panel.ts index 08333ed9b..47e3a136d 100644 --- a/A00_Common/design/design_panel.ts +++ b/A00_Common/design/design_panel.ts @@ -90,7 +90,8 @@ export function createSectionFrame( root.append(heading, body); return { root, body }; } - root.className = `b06-profile__group ui-collapsible ui-sidebar-section${collapsed ? " is-collapsed" : ""}`; + // ui-panel-form: 좌측 패널 컨테이너 공용 양식(269 · 「구조물 배치」 기준 칸 · 라벨 · 단추). + root.className = `b06-profile__group ui-collapsible ui-sidebar-section ui-panel-form${collapsed ? " is-collapsed" : ""}`; heading.className = "b06-profile__group-legend ui-collapsible__title"; root.append(heading); return { root, body: root }; diff --git a/B06_Section/B06_Section_UI_Style.css b/B06_Section/B06_Section_UI_Style.css index c4d3492ec..af048abe8 100644 --- a/B06_Section/B06_Section_UI_Style.css +++ b/B06_Section/B06_Section_UI_Style.css @@ -51,8 +51,6 @@ 문제 제거(2026-08-06 사용자 보고). */ border-radius: var(--radius-cards); background-color: var(--color-surface-raised); - color: var(--color-text-body); - font-size: var(--text-caption); } .b06-profile__group-legend { @@ -64,7 +62,7 @@ /* 라벨·입력·버튼을 **한 줄**로 세운다(횡단 보기 설정, 2026-08-23 사용자 지시). ui-field는 기본이 세로(라벨 위·입력 아래·그 아래 오류 슬롯)라 그대로 두면 버튼이 - 오류 슬롯 높이만큼 밀려 수평이 안 맞는다 — 이 줄에서만 가로로 눕히고 오류 슬롯을 접는다. */ + 오류 슬롯 높이만큼 밀려 수평이 안 맞는다 — 이 줄에서만 가로로 눕힘(오류 슬롯 접기 = 공용 양식 `.ui-panel-form`). */ .b06-profile__field-row { display: flex; align-items: center; @@ -91,10 +89,6 @@ min-width: 0; } -.b06-profile__field-row .ui-field__error { - display: none; -} - /* 창이 좁아 좌측 패널이 237px 까지 물러난 자리 — 라벨이 안 줄어 2px 이 새어 나왔다. 그 폭에서만 라벨을 윗줄로 접는다. 넓은 폭 배치는 손대지 않는다(2026-09-08 실측). ⚠ 폭 제한 없이 `flex-wrap` 을 주면 넓은 폭에서도 라벨이 윗줄로 올라간다 — 재 보고 되돌렸다. */ diff --git a/resources/tester/test_269_panel_form.py b/resources/tester/test_269_panel_form.py index 1bd68f6ec..124de92bc 100644 --- a/resources/tester/test_269_panel_form.py +++ b/resources/tester/test_269_panel_form.py @@ -5,6 +5,8 @@ - 공용 양식 = ui_template 한 곳(`.ui-panel-form` · `.ui-panel-btn` · 카드 `createPanelCard`) · 칸 높이 · 라벨 틈 토큰 = theme 한 곳 · 「구조물 배치」도 같은 토큰. - B07 컨테이너 = 공용 카드 · 도면 단추 = `.ui-panel-btn` · 페이지 덧칠(크기 · 글자 · 바탕) 없음. + - B06 컨테이너(횡단 보기 설정 · 표준 횡단면 설정) = 칸 틀 `createSectionFrame` 이 공용 양식을 붙임 · + 단추 · 입력칸 = 공용 함수(createButton · createInputField · createSelectField) · B06 덧칠 없음. """ import re @@ -24,6 +26,10 @@ B05_STRUCT_CSS = _read("B05_Profile/B05_Profile_UI_Style_Structures.css") B07_CSS = _read("B07_DesignDetail/B07_DesignDetail_UI_Style.css") B07_PANELS = _read("B07_DesignDetail/B07_DesignDetail_UI_Panels.ts") B07_PLAN = _read("B07_DesignDetail/B07_DesignDetail_UI_PlanKinds.ts") +DESIGN_PANEL = _read("A00_Common/design/design_panel.ts") +B06_CSS = _read("B06_Section/B06_Section_UI_Style.css") +B06_PANEL = _read("B06_Section/B06_Section_UI_Page_Panel.ts") +B06_STD = _read("B06_Section/B06_Section_UI_Standard_Panel.ts") def _block(css: str, selector: str) -> str: @@ -94,3 +100,25 @@ def test_B07_페이지_덧칠_없음(): assert "font-size" not in _block(B07_CSS, ".b07-drawing-button__name") assert ".b07-cross-layout .ui-btn" not in B07_CSS assert ".b07-cross-layout .ui-field__error" not in B07_CSS + + +def test_B06_컨테이너_공용_양식(): + frame = DESIGN_PANEL[DESIGN_PANEL.index("export function createSectionFrame(") :] + frame = frame[: frame.index("\n}\n")] + cross = frame[frame.index("b06-profile__group ui-collapsible") :] + assert "ui-panel-form" in cross.splitlines()[0] + for src in (B06_PANEL, B06_STD): + assert "createSectionFrame(" in src or "createButton(" in src + assert "