sass-template-common 0.9.225 → 0.9.227

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.
@@ -1447,6 +1447,14 @@ export declare type LibraryConfig = {
1447
1447
  VARIANT_tag?: 'op1' | 'op2';
1448
1448
  S3_ID_DIR?: string;
1449
1449
  CONFIG_commentsV2?: boolean;
1450
+ /**
1451
+ * [EXPERIMENTAL] Lista de `internalPath` donde forzar `commentsV2` en el
1452
+ * render SSR aunque el flag global `CONFIG_commentsV2` esté en `false`.
1453
+ * Scaffold de testing per-nota (el flag global se lee de un singleton y no
1454
+ * puede variar por nota). Aditivo: sin la lista el comportamiento no cambia.
1455
+ * Remover al promover v2 a global.
1456
+ */
1457
+ EXPERIMENTAL_commentsV2Paths?: string[];
1450
1458
  CONFIG_comments?: boolean;
1451
1459
  CONFIG_blockDefaultTwitterHydrator?: boolean;
1452
1460
  CONFIG_hasSlugRoute?: boolean;
@@ -3223,21 +3231,25 @@ export declare const toISOWithTimeZone: (value: number | string, timeZone: strin
3223
3231
 
3224
3232
  /**
3225
3233
  * Devuelve la URL pública de la edición CONFIANDO en la URL que entrega el CMS
3226
- * (`info.link.canonical`), que es correcta en la enorme mayoría de los casos.
3227
- * Solo la reescribe cuando detecta el síntoma concreto de que el CMS filtró el
3228
- * PATH INTERNO de la publicación principal: la URL viene con un **origin ajeno**
3229
- * al público Y su path arranca con el **service prefix** de la API
3230
- * (ej. `https://www.debate.com.mx/soyfutbolen/news/x.html` cuando la edición se
3231
- * sirve en `https://www.soyfutbol.com/en` `soyfutbolen` es subpublicación de
3232
- * debate.com.mx). En ese caso arma la URL pública: origin público + front prefix
3233
- * + path sin el service prefix.
3234
+ * (`info.link.canonical`, items de breadcrumb, etc.), que es correcta en la
3235
+ * enorme mayoría de los casos. Solo la reescribe cuando detecta el síntoma
3236
+ * concreto de que el CMS filtró el PATH INTERNO de la publicación principal:
3237
+ * el `pathname` arranca con el **service prefix** de la API (`/soyfutbolen`).
3238
+ *
3239
+ * Esa señal aparece tanto con origin ajeno (canonical:
3240
+ * `https://www.debate.com.mx/soyfutbolen/news/x.html`) como con el origin
3241
+ * público correcto (breadcrumb: `https://www.soyfutbol.com/soyfutbolen/...`);
3242
+ * en ambos casos `soyfutbolen` es el prefijo interno y hay que mapearlo al
3243
+ * front prefix público. Se arma: origin público + front prefix + path sin el
3244
+ * service prefix. El origin ajeno queda normalizado como efecto.
3234
3245
  *
3235
3246
  * Todo lo demás se devuelve sin tocar → retrocompatible:
3236
- * - canónica ya correcta (mismo origin),
3237
- * - canónica cross-domain intencional de contenido sindicado (origin ajeno
3238
- * pero el path NO está bajo el service prefix),
3239
- * - publicación principal (sin service prefix),
3240
- * - subpublicación directa (se sirve desde su propio origin → mismo origin).
3247
+ * - URL ya correcta (path bajo `/en`, no bajo `/soyfutbolen`),
3248
+ * - canónica cross-domain intencional de contenido sindicado (path NO bajo
3249
+ * el service prefix),
3250
+ * - publicación principal (sin service prefix → return temprano),
3251
+ * - subpublicación directa (`frontPrefix === servicePrefix`: el swap deja el
3252
+ * path igual y el origin ya es el propio → no-op).
3241
3253
  *
3242
3254
  * @param cmsUrl URL absoluta tal como la entrega el CMS.
3243
3255
  * @param publicOrigin Origin público de la edición (sin path), ej.
@@ -3245,6 +3257,33 @@ export declare const toISOWithTimeZone: (value: number | string, timeZone: strin
3245
3257
  */
3246
3258
  export declare function toPublicEditionUrl(cmsUrl: string | undefined, publicOrigin: string, cfg?: PrefixConfig): string | undefined;
3247
3259
 
3260
+ /**
3261
+ * Convierte un path o URL del CMS en la URL pública de COMPARTIR de la edición,
3262
+ * GARANTIZANDO el front prefix (`/en`). A diferencia de `toPublicEditionUrl`
3263
+ * —que confía en el CMS y solo reescribe el síntoma de path interno filtrado—,
3264
+ * este helper SIEMPRE deja la forma canónica pública, porque las URLs de
3265
+ * compartir apuntan siempre a la misma edición y deben ser la forma navegable
3266
+ * (`/en/news/...`), nunca el namespace interno (`/soyfutbolen/...`) ni la forma
3267
+ * sin prefijo (`/news/...`). Pensado para los call-sites que arman la URL por
3268
+ * concatenación (share de WhatsApp / comentarios / clipboard), que se saltean
3269
+ * el prefijado que sí aplica `<Link>`/`getFrontPrefix`.
3270
+ *
3271
+ * Reglas:
3272
+ * 1. Sin front prefix (publicación principal) → no-op (retrocompat).
3273
+ * 2. Si el path arranca con el service prefix interno (`/soyfutbolen`) → se
3274
+ * quita.
3275
+ * 3. Se antepone el front prefix (`/en`) de forma idempotente (no duplica si
3276
+ * el path ya lo tiene).
3277
+ *
3278
+ * Acepta URL absoluta (`https://host/soyfutbolen/x`) o path relativo
3279
+ * (`/soyfutbolen/x`), preservando query y hash.
3280
+ *
3281
+ * @param cmsUrl URL absoluta o path relativo tal como se arma en el call-site.
3282
+ * @param cfg Config de prefijos. En cliente (donde `getConfig()` puede no
3283
+ * estar inicializado) se DEBE pasar explícito.
3284
+ */
3285
+ export declare function toPublicShareUrl(cmsUrl: string | undefined, cfg?: PrefixConfig): string | undefined;
3286
+
3248
3287
  export declare function TrimPathname(url: string): string;
3249
3288
 
3250
3289
  export declare const TwitterHydration: ({ currentNew }: {