sass-template-common 0.10.41 → 0.11.0
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/README.md +36 -36
- package/dist/sass-template-common.d.ts +83 -19
- package/dist/sass-template-common.js +3373 -3333
- package/dist/sass-template-common.umd.cjs +60 -60
- package/package.json +69 -69
package/README.md
CHANGED
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
# sass-template-common
|
|
2
|
-
|
|
3
|
-
Librería web, maqueta de configuración y componentes para proyectos sass.
|
|
4
|
-
|
|
5
|
-
## Publicar nueva versión
|
|
6
|
-
|
|
7
|
-
Para que los cambios se reflejen al publicar:
|
|
8
|
-
|
|
9
|
-
1. **Subir versión** (obligatorio; si no, npm rechaza o se usa la misma versión):
|
|
10
|
-
```bash
|
|
11
|
-
pnpm version:patch # 0.3.21 → 0.3.22
|
|
12
|
-
# o
|
|
13
|
-
pnpm version:minor # 0.3.21 → 0.4.0
|
|
14
|
-
pnpm version:major # 0.3.21 → 1.0.0
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
2. **Build limpio + publicar**:
|
|
18
|
-
```bash
|
|
19
|
-
pnpm run clean && pnpm run build && pnpm publish
|
|
20
|
-
```
|
|
21
|
-
O en un solo paso (patch):
|
|
22
|
-
```bash
|
|
23
|
-
pnpm release:patch
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
3. **`prepublishOnly`**: Antes de cada `pnpm publish` se ejecuta `clean` + `build`, así siempre se publica un build nuevo.
|
|
27
|
-
|
|
28
|
-
4. **En proyectos que consumen la lib**: Actualizar la dependencia y reinstalar:
|
|
29
|
-
```bash
|
|
30
|
-
pnpm update sass-template-common
|
|
31
|
-
# o cambiar la versión en package.json y luego
|
|
32
|
-
pnpm install
|
|
33
|
-
```
|
|
34
|
-
Si usan versión fija (`"0.3.21"`), hay que actualizarla a la nueva (p. ej. `"0.3.22"`).
|
|
35
|
-
|
|
36
|
-
**Si no ves los cambios:** comprueba que subiste la versión (`version:patch` o similar), que hiciste `clean` + `build` antes de publicar, y que el proyecto consumidor tiene actualizada la dependencia (o `^0.3.21` y ha ejecutado `pnpm update`).
|
|
1
|
+
# sass-template-common
|
|
2
|
+
|
|
3
|
+
Librería web, maqueta de configuración y componentes para proyectos sass.
|
|
4
|
+
|
|
5
|
+
## Publicar nueva versión
|
|
6
|
+
|
|
7
|
+
Para que los cambios se reflejen al publicar:
|
|
8
|
+
|
|
9
|
+
1. **Subir versión** (obligatorio; si no, npm rechaza o se usa la misma versión):
|
|
10
|
+
```bash
|
|
11
|
+
pnpm version:patch # 0.3.21 → 0.3.22
|
|
12
|
+
# o
|
|
13
|
+
pnpm version:minor # 0.3.21 → 0.4.0
|
|
14
|
+
pnpm version:major # 0.3.21 → 1.0.0
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
2. **Build limpio + publicar**:
|
|
18
|
+
```bash
|
|
19
|
+
pnpm run clean && pnpm run build && pnpm publish
|
|
20
|
+
```
|
|
21
|
+
O en un solo paso (patch):
|
|
22
|
+
```bash
|
|
23
|
+
pnpm release:patch
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
3. **`prepublishOnly`**: Antes de cada `pnpm publish` se ejecuta `clean` + `build`, así siempre se publica un build nuevo.
|
|
27
|
+
|
|
28
|
+
4. **En proyectos que consumen la lib**: Actualizar la dependencia y reinstalar:
|
|
29
|
+
```bash
|
|
30
|
+
pnpm update sass-template-common
|
|
31
|
+
# o cambiar la versión en package.json y luego
|
|
32
|
+
pnpm install
|
|
33
|
+
```
|
|
34
|
+
Si usan versión fija (`"0.3.21"`), hay que actualizarla a la nueva (p. ej. `"0.3.22"`).
|
|
35
|
+
|
|
36
|
+
**Si no ves los cambios:** comprueba que subiste la versión (`version:patch` o similar), que hiciste `clean` + `build` antes de publicar, y que el proyecto consumidor tiene actualizada la dependencia (o `^0.3.21` y ha ejecutado `pnpm update`).
|
|
@@ -853,20 +853,8 @@ export declare const ContentLayoutTema: FC<Props_38>;
|
|
|
853
853
|
*/
|
|
854
854
|
export declare const contractWarn: (component: string, field: string, extra?: unknown) => void;
|
|
855
855
|
|
|
856
|
-
export declare const createAssessment: ({ projectID, recaptchaKey, token, recaptchaAction, apiKey, userAgent, userIpAddress, }: CreateAssessmentParams) => Promise<number | null>;
|
|
856
|
+
export declare const createAssessment: ({ projectID, recaptchaKey, token, recaptchaAction, apiKey, userAgent, userIpAddress, config, }: CreateAssessmentParams) => Promise<number | null>;
|
|
857
857
|
|
|
858
|
-
/**
|
|
859
|
-
* Crea una evaluación para analizar el riesgo de una acción de la IU.
|
|
860
|
-
* Usa la API REST de reCAPTCHA Enterprise (sin SDK, ~12MB menos en deploy).
|
|
861
|
-
*
|
|
862
|
-
* projectID: El ID del proyecto de Google Cloud.
|
|
863
|
-
* recaptchaKey: La clave reCAPTCHA (site key) asociada con el sitio.
|
|
864
|
-
* token: El token generado obtenido del cliente.
|
|
865
|
-
* recaptchaAction: El nombre de la acción que corresponde al token.
|
|
866
|
-
* apiKey: API key de Google Cloud para autenticar la petición REST.
|
|
867
|
-
* userAgent: (opcional) User-Agent del request para mejor detección.
|
|
868
|
-
* userIpAddress: (opcional) IP del usuario para mejor detección.
|
|
869
|
-
*/
|
|
870
858
|
declare interface CreateAssessmentParams {
|
|
871
859
|
projectID: string;
|
|
872
860
|
recaptchaKey: string;
|
|
@@ -875,6 +863,7 @@ declare interface CreateAssessmentParams {
|
|
|
875
863
|
apiKey: string;
|
|
876
864
|
userAgent?: string;
|
|
877
865
|
userIpAddress?: string;
|
|
866
|
+
config?: Pick<LibraryConfig, 'CONFIG_blockRecaptcha'>;
|
|
878
867
|
}
|
|
879
868
|
|
|
880
869
|
export declare const cutString: (text: string, length?: number) => string;
|
|
@@ -1328,9 +1317,11 @@ export declare function getBucketHttpClient(baseUrl: string, referer: string): A
|
|
|
1328
1317
|
* <script src="https://www.google.com/recaptcha/enterprise.js?render=your_site_key"></script>
|
|
1329
1318
|
* @param captchaAction Nombre de la acción para el captcha
|
|
1330
1319
|
* @param siteKey La clave del sitio para el captcha
|
|
1320
|
+
* @param config Config del sitio (prop `API_ENV`) para leer el kill switch
|
|
1321
|
+
* `CONFIG_blockRecaptcha`. Si se omite se cae al singleton de `initLibrary`.
|
|
1331
1322
|
* @returns Una promesa que se resuelve con el token del captcha
|
|
1332
1323
|
*/
|
|
1333
|
-
export declare const getCaptchaToken: (captchaAction: captchaActionType, siteKey: string) => Promise<string>;
|
|
1324
|
+
export declare const getCaptchaToken: (captchaAction: captchaActionType, siteKey: string, config?: Pick<LibraryConfig, "CONFIG_blockRecaptcha">) => Promise<string>;
|
|
1334
1325
|
|
|
1335
1326
|
export declare function getComments({ publication, path, size, sizereply, id, lastid, state, apiToken, API_ENV, }: GetCommentsParams): Promise<any>;
|
|
1336
1327
|
|
|
@@ -1735,6 +1726,21 @@ export declare const isHomePath: (pathname?: string) => boolean;
|
|
|
1735
1726
|
|
|
1736
1727
|
export declare const isPhotoGallery: (news: NewListResponseData) => boolean | undefined;
|
|
1737
1728
|
|
|
1729
|
+
/**
|
|
1730
|
+
* ¿reCAPTCHA está desactivado? Fuente ÚNICA del kill switch
|
|
1731
|
+
* `CONFIG_blockRecaptcha`; la consumen todos los puntos de uso de reCAPTCHA de
|
|
1732
|
+
* la librería (script enterprise, widget v2, generación de token y las tres
|
|
1733
|
+
* verificaciones server-side).
|
|
1734
|
+
*
|
|
1735
|
+
* `cfg` explícito (típicamente el prop `API_ENV` de un componente cliente, o
|
|
1736
|
+
* las `COMMENTS_VARS` de un endpoint) GANA sobre el singleton de `initLibrary`,
|
|
1737
|
+
* que se usa como fallback: en el cliente el singleton puede no estar poblado
|
|
1738
|
+
* porque cada isla hidrata su propio grafo de módulos.
|
|
1739
|
+
*
|
|
1740
|
+
* Default `false` cuando nadie define el flag → comportamiento actual.
|
|
1741
|
+
*/
|
|
1742
|
+
export declare function isRecaptchaBlocked(cfg?: Pick<LibraryConfig, 'CONFIG_blockRecaptcha'>): boolean;
|
|
1743
|
+
|
|
1738
1744
|
export declare class IssuuServices {
|
|
1739
1745
|
private issuuApi;
|
|
1740
1746
|
private api;
|
|
@@ -1889,6 +1895,35 @@ export declare type LibraryConfig = {
|
|
|
1889
1895
|
CAPTCHA_KEY?: string;
|
|
1890
1896
|
COMMENTS_CAPTCHA_API_KEY?: string;
|
|
1891
1897
|
CAPTCHA_KEY_V2?: string;
|
|
1898
|
+
/**
|
|
1899
|
+
* [kill switch] Desactiva TODOS los usos de reCAPTCHA de la librería en un
|
|
1900
|
+
* solo lugar. Con `true`:
|
|
1901
|
+
*
|
|
1902
|
+
* - no se inyecta el script de enterprise (`ReCaptchaRender`,
|
|
1903
|
+
* `CommentLazyLoader`),
|
|
1904
|
+
* - no se renderiza el widget v2 (`FormActions`, `ReportPop`),
|
|
1905
|
+
* - `getCaptchaToken` NO toca `window.grecaptcha` y devuelve el sentinel
|
|
1906
|
+
* `RECAPTCHA_DISABLED_TOKEN`,
|
|
1907
|
+
* - las verificaciones server-side (`createAssessment`,
|
|
1908
|
+
* `verifyCaptchaToken`, `verifyCaptchaTokenEnterprise`) cortan antes del
|
|
1909
|
+
* fetch a Google y devuelven "pasó" (score 1 / `true`),
|
|
1910
|
+
* - la validación de forms (`isFormValid`) deja de exigir token.
|
|
1911
|
+
*
|
|
1912
|
+
* Default `false`: el comportamiento es EXACTAMENTE el actual, así que subir
|
|
1913
|
+
* de versión sin declarar el flag no cambia nada en ningún repo (el flag es
|
|
1914
|
+
* puramente aditivo y retro-compatible).
|
|
1915
|
+
*
|
|
1916
|
+
* Es un flag de SEGURIDAD: en `true` los endpoints quedan sin protección
|
|
1917
|
+
* anti-bot, así que se usa para desbloquear un sitio (keys mal
|
|
1918
|
+
* configuradas, cuota agotada, captcha rompiendo el flujo), no como default.
|
|
1919
|
+
*
|
|
1920
|
+
* Los componentes cliente lo leen del prop `API_ENV` (el singleton de
|
|
1921
|
+
* `initLibrary` no está garantizado en cada isla de hidratación), por eso hay
|
|
1922
|
+
* que incluir `CONFIG_blockRecaptcha` en el `API_ENV_KEYS` de cada sitio que
|
|
1923
|
+
* pase config al cliente. Los helpers server-side lo leen del singleton, o
|
|
1924
|
+
* del parámetro explícito cuando lo reciben.
|
|
1925
|
+
*/
|
|
1926
|
+
CONFIG_blockRecaptcha?: boolean;
|
|
1892
1927
|
SHOW_TAG_BY_SECTION?: boolean;
|
|
1893
1928
|
FETCH_SIZE_MORE_NEWS?: number;
|
|
1894
1929
|
FETCH_SIZE_RELATED_NEWS?: number;
|
|
@@ -1998,9 +2033,11 @@ export declare class MainComponentServices {
|
|
|
1998
2033
|
config: any;
|
|
1999
2034
|
/**
|
|
2000
2035
|
* @deprecated Ya no se lee: los tamaños salen de `this.contract` (§3). Bigfish
|
|
2001
|
-
*
|
|
2002
|
-
* `this.imgSizes.lg`
|
|
2003
|
-
*
|
|
2036
|
+
* pasaba `imgSizesVideo` acá (quirk documentado en el snapshot de Fase 0), por
|
|
2037
|
+
* eso `this.imgSizes.lg` resolvía a `video.lg` dentro de los destacados. Ese
|
|
2038
|
+
* quirk quedó saldado: los destacados son de NOTAS y hoy leen slots de
|
|
2039
|
+
* `contract.note` (ver cada getter). Se mantiene el parámetro posicional por
|
|
2040
|
+
* retrocompat hasta Fase 3.
|
|
2004
2041
|
*/
|
|
2005
2042
|
imgSizes: any;
|
|
2006
2043
|
configVersion: string;
|
|
@@ -2671,6 +2708,7 @@ declare type PrefixConfig = {
|
|
|
2671
2708
|
PUBLIC_SERVICE_PREFIX?: string;
|
|
2672
2709
|
PUBLIC_IS_SUB_PUBLICATION?: string;
|
|
2673
2710
|
FORCE_SUB_PUBLICATION_PREFIX?: string;
|
|
2711
|
+
LINK_REMOVE?: string;
|
|
2674
2712
|
};
|
|
2675
2713
|
|
|
2676
2714
|
export declare interface PreloadImage {
|
|
@@ -2807,6 +2845,8 @@ declare type Props_14 = {
|
|
|
2807
2845
|
COGNITO_AUTH_PREFIX: string;
|
|
2808
2846
|
PUBLIC_ENV: string;
|
|
2809
2847
|
CAPTCHA_KEY: string;
|
|
2848
|
+
/** Kill switch de reCAPTCHA. Sin definir: captcha activo (como hoy). */
|
|
2849
|
+
CONFIG_blockRecaptcha?: boolean;
|
|
2810
2850
|
PUBLIC_SERVICE_PREFIX?: string;
|
|
2811
2851
|
PUBLIC_IS_SUB_PUBLICATION?: string;
|
|
2812
2852
|
FORCE_SUB_PUBLICATION_PREFIX?: string;
|
|
@@ -2820,6 +2860,8 @@ declare type Props_15 = {
|
|
|
2820
2860
|
COGNITO_AUTH_PREFIX: string;
|
|
2821
2861
|
PUBLIC_ENV: string;
|
|
2822
2862
|
CAPTCHA_KEY: string;
|
|
2863
|
+
/** Kill switch de reCAPTCHA. Sin definir: captcha activo (como hoy). */
|
|
2864
|
+
CONFIG_blockRecaptcha?: boolean;
|
|
2823
2865
|
};
|
|
2824
2866
|
termsAndConditionsUrl?: string;
|
|
2825
2867
|
};
|
|
@@ -3239,9 +3281,17 @@ declare type Props_9 = {
|
|
|
3239
3281
|
|
|
3240
3282
|
export declare const Readest: FC<Props_29>;
|
|
3241
3283
|
|
|
3284
|
+
/**
|
|
3285
|
+
* Token que devuelve `getCaptchaToken` cuando reCAPTCHA está desactivado por
|
|
3286
|
+
* `CONFIG_blockRecaptcha`. Es un placeholder no vacío a propósito: los call
|
|
3287
|
+
* sites cortan con "Captcha token no generado" ante un token falsy, y el
|
|
3288
|
+
* server ni lo mira porque su verificación también está gateada por el flag.
|
|
3289
|
+
*/
|
|
3290
|
+
export declare const RECAPTCHA_DISABLED_TOKEN = "recaptcha-disabled";
|
|
3291
|
+
|
|
3242
3292
|
export declare const ReCaptchaRender: ({ defaultRouteName }: {
|
|
3243
3293
|
defaultRouteName: string;
|
|
3244
|
-
}) => false | "" | JSX.Element | undefined;
|
|
3294
|
+
}) => false | "" | JSX.Element | null | undefined;
|
|
3245
3295
|
|
|
3246
3296
|
export declare function RegisterForm({ texts, API_ENV, termsAndConditionsUrl }: Props_15): JSX.Element;
|
|
3247
3297
|
|
|
@@ -3797,11 +3847,22 @@ export declare const toISOWithTimeZone: (value: number | string, timeZone: strin
|
|
|
3797
3847
|
* front prefix público. Se arma: origin público + front prefix + path sin el
|
|
3798
3848
|
* service prefix. El origin ajeno queda normalizado como efecto.
|
|
3799
3849
|
*
|
|
3850
|
+
* IMPORTANTE — el swap sólo se habilita si el sitio DECLARA que el service
|
|
3851
|
+
* prefix es un namespace interno, vía front prefix (`FORCE_SUB_PUBLICATION_PREFIX`
|
|
3852
|
+
* / `PUBLIC_IS_SUB_PUBLICATION`) o vía `LINK_REMOVE` apuntando al mismo prefijo.
|
|
3853
|
+
* Sin esa declaración el "swap" degeneraría en un BORRADO de segmento, y el
|
|
3854
|
+
* nombre del service prefix puede coincidir con el de una sección real: en
|
|
3855
|
+
* `futbol.radioformula.com.mx` (`PUBLIC_SERVICE_PREFIX=futbol`, sin front
|
|
3856
|
+
* prefix) el canonical `.../futbol/nota.html` apunta a la sección `/futbol`,
|
|
3857
|
+
* no a un namespace filtrado, y reescribirlo rompía la URL.
|
|
3858
|
+
*
|
|
3800
3859
|
* Todo lo demás se devuelve sin tocar → retrocompatible:
|
|
3801
3860
|
* - URL ya correcta (path bajo `/en`, no bajo `/soyfutbolen`),
|
|
3802
3861
|
* - canónica cross-domain intencional de contenido sindicado (path NO bajo
|
|
3803
3862
|
* el service prefix),
|
|
3804
3863
|
* - publicación principal (sin service prefix → return temprano),
|
|
3864
|
+
* - sitio con service prefix pero sin front prefix ni `LINK_REMOVE` (no hay
|
|
3865
|
+
* namespace interno declarado → return temprano),
|
|
3805
3866
|
* - subpublicación directa (`frontPrefix === servicePrefix`: el swap deja el
|
|
3806
3867
|
* path igual y el origin ya es el propio → no-op).
|
|
3807
3868
|
*
|
|
@@ -3875,14 +3936,17 @@ export declare const validateHttpUrl: (url: string) => string;
|
|
|
3875
3936
|
* @param projectId El ID del proyecto de Google Cloud
|
|
3876
3937
|
* @param captchaKey La clave del sitio de reCAPTCHA
|
|
3877
3938
|
* @param captchaAction El nombre de la acción que corresponde al token
|
|
3939
|
+
* @param config Config del sitio para leer el kill switch
|
|
3940
|
+
* `CONFIG_blockRecaptcha`. Si se omite se cae al singleton de `initLibrary`.
|
|
3878
3941
|
* @returns Una promesa que se resuelve con la puntuación de riesgo
|
|
3879
3942
|
*/
|
|
3880
|
-
export declare const verifyCaptchaTokenEnterprise: ({ token, projectId, captchaKey, apiKey, captchaAction, }: {
|
|
3943
|
+
export declare const verifyCaptchaTokenEnterprise: ({ token, projectId, captchaKey, apiKey, captchaAction, config, }: {
|
|
3881
3944
|
token: string;
|
|
3882
3945
|
projectId: string;
|
|
3883
3946
|
captchaKey: string;
|
|
3884
3947
|
apiKey: string;
|
|
3885
3948
|
captchaAction: captchaActionType;
|
|
3949
|
+
config?: Pick<LibraryConfig, "CONFIG_blockRecaptcha">;
|
|
3886
3950
|
}) => Promise<number>;
|
|
3887
3951
|
|
|
3888
3952
|
export declare const VideoBlock3: FC<Props_35>;
|