sass-cms-template-common 0.0.32 → 0.0.34

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
@@ -1289,7 +1289,7 @@ export declare class CmsGeneralServices {
1289
1289
  updateCDN: (path: string) => Promise<CmsResponse>;
1290
1290
  }
1291
1291
 
1292
- export declare function CmsI18nProvider({ locale, language, messages, catalog, appMessages, children, }: CmsI18nProviderProps): JSX.Element;
1292
+ export declare function CmsI18nProvider({ locale, language, messages, catalog, appMessages, syncDocumentLang, children, }: CmsI18nProviderProps): JSX.Element;
1293
1293
 
1294
1294
  export declare type CmsI18nProviderProps = {
1295
1295
  locale?: Locale | string;
@@ -1299,6 +1299,12 @@ export declare type CmsI18nProviderProps = {
1299
1299
  catalog?: LocaleCatalog;
1300
1300
  /** Catálogo de mensajes propio del gestor (namespaces libres, es/en/pt). */
1301
1301
  appMessages?: AppLocaleCatalog;
1302
+ /**
1303
+ * Mantiene el atributo `lang` del <html> en sincronía con el idioma activo
1304
+ * (NAA-5169). Por defecto `true`. Se pone en `false` en un provider anidado,
1305
+ * para que solo el del ámbito de la página escriba el idioma del documento.
1306
+ */
1307
+ syncDocumentLang?: boolean;
1302
1308
  children: ReactNode;
1303
1309
  };
1304
1310
 
@@ -4615,6 +4621,33 @@ declare interface IRecipesServices {
4615
4621
  authentication: Authentication;
4616
4622
  }
4617
4623
 
4624
+ /**
4625
+ * Traspaso del token al cambiar de gestor — NAA-5150.
4626
+ *
4627
+ * El access token vive en `sessionStorage`, que es **por origen**: el token de
4628
+ * `usuarios.…` no es el mismo objeto que el de `noticias.…`. Cuando el usuario
4629
+ * pasa de un gestor a otro por el menú lateral, el gestor destino arranca con lo
4630
+ * que tenga guardado de la última vez — y si esa vez era otro usuario, lo muestra
4631
+ * a él. No hace falta ni un logout de por medio: alcanza con haber entrado antes
4632
+ * con otra cuenta en ese dominio.
4633
+ *
4634
+ * La solución es la misma que ya usa la login app para entregar la sesión: pasar
4635
+ * el token en el **fragmento** de la URL destino (`#access_token=…`), que el
4636
+ * gestor consume al arrancar y guarda pisando el viejo. El fragmento no viaja al
4637
+ * servidor y el destino lo borra de la barra de direcciones apenas lo lee.
4638
+ *
4639
+ * Es lo mismo que hace `AppShell.navigateToModule` de `@bluestack-cms/ui` en la
4640
+ * familia Vite; esta es la pieza equivalente para los gestores Next.
4641
+ */
4642
+ /**
4643
+ * ¿El destino es otro origen? Solo ahí hace falta el traspaso: dentro del mismo
4644
+ * gestor el `sessionStorage` ya es el mismo.
4645
+ *
4646
+ * Las rutas relativas (`/users/1`), el `#` de los ítems sin destino y las URL
4647
+ * absolutas al propio origen quedan afuera.
4648
+ */
4649
+ export declare function isCrossOriginHref(href: string): boolean;
4650
+
4618
4651
  declare interface ISectionsServices {
4619
4652
  axiosApi: AxiosInstance;
4620
4653
  authentication: Authentication;
@@ -4767,6 +4800,28 @@ export declare type MultiSelectFieldConfig = BaseFieldConfig & {
4767
4800
 
4768
4801
  export declare type NavBlock = NavLinkItem;
4769
4802
 
4803
+ /**
4804
+ * `onClick` para los ítems del menú que llevan a otro gestor: navega pasándole la
4805
+ * sesión actual en el fragmento.
4806
+ *
4807
+ * No hace nada —y deja que el enlace navegue solo— cuando el destino es del mismo
4808
+ * origen, cuando no hay token que pasar (login propio del gestor, sesión sin
4809
+ * abrir) o cuando el usuario pidió abrir en otra pestaña (ctrl/cmd/click del
4810
+ * medio): en ese último caso el navegador ya se encarga y no hay que interceptar.
4811
+ *
4812
+ * @param event Click del enlace.
4813
+ * @param href Destino ya resuelto del ítem.
4814
+ */
4815
+ export declare function navigateWithAuthHandoff(event: {
4816
+ preventDefault: () => void;
4817
+ defaultPrevented: boolean;
4818
+ button?: number;
4819
+ metaKey?: boolean;
4820
+ ctrlKey?: boolean;
4821
+ shiftKey?: boolean;
4822
+ altKey?: boolean;
4823
+ }, href: string): void;
4824
+
4770
4825
  export declare type NavigationModule = keyof CmsMessages['navigation'];
4771
4826
 
4772
4827
  export declare type NavItemPermissions = {
@@ -7009,6 +7064,11 @@ export declare interface SectionsGetResponse extends CmsResponse {
7009
7064
  * Pensado para filtros de listado (p. ej. "Últimas Noticias" o
7010
7065
  * "Todos / Activos / Inactivos"), reutilizable desde cualquier app que consuma
7011
7066
  * la librería.
7067
+ *
7068
+ * Para QA (NAA-5175) emite, además de los `data-testid`, el valor interno del
7069
+ * filtro: `data-value` en el disparador (la opción activa) y en cada opción del
7070
+ * menú, más `data-selected="true|false"` en la opción. Ninguno depende del
7071
+ * idioma ni de la clase `Mui-selected`.
7012
7072
  */
7013
7073
  export declare function SelectDropdown({ value, options, onChange, highlighted, showIcons, minWidth, disabled, placeholder, prefix, ariaLabel, testId, }: SelectDropdownProps): JSX.Element;
7014
7074