sass-cms-template-common 0.0.18 → 0.0.20

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
@@ -1991,6 +1991,33 @@ export declare class CmsRecipesServices {
1991
1991
  schedulePublish: (paths: string[]) => Promise<CmsResponse>;
1992
1992
  }
1993
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
+
1994
2021
  /** Envelope común de respuesta de los webservices de OpenCms. */
1995
2022
  export declare interface CmsResponse {
1996
2023
  status: 'ok' | 'fail' | 'error';
@@ -2080,10 +2107,10 @@ export declare type CmsSearchFieldProps = {
2080
2107
  /** Espacio mínimo a la derecha cuando `grow` está activo. Por defecto `40`. */
2081
2108
  endGap?: number;
2082
2109
  /**
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.
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.
2087
2114
  */
2088
2115
  startGap?: number;
2089
2116
  /** `aria-label` del botón de avanzadas. */
@@ -3285,6 +3312,7 @@ export declare const enMessages: {
3285
3312
  readonly SECTIONS: "Sections";
3286
3313
  readonly TWITTERS: "Twitter Feeds";
3287
3314
  readonly USERS: "Users";
3315
+ readonly COPILOT: "CoPilot";
3288
3316
  readonly ZONES: "Zones";
3289
3317
  readonly IA: "IA";
3290
3318
  };
@@ -3511,6 +3539,7 @@ export declare const esMessages: {
3511
3539
  SECTIONS: string;
3512
3540
  TWITTERS: string;
3513
3541
  USERS: string;
3542
+ COPILOT: string;
3514
3543
  ZONES: string;
3515
3544
  IA: string;
3516
3545
  };
@@ -4002,6 +4031,25 @@ export declare const fontFamilies: {
4002
4031
  readonly mono: "ui-monospace, SFMono-Regular, Menlo, Consolas, monospace";
4003
4032
  };
4004
4033
 
4034
+ /**
4035
+ * Formatea un instante como tiempo transcurrido hasta "ahora": "hace 18 minutos",
4036
+ * "hace 3 días", "hace 3 meses". Elige sola la unidad más significativa y se
4037
+ * traduce al idioma del `localeTag` vía `Intl.RelativeTimeFormat` (no requiere
4038
+ * claves i18n propias).
4039
+ *
4040
+ * La cuenta es una resta de instantes UTC, así que NO depende del GMT del sitio
4041
+ * ni de la zona del navegador (a diferencia de `formatSiteDateTime`).
4042
+ *
4043
+ * @param epochMs Instante en milisegundos (UTC).
4044
+ * @param localeTag Tag BCP 47 (p. ej. `"es-AR"`); usar `getIntlLocaleTag(locale)`.
4045
+ * @param options `nowMs` (referencia de "ahora", por defecto `Date.now()`) y
4046
+ * `style` (por defecto `"long"`).
4047
+ */
4048
+ export declare function formatRelativeTime(epochMs: number, localeTag: string, options?: {
4049
+ nowMs?: number;
4050
+ style?: RelativeTimeStyle;
4051
+ }): string;
4052
+
4005
4053
  /**
4006
4054
  * Formatea un instante (epoch ms) en la zona horaria del sitio, de forma
4007
4055
  * estable entre navegadores.
@@ -6228,6 +6276,7 @@ export declare const ptMessages: {
6228
6276
  SECTIONS: string;
6229
6277
  TWITTERS: string;
6230
6278
  USERS: string;
6279
+ COPILOT: string;
6231
6280
  ZONES: string;
6232
6281
  IA: string;
6233
6282
  };
@@ -6694,6 +6743,9 @@ export declare interface RecipesPublishCheckResponse extends CmsResponse {
6694
6743
  [key: string]: unknown;
6695
6744
  }
6696
6745
 
6746
+ /** Estilo del texto relativo (`Intl.RelativeTimeFormat`). */
6747
+ export declare type RelativeTimeStyle = 'long' | 'short' | 'narrow';
6748
+
6697
6749
  export declare type ResilientRunner = <T>(fn: () => Promise<T>, options?: ResilientRunOptions) => Promise<T>;
6698
6750
 
6699
6751
  export declare interface ResilientRunOptions {
@@ -7105,6 +7157,22 @@ export declare interface SubscriptionsGetResponse extends CmsResponse {
7105
7157
 
7106
7158
  export declare const SUPPORTED_LOCALES: readonly ["es", "en", "pt"];
7107
7159
 
7160
+ /**
7161
+ * Superficie estándar de los menús desplegables (dropdowns, flyouts del menú
7162
+ * lateral, kebab de acciones de fila, "Mi Perfil", etc.). Unifica **borde +
7163
+ * radio + sombra** para que todos mantengan la misma estética (NAA-4799: algunos
7164
+ * papers tenían solo sombra, sin el borde definido, y se perdían contra el
7165
+ * fondo, que comparte el mismo gris).
7166
+ *
7167
+ * - Borde `divider` (= `outlineVariant`, #C4C6CF en claro / #3A3E46 en oscuro):
7168
+ * el mismo que ya usaba el flyout del menú lateral.
7169
+ * - Radio `radii.flyout` (12px) y sombra `shadows.flyout` (dos capas suaves).
7170
+ *
7171
+ * Cada paper agrega aparte lo suyo (ancho mínimo, padding, `overflow`, margen de
7172
+ * separación con el disparador). Se aplica con `...(sxMenuSurface as object)`.
7173
+ */
7174
+ export declare const sxMenuSurface: SxProps<Theme>;
7175
+
7108
7176
  /** Botón pill completo y autónomo. Reutilizable en cualquier CTA de la lib. */
7109
7177
  export declare function sxPillButton(variant?: CmsButtonVariant): SxProps<Theme>;
7110
7178