@streamlayer/react-ui 0.92.0 → 0.94.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 (88) hide show
  1. package/lib/assets/style.css +1 -1
  2. package/lib/{useClipboardCopy-E5rEe6It.js → index-jRXrW6ie.js} +1513 -1537
  3. package/lib/index.js +5 -4
  4. package/lib/ui/app/Features/Gamification/Friends.js +6 -5
  5. package/lib/ui/app/Features/Gamification/Leaderboard.js +4 -3
  6. package/lib/ui/app/Features/Gamification/Question.js +19 -21
  7. package/lib/ui/app/Features/Gamification/QuestionsList.js +1 -1
  8. package/lib/ui/app/Features/Gamification/Tabs.js +42 -39
  9. package/lib/ui/app/Features/Gamification/gamification-feature.js +11 -6
  10. package/lib/ui/app/Features/Gamification/index.js +72 -84
  11. package/lib/ui/app/Navigation/MastersNavigation/index.d.ts +2 -0
  12. package/lib/ui/app/Navigation/MastersNavigation/index.js +43 -35
  13. package/lib/ui/app/Notifications/Onboarding/index.d.ts +3 -2
  14. package/lib/ui/app/Notifications/Onboarding/index.js +114 -86
  15. package/lib/ui/app/Notifications/index.js +115 -108
  16. package/lib/ui/app/Points/index.js +6 -5
  17. package/lib/ui/app/masters.js +41 -31
  18. package/lib/ui/app/styles.d.ts +1 -0
  19. package/lib/ui/app/styles.js +6 -1
  20. package/lib/ui/app/useClipboardCopy.js +26 -5
  21. package/lib/ui/app/useImagesPreload.d.ts +4 -0
  22. package/lib/ui/app/useImagesPreload.js +23 -0
  23. package/lib/ui/app/useMastersApp.js +42 -35
  24. package/lib/ui/app/useSdkResponsive.d.ts +1 -1
  25. package/lib/ui/app/useSdkResponsive.js +23 -23
  26. package/lib/ui/app/useSdkScroll.d.ts +1 -0
  27. package/lib/ui/app/useSdkScroll.js +32 -23
  28. package/lib/ui/gamification/detail/header/index.js +11 -11
  29. package/lib/ui/gamification/detail/header/styles.d.ts +1 -1
  30. package/lib/ui/gamification/detail/header/styles.js +11 -11
  31. package/lib/ui/gamification/onboarding/index.d.ts +2 -1
  32. package/lib/ui/gamification/onboarding/index.js +55 -43
  33. package/lib/ui/gamification/onboarding/slides/onboarding-instructions/index.d.ts +1 -1
  34. package/lib/ui/gamification/onboarding/slides/onboarding-instructions/index.js +15 -13
  35. package/lib/ui/gamification/onboarding/slides/onboarding-instructions/styles.d.ts +1 -1
  36. package/lib/ui/gamification/onboarding/slides/onboarding-instructions/styles.js +9 -9
  37. package/lib/ui/gamification/onboarding/slides/onboarding-invite-card/index.js +14 -13
  38. package/lib/ui/gamification/points/index.js +5 -4
  39. package/lib/ui/gamification/question/insight/index.js +4 -5
  40. package/lib/ui/gamification/question/list/index.js +14 -14
  41. package/lib/ui/gamification/question/notification/index.js +3 -2
  42. package/lib/ui/gamification/question/notification/prediction-result/animation-lines/index.js +17 -17
  43. package/lib/ui/gamification/question/notification/prediction-result/index.js +37 -39
  44. package/lib/ui/gamification/question/notification/prediction-result/styles.d.ts +1 -1
  45. package/lib/ui/gamification/question/notification/prediction-result/styles.js +12 -12
  46. package/lib/ui/gamification/question/notification/tweet/index.js +10 -7
  47. package/lib/ui/gamification/question/twitter/index.js +16 -33
  48. package/lib/ui/gamification/question/twitter/styles.d.ts +0 -1
  49. package/lib/ui/gamification/question/twitter/styles.js +7 -12
  50. package/lib/ui/gamification/vote/index.js +57 -56
  51. package/lib/ui/gamification/vote/insight-details/index.js +5 -6
  52. package/lib/ui/gamification/vote/twitter-details/index.js +13 -29
  53. package/lib/ui/gamification/vote/twitter-details/styles.d.ts +0 -1
  54. package/lib/ui/gamification/vote/twitter-details/styles.js +3 -8
  55. package/lib/ui/gamification/vote/vote-option/index.js +61 -57
  56. package/lib/ui/gamification/vote/win-bar/index.d.ts +1 -0
  57. package/lib/ui/gamification/vote/win-bar/index.js +21 -20
  58. package/lib/ui/modal/index.d.ts +9 -0
  59. package/lib/ui/modal/index.js +34 -0
  60. package/lib/ui/navigation/button/FeaturedGroups.d.ts +3 -1
  61. package/lib/ui/navigation/button/FeaturedGroups.js +11 -11
  62. package/lib/ui/navigation/masters.d.ts +2 -1
  63. package/lib/ui/navigation/masters.js +9 -4
  64. package/lib/ui/questions/insight/index.d.ts +2 -3
  65. package/lib/ui/questions/insight/index.js +13 -35
  66. package/lib/ui/questions/insight/styles.d.ts +0 -1
  67. package/lib/ui/questions/insight/styles.js +9 -14
  68. package/lib/ui/questions/twitter/account/index.d.ts +2 -1
  69. package/lib/ui/questions/twitter/account/index.js +24 -18
  70. package/lib/ui/questions/twitter/account/styles.d.ts +1 -1
  71. package/lib/ui/questions/twitter/account/styles.js +2 -2
  72. package/lib/ui/questions/twitter/index.d.ts +2 -2
  73. package/lib/ui/questions/twitter/index.js +31 -9
  74. package/lib/ui/questions/twitter/styles.d.ts +1 -0
  75. package/lib/ui/questions/twitter/styles.js +8 -3
  76. package/lib/ui/skeleton/index.d.ts +7 -0
  77. package/lib/ui/skeleton/index.js +7 -0
  78. package/lib/ui/skeleton/styles.d.ts +2 -0
  79. package/lib/ui/skeleton/styles.js +9 -0
  80. package/lib/ui/theme/breakpoints.d.ts +4 -1
  81. package/lib/ui/theme/breakpoints.js +24 -12
  82. package/lib/ui/theme/constants.d.ts +4 -0
  83. package/lib/ui/theme/constants.js +6 -2
  84. package/lib/ui/theme/index.js +4 -3
  85. package/lib/ui/theme/theme.js +29 -21
  86. package/lib/utils/common.js +22 -8
  87. package/lib/utils/decorators/container.js +4 -3
  88. package/package.json +18 -18
