UNPKG

videomail-client

Version:

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

404 lines (403 loc) 15.4 kB
import { VideomailClientOptions } from "../types/options"; import { Videomail } from "../types/Videomail"; import Despot from "../util/Despot"; import Container from "./container"; export type FormInputs = Record<string, string>; export declare const FormMethod: { readonly POST: "post"; readonly PUT: "put"; readonly GET: "get"; }; export type FormMethodType = (typeof FormMethod)[keyof typeof FormMethod]; declare class Form extends Despot { private readonly container; private readonly formElement; private keyInput?; private readonly FORM_FIELDS; constructor(container: Container, formElement: HTMLFormElement, options: VideomailClientOptions); private getData; transformFormData(formInputs: FormInputs): { subject?: string; body?: string; from?: import("..").EmailAddress; fromNickName?: string | null; to?: import("..").EmailAddresses | undefined; bcc?: import("..").EmailAddresses | undefined; cc?: import("..").EmailAddresses | undefined; alias?: string; connection?: { [x: string]: string | number | undefined; }; dateCreated?: number; dateCreatedServerPretty?: string; dateUpdated?: number; dateUpdatedServerPretty?: string; expiresAfter?: number; expiresAfterIso?: string; expiresAfterServerPretty?: string; format?: { [x: string]: string | number | { [x: string]: string | undefined; } | undefined; }; height?: number | undefined | undefined; key?: string; mp4?: string; vtt?: string; captions?: string | undefined | undefined; poster?: string; browserStats?: { ua?: string; browser?: { name?: string; version?: string; major?: string; type?: typeof import("ua-parser-js/enums").BrowserType[keyof typeof import("ua-parser-js/enums").BrowserType]; is?: (val: string) => boolean; toString?: () => string; withClientHints?: () => import("ua-parser-js").IBrowser | PromiseLike<import("ua-parser-js").IBrowser>; withFeatureCheck?: () => import("ua-parser-js").IBrowser | PromiseLike<import("ua-parser-js").IBrowser>; }; cpu?: { architecture?: typeof import("ua-parser-js/enums").CPUArch[keyof typeof import("ua-parser-js/enums").CPUArch]; is?: (val: string) => boolean; toString?: () => string; withClientHints?: () => import("ua-parser-js").ICPU | PromiseLike<import("ua-parser-js").ICPU>; withFeatureCheck?: () => import("ua-parser-js").ICPU | PromiseLike<import("ua-parser-js").ICPU>; }; device?: { type?: typeof import("ua-parser-js/enums").DeviceType[keyof typeof import("ua-parser-js/enums").DeviceType]; vendor?: string; model?: string; is?: (val: string) => boolean; toString?: () => string; withClientHints?: () => import("ua-parser-js").IDevice | PromiseLike<import("ua-parser-js").IDevice>; withFeatureCheck?: () => import("ua-parser-js").IDevice | PromiseLike<import("ua-parser-js").IDevice>; }; engine?: { name?: typeof import("ua-parser-js/enums").EngineName[keyof typeof import("ua-parser-js/enums").EngineName]; version?: string; is?: (val: string) => boolean; toString?: () => string; withClientHints?: () => import("ua-parser-js").IEngine | PromiseLike<import("ua-parser-js").IEngine>; withFeatureCheck?: () => import("ua-parser-js").IEngine | PromiseLike<import("ua-parser-js").IEngine>; }; os?: { name?: string; version?: string; is?: (val: string) => boolean; toString?: () => string; withClientHints?: () => import("ua-parser-js").IOS | PromiseLike<import("ua-parser-js").IOS>; withFeatureCheck?: () => import("ua-parser-js").IOS | PromiseLike<import("ua-parser-js").IOS>; }; } | undefined; recordingStats?: { avgFps?: number | undefined | undefined; avgInterval?: number | undefined | undefined; framesCount?: number; intervalSum?: number | undefined | undefined; sampleRate?: number; samplesCount?: number; videoType?: string; waitingTime?: number | undefined | undefined; wantedFps?: number; wantedInterval?: number; } | undefined; recordLocation?: string | undefined | undefined; parentKey?: string | undefined | undefined; parentSnapshots?: Videomail[] | undefined | undefined; reactions?: { love?: readonly string[]; applause?: readonly string[]; foldedHands?: readonly string[]; grinningSweat?: readonly string[]; anger?: readonly string[]; } | undefined; reactionsPretty?: { love?: { [x: string]: { nickName?: string; maskedEmailAddress?: string; } | undefined; }; applause?: { [x: string]: { nickName?: string; maskedEmailAddress?: string; } | undefined; }; foldedHands?: { [x: string]: { nickName?: string; maskedEmailAddress?: string; } | undefined; }; grinningSweat?: { [x: string]: { nickName?: string; maskedEmailAddress?: string; } | undefined; }; anger?: { [x: string]: { nickName?: string; maskedEmailAddress?: string; } | undefined; }; } | undefined; replyAllUrl?: string; replyUrl?: string; shareUrl?: string; sending?: boolean; sent?: boolean; sentDate?: number; sentDateIso?: string; sentDateServerPretty?: string; serverTimePretty?: string; whitelistKey?: string; siteName?: string | undefined | undefined; url?: string; userKey?: string | undefined; versions?: { videomailNinjaFormPlugin?: string; videomailClient?: string; }; webm?: string; width?: number | undefined | undefined; sentTo?: { [x: string]: { userKey?: string | false; } | undefined; }; sentCc?: { [x: string]: { userKey?: string | false; } | undefined; }; sentBcc?: { [x: string]: { userKey?: string | false; } | undefined; }; rejectedTo?: { [x: string]: { userKey?: string | false; } | undefined; }; rejectedCc?: { [x: string]: { userKey?: string | false; } | undefined; }; rejectedBcc?: { [x: string]: { userKey?: string | false; } | undefined; }; public?: boolean; editUrl?: string; repeatUrl?: string; }; getRecipients(): { subject?: string; body?: string; from?: import("..").EmailAddress; fromNickName?: string | null; to?: import("..").EmailAddresses | undefined; bcc?: import("..").EmailAddresses | undefined; cc?: import("..").EmailAddresses | undefined; alias?: string; connection?: { [x: string]: string | number | undefined; }; dateCreated?: number; dateCreatedServerPretty?: string; dateUpdated?: number; dateUpdatedServerPretty?: string; expiresAfter?: number; expiresAfterIso?: string; expiresAfterServerPretty?: string; format?: { [x: string]: string | number | { [x: string]: string | undefined; } | undefined; }; height?: number | undefined | undefined; key?: string; mp4?: string; vtt?: string; captions?: string | undefined | undefined; poster?: string; browserStats?: { ua?: string; browser?: { name?: string; version?: string; major?: string; type?: typeof import("ua-parser-js/enums").BrowserType[keyof typeof import("ua-parser-js/enums").BrowserType]; is?: (val: string) => boolean; toString?: () => string; withClientHints?: () => import("ua-parser-js").IBrowser | PromiseLike<import("ua-parser-js").IBrowser>; withFeatureCheck?: () => import("ua-parser-js").IBrowser | PromiseLike<import("ua-parser-js").IBrowser>; }; cpu?: { architecture?: typeof import("ua-parser-js/enums").CPUArch[keyof typeof import("ua-parser-js/enums").CPUArch]; is?: (val: string) => boolean; toString?: () => string; withClientHints?: () => import("ua-parser-js").ICPU | PromiseLike<import("ua-parser-js").ICPU>; withFeatureCheck?: () => import("ua-parser-js").ICPU | PromiseLike<import("ua-parser-js").ICPU>; }; device?: { type?: typeof import("ua-parser-js/enums").DeviceType[keyof typeof import("ua-parser-js/enums").DeviceType]; vendor?: string; model?: string; is?: (val: string) => boolean; toString?: () => string; withClientHints?: () => import("ua-parser-js").IDevice | PromiseLike<import("ua-parser-js").IDevice>; withFeatureCheck?: () => import("ua-parser-js").IDevice | PromiseLike<import("ua-parser-js").IDevice>; }; engine?: { name?: typeof import("ua-parser-js/enums").EngineName[keyof typeof import("ua-parser-js/enums").EngineName]; version?: string; is?: (val: string) => boolean; toString?: () => string; withClientHints?: () => import("ua-parser-js").IEngine | PromiseLike<import("ua-parser-js").IEngine>; withFeatureCheck?: () => import("ua-parser-js").IEngine | PromiseLike<import("ua-parser-js").IEngine>; }; os?: { name?: string; version?: string; is?: (val: string) => boolean; toString?: () => string; withClientHints?: () => import("ua-parser-js").IOS | PromiseLike<import("ua-parser-js").IOS>; withFeatureCheck?: () => import("ua-parser-js").IOS | PromiseLike<import("ua-parser-js").IOS>; }; } | undefined; recordingStats?: { avgFps?: number | undefined | undefined; avgInterval?: number | undefined | undefined; framesCount?: number; intervalSum?: number | undefined | undefined; sampleRate?: number; samplesCount?: number; videoType?: string; waitingTime?: number | undefined | undefined; wantedFps?: number; wantedInterval?: number; } | undefined; recordLocation?: string | undefined | undefined; parentKey?: string | undefined | undefined; parentSnapshots?: Videomail[] | undefined | undefined; reactions?: { love?: readonly string[]; applause?: readonly string[]; foldedHands?: readonly string[]; grinningSweat?: readonly string[]; anger?: readonly string[]; } | undefined; reactionsPretty?: { love?: { [x: string]: { nickName?: string; maskedEmailAddress?: string; } | undefined; }; applause?: { [x: string]: { nickName?: string; maskedEmailAddress?: string; } | undefined; }; foldedHands?: { [x: string]: { nickName?: string; maskedEmailAddress?: string; } | undefined; }; grinningSweat?: { [x: string]: { nickName?: string; maskedEmailAddress?: string; } | undefined; }; anger?: { [x: string]: { nickName?: string; maskedEmailAddress?: string; } | undefined; }; } | undefined; replyAllUrl?: string; replyUrl?: string; shareUrl?: string; sending?: boolean; sent?: boolean; sentDate?: number; sentDateIso?: string; sentDateServerPretty?: string; serverTimePretty?: string; whitelistKey?: string; siteName?: string | undefined | undefined; url?: string; userKey?: string | undefined; versions?: { videomailNinjaFormPlugin?: string; videomailClient?: string; }; webm?: string; width?: number | undefined | undefined; sentTo?: { [x: string]: { userKey?: string | false; } | undefined; }; sentCc?: { [x: string]: { userKey?: string | false; } | undefined; }; sentBcc?: { [x: string]: { userKey?: string | false; } | undefined; }; rejectedTo?: { [x: string]: { userKey?: string | false; } | undefined; }; rejectedCc?: { [x: string]: { userKey?: string | false; } | undefined; }; rejectedBcc?: { [x: string]: { userKey?: string | false; } | undefined; }; public?: boolean; editUrl?: string; repeatUrl?: string; }; loadVideomail(videomail: Videomail): void; private setDisabled; private hideAll; private isRegisteredFormField; private getRegisteredFormElements; disable(buttonsToo: boolean): void; enable(buttonsToo: boolean): void; build(): void; private removeAllInputListeners; private hideSubmitButton; unload(): void; private resetForm; private startListeningToSubmitEvents; private stopListeningToSubmitEvents; doTheSubmit(e?: any): Promise<boolean>; getInvalidElement(): Element | null; findSubmitButton(): HTMLButtonElement | null; hide(): void; show(): void; } export default Form;