- 공용 .ui-modal: 세로 가운데 대신 최대 높이 기준 가운데 자리에 윗변 고정 · 아래로만 늘고 줆(찾기 칸이 안 움직임) · 큰 창은 --modal-max(고르기 모달 94vh · 노선 추천 92vh · M01 복사 시트 90vh) · M02 단추 아래 작은 창은 margin-top 0 - 따로 둔 모달도 같게: B01 대시보드 모달 · M01 로직 고르기(m01-logic) · M01 조달 찾기 - 가운데 그대로: 불러오는 중 가림 · 공용 확인 창 · B03 확인 창 · B05 노선 편집(고정 높이) · 스프레드시트 메모 편집 - 「더하기」 → 「추가」 25곳(스프레드시트 · M01 · M02 · 공용 표 · locale) · 안쪽 명령 이름 시트더하기 · 주석은 그대로 - 시험 test_modal_top_and_add_word 새로 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Ly2oHAaTDYRjcniAmHR81z
272 lines
5.6 KiB
CSS
272 lines
5.6 KiB
CSS
/* 항목 고르기 모달 — 왼쪽 나무 · 오른쪽 폴더 모양 · 아래 단추 */
|
|
/* 공용 모달(.ui-modal)의 폭 · 높이보다 앞서게 — 불러오는 차례에 따라 뒤집히지 않도록 두 클래스 */
|
|
.ui-modal.ui-item-picker {
|
|
width: min(1320px, 96vw);
|
|
--modal-max: 94vh;
|
|
}
|
|
|
|
.ui-item-picker .ui-modal__body {
|
|
height: min(80vh, 800px);
|
|
}
|
|
|
|
.ui-item-picker__cols {
|
|
display: grid;
|
|
grid-template-columns: minmax(220px, 3fr) minmax(320px, 9fr);
|
|
gap: var(--spacing-12);
|
|
flex: 1;
|
|
min-height: 0;
|
|
}
|
|
|
|
.ui-item-picker__left {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--spacing-8);
|
|
min-height: 0;
|
|
min-width: 0;
|
|
}
|
|
|
|
.ui-item-picker__tree {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 2px;
|
|
flex: 1;
|
|
min-height: 0;
|
|
padding: var(--spacing-4);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-lg);
|
|
overflow: auto;
|
|
}
|
|
|
|
.ui-item-picker__detail {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--spacing-8);
|
|
min-width: 0;
|
|
min-height: 0;
|
|
padding: var(--spacing-12);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-lg);
|
|
overflow: auto;
|
|
}
|
|
|
|
.ui-item-picker__cols[hidden],
|
|
.ui-item-picker__actions[hidden],
|
|
.ui-item-picker__edit-host[hidden] {
|
|
display: none;
|
|
}
|
|
|
|
.ui-item-picker__head {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--spacing-4);
|
|
}
|
|
|
|
/* 프로젝트 복사본 상태 줄 — 가져온 날 · 마스터가 바뀜 · [새로 가져오기] */
|
|
.ui-item-picker__status {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: var(--spacing-8);
|
|
align-items: center;
|
|
color: var(--color-text-secondary);
|
|
font-size: var(--text-caption);
|
|
}
|
|
|
|
.ui-item-picker__changed {
|
|
color: var(--color-warning);
|
|
}
|
|
|
|
.ui-item-picker__fake {
|
|
padding: 0 var(--spacing-8);
|
|
border: 1px dashed var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
}
|
|
|
|
/* 카드 넷 — M02 와 같은 카드 · 칸이 좁으면 한 줄씩(카드 하나가 300px 안 되면) */
|
|
.ui-item-picker__cards {
|
|
display: flex;
|
|
min-width: 0;
|
|
}
|
|
|
|
.ui-item-picker__cards .m02-struct {
|
|
flex: 1 1 0;
|
|
padding-top: 0;
|
|
border-top: 0;
|
|
min-width: 0;
|
|
}
|
|
|
|
/* 편집 화면 — 뒤로 · 제목 · 저장 한 줄 + 편집 부품이 남는 높이를 채움 */
|
|
.ui-item-picker__edit-host {
|
|
display: flex;
|
|
flex: 1;
|
|
min-height: 0;
|
|
}
|
|
|
|
.ui-item-picker__edit {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--spacing-8);
|
|
flex: 1;
|
|
min-width: 0;
|
|
min-height: 0;
|
|
}
|
|
|
|
.ui-item-picker__edit-top {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: var(--spacing-8);
|
|
align-items: center;
|
|
}
|
|
|
|
.ui-item-picker__edit-title {
|
|
flex: 1 1 12rem;
|
|
margin: 0;
|
|
color: var(--color-text-heading);
|
|
font-size: var(--text-body);
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.ui-item-picker__edit-note {
|
|
color: var(--color-text-secondary);
|
|
font-size: var(--text-caption);
|
|
}
|
|
|
|
.ui-item-picker__edit-body {
|
|
display: flex;
|
|
flex: 1;
|
|
min-height: 0;
|
|
min-width: 0;
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-lg);
|
|
overflow: hidden;
|
|
}
|
|
|
|
.ui-item-picker__edit-sheet,
|
|
.ui-item-picker__edit-cad {
|
|
display: flex;
|
|
flex: 1;
|
|
min-width: 0;
|
|
min-height: 0;
|
|
}
|
|
|
|
/* 도면 부품(.m02-drawing)이 남는 높이를 채움 — M02 메인 칸과 같은 자리 규칙 */
|
|
.ui-item-picker__edit-cad > .m02-drawing {
|
|
flex: 1 1 0;
|
|
}
|
|
|
|
.ui-item-picker__edit-sheet > .ss {
|
|
flex: 1 1 0;
|
|
min-width: 0;
|
|
}
|
|
|
|
.ui-item-picker__edit-inputs {
|
|
display: flex;
|
|
flex-direction: column;
|
|
flex: 1;
|
|
min-width: 0;
|
|
min-height: 0;
|
|
padding: var(--spacing-8);
|
|
}
|
|
|
|
.ui-item-picker__edit-inputs > .m02-struct__card {
|
|
flex: 1 1 0;
|
|
border: 0;
|
|
}
|
|
|
|
.ui-item-picker__edit-inputs .m02-inputs__wrap {
|
|
min-height: 0;
|
|
}
|
|
|
|
.ui-item-picker__name {
|
|
margin: 0;
|
|
font-size: var(--text-body);
|
|
color: var(--color-text-heading);
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.ui-item-picker__where,
|
|
.ui-item-picker__hint {
|
|
margin: 0;
|
|
color: var(--color-text-secondary);
|
|
font-size: var(--text-caption);
|
|
}
|
|
|
|
.ui-item-picker__hint {
|
|
padding: var(--spacing-8);
|
|
}
|
|
|
|
.ui-item-picker__folder {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--spacing-4);
|
|
margin: 0;
|
|
padding: 0 0 0 var(--spacing-12);
|
|
border-left: 2px solid var(--color-border);
|
|
list-style: none;
|
|
}
|
|
|
|
.ui-item-picker__folder li {
|
|
display: flex;
|
|
gap: var(--spacing-8);
|
|
align-items: baseline;
|
|
min-width: 0;
|
|
color: var(--color-text-body);
|
|
font-size: var(--text-caption);
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.ui-item-picker__folder-label {
|
|
flex: 0 0 5.5em;
|
|
color: var(--color-text-secondary);
|
|
}
|
|
|
|
.ui-item-picker__key {
|
|
color: var(--color-text-secondary);
|
|
font-size: 11px;
|
|
}
|
|
|
|
.ui-item-picker__none {
|
|
color: var(--color-text-secondary);
|
|
}
|
|
|
|
.ui-item-picker__actions {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: var(--spacing-8);
|
|
}
|
|
|
|
/* 좁은 폭 — 나무는 위(낮게) · 상세는 아래로 쌓고 카드는 한 줄씩 */
|
|
@media (max-width: 760px) {
|
|
.ui-item-picker__cols {
|
|
grid-template-columns: minmax(0, 1fr);
|
|
grid-template-rows: minmax(0, 2fr) minmax(0, 3fr);
|
|
overflow: auto;
|
|
}
|
|
}
|
|
|
|
/* 구조물 복사본 상태 줄 — 고침 · 마스터가 바뀜 · 원본 없음 표시 */
|
|
.ui-item-picker__badge {
|
|
padding: 0 var(--spacing-8);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
color: var(--color-text);
|
|
}
|
|
|
|
.ui-item-picker__badge.is-warn {
|
|
border-color: var(--color-warning);
|
|
color: var(--color-text);
|
|
font-weight: 600;
|
|
}
|
|
|
|
/* [적용] 뒤 구조물 [저장] 안내 한 줄 — 단추 왼쪽 */
|
|
.ui-item-picker__saveline {
|
|
margin-right: auto;
|
|
align-self: center;
|
|
color: var(--color-text-secondary);
|
|
font-size: var(--text-caption);
|
|
}
|
|
|
|
/* 글 묻는 작은 창(개인에 저장 · 새 항목) */
|
|
.ui-modal.ui-item-ask {
|
|
width: min(28rem, 92vw);
|
|
}
|