@imj_media/ui 1.2.12 → 1.2.14

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 (117) hide show
  1. package/CHANGELOG.md +114 -0
  2. package/dist/index.css +1 -1
  3. package/dist/index.esm.js +6344 -5380
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/index.js +27 -7
  6. package/dist/index.js.map +1 -1
  7. package/dist/modules/Alert/components/atoms/AlertHeader.d.ts.map +1 -1
  8. package/dist/modules/Alert/hooks/useAlertStyles.d.ts +2 -1
  9. package/dist/modules/Alert/hooks/useAlertStyles.d.ts.map +1 -1
  10. package/dist/modules/Alert/index.d.ts +1 -1
  11. package/dist/modules/Alert/index.d.ts.map +1 -1
  12. package/dist/modules/Alert/stories/alert.stories.d.ts +1 -0
  13. package/dist/modules/Alert/stories/alert.stories.d.ts.map +1 -1
  14. package/dist/modules/Alert/utils/alert.d.ts.map +1 -1
  15. package/dist/modules/Avatar/components/AvatarStack.d.ts +34 -0
  16. package/dist/modules/Avatar/components/AvatarStack.d.ts.map +1 -0
  17. package/dist/modules/Avatar/components/index.d.ts +1 -0
  18. package/dist/modules/Avatar/components/index.d.ts.map +1 -1
  19. package/dist/modules/Avatar/constants/index.d.ts +11 -0
  20. package/dist/modules/Avatar/constants/index.d.ts.map +1 -1
  21. package/dist/modules/Avatar/index.d.ts +28 -3
  22. package/dist/modules/Avatar/index.d.ts.map +1 -1
  23. package/dist/modules/Avatar/stories/avatar.stories.d.ts +2 -1
  24. package/dist/modules/Avatar/stories/avatar.stories.d.ts.map +1 -1
  25. package/dist/modules/Avatar/stories/stories/stack.story.d.ts +4 -0
  26. package/dist/modules/Avatar/stories/stories/stack.story.d.ts.map +1 -0
  27. package/dist/modules/Avatar/types/index.d.ts +48 -0
  28. package/dist/modules/Avatar/types/index.d.ts.map +1 -1
  29. package/dist/modules/Icon/Icon.d.ts +1 -1
  30. package/dist/modules/Icon/Icon.d.ts.map +1 -1
  31. package/dist/modules/Icon/components/LegacyIcon.d.ts +1 -1
  32. package/dist/modules/Icon/components/LegacyIcon.d.ts.map +1 -1
  33. package/dist/modules/IconFont/components/organims/IconFont.d.ts +6 -2
  34. package/dist/modules/IconFont/components/organims/IconFont.d.ts.map +1 -1
  35. package/dist/modules/Input/components/Input.d.ts.map +1 -1
  36. package/dist/modules/Input/hooks/useInputStyles.d.ts +2 -1
  37. package/dist/modules/Input/hooks/useInputStyles.d.ts.map +1 -1
  38. package/dist/modules/Modal/Modal.d.ts.map +1 -1
  39. package/dist/modules/Modal/components/molecules/ModalBody.d.ts.map +1 -1
  40. package/dist/modules/Modal/components/molecules/ModalFooter.d.ts.map +1 -1
  41. package/dist/modules/Modal/context/ModalContext.d.ts.map +1 -1
  42. package/dist/modules/PickerColor/components/atoms/ColorInput.d.ts +25 -0
  43. package/dist/modules/PickerColor/components/atoms/ColorInput.d.ts.map +1 -0
  44. package/dist/modules/PickerColor/components/atoms/ColorSwatch.d.ts +18 -0
  45. package/dist/modules/PickerColor/components/atoms/ColorSwatch.d.ts.map +1 -0
  46. package/dist/modules/PickerColor/components/atoms/index.d.ts +3 -0
  47. package/dist/modules/PickerColor/components/atoms/index.d.ts.map +1 -0
  48. package/dist/modules/PickerColor/components/index.d.ts +4 -0
  49. package/dist/modules/PickerColor/components/index.d.ts.map +1 -0
  50. package/dist/modules/PickerColor/components/molecules/ColorPalette.d.ts +15 -0
  51. package/dist/modules/PickerColor/components/molecules/ColorPalette.d.ts.map +1 -0
  52. package/dist/modules/PickerColor/components/molecules/ColorPickerContent.d.ts +18 -0
  53. package/dist/modules/PickerColor/components/molecules/ColorPickerContent.d.ts.map +1 -0
  54. package/dist/modules/PickerColor/components/molecules/index.d.ts +3 -0
  55. package/dist/modules/PickerColor/components/molecules/index.d.ts.map +1 -0
  56. package/dist/modules/PickerColor/components/organisms/PickerColor.d.ts +3 -0
  57. package/dist/modules/PickerColor/components/organisms/PickerColor.d.ts.map +1 -0
  58. package/dist/modules/PickerColor/components/organisms/index.d.ts +2 -0
  59. package/dist/modules/PickerColor/components/organisms/index.d.ts.map +1 -0
  60. package/dist/modules/PickerColor/constants/colors.d.ts +9 -0
  61. package/dist/modules/PickerColor/constants/colors.d.ts.map +1 -0
  62. package/dist/modules/PickerColor/constants/index.d.ts +2 -0
  63. package/dist/modules/PickerColor/constants/index.d.ts.map +1 -0
  64. package/dist/modules/PickerColor/hooks/index.d.ts +3 -0
  65. package/dist/modules/PickerColor/hooks/index.d.ts.map +1 -0
  66. package/dist/modules/PickerColor/hooks/useEyeDropper.d.ts +12 -0
  67. package/dist/modules/PickerColor/hooks/useEyeDropper.d.ts.map +1 -0
  68. package/dist/modules/PickerColor/hooks/useRecentColors.d.ts +18 -0
  69. package/dist/modules/PickerColor/hooks/useRecentColors.d.ts.map +1 -0
  70. package/dist/modules/PickerColor/index.d.ts +2 -0
  71. package/dist/modules/PickerColor/index.d.ts.map +1 -0
  72. package/dist/modules/PickerColor/stories/PickerColor.stories.d.ts +16 -0
  73. package/dist/modules/PickerColor/stories/PickerColor.stories.d.ts.map +1 -0
  74. package/dist/modules/PickerColor/utils/colorUtils.d.ts +45 -0
  75. package/dist/modules/PickerColor/utils/colorUtils.d.ts.map +1 -0
  76. package/dist/modules/PickerColor/utils/debounce.d.ts +8 -0
  77. package/dist/modules/PickerColor/utils/debounce.d.ts.map +1 -0
  78. package/dist/modules/PickerColor/utils/index.d.ts +3 -0
  79. package/dist/modules/PickerColor/utils/index.d.ts.map +1 -0
  80. package/dist/modules/ProgressBar/components/organisms/atoms/BarProgress.d.ts.map +1 -1
  81. package/dist/modules/Table/Table.d.ts.map +1 -1
  82. package/dist/modules/Table/components/atoms/TextFieldCell.d.ts.map +1 -1
  83. package/dist/modules/Table/components/organisms/TableSelectionBar.d.ts.map +1 -1
  84. package/dist/modules/Table/components/organisms/TableToolbar.d.ts +5 -1
  85. package/dist/modules/Table/components/organisms/TableToolbar.d.ts.map +1 -1
  86. package/dist/modules/Table/hooks/useTableConfig.d.ts +5 -0
  87. package/dist/modules/Table/hooks/useTableConfig.d.ts.map +1 -1
  88. package/dist/modules/Table/stories/TableWithQuery.stories.d.ts +7 -0
  89. package/dist/modules/Table/stories/TableWithQuery.stories.d.ts.map +1 -1
  90. package/dist/modules/Toast/components/molecules/ToastItem.d.ts.map +1 -1
  91. package/dist/modules/Toast/hooks/useToast.d.ts.map +1 -1
  92. package/dist/modules/Toast/hooks/useToastService.d.ts +3 -1
  93. package/dist/modules/Toast/hooks/useToastService.d.ts.map +1 -1
  94. package/dist/modules/Toast/index.d.ts +8 -5
  95. package/dist/modules/Toast/index.d.ts.map +1 -1
  96. package/dist/modules/Toast/stories/toast.stories.d.ts.map +1 -1
  97. package/dist/modules/index.d.ts +1 -0
  98. package/dist/modules/index.d.ts.map +1 -1
  99. package/dist/shared/const/colors.d.ts +3 -0
  100. package/dist/shared/const/colors.d.ts.map +1 -1
  101. package/dist/shared/types/alert.d.ts +3 -2
  102. package/dist/shared/types/alert.d.ts.map +1 -1
  103. package/dist/shared/types/colorpicker.d.ts +47 -0
  104. package/dist/shared/types/colorpicker.d.ts.map +1 -0
  105. package/dist/shared/types/icon.d.ts +2 -0
  106. package/dist/shared/types/icon.d.ts.map +1 -1
  107. package/dist/shared/types/index.d.ts +1 -0
  108. package/dist/shared/types/index.d.ts.map +1 -1
  109. package/dist/shared/types/input.d.ts +1 -0
  110. package/dist/shared/types/input.d.ts.map +1 -1
  111. package/dist/shared/types/progressbar.d.ts +1 -1
  112. package/dist/shared/types/progressbar.d.ts.map +1 -1
  113. package/dist/shared/types/table.d.ts +1 -0
  114. package/dist/shared/types/table.d.ts.map +1 -1
  115. package/dist/shared/types/toast.d.ts +1 -0
  116. package/dist/shared/types/toast.d.ts.map +1 -1
  117. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -5,6 +5,120 @@ 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.14] - 2026-01-06
