@streamlayer/react-ui 0.45.0 → 0.46.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.
package/lib/index.js CHANGED
@@ -1,16 +1,16 @@
1
- import { QuestionInApp as Vo } from "./ui/notifications/notification/question-inapp/index.js";
2
- import { Login as Oo } from "./ui/login/index.js";
3
- import { Onboarding as jo } from "./ui/gamification/onboarding/index.js";
4
- import { ActivePages as qo, Tab as wo, Tabs as zo } from "./ui/gamification/tabs/index.js";
5
- import { LeaderboardItemDetail as Co } from "./ui/gamification/leaderboard-item-detail/index.js";
6
- import { Question as Fo } from "./ui/gamification/question/index.js";
7
- import { QuestionList as Ho } from "./ui/gamification/question/list/index.js";
8
- import { UserStatistics as Ko } from "./ui/gamification/user-statistics/index.js";
9
- import { Vote as No } from "./ui/gamification/vote/index.js";
10
- import { Demo as Wo } from "./ui/demo/index.js";
11
- import { Points as Yo } from "./ui/gamification/points/index.js";
12
- import { StreamLayerThemeProvider as _o } from "./ui/theme/index.js";
13
- import { ThemeVariables as or, theme as rr, themeStr as tr } from "./ui/theme/theme.js";
1
+ import { QuestionInApp as yo } from "./ui/notifications/notification/question-inapp/index.js";
2
+ import { Login as Uo } from "./ui/login/index.js";
3
+ import { Onboarding as ko } from "./ui/gamification/onboarding/index.js";
4
+ import { ActivePages as wo, Tab as zo, Tabs as Bo } from "./ui/gamification/tabs/index.js";
5
+ import { LeaderboardItemDetail as Eo } from "./ui/gamification/leaderboard-item-detail/index.js";
6
+ import { Question as Go } from "./ui/gamification/question/index.js";
7
+ import { QuestionList as Jo } from "./ui/gamification/question/list/index.js";
8
+ import { UserStatistics as Mo } from "./ui/gamification/user-statistics/index.js";
9
+ import { Vote as Ro } from "./ui/gamification/vote/index.js";
10
+ import { Demo as Xo } from "./ui/demo/index.js";
11
+ import { Points as Zo } from "./ui/gamification/points/index.js";
12
+ import { StreamLayerThemeProvider as $o } from "./ui/theme/index.js";
13
+ import { ThemeVariables as rr, theme as tr, themeStr as mr } from "./ui/theme/theme.js";
14
14
  import "react/jsx-runtime";
15
15
  import "react";
16
16
  import "./icon-exit-d3f9fc80.js";
@@ -89,23 +89,24 @@ import "./ui/gamification/detailed-insight/index.js";
89
89
  import "./ui/demo/Login.js";
90
90
  import "@streamlayer/sdk-web-anonymous-auth";
91
91
  import "./ui/gamification/points/styles.js";
92
+ import "./ui/theme/breakpoints.js";
92
93
  import "@linaria/core";
93
94
  export {
94
- qo as ActivePages,
95
- Wo as Demo,
96
- Co as LeaderboardItemDetail,
97
- Oo as Login,
98
- jo as Onboarding,
99
- Yo as Points,
100
- Fo as Question,
101
- Vo as QuestionInApp,
102
- Ho as QuestionList,
103
- _o as StreamLayerThemeProvider,
104
- wo as Tab,
105
- zo as Tabs,
106
- or as ThemeVariables,
107
- Ko as UserStatistics,
108
- No as Vote,
109
- rr as theme,
110
- tr as themeStr
95
+ wo as ActivePages,
96
+ Xo as Demo,
97
+ Eo as LeaderboardItemDetail,
98
+ Uo as Login,
99
+ ko as Onboarding,
100
+ Zo as Points,
101
+ Go as Question,
102
+ yo as QuestionInApp,
103
+ Jo as QuestionList,
104
+ $o as StreamLayerThemeProvider,
105
+ zo as Tab,
106
+ Bo as Tabs,
107
+ rr as ThemeVariables,
108
+ Mo as UserStatistics,
109
+ Ro as Vote,
110
+ tr as theme,
111
+ mr as themeStr
111
112
  };
