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 "