sass-cms-template-common 0.0.22 → 0.0.23

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