vlibras-player-webjs
Version:
Biblioteca JavaScript moderna para integração do VLibras Player com React, Vue, Angular e vanilla JS
95 lines • 2.61 kB
TypeScript
/**
* Sistema de CSS Automático para VLibras Player
*
* Resolve o problema identificado no FUNCOES-UTILITARIAS-VLIBRAS.md
* onde o canvas do Unity não ocupa o espaço corretamente e tem bordas pretas.
*/
export interface CanvasConfig {
fillContainer?: boolean;
aspectRatio?: 'auto' | '16:9' | '4:3' | '1:1' | 'custom';
scaleMode?: 'stretch' | 'cover' | 'contain' | 'none';
removeBlackBorders?: boolean;
backgroundColor?: string;
borderRadius?: string;
customWidth?: string;
customHeight?: string;
}
export interface ResponsiveConfig {
enabled: boolean;
breakpoints: {
mobile: {
maxWidth: string;
config: CanvasConfig;
};
tablet: {
maxWidth: string;
config: CanvasConfig;
};
desktop: {
minWidth: string;
config: CanvasConfig;
};
};
}
/**
* Classe responsável por otimizar automaticamente o CSS do canvas Unity
*/
export declare class VLibrasCSS {
private static injectedStyleId;
private static cssInjected;
/**
* Injeta CSS automático para otimizar o canvas
*/
static injectOptimizedCSS(containerSelector?: string, canvasConfig?: CanvasConfig, responsive?: ResponsiveConfig): void;
/**
* Gera o CSS otimizado com base na configuração
*/
private static generateOptimizedCSS;
/**
* Gera CSS para proporção de aspecto
*/
private static generateAspectRatioCSS;
/**
* Gera CSS responsivo
*/
private static generateResponsiveCSS;
/**
* Converte config para propriedades CSS
*/
private static configToCSS;
/**
* Remove o CSS injetado
*/
static removeInjectedCSS(): void;
/**
* Verifica se o CSS foi injetado
*/
static isCSSInjected(): boolean;
/**
* Aplica classe de estado ao container
*/
static setContainerState(containerElement: HTMLElement, state: string): void;
/**
* Configurações responsivas padrão
*/
static getDefaultResponsiveConfig(): ResponsiveConfig;
}
/**
* Função de conveniência para setup automático de CSS
*/
export declare function setupOptimizedCSS(containerSelector?: string, config?: CanvasConfig, responsive?: boolean): void;
/**
* Exemplo de uso:
*
* // Setup básico
* setupOptimizedCSS();
*
* // Setup customizado
* setupOptimizedCSS('.meu-container', {
* fillContainer: true,
* removeBlackBorders: true,
* backgroundColor: '#f5f5f5',
* aspectRatio: '16:9'
* }, true);
*/
//# sourceMappingURL=VLibrasCSS.d.ts.map