@streamlayer/react-ui 0.92.0 → 0.93.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 (53) hide show
  1. package/lib/assets/style.css +1 -1
  2. package/lib/index.js +5 -4
  3. package/lib/ui/app/Features/Gamification/Tabs.js +36 -32
  4. package/lib/ui/app/Features/Gamification/gamification-feature.js +4 -1
  5. package/lib/ui/app/Features/Gamification/index.js +42 -38
  6. package/lib/ui/app/Navigation/MastersNavigation/index.js +27 -25
  7. package/lib/ui/app/Notifications/Onboarding/index.js +91 -80
  8. package/lib/ui/app/Notifications/index.js +65 -60
  9. package/lib/ui/app/Points/index.js +6 -5
  10. package/lib/ui/app/masters.js +8 -2
  11. package/lib/ui/app/styles.d.ts +1 -0
  12. package/lib/ui/app/styles.js +6 -1
  13. package/lib/ui/app/useImagesPreload.d.ts +4 -0
  14. package/lib/ui/app/useImagesPreload.js +23 -0
  15. package/lib/ui/app/useSdkResponsive.js +11 -11
  16. package/lib/ui/app/useSdkScroll.d.ts +1 -0
  17. package/lib/ui/app/useSdkScroll.js +29 -21
  18. package/lib/ui/gamification/detail/header/index.js +11 -11
  19. package/lib/ui/gamification/detail/header/styles.d.ts +1 -1
  20. package/lib/ui/gamification/detail/header/styles.js +11 -11
  21. package/lib/ui/gamification/onboarding/index.d.ts +1 -0
  22. package/lib/ui/gamification/onboarding/index.js +54 -43
  23. package/lib/ui/gamification/onboarding/slides/onboarding-instructions/index.d.ts +1 -1
  24. package/lib/ui/gamification/onboarding/slides/onboarding-instructions/index.js +15 -13
  25. package/lib/ui/gamification/onboarding/slides/onboarding-instructions/styles.d.ts +1 -1
  26. package/lib/ui/gamification/onboarding/slides/onboarding-instructions/styles.js +9 -9
  27. package/lib/ui/gamification/points/index.js +5 -4
  28. package/lib/ui/gamification/question/insight/index.js +5 -5
  29. package/lib/ui/gamification/question/notification/prediction-result/animation-lines/index.js +17 -17
  30. package/lib/ui/gamification/question/notification/prediction-result/index.js +37 -39
  31. package/lib/ui/gamification/question/notification/prediction-result/styles.d.ts +1 -1
  32. package/lib/ui/gamification/question/notification/prediction-result/styles.js +12 -12
  33. package/lib/ui/gamification/vote/index.js +57 -56
  34. package/lib/ui/gamification/vote/insight-details/index.js +1 -1
  35. package/lib/ui/gamification/vote/vote-option/index.js +61 -57
  36. package/lib/ui/gamification/vote/win-bar/index.d.ts +1 -0
  37. package/lib/ui/gamification/vote/win-bar/index.js +21 -20
  38. package/lib/ui/navigation/masters.d.ts +2 -1
  39. package/lib/ui/navigation/masters.js +9 -4
  40. package/lib/ui/questions/insight/index.d.ts +1 -1
  41. package/lib/ui/questions/insight/index.js +21 -27
  42. package/lib/ui/skeleton/index.d.ts +7 -0
  43. package/lib/ui/skeleton/index.js +7 -0
  44. package/lib/ui/skeleton/styles.d.ts +2 -0
  45. package/lib/ui/skeleton/styles.js +9 -0
  46. package/lib/ui/theme/breakpoints.d.ts +4 -1
  47. package/lib/ui/theme/breakpoints.js +24 -12
  48. package/lib/ui/theme/constants.d.ts +4 -0
  49. package/lib/ui/theme/constants.js +6 -2
  50. package/lib/ui/theme/index.js +4 -3
  51. package/lib/ui/theme/theme.js +29 -21
  52. package/lib/utils/decorators/container.js +4 -3
  53. package/package.json +18 -18
