@imj_media/ui 1.2.37 → 1.2.38

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 (83) hide show
  1. package/CHANGELOG.md +68 -0
  2. package/dist/index.css +1 -1
  3. package/dist/index.esm.js +13037 -12294
  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/Button/components/organisms/Button.d.ts +1 -1
  8. package/dist/modules/Checkbox/index.d.ts +30 -0
  9. package/dist/modules/Checkbox/index.d.ts.map +1 -0
  10. package/dist/modules/Checkbox/stories/Checkbox.stories.d.ts +33 -0
  11. package/dist/modules/Checkbox/stories/Checkbox.stories.d.ts.map +1 -0
  12. package/dist/modules/EmojiPicker/components/organisms/EmojiPicker.d.ts +1 -1
  13. package/dist/modules/EmojiPicker/stories/emojipicker.stories.d.ts +1 -1
  14. package/dist/modules/InnerButton/InnerButton.d.ts +6 -0
  15. package/dist/modules/InnerButton/InnerButton.d.ts.map +1 -0
  16. package/dist/modules/InnerButton/components/ButtonBadge.d.ts +50 -0
  17. package/dist/modules/InnerButton/components/ButtonBadge.d.ts.map +1 -0
  18. package/dist/modules/InnerButton/components/ButtonContent.d.ts +38 -0
  19. package/dist/modules/InnerButton/components/ButtonContent.d.ts.map +1 -0
  20. package/dist/modules/InnerButton/components/ButtonIcon.d.ts +42 -0
  21. package/dist/modules/InnerButton/components/ButtonIcon.d.ts.map +1 -0
  22. package/dist/modules/InnerButton/components/ButtonSlots.d.ts +64 -0
  23. package/dist/modules/InnerButton/components/ButtonSlots.d.ts.map +1 -0
  24. package/dist/modules/InnerButton/components/index.d.ts +15 -0
  25. package/dist/modules/InnerButton/components/index.d.ts.map +1 -0
  26. package/dist/modules/InnerButton/hooks/index.d.ts +7 -0
  27. package/dist/modules/InnerButton/hooks/index.d.ts.map +1 -0
  28. package/dist/modules/InnerButton/hooks/useBadgeLoading.d.ts +14 -0
  29. package/dist/modules/InnerButton/hooks/useBadgeLoading.d.ts.map +1 -0
  30. package/dist/modules/InnerButton/hooks/useButtonClasses.d.ts +37 -0
  31. package/dist/modules/InnerButton/hooks/useButtonClasses.d.ts.map +1 -0
  32. package/dist/modules/InnerButton/hooks/useHoverText.d.ts +28 -0
  33. package/dist/modules/InnerButton/hooks/useHoverText.d.ts.map +1 -0
  34. package/dist/modules/InnerButton/index.d.ts +7 -2
  35. package/dist/modules/InnerButton/index.d.ts.map +1 -1
  36. package/dist/modules/InnerButton/stories/InnerButton.stories.d.ts +20 -0
  37. package/dist/modules/InnerButton/stories/InnerButton.stories.d.ts.map +1 -1
  38. package/dist/modules/InnerButton/styles/buttonVariants.d.ts +42 -0
  39. package/dist/modules/InnerButton/styles/buttonVariants.d.ts.map +1 -0
  40. package/dist/modules/InnerButton/styles/index.d.ts +6 -0
  41. package/dist/modules/InnerButton/styles/index.d.ts.map +1 -0
  42. package/dist/modules/InnerButton/styles/variantColors.d.ts +42 -0
  43. package/dist/modules/InnerButton/styles/variantColors.d.ts.map +1 -0
  44. package/dist/modules/InnerButton/utils/badgeUtils.d.ts +40 -0
  45. package/dist/modules/InnerButton/utils/badgeUtils.d.ts.map +1 -0
  46. package/dist/modules/InnerButton/utils/colorUtils.d.ts +14 -0
  47. package/dist/modules/InnerButton/utils/colorUtils.d.ts.map +1 -0
  48. package/dist/modules/InnerButton/utils/configConverters.d.ts +31 -0
  49. package/dist/modules/InnerButton/utils/configConverters.d.ts.map +1 -0
  50. package/dist/modules/InnerButton/utils/deprecation.d.ts +11 -0
  51. package/dist/modules/InnerButton/utils/deprecation.d.ts.map +1 -0
  52. package/dist/modules/InnerButton/utils/iconUtils.d.ts +16 -0
  53. package/dist/modules/InnerButton/utils/iconUtils.d.ts.map +1 -0
  54. package/dist/modules/InnerButton/utils/index.d.ts +9 -0
  55. package/dist/modules/InnerButton/utils/index.d.ts.map +1 -0
  56. package/dist/modules/Lists/components/molecules/ListItemCheckbox.d.ts.map +1 -1
  57. package/dist/modules/Lists/components/organisms/List.d.ts.map +1 -1
  58. package/dist/modules/Lists/components/organisms/ListBase.d.ts.map +1 -1
  59. package/dist/modules/Lists/components/organisms/ListFiltersCheckbox.d.ts.map +1 -1
  60. package/dist/modules/Lists/components/organisms/ListUsersSelect.d.ts.map +1 -1
  61. package/dist/modules/Modal/Modal.d.ts.map +1 -1
  62. package/dist/modules/Modal/components/molecules/ModalFooter.d.ts +1 -1
  63. package/dist/modules/Modal/components/molecules/ModalFooter.d.ts.map +1 -1
  64. package/dist/modules/Modal/components/molecules/ModalHeader.d.ts +1 -1
  65. package/dist/modules/Modal/components/molecules/ModalHeader.d.ts.map +1 -1
  66. package/dist/modules/Modal/context/ModalContext.d.ts.map +1 -1
  67. package/dist/modules/Modal/stories/Modal.stories.d.ts +6 -0
  68. package/dist/modules/Modal/stories/Modal.stories.d.ts.map +1 -1
  69. package/dist/modules/Table/components/molecules/SelectionCheckbox.d.ts +9 -9
  70. package/dist/modules/Table/components/molecules/SelectionCheckbox.d.ts.map +1 -1
  71. package/dist/modules/Table/components/molecules/TableRow.d.ts.map +1 -1
  72. package/dist/modules/Toolbar/components/organisms/Toolbar.d.ts.map +1 -1
  73. package/dist/modules/index.d.ts +1 -0
  74. package/dist/modules/index.d.ts.map +1 -1
  75. package/dist/shared/types/button.d.ts +88 -4
  76. package/dist/shared/types/button.d.ts.map +1 -1
  77. package/dist/shared/types/buttonConfig.d.ts +67 -0
  78. package/dist/shared/types/buttonConfig.d.ts.map +1 -0
  79. package/dist/shared/types/emojipicker.d.ts +2 -2
  80. package/dist/shared/types/modal.d.ts +174 -21
  81. package/dist/shared/types/modal.d.ts.map +1 -1
  82. package/dist/shared/types/switch.d.ts +2 -2
  83. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -5,6 +5,74 @@ 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.38] - 2026-02-06
