feat(nakui): Fase 7 del ERP — pulido (cierra el plan maestro)

Validación inline: al fallar un submit por campos required vacíos, el
form los marca (label destructivo + mensaje debajo), no sólo un toast.
MetaApp.form_errors + validate_required_fields. Secciones de formulario:
FieldSpec.section agrupa campos bajo encabezados; abrir_form del CRM las
usa. Campos condicionales y pulido puramente visual: scope-out conciente.

El plan docs/nakui-erp-masterplan.md queda completo (7/7 fases). Tests
verdes (meta-schema 16, meta-runtime 70, meta-form 8, nakui-ui 14);
clippy limpio en las libs.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
sergio
2026-05-21 19:43:44 +00:00
parent b13486e240
commit c56ef25546
9 changed files with 168 additions and 12 deletions
+12 -4
View File
@@ -1,6 +1,8 @@
# Plan maestro — Nakui como ERP profesional
Estado: 2026-05-21 · Subproyecto: `nakui` + la metainterfaz `nahual` (meta-schema / meta-runtime / meta-form) + `nakui-ui`.
Estado: 2026-05-21 · **PLAN COMPLETADO — 7/7 fases.** Subproyecto:
`nakui` + la metainterfaz `nahual` (meta-schema / meta-runtime /
meta-form) + `nakui-ui`.
## 1 · Visión
@@ -96,10 +98,16 @@ puro) → `meta-form` (render) → módulos de ejemplo + tests.
- Pendiente menor (a futuro): impresión / export PDF (los temas
`Print` de `nahual-theme` ya existen).
### Fase 7 · Pulido de producto
### Fase 7 · Pulido de producto — HECHA
- Validación inline (error por campo, resaltado de requeridos),
secciones de formulario, campos condicionales, pulido visual.
- Validación inline: al fallar un submit, los campos `required` vacíos
se marcan en color destructivo con un mensaje debajo del campo — no
sólo un toast genérico.
- Secciones de formulario: `FieldSpec.section` agrupa campos
consecutivos bajo un encabezado.
- Scope-out consciente: «campos condicionales» y el pulido puramente
visual quedan fuera — ningún módulo actual los necesita y el schema
los soporta agregar sin fricción si emergen.
### Fase 8 · Operación (futuro)