@vouchfor/embeds 0.0.0-experiment.93ea548 → 0.0.0-experiment.a2cd27b

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,9 +9,9 @@ declare class TrackingController implements ReactiveController {
9
9
  private _hasPlayed;
10
10
  private _hasLoaded;
11
11
  private _answersViewed;
12
- private _streamedTime;
12
+ private _streamStartTime;
13
13
  private _streamLatestTime;
14
- private _streamedPrevTimestamp;
14
+ private _currentlyPlayingVideo;
15
15
  constructor(host: EmbedHost);
16
16
  private _findVouchId;
17
17
  private _createVisitor;
@@ -21,7 +21,6 @@ declare class TrackingController implements ReactiveController {
21
21
  private _handleVouchLoaded;
22
22
  private _handlePlay;
23
23
  private _handleVideoPlay;
24
- private _handleVideoSeeking;
25
24
  private _handleVideoTimeUpdate;
26
25
  private _handleVideoPause;
27
26
  hostConnected(): void;
package/dist/es/embeds.js CHANGED
@@ -48,7 +48,7 @@ const ce = (r) => new le(typeof r == "string" ? r : r + "", void 0, Wt), de = (r
48
48
  * Copyright 2017 Google LLC
49
49
  * SPDX-License-Identifier: BSD-3-Clause
50
50
  */
51
- const { is: pe, defineProperty: ue, getOwnPropertyDescriptor: _e, getOwnPropertyNames: $e, getOwnPropertySymbols: me, getPrototypeOf: fe } = Object, E = globalThis, yt = E.trustedTypes, ge = yt ? yt.emptyScript : "", rt = E.reactiveElementPolyfillSupport, k = (r, t) => r, dt = { toAttribute(r, t) {
51
+ const { is: pe, defineProperty: ue, getOwnPropertyDescriptor: _e, getOwnPropertyNames: $e, getOwnPropertySymbols: me, getPrototypeOf: fe } = Object, E = globalThis, yt = E.trustedTypes, ge = yt ? yt.emptyScript : "", rt = E.reactiveElementPolyfillSupport, I = (r, t) => r, dt = { toAttribute(r, t) {
52
52
  switch (t) {
53
53
  case Boolean:
54
54
  r = r ? ge : null;
@@ -78,7 +78,7 @@ const { is: pe, defineProperty: ue, getOwnPropertyDescriptor: _e, getOwnProperty
78
78
  return e;
79
79
  } }, qt = (r, t) => !pe(r, t), At = { attribute: !0, type: String, converter: dt, reflect: !1, hasChanged: qt };
80
80
  Symbol.metadata ?? (Symbol.metadata = Symbol("metadata")), E.litPropertyMetadata ?? (E.litPropertyMetadata = /* @__PURE__ */ new WeakMap());
81
- let M = class extends HTMLElement {
81
+ let L = class extends HTMLElement {
82
82
  static addInitializer(t) {
83
83
  this._$Ei(), (this.l ?? (this.l = [])).push(t);
84
84
  }
@@ -108,15 +108,15 @@ let M = class extends HTMLElement {
108
108
  return this.elementProperties.get(t) ?? At;
109
109
  }
110
110
  static _$Ei() {
111
- if (this.hasOwnProperty(k("elementProperties")))
111
+ if (this.hasOwnProperty(I("elementProperties")))
112
112
  return;
113
113
  const t = fe(this);
114
114
  t.finalize(), t.l !== void 0 && (this.l = [...t.l]), this.elementProperties = new Map(t.elementProperties);
115
115
  }
116
116
  static finalize() {
117
- if (this.hasOwnProperty(k("finalized")))
117
+ if (this.hasOwnProperty(I("finalized")))
118
118
  return;
119
- if (this.finalized = !0, this._$Ei(), this.hasOwnProperty(k("properties"))) {
119
+ if (this.finalized = !0, this._$Ei(), this.hasOwnProperty(I("properties"))) {
120
120
  const e = this.properties, i = [...$e(e), ...me(e)];
121
121
  for (const s of i)
122
122
  this.createProperty(s, e[s]);
@@ -289,14 +289,14 @@ let M = class extends HTMLElement {
289
289
  firstUpdated(t) {
290
290
  }
291
291
  };
292
- M.elementStyles = [], M.shadowRootOptions = { mode: "open" }, M[k("elementProperties")] = /* @__PURE__ */ new Map(), M[k("finalized")] = /* @__PURE__ */ new Map(), rt == null || rt({ ReactiveElement: M }), (E.reactiveElementVersions ?? (E.reactiveElementVersions = [])).push("2.0.2");
292
+ L.elementStyles = [], L.shadowRootOptions = { mode: "open" }, L[I("elementProperties")] = /* @__PURE__ */ new Map(), L[I("finalized")] = /* @__PURE__ */ new Map(), rt == null || rt({ ReactiveElement: L }), (E.reactiveElementVersions ?? (E.reactiveElementVersions = [])).push("2.0.2");
293
293
  /**
294
294
  * @license
295
295
  * Copyright 2017 Google LLC
296
296
  * SPDX-License-Identifier: BSD-3-Clause
297
297
  */
298
298
  const V = globalThis, Y = V.trustedTypes, Et = Y ? Y.createPolicy("lit-html", { createHTML: (r) => r }) : void 0, Xt = "$lit$", y = `lit$${(Math.random() + "").slice(9)}$`, Kt = "?" + y, ve = `<${Kt}>`, U = document, Q = () => U.createComment(""), B = (r) => r === null || typeof r != "object" && typeof r != "function", Jt = Array.isArray, ye = (r) => Jt(r) || typeof (r == null ? void 0 : r[Symbol.iterator]) == "function", nt = `[
299
- \f\r]`, L = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, St = /-->/g, bt = />/g, b = RegExp(`>|${nt}(?:([^\\s"'>=/]+)(${nt}*=${nt}*(?:[^
299
+ \f\r]`, M = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, St = /-->/g, bt = />/g, b = RegExp(`>|${nt}(?:([^\\s"'>=/]+)(${nt}*=${nt}*(?:[^
300
300
  \f\r"'\`<>=]|("|')|))|$)`, "g"), wt = /'/g, Pt = /"/g, Ft = /^(?:script|style|textarea|title)$/i, W = Symbol.for("lit-noChange"), _ = Symbol.for("lit-nothing"), Ct = /* @__PURE__ */ new WeakMap(), C = U.createTreeWalker(U, 129);
301
301
  function Gt(r, t) {
302
302
  if (!Array.isArray(r) || !r.hasOwnProperty("raw"))
@@ -305,14 +305,14 @@ function Gt(r, t) {
305
305
  }
306
306
  const Ae = (r, t) => {
307
307
  const e = r.length - 1, i = [];
308
- let s, n = t === 2 ? "<svg>" : "", o = L;
308
+ let s, n = t === 2 ? "<svg>" : "", o = M;
309
309
  for (let a = 0; a < e; a++) {
310
310
  const h = r[a];
311
311
  let c, d, l = -1, p = 0;
312
312
  for (; p < h.length && (o.lastIndex = p, d = o.exec(h), d !== null); )
313
- p = o.lastIndex, o === L ? d[1] === "!--" ? o = St : d[1] !== void 0 ? o = bt : d[2] !== void 0 ? (Ft.test(d[2]) && (s = RegExp("</" + d[2], "g")), o = b) : d[3] !== void 0 && (o = b) : o === b ? d[0] === ">" ? (o = s ?? L, l = -1) : d[1] === void 0 ? l = -2 : (l = o.lastIndex - d[2].length, c = d[1], o = d[3] === void 0 ? b : d[3] === '"' ? Pt : wt) : o === Pt || o === wt ? o = b : o === St || o === bt ? o = L : (o = b, s = void 0);
313
+ p = o.lastIndex, o === M ? d[1] === "!--" ? o = St : d[1] !== void 0 ? o = bt : d[2] !== void 0 ? (Ft.test(d[2]) && (s = RegExp("</" + d[2], "g")), o = b) : d[3] !== void 0 && (o = b) : o === b ? d[0] === ">" ? (o = s ?? M, l = -1) : d[1] === void 0 ? l = -2 : (l = o.lastIndex - d[2].length, c = d[1], o = d[3] === void 0 ? b : d[3] === '"' ? Pt : wt) : o === Pt || o === wt ? o = b : o === St || o === bt ? o = M : (o = b, s = void 0);
314
314
  const u = o === b && r[a + 1].startsWith("/>") ? " " : "";
315
- n += o === L ? h + ve : l >= 0 ? (i.push(c), h.slice(0, l) + Xt + h.slice(l) + y + u) : h + y + (l === -2 ? a : u);
315
+ n += o === M ? h + ve : l >= 0 ? (i.push(c), h.slice(0, l) + Xt + h.slice(l) + y + u) : h + y + (l === -2 ? a : u);
316
316
  }
317
317
  return [Gt(r, n + (r[e] || "<?>") + (t === 2 ? "</svg>" : "")), i];
318
318
  };
@@ -571,10 +571,10 @@ const Te = (r) => new Ce(typeof r == "string" ? r : r + "", void 0, te), Ue = (r
571
571
  * Copyright 2017 Google LLC
572
572
  * SPDX-License-Identifier: BSD-3-Clause
573
573
  */
574
- const { is: Re, defineProperty: xe, getOwnPropertyDescriptor: He, getOwnPropertyNames: Oe, getOwnPropertySymbols: Ne, getPrototypeOf: Me } = Object, S = globalThis, Rt = S.trustedTypes, Le = Rt ? Rt.emptyScript : "", ht = S.reactiveElementPolyfillSupport, D = (r, t) => r, ut = { toAttribute(r, t) {
574
+ const { is: Re, defineProperty: xe, getOwnPropertyDescriptor: He, getOwnPropertyNames: Oe, getOwnPropertySymbols: Ne, getPrototypeOf: Le } = Object, S = globalThis, Rt = S.trustedTypes, Me = Rt ? Rt.emptyScript : "", ht = S.reactiveElementPolyfillSupport, D = (r, t) => r, ut = { toAttribute(r, t) {
575
575
  switch (t) {
576
576
  case Boolean:
577
- r = r ? Le : null;
577
+ r = r ? Me : null;
578
578
  break;
579
579
  case Object:
580
580
  case Array:
@@ -633,7 +633,7 @@ class x extends HTMLElement {
633
633
  static _$Ei() {
634
634
  if (this.hasOwnProperty(D("elementProperties")))
635
635
  return;
636
- const t = Me(this);
636
+ const t = Le(this);
637
637
  t.finalize(), t.l !== void 0 && (this.l = [...t.l]), this.elementProperties = new Map(t.elementProperties);
638
638
  }
639
639
  static finalize() {
@@ -818,9 +818,9 @@ x.elementStyles = [], x.shadowRootOptions = { mode: "open" }, x[D("elementProper
818
818
  * Copyright 2017 Google LLC
819
819
  * SPDX-License-Identifier: BSD-3-Clause
820
820
  */
821
- const z = globalThis, tt = z.trustedTypes, Ht = tt ? tt.createPolicy("lit-html", { createHTML: (r) => r }) : void 0, ie = "$lit$", A = `lit$${(Math.random() + "").slice(9)}$`, se = "?" + A, Ie = `<${se}>`, R = document, q = () => R.createComment(""), X = (r) => r === null || typeof r != "object" && typeof r != "function", re = Array.isArray, ke = (r) => re(r) || typeof (r == null ? void 0 : r[Symbol.iterator]) == "function", at = `[
822
- \f\r]`, I = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, Ot = /-->/g, Nt = />/g, w = RegExp(`>|${at}(?:([^\\s"'>=/]+)(${at}*=${at}*(?:[^
823
- \f\r"'\`<>=]|("|')|))|$)`, "g"), Mt = /'/g, Lt = /"/g, ne = /^(?:script|style|textarea|title)$/i, Ve = (r) => (t, ...e) => ({ _$litType$: r, strings: t, values: e }), De = Ve(1), O = Symbol.for("lit-noChange"), $ = Symbol.for("lit-nothing"), It = /* @__PURE__ */ new WeakMap(), T = R.createTreeWalker(R, 129);
821
+ const z = globalThis, tt = z.trustedTypes, Ht = tt ? tt.createPolicy("lit-html", { createHTML: (r) => r }) : void 0, ie = "$lit$", A = `lit$${(Math.random() + "").slice(9)}$`, se = "?" + A, ke = `<${se}>`, R = document, q = () => R.createComment(""), X = (r) => r === null || typeof r != "object" && typeof r != "function", re = Array.isArray, Ie = (r) => re(r) || typeof (r == null ? void 0 : r[Symbol.iterator]) == "function", at = `[
822
+ \f\r]`, k = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, Ot = /-->/g, Nt = />/g, w = RegExp(`>|${at}(?:([^\\s"'>=/]+)(${at}*=${at}*(?:[^
823
+ \f\r"'\`<>=]|("|')|))|$)`, "g"), Lt = /'/g, Mt = /"/g, ne = /^(?:script|style|textarea|title)$/i, Ve = (r) => (t, ...e) => ({ _$litType$: r, strings: t, values: e }), De = Ve(1), O = Symbol.for("lit-noChange"), $ = Symbol.for("lit-nothing"), kt = /* @__PURE__ */ new WeakMap(), T = R.createTreeWalker(R, 129);
824
824
  function oe(r, t) {
825
825
  if (!Array.isArray(r) || !r.hasOwnProperty("raw"))
826
826
  throw Error("invalid template strings array");
@@ -828,14 +828,14 @@ function oe(r, t) {
828
828
  }
829
829
  const ze = (r, t) => {
830
830
  const e = r.length - 1, i = [];
831
- let s, n = t === 2 ? "<svg>" : "", o = I;
831
+ let s, n = t === 2 ? "<svg>" : "", o = k;
832
832
  for (let a = 0; a < e; a++) {
833
833
  const h = r[a];
834
834
  let c, d, l = -1, p = 0;
835
835
  for (; p < h.length && (o.lastIndex = p, d = o.exec(h), d !== null); )
836
- p = o.lastIndex, o === I ? d[1] === "!--" ? o = Ot : d[1] !== void 0 ? o = Nt : d[2] !== void 0 ? (ne.test(d[2]) && (s = RegExp("</" + d[2], "g")), o = w) : d[3] !== void 0 && (o = w) : o === w ? d[0] === ">" ? (o = s ?? I, l = -1) : d[1] === void 0 ? l = -2 : (l = o.lastIndex - d[2].length, c = d[1], o = d[3] === void 0 ? w : d[3] === '"' ? Lt : Mt) : o === Lt || o === Mt ? o = w : o === Ot || o === Nt ? o = I : (o = w, s = void 0);
836
+ p = o.lastIndex, o === k ? d[1] === "!--" ? o = Ot : d[1] !== void 0 ? o = Nt : d[2] !== void 0 ? (ne.test(d[2]) && (s = RegExp("</" + d[2], "g")), o = w) : d[3] !== void 0 && (o = w) : o === w ? d[0] === ">" ? (o = s ?? k, l = -1) : d[1] === void 0 ? l = -2 : (l = o.lastIndex - d[2].length, c = d[1], o = d[3] === void 0 ? w : d[3] === '"' ? Mt : Lt) : o === Mt || o === Lt ? o = w : o === Ot || o === Nt ? o = k : (o = w, s = void 0);
837
837
  const u = o === w && r[a + 1].startsWith("/>") ? " " : "";
838
- n += o === I ? h + Ie : l >= 0 ? (i.push(c), h.slice(0, l) + ie + h.slice(l) + A + u) : h + A + (l === -2 ? a : u);
838
+ n += o === k ? h + ke : l >= 0 ? (i.push(c), h.slice(0, l) + ie + h.slice(l) + A + u) : h + A + (l === -2 ? a : u);
839
839
  }
840
840
  return [oe(r, n + (r[e] || "<?>") + (t === 2 ? "</svg>" : "")), i];
841
841
  };
@@ -940,7 +940,7 @@ class J {
940
940
  return this._$AB;
941
941
  }
942
942
  _$AI(t, e = this) {
943
- t = N(this, t, e), X(t) ? t === $ || t == null || t === "" ? (this._$AH !== $ && this._$AR(), this._$AH = $) : t !== this._$AH && t !== O && this._(t) : t._$litType$ !== void 0 ? this.g(t) : t.nodeType !== void 0 ? this.$(t) : ke(t) ? this.T(t) : this._(t);
943
+ t = N(this, t, e), X(t) ? t === $ || t == null || t === "" ? (this._$AH !== $ && this._$AR(), this._$AH = $) : t !== this._$AH && t !== O && this._(t) : t._$litType$ !== void 0 ? this.g(t) : t.nodeType !== void 0 ? this.$(t) : Ie(t) ? this.T(t) : this._(t);
944
944
  }
945
945
  k(t) {
946
946
  return this._$AA.parentNode.insertBefore(t, this._$AB);
@@ -962,8 +962,8 @@ class J {
962
962
  }
963
963
  }
964
964
  _$AC(t) {
965
- let e = It.get(t.strings);
966
- return e === void 0 && It.set(t.strings, e = new K(t)), e;
965
+ let e = kt.get(t.strings);
966
+ return e === void 0 && kt.set(t.strings, e = new K(t)), e;
967
967
  }
968
968
  T(t) {
969
969
  re(this._$AH) || (this._$AH = [], this._$AR());
@@ -1128,19 +1128,19 @@ class Fe {
1128
1128
  }), this._cleanup = [];
1129
1129
  }
1130
1130
  }
1131
- const kt = "https://d2rxhdlm2q91uk.cloudfront.net", Ge = "https://d1ix11aj5kfygl.cloudfront.net", Ze = "https://d157jlwnudd93d.cloudfront.net", Vt = "https://bshyfw4h5a.execute-api.ap-southeast-2.amazonaws.com/dev", Ye = "https://gyzw7rpbq3.execute-api.ap-southeast-2.amazonaws.com/staging", Qe = "https://vfcjuim1l3.execute-api.ap-southeast-2.amazonaws.com/prod", ti = "http://localhost:6060/v2", ei = "https://embed-dev.vouchfor.com/v2", ii = "https://embed-staging.vouchfor.com/v2", si = "https://embed.vouchfor.com/v2";
1131
+ const It = "https://d2rxhdlm2q91uk.cloudfront.net", Ge = "https://d1ix11aj5kfygl.cloudfront.net", Ze = "https://d157jlwnudd93d.cloudfront.net", Vt = "https://bshyfw4h5a.execute-api.ap-southeast-2.amazonaws.com/dev", Ye = "https://gyzw7rpbq3.execute-api.ap-southeast-2.amazonaws.com/staging", Qe = "https://vfcjuim1l3.execute-api.ap-southeast-2.amazonaws.com/prod", ti = "http://localhost:6060/v2", ei = "https://embed-dev.vouchfor.com/v2", ii = "https://embed-staging.vouchfor.com/v2", si = "https://embed.vouchfor.com/v2";
1132
1132
  function et(r) {
1133
1133
  if (!["local", "dev", "staging", "prod"].includes(r))
1134
1134
  throw new Error(`Unknown environment: ${r}`);
1135
1135
  if (r === "local")
1136
1136
  return {
1137
- videoUrl: kt,
1137
+ videoUrl: It,
1138
1138
  publicApiUrl: Vt,
1139
1139
  embedApiUrl: ti
1140
1140
  };
1141
1141
  if (r === "dev")
1142
1142
  return {
1143
- videoUrl: kt,
1143
+ videoUrl: It,
1144
1144
  publicApiUrl: Vt,
1145
1145
  embedApiUrl: ei
1146
1146
  };
@@ -1168,9 +1168,7 @@ class ri {
1168
1168
  ["X-Cache-Check", o]
1169
1169
  ]
1170
1170
  }), h = await a.json();
1171
- this.host.dispatchEvent(new CustomEvent("vouch:loaded", { detail: s }));
1172
- const c = (d = a == null ? void 0 : a.headers) == null ? void 0 : d.get("X-Cache-Check");
1173
- return c && c !== o && fetch(`${n}/vouches/${s}`, {
1171
+ return this.host.dispatchEvent(new CustomEvent("vouch:loaded", { detail: s })), ((d = a == null ? void 0 : a.headers) == null ? void 0 : d.get("X-Cache-Check")) !== o && fetch(`${n}/vouches/${s}`, {
1174
1172
  method: "GET",
1175
1173
  headers: [
1176
1174
  ["X-Api-Key", i],
@@ -1185,8 +1183,8 @@ class ri {
1185
1183
  ["X-Api-Key", i],
1186
1184
  ["X-Cache-Check", o]
1187
1185
  ]
1188
- }), h = await a.json(), c = (d = a == null ? void 0 : a.headers) == null ? void 0 : d.get("X-Cache-Check");
1189
- return c && c !== o && fetch(`${n}/templates/${s}`, {
1186
+ }), h = await a.json();
1187
+ return ((d = a == null ? void 0 : a.headers) == null ? void 0 : d.get("X-Cache-Check")) !== o && fetch(`${n}/templates/${s}`, {
1190
1188
  method: "GET",
1191
1189
  headers: [
1192
1190
  ["X-Api-Key", i],
@@ -1223,10 +1221,10 @@ class ri {
1223
1221
  return this._fetching;
1224
1222
  }
1225
1223
  }
1226
- const ni = 1e4;
1224
+ const ni = 10;
1227
1225
  class oi {
1228
1226
  constructor(t) {
1229
- this._tabId = void 0, this._clientId = void 0, this._visitorId = void 0, this._hasPlayed = !1, this._hasLoaded = {}, this._answersViewed = {}, this._streamedTime = {}, this._streamLatestTime = {}, this._streamedPrevTimestamp = {}, this._createVisitor = (e) => {
1227
+ this._tabId = void 0, this._clientId = void 0, this._visitorId = void 0, this._hasPlayed = !1, this._hasLoaded = {}, this._answersViewed = {}, this._streamStartTime = {}, this._streamLatestTime = {}, this._currentlyPlayingVideo = null, this._createVisitor = (e) => {
1230
1228
  var s, n;
1231
1229
  const { publicApiUrl: i } = et(this.host.env);
1232
1230
  return (n = (s = window.localStorage) == null ? void 0 : s.setItem) == null || n.call(s, "vouch-uid-visitor", e), navigator.sendBeacon(`${i}/api/visitor`, JSON.stringify({ visitorId: e })), e;
@@ -1250,67 +1248,48 @@ class oi {
1250
1248
  ...s
1251
1249
  };
1252
1250
  }, this._sendTrackingEvent = (e, i) => {
1253
- const { publicApiUrl: s } = et(this.host.env), { client: n, tab: o, request: a, visitor: h } = this._getUids();
1254
- this.host.disableTracking || navigator.sendBeacon(
1255
- `${s}/api/events`,
1251
+ if (!this._findVouchId() || this.host.disableTracking)
1252
+ return;
1253
+ const { publicApiUrl: n } = et(this.host.env), { client: o, tab: a, request: h, visitor: c } = this._getUids();
1254
+ navigator.sendBeacon(
1255
+ `${n}/api/events`,
1256
1256
  JSON.stringify({
1257
1257
  event: e,
1258
1258
  payload: i,
1259
1259
  context: {
1260
- "x-uid-client": n,
1261
- "x-uid-tab": o,
1262
- "x-uid-request": a,
1263
- "x-uid-visitor": h,
1260
+ "x-uid-client": o,
1261
+ "x-uid-tab": a,
1262
+ "x-uid-request": h,
1263
+ "x-uid-visitor": c,
1264
1264
  "x-reporting-metadata": this._getReportingMetadata()
1265
1265
  }
1266
1266
  })
1267
1267
  );
1268
1268
  }, this._handleVouchLoaded = ({ detail: e }) => {
1269
- e && (this._hasLoaded[e] || (this._sendTrackingEvent("VOUCH_LOADED", {
1270
- vouchId: e
1271
- }), this._hasLoaded[e] = !0));
1269
+ e && (this._hasLoaded[e] || (this._sendTrackingEvent("VOUCH_LOADED"), this._hasLoaded[e] = !0));
1272
1270
  }, this._handlePlay = () => {
1273
- const e = this._findVouchId();
1274
- e && (this._hasPlayed || (this._sendTrackingEvent("VIDEO_PLAYED", {
1275
- vouchId: e,
1271
+ this._hasPlayed || (this._sendTrackingEvent("VIDEO_PLAYED", {
1276
1272
  streamStart: this.host.currentTime
1277
- }), this._hasPlayed = !0));
1273
+ }), this._hasPlayed = !0);
1278
1274
  }, this._handleVideoPlay = ({ detail: { id: e, key: i, node: s } }) => {
1279
- const n = this._findVouchId();
1280
- n && (this._answersViewed[i] || (this._sendTrackingEvent("VOUCH_RESPONSE_VIEWED", {
1281
- vouchId: n,
1275
+ this._answersViewed[i] || (this._sendTrackingEvent("VOUCH_RESPONSE_VIEWED", {
1282
1276
  answerId: e
1283
- }), this._answersViewed[i] = !0), this._streamedTime[i] = s.currentTime, this._streamLatestTime[i] = s.currentTime, this._streamedPrevTimestamp[i] = Date.now());
1284
- }, this._handleVideoSeeking = ({ detail: { id: e, key: i } }) => {
1285
- const s = this._findVouchId();
1286
- s && (this._streamLatestTime[i] && this._sendTrackingEvent("VIDEO_STREAMED", {
1287
- vouchId: s,
1288
- answerId: e,
1289
- streamStart: this._streamedTime[i],
1290
- streamEnd: this._streamLatestTime[i]
1291
- }), delete this._streamedTime[i], delete this._streamLatestTime[i], delete this._streamedPrevTimestamp[i]);
1277
+ }), this._answersViewed[i] = !0), this._streamStartTime[i] = s.currentTime, this._streamLatestTime[i] = s.currentTime;
1292
1278
  }, this._handleVideoTimeUpdate = ({ detail: { id: e, key: i, node: s } }) => {
1293
- var a, h;
1294
- const n = this._findVouchId();
1295
- if (!n)
1296
- return;
1297
- const o = Date.now();
1298
- s.currentTime && !s.paused && !this.host.paused && // Only fire the video seeked event when this video is the active one
1299
- e === ((h = (a = this.host.scene) == null ? void 0 : a.video) == null ? void 0 : h.id) && // Throttle the frequency that we send streamed events while playing
1300
- o - this._streamedPrevTimestamp[i] > ni && (this._sendTrackingEvent("VIDEO_STREAMED", {
1301
- vouchId: n,
1279
+ var n, o;
1280
+ this.host.paused || (this._currentlyPlayingVideo = { id: e, key: i, node: s }, this._streamLatestTime[i] = s.currentTime), !s.paused && !this.host.paused && // Only fire the video seeked event when this video is the active one
1281
+ e === ((o = (n = this.host.scene) == null ? void 0 : n.video) == null ? void 0 : o.id) && // Throttle the frequency that we send streamed events while playing
1282
+ this._streamLatestTime[i] - this._streamStartTime[i] > ni && (this._sendTrackingEvent("VIDEO_STREAMED", {
1302
1283
  answerId: e,
1303
- streamStart: this._streamedTime[i],
1304
- streamEnd: s.currentTime
1305
- }), this._streamedTime[i] = s.currentTime, this._streamedPrevTimestamp[i] = o), this._streamLatestTime[i] = s.currentTime;
1306
- }, this._handleVideoPause = ({ detail: { id: e, key: i, node: s } }) => {
1307
- const n = this._findVouchId();
1308
- n && (s.currentTime > this._streamedTime[i] && this._sendTrackingEvent("VIDEO_STREAMED", {
1309
- vouchId: n,
1284
+ streamStart: this._streamStartTime[i],
1285
+ streamEnd: this._streamLatestTime[i]
1286
+ }), this._streamStartTime[i] = s.currentTime);
1287
+ }, this._handleVideoPause = ({ detail: { id: e, key: i } }) => {
1288
+ this._streamLatestTime[i] > this._streamStartTime[i] && this._sendTrackingEvent("VIDEO_STREAMED", {
1310
1289
  answerId: e,
1311
- streamStart: this._streamedTime[i],
1312
- streamEnd: s.currentTime
1313
- }), delete this._streamedTime[i], delete this._streamLatestTime[i], delete this._streamedPrevTimestamp[i]);
1290
+ streamStart: this._streamStartTime[i],
1291
+ streamEnd: this._streamLatestTime[i]
1292
+ }), this._currentlyPlayingVideo = null, delete this._streamStartTime[i], delete this._streamLatestTime[i];
1314
1293
  }, this.host = t, t.addController(this);
1315
1294
  }
1316
1295
  _findVouchId() {
@@ -1335,13 +1314,21 @@ class oi {
1335
1314
  }
1336
1315
  hostConnected() {
1337
1316
  requestAnimationFrame(() => {
1338
- var t, e, i, s, n;
1339
- this.host.addEventListener("vouch:loaded", this._handleVouchLoaded), (t = this.host.mediaPlayer) == null || t.addEventListener("play", this._handlePlay), (e = this.host.mediaPlayer) == null || e.addEventListener("video:play", this._handleVideoPlay), (i = this.host.mediaPlayer) == null || i.addEventListener("video:seeking", this._handleVideoSeeking), (s = this.host.mediaPlayer) == null || s.addEventListener("video:pause", this._handleVideoPause), (n = this.host.mediaPlayer) == null || n.addEventListener("video:timeupdate", this._handleVideoTimeUpdate);
1317
+ var t, e, i, s;
1318
+ this.host.addEventListener("vouch:loaded", this._handleVouchLoaded), (t = this.host.mediaPlayer) == null || t.addEventListener("play", this._handlePlay), (e = this.host.mediaPlayer) == null || e.addEventListener("video:play", this._handleVideoPlay), (i = this.host.mediaPlayer) == null || i.addEventListener("video:pause", this._handleVideoPause), (s = this.host.mediaPlayer) == null || s.addEventListener("video:timeupdate", this._handleVideoTimeUpdate);
1340
1319
  });
1341
1320
  }
1342
1321
  hostDisconnected() {
1343
- var t, e, i, s, n;
1344
- this.host.removeEventListener("vouch:loaded", this._handleVouchLoaded), (t = this.host.mediaPlayer) == null || t.removeEventListener("play", this._handlePlay), (e = this.host.mediaPlayer) == null || e.removeEventListener("video:play", this._handleVideoPlay), (i = this.host.mediaPlayer) == null || i.removeEventListener("video:seeking", this._handleVideoSeeking), (s = this.host.mediaPlayer) == null || s.removeEventListener("video:pause", this._handleVideoPause), (n = this.host.mediaPlayer) == null || n.removeEventListener("video:timeupdate", this._handleVideoTimeUpdate);
1322
+ var t, e, i, s;
1323
+ if (this._currentlyPlayingVideo) {
1324
+ const { id: n, key: o } = this._currentlyPlayingVideo;
1325
+ this._streamLatestTime[o] > this._streamStartTime[o] && this._sendTrackingEvent("VIDEO_STREAMED", {
1326
+ answerId: n,
1327
+ streamStart: this._streamStartTime[o],
1328
+ streamEnd: this._streamLatestTime[o]
1329
+ });
1330
+ }
1331
+ this.host.removeEventListener("vouch:loaded", this._handleVouchLoaded), (t = this.host.mediaPlayer) == null || t.removeEventListener("play", this._handlePlay), (e = this.host.mediaPlayer) == null || e.removeEventListener("video:play", this._handleVideoPlay), (i = this.host.mediaPlayer) == null || i.removeEventListener("video:pause", this._handleVideoPause), (s = this.host.mediaPlayer) == null || s.removeEventListener("video:timeupdate", this._handleVideoTimeUpdate);
1345
1332
  }
1346
1333
  }
1347
1334
  var hi = Object.defineProperty, ai = Object.getOwnPropertyDescriptor, f = (r, t, e, i) => {