analytica-frontend-lib
Version:
Repositório público dos componentes utilizados nas plataformas da Analytica Ensino
33 lines • 1.5 kB
TypeScript
/**
* Carrega e ativa o widget oficial de Libras do governo brasileiro
* (gov.br/vlibras) sob demanda. Estratégia:
*
* - Quando `librasEnabled === true`:
* 1. Injeta o esqueleto DOM esperado pelo VLibras (`<div vw>` etc.)
* no `<body>` (precisa estar no body, não dentro do React tree).
* 2. Carrega o script oficial uma única vez (cacheado por id).
* 3. Instancia `new window.VLibras.Widget(...)` para inicializar o
* avatar e os assets 3D.
*
* - Quando `librasEnabled === false`:
* - Apenas OCULTA o esqueleto DOM (não remove). O plugin do VLibras
* registra um listener de `resize` no `window` que ele nunca desanexa;
* se removêssemos o wrapper, esse listener rodaria `d("[vp]").closest(...)`
* sobre um `null` (nós já removidos) e lançaria
* `Cannot read properties of null (reading 'closest')` no próximo resize
* (rotação de tela / teclado virtual no mobile). Mantendo o esqueleto
* oculto no DOM, `[vp]`/`[vw]` continuam existindo e o handler órfão não
* quebra. O script permanece em cache para reativações rápidas.
*
* O script é pesado (~MBs de avatares 3D), por isso só carregamos quando
* o usuário clica para ativar — fluxo opt-in.
*/
export default function VLibrasLoader(): null;
export declare const __testing: {
SCRIPT_ID: string;
SCRIPT_URL: string;
WRAPPER_ID: string;
injectWrapper: () => void;
hideWrapper: () => void;
};
//# sourceMappingURL=VLibrasLoader.d.ts.map