@@ -1,18 +1,22 @@
1
- import { jsx as e, jsxs as N, Fragment as b } from "react/jsx-runtime";
1
+ import { jsx as o, jsxs as N, Fragment as T } from "react/jsx-runtime";
2
2
  import { useStore as y } from "@nanostores/react";
3
- import { useState as S, useMemo as O, useEffect as I, useRef as v, useCallback as R } from "react";
4
- import { r as C } from "../../../useClipboardCopy-E5rEe6It.js";
3
+ import { useState as S, useMemo as k, useEffect as I, useRef as b, useCallback as O } from "react";
4
+ import { r as v } from "../../../useClipboardCopy-E5rEe6It.js";
5
5
  import { NotificationType as g } from "@streamlayer/sdk-web-notifications";
6
+ import { scrollIntoAppView as C } from "../useSdkScroll.js";
6
7
  import { QuestionTypeData as D } from "../../gamification/constants.js";
7
- import { Notification as T } from "../../gamification/question/notification/index.js";
8
+ import { Notification as R } from "../../gamification/question/notification/index.js";
8
9
  import { PredictionResult as E } from "../../gamification/question/notification/prediction-result/index.js";
9
10
  import { Onboarding as x } from "./Onboarding/index.js";
10
- import { Pill as B, HiddenContainer as H, Container as P, InnerContainer as q, NotificationRefreshing as Q } from "./styles.js";
11
+ import { Pill as B, HiddenContainer as H, Container as P, InnerContainer as q, NotificationRefreshing as A } from "./styles.js";
11
12
  import "../../../index-uEuzH3jr.js";
12
13
  import "../../gamification/copyNotification/index.js";
13
14
  import "../../icons/index.js";
14
15
  import "@linaria/react";
15
16
  import "../../gamification/copyNotification/styles.js";
17
+ import "lodash.throttle";
18
+ import "../../theme/constants.js";
19
+ import "../../../index-keh7OLCY.js";
16
20
  import "@streamlayer/sdk-web-types";
17
21
  import "../../gamification/question/notification/insight/index.js";
18
22
  import "../../video-player/index.js";
@@ -25,13 +29,18 @@ import "../../questions/twitter/account/index.js";
25
29
  import "../../questions/twitter/account/styles.js";
26
30
  import "../../questions/twitter/styles.js";
27
31
  import "../../gamification/question/notification/tweet/styles.js";
32
+ import "../../animated-counter/index.js";
33
+ import "react-countup";
28
34
  import "../../gamification/question/notification/prediction-result/animation-lines/index.js";
29
35
  import "../../gamification/question/notification/prediction-result/animation-lines/styles.js";
30
36
  import "../../gamification/question/notification/prediction-result/styles.js";
31
37
  import "../../show-in/index.js";
32
38
  import "@linaria/core";
39
+ import "../useImagesPreload.js";
33
40
  import "../../gamification/onboarding/index.js";
34
41
  import "react-virtualized-auto-sizer";
42
+ import "../../skeleton/index.js";
43
+ import "../../skeleton/styles.js";
35
44
  import "../../gamification/onboarding/slides/onboarding-instructions/index.js";
36
45
  import "../../gamification/onboarding/slides/onboarding-instructions/styles.js";
37
46
  import "../../gamification/onboarding/slides/onboarding-invite-card/index.js";
@@ -47,36 +56,33 @@ import "./Onboarding/Notification/index.js";
47
56
  import "./Onboarding/Notification/styles.js";
48
57
  import "../../gamification/question/notification/pill/index.js";
49
58
  import "../../gamification/question/notification/pill/styles.js";
