sass-cms-template-common 0.0.17 → 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 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, newContentGroups, previewFormats, operationPermissions, isAdmin, onNewContentSelect, onPreviewSelect, LinkComponent, permissions, locale, language, messages, appMessages, baseUrl, profileServices, }: AppShellProps): JSX.Element;
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 del menú "Nuevo"). */
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
- * Es presentacional y controlado: el texto y los textos visibles vienen por
2007
- * props; la decisión de qué abrir en "avanzadas" vive en el gestor.
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
- /** Callback al presionar Enter (búsqueda). */
2017
- onSearch?: (value: string) => void;
2018
- /** Callback al limpiar el campo. Si no se pasa, igual limpia `value`. */
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 }`). */
@@ -6203,6 +6300,9 @@ export declare const ptMessages: {
6203
6300
  assignedYesterday: string;
6204
6301
  assignedOn: string;
6205
6302
  expires: string;
6303
+ unassignedText: string;
6304
+ unassignedRemovedYouFrom: string;
6305
+ unassignedNoLongerResponsible: string;
6206
6306
  editorialOpportunityLabel: string;
6207
6307
  editorialOpportunityText: string;
6208
6308
  editorialOpportunityTop: string;
@@ -6215,8 +6315,10 @@ export declare const ptMessages: {
6215
6315
  };
6216
6316
  search: {
6217
6317
  placeholder: string;
6318
+ addPlaceholder: string;
6218
6319
  inputAriaLabel: string;
6219
6320
  clearAriaLabel: string;
6321
+ removeChipAriaLabel: string;
6220
6322
  advancedAriaLabel: string;
6221
6323
  title: string;
6222
6324
  apply: string;
@@ -6407,6 +6509,8 @@ export declare const radii: {
6407
6509
  readonly sm: "8px";
6408
6510
  /** Ítems de menú. */
6409
6511
  readonly md: "10px";
6512
+ /** Flyout desplegable del menú lateral (submenús del Sidebar). */
6513
+ readonly flyout: "12px";
6410
6514
  /** Papers de menú (dropdowns). */
6411
6515
  readonly lg: "14px";
6412
6516
  /** Menús flotantes de cuenta (perfil): esquinas 16px. */
@@ -6809,8 +6913,8 @@ export declare const shadows: {
6809
6913
  readonly accountMenu: "0 10px 30px rgba(25, 28, 32, 0.18)";
6810
6914
  /** Desplegable de opciones (M3 Elevation Light/5): dos capas suaves. */
6811
6915
  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: "0px 8px 16px rgba(0, 0, 0, 0.18)";
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)";
6814
6918
  };
6815
6919
 
6816
6920
  export declare function Sidebar({ open, pathname, permissions, LinkComponent, legacyBaseUrl, selectedPublicationId, }: SidebarProps): JSX.Element;
@@ -6834,7 +6938,7 @@ export declare type SidebarProps = {
6834
6938
  * todo. El anclado se identifica por `item.module` y persiste vía
6835
6939
  * `profileServices.addPins`/`deletePins`/`getPins` (recurso de perfil).
6836
6940
  */
6837
- 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;
6838
6942
 
6839
6943
  /** Servicio de pines usado por el rail: solo necesita estos tres métodos. */
6840
6944
  export declare type SidebarRailPinService = Pick<CmsProfileServices, 'addPins' | 'deletePins' | 'getPins'>;
@@ -6843,8 +6947,12 @@ export declare type SidebarRailProps = {
6843
6947
  pathname: string;
6844
6948
  LinkComponent?: CmsLinkComponent;
6845
6949
  permissions: Array<NavItemPermissions>;
6846
- /** Dominio del admin legacy (JSP/Angular) para prefijar hrefs con `item.legacy`. */
6950
+ /** Dominio del Angular master para prefijar hrefs `legacy` (no `jsp`). */
6847
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;
6848
6956
  /** Id de publicación activa; se agrega a los ítems legacy con `appendPublicationId`. */
6849
6957
  selectedPublicationId?: string;
6850
6958
  /** Ítems de navegación. Por defecto, `ACCOUNT_NAV_BLOCKS`. */
@@ -7252,7 +7360,7 @@ export declare interface ToastOptions {
7252
7360
  /** Severidad visual de un toast. */
7253
7361
  export declare type ToastSeverity = 'success' | 'error' | 'warning' | 'info';
7254
7362
 
7255
- export declare function TopBar({ sites, sidebarOpen, onToggleSidebar, notificationUnreadCount, notificationsData, copilotSuggestionsHref, onEditorialSeeMore, onEditorialRemindLater, profile, primaryLogo, brandLogo, selectedPublicationId, getPublicationHref, resolvePublicationImageUrl, profileAvatarOptions, legacyBaseUrl, cmsBaseUrl, legacySession, newContentGroups, previewFormats, operationPermissions, isAdmin, onNewContentSelect, onPreviewSelect, }: TopBarProps): JSX.Element;
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;
7256
7364
 
7257
7365
  export declare type TopBarMessageKey = keyof CmsMessages['topBar'];
7258
7366
 
@@ -7290,19 +7398,15 @@ export declare type TopBarProps = {
7290
7398
  * un enlace simple al CMS.
7291
7399
  */
7292
7400
  legacySession?: LegacyAdminSession;
7293
- /** Columnas/ítems del menú "Nuevo". Por defecto, la estructura del CMS legacy. */
7294
- newContentGroups?: NewContentGroup[];
7295
7401
  /** Formatos del menú de previsualización. Por defecto, Desktop/Mobile/Tablet. */
7296
7402
  previewFormats?: PreviewFormat[];
7297
7403
  /**
7298
- * Operaciones concedidas al usuario (`POST /auth/permissions`). Si se omite,
7299
- * no se filtra el menú "Nuevo" por permisos.
7404
+ * Operaciones concedidas al usuario (`POST /auth/permissions`). Filtran los
7405
+ * ítems del menú de perfil según permisos.
7300
7406
  */
7301
7407
  operationPermissions?: string[];
7302
- /** Si el usuario es administrador (ve todos los ítems del menú "Nuevo"). */
7408
+ /** Si el usuario es administrador (ve todos los ítems restringidos por permiso). */
7303
7409
  isAdmin?: boolean;
7304
- /** Fallback (sin sesión) del clic en un ítem del menú "Nuevo" (recibe su `id`). */
7305
- onNewContentSelect?: (itemId: string) => void;
7306
7410
  /** Integración: clic en un formato de previsualización (recibe su `id`). */
7307
7411
  onPreviewSelect?: (formatId: string) => void;
7308
7412
  };
@@ -7622,7 +7726,7 @@ export declare function useCurrentUserPhoto(): CurrentUserPhotoContextValue | nu
7622
7726
  * nombre y textos traducidos (es/en/pt). Reacciona al cambio de la prop `photo`;
7623
7727
  * para el usuario logueado, reacciona además al `CurrentUserPhotoProvider`.
7624
7728
  */
7625
- export declare function UserAvatar({ photo, description, username, size, showTooltip, inactive, neutralFallback, 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;
7626
7730
 
7627
7731
  export declare type UserAvatarMessageKey = keyof CmsMessages['userAvatar'];
7628
7732
 
@@ -7652,6 +7756,12 @@ export declare type UserAvatarProps = {
7652
7756
  * cuenta del header/perfil. Sin efecto si hay foto o si `inactive`.
7653
7757
  */
7654
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;
7655
7765
  /** Origen del CMS para resolver rutas relativas de la foto. */
7656
7766
  cmsOrigin?: string;
7657
7767
  /**