@@ -1,8 +1,8 @@
1
- import { jsx as i, jsxs as c, Fragment as l } from "react/jsx-runtime";
2
- import { useStore as u } from "@nanostores/react";
3
- import { useState as b } from "react";
4
- import { LeaderboardItemDetail as f } from "../../../gamification/leaderboard-item-detail/index.js";
5
- import { LeaderboardList as I } from "../../../gamification/leaderboard-list/index.js";
1
+ import { jsx as e, jsxs as l, Fragment as u } from "react/jsx-runtime";
2
+ import { useStore as b } from "@nanostores/react";
3
+ import { useState as f } from "react";
4
+ import { LeaderboardItemDetail as I } from "../../../gamification/leaderboard-item-detail/index.js";
5
+ import { LeaderboardList as v } from "../../../gamification/leaderboard-list/index.js";
6
6
  import "../../../gamification/common-header/index.js";
7
7
  import "../../../../icon-exit-d3f9fc80.js";
8
8
  import "../../../gamification/common-header/styles.js";
@@ -12,29 +12,29 @@ import "../../../gamification/leaderboard-item/index.js";
12
12
  import "../../../../utils/common.js";
13
13
  import "../../../gamification/leaderboard-item/styles.js";
14
14
  import "../../../gamification/leaderboard-list/styles.js";
