@streamlayer/react 1.22.2 → 1.23.0

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.
Files changed (112) hide show
  1. package/lib/cjs/Question.js +1 -1
  2. package/lib/cjs/advertisement.js +44 -40
  3. package/lib/cjs/analytics.js +1 -1
  4. package/lib/cjs/index-eShKGO10.js +5 -0
  5. package/lib/cjs/index.js +1 -1
  6. package/lib/cjs/index10.js +4 -1
  7. package/lib/cjs/index11.js +1 -4
  8. package/lib/cjs/index12.js +1 -1
  9. package/lib/cjs/index13.js +1 -1
  10. package/lib/cjs/index14.js +1 -1
  11. package/lib/cjs/index15.js +5 -1
  12. package/lib/cjs/index2.js +1 -1
  13. package/lib/cjs/index4.js +1 -1
  14. package/lib/cjs/index7.js +1 -5
  15. package/lib/cjs/index8.js +1 -1
  16. package/lib/cjs/index9.js +1 -1
  17. package/lib/cjs/insight.js +1 -1
  18. package/lib/cjs/masters2.js +5 -5
  19. package/lib/cjs/notification.js +1 -1
  20. package/lib/cjs/pause-ad.js +1 -1
  21. package/lib/cjs/points.js +1 -1
  22. package/lib/cjs/storage.js +1 -1
  23. package/lib/cjs/useStreamLayerApp2.js +17 -17
  24. package/lib/classic/cjs/Question.js +1 -1
  25. package/lib/classic/cjs/advertisement.js +44 -40
  26. package/lib/classic/cjs/analytics.js +1 -1
  27. package/lib/classic/cjs/bet-pack.js +1 -1
  28. package/lib/classic/cjs/index-eShKGO10.js +5 -0
  29. package/lib/classic/cjs/index.js +1 -1
  30. package/lib/classic/cjs/index10.js +1 -1
  31. package/lib/classic/cjs/index11.js +1 -1
  32. package/lib/classic/cjs/index12.js +4 -1
  33. package/lib/classic/cjs/index2.js +2 -2
  34. package/lib/classic/cjs/index3.js +1 -1
  35. package/lib/classic/cjs/index4.js +1 -1
  36. package/lib/classic/cjs/index5.js +1 -1
  37. package/lib/classic/cjs/index6.js +1 -5
  38. package/lib/classic/cjs/index7.js +1 -1
  39. package/lib/classic/cjs/index8.js +1 -1
  40. package/lib/classic/cjs/index9.js +1 -1
  41. package/lib/classic/cjs/insight.js +1 -1
  42. package/lib/classic/cjs/notification.js +1 -1
  43. package/lib/classic/cjs/notification2.js +1 -1
  44. package/lib/classic/cjs/pause-ad.js +1 -1
  45. package/lib/classic/cjs/points.js +1 -1
  46. package/lib/classic/cjs/useStreamLayerApp2.js +17 -17
  47. package/lib/classic/es/Question.js +53 -53
  48. package/lib/classic/es/advertisement.js +15547 -10742
  49. package/lib/classic/es/analytics.js +74 -18
  50. package/lib/classic/es/bet-pack.js +4 -4
  51. package/lib/classic/es/index-eShKGO10.js +3757 -0
  52. package/lib/classic/es/index.js +1 -1
  53. package/lib/classic/es/index10.js +2295 -82
  54. package/lib/classic/es/index11.js +179 -2357
  55. package/lib/classic/es/index12.js +822 -170
  56. package/lib/classic/es/index2.js +13 -14
  57. package/lib/classic/es/index3.js +16 -61
  58. package/lib/classic/es/index4.js +282 -16
  59. package/lib/classic/es/index5.js +5 -283
  60. package/lib/classic/es/index6.js +9 -3756
  61. package/lib/classic/es/index7.js +62 -5
  62. package/lib/classic/es/index8.js +315 -7
  63. package/lib/classic/es/index9.js +81 -313
  64. package/lib/classic/es/insight.js +1 -1
  65. package/lib/classic/es/notification.js +1 -1
  66. package/lib/classic/es/notification2.js +476 -452
  67. package/lib/classic/es/pause-ad.js +174 -208
  68. package/lib/classic/es/points.js +4 -4
  69. package/lib/classic/es/useStreamLayerApp2.js +5062 -4028
  70. package/lib/dist/cjs/index-eShKGO10.js +5 -0
  71. package/lib/dist/cjs/masters.js +35 -35
  72. package/lib/dist/es/index-eShKGO10.js +3757 -0
  73. package/lib/dist/es/masters.js +9267 -8240
  74. package/lib/dist/index.d.ts +13 -1
  75. package/lib/dist/style.css +1 -1
  76. package/lib/es/Question.js +4 -4
  77. package/lib/es/advertisement.js +15547 -10742
  78. package/lib/es/analytics.js +74 -18
  79. package/lib/es/index-eShKGO10.js +3757 -0
  80. package/lib/es/index.js +1 -1
  81. package/lib/es/index10.js +804 -236
  82. package/lib/es/index11.js +170 -822
  83. package/lib/es/index12.js +302 -166
  84. package/lib/es/index13.js +81 -313
  85. package/lib/es/index14.js +2350 -82
  86. package/lib/es/index15.js +1229 -2330
  87. package/lib/es/index2.js +10 -11
  88. package/lib/es/index4.js +2 -2
  89. package/lib/es/index7.js +5 -3756
  90. package/lib/es/index8.js +9 -5
  91. package/lib/es/index9.js +263 -7
  92. package/lib/es/insight.js +1 -1
  93. package/lib/es/masters2.js +15 -16
  94. package/lib/es/notification.js +449 -425
  95. package/lib/es/pause-ad.js +174 -208
  96. package/lib/es/points.js +1 -1
  97. package/lib/es/storage.js +2 -2
  98. package/lib/es/useStreamLayerApp2.js +5062 -4028
  99. package/lib/style.css +1 -1
  100. package/package.json +17 -16
  101. package/lib/cjs/index-DSi8Qgfs.js +0 -1
  102. package/lib/cjs/index16.js +0 -5
  103. package/lib/cjs/vast-client.min.js +0 -1
  104. package/lib/classic/cjs/index-DSi8Qgfs.js +0 -1
  105. package/lib/classic/cjs/index13.js +0 -4
  106. package/lib/classic/cjs/vast-client.min.js +0 -1
  107. package/lib/classic/es/index-DSi8Qgfs.js +0 -65
  108. package/lib/classic/es/index13.js +0 -835
  109. package/lib/classic/es/vast-client.min.js +0 -1060
  110. package/lib/es/index-DSi8Qgfs.js +0 -65
  111. package/lib/es/index16.js +0 -1254
  112. package/lib/es/vast-client.min.js +0 -1060
