@vouchfor/embeds 0.0.0-experiment.1b80037 → 0.0.0-experiment.1f98c5e

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,14 @@
1
+ import type { Embed } from '..';
2
+ import type { ReactiveControllerHost } from 'lit';
3
+ type EmbedHost = ReactiveControllerHost & Embed;
4
+ declare class FetcherController {
5
+ host: EmbedHost;
6
+ private _fetching;
7
+ private _vouch;
8
+ set fetching(value: boolean);
9
+ get fetching(): boolean;
10
+ private getVouch;
11
+ private getTemplate;
12
+ constructor(host: EmbedHost);
13
+ }
14
+ export { FetcherController };
@@ -9,19 +9,24 @@ declare class TrackingController implements ReactiveController {
9
9
  private _hasPlayed;
10
10
  private _hasLoaded;
11
11
  private _answersViewed;
12
- private _streamedTime;
13
- private _streamedPrevTimestamp;
12
+ private _streamStartTime;
13
+ private _streamLatestTime;
14
+ private _currentlyPlayingVideo;
14
15
  constructor(host: EmbedHost);
15
16
  private _findVouchId;
16
17
  private _createVisitor;
17
18
  private _getUids;
18
19
  private _getReportingMetadata;
19
20
  private _sendTrackingEvent;
21
+ private _streamEnded;
20
22
  private _handleVouchLoaded;
21
23
  private _handlePlay;
22
24
  private _handleVideoPlay;
23
25
  private _handleVideoTimeUpdate;
24
26
  private _handleVideoPause;
27
+ private _pageUnloading;
28
+ private _handleVisibilityChange;
29
+ private _handlePageHide;
25
30
  hostConnected(): void;
26
31
  hostDisconnected(): void;
27
32
  }
@@ -1,30 +1,36 @@
1
1
  import { LitElement } from 'lit';
2
- import type { Scene, TemplateInstance } from '@vouchfor/canvas-video';
2
+ import type { Scene, Scenes, TemplateInstance } from '@vouchfor/canvas-video';
3
3
  import type { MediaPlayer, MediaPlayerProps } from '@vouchfor/media-player';
4
4
  import type { Environment } from '../../utils/env';
5
- type EmbedProps = Pick<MediaPlayerProps, 'data' | 'resolution' | 'aspectRatio' | 'preload' | 'autoplay' | 'controls'> & {
5
+ type EmbedProps = Pick<MediaPlayerProps, 'data' | 'aspectRatio' | 'preload' | 'autoplay' | 'controls'> & {
6
6
  env: Environment;
7
7
  apiKey: string;
8
+ disableTracking?: boolean;
9
+ trackingSource?: string;
8
10
  vouchId?: string;
9
11
  templateId?: string;
12
+ questions?: number[];
10
13
  };
11
14
  declare class Embed extends LitElement {
15
+ static styles: import("lit").CSSResult[];
12
16
  private _mediaPlayerRef;
13
17
  data: EmbedProps['data'];
14
18
  vouchId: EmbedProps['vouchId'];
15
19
  templateId: EmbedProps['templateId'];
20
+ questions: EmbedProps['questions'];
16
21
  env: EmbedProps['env'];
17
22
  apiKey: EmbedProps['apiKey'];
23
+ disableTracking: EmbedProps['disableTracking'];
24
+ trackingSource: EmbedProps['trackingSource'];
25
+ controls: EmbedProps['controls'];
18
26
  preload: EmbedProps['preload'];
19
27
  autoplay: EmbedProps['autoplay'];
20
- resolution: EmbedProps['resolution'];
21
28
  aspectRatio: EmbedProps['aspectRatio'];
22
- controls: EmbedProps['controls'];
23
29
  private eventController;
24
30
  private _fetcherController;
25
31
  private _trackingController;
26
- get vouch(): import("@vouchfor/media-player/dist/src/components/MediaPlayer/types").Vouch | null | undefined;
27
- get template(): TemplateInstance | null;
32
+ vouch: EmbedProps['data'];
33
+ template: TemplateInstance | undefined;
28
34
  get fetching(): boolean;
29
35
  get waiting(): boolean | undefined;
30
36
  get seeking(): boolean | undefined;
@@ -42,12 +48,13 @@ declare class Embed extends LitElement {
42
48
  get muted(): boolean;
43
49
  get scene(): Scene | null;
44
50
  get scenes(): Scene[];
51
+ get sceneConfig(): Scenes | null;
45
52
  get videoState(): import("@vouchfor/media-player/dist/src/components/MediaPlayer/controllers/scenes").VideoStateMap | undefined;
46
53
  get mediaPlayer(): MediaPlayer | undefined;
47
54
  play(): void;
48
55
  pause(): void;
49
56
  setScene(index: number): void;
50
- render(): import("lit-html").TemplateResult<1>;
57
+ render(): import("lit").TemplateResult<1>;
51
58
  }
52
59
  declare global {
53
60
  interface HTMLElementTagNameMap {
@@ -0,0 +1,12 @@
1
+ type Environment = 'local' | 'dev' | 'staging' | 'prod';
2
+ type GetEnvUrlsReturn = {
3
+ videoUrl: string;
4
+ publicApiUrl: string;
5
+ embedApiUrl: string;
6
+ };
7
+ declare const devEmbedApiUrl = "https://embed-dev.vouchfor.com/v2";
8
+ declare const stagingEmbedApiUrl = "https://embed-staging.vouchfor.com/v2";
9
+ declare const prodEmbedApiUrl = "https://embed.vouchfor.com/v2";
10
+ declare function getEnvUrls(env: Environment): GetEnvUrlsReturn;
11
+ export { devEmbedApiUrl, stagingEmbedApiUrl, prodEmbedApiUrl, getEnvUrls };
12
+ export type { Environment };