15
- const y = ({ store: s }) => {
16
- const { data: r } = u(s), [e, d] = b(void 0);
17
- if (!r)
18
- return /* @__PURE__ */ i("div", { children: "wait leader board..." });
15
+ const z = ({ store: s }) => {
16
+ const { data: i = [], loading: d } = b(s), [r, p] = f(void 0);
17
+ if (d)
18
+ return /* @__PURE__ */ e("div", { children: "wait leader board..." });
19
19
  const o = (t) => {
20
- var m;
21
- const p = (m = r.find((n) => {
22
- var a;
23
- return ((a = n.attributes) == null ? void 0 : a.userId) === t;
24
- })) == null ? void 0 : m.attributes;
25
- d(p);
20
+ var a;
21
+ const n = (a = i.find((c) => {
22
+ var m;
23
+ return ((m = c.attributes) == null ? void 0 : m.userId) === t;
24
+ })) == null ? void 0 : a.attributes;
25
+ p(n);
26
26
  };
27
- return /* @__PURE__ */ c(l, { children: [
28
- e && /* @__PURE__ */ i(f, { comeBack: () => o(null), ...e }),
29
- !e && /* @__PURE__ */ i(
30
- I,
27
+ return /* @__PURE__ */ l(u, { children: [
28
+ r && /* @__PURE__ */ e(I, { comeBack: () => o(null), ...r }),
29
+ !r && /* @__PURE__ */ e(
30
+ v,
31
31
  {
32
- items: r.filter((t) => t.attributes).map((t) => t.attributes),
32
+ items: i.filter((t) => t.attributes).map((t) => t.attributes),
33
33
  openItemDetail: o
34
34
  }
35
35
  )
36
36
  ] });
37
37
  };
38
38
  export {
39
- y as Leaderboard
39
+ z as Leaderboard
40
40
  };
@@ -3,21 +3,24 @@ import { FeatureType as s } from "@streamlayer/sdk-web-types";
3
3
  import { useStore as p } from "@nanostores/react";
4
4
  import { styled as u } from "@linaria/react";
5
5
  import { Points as a } from "../gamification/points/index.js";
6
+ import "../../utils/common.js";
6
7
  import "../gamification/points/styles.js";
7
8
  import "../icons/index.js";
8
9
  import "react";
10
+ import "../theme/breakpoints.js";
11
+ import "../theme/constants.js";
9
12
  const d = u.div`
10
13
  position: fixed;
11
14
  top: 0;
12
15
  right: 0;
13
16
  `, f = ({ store: o }) => {
14
- var e, m, n, i;
17
+ var m, i, e, n;
15
18
  const t = p(o);
16
- return ((m = (e = t.data) == null ? void 0 : e.summary) == null ? void 0 : m.points) === void 0 ? null : /* @__PURE__ */ r(d, { children: ((i = (n = t.data) == null ? void 0 : n.summary) == null ? void 0 : i.points) && /* @__PURE__ */ r(a, { points: t.data.summary.points }) });
17
- }, v = ({ sdk: o }) => {
19
+ return ((i = (m = t.data) == null ? void 0 : m.summary) == null ? void 0 : i.points) === void 0 ? null : /* @__PURE__ */ r(d, { children: ((n = (e = t.data) == null ? void 0 : e.summary) == null ? void 0 : n.points) && /* @__PURE__ */ r(a, { points: t.data.summary.points }) });
20
+ }, F = ({ sdk: o }) => {
18
21
  const t = o.getFeature(s.GAMES);
19
22
  return t != null && t.userSummary ? /* @__PURE__ */ r(f, { store: t.userSummary.getStore() }) : null;
20
23
  };
21
24
  export {
22
- v as DemoPoints
25
+ F as DemoPoints
23
26
  };
@@ -1,4 +1,6 @@
1
1
  /// <reference types="react" />
2
- export declare const Points: React.FC<{
2
+ type PointsProps = {
3
3
  points: number;
4
- }>;
4
+ };
5
+ export declare const Points: React.FC<PointsProps>;
6
+ export {};
@@ -1,15 +1,18 @@
1
1
  import { jsxs as i, jsx as o } from "react/jsx-runtime";
2
- import { PointsContainer as t, PointsIcon as r, PointsSvg as e, PointsBody as s, PointsTitle as c, PointsValue as l } from "./styles.js";
2
+ import { formatDecimals as r } from "../../../utils/common.js";
3
+ import { PointsContainer as n, PointsIcon as m, PointsSvg as s, PointsBody as e, PointsTitle as p, PointsValue as c } from "./styles.js";
3
4
  import "@linaria/react";
4
5
  import "../../icons/index.js";
5
6
  import "react";
6
- const a = ({ points: n }) => /* @__PURE__ */ i(t, { children: [
7
- /* @__PURE__ */ o(r, { children: /* @__PURE__ */ o(e, { name: "icon-trophy" }) }),
8
- /* @__PURE__ */ i(s, { children: [
9
- /* @__PURE__ */ o(c, { children: "TOTAL POINTS" }),
10
- /* @__PURE__ */ o(l, { children: n.toLocaleString("en") })
7
+ import "../../theme/breakpoints.js";
8
+ import "../../theme/constants.js";
9
+ const u = ({ points: t }) => /* @__PURE__ */ i(n, { children: [
10
+ /* @__PURE__ */ o(m, { children: /* @__PURE__ */ o(s, { name: "icon-trophy" }) }),
11
+ /* @__PURE__ */ i(e, { children: [
12
+ /* @__PURE__ */ o(p, { children: "Total points" }),
13
+ /* @__PURE__ */ o(c, { children: r(t) })
11
14
  ] })
12
15
  ] });
13
16
  export {
14
- a as Points
17
+ u as Points
15
18
  };
@@ -1,47 +1,86 @@
1
1
  import { styled as t } from "@linaria/react";
2
- import { SvgIcon as i } from "../../icons/index.js";
2
+ import { SvgIcon as o } from "../../icons/index.js";
3
+ import { breakpoints as i } from "../../theme/breakpoints.js";
3
4
  import "react/jsx-runtime";
4
5
  import "react";
5
- const s = t.div`
6
- background: transparent;
7
- border: 1px solid rgba(255, 255, 255, 0.4);
6
+ import "../../theme/constants.js";
7
+ const l = t.div`
8
+ position: relative;
9
+ display: inline-flex;
10
+ align-items: center;
11
+ column-gap: 8px;
12
+ padding: 4px 17px 4px 4px;
8
13
  border-radius: 40px;
14
+
15
+ &:before {
16
+ content: '';
17
+ position: absolute;
18
+ top: 0;
19
+ left: 0;
20
+ bottom: 0;
21
+ right: 0;
22
+ border-radius: 40px;
23
+ border: 1px solid var(--color-neutrals-white);
24
+ opacity: 0.4;
25
+ z-index: -1;
26
+ }
27
+
28
+ ${i.down("md")`
29
+ padding-right: 10px;
30
+ `}
31
+ `, x = t.div`
9
32
  display: flex;
10
- height: 48px;
11
- width: 140px;
12
- box-sizing: border-box;
13
- padding: 4px;
14
33
  flex-shrink: 0;
15
- justify-content: start;
16
34
  align-items: center;
17
- `, d = t.div`
18
- border-radius: 50%;
19
- background: #006747;
35
+ justify-content: center;
20
36
  width: 40px;
21
37
  height: 40px;
22
- flex-shrink: 0;
23
- display: flex;
24
- align-items: center;
25
- justify-content: center;
26
- margin-right: 8px;
27
- `, p = t(i)`
38
+ border-radius: 50%;
39
+ background: #006747;
40
+
41
+ ${i.down("md")`
42
+ width: 28px;
43
+ height: 28px;
44
+ `}
45
+ `, a = t(o)`
28
46
  width: 20px;
29
47
  height: 20px;
30
48
 
31
49
  path {
32
50
  fill: #fff;
33
51
  }
34
- `, x = t.div``, a = t.div`
35
- font-weight: 300;
36
- font-size: 10px;
52
+
53
+ ${i.down("md")`
54
+ width: 14px;
55
+ height: 14px;
56
+ `}
57
+ `, h = t.div`
58
+ display: flex;
59
+ flex-direction: column;
60
+ color: var(--color-neutrals-white);
61
+ font-weight: var(--font-weight-default);
37
62
  `, c = t.div`
38
- font-size: 16px;
63
+ margin-bottom: 1px;
64
+ font-size: 9px;
65
+ text-transform: uppercase;
66
+
67
+ ${i.down("md")`
68
+ display: none;
69
+ `}
70
+ `, f = t.div`
71
+ font-size: 18px;
72
+ line-height: 20px;
73
+
74
+ ${i.down("md")`
75
+ font-size: 14px;
76
+ line-height: 22px;
77
+ `}
39
78
  `;
40
79
  export {
41
- x as PointsBody,
42
- s as PointsContainer,
43
- d as PointsIcon,
44
- p as PointsSvg,
45
- a as PointsTitle,
46
- c as PointsValue
80
+ h as PointsBody,
81
+ l as PointsContainer,
82
+ x as PointsIcon,
83
+ a as PointsSvg,
84
+ c as PointsTitle,
85
+ f as PointsValue
47
86
  };
@@ -0,0 +1,6 @@
1
+ import { BREAKPOINTS } from './constants';
2
+ export type Breakpoints = keyof typeof BREAKPOINTS;
3
+ export declare const breakpoints: {
4
+ up: (key: Breakpoints) => (styles: TemplateStringsArray) => string;
5
+ down: (key: Breakpoints) => (styles: TemplateStringsArray) => string;
6
+ };
@@ -0,0 +1,18 @@
1
+ import { BREAKPOINTS as e } from "./constants.js";
2
+ const i = (t) => (n) => `
3
+ @media (${t}) {
4
+ ${n}
5
+ }
6
+ `, o = {
7
+ up: (t) => {
8
+ const n = e[t];
9
+ return i(`min-width: ${n}px`);
10
+ },
11
+ down: (t) => {
12
+ const n = e[t] - 1;
13
+ return i(`max-width: ${n}px`);
14
+ }
15
+ };
16
+ export {
17
+ o as breakpoints
18
+ };
@@ -79,4 +79,11 @@ export declare const FONT: {
79
79
  COLOR: string;
80
80
  WEIGHT_DEFAULT: string;
81
81
  };
82
+ export declare const BREAKPOINTS: {
83
+ sm: number;
84
+ md: number;
85
+ lg: number;
86
+ xl: number;
87
+ xxl: number;
88
+ };
82
89
  export declare const colors: string;
@@ -54,6 +54,12 @@ const N = {
54
54
  SERIF: "'Tiempos', 'Tiempos Text', Times New Roman, serif",
55
55
  COLOR: "#fff",
56
56
  WEIGHT_DEFAULT: "500"
57
+ }, O = {
58
+ sm: 576,
59
+ md: 768,
60
+ lg: 992,
61
+ xl: 1200,
62
+ xxl: 1400
57
63
  }, G = Object.keys(E).reduce((A, R) => {
58
64
  const _ = E[R];
59
65
  return `
@@ -62,6 +68,7 @@ const N = {
62
68
  `;
63
69
  }, "");
64
70
  export {
71
+ O as BREAKPOINTS,
65
72
  E as COLORS,
66
73
  S as FONT,
67
74
  T as MASTERS_COLORS,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@streamlayer/react-ui",
3
- "version": "0.45.0",
3
+ "version": "0.46.0",
4
4
  "type": "module",
5
5
  "main": "./src/index.js",
6
6
  "typings": "./lib/index.d.ts",
@@ -73,6 +73,6 @@
73
73
  "vite-plugin-svgr": "^4.1.0",
74
74
  "vite-svg-loader": "^4.0.0",
75
75
  "vite-tsconfig-paths": "^4.2.1",
76
- "@streamlayer/react": "^0.24.5"
76
+ "@streamlayer/react": "^0.24.6"
77
77
  }
78
78
  }