vlibras-player-webjs
Version:
Biblioteca JavaScript moderna para integração do VLibras Player com React, Vue, Angular e vanilla JS
159 lines • 4.28 kB
TypeScript
/**
* Sistema de configuração global para VLibras Player
* Permite configurar uma vez e usar em toda a aplicação
*/
import { PlayerConfig } from '../../types/core.types';
export interface GlobalConfig {
assetsPath: string;
defaultRegion: 'BR' | 'PE' | 'RJ' | 'SP';
theme: 'light' | 'dark' | 'auto' | 'high-contrast';
language: 'pt-BR' | 'en-US';
enableStats: boolean;
debug: boolean;
autoRetry: boolean;
retryAttempts: number;
performance: {
preloadAssets: boolean;
cacheEnabled: boolean;
maxCacheSize: number;
enableGPUAcceleration: boolean;
lowLatencyMode: boolean;
};
analytics: {
enabled: boolean;
endpoint?: string;
anonymizeData: boolean;
respectDoNotTrack: boolean;
trackingId?: string;
};
accessibility: {
announceStateChanges: boolean;
keyboardNavigation: boolean;
reduceMotion: boolean;
highContrastMode: boolean;
screenReaderSupport: boolean;
};
experimental: {
enableWorkers: boolean;
enableOfflineMode: boolean;
enablePredictiveCache: boolean;
enableAutoScale: boolean;
};
}
/**
* Classe principal de configuração global
*/
export declare class VLibrasGlobalConfig {
private static config;
private static listeners;
private static isInitialized;
/**
* Configura o VLibras globalmente
*/
static configure(newConfig: Partial<GlobalConfig>): void;
/**
* Obtém a configuração atual
*/
static getConfig(): GlobalConfig;
/**
* Obtém uma configuração específica
*/
static get<K extends keyof GlobalConfig>(key: K): GlobalConfig[K];
/**
* Define uma configuração específica
*/
static set<K extends keyof GlobalConfig>(key: K, value: GlobalConfig[K]): void;
/**
* Reseta para configuração padrão
*/
static reset(): void;
/**
* Carrega configuração do localStorage
*/
static loadFromStorage(): boolean;
/**
* Salva configuração no localStorage
*/
static saveToStorage(): void;
/**
* Adiciona listener para mudanças de configuração
*/
static onChange(listener: (config: GlobalConfig) => void): () => void;
/**
* Verifica se foi inicializado
*/
static isConfigured(): boolean;
/**
* Cria configuração de player com base na global
*/
static createPlayerConfig(overrides?: Partial<PlayerConfig>): PlayerConfig;
/**
* Obtém configurações por ambiente
*/
static getEnvironmentConfig(): Partial<GlobalConfig>;
/**
* Auto-configura baseado no ambiente
*/
static autoConfigureForEnvironment(): void;
/**
* Valida configuração
*/
static validateConfig(config: Partial<GlobalConfig>): {
valid: boolean;
errors: string[];
};
/**
* Aplica configurações automaticamente
*/
private static applyConfiguration;
/**
* Aplica tema
*/
private static applyTheme;
/**
* Aplica configurações de acessibilidade
*/
private static applyAccessibilitySettings;
/**
* Aplica configurações de performance
*/
private static applyPerformanceSettings;
/**
* Notifica todos os listeners
*/
private static notifyListeners;
/**
* Merge profundo de objetos
*/
private static deepMerge;
/**
* Verifica se é objeto
*/
private static isObject;
/**
* Obtém diferenças entre configurações
*/
private static getChanges;
}
/**
* Classe de utilitários para configuração
*/
export declare class VLibrasConfigUtils {
/**
* Cria configuração otimizada para mobile
*/
static getMobileConfig(): Partial<GlobalConfig>;
/**
* Cria configuração otimizada para desktop
*/
static getDesktopConfig(): Partial<GlobalConfig>;
/**
* Detecta configuração ideal baseada no dispositivo
*/
static detectOptimalConfig(): Partial<GlobalConfig>;
/**
* Aplica configuração ideal automaticamente
*/
static applyOptimalConfig(): void;
}
//# sourceMappingURL=VLibrasGlobalConfig.d.ts.map