@doscientos/ui 0.1.32 → 0.1.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -1
- package/dist/index.cjs +599 -551
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +73 -64
- package/dist/index.d.ts +73 -64
- package/dist/index.js +617 -569
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -76,7 +76,19 @@ Las primitivas de composición no conocen rutas, entidades ni transporte: cada f
|
|
|
76
76
|
## Estado asíncrono, errores y copia
|
|
77
77
|
|
|
78
78
|
- `useAsyncAction(action)` evita dobles ejecuciones mientras está pendiente y devuelve `run`, `status`, `isPending`, `data`, `error` y `reset`.
|
|
79
|
+
- `reset` no cancela peticiones y no oculta una operación pendiente. Cada ejecución
|
|
80
|
+
limpia el resultado anterior para que un fallo no presente datos de un éxito antiguo.
|
|
81
|
+
- `useAutosave` serializa las escrituras de una instancia para que una petición
|
|
82
|
+
antigua no termine sobrescribiendo la siguiente. `saveNow` cancela el debounce
|
|
83
|
+
pendiente y fuerza un guardado explícito; los errores quedan en `status`/`error`.
|
|
84
|
+
Usa datos inmutables y una instancia por documento (remonta con `key` al cambiar
|
|
85
|
+
de entidad). El servidor todavía necesita control de versión para varios usuarios
|
|
86
|
+
o pestañas; un timeout no prueba que una escritura remota no se haya confirmado.
|
|
87
|
+
Al desmontar se descartan guardados en cola, no se cancelan escrituras ya enviadas.
|
|
79
88
|
- `ErrorBoundary` aporta fallback recuperable, `resetKeys` y `onError`; `AsyncBoundary` combina error boundary con `Suspense`.
|
|
89
|
+
- `fallback={null}` oculta el contenido explícitamente. Los errores lanzados que no
|
|
90
|
+
sean instancias de `Error` se normalizan. No sustituye los errores de loaders,
|
|
91
|
+
promesas o eventos: esos se gestionan en el router o en la acción correspondiente.
|
|
80
92
|
- `ErrorState` es el fallback visual componible. La aplicación inyecta su acción de reintento, no el paquete.
|
|
81
93
|
- `useClipboard` y `CopyButton` resuelven copia, feedback y errores sin acoplarse a Sileo; usa `onCopied` u `onCopyError` para analytics/toasts de producto.
|
|
82
94
|
|
|
@@ -91,9 +103,21 @@ router.replace(`?${next}`)
|
|
|
91
103
|
|
|
92
104
|
No añadas hooks de Next, React Router ni TanStack Router al paquete. Las stories documentan componentes visuales; los hooks y utilidades puras se documentan aquí y se cubren con pruebas unitarias.
|
|
93
105
|
|
|
106
|
+
## Contratos de estilos y navegación
|
|
107
|
+
|
|
108
|
+
- Los slots composables de Combobox conservan tanto clases estáticas como funciones
|
|
109
|
+
`className(state)` de React Aria, combinándolas con los estilos base.
|
|
110
|
+
- `Pagination` normaliza página y vecinos; `siblingCount` se limita a 0–10 para no
|
|
111
|
+
generar listas de botones sin límite. Estado visual y `aria-current` coinciden.
|
|
112
|
+
- Para que los overlays portaled hereden la marca y el tema, aplica los tokens y
|
|
113
|
+
`.dark` en la raíz del documento, no solo en un contenedor del contenido.
|
|
114
|
+
- No hay integración con un router implícita: la aplicación configura navegación
|
|
115
|
+
SPA mediante las APIs del router o del proveedor de React Aria según corresponda.
|
|
116
|
+
|
|
94
117
|
## Desarrollo
|
|
95
118
|
|
|
96
|
-
- `pnpm
|
|
119
|
+
- `pnpm quality`: formato, lint, tipos y tests; es el control del paquete en CI.
|
|
120
|
+
- `pnpm test`: pruebas del contrato de empaquetado, unitarias y de renderizado.
|
|
97
121
|
- `pnpm test:storybook`: renderizado, accesibilidad e interacciones de todas las stories en Chromium.
|
|
98
122
|
- `pnpm typecheck`: contrato TypeScript.
|
|
99
123
|
- `pnpm build`: distribución JS, tipos y CSS Tailwind compilado.
|