UNPKG

vlibras-player-webjs

Version:

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

66 lines 2.53 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.VLibrasProvider = VLibrasProvider; exports.useVLibrasContext = useVLibrasContext; const jsx_runtime_1 = require("react/jsx-runtime"); const react_1 = require("react"); const VLibrasPlayer_1 = require("../../../../core/player/VLibrasPlayer"); const VLibrasContext = (0, react_1.createContext)(undefined); const defaultConfig = { targetPath: '/assets/vlibras', theme: 'auto', autoInitialize: true, enableCache: true, debug: false, playbackSpeed: 1, language: 'pt-BR', enableAccessibility: true }; function VLibrasProvider({ children, config: userConfig = {} }) { const [config, setConfig] = (0, react_1.useState)({ ...defaultConfig, ...userConfig }); const [player, setPlayer] = (0, react_1.useState)(null); const [isLoaded, setIsLoaded] = (0, react_1.useState)(false); const [isPlaying, setIsPlaying] = (0, react_1.useState)(false); const [error, setError] = (0, react_1.useState)(null); (0, react_1.useEffect)(() => { if (config.autoInitialize && !player) { try { const playerInstance = new VLibrasPlayer_1.VLibrasPlayer({ targetPath: config.targetPath, theme: config.theme, enableCache: config.enableCache, debug: config.debug, onReady: () => setIsLoaded(true), onError: (err) => setError(err), onPlay: () => setIsPlaying(true), onPause: () => setIsPlaying(false), onStop: () => setIsPlaying(false) }); setPlayer(playerInstance); } catch (err) { setError(err instanceof Error ? err : new Error('Erro ao inicializar VLibras')); } } }, [config, player]); const updateConfig = (newConfig) => { setConfig(prev => ({ ...prev, ...newConfig })); }; const value = { player, isLoaded, isPlaying, error, config, updateConfig }; return ((0, jsx_runtime_1.jsx)(VLibrasContext.Provider, { value: value, children: children })); } function useVLibrasContext() { const context = (0, react_1.useContext)(VLibrasContext); if (context === undefined) { throw new Error('useVLibrasContext must be used within a VLibrasProvider'); } return context; } //# sourceMappingURL=VLibrasProvider.js.map