@imj_media/ui 1.12.0 → 1.12.2

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 (32) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +1 -1
  3. package/catalog/design-index.json +17 -4
  4. package/catalog/install-registry.json +8 -2
  5. package/dist/index.css +1 -1
  6. package/dist/index.esm.js +8666 -8573
  7. package/dist/index.esm.js.map +1 -1
  8. package/dist/index.js +30 -30
  9. package/dist/index.js.map +1 -1
  10. package/dist/modules/Popup/utils/popupPosition.d.ts +2 -1
  11. package/dist/modules/Popup/utils/popupPosition.d.ts.map +1 -1
  12. package/dist/modules/Table/Table.d.ts.map +1 -1
  13. package/dist/modules/Table/components/organisms/FilterPopup.d.ts.map +1 -1
  14. package/dist/modules/Table/components/organisms/TableSelectionBar.d.ts +4 -1
  15. package/dist/modules/Table/components/organisms/TableSelectionBar.d.ts.map +1 -1
  16. package/dist/modules/Table/stories/TableSelectionBarTooltips.stories.d.ts +96 -0
  17. package/dist/modules/Table/stories/TableSelectionBarTooltips.stories.d.ts.map +1 -0
  18. package/dist/modules/Toolbar/components/organisms/Toolbar.d.ts +1 -1
  19. package/dist/modules/Toolbar/components/organisms/Toolbar.d.ts.map +1 -1
  20. package/dist/modules/Toolbar/stories/Toolbar.stories.d.ts +2 -0
  21. package/dist/modules/Toolbar/stories/Toolbar.stories.d.ts.map +1 -1
  22. package/dist/modules/Toolbar/types/index.d.ts +64 -10
  23. package/dist/modules/Toolbar/types/index.d.ts.map +1 -1
  24. package/dist/modules/Toolbar/utils/toolbarButtonProps.d.ts +21 -0
  25. package/dist/modules/Toolbar/utils/toolbarButtonProps.d.ts.map +1 -0
  26. package/dist/shared/types/table.d.ts +7 -0
  27. package/dist/shared/types/table.d.ts.map +1 -1
  28. package/dist/shared/utils/resolveButtonTooltipProps.d.ts +25 -0
  29. package/dist/shared/utils/resolveButtonTooltipProps.d.ts.map +1 -0
  30. package/dist/shared/utils/resolveButtonTooltipProps.test.d.ts +2 -0
  31. package/dist/shared/utils/resolveButtonTooltipProps.test.d.ts.map +1 -0
  32. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -7,6 +7,27 @@ y este proyecto adhiere a [Semantic Versioning](https://semver.org/lang/es/).
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [1.12.2] - 2026-07-16
11
+
12
+ ### Added
13
+
14
+ - **`Toolbar`:** tooltips agrupados (`tooltip: { label, position, … }` o string) en botones de acción, addons tipo `button`, y botones fijos vía `chrome.back` / `chrome.close`; tooltips visibles con botón **disabled**; stories `WithGroupedTooltips` y `WithDisabledButtonTooltips`.
15
+ - **`Table` / barra de selección:** `SelectionAction.tooltip` y `selection.clearSelectionTooltip`; story **Barra de selección con tooltips**.
16
+
17
+ ### Fixed
18
+
19
+ - **`Tooltip`:** z-index por encima de contenedores `fixed`/`sticky` elevados (p. ej. portal del Toolbar flotante).
20
+
21
+ ### Changed
22
+
23
+ - **`Toolbar` / `SelectionAction`:** props planas `tooltipPosition`, `tooltipAlignment` y `tooltipDelay` siguen funcionando; migrar a objeto `tooltip` (deprecated).
24
+
25
+ ## [1.12.1] - 2026-07-15
26
+
27
+ ### Fixed
28
+
29
+ - **`Table` / Filtros avanzados:** el popup muestra una sola tarjeta de filtro a la vez; filtros adicionales con scroll vertical y separación del scrollbar (`FilterPopup`, `FilterCard`).
30
+
10
31
  ## [1.12.0] - 2026-07-02
11
32
 
12
33
  ### Added
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  Biblioteca de componentes UI moderna y accesible para React, construida con TypeScript y Tailwind CSS.
6
6
 
7
- > **Versión publicada:** `1.12.0` — actualizar este número y `CHANGELOG.md` antes de cada release (orden y scripts: regla **`imj-ui-obligations-release`**; atajo `npm run publish:patch|minor|major` o pasos `bump:*` → `release:git` → `release:publish`).
7
+ > **Versión publicada:** `1.12.2` — actualizar este número y `CHANGELOG.md` antes de cada release (orden y scripts: regla **`imj-ui-obligations-release`**; atajo `npm run publish:patch|minor|major` o pasos `bump:*` → `release:git` → `release:publish`).
8
8
 
9
9
  ## 📦 Instalación
10
10
 
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": "1.0.0",
3
3
  "package": "@imj_media/ui",
4
- "version": "1.12.0",
5
- "indexedAt": "2026-07-02T19:01:02.102Z",
4
+ "version": "1.12.2",
5
+ "indexedAt": "2026-07-16T22:56:42.733Z",
6
6
  "orbitTokensVersion": "1.3.1",
7
7
  "modules": [
8
8
  {
@@ -11739,7 +11739,9 @@
11739
11739
  "const popupAnchorRef = useRef<HTMLButtonElement | null>(null);\nconst popupRef = useRef<PopupRef>(null);\n\nconst columns: ColumnConfig<Ruta>[] = [\n // …columnas de datos…\n {\n id: 'acciones',\n type: 'actions',\n render: (_, row) => [\n {\n icon: faChartLine,\n tooltip: 'Formatos de exhibición en la ruta',\n badge: { label: '2/4', color: 'accent', show: true },\n onClick: (ruta, { triggerElement }) => {\n popupAnchorRef.current = triggerElement;\n setActiveRow(ruta);\n requestAnimationFrame(() => popupRef.current?.open());\n },\n },\n // editar, eliminar, desactivar…\n ],\n },\n];\n\n<Table\n columns={columns}\n rows={rows}\n toolbar={{\n primaryCustomAction: {\n label: 'Añadir Ruta',\n leftSlot: faPlus,\n requiresSelection: false,\n onClick: () => { /* toast / navegación — fuera de Table */ },\n },\n }}\n/>\n\n<Popup\n ref={popupRef}\n triggerRef={popupAnchorRef}\n triggerRefInteraction={false}\n closeOnClick={false}\n position=\"bottom-right\"\n>\n {FORMATOS.map((formato) => (\n <Checkbox\n key={formato.id}\n checked={selection.includes(formato.id)}\n onChange={(checked) =>\n onFormatoChange({\n rutaId: activeRow.id,\n formatoId: formato.id,\n checked,\n })\n }\n label={formato.label}\n />\n ))}\n <Button onClick={() => popupRef.current?.close()}>Cerrar</Button>\n</Popup>",
11740
11740
  "const popupAnchorRef = useRef<HTMLButtonElement | null>(null);\nconst popupRef = useRef<PopupRef>(null);\n\nconst columns: ColumnConfig<Ruta>[] = [\n // …columnas de datos…\n {\n id: 'acciones',\n type: 'actions',\n render: (_, row) => [\n {\n icon: faChartLine,\n tooltip: 'Formatos de exhibición en la ruta',\n badge: { label: '2/4', color: 'accent', show: true },\n onClick: (ruta, { triggerElement }) => {\n popupAnchorRef.current = triggerElement;\n setActiveRow(ruta);\n requestAnimationFrame(() => popupRef.current?.open());\n },\n },\n // editar, eliminar, desactivar…\n ],\n },\n];\n\n<Table\n columns={columns}\n rows={rows}\n toolbar={{\n primaryCustomAction: {\n label: 'Añadir Ruta',\n leftSlot: faPlus,\n requiresSelection: false,\n onClick: () => { /* toast / navegación — fuera de Table */ },\n },\n }}\n/>\n\n<Popup\n ref={popupRef}\n triggerRef={popupAnchorRef}\n triggerRefInteraction={false}\n closeOnClick={false}\n position=\"bottom-right\"\n>\n {FORMATOS.map((formato) => (\n <Checkbox\n key={formato.id}\n checked={selection.includes(formato.id)}\n onChange={(checked) =>\n onFormatoChange({\n rutaId: activeRow.id,\n formatoId: formato.id,\n checked,\n })\n }\n label={formato.label}\n />\n ))}\n <Button onClick={() => popupRef.current?.close()}>Cerrar</Button>\n</Popup>",
11741
11741
  "<Table\n columns={columns}\n rows={pageRows}\n selection={{\n enabled: true,\n multiple: true,\n showSelectionBar: true,\n actions: [{ label: 'Eliminar', onClick: (ids) => { ... } }],\n }}\n pagination={{\n enabled: true,\n currentPage: page,\n pageSize,\n total: totalRowCount,\n onPageChange: setPage,\n onPageSizeChange: setPageSize,\n }}\n/>",
11742
- "<Table\n columns={columns}\n rows={pageRows}\n selection={{\n enabled: true,\n multiple: true,\n showSelectionBar: true,\n actions: [{ label: 'Eliminar', onClick: (ids) => { ... } }],\n }}\n pagination={{\n enabled: true,\n currentPage: page,\n pageSize,\n total: totalRowCount,\n onPageChange: setPage,\n onPageSizeChange: setPageSize,\n }}\n/>"
11742
+ "<Table\n columns={columns}\n rows={pageRows}\n selection={{\n enabled: true,\n multiple: true,\n showSelectionBar: true,\n actions: [{ label: 'Eliminar', onClick: (ids) => { ... } }],\n }}\n pagination={{\n enabled: true,\n currentPage: page,\n pageSize,\n total: totalRowCount,\n onPageChange: setPage,\n onPageSizeChange: setPageSize,\n }}\n/>",
11743
+ "selection={{\n enabled: true,\n multiple: true,\n showSelectionBar: true,\n showClearSelection: true,\n clearSelectionTooltip: { label: 'Quitar selección', position: 'top' },\n actions: [\n {\n label: 'Editar',\n icon: faPen,\n tooltip: { label: 'Editar filas seleccionadas', position: 'top' },\n onClick: (ids) => { /* … */ },\n },\n {\n label: 'Eliminar',\n icon: faTrash,\n disabled: true,\n tooltip: {\n label: 'Selecciona al menos dos filas para eliminar en lote',\n position: 'top',\n },\n onClick: (ids) => { /* … */ },\n },\n ],\n}}",
11744
+ "selection={{\n enabled: true,\n multiple: true,\n showSelectionBar: true,\n showClearSelection: true,\n clearSelectionTooltip: { label: 'Quitar selección', position: 'top' },\n actions: [\n {\n label: 'Editar',\n icon: faPen,\n tooltip: { label: 'Editar filas seleccionadas', position: 'top' },\n onClick: (ids) => { /* … */ },\n },\n {\n label: 'Eliminar',\n icon: faTrash,\n disabled: true,\n tooltip: {\n label: 'Selecciona al menos dos filas para eliminar en lote',\n position: 'top',\n },\n onClick: (ids) => { /* … */ },\n },\n ],\n}}"
11743
11745
  ],
11744
11746
  "props": {
11745
11747
  "groups": {},
@@ -13177,6 +13179,12 @@
13177
13179
  "type": "boolean",
13178
13180
  "required": false,
13179
13181
  "description": "Si es `false`, oculta el botón «atrás» en la vista de addons (p. ej. confirmación solo con contador + acciones).\n Por defecto `true` (comportamiento anterior)."
13182
+ },
13183
+ "chrome": {
13184
+ "name": "chrome",
13185
+ "type": "ToolbarChromeConfig",
13186
+ "required": false,
13187
+ "description": "Tooltips agrupados de botones fijos (volver, cerrar)."
13180
13188
  }
13181
13189
  }
13182
13190
  }
