docs: añadir directrices sobre diálogos, modales y ventanas emergentes
This commit is contained in:
parent
7f336df146
commit
6bb9845c8c
13
AGENTS.md
13
AGENTS.md
@ -212,6 +212,19 @@ Estas reglas complementan las convenciones y documentos de arquitectura existent
|
||||
- Mantener accesibilidad semántica: elemento HTML correcto, etiquetas, relaciones entre controles, navegación por teclado y foco.
|
||||
- No implementar manualmente primitivas que shadcn/ui o Base UI ya proporcionen adecuadamente.
|
||||
|
||||
#### Diálogos, modales y ventanas emergentes
|
||||
|
||||
- Páginas y listados no deben implementar directamente el contenido de ventanas modales funcionales. Los diálogos de alta, edición, confirmación, selección o detalle son componentes independientes.
|
||||
- Toda ventana modal, cuadro de diálogo o formulario modal con contenido y responsabilidad propios debe extraerse a un componente React independiente y vivir en su propio fichero `.tsx`.
|
||||
- Esta regla se aplica especialmente a componentes construidos con primitivas de shadcn/ui como `Dialog`, `AlertDialog`, `Sheet`, `Drawer` o componentes propios como `FormDialog`, pero no depende del nombre concreto utilizado.
|
||||
- Si un bloque representa una interacción modal reconocible por sí misma —por ejemplo alta, edición, confirmación, selección, detalle, ayuda o cambio de estado— debe considerarse un componente independiente.
|
||||
- El componente padre debe encargarse de decidir cuándo se abre el diálogo y de suministrarle los datos o callbacks necesarios, evitando contener internamente todo el JSX del modal.
|
||||
- El componente del diálogo debe encapsular su estructura visual y la lógica de interacción que le pertenezca.
|
||||
- No mantener grandes bloques de JSX de `DialogContent`, formularios completos o confirmaciones dentro del fichero de una página o listado cuando puedan identificarse como una unidad funcional independiente.
|
||||
- Los formularios que se muestran dentro de un diálogo pueden separarse además en un componente propio cuando tengan suficiente entidad, reutilización o complejidad.
|
||||
- No extraer a otro fichero un `Dialog` trivial cuyo único contenido sea un mensaje mínimo sin lógica, estado, formulario ni responsabilidad propia, salvo que forme parte de un patrón reutilizado.
|
||||
- Antes de crear un diálogo nuevo, comprobar si ya existe un componente equivalente o un patrón común reutilizable en el proyecto.
|
||||
|
||||
### Formularios
|
||||
|
||||
- Mantener una única fuente de verdad para cada campo.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user