@byomakase/omakase-player
Version:
## Omakase Player - Open source JavaScript framework for building frame accurate video experiences
64 lines (63 loc) • 2.36 kB
TypeScript
import { BehaviorSubject, Observable, Subject } from 'rxjs';
import { MomentMarker, PeriodMarker } from '../timeline';
import { MarkerTrackApi } from '../api/marker-track-api';
import { MarkerCreateEvent, MarkerDeleteEvent, MarkerInitEvent, MarkerSelectedEvent, MarkerUpdateEvent } from '../types';
import { MarkerVttFile } from '../vtt';
import { MarkerApi } from '../api';
export declare class OmakaseMarkerTrack extends HTMLElement implements MarkerTrackApi {
private _container?;
private _uuid?;
private _destroyed$;
private _draggingPointMarker?;
private _draggingPeriodMarker?;
private _draggingPeriodMarkerEnd?;
private _markerMoved;
private _markerDragStartTime?;
private _markerDragDelay;
private _markers;
private _selectedMarker?;
private _mouseupListener?;
private _mousemoveListener?;
private _resizeObserver;
onShow$: Subject<void>;
onHide$: Subject<void>;
onMarkerInit$: Subject<MarkerInitEvent>;
onMarkerCreate$: Subject<MarkerCreateEvent>;
onMarkerDelete$: Subject<MarkerDeleteEvent>;
onMarkerUpdate$: Subject<MarkerUpdateEvent>;
onMarkerSelected$: Subject<MarkerSelectedEvent>;
onVttLoaded$: BehaviorSubject<MarkerVttFile | undefined>;
get mediaDuration(): number;
set mediaDuration(duration: number);
get name(): string;
get uuid(): string | undefined;
set uuid(uuid: string | undefined);
get onDestroy$(): Observable<void>;
connectedCallback(): void;
disconnectedCallback(): void;
getMarkers(): MarkerApi[];
getSelectedMarker(): MarkerApi | undefined;
addMarker(marker: Partial<MarkerApi>): MomentMarker | PeriodMarker;
removeMarker(id: string): void;
removeAllMarkers(): void;
updateMarker(id: string, data: Partial<MarkerApi>): void;
toggleMarker(id: string): void;
destroy(): void;
isVisible(): boolean;
toggleVisibility(): void;
hide(): void;
show(): void;
private focusMarker;
private unfocusMarkers;
private isMomentMarker;
private isPeriodMarker;
private addMomentMarker;
private addPeriodMarker;
private clearDraggingMarker;
private moveDraggingMarker;
private getDraggingPointMarkerTime;
private getDraggingPeriodMarkerTime;
private updateMarkerPosition;
private updateMarkerColor;
private updateMarkerSize;
}