@vouchfor/embeds 0.0.0-experiment.254513d → 0.0.0-experiment.25d0b5c

Sign up to get free protection for your applications and to get access to all the features.
Files changed (81) hide show
  1. package/dist/es/browser-1597e474.js +433 -0
  2. package/dist/es/browser-1597e474.js.map +1 -0
  3. package/dist/es/embeds.js +10 -1229
  4. package/dist/es/embeds.js.map +1 -1
  5. package/dist/es/index-4eaa1a0f.js +10478 -0
  6. package/dist/es/index-4eaa1a0f.js.map +1 -0
  7. package/dist/es/src/components/DialogEmbed/DialogOverlay.d.ts +19 -0
  8. package/dist/es/src/components/DialogEmbed/DialogPortal.d.ts +35 -0
  9. package/dist/es/src/components/DialogEmbed/index.d.ts +35 -0
  10. package/dist/es/{components/Embed → src/components/PlayerEmbed}/controllers/event-forwarder.d.ts +6 -5
  11. package/dist/es/src/components/PlayerEmbed/controllers/fetcher.d.ts +14 -0
  12. package/dist/es/src/components/PlayerEmbed/controllers/tracking/index.d.ts +36 -0
  13. package/dist/es/src/components/PlayerEmbed/controllers/tracking/utils.d.ts +17 -0
  14. package/dist/es/src/components/PlayerEmbed/tests/data.d.ts +3 -0
  15. package/dist/es/src/index.d.ts +2 -0
  16. package/dist/es/src/utils/env.d.ts +12 -0
  17. package/dist/iife/dialog-embed/browser-e532bdb2.js +433 -0
  18. package/dist/iife/dialog-embed/browser-e532bdb2.js.map +1 -0
  19. package/dist/iife/dialog-embed/embed.iife.js +1721 -0
  20. package/dist/iife/dialog-embed/embed.iife.js.map +1 -0
  21. package/dist/iife/dialog-embed/embed.js +5 -0
  22. package/dist/iife/dialog-embed/embed.js.map +1 -0
  23. package/dist/iife/dialog-embed/index-66dabc80.js +32929 -0
  24. package/dist/iife/dialog-embed/index-66dabc80.js.map +1 -0
  25. package/dist/iife/dialog-embed/src/components/DialogEmbed/DialogOverlay.d.ts +19 -0
  26. package/dist/iife/dialog-embed/src/components/DialogEmbed/DialogPortal.d.ts +35 -0
  27. package/dist/iife/dialog-embed/src/components/DialogEmbed/index.d.ts +35 -0
  28. package/dist/iife/dialog-embed/src/components/PlayerEmbed/controllers/event-forwarder.d.ts +15 -0
  29. package/dist/iife/dialog-embed/src/components/PlayerEmbed/controllers/fetcher.d.ts +14 -0
  30. package/dist/iife/dialog-embed/src/components/PlayerEmbed/controllers/tracking/index.d.ts +36 -0
  31. package/dist/iife/dialog-embed/src/components/PlayerEmbed/controllers/tracking/utils.d.ts +17 -0
  32. package/dist/iife/dialog-embed/src/components/PlayerEmbed/tests/data.d.ts +3 -0
  33. package/dist/iife/dialog-embed/src/index.d.ts +2 -0
  34. package/dist/iife/dialog-embed/src/utils/env.d.ts +12 -0
  35. package/dist/iife/dialog-embed/src/utils/events.d.ts +2 -0
  36. package/dist/iife/embeds.iife.js +584 -350
  37. package/dist/iife/embeds.iife.js.map +1 -1
  38. package/dist/iife/player-embed/browser-2462cc69.js +433 -0
  39. package/dist/iife/player-embed/browser-2462cc69.js.map +1 -0
  40. package/dist/iife/player-embed/embed.iife.js +1585 -0
  41. package/dist/iife/player-embed/embed.iife.js.map +1 -0
  42. package/dist/iife/player-embed/embed.js +5 -0
  43. package/dist/iife/player-embed/embed.js.map +1 -0
  44. package/dist/iife/player-embed/index-5a09e0ae.js +32486 -0
  45. package/dist/iife/player-embed/index-5a09e0ae.js.map +1 -0
  46. package/dist/iife/player-embed/src/components/DialogEmbed/DialogOverlay.d.ts +19 -0
  47. package/dist/iife/player-embed/src/components/DialogEmbed/DialogPortal.d.ts +35 -0
  48. package/dist/iife/player-embed/src/components/DialogEmbed/index.d.ts +35 -0
  49. package/dist/iife/player-embed/src/components/PlayerEmbed/controllers/event-forwarder.d.ts +15 -0
  50. package/dist/iife/player-embed/src/components/PlayerEmbed/controllers/fetcher.d.ts +14 -0
  51. package/dist/iife/player-embed/src/components/PlayerEmbed/controllers/tracking/index.d.ts +36 -0
  52. package/dist/iife/player-embed/src/components/PlayerEmbed/controllers/tracking/utils.d.ts +17 -0
  53. package/dist/iife/player-embed/src/components/PlayerEmbed/tests/data.d.ts +3 -0
  54. package/dist/iife/player-embed/src/index.d.ts +2 -0
  55. package/dist/iife/player-embed/src/utils/env.d.ts +12 -0
  56. package/dist/iife/player-embed/src/utils/events.d.ts +2 -0
  57. package/package.json +17 -9
  58. package/src/components/DialogEmbed/Dialog.stories.ts +79 -0
  59. package/src/components/DialogEmbed/DialogOverlay.ts +130 -0
  60. package/src/components/DialogEmbed/DialogPortal.ts +114 -0
  61. package/src/components/DialogEmbed/index.ts +93 -0
  62. package/src/components/{Embed/Embed.stories.ts → PlayerEmbed/PlayerEmbed.stories.ts} +28 -15
  63. package/src/components/{Embed → PlayerEmbed}/controllers/event-forwarder.ts +6 -5
  64. package/src/components/PlayerEmbed/controllers/fetcher.ts +152 -0
  65. package/src/components/PlayerEmbed/controllers/tracking/index.ts +224 -0
  66. package/src/components/PlayerEmbed/controllers/tracking/utils.ts +95 -0
  67. package/src/components/PlayerEmbed/index.ts +149 -0
  68. package/src/components/PlayerEmbed/tests/PlayerEmbed.spec.ts +80 -0
  69. package/src/components/PlayerEmbed/tests/data.ts +183 -0
  70. package/src/index.ts +2 -1
  71. package/src/mixins/media-player-proxy.ts +116 -0
  72. package/src/utils/env.ts +18 -32
  73. package/dist/es/components/Embed/controllers/fetcher.d.ts +0 -20
  74. package/dist/es/components/Embed/controllers/tracking.d.ts +0 -28
  75. package/dist/es/components/Embed/index.d.ts +0 -62
  76. package/dist/es/index.d.ts +0 -1
  77. package/dist/es/utils/env.d.ts +0 -18
  78. package/src/components/Embed/controllers/fetcher.ts +0 -115
  79. package/src/components/Embed/controllers/tracking.ts +0 -261
  80. package/src/components/Embed/index.ts +0 -202
  81. /package/dist/es/{utils → src/utils}/events.d.ts +0 -0
@@ -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,3 @@
1
+ import type { Vouch } from '@vouchfor/media-player';
2
+ declare const data: Vouch;
3
+ export { data };
@@ -0,0 +1,2 @@
1
+ export { PlayerEmbed } from './components/PlayerEmbed';
2
+ export { DialogEmbed } from './components/DialogEmbed';
@@ -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 };
@@ -0,0 +1,2 @@
1
+ declare function forwardEvent(type: string, fromElement: HTMLElement, toElement: HTMLElement): () => void;
2
+ export { forwardEvent };