@imj_media/ui 1.2.51 → 1.2.53

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.
Files changed (28) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/dist/index.css +1 -1
  3. package/dist/index.esm.js +4695 -4665
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/index.js +9 -9
  6. package/dist/index.js.map +1 -1
  7. package/dist/modules/Dropdown/components/Dropdown.d.ts.map +1 -1
  8. package/dist/modules/Input/components/Input.d.ts.map +1 -1
  9. package/dist/modules/Table/components/atoms/DropdownCell.d.ts.map +1 -1
  10. package/dist/modules/Table/components/atoms/ProgressBarCell.d.ts.map +1 -1
  11. package/dist/modules/Table/components/atoms/StarsCell.d.ts.map +1 -1
  12. package/dist/modules/Table/components/atoms/StatusCell.d.ts.map +1 -1
  13. package/dist/modules/Table/components/atoms/TableCell.d.ts.map +1 -1
  14. package/dist/modules/Table/components/molecules/HeaderCell.d.ts.map +1 -1
  15. package/dist/modules/Table/components/organisms/TableHeader.d.ts.map +1 -1
  16. package/dist/modules/Table/hooks/useTableColumns.d.ts +13 -0
  17. package/dist/modules/Table/hooks/useTableColumns.d.ts.map +1 -1
  18. package/dist/modules/Table/hooks/useTableConfig.d.ts.map +1 -1
  19. package/dist/modules/Table/stories/Table.stories.d.ts +24 -3
  20. package/dist/modules/Table/stories/Table.stories.d.ts.map +1 -1
  21. package/dist/modules/Table/utils/cellStyles.d.ts.map +1 -1
  22. package/dist/shared/types/dropdown.d.ts +2 -0
  23. package/dist/shared/types/dropdown.d.ts.map +1 -1
  24. package/dist/shared/types/input.d.ts +2 -0
  25. package/dist/shared/types/input.d.ts.map +1 -1
  26. package/dist/shared/types/table.d.ts +17 -0
  27. package/dist/shared/types/table.d.ts.map +1 -1
  28. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -5,6 +5,38 @@ Todos los cambios notables de este proyecto serán documentados en este archivo.
5
5
  El formato está basado en [Keep a Changelog](https://keepachangelog.com/es-ES/1.0.0/),
6
6
  y este proyecto adhiere a [Semantic Versioning](https://semver.org/lang/es/).
7
7
 
8
+ ## [1.2.53] - 2026-03-06
9
+
10
+ ### Added
11
+ - **Table - Story Dropdown con API real**: Nueva story **DropdownOpcionesApiReal** que carga opciones desde JSONPlaceholder (GET /users y GET /albums) para validar el flujo completo de dropdowns con datos asíncronos.
12
+
13
+ ### Changed
14
+ - **Table - Columna Acciones**: Línea divisoria a la izquierda de la columna de acciones (`ui-border-l ui-border-l-default`). La columna de acciones no puede ser bloqueada: `lockable={false}` y no se muestra el botón de bloquear en el header.
15
+ - **StoryBox - Description**: El contenido de la descripción se envuelve en `<div>` en lugar de `<p>` para permitir listas (`<ul>`) y otros bloques sin warning de `validateDOMNesting`.
16
+ - **Table - useTableColumns**: Menos re-renders innecesarios al comparar propiedades de columnas antes de devolver nuevo estado.
17
+ - **Table - useTableConfig**: Uso de `useMemo` en la computación de columnas para actualizaciones más eficientes cuando cambian las dependencias.
18
+
19
+ ## [1.2.52] - 2026-03-03
20
+
21
+ ### Added
22
+ - **Table - Dropdown con opciones asíncronas**: Sincronización de columnas cuando el padre actualiza las props (p. ej. `columnOptions` cargadas por API). El hook `useTableColumns` actualiza el estado interno al cambiar `initialColumns`, de modo que los dropdowns en modo edición reciben las opciones correctamente tras peticiones async (React Query, etc.).
23
+ - **Table - Columna `columnOptionsLoading`**: Nueva prop opcional en `ColumnConfig`. Cuando es `true`, el Dropdown de la celda muestra un icono de carga (Font Awesome `faCircleNotch` animado) en el `leftSlot` del selector mientras se cargan las opciones.
24
+ - **Table - Stories**:
25
+ - **EdicionColumnasDropdown**: Ejemplo de edición con dropdown usando opciones en la columna (`columnOptions`) y opciones desde `render` (CellConfigValue).
26
+ - **Dropdown con opciones cargadas por API (escenario OBP)**: Reproduce el flujo de Medios fijos (OBP Data Editor) con opciones vacías al montar y carga simulada a los 2,5 s; incluye botón "Cargar opciones ahora" y uso de `columnOptionsLoading`.
27
+ - **Dropdown - Prop `loading`**: Cuando `loading={true}`, el selector muestra el icono de carga en el `leftSlot` (faCircleNotch con animación de giro) en lugar del icono habitual.
28
+ - **Input - Prop `leftSlotClassName`**: Clase CSS opcional aplicada al icono/slot izquierdo (p. ej. `ui-animate-spin` / `animate-spin` para iconos de carga).
29
+
30
+ ### Changed
31
+ - **Table - useTableColumns**: Efecto que sincroniza el estado de columnas con `initialColumns` al cambiar la referencia. Se preservan `width`, `visible`, `locked` y el orden actual cuando el conjunto de columnas no cambia (solo el contenido, p. ej. `columnOptions`). Incluye JSDoc y recomendación de memoizar columnas con `useMemo(..., [columnOptions, ...])`.
32
+ - **Dropdown**: Con `loading=true` se fuerza `leftSlot={faCircleNotch}` y `leftSlotClassName` con clases de giro para el icono de carga.
33
+ - **Input**: La prop `leftSlotClassName` se aplica al componente `Icon`/`Visual` del leftSlot (no solo al contenedor) para que animaciones como el giro se vean correctamente.
34
+
35
+ ### Docs
36
+ - **Table - README**: Nueva subsección "Opciones de dropdown cargadas por API (asíncronas)" con ejemplo de `useMemo` y referencia a la story OBP.
37
+ - **Table - EJEMPLO_USO**: Nota sobre `columnOptions` asíncronas y uso de `useMemo` para las columnas.
38
+ - **Dropdown / Table**: Documentación del estado de carga en el leftSlot del dropdown.
39
+
8
40
  ## [1.2.51] - 2026-03-02
9
41
 
10
42
  ### Changed