@streamlayer/react-ui 0.96.2 → 0.96.3

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 (30) hide show
  1. package/lib/assets/style.css +1 -1
  2. package/lib/ui/app/Features/FeatureProvider.d.ts +1 -0
  3. package/lib/ui/app/Features/FeatureProvider.js +34 -6
  4. package/lib/ui/app/Features/Gamification/Friends.js +24 -21
  5. package/lib/ui/app/Features/Gamification/gamification-feature.js +1 -1
  6. package/lib/ui/app/Features/Gamification/index.d.ts +10 -0
  7. package/lib/ui/app/Features/Gamification/index.js +68 -67
  8. package/lib/ui/app/Features/index.d.ts +8 -0
  9. package/lib/ui/app/Features/index.js +112 -19
  10. package/lib/ui/app/Navigation/MastersNavigation/index.js +5 -4
  11. package/lib/ui/app/Navigation/index.js +7 -6
  12. package/lib/ui/app/masters.js +153 -83
  13. package/lib/ui/app/useMastersApp.js +3 -2
  14. package/lib/ui/gamification/question/insight/index.js +11 -16
  15. package/lib/ui/gamification/question/list/index.js +45 -32
  16. package/lib/ui/gamification/question/notification/index.js +20 -23
  17. package/lib/ui/gamification/question/twitter/index.js +13 -18
  18. package/lib/ui/gamification/vote/feedback/index.js +29 -26
  19. package/lib/ui/gamification/vote/feedback/styles.d.ts +1 -0
  20. package/lib/ui/gamification/vote/feedback/styles.js +9 -4
  21. package/lib/ui/gamification/vote/index.js +52 -45
  22. package/lib/ui/icons/index.js +90 -25
  23. package/lib/ui/navigation/button/Channels.js +6 -5
  24. package/lib/ui/navigation/button/FeaturedGroups.js +4 -3
  25. package/lib/ui/navigation/button/LeaderBoard.js +6 -5
  26. package/lib/ui/navigation/button/index.js +20 -7
  27. package/lib/ui/navigation/button/styles.d.ts +3 -0
  28. package/lib/ui/navigation/button/styles.js +9 -6
  29. package/lib/ui/questions/insight/index.js +15 -16
  30. package/package.json +14 -14
@@ -1,18 +1,18 @@
1
- import { jsx as o, jsxs as c, Fragment as U } from "react/jsx-runtime";
1
+ import { jsx as t, jsxs as f } from "react/jsx-runtime";
2
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 { ModalPortal as R } from "../../../modal/index.js";
3
+ import { useStore as s } from "@nanostores/react";
4
+ import { SDKWhiteContainer as h } from "../../styles.js";
5
+ import { VoteHeader as C } from "../../../gamification/detail/header/index.js";
6
+ import { UserStatistics as k } from "../../../gamification/user-statistics/index.js";
7
+ import { ModalPortal as I } from "../../../modal/index.js";
9
8
  import { ShowIn as S } from "../../../show-in/index.js";
10
- import { Question as D } from "./Question.js";
11
- import { Tabs as F } from "./Tabs.js";
9
+ import { Question as U } from "./Question.js";
10
+ import { Tabs as w } from "./Tabs.js";
12
11
  import "@streamlayer/sdk-web-types";
13
12
  import "../../../gamification/constants.js";
14
13
  import "../../../gamification/detail/header/styles.js";
15
14
  import "../../../icons/index.js";
15
+ import "react";
16
16
  import "../../../../utils/common.js";
17
17
  import "../../../gamification/user-statistics/components/rank/index.js";
18
18
  import "../../../gamification/user-statistics/components/rank/styles.js";
@@ -85,76 +85,77 @@ import "../../../button/index.js";
85
85
  import "../../../button/styles.js";
86
86
  import "../../../gamification/question/list/styles.js";
87
87
  import "./UserSummary.js";
