fix(436 B06 평면 패널): 처음 높이 바닥 160 px · 높이 상한 = 패널 % 기준 칸(offsetParent) (433-8)
- 종단 판 펼친 B06 = 칸 225 px 라 32 % 가 72 px — max(32%, 160px) - 끌기 상한이 높이 0 인 횡단 center 를 재어 늘 120 px 로 눌림 — offsetParent 높이 − 48 px - PLAN 436-1 검증완료 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QfHKQs7J3hQELKMWQMUJEy
This commit is contained in:
@@ -93,7 +93,7 @@
|
||||
}
|
||||
|
||||
/* 횡단 보기 위 평면 겹침 패널(요구 258 · 263 · `design_plan_peek`) — 카드 칸 위에 뜸(자리 안 차지) ·
|
||||
닫히면 손잡이만 위 가운데 · 열면 처음 높이 32 % · 아래 끝 끌어 조절 · 조작은 B05 평면 그대로라
|
||||
닫히면 손잡이만 위 가운데 · 열면 처음 높이 32 %(160 px 아래로 안 감) · 아래 끝 끌어 조절 · 조작은 B05 평면 그대로라
|
||||
단추 줄 · 안내 · 상태줄 등만 감춤. */
|
||||
.design-plan-peek {
|
||||
position: absolute;
|
||||
@@ -106,7 +106,7 @@
|
||||
}
|
||||
|
||||
.design-plan-peek.is-open {
|
||||
height: var(--design-plan-peek-height, 32%);
|
||||
height: var(--design-plan-peek-height, max(32%, 160px)); /* 종단 판 펼친 B06 = 칸이 낮음 */
|
||||
}
|
||||
|
||||
/* 높이 끌기 손잡이 = 패널 아래 끝(공용 세로 손잡이는 위 끝) · 열렸을 때만 */
|
||||
|
||||
@@ -29,13 +29,14 @@ export function mountPlanPeek(
|
||||
body.append(note);
|
||||
const handle = createWorkflowPanelHandle("bottom", "up", "평면");
|
||||
// 아래 끝 끌어 높이 — 120 px ~ 칸 높이 − 48 px(손잡이 자리) · 두 번 누름 = 처음 높이(32 %)
|
||||
// 칸 = 패널 % 높이가 재는 자리(offsetParent) — `center` 는 높이 0
|
||||
const resizer = createPanelResizer({
|
||||
axis: "vertical",
|
||||
target: root,
|
||||
cssVar: "--design-plan-peek-height",
|
||||
direction: 1,
|
||||
min: 120,
|
||||
max: () => center.clientHeight - 48,
|
||||
max: () => (root.offsetParent?.clientHeight ?? 0) - 48,
|
||||
storageKey: stateKey("plan-peek-height") ?? undefined,
|
||||
});
|
||||
root.append(body, resizer.root, handle.root);
|
||||
|
||||
@@ -53,6 +53,7 @@ def test_높이_끌기와_기억() -> None:
|
||||
assert "createPanelResizer({" in PEEK
|
||||
assert 'cssVar: "--design-plan-peek-height",' in PEEK and "direction: 1," in PEEK
|
||||
assert 'storageKey: stateKey("plan-peek-height")' in PEEK
|
||||
assert "max: () => (root.offsetParent?.clientHeight ?? 0) - 48," in PEEK
|
||||
assert "resizer.restore();" in PEEK[PEEK.index("const open = async") :]
|
||||
state = (ROOT / "A00_Common" / "b_page_state.ts").read_text(encoding="utf-8")
|
||||
assert '"plan-peek-height": { bucket: "pref", scope: "global" },' in state
|
||||
@@ -65,7 +66,9 @@ def test_겹침_자리와_감춤() -> None:
|
||||
root = _rule(".design-plan-peek")
|
||||
assert "position: absolute;" in root and "z-index: 4;" in root
|
||||
assert "pointer-events: none;" in root # 닫힌 동안 카드 누름 통과
|
||||
assert "height: var(--design-plan-peek-height, 32%);" in _rule(".design-plan-peek.is-open")
|
||||
assert "height: var(--design-plan-peek-height, max(32%, 160px));" in _rule(
|
||||
".design-plan-peek.is-open"
|
||||
)
|
||||
hidden = CSS[CSS.index(".design-plan-peek .b05-routeedit__tools,") :]
|
||||
hidden = hidden[: hidden.index("}")]
|
||||
for part in ("__tools", "__info", "__measure", "__side-wrap", "b05-contourlock"):
|
||||
|
||||
Reference in New Issue
Block a user