Files
Aislo/ui_template/ui_template_item_picker.css
T
eomsangdonandClaude Sonnet 5.5 91e85cfd95 feat(ui): B05/B06 구조물 조합 고르기 모달 상단에 M02 구조물집계표 보기 전용 표 (224-1)
- 고른 항목이 속한 층 · 주인의 구조물집계표를 M02 와 같은 표 부품 · 줄 글 도우미(numberLabels) · 숨김 열 규칙(comboView)으로 보임
- 같은 층 다른 조합 = 열만 옮김 · 다른 층 = 표 바뀜 · 편집 화면에서는 숨김
- 새 시험 test_224_1 · test_m02_combo_table 단정 고침

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015sDZSjFvoiDjdGpgj3muc3
2026-10-10 16:31:18 +09:00

306 lines
6.4 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* 항목 고르기 모달 — 왼쪽 나무 · 오른쪽 폴더 모양 · 머리 단추(147-2) */
/* 크기 = 공용 큰 창(곁값 wide · 96vw × 94vh · 147-2) */
.ui-item-picker__cols {
display: grid;
/* 왼쪽 = M02 좌측 패널 폭(320px · 173-2) */
grid-template-columns: var(--wf-left-panel-width) minmax(320px, 1fr);
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__layers {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: var(--spacing-4);
}
/* 나무 상자 = M02 나무 꼴(테두리 없음 · 긴 이름은 줄바꿈 · 173-2) */
.ui-item-picker__tree {
display: flex;
flex-direction: column;
gap: 2px;
flex: 1;
min-height: 0;
overflow: auto;
}
.ui-item-picker__tree .ui-tree__row {
min-width: 0;
overflow-wrap: anywhere;
}
.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;
}
/* 상단 표(224-1) — M02 구조물집계표 같은 부품 · 높이만 줄임(표 안에서 굴림) */
.ui-item-picker__table-wrap {
flex: none;
min-width: 0;
}
.ui-item-picker__table .ui-sheet__scroll {
max-height: 26vh;
}
.ui-item-picker__table-wrap[hidden],
.ui-item-picker__table[hidden] {
display: none;
}
.ui-item-picker__cols[hidden],
.ui-item-picker__actions[hidden],
.ui-item-picker .ui-modal__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);
}
/* 일위대가 카드(39-1c) — 담은 로직 · 자재 수 · 기준 합 · 반영 합 글 */
.ui-item-picker__labor-line {
margin: 0 0 var(--spacing-4);
color: var(--color-text-body);
font-size: 13px;
}
.ui-item-picker__labor-line.is-strong {
font-weight: var(--font-weight-medium);
}
.ui-item-picker__labor-line.is-warn {
color: var(--color-danger);
}