88
- const M = () => S, d = /* @__PURE__ */ a(M())({
88
+ const x = () => S, c = /* @__PURE__ */ a(x())({
89
89
  name: "OpenedContainer",
90
90
  class: "oar61gl",
91
91
  propsAsIs: !0
92
- }), O = /* @__PURE__ */ a("div")({
92
+ }), y = /* @__PURE__ */ a("div")({
93
93
  name: "UserContainer",
94
94
  class: "u14zaal4",
95
95
  propsAsIs: !1
96
- }), Q = ({
96
+ }), V = ({
97
97
  correct: r,
98
- incorrect: p
98
+ incorrect: i
99
99
  }) => {
100
- const t = r + p;
101
- return t === 0 ? 0 : Math.round(r / t * 100);
102
- }, uo = ({
100
+ const o = r + i;
101
+ return o === 0 ? 0 : Math.round(r / o * 100);
102
+ }, mo = ({
103
103
  gamification: r,
104
- scrollStore: p,
105
- className: t,
106
- appNode: i,
107
- scrollNode: f,
108
- headerNode: h,
109
- responsiveStore: s
104
+ scrollStore: i,
105
+ className: o,
106
+ appNode: e,
107
+ scrollNode: p,
108
+ headerNode: m,
109
+ responsiveStore: n
110
+ }) => /* @__PURE__ */ t(w, {
111
+ appNode: e,
112
+ headerNode: m,
113
+ scrollStore: i,
114
+ scrollNode: p,
115
+ className: o,
116
+ gamification: r,
117
+ responsiveStore: n
118
+ }), po = ({
119
+ gamification: r,
120
+ className: i,
121
+ appNode: o,
122
+ responsiveStore: e
110
123
  }) => {
111
- const e = n(r.openedQuestion.$store), m = n(r.openedUser), {
112
- sdkInDesktopView: l
113
- } = n(s, {
124
+ var l;
125
+ const p = s(r.openedQuestion.$store), m = s(r.openedUser), {
126
+ sdkInDesktopView: n
127
+ } = s(e, {
114
128
  keys: ["sdkInDesktopView"]
115
- }), C = w(() => {
116
- var u;
117
- const k = (((u = i.current) == null ? void 0 : u.getBoundingClientRect().y) || 0) < 0;
118
- if (!i.current || !e && !m)
119
- return null;
120
- const I = e ? /* @__PURE__ */ o(d, {
121
- className: t,
122
- children: /* @__PURE__ */ o(D, {
123
- gamification: r
124
- })
125
- }) : m ? /* @__PURE__ */ o(d, {
126
- className: t,
127
- children: /* @__PURE__ */ c(O, {
128
- children: [/* @__PURE__ */ o(V, {
129
- label: "Friend's Rank",
130
- close: r.closeUser
131
- }), /* @__PURE__ */ o(x, {
132
- children: /* @__PURE__ */ o(y, {
133
- ...m,
134
- successRate: Q(m)
135
- })
136
- })]
137
- })
138
- }) : null;
139
- return /* @__PURE__ */ o(R, {
140
- container: i,
141
- useContainer: !l,
142
- fixedView: k,
143
- children: I
144
- });
145
- }, [i, t, r, e, m, l]);
146
- return /* @__PURE__ */ c(U, {
147
- children: [C, /* @__PURE__ */ o(F, {
148
- appNode: i,
149
- headerNode: h,
150
- scrollStore: p,
151
- scrollNode: f,
152
- className: t,
153
- gamification: r,
154
- responsiveStore: s
155
- })]
129
+ }), u = (((l = o.current) == null ? void 0 : l.getBoundingClientRect().y) || 0) < 0;
130
+ if (!o.current || !p && !m)
131
+ return null;
132
+ const d = p ? /* @__PURE__ */ t(c, {
133
+ className: i,
134
+ children: /* @__PURE__ */ t(U, {
135
+ gamification: r
136
+ })
137
+ }) : m ? /* @__PURE__ */ t(c, {
138
+ className: i,
139
+ children: /* @__PURE__ */ f(y, {
140
+ children: [/* @__PURE__ */ t(C, {
141
+ label: "Friend's Rank",
142
+ close: r.closeUser
143
+ }), /* @__PURE__ */ t(h, {
144
+ children: /* @__PURE__ */ t(k, {
145
+ ...m,
146
+ successRate: V(m)
147
+ })
148
+ })]
149
+ })
150
+ }) : null;
151
+ return /* @__PURE__ */ t(I, {
152
+ container: o,
153
+ useContainer: !n,
154
+ fixedView: u,
155
+ children: d
156
156
  });
157
157
  };
158
158
  export {
159
- uo as GamificationOverlay
159
+ mo as GamificationOverlay,
160
+ po as GamificationOverlayStandalone
160
161
  };
@@ -15,3 +15,11 @@ export declare const ActiveFeature: React.FC<{
15
15
  headerNode: HeaderNodeRef;
16
16
  className?: string;
17
17
  }>;
18
+ /** render feature by type */
19
+ export declare const StandaloneFeature: React.FC<{
20
+ sdk: StreamLayerSDK;
21
+ feature: Features | null;
22
+ responsiveStore: ResponsiveStore;
23
+ appNode: AppNodeRef;
24
+ className?: string;
25
+ }>;
@@ -1,30 +1,123 @@
1
- import { jsx as i } from "react/jsx-runtime";
2
- import { lazy as f, useMemo as c, Suspense as a } from "react";
3
- import { FeatureType as g } from "@streamlayer/sdk-web-types";
4
- import { FeatureProvider as y } from "./FeatureProvider.js";
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import { lazy as c, useMemo as g, Suspense as y } from "react";
3
+ import { FeatureType as u } from "@streamlayer/sdk-web-types";
4
+ import { FeatureProvider as a } from "./FeatureProvider.js";
5
+ import { GamificationOverlayStandalone as d } from "./Gamification/index.js";
6
+ import "@linaria/react";
5
7
  import "@nanostores/react";
6
8
  import "@streamlayer/sdk-web-interfaces";
7
- const h = f(() => import("./Gamification/gamification-feature.js")), A = ({ sdk: n, feature: t, className: r, scrollStore: e, appNode: o, scrollNode: m, headerNode: l, responsiveStore: p }) => {
8
- const u = c(() => t && t.featureConfig.get().type === g.GAMES ? /* @__PURE__ */ i(y, { className: r, sdk: n, feature: t, children: /* @__PURE__ */ i(
9
+ import "../styles.js";
10
+ import "../../gamification/detail/header/index.js";
11
+ import "../../gamification/constants.js";
12
+ import "../../gamification/detail/header/styles.js";
13
+ import "../../icons/index.js";
14
+ import "../../gamification/user-statistics/index.js";
15
+ import "../../../utils/common.js";
16
+ import "../../gamification/user-statistics/components/rank/index.js";
17
+ import "../../gamification/user-statistics/components/rank/styles.js";
18
+ import "../../gamification/user-statistics/components/statistic/index.js";
19
+ import "../../gamification/user-statistics/components/statistic/styles.js";
20
+ import "../../gamification/user-statistics/styles.js";
21
+ import "../../modal/index.js";
22
+ import "@linaria/core";
23
+ import "../../../index-jRXrW6ie.js";
24
+ import "../../../index-uEuzH3jr.js";
25
+ import "../../show-in/index.js";
26
+ import "./Gamification/Question.js";
27
+ import "../useMastersContext.js";
28
+ import "../../gamification/detail/sponsor/index.js";
29
+ import "../../gamification/vote/index.js";
30
+ import "../../gamification/vote/expired-alert/index.js";
31
+ import "../../gamification/vote/expired-alert/styles.js";
32
+ import "../../gamification/vote/feedback/index.js";
33
+ import "../../gamification/vote/feedback/styles.js";
34
+ import "../../gamification/vote/styles.js";
35
+ import "../../gamification/vote/vote-option/index.js";
36
+ import "../../animated-counter/index.js";
37
+ import "react-countup";
38
+ import "../../gamification/vote/vote-option/styles.js";
39
+ import "../../gamification/vote/win-bar/index.js";
40
+ import "../../timer/index.js";
41
+ import "react-countdown-circle-timer";
42
+ import "../../theme/constants.js";
43
+ import "../../gamification/vote/win-bar/styles.js";
44
+ import "../../gamification/vote/insight-details/index.js";
45
+ import "../../questions/insight/index.js";
46
+ import "../../video-player/index.js";
47
+ import "../../video-player/styles.js";
48
+ import "../../questions/insight/styles.js";
49
+ import "../../gamification/vote/insight-details/styles.js";
50
+ import "../../gamification/vote/twitter-details/index.js";
51
+ import "../../questions/twitter/index.js";
52
+ import "../../questions/twitter/account/index.js";
53
+ import "../../questions/twitter/account/styles.js";
54
+ import "../../questions/twitter/styles.js";
55
+ import "../../gamification/vote/twitter-details/styles.js";
56
+ import "./Gamification/Tabs.js";
57
+ import "../useSdkScroll.js";
58
+ import "lodash.throttle";
59
+ import "../../../index-keh7OLCY.js";
60
+ import "../../gamification/tabs/index.js";
61
+ import "../../gamification/tabs/styles.js";
62
+ import "./Gamification/Leaderboard.js";
63
+ import "../useClipboardCopy.js";
64
+ import "../../gamification/copyNotification/index.js";
65
+ import "../../gamification/copyNotification/styles.js";
66
+ import "../../gamification/invite-link/index.js";
67
+ import "../../gamification/invite-link/styles.js";
68
+ import "react-virtualized-auto-sizer";
69
+ import "react-window";
70
+ import "react-window-infinite-loader";
71
+ import "../../gamification/leaderboard/list-item/styles.js";
72
+ import "../../../styles_z07sl8-w40geAFS.js";
73
+ import "../../gamification/leaderboard/static.js";
74
+ import "react-infinite-scroller";
75
+ import "../../gamification/leaderboard/list-item/index.js";
76
+ import "./Gamification/Friends.js";
77
+ import "../../gamification/onboarding/slides/onboarding-invite-card/index.js";
78
+ import "../../gamification/onboarding/slides/onboarding-invite-card/styles.js";
79
+ import "./Gamification/QuestionsList.js";
80
+ import "../../gamification/question/list/index.js";
81
+ import "../../gamification/question/index.js";
82
+ import "../../gamification/question/styles.js";
83
+ import "../../gamification/question/insight/index.js";
84
+ import "../../gamification/question/insight/styles.js";
85
+ import "../../gamification/question/twitter/index.js";
86
+ import "../../gamification/question/twitter/styles.js";
87
+ import "../../button/index.js";
88
+ import "../../button/styles.js";
89
+ import "../../gamification/question/list/styles.js";
90
+ import "./Gamification/UserSummary.js";
91
+ const h = c(() => import("./Gamification/gamification-feature.js")), Nt = ({ sdk: o, feature: t, className: i, scrollStore: m, appNode: p, scrollNode: n, headerNode: e, responsiveStore: l }) => {
92
+ const f = g(() => t && t.featureConfig.get().type === u.GAMES ? /* @__PURE__ */ r(a, { className: i, sdk: o, feature: t, children: /* @__PURE__ */ r(
9
93
  h,
10
94
  {
11
- appNode: o,
12
- scrollStore: e,
13
- scrollNode: m,
14
- headerNode: l,
15
- className: r,
16
- responsiveStore: p,
95
+ appNode: p,
96
+ scrollStore: m,
97
+ scrollNode: n,
98
+ headerNode: e,
99
+ className: i,
100
+ responsiveStore: l,
17
101
  gamification: t
18
102
  }
19
- ) }) : null, [n, t, r, p, e, m, o, l]);
20
- return /* @__PURE__ */ i(
21
- a,
103
+ ) }) : null, [o, t, i, l, m, n, p, e]);
104
+ return /* @__PURE__ */ r(
105
+ y,
22
106
  {
23
- fallback: /* @__PURE__ */ i("div", { style: { display: "flex", alignItems: "center", justifyContent: "center", width: "100%", height: "100%" }, children: "page loading..." }),
24
- children: u
107
+ fallback: /* @__PURE__ */ r("div", { style: { display: "flex", alignItems: "center", justifyContent: "center", width: "100%", height: "100%" }, children: "page loading..." }),
108
+ children: f
25
109
  }
26
110
  );
27
- };
111
+ }, ti = ({ sdk: o, feature: t, className: i, appNode: m, responsiveStore: p }) => t && t.featureConfig.get().type === u.GAMES ? /* @__PURE__ */ r(a, { className: i, sdk: o, feature: t, noWait: !0, children: /* @__PURE__ */ r(
112
+ d,
113
+ {
114
+ appNode: m,
115
+ className: i,
116
+ responsiveStore: p,
117
+ gamification: t
118
+ }
119
+ ) }) : null;
28
120
  export {
29
- A as ActiveFeature
121
+ Nt as ActiveFeature,
122
+ ti as StandaloneFeature
30
123
  };
@@ -3,15 +3,16 @@ import { useStore as B } from "@nanostores/react";
3
3
  import { forwardRef as l } from "react";
4
4
  import { ChannelsButton as c, ChannelsButtonId as t } from "../../../navigation/button/Channels.js";
5
5
  import { FeaturedGroupsButton as x, FeaturedGroupsButtonId as i } from "../../../navigation/button/FeaturedGroups.js";
6
- import { LeaderBoardButtonId as M } from "../../../navigation/button/LeaderBoard.js";
6
+ import { LeaderBoardButtonId as P } from "../../../navigation/button/LeaderBoard.js";
7
7
  import { Navigation as I, NavigationItems as h } from "../../../navigation/masters.js";
8
8
  import { BREAKPOINTS as p } from "../../../theme/constants.js";
9
9
  import "@linaria/react";
10
10
  import "../../../icons/index.js";
11
11
  import "../../../navigation/button/index.js";
12
+ import "@linaria/core";
12
13
  import "../../../navigation/button/styles.js";
13
14
  import "../../../navigation/index.js";
14
- const E = l(
15
+ const K = l(
15
16
  ({ activeOverlay: o, setActiveOverlay: m, scrollToTop: n, sdkReady: d, className: u, responsiveStore: a }, f) => {
16
17
  const { screen: e } = B(a, { keys: ["screen"] });
17
18
  return /* @__PURE__ */ s(I, { className: u, children: [
@@ -49,6 +50,6 @@ const E = l(
49
50
  export {
50
51
  t as ChannelsButtonId,
51
52
  i as FeaturedGroupsButtonId,
52
- M as LeaderBoardButtonId,
53
- E as MastersNavigation
53
+ P as LeaderBoardButtonId,
54
+ K as MastersNavigation
54
55
  };
@@ -1,16 +1,17 @@
1
1
  import { jsx as n } from "react/jsx-runtime";
2
2
  import { useStore as s } from "@nanostores/react";
3
- import { useMemo as e } from "react";
3
+ import { useMemo as m } from "react";
4
4
  import { AvailableFeatures as d } from "@streamlayer/sdk-web-features";
5
5
  import { Navigation as v } from "../../navigation/index.js";
6
6
  import { Button as b } from "../../navigation/button/index.js";
7
7
  import "@linaria/react";
8
+ import "@linaria/core";
8
9
  import "../../navigation/button/styles.js";
9
- const N = ({ customOverlays: p, activeButton: m, sdk: i }) => {
10
- const t = s(i.sdkStore.organizationSettings), r = s(i.sdkStore.streamSettings), a = e(() => {
10
+ const h = ({ customOverlays: p, activeButton: e, sdk: i }) => {
11
+ const t = s(i.sdkStore.organizationSettings), r = s(i.sdkStore.streamSettings), a = m(() => {
11
12
  const o = (r == null ? void 0 : r.data) || (t == null ? void 0 : t.data);
12
13
  return o != null && o.overlays ? o.overlays : [];
13
- }, [t, r]), c = e(
14
+ }, [t, r]), c = m(
14
15
  () => [
15
16
  ...a.filter(({ enableSdkButton: o }) => o).map((o) => ({
16
17
  id: o.type,
@@ -25,8 +26,8 @@ const N = ({ customOverlays: p, activeButton: m, sdk: i }) => {
25
26
  ].sort((o, l) => o.position - l.position),
26
27
  [a, i, p]
27
28
  );
28
- return /* @__PURE__ */ n(v, { children: c.map((o) => /* @__PURE__ */ n(b, { ...o, active: o.id === m })) });
29
+ return /* @__PURE__ */ n(v, { children: c.map((o) => /* @__PURE__ */ n(b, { ...o, active: o.id === e })) });
29
30
  };
30
31
  export {
31
- N as SDKNavigation
32
+ h as SDKNavigation
32
33
  };