- 가정하던 서버 함수를 실제 branchCombo · branchMaterialCombo · fetchMaterialCombo(M02 Api_Fetch)로 바꾸고 가정 파일은 열 조합 읽기만 남김 - 재료산출 알약 막대 자재 항목을 그 열 자재 조합 담은 자재로 · 알약 더하기 · 빼기(onItemsChange)와 옆 판 표를 같은 목록으로 맞춤 - 옆 판 줄을 누르면 이은 알약을 눌러 그 칸으로 이동(깜빡임) · 옆 판에서 고치면 알약 막대만 다시 만듦(시트 고침 유지) Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NWHNLQYPZN7kKf1rzrrRZq
145 lines
2.8 KiB
CSS
145 lines
2.8 KiB
CSS
/* M02 조합 줄(면적산출) · 조합 고치기 창 · 자재 목록 옆 판(재료산출) */
|
|
|
|
/* 알약 막대 위 한 줄 */
|
|
.m02-combo {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
align-items: center;
|
|
gap: var(--spacing-4) var(--spacing-12);
|
|
font-size: var(--text-body-sm);
|
|
}
|
|
|
|
.m02-combo__key {
|
|
padding: 0 var(--spacing-8);
|
|
border-radius: var(--radius-md);
|
|
background: color-mix(in srgb, var(--color-accent) 14%, transparent);
|
|
color: var(--color-text);
|
|
font-variant-numeric: tabular-nums;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.m02-combo__name {
|
|
color: var(--color-text);
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.m02-combo__meta,
|
|
.m02-combo__origin {
|
|
color: var(--color-text-secondary);
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.m02-combo__origin {
|
|
font-size: var(--text-caption);
|
|
}
|
|
|
|
.m02-combo > .ui-btn {
|
|
margin-left: auto;
|
|
}
|
|
|
|
/* 조합 고치기 창 — 담은 로직 표(M01 조합 화면과 같은 줄) */
|
|
.ui-modal.m02-combo-edit {
|
|
width: min(980px, 94vw);
|
|
}
|
|
|
|
.m02-combo-edit__row {
|
|
display: grid;
|
|
grid-template-columns: 3rem 7rem minmax(10rem, 1.4fr) 6rem minmax(8rem, 1fr) auto;
|
|
align-items: center;
|
|
gap: var(--spacing-8);
|
|
padding: var(--spacing-4) 0;
|
|
border-bottom: 1px solid var(--color-border);
|
|
}
|
|
|
|
.m02-combo-edit__row--head {
|
|
color: var(--color-text-secondary);
|
|
font-size: var(--text-caption);
|
|
font-weight: 600;
|
|
}
|
|
|
|
.m02-combo-edit__acts {
|
|
display: flex;
|
|
gap: var(--spacing-4);
|
|
}
|
|
|
|
.m02-combo-edit__foot,
|
|
.m02-branch__foot {
|
|
display: flex;
|
|
gap: var(--spacing-8);
|
|
justify-content: flex-end;
|
|
}
|
|
|
|
.m02-branch__msg {
|
|
margin: 0;
|
|
line-height: 1.5;
|
|
}
|
|
|
|
/* 재료산출 — 엑셀 옆 접히는 판 */
|
|
.m02-main__host:has(> .ss) > .m02-mat {
|
|
flex: none;
|
|
}
|
|
|
|
.m02-mat {
|
|
order: 2;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--spacing-8);
|
|
width: min(30rem, 42%);
|
|
min-height: 0;
|
|
padding: var(--spacing-8);
|
|
border-left: 1px solid var(--color-border);
|
|
overflow: auto;
|
|
}
|
|
|
|
.m02-mat.is-collapsed {
|
|
width: auto;
|
|
}
|
|
|
|
.m02-mat.is-collapsed .m02-mat__body {
|
|
display: none;
|
|
}
|
|
|
|
.m02-mat > .ui-btn {
|
|
align-self: flex-start;
|
|
}
|
|
|
|
.m02-mat__body {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--spacing-8);
|
|
font-size: var(--text-body-sm);
|
|
}
|
|
|
|
.m02-mat__title {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: var(--spacing-4) var(--spacing-12);
|
|
color: var(--color-text);
|
|
}
|
|
|
|
.m02-mat__row {
|
|
display: grid;
|
|
grid-template-columns: 5.5rem minmax(6rem, 1.4fr) minmax(4rem, 1fr) 3rem 4rem auto;
|
|
align-items: center;
|
|
gap: var(--spacing-4);
|
|
padding: var(--spacing-4) 0;
|
|
border-bottom: 1px solid var(--color-border);
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.m02-mat__row--head {
|
|
color: var(--color-text-secondary);
|
|
font-size: var(--text-caption);
|
|
font-weight: 600;
|
|
}
|
|
|
|
.m02-mat__foot {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: var(--spacing-8);
|
|
}
|
|
|
|
.m02-main__combo:empty {
|
|
display: none;
|
|
}
|