@streamlayer/react-ui 0.96.2 → 0.97.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 (83) hide show
  1. package/lib/assets/style.css +1 -1
  2. package/lib/hooks/analytics.js +50 -0
  3. package/lib/index-z0QjLiEL.js +75 -0
  4. package/lib/ui/app/Features/FeatureProvider.d.ts +1 -0
  5. package/lib/ui/app/Features/FeatureProvider.js +34 -6
  6. package/lib/ui/app/Features/Gamification/Friends.d.ts +0 -2
  7. package/lib/ui/app/Features/Gamification/Friends.js +20 -23
  8. package/lib/ui/app/Features/Gamification/Leaderboard.js +31 -25
  9. package/lib/ui/app/Features/Gamification/Question.js +4 -2
  10. package/lib/ui/app/Features/Gamification/QuestionsList.js +11 -8
  11. package/lib/ui/app/Features/Gamification/Tabs.js +30 -25
  12. package/lib/ui/app/Features/Gamification/UserSummary.js +14 -12
  13. package/lib/ui/app/Features/Gamification/gamification-feature.js +6 -2
  14. package/lib/ui/app/Features/Gamification/index.d.ts +10 -0
  15. package/lib/ui/app/Features/Gamification/index.js +73 -68
  16. package/lib/ui/app/Features/index.d.ts +8 -0
  17. package/lib/ui/app/Features/index.js +112 -16
  18. package/lib/ui/app/Navigation/MastersNavigation/index.js +5 -4
  19. package/lib/ui/app/Navigation/index.js +7 -6
  20. package/lib/ui/app/Notifications/Onboarding/index.d.ts +2 -0
  21. package/lib/ui/app/Notifications/Onboarding/index.js +76 -78
  22. package/lib/ui/app/Notifications/index.js +98 -91
  23. package/lib/ui/app/Points/index.js +20 -17
  24. package/lib/ui/app/masters.js +167 -86
  25. package/lib/ui/app/useMastersApp.js +12 -11
  26. package/lib/ui/app/useSdkFeature.js +13 -16
  27. package/lib/ui/app/useSdkResponsive.js +1 -1
  28. package/lib/ui/app/useSdkScroll.d.ts +1 -1
  29. package/lib/ui/app/useSdkScroll.js +28 -25
  30. package/lib/ui/gamification/invite-link/index.js +26 -12
  31. package/lib/ui/gamification/onboarding/index.d.ts +0 -2
  32. package/lib/ui/gamification/onboarding/index.js +46 -46
  33. package/lib/ui/gamification/onboarding/slides/onboarding-instructions/index.d.ts +2 -2
  34. package/lib/ui/gamification/onboarding/slides/onboarding-instructions/index.js +21 -20
  35. package/lib/ui/gamification/onboarding/slides/onboarding-instructions/styles.d.ts +1 -0
  36. package/lib/ui/gamification/onboarding/slides/onboarding-instructions/styles.js +20 -15
  37. package/lib/ui/gamification/onboarding/slides/onboarding-invite-card/index.d.ts +0 -3
  38. package/lib/ui/gamification/onboarding/slides/onboarding-invite-card/index.js +34 -29
  39. package/lib/ui/gamification/onboarding/slides/onboarding-invite-card/styles.d.ts +0 -3
  40. package/lib/ui/gamification/onboarding/slides/onboarding-invite-card/styles.js +17 -32
  41. package/lib/ui/gamification/points/index.d.ts +1 -0
  42. package/lib/ui/gamification/points/index.js +9 -9
  43. package/lib/ui/gamification/question/index.d.ts +1 -0
  44. package/lib/ui/gamification/question/index.js +31 -24
  45. package/lib/ui/gamification/question/insight/index.js +11 -15
  46. package/lib/ui/gamification/question/list/index.d.ts +3 -1
  47. package/lib/ui/gamification/question/list/index.js +50 -34
  48. package/lib/ui/gamification/question/notification/index.js +23 -25
  49. package/lib/ui/gamification/question/notification/insight/index.js +10 -9
  50. package/lib/ui/gamification/question/notification/tweet/index.js +3 -2
  51. package/lib/ui/gamification/question/styles.d.ts +2 -0
  52. package/lib/ui/gamification/question/styles.js +39 -28
  53. package/lib/ui/gamification/question/twitter/index.js +14 -18
  54. package/lib/ui/gamification/user-statistics/index.d.ts +3 -2
  55. package/lib/ui/gamification/user-statistics/index.js +48 -45
  56. package/lib/ui/gamification/vote/feedback/index.d.ts +3 -2
  57. package/lib/ui/gamification/vote/feedback/index.js +74 -58
  58. package/lib/ui/gamification/vote/feedback/styles.d.ts +2 -0
  59. package/lib/ui/gamification/vote/feedback/styles.js +33 -21
  60. package/lib/ui/gamification/vote/index.js +94 -83
  61. package/lib/ui/gamification/vote/insight-details/index.js +7 -6
  62. package/lib/ui/gamification/vote/twitter-details/index.js +3 -2
  63. package/lib/ui/gamification/vote/vote-option/index.d.ts +2 -1
  64. package/lib/ui/gamification/vote/vote-option/index.js +47 -39
  65. package/lib/ui/icons/index.d.ts +1 -2
  66. package/lib/ui/icons/index.js +122 -49
  67. package/lib/ui/modal/index.js +27 -21
  68. package/lib/ui/navigation/button/Channels.js +6 -5
  69. package/lib/ui/navigation/button/FeaturedGroups.js +4 -3
  70. package/lib/ui/navigation/button/LeaderBoard.js +6 -5
  71. package/lib/ui/navigation/button/index.js +20 -7
  72. package/lib/ui/navigation/button/styles.d.ts +3 -0
  73. package/lib/ui/navigation/button/styles.js +9 -6
  74. package/lib/ui/questions/insight/index.js +16 -16
  75. package/lib/ui/questions/twitter/index.js +3 -2
  76. package/lib/ui/show-in/index.d.ts +2 -0
  77. package/lib/ui/show-in/index.js +24 -14
  78. package/lib/ui/timer/index.js +32 -28
  79. package/lib/ui/video-player/index.js +41 -39
  80. package/lib/ui/video-player/styles.d.ts +1 -0
  81. package/lib/ui/video-player/styles.js +10 -9
  82. package/package.json +22 -21
  83. package/lib/index-keh7OLCY.js +0 -67