@@ -1,7 +1,64 @@
1
- import { jsx as e } from "react/jsx-runtime";
2
- import { c as a } from "./sl-types.js";
3
- const l = "StreamLayerCSSReset", c = "ttkj0ah", d = ({ children: t, customTheme: m, themeMode: r, style: s }) => /* @__PURE__ */ e("div", { className: "StreamLayerSDKTheme", children: /* @__PURE__ */ e("div", { className: a(c, r, m), style: s, children: t }) });
1
+ var d = Object.defineProperty;
2
+ var l = (t, e, s) => e in t ? d(t, e, { enumerable: !0, configurable: !0, writable: !0, value: s }) : t[e] = s;
3
+ var n = (t, e, s) => l(t, typeof e != "symbol" ? e + "" : e, s);
4
+ import { pino as c } from "pino";
5
+ import "./sl-types.js";
6
+ import "nanostores";
7
+ import { S as o } from "./useStreamLayerApp2.js";
8
+ const v = c({
9
+ level: "trace",
10
+ enabled: typeof window < "u" && !!window.localStorage.getItem("SL_DEBUG"),
11
+ browser: {
12
+ write: (t) => {
13
+ console.log(t);
14
+ }
15
+ }
16
+ }), w = (t, e) => v.child({ name: t }, e);
17
+ class u extends Event {
18
+ constructor(s, i) {
19
+ super(s);
20
+ n(this, "slEventBus");
21
+ this.slEventBus = i;
22
+ }
23
+ }
24
+ const m = w("event-bus");
25
+ class E {
26
+ constructor(e = "sl-event-bus") {
27
+ n(this, "name");
28
+ n(this, "listeners");
29
+ n(this, "emit", (e, s) => {
30
+ const i = new u(this.name, { ...s, type: e });
31
+ m.debug(i, "Emitting event"), window.dispatchEvent(i);
32
+ });
33
+ n(this, "destroy", () => {
34
+ this.listeners.forEach((e) => {
35
+ window.removeEventListener(this.name, e), this.listeners.delete(e);
36
+ }), this.listeners.clear();
37
+ });
38
+ this.name = e, this.listeners = /* @__PURE__ */ new Set();
39
+ }
40
+ listen(e) {
41
+ return window.addEventListener(this.name, e), this.listeners.add(e), () => {
42
+ this.off(e);
43
+ };
44
+ }
45
+ off(e) {
46
+ window.removeEventListener(this.name, e), this.listeners.delete(e);
47
+ }
48
+ }
49
+ window.slStore = /* @__PURE__ */ Object.create(null);
50
+ var r;
51
+ (function(t) {
52
+ t.ORGANIZATION = "ORGANIZATION", t.STREAM = "STREAM";
53
+ })(r || (r = {}));
54
+ o.BETTING + "", o.GAMES + "", o.PUBLIC_CHAT + "", o.TWITTER + "";
55
+ var a;
56
+ (function(t) {
57
+ t.Ready = "ready", t.Suspended = "suspended";
58
+ })(a || (a = {}));
59
+ const S = new E();
4
60
  export {
5
- d as h,
6
- l as m
61
+ a as F,
62
+ w as c,
63
+ S as e
7
64
  };