package/lib/index.js CHANGED
@@ -1,9 +1,10 @@
1
- import { StreamLayerThemeProvider as i } from "./ui/theme/index.js";
1
+ import { StreamLayerThemeProvider as a } from "./ui/theme/index.js";
2
2
  import "react/jsx-runtime";
3
3
  import "./ui/theme/theme.js";
4
+ import "./ui/theme/breakpoints.js";
4
5
  import "./ui/theme/constants.js";
5
- const m = () => null;
6
+ const t = () => null;
6
7
  export {
7
- m as Demo,
8
- i as StreamLayerThemeProvider
8
+ t as Demo,
9
+ a as StreamLayerThemeProvider
9
10
  };
@@ -1,15 +1,16 @@
1
1
  import { jsx as i } from "react/jsx-runtime";
2
- import { OnboardingInviteCard as e } from "../../../gamification/onboarding/slides/onboarding-invite-card/index.js";
3
- import "../../../../useClipboardCopy-E5rEe6It.js";
2
+ import { OnboardingInviteCard as r } from "../../../gamification/onboarding/slides/onboarding-invite-card/index.js";
3
+ import "../../useClipboardCopy.js";
4
4
  import "react";
5
+ import "../../../../index-jRXrW6ie.js";
5
6
  import "../../../../index-uEuzH3jr.js";
6
7
  import "../../../gamification/copyNotification/index.js";
7
8
  import "../../../icons/index.js";
8
9
  import "@linaria/react";
9
10
  import "../../../gamification/copyNotification/styles.js";
10
11
  import "../../../gamification/onboarding/slides/onboarding-invite-card/styles.js";
