@streamlayer/react-ui 1.26.0 → 1.27.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 (205) hide show
  1. package/lib/app/app/Advertisement/index.d.ts +1 -0
  2. package/lib/app/app/Advertisement/index.js +125 -92
  3. package/lib/app/app/Banner/index.d.ts +6 -0
  4. package/lib/app/app/Banner/index.js +6 -0
  5. package/lib/app/app/Features/Gamification/Question.d.ts +4 -0
  6. package/lib/app/app/Features/Gamification/Question.js +79 -50
  7. package/lib/app/app/Features/Gamification/QuestionAdvertisement.d.ts +6 -0
  8. package/lib/app/app/Features/Gamification/QuestionAdvertisement.js +46 -0
  9. package/lib/app/app/Features/Gamification/Tabs.js +12 -12
  10. package/lib/app/app/Features/Gamification/index.d.ts +3 -0
  11. package/lib/app/app/Features/Gamification/index.js +56 -52
  12. package/lib/app/app/Features/index.d.ts +1 -0
  13. package/lib/app/app/Features/index.js +6 -4
  14. package/lib/app/app/InApp/index.d.ts +1 -0
  15. package/lib/app/app/InApp/index.js +44 -17
  16. package/lib/app/app/Insight/index.d.ts +3 -0
  17. package/lib/app/app/Insight/index.js +33 -30
  18. package/lib/app/app/Layout/index.d.ts +17 -0
  19. package/lib/app/app/Layout/index.js +105 -0
  20. package/lib/app/app/Layout/styles.d.ts +12 -0
  21. package/lib/app/app/Layout/styles.js +64 -0
  22. package/lib/app/app/Notifications/Onboarding/Notification/styles.d.ts +7 -1
  23. package/lib/app/app/Notifications/styles.d.ts +18 -2
  24. package/lib/app/app/index.d.ts +1 -0
  25. package/lib/app/app/index.js +91 -85
  26. package/lib/app/app/story/index.js +56 -58
  27. package/lib/app/app/story/promotion/index.js +31 -36
  28. package/lib/app/app/story/promotion/styles.d.ts +3 -1
  29. package/lib/app/app/story/promotion/video.js +63 -81
  30. package/lib/app/app/story/promotion-notification/styles.d.ts +3 -1
  31. package/lib/app/app/story/styles.d.ts +5 -1
  32. package/lib/app/app/story/styles.js +36 -16
  33. package/lib/app/app/story/video.d.ts +5 -1
  34. package/lib/app/app/story/video.js +70 -33
  35. package/lib/app/app/useApp.d.ts +1 -2
  36. package/lib/app/masters/BetPack/BetPackContent/StartScreen/styles.d.ts +7 -1
  37. package/lib/app/masters/BetPack/BetPackContent/index.js +175 -187
  38. package/lib/app/masters/BetPack/BetPackContent/styles.d.ts +84 -84
  39. package/lib/app/masters/BetPack/BetPackOverlay/styles.d.ts +14 -2
  40. package/lib/app/masters/Features/Gamification/Question.js +19 -17
  41. package/lib/app/masters/Notifications/Onboarding/Notification/styles.d.ts +7 -1
  42. package/lib/app/masters/Notifications/styles.d.ts +18 -2
  43. package/lib/app/masters/masters.d.ts +4 -1
  44. package/lib/app/masters/useMastersApp.d.ts +1 -1
  45. package/lib/app/tgl/styles.d.ts +3 -1
  46. package/lib/app/{tvos → webos/Advertisement}/AdvertisementUI.d.ts +7 -1
  47. package/lib/app/webos/Advertisement/AdvertisementUI.js +63 -0
  48. package/lib/app/{tvos/Advertisement.d.ts → webos/Advertisement/index.d.ts} +3 -1
  49. package/lib/app/webos/Advertisement/index.js +119 -0
  50. package/lib/app/webos/ExposedPauseAd/PauseAd.d.ts +15 -0
  51. package/lib/app/webos/ExposedPauseAd/PauseAd.js +93 -0
  52. package/lib/app/webos/ExposedPauseAd/styles.d.ts +12 -0
  53. package/lib/app/webos/ExposedPauseAd/styles.js +64 -0
  54. package/lib/app/webos/Question/index.d.ts +9 -0
  55. package/lib/app/webos/Question/index.js +56 -0
  56. package/lib/app/webos/index.d.ts +24 -0
  57. package/lib/app/webos/index.js +65 -0
  58. package/lib/app/webos/story.d.ts +9 -0
  59. package/lib/app/webos/story.js +74 -0
  60. package/lib/app/webos/styles.js +4 -0
  61. package/lib/app/webos/ui/Layout/index.js +78 -0
  62. package/lib/app/{tvos → webos}/ui/Layout/styles.js +25 -25
  63. package/lib/app/webos/ui/Sidebar/PromoAction.d.ts +7 -0
  64. package/lib/app/webos/ui/Sidebar/PromoAction.js +63 -0
  65. package/lib/app/{tvos → webos}/ui/Sidebar/index.d.ts +6 -0
  66. package/lib/app/webos/ui/Sidebar/index.js +176 -0
  67. package/lib/app/{tvos → webos}/ui/Sidebar/styles.d.ts +7 -3
  68. package/lib/app/{tvos → webos}/ui/Sidebar/styles.js +175 -170
  69. package/lib/app/webos/ui/insight/index.d.ts +9 -0
  70. package/lib/app/webos/ui/insight/index.js +100 -0
  71. package/lib/app/webos/ui/insight/styles.d.ts +12 -0
  72. package/lib/app/webos/ui/insight/styles.js +51 -0
  73. package/lib/app/webos/useTvButton.d.ts +9 -0
  74. package/lib/app/webos/useTvButton.js +23 -0
  75. package/lib/assets/style.css +1 -1
  76. package/lib/hooks/analytics.d.ts +14 -0
  77. package/lib/hooks/showIn.d.ts +9 -0
  78. package/lib/hooks/useKeyboardNavigation.d.ts +15 -0
  79. package/lib/hooks/useKeyboardNavigation.js +74 -0
  80. package/lib/index-T1iiS0ZO.js +17 -0
  81. package/lib/ui/advertisement/banner/index.d.ts +3 -0
  82. package/lib/ui/advertisement/banner/index.js +29 -17
  83. package/lib/ui/advertisement/banner/styles.d.ts +5 -1
  84. package/lib/ui/advertisement/index.d.ts +4 -1
  85. package/lib/ui/advertisement/index.js +56 -44
  86. package/lib/ui/advertisement/notification/index.d.ts +2 -0
  87. package/lib/ui/advertisement/notification/index.js +50 -34
  88. package/lib/ui/advertisement/notification/lower-third/index.d.ts +2 -0
  89. package/lib/ui/advertisement/notification/lower-third/index.js +42 -26
  90. package/lib/ui/advertisement/notification/lower-third/styles.d.ts +11 -0
  91. package/lib/ui/advertisement/notification/lower-third/styles.js +39 -24
  92. package/lib/ui/advertisement/notification/styles.d.ts +18 -1
  93. package/lib/ui/advertisement/notification/styles.js +48 -33
  94. package/lib/ui/advertisement/overlay/externalAd/vast-player/useGAMPlayer.d.ts +2 -2
  95. package/lib/ui/advertisement/overlay/externalAd/vast-player/useGAMPlayer.js +1 -1
  96. package/lib/ui/advertisement/overlay/index.d.ts +4 -1
  97. package/lib/ui/advertisement/overlay/index.js +135 -77
  98. package/lib/ui/gamification/detail/header/index.d.ts +2 -0
  99. package/lib/ui/gamification/detail/header/index.js +19 -16
  100. package/lib/ui/gamification/detail/header/styles.d.ts +15 -3
  101. package/lib/ui/gamification/detail/header/styles.js +1 -1
  102. package/lib/ui/gamification/detail/sponsor/index.d.ts +1 -0
  103. package/lib/ui/gamification/detail/sponsor/index.js +25 -13
  104. package/lib/ui/gamification/invite-link/styles.d.ts +14 -2
  105. package/lib/ui/gamification/leaderboard/list-item/styles.d.ts +7 -1
  106. package/lib/ui/gamification/onboarding/slides/onboarding-invite-card/styles.d.ts +14 -2
  107. package/lib/ui/gamification/onboarding/styles.d.ts +10 -2
  108. package/lib/ui/gamification/points/styles.d.ts +7 -1
  109. package/lib/ui/gamification/question/inapp/notification/AdNotification/NotificationMedia/index.d.ts +48 -0
  110. package/lib/ui/gamification/question/inapp/notification/AdNotification/NotificationMedia/index.js +94 -0
  111. package/lib/ui/gamification/question/inapp/notification/AdNotification/index.d.ts +9 -0
  112. package/lib/ui/gamification/question/inapp/notification/AdNotification/index.js +99 -0
  113. package/lib/ui/gamification/question/inapp/notification/AdNotification/styles.d.ts +42 -0
  114. package/lib/ui/gamification/question/inapp/notification/AdNotification/styles.js +117 -0
  115. package/lib/ui/gamification/question/inapp/notification/NotificationMedia/index.js +9 -8
  116. package/lib/ui/gamification/question/inapp/notification/styles.d.ts +7 -1
  117. package/lib/ui/gamification/question/inapp/onboarding/index.js +12 -12
  118. package/lib/ui/gamification/question/inapp/onboarding/styles.d.ts +18 -2
  119. package/lib/ui/gamification/question/inapp/prediction-result/frames/content.js +9 -9
  120. package/lib/ui/gamification/question/inapp/prediction-result/frames/styles.d.ts +7 -1
  121. package/lib/ui/gamification/question/inapp/prediction-result-ad/frames/content.d.ts +5 -0
  122. package/lib/ui/gamification/question/inapp/prediction-result-ad/frames/content.js +49 -0
  123. package/lib/ui/gamification/question/inapp/prediction-result-ad/frames/index.d.ts +12 -0
  124. package/lib/ui/gamification/question/inapp/prediction-result-ad/frames/index.js +56 -0
  125. package/lib/ui/gamification/question/inapp/prediction-result-ad/frames/lines.d.ts +1 -0
  126. package/lib/ui/gamification/question/inapp/prediction-result-ad/frames/lines.js +34 -0
  127. package/lib/ui/gamification/question/inapp/prediction-result-ad/frames/step1.d.ts +1 -0
  128. package/lib/ui/gamification/question/inapp/prediction-result-ad/frames/step1.js +19 -0
  129. package/lib/ui/gamification/question/inapp/prediction-result-ad/frames/step2.d.ts +4 -0
  130. package/lib/ui/gamification/question/inapp/prediction-result-ad/frames/step2.js +34 -0
  131. package/lib/ui/gamification/question/inapp/prediction-result-ad/frames/step3.d.ts +7 -0
  132. package/lib/ui/gamification/question/inapp/prediction-result-ad/frames/step3.js +43 -0
  133. package/lib/ui/gamification/question/inapp/prediction-result-ad/frames/styles.d.ts +9 -0
  134. package/lib/ui/gamification/question/inapp/prediction-result-ad/frames/styles.js +20 -0
  135. package/lib/ui/gamification/question/inapp/prediction-result-ad/index.d.ts +10 -0
  136. package/lib/ui/gamification/question/inapp/prediction-result-ad/index.js +20 -0
  137. package/lib/ui/gamification/question/inapp/prediction-result-ad/styles.d.ts +11 -0
  138. package/lib/ui/gamification/question/inapp/prediction-result-ad/styles.js +34 -0
  139. package/lib/ui/gamification/question/notification/prediction-result/styles.d.ts +38 -5
  140. package/lib/ui/gamification/question/notification/styles.d.ts +14 -2
  141. package/lib/ui/gamification/question/styles.d.ts +26 -4
  142. package/lib/ui/gamification/vote/alert/styles.d.ts +7 -1
  143. package/lib/ui/gamification/vote/feedback/styles.d.ts +19 -2
  144. package/lib/ui/gamification/vote/feedbackAlert/index.d.ts +9 -0
  145. package/lib/ui/gamification/vote/feedbackAlert/index.js +11 -0
  146. package/lib/ui/gamification/vote/feedbackAlert/styles.d.ts +11 -0
  147. package/lib/ui/gamification/vote/feedbackAlert/styles.js +30 -0
  148. package/lib/ui/gamification/vote/index.d.ts +3 -1
  149. package/lib/ui/gamification/vote/index.js +160 -130
  150. package/lib/ui/gamification/vote/insight-details/index.js +8 -7
  151. package/lib/ui/gamification/vote/insight-details/styles.d.ts +7 -1
  152. package/lib/ui/gamification/vote/styles.d.ts +29 -4
  153. package/lib/ui/gamification/vote/vote-option/index.d.ts +3 -0
  154. package/lib/ui/gamification/vote/vote-option/index.js +72 -64
  155. package/lib/ui/gamification/vote/vote-option/styles.d.ts +7 -1
  156. package/lib/ui/gamification/vote/win-bar/styles.d.ts +19 -2
  157. package/lib/ui/icons/index.d.ts +1 -0
  158. package/lib/ui/icons/index.js +80 -79
  159. package/lib/ui/modal/index.js +12 -17
  160. package/lib/ui/questions/insight/index.d.ts +4 -1
  161. package/lib/ui/questions/insight/index.js +29 -26
  162. package/lib/ui/questions/twitter/account/styles.d.ts +7 -1
  163. package/lib/ui/questions/twitter/index.d.ts +1 -0
  164. package/lib/ui/questions/twitter/index.js +27 -19
  165. package/lib/ui/theme/constants.d.ts +2 -0
  166. package/lib/ui/theme/constants.js +2 -0
  167. package/lib/ui/theme/masters-theme.js +1 -0
  168. package/lib/ui/theme/utils.d.ts +10 -0
  169. package/lib/ui/theme/utils.js +77 -0
  170. package/lib/ui/video-player/index.d.ts +10 -2
  171. package/lib/ui/video-player/index.js +189 -110
  172. package/lib/ui/video-player/styles.d.ts +36 -0
  173. package/lib/ui/video-player/styles.js +59 -11
  174. package/lib/utils/common.d.ts +6 -0
  175. package/lib/utils/createDemo.d.ts +12 -0
  176. package/lib/utils/debug/components/bypassLogin.d.ts +6 -0
  177. package/lib/utils/debug/components/copyLogs.d.ts +1 -0
  178. package/lib/utils/debug/components/developer.d.ts +14 -0
  179. package/lib/utils/debug/components/envToggle.d.ts +6 -0
  180. package/lib/utils/debug/components/eventInput.d.ts +8 -0
  181. package/lib/utils/debug/components/sdkKey.d.ts +6 -0
  182. package/lib/utils/debug/components/styles.d.ts +1 -0
  183. package/lib/utils/debug/index.d.ts +36 -0
  184. package/lib/utils/debug/storage.d.ts +14 -0
  185. package/lib/utils/decorators/container.d.ts +6 -0
  186. package/lib/utils/decorators/container.js +5 -5
  187. package/lib/utils/decorators/masters.d.ts +2 -0
  188. package/lib/utils/decorators/styles.d.ts +2 -0
  189. package/lib/utils/login.d.ts +3 -0
  190. package/lib/utils/storage.d.ts +14 -0
  191. package/package.json +27 -20
  192. package/lib/app/tvos/Advertisement.js +0 -88
  193. package/lib/app/tvos/AdvertisementUI.js +0 -40
  194. package/lib/app/tvos/index.d.ts +0 -16
  195. package/lib/app/tvos/index.js +0 -23
  196. package/lib/app/tvos/story.d.ts +0 -6
  197. package/lib/app/tvos/story.js +0 -34
  198. package/lib/app/tvos/styles.js +0 -4
  199. package/lib/app/tvos/ui/Layout/index.js +0 -76
  200. package/lib/app/tvos/ui/Sidebar/PromoAction.d.ts +0 -2
  201. package/lib/app/tvos/ui/Sidebar/PromoAction.js +0 -62
  202. package/lib/app/tvos/ui/Sidebar/index.js +0 -114
  203. /package/lib/app/{tvos → webos}/styles.d.ts +0 -0
  204. /package/lib/app/{tvos → webos}/ui/Layout/index.d.ts +0 -0
  205. /package/lib/app/{tvos → webos}/ui/Layout/styles.d.ts +0 -0
