vidstack
Version:
Build awesome media experiences on the web.
46 lines (45 loc) • 1.56 kB
TypeScript
import { Component, type HTMLCustomElement } from 'maverick.js/element';
import { CaptionsRenderer } from 'media-captions';
import { type MediaContext } from '../../core/api/context';
import { CaptionsTextRenderer } from './captions-renderer';
declare global {
interface MaverickElements {
'media-captions': MediaCaptionsElement;
}
}
/**
* Renders and displays captions/subtitles. This will be an overlay for video and a simple
* captions box for audio.
*
* @docs {@link https://www.vidstack.io/docs/player/components/display/captions}
* @example
* ```html
* <media-captions></media-captions>
* ```
*/
export declare class Captions extends Component<CaptionsAPI> {
static el: import("maverick.js/element").CustomElementDefinition<CaptionsAPI>;
_media: MediaContext;
_renderer: CaptionsRenderer;
_textRenderer: CaptionsTextRenderer;
protected onAttach(): void;
protected onConnect(el: HTMLElement): void;
protected onDisconnect(): void;
protected _isHidden(): boolean;
protected _watchViewType(): () => void;
protected _setupAudioView(): () => void;
protected _onTrackChange(): void;
protected _onCueChange(): void;
protected _onUpdateTimedNodes(): void;
protected _setupVideoView(): () => void;
protected _watchTextDirection(): void;
protected _watchMediaTime(): void;
}
export interface CaptionsAPI {
props: CaptionsProps;
}
export interface CaptionsProps {
textDir: 'ltr' | 'rtl';
}
export interface MediaCaptionsElement extends HTMLCustomElement<Captions> {
}