sass-cms-template-common 0.0.22 → 0.0.24

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
@@ -43,7 +43,7 @@ export declare type AppMessageNode = string | {
43
43
  /** Árbol de mensajes del gestor (namespaces → claves → string anidable). */
44
44
  export declare type AppMessages = Record<string, AppMessageNode>;
45
45
 
46
- 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, showAppearanceMenu, LinkComponent, permissions, navHrefOverrides, locale, language, messages, appMessages, baseUrl, profileServices, }: AppShellProps): JSX.Element;
46
+ export declare function AppShell({ pathname, sites, children, notificationUnreadCount, notificationsData, copilotSuggestionsHref, onEditorialSeeMore, onEditorialRemindLater, onNotificationsOpen, notificationsLoading, profile, primaryLogo, brandLogo, selectedPublicationId, getPublicationHref, resolvePublicationImageUrl, profileAvatarOptions, legacyBaseUrl, cmsBaseUrl, legacySession, previewFormats, operationPermissions, isAdmin, onPreviewSelect, showAppearanceMenu, LinkComponent, permissions, navHrefOverrides, locale, language, messages, appMessages, baseUrl, profileServices, }: AppShellProps): JSX.Element;
47
47
 
48
48
  export declare type AppShellProps = {
49
49
  pathname: string;
@@ -58,6 +58,10 @@ export declare type AppShellProps = {
58
58
  onEditorialSeeMore?: () => void;
59
59
  /** "Recordar luego": recibe los `opportunity_id` mostrados para el snooze. */
60
60
  onEditorialRemindLater?: (opportunityIds: string[]) => void;
61
+ /** Se dispara al abrir la campanita: el gestor re-consulta el CMS. */
62
+ onNotificationsOpen?: () => void;
63
+ /** Muestra una barra de carga en la campanita mientras se re-consulta. */
64
+ notificationsLoading?: boolean;
61
65
  profile: ProfileGetResponse;
62
66
  primaryLogo: ReactNode;
63
67
  brandLogo?: ReactNode;
@@ -773,6 +777,7 @@ export declare const cmsColors: {
773
777
  readonly searchHoverBg: string;
774
778
  readonly searchFocusBg: string;
775
779
  readonly searchClearHoverBg: string;
780
+ readonly chipDeleteHoverBg: string;
776
781
  readonly whiteBtnBorder: string;
777
782
  readonly whiteBtnText: string;
778
783
  readonly iconButtonHoverBg: string;
@@ -2211,6 +2216,35 @@ export declare class CmsSitesServices {
2211
2216
 
2212
2217
  export declare type CmsSizes = typeof sizes;
2213
2218
 
2219
+ /**
2220
+ * Tarjeta de estado reutilizable: ícono + título + descripción, centrada dentro
2221
+ * de una superficie con esquinas redondeadas. Presentacional; los textos vienen
2222
+ * ya traducidos por props (i18n del gestor). Réplica del `status-card` del CMS
2223
+ * Angular (`cmsmedios-ux`), pensada para avisos de configuración/estado de un
2224
+ * servicio (p. ej. "esta publicación no tiene el servicio configurado").
2225
+ *
2226
+ * Sirve a cualquier gestor: el mecanismo vive en la lib y el dato/decisión lo
2227
+ * pone el gestor (qué ícono, qué textos, cuándo mostrarla).
2228
+ */
2229
+ export declare function CmsStatusCard({ title, description, icon, iconColor, backgroundColor, children, testId, }: CmsStatusCardProps): JSX.Element;
2230
+
2231
+ export declare type CmsStatusCardProps = {
2232
+ /** Título (ya traducido por el gestor). */
2233
+ title: string;
2234
+ /** Descripción / detalle (ya traducido). Opcional. */
2235
+ description?: string;
2236
+ /** Ícono a mostrar (SVG de `@mui/icons-material`). Por defecto `InfoOutlined`. */
2237
+ icon?: ReactNode;
2238
+ /** Color del ícono. Por defecto el gris de navegación (`cmsColors.textNav`). */
2239
+ iconColor?: string;
2240
+ /** Color de fondo de la tarjeta. Por defecto la superficie neutra `menuSurface`. */
2241
+ backgroundColor?: string;
2242
+ /** Contenido extra proyectado bajo la descripción (p. ej. un botón de acción). */
2243
+ children?: ReactNode;
2244
+ /** Base para los `data-testid` (p. ej. `panel-copilot-disabled`). */
2245
+ testId?: string;
2246
+ };
2247
+
2214
2248
  /**
2215
2249
  * Campo de etiquetas libres: se escribe y se presiona Enter para agregar chips
2216
2250
  * (equivale al campo "Etiquetas" del diseño). Internamente usa `Autocomplete`
@@ -2982,6 +3016,8 @@ export declare interface CopilotOpportunitiesResponse extends CmsResponse {
2982
3016
  export declare interface CopilotOpportunity {
2983
3017
  id?: string;
2984
3018
  title: string;
3019
+ /** Descripción/resumen de la oportunidad (texto libre). */
3020
+ description?: string;
2985
3021
  /** Tema/categoría. */
2986
3022
  topic?: string;
2987
3023
  status: CopilotOpportunityStatus;
@@ -2997,6 +3033,20 @@ export declare interface CopilotOpportunity {
2997
3033
  reasons?: string[];
2998
3034
  /** Si el editor ya la siguió/guardó (acción "save" de `copilot/actions`). */
2999
3035
  is_followed?: boolean;
3036
+ /**
3037
+ * Señal de interés del editor sobre el tema (acciones like/dislike, NAA-4767):
3038
+ * `"positive"` (like) · `"negative"` (dislike) · `null`/ausente (sin señal). El
3039
+ * consumidor la usa para dejar el botón de me gusta/no me gusta ya marcado al
3040
+ * cargar el feed.
3041
+ */
3042
+ interest_signal?: string | null;
3043
+ /**
3044
+ * Redactor asignado (acción "assign"). Si viene con valor, la oportunidad está
3045
+ * asignada (el consumidor la muestra en estado "Asignado"). El micro NO
3046
+ * garantiza la forma (se observó que puede no ser string: id numérico, objeto o
3047
+ * lista): el consumidor debe evaluar solo si viene "lleno", sin asumir el tipo.
3048
+ */
3049
+ assigned_to?: unknown;
3000
3050
  }
3001
3051
 
3002
3052
  /**
@@ -3292,7 +3342,7 @@ export declare type DropdownOption = {
3292
3342
 
3293
3343
  export declare type EditorialOpportunityColors = typeof editorialOpportunityColors;
3294
3344
 
3295
- export declare const editorialOpportunityColors: Record<"accent" | "text" | "topicBg" | "topicBorder" | "trending", string>;
3345
+ export declare const editorialOpportunityColors: Record<"accent" | "text" | "topicBg" | "topicHoverBg" | "topicBorder" | "trending" | "listRowHover" | "assignBtnHover", string>;
3296
3346
 
3297
3347
  export declare const enMessages: {
3298
3348
  readonly navigation: {
@@ -5312,7 +5362,7 @@ export declare interface NotificationsListResponse {
5312
5362
  total?: number;
5313
5363
  }
5314
5364
 
5315
- export declare function NotificationsMenu({ unreadCount, notificationsData, masterBaseUrl, currentPublicationId, gmtRedaction, copilotSuggestionsHref, onEditorialSeeMore, onEditorialRemindLater, }: NotificationsMenuProps): JSX.Element;
5365
+ export declare function NotificationsMenu({ unreadCount, notificationsData, masterBaseUrl, currentPublicationId, gmtRedaction, copilotSuggestionsHref, onEditorialSeeMore, onEditorialRemindLater, onOpen, loading, }: NotificationsMenuProps): JSX.Element;
5316
5366
 
5317
5367
  export declare type NotificationsMenuMessageKey = keyof CmsMessages['notificationsMenu'];
5318
5368
 
@@ -5342,6 +5392,14 @@ export declare type NotificationsMenuProps = {
5342
5392
  * cada una. La card se oculta de inmediato (optimista).
5343
5393
  */
5344
5394
  onEditorialRemindLater?: (opportunityIds: string[]) => void;
5395
+ /**
5396
+ * Se dispara cada vez que se ABRE la campanita (clic en el ícono). El gestor lo
5397
+ * usa para re-consultar el CMS (la info pudo cambiar) y actualizar
5398
+ * `notificationsData`/`unreadCount`. El mecanismo vive acá; el fetch, en el gestor.
5399
+ */
5400
+ onOpen?: () => void;
5401
+ /** Muestra una barra de carga en el panel mientras el gestor re-consulta. */
5402
+ loading?: boolean;
5345
5403
  };
5346
5404
 
5347
5405
  /** Topic devuelto por notification/topics (`{ name, description }`). */
@@ -6512,6 +6570,13 @@ export declare interface Publication {
6512
6570
  timeFormat: string;
6513
6571
  type: string;
6514
6572
  updateAdmin: PublicationUpdateAdmin;
6573
+ /**
6574
+ * ¿La publicación tiene habilitado el servicio de sugerencias CoPilot?
6575
+ * Lo devuelve `POST /publications/get` por publicación. Opcional: si el campo
6576
+ * no llega, se interpreta como **deshabilitado** (el gestor muestra el aviso
6577
+ * "no configurado" en lugar de la tabla de sugerencias).
6578
+ */
6579
+ copilotEnabled?: boolean;
6515
6580
  /**
6516
6581
  * Sub-sitios (multisitio) de esta publicación. Opcional: hoy el servicio no
6517
6582
  * lo devuelve y las publicaciones se listan planas. Cuando el backend lo
@@ -7451,7 +7516,7 @@ export declare interface ToastOptions {
7451
7516
  /** Severidad visual de un toast. */
7452
7517
  export declare type ToastSeverity = 'success' | 'error' | 'warning' | 'info';
7453
7518
 
7454
- 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, showAppearanceMenu, }: TopBarProps): JSX.Element;
7519
+ export declare function TopBar({ sites, sidebarOpen, onToggleSidebar, notificationUnreadCount, notificationsData, copilotSuggestionsHref, onEditorialSeeMore, onEditorialRemindLater, onNotificationsOpen, notificationsLoading, profile, primaryLogo, brandLogo, selectedPublicationId, getPublicationHref, resolvePublicationImageUrl, profileAvatarOptions, legacyBaseUrl, cmsBaseUrl, legacySession, previewFormats, operationPermissions, isAdmin, onPreviewSelect, showAppearanceMenu, }: TopBarProps): JSX.Element;
7455
7520
 
7456
7521
  export declare type TopBarMessageKey = keyof CmsMessages['topBar'];
7457
7522
 
@@ -7469,6 +7534,10 @@ export declare type TopBarProps = {
7469
7534
  onEditorialSeeMore?: () => void;
7470
7535
  /** "Recordar luego": recibe los `opportunity_id` mostrados para el snooze. */
7471
7536
  onEditorialRemindLater?: (opportunityIds: string[]) => void;
7537
+ /** Se dispara al abrir la campanita: el gestor re-consulta el CMS. */
7538
+ onNotificationsOpen?: () => void;
7539
+ /** Muestra una barra de carga en la campanita mientras se re-consulta. */
7540
+ notificationsLoading?: boolean;
7472
7541
  profile: ProfileGetResponse;
7473
7542
  primaryLogo: ReactNode;
7474
7543
  brandLogo?: ReactNode;