@@ -1,11 +1,319 @@
1
- import { jsx as t } from "react/jsx-runtime";
2
- import { s as i } from "./sl-types.js";
3
- const l = /* @__PURE__ */ i("div")({
1
+ import { jsxs as S, jsx as e, Fragment as re } from "react/jsx-runtime";
2
+ import { s as o, c as X } from "./sl-types.js";
3
+ import { useState as I, useEffect as b, useCallback as w, forwardRef as ce, useRef as L } from "react";
4
+ import { B as f } from "./index4.js";
5
+ import { G as ie, d as ue, O as de } from "./index9.js";
6
+ import { C as pe } from "./useStreamLayerApp2.js";
7
+ const me = /* @__PURE__ */ o("div")({
8
+ name: "CloseIconWrap",
9
+ class: "c3v6bv6",
10
+ propsAsIs: !1
11
+ }), ye = /* @__PURE__ */ o("div")({
12
+ name: "TimerWrap",
13
+ class: "teuhmro",
14
+ propsAsIs: !1
15
+ }), he = () => f, fe = /* @__PURE__ */ o(he())({
16
+ name: "Icon",
17
+ class: "i17rfxv5",
18
+ propsAsIs: !0
19
+ }), Ye = ({
20
+ close: n,
21
+ className: a,
22
+ timerClassName: s,
23
+ skipIcon: l,
24
+ isPlaying: u = !0,
25
+ duration: i = 0,
26
+ autoClose: d
27
+ }) => {
28
+ const [p, m] = I(i === 0);
29
+ b(() => {
30
+ m(!i);
31
+ }, [i]);
32
+ const P = w(() => {
33
+ d === pe.ENABLED ? n == null || n() : m(!0);
34
+ }, [d, n]);
35
+ return p ? /* @__PURE__ */ S(me, {
36
+ "data-a": "intr",
37
+ onClick: n,
38
+ className: a,
39
+ style: l ? {
40
+ width: "auto"
41
+ } : {},
42
+ children: [l && /* @__PURE__ */ e("span", {
43
+ "data-a": "intr",
44
+ children: "Skip"
45
+ }), /* @__PURE__ */ e(fe, {
46
+ "data-a": "intr",
47
+ name: l ? "iconSkip" : "icon-cross"
48
+ })]
49
+ }) : /* @__PURE__ */ e(ye, {
50
+ children: /* @__PURE__ */ e(ie, {
51
+ className: s,
52
+ isPlaying: u,
53
+ duration: i,
54
+ onTimerExpired: P
55
+ })
56
+ });
57
+ }, ge = /* @__PURE__ */ o("div")({
4
58
  name: "Container",
5
- class: "cqg02m",
59
+ class: "c1bgb86j",
60
+ propsAsIs: !1
61
+ }), Ie = /* @__PURE__ */ o("video")({
62
+ name: "Player",
63
+ class: "p6703cq",
64
+ propsAsIs: !1
65
+ }), be = /* @__PURE__ */ o("img")({
66
+ name: "Poster",
67
+ class: "p12ow7zo",
68
+ propsAsIs: !1
69
+ }), R = /* @__PURE__ */ o("div")({
70
+ name: "Control",
71
+ class: "cdpal9o",
6
72
  propsAsIs: !1
7
- }), a = ({ children: s, style: e, loading: o }) => o ? /* @__PURE__ */ t(l, { style: e, children: s }) : s;
73
+ }), Pe = "t1xke4ml", ve = "h1yzxv57", Ae = /* @__PURE__ */ o("div")({
74
+ name: "VideoControls",
75
+ class: "vxo8xch",
76
+ propsAsIs: !1
77
+ }), $ = /* @__PURE__ */ o("button")({
78
+ name: "ControlBtn",
79
+ class: "coyuzu0",
80
+ propsAsIs: !1
81
+ }), Ce = () => $, we = /* @__PURE__ */ o(Ce())({
82
+ name: "MuteIcon",
83
+ class: "musmi9a",
84
+ propsAsIs: !0
85
+ }), Me = () => $, ke = /* @__PURE__ */ o(Me())({
86
+ name: "PauseIcon",
87
+ class: "p1qe7rum",
88
+ propsAsIs: !0
89
+ }), Ee = () => $, xe = /* @__PURE__ */ o(Ee())({
90
+ name: "PlayIcon",
91
+ class: "psevery",
92
+ propsAsIs: !0
93
+ }), Y = /* @__PURE__ */ o("button")({
94
+ name: "WebOSIconButton",
95
+ class: "w1q3u7py",
96
+ propsAsIs: !1
97
+ }), Be = () => Y, T = /* @__PURE__ */ o(Be())({
98
+ name: "WebOSIconButtonAnimation",
99
+ class: "wdlqvum",
100
+ propsAsIs: !0
101
+ }), Oe = () => T, We = /* @__PURE__ */ o(Oe())({
102
+ name: "WebOSIconButtonPlay",
103
+ class: "w1ylz9ea",
104
+ propsAsIs: !0
105
+ }), Ne = () => T, Ve = /* @__PURE__ */ o(Ne())({
106
+ name: "WebOSIconButtonPause",
107
+ class: "w1iylt55",
108
+ propsAsIs: !0
109
+ }), Le = () => T, Re = /* @__PURE__ */ o(Le())({
110
+ name: "WebOSIconButtonMute",
111
+ class: "w8h4h7",
112
+ propsAsIs: !0
113
+ }), Se = () => T, Te = /* @__PURE__ */ o(Se())({
114
+ name: "WebOSIconButtonUnmute",
115
+ class: "w12l12kt",
116
+ propsAsIs: !0
117
+ }), Ue = (n) => {
118
+ for (const a of n)
119
+ a.isIntersecting ? a.target instanceof HTMLVideoElement && a.target.autoplay && a.target.play() : a.target instanceof HTMLVideoElement && !a.target.paused && a.target.pause();
120
+ }, Z = new IntersectionObserver(Ue, { threshold: 0.5 }), D = /* @__PURE__ */ new Set(), je = (n) => {
121
+ Z.observe(n), D.add(n);
122
+ }, qe = (n) => {
123
+ Z.unobserve(n), D.delete(n);
124
+ }, ze = () => {
125
+ for (const n of D)
126
+ n instanceof HTMLVideoElement && !n.paused && n.pause();
127
+ };
128
+ function He(...n) {
129
+ return w(
130
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
131
+ (a) => {
132
+ for (const s of n)
133
+ s !== null && (typeof s == "function" ? s(a) : s && (s.current = a));
134
+ },
135
+ // Re-run the callback if the array of refs changes
136
+ // eslint-disable-next-line react-hooks/exhaustive-deps
137
+ [...n]
138
+ );
139
+ }
140
+ const $e = de(ge), De = ({ loading: n, autoPlay: a, played: s, playing: l, isMuted: u, unmute: i, mute: d, togglePlaying: p }) => !n && !a && !s ? /* @__PURE__ */ e(R, { children: l ? /* @__PURE__ */ e(f, { name: "icon-pause" }) : /* @__PURE__ */ e(f, { name: "icon-play" }) }) : s ? /* @__PURE__ */ S(Ae, { children: [
141
+ l ? /* @__PURE__ */ e(ke, { onClick: p }) : /* @__PURE__ */ e(xe, { onClick: p }),
142
+ /* @__PURE__ */ e(we, { className: X(!u && "muted"), onClick: u ? i : d })
143
+ ] }) : null, Fe = ({
144
+ loading: n,
145
+ autoPlay: a,
146
+ playMuted: s,
147
+ playing: l,
148
+ played: u,
149
+ unmute: i,
150
+ mute: d,
151
+ isMuted: p,
152
+ hasNotPausedVideo: m,
153
+ hasInteractedWithAudio: P
154
+ }) => /* @__PURE__ */ S(re, { children: [
155
+ !n && !(a && s) && /* @__PURE__ */ e(R, { "data-control-btn": "true", children: l ? m ? null : /* @__PURE__ */ e(We, { children: /* @__PURE__ */ e(f, { name: "icon-play" }) }) : u ? /* @__PURE__ */ e(Ve, { children: /* @__PURE__ */ e(f, { name: "icon-pause" }) }) : /* @__PURE__ */ e(Y, { "data-control-icon": "true", children: /* @__PURE__ */ e(f, { name: "icon-play" }) }) }),
156
+ !n && a && s && P && /* @__PURE__ */ e(R, { children: p ? /* @__PURE__ */ e(Re, { onClick: i, children: /* @__PURE__ */ e(f, { name: "iconMute" }) }) : /* @__PURE__ */ e(Te, { onClick: d, children: /* @__PURE__ */ e(f, { name: "iconUnMute" }) }) })
157
+ ] }), Ze = ce(
158
+ ({
159
+ poster: n,
160
+ source: a,
161
+ aspectRatio: s,
162
+ controlVideo: l,
163
+ onReplay: u,
164
+ onPlay: i,
165
+ onPause: d,
166
+ onEnd: p,
167
+ onRender: m,
168
+ onMute: P,
169
+ onQuartile: v,
170
+ autoPlay: M,
171
+ playMuted: k,
172
+ className: ee,
173
+ muted: E,
174
+ webos: B,
175
+ hasNotPausedVideo: ne
176
+ }, te) => {
177
+ const c = L(null), ae = He(c, te), U = L(!1), j = L(!1), y = L(/* @__PURE__ */ new Set()), [F, G] = I(!1), [O, W] = I(!1), [q, Q] = I(!1), [_, N] = I(!0), [z, V] = I(k), [H, oe] = I(!1);
178
+ b(() => {
179
+ a && (V(k), G(!1));
180
+ }, [a]);
181
+ const A = w(() => {
182
+ l == null || l({ muted: !1 });
183
+ }, [l]), J = w(() => {
184
+ l == null || l({ muted: !0 });
185
+ }, [l]), C = w((t) => {
186
+ t == null || t.stopPropagation(), c.current && (c.current.muted = !0), V(!0);
187
+ }, []), x = w(
188
+ (t) => {
189
+ t == null || t.stopPropagation(), c.current && (c.current.muted = !1), V(!1), H || oe(!0);
190
+ },
191
+ [H]
192
+ );
193
+ b(() => {
194
+ E !== void 0 && (E ? C() : x());
195
+ }, [C, E, x]);
196
+ const K = (t) => {
197
+ var r;
198
+ (r = t.stopPropagation) == null || r.call(t);
199
+ const g = c == null ? void 0 : c.current;
200
+ if (g)
201
+ if (O)
202
+ g.pause();
203
+ else {
204
+ const h = c == null ? void 0 : c.current;
205
+ if (!h)
206
+ return;
207
+ ze(), h.play().catch((le) => console.log(le)), N(!1);
208
+ }
209
+ }, se = () => {
210
+ var t;
211
+ (t = c == null ? void 0 : c.current) == null || t.load(), N(!0);
212
+ };
213
+ return b(() => () => {
214
+ A();
215
+ }, [A]), b(() => {
216
+ const t = c.current;
217
+ return t ? (j.current = t.muted, V(t.muted), je(t), () => {
218
+ qe(t);
219
+ }) : () => {
220
+ };
221
+ }, []), b(() => {
222
+ m == null || m();
223
+ }, [m]), b(() => {
224
+ y.current.clear(), U.current = !1;
225
+ }, [a]), /* @__PURE__ */ S(
226
+ $e,
227
+ {
228
+ webos: B,
229
+ onClick: M && k ? z ? x : C : K,
230
+ "data-a": "intr",
231
+ autoFocus: !0,
232
+ options: { focusKey: "video-play-btn" },
233
+ className: X(O && !B && Pe, M && ve, ee),
234
+ style: s ? { aspectRatio: s } : {},
235
+ children: [
236
+ /* @__PURE__ */ e(
237
+ Ie,
238
+ {
239
+ ref: ae,
240
+ src: a,
241
+ autoPlay: M,
242
+ onPlay: () => {
243
+ G(!0), U.current && (u == null || u(), y.current.clear()), W(!0), N(!1), i == null || i(), k ? C() : J();
244
+ },
245
+ onTimeUpdate: (t) => {
246
+ const r = t.target.duration, g = t.target.currentTime;
247
+ if (r && g) {
248
+ const h = Math.floor(g / r * 100);
249
+ h >= 25 && h < 50 && !y.current.has(25) ? (v == null || v(25), y.current.add(25)) : h >= 50 && h < 75 && !y.current.has(50) ? (v == null || v(50), y.current.add(50)) : h >= 75 && !y.current.has(75) && (v == null || v(75), y.current.add(75));
250
+ }
251
+ },
252
+ onVolumeChange: (t) => {
253
+ const r = t.target.muted;
254
+ j.current !== r && (P == null || P(r), j.current = r, (r !== E || E === void 0) && (r ? A() : J()));
255
+ },
256
+ onError: async (t) => {
257
+ try {
258
+ if (t.target instanceof HTMLVideoElement) {
259
+ Q(!0);
260
+ const r = await (await fetch(t.target.src)).blob(), g = URL.createObjectURL(r);
261
+ t.target.src = g;
262
+ }
263
+ } catch (r) {
264
+ console.error("video fallback fetch failed", r), W(!0), N(!0);
265
+ } finally {
266
+ Q(!1), A();
267
+ }
268
+ },
269
+ onPause: () => {
270
+ W(!1), d == null || d(), A();
271
+ },
272
+ onEnded: () => {
273
+ W(!1), U.current = !0, se(), p == null || p(), A();
274
+ },
275
+ style: { visibility: _ ? "hidden" : "visible" },
276
+ controls: !1,
277
+ playsInline: !0
278
+ }
279
+ ),
280
+ /* @__PURE__ */ e(be, { src: n, style: { visibility: _ ? "visible" : "hidden" } }),
281
+ !B && /* @__PURE__ */ e(
282
+ De,
283
+ {
284
+ loading: q,
285
+ autoPlay: M,
286
+ played: F,
287
+ playing: O,
288
+ isMuted: z,
289
+ unmute: x,
290
+ mute: C,
291
+ togglePlaying: K
292
+ }
293
+ ),
294
+ B && /* @__PURE__ */ e(
295
+ Fe,
296
+ {
297
+ loading: q,
298
+ autoPlay: M,
299
+ playMuted: k,
300
+ playing: O,
301
+ played: F,
302
+ unmute: x,
303
+ mute: C,
304
+ isMuted: z,
305
+ hasNotPausedVideo: ne,
306
+ hasInteractedWithAudio: H
307
+ }
308
+ ),
309
+ q && /* @__PURE__ */ e(R, { children: /* @__PURE__ */ e(ue, {}) })
310
+ ]
311
+ }
312
+ );
313
+ }
314
+ );
8
315
  export {
9
- l as e,
10
- a as i
316
+ Ze as E,
317
+ ze as w,
318
+ Ye as y
11
319
  };