playable
Version:
Video player based on HTML5Video
105 lines (104 loc) • 3.01 kB
TypeScript
import View from './root-container.view';
import { IEventEmitter } from '../event-emitter/types';
import { IRootContainer, IRootContainerAPI } from './types';
import { IPlayerConfig } from '../../core/config';
declare class RootContainer implements IRootContainer {
static moduleName: string;
static dependencies: string[];
private _eventEmitter;
private _elementQueries;
private _resizeObserver;
private _disengageFocusWithin;
private _disengageFocusSource;
private _unbindEvents;
view: View;
isHidden: boolean;
constructor({ eventEmitter, config, }: {
config: IPlayerConfig;
eventEmitter: IEventEmitter;
});
/**
* Getter for DOM element with player UI
* (use it only for debug, if you need attach player to your document use `attachToElement` method)
*/
getElement(): HTMLElement;
private _bindCallbacks;
private _bindEvents;
private _initUI;
appendComponentElement(element: HTMLElement): void;
private _broadcastMouseEnter;
private _broadcastMouseMove;
private _broadcastMouseLeave;
private _broadcastFocusEnter;
private _broadcastFocusLeave;
private _enableFocusInterceptors;
private _disableFocusInterceptors;
private _onResized;
/**
* Method for attaching player node to your container
*
* @example
* document.addEventListener('DOMContentLoaded', function() {
* const config = { src: 'http://my-url/video.mp4' }
* const player = Playable.create(config);
*
* player.attachToElement(document.getElementById('content'));
* });
*/
attachToElement(element: Element): void;
/**
* Method for setting width of player
* @param width - Desired width of player in pixels
* @example
* player.setWidth(400);
*/
setWidth(width: number): void;
/**
* Return current width of player in pixels
* @example
* player.getWidth(); // 400
*/
getWidth(): number;
/**
* Method for setting width of player
* @param height - Desired height of player in pixels
* @example
* player.setHeight(225);
*/
setHeight(height: number): void;
/**
* Return current height of player in pixels
* @example
* player.getHeight(); // 225
*/
getHeight(): number;
/**
* Method for allowing player fill all available space
* @param flag - `true` for allowing
* @example
* player.setFillAllSpace(true);
*/
setFillAllSpace(flag: boolean): void;
/**
* Method for allowing player rtl direction
* @param rtl - `true` for allowing
* @example
* player.setRtl(boolean);
*/
setRtl(rtl: boolean): void;
/**
* Hide whole ui
* @example
* player.hide();
*/
hide(): void;
/**
* Show whole ui
* @example
* player.show();
*/
show(): void;
destroy(): void;
}
export { IRootContainerAPI };
export default RootContainer;