@@ -1,19 +1,21 @@
1
- import { jsx as m, jsxs as w, Fragment as b } from "react/jsx-runtime";
1
+ import { jsx as e, jsxs as y, Fragment as q } from "react/jsx-runtime";
2
+ import { cx as P } from "@linaria/core";
2
3
  import { useStore as k } from "@nanostores/react";
3
- import { useState as y, useMemo as O, useEffect as I, useRef as E, useCallback as R } from "react";
4
- import { r as P } from "../../../index-jRXrW6ie.js";
5
- import { NotificationType as g } from "@streamlayer/sdk-web-notifications";
6
- import { useMastersContext as q } from "../useMastersContext.js";
7
- import { scrollIntoAppView as A } from "../useSdkScroll.js";
8
- import { QuestionTypeData as B } from "../../gamification/constants.js";
9
- import { Notification as T } from "../../gamification/question/notification/index.js";
10
- import { PredictionResult as H } from "../../gamification/question/notification/prediction-result/index.js";
11
- import { Onboarding as Q } from "./Onboarding/index.js";
12
- import { Pill as j, HiddenContainer as z, Container as F, InnerContainer as G, NotificationRefreshing as M } from "./styles.js";
4
+ import { useState as I, useMemo as E, useEffect as a, useRef as R, useCallback as O } from "react";
5
+ import { r as x } from "../../../index-jRXrW6ie.js";
6
+ import { eventBus as A } from "@streamlayer/sdk-web-interfaces";
7
+ import { NotificationType as f } from "@streamlayer/sdk-web-notifications";
8
+ import { useMastersContext as B } from "../useMastersContext.js";
9
+ import { scrollIntoAppView as H } from "../useSdkScroll.js";
10
+ import { QuestionTypeData as Q } from "../../gamification/constants.js";
11
+ import { Notification as b } from "../../gamification/question/notification/index.js";
12
+ import { PredictionResult as z } from "../../gamification/question/notification/prediction-result/index.js";
13
+ import { Onboarding as U } from "./Onboarding/index.js";
14
+ import { Pill as j, HiddenContainer as F, Container as L, InnerContainer as M, NotificationRefreshing as _ } from "./styles.js";
13
15
  import "../../../index-uEuzH3jr.js";
14
16
  import "lodash.throttle";
15
17
  import "../../theme/constants.js";
16
- import "../../../index-keh7OLCY.js";
18
+ import "../../../index-z0QjLiEL.js";
17
19
  import "@streamlayer/sdk-web-types";
18
20
  import "../../gamification/question/notification/insight/index.js";
19
21
  import "../../video-player/index.js";
@@ -35,7 +37,6 @@ import "../../gamification/question/notification/prediction-result/animation-lin
35
37
  import "../../gamification/question/notification/prediction-result/animation-lines/styles.js";
36
38
  import "../../gamification/question/notification/prediction-result/styles.js";
37
39
  import "../../show-in/index.js";
38
- import "@linaria/core";
39
40
  import "../useImagesPreload.js";
40
41
  import "../../gamification/onboarding/index.js";
41
42
  import "react-virtualized-auto-sizer";
@@ -46,6 +47,7 @@ import "../../gamification/onboarding/invitingUser/index.js";
46
47
  import "../../gamification/onboarding/invitingUser/styles.js";
47
48
  import "../../gamification/onboarding/slides/onboarding-instructions/styles.js";
