@imj_media/tareas 1.5.56 → 1.6.1
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/README.md +3 -1
- package/dist/src/modules/teams/ui/organisms/TeamsGridSkeleton.d.ts +6 -2
- package/dist/src/modules/templates/components/atoms/tasks/AssignedTeam.d.ts +23 -0
- package/dist/src/modules/templates/components/atoms/tasks/Responsible.d.ts +6 -5
- package/dist/src/modules/templates/components/atoms/tasks/index.d.ts +1 -0
- package/dist/src/modules/templates/hooks/filters/useGetInputFiltersByPath.d.ts +2 -2
- package/dist/src/modules/templates/hooks/useTeamFlowPreview.d.ts +34 -0
- package/dist/tareas.cjs +10 -10
- package/dist/tareas.css +1 -1
- package/dist/tareas.es.js +5234 -5230
- package/package.json +6 -4
package/README.md
CHANGED
|
@@ -8,10 +8,12 @@ Este paquete importa **componentes** desde `@imj_media/ui`, pero **no** debe car
|
|
|
8
8
|
|
|
9
9
|
**Contrato para la aplicación host**
|
|
10
10
|
|
|
11
|
-
1. Importar **una sola vez** en el entry o layout raíz:
|
|
11
|
+
1. Importar **una sola vez** en el entry o layout raíz (Orbit antes que UI y estilos de tareas):
|
|
12
12
|
|
|
13
13
|
```ts
|
|
14
|
+
import '@imj_media/orbit-tokens/css/tokens.css';
|
|
14
15
|
import '@imj_media/ui/index.css';
|
|
16
|
+
import '@imj_media/tareas/styles.css';
|
|
15
17
|
```
|
|
16
18
|
|
|
17
19
|
2. Declarar `@imj_media/ui` como dependencia alineada con la versión `peer` que indique este paquete.
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
+
/** Misma rejilla que `TeamsGrid` — un solo origen para layout de carga y datos. */
|
|
2
|
+
export declare const TEAMS_GRID_LAYOUT_CLASS = "tm-grid tm-w-full tm-grid-cols-1 tm-items-baseline tm-gap-x-12 tm-gap-y-12 md:tm-grid-cols-2 lg:tm-grid-cols-3 lg:tm-gap-x-8 xl:tm-grid-cols-4";
|
|
1
3
|
export declare function ImagesThumbnailSkeleton(): import("react/jsx-runtime").JSX.Element;
|
|
2
|
-
|
|
4
|
+
type TeamsGridSkeletonProps = {
|
|
3
5
|
length?: number;
|
|
4
|
-
}
|
|
6
|
+
};
|
|
7
|
+
export declare function TeamsGridSkeleton({ length }: TeamsGridSkeletonProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Indicador visual del equipo asignado en la card de tarea del flujo (plantillas).
|
|
3
|
+
* Pila de avatares (DS `Avatar`/`AvatarStack`), contador `+N` si hay más miembros, etiqueta fija «Equipo» y tooltip con el nombre del equipo.
|
|
4
|
+
* @module modules/templates/components/atoms/tasks/AssignedTeam
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Datos de equipo persistidos en el nodo de la tarea (id obligatorio para fetch; nombre opcional como respaldo de UI).
|
|
8
|
+
*/
|
|
9
|
+
export type EquipoCardData = {
|
|
10
|
+
id?: number | string | null;
|
|
11
|
+
nombre?: string | null;
|
|
12
|
+
} | null;
|
|
13
|
+
/**
|
|
14
|
+
* Columna "Equipo" en la card del flujo: avatares de miembros (foto vía índice OBP por email),
|
|
15
|
+
* estado de carga, fallback sin miembros y `Tooltip` de `@imj_media/ui` con el nombre del equipo.
|
|
16
|
+
*
|
|
17
|
+
* @param props - Props del componente.
|
|
18
|
+
* @param props.equipo - Referencia al equipo (`id` y opcionalmente `nombre` desde el formulario / nodo).
|
|
19
|
+
* @returns `null` si no hay `equipo.id` válido; en caso contrario el bloque UI alineado al resto de métricas de la card.
|
|
20
|
+
*/
|
|
21
|
+
export declare const AssignedTeam: ({ equipo }: {
|
|
22
|
+
equipo: EquipoCardData;
|
|
23
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
export
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
export type ResponsibleUser = {
|
|
2
|
+
id?: string | number | null;
|
|
3
|
+
email?: string | null;
|
|
4
|
+
};
|
|
5
|
+
export declare const Responsible: ({ responsible, }: {
|
|
6
|
+
responsible: ResponsibleUser | null | undefined;
|
|
6
7
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -38,7 +38,7 @@ export declare const useGetInputFiltersByPath: (currentPath: string) => {
|
|
|
38
38
|
options?: import('@imj_media/ui').DropdownOption[];
|
|
39
39
|
placeholder?: string;
|
|
40
40
|
clearText?: string;
|
|
41
|
-
type?: "date" | "
|
|
41
|
+
type?: "date" | "group" | "dropdown" | "input" | "textarea" | "multiple" | "dateRange";
|
|
42
42
|
title?: string;
|
|
43
43
|
} | {
|
|
44
44
|
options: any;
|
|
@@ -49,7 +49,7 @@ export declare const useGetInputFiltersByPath: (currentPath: string) => {
|
|
|
49
49
|
onValueChange?: (value: import('@imj_media/ui').FilterChangeValue) => void;
|
|
50
50
|
placeholder?: string;
|
|
51
51
|
clearText?: string;
|
|
52
|
-
type?: "date" | "
|
|
52
|
+
type?: "date" | "group" | "dropdown" | "input" | "textarea" | "multiple" | "dateRange";
|
|
53
53
|
title?: string;
|
|
54
54
|
})[];
|
|
55
55
|
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Datos de vista previa de un equipo para cards de flujo de plantillas.
|
|
3
|
+
* Obtiene nombre, jerarquía de miembros y lista plana de usuarios (deduplicada) vía API Strapi.
|
|
4
|
+
* @module modules/templates/hooks/useTeamFlowPreview
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Usuario deduplicado extraído de la jerarquía `miembros` del equipo (para avatares en UI).
|
|
8
|
+
*/
|
|
9
|
+
export type TeamFlowMemberPreview = {
|
|
10
|
+
id: number;
|
|
11
|
+
nombre: string;
|
|
12
|
+
email: string;
|
|
13
|
+
image?: unknown;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Forma mínima del equipo tras normalizar la respuesta de la API (nombre + árbol de miembros).
|
|
17
|
+
*/
|
|
18
|
+
export type TeamFlowPreview = {
|
|
19
|
+
nombre: string;
|
|
20
|
+
miembros: unknown[];
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* React Query: carga datos de un equipo para mostrar avatares y tooltip en cards del flujo.
|
|
24
|
+
* La petición solo se ejecuta si `teamId` es un entero positivo válido. Varias cards con el
|
|
25
|
+
* mismo `teamId` comparten caché (`queryKey` incluye el id).
|
|
26
|
+
*
|
|
27
|
+
* @param teamId - Id del equipo en la tarea (`equipo.id`), o `null`/`undefined` para no consultar.
|
|
28
|
+
* @returns Resultado estándar de `useQuery` (`data`, `isLoading`, `isError`, etc.). `data` contiene
|
|
29
|
+
* `{ team: { nombre, miembros }, members: TeamFlowMemberPreview[] }` cuando hay éxito.
|
|
30
|
+
*/
|
|
31
|
+
export declare const useTeamFlowPreview: (teamId: number | null | undefined) => import('@tanstack/react-query').UseQueryResult<{
|
|
32
|
+
team: TeamFlowPreview;
|
|
33
|
+
members: TeamFlowMemberPreview[];
|
|
34
|
+
}, Error>;
|