sass-cms-template-common 0.0.16 → 0.0.18
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/dist/index.d.ts +164 -28
- package/dist/index.js +2237 -1917
- package/dist/index.js.map +1 -1
- package/dist/server.d.ts +33 -0
- package/dist/server.js +1 -1
- package/dist/{services-BQ1IbdWe.js → services-CyMIBZpF.js} +11 -4
- package/dist/services-CyMIBZpF.js.map +1 -0
- package/package.json +1 -1
- package/dist/services-BQ1IbdWe.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -13,6 +13,13 @@ import { Theme } from '@mui/material/styles';
|
|
|
13
13
|
* Navegación lateral por defecto.
|
|
14
14
|
* `module` debe coincidir exactamente con `module` en POST /auth/modulesAvailable
|
|
15
15
|
* y con las claves en `messages.navigation`.
|
|
16
|
+
*
|
|
17
|
+
* Convención de destino por ítem:
|
|
18
|
+
* - `jsp: true` → admin viejo (OpenCMS). Abre con form POST autenticado a
|
|
19
|
+
* `cmsBaseUrl` (dev.cms-medios.com), en pestaña nueva. Tiene prioridad.
|
|
20
|
+
* - `legacy: true` (sin `jsp`) → Angular master (`legacyBaseUrl`). Enlace en
|
|
21
|
+
* pestaña nueva.
|
|
22
|
+
* - sin flags → ruta interna del propio gestor React (misma pestaña).
|
|
16
23
|
*/
|
|
17
24
|
export declare const ACCOUNT_NAV_BLOCKS: NavBlock[];
|
|
18
25
|
|
|
@@ -35,7 +42,7 @@ export declare type AppMessageNode = string | {
|
|
|
35
42
|
/** Árbol de mensajes del gestor (namespaces → claves → string anidable). */
|
|
36
43
|
export declare type AppMessages = Record<string, AppMessageNode>;
|
|
37
44
|
|
|
38
|
-
export declare function AppShell({ pathname, sites, children, notificationUnreadCount, notificationsData, copilotSuggestionsHref, onEditorialSeeMore, onEditorialRemindLater, profile, primaryLogo, brandLogo, selectedPublicationId, getPublicationHref, resolvePublicationImageUrl, profileAvatarOptions, legacyBaseUrl, cmsBaseUrl, legacySession,
|
|
45
|
+
export declare function AppShell({ pathname, sites, children, notificationUnreadCount, notificationsData, copilotSuggestionsHref, onEditorialSeeMore, onEditorialRemindLater, profile, primaryLogo, brandLogo, selectedPublicationId, getPublicationHref, resolvePublicationImageUrl, profileAvatarOptions, legacyBaseUrl, cmsBaseUrl, legacySession, previewFormats, operationPermissions, isAdmin, onPreviewSelect, LinkComponent, permissions, locale, language, messages, appMessages, baseUrl, profileServices, }: AppShellProps): JSX.Element;
|
|
39
46
|
|
|
40
47
|
export declare type AppShellProps = {
|
|
41
48
|
pathname: string;
|
|
@@ -65,16 +72,12 @@ export declare type AppShellProps = {
|
|
|
65
72
|
cmsBaseUrl?: string;
|
|
66
73
|
/** Sesión para el redirect al admin viejo (token, sitio, publicación, usuario). */
|
|
67
74
|
legacySession?: LegacyAdminSession;
|
|
68
|
-
/** Columnas/ítems del menú "Nuevo". Por defecto, la estructura del CMS legacy. */
|
|
69
|
-
newContentGroups?: NewContentGroup[];
|
|
70
75
|
/** Formatos del menú de previsualización. Por defecto, Desktop/Mobile/Tablet. */
|
|
71
76
|
previewFormats?: PreviewFormat[];
|
|
72
77
|
/** Operaciones concedidas al usuario (`POST /auth/permissions`). */
|
|
73
78
|
operationPermissions?: string[];
|
|
74
|
-
/** Si el usuario es administrador (ve todos los ítems
|
|
79
|
+
/** Si el usuario es administrador (ve todos los ítems restringidos por permiso). */
|
|
75
80
|
isAdmin?: boolean;
|
|
76
|
-
/** Fallback (sin sesión) del clic en un ítem del menú "Nuevo" (recibe su `id`). */
|
|
77
|
-
onNewContentSelect?: (itemId: string) => void;
|
|
78
81
|
/** Integración: clic en un formato de previsualización (recibe su `id`). */
|
|
79
82
|
onPreviewSelect?: (formatId: string) => void;
|
|
80
83
|
LinkComponent?: CmsLinkComponent;
|
|
@@ -304,7 +307,7 @@ declare type BaseFieldConfig = {
|
|
|
304
307
|
* despliega opciones adicionales. Si no hay opciones visibles, la flecha se
|
|
305
308
|
* oculta automáticamente.
|
|
306
309
|
*/
|
|
307
|
-
export declare function BtnDropdown({ titleButton, options, icon, onAction, disabled, enableButton, whiteBtn, showDropdownOptions, testId, }: BtnDropdownProps): JSX.Element;
|
|
310
|
+
export declare function BtnDropdown({ titleButton, options, icon, onAction, disabled, enableButton, whiteBtn, showDropdownOptions, openUpward, testId, }: BtnDropdownProps): JSX.Element;
|
|
308
311
|
|
|
309
312
|
export declare type BtnDropdownProps = {
|
|
310
313
|
/** Texto o nodo (ya traducido) del botón principal. */
|
|
@@ -323,6 +326,11 @@ export declare type BtnDropdownProps = {
|
|
|
323
326
|
whiteBtn?: boolean;
|
|
324
327
|
/** Muestra u oculta la flecha del desplegable. Por defecto `true`. */
|
|
325
328
|
showDropdownOptions?: boolean;
|
|
329
|
+
/**
|
|
330
|
+
* Abre el menú hacia arriba (útil cuando el botón vive al pie de un footer o
|
|
331
|
+
* pegado al margen inferior). Por defecto `false` (abre hacia abajo).
|
|
332
|
+
*/
|
|
333
|
+
openUpward?: boolean;
|
|
326
334
|
/** Valor base para los `data-testid`. */
|
|
327
335
|
testId?: string;
|
|
328
336
|
};
|
|
@@ -2003,22 +2011,48 @@ export declare interface CmsResponseLike {
|
|
|
2003
2011
|
* panel lateral. Replica el comportamiento del `app-search` del Angular legacy
|
|
2004
2012
|
* (incluido el modo `collapsible` que crece al enfocar y colapsa al vaciarse).
|
|
2005
2013
|
*
|
|
2006
|
-
*
|
|
2007
|
-
*
|
|
2014
|
+
* Con la prop `chips` pasa a **buscador de chips**: cada término escrito se
|
|
2015
|
+
* confirma como chip con `;` (sin buscar) o con Enter (que además ejecuta la
|
|
2016
|
+
* búsqueda), y cada chip se muestra dentro del campo con su "x" para quitarlo
|
|
2017
|
+
* (NAA-4820). Es presentacional y controlado: el texto, los chips y los textos
|
|
2018
|
+
* visibles vienen por props; la decisión de qué abrir en "avanzadas" y cómo
|
|
2019
|
+
* filtrar vive en el gestor.
|
|
2008
2020
|
*/
|
|
2009
|
-
export declare function CmsSearchField({ value, onChange, onSearch, onClear, placeholder, showIcon, showAdvanced, advancedActive, onAdvancedClick, collapsible, width, grow, maxWidth, endGap, advancedAriaLabel, clearAriaLabel, ariaLabel, testId, }: CmsSearchFieldProps): JSX.Element;
|
|
2021
|
+
export declare function CmsSearchField({ value, onChange, onSearch, onClear, placeholder, chips, onChipsChange, chipSeparator, addPlaceholder, removeChipAriaLabel, showIcon, showAdvanced, advancedActive, onAdvancedClick, collapsible, width, grow, maxWidth, endGap, startGap, advancedAriaLabel, clearAriaLabel, ariaLabel, testId, }: CmsSearchFieldProps): JSX.Element;
|
|
2010
2022
|
|
|
2011
2023
|
export declare type CmsSearchFieldProps = {
|
|
2012
|
-
/** Valor del texto de búsqueda (controlado). */
|
|
2024
|
+
/** Valor del texto de búsqueda en curso (controlado). */
|
|
2013
2025
|
value: string;
|
|
2014
2026
|
/** Callback en cada cambio del texto. */
|
|
2015
2027
|
onChange: (value: string) => void;
|
|
2016
|
-
/**
|
|
2017
|
-
|
|
2018
|
-
|
|
2028
|
+
/**
|
|
2029
|
+
* Callback al ejecutar la búsqueda. En modo texto simple recibe el `value`
|
|
2030
|
+
* (string) al presionar Enter. En modo chips recibe la **lista de chips
|
|
2031
|
+
* vigente** (string[]) cuando hay que aplicar la búsqueda: al presionar Enter,
|
|
2032
|
+
* al quitar un chip y al limpiar. Con `;` NO se dispara (los chips se agregan y
|
|
2033
|
+
* esperan; ver §NAA-4820).
|
|
2034
|
+
*/
|
|
2035
|
+
onSearch?: (value: string | string[]) => void;
|
|
2036
|
+
/** Callback al limpiar el campo. Si no se pasa, igual limpia `value` (y chips). */
|
|
2019
2037
|
onClear?: () => void;
|
|
2020
2038
|
/** Placeholder del input (ya traducido y modificable por el consumidor). */
|
|
2021
2039
|
placeholder?: string;
|
|
2040
|
+
/**
|
|
2041
|
+
* Modo "chips": lista controlada de términos de búsqueda ya confirmados. Si se
|
|
2042
|
+
* pasa (aunque sea `[]`), el buscador funciona como buscador de chips: cada
|
|
2043
|
+
* término escrito se confirma como chip con `;` (sin buscar) o con Enter (que
|
|
2044
|
+
* además ejecuta la búsqueda). Los chips se muestran dentro del campo, cada uno
|
|
2045
|
+
* con su "x" para quitarlo. Sin esta prop, el campo es un buscador de texto simple.
|
|
2046
|
+
*/
|
|
2047
|
+
chips?: string[];
|
|
2048
|
+
/** Callback con la nueva lista de chips (al agregar o quitar). */
|
|
2049
|
+
onChipsChange?: (chips: string[]) => void;
|
|
2050
|
+
/** Tecla que confirma un chip sin ejecutar la búsqueda. Por defecto `;`. */
|
|
2051
|
+
chipSeparator?: string;
|
|
2052
|
+
/** Placeholder cuando ya hay chips (ya traducido). Por defecto el de la lib ("Agregar…"). */
|
|
2053
|
+
addPlaceholder?: string;
|
|
2054
|
+
/** `aria-label` del botón de quitar un chip. */
|
|
2055
|
+
removeChipAriaLabel?: string;
|
|
2022
2056
|
/** Muestra la lupa a la izquierda. Por defecto `true`. */
|
|
2023
2057
|
showIcon?: boolean;
|
|
2024
2058
|
/** Muestra el botón de opciones avanzadas (tres puntos). Por defecto `false`. */
|
|
@@ -2045,6 +2079,13 @@ export declare type CmsSearchFieldProps = {
|
|
|
2045
2079
|
maxWidth?: number | string;
|
|
2046
2080
|
/** Espacio mínimo a la derecha cuando `grow` está activo. Por defecto `40`. */
|
|
2047
2081
|
endGap?: number;
|
|
2082
|
+
/**
|
|
2083
|
+
* Separación fija a la izquierda (px) cuando `grow` está activo. Si se pasa, el
|
|
2084
|
+
* buscador **llena** el espacio restante dejando este hueco respecto del control
|
|
2085
|
+
* previo (p. ej. un filtro), en reposo y expandido. Si se omite, en reposo se
|
|
2086
|
+
* alinea a la derecha con ancho `width` y crece al enfocar.
|
|
2087
|
+
*/
|
|
2088
|
+
startGap?: number;
|
|
2048
2089
|
/** `aria-label` del botón de avanzadas. */
|
|
2049
2090
|
advancedAriaLabel?: string;
|
|
2050
2091
|
/** `aria-label` del botón de limpiar. */
|
|
@@ -3048,10 +3089,34 @@ export declare interface DashboardNotificationsResponse extends CmsResponse {
|
|
|
3048
3089
|
newsTask?: DashboardNewsTask[];
|
|
3049
3090
|
/** Actividades vencidas o por vencer. */
|
|
3050
3091
|
expireTask?: DashboardExpireTask[];
|
|
3092
|
+
/** Avisos de desasignación de tarea de planning (`person_remove`). */
|
|
3093
|
+
unassignTask?: DashboardUnassignTask[];
|
|
3051
3094
|
/** Oportunidades editoriales copilot (hasta 3, por `score` desc). NAA-4645. */
|
|
3052
3095
|
copilot?: DashboardCopilotOpportunity[];
|
|
3053
3096
|
}
|
|
3054
3097
|
|
|
3098
|
+
/**
|
|
3099
|
+
* Aviso de desasignación de tarea de planning presente en POST
|
|
3100
|
+
* /dashboard/notification (array `unassignTask`, mismos campos que `newsTask`).
|
|
3101
|
+
* El back lo despacha solo cuando corresponde (cambio de responsable). El autor
|
|
3102
|
+
* de la desasignación es OPCIONAL: puede venir como `userName` o `userCreation`,
|
|
3103
|
+
* con `userLogin` entre paréntesis. Si no llega ninguno, se usa el texto genérico.
|
|
3104
|
+
*/
|
|
3105
|
+
export declare interface DashboardUnassignTask {
|
|
3106
|
+
id?: string;
|
|
3107
|
+
/** Título de la tarea de la que se desasignó al usuario. */
|
|
3108
|
+
title?: string;
|
|
3109
|
+
/** Autor de la desasignación (nombre). Opcional. */
|
|
3110
|
+
userName?: string;
|
|
3111
|
+
userCreation?: string;
|
|
3112
|
+
/** Login del autor (se muestra entre paréntesis). Opcional. */
|
|
3113
|
+
userLogin?: string;
|
|
3114
|
+
/** Timestamp del aviso (epoch ms o `{ time }`). */
|
|
3115
|
+
timeStamp?: unknown;
|
|
3116
|
+
isRead?: boolean;
|
|
3117
|
+
[key: string]: unknown;
|
|
3118
|
+
}
|
|
3119
|
+
|
|
3055
3120
|
/** Evento de encoder de video presente en POST /dashboard/notification. */
|
|
3056
3121
|
export declare interface DashboardVideoNotification {
|
|
3057
3122
|
actionId?: number;
|
|
@@ -3292,6 +3357,9 @@ export declare const enMessages: {
|
|
|
3292
3357
|
readonly assignedYesterday: "Assigned yesterday";
|
|
3293
3358
|
readonly assignedOn: "Assigned on";
|
|
3294
3359
|
readonly expires: "Due";
|
|
3360
|
+
readonly unassignedText: "You are no longer responsible for the task";
|
|
3361
|
+
readonly unassignedRemovedYouFrom: "removed you from the task";
|
|
3362
|
+
readonly unassignedNoLongerResponsible: "You are no longer responsible.";
|
|
3295
3363
|
readonly editorialOpportunityLabel: "Editorial opportunity";
|
|
3296
3364
|
readonly editorialOpportunityText: "{count} topics require your attention";
|
|
3297
3365
|
readonly editorialOpportunityTop: "Top";
|
|
@@ -3304,8 +3372,10 @@ export declare const enMessages: {
|
|
|
3304
3372
|
};
|
|
3305
3373
|
readonly search: {
|
|
3306
3374
|
readonly placeholder: "Search…";
|
|
3375
|
+
readonly addPlaceholder: "Add…";
|
|
3307
3376
|
readonly inputAriaLabel: "Search";
|
|
3308
3377
|
readonly clearAriaLabel: "Clear search";
|
|
3378
|
+
readonly removeChipAriaLabel: "Remove term";
|
|
3309
3379
|
readonly advancedAriaLabel: "Advanced search";
|
|
3310
3380
|
readonly title: "Advanced search";
|
|
3311
3381
|
readonly apply: "Apply";
|
|
@@ -3513,6 +3583,9 @@ export declare const esMessages: {
|
|
|
3513
3583
|
assignedYesterday: string;
|
|
3514
3584
|
assignedOn: string;
|
|
3515
3585
|
expires: string;
|
|
3586
|
+
unassignedText: string;
|
|
3587
|
+
unassignedRemovedYouFrom: string;
|
|
3588
|
+
unassignedNoLongerResponsible: string;
|
|
3516
3589
|
editorialOpportunityLabel: string;
|
|
3517
3590
|
editorialOpportunityText: string;
|
|
3518
3591
|
editorialOpportunityTop: string;
|
|
@@ -3525,8 +3598,10 @@ export declare const esMessages: {
|
|
|
3525
3598
|
};
|
|
3526
3599
|
search: {
|
|
3527
3600
|
placeholder: string;
|
|
3601
|
+
addPlaceholder: string;
|
|
3528
3602
|
inputAriaLabel: string;
|
|
3529
3603
|
clearAriaLabel: string;
|
|
3604
|
+
removeChipAriaLabel: string;
|
|
3530
3605
|
advancedAriaLabel: string;
|
|
3531
3606
|
title: string;
|
|
3532
3607
|
apply: string;
|
|
@@ -3969,6 +4044,14 @@ export declare function getProfileAvatarSrc(profile: ProfileGetResponse, options
|
|
|
3969
4044
|
|
|
3970
4045
|
export declare function getProfileDisplayName(profile: ProfileGetResponse): string;
|
|
3971
4046
|
|
|
4047
|
+
/**
|
|
4048
|
+
* Nombre y apellido del usuario, SIN el nickname/login. Para el título del
|
|
4049
|
+
* desplegable de perfil, donde no debe aparecer el nickname (a diferencia de
|
|
4050
|
+
* `getProfileDisplayName`, que puede caer en `fullName` —que incluye el
|
|
4051
|
+
* nickname— o en `userName`). Solo cae a `userName` si no hay nombre ni apellido.
|
|
4052
|
+
*/
|
|
4053
|
+
export declare function getProfileFullName(profile: ProfileGetResponse): string;
|
|
4054
|
+
|
|
3972
4055
|
/**
|
|
3973
4056
|
* Hora actual del sitio (equivalente al `getFormattedRedactionTimeUTC` del CMS
|
|
3974
4057
|
* Angular): "ahora" formateado en la zona de redacción de la publicación.
|
|
@@ -4525,6 +4608,15 @@ export declare type NavLinkItem = {
|
|
|
4525
4608
|
accent?: 'ai';
|
|
4526
4609
|
/** Si el href apunta al admin legacy (JSP/Angular), se prefija con `legacyBaseUrl`. */
|
|
4527
4610
|
legacy?: boolean;
|
|
4611
|
+
/**
|
|
4612
|
+
* Si el href es una página del admin viejo JSP (OpenCMS). Estos NO se abren
|
|
4613
|
+
* como enlace directo: requieren el form POST autenticado
|
|
4614
|
+
* (`submitLegacyAdminPage`) al endpoint `adminBack/login` del CMS
|
|
4615
|
+
* (`cmsBaseUrl`, p. ej. `https://dev.cms-medios.com`), igual que el
|
|
4616
|
+
* `openExternalPage()` de cmsmedios. Abre en pestaña nueva. Tiene prioridad
|
|
4617
|
+
* sobre `legacy` (que apunta al Angular master).
|
|
4618
|
+
*/
|
|
4619
|
+
jsp?: boolean;
|
|
4528
4620
|
/**
|
|
4529
4621
|
* Si la ruta del Angular master exige el id de publicación al final
|
|
4530
4622
|
* (p. ej. `/admin/tags/:idPub`, `/admin/planning/:idPub`), se le agrega
|
|
@@ -5106,6 +5198,11 @@ export declare const notificationColors: {
|
|
|
5106
5198
|
readonly bg: string;
|
|
5107
5199
|
readonly on: string;
|
|
5108
5200
|
};
|
|
5201
|
+
/** Desasignación de tarea (person_remove): mismo fondo/ícono que asignados. */
|
|
5202
|
+
readonly unassigned: {
|
|
5203
|
+
readonly bg: string;
|
|
5204
|
+
readonly on: string;
|
|
5205
|
+
};
|
|
5109
5206
|
};
|
|
5110
5207
|
|
|
5111
5208
|
/** Topic devuelto por notification/adminConfiguration (`{ name, value }`). */
|
|
@@ -6002,7 +6099,7 @@ export declare interface ProfileGetResponse {
|
|
|
6002
6099
|
documentation: unknown[];
|
|
6003
6100
|
}
|
|
6004
6101
|
|
|
6005
|
-
export declare function ProfileMenu({ profile, avatarOptions, legacyBaseUrl, }: ProfileMenuProps): JSX.Element;
|
|
6102
|
+
export declare function ProfileMenu({ profile, avatarOptions, legacyBaseUrl, cmsBaseUrl, legacySession, operationPermissions, isAdmin, }: ProfileMenuProps): JSX.Element;
|
|
6006
6103
|
|
|
6007
6104
|
export declare type ProfileMenuMessageKey = keyof CmsMessages['profileMenu'];
|
|
6008
6105
|
|
|
@@ -6011,6 +6108,22 @@ export declare type ProfileMenuProps = {
|
|
|
6011
6108
|
avatarOptions?: ProfileAvatarOptions;
|
|
6012
6109
|
/** Dominio del CMS Angular legacy para "Mi Perfil" / "Vista Webmaster". */
|
|
6013
6110
|
legacyBaseUrl?: string;
|
|
6111
|
+
/** Origen del CMS (JSP) para el POST de auto-login de "Vista Webmaster". */
|
|
6112
|
+
cmsBaseUrl?: string;
|
|
6113
|
+
/**
|
|
6114
|
+
* Sesión para el redirect al admin viejo (token, sitio, publicación, usuario).
|
|
6115
|
+
* Con ella, "Vista Webmaster" hace el form POST de cmsmedios (auto-login); sin
|
|
6116
|
+
* ella, cae a un enlace simple.
|
|
6117
|
+
*/
|
|
6118
|
+
legacySession?: LegacyAdminSession;
|
|
6119
|
+
/**
|
|
6120
|
+
* Operaciones concedidas al usuario (`POST /auth/permissions`). Si se omite,
|
|
6121
|
+
* no se filtra por permisos (se muestra "Vista Webmaster"). Igual criterio que
|
|
6122
|
+
* el menú "Nuevo".
|
|
6123
|
+
*/
|
|
6124
|
+
operationPermissions?: string[];
|
|
6125
|
+
/** Si el usuario es administrador (ve "Vista Webmaster" siempre). */
|
|
6126
|
+
isAdmin?: boolean;
|
|
6014
6127
|
};
|
|
6015
6128
|
|
|
6016
6129
|
/** Cuerpo de la respuesta de POST /profile/moduleAlerts/hide. */
|
|
@@ -6187,6 +6300,9 @@ export declare const ptMessages: {
|
|
|
6187
6300
|
assignedYesterday: string;
|
|
6188
6301
|
assignedOn: string;
|
|
6189
6302
|
expires: string;
|
|
6303
|
+
unassignedText: string;
|
|
6304
|
+
unassignedRemovedYouFrom: string;
|
|
6305
|
+
unassignedNoLongerResponsible: string;
|
|
6190
6306
|
editorialOpportunityLabel: string;
|
|
6191
6307
|
editorialOpportunityText: string;
|
|
6192
6308
|
editorialOpportunityTop: string;
|
|
@@ -6199,8 +6315,10 @@ export declare const ptMessages: {
|
|
|
6199
6315
|
};
|
|
6200
6316
|
search: {
|
|
6201
6317
|
placeholder: string;
|
|
6318
|
+
addPlaceholder: string;
|
|
6202
6319
|
inputAriaLabel: string;
|
|
6203
6320
|
clearAriaLabel: string;
|
|
6321
|
+
removeChipAriaLabel: string;
|
|
6204
6322
|
advancedAriaLabel: string;
|
|
6205
6323
|
title: string;
|
|
6206
6324
|
apply: string;
|
|
@@ -6391,8 +6509,12 @@ export declare const radii: {
|
|
|
6391
6509
|
readonly sm: "8px";
|
|
6392
6510
|
/** Ítems de menú. */
|
|
6393
6511
|
readonly md: "10px";
|
|
6512
|
+
/** Flyout desplegable del menú lateral (submenús del Sidebar). */
|
|
6513
|
+
readonly flyout: "12px";
|
|
6394
6514
|
/** Papers de menú (dropdowns). */
|
|
6395
6515
|
readonly lg: "14px";
|
|
6516
|
+
/** Menús flotantes de cuenta (perfil): esquinas 16px. */
|
|
6517
|
+
readonly accountMenu: "16px";
|
|
6396
6518
|
/** Píldoras grandes / menús redondeados (M3). */
|
|
6397
6519
|
readonly xl: "28px";
|
|
6398
6520
|
/** Diálogos / modales de confirmación. */
|
|
@@ -6787,10 +6909,12 @@ export declare const shadows: {
|
|
|
6787
6909
|
readonly menu: "0px 1px 3px 0px rgba(0, 0, 0, 0.30), 0px 4px 8px 3px rgba(0, 0, 0, 0.15)";
|
|
6788
6910
|
/** Paper suave y difuso (dropdowns genéricos). */
|
|
6789
6911
|
readonly menuSoft: "0 10px 30px rgba(0, 0, 0, 0.18)";
|
|
6912
|
+
/** Menú flotante de cuenta (perfil): sombra difusa con tinte neutro (#191C20 al 18%). */
|
|
6913
|
+
readonly accountMenu: "0 10px 30px rgba(25, 28, 32, 0.18)";
|
|
6790
6914
|
/** Desplegable de opciones (M3 Elevation Light/5): dos capas suaves. */
|
|
6791
6915
|
readonly menuDropdown: "0px 4px 4px 0px rgba(0, 0, 0, 0.30), 0px 8px 12px 6px rgba(0, 0, 0, 0.15)";
|
|
6792
|
-
/** Submenús flotantes del sidebar. */
|
|
6793
|
-
readonly flyout: "
|
|
6916
|
+
/** Submenús flotantes del sidebar (flyout del menú lateral). */
|
|
6917
|
+
readonly flyout: "0 6px 12px rgba(0, 0, 0, 0.15), 0 2px 4px rgba(0, 0, 0, 0.10)";
|
|
6794
6918
|
};
|
|
6795
6919
|
|
|
6796
6920
|
export declare function Sidebar({ open, pathname, permissions, LinkComponent, legacyBaseUrl, selectedPublicationId, }: SidebarProps): JSX.Element;
|
|
@@ -6814,7 +6938,7 @@ export declare type SidebarProps = {
|
|
|
6814
6938
|
* todo. El anclado se identifica por `item.module` y persiste vía
|
|
6815
6939
|
* `profileServices.addPins`/`deletePins`/`getPins` (recurso de perfil).
|
|
6816
6940
|
*/
|
|
6817
|
-
export declare function SidebarRail({ pathname, permissions, LinkComponent, legacyBaseUrl, selectedPublicationId, items, profileServices, }: SidebarRailProps): JSX.Element;
|
|
6941
|
+
export declare function SidebarRail({ pathname, permissions, LinkComponent, legacyBaseUrl, cmsBaseUrl, legacySession, selectedPublicationId, items, profileServices, }: SidebarRailProps): JSX.Element;
|
|
6818
6942
|
|
|
6819
6943
|
/** Servicio de pines usado por el rail: solo necesita estos tres métodos. */
|
|
6820
6944
|
export declare type SidebarRailPinService = Pick<CmsProfileServices, 'addPins' | 'deletePins' | 'getPins'>;
|
|
@@ -6823,8 +6947,12 @@ export declare type SidebarRailProps = {
|
|
|
6823
6947
|
pathname: string;
|
|
6824
6948
|
LinkComponent?: CmsLinkComponent;
|
|
6825
6949
|
permissions: Array<NavItemPermissions>;
|
|
6826
|
-
/** Dominio del
|
|
6950
|
+
/** Dominio del Angular master para prefijar hrefs `legacy` (no `jsp`). */
|
|
6827
6951
|
legacyBaseUrl?: string;
|
|
6952
|
+
/** Origen del CMS viejo (JSP) para el form POST de los ítems `jsp`. */
|
|
6953
|
+
cmsBaseUrl?: string;
|
|
6954
|
+
/** Sesión para el form POST al admin viejo (token, sitio, publicación, usuario). */
|
|
6955
|
+
legacySession?: LegacyAdminSession;
|
|
6828
6956
|
/** Id de publicación activa; se agrega a los ítems legacy con `appendPublicationId`. */
|
|
6829
6957
|
selectedPublicationId?: string;
|
|
6830
6958
|
/** Ítems de navegación. Por defecto, `ACCOUNT_NAV_BLOCKS`. */
|
|
@@ -7232,7 +7360,7 @@ export declare interface ToastOptions {
|
|
|
7232
7360
|
/** Severidad visual de un toast. */
|
|
7233
7361
|
export declare type ToastSeverity = 'success' | 'error' | 'warning' | 'info';
|
|
7234
7362
|
|
|
7235
|
-
export declare function TopBar({ sites, sidebarOpen, onToggleSidebar, notificationUnreadCount, notificationsData, copilotSuggestionsHref, onEditorialSeeMore, onEditorialRemindLater, profile, primaryLogo, brandLogo, selectedPublicationId, getPublicationHref, resolvePublicationImageUrl, profileAvatarOptions, legacyBaseUrl, cmsBaseUrl, legacySession,
|
|
7363
|
+
export declare function TopBar({ sites, sidebarOpen, onToggleSidebar, notificationUnreadCount, notificationsData, copilotSuggestionsHref, onEditorialSeeMore, onEditorialRemindLater, profile, primaryLogo, brandLogo, selectedPublicationId, getPublicationHref, resolvePublicationImageUrl, profileAvatarOptions, legacyBaseUrl, cmsBaseUrl, legacySession, previewFormats, operationPermissions, isAdmin, onPreviewSelect, }: TopBarProps): JSX.Element;
|
|
7236
7364
|
|
|
7237
7365
|
export declare type TopBarMessageKey = keyof CmsMessages['topBar'];
|
|
7238
7366
|
|
|
@@ -7270,19 +7398,15 @@ export declare type TopBarProps = {
|
|
|
7270
7398
|
* un enlace simple al CMS.
|
|
7271
7399
|
*/
|
|
7272
7400
|
legacySession?: LegacyAdminSession;
|
|
7273
|
-
/** Columnas/ítems del menú "Nuevo". Por defecto, la estructura del CMS legacy. */
|
|
7274
|
-
newContentGroups?: NewContentGroup[];
|
|
7275
7401
|
/** Formatos del menú de previsualización. Por defecto, Desktop/Mobile/Tablet. */
|
|
7276
7402
|
previewFormats?: PreviewFormat[];
|
|
7277
7403
|
/**
|
|
7278
|
-
* Operaciones concedidas al usuario (`POST /auth/permissions`).
|
|
7279
|
-
*
|
|
7404
|
+
* Operaciones concedidas al usuario (`POST /auth/permissions`). Filtran los
|
|
7405
|
+
* ítems del menú de perfil según permisos.
|
|
7280
7406
|
*/
|
|
7281
7407
|
operationPermissions?: string[];
|
|
7282
|
-
/** Si el usuario es administrador (ve todos los ítems
|
|
7408
|
+
/** Si el usuario es administrador (ve todos los ítems restringidos por permiso). */
|
|
7283
7409
|
isAdmin?: boolean;
|
|
7284
|
-
/** Fallback (sin sesión) del clic en un ítem del menú "Nuevo" (recibe su `id`). */
|
|
7285
|
-
onNewContentSelect?: (itemId: string) => void;
|
|
7286
7410
|
/** Integración: clic en un formato de previsualización (recibe su `id`). */
|
|
7287
7411
|
onPreviewSelect?: (formatId: string) => void;
|
|
7288
7412
|
};
|
|
@@ -7602,7 +7726,7 @@ export declare function useCurrentUserPhoto(): CurrentUserPhotoContextValue | nu
|
|
|
7602
7726
|
* nombre y textos traducidos (es/en/pt). Reacciona al cambio de la prop `photo`;
|
|
7603
7727
|
* para el usuario logueado, reacciona además al `CurrentUserPhotoProvider`.
|
|
7604
7728
|
*/
|
|
7605
|
-
export declare function UserAvatar({ photo, description, username, size, showTooltip, inactive, cmsOrigin, crossOrigin, isCurrentUser, onClick, testId, }: UserAvatarProps): JSX.Element;
|
|
7729
|
+
export declare function UserAvatar({ photo, description, username, size, showTooltip, inactive, neutralFallback, transparentFallbackBg, cmsOrigin, crossOrigin, isCurrentUser, onClick, testId, }: UserAvatarProps): JSX.Element;
|
|
7606
7730
|
|
|
7607
7731
|
export declare type UserAvatarMessageKey = keyof CmsMessages['userAvatar'];
|
|
7608
7732
|
|
|
@@ -7626,6 +7750,18 @@ export declare type UserAvatarProps = {
|
|
|
7626
7750
|
* (fondo y ícono más grises). Por defecto `false`.
|
|
7627
7751
|
*/
|
|
7628
7752
|
inactive?: boolean;
|
|
7753
|
+
/**
|
|
7754
|
+
* Usa el fallback neutro (fondo `m3.surfaceVariant` #E0E2EC + ícono
|
|
7755
|
+
* `m3.onSurfaceVariant` #43474E) en vez del azul tonal. Para el avatar de
|
|
7756
|
+
* cuenta del header/perfil. Sin efecto si hay foto o si `inactive`.
|
|
7757
|
+
*/
|
|
7758
|
+
neutralFallback?: boolean;
|
|
7759
|
+
/**
|
|
7760
|
+
* Solo con `neutralFallback`: el fondo del fallback queda transparente (no
|
|
7761
|
+
* pinta el círculo gris en reposo). Pensado para el disparador del perfil en
|
|
7762
|
+
* el header, donde el botón contenedor pinta el círculo al hover.
|
|
7763
|
+
*/
|
|
7764
|
+
transparentFallbackBg?: boolean;
|
|
7629
7765
|
/** Origen del CMS para resolver rutas relativas de la foto. */
|
|
7630
7766
|
cmsOrigin?: string;
|
|
7631
7767
|
/**
|