sass-cms-template-common 0.0.18 → 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 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. */
@@ -4002,6 +4029,25 @@ export declare const fontFamilies: {
4002
4029
  readonly mono: "ui-monospace, SFMono-Regular, Menlo, Consolas, monospace";
4003
4030
  };
4004
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
+
4005
4051
  /**
4006
4052
  * Formatea un instante (epoch ms) en la zona horaria del sitio, de forma
4007
4053
  * estable entre navegadores.
@@ -6694,6 +6740,9 @@ export declare interface RecipesPublishCheckResponse extends CmsResponse {
6694
6740
  [key: string]: unknown;
6695
6741
  }
6696
6742
 
6743
+ /** Estilo del texto relativo (`Intl.RelativeTimeFormat`). */
6744
+ export declare type RelativeTimeStyle = 'long' | 'short' | 'narrow';
6745
+
6697
6746
  export declare type ResilientRunner = <T>(fn: () => Promise<T>, options?: ResilientRunOptions) => Promise<T>;
6698
6747
 
6699
6748
  export declare interface ResilientRunOptions {