@imj_media/ui 1.2.24 → 1.2.26

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 (63) hide show
  1. package/CHANGELOG.md +73 -0
  2. package/dist/index.css +1 -1
  3. package/dist/index.esm.js +5259 -4936
  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/AlertDialog/components/AlertDialog.d.ts +1 -1
  8. package/dist/modules/AlertDialog/components/AlertDialog.d.ts.map +1 -1
  9. package/dist/modules/AlertDialog/stories/alertdialog.stories.d.ts +1 -0
  10. package/dist/modules/AlertDialog/stories/alertdialog.stories.d.ts.map +1 -1
  11. package/dist/modules/Badges/components/Badges.d.ts +4 -0
  12. package/dist/modules/Badges/components/Badges.d.ts.map +1 -0
  13. package/dist/modules/Badges/hooks/useBadges.d.ts +26 -0
  14. package/dist/modules/Badges/hooks/useBadges.d.ts.map +1 -0
  15. package/dist/modules/Badges/index.d.ts +4 -0
  16. package/dist/modules/Badges/index.d.ts.map +1 -0
  17. package/dist/modules/Badges/stories/Badges.stories.d.ts +18 -0
  18. package/dist/modules/Badges/stories/Badges.stories.d.ts.map +1 -0
  19. package/dist/modules/Dropdown/components/Dropdown.d.ts.map +1 -1
  20. package/dist/modules/Dropdown/components/organisms/TagsMultiple.d.ts.map +1 -1
  21. package/dist/modules/Dropdown/stories/Dropdown.stories.d.ts +1 -0
  22. package/dist/modules/Dropdown/stories/Dropdown.stories.d.ts.map +1 -1
  23. package/dist/modules/InnerButton/index.d.ts +1 -1
  24. package/dist/modules/InnerButton/index.d.ts.map +1 -1
  25. package/dist/modules/InnerButton/stories/InnerButton.stories.d.ts +1 -0
  26. package/dist/modules/InnerButton/stories/InnerButton.stories.d.ts.map +1 -1
  27. package/dist/modules/Modal/Modal.d.ts.map +1 -1
  28. package/dist/modules/Modal/stories/Modal.stories.d.ts +1 -0
  29. package/dist/modules/Modal/stories/Modal.stories.d.ts.map +1 -1
  30. package/dist/modules/Text/components/Body.d.ts +3 -3
  31. package/dist/modules/Text/components/Body.d.ts.map +1 -1
  32. package/dist/modules/Text/components/Caption.d.ts +3 -3
  33. package/dist/modules/Text/components/Caption.d.ts.map +1 -1
  34. package/dist/modules/Text/components/Code.d.ts +3 -3
  35. package/dist/modules/Text/components/Code.d.ts.map +1 -1
  36. package/dist/modules/Text/components/CustomText.d.ts +3 -3
  37. package/dist/modules/Text/components/CustomText.d.ts.map +1 -1
  38. package/dist/modules/Text/components/Title.d.ts +3 -3
  39. package/dist/modules/Text/components/Title.d.ts.map +1 -1
  40. package/dist/modules/Text/components/constants.d.ts +3 -0
  41. package/dist/modules/Text/components/constants.d.ts.map +1 -0
  42. package/dist/modules/Textarea/components/organisms/Textarea.d.ts +1 -1
  43. package/dist/modules/Textarea/components/organisms/Textarea.d.ts.map +1 -1
  44. package/dist/modules/index.d.ts +1 -0
  45. package/dist/modules/index.d.ts.map +1 -1
  46. package/dist/shared/hooks/useBodyScrollLock.d.ts.map +1 -1
  47. package/dist/shared/types/alertdialog.d.ts +2 -1
  48. package/dist/shared/types/alertdialog.d.ts.map +1 -1
  49. package/dist/shared/types/badges.d.ts +52 -0
  50. package/dist/shared/types/badges.d.ts.map +1 -0
  51. package/dist/shared/types/button.d.ts +10 -3
  52. package/dist/shared/types/button.d.ts.map +1 -1
  53. package/dist/shared/types/dropdown.d.ts +1 -0
  54. package/dist/shared/types/dropdown.d.ts.map +1 -1
  55. package/dist/shared/types/index.d.ts +1 -0
  56. package/dist/shared/types/index.d.ts.map +1 -1
  57. package/dist/shared/types/modal.d.ts +4 -2
  58. package/dist/shared/types/modal.d.ts.map +1 -1
  59. package/dist/shared/types/text.d.ts +4 -4
  60. package/dist/shared/types/text.d.ts.map +1 -1
  61. package/dist/shared/types/textarea.d.ts +2 -0
  62. package/dist/shared/types/textarea.d.ts.map +1 -1
  63. package/package.json +2 -1