9
+
10
+ ### Added
11
+ - **Checkbox - Nuevo Componente Base**: Componente atómico de checkbox basado en los tokens semánticos de Figma (`Forms`)
12
+ - Estados completos: Default, Hover, Focus, Disabled, Error
13
+ - Soporte para `checked`, `indeterminate` y `error`
14
+ - Border radius semántico: `ui-rounded-surface-forms` (token `radius/surface/forms` = 2px)
15
+ - Estado checked sin borde visible (`ui-border-transparent`), solo borde en focus (`ui-border-focus`)
16
+ - Estado error con borde rojo (`ui-border-danger` = #ef4444) en checked y unchecked
17
+ - Disabled checked usa `ui-bg-fill-brand-disabled` (#b8c5ee)
18
+ - Marca de check: SVG con tamaño exacto de Figma (10×12px)
19
+ - Marca indeterminate: SVG minus-solid con tamaño exacto de Figma (10×12px)
20
+ - Dos tamaños: `sm` (14×14) y `md` (16×16, default — `space_16`)
21
+ - Forma cuadrada (default) o redonda (`round`)
22
+ - Nuevas props `label` y `supportingText` con tipografía semántica de Figma:
23
+ - Label: `type/label/md/Bold` — 14px, weight 700, line-height 20.5px, tracking 0.5px
24
+ - Supporting text: `type/body/xs/Regular` — 12px, weight 400, line-height 17.5px, tracking 0.5px
25
+ - Gap checkbox ↔ label: `space_8` (8px); Gap label ↔ supporting: `space_4` (4px)
26
+ - Color de texto: `ui-text-primary` / `ui-text-tertiary`, disabled: `ui-text-disabled`
27
+ - Prop `classNameLabel` para estilos personalizados en el contenedor del label
28
+ - Stories completas: Estados, Error, Formas, Tamaños, Con Label, Selección Múltiple, Combinaciones, Componentes que extienden
29
+ - Exportado desde `@imj_media/ui`
30
+ - **Modal - Sistema Flexible de Configuración**: Nuevo sistema agnostico y escalable para el Modal
31
+ - `footerButtons`: Array de botones configurables para el footer con prioridad sobre props legacy
32
+ - `headerButtons`: Array de botones configurables para el header
33
+ - Props de "modelo cerrado": `headerButton`, `badge`, `footerPrimaryButton`, `footerSecondaryButton`, `footerAuxButton`
34
+ - `iconConfig`: Configuración completa del ícono principal del modal
35
+ - `badges`: Array de badges configurables
36
+ - `ModalButton`, `ModalIcon`, `ModalBadge` heredan automáticamente de `IInnerButtonProps`, `IconProps`, `IBadgeProps`
37
+ - Sistema de prioridad: nuevas configs > "modelo cerrado" > props legacy
38
+ - Deprecación con `console.warn` para props legacy en desarrollo
39
+ - Stories de "CompleteSystem" con 5 historias que prueban todos los escenarios
40
+ - **InnerButton - Sistema Agnostico de Configuración**: Nuevo sistema de props para configuración modular
41
+ - `iconProps`: Configuración completa del ícono (`ButtonIconConfig`)
42
+ - `badge`: Configuración completa del badge (`ButtonBadgeConfig`)
43
+ - `leftSlotProps` / `rightSlotProps`: Configuración de slots (`ButtonSlotConfig`)
44
+ - `tooltipProps`: Configuración completa del tooltip (`ButtonTooltipConfig`)
45
+ - Props duales: `icon`, `leftSlot`, `rightSlot` y `tooltip` aceptan valores simples o objetos de configuración completos
46
+ - Ejemplo: `icon="faCheck"` (simple) o `icon={{ icon: "faCheck", color: "success" }}` (configuración)
47
+ - Ejemplo: `tooltip="Guardar"` (simple) o `tooltip={{ label: "Guardar", position: "top", delay: 500 }}` (configuración)
48
+ - Deprecación inteligente: solo se deprecan props de estilizado legacy (`iconDuotonePrimary`, `tooltipPosition`, etc.), no las props base
49
+ - Stories completas con secciones de sistema nuevo, comparación legacy, duotone, convergencia y casos raros
50
+
51
+ ### Changed
52
+ - **InnerButton - Arquitectura Modular (Atomic Design)**: Reestructuración completa del componente
53
+ - Componentes atómicos: `ButtonContent`, `ButtonIcon`, `ButtonBadge`, `ButtonSlotLeft`, `ButtonSlotRight`
54
+ - Custom hooks: `useBadgeLoading`, `useHoverText`, `useButtonClasses`
55
+ - Utilidades: `badgeUtils`, `colorUtils`, `iconUtils`, `configConverters`, `deprecation`
56
+ - Estilos: `buttonVariants` (CVA), `variantColors`
57
+ - Backward compatible: `index.tsx` re-exporta desde `InnerButton.tsx`
58
+ - **Renombrado de Props de Slots**: `slotLeft` → `leftSlot`, `slotRight` → `rightSlot`
59
+ - Actualización en 50+ archivos: `Button`, `InnerButton`, `Popup`, `Dropdown`, `Sidebar`, `Switch`, `Table`, `Toolbar`, `Filters`, `DatePicker`, `EmojiPicker`, `Modal`
60
+ - Props de duotone y handlers renombrados: `slotLeftDuotonePrimary` → `leftSlotDuotonePrimary`, `onClickSlotLeft` → `onClickLeftSlot`, etc.
61
+ - Tipos actualizados: `IInnerButtonProps`, `IButtonProps`, `emojipicker.ts`, `switch.ts`, `modal.ts`
62
+ - **SelectionCheckbox**: Refactorizado como wrapper del nuevo componente `Checkbox` base
63
+ - **ListItemCheckbox**: Reemplazado `<input>` raw por componente `Checkbox`
64
+ - **ListFiltersCheckbox**: Reemplazado `<input>` raw por componente `Checkbox`
65
+ - **ListBase**: Reemplazados checkboxes raw en variantes `filters-checkbox` y `users-select` por `Checkbox`
66
+ - **ListUsersSelect**: Reemplazado `<input>` raw por componente `Checkbox`
67
+ - **List**: Reemplazado `<input>` raw en `checkboxProps` por `Checkbox`
68
+ - **TableRow**: Reemplazados 2 `<input type="checkbox">` raw por `SelectionCheckbox` (filas padres e hijos)
69
+ - **Toolbar**: Ajustes de layout y responsividad con clases flex mejoradas
70
+ - **Modal**: Actualización de clases de borde para mejor estilizado
71
+
72
+ ### Fixed
73
+ - **Badge - Padding con Ícono**: Corrección del padding en badges `sm` cuando tienen ícono, ahora aplica `ui-pl-8 ui-pr-8` explícitamente
74
+ - **Toolbar - Responsividad**: Ajustes de clases de layout para que los addons se ajusten correctamente dentro del contenedor
75
+
8
76
  ## [1.2.37] - 2026-02-05
9
77
 
10
78
  ### Fixed