@@ -14161,7 +14169,12 @@
14161
14169
  }
14162
14170
  ]
14163
14171
  },
14164
- "changelogRetirements": [],
14172
+ "changelogRetirements": [
14173
+ {
14174
+ "version": "1.12.2",
14175
+ "note": "`Toolbar` / `SelectionAction`:** props planas `tooltipPosition`, `tooltipAlignment` y `tooltipDelay` siguen funcionando; migrar a objeto `tooltip` (deprecated)."
14176
+ }
14177
+ ],
14165
14178
  "consumerChecklist": [
14166
14179
  {
14167
14180
  "id": "tailwind-prefix",
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": "1.0.0",
3
3
  "consumerRoot": "../../ds-mcp/src/indexer/consumer",
4
- "generatedAt": "2026-07-02T19:01:02.192Z",
5
- "uiVersion": "1.12.0",
4
+ "generatedAt": "2026-07-16T22:56:42.816Z",
5
+ "uiVersion": "1.12.2",
6
6
  "entries": {
7
7
  "accordion": {
8
8
  "name": "Accordion",
@@ -4436,6 +4436,7 @@
4436
4436
  "tag",
4437
4437
  "text",
4438
4438
  "title",
4439
+ "toolbar",
4439
4440
  "tooltip",
4440
4441
  "visual"
4441
4442
  ],
@@ -5572,6 +5573,11 @@
5572
5573
  "target": "modules/Toolbar/types/index.ts",
5573
5574
  "source": "Toolbar/types/index.ts",
5574
5575
  "sourceKind": "module"
5576
+ },
5577
+ {
5578
+ "target": "modules/Toolbar/utils/toolbarButtonProps.ts",
5579
+ "source": "Toolbar/utils/toolbarButtonProps.ts",
5580
+ "sourceKind": "module"
5575
5581
  }
5576
5582
  ],
5577
5583
  "cssImports": [