9
+
10
+ ### Added
11
+ - **PickerColor Component**: Nuevo componente completo para selección de colores
12
+ - Componente `PickerColor` para seleccionar colores en formato hexadecimal
13
+ - Componentes `ColorInput`, `ColorPalette`, y `ColorSwatch` para selección visual de colores
14
+ - Integración con almacenamiento de colores recientes usando localStorage para comodidad del usuario
15
+ - Soporte para EyeDropper API para seleccionar colores desde la pantalla
16
+ - Funciones utilitarias para validación y conversión de colores (hex, RGB, HSL)
17
+ - Stories completas para el componente PickerColor que demuestran varios casos de uso y configuraciones
18
+ - **Toast/Alert - Barra de Progreso con Duración**: Nueva funcionalidad para mostrar barra de progreso en toasts y alerts
19
+ - Nueva prop `duration` en `IAlert` y `ToastProps` para definir la duración del toast/alert
20
+ - Barra de progreso que se muestra en la parte inferior del alert cuando hay duración definida
21
+ - El progreso retrocede de 100% a 0% mientras pasa el tiempo, mostrando el tiempo restante
22
+ - El toast/alert se cierra automáticamente cuando el progreso llega a 0%
23
+ - La barra de progreso solo se muestra si `duration` está definida y es mayor a 0
24
+ - Hook `useProgressBar` que maneja el cálculo del progreso usando `requestAnimationFrame` para animación suave
25
+ - Sincronización entre el cierre automático del toast y la barra de progreso
26
+ - Actualizada la historia "DuraciónPersonalizada" para demostrar la funcionalidad de la barra de progreso
27
+ - Agregados ejemplos con diferentes duraciones (2s, 5s, 10s) en la historia "Colores"
28
+ - **Table - Validación de Celdas Editables**: Sistema de validación para celdas editables en tablas
29
+ - Nueva prop `errorCursor` en componente Input para indicar visualmente errores con cursor rojo y borde
30
+ - Validación automática basada en el tipo de columna (`number`, `numeric`, `text`)
31
+ - Prevención de entrada de caracteres inválidos en columnas numéricas
32
+ - Cursor parpadeante en color danger cuando hay error de validación
33
+ - Borde y fondo en color danger cuando hay error de validación
34
+ - Nueva story `ValidationTable` que demuestra la funcionalidad de validación en celdas editables
35
+ - **Table - Búsqueda Interna Configurable**: Mejora en el manejo de búsqueda interna vs externa
36
+ - Nueva prop `internalSearch` en `TableToolbarConfig` para controlar si se aplica búsqueda interna (por defecto: `false`)
37
+ - Cuando `internalSearch` es `false` y hay `onSearch` definido, solo se emite el evento sin aplicar búsqueda interna
38
+ - Evita mostrar resultados intermedios de búsqueda interna cuando hay búsqueda externa asíncrona
39
+ - Mejora en la experiencia de usuario al evitar parpadeos de resultados durante búsquedas externas
40
+ - **Table - Actualización Batch de Visibilidad de Columnas**: Mejora en el guardado de configuración en localStorage
41
+ - Nuevo método `updateMultipleColumnVisibility` en `useTableConfig` para actualizar múltiples columnas de una vez
42
+ - Prevención de sobreescrituras en localStorage cuando se cambian múltiples columnas simultáneamente
43
+ - Modificación en `TableToolbar` para usar actualización batch cuando hay múltiples cambios de visibilidad
44
+ - Nueva prop `onMultipleColumnVisibilityChange` en `TableToolbar` para manejar cambios batch
45
+ - Corrección del problema donde solo se guardaba el último checkbox marcado en localStorage
46
+ - **TableSelectionBar - Iconos Mejorados**: Mejora en el renderizado de iconos en acciones de selección
47
+ - Los iconos ahora se muestran correctamente cuando hay `label` e `icon` en las acciones
48
+ - Uso de `slotLeft` para iconos cuando hay label, permitiendo mostrar icono y texto juntos
49
+ - Soporte mejorado para iconos de tipo string (`'EditOutlined'`) y Font Awesome (`faCopy`)
50
+
51
+ ### Changed
52
+ - **Toast - Message Opcional**: La prop `message` ahora es opcional en `ToastInput`
53
+ - Cambiado el tipo `ToastInput` de `string | (ToastOptions & { message: string })` a `string | (ToastOptions & { message?: string })`
54
+ - Permite crear toasts solo con `title` sin necesidad de incluir `message`
55
+ - Si no se proporciona `message`, se usa una cadena vacía por defecto
56
+
57
+ ### Fixed
58
+ - **Table - Guardado en localStorage**: Corrección de sobreescrituras en localStorage
59
+ - Solucionado el problema donde múltiples cambios de visibilidad de columnas causaban sobreescrituras
60
+ - Ahora todos los cambios de visibilidad se guardan correctamente en una sola operación batch
61
+ - Mejora en la persistencia de configuración de columnas
62
+ - **Icon - Comparación con 'xl' en LegacyIcon**: Corrección de error de TypeScript
63
+ - Eliminada la comparación innecesaria con `'xl'` en `getPaddingClass` ya que `VisualSize` no incluye `'xl'`
64
+ - Simplificada la lógica para solo convertir `'xxs'` a `'xs'` cuando es necesario
65
+ - **PickerColor - Importación de InputRef**: Corrección de importación incorrecta
66
+ - Cambiada la importación de `InputRef` de `@/modules/Input` a `@/shared/types/input`
67
+ - Agregadas las propiedades faltantes `clear` y `getInputElement` al objeto retornado por `useImperativeHandle` en `ColorInput`
68
+
69
+ ## [1.2.13] - 2025-01-22
70
+
71
+ ### Added
72
+ - **Avatar - AvatarStack Component**: Nuevo componente para mostrar múltiples avatares apilados con efecto de superposición
73
+ - Nueva prop `stack` que acepta un array de avatares para mostrar en formato apilado
74
+ - Detección automática de tipo: si un avatar tiene `src`, automáticamente se usa `type='people'` sin necesidad de especificarlo
75
+ - Prop `maxVisible` para limitar el número de avatares visibles, mostrando un contador automático con el número restante (ej: "+5")
76
+ - Props `counterColor` y `counterTheme` para personalizar el avatar contador cuando se excede `maxVisible`
77
+ - Prop `stroke` para agregar borde a todos los avatares del stack (incluyendo el contador)
78
+ - Márgenes negativos automáticos según el tamaño del avatar para crear el efecto de superposición
79
+ - Padding derecho proporcional al tamaño para compensar el espacio de los márgenes negativos
80
+ - Nueva story `AvatarStack` que demuestra diferentes variaciones: stack con imágenes, stack mixto, stack con letras, stack con contador, y stack con límite máximo
81
+ - Soporte para todos los tamaños de avatar (xxs, xs, sm, md, lg, xl)
82
+ - Tipos flexibles `AvatarStackItem` que permiten pasar avatares sin especificar `type` cuando tienen `src`
83
+
84
+ ### Fixed
85
+ - **Modal - Border-radius cuando footer está oculto**: Mejora en el manejo del border-radius del body cuando el footer está oculto
86
+ - El `ModalBody` ahora aplica `ui-rounded-b-lg` cuando `hideFooter={true}` para mantener el mismo border-radius que tendría el footer
87
+ - El `ModalFooter` también tiene `ui-rounded-b-lg` para mantener consistencia visual
88
+ - Integración de `hideFooter` en el contexto del Modal para que esté disponible en todos los componentes hijos
89
+ - Mejora en la experiencia visual cuando el footer está oculto, manteniendo el border-radius correcto en la parte inferior del modal
90
+
91
+ ## [1.2.12] - 2025-01-16
92
+
93
+ ### Added
94
+ - **Modal - Prop hideFooter**: Nueva prop `hideFooter` que permite forzar que no aparezca el footer del modal, sin importar qué otras props estén activas
95
+ - La prop `hideFooter` tiene prioridad sobre todas las demás props relacionadas con el footer
96
+ - Útil cuando se necesita ocultar el footer incluso si hay botones de cancelar o éxito configurados
97
+ - Nueva story `HideFooter` que demuestra el uso de esta funcionalidad
98
+ - **Badge - Color Personalizado**: Nueva funcionalidad para la prop `customColor` que permite usar un color hexadecimal o un color fijo que sobrescribe el color por defecto
99
+ - La prop `customColor` se aplica mediante estilos inline que tienen mayor especificidad que las clases CSS
100
+ - Soporte para colores hexadecimales (`#FF0000`, `#0066FF`, etc.), colores RGBA (`rgba(255, 99, 71, 0.3)`), y nombres de color CSS
101
+ - En theme `solid`: usa el color personalizado como `backgroundColor` y el texto en blanco
102
+ - En theme `soft`: usa el color personalizado como `backgroundColor` y como `color` de texto
103
+ - Si `stroke` está activo, también aplica el color personalizado al `borderColor`
104
+ - Nueva story `CustomColor` que demuestra el uso de colores personalizados en diferentes configuraciones
105
+ - **Icon - Padding mejorado**: Mejora en la prop `padding` del componente Icon
106
+ - Agregados nuevos valores de padding: `'xl'` y `'2xl'` para mayor flexibilidad de layout
107
+ - Actualizada la lógica de manejo de background para aplicar padding condicionalmente según la presencia de un fondo
108
+ - Mejora en la consistencia del espaciado interno del icono
109
+ - **Popup - Prop stopPropagationList**: Nueva prop para controlar la propagación de eventos
110
+ - Prop `stopPropagationList` que controla si se detiene la propagación de eventos de click dentro del popup (por defecto `true`)
111
+ - Permite que los clicks en items de lista dentro del popup no se propaguen al contenedor padre
112
+ - Útil cuando el popup contiene listas y se necesita evitar que los clicks en items activen eventos del contenedor
113
+ - **List/ListItem - Hover rojo mejorado**: Mejora en el estado hover para items de lista con color rojo
114
+ - Cambio en el hover de items con `color="red"` de `hover:ui-bg-surface-danger hover:ui-text-danger` a `hover:ui-bg-fill-danger-hover hover:ui-text-on-color`
115
+ - Mejora la experiencia visual para acciones destructivas o de advertencia mostrando fondo rojo con texto blanco en hover
116
+ - Eliminado el gap vertical (`gap-y-8`) de la lista para mejor control del espaciado
117
+ - **Filters - Props theme y color**: Nuevas props para personalización del componente Filters
118
+ - Agregadas props `theme` (por defecto `'solid'`) y `color` (por defecto `'secondary'`) al componente Filters
119
+ - La prop `color` se pasa automáticamente al componente Popup interno para mantener consistencia visual
120
+ - Permite mayor personalización del aspecto visual del popup de filtros
121
+
8
122
  ## [1.2.11] - 2025-01-16
9
123
 
10
124
  ### Added