sass-template-common 0.19.1 → 0.19.3

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.
@@ -1178,6 +1178,11 @@ export declare interface DestacadoDiarioLiveProps extends SectionCardProps, NewD
1178
1178
  heightImageOverwrite?: string;
1179
1179
  heightImageOverwriteMobile?: string;
1180
1180
  texts?: textsType;
1181
+ /** Muestra la barra "Seguinos" debajo de la nota principal. Apagada por defecto. */
1182
+ showSocialFollow?: boolean;
1183
+ /** Redes que pinta la barra (solo con `showSocialFollow`). */
1184
+ socials?: Socials;
1185
+ socialFollowTitle?: string;
1181
1186
  }
1182
1187
 
1183
1188
  export declare const DestacadoNoticias: FC<DestacadoNoticiasProps>;
@@ -1296,6 +1301,19 @@ export declare function emptyNewListResponse(): NewListResponse;
1296
1301
 
1297
1302
  export declare function encodeApiEnv<T extends Record<string, any>>(env: T): Record<string, any>;
1298
1303
 
1304
+ /**
1305
+ * Fallbacks de la nota de detalle. Los tipos declaran estos campos requeridos,
1306
+ * pero el CMS real los manda con otro tipo en notas mal cargadas:
1307
+ * - `authors: false` (visto en geek: DEFAULT-el-podcast-GEEK-...-20220129-0001)
1308
+ * → `(authors ?? []).filter` tira TypeError, `commonNewsServices` rechaza y
1309
+ * el sitio ve la nota como ausente (404).
1310
+ * - `main.subtitle` ausente → el render lo lee sin `?.` con `showsubtitle`.
1311
+ * - `keywords.tags[i].name` ausente → `buildTagUrl` hace `name.normalize`.
1312
+ * `??` no cubre `false`, por eso se valida el tipo. Muta y devuelve la misma
1313
+ * entidad para que `news[0]` y `currentNew` sigan siendo el mismo objeto.
1314
+ */
1315
+ export declare function ensureNewsEntity<T>(entity: T): T;
1316
+
1299
1317
  /** El CMS manda `preview: false` cuando la nota no tiene imagen. `??` no lo cubre. */
1300
1318
  export declare function ensurePreview(value: unknown): Preview;
1301
1319
 
@@ -2202,7 +2220,7 @@ export declare function joinFrontPrefix(base: string | undefined, prefix: string
2202
2220
 
2203
2221
  export declare const JournalistArticule2: FC<Props_50>;
2204
2222
 
2205
- export declare const JournalistArticule5: FC<Props_55>;
2223
+ export declare const JournalistArticule5: FC<Props_56>;
2206
2224
 
2207
2225
  export declare const JournalistGroup: FC<Props_51>;
2208
2226
 
@@ -2709,6 +2727,11 @@ export declare interface MainBlock1Props extends SectionCardProps, NewDescriptio
2709
2727
  heightImageOverwrite?: string;
2710
2728
  heightImageOverwriteMobile?: string;
2711
2729
  speculationPrerenderClass?: string;
2730
+ /** Muestra la barra "Seguinos" debajo de la nota principal. Apagada por defecto. */
2731
+ showSocialFollow?: boolean;
2732
+ /** Redes que pinta la barra (solo con `showSocialFollow`). */
2733
+ socials?: Socials;
2734
+ socialFollowTitle?: string;
2712
2735
  }
2713
2736
 
2714
2737
  export declare class MainComponentServices {
@@ -4081,6 +4104,13 @@ declare interface Props_50 {
4081
4104
  autorIcon: any;
4082
4105
  texts: textsType;
4083
4106
  paths: RoutePathConfig;
4107
+ /**
4108
+ * Si true, la bio se recorta a una cantidad fija de lineas
4109
+ * (`--ja-2-bio-lines-mobile` / `--ja-2-bio-lines-desk`) y el "Ver más" va
4110
+ * debajo, fuera del recorte, para que nunca se corte. Reemplaza el toggle
4111
+ * leer más/menos. Apagado por defecto: el bloque no cambia.
4112
+ */
4113
+ bioLineClamp?: boolean;
4084
4114
  }
4085
4115
 
4086
4116
  declare type Props_51 = {
@@ -4088,6 +4118,12 @@ declare type Props_51 = {
4088
4118
  autorIcon: ReactNode;
4089
4119
  texts: textsType;
4090
4120
  paths: RoutePathConfig;
4121
+ /**
4122
+ * Perfiles completos de los autores de la nota (bio y redes). Se cruzan con
4123
+ * `news.authors` por `name`; el autor que no esté acá se pinta solo con
4124
+ * nombre e imagen.
4125
+ */
4126
+ autores?: AutorInfo[];
4091
4127
  };
4092
4128
 
4093
4129
  declare type Props_52 = {
@@ -4121,13 +4157,20 @@ declare type Props_53 = {
4121
4157
  };
4122
4158
 
4123
4159
  declare type Props_54 = {
4160
+ socials?: Socials;
4161
+ /** Texto a la izquierda de los iconos. */
4162
+ title?: string;
4163
+ className?: string;
4164
+ };
4165
+
4166
+ declare type Props_55 = {
4124
4167
  googleSourceShare?: string;
4125
4168
  googleProfile?: string;
4126
4169
  whatsAppShare?: string;
4127
4170
  text: textsType;
4128
4171
  };
4129
4172
 
4130
- declare type Props_55 = {
4173
+ declare type Props_56 = {
4131
4174
  news: NewListResponseData;
4132
4175
  socials: any;
4133
4176
  autorIcon: ReactNode;
@@ -4773,6 +4816,13 @@ declare interface Social {
4773
4816
  tags: boolean;
4774
4817
  }
4775
4818
 
4819
+ /**
4820
+ * Barra "Seguinos:" con las redes del sitio. Pinta solo las redes con
4821
+ * `show` y `url`, en el orden de la config. Las que no tienen icono propio
4822
+ * caen al set general de `SocialIcons`. Sin redes visibles no pinta nada.
4823
+ */
4824
+ export declare const SocialFollow: FC<Props_54>;
4825
+
4776
4826
  export declare const socialIcons: {
4777
4827
  [key: string]: any;
4778
4828
  };
@@ -4822,7 +4872,7 @@ export declare type SoftwareApplicationData = {
4822
4872
  contentRating?: string;
4823
4873
  };
4824
4874
 
4825
- export declare function SourceButtons({ googleSourceShare, googleProfile, whatsAppShare, text, }: Props_54): JSX.Element;
4875
+ export declare function SourceButtons({ googleSourceShare, googleProfile, whatsAppShare, text, }: Props_55): JSX.Element;
4826
4876
 
4827
4877
  export declare type SourceButtonsType = {
4828
4878
  sourceButtons?: {