package/CHANGELOG.md CHANGED
@@ -5,6 +5,79 @@ 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.26] - 2026-01-22
9
+
10
+ ### Added
11
+ - **InnerButton - Soporte para Badge en Icon Buttons**: Nueva funcionalidad para mostrar badges en botones de icono
12
+ - El badge se muestra automáticamente cuando el botón solo tiene prop `icon` y no tiene `children` (icon button)
13
+ - Posicionamiento absoluto en la esquina superior derecha del botón, centrado perfectamente en la esquina
14
+ - Nuevas props relacionadas con badge: `badgeColor`, `badgeLabel`, `badgeTheme`, `badgeSize`, `badgeStroke`, `badgeIcon`
15
+ - Soporte para iconos duotone en el badge: `badgeIconDuotonePrimary`, `badgeIconDuotoneSecondary`, `badgeIconDuotoneOpacityPrimary`, `badgeIconDuotoneOpacitySecondary`
16
+ - Lógica automática para determinar si el badge debe tener borde basado en la combinación de colores del botón y el badge
17
+ - Badge `accent` en botón `primary` → borde automático
18
+ - Badge `gray` en botones `secondary` o `tertiary` → borde automático
19
+ - El badge mantiene su funcionalidad inline cuando el botón tiene `children`
20
+ - Nueva story en Storybook "Icon Button con Badge" que demuestra todas las variantes
21
+
22
+ ### Changed
23
+ - **InnerButton - Overflow handling**: El botón ahora usa `overflow-visible` cuando es un icon button con badge para evitar que el badge sea recortado
24
+ - **Badge - Border colors**: Actualización de colores de borde para usar design tokens (`ui-border-brand`, `ui-border-success`, etc.) en lugar de colores genéricos de Tailwind
25
+
26
+ ## [1.2.25] - 2026-01-22
27
+
28
+ ### Added
29
+ - **Badges - Nuevo Componente**: Nuevo componente para gestión dinámica de tags/badges
30
+ - Contenedor estilo input donde se pueden escribir y agregar badges presionando Enter
31
+ - Cada badge tiene botón de cierre para eliminarlo de la lista
32
+ - Soporte para valores iniciales como array de `BadgeItem[]` o array de `string[]`
33
+ - Prop `colorCycle` para asignar colores cíclicos automáticamente a nuevos badges
34
+ - Prop `defaultColor` para establecer el color por defecto de nuevos badges
35
+ - Prop `maxBadges` para limitar el número máximo de badges permitidos
36
+ - Eventos: `onChange` (al agregar/eliminar), `onAdd`, `onRemove`, `onFocus`, `onBlur`
37
+ - El evento `onChange` retorna objeto con `type` ('add'|'remove'), `item` y `items`
38
+ - Reutiliza componente Tag existente para los badges
39
+ - Hook `useBadges` separado para manejo de lógica (siguiendo principio DRY)
40
+ - Función `normalizeValue` que convierte arrays de strings a `BadgeItem[]` automáticamente
41
+ - Tamaños: xs, sm, md, lg (consistente con otros inputs)
42
+ - Estados: disabled, error, helperText
43
+ - 12 stories completas en Storybook: Default, WithInitialValues, WithStringArray, ColorCycle, DefaultColor, MaxBadges, Sizes, Disabled, WithError, WithHelperText, Events, FullExample
44
+ - **AlertDialog - Prop size**: Nueva prop `size` que hereda los tamaños del componente Modal
45
+ - Tamaños disponibles: xs, sm, md, lg, xl, 2xl, full
46
+ - Nueva story `Sizes` que demuestra todos los tamaños disponibles
47
+ - **AlertDialog - z-index mejorado**: AlertDialog ahora siempre aparece sobre Modal
48
+ - Nuevo z-index de 60 para AlertDialog (Modal usa 50 por defecto)
49
+ - Resuelve problema de layering cuando AlertDialog se abre desde un Modal
50
+ - **Dropdown - Prop infoTooltip**: Nueva prop para mostrar icono de información con tooltip
51
+ - Se pasa al componente Input interno para mantener consistencia
52
+ - Nueva story `WithInfoTooltip` que demuestra el uso
53
+ - **Textarea - Props onFocus y onBlur**: Nuevas props para eventos de focus
54
+ - Retornan el evento nativo `React.FocusEvent<HTMLTextAreaElement>`
55
+ - Parámetro del evento es opcional para mayor flexibilidad
56
+ - **Text - Mejora en manejo de colores**: Autocompletado de colores del sistema de diseño
57
+ - Tipo `TextColor` expandido con todos los colores semánticos y de paleta
58
+ - Prop `color` ahora acepta `TextColor | string` para autocompletado + flexibilidad
59
+ - Colores semánticos: primary, secondary, tertiary, disabled, on-color, etc.
60
+ - Colores de marca: brand, success, warning, danger, info (con variantes hover/pressed/selected)
61
+ - Colores de paleta: all-colors-red, all-colors-blue, etc.
62
+ - Constante `DEFAULT_TEXT_COLORS` para identificar colores del sistema
63
+
64
+ ### Changed
65
+ - **Modal - Props onCancel y onSuccess**: Ahora retornan el evento nativo del click
66
+ - Tipo actualizado a `(event?: React.MouseEvent<HTMLButtonElement>) => void`
67
+ - Parámetro del evento es opcional para compatibilidad con código existente
68
+ - ModalFooter actualizado para pasar el evento a los callbacks
69
+ - **Modal - Prop zIndex configurable**: Nueva prop para controlar el z-index del modal
70
+ - Valores: 50 (default) o 60 (para modales anidados)
71
+ - Útil cuando se necesita mostrar AlertDialog sobre Modal
72
+ - **useBodyScrollLock - Mejora en gestión de locks**: Implementación mejorada para múltiples modales
73
+ - Usa `Set<string>` con IDs únicos en lugar de contador simple
74
+ - El scroll solo se restaura cuando todos los modales/dialogs se cierran
75
+ - Previene problema de scroll restaurándose prematuramente con modales anidados
76
+
77
+ ### Fixed
78
+ - **Header, Title**: Ajuste de layout para mejorar alineación
79
+ - **ModalFooter**: Corrección de handlers onCancel y onSuccess para aceptar parámetro de evento
80
+
8
81
  ## [1.2.24] - 2026-01-XX
9
82
 
10
83
  ### Added