diff --git a/B07_DesignDetail/B07_DesignDetail_UI_Style.css b/B07_DesignDetail/B07_DesignDetail_UI_Style.css index 7a3585737..251ad8c83 100644 --- a/B07_DesignDetail/B07_DesignDetail_UI_Style.css +++ b/B07_DesignDetail/B07_DesignDetail_UI_Style.css @@ -500,6 +500,17 @@ html.is-bm-route .b07-cad-stack > .cad-tabs { width: min(360px, 92vw); } +/* 좁은 폭 — 제목 · 머리 단추 한 줄(줄바꿈 없음) */ +.ui-modal.b07-settings .ui-modal__top > h3 { + font-size: 16px; + white-space: nowrap; +} + +.ui-modal.b07-settings .ui-modal__top .ui-btn { + padding-inline: var(--spacing-8); + white-space: nowrap; +} + .b07-settings__note { margin: 0; color: var(--color-text-secondary); @@ -536,6 +547,14 @@ html.is-bm-route .b07-cad-stack > .cad-tabs { margin-left: auto; } +/* 단추 줄 한 규격 — 안내선 단추(좌측 패널 작은 꼴)도 같은 키 · 좁은 폭에 맞춘 옆 여백 */ +.b07-settings__actions .ui-btn { + padding: var(--spacing-8) var(--spacing-12); + font-size: var(--text-body-sm); + border-radius: var(--radius-buttons); + white-space: nowrap; +} + /* ⚙ 축척 칸(485-2) — X · Y(· 평면도) 칸 한 줄 */ .b07-scale { display: flex; diff --git a/ui_template/ui_template_modal.ts b/ui_template/ui_template_modal.ts index 083b4d5e8..a74de124d 100644 --- a/ui_template/ui_template_modal.ts +++ b/ui_template/ui_template_modal.ts @@ -50,10 +50,11 @@ export function openModal(opts: ModalOptions): { close: () => void } { className: `ui-modal__backdrop ${opts.backdropClass ?? ""}`.trim(), children: [dialog], }); - // 바깥 누르기 = 누름 · 뗌 둘 다 바깥일 때만 — 칸 안에서 끌어 바깥에서 떼면 안 닫음 - let downOutside = false; - backdrop.addEventListener("pointerdown", (ev) => (downOutside = ev.target === backdrop)); - backdrop.addEventListener("click", (ev) => ev.target === backdrop && downOutside && void ask()); + // 바깥 누르기 = 누름 · 뗌 둘 다 바깥일 때만 — 칸 안에서 끌어 바깥에서 떼면(그 반대도) 안 닫음 + let outside = false; + backdrop.addEventListener("pointerdown", (ev) => (outside = ev.target === backdrop)); + backdrop.addEventListener("pointerup", (ev) => (outside &&= ev.target === backdrop)); + backdrop.addEventListener("click", (ev) => ev.target === backdrop && outside && void ask()); backdrop.addEventListener("keydown", (ev) => ev.key === "Escape" && void ask()); opts.mount(body, close, actions); // 단추가 있을 때만 머리에 — [닫기] 는 머리 직속 그대로(B05 추천의 `.ui-modal__top > button` 갈아 끼우기)