Merge remote-tracking branch 'origin/sub_laptop_3' into main_laptop_1

This commit is contained in:
2026-09-28 22:40:23 +09:00
8 changed files with 19 additions and 3 deletions
@@ -72,6 +72,7 @@
.ss-fmtdlg__row select,
.ss-fmtdlg__row input[type="text"],
.ss-fmtdlg__row input:not([type]),
.ss-fmtdlg__row input[type="number"],
.ss-fmtdlg__code {
height: 28px;
@@ -18,6 +18,7 @@ import {
type SubBrief,
} from "./M01_MasterData_UI_Logic_Api";
import { tc } from "./M01_MasterData_UI_Combo_Text";
import "./M01_MasterData_UI_Logic_Style.css"; // 창 겉틀 — M02 에서 열 때도 이 모듈이 불러옴
import "./M01_MasterData_UI_Combo.css";
const opts = (values: string[]): { value: string; text: string }[] =>
@@ -37,7 +37,7 @@ function inputCell(
const choices = input.고르기?.map((v) => ({ value: String(v), text: String(v) }));
const field = choices
? createSelectField({ options: choices, value, compact: true, label: input.이름 })
: createInputField({ type: "text", label: input.이름 });
: createInputField({ type: "text", label: input.이름, compact: true });
const control = "select" in field ? field.select : field.input;
control.value = value;
control.setAttribute("data-input", `${key}|${input.이름}`);
@@ -121,6 +121,11 @@
font-size: var(--text-body-sm);
}
/* 한 줄 칸은 작은 고르기칸과 같은 높이 */
input.m01-logic__input {
height: var(--control-height-sm);
}
.m01-logic__note {
min-height: 48px;
resize: vertical;
@@ -18,7 +18,6 @@ import { fetchCombo, type ComboLine } from "../M01_MasterData/M01_MasterData_UI_
import { openLogicPicker } from "../M01_MasterData/M01_MasterData_UI_Combo_Pick";
import { branchCombo, type BranchedCombo } from "./M02_MasterTemplete_Api_Fetch";
import { readColumnBase, reasonOf } from "./M02_MasterTemplete_Combo_Api";
import "../M01_MasterData/M01_MasterData_UI_Logic_Style.css"; // [로직 더하기] 창(M01 고르기) 겉틀 — M02 에서 열 때도
import "./M02_MasterTemplete_Combo.css";
const TEXT = {
+3 -1
View File
@@ -72,6 +72,8 @@ export interface InputFieldOptions {
min?: number;
max?: number;
onInput?: (value: string) => void;
/** 좁은 자리(표 칸·좌측 패널)용 작은 크기 — 작은 고르기칸(compact)과 높이가 같음 */
compact?: boolean;
}
export interface InputFieldHandle {
@@ -90,7 +92,7 @@ export function createInputField(opts: InputFieldOptions): InputFieldHandle {
}
const input = el("input", {
className: "ui-input",
className: opts.compact ? "ui-input ui-input--sm" : "ui-input",
attrs: {
type: opts.type ?? "text",
...(opts.placeholder ? { placeholder: opts.placeholder } : {}),
@@ -99,6 +99,10 @@ const BASE_CSS = `
transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}
.ui-input::placeholder { color: var(--color-text-muted); }
/* 입력칸 · 고르기칸 높이는 크기마다 한 값 — 같은 줄에 놓여도 위아래 · 글자 줄이 맞음(date 칸 포함) */
.ui-input:not(textarea), .ui-select { height: var(--control-height); line-height: 20px; }
.ui-input--sm:not(textarea), .ui-select--sm { height: var(--control-height-sm); line-height: 20px; }
.ui-input--sm { padding: 4px 8px; }
.ui-input:focus {
outline: none;
border-color: var(--color-focus-ring);
+4
View File
@@ -154,6 +154,10 @@
--radius-icons: var(--radius-lg);
--radius-large: var(--radius-3xl);
/* 입력칸 · 고르기칸 높이 — 크기마다 한 값(같은 줄이면 위아래가 맞음) */
--control-height: 42px;
--control-height-sm: 30px;
/* ---------------------------------------------------------------------------
* 6. 그림자 (Shadows) — 블루틴트, 서브틀 (최대 32px blur / 6% opacity)
* ------------------------------------------------------------------------ */