48
49
  import "../../gamification/onboarding/slides/onboarding-invite-card/index.js";
50
+ import "../../../hooks/analytics.js";
49
51
  import "../useClipboardCopy.js";
50
52
  import "../../gamification/copyNotification/index.js";
51
53
  import "../../gamification/copyNotification/styles.js";
@@ -62,127 +64,132 @@ import "./Onboarding/Notification/index.js";
62
64
  import "./Onboarding/Notification/styles.js";
63
65
  import "../../gamification/question/notification/pill/index.js";
64
66
  import "../../gamification/question/notification/pill/styles.js";
65
- const U = (p) => {
66
- const [t, n] = y(0), i = E(null), e = R((r) => {
67
- i.current = r;
67
+ const G = (m) => {
68
+ const [t, p] = I(0), i = R(null), n = O((o) => {
69
+ i.current = o;
68
70
  }, []);
69
- I(() => {
70
- var o;
71
- const r = (o = i.current) == null ? void 0 : o.getBoundingClientRect();
72
- r && n(r.height);
73
- }, [p]);
74
- const s = R((r) => {
75
- n(r);
71
+ a(() => {
72
+ var s;
73
+ const o = (s = i.current) == null ? void 0 : s.getBoundingClientRect();
74
+ o && p(o.height);
75
+ }, [m]);
76
+ const l = O((o) => {
77
+ p(o);
76
78
  }, []);
77
- return [e, t, s];
79
+ return [n, t, l];
78
80
  }, K = ({
79
- sdk: p,
81
+ sdk: m,
80
82
  notification: t,
81
- appNode: n,
82
- sdkInDesktopView: i
83
+ appNode: p,
84
+ sdkInDesktopView: i,
85
+ responsiveStore: n
83
86
  }) => {
84
- var c, u;
87
+ var c, g;
85
88
  const {
86
- sdk: e
87
- } = q(), [s, r, o] = U(t.id);
88
- return t.type === g.QUESTION ? /* @__PURE__ */ w(b, {
89
- children: [/* @__PURE__ */ m(z, {
90
- ref: s,
91
- children: /* @__PURE__ */ m(T, {
89
+ sdk: l
90
+ } = B(), [o, s, u] = G(t.id);
91
+ return t.type === f.QUESTION ? /* @__PURE__ */ y(q, {
92
+ children: [/* @__PURE__ */ e(F, {
93
+ ref: o,
94
+ children: /* @__PURE__ */ e(b, {
92
95
  ...t
93
96
  })
94
- }), /* @__PURE__ */ w(F, {
97
+ }), /* @__PURE__ */ y(L, {
95
98
  style: {
96
- height: t.hiding ? 0 : r
99
+ height: t.hiding ? 0 : s
97
100
  },
98
101
  hiding: t.hiding,
99
- children: [/* @__PURE__ */ m(G, {
102
+ children: [/* @__PURE__ */ e(M, {
100
103
  style: {
101
104
  height: "100%"
102
105
  },
103
- children: /* @__PURE__ */ m(T, {
106
+ children: /* @__PURE__ */ e(b, {
104
107
  ...t,
105
- controlVideo: e == null ? void 0 : e.controlVideoPlayer
108
+ controlVideo: l == null ? void 0 : l.controlVideoPlayer
106
109
  })
107
- }), /* @__PURE__ */ m(M, {}, t.id)]
110
+ }), /* @__PURE__ */ e(_, {}, t.id)]
108
111
  })]
109
- }) : t.type === g.QUESTION_RESOLVED && ((u = (c = t.data) == null ? void 0 : c.question) != null && u.predictionResult) ? /* @__PURE__ */ m(H, {
112
+ }) : t.type === f.QUESTION_RESOLVED && ((g = (c = t.data) == null ? void 0 : c.question) != null && g.predictionResult) ? /* @__PURE__ */ e(z, {
110
113
  style: {
111
- height: t.hiding ? 0 : r
114
+ height: t.hiding ? 0 : s
112
115
  },
113
- saveHeight: o,
116
+ saveHeight: u,
114
117
  close: t.close,
115
118
  hiding: t.hiding,
116
119
  ...t.data.question
117
- }) : t.type === g.ONBOARDING ? /* @__PURE__ */ m(Q, {
120
+ }) : t.type === f.ONBOARDING ? /* @__PURE__ */ e(U, {
118
121
  style: {
119
- height: t.hiding ? 0 : r
122
+ height: t.hiding ? 0 : s
120
123
  },
121
- saveHeight: o,
122
- sdk: p,
124
+ saveHeight: u,
125
+ sdk: m,
123
126
  notification: t,
124
127
  sdkInDesktopView: i,
125
- appNode: n
128
+ appNode: p,
129
+ responsiveStore: n
126
130
  }) : null;
127
- }, ti = ({
128
- sdk: p,
131
+ }, S = "p1d7yse1", ni = ({
132
+ sdk: m,
129
133
  headerNode: t,
130
- scrollNode: n,
134
+ scrollNode: p,
131
135
  responsiveStore: i,
132
- appNode: e,
133
- scrollStore: s
136
+ appNode: n,
137
+ scrollStore: l
134
138
  }) => {
135
- const [r] = y(p.getNotificationsStore()), o = k(r), {
136
- tabsShown: c
137
- } = k(s, {
138
- keys: ["tabsShown"]
139
+ const [o] = I(m.getNotificationsStore()), s = k(o), {
140
+ tabsShown: u,
141
+ scrollPosition: c
142
+ } = k(l, {
143
+ keys: ["tabsShown", "scrollPosition"]
139
144
  }), {
140
- sdkInView: u,
141
- sdkInDesktopView: C
145
+ sdkInDesktopView: g,
146
+ screen: w
142
147
  } = k(i, {
143
148
  keys: ["sdkInView", "sdkInDesktopView"]
144
- }), [d, h] = y(null), l = O(() => {
145
- if (!(o != null && o.size))
146
- return null;
147
- for (const a of o.values())
148
- if (a.type === g.ONBOARDING)
149
- return a;
150
- return o.values().next().value;
151
- }, [o]);
152
- I(() => {
153
- l && (i.get().sdkInDesktopView || i.get().sdkInView) && (!i.get().sdkInDesktopView && i.get().sdkInView && h(l), i.get().sdkInDesktopView && window.requestAnimationFrame(() => {
154
- s.get().scrollPosition !== 0 && h(l);
149
+ }), [d, h] = I(null), r = E(() => m.getActiveNotification(), [m, s]);
150
+ a(() => {
151
+ r && A.emit("notification", {
152
+ action: "rendered",
153
+ payload: {
154
+ questionId: r.data.questionId,
155
+ questionType: r.data.questionType
156
+ }
157
+ });
158
+ }, [r]), a(() => {
159
+ r && (i.get().sdkInDesktopView || i.get().sdkInView) && (!i.get().sdkInDesktopView && i.get().sdkInView && h(r), i.get().sdkInDesktopView && window.requestAnimationFrame(() => {
160
+ c !== 0 && h(r);
155
161
  }));
156
- }, [l]), I(() => {
157
- u || h(null);
158
- }, [u]);
159
- const x = O(() => {
160
- var V, D;
161
- const f = i.get().sdkInDesktopView ? e : t;
162
- return d && f.current && P.createPortal(/* @__PURE__ */ m(j, {
163
- title: `New ${((D = B[(V = d.data) == null ? void 0 : V.questionType]) == null ? void 0 : D.label) || "notification"}`,
162
+ }, [r]), a(() => {
163
+ i.get().sdkInDesktopView ? c < 50 && h(null) : c > -50 && h(null);
164
+ }, [c, i]);
165
+ const C = E(() => {
166
+ var D, T;
167
+ const V = i.get().sdkInDesktopView ? n : t;
168
+ return d && V.current && x.createPortal(/* @__PURE__ */ e(j, {
169
+ title: d.type === f.QUESTION_RESOLVED ? "Prediction result" : `New ${((T = Q[(D = d.data) == null ? void 0 : D.questionType]) == null ? void 0 : T.label) || "notification"}`,
164
170
  onClick: () => {
165
171
  var N;
166
- i.get().sdkInDesktopView ? (N = n.current) == null || N.scrollTo({
172
+ i.get().sdkInDesktopView ? (N = p.current) == null || N.scrollTo({
167
173
  top: 0,
168
174
  behavior: "smooth"
169
- }) : A(e, {
175
+ }) : H(n, w.size, {
170
176
  behavior: "smooth"
171
177
  }), h(null);
172
178
  },
173
- className: c ? "c1d7yse1" : void 0
174
- }), f.current) || null;
175
- }, [d, e, t, n, c, i]);
176
- return /* @__PURE__ */ w(b, {
177
- children: [!d && l && /* @__PURE__ */ m(K, {
178
- sdkInDesktopView: C,
179
+ className: P(u && S, "sl-pill-button")
180
+ }), V.current) || null;
181
+ }, [d, n, t, p, u, i, w.size]);
182
+ return /* @__PURE__ */ y(q, {
183
+ children: [!d && r && /* @__PURE__ */ e(K, {
184
+ sdkInDesktopView: g,
179
185
  headerNode: t,
180
- appNode: e,
181
- sdk: p,
182
- notification: l
183
- }), x]
186
+ appNode: n,
187
+ sdk: m,
188
+ notification: r,
189
+ responsiveStore: i
190
+ }), C]
184
191
  });
185
192
  };
186
193
  export {
187
- ti as SDKNotifications
194
+ ni as SDKNotifications
188
195
  };
@@ -1,10 +1,9 @@
1
- import { jsx as s } from "react/jsx-runtime";
2
- import { useState as p, useEffect as u } from "react";
3
- import { FeatureType as a } from "@streamlayer/sdk-web-types";
4
- import { useSdkFeature as c } from "../useSdkFeature.js";
5
- import { Points as f } from "../../gamification/points/index.js";
6
- import "@nanostores/react";
7
- import "@streamlayer/sdk-web-interfaces";
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ import { useStore as a } from "@nanostores/react";
3
+ import { useState as p, useEffect as c } from "react";
4
+ import { FeatureStatus as f } from "@streamlayer/sdk-web-interfaces";
5
+ import { FeatureType as S } from "@streamlayer/sdk-web-types";
6
+ import { Points as l } from "../../gamification/points/index.js";
8
7
  import "../../animated-counter/index.js";
9
8
  import "react-countup";
10
9
  import "../../theme/theme.js";
@@ -13,20 +12,24 @@ import "../../theme/constants.js";
13
12
  import "../../gamification/points/styles.js";
14
13
  import "@linaria/react";
15
14
  import "../../icons/index.js";
16
- const S = ({ userSummary: t }) => {
17
- const [o, r] = p(0);
18
- return u(() => {
19
- const n = t.subscribe((i) => {
20
- var e, m;
21
- (m = (e = i.data) == null ? void 0 : e.summary) != null && m.points && r(i.data.summary.points);
15
+ const y = ({ gamification: t }) => {
16
+ const e = t.userSummary.getStore(), [r, n] = p(0);
17
+ return c(() => {
18
+ const u = e.subscribe((o) => {
19
+ var s, m;
20
+ (m = (s = o.data) == null ? void 0 : s.summary) != null && m.points && n(o.data.summary.points);
22
21
  });
23
22
  return () => {
24
- n();
23
+ u();
25
24
  };
26
- }, [t]), /* @__PURE__ */ s(f, { points: o });
25
+ }, [e]), /* @__PURE__ */ i(l, { points: r, onClick: () => {
26
+ t.status.get() === f.Suspended && t.openFeature();
27
+ } });
27
28
  }, A = ({ sdk: t }) => {
28
- const [o, r] = c(t);
29
- return o !== a.GAMES || !r ? null : /* @__PURE__ */ s(S, { userSummary: r.userSummary.getStore() });
29
+ if (!a(t.featuresList.getStore()))
30
+ return null;
31
+ const r = t.getFeature(S.GAMES);
32
+ return r ? /* @__PURE__ */ i(y, { gamification: r }) : null;
30
33
  };
31
34
  export {
32
35
  A as StreamLayerSDKPoints
@@ -1,150 +1,231 @@
1
- import { jsx as r, jsxs as f } from "react/jsx-runtime";
2
- import { useRef as u, useEffect as C, useMemo as x } from "react";
3
- import { resetCss as v } from "../theme/theme.js";
4
- import { ActiveFeature as A } from "./Features/index.js";
5
- import { MastersNavigation as I } from "./Navigation/MastersNavigation/index.js";
6
- import { SDKNotifications as M } from "./Notifications/index.js";
7
- import { SDKContainer as B, SDKScrollContainer as F } from "./styles.js";
8
- import { useMastersApp as j } from "./useMastersApp.js";
9
- import { MastersContext as D } from "./useMastersContext.js";
10
- import { useSdkFeature as E } from "./useSdkFeature.js";
11
- import { useSdkResponsive as K } from "./useSdkResponsive.js";
12
- import { useSdkScroll as L } from "./useSdkScroll.js";
13
- import { ChannelsButtonId as O } from "../navigation/button/Channels.js";
14
- import { LeaderBoardButtonId as R } from "../navigation/button/LeaderBoard.js";
15
- import { FeaturedGroupsButtonId as T } from "../navigation/button/FeaturedGroups.js";
16
- import "../theme/breakpoints.js";
1
+ import { jsx as m, jsxs as v } from "react/jsx-runtime";
2
+ import { useStore as C } from "@nanostores/react";
3
+ import { useAnalyticsListener as d, newTabLinkListener as A, appScrollListener as F, appClickListener as x } from "../../hooks/analytics.js";
4
+ import { useRef as S, useEffect as b, useMemo as D } from "react";
5
+ import { resetCss as f } from "../theme/theme.js";
6
+ import { ActiveFeature as I, StandaloneFeature as M } from "./Features/index.js";
7
+ import { MastersNavigation as B } from "./Navigation/MastersNavigation/index.js";
8
+ import { SDKNotifications as j } from "./Notifications/index.js";
9
+ import { SDKContainer as k, SDKScrollContainer as E } from "./styles.js";
10
+ import { useMastersApp as K } from "./useMastersApp.js";
11
+ import { MastersContext as O } from "./useMastersContext.js";
12
+ import { useSdkFeature as R } from "./useSdkFeature.js";
13
+ import { useSdkResponsive as T } from "./useSdkResponsive.js";
14
+ import { useSdkScroll as w } from "./useSdkScroll.js";
15
+ import { ChannelsButtonId as G } from "../navigation/button/Channels.js";
16
+ import { LeaderBoardButtonId as P } from "../navigation/button/LeaderBoard.js";
17
+ import { FeaturedGroupsButtonId as V } from "../navigation/button/FeaturedGroups.js";
18
+ import "lodash.throttle";
19
+ import "@streamlayer/sdk-web-interfaces";
17
20
  import "../theme/constants.js";
21
+ import "../theme/breakpoints.js";
18
22
  import "@streamlayer/sdk-web-types";
19
23
  import "./Features/FeatureProvider.js";
20
- import "@nanostores/react";
21
- import "@streamlayer/sdk-web-interfaces";
22
- import "../navigation/masters.js";
23
24
  import "@linaria/react";
24
- import "../navigation/index.js";
25
+ import "./Features/Gamification/index.js";
26
+ import "../gamification/detail/header/index.js";
27
+ import "../gamification/constants.js";
28
+ import "../gamification/detail/header/styles.js";
25
29
  import "../icons/index.js";
26
- import "../navigation/button/index.js";
27
- import "../navigation/button/styles.js";
30
+ import "../gamification/user-statistics/index.js";
31
+ import "../skeleton/index.js";
32
+ import "../skeleton/styles.js";
33
+ import "../../utils/common.js";
34
+ import "../gamification/user-statistics/components/rank/index.js";
35
+ import "../gamification/user-statistics/components/rank/styles.js";
36
+ import "../gamification/user-statistics/components/statistic/index.js";
37
+ import "../gamification/user-statistics/components/statistic/styles.js";
38
+ import "../gamification/user-statistics/styles.js";
39
+ import "../modal/index.js";
40
+ import "@linaria/core";
28
41
  import "../../index-jRXrW6ie.js";
29
42
  import "../../index-uEuzH3jr.js";
30
- import "@streamlayer/sdk-web-notifications";
31
- import "../gamification/constants.js";
32
- import "../gamification/question/notification/index.js";
33
- import "../gamification/question/notification/insight/index.js";
43
+ import "../show-in/index.js";
44
+ import "./Features/Gamification/Question.js";
45
+ import "../gamification/detail/sponsor/index.js";
46
+ import "../gamification/vote/index.js";
47
+ import "../gamification/vote/expired-alert/index.js";
48
+ import "../gamification/vote/expired-alert/styles.js";
49
+ import "../gamification/vote/feedback/index.js";
50
+ import "../gamification/vote/feedback/styles.js";
51
+ import "../gamification/vote/styles.js";
52
+ import "../gamification/vote/vote-option/index.js";
53
+ import "../animated-counter/index.js";
54
+ import "react-countup";
55
+ import "../gamification/vote/vote-option/styles.js";
56
+ import "../gamification/vote/win-bar/index.js";
57
+ import "../timer/index.js";
58
+ import "react-countdown-circle-timer";
59
+ import "../gamification/vote/win-bar/styles.js";
60
+ import "../gamification/vote/insight-details/index.js";
61
+ import "../questions/insight/index.js";
34
62
  import "../video-player/index.js";
35
63
  import "../video-player/styles.js";
36
- import "../gamification/question/notification/insight/styles.js";
37
- import "../gamification/question/notification/styles.js";
38
- import "../gamification/question/notification/tweet/index.js";
64
+ import "../questions/insight/styles.js";
65
+ import "../gamification/vote/insight-details/styles.js";
66
+ import "../gamification/vote/twitter-details/index.js";
39
67
  import "../questions/twitter/index.js";
40
68
  import "../questions/twitter/account/index.js";
41
- import "../../utils/common.js";
42
69
  import "../questions/twitter/account/styles.js";
43
70
  import "../questions/twitter/styles.js";
71
+ import "../gamification/vote/twitter-details/styles.js";
72
+ import "./Features/Gamification/Tabs.js";
73
+ import "../gamification/tabs/index.js";
74
+ import "../gamification/tabs/styles.js";
75
+ import "./Features/Gamification/Leaderboard.js";
76
+ import "./useClipboardCopy.js";
77
+ import "../gamification/copyNotification/index.js";
78
+ import "../gamification/copyNotification/styles.js";
79
+ import "../gamification/invite-link/index.js";
80
+ import "../gamification/invite-link/styles.js";
81
+ import "react-virtualized-auto-sizer";
82
+ import "react-window";
83
+ import "react-window-infinite-loader";
84
+ import "../gamification/leaderboard/list-item/styles.js";
85
+ import "../../styles_z07sl8-w40geAFS.js";
86
+ import "../gamification/leaderboard/static.js";
87
+ import "react-infinite-scroller";
88
+ import "../gamification/leaderboard/list-item/index.js";
89
+ import "./Features/Gamification/Friends.js";
90
+ import "../gamification/onboarding/slides/onboarding-invite-card/index.js";
91
+ import "../gamification/onboarding/slides/onboarding-invite-card/styles.js";
92
+ import "./Features/Gamification/QuestionsList.js";
93
+ import "../gamification/question/list/index.js";
94
+ import "../gamification/question/index.js";
95
+ import "../gamification/question/styles.js";
96
+ import "../gamification/question/insight/index.js";
97
+ import "../gamification/question/insight/styles.js";
98
+ import "../gamification/question/twitter/index.js";
99
+ import "../gamification/question/twitter/styles.js";
100
+ import "../button/index.js";
101
+ import "../button/styles.js";
102
+ import "../gamification/question/list/styles.js";
103
+ import "./Features/Gamification/UserSummary.js";
104
+ import "../navigation/masters.js";
105
+ import "../navigation/index.js";
106
+ import "../navigation/button/index.js";
107
+ import "../navigation/button/styles.js";
108
+ import "@streamlayer/sdk-web-notifications";
109
+ import "../gamification/question/notification/index.js";
110
+ import "../gamification/question/notification/insight/index.js";
111
+ import "../gamification/question/notification/insight/styles.js";
112
+ import "../gamification/question/notification/styles.js";
113
+ import "../gamification/question/notification/tweet/index.js";
44
114
  import "../gamification/question/notification/tweet/styles.js";
45
115
  import "../gamification/question/notification/prediction-result/index.js";
46
- import "../animated-counter/index.js";
47
- import "react-countup";
48
116
  import "../gamification/question/notification/prediction-result/animation-lines/index.js";
49
117
  import "../gamification/question/notification/prediction-result/animation-lines/styles.js";
50
118
  import "../gamification/question/notification/prediction-result/styles.js";
51
- import "../show-in/index.js";
52
- import "@linaria/core";
53
119
  import "./Notifications/Onboarding/index.js";
54
120
  import "./useImagesPreload.js";
55
121
  import "../gamification/onboarding/index.js";
56
- import "react-virtualized-auto-sizer";
57
- import "../skeleton/index.js";
58
- import "../skeleton/styles.js";
59
122
  import "../gamification/onboarding/slides/onboarding-instructions/index.js";
60
123
  import "../gamification/onboarding/invitingUser/index.js";
61
124
  import "../gamification/onboarding/invitingUser/styles.js";
62
125
  import "../gamification/onboarding/slides/onboarding-instructions/styles.js";
63
- import "../gamification/onboarding/slides/onboarding-invite-card/index.js";
64
- import "./useClipboardCopy.js";
65
- import "../gamification/copyNotification/index.js";
66
- import "../gamification/copyNotification/styles.js";
67
- import "../gamification/onboarding/slides/onboarding-invite-card/styles.js";
68
126
  import "../gamification/onboarding/slides/onboarding-rules/index.js";
69
127
  import "../gamification/onboarding/slides/onboarding-rules/styles.js";
70
128
  import "../gamification/onboarding/slides/onboarding-terms/index.js";
71
129
  import "../gamification/onboarding/slides/onboarding-terms/styles.js";
72
130
  import "../gamification/onboarding/styles.js";
73
- import "../button/index.js";
74
- import "../button/styles.js";
75
- import "../modal/index.js";
76
131
  import "./Notifications/Onboarding/Notification/index.js";
77
132
  import "./Notifications/Onboarding/Notification/styles.js";
78
133
  import "./Notifications/styles.js";
79
134
  import "../gamification/question/notification/pill/index.js";
80
135
  import "../gamification/question/notification/pill/styles.js";
81
- import "lodash.throttle";
82
- import "../../index-keh7OLCY.js";
83
- const b = ({ sdk: t, className: s, scrollStore: a, appNode: o, scrollNode: p, headerNode: i, responsiveStore: m }) => {
84
- const [, n] = E(t);
85
- return /* @__PURE__ */ r(
86
- A,
136
+ import "../../index-z0QjLiEL.js";
137
+ const W = ({ sdk: t, className: n, scrollStore: s, appNode: r, scrollNode: p, headerNode: i, responsiveStore: o }) => {
138
+ const [, l] = R(t);
139
+ return /* @__PURE__ */ m(
140
+ I,
87
141
  {
88
- className: s,
142
+ className: n,
89
143
  scrollNode: p,
90
- appNode: o,
91
- scrollStore: a,
92
- feature: n,
144
+ appNode: r,
145
+ scrollStore: s,
146
+ feature: l,
93
147
  headerNode: i,
94
- responsiveStore: m,
148
+ responsiveStore: o,
95
149
  sdk: t
96
150
  }
97
151
  );
98
- }, co = ({ sdk: t, overlays: s, children: a }) => {
99
- const o = u(null), p = u(null), [i] = K(o), [m, n] = L(o, i), { sdkEnabled: l, sdkReady: d, activeOverlay: e, activateAndLoadOverlay: S, activateEventWithId: h, deactivate: g, isLogged: y } = j(t);
100
- C(() => {
152
+ }, Y = ({ sdk: t, className: n, appNode: s, responsiveStore: r }) => {
153
+ const p = C(t.featuresList.getStore());
154
+ return p ? Array.from(p, (i) => {
155
+ const o = t.getFeature(i);
156
+ return o ? /* @__PURE__ */ m(
157
+ M,
158
+ {
159
+ className: n,
160
+ appNode: s,
161
+ feature: o,
162
+ responsiveStore: r,
163
+ sdk: t
164
+ },
165
+ i
166
+ ) : null;
167
+ }) : null;
168
+ }, go = ({ sdk: t, overlays: n, children: s }) => {
169
+ const r = S(null), p = S(null), [i] = T(r), [o, l] = w(r, i), { sdkEnabled: e, sdkReady: c, activeOverlay: a, activateAndLoadOverlay: h, activateEventWithId: N, deactivate: g, isLogged: y } = K(t);
170
+ d(r, { enabled: e, event: "click", listener: A }), d(o, {
171
+ enabled: e,
172
+ event: "scrollend",
173
+ listener: F,
174
+ useDomNode: !0
175
+ }), d(o, {
176
+ enabled: e,
177
+ event: "click",
178
+ listener: x,
179
+ useDomNode: !0
180
+ }), b(() => {
101
181
  import("./Features/Gamification/gamification-feature.js");
102
182
  }, []);
103
- const N = x(() => ({ sdk: t }), [t]);
104
- return /* @__PURE__ */ r(D.Provider, { value: N, children: /* @__PURE__ */ f(B, { ref: o, children: [
105
- l && /* @__PURE__ */ r(
106
- I,
183
+ const L = D(() => ({ sdk: t }), [t]);
184
+ return /* @__PURE__ */ m(O.Provider, { value: L, children: /* @__PURE__ */ v(k, { ref: r, children: [
185
+ e && /* @__PURE__ */ m(
186
+ B,
107
187
  {
108
188
  ref: p,
109
- sdkReady: d,
110
- activeOverlay: e,
111
- className: v,
112
- setActiveOverlay: (c) => S("", c),
189
+ sdkReady: c,
190
+ activeOverlay: a,
191
+ className: f,
192
+ setActiveOverlay: (u) => h("", u),
113
193
  scrollToTop: () => {
114
- var c;
115
- return (c = m.current) == null ? void 0 : c.scrollTo(0, 0);
194
+ var u;
195
+ return (u = o.current) == null ? void 0 : u.scrollTo(0, 0);
116
196
  },
117
197
  responsiveStore: i
118
198
  }
119
199
  ),
120
- /* @__PURE__ */ f(F, { className: "sl-hide-on-modal", ref: m, "data-nav": l.toString(), children: [
121
- d && /* @__PURE__ */ r(
122
- M,
200
+ /* @__PURE__ */ v(E, { className: "sl-hide-on-modal", ref: o, "data-nav": e.toString(), children: [
201
+ c && /* @__PURE__ */ m(
202
+ j,
123
203
  {
124
204
  sdk: t,
125
- scrollNode: m,
205
+ scrollNode: o,
126
206
  headerNode: p,
127
- appNode: o,
128
- scrollStore: n,
207
+ appNode: r,
208
+ scrollStore: l,
129
209
  responsiveStore: i
130
210
  }
131
211
  ),
132
- /* @__PURE__ */ r("div", { style: !l || e === O ? {} : { display: "none" }, children: a && a({ activateEventWithId: h, deactivate: g }) }),
133
- s && e === R && s[e],
134
- d && e === T && /* @__PURE__ */ r(
135
- b,
212
+ /* @__PURE__ */ m("div", { style: !e || a === G ? {} : { display: "none" }, children: s && s({ activateEventWithId: N, deactivate: g }) }),
213
+ n && a === P && n[a],
214
+ c && a === V && /* @__PURE__ */ m(
215
+ W,
136
216
  {
137
- scrollStore: n,
217
+ scrollStore: l,
138
218
  responsiveStore: i,
139
- scrollNode: m,
140
- appNode: o,
219
+ scrollNode: o,
220
+ appNode: r,
141
221
  headerNode: p,
142
- className: v,
222
+ className: f,
143
223
  sdk: t
144
224
  }
145
- )
225
+ ),
226
+ c && /* @__PURE__ */ m(Y, { responsiveStore: i, appNode: r, className: f, sdk: t })
146
227
  ] }),
147
- l && !y && /* @__PURE__ */ r(
228
+ e && !y && /* @__PURE__ */ m(
148
229
  "div",
149
230
  {
150
231
  style: { display: "flex", alignItems: "center", justifyContent: "center", width: "100%", height: "100%" },
@@ -154,5 +235,5 @@ const b = ({ sdk: t, className: s, scrollStore: a, appNode: o, scrollNode: p, he
154
235
  ] }) });
155
236
  };
156
237
  export {
157
- co as MastersApp
238
+ go as MastersApp
158
239
  };