sass-cms-template-common 0.0.17 → 0.0.19
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 +186 -27
- package/dist/index.js +2315 -2079
- package/dist/index.js.map +1 -1
- package/dist/server.d.ts +55 -0
- package/dist/server.js +2 -2
- package/dist/{services-BnR5D-30.js → services-DiR0yIFz.js} +82 -35
- package/dist/services-DiR0yIFz.js.map +1 -0
- package/package.json +1 -1
- package/dist/services-BnR5D-30.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
|
};
|
|
@@ -1983,6 +1991,33 @@ export declare class CmsRecipesServices {
|
|
|
1983
1991
|
schedulePublish: (paths: string[]) => Promise<CmsResponse>;
|
|
1984
1992
|
}
|
|
1985
1993
|
|
|
1994
|
+
/**
|
|
1995
|
+
* Muestra un instante como tiempo transcurrido ("hace 3 días") que se recalcula
|
|
1996
|
+
* solo cada minuto. El cálculo relativo corre únicamente en el cliente (usa
|
|
1997
|
+
* `Date.now()`): en SSR y en el primer render muestra `title` (la fecha absoluta),
|
|
1998
|
+
* evitando el desajuste de hidratación de Next.
|
|
1999
|
+
*/
|
|
2000
|
+
export declare function CmsRelativeTime({ epochMs, localeTag, style, title, testId, className, }: CmsRelativeTimeProps): JSX.Element;
|
|
2001
|
+
|
|
2002
|
+
export declare type CmsRelativeTimeProps = {
|
|
2003
|
+
/** Instante a mostrar, en milisegundos (epoch UTC). */
|
|
2004
|
+
epochMs: number;
|
|
2005
|
+
/** Tag BCP 47 (p. ej. `"es-AR"`); usar `getIntlLocaleTag(locale)`. */
|
|
2006
|
+
localeTag: string;
|
|
2007
|
+
/** Estilo del texto: `"long"` (por defecto) → "hace 18 minutos". */
|
|
2008
|
+
style?: RelativeTimeStyle;
|
|
2009
|
+
/**
|
|
2010
|
+
* Texto para el `title` (tooltip nativo) y para el primer render/SSR: conviene
|
|
2011
|
+
* pasar la fecha absoluta ya formateada (p. ej. `formatSiteDateTime(...)`), así
|
|
2012
|
+
* el usuario ve el instante exacto al pasar el mouse y no hay salto vacío.
|
|
2013
|
+
*/
|
|
2014
|
+
title?: string;
|
|
2015
|
+
/** Base para el `data-testid` (p. ej. `row-<id>-time`). */
|
|
2016
|
+
testId?: string;
|
|
2017
|
+
/** Clase opcional para estilar el `<span>` desde el gestor. */
|
|
2018
|
+
className?: string;
|
|
2019
|
+
};
|
|
2020
|
+
|
|
1986
2021
|
/** Envelope común de respuesta de los webservices de OpenCms. */
|
|
1987
2022
|
export declare interface CmsResponse {
|
|
1988
2023
|
status: 'ok' | 'fail' | 'error';
|
|
@@ -2003,22 +2038,48 @@ export declare interface CmsResponseLike {
|
|
|
2003
2038
|
* panel lateral. Replica el comportamiento del `app-search` del Angular legacy
|
|
2004
2039
|
* (incluido el modo `collapsible` que crece al enfocar y colapsa al vaciarse).
|
|
2005
2040
|
*
|
|
2006
|
-
*
|
|
2007
|
-
*
|
|
2041
|
+
* Con la prop `chips` pasa a **buscador de chips**: cada término escrito se
|
|
2042
|
+
* confirma como chip con `;` (sin buscar) o con Enter (que además ejecuta la
|
|
2043
|
+
* búsqueda), y cada chip se muestra dentro del campo con su "x" para quitarlo
|
|
2044
|
+
* (NAA-4820). Es presentacional y controlado: el texto, los chips y los textos
|
|
2045
|
+
* visibles vienen por props; la decisión de qué abrir en "avanzadas" y cómo
|
|
2046
|
+
* filtrar vive en el gestor.
|
|
2008
2047
|
*/
|
|
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;
|
|
2048
|
+
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
2049
|
|
|
2011
2050
|
export declare type CmsSearchFieldProps = {
|
|
2012
|
-
/** Valor del texto de búsqueda (controlado). */
|
|
2051
|
+
/** Valor del texto de búsqueda en curso (controlado). */
|
|
2013
2052
|
value: string;
|
|
2014
2053
|
/** Callback en cada cambio del texto. */
|
|
2015
2054
|
onChange: (value: string) => void;
|
|
2016
|
-
/**
|
|
2017
|
-
|
|
2018
|
-
|
|
2055
|
+
/**
|
|
2056
|
+
* Callback al ejecutar la búsqueda. En modo texto simple recibe el `value`
|
|
2057
|
+
* (string) al presionar Enter. En modo chips recibe la **lista de chips
|
|
2058
|
+
* vigente** (string[]) cuando hay que aplicar la búsqueda: al presionar Enter,
|
|
2059
|
+
* al quitar un chip y al limpiar. Con `;` NO se dispara (los chips se agregan y
|
|
2060
|
+
* esperan; ver §NAA-4820).
|
|
2061
|
+
*/
|
|
2062
|
+
onSearch?: (value: string | string[]) => void;
|
|
2063
|
+
/** Callback al limpiar el campo. Si no se pasa, igual limpia `value` (y chips). */
|
|
2019
2064
|
onClear?: () => void;
|
|
2020
2065
|
/** Placeholder del input (ya traducido y modificable por el consumidor). */
|
|
2021
2066
|
placeholder?: string;
|
|
2067
|
+
/**
|
|
2068
|
+
* Modo "chips": lista controlada de términos de búsqueda ya confirmados. Si se
|
|
2069
|
+
* pasa (aunque sea `[]`), el buscador funciona como buscador de chips: cada
|
|
2070
|
+
* término escrito se confirma como chip con `;` (sin buscar) o con Enter (que
|
|
2071
|
+
* además ejecuta la búsqueda). Los chips se muestran dentro del campo, cada uno
|
|
2072
|
+
* con su "x" para quitarlo. Sin esta prop, el campo es un buscador de texto simple.
|
|
2073
|
+
*/
|
|
2074
|
+
chips?: string[];
|
|
2075
|
+
/** Callback con la nueva lista de chips (al agregar o quitar). */
|
|
2076
|
+
onChipsChange?: (chips: string[]) => void;
|
|
2077
|
+
/** Tecla que confirma un chip sin ejecutar la búsqueda. Por defecto `;`. */
|
|
2078
|
+
chipSeparator?: string;
|
|
2079
|
+
/** Placeholder cuando ya hay chips (ya traducido). Por defecto el de la lib ("Agregar…"). */
|
|
2080
|
+
addPlaceholder?: string;
|
|
2081
|
+
/** `aria-label` del botón de quitar un chip. */
|
|
2082
|
+
removeChipAriaLabel?: string;
|
|
2022
2083
|
/** Muestra la lupa a la izquierda. Por defecto `true`. */
|
|
2023
2084
|
showIcon?: boolean;
|
|
2024
2085
|
/** Muestra el botón de opciones avanzadas (tres puntos). Por defecto `false`. */
|
|
@@ -2045,6 +2106,13 @@ export declare type CmsSearchFieldProps = {
|
|
|
2045
2106
|
maxWidth?: number | string;
|
|
2046
2107
|
/** Espacio mínimo a la derecha cuando `grow` está activo. Por defecto `40`. */
|
|
2047
2108
|
endGap?: number;
|
|
2109
|
+
/**
|
|
2110
|
+
* Separación mínima a la izquierda (px) que el buscador deja respecto del
|
|
2111
|
+
* control previo (p. ej. un filtro) **al crecer** en modo `grow`. En reposo
|
|
2112
|
+
* mantiene el ancho `width` alineado a la derecha; al enfocar crece hasta el
|
|
2113
|
+
* espacio disponible dejando este hueco a la izquierda. Por defecto sin hueco.
|
|
2114
|
+
*/
|
|
2115
|
+
startGap?: number;
|
|
2048
2116
|
/** `aria-label` del botón de avanzadas. */
|
|
2049
2117
|
advancedAriaLabel?: string;
|
|
2050
2118
|
/** `aria-label` del botón de limpiar. */
|
|
@@ -3048,10 +3116,34 @@ export declare interface DashboardNotificationsResponse extends CmsResponse {
|
|
|
3048
3116
|
newsTask?: DashboardNewsTask[];
|
|
3049
3117
|
/** Actividades vencidas o por vencer. */
|
|
3050
3118
|
expireTask?: DashboardExpireTask[];
|
|
3119
|
+
/** Avisos de desasignación de tarea de planning (`person_remove`). */
|
|
3120
|
+
unassignTask?: DashboardUnassignTask[];
|
|
3051
3121
|
/** Oportunidades editoriales copilot (hasta 3, por `score` desc). NAA-4645. */
|
|
3052
3122
|
copilot?: DashboardCopilotOpportunity[];
|
|
3053
3123
|
}
|
|
3054
3124
|
|
|
3125
|
+
/**
|
|
3126
|
+
* Aviso de desasignación de tarea de planning presente en POST
|
|
3127
|
+
* /dashboard/notification (array `unassignTask`, mismos campos que `newsTask`).
|
|
3128
|
+
* El back lo despacha solo cuando corresponde (cambio de responsable). El autor
|
|
3129
|
+
* de la desasignación es OPCIONAL: puede venir como `userName` o `userCreation`,
|
|
3130
|
+
* con `userLogin` entre paréntesis. Si no llega ninguno, se usa el texto genérico.
|
|
3131
|
+
*/
|
|
3132
|
+
export declare interface DashboardUnassignTask {
|
|
3133
|
+
id?: string;
|
|
3134
|
+
/** Título de la tarea de la que se desasignó al usuario. */
|
|
3135
|
+
title?: string;
|
|
3136
|
+
/** Autor de la desasignación (nombre). Opcional. */
|
|
3137
|
+
userName?: string;
|
|
3138
|
+
userCreation?: string;
|
|
3139
|
+
/** Login del autor (se muestra entre paréntesis). Opcional. */
|
|
3140
|
+
userLogin?: string;
|
|
3141
|
+
/** Timestamp del aviso (epoch ms o `{ time }`). */
|
|
3142
|
+
timeStamp?: unknown;
|
|
3143
|
+
isRead?: boolean;
|
|
3144
|
+
[key: string]: unknown;
|
|
3145
|
+
}
|
|
3146
|
+
|
|
3055
3147
|
/** Evento de encoder de video presente en POST /dashboard/notification. */
|
|
3056
3148
|
export declare interface DashboardVideoNotification {
|
|
3057
3149
|
actionId?: number;
|
|
@@ -3292,6 +3384,9 @@ export declare const enMessages: {
|
|
|
3292
3384
|
readonly assignedYesterday: "Assigned yesterday";
|
|
3293
3385
|
readonly assignedOn: "Assigned on";
|
|
3294
3386
|
readonly expires: "Due";
|
|
3387
|
+
readonly unassignedText: "You are no longer responsible for the task";
|
|
3388
|
+
readonly unassignedRemovedYouFrom: "removed you from the task";
|
|
3389
|
+
readonly unassignedNoLongerResponsible: "You are no longer responsible.";
|
|
3295
3390
|
readonly editorialOpportunityLabel: "Editorial opportunity";
|
|
3296
3391
|
readonly editorialOpportunityText: "{count} topics require your attention";
|
|
3297
3392
|
readonly editorialOpportunityTop: "Top";
|
|
@@ -3304,8 +3399,10 @@ export declare const enMessages: {
|
|
|
3304
3399
|
};
|
|
3305
3400
|
readonly search: {
|
|
3306
3401
|
readonly placeholder: "Search…";
|
|
3402
|
+
readonly addPlaceholder: "Add…";
|
|
3307
3403
|
readonly inputAriaLabel: "Search";
|
|
3308
3404
|
readonly clearAriaLabel: "Clear search";
|
|
3405
|
+
readonly removeChipAriaLabel: "Remove term";
|
|
3309
3406
|
readonly advancedAriaLabel: "Advanced search";
|
|
3310
3407
|
readonly title: "Advanced search";
|
|
3311
3408
|
readonly apply: "Apply";
|
|
@@ -3513,6 +3610,9 @@ export declare const esMessages: {
|
|
|
3513
3610
|
assignedYesterday: string;
|
|
3514
3611
|
assignedOn: string;
|
|
3515
3612
|
expires: string;
|
|
3613
|
+
unassignedText: string;
|
|
3614
|
+
unassignedRemovedYouFrom: string;
|
|
3615
|
+
unassignedNoLongerResponsible: string;
|
|
3516
3616
|
editorialOpportunityLabel: string;
|
|
3517
3617
|
editorialOpportunityText: string;
|
|
3518
3618
|
editorialOpportunityTop: string;
|
|
@@ -3525,8 +3625,10 @@ export declare const esMessages: {
|
|
|
3525
3625
|
};
|
|
3526
3626
|
search: {
|
|
3527
3627
|
placeholder: string;
|
|
3628
|
+
addPlaceholder: string;
|
|
3528
3629
|
inputAriaLabel: string;
|
|
3529
3630
|
clearAriaLabel: string;
|
|
3631
|
+
removeChipAriaLabel: string;
|
|
3530
3632
|
advancedAriaLabel: string;
|
|
3531
3633
|
title: string;
|
|
3532
3634
|
apply: string;
|
|
@@ -3927,6 +4029,25 @@ export declare const fontFamilies: {
|
|
|
3927
4029
|
readonly mono: "ui-monospace, SFMono-Regular, Menlo, Consolas, monospace";
|
|
3928
4030
|
};
|
|
3929
4031
|
|
|
4032
|
+
/**
|
|
4033
|
+
* Formatea un instante como tiempo transcurrido hasta "ahora": "hace 18 minutos",
|
|
4034
|
+
* "hace 3 días", "hace 3 meses". Elige sola la unidad más significativa y se
|
|
4035
|
+
* traduce al idioma del `localeTag` vía `Intl.RelativeTimeFormat` (no requiere
|
|
4036
|
+
* claves i18n propias).
|
|
4037
|
+
*
|
|
4038
|
+
* La cuenta es una resta de instantes UTC, así que NO depende del GMT del sitio
|
|
4039
|
+
* ni de la zona del navegador (a diferencia de `formatSiteDateTime`).
|
|
4040
|
+
*
|
|
4041
|
+
* @param epochMs Instante en milisegundos (UTC).
|
|
4042
|
+
* @param localeTag Tag BCP 47 (p. ej. `"es-AR"`); usar `getIntlLocaleTag(locale)`.
|
|
4043
|
+
* @param options `nowMs` (referencia de "ahora", por defecto `Date.now()`) y
|
|
4044
|
+
* `style` (por defecto `"long"`).
|
|
4045
|
+
*/
|
|
4046
|
+
export declare function formatRelativeTime(epochMs: number, localeTag: string, options?: {
|
|
4047
|
+
nowMs?: number;
|
|
4048
|
+
style?: RelativeTimeStyle;
|
|
4049
|
+
}): string;
|
|
4050
|
+
|
|
3930
4051
|
/**
|
|
3931
4052
|
* Formatea un instante (epoch ms) en la zona horaria del sitio, de forma
|
|
3932
4053
|
* estable entre navegadores.
|
|
@@ -3969,6 +4090,14 @@ export declare function getProfileAvatarSrc(profile: ProfileGetResponse, options
|
|
|
3969
4090
|
|
|
3970
4091
|
export declare function getProfileDisplayName(profile: ProfileGetResponse): string;
|
|
3971
4092
|
|
|
4093
|
+
/**
|
|
4094
|
+
* Nombre y apellido del usuario, SIN el nickname/login. Para el título del
|
|
4095
|
+
* desplegable de perfil, donde no debe aparecer el nickname (a diferencia de
|
|
4096
|
+
* `getProfileDisplayName`, que puede caer en `fullName` —que incluye el
|
|
4097
|
+
* nickname— o en `userName`). Solo cae a `userName` si no hay nombre ni apellido.
|
|
4098
|
+
*/
|
|
4099
|
+
export declare function getProfileFullName(profile: ProfileGetResponse): string;
|
|
4100
|
+
|
|
3972
4101
|
/**
|
|
3973
4102
|
* Hora actual del sitio (equivalente al `getFormattedRedactionTimeUTC` del CMS
|
|
3974
4103
|
* Angular): "ahora" formateado en la zona de redacción de la publicación.
|
|
@@ -4525,6 +4654,15 @@ export declare type NavLinkItem = {
|
|
|
4525
4654
|
accent?: 'ai';
|
|
4526
4655
|
/** Si el href apunta al admin legacy (JSP/Angular), se prefija con `legacyBaseUrl`. */
|
|
4527
4656
|
legacy?: boolean;
|
|
4657
|
+
/**
|
|
4658
|
+
* Si el href es una página del admin viejo JSP (OpenCMS). Estos NO se abren
|
|
4659
|
+
* como enlace directo: requieren el form POST autenticado
|
|
4660
|
+
* (`submitLegacyAdminPage`) al endpoint `adminBack/login` del CMS
|
|
4661
|
+
* (`cmsBaseUrl`, p. ej. `https://dev.cms-medios.com`), igual que el
|
|
4662
|
+
* `openExternalPage()` de cmsmedios. Abre en pestaña nueva. Tiene prioridad
|
|
4663
|
+
* sobre `legacy` (que apunta al Angular master).
|
|
4664
|
+
*/
|
|
4665
|
+
jsp?: boolean;
|
|
4528
4666
|
/**
|
|
4529
4667
|
* Si la ruta del Angular master exige el id de publicación al final
|
|
4530
4668
|
* (p. ej. `/admin/tags/:idPub`, `/admin/planning/:idPub`), se le agrega
|
|
@@ -5106,6 +5244,11 @@ export declare const notificationColors: {
|
|
|
5106
5244
|
readonly bg: string;
|
|
5107
5245
|
readonly on: string;
|
|
5108
5246
|
};
|
|
5247
|
+
/** Desasignación de tarea (person_remove): mismo fondo/ícono que asignados. */
|
|
5248
|
+
readonly unassigned: {
|
|
5249
|
+
readonly bg: string;
|
|
5250
|
+
readonly on: string;
|
|
5251
|
+
};
|
|
5109
5252
|
};
|
|
5110
5253
|
|
|
5111
5254
|
/** Topic devuelto por notification/adminConfiguration (`{ name, value }`). */
|
|
@@ -6203,6 +6346,9 @@ export declare const ptMessages: {
|
|
|
6203
6346
|
assignedYesterday: string;
|
|
6204
6347
|
assignedOn: string;
|
|
6205
6348
|
expires: string;
|
|
6349
|
+
unassignedText: string;
|
|
6350
|
+
unassignedRemovedYouFrom: string;
|
|
6351
|
+
unassignedNoLongerResponsible: string;
|
|
6206
6352
|
editorialOpportunityLabel: string;
|
|
6207
6353
|
editorialOpportunityText: string;
|
|
6208
6354
|
editorialOpportunityTop: string;
|
|
@@ -6215,8 +6361,10 @@ export declare const ptMessages: {
|
|
|
6215
6361
|
};
|
|
6216
6362
|
search: {
|
|
6217
6363
|
placeholder: string;
|
|
6364
|
+
addPlaceholder: string;
|
|
6218
6365
|
inputAriaLabel: string;
|
|
6219
6366
|
clearAriaLabel: string;
|
|
6367
|
+
removeChipAriaLabel: string;
|
|
6220
6368
|
advancedAriaLabel: string;
|
|
6221
6369
|
title: string;
|
|
6222
6370
|
apply: string;
|
|
@@ -6407,6 +6555,8 @@ export declare const radii: {
|
|
|
6407
6555
|
readonly sm: "8px";
|
|
6408
6556
|
/** Ítems de menú. */
|
|
6409
6557
|
readonly md: "10px";
|
|
6558
|
+
/** Flyout desplegable del menú lateral (submenús del Sidebar). */
|
|
6559
|
+
readonly flyout: "12px";
|
|
6410
6560
|
/** Papers de menú (dropdowns). */
|
|
6411
6561
|
readonly lg: "14px";
|
|
6412
6562
|
/** Menús flotantes de cuenta (perfil): esquinas 16px. */
|
|
@@ -6590,6 +6740,9 @@ export declare interface RecipesPublishCheckResponse extends CmsResponse {
|
|
|
6590
6740
|
[key: string]: unknown;
|
|
6591
6741
|
}
|
|
6592
6742
|
|
|
6743
|
+
/** Estilo del texto relativo (`Intl.RelativeTimeFormat`). */
|
|
6744
|
+
export declare type RelativeTimeStyle = 'long' | 'short' | 'narrow';
|
|
6745
|
+
|
|
6593
6746
|
export declare type ResilientRunner = <T>(fn: () => Promise<T>, options?: ResilientRunOptions) => Promise<T>;
|
|
6594
6747
|
|
|
6595
6748
|
export declare interface ResilientRunOptions {
|
|
@@ -6809,8 +6962,8 @@ export declare const shadows: {
|
|
|
6809
6962
|
readonly accountMenu: "0 10px 30px rgba(25, 28, 32, 0.18)";
|
|
6810
6963
|
/** Desplegable de opciones (M3 Elevation Light/5): dos capas suaves. */
|
|
6811
6964
|
readonly menuDropdown: "0px 4px 4px 0px rgba(0, 0, 0, 0.30), 0px 8px 12px 6px rgba(0, 0, 0, 0.15)";
|
|
6812
|
-
/** Submenús flotantes del sidebar. */
|
|
6813
|
-
readonly flyout: "
|
|
6965
|
+
/** Submenús flotantes del sidebar (flyout del menú lateral). */
|
|
6966
|
+
readonly flyout: "0 6px 12px rgba(0, 0, 0, 0.15), 0 2px 4px rgba(0, 0, 0, 0.10)";
|
|
6814
6967
|
};
|
|
6815
6968
|
|
|
6816
6969
|
export declare function Sidebar({ open, pathname, permissions, LinkComponent, legacyBaseUrl, selectedPublicationId, }: SidebarProps): JSX.Element;
|
|
@@ -6834,7 +6987,7 @@ export declare type SidebarProps = {
|
|
|
6834
6987
|
* todo. El anclado se identifica por `item.module` y persiste vía
|
|
6835
6988
|
* `profileServices.addPins`/`deletePins`/`getPins` (recurso de perfil).
|
|
6836
6989
|
*/
|
|
6837
|
-
export declare function SidebarRail({ pathname, permissions, LinkComponent, legacyBaseUrl, selectedPublicationId, items, profileServices, }: SidebarRailProps): JSX.Element;
|
|
6990
|
+
export declare function SidebarRail({ pathname, permissions, LinkComponent, legacyBaseUrl, cmsBaseUrl, legacySession, selectedPublicationId, items, profileServices, }: SidebarRailProps): JSX.Element;
|
|
6838
6991
|
|
|
6839
6992
|
/** Servicio de pines usado por el rail: solo necesita estos tres métodos. */
|
|
6840
6993
|
export declare type SidebarRailPinService = Pick<CmsProfileServices, 'addPins' | 'deletePins' | 'getPins'>;
|
|
@@ -6843,8 +6996,12 @@ export declare type SidebarRailProps = {
|
|
|
6843
6996
|
pathname: string;
|
|
6844
6997
|
LinkComponent?: CmsLinkComponent;
|
|
6845
6998
|
permissions: Array<NavItemPermissions>;
|
|
6846
|
-
/** Dominio del
|
|
6999
|
+
/** Dominio del Angular master para prefijar hrefs `legacy` (no `jsp`). */
|
|
6847
7000
|
legacyBaseUrl?: string;
|
|
7001
|
+
/** Origen del CMS viejo (JSP) para el form POST de los ítems `jsp`. */
|
|
7002
|
+
cmsBaseUrl?: string;
|
|
7003
|
+
/** Sesión para el form POST al admin viejo (token, sitio, publicación, usuario). */
|
|
7004
|
+
legacySession?: LegacyAdminSession;
|
|
6848
7005
|
/** Id de publicación activa; se agrega a los ítems legacy con `appendPublicationId`. */
|
|
6849
7006
|
selectedPublicationId?: string;
|
|
6850
7007
|
/** Ítems de navegación. Por defecto, `ACCOUNT_NAV_BLOCKS`. */
|
|
@@ -7252,7 +7409,7 @@ export declare interface ToastOptions {
|
|
|
7252
7409
|
/** Severidad visual de un toast. */
|
|
7253
7410
|
export declare type ToastSeverity = 'success' | 'error' | 'warning' | 'info';
|
|
7254
7411
|
|
|
7255
|
-
export declare function TopBar({ sites, sidebarOpen, onToggleSidebar, notificationUnreadCount, notificationsData, copilotSuggestionsHref, onEditorialSeeMore, onEditorialRemindLater, profile, primaryLogo, brandLogo, selectedPublicationId, getPublicationHref, resolvePublicationImageUrl, profileAvatarOptions, legacyBaseUrl, cmsBaseUrl, legacySession,
|
|
7412
|
+
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;
|
|
7256
7413
|
|
|
7257
7414
|
export declare type TopBarMessageKey = keyof CmsMessages['topBar'];
|
|
7258
7415
|
|
|
@@ -7290,19 +7447,15 @@ export declare type TopBarProps = {
|
|
|
7290
7447
|
* un enlace simple al CMS.
|
|
7291
7448
|
*/
|
|
7292
7449
|
legacySession?: LegacyAdminSession;
|
|
7293
|
-
/** Columnas/ítems del menú "Nuevo". Por defecto, la estructura del CMS legacy. */
|
|
7294
|
-
newContentGroups?: NewContentGroup[];
|
|
7295
7450
|
/** Formatos del menú de previsualización. Por defecto, Desktop/Mobile/Tablet. */
|
|
7296
7451
|
previewFormats?: PreviewFormat[];
|
|
7297
7452
|
/**
|
|
7298
|
-
* Operaciones concedidas al usuario (`POST /auth/permissions`).
|
|
7299
|
-
*
|
|
7453
|
+
* Operaciones concedidas al usuario (`POST /auth/permissions`). Filtran los
|
|
7454
|
+
* ítems del menú de perfil según permisos.
|
|
7300
7455
|
*/
|
|
7301
7456
|
operationPermissions?: string[];
|
|
7302
|
-
/** Si el usuario es administrador (ve todos los ítems
|
|
7457
|
+
/** Si el usuario es administrador (ve todos los ítems restringidos por permiso). */
|
|
7303
7458
|
isAdmin?: boolean;
|
|
7304
|
-
/** Fallback (sin sesión) del clic en un ítem del menú "Nuevo" (recibe su `id`). */
|
|
7305
|
-
onNewContentSelect?: (itemId: string) => void;
|
|
7306
7459
|
/** Integración: clic en un formato de previsualización (recibe su `id`). */
|
|
7307
7460
|
onPreviewSelect?: (formatId: string) => void;
|
|
7308
7461
|
};
|
|
@@ -7622,7 +7775,7 @@ export declare function useCurrentUserPhoto(): CurrentUserPhotoContextValue | nu
|
|
|
7622
7775
|
* nombre y textos traducidos (es/en/pt). Reacciona al cambio de la prop `photo`;
|
|
7623
7776
|
* para el usuario logueado, reacciona además al `CurrentUserPhotoProvider`.
|
|
7624
7777
|
*/
|
|
7625
|
-
export declare function UserAvatar({ photo, description, username, size, showTooltip, inactive, neutralFallback, cmsOrigin, crossOrigin, isCurrentUser, onClick, testId, }: UserAvatarProps): JSX.Element;
|
|
7778
|
+
export declare function UserAvatar({ photo, description, username, size, showTooltip, inactive, neutralFallback, transparentFallbackBg, cmsOrigin, crossOrigin, isCurrentUser, onClick, testId, }: UserAvatarProps): JSX.Element;
|
|
7626
7779
|
|
|
7627
7780
|
export declare type UserAvatarMessageKey = keyof CmsMessages['userAvatar'];
|
|
7628
7781
|
|
|
@@ -7652,6 +7805,12 @@ export declare type UserAvatarProps = {
|
|
|
7652
7805
|
* cuenta del header/perfil. Sin efecto si hay foto o si `inactive`.
|
|
7653
7806
|
*/
|
|
7654
7807
|
neutralFallback?: boolean;
|
|
7808
|
+
/**
|
|
7809
|
+
* Solo con `neutralFallback`: el fondo del fallback queda transparente (no
|
|
7810
|
+
* pinta el círculo gris en reposo). Pensado para el disparador del perfil en
|
|
7811
|
+
* el header, donde el botón contenedor pinta el círculo al hover.
|
|
7812
|
+
*/
|
|
7813
|
+
transparentFallbackBg?: boolean;
|
|
7655
7814
|
/** Origen del CMS para resolver rutas relativas de la foto. */
|
|
7656
7815
|
cmsOrigin?: string;
|
|
7657
7816
|
/**
|