Files
Aislo/M02_MasterTemplete/DataFlow/M02_DF_FuncPanel.css
T

173 lines
3.4 KiB
CSS

.m02-dfpanel {
display: flex;
flex-direction: column;
gap: var(--spacing-8);
font-size: var(--text-body);
color: var(--color-text-body);
}
.m02-dfpanel-head,
.m02-dfpanel-row {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: var(--spacing-8);
}
.m02-dfpanel-head {
justify-content: space-between;
}
.m02-dfpanel-title {
font-size: var(--text-subheading);
}
.m02-dfpanel-unitbox {
display: inline-flex;
align-items: center;
gap: var(--spacing-8);
margin-left: auto;
}
.m02-dfpanel-unit {
width: 6em;
text-align: center;
}
.m02-dfpanel-cell {
padding: 2px var(--spacing-12);
border: 1px solid var(--color-border);
border-radius: var(--radius-pills);
background: var(--color-surface-raised);
}
.m02-dfpanel-label {
font-weight: var(--font-weight-bold);
}
.m02-dfpanel-note {
color: var(--color-text-muted);
font-size: var(--text-body-sm);
}
.m02-dfpanel-form {
align-items: flex-end;
padding: var(--spacing-8) var(--spacing-12);
border: 1px solid var(--color-border);
border-radius: var(--radius-cards);
background: var(--color-surface-raised);
}
.m02-dfpanel-fieldbox {
display: inline-flex;
flex-direction: column;
gap: 2px;
}
.m02-dfpanel-field {
width: 9em;
}
.m02-dfpanel-field.is-num {
width: 6em;
}
.m02-dfpanel-why,
.m02-dfpanel-msg {
margin: 0;
padding: var(--spacing-8) var(--spacing-12);
border-left: 4px solid var(--color-warning);
background: var(--color-surface-raised);
font-weight: var(--font-weight-medium);
}
.m02-dfpanel-chip {
display: inline-flex;
align-items: center;
gap: var(--spacing-4);
padding: var(--spacing-4) var(--spacing-12);
border: 2px solid;
border-radius: var(--radius-pills);
background: var(--color-surface);
color: inherit;
font: inherit;
font-weight: var(--font-weight-medium);
}
button.m02-dfpanel-chip {
cursor: pointer;
}
button.m02-dfpanel-chip:focus-visible {
outline: 2px solid var(--color-focus-ring);
}
.m02-dfpanel-chip.is-in {
border-color: #3b82f6;
}
.m02-dfpanel-chip.is-in:not(.is-placed) {
border-style: dashed;
}
.m02-dfpanel-chip.is-out {
border-color: #f59e0b;
}
.m02-dfpanel-chip.is-var {
border-color: #22a06b;
}
/* 판 높이 크게 — 안쪽 세로 스크롤 없이 보이게 */
.m02-dfpanel-sheet {
position: relative;
height: max(640px, calc(100vh - 260px));
border: 1px solid var(--color-border);
border-radius: var(--radius-cards);
overflow: hidden;
}
/* 칸 위 표시 — 색 + 글자(받음 · 변수 · 출력) 둘 다 */
.m02-dfpanel .aislo-cell[data-cf-kind="in"] {
box-shadow: inset 0 0 0 2px #3b82f6;
}
.m02-dfpanel .aislo-cell[data-cf-kind="var"] {
box-shadow: inset 0 0 0 2px #22a06b;
}
.m02-dfpanel .aislo-cell[data-cf-kind="out"] {
box-shadow: inset 0 0 0 2px #f59e0b;
}
.m02-dfpanel .aislo-cell[data-cf-kind]::after {
content: attr(data-cf-name);
position: absolute;
top: 0;
right: 0;
padding: 0 4px;
border-radius: 0 0 0 6px;
background: var(--color-surface);
color: var(--color-text);
font-size: 10px;
line-height: 14px;
pointer-events: none;
}
.m02-dfpanel .aislo-cell[data-cf-lock]::before {
content: attr(data-cf-lock);
position: absolute;
bottom: 0;
left: 0;
padding: 0 4px;
background: var(--color-surface);
font-size: 10px;
line-height: 14px;
pointer-events: none;
}
.m02-dfpanel .aislo-cell[data-cf-err] {
outline: 2px dashed var(--color-danger);
outline-offset: -2px;
}