refactor(M01): 표 · 모달 · 띠 알림 · 배지 · 알약 · 보조 글 · 빈 상태를 부품으로 (PLAN 553-5)

- 표 둘 = 표 부품(m01-master__grid = 일반표 · m01-logic__grid = 데이터표) · 페이지 CSS 는 폭 · 머리 고정 · 칸 상태만
- 손 모달 다섯(조달 찾기 · 요소 고르기 · 표 바꾸기 · 복사 시트 · 표 고르기) = 모달 부품 openModal
- 알림 띠 · 막힘 까닭 = 띠 알림 · 태그 = 배지 · 알약 · × · 삭제 · 로직 키 = 단추 부품 · muted 세 벌 = 보조 글 · 빈 줄 = 빈 상태
- M02 가 빌린 M01 클래스(표 · muted · 고르기 창)도 같은 부품으로 · 죽은 CSS 걷음 · 지킴 시험 test_553_5_m01_m02

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-26 22:57:33 +09:00
co-authored by Claude Opus 5.5
parent 6d8b38b518
commit 022eff69f5
34 changed files with 367 additions and 559 deletions
+11 -6
View File
@@ -226,10 +226,12 @@ function tableView(find: RelatedFind, table: TableRow, ctx: EvalCtx): HTMLElemen
: "";
return [
el("p", {
className: "m01c__muted",
className: "ui-text ui-text--muted",
text: `${find.source} · ${table.원문번호 ?? table.키} ${table.이름 ?? ""} (${table.출처 ?? ""})`,
}),
...(use ? [el("p", { className: "m01c__muted", text: `${tx("Use_Of")} — ${use}` })] : []),
...(use
? [el("p", { className: "ui-text ui-text--muted", text: `${tx("Use_Of")} — ${use}` })]
: []),
el("table", {
className: "m01c__table",
children: [
@@ -252,17 +254,20 @@ export function buildNote(host: HTMLElement, opts: NoteOptions): void {
});
const plain = explain(opts.expr);
const head: HTMLElement[] = [
el("p", { className: "m01c__muted", text: tx("Note_Plain") }),
el("p", { className: "ui-text ui-text--muted", text: tx("Note_Plain") }),
el("p", { className: "m01c__plain", text: plain }),
];
if (!related.length) {
host.replaceChildren(...head, advanced);
return;
}
const tables = el("div", { className: "m01c__muted", text: `${tx("Note_Searching")}…` });
const tables = el("div", {
className: "ui-text ui-text--muted",
text: `${tx("Note_Searching")}…`,
});
host.replaceChildren(
...head,
el("p", { className: "m01c__muted", text: tx("Note_Table") }),
el("p", { className: "ui-text ui-text--muted", text: tx("Note_Table") }),
tables,
advanced,
);
@@ -275,7 +280,7 @@ export function buildNote(host: HTMLElement, opts: NoteOptions): void {
? tableView(r, table, opts.ctx)
: [
el("p", {
className: "m01c__muted",
className: "ui-text ui-text--muted",
text: tx("Note_TableMissing", { v: r.find.table }),
}),
],