1.9 KiB
1.9 KiB
V13-FE-005 — KBX 폼 컴포넌트 선별 이식
| 항목 | 값 |
|---|---|
| Requirement / API / DB / Job / UI / Test | REQ-FE-COMP / Cross / Cross / Cross / UI-FOUND-05 / T-FE-COMP-01 |
| Dependency / Gate | V13-FE-004 (COMPLETED) / G0 |
| Artifact | frontend/src/shared/ui/components/KsForm*.vue, KsValidationSummary.vue |
| 목적 | provider-neutral form layout과 validation presentation 표준화 |
Source / Assumption / Unknown / Decision Required
- Source: KBX v36의
KbxFormGrid,KbxFormSection,KbxFormSpan,KbxValidationSummary는 Vue/CSS presentation-only 구성이다. - Assumption: K-ArtSell token (
--ks-*)과 기존FieldShell/Zod 경계를 유지하면 같은 layout pattern을 안전하게 재구현할 수 있다. - Unknown: 각 feature의 오류를 어느 field로 focus할지와 visual/AT baseline은 화면별 evidence가 필요하다.
- Decision Required: 오류 클릭 시 field focus/navigation, density variant, 새로운 token은 실제 3회 이상 반복 및 ADR/QA 기준 승인 후에만 추가한다.
구현 경계
KsFormGrid,KsFormSection,KsFormSpan,KsValidationSummary만 추가했다.- KBX package,
@kbx/contracts, provider peer dependency, router, store, permission host, 업무 규칙을 복사하지 않았다. - validation summary는 오류를 숨기기 위한 임의 최대 개수를 두지 않고 전달받은 오류를 모두 표시한다.
- 색상/spacing은 기존 semantic token만 사용한다.
실제 증거
pnpm vitest run src/shared/ui/components/tests/KsFormLayouts.spec.ts src/shared/ui/components/tests/accessibility.contract.spec.ts: 2 files / 6 tests passed, exit 0.pnpm typecheck: exit 0.- 실행일: 2026-08-09.
위 증거는 component contract/typecheck에 한정된다. browser visual, AT, performance, server/API/DB/migration 통과는 주장하지 않는다.