anteriority-ui 1.18.0 → 1.18.1
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/AnteriorityUI.md +2 -2
- package/README.md +3 -1
- package/package.json +2 -2
- package/skill/anteriority-ui/SKILL.md +14 -2
package/AnteriorityUI.md
CHANGED
|
@@ -3299,7 +3299,7 @@ Empieza con una hoja `Hoja1` de 100 × 20 celdas. Botón «+» de la barra infer
|
|
|
3299
3299
|
- **Dependencia:** las fórmulas usan `fast-formula-parser`, un peer **opcional** (`pnpm add fast-formula-parser`) cargado con `import()` solo cuando `xlsxEditable` es `true`; sin él, las celdas que empiezan con `=` se guardan como texto. Recalcular todo en cada edición es lineal en la cantidad de fórmulas: libros con decenas de miles de fórmulas pueden notarse lentos.
|
|
3300
3300
|
- **Límites:** no se pueden insertar ni eliminar filas o columnas (sí escribir debajo de la última fila, por ejemplo con Autosuma); no se editan estilos de celda; borrados y pegados masivos están limitados a 200.000 celdas.
|
|
3301
3301
|
|
|
3302
|
-
**Notas (hojas de cálculo):** SheetJS (`xlsx`) es un peer **opcional
|
|
3302
|
+
**Notas (hojas de cálculo):** SheetJS (`xlsx`) es un peer **opcional** que el consumidor debe instalar en su proyecto: la librería no lo incluye como dependencia. Se carga con `import()` dinámico solo cuando se muestra una planilla. Instalar la versión oficial desde el CDN de SheetJS: `pnpm add https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz`. La versión de npm (0.18.x) está desactualizada y con vulnerabilidades conocidas; la 0.20.3 no se publica en npm, por eso `pnpm add xlsx` falla con `No matching version found for xlsx@^0.20.3`. Con `anteriority-ui` 1.18.0 hay que usar el tarball del CDN; desde la versión que acepta `^0.18.5 || ^0.20.3` también sirve `xlsx@0.18.5`. El archivo se descarga con `fetch` (requiere CORS) y se parsea completo en el hilo principal: con archivos de varios MB puede haber una pausa breve al abrir; solo las filas visibles se pintan. No muestra estilos de celda de Excel (colores, bordes, celdas combinadas), imágenes ni gráficos.
|
|
3303
3303
|
|
|
3304
3304
|
---
|
|
3305
3305
|
|
|
@@ -4118,7 +4118,7 @@ Contenedor con scrollbars personalizados (vertical y/u horizontal) que se oculta
|
|
|
4118
4118
|
|
|
4119
4119
|
**Import:**
|
|
4120
4120
|
```jsx
|
|
4121
|
-
import ScrollBar from '
|
|
4121
|
+
import { ScrollBar } from 'anteriority-ui';
|
|
4122
4122
|
```
|
|
4123
4123
|
|
|
4124
4124
|
**Uso básico:**
|
package/README.md
CHANGED
|
@@ -79,13 +79,15 @@ pnpm add react react-dom @mui/material @emotion/react @emotion/styled
|
|
|
79
79
|
pnpm add pdfjs-dist
|
|
80
80
|
```
|
|
81
81
|
|
|
82
|
-
6. (Opcional) Si vas a mostrar planillas (`.xlsx`, `.xls`, `.csv`) con `MediaViewer`, agregá `xlsx`.
|
|
82
|
+
6. (Opcional) Si vas a mostrar planillas (`.xlsx`, `.xls`, `.csv`) con `MediaViewer`, agregá `xlsx`. La librería **no** lo instala sola: es un peer dependency opcional, así que tenés que agregarlo a tu proyecto. Recomendamos la versión oficial de SheetJS desde su CDN (0.20.3), porque la de npm (0.18.x) está desactualizada y tiene vulnerabilidades conocidas. Para poder **editarlas** con fórmulas (`xlsxEditable`), sumá también `fast-formula-parser`:
|
|
83
83
|
|
|
84
84
|
```bash
|
|
85
85
|
pnpm add https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz
|
|
86
86
|
pnpm add fast-formula-parser # solo si usás xlsxEditable
|
|
87
87
|
```
|
|
88
88
|
|
|
89
|
+
Si `pnpm add xlsx` falla con `No matching version found for xlsx@^0.20.3`, es porque la 0.20.3 no está en npm: usá el tarball de arriba. Con `anteriority-ui` 1.18.0 hay que usar el tarball del CDN; desde la versión que incluye la corrección del rango (`^0.18.5 || ^0.20.3`) también sirve `pnpm add xlsx@0.18.5`, aunque con las vulnerabilidades mencionadas.
|
|
90
|
+
|
|
89
91
|
## Importar componentes
|
|
90
92
|
|
|
91
93
|
Todos los componentes están indexados en el entry point principal — no hace falta conocer el subpath de cada uno:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "anteriority-ui",
|
|
3
|
-
"version": "1.18.
|
|
3
|
+
"version": "1.18.1",
|
|
4
4
|
"description": "Librería interna de componentes React (UI) construida sobre MUI, lucide-react y CSS Modules.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"bin": {
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"pdfjs-dist": "^6.0.0",
|
|
48
48
|
"react": "^18.0.0 || ^19.0.0",
|
|
49
49
|
"react-dom": "^18.0.0 || ^19.0.0",
|
|
50
|
-
"xlsx": "^0.20.3"
|
|
50
|
+
"xlsx": "^0.18.5 || ^0.20.3"
|
|
51
51
|
},
|
|
52
52
|
"publishConfig": {
|
|
53
53
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -40,7 +40,7 @@ Dependencias opcionales según el componente:
|
|
|
40
40
|
|---|---|
|
|
41
41
|
| `SchemaForm` | `@rjsf/core` y `@rjsf/validator-ajv8` |
|
|
42
42
|
| `MediaViewer` (PDFs) | `pdfjs-dist` |
|
|
43
|
-
| `MediaViewer` (planillas `.xlsx`/`.xls`/`.csv`) | `xlsx` desde `https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz` (
|
|
43
|
+
| `MediaViewer` (planillas `.xlsx`/`.xls`/`.csv`) | `xlsx` (peer opcional que el consumidor instala; no viene con la librería) desde `https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz` (preferido sobre la de npm, que es 0.18.x y tiene vulnerabilidades); con `xlsxEditable` y fórmulas, también `fast-formula-parser` |
|
|
44
44
|
| `PasswordResetPanel`, `UserEditPopover` | configurar el cliente HTTP (ver §5) |
|
|
45
45
|
|
|
46
46
|
Todo lo demás (Chart, Recharts, Nivo, lucide, react-icons, markdown, mermaid)
|
|
@@ -168,7 +168,8 @@ Nombres exactos del barrel.
|
|
|
168
168
|
- `lucide` — `anteriority-ui/lucide` re-exporta lucide-react completo.
|
|
169
169
|
|
|
170
170
|
**Otros**
|
|
171
|
-
- `DesplegablePanel` — fila expandible tipo acordeón.
|
|
171
|
+
- `DesplegablePanel` — fila expandible tipo acordeón.
|
|
172
|
+
- `ScrollBar` — contenedor con scroll personalizado que se oculta solo. Úsalo para cualquier área con scroll en vez de la barra nativa (ver sección 7).
|
|
172
173
|
- `QRCode` — genera un código QR (SVG) desde un texto/URL; logo, estilos y descarga.
|
|
173
174
|
- `Footer` — barra inferior con zonas izquierda/centro/derecha y botones de acción (`actions`), opcionalmente sticky.
|
|
174
175
|
- `FileDropZone` — zona para recibir un archivo por arrastre, pegado o click (filtro `accept`).
|
|
@@ -215,6 +216,17 @@ variant; las props de color son un override por encima de esa paleta.
|
|
|
215
216
|
- **No mezcles MUI directo con componentes de la librería** para lo mismo. Si necesitás un componente MUI que la librería ya envuelve (`Button`, `TextField`, `Autocomplete`, etc.), usá el de la librería.
|
|
216
217
|
- **Respetá los props de cada componente tal como están documentados.** No pases props que no aparecen en la doc; si una falla en silencio, revisá el nombre exacto en `AnteriorityUI.md`.
|
|
217
218
|
- **Componentes con portal** (`DrawPanel`, `AlertModal`, `ModalTooltip`, `Frame` como modal, `EmojiPickerModal`) se renderizan sobre `document.body`. No los envuelvas en contenedores con `overflow: hidden` esperando que queden contenidos.
|
|
219
|
+
- **Scroll siempre con `ScrollBar`:** cualquier área con scroll visible (listas, menús, paneles, diálogos) usa `ScrollBar` de la librería, no `overflow: auto` ni la barra nativa del navegador. Las páginas quedan con un scroll más prolijo y consistente. Ejemplo: `import { ScrollBar } from 'anteriority-ui';` y luego `<ScrollBar vertical maxHeight={300}>…</ScrollBar>`. Varios componentes ya traen su propio scroll: **no lo envuelvas en `ScrollBar` otra vez** (duplicaría el scroll). Los que scrollean por dentro y cómo activarlo:
|
|
220
|
+
- `Frame` con `scrollable` (y `maxHeight`); `NotificationsPanel` ya viene así.
|
|
221
|
+
- `TableA` / `TableB` con `maxHeight` (y `stickyHeader` para fijar el encabezado).
|
|
222
|
+
- `CommandPalette`: la lista de resultados, con `maxHeight`.
|
|
223
|
+
- `AppShell`: el área de `children`. `Container` y `Footer` también se comportan así con `sticky`/`stickyHeader`.
|
|
224
|
+
- `Selector`: la lista desplegable, con `hideScrollbar` (por defecto oculta la barra; `scrollbarColor` la colorea cuando se muestra).
|
|
225
|
+
- `EmojiPickerModal` / `EmojiPicker`: las grillas de emojis e íconos.
|
|
226
|
+
- `MarkdownEditor`: el textarea y la vista previa (`scrollbarColor`).
|
|
227
|
+
- `MediaViewer` (planillas, PDF, Word, Markdown) y `Resizable`: scroll interno del contenido.
|
|
228
|
+
- `ChatWindow`: la lista de mensajes, con scroll propio.
|
|
229
|
+
Si el componente que usás ya está en esta lista, usá su prop de scroll. Solo envolvé con `ScrollBar` contenido que no tenga scroll propio. Para el detalle de props, ver `AnteriorityUI.md`.
|
|
218
230
|
- **Estado controlado:** la mayoría de los componentes de entrada son controlados (`value` + `onChange`, `open` + `onClose`). Mantené el estado en tu componente.
|
|
219
231
|
- **Storybook de la librería** (si está disponible en el proyecto) muestra cada componente en variantes reales; úsalo como referencia visual.
|
|
220
232
|
|