50
- const j = (s) => {
51
- const [t, n] = S(0), i = v(null), l = R((r) => {
59
+ const Q = (n) => {
60
+ const [t, m] = S(0), i = b(null), l = O((r) => {
52
61
  i.current = r;
53
62
  }, []);
54
63
  I(() => {
55
- var o;
56
- const r = (o = i.current) == null ? void 0 : o.getBoundingClientRect();
57
- r && n(r.height);
58
- }, [s]);
59
- const c = R((r) => {
60
- n(r);
64
+ var e;
65
+ const r = (e = i.current) == null ? void 0 : e.getBoundingClientRect();
66
+ r && m(r.height);
67
+ }, [n]);
68
+ const c = O((r) => {
69
+ m(r);
61
70
  }, []);
62
71
  return [l, t, c];
63
- }, z = ({
64
- sdk: s,
72
+ }, j = ({
73
+ sdk: n,
65
74
  notification: t,
66
- appNode: n,
75
+ appNode: m,
67
76
  headerNode: i,
68
77
  sdkInScrollView: l
69
78
  }) => {
70
- var u, m;
71
- const [c, r, o] = j(t.id);
79
+ var u, p;
80
+ const [c, r, e] = Q(t.id);
72
81
  if (t.type === g.QUESTION)
73
- return /* @__PURE__ */ N(b, {
74
- children: [/* @__PURE__ */ e(H, {
82
+ return /* @__PURE__ */ N(T, {
83
+ children: [/* @__PURE__ */ o(H, {
75
84
  ref: c,
76
- style: {
77
- position: "absolute"
78
- },
79
- children: /* @__PURE__ */ e(T, {
85
+ children: /* @__PURE__ */ o(R, {
80
86
  ...t
81
87
  })
82
88
  }), /* @__PURE__ */ N(P, {
@@ -84,56 +90,56 @@ const j = (s) => {
84
90
  height: t.hiding ? 0 : r
85
91
  },
86
92
  hiding: t.hiding,
87
- children: [/* @__PURE__ */ e(q, {
93
+ children: [/* @__PURE__ */ o(q, {
88
94
  style: {
89
95
  height: "100%"
90
96
  },
91
- children: /* @__PURE__ */ e(T, {
97
+ children: /* @__PURE__ */ o(R, {
92
98
  ...t
93
99
  })
94
- }), /* @__PURE__ */ e(Q, {}, t.id)]
100
+ }), /* @__PURE__ */ o(A, {}, t.id)]
95
101
  })]
96
102
  });
97
- if (t.type === g.QUESTION_RESOLVED && ((m = (u = t.data) == null ? void 0 : u.question) != null && m.predictionResult))
98
- return /* @__PURE__ */ e(E, {
103
+ if (t.type === g.QUESTION_RESOLVED && ((p = (u = t.data) == null ? void 0 : u.question) != null && p.predictionResult))
104
+ return /* @__PURE__ */ o(E, {
99
105
  style: {
100
106
  height: t.hiding ? 0 : r
101
107
  },
102
- saveHeight: o,
108
+ saveHeight: e,
103
109
  close: t.close,
104
110
  hiding: t.hiding,
105
111
  ...t.data.question
106
112
  });
107
113
  if (t.type === g.ONBOARDING) {
108
- const p = l ? n : i;
109
- return /* @__PURE__ */ e(x, {
114
+ const s = l ? m : i;
115
+ return /* @__PURE__ */ o(x, {
110
116
  style: {
111
117
  height: t.hiding ? 0 : r
112
118
  },
113
- saveHeight: o,
114
- sdk: s,
119
+ saveHeight: e,
120
+ sdk: n,
115
121
  notification: t,
116
- renderToNode: p
122
+ renderToNode: s
117
123
  });
118
124
  }
119
125
  return null;
120
- }, Pt = ({
121
- sdk: s,
126
+ }, Kt = ({
127
+ sdk: n,
122
128
  headerNode: t,
123
- responsiveStore: n,
129
+ responsiveStore: m,
124
130
  appNode: i,
125
131
  scrollStore: l
126
132
  }) => {
127
- const [c] = S(s.getNotificationsStore()), r = y(c), {
128
- tabsShown: o
133
+ const [c] = S(n.getNotificationsStore()), r = y(c), {
134
+ tabsShown: e
129
135
  } = y(l, {
130
136
  keys: ["tabsShown"]
131
137
  }), {
132
138
  sdkInView: u,
133
- sdkInScrollView: m
134
- } = y(n, {
139
+ sdkInScrollView: p
140
+ } = y(m, {
135
141
  keys: ["sdkInView", "sdkInScrollView"]
136
- }), [p, a] = S(null), h = O(() => {
142
+ }), [s, f] = S(null), h = k(() => {
137
143
  if (!(r != null && r.size))
138
144
  return null;
139
145
  for (const d of r.values())
@@ -142,34 +148,33 @@ const j = (s) => {
142
148
  return r.values().next().value;
143
149
  }, [r]);
144
150
  I(() => {
145
- h && n.get().sdkInView && a(h);
151
+ h && m.get().sdkInView && f(h);
146
152
  }, [h]), I(() => {
147
- u || a(null);
153
+ u || f(null);
148
154
  }, [u]);
149
- const V = O(() => {
155
+ const V = k(() => {
150
156
  var d, w;
151
- const f = m ? i : t;
152
- return p && f.current && C.createPortal(/* @__PURE__ */ e(B, {
153
- title: `New ${((w = D[(d = p.data) == null ? void 0 : d.questionType]) == null ? void 0 : w.label) || "notification"}`,
157
+ const a = p ? i : t;
158
+ return s && a.current && v.createPortal(/* @__PURE__ */ o(B, {
159
+ title: `New ${((w = D[(d = s.data) == null ? void 0 : d.questionType]) == null ? void 0 : w.label) || "notification"}`,
154
160
  onClick: () => {
155
- var k;
156
- (k = i.current) == null || k.scrollIntoView({
161
+ C(i, {
157
162
  behavior: "smooth"
158
- }), a(null);
163
+ }), f(null);
159
164
  },
160
- className: o ? "c1d7yse1" : void 0
161
- }), f.current) || null;
162
- }, [p, m, i, t, o]);
163
- return /* @__PURE__ */ N(b, {
164
- children: [!p && h && /* @__PURE__ */ e(z, {
165
- sdkInScrollView: m,
165
+ className: e ? "c1d7yse1" : void 0
166
+ }), a.current) || null;
167
+ }, [s, p, i, t, e]);
168
+ return /* @__PURE__ */ N(T, {
169
+ children: [!s && h && /* @__PURE__ */ o(j, {
170
+ sdkInScrollView: p,
166
171
  headerNode: t,
167
172
  appNode: i,
168
- sdk: s,
173
+ sdk: n,
169
174
  notification: h
170
175
  }), V]
171
176
  });
172
177
  };
173
178
  export {
174
- Pt as SDKNotifications
179
+ Kt as SDKNotifications
175
180
  };
@@ -8,6 +8,7 @@ import "@streamlayer/sdk-web-interfaces";
8
8
  import "../../animated-counter/index.js";
9
9
  import "react-countup";
10
10
  import "../../theme/theme.js";
11
+ import "../../theme/breakpoints.js";
11
12
  import "../../theme/constants.js";
12
13
  import "../../gamification/points/styles.js";
13
14
  import "@linaria/react";
@@ -15,18 +16,18 @@ import "../../icons/index.js";
15
16
  const S = ({ userSummary: t }) => {
16
17
  const [o, r] = p(0);
17
18
  return u(() => {
18
- const n = t.subscribe((e) => {
19
- var i, m;
20
- (m = (i = e.data) == null ? void 0 : i.summary) != null && m.points && r(e.data.summary.points);
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);
21
22
  });
22
23
  return () => {
23
24
  n();
24
25
  };
25
26
  }, [t]), /* @__PURE__ */ s(f, { points: o });
26
- }, k = ({ sdk: t }) => {
27
+ }, A = ({ sdk: t }) => {
27
28
  const [o, r] = c(t);
28
29
  return o !== a.GAMES || !r ? null : /* @__PURE__ */ s(S, { userSummary: r.userSummary.getStore() });
29
30
  };
30
31
  export {
31
- k as StreamLayerSDKPoints
32
+ A as StreamLayerSDKPoints
32
33
  };
@@ -12,6 +12,7 @@ import { useSdkScroll as D } from "./useSdkScroll.js";
12
12
  import { ChannelsButtonId as E } from "../navigation/button/Channels.js";
13
13
  import { LeaderBoardButtonId as K } from "../navigation/button/LeaderBoard.js";
14
14
  import { FeaturedGroupsButtonId as L } from "../navigation/button/FeaturedGroups.js";
15
+ import "../theme/breakpoints.js";
15
16
  import "../theme/constants.js";
16
17
  import "@streamlayer/sdk-web-types";
17
18
  import "./Features/FeatureProvider.js";
@@ -42,14 +43,19 @@ import "../questions/twitter/account/styles.js";
42
43
  import "../questions/twitter/styles.js";
43
44
  import "../gamification/question/notification/tweet/styles.js";
44
45
  import "../gamification/question/notification/prediction-result/index.js";
46
+ import "../animated-counter/index.js";
47
+ import "react-countup";
45
48
  import "../gamification/question/notification/prediction-result/animation-lines/index.js";
46
49
  import "../gamification/question/notification/prediction-result/animation-lines/styles.js";
47
50
  import "../gamification/question/notification/prediction-result/styles.js";
48
51
  import "../show-in/index.js";
49
52
  import "@linaria/core";
50
53
  import "./Notifications/Onboarding/index.js";
54
+ import "./useImagesPreload.js";
51
55
  import "../gamification/onboarding/index.js";
52
56
  import "react-virtualized-auto-sizer";
57
+ import "../skeleton/index.js";
58
+ import "../skeleton/styles.js";
53
59
  import "../gamification/onboarding/slides/onboarding-instructions/index.js";
54
60
  import "../gamification/onboarding/slides/onboarding-instructions/styles.js";
55
61
  import "../gamification/onboarding/slides/onboarding-invite-card/index.js";
@@ -83,7 +89,7 @@ const M = ({ sdk: r, className: s, scrollStore: n, appNode: t, scrollNode: i, he
83
89
  sdk: r
84
90
  }
85
91
  );
86
- }, Xt = ({ sdk: r, overlays: s, children: n }) => {
92
+ }, or = ({ sdk: r, overlays: s, children: n }) => {
87
93
  const t = f(null), i = f(null), [m] = k(t), [p, a] = D(t, m), { sdkEnabled: d, sdkReady: l, activeOverlay: e, activateAndLoadOverlay: v, activateEventWithId: S, deactivate: h, isLogged: g } = F(r);
88
94
  return N(() => {
89
95
  import("./Features/Gamification/gamification-feature.js");
@@ -129,5 +135,5 @@ const M = ({ sdk: r, className: s, scrollStore: n, appNode: t, scrollNode: i, he
129
135
  ] });
130
136
  };
131
137
  export {
132
- Xt as MastersApp
138
+ or as MastersApp
133
139
  };
@@ -12,3 +12,4 @@ export declare const LeaderboardContainer: import("@linaria/react").WYWEvalMeta
12
12
  export declare const TabsNavContainer: import("@linaria/react").WYWEvalMeta & import("react").FunctionComponent<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & Record<never, unknown> & {
13
13
  as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
14
14
  }>;
15
+ export declare const UserSummaryContainer: import("@linaria/react").StyledComponent<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & Record<never, unknown>>;
@@ -27,6 +27,10 @@ const i = /* @__PURE__ */ s("div")({
27
27
  name: "TabsNavContainer",
28
28
  class: "tvdam54",
29
29
  propsAsIs: !0
30
+ }), m = /* @__PURE__ */ s("div")({
31
+ name: "UserSummaryContainer",
32
+ class: "u14fk93k",
33
+ propsAsIs: !1
30
34
  });
31
35
  export {
32
36
  l as LeaderboardContainer,
@@ -35,5 +39,6 @@ export {
35
39
  c as SDKScrollContainer,
36
40
  n as SDKWhiteContainer,
37
41
  p as TabsContainer,
38
- C as TabsNavContainer
42
+ C as TabsNavContainer,
43
+ m as UserSummaryContainer
39
44
  };
@@ -0,0 +1,4 @@
1
+ export declare const useImagesPreload: (images?: string[]) => {
2
+ loading: boolean;
3
+ throttled: boolean;
4
+ };
@@ -0,0 +1,23 @@
1
+ import { useState as u, useRef as T, useCallback as c, useEffect as p } from "react";
2
+ const I = (e) => {
3
+ const [i, r] = u(!1), [f, s] = u(!1), t = T(null), a = c(() => {
4
+ s(!0), t.current && clearTimeout(t.current), t.current = setTimeout(() => {
5
+ s(!1);
6
+ }, 1e3);
7
+ }, []), l = c(async (m) => {
8
+ r(!0);
9
+ const d = m.map(
10
+ (n) => new Promise((g, h) => {
11
+ const o = new Image();
12
+ o.onload = () => g(n), o.onerror = () => h(), o.src = n;
13
+ })
14
+ );
15
+ await Promise.allSettled(d), r(!1);
16
+ }, []);
17
+ return p(() => {
18
+ e && (a(), l(e));
19
+ }, [e, a, l]), { loading: i, throttled: f };
20
+ };
21
+ export {
22
+ I as useImagesPreload
23
+ };
@@ -1,7 +1,7 @@
1
1
  import c from "lodash.throttle";
2
- import { useState as m, useEffect as u } from "react";
2
+ import { useState as m, useEffect as k } from "react";
3
3
  import { BREAKPOINTS as s } from "../theme/constants.js";
4
- import { m as k } from "../../index-keh7OLCY.js";
4
+ import { m as u } from "../../index-keh7OLCY.js";
5
5
  import "../../index-uEuzH3jr.js";
6
6
  const d = Object.keys(s), i = () => {
7
7
  const n = window.innerWidth;
@@ -17,26 +17,26 @@ const d = Object.keys(s), i = () => {
17
17
  name: e,
18
18
  size: s[e]
19
19
  };
20
- }, l = (n) => {
20
+ }, w = (n) => {
21
21
  var e;
22
22
  return (((e = n.current) == null ? void 0 : e.getBoundingClientRect().y) || 0) < -68;
23
- }, w = (n) => n >= s.xl, I = (n) => {
23
+ }, l = (n) => n >= s.xl, I = (n) => {
24
24
  const [e] = m(() => {
25
25
  const t = i();
26
- return k({
26
+ return u({
27
27
  screen: i(),
28
- sdkInView: l(n),
29
- sdkInScrollView: w(t.size)
28
+ sdkInView: w(n),
29
+ sdkInScrollView: l(t.size)
30
30
  });
31
31
  });
32
- return u(() => {
32
+ return k(() => {
33
33
  const t = c(() => {
34
- e.setKey("sdkInView", l(n));
34
+ e.setKey("sdkInView", w(n));
35
35
  }, 200), r = c(() => {
36
36
  const o = i();
37
- e.setKey("screen", o), e.setKey("sdkInScrollView", w(o.size));
37
+ e.setKey("screen", o), e.setKey("sdkInScrollView", l(o.size));
38
38
  }, 200);
39
- return window.addEventListener("scroll", t), window.addEventListener("resize", r), e.subscribe((o) => console.log(o)), () => {
39
+ return window.addEventListener("scroll", t), window.addEventListener("resize", r), () => {
40
40
  window.removeEventListener("scroll", t), window.removeEventListener("resize", r);
41
41
  };
42
42
  }, [e, n]), [e];
@@ -7,5 +7,6 @@ type ScrollData = {
7
7
  scrollDirection: 'forward' | 'backward';
8
8
  };
9
9
  export type ScrollStore = MapStore<ScrollData>;
10
+ export declare const scrollIntoAppView: (appNode: AppNodeRef, options?: ScrollIntoViewOptions) => void;
10
11
  export declare const useSdkScroll: (appNode: AppNodeRef, responsiveStore: ResponsiveStore) => [ScrollNodeRef, ScrollStore];
11
12
  export {};
@@ -1,36 +1,44 @@
1
- import { useStore as p } from "@nanostores/react";
2
- import w from "lodash.throttle";
3
- import { useRef as a, useState as S, useEffect as g } from "react";
4
- import { BREAKPOINTS as h } from "../theme/constants.js";
1
+ import { useStore as w } from "@nanostores/react";
2
+ import S from "lodash.throttle";
3
+ import { useRef as f, useState as h, useEffect as g } from "react";
4
+ import { BREAKPOINTS as m } from "../theme/constants.js";
5
5
  import { m as v } from "../../index-keh7OLCY.js";
6
6
  import "../../index-uEuzH3jr.js";
7
- const L = (e, f) => {
8
- const n = a(null), s = a(0), [o] = S(
7
+ const D = (t, n) => {
8
+ var r;
9
+ (r = t.current) == null || r.scrollIntoView(n);
10
+ }, I = (t, n) => {
11
+ const r = f(null), l = f(0), [e] = h(
9
12
  v({
10
13
  scrollPosition: 0,
11
14
  scrollDirection: "forward"
12
15
  })
13
- ), l = p(f);
16
+ ), c = w(n);
14
17
  return g(() => {
15
- const t = window.innerWidth < 1200 ? window : n.current;
16
- if (!t)
18
+ const s = window.innerWidth < m.xl ? window : r.current;
19
+ if (!s)
17
20
  return () => {
18
21
  };
19
- const c = w((m) => {
20
- var u;
21
- const i = m.target;
22
- if (!i)
22
+ const i = S((d) => {
23
+ var a;
24
+ const u = d.target;
25
+ if (!u)
23
26
  return;
24
- let r = 0;
25
- l.screen.size <= h.xl ? r = ((u = e.current) == null ? void 0 : u.getBoundingClientRect().y) || 0 : r = i.scrollTop;
26
- const d = s.current < r ? "forward" : "backward";
27
- s.current = r, o.set({ scrollPosition: r, scrollDirection: d, tabsShown: o.get().tabsShown });
27
+ let o = 0;
28
+ c.screen.size < m.xl ? o = ((a = t.current) == null ? void 0 : a.getBoundingClientRect().y) || 0 : o = u.scrollTop;
29
+ const p = l.current < o ? "forward" : "backward";
30
+ l.current = o, e.set({
31
+ scrollPosition: Math.round(o),
32
+ scrollDirection: p,
33
+ tabsShown: e.get().tabsShown
34
+ });
28
35
  }, 200);
29
- return t.addEventListener("scroll", c), () => {
30
- t.removeEventListener("scroll", c);
36
+ return s.addEventListener("scroll", i), () => {
37
+ s.removeEventListener("scroll", i);
31
38
  };
32
- }, [o, e, l.screen]), [n, o];
39
+ }, [e, t, c.screen]), [r, e];
33
40
  };
34
41
  export {
35
- L as useSdkScroll
42
+ D as scrollIntoAppView,
43
+ I as useSdkScroll
36
44
  };
@@ -1,25 +1,25 @@
1
- import { jsxs as r, jsx as i } from "react/jsx-runtime";
1
+ import { jsxs as i, jsx as e } from "react/jsx-runtime";
2
2
  import { QuestionType as n } from "@streamlayer/sdk-web-types";
3
3
  import { QuestionTypeData as c } from "../../constants.js";
4
- import { Container as l, QuestionTypeWrap as a, QuestionTypeIcon as p, QuestionTypeTitle as s, CloseButton as d, CloseIcon as Q } from "./styles.js";
4
+ import { Container as l, QuestionTypeWrap as a, QuestionTypeIcon as p, QuestionTypeTitle as s, CloseIconWrap as d, CloseIcon as I } from "./styles.js";
5
5
  import "@linaria/react";
6
6
  import "../../../icons/index.js";
7
7
  import "react";
8
- const N = ({ type: e, close: t, label: m }) => {
9
- const o = e ? c[e] : { label: m, iconName: void 0 };
10
- return /* @__PURE__ */ r(l, { children: [
11
- /* @__PURE__ */ r(a, { children: [
12
- (o == null ? void 0 : o.iconName) && /* @__PURE__ */ i(
8
+ const N = ({ type: r, close: m, label: t }) => {
9
+ const o = r ? c[r] : { label: t, iconName: void 0 };
10
+ return /* @__PURE__ */ i(l, { children: [
11
+ /* @__PURE__ */ i(a, { children: [
12
+ (o == null ? void 0 : o.iconName) && /* @__PURE__ */ e(
13
13
  p,
14
14
  {
15
- "data-type-trivia": e === n.TRIVIA,
16
- "data-type-poll": e === n.POLL,
15
+ "data-type-trivia": r === n.TRIVIA,
16
+ "data-type-poll": r === n.POLL,
17
17
  name: o.iconName
18
18
  }
19
19
  ),
20
- (o == null ? void 0 : o.label) && /* @__PURE__ */ i(s, { children: o.label })
20
+ (o == null ? void 0 : o.label) && /* @__PURE__ */ e(s, { children: o.label })
21
21
  ] }),
22
- /* @__PURE__ */ i(d, { onClick: t, children: /* @__PURE__ */ i(Q, { name: "icon-cross" }) })
22
+ /* @__PURE__ */ e(d, { onClick: m, children: /* @__PURE__ */ e(I, { name: "icon-cross" }) })
23
23
  ] });
24
24
  };
25
25
  export {
@@ -3,5 +3,5 @@ export declare const Container: import("@linaria/react").StyledComponent<import(
3
3
  export declare const QuestionTypeWrap: import("@linaria/react").StyledComponent<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & Record<never, unknown>>;
4
4
  export declare const QuestionTypeIcon: any;
5
5
  export declare const QuestionTypeTitle: import("@linaria/react").StyledComponent<import("react").ClassAttributes<HTMLSpanElement> & import("react").HTMLAttributes<HTMLSpanElement> & Record<never, unknown>>;
6
- export declare const CloseButton: import("@linaria/react").StyledComponent<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement> & Record<never, unknown>>;
6
+ export declare const CloseIconWrap: import("@linaria/react").StyledComponent<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & Record<never, unknown>>;
7
7
  export declare const CloseIcon: any;
@@ -2,11 +2,11 @@ import { styled as s } from "@linaria/react";
2
2
  import { SvgIcon as o } from "../../../icons/index.js";
3
3
  import "react/jsx-runtime";
4
4
  import "react";
5
- const l = /* @__PURE__ */ s("div")({
5
+ const r = /* @__PURE__ */ s("div")({
6
6
  name: "Container",
7
7
  class: "c1vwopgc",
8
8
  propsAsIs: !1
9
- }), r = /* @__PURE__ */ s("div")({
9
+ }), l = /* @__PURE__ */ s("div")({
10
10
  name: "QuestionTypeWrap",
11
11
  class: "qyktpt0",
12
12
  propsAsIs: !1
@@ -14,24 +14,24 @@ const l = /* @__PURE__ */ s("div")({
14
14
  name: "QuestionTypeIcon",
15
15
  class: "q951jdx",
16
16
  propsAsIs: !0
17
- }), m = /* @__PURE__ */ s("span")({
17
+ }), I = /* @__PURE__ */ s("span")({
18
18
  name: "QuestionTypeTitle",
19
19
  class: "qss5f0e",
20
20
  propsAsIs: !1
21
- }), u = /* @__PURE__ */ s("button")({
22
- name: "CloseButton",
21
+ }), m = /* @__PURE__ */ s("div")({
22
+ name: "CloseIconWrap",
23
23
  class: "c1ao1jtv",
24
24
  propsAsIs: !1
25
- }), t = () => o, I = /* @__PURE__ */ s(t())({
25
+ }), n = () => o, u = /* @__PURE__ */ s(n())({
26
26
  name: "CloseIcon",
27
27
  class: "cvsl7l3",
28
28
  propsAsIs: !0
29
29
  });
30
30
  export {
31
- u as CloseButton,
32
- I as CloseIcon,
33
- l as Container,
31
+ u as CloseIcon,
32
+ m as CloseIconWrap,
33
+ r as Container,
34
34
  i as QuestionTypeIcon,
35
- m as QuestionTypeTitle,
36
- r as QuestionTypeWrap
35
+ I as QuestionTypeTitle,
36
+ l as QuestionTypeWrap
37
37
  };
@@ -14,6 +14,7 @@ type OnboardingType = OnboardingInviteCardProps & {
14
14
  termsText?: string;
15
15
  primaryColor?: string;
16
16
  inviteCardBtnLabel?: string;
17
+ loading: boolean;
17
18
  renderToNode: AppNodeRef | HeaderNodeRef;
18
19
  onClose: () => void;
19
20
  };