ranui
Version:
A framework-agnostic Web Components UI library built on native custom elements, with TypeScript types, light/dark theming, SSR and PWA support.
21 lines (20 loc) • 820 B
TypeScript
import { type PlayerTrackConfig } from './tracks';
export interface PlayerSubtitleRefs {
subtitleContainer: HTMLElement;
player: HTMLDivElement;
}
export interface PlayerSubtitleDeps {
refs: PlayerSubtitleRefs;
getPlayerId: () => string | null;
getVideo: () => HTMLVideoElement | undefined;
getTracks: () => PlayerTrackConfig[];
change: (name: string, value: unknown) => void;
}
export interface PlayerSubtitleHandlers {
applyTracks: () => void;
setSubtitleLanguage: (lang: string) => void;
changeSubtitleTrack: (e: Event) => void;
createSubtitleSelect: () => void;
}
/** Engine-independent — untouched by Phase 2's HLS/DASH/FLV adapter refactor, unlike `core/clarity.ts`. */
export declare function createSubtitleHandlers(deps: PlayerSubtitleDeps): PlayerSubtitleHandlers;