11
- const h = ({ renderClipBoardNode: t, deepLink: o }) => /* @__PURE__ */ i(
12
- e,
12
+ const k = ({ renderClipBoardNode: t, deepLink: o }) => /* @__PURE__ */ i(
13
+ r,
13
14
  {
14
15
  renderToNode: t,
15
16
  inviteLink: o,
@@ -30,5 +31,5 @@ const h = ({ renderClipBoardNode: t, deepLink: o }) => /* @__PURE__ */ i(
30
31
  }
31
32
  );
32
33
  export {
33
- h as Friends
34
+ k as Friends
34
35
  };
@@ -1,7 +1,7 @@
1
1
  import { jsx as t, jsxs as L, Fragment as f } from "react/jsx-runtime";
2
2
  import { styled as h } from "@linaria/react";
3
3
  import { useStore as p } from "@nanostores/react";
4
- import { u as I } from "../../../../useClipboardCopy-E5rEe6It.js";
4
+ import { useClipboardCopy as I } from "../../useClipboardCopy.js";
5
5
  import { InviteLink as k } from "../../../gamification/invite-link/index.js";
6
6
  import "react-virtualized-auto-sizer";
7
7
  import "react-window";
@@ -12,6 +12,7 @@ import "../../../gamification/leaderboard/list-item/styles.js";
12
12
  import "../../../../styles_z07sl8-w40geAFS.js";
13
13
  import { LeaderboardStaticList as u } from "../../../gamification/leaderboard/static.js";
14
14
  import { Friends as y } from "./Friends.js";
15
+ import "../../../../index-jRXrW6ie.js";
15
16
  import "../../../../index-uEuzH3jr.js";
16
17
  import "../../../gamification/copyNotification/index.js";
17
18
  import "../../../gamification/copyNotification/styles.js";
@@ -25,7 +26,7 @@ const b = /* @__PURE__ */ h("div")({
25
26
  name: "InviteLinkContainer",
26
27
  class: "i1chxfpe",
27
28
  propsAsIs: !1
28
- }), Q = ({
29
+ }), R = ({
29
30
  gamification: r,
30
31
  scrollNode: m,
31
32
  scrollStore: n,
@@ -61,5 +62,5 @@ const b = /* @__PURE__ */ h("div")({
61
62
  });
62
63
  };
63
64
  export {
64
- Q as Leaderboard
65
+ R as Leaderboard
65
66
  };
@@ -1,9 +1,9 @@
1
1
  import { jsxs as p, jsx as o } from "react/jsx-runtime";
2
2
  import { styled as u } from "@linaria/react";
3
3
  import { useStore as m } from "@nanostores/react";
4
- import { QuestionType as a } from "@streamlayer/sdk-web-types";
5
- import { VoteHeader as n } from "../../../gamification/detail/header/index.js";
6
- import { Sponsor as l } from "../../../gamification/detail/sponsor/index.js";
4
+ import { QuestionType as n } from "@streamlayer/sdk-web-types";
5
+ import { VoteHeader as l } from "../../../gamification/detail/header/index.js";
6
+ import { Sponsor as a } from "../../../gamification/detail/sponsor/index.js";
7
7
  import { Vote as c } from "../../../gamification/vote/index.js";
8
8
  import { InsightDetails as b } from "../../../gamification/vote/insight-details/index.js";
9
9
  import { TwitterDetails as f } from "../../../gamification/vote/twitter-details/index.js";
@@ -29,27 +29,25 @@ import "../../../gamification/vote/win-bar/styles.js";
29
29
  import "../../../questions/insight/index.js";
30
30
  import "../../../video-player/index.js";
31
31
  import "../../../video-player/styles.js";
32
- import "../../../../utils/common.js";
33
32
  import "../../../questions/insight/styles.js";
34
33
  import "../../../gamification/vote/insight-details/styles.js";
35
34
  import "../../../questions/twitter/index.js";
36
35
  import "../../../questions/twitter/account/index.js";
36
+ import "../../../../utils/common.js";
37
37
  import "../../../questions/twitter/account/styles.js";
38
38
  import "../../../questions/twitter/styles.js";
39
39
  import "../../../gamification/vote/twitter-details/styles.js";
40
- const d = /* @__PURE__ */ u("div")({
40
+ const y = /* @__PURE__ */ u("div")({
41
41
  name: "QuestionContainer",
42
42
  class: "qdri6g3",
43
43
  propsAsIs: !1
44
- }), y = ({
44
+ }), d = ({
45
45
  openedQuestion: t
46
46
  }) => {
47
47
  var r, i;
48
48
  return ((r = t == null ? void 0 : t.attributes) == null ? void 0 : r.attributes.case) === "insight" ? /* @__PURE__ */ o(b, {
49
- created: t.attributes.created,
50
49
  ...t.attributes.attributes.value
51
50
  }) : ((i = t == null ? void 0 : t.attributes) == null ? void 0 : i.attributes.case) === "tweet" ? /* @__PURE__ */ o(f, {
52
- created: t.attributes.created,
53
51
  ...t.attributes.attributes.value
54
52
  }) : null;
55
53
  }, h = ({
@@ -58,34 +56,34 @@ const d = /* @__PURE__ */ u("div")({
58
56
  close: i
59
57
  }) => {
60
58
  const {
61
- loading: s,
62
- data: e
59
+ loading: e,
60
+ data: s
63
61
  } = t;
64
- return e ? /* @__PURE__ */ o(c, {
62
+ return s ? /* @__PURE__ */ o(c, {
65
63
  vote: r,
66
64
  close: i,
67
- openedQuestion: e,
68
- isLoading: !!s
65
+ openedQuestion: s,
66
+ isLoading: !!e
69
67
  }) : null;
70
68
  }, it = ({
71
69
  gamification: t
72
70
  }) => {
73
- var e;
71
+ var s;
74
72
  const r = m(t.openedQuestion.$store), i = m(t.openedQuestion.$extendedStore);
75
73
  if (!r)
76
74
  return null;
77
- const s = r.type;
78
- return /* @__PURE__ */ p(d, {
79
- children: [/* @__PURE__ */ o(n, {
75
+ const e = r.type;
76
+ return /* @__PURE__ */ p(y, {
77
+ children: [/* @__PURE__ */ o(l, {
80
78
  close: t.closeQuestion,
81
- type: ((e = r.attributes) == null ? void 0 : e.type) || a.UNSET
82
- }), s === "question" && /* @__PURE__ */ o(h, {
79
+ type: ((s = r.attributes) == null ? void 0 : s.type) || n.UNSET
80
+ }), e === "question" && /* @__PURE__ */ o(h, {
83
81
  vote: t.submitAnswer,
84
82
  close: t.closeQuestion,
85
83
  extendedQuestion: i
86
- }), s !== "question" && /* @__PURE__ */ o(y, {
84
+ }), e !== "question" && /* @__PURE__ */ o(d, {
87
85
  openedQuestion: r
88
- }), /* @__PURE__ */ o(l, {
86
+ }), /* @__PURE__ */ o(a, {
89
87
  sponsorLogo: ""
90
88
  })]
91
89
  });
@@ -12,12 +12,12 @@ import "../../../gamification/question/insight/index.js";
12
12
  import "../../../questions/insight/index.js";
13
13
  import "../../../video-player/index.js";
14
14
  import "../../../video-player/styles.js";
15
- import "../../../../utils/common.js";
16
15
  import "../../../questions/insight/styles.js";
17
16
  import "../../../gamification/question/insight/styles.js";
18
17
  import "../../../gamification/question/twitter/index.js";
19
18
  import "../../../questions/twitter/index.js";
20
19
  import "../../../questions/twitter/account/index.js";
20
+ import "../../../../utils/common.js";
21
21
  import "../../../questions/twitter/account/styles.js";
22
22
  import "../../../questions/twitter/styles.js";
23
23
  import "../../../gamification/question/twitter/styles.js";
@@ -1,15 +1,20 @@
1
- import { jsxs as f, jsx as t, Fragment as v } from "react/jsx-runtime";
2
- import { useStore as D } from "@nanostores/react";
3
- import { useState as u, useTransition as P, useEffect as A } from "react";
4
- import { TabsContainer as E, TabsNavContainer as L, SDKWhiteContainer as K, SDKContentContainer as k, LeaderboardContainer as I } from "../../styles.js";
5
- import { ActivePages as s, Tabs as O } from "../../../gamification/tabs/index.js";
6
- import { Leaderboard as Q } from "./Leaderboard.js";
7
- import { QuestionsList as V } from "./QuestionsList.js";
8
- import { UserSummary as j } from "./UserSummary.js";
1
+ import { jsxs as c, jsx as t, Fragment as x } from "react/jsx-runtime";
2
+ import { useStore as h } from "@nanostores/react";
3
+ import { useState as C, useTransition as T, useEffect as S } from "react";
4
+ import { TabsContainer as D, TabsNavContainer as A, SDKWhiteContainer as P, UserSummaryContainer as E, SDKContentContainer as I, LeaderboardContainer as L } from "../../styles.js";
5
+ import { scrollIntoAppView as V } from "../../useSdkScroll.js";
6
+ import { ActivePages as s, Tabs as K } from "../../../gamification/tabs/index.js";
7
+ import { Leaderboard as B } from "./Leaderboard.js";
8
+ import { QuestionsList as F } from "./QuestionsList.js";
9
+ import { UserSummary as O } from "./UserSummary.js";
9
10
  import "@linaria/react";
10
- import "../../../gamification/tabs/styles.js";
11
- import "../../../../useClipboardCopy-E5rEe6It.js";
11
+ import "lodash.throttle";
12
+ import "../../../theme/constants.js";
13
+ import "../../../../index-keh7OLCY.js";
12
14
  import "../../../../index-uEuzH3jr.js";
15
+ import "../../../gamification/tabs/styles.js";
16
+ import "../../useClipboardCopy.js";
17
+ import "../../../../index-jRXrW6ie.js";
13
18
  import "../../../gamification/copyNotification/index.js";
14
19
  import "../../../icons/index.js";
15
20
  import "../../../gamification/copyNotification/styles.js";
@@ -53,50 +58,48 @@ import "../../../gamification/user-statistics/components/rank/styles.js";
53
58
  import "../../../gamification/user-statistics/components/statistic/index.js";
54
59
  import "../../../gamification/user-statistics/components/statistic/styles.js";
55
60
  import "../../../gamification/user-statistics/styles.js";
56
- const Ht = ({ gamification: i, className: b, scrollStore: o, scrollNode: h, appNode: n, style: T, responsiveStore: x, headerNode: y }) => {
57
- const [a, g] = u(!1), [e, S] = u(s.HOME), [, l] = P(), { sdkInScrollView: m } = D(x, { keys: ["sdkInScrollView"] }), w = (r) => {
58
- l(() => {
59
- var c;
60
- S(r), m === !1 && ((c = n.current) == null || c.scrollIntoView({ behavior: "instant" }));
61
+ const $t = ({ gamification: o, className: u, scrollStore: r, scrollNode: l, appNode: e, style: f, responsiveStore: b, headerNode: y }) => {
62
+ const { tabsShown: a } = h(r, { keys: ["tabsShown"] }), [m, g] = C(s.HOME), [, v] = T(), { sdkInDesktopView: p } = h(b, { keys: ["sdkInDesktopView"] }), w = (i) => {
63
+ v(() => {
64
+ var d;
65
+ g(i), p === !1 && (((d = e.current) == null ? void 0 : d.getBoundingClientRect().y) || 0) < 0 && V(e, { behavior: "instant" });
61
66
  });
62
- }, d = (r) => {
63
- l(() => g(r));
64
67
  };
65
- A(() => o.listen((r) => {
66
- if (r.scrollPosition === 0) {
67
- d(!1), o.setKey("tabsShown", !1);
68
+ S(() => r.listen((i) => {
69
+ if (i.scrollPosition === 0) {
70
+ r.setKey("tabsShown", !0);
68
71
  return;
69
72
  }
70
- d(r.scrollDirection === "forward"), o.setKey("tabsShown", r.scrollDirection !== "forward");
71
- }), [o]);
72
- let p = "0px";
73
- m ? p = a ? "-60px" : "0px" : p = a ? "0px" : "68px";
74
- const C = m ? n : y;
75
- return /* @__PURE__ */ f(E, { className: b, style: T, children: [
73
+ r.setKey("tabsShown", i.scrollDirection === "backward");
74
+ }), [r]);
75
+ let n = "0px";
76
+ p ? n = a ? "0px" : "calc(8px - var(--header-height) - var(--header-offset))" : n = a ? "calc(var(--header-height) + var(--header-offset))" : "0px";
77
+ const k = p ? e : y;
78
+ return /* @__PURE__ */ c(D, { className: u, style: f, children: [
76
79
  /* @__PURE__ */ t(
77
- L,
80
+ A,
78
81
  {
79
82
  style: {
80
- top: p
83
+ top: n
81
84
  },
82
- children: /* @__PURE__ */ t(O, { activePage: e, toggleActivePage: w })
85
+ children: /* @__PURE__ */ t(K, { activePage: m, toggleActivePage: w })
83
86
  }
84
87
  ),
85
- e === s.HOME && /* @__PURE__ */ f(v, { children: [
86
- /* @__PURE__ */ t(K, { style: { paddingTop: "8px" }, children: /* @__PURE__ */ t(j, { userSummary: i.userSummary }) }),
87
- /* @__PURE__ */ t(k, { style: { flex: 1 }, children: /* @__PURE__ */ t(V, { openQuestion: i.openQuestion, store: i.feedList.getStore() }) })
88
+ m === s.HOME && /* @__PURE__ */ c(x, { children: [
89
+ /* @__PURE__ */ t(P, { style: { paddingTop: "8px" }, children: /* @__PURE__ */ t(E, { children: /* @__PURE__ */ t(O, { userSummary: o.userSummary }) }) }),
90
+ /* @__PURE__ */ t(I, { style: { flex: 1 }, children: /* @__PURE__ */ t(F, { openQuestion: o.openQuestion, store: o.feedList.getStore() }) })
88
91
  ] }),
89
- e === s.LEADERBOARD && /* @__PURE__ */ t(I, { children: /* @__PURE__ */ t(
90
- Q,
92
+ m === s.LEADERBOARD && /* @__PURE__ */ t(L, { children: /* @__PURE__ */ t(
93
+ B,
91
94
  {
92
- renderClipBoardNode: C,
93
- scrollStore: o,
94
- scrollNode: h,
95
- gamification: i
95
+ renderClipBoardNode: k,
96
+ scrollStore: r,
97
+ scrollNode: l,
98
+ gamification: o
96
99
  }
97
100
  ) })
98
101
  ] });
99
102
  };
100
103
  export {
101
- Ht as Tabs
104
+ $t as Tabs
102
105
  };
@@ -3,16 +3,12 @@ import "react/jsx-runtime";
3
3
  import "@linaria/react";
4
4
  import "@nanostores/react";
5
5
  import "react";
6
- import "../../../../useClipboardCopy-E5rEe6It.js";
7
- import "../../../../index-uEuzH3jr.js";
8
- import "../../../gamification/copyNotification/index.js";
9
- import "../../../icons/index.js";
10
- import "../../../gamification/copyNotification/styles.js";
11
6
  import "../../styles.js";
12
7
  import "../../../gamification/detail/header/index.js";
13
8
  import "@streamlayer/sdk-web-types";
14
9
  import "../../../gamification/constants.js";
15
10
  import "../../../gamification/detail/header/styles.js";
11
+ import "../../../icons/index.js";
16
12
  import "../../../gamification/user-statistics/index.js";
17
13
  import "../../../../utils/common.js";
18
14
  import "../../../gamification/user-statistics/components/rank/index.js";
@@ -20,8 +16,11 @@ import "../../../gamification/user-statistics/components/rank/styles.js";
20
16
  import "../../../gamification/user-statistics/components/statistic/index.js";
21
17
  import "../../../gamification/user-statistics/components/statistic/styles.js";
22
18
  import "../../../gamification/user-statistics/styles.js";
23
- import "../../../show-in/index.js";
19
+ import "../../../modal/index.js";
24
20
  import "@linaria/core";
21
+ import "../../../../index-jRXrW6ie.js";
22
+ import "../../../../index-uEuzH3jr.js";
23
+ import "../../../show-in/index.js";
25
24
  import "./Question.js";
26
25
  import "../../../gamification/detail/sponsor/index.js";
27
26
  import "../../../gamification/vote/index.js";
@@ -52,9 +51,15 @@ import "../../../questions/twitter/account/styles.js";
52
51
  import "../../../questions/twitter/styles.js";
53
52
  import "../../../gamification/vote/twitter-details/styles.js";
54
53
  import "./Tabs.js";
54
+ import "../../useSdkScroll.js";
55
+ import "lodash.throttle";
56
+ import "../../../../index-keh7OLCY.js";
55
57
  import "../../../gamification/tabs/index.js";
56
58
  import "../../../gamification/tabs/styles.js";
57
59
  import "./Leaderboard.js";
60
+ import "../../useClipboardCopy.js";
61
+ import "../../../gamification/copyNotification/index.js";
62
+ import "../../../gamification/copyNotification/styles.js";
58
63
  import "../../../gamification/invite-link/index.js";
59
64
  import "../../../gamification/invite-link/styles.js";
60
65
  import "react-virtualized-auto-sizer";
@@ -1,21 +1,18 @@
1
- import { jsxs as d, jsx as t, Fragment as R } from "react/jsx-runtime";
2
- import { styled as k } from "@linaria/react";
3
- import { useStore as f } from "@nanostores/react";
4
- import { useRef as b, useMemo as v, useEffect as F } from "react";
5
- import { r as I } from "../../../../useClipboardCopy-E5rEe6It.js";
6
- import { SDKWhiteContainer as O } from "../../styles.js";
7
- import { VoteHeader as T } from "../../../gamification/detail/header/index.js";
8
- import { UserStatistics as P } from "../../../gamification/user-statistics/index.js";
9
- import { ShowIn as Q } from "../../../show-in/index.js";
10
- import { Question as j } from "./Question.js";
11
- import { Tabs as A } from "./Tabs.js";
12
- import "../../../../index-uEuzH3jr.js";
13
- import "../../../gamification/copyNotification/index.js";
14
- import "../../../icons/index.js";
15
- import "../../../gamification/copyNotification/styles.js";
1
+ import { jsx as t, jsxs as c, Fragment as U } from "react/jsx-runtime";
2
+ import { styled as a } from "@linaria/react";
3
+ import { useStore as n } from "@nanostores/react";
4
+ import { useMemo as w } from "react";
5
+ import { SDKWhiteContainer as x } from "../../styles.js";
6
+ import { VoteHeader as V } from "../../../gamification/detail/header/index.js";
7
+ import { UserStatistics as y } from "../../../gamification/user-statistics/index.js";
8
+ import { createModal as M } from "../../../modal/index.js";
9
+ import { ShowIn as R } from "../../../show-in/index.js";
10
+ import { Question as S } from "./Question.js";
11
+ import { Tabs as D } from "./Tabs.js";
16
12
  import "@streamlayer/sdk-web-types";
17
13
  import "../../../gamification/constants.js";
18
14
  import "../../../gamification/detail/header/styles.js";
15
+ import "../../../icons/index.js";
19
16
  import "../../../../utils/common.js";
20
17
  import "../../../gamification/user-statistics/components/rank/index.js";
21
18
  import "../../../gamification/user-statistics/components/rank/styles.js";
@@ -23,6 +20,8 @@ import "../../../gamification/user-statistics/components/statistic/index.js";
23
20
  import "../../../gamification/user-statistics/components/statistic/styles.js";
24
21
  import "../../../gamification/user-statistics/styles.js";
25
22
  import "@linaria/core";
23
+ import "../../../../index-jRXrW6ie.js";
24
+ import "../../../../index-uEuzH3jr.js";
26
25
  import "../../../gamification/detail/sponsor/index.js";
27
26
  import "../../../gamification/vote/index.js";
28
27
  import "../../../gamification/vote/expired-alert/index.js";
@@ -51,9 +50,15 @@ import "../../../questions/twitter/account/index.js";
51
50
  import "../../../questions/twitter/account/styles.js";
52
51
  import "../../../questions/twitter/styles.js";
53
52
  import "../../../gamification/vote/twitter-details/styles.js";
53
+ import "../../useSdkScroll.js";
54
+ import "lodash.throttle";
55
+ import "../../../../index-keh7OLCY.js";
54
56
  import "../../../gamification/tabs/index.js";
55
57
  import "../../../gamification/tabs/styles.js";
56
58
  import "./Leaderboard.js";
59
+ import "../../useClipboardCopy.js";
60
+ import "../../../gamification/copyNotification/index.js";
61
+ import "../../../gamification/copyNotification/styles.js";
57
62
  import "../../../gamification/invite-link/index.js";
58
63
  import "../../../gamification/invite-link/styles.js";
59
64
  import "react-virtualized-auto-sizer";
@@ -79,93 +84,76 @@ import "../../../button/index.js";
79
84
  import "../../../button/styles.js";
80
85
  import "../../../gamification/question/list/styles.js";
81
86
  import "./UserSummary.js";
82
- const D = () => Q, S = /* @__PURE__ */ k(D())({
87
+ const F = () => R, d = /* @__PURE__ */ a(F())({
83
88
  name: "OpenedContainer",
84
89
  class: "oar61gl",
85
90
  propsAsIs: !0
86
- }), E = /* @__PURE__ */ k("div")({
91
+ }), O = /* @__PURE__ */ a("div")({
87
92
  name: "UserContainer",
88
93
  class: "u14zaal4",
89
94
  propsAsIs: !1
90
- }), M = ({
95
+ }), Q = ({
91
96
  correct: r,
92
- incorrect: s
97
+ incorrect: p
93
98
  }) => {
94
- const o = r + s;
99
+ const o = r + p;
95
100
  return o === 0 ? 0 : Math.round(r / o * 100);
96
- }, z = `
97
- body {
98
- overflow: hidden
99
- }
100
- `, dt = ({
101
+ }, lo = ({
101
102
  gamification: r,
102
- scrollStore: s,
103
+ scrollStore: p,
103
104
  className: o,
104
105
  appNode: i,
105
- scrollNode: C,
106
- headerNode: l,
107
- responsiveStore: a
106
+ scrollNode: f,
107
+ headerNode: h,
108
+ responsiveStore: s
108
109
  }) => {
109
- const c = f(r.openedQuestion.$store), e = f(r.openedUser), {
110
- sdkInScrollView: m
111
- } = f(a, {
112
- keys: ["sdkInScrollView"]
113
- }), p = b(0), [U, w] = v(() => {
114
- var h;
115
- const u = m ? i : l, n = (((h = i.current) == null ? void 0 : h.getBoundingClientRect().y) || 0) < 0;
116
- if ((c || e) && u.current) {
117
- n && (p.current = window.scrollY);
118
- const V = () => (F(() => {
119
- const x = setTimeout(() => {
120
- var y;
121
- (y = i.current) == null || y.scrollIntoView();
122
- }, 1e3);
123
- return () => {
124
- clearTimeout(x), p.current !== 0 && (window.scroll({
125
- top: p.current
126
- }), p.current = 0);
127
- };
128
- }, []), /* @__PURE__ */ t("style", {
129
- children: z
130
- }));
131
- return [n, c ? I.createPortal(/* @__PURE__ */ d(S, {
132
- className: o,
133
- children: [/* @__PURE__ */ t(j, {
134
- gamification: r
135
- }), n && !m && /* @__PURE__ */ t(V, {})]
136
- }), u.current) : e ? I.createPortal(/* @__PURE__ */ t(S, {
137
- className: o,
138
- children: /* @__PURE__ */ d(E, {
139
- children: [/* @__PURE__ */ t(T, {
140
- label: "Friend's Rank",
141
- close: r.closeUser
142
- }), /* @__PURE__ */ t(O, {
143
- children: /* @__PURE__ */ t(P, {
144
- ...e,
145
- successRate: M(e)
146
- })
147
- })]
148
- })
149
- }), u.current) : null];
150
- }
151
- return [n, null];
152
- }, [i, o, r, l, c, e, m]);
153
- return /* @__PURE__ */ d(R, {
154
- children: [w, /* @__PURE__ */ t(A, {
110
+ const e = n(r.openedQuestion.$store), m = n(r.openedUser), {
111
+ sdkInDesktopView: l
112
+ } = n(s, {
113
+ keys: ["sdkInDesktopView"]
114
+ }), C = w(() => {
115
+ var u;
116
+ const k = (((u = i.current) == null ? void 0 : u.getBoundingClientRect().y) || 0) < 0;
117
+ if (!i.current || !e && !m)
118
+ return null;
119
+ const I = e ? /* @__PURE__ */ t(d, {
120
+ className: o,
121
+ children: /* @__PURE__ */ t(S, {
122
+ gamification: r
123
+ })
124
+ }) : m ? /* @__PURE__ */ t(d, {
125
+ className: o,
126
+ children: /* @__PURE__ */ c(O, {
127
+ children: [/* @__PURE__ */ t(V, {
128
+ label: "Friend's Rank",
129
+ close: r.closeUser
130
+ }), /* @__PURE__ */ t(x, {
131
+ children: /* @__PURE__ */ t(y, {
132
+ ...m,
133
+ successRate: Q(m)
134
+ })
135
+ })]
136
+ })
137
+ }) : null;
138
+ return M({
139
+ Modal: I,
140
+ container: i,
141
+ useContainer: !l,
142
+ fixedView: k
143
+ });
144
+ }, [i, o, r, e, m, l]);
145
+ return /* @__PURE__ */ c(U, {
146
+ children: [C, /* @__PURE__ */ t(D, {
155
147
  appNode: i,
156
- headerNode: l,
157
- scrollStore: s,
158
- scrollNode: C,
148
+ headerNode: h,
149
+ scrollStore: p,
150
+ scrollNode: f,
159
151
  className: o,
160
152
  gamification: r,
161
- responsiveStore: a,
162
- style: !m && !U && w !== null ? {
163
- height: "0",
164
- overflow: "hidden"
165
- } : {}
153
+ responsiveStore: s
166
154
  })]
167
155
  });
168
156
  };
169
157
  export {
170
- dt as GamificationOverlay
158
+ lo as GamificationOverlay
171
159
  };
@@ -1,4 +1,5 @@
1
1
  /// <reference types="react" />
2
+ import { ResponsiveStore } from '../../useSdkResponsive';
2
3
  import { ChannelsButtonId } from '../../../navigation/button/Channels';
3
4
  import { FeaturedGroupsButtonId } from '../../../navigation/button/FeaturedGroups';
4
5
  import { LeaderBoardButtonId } from '../../../navigation/button/LeaderBoard';
@@ -9,5 +10,6 @@ type MastersNavigationProps = {
9
10
  setActiveOverlay: (overlay: AvailableOverlays) => void;
10
11
  sdkReady: boolean;
11
12
  className?: string;
13
+ responsiveStore: ResponsiveStore;
12
14
  };
13
15
  export declare const MastersNavigation: import("react").ForwardRefExoticComponent<MastersNavigationProps & import("react").RefAttributes<HTMLDivElement | null>>;