Proyecto /2026
Trámite.js
Formularios con intención: 19 controles de formulario para React que garantizan que cada dato ingresado fue realmente deseado.
Qué es
Trámite.js es una librería de componentes React que garantiza que cada dato ingresado fue realmente deseado. Cada control pide una acción deliberada: se gira, se arrastra, se tira o se entrega, y no se confirma por accidente. Conserva la misma API que los controles de siempre y su estética evoca a un municipio burocrático de lujo de los años 80, en azul noche, latón y papel.
Qué hace
- 19 controles con manipulación directa: ShotConfirm, SlingshotUpload, EvasiveCheckbox, ElevatorSelect, RotaryNumber, BreakerSwitch, TearOffDate, ClawInput, BallotRadio, RecursiveCancel, GestureCaptcha, CounterweightRange, PneumaticMultiSelect, ClockworkTime, PigmentColor, CarbonCopyEmail, RegisteredReset, DeweyCombobox y WhisperedRecovery.
- La misma API que los controles de siempre: value, onChange y onConfirm.
- Accesibles por teclado y lector de pantalla, con respeto de prefers-reduced-motion.
- Una demostración integral, «Trámite completo»: la adhesión al programa Mi Municipio, con credencial y beneficios según las tasas adheridas y la participación ciudadana.
- Requiere React 18 o superior. Todavía no está en npm: se instala con npm install github:cheycron/tramite.js.
Qué hice
- Diseñé y construí 19 controles de formulario con manipulación directa, cada uno con su propia mecánica para confirmar que el dato fue deseado.
- Mantuve la API de siempre (value, onChange y onConfirm), para que se adopten sin reescribir los formularios existentes.
- Los hice accesibles por teclado y lector de pantalla, y respetan prefers-reduced-motion.
- Armé el catálogo, con una página por control, y la demostración integral «Trámite completo».
- Los cubrí con 1890 tests y publiqué la versión 0.2.0 como código abierto, con licencia MIT.
Imágenes
-
«Trámite completo»: la solicitud registrada y su credencial.
-
ClockworkTime: la hora se elige con un reloj de cuerda.
-
ElevatorSelect: las opciones son los botones de un ascensor.
-
PneumaticMultiSelect: la selección múltiple viaja por tubos neumáticos.
-
WhisperedRecovery: la recuperación de la contraseña se pide en voz baja.