@vouchfor/embeds 0.0.0-experiment.2d4da6c → 0.0.0-experiment.2da2c49
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/es/{browser-8b4ecf1d.js → browser-17f8a53b.js} +2 -2
- package/dist/es/{browser-8b4ecf1d.js.map → browser-17f8a53b.js.map} +1 -1
- package/dist/es/embeds.js +5 -2
- package/dist/es/embeds.js.map +1 -1
- package/dist/es/index-747e8b52.js +10478 -0
- package/dist/es/index-747e8b52.js.map +1 -0
- package/dist/es/src/components/DialogEmbed/DialogOverlay.d.ts +19 -0
- package/dist/es/src/components/DialogEmbed/DialogPortal.d.ts +35 -0
- package/dist/es/src/components/DialogEmbed/index.d.ts +35 -0
- package/dist/es/src/components/PlayerEmbed/controllers/event-forwarder.d.ts +15 -0
- package/dist/es/src/components/{Embed → PlayerEmbed}/controllers/fetcher.d.ts +4 -4
- package/dist/es/src/components/{Embed/controllers/tracking.d.ts → PlayerEmbed/controllers/tracking/index.d.ts} +14 -11
- package/dist/es/src/components/PlayerEmbed/controllers/tracking/utils.d.ts +17 -0
- package/dist/es/src/components/PlayerEmbed/tests/data.d.ts +3 -0
- package/dist/es/src/index.d.ts +2 -1
- package/dist/iife/dialog-embed/browser-2436b04a.js +433 -0
- package/dist/iife/dialog-embed/browser-2436b04a.js.map +1 -0
- package/dist/iife/dialog-embed/embed.iife.js +1721 -0
- package/dist/iife/dialog-embed/embed.iife.js.map +1 -0
- package/dist/iife/dialog-embed/embed.js +5 -0
- package/dist/iife/dialog-embed/embed.js.map +1 -0
- package/dist/iife/dialog-embed/index-c39a015a.js +32937 -0
- package/dist/iife/dialog-embed/index-c39a015a.js.map +1 -0
- package/dist/iife/dialog-embed/src/components/DialogEmbed/DialogOverlay.d.ts +19 -0
- package/dist/iife/dialog-embed/src/components/DialogEmbed/DialogPortal.d.ts +35 -0
- package/dist/iife/dialog-embed/src/components/DialogEmbed/index.d.ts +35 -0
- package/dist/iife/dialog-embed/src/components/PlayerEmbed/controllers/event-forwarder.d.ts +15 -0
- package/dist/iife/dialog-embed/src/components/PlayerEmbed/controllers/fetcher.d.ts +14 -0
- package/dist/iife/dialog-embed/src/components/PlayerEmbed/controllers/tracking/index.d.ts +36 -0
- package/dist/iife/dialog-embed/src/components/PlayerEmbed/controllers/tracking/utils.d.ts +17 -0
- package/dist/iife/dialog-embed/src/components/PlayerEmbed/tests/data.d.ts +3 -0
- package/dist/iife/dialog-embed/src/index.d.ts +2 -0
- package/dist/iife/dialog-embed/src/utils/env.d.ts +12 -0
- package/dist/iife/dialog-embed/src/utils/events.d.ts +2 -0
- package/dist/iife/embeds.iife.js +428 -265
- package/dist/iife/embeds.iife.js.map +1 -1
- package/dist/iife/player-embed/browser-88dbf1ce.js +433 -0
- package/dist/iife/player-embed/browser-88dbf1ce.js.map +1 -0
- package/dist/iife/player-embed/embed.iife.js +1585 -0
- package/dist/iife/player-embed/embed.iife.js.map +1 -0
- package/dist/iife/player-embed/embed.js +5 -0
- package/dist/iife/player-embed/embed.js.map +1 -0
- package/dist/iife/player-embed/index-601226fd.js +32494 -0
- package/dist/iife/player-embed/index-601226fd.js.map +1 -0
- package/dist/iife/player-embed/src/components/DialogEmbed/DialogOverlay.d.ts +19 -0
- package/dist/iife/player-embed/src/components/DialogEmbed/DialogPortal.d.ts +35 -0
- package/dist/iife/player-embed/src/components/DialogEmbed/index.d.ts +35 -0
- package/dist/iife/player-embed/src/components/PlayerEmbed/controllers/event-forwarder.d.ts +15 -0
- package/dist/iife/player-embed/src/components/PlayerEmbed/controllers/fetcher.d.ts +14 -0
- package/dist/iife/player-embed/src/components/PlayerEmbed/controllers/tracking/index.d.ts +36 -0
- package/dist/iife/player-embed/src/components/PlayerEmbed/controllers/tracking/utils.d.ts +17 -0
- package/dist/iife/player-embed/src/components/PlayerEmbed/tests/data.d.ts +3 -0
- package/dist/iife/player-embed/src/index.d.ts +2 -0
- package/dist/iife/player-embed/src/utils/env.d.ts +12 -0
- package/dist/iife/player-embed/src/utils/events.d.ts +2 -0
- package/package.json +13 -5
- package/src/components/DialogEmbed/Dialog.stories.ts +79 -0
- package/src/components/DialogEmbed/DialogOverlay.ts +130 -0
- package/src/components/DialogEmbed/DialogPortal.ts +114 -0
- package/src/components/DialogEmbed/index.ts +93 -0
- package/src/components/{Embed/Embed.stories.ts → PlayerEmbed/PlayerEmbed.stories.ts} +15 -15
- package/src/components/{Embed → PlayerEmbed}/controllers/event-forwarder.ts +6 -5
- package/src/components/{Embed → PlayerEmbed}/controllers/fetcher.ts +11 -11
- package/src/components/{Embed/controllers/tracking.ts → PlayerEmbed/controllers/tracking/index.ts} +47 -118
- package/src/components/PlayerEmbed/controllers/tracking/utils.ts +95 -0
- package/src/components/PlayerEmbed/index.ts +149 -0
- package/src/components/PlayerEmbed/tests/PlayerEmbed.spec.ts +80 -0
- package/src/components/PlayerEmbed/tests/data.ts +183 -0
- package/src/index.ts +2 -1
- package/src/mixins/media-player-proxy.ts +116 -0
- package/dist/es/index-4c628d0f.js +0 -9948
- package/dist/es/index-4c628d0f.js.map +0 -1
- package/dist/es/src/components/Embed/index.d.ts +0 -70
- package/src/components/Embed/index.ts +0 -217
@@ -0,0 +1,19 @@
|
|
1
|
+
import { LitElement } from 'lit';
|
2
|
+
import type { DialogEmbedProps } from '.';
|
3
|
+
declare class DialogOverlay extends LitElement {
|
4
|
+
static styles: import("lit").CSSResult[];
|
5
|
+
open: boolean;
|
6
|
+
aspectRatio: DialogEmbedProps['aspectRatio'];
|
7
|
+
render(): import("lit").TemplateResult<1>;
|
8
|
+
}
|
9
|
+
declare global {
|
10
|
+
interface HTMLElementTagNameMap {
|
11
|
+
'vouch-embed-dialog-overlay': DialogOverlay;
|
12
|
+
}
|
13
|
+
namespace JSX {
|
14
|
+
interface IntrinsicElements {
|
15
|
+
'vouch-embed-dialog-overlay': DialogOverlay;
|
16
|
+
}
|
17
|
+
}
|
18
|
+
}
|
19
|
+
export { DialogOverlay };
|
@@ -0,0 +1,35 @@
|
|
1
|
+
import { LitElement } from 'lit';
|
2
|
+
import type { DialogEmbedProps } from '.';
|
3
|
+
declare class DialogPortal extends LitElement {
|
4
|
+
vouchId: DialogEmbedProps['vouchId'];
|
5
|
+
templateId: DialogEmbedProps['templateId'];
|
6
|
+
questions: DialogEmbedProps['questions'];
|
7
|
+
env: DialogEmbedProps['env'];
|
8
|
+
apiKey: DialogEmbedProps['apiKey'];
|
9
|
+
disableTracking: DialogEmbedProps['disableTracking'];
|
10
|
+
trackingSource: DialogEmbedProps['trackingSource'];
|
11
|
+
controls: DialogEmbedProps['controls'];
|
12
|
+
preload: DialogEmbedProps['preload'];
|
13
|
+
disableAutoplay: DialogEmbedProps['disableAutoplay'];
|
14
|
+
aspectRatio: DialogEmbedProps['aspectRatio'];
|
15
|
+
private _mediaPlayerRef;
|
16
|
+
open: boolean;
|
17
|
+
private _handleToggle;
|
18
|
+
private _handleClose;
|
19
|
+
private _handleDocumentKeyUp;
|
20
|
+
connectedCallback(): void;
|
21
|
+
disconnectedCallback(): void;
|
22
|
+
protected createRenderRoot(): HTMLElement | DocumentFragment;
|
23
|
+
render(): import("lit").TemplateResult<1>;
|
24
|
+
}
|
25
|
+
declare global {
|
26
|
+
interface HTMLElementTagNameMap {
|
27
|
+
'vouch-embed-dialog-portal': DialogPortal;
|
28
|
+
}
|
29
|
+
namespace JSX {
|
30
|
+
interface IntrinsicElements {
|
31
|
+
'vouch-embed-dialog-portal': DialogPortal;
|
32
|
+
}
|
33
|
+
}
|
34
|
+
}
|
35
|
+
export { DialogPortal };
|
@@ -0,0 +1,35 @@
|
|
1
|
+
import { LitElement } from 'lit';
|
2
|
+
import type { PlayerEmbedProps } from '../PlayerEmbed';
|
3
|
+
type DialogEmbedProps = Omit<PlayerEmbedProps, 'data'> & {
|
4
|
+
disableAutoplay?: boolean;
|
5
|
+
};
|
6
|
+
declare class DialogEmbed extends LitElement {
|
7
|
+
static styles: import("lit").CSSResult[];
|
8
|
+
vouchId: DialogEmbedProps['vouchId'];
|
9
|
+
templateId: DialogEmbedProps['templateId'];
|
10
|
+
questions: DialogEmbedProps['questions'];
|
11
|
+
env: DialogEmbedProps['env'];
|
12
|
+
apiKey: DialogEmbedProps['apiKey'];
|
13
|
+
disableTracking: DialogEmbedProps['disableTracking'];
|
14
|
+
trackingSource: DialogEmbedProps['trackingSource'];
|
15
|
+
controls: DialogEmbedProps['controls'];
|
16
|
+
preload: DialogEmbedProps['preload'];
|
17
|
+
disableAutoplay: DialogEmbedProps['disableAutoplay'];
|
18
|
+
aspectRatio: DialogEmbedProps['aspectRatio'];
|
19
|
+
private _handleRootClick;
|
20
|
+
connectedCallback(): void;
|
21
|
+
disconnectedCallback(): void;
|
22
|
+
render(): import("lit").TemplateResult<1>;
|
23
|
+
}
|
24
|
+
declare global {
|
25
|
+
interface HTMLElementTagNameMap {
|
26
|
+
'vouch-embed-dialog': DialogEmbed;
|
27
|
+
}
|
28
|
+
namespace JSX {
|
29
|
+
interface IntrinsicElements {
|
30
|
+
'vouch-embed-dialog': DialogEmbed;
|
31
|
+
}
|
32
|
+
}
|
33
|
+
}
|
34
|
+
export { DialogEmbed };
|
35
|
+
export type { DialogEmbedProps };
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import type { PlayerEmbed } from '..';
|
2
|
+
import type { ReactiveController, ReactiveControllerHost } from 'lit';
|
3
|
+
import type { DirectiveResult } from 'lit/directive.js';
|
4
|
+
type PlayerEmbedHost = ReactiveControllerHost & PlayerEmbed;
|
5
|
+
declare class EventForwardController implements ReactiveController {
|
6
|
+
host: PlayerEmbedHost;
|
7
|
+
private _events;
|
8
|
+
private _cleanup;
|
9
|
+
private _forwardElementRef;
|
10
|
+
constructor(host: PlayerEmbedHost, events: string[]);
|
11
|
+
register(): DirectiveResult;
|
12
|
+
hostConnected(): void;
|
13
|
+
hostDisconnected(): void;
|
14
|
+
}
|
15
|
+
export { EventForwardController };
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import type { PlayerEmbed } from '..';
|
2
|
+
import type { ReactiveControllerHost } from 'lit';
|
3
|
+
type PlayerEmbedHost = ReactiveControllerHost & PlayerEmbed;
|
4
|
+
declare class FetcherController {
|
5
|
+
host: PlayerEmbedHost;
|
6
|
+
private _fetching;
|
7
|
+
private _vouch;
|
8
|
+
set fetching(value: boolean);
|
9
|
+
get fetching(): boolean;
|
10
|
+
private getVouch;
|
11
|
+
private getTemplate;
|
12
|
+
constructor(host: PlayerEmbedHost);
|
13
|
+
}
|
14
|
+
export { FetcherController };
|
@@ -0,0 +1,36 @@
|
|
1
|
+
import type { PlayerEmbed } from '../..';
|
2
|
+
import type { ReactiveController, ReactiveControllerHost } from 'lit';
|
3
|
+
type PlayerEmbedHost = ReactiveControllerHost & PlayerEmbed;
|
4
|
+
type TrackingEvent = 'VOUCH_LOADED' | 'VOUCH_RESPONSE_VIEWED' | 'VIDEO_PLAYED' | 'VIDEO_STREAMED';
|
5
|
+
type TrackingPayload = {
|
6
|
+
vouchId?: string;
|
7
|
+
answerId?: string;
|
8
|
+
streamStart?: number;
|
9
|
+
streamEnd?: number;
|
10
|
+
};
|
11
|
+
declare class TrackingController implements ReactiveController {
|
12
|
+
host: PlayerEmbedHost;
|
13
|
+
private _batchedEvents;
|
14
|
+
private _hasPlayed;
|
15
|
+
private _hasLoaded;
|
16
|
+
private _answersViewed;
|
17
|
+
private _streamStartTime;
|
18
|
+
private _streamLatestTime;
|
19
|
+
private _currentlyPlayingVideo;
|
20
|
+
constructor(host: PlayerEmbedHost);
|
21
|
+
private _createTrackingEvent;
|
22
|
+
private _sendTrackingEvent;
|
23
|
+
private _streamEnded;
|
24
|
+
private _handleVouchLoaded;
|
25
|
+
private _handlePlay;
|
26
|
+
private _handleVideoPlay;
|
27
|
+
private _handleVideoTimeUpdate;
|
28
|
+
private _handleVideoPause;
|
29
|
+
private _pageUnloading;
|
30
|
+
private _handleVisibilityChange;
|
31
|
+
private _handlePageHide;
|
32
|
+
hostConnected(): void;
|
33
|
+
hostDisconnected(): void;
|
34
|
+
}
|
35
|
+
export { TrackingController };
|
36
|
+
export type { TrackingEvent, TrackingPayload };
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import type { TrackingPayload } from '.';
|
2
|
+
import type { Vouch } from '@vouchfor/media-player';
|
3
|
+
import type { Environment } from '../../../../utils/env';
|
4
|
+
declare function getUids(env: Environment): {
|
5
|
+
client: null;
|
6
|
+
tab: null;
|
7
|
+
request: string;
|
8
|
+
visitor?: undefined;
|
9
|
+
} | {
|
10
|
+
client: string;
|
11
|
+
tab: string;
|
12
|
+
request: string;
|
13
|
+
visitor: string;
|
14
|
+
};
|
15
|
+
declare function findVouchId(payload?: TrackingPayload, vouch?: Vouch): string | null | undefined;
|
16
|
+
declare function getReportingMetadata(source?: string): any;
|
17
|
+
export { getUids, findVouchId, getReportingMetadata };
|
@@ -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 };
|