@@ -0,0 +1,93 @@
1
+ import { jsx as e, jsxs as p } from "react/jsx-runtime";
2
+ import { cx as E } from "@linaria/core";
3
+ import { useFocusable as x } from "@noriginmedia/norigin-spatial-navigation";
4
+ import { useState as A, useRef as y, useEffect as l } from "react";
5
+ import { eventBus as P } from "@streamlayer/sdk-web-interfaces";
6
+ import { useGAMPlayer as T } from "../../../ui/advertisement/overlay/externalAd/vast-player/useGAMPlayer.js";
7
+ import { PauseAdOverlay as b, PauseAdContent as g, PauseAdGradientLeft as w, PauseAdGradientRight as k, PauseAdGradientBottom as B, PauseAdTopLeft as L, PauseAdTitle as S, PauseAdCaption as C, PauseAdBottomLeft as G, PauseAdPlayButton as R, PauseAdSidebar as D, ExternalAdContainer as F } from "./styles.js";
8
+ const I = ({ vastUrl: n }) => {
9
+ const r = y(null), [, , u] = T(r, n);
10
+ return l(() => {
11
+ u && u();
12
+ }, [u]), /* @__PURE__ */ e(F, { ref: r });
13
+ }, M = ({ isClosing: n, title: r, caption: u, onPlay: f, onClose: o, vastUrl: m }) => {
14
+ const { ref: t, focusSelf: a } = x({
15
+ focusKey: "sl-pause-ad-play",
16
+ onEnterRelease: f,
17
+ isFocusBoundary: !0,
18
+ forceFocus: !0
19
+ });
20
+ return l(() => {
21
+ t.current && a();
22
+ }, [t, a]), l(() => {
23
+ const d = (s) => {
24
+ const i = s.keyCode;
25
+ if (i === 461 || i === 10009 || i === 27) {
26
+ s.preventDefault(), s.stopPropagation(), s.stopImmediatePropagation(), o == null || o();
27
+ return;
28
+ }
29
+ };
30
+ return window.addEventListener("keydown", d, { capture: !0 }), () => window.removeEventListener("keydown", d, { capture: !0 });
31
+ }, [o]), /* @__PURE__ */ e(b, { className: E(n && "pause-ad-closing"), children: /* @__PURE__ */ p(g, { children: [
32
+ /* @__PURE__ */ e(w, {}),
33
+ /* @__PURE__ */ e(k, {}),
34
+ /* @__PURE__ */ e(B, {}),
35
+ /* @__PURE__ */ p(L, { children: [
36
+ /* @__PURE__ */ e(S, { children: r }),
37
+ /* @__PURE__ */ e(C, { children: u })
38
+ ] }),
39
+ /* @__PURE__ */ e(G, { children: /* @__PURE__ */ e(
40
+ R,
41
+ {
42
+ ref: t,
43
+ onClick: f,
44
+ onMouseEnter: () => t.current.focus(),
45
+ "aria-label": "Resume playback"
46
+ }
47
+ ) }),
48
+ /* @__PURE__ */ p(D, { children: [
49
+ m && /* @__PURE__ */ e(I, { vastUrl: m }),
50
+ /* @__PURE__ */ e("span", { children: "ADVERTISEMENT" })
51
+ ] })
52
+ ] }) });
53
+ }, z = ({
54
+ showPauseAd: n,
55
+ vastUrls: r,
56
+ title: u,
57
+ caption: f,
58
+ onPlay: o,
59
+ onClose: m,
60
+ onRender: t
61
+ }) => {
62
+ const [a, d] = A(!1), [s, i] = A(!1), c = y();
63
+ l(() => (c.current && clearTimeout(c.current), n ? (P.emit("exposedPauseAd", {
64
+ action: "enabled",
65
+ payload: {}
66
+ }), c.current = setTimeout(() => {
67
+ i(!1), d(!0);
68
+ }, 5e3)) : (P.emit("exposedPauseAd", {
69
+ action: "disabled",
70
+ payload: {}
71
+ }), i(!0), c.current = setTimeout(() => {
72
+ d(!1);
73
+ }, 400)), () => {
74
+ c.current && clearTimeout(c.current);
75
+ }), [n]), l(() => {
76
+ t == null || t({ rendered: a });
77
+ }, [a, t]);
78
+ const h = r == null ? void 0 : r[0].url;
79
+ return a ? /* @__PURE__ */ e(
80
+ M,
81
+ {
82
+ onClose: m,
83
+ isClosing: s,
84
+ title: u,
85
+ caption: f,
86
+ onPlay: o,
87
+ vastUrl: h
88
+ }
89
+ ) : null;
90
+ };
91
+ export {
92
+ z as PauseAd
93
+ };
@@ -0,0 +1,12 @@
1
+ export declare const PauseAdOverlay: import('@linaria/react').StyledComponent<import('react').ClassAttributes<HTMLDivElement> & import('react').HTMLAttributes<HTMLDivElement> & Record<never, unknown>>;
2
+ export declare const PauseAdContent: import('@linaria/react').StyledComponent<import('react').ClassAttributes<HTMLDivElement> & import('react').HTMLAttributes<HTMLDivElement> & Record<never, unknown>>;
3
+ export declare const PauseAdGradientLeft: import('@linaria/react').StyledComponent<import('react').ClassAttributes<HTMLDivElement> & import('react').HTMLAttributes<HTMLDivElement> & Record<never, unknown>>;
4
+ export declare const PauseAdGradientRight: import('@linaria/react').StyledComponent<import('react').ClassAttributes<HTMLDivElement> & import('react').HTMLAttributes<HTMLDivElement> & Record<never, unknown>>;
5
+ export declare const PauseAdGradientBottom: import('@linaria/react').StyledComponent<import('react').ClassAttributes<HTMLDivElement> & import('react').HTMLAttributes<HTMLDivElement> & Record<never, unknown>>;
6
+ export declare const PauseAdTopLeft: import('@linaria/react').StyledComponent<import('react').ClassAttributes<HTMLDivElement> & import('react').HTMLAttributes<HTMLDivElement> & Record<never, unknown>>;
7
+ export declare const PauseAdTitle: import('@linaria/react').StyledComponent<import('react').ClassAttributes<HTMLHeadingElement> & import('react').HTMLAttributes<HTMLHeadingElement> & Record<never, unknown>>;
8
+ export declare const PauseAdCaption: import('@linaria/react').StyledComponent<import('react').ClassAttributes<HTMLParagraphElement> & import('react').HTMLAttributes<HTMLParagraphElement> & Record<never, unknown>>;
9
+ export declare const PauseAdBottomLeft: import('@linaria/react').StyledComponent<import('react').ClassAttributes<HTMLDivElement> & import('react').HTMLAttributes<HTMLDivElement> & Record<never, unknown>>;
10
+ export declare const PauseAdPlayButton: import('@linaria/react').StyledComponent<import('react').ClassAttributes<HTMLButtonElement> & import('react').ButtonHTMLAttributes<HTMLButtonElement> & Record<never, unknown>>;
11
+ export declare const PauseAdSidebar: import('@linaria/react').StyledComponent<import('react').ClassAttributes<HTMLDivElement> & import('react').HTMLAttributes<HTMLDivElement> & Record<never, unknown>>;
12
+ export declare const ExternalAdContainer: import('@linaria/react').StyledComponent<import('react').ClassAttributes<HTMLDivElement> & import('react').HTMLAttributes<HTMLDivElement> & Record<never, unknown>>;
@@ -0,0 +1,64 @@
1
+ import { styled as s } from "@linaria/react";
2
+ const e = /* @__PURE__ */ s("div")({
3
+ name: "PauseAdOverlay",
4
+ class: "pw9gih8",
5
+ propsAsIs: !1
6
+ }), t = /* @__PURE__ */ s("div")({
7
+ name: "PauseAdContent",
8
+ class: "p8lpomy",
9
+ propsAsIs: !1
10
+ }), o = /* @__PURE__ */ s("div")({
11
+ name: "PauseAdGradientLeft",
12
+ class: "pv7u167",
13
+ propsAsIs: !1
14
+ }), n = /* @__PURE__ */ s("div")({
15
+ name: "PauseAdGradientRight",
16
+ class: "p1kh2yb0",
17
+ propsAsIs: !1
18
+ }), d = /* @__PURE__ */ s("div")({
19
+ name: "PauseAdGradientBottom",
20
+ class: "pl8f94x",
21
+ propsAsIs: !1
22
+ }), p = /* @__PURE__ */ s("div")({
23
+ name: "PauseAdTopLeft",
24
+ class: "p1m6zmrt",
25
+ propsAsIs: !1
26
+ }), l = /* @__PURE__ */ s("h2")({
27
+ name: "PauseAdTitle",
28
+ class: "pm3vwfa",
29
+ propsAsIs: !1
30
+ }), A = /* @__PURE__ */ s("p")({
31
+ name: "PauseAdCaption",
32
+ class: "p1tibuhw",
33
+ propsAsIs: !1
34
+ }), r = /* @__PURE__ */ s("div")({
35
+ name: "PauseAdBottomLeft",
36
+ class: "ptqqrqd",
37
+ propsAsIs: !1
38
+ }), i = /* @__PURE__ */ s("button")({
39
+ name: "PauseAdPlayButton",
40
+ class: "p14estxv",
41
+ propsAsIs: !1
42
+ }), u = /* @__PURE__ */ s("div")({
43
+ name: "PauseAdSidebar",
44
+ class: "p1dpvfl1",
45
+ propsAsIs: !1
46
+ }), c = /* @__PURE__ */ s("div")({
47
+ name: "ExternalAdContainer",
48
+ class: "ezfmabr",
49
+ propsAsIs: !1
50
+ });
51
+ export {
52
+ c as ExternalAdContainer,
53
+ r as PauseAdBottomLeft,
54
+ A as PauseAdCaption,
55
+ t as PauseAdContent,
56
+ d as PauseAdGradientBottom,
57
+ o as PauseAdGradientLeft,
58
+ n as PauseAdGradientRight,
59
+ e as PauseAdOverlay,
60
+ i as PauseAdPlayButton,
61
+ u as PauseAdSidebar,
62
+ l as PauseAdTitle,
63
+ p as PauseAdTopLeft
64
+ };
@@ -0,0 +1,9 @@
1
+ import { StreamLayerSDK } from '@streamlayer/sdk-web-interfaces';
2
+ export type StreamLayerSDKQuestionProps = {
3
+ persistent?: boolean;
4
+ skipAutoClose?: boolean;
5
+ };
6
+ export declare const StreamLayerSDKQuestionWebOS: React.FC<StreamLayerSDKQuestionProps & {
7
+ sdk: StreamLayerSDK;
8
+ notification?: boolean;
9
+ }>;
@@ -0,0 +1,56 @@
1
+ import { jsx as n } from "react/jsx-runtime";
2
+ import { styled as I } from "@linaria/react";
3
+ import { Question as b } from "../../app/Features/Gamification/Question.js";
4
+ import { useHideTransition as h } from "../../../hooks/showIn.js";
5
+ import { useState as q, useMemo as w, useEffect as d } from "react";
6
+ import { useStore as l } from "@streamlayer/react-polyfills";
7
+ import { eventBus as C } from "@streamlayer/sdk-web-interfaces";
8
+ import { FeatureType as x, AdUnit as E } from "@streamlayer/sdk-web-types";
9
+ import { InAppNotification as O } from "../../../ui/gamification/question/inapp/notification/AdNotification/index.js";
10
+ import { ShowIn as Q } from "../../../ui/show-in/index.js";
11
+ const j = () => Q, D = /* @__PURE__ */ I(j())({
12
+ name: "OpenedContainer",
13
+ class: "osyjgip",
14
+ propsAsIs: !0
15
+ }), W = ({
16
+ sdk: e,
17
+ notification: r
18
+ }) => {
19
+ var s, a, p, u, m, f, c;
20
+ const A = l(e.featuresList.getStore()), {
21
+ hiding: S,
22
+ onAnimationEnd: y,
23
+ finished: i
24
+ } = h(), [T] = q(e.getNotificationsStore()), g = l(T), t = w(() => e.getActiveNotification(), [e, g]);
25
+ d(() => {
26
+ t && C.emit("notification", {
27
+ action: "rendered",
28
+ payload: {
29
+ questionId: t.data.questionId,
30
+ questionType: t.data.questionType
31
+ }
32
+ });
33
+ }, [t]);
34
+ const o = e.getFeature(x.GAMES);
35
+ return d(() => {
36
+ i && (o == null || o.closeQuestion());
37
+ }, [i, o]), !A || !o ? null : r && t && ((s = t.data.inApp) == null ? void 0 : s.adUnit) === E.STANDART ? /* @__PURE__ */ n(O, {
38
+ ...t.data,
39
+ action: t.action,
40
+ close: t.close,
41
+ color: ((u = (p = (a = t == null ? void 0 : t.data) == null ? void 0 : a.inApp) == null ? void 0 : p.notification) == null ? void 0 : u.indicatorColor) || ((c = (f = (m = t == null ? void 0 : t.data) == null ? void 0 : m.inApp) == null ? void 0 : f.appearance) == null ? void 0 : c.primaryColor) || "",
42
+ webos: !0
43
+ }) : r ? null : /* @__PURE__ */ n(D, {
44
+ hiding: S,
45
+ onAnimationEnd: y,
46
+ children: /* @__PURE__ */ n(b, {
47
+ sdk: e,
48
+ gamification: o,
49
+ className: "webos",
50
+ webos: !0
51
+ })
52
+ });
53
+ };
54
+ export {
55
+ W as StreamLayerSDKQuestionWebOS
56
+ };
@@ -0,0 +1,24 @@
1
+ import { Component } from 'react';
2
+ import { StreamLayerSDK } from '@streamlayer/sdk-web-interfaces';
3
+ import { PauseAdProps } from './ExposedPauseAd/PauseAd';
4
+ export type StreamLayerSDKTvProps = {
5
+ persistent?: boolean;
6
+ children: React.ReactNode;
7
+ sdk: StreamLayerSDK;
8
+ showPauseAd?: boolean;
9
+ pauseAdVastUrl?: PauseAdProps['vastUrls'];
10
+ onClosePauseAd?: () => void;
11
+ onRenderPauseAd?: (params: {
12
+ rendered: boolean;
13
+ }) => void;
14
+ };
15
+ export declare class StreamLayerSDKTv extends Component<StreamLayerSDKTvProps, {
16
+ hasError: boolean;
17
+ }> {
18
+ constructor(props: StreamLayerSDKTvProps);
19
+ static getDerivedStateFromError(): {
20
+ hasError: boolean;
21
+ };
22
+ componentDidCatch(error: Error, info: React.ErrorInfo): void;
23
+ render(): string | number | boolean | Iterable<import('react').ReactNode> | import("react/jsx-runtime").JSX.Element | null | undefined;
24
+ }
@@ -0,0 +1,65 @@
1
+ import { jsx as t, jsxs as l } from "react/jsx-runtime";
2
+ import { init as p } from "@noriginmedia/norigin-spatial-navigation";
3
+ import { Layout as y } from "../app/Layout/index.js";
4
+ import { Component as b, useCallback as c } from "react";
5
+ import { StreamLayerSDKAdvertisementWebOS as i } from "./Advertisement/index.js";
6
+ import { PauseAd as D } from "./ExposedPauseAd/PauseAd.js";
7
+ import { StreamLayerSDKQuestionWebOS as u } from "./Question/index.js";
8
+ p({
9
+ shouldFocusDOMNode: !0
10
+ });
11
+ const v = ({
12
+ persistent: e,
13
+ children: o,
14
+ sdk: r,
15
+ showPauseAd: f,
16
+ pauseAdVastUrl: m,
17
+ onClosePauseAd: a,
18
+ onRenderPauseAd: h
19
+ }) => {
20
+ const S = c(() => {
21
+ a == null || a();
22
+ }, [a]), s = c(() => {
23
+ r.controlVideoPlayer({ play: !0 });
24
+ }, [r]);
25
+ return /* @__PURE__ */ l(
26
+ y,
27
+ {
28
+ sdk: r,
29
+ sidebar: ({ promo: n }) => n ? /* @__PURE__ */ t(i, { sdk: r, persistent: e, sidebar: "right" }) : /* @__PURE__ */ t(u, { sdk: r, persistent: e }),
30
+ notification: ({ promo: n }) => n ? /* @__PURE__ */ t(i, { sdk: r, notification: !0, persistent: e }) : /* @__PURE__ */ t(u, { notification: !0, sdk: r, persistent: e }),
31
+ banner: /* @__PURE__ */ t(i, { sdk: r, persistent: e, banner: "bottom" }),
32
+ webos: !0,
33
+ children: [
34
+ o,
35
+ m && /* @__PURE__ */ t(
36
+ D,
37
+ {
38
+ showPauseAd: f,
39
+ vastUrls: m,
40
+ onClose: S,
41
+ onRender: h,
42
+ onPlay: s
43
+ }
44
+ )
45
+ ]
46
+ }
47
+ );
48
+ };
49
+ class g extends b {
50
+ constructor(o) {
51
+ super(o), this.state = { hasError: !1 };
52
+ }
53
+ static getDerivedStateFromError() {
54
+ return { hasError: !0 };
55
+ }
56
+ componentDidCatch(o, r) {
57
+ console.error("StreamLayerSDKTv error:", o, r.componentStack);
58
+ }
59
+ render() {
60
+ return this.state.hasError ? this.props.children : /* @__PURE__ */ t(v, { ...this.props });
61
+ }
62
+ }
63
+ export {
64
+ g as StreamLayerSDKTv
65
+ };
@@ -0,0 +1,9 @@
1
+ export declare const Player: React.FC<{
2
+ src: string;
3
+ }>;
4
+ export declare const WebOSStory: React.FC<{
5
+ sdkKey?: string;
6
+ eventId?: string;
7
+ production?: boolean;
8
+ persistent?: boolean;
9
+ }>;
@@ -0,0 +1,74 @@
1
+ import { jsx as n } from "react/jsx-runtime";
2
+ import i from "hls.js";
3
+ import { useRef as m, useState as d, useEffect as u } from "react";
4
+ import { StreamLayerProvider as p, useStreamLayer as l, useStreamLayerUI as f } from "@streamlayer/react";
5
+ import { useStreamLayerDebug as y } from "../../utils/debug/index.js";
6
+ import { StreamLayerSDKTv as S } from "./index.js";
7
+ const h = ({ src: r }) => {
8
+ const e = m(), s = m(), [t, o] = d(r);
9
+ return u(() => {
10
+ o(r);
11
+ }, [r]), u(() => () => {
12
+ s.current && clearTimeout(s.current);
13
+ }, []), u(() => {
14
+ if (t && t.includes("m3u8"))
15
+ if (i.isSupported() && e.current) {
16
+ const a = new i({
17
+ debug: !1
18
+ });
19
+ a.loadSource(t), a.attachMedia(e.current);
20
+ } else
21
+ o("");
22
+ e.current && (e.current.volume = 0.1, e.current.play().catch((a) => {
23
+ var c;
24
+ console.error(a), (c = e.current) == null || c.play();
25
+ }));
26
+ }, [t]), /* @__PURE__ */ n(
27
+ "video",
28
+ {
29
+ src: t || "https://storage.googleapis.com/cdn.streamlayer.io/assets/sdk-web/Own%20The%20Game%201080p%20RF18.mp4",
30
+ ref: e,
31
+ style: { width: "100%", height: "100%", borderRadius: 10, objectFit: "contain" },
32
+ autoPlay: !0,
33
+ "data-testid": "video-frame",
34
+ loop: !0,
35
+ playsInline: !0,
36
+ controlsList: "nodownload nofullscreen noremoteplayback",
37
+ controls: !0
38
+ }
39
+ );
40
+ }, b = () => {
41
+ const r = l(), [e, s] = d("");
42
+ return u(() => r ? r.streamSummary().subscribe((t) => {
43
+ var o, a;
44
+ (a = (o = t.data) == null ? void 0 : o.summary) != null && a.stream && s(t.data.summary.stream);
45
+ }) : () => {
46
+ }, [r]), /* @__PURE__ */ n(
47
+ h,
48
+ {
49
+ src: e || "https://storage.googleapis.com/cdn.streamlayer.io/assets/sdk-web/Own%20The%20Game%201080p%20RF18.mp4"
50
+ }
51
+ );
52
+ }, g = ({ persistent: r }) => {
53
+ const e = l(), s = f();
54
+ return e ? /* @__PURE__ */ n(S, { sdk: e, persistent: r, uiState: s, children: /* @__PURE__ */ n(b, {}) }) : null;
55
+ }, T = ({ sdkKey: r, eventId: e, persistent: s, production: t }) => {
56
+ const o = y({ sdkKey: r, eventId: e, production: t });
57
+ return /* @__PURE__ */ n(
58
+ p,
59
+ {
60
+ event: o.event,
61
+ sdkKey: o.sdkKey,
62
+ production: o.env === "production",
63
+ autoEnable: !0,
64
+ withAd: !0,
65
+ withAdNotification: !0,
66
+ webOS: !0,
67
+ children: /* @__PURE__ */ n(g, { persistent: s })
68
+ }
69
+ );
70
+ };
71
+ export {
72
+ h as Player,
73
+ T as WebOSStory
74
+ };
@@ -0,0 +1,4 @@
1
+ const o = "c1opii5j";
2
+ export {
3
+ o as customTheme
4
+ };
@@ -0,0 +1,78 @@
1
+ import { jsxs as l, jsx as t } from "react/jsx-runtime";
2
+ import { useRef as g, useCallback as N, useEffect as f } from "react";
3
+ import { useStore as R } from "@streamlayer/react-polyfills";
4
+ import { Container as S, ContentContainer as V, VideoContainer as A, AdContainer as k, AdLabel as z, VideoBox as E, VideoPlayer as L, Banner as j, Sidebar as I } from "./styles.js";
5
+ const H = ({ gamification: b, sidebar: x, banner: y, video: C, uiState: h }) => {
6
+ var p, u;
7
+ const r = R(b.advertisement.$store), o = g(null), m = g(null), a = N(() => {
8
+ const e = m.current, i = o.current;
9
+ if (!e || !i)
10
+ return;
11
+ const { width: c, height: w } = e.getBoundingClientRect(), { width: B, height: v } = i.getBoundingClientRect();
12
+ (c > B || w > v) && (e.style.width === "100%" ? (e.style.height = "100%", e.style.width = "auto") : (e.style.width = "100%", e.style.height = "auto"));
13
+ }, []);
14
+ f(() => {
15
+ if (o.current) {
16
+ const e = new ResizeObserver((i) => {
17
+ for (const c of i)
18
+ c.contentBoxSize && a();
19
+ });
20
+ return e.observe(o.current), () => {
21
+ e.disconnect();
22
+ };
23
+ }
24
+ return () => {
25
+ };
26
+ }, [a]), f(a);
27
+ const s = h.promotionSidebar, d = h.promotionBanner, n = !!r.data;
28
+ return /* @__PURE__ */ l(
29
+ S,
30
+ {
31
+ style: { backgroundImage: `url(${(u = (p = r == null ? void 0 : r.data) == null ? void 0 : p.promotion) == null ? void 0 : u.backgroundImageLandscapeUrl})` },
32
+ className: "Container",
33
+ children: [
34
+ /* @__PURE__ */ l(
35
+ V,
36
+ {
37
+ className: "ContentContainer",
38
+ style: {
39
+ width: s ? "calc(100% - var(--sidebar-width-webos))" : "100%"
40
+ },
41
+ children: [
42
+ /* @__PURE__ */ l(
43
+ A,
44
+ {
45
+ className: "VideoContainer",
46
+ ref: o,
47
+ style: {
48
+ height: d ? "calc(100% - var(--banner-height))" : "100%",
49
+ padding: n ? "20px 40px 0" : "0"
50
+ },
51
+ children: [
52
+ n && /* @__PURE__ */ t(k, { children: /* @__PURE__ */ t(z, { children: "Ad" }) }),
53
+ /* @__PURE__ */ t(E, { ref: m, className: "VideoBox", children: /* @__PURE__ */ t(L, { className: "VideoPlayer", children: C }) })
54
+ ]
55
+ }
56
+ ),
57
+ n && /* @__PURE__ */ t(
58
+ j,
59
+ {
60
+ className: "Banner",
61
+ style: {
62
+ height: d ? "var(--banner-height)" : "0px",
63
+ paddingTop: n ? "10px" : "0px"
64
+ },
65
+ children: d && y
66
+ }
67
+ )
68
+ ]
69
+ }
70
+ ),
71
+ n && /* @__PURE__ */ t(I, { style: { width: s ? "var(--sidebar-width-webos)" : "0px" }, className: "Sidebar", children: s && x })
72
+ ]
73
+ }
74
+ );
75
+ };
76
+ export {
77
+ H as SDKLayout
78
+ };
@@ -1,59 +1,59 @@
1
1
  import { styled as s } from "@linaria/react";
