UNPKG

vlibras-player-webjs

Version:

Biblioteca JavaScript moderna para integração do VLibras Player com React, Vue, Angular e vanilla JS

188 lines 4.76 kB
/** * Tipos do núcleo (Core) do VLibras * Single Responsibility: Tipos apenas do core do sistema */ export interface VLibrasPlayerConfig { container?: string | HTMLElement; width?: number; height?: string | number; responsive?: boolean; autoplay?: boolean; controls?: boolean; muted?: boolean; debug?: boolean; theme?: 'light' | 'dark' | 'high-contrast' | 'auto'; language?: 'pt-br' | 'en' | 'es'; enableCache?: boolean; cacheTimeout?: number; fallbackUrl?: string; targetPath?: string; errorCallback?: (error: Error) => void; loadingCallback?: (progress: number) => void; onReady?: () => void; onLoad?: () => void; onPlay?: () => void; onPause?: () => void; onStop?: () => void; onError?: (error: Error) => void; } /** * Configurações específicas para presets */ export interface PresetConfig extends VLibrasPlayerConfig { name?: string; description?: string; autoPlay?: boolean; showControls?: boolean; showProgress?: boolean; showWordBadge?: boolean; allowReplay?: boolean; hideText?: boolean; allowSkip?: boolean; showSubtitles?: boolean; minimalUI?: boolean; autoScale?: boolean; showQualitySelector?: boolean; showEssentialControlsOnly?: boolean; size?: 'small' | 'medium' | 'large' | 'fullscreen'; onComplete?: () => void; onProgress?: (progress: number) => void; onStateChange?: (state: string) => void; onSkip?: () => void; enableKeyboardShortcuts?: boolean; enableAnalytics?: boolean; cacheEnabled?: boolean; } export interface VLibrasPlayerState { isLoaded: boolean; isPlaying: boolean; isPaused: boolean; isMuted: boolean; currentTime: number; duration: number; volume: number; playbackRate: number; error?: Error; } export interface PlaybackResult { success: boolean; duration?: number; totalFrames?: number; startTime?: number; endTime?: number; error?: Error; metadata?: { text: string; language: string; timestamp: number; }; } export interface UnityConfig { unityLoaderUrl: string; buildUrl: string; companyName: string; productName: string; productVersion: string; } export interface GlosaConfig { enableGloss?: boolean; glossSpeed?: number; glossDelay?: number; customGlossMap?: Map<string, string>; } export interface GlobalConfigOptions { debug?: boolean; logLevel?: 'error' | 'warn' | 'info' | 'debug'; theme?: 'light' | 'dark' | 'high-contrast' | 'auto'; language?: 'pt-br' | 'en' | 'es'; accessibility?: { enableKeyboardNavigation?: boolean; enableScreenReader?: boolean; enableHighContrast?: boolean; enableReducedMotion?: boolean; ariaLabels?: Record<string, string>; }; performance?: { enableOptimizations?: boolean; preloadAssets?: boolean; enableWebWorkers?: boolean; maxConcurrentRequests?: number; }; api?: { baseUrl?: string; timeout?: number; retryAttempts?: number; enableCors?: boolean; }; } /** * Configuração legacy do player */ export interface PlayerConfig { translator?: string; targetPath?: string; onLoad?: () => void; progress?: (wrapper: HTMLElement) => any; } /** * Estados do player (legacy) */ export declare enum PlayerStatus { IDLE = "idle", INITIALIZING = "initializing", LOADING_ASSETS = "loading_assets", READY = "ready", TRANSLATING = "translating", PLAYING = "playing", PAUSED = "paused", COMPLETED = "completed", ERROR = "error" } /** * Opções para tradução */ export interface TranslateOptions { isEnabledStats?: boolean; } /** * Opções para reprodução */ export interface PlayOptions { fromTranslation?: boolean; isEnabledStats?: boolean; } /** * Configurações de personalização do avatar */ export interface PersonalizationConfig { appearance?: { skinColor?: string; hairColor?: string; clothingColor?: string; }; speed?: number; } /** * Velocidades suportadas */ export type PlaybackSpeed = 0.5 | 1.0 | 1.5 | 2.0; /** * Regiões suportadas */ export type SupportedRegion = 'BR' | 'PE' | 'RJ' | 'SP'; /** * Interface para o Unity Player */ export interface UnityPlayer { SendMessage: (objectName: string, methodName: string, value?: any) => void; } /** * Interface para o UnityLoader global */ export interface IUnityLoader { instantiate: (containerId: string, configPath: string, options: any) => UnityPlayer; SystemInfo: { hasWebGL: boolean; }; } //# sourceMappingURL=core.types.d.ts.map