# trans-form-component — Design (Q1–Q61) Status: **implementation scaffold** (v0.1.0) Companion package: `@windychen/trans-form-middleware`. ## Role Schema-driven Vue 3 query form → flat filter array with optional `logic`, state flags, and `empty` markers. ## Key decisions (selected) | # | Decision | |---|----------| | 4–5 | No UI framework; headless native controls for string `value-component` | | 7 | Flat array + `logic` between adjacent conditions | | 11 | `@change` + `getFilters()` ref API | | 15 | 12-column grid via `row` | | 17–18 | Query dropdown; optional `query-component` (defaults to value renderer) | | 19 | Global singleton `setConfig` / `componentMap` | | 20 | ESM only (Vite library build) | | 30, 35 | Inline layout 3:2:7 (name/query/value), globally configurable | | 47 | Storybook included | | 48 | `app.use(TransFormPlugin)` | | 51 | Built-in reset only (`showReset`, `reset()`) | | 54 | First filter item has no `logic` | | 55–59 | Reactive schema; preserve matching fields; AND/OR editable; v1 types include tags | | 60 | Output includes state flags for middleware | ## CI Same as windychen-utils: commit must contain `chore` + `版本` + `更新`.