2
2
  const a = /* @__PURE__ */ s("div")({
3
3
  name: "Container",
4
- class: "cheo2r6",
4
+ class: "c1obxisu",
5
5
  propsAsIs: !1
6
6
  }), n = /* @__PURE__ */ s("div")({
7
7
  name: "ContentContainer",
8
- class: "c1pvfh8e",
8
+ class: "c1e373pc",
9
9
  propsAsIs: !1
10
10
  }), o = /* @__PURE__ */ s("div")({
11
11
  name: "Sidebar",
12
- class: "s1ew4id0",
12
+ class: "s17z6ieo",
13
13
  propsAsIs: !1
14
- }), r = /* @__PURE__ */ s("div")({
14
+ }), t = /* @__PURE__ */ s("div")({
15
15
  name: "Banner",
16
- class: "bci5mwc",
16
+ class: "b19343i2",
17
17
  propsAsIs: !1
18
- }), t = /* @__PURE__ */ s("div")({
18
+ }), r = /* @__PURE__ */ s("div")({
19
19
  name: "VideoContainer",
20
- class: "v1y91bzn",
20
+ class: "v2g7ow7",
21
21
  propsAsIs: !1
22
- }), d = /* @__PURE__ */ s("div")({
22
+ }), i = /* @__PURE__ */ s("div")({
23
23
  name: "AdSquare",
24
- class: "ak4hw4m",
24
+ class: "a1dsvt0d",
25
25
  propsAsIs: !1
26
- }), i = /* @__PURE__ */ s("text")({
26
+ }), d = /* @__PURE__ */ s("text")({
27
27
  name: "AdText",
28
- class: "a7w4ued",
28
+ class: "aicz97j",
29
29
  propsAsIs: !0
30
- }), c = /* @__PURE__ */ s("div")({
30
+ }), p = /* @__PURE__ */ s("div")({
31
31
  name: "VideoBox",
32
- class: "vqmlsjk",
32
+ class: "vekop6u",
33
33
  propsAsIs: !1
34
- }), l = /* @__PURE__ */ s("div")({
34
+ }), c = /* @__PURE__ */ s("div")({
35
35
  name: "VideoPlayer",
36
- class: "vyn4uy0",
36
+ class: "v10439jy",
37
37
  propsAsIs: !1
38
- }), p = /* @__PURE__ */ s("div")({
38
+ }), l = /* @__PURE__ */ s("div")({
39
39
  name: "AdContainer",
40
- class: "a9sufrb",
40
+ class: "atraheb",
41
41
  propsAsIs: !1
42
42
  }), A = /* @__PURE__ */ s("span")({
43
43
  name: "AdLabel",
44
- class: "acv3bdg",
44
+ class: "a1uehkbk",
45
45
  propsAsIs: !1
46
46
  });
47
47
  export {
48
- p as AdContainer,
48
+ l as AdContainer,
49
49
  A as AdLabel,
50
- d as AdSquare,
51
- i as AdText,
52
- r as Banner,
50
+ i as AdSquare,
51
+ d as AdText,
52
+ t as Banner,
53
53
  a as Container,
54
54
  n as ContentContainer,
55
55
  o as Sidebar,
56
- c as VideoBox,
57
- t as VideoContainer,
58
- l as VideoPlayer
56
+ p as VideoBox,
57
+ r as VideoContainer,
58
+ c as VideoPlayer
59
59
  };
@@ -0,0 +1,7 @@
1
+ import { PromotionOptions } from '@streamlayer/sdk-web-types';
2
+ interface PromoActionProps {
3
+ promotion: PromotionOptions;
4
+ onClose?: () => void;
5
+ }
6
+ export declare const PromoAction: React.FC<PromoActionProps>;
7
+ export {};
@@ -0,0 +1,63 @@
1
+ import { jsxs as n, jsx as c, Fragment as P } from "react/jsx-runtime";
2
+ import { withFocusable as H } from "../../useTvButton.js";
3
+ import { PromotionButtonType as r, PromotionType as _ } from "@streamlayer/sdk-web-types";
4
+ import { QRBlock as u, QR as E, QRDescBlock as A, LearnMore as O, QRHint as C, SendToUserButton as a, EnvelopeIcon as x, SendToUserText as Q } from "./styles.js";
5
+ const W = H(a), i = ({ promotion: e, onClose: M }) => {
6
+ var d, R, h, N, s, B, S, b, I, D, f, L, U;
7
+ const l = e.buttonType, y = e.coupon, t = (d = e.banner) == null ? void 0 : d.url, T = e.type;
8
+ return l === r.BASIC ? /* @__PURE__ */ n(u, { children: [
9
+ t && /* @__PURE__ */ c(E, { value: t }),
10
+ /* @__PURE__ */ n(A, { children: [
11
+ /* @__PURE__ */ c(O, { children: "LEARN MORE" }),
12
+ /* @__PURE__ */ c(C, { children: "SCAN QR CODE WITH YOUR PHONE CAMERA" })
13
+ ] })
14
+ ] }) : l === r.ADD_TO_WALLET ? /* @__PURE__ */ n(u, { children: [
15
+ /* @__PURE__ */ c(E, { value: y }),
16
+ /* @__PURE__ */ n(A, { children: [
17
+ /* @__PURE__ */ c(O, { style: { fontSize: 18, fontWeight: 400 }, children: "ADD TO APPLE WALLET" }),
18
+ /* @__PURE__ */ c(C, { style: { fontSize: 17 }, children: "SCAN QR CODE WITH YOUR PHONE CAMERA" })
19
+ ] })
20
+ ] }) : l === r.SEND_TO_USER && T !== _.INGAME_IAB11_LBAR ? /* @__PURE__ */ n(P, { children: [
21
+ /* @__PURE__ */ n(
22
+ a,
23
+ {
24
+ backgroundColor: (h = (R = e == null ? void 0 : e.banner) == null ? void 0 : R.ctaButton) == null ? void 0 : h.color,
25
+ textColor: (s = (N = e == null ? void 0 : e.banner) == null ? void 0 : N.ctaButton) == null ? void 0 : s.textColor,
26
+ children: [
27
+ /* @__PURE__ */ c(x, {}),
28
+ "SEND INFO TO ACCOUNT EMAIL"
29
+ ]
30
+ }
31
+ ),
32
+ /* @__PURE__ */ n(u, { children: [
33
+ t && /* @__PURE__ */ c(E, { value: t }),
34
+ /* @__PURE__ */ n(A, { children: [
35
+ /* @__PURE__ */ c(O, { children: "LEARN MORE" }),
36
+ /* @__PURE__ */ c(C, { children: "SCAN QR CODE WITH YOUR PHONE CAMERA" })
37
+ ] })
38
+ ] })
39
+ ] }) : l === r.SEND_TO_USER && T === _.INGAME_IAB11_LBAR ? /* @__PURE__ */ n(
40
+ a,
41
+ {
42
+ backgroundColor: (S = (B = e == null ? void 0 : e.banner) == null ? void 0 : B.ctaButton) == null ? void 0 : S.color,
43
+ textColor: (I = (b = e == null ? void 0 : e.banner) == null ? void 0 : b.ctaButton) == null ? void 0 : I.textColor,
44
+ children: [
45
+ /* @__PURE__ */ c(x, {}),
46
+ /* @__PURE__ */ c(Q, { children: "SEND INFO TO ACCOUNT EMAIL" })
47
+ ]
48
+ }
49
+ ) : l === r.RETURN_TO_VIDEO ? /* @__PURE__ */ c(
50
+ W,
51
+ {
52
+ webos: !0,
53
+ autoFocus: !0,
54
+ backgroundColor: (f = (D = e == null ? void 0 : e.banner) == null ? void 0 : D.ctaButton) == null ? void 0 : f.color,
55
+ textColor: (U = (L = e == null ? void 0 : e.banner) == null ? void 0 : L.ctaButton) == null ? void 0 : U.textColor,
56
+ onClick: M,
57
+ children: "BACK TO VIDEO"
58
+ }
59
+ ) : null;
60
+ };
61
+ export {
62
+ i as PromoAction
63
+ };
@@ -1,3 +1,4 @@
1
+ import { Advertisement } from '@streamlayer/feature-gamification';
1
2
  import { PromotionOptions } from '@streamlayer/sdk-web-types';
2
3
  import { ControlVideoCb } from '../../../../ui/video-player';
3
4
  export type OverlayProps = {
@@ -11,5 +12,10 @@ export type OverlayProps = {
11
12
  controlVideo: ControlVideoCb;
12
13
  advertisementPaused: boolean;
13
14
  togglePause: (flag: boolean) => void;
15
+ isEventFired: Advertisement['isEventFired'];
16
+ fireEvent: Advertisement['fireEvent'];
17
+ muted?: boolean;
18
+ toggleMute: (flag: boolean) => void;
19
+ isMuted?: boolean;
14
20
  };
15
21
  export declare const TVSidebar: React.FC<OverlayProps>;