UNPKG

videomail-client

Version:

A wicked npm package to record videos directly in the browser, wohooo!

88 lines (87 loc) 3 kB
import "./../styles/main.styl"; import { ShowParams, StartOverParams } from "../client"; import { VideomailClientOptions } from "../types/options"; import { Videomail } from "../types/Videomail"; import Despot from "../util/Despot"; import { FormInputs, FormMethodType } from "./form"; interface BuildOptions { playerOnly?: boolean; replayParentElementId?: string | undefined; replayParentElement?: HTMLElement | undefined; } export interface UnloadParams { startingOver?: boolean; e?: Event; } export interface FormReadyParams { paused?: boolean | undefined; } declare class Container extends Despot { private readonly visibility; private readonly htmlElement; private readonly visuals; private readonly buttons; private readonly resource; private form; private hasError; private submitted; private lastValidation; private containerElement?; private built; constructor(options: VideomailClientOptions); private buildChildren; build(buildOptions?: BuildOptions): HTMLElement | null | undefined; private findParentFormElement; private getFormElement; buildForm(): void; private processError; private initEvents; private correctDimensions; private removeDimensions; private unloadChildren; private hideMySelf; private submitVideomail; limitWidth(width?: number): import("../types/dimension").Dimension | undefined; limitHeight(height: number | undefined): import("../types/dimension").Dimension; private areVisualsHidden; hasElement(): boolean; getSubmitButton(): HTMLButtonElement | undefined; querySelector(selector: string): HTMLElement | null | undefined; beginWaiting(): void; endWaiting(): void; appendChild(child: any): void; insertBefore(child: any, reference: any): void; unload(params?: UnloadParams): void; show(params?: ShowParams): HTMLElement; hide(): void; startOver(params?: StartOverParams): void; showReplayOnly(): void; isNotifying(): boolean | null | undefined; isPaused(): boolean | undefined; pause(params?: { event: MouseEvent; }): void; validate(event?: any, force?: boolean): boolean; disableForm(buttonsToo: boolean): void; enableForm(buttonsToo: boolean): void; hasForm(): boolean; private buttonsAreReady; submitAll(formData: FormInputs, method: FormMethodType, url: string): Promise<void>; isBuilt(): boolean; isReplayShown(): boolean; isDirty(): boolean; getReplay(): import("./visuals/replay").default; isOutsideElementOf(element: HTMLElement): boolean; loadForm(videomail: Videomail): void; enableAudio(): void; disableAudio(): void; submit(): Promise<boolean | undefined>; isCountingDown(): boolean | undefined; isRecording(): boolean; record(): void; resume(): void; stop(): void; recordAgain(): void; setLimitSeconds(limitSeconds: number): void; } export default Container;