@imj_media/ui 1.2.37 → 1.2.39

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