@imj_media/ui 1.2.23 → 1.2.25
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/CHANGELOG.md +104 -26
- package/dist/index.css +1 -1
- package/dist/index.esm.js +5831 -5367
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +9 -10
- package/dist/index.js.map +1 -1
- package/dist/modules/AlertDialog/components/AlertDialog.d.ts +1 -1
- package/dist/modules/AlertDialog/components/AlertDialog.d.ts.map +1 -1
- package/dist/modules/AlertDialog/stories/alertdialog.stories.d.ts +1 -0
- package/dist/modules/AlertDialog/stories/alertdialog.stories.d.ts.map +1 -1
- package/dist/modules/Badges/components/Badges.d.ts +4 -0
- package/dist/modules/Badges/components/Badges.d.ts.map +1 -0
- package/dist/modules/Badges/hooks/useBadges.d.ts +26 -0
- package/dist/modules/Badges/hooks/useBadges.d.ts.map +1 -0
- package/dist/modules/Badges/index.d.ts +4 -0
- package/dist/modules/Badges/index.d.ts.map +1 -0
- package/dist/modules/Badges/stories/Badges.stories.d.ts +18 -0
- package/dist/modules/Badges/stories/Badges.stories.d.ts.map +1 -0
- package/dist/modules/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/modules/DatePicker/hooks/useDatePicker.d.ts +11 -2
- package/dist/modules/DatePicker/hooks/useDatePicker.d.ts.map +1 -1
- package/dist/modules/DatePicker/hooks/useDateRange.d.ts +1 -1
- package/dist/modules/DatePicker/hooks/useDateRange.d.ts.map +1 -1
- package/dist/modules/DatePicker/organisms/Calendar.d.ts.map +1 -1
- package/dist/modules/DatePicker/organisms/DatePickerPortal.d.ts +2 -0
- package/dist/modules/DatePicker/organisms/DatePickerPortal.d.ts.map +1 -1
- package/dist/modules/DatePicker/stories/DatePicker.stories.d.ts.map +1 -1
- package/dist/modules/DatePicker/types/Calendar.types.d.ts +2 -0
- package/dist/modules/DatePicker/types/Calendar.types.d.ts.map +1 -1
- package/dist/modules/DatePicker/types/DatePicker.types.d.ts +2 -0
- package/dist/modules/DatePicker/types/DatePicker.types.d.ts.map +1 -1
- package/dist/modules/Dropdown/components/Dropdown.d.ts.map +1 -1
- package/dist/modules/Dropdown/components/organisms/TagsMultiple.d.ts.map +1 -1
- package/dist/modules/Dropdown/stories/Dropdown.stories.d.ts +1 -0
- package/dist/modules/Dropdown/stories/Dropdown.stories.d.ts.map +1 -1
- package/dist/modules/InnerButton/index.d.ts.map +1 -1
- package/dist/modules/Modal/Modal.d.ts.map +1 -1
- package/dist/modules/Modal/components/molecules/ModalImage.d.ts.map +1 -1
- package/dist/modules/Modal/stories/Modal.stories.d.ts +1 -0
- package/dist/modules/Modal/stories/Modal.stories.d.ts.map +1 -1
- package/dist/modules/Text/components/Body.d.ts +3 -3
- package/dist/modules/Text/components/Body.d.ts.map +1 -1
- package/dist/modules/Text/components/Caption.d.ts +3 -3
- package/dist/modules/Text/components/Caption.d.ts.map +1 -1
- package/dist/modules/Text/components/Code.d.ts +3 -3
- package/dist/modules/Text/components/Code.d.ts.map +1 -1
- package/dist/modules/Text/components/CustomText.d.ts +3 -3
- package/dist/modules/Text/components/CustomText.d.ts.map +1 -1
- package/dist/modules/Text/components/Title.d.ts +3 -3
- package/dist/modules/Text/components/Title.d.ts.map +1 -1
- package/dist/modules/Text/components/constants.d.ts +3 -0
- package/dist/modules/Text/components/constants.d.ts.map +1 -0
- package/dist/modules/Textarea/components/organisms/Textarea.d.ts +1 -1
- package/dist/modules/Textarea/components/organisms/Textarea.d.ts.map +1 -1
- package/dist/modules/Toolbar/components/index.d.ts +2 -0
- package/dist/modules/Toolbar/components/index.d.ts.map +1 -0
- package/dist/modules/Toolbar/components/organisms/Toolbar.d.ts +26 -0
- package/dist/modules/Toolbar/components/organisms/Toolbar.d.ts.map +1 -0
- package/dist/modules/Toolbar/components/organisms/index.d.ts +2 -0
- package/dist/modules/Toolbar/components/organisms/index.d.ts.map +1 -0
- package/dist/modules/Toolbar/index.d.ts +3 -0
- package/dist/modules/Toolbar/index.d.ts.map +1 -0
- package/dist/modules/Toolbar/stories/Toolbar.stories.d.ts +12 -0
- package/dist/modules/Toolbar/stories/Toolbar.stories.d.ts.map +1 -0
- package/dist/modules/Toolbar/types/index.d.ts +91 -0
- package/dist/modules/Toolbar/types/index.d.ts.map +1 -0
- package/dist/modules/index.d.ts +2 -0
- package/dist/modules/index.d.ts.map +1 -1
- package/dist/shared/hooks/useBodyScrollLock.d.ts.map +1 -1
- package/dist/shared/types/alertdialog.d.ts +2 -1
- package/dist/shared/types/alertdialog.d.ts.map +1 -1
- package/dist/shared/types/badges.d.ts +52 -0
- package/dist/shared/types/badges.d.ts.map +1 -0
- package/dist/shared/types/dropdown.d.ts +1 -0
- package/dist/shared/types/dropdown.d.ts.map +1 -1
- package/dist/shared/types/index.d.ts +1 -0
- package/dist/shared/types/index.d.ts.map +1 -1
- package/dist/shared/types/modal.d.ts +4 -2
- package/dist/shared/types/modal.d.ts.map +1 -1
- package/dist/shared/types/text.d.ts +4 -4
- package/dist/shared/types/text.d.ts.map +1 -1
- package/dist/shared/types/textarea.d.ts +2 -0
- package/dist/shared/types/textarea.d.ts.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,18 +5,87 @@ 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.
|
|
8
|
+
## [1.2.25] - 2026-01-22
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- **Badges - Nuevo Componente**: Nuevo componente para gestión dinámica de tags/badges
|
|
12
|
+
- Contenedor estilo input donde se pueden escribir y agregar badges presionando Enter
|
|
13
|
+
- Cada badge tiene botón de cierre para eliminarlo de la lista
|
|
14
|
+
- Soporte para valores iniciales como array de `BadgeItem[]` o array de `string[]`
|
|
15
|
+
- Prop `colorCycle` para asignar colores cíclicos automáticamente a nuevos badges
|
|
16
|
+
- Prop `defaultColor` para establecer el color por defecto de nuevos badges
|
|
17
|
+
- Prop `maxBadges` para limitar el número máximo de badges permitidos
|
|
18
|
+
- Eventos: `onChange` (al agregar/eliminar), `onAdd`, `onRemove`, `onFocus`, `onBlur`
|
|
19
|
+
- El evento `onChange` retorna objeto con `type` ('add'|'remove'), `item` y `items`
|
|
20
|
+
- Reutiliza componente Tag existente para los badges
|
|
21
|
+
- Hook `useBadges` separado para manejo de lógica (siguiendo principio DRY)
|
|
22
|
+
- Función `normalizeValue` que convierte arrays de strings a `BadgeItem[]` automáticamente
|
|
23
|
+
- Tamaños: xs, sm, md, lg (consistente con otros inputs)
|
|
24
|
+
- Estados: disabled, error, helperText
|
|
25
|
+
- 12 stories completas en Storybook: Default, WithInitialValues, WithStringArray, ColorCycle, DefaultColor, MaxBadges, Sizes, Disabled, WithError, WithHelperText, Events, FullExample
|
|
26
|
+
- **AlertDialog - Prop size**: Nueva prop `size` que hereda los tamaños del componente Modal
|
|
27
|
+
- Tamaños disponibles: xs, sm, md, lg, xl, 2xl, full
|
|
28
|
+
- Nueva story `Sizes` que demuestra todos los tamaños disponibles
|
|
29
|
+
- **AlertDialog - z-index mejorado**: AlertDialog ahora siempre aparece sobre Modal
|
|
30
|
+
- Nuevo z-index de 60 para AlertDialog (Modal usa 50 por defecto)
|
|
31
|
+
- Resuelve problema de layering cuando AlertDialog se abre desde un Modal
|
|
32
|
+
- **Dropdown - Prop infoTooltip**: Nueva prop para mostrar icono de información con tooltip
|
|
33
|
+
- Se pasa al componente Input interno para mantener consistencia
|
|
34
|
+
- Nueva story `WithInfoTooltip` que demuestra el uso
|
|
35
|
+
- **Textarea - Props onFocus y onBlur**: Nuevas props para eventos de focus
|
|
36
|
+
- Retornan el evento nativo `React.FocusEvent<HTMLTextAreaElement>`
|
|
37
|
+
- Parámetro del evento es opcional para mayor flexibilidad
|
|
38
|
+
- **Text - Mejora en manejo de colores**: Autocompletado de colores del sistema de diseño
|
|
39
|
+
- Tipo `TextColor` expandido con todos los colores semánticos y de paleta
|
|
40
|
+
- Prop `color` ahora acepta `TextColor | string` para autocompletado + flexibilidad
|
|
41
|
+
- Colores semánticos: primary, secondary, tertiary, disabled, on-color, etc.
|
|
42
|
+
- Colores de marca: brand, success, warning, danger, info (con variantes hover/pressed/selected)
|
|
43
|
+
- Colores de paleta: all-colors-red, all-colors-blue, etc.
|
|
44
|
+
- Constante `DEFAULT_TEXT_COLORS` para identificar colores del sistema
|
|
45
|
+
|
|
46
|
+
### Changed
|
|
47
|
+
- **Modal - Props onCancel y onSuccess**: Ahora retornan el evento nativo del click
|
|
48
|
+
- Tipo actualizado a `(event?: React.MouseEvent<HTMLButtonElement>) => void`
|
|
49
|
+
- Parámetro del evento es opcional para compatibilidad con código existente
|
|
50
|
+
- ModalFooter actualizado para pasar el evento a los callbacks
|
|
51
|
+
- **Modal - Prop zIndex configurable**: Nueva prop para controlar el z-index del modal
|
|
52
|
+
- Valores: 50 (default) o 60 (para modales anidados)
|
|
53
|
+
- Útil cuando se necesita mostrar AlertDialog sobre Modal
|
|
54
|
+
- **useBodyScrollLock - Mejora en gestión de locks**: Implementación mejorada para múltiples modales
|
|
55
|
+
- Usa `Set<string>` con IDs únicos en lugar de contador simple
|
|
56
|
+
- El scroll solo se restaura cuando todos los modales/dialogs se cierran
|
|
57
|
+
- Previene problema de scroll restaurándose prematuramente con modales anidados
|
|
58
|
+
|
|
59
|
+
### Fixed
|
|
60
|
+
- **Header, Title**: Ajuste de layout para mejorar alineación
|
|
61
|
+
- **ModalFooter**: Corrección de handlers onCancel y onSuccess para aceptar parámetro de evento
|
|
62
|
+
|
|
63
|
+
## [1.2.24] - 2026-01-XX
|
|
64
|
+
|
|
65
|
+
### Added
|
|
66
|
+
- **Toolbar - Nuevo Componente**: Nuevo módulo Toolbar como barra de herramientas flexible
|
|
67
|
+
- Posicionamiento fijo en la parte inferior de la pantalla usando portal
|
|
68
|
+
- Soporte para botones configurables con `color`, `icon`, `label`, `onClick`, `disabled`, `show`
|
|
69
|
+
- Cada botón puede tener sus propios addons (inputs o date pickers)
|
|
70
|
+
- Vista de botones y vista de addons con navegación entre ellas
|
|
71
|
+
- Props `text` y `count` para mostrar "(count) text" en la vista de addons
|
|
72
|
+
- Botón de cerrar para ocultar el toolbar
|
|
73
|
+
- Diseño responsivo con adaptación móvil
|
|
74
|
+
- Stories completas en Storybook
|
|
75
|
+
- **Modal.Image - Mejoras en Modo Zoom**: Mejoras en la visualización de imagen expandida
|
|
76
|
+
- Mantiene el aspect ratio original de la imagen en modo zoom
|
|
77
|
+
- Contenedor con borde y padding según diseño de Figma
|
|
78
|
+
- Botón de minimizar posicionado dentro de la imagen
|
|
79
|
+
- Cálculo dinámico de dimensiones respetando el espacio disponible
|
|
80
|
+
|
|
81
|
+
### Changed
|
|
82
|
+
- **DatePicker - Manejo de Confirmación**: Mejoras en el comportamiento de selección de fechas
|
|
83
|
+
- El evento `onChange` solo se invoca cuando se hace clic en "Aceptar"
|
|
84
|
+
- Nuevos props `onAccept` y `onCancel` para manejo explícito de confirmación
|
|
85
|
+
|
|
86
|
+
## [1.2.23] - 2026-01-XX
|
|
9
87
|
|
|
10
88
|
### Added
|
|
11
|
-
- **Title - Soporte para Children**: El componente Title ahora puede recibir el contenido tanto mediante la prop `title` como mediante `children`
|
|
12
|
-
- La prop `title` ahora es opcional (`title?: string`)
|
|
13
|
-
- Nueva prop `children?: ReactNode` para pasar el contenido como children
|
|
14
|
-
- El componente usa `title || children` para determinar el contenido a mostrar
|
|
15
|
-
- Permite mayor flexibilidad: usar `title` para texto simple o `children` para contenido más complejo (JSX, elementos con formato, etc.)
|
|
16
|
-
- Nueva historia `WithChildren` en Storybook que demuestra diferentes casos de uso con children
|
|
17
|
-
- Actualizada la historia `Default` para mostrar ejemplos con ambas formas de uso
|
|
18
|
-
- Actualizados `argTypes` en Storybook para incluir control de `children`
|
|
19
|
-
- Actualizada la documentación del componente para mencionar soporte de `children`
|
|
20
89
|
- **Switch - Soporte para Iconos Font Awesome Duotone**: El componente Switch ahora soporta iconos Font Awesome Duotone con colores personalizados
|
|
21
90
|
- Nuevas props en `SwitchOption` para configurar iconos duotone:
|
|
22
91
|
- `leftSlotDuotonePrimary`, `leftSlotDuotoneSecondary`: Colores primario y secundario para el slot izquierdo
|
|
@@ -32,24 +101,18 @@ y este proyecto adhiere a [Semantic Versioning](https://semver.org/lang/es/).
|
|
|
32
101
|
- `WithSlotLeft`, `WithSlotRight`, `WithBothSlots`, `WithoutSlots`, `MixedSlots`: Historias adicionales que muestran diferentes combinaciones de slots
|
|
33
102
|
- Compatible con iconos importados desde `@fortawesome/pro-duotone-svg-icons`
|
|
34
103
|
|
|
35
|
-
|
|
36
|
-
- **Dropdown - Comparación Flexible de Valores**: Corregido el problema donde las opciones por defecto no se mostraban correctamente cuando se pasaba un valor inicial
|
|
37
|
-
- Problema: Cuando se pasaba un valor numérico (ej: `2`) pero las opciones tenían valores string (ej: `'2'`), la comparación estricta (`===`) fallaba y no se encontraba la opción seleccionada
|
|
38
|
-
- Solución: Implementada función `compareValues` que realiza comparación flexible entre strings y números
|
|
39
|
-
- Compara valores de tres formas: comparación estricta, comparación como strings, y comparación como números
|
|
40
|
-
- Permite que valores numéricos coincidan con strings equivalentes y viceversa
|
|
41
|
-
- Cambios realizados:
|
|
42
|
-
- Agregada función `compareValues` en `useDropdown.ts` para comparación flexible
|
|
43
|
-
- Actualizada lógica de `selectedOptions` para usar comparación flexible
|
|
44
|
-
- Actualizada lógica de `filteredOptions` para usar comparación flexible
|
|
45
|
-
- Agregada función `compareValues` en `Dropdown.tsx` con `useCallback`
|
|
46
|
-
- Actualizada comparación en `renderDropdown` para determinar si una opción está seleccionada
|
|
47
|
-
- Actualizada comparación en `useEffect` que busca la opción seleccionada para establecer iconos
|
|
48
|
-
- Ahora el dropdown muestra correctamente la opción seleccionada independientemente de si el valor es número o string
|
|
49
|
-
|
|
50
|
-
## [1.2.20] - 2026-01-XX
|
|
104
|
+
## [1.2.22] - 2026-01-XX
|
|
51
105
|
|
|
52
106
|
### Added
|
|
107
|
+
- **Title - Soporte para Children**: El componente Title ahora puede recibir el contenido tanto mediante la prop `title` como mediante `children`
|
|
108
|
+
- La prop `title` ahora es opcional (`title?: string`)
|
|
109
|
+
- Nueva prop `children?: ReactNode` para pasar el contenido como children
|
|
110
|
+
- El componente usa `title || children` para determinar el contenido a mostrar
|
|
111
|
+
- Permite mayor flexibilidad: usar `title` para texto simple o `children` para contenido más complejo (JSX, elementos con formato, etc.)
|
|
112
|
+
- Nueva historia `WithChildren` en Storybook que demuestra diferentes casos de uso con children
|
|
113
|
+
- Actualizada la historia `Default` para mostrar ejemplos con ambas formas de uso
|
|
114
|
+
- Actualizados `argTypes` en Storybook para incluir control de `children`
|
|
115
|
+
- Actualizada la documentación del componente para mencionar soporte de `children`
|
|
53
116
|
- **Title - Prop `center` para Alineación Centrada**: Nueva prop `center` que permite centrar horizontalmente el contenido del título
|
|
54
117
|
- Nueva prop `center?: boolean` en `TitleProps` para controlar la alineación del contenido
|
|
55
118
|
- Cuando `center` es `true`, se aplica `ui-justify-center` al contenedor flex
|
|
@@ -66,8 +129,23 @@ y este proyecto adhiere a [Semantic Versioning](https://semver.org/lang/es/).
|
|
|
66
129
|
- Nueva historia `RealWorldExamples` que muestra casos de uso prácticos (Dashboard, Gestión de Archivos, Calendario, etc.)
|
|
67
130
|
- Todas las historias incluyen descripciones, ejemplos visuales y código de ejemplo usando `StoryBox`
|
|
68
131
|
- Documentación completa con `tags: ['autodocs']` para generación automática de documentación
|
|
132
|
+
- **Switch - Props slotLeft y slotRight**: Nuevas props para mayor flexibilidad en el Switch
|
|
133
|
+
- **SelectionCheckbox - Prop round**: Nueva prop para estilo redondeado en checkboxes de selección
|
|
69
134
|
|
|
70
135
|
### Fixed
|
|
136
|
+
- **Dropdown - Comparación Flexible de Valores**: Corregido el problema donde las opciones por defecto no se mostraban correctamente cuando se pasaba un valor inicial
|
|
137
|
+
- Problema: Cuando se pasaba un valor numérico (ej: `2`) pero las opciones tenían valores string (ej: `'2'`), la comparación estricta (`===`) fallaba y no se encontraba la opción seleccionada
|
|
138
|
+
- Solución: Implementada función `compareValues` que realiza comparación flexible entre strings y números
|
|
139
|
+
- Compara valores de tres formas: comparación estricta, comparación como strings, y comparación como números
|
|
140
|
+
- Permite que valores numéricos coincidan con strings equivalentes y viceversa
|
|
141
|
+
- Cambios realizados:
|
|
142
|
+
- Agregada función `compareValues` en `useDropdown.ts` para comparación flexible
|
|
143
|
+
- Actualizada lógica de `selectedOptions` para usar comparación flexible
|
|
144
|
+
- Actualizada lógica de `filteredOptions` para usar comparación flexible
|
|
145
|
+
- Agregada función `compareValues` en `Dropdown.tsx` con `useCallback`
|
|
146
|
+
- Actualizada comparación en `renderDropdown` para determinar si una opción está seleccionada
|
|
147
|
+
- Actualizada comparación en `useEffect` que busca la opción seleccionada para establecer iconos
|
|
148
|
+
- Ahora el dropdown muestra correctamente la opción seleccionada independientemente de si el valor es número o string
|
|
71
149
|
- **Title - Corrección de Clases de Tipografía**: Corrección del uso de clases de tipografía para headings
|
|
72
150
|
- Reemplazada la clase compuesta `ui-leading-tracking-h3` (que no funcionaba correctamente) por clases individuales de Tailwind
|
|
73
151
|
- Ahora usa `ui-leading-heading-h3` y `ui-tracking-heading-h3` que están correctamente definidas en la configuración de Tailwind
|