@selfcommunity/react-ui 1.2.13 → 1.2.14-alpha.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 (70) hide show
  1. package/lib/cjs/assets/leaderboard/crown.d.ts +2 -0
  2. package/lib/cjs/assets/leaderboard/crown.js +3 -0
  3. package/lib/cjs/assets/leaderboard/edit.d.ts +2 -0
  4. package/lib/cjs/assets/leaderboard/edit.js +3 -0
  5. package/lib/cjs/assets/leaderboard/star.d.ts +2 -0
  6. package/lib/cjs/assets/leaderboard/star.js +3 -0
  7. package/lib/cjs/assets/leaderboard/trophy.d.ts +2 -0
  8. package/lib/cjs/assets/leaderboard/trophy.js +3 -0
  9. package/lib/cjs/assets/leaderboard/users.d.ts +2 -0
  10. package/lib/cjs/assets/leaderboard/users.js +3 -0
  11. package/lib/cjs/components/LeaderboardInfoWidget/LeaderboardInfoWidget.d.ts +36 -0
  12. package/lib/cjs/components/LeaderboardInfoWidget/LeaderboardInfoWidget.js +77 -0
  13. package/lib/cjs/components/LeaderboardInfoWidget/constants.d.ts +1 -0
  14. package/lib/cjs/components/LeaderboardInfoWidget/constants.js +4 -0
  15. package/lib/cjs/components/LeaderboardInfoWidget/index.d.ts +3 -0
  16. package/lib/cjs/components/LeaderboardInfoWidget/index.js +5 -0
  17. package/lib/cjs/components/LeaderboardPositionWidget/LeaderboardPositionWidget.d.ts +40 -0
  18. package/lib/cjs/components/LeaderboardPositionWidget/LeaderboardPositionWidget.js +93 -0
  19. package/lib/cjs/components/LeaderboardPositionWidget/Skeleton.d.ts +21 -0
  20. package/lib/cjs/components/LeaderboardPositionWidget/Skeleton.js +41 -0
  21. package/lib/cjs/components/LeaderboardPositionWidget/constants.d.ts +1 -0
  22. package/lib/cjs/components/LeaderboardPositionWidget/constants.js +4 -0
  23. package/lib/cjs/components/LeaderboardPositionWidget/index.d.ts +4 -0
  24. package/lib/cjs/components/LeaderboardPositionWidget/index.js +8 -0
  25. package/lib/cjs/components/LeaderboardWidget/LeaderboardWidget.d.ts +79 -0
  26. package/lib/cjs/components/LeaderboardWidget/LeaderboardWidget.js +124 -0
  27. package/lib/cjs/components/LeaderboardWidget/Skeleton.d.ts +29 -0
  28. package/lib/cjs/components/LeaderboardWidget/Skeleton.js +44 -0
  29. package/lib/cjs/components/LeaderboardWidget/constants.d.ts +1 -0
  30. package/lib/cjs/components/LeaderboardWidget/constants.js +4 -0
  31. package/lib/cjs/components/LeaderboardWidget/index.d.ts +4 -0
  32. package/lib/cjs/components/LeaderboardWidget/index.js +8 -0
  33. package/lib/cjs/index.d.ts +4 -1
  34. package/lib/cjs/index.js +13 -4
  35. package/lib/esm/assets/leaderboard/crown.d.ts +2 -0
  36. package/lib/esm/assets/leaderboard/crown.js +1 -0
  37. package/lib/esm/assets/leaderboard/edit.d.ts +2 -0
  38. package/lib/esm/assets/leaderboard/edit.js +1 -0
  39. package/lib/esm/assets/leaderboard/star.d.ts +2 -0
  40. package/lib/esm/assets/leaderboard/star.js +1 -0
  41. package/lib/esm/assets/leaderboard/trophy.d.ts +2 -0
  42. package/lib/esm/assets/leaderboard/trophy.js +1 -0
  43. package/lib/esm/assets/leaderboard/users.d.ts +2 -0
  44. package/lib/esm/assets/leaderboard/users.js +1 -0
  45. package/lib/esm/components/LeaderboardInfoWidget/LeaderboardInfoWidget.d.ts +36 -0
  46. package/lib/esm/components/LeaderboardInfoWidget/LeaderboardInfoWidget.js +74 -0
  47. package/lib/esm/components/LeaderboardInfoWidget/constants.d.ts +1 -0
  48. package/lib/esm/components/LeaderboardInfoWidget/constants.js +1 -0
  49. package/lib/esm/components/LeaderboardInfoWidget/index.d.ts +3 -0
  50. package/lib/esm/components/LeaderboardInfoWidget/index.js +2 -0
  51. package/lib/esm/components/LeaderboardPositionWidget/LeaderboardPositionWidget.d.ts +40 -0
  52. package/lib/esm/components/LeaderboardPositionWidget/LeaderboardPositionWidget.js +90 -0
  53. package/lib/esm/components/LeaderboardPositionWidget/Skeleton.d.ts +21 -0
  54. package/lib/esm/components/LeaderboardPositionWidget/Skeleton.js +37 -0
  55. package/lib/esm/components/LeaderboardPositionWidget/constants.d.ts +1 -0
  56. package/lib/esm/components/LeaderboardPositionWidget/constants.js +1 -0
  57. package/lib/esm/components/LeaderboardPositionWidget/index.d.ts +4 -0
  58. package/lib/esm/components/LeaderboardPositionWidget/index.js +4 -0
  59. package/lib/esm/components/LeaderboardWidget/LeaderboardWidget.d.ts +79 -0
  60. package/lib/esm/components/LeaderboardWidget/LeaderboardWidget.js +121 -0
  61. package/lib/esm/components/LeaderboardWidget/Skeleton.d.ts +29 -0
  62. package/lib/esm/components/LeaderboardWidget/Skeleton.js +40 -0
  63. package/lib/esm/components/LeaderboardWidget/constants.d.ts +1 -0
  64. package/lib/esm/components/LeaderboardWidget/constants.js +1 -0
  65. package/lib/esm/components/LeaderboardWidget/index.d.ts +4 -0
  66. package/lib/esm/components/LeaderboardWidget/index.js +4 -0
  67. package/lib/esm/index.d.ts +4 -1
  68. package/lib/esm/index.js +4 -1
  69. package/lib/umd/react-ui.js +1 -1
  70. package/package.json +8 -8
@@ -0,0 +1,40 @@
1
+ import { WidgetProps } from '../Widget';
2
+ import { SCLeaderboardEntry } from '@selfcommunity/types';
3
+ export interface LeaderboardPositionWidgetProps extends WidgetProps {
4
+ position: SCLeaderboardEntry;
5
+ isLoading?: boolean;
6
+ }
7
+ /**
8
+ * > API documentation for the Community-JS Leaderboard Position Widget component. Learn about the available props and the CSS API.
9
+ *
10
+ *
11
+ * This component renders a widget showing the current logged user position in the leaderboard.
12
+ * The widget is hidden if the user is not authenticated, the leaderboard feature is disabled or no position data is available.
13
+
14
+ #### Import
15
+
16
+ ```jsx
17
+ import {LeaderboardPositionWidget} from '@selfcommunity/react-ui';
18
+ ```
19
+
20
+ #### Component Name
21
+
22
+ The name `SCLeaderboardPositionWidget` can be used when providing style overrides in the theme.
23
+
24
+
25
+ #### CSS
26
+
27
+ |Rule Name|Global class|Description|
28
+ |---|---|---|
29
+ |root|.SCLeaderboardPositionWidget-root|Styles applied to the root element.|
30
+ |title|.SCLeaderboardPositionWidget-title|Styles applied to the title element.|
31
+ |user|.SCLeaderboardPositionWidget-user|Styles applied to the user element.|
32
+ |userAvatar|.SCLeaderboardPositionWidget-user-avatar|Styles applied to the user avatar element.|
33
+ |userName|.SCLeaderboardPositionWidget-user-name|Styles applied to the username element.|
34
+ |footer|.SCLeaderboardPositionWidget-footer|Styles applied to the footer element.|
35
+ |position|.SCLeaderboardPositionWidget-position|Styles applied to the position element.|
36
+ |score|.SCLeaderboardPositionWidget-score|Styles applied to the score element.|
37
+ *
38
+ * @param inProps
39
+ */
40
+ export default function LeaderboardPositionWidget(inProps: LeaderboardPositionWidgetProps): JSX.Element;
@@ -0,0 +1,90 @@
1
+ import { __rest } from "tslib";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useContext } from 'react';
4
+ import { Avatar, CardContent, Stack, Typography, styled } from '@mui/material';
5
+ import { FormattedMessage } from 'react-intl';
6
+ import classNames from 'classnames';
7
+ import Widget from '../Widget';
8
+ import { useThemeProps } from '@mui/system';
9
+ import { PREFIX } from './constants';
10
+ import { Link, SCPreferences, SCRoutes, SCUserContext, useSCPreferenceEnabled, useSCRouting } from '@selfcommunity/react-core';
11
+ import HiddenPlaceholder from '../../shared/HiddenPlaceholder';
12
+ import LeaderboardPositionWidgetSkeleton from './Skeleton';
13
+ const classes = {
14
+ root: `${PREFIX}-root`,
15
+ title: `${PREFIX}-title`,
16
+ user: `${PREFIX}-user`,
17
+ userAvatar: `${PREFIX}-user-avatar`,
18
+ userName: `${PREFIX}-user-name`,
19
+ footer: `${PREFIX}-footer`,
20
+ position: `${PREFIX}-position`,
21
+ score: `${PREFIX}-score`
22
+ };
23
+ const Root = styled(Widget, {
24
+ name: PREFIX,
25
+ slot: 'Root'
26
+ })(() => ({}));
27
+ /**
28
+ * > API documentation for the Community-JS Leaderboard Position Widget component. Learn about the available props and the CSS API.
29
+ *
30
+ *
31
+ * This component renders a widget showing the current logged user position in the leaderboard.
32
+ * The widget is hidden if the user is not authenticated, the leaderboard feature is disabled or no position data is available.
33
+
34
+ #### Import
35
+
36
+ ```jsx
37
+ import {LeaderboardPositionWidget} from '@selfcommunity/react-ui';
38
+ ```
39
+
40
+ #### Component Name
41
+
42
+ The name `SCLeaderboardPositionWidget` can be used when providing style overrides in the theme.
43
+
44
+
45
+ #### CSS
46
+
47
+ |Rule Name|Global class|Description|
48
+ |---|---|---|
49
+ |root|.SCLeaderboardPositionWidget-root|Styles applied to the root element.|
50
+ |title|.SCLeaderboardPositionWidget-title|Styles applied to the title element.|
51
+ |user|.SCLeaderboardPositionWidget-user|Styles applied to the user element.|
52
+ |userAvatar|.SCLeaderboardPositionWidget-user-avatar|Styles applied to the user avatar element.|
53
+ |userName|.SCLeaderboardPositionWidget-user-name|Styles applied to the username element.|
54
+ |footer|.SCLeaderboardPositionWidget-footer|Styles applied to the footer element.|
55
+ |position|.SCLeaderboardPositionWidget-position|Styles applied to the position element.|
56
+ |score|.SCLeaderboardPositionWidget-score|Styles applied to the score element.|
57
+ *
58
+ * @param inProps
59
+ */
60
+ export default function LeaderboardPositionWidget(inProps) {
61
+ const props = useThemeProps({
62
+ props: inProps,
63
+ name: PREFIX
64
+ });
65
+ const { className, position, isLoading = true } = props, rest = __rest(props, ["className", "position", "isLoading"]);
66
+ // CONTEXT
67
+ const scUserContext = useContext(SCUserContext);
68
+ const scRoutingContext = useSCRouting();
69
+ // PREFERENCES
70
+ const leaderboardsEnabled = useSCPreferenceEnabled(SCPreferences.CONFIGURATIONS_LEADERBOARDS_ENABLED);
71
+ /**
72
+ * Renders nothing if the user is not authenticated or the leaderboard feature is disabled
73
+ */
74
+ if (!scUserContext.user || !leaderboardsEnabled) {
75
+ return _jsx(HiddenPlaceholder, {});
76
+ }
77
+ /**
78
+ * Renders the skeleton while fetching the position data
79
+ */
80
+ if (isLoading) {
81
+ return _jsx(LeaderboardPositionWidgetSkeleton, {});
82
+ }
83
+ /**
84
+ * Renders nothing if there's no position data
85
+ */
86
+ if (!position) {
87
+ return _jsx(HiddenPlaceholder, {});
88
+ }
89
+ return (_jsx(Root, Object.assign({ className: classNames(classes.root, className) }, rest, { children: _jsxs(CardContent, { children: [_jsx(Typography, Object.assign({ variant: "h4", className: classes.title }, { children: _jsx(FormattedMessage, { id: "ui.leaderboardPositionWidget.title", defaultMessage: "ui.leaderboardPositionWidget.title" }) })), _jsxs(Stack, Object.assign({ direction: "row", spacing: 1.5, alignItems: "center", component: Link, to: scRoutingContext.url(SCRoutes.USER_PROFILE_ROUTE_NAME, { id: position.user.id }), className: classes.user }, { children: [_jsx(Avatar, { alt: position.user.username, src: position.user.avatar, className: classes.userAvatar }), _jsx(Typography, Object.assign({ variant: "body1", fontWeight: 600, className: classes.userName }, { children: position.user.real_name || position.user.username }))] })), _jsxs(Stack, Object.assign({ direction: "row", justifyContent: "space-between", alignItems: "center", className: classes.footer }, { children: [_jsx(Typography, Object.assign({ variant: "h3", className: classes.position }, { children: _jsx(FormattedMessage, { id: "ui.leaderboardPositionWidget.position", defaultMessage: "ui.leaderboardPositionWidget.position", values: { position: position.position } }) })), _jsx(Typography, Object.assign({ variant: "body1", className: classes.score }, { children: _jsx(FormattedMessage, { id: "ui.leaderboardPositionWidget.score", defaultMessage: "ui.leaderboardPositionWidget.score", values: { score: position.total_score } }) }))] }))] }) })));
90
+ }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * > API documentation for the Community-JS Leaderboard Position Widget Skeleton component. Learn about the available props and the CSS API.
3
+
4
+ #### Import
5
+
6
+ ```jsx
7
+ import {LeaderboardPositionWidgetSkeleton} from '@selfcommunity/react-ui';
8
+ ```
9
+
10
+ #### Component Name
11
+
12
+ The name `SCLeaderboardPositionWidget-skeleton-root` can be used when providing style overrides in the theme.
13
+
14
+ #### CSS
15
+
16
+ |Rule Name|Global class|Description|
17
+ |---|---|---|
18
+ |root|.SCLeaderboardPositionWidget-skeleton-root|Styles applied to the root element.|
19
+ *
20
+ */
21
+ export default function LeaderboardPositionWidgetSkeleton(): JSX.Element;
@@ -0,0 +1,37 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { CardContent, Skeleton, Stack, styled } from '@mui/material';
3
+ import Widget from '../Widget';
4
+ import { PREFIX } from './constants';
5
+ const classes = {
6
+ root: `${PREFIX}-skeleton-root`,
7
+ header: `${PREFIX}-header`,
8
+ user: `${PREFIX}-user`,
9
+ footer: `${PREFIX}-footer`
10
+ };
11
+ const Root = styled(Widget, {
12
+ name: PREFIX,
13
+ slot: 'SkeletonRoot'
14
+ })(() => ({}));
15
+ /**
16
+ * > API documentation for the Community-JS Leaderboard Position Widget Skeleton component. Learn about the available props and the CSS API.
17
+
18
+ #### Import
19
+
20
+ ```jsx
21
+ import {LeaderboardPositionWidgetSkeleton} from '@selfcommunity/react-ui';
22
+ ```
23
+
24
+ #### Component Name
25
+
26
+ The name `SCLeaderboardPositionWidget-skeleton-root` can be used when providing style overrides in the theme.
27
+
28
+ #### CSS
29
+
30
+ |Rule Name|Global class|Description|
31
+ |---|---|---|
32
+ |root|.SCLeaderboardPositionWidget-skeleton-root|Styles applied to the root element.|
33
+ *
34
+ */
35
+ export default function LeaderboardPositionWidgetSkeleton() {
36
+ return (_jsx(Root, Object.assign({ className: classes.root }, { children: _jsxs(CardContent, { children: [_jsx(Skeleton, { animation: "wave", height: 28, width: "50%", variant: "rectangular", className: classes.header }), _jsxs(Stack, Object.assign({ direction: "row", spacing: 1.5, alignItems: "center", className: classes.user }, { children: [_jsx(Skeleton, { animation: "wave", variant: "circular", width: 40, height: 40 }), _jsx(Skeleton, { animation: "wave", height: 20, width: "60%", variant: "rectangular" })] })), _jsxs(Stack, Object.assign({ direction: "row", justifyContent: "space-between", alignItems: "center", className: classes.footer }, { children: [_jsx(Skeleton, { animation: "wave", height: 32, width: 40, variant: "rectangular" }), _jsx(Skeleton, { animation: "wave", height: 20, width: 50, variant: "rectangular" })] }))] }) })));
37
+ }
@@ -0,0 +1 @@
1
+ export declare const PREFIX = "SCLeaderboardPositionWidget";
@@ -0,0 +1 @@
1
+ export const PREFIX = 'SCLeaderboardPositionWidget';
@@ -0,0 +1,4 @@
1
+ import LeaderboardPositionWidget, { LeaderboardPositionWidgetProps } from './LeaderboardPositionWidget';
2
+ import LeaderboardPositionWidgetSkeleton from './Skeleton';
3
+ export default LeaderboardPositionWidget;
4
+ export { LeaderboardPositionWidgetProps, LeaderboardPositionWidgetSkeleton };
@@ -0,0 +1,4 @@
1
+ import LeaderboardPositionWidget from './LeaderboardPositionWidget';
2
+ import LeaderboardPositionWidgetSkeleton from './Skeleton';
3
+ export default LeaderboardPositionWidget;
4
+ export { LeaderboardPositionWidgetSkeleton };
@@ -0,0 +1,79 @@
1
+ import { WidgetProps } from '../Widget';
2
+ import { SCLeaderboardEntry } from '@selfcommunity/types';
3
+ export type LeaderboardWidgetVariant = 'full' | 'podium';
4
+ export type LeaderboardWidgetPeriod = 'week' | 'month' | 'year';
5
+ export interface LeaderboardWidgetProps extends WidgetProps {
6
+ /**
7
+ * The widget mode.
8
+ * `full` renders the podium and the general ranking list, `podium` renders the podium only.
9
+ * @default 'full'
10
+ */
11
+ mode?: LeaderboardWidgetVariant;
12
+ /**
13
+ * The period the podium refers to.
14
+ * @default 'month'
15
+ */
16
+ period?: LeaderboardWidgetPeriod;
17
+ /**
18
+ * The leaderboard entries to render. The top 3 entries (by position) are rendered in the podium,
19
+ * the full list is rendered in the general ranking (for the `full` mode).
20
+ */
21
+ entries?: SCLeaderboardEntry[];
22
+ /**
23
+ * If true, shows the skeleton in place of the widget content.
24
+ * @default true
25
+ */
26
+ isLoading?: boolean;
27
+ /**
28
+ * Callback fired when the user clicks on the "see more" action.
29
+ */
30
+ onSeeMoreClick?: () => void;
31
+ }
32
+ /**
33
+ * > API documentation for the Community-JS Leaderboard Widget component. Learn about the available props and the CSS API.
34
+ *
35
+ *
36
+ * This component renders a widget showing the top 3 users of the leaderboard for the given period (podium) and, optionally, the general ranking list.
37
+ * Leaderboard entries are provided via the `entries` prop; this component does not fetch any data on its own.
38
+ * The widget is hidden if the leaderboard feature is disabled or no podium data is available.
39
+
40
+ #### Import
41
+
42
+ ```jsx
43
+ import {LeaderboardWidget} from '@selfcommunity/react-ui';
44
+ ```
45
+
46
+ #### Component Name
47
+
48
+ The name `SCLeaderboardWidget` can be used when providing style overrides in the theme.
49
+
50
+
51
+ #### CSS
52
+
53
+ |Rule Name|Global class|Description|
54
+ |---|---|---|
55
+ |root|.SCLeaderboardWidget-root|Styles applied to the root element.|
56
+ |podiumHeader|.SCLeaderboardWidget-podium-header|Styles applied to the podium header element.|
57
+ |podiumTitle|.SCLeaderboardWidget-podium-title|Styles applied to the podium title element.|
58
+ |podium|.SCLeaderboardWidget-podium|Styles applied to the podium element.|
59
+ |podiumItem|.SCLeaderboardWidget-podium-item|Styles applied to the single podium item.|
60
+ |podiumCrown|.SCLeaderboardWidget-podium-crown|Styles applied to the crown icon of the first podium item.|
61
+ |podiumAvatarWrap|.SCLeaderboardWidget-podium-avatar-wrap|Styles applied to the avatar wrapper of the single podium item.|
62
+ |podiumAvatar|.SCLeaderboardWidget-podium-avatar|Styles applied to the avatar of the single podium item.|
63
+ |podiumBadge|.SCLeaderboardWidget-podium-badge|Styles applied to the position badge of the single podium item.|
64
+ |podiumName|.SCLeaderboardWidget-podium-name|Styles applied to the name of the single podium item.|
65
+ |podiumScore|.SCLeaderboardWidget-podium-score|Styles applied to the score of the single podium item.|
66
+ |rankingHeader|.SCLeaderboardWidget-ranking-header|Styles applied to the ranking header element.|
67
+ |rankingTitle|.SCLeaderboardWidget-ranking-title|Styles applied to the ranking title element.|
68
+ |rankingList|.SCLeaderboardWidget-ranking-list|Styles applied to the ranking list element.|
69
+ |rankingItem|.SCLeaderboardWidget-ranking-item|Styles applied to the single ranking item.|
70
+ |rankingItemActive|.SCLeaderboardWidget-ranking-item-active|Styles applied to the single ranking item when it belongs to the logged user.|
71
+ |rankingPosition|.SCLeaderboardWidget-ranking-position|Styles applied to the position of the single ranking item.|
72
+ |rankingAvatar|.SCLeaderboardWidget-ranking-avatar|Styles applied to the avatar of the single ranking item.|
73
+ |rankingName|.SCLeaderboardWidget-ranking-name|Styles applied to the name of the single ranking item.|
74
+ |rankingScore|.SCLeaderboardWidget-ranking-score|Styles applied to the score of the single ranking item.|
75
+ |seeMore|.SCLeaderboardWidget-see-more|Styles applied to the "see more" action element.|
76
+ *
77
+ * @param inProps
78
+ */
79
+ export default function LeaderboardWidget(inProps: LeaderboardWidgetProps): JSX.Element;
@@ -0,0 +1,121 @@
1
+ import { __rest } from "tslib";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { useContext } from 'react';
4
+ import { Avatar, Box, CardContent, Stack, Typography, styled } from '@mui/material';
5
+ import { FormattedMessage } from 'react-intl';
6
+ import classNames from 'classnames';
7
+ import Widget from '../Widget';
8
+ import { useThemeProps } from '@mui/system';
9
+ import { PREFIX } from './constants';
10
+ import crownIcon from '../../assets/leaderboard/crown';
11
+ import { SCPreferences, SCUserContext, useSCPreferenceEnabled } from '@selfcommunity/react-core';
12
+ import HiddenPlaceholder from '../../shared/HiddenPlaceholder';
13
+ import LeaderboardWidgetSkeleton from './Skeleton';
14
+ const classes = {
15
+ root: `${PREFIX}-root`,
16
+ podiumHeader: `${PREFIX}-podium-header`,
17
+ podiumTitle: `${PREFIX}-podium-title`,
18
+ podium: `${PREFIX}-podium`,
19
+ podiumItem: `${PREFIX}-podium-item`,
20
+ podiumCrown: `${PREFIX}-podium-crown`,
21
+ podiumAvatarWrap: `${PREFIX}-podium-avatar-wrap`,
22
+ podiumAvatar: `${PREFIX}-podium-avatar`,
23
+ podiumBadge: `${PREFIX}-podium-badge`,
24
+ podiumName: `${PREFIX}-podium-name`,
25
+ podiumScore: `${PREFIX}-podium-score`,
26
+ rankingHeader: `${PREFIX}-ranking-header`,
27
+ rankingTitle: `${PREFIX}-ranking-title`,
28
+ rankingList: `${PREFIX}-ranking-list`,
29
+ rankingItem: `${PREFIX}-ranking-item`,
30
+ rankingItemActive: `${PREFIX}-ranking-item-active`,
31
+ rankingPosition: `${PREFIX}-ranking-position`,
32
+ rankingAvatar: `${PREFIX}-ranking-avatar`,
33
+ rankingName: `${PREFIX}-ranking-name`,
34
+ rankingScore: `${PREFIX}-ranking-score`,
35
+ seeMore: `${PREFIX}-see-more`
36
+ };
37
+ const Root = styled(Widget, {
38
+ name: PREFIX,
39
+ slot: 'Root'
40
+ })(() => ({}));
41
+ /**
42
+ * > API documentation for the Community-JS Leaderboard Widget component. Learn about the available props and the CSS API.
43
+ *
44
+ *
45
+ * This component renders a widget showing the top 3 users of the leaderboard for the given period (podium) and, optionally, the general ranking list.
46
+ * Leaderboard entries are provided via the `entries` prop; this component does not fetch any data on its own.
47
+ * The widget is hidden if the leaderboard feature is disabled or no podium data is available.
48
+
49
+ #### Import
50
+
51
+ ```jsx
52
+ import {LeaderboardWidget} from '@selfcommunity/react-ui';
53
+ ```
54
+
55
+ #### Component Name
56
+
57
+ The name `SCLeaderboardWidget` can be used when providing style overrides in the theme.
58
+
59
+
60
+ #### CSS
61
+
62
+ |Rule Name|Global class|Description|
63
+ |---|---|---|
64
+ |root|.SCLeaderboardWidget-root|Styles applied to the root element.|
65
+ |podiumHeader|.SCLeaderboardWidget-podium-header|Styles applied to the podium header element.|
66
+ |podiumTitle|.SCLeaderboardWidget-podium-title|Styles applied to the podium title element.|
67
+ |podium|.SCLeaderboardWidget-podium|Styles applied to the podium element.|
68
+ |podiumItem|.SCLeaderboardWidget-podium-item|Styles applied to the single podium item.|
69
+ |podiumCrown|.SCLeaderboardWidget-podium-crown|Styles applied to the crown icon of the first podium item.|
70
+ |podiumAvatarWrap|.SCLeaderboardWidget-podium-avatar-wrap|Styles applied to the avatar wrapper of the single podium item.|
71
+ |podiumAvatar|.SCLeaderboardWidget-podium-avatar|Styles applied to the avatar of the single podium item.|
72
+ |podiumBadge|.SCLeaderboardWidget-podium-badge|Styles applied to the position badge of the single podium item.|
73
+ |podiumName|.SCLeaderboardWidget-podium-name|Styles applied to the name of the single podium item.|
74
+ |podiumScore|.SCLeaderboardWidget-podium-score|Styles applied to the score of the single podium item.|
75
+ |rankingHeader|.SCLeaderboardWidget-ranking-header|Styles applied to the ranking header element.|
76
+ |rankingTitle|.SCLeaderboardWidget-ranking-title|Styles applied to the ranking title element.|
77
+ |rankingList|.SCLeaderboardWidget-ranking-list|Styles applied to the ranking list element.|
78
+ |rankingItem|.SCLeaderboardWidget-ranking-item|Styles applied to the single ranking item.|
79
+ |rankingItemActive|.SCLeaderboardWidget-ranking-item-active|Styles applied to the single ranking item when it belongs to the logged user.|
80
+ |rankingPosition|.SCLeaderboardWidget-ranking-position|Styles applied to the position of the single ranking item.|
81
+ |rankingAvatar|.SCLeaderboardWidget-ranking-avatar|Styles applied to the avatar of the single ranking item.|
82
+ |rankingName|.SCLeaderboardWidget-ranking-name|Styles applied to the name of the single ranking item.|
83
+ |rankingScore|.SCLeaderboardWidget-ranking-score|Styles applied to the score of the single ranking item.|
84
+ |seeMore|.SCLeaderboardWidget-see-more|Styles applied to the "see more" action element.|
85
+ *
86
+ * @param inProps
87
+ */
88
+ export default function LeaderboardWidget(inProps) {
89
+ const props = useThemeProps({
90
+ props: inProps,
91
+ name: PREFIX
92
+ });
93
+ const { className, mode = 'full', period = 'month', entries = [], isLoading = true, onSeeMoreClick } = props, rest = __rest(props, ["className", "mode", "period", "entries", "isLoading", "onSeeMoreClick"]);
94
+ // CONTEXT
95
+ const scUserContext = useContext(SCUserContext);
96
+ // PREFERENCES
97
+ const leaderboardsEnabled = useSCPreferenceEnabled(SCPreferences.CONFIGURATIONS_LEADERBOARDS_ENABLED);
98
+ /**
99
+ * Renders nothing if the leaderboard feature is disabled
100
+ */
101
+ if (!leaderboardsEnabled) {
102
+ return _jsx(HiddenPlaceholder, {});
103
+ }
104
+ /**
105
+ * Renders the skeleton while the leaderboard data is loading
106
+ */
107
+ if (isLoading) {
108
+ return _jsx(LeaderboardWidgetSkeleton, { mode: mode });
109
+ }
110
+ const podium = entries.filter((entry) => entry.position <= 3);
111
+ /**
112
+ * Renders nothing if there's no podium data
113
+ */
114
+ if (!podium.length) {
115
+ return _jsx(HiddenPlaceholder, {});
116
+ }
117
+ return (_jsx(Root, Object.assign({ className: classNames(classes.root, className) }, rest, { children: _jsxs(CardContent, { children: [_jsx(Stack, Object.assign({ direction: "row", justifyContent: "space-between", alignItems: "center", className: classes.podiumHeader }, { children: _jsx(Typography, Object.assign({ variant: "h4", className: classes.podiumTitle }, { children: _jsx(FormattedMessage, { id: "ui.leaderboardWidget.podium.title", defaultMessage: "ui.leaderboardWidget.podium.title", values: { period } }) })) })), _jsx(Stack, Object.assign({ direction: "row", justifyContent: "center", alignItems: "flex-end", className: classes.podium }, { children: podium.map((entry) => (_jsxs(Stack, Object.assign({ alignItems: "center", className: classNames(classes.podiumItem, `${classes.podiumItem}-${entry.position}`) }, { children: [entry.position === 1 && (_jsx(Box, { component: "span", className: classes.podiumCrown, style: { maskImage: `url(${crownIcon})`, WebkitMaskImage: `url(${crownIcon})` } })), _jsxs(Box, Object.assign({ className: classes.podiumAvatarWrap }, { children: [_jsx(Avatar, { alt: entry.user.username, src: entry.user.avatar, className: classes.podiumAvatar }), _jsx(Box, Object.assign({ component: "span", className: classes.podiumBadge }, { children: entry.position }))] })), _jsx(Typography, Object.assign({ variant: "body2", fontWeight: 600, className: classes.podiumName }, { children: entry.user.real_name || entry.user.username })), _jsx(Typography, Object.assign({ variant: "caption", className: classes.podiumScore }, { children: _jsx(FormattedMessage, { id: "ui.leaderboardWidget.podium.score", defaultMessage: "ui.leaderboardWidget.podium.score", values: { score: entry.total_score } }) }))] }), entry.user.id))) })), mode === 'full' && entries.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Stack, Object.assign({ direction: "row", justifyContent: "space-between", alignItems: "center", className: classes.rankingHeader }, { children: _jsx(Typography, Object.assign({ variant: "h4", className: classes.rankingTitle }, { children: _jsx(FormattedMessage, { id: "ui.leaderboardWidget.ranking.title", defaultMessage: "ui.leaderboardWidget.ranking.title" }) })) })), _jsx(Stack, Object.assign({ className: classes.rankingList }, { children: entries.map((entry) => {
118
+ const isMe = Boolean(scUserContext.user) && entry.user.id === scUserContext.user.id;
119
+ return (_jsxs(Stack, Object.assign({ direction: "row", spacing: 1.5, alignItems: "center", className: classNames(classes.rankingItem, { [classes.rankingItemActive]: isMe }) }, { children: [_jsx(Typography, Object.assign({ variant: "body2", className: classes.rankingPosition }, { children: entry.position })), _jsx(Avatar, { alt: entry.user.username, src: entry.user.avatar, className: classes.rankingAvatar }), _jsx(Typography, Object.assign({ variant: "body2", fontWeight: isMe ? 600 : 400, className: classes.rankingName }, { children: isMe ? (_jsx(FormattedMessage, { id: "ui.leaderboardWidget.ranking.you", defaultMessage: "ui.leaderboardWidget.ranking.you" })) : (entry.user.real_name || entry.user.username) })), _jsx(Typography, Object.assign({ variant: "body2", className: classes.rankingScore }, { children: _jsx(FormattedMessage, { id: "ui.leaderboardWidget.ranking.score", defaultMessage: "ui.leaderboardWidget.ranking.score", values: { score: entry.total_score } }) }))] }), entry.user.id));
120
+ }) })), _jsx(Typography, Object.assign({ component: "span", role: "button", tabIndex: 0, onClick: onSeeMoreClick, className: classes.seeMore }, { children: _jsx(FormattedMessage, { id: "ui.leaderboardWidget.ranking.seeMore", defaultMessage: "ui.leaderboardWidget.ranking.seeMore" }) }))] }))] }) })));
121
+ }
@@ -0,0 +1,29 @@
1
+ import { LeaderboardWidgetVariant } from './LeaderboardWidget';
2
+ export interface LeaderboardWidgetSkeletonProps {
3
+ /**
4
+ * The widget mode.
5
+ * @default 'full'
6
+ */
7
+ mode?: LeaderboardWidgetVariant;
8
+ }
9
+ /**
10
+ * > API documentation for the Community-JS Leaderboard Widget Skeleton component. Learn about the available props and the CSS API.
11
+
12
+ #### Import
13
+
14
+ ```jsx
15
+ import {LeaderboardWidgetSkeleton} from '@selfcommunity/react-ui';
16
+ ```
17
+
18
+ #### Component Name
19
+
20
+ The name `SCLeaderboardWidget-skeleton-root` can be used when providing style overrides in the theme.
21
+
22
+ #### CSS
23
+
24
+ |Rule Name|Global class|Description|
25
+ |---|---|---|
26
+ |root|.SCLeaderboardWidget-skeleton-root|Styles applied to the root element.|
27
+ *
28
+ */
29
+ export default function LeaderboardWidgetSkeleton({ mode }: LeaderboardWidgetSkeletonProps): JSX.Element;
@@ -0,0 +1,40 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { CardContent, Skeleton, Stack, styled } from '@mui/material';
3
+ import Widget from '../Widget';
4
+ import { PREFIX } from './constants';
5
+ const classes = {
6
+ root: `${PREFIX}-skeleton-root`,
7
+ podiumHeader: `${PREFIX}-podium-header`,
8
+ podium: `${PREFIX}-podium`,
9
+ podiumItem: `${PREFIX}-podium-item`,
10
+ rankingHeader: `${PREFIX}-ranking-header`,
11
+ rankingList: `${PREFIX}-ranking-list`,
12
+ rankingItem: `${PREFIX}-ranking-item`
13
+ };
14
+ const Root = styled(Widget, {
15
+ name: PREFIX,
16
+ slot: 'SkeletonRoot'
17
+ })(() => ({}));
18
+ /**
19
+ * > API documentation for the Community-JS Leaderboard Widget Skeleton component. Learn about the available props and the CSS API.
20
+
21
+ #### Import
22
+
23
+ ```jsx
24
+ import {LeaderboardWidgetSkeleton} from '@selfcommunity/react-ui';
25
+ ```
26
+
27
+ #### Component Name
28
+
29
+ The name `SCLeaderboardWidget-skeleton-root` can be used when providing style overrides in the theme.
30
+
31
+ #### CSS
32
+
33
+ |Rule Name|Global class|Description|
34
+ |---|---|---|
35
+ |root|.SCLeaderboardWidget-skeleton-root|Styles applied to the root element.|
36
+ *
37
+ */
38
+ export default function LeaderboardWidgetSkeleton({ mode = 'full' }) {
39
+ return (_jsx(Root, Object.assign({ className: classes.root }, { children: _jsxs(CardContent, { children: [_jsx(Stack, Object.assign({ direction: "row", justifyContent: "space-between", alignItems: "center", className: classes.podiumHeader }, { children: _jsx(Skeleton, { animation: "wave", height: 28, width: "50%", variant: "rectangular" }) })), _jsx(Stack, Object.assign({ direction: "row", justifyContent: "center", alignItems: "flex-end", spacing: 2, className: classes.podium }, { children: [1, 2, 3].map((item) => (_jsxs(Stack, Object.assign({ spacing: 1, alignItems: "center", className: classes.podiumItem }, { children: [_jsx(Skeleton, { animation: "wave", variant: "circular", width: 56, height: 56 }), _jsx(Skeleton, { animation: "wave", height: 16, width: 60, variant: "rectangular" }), _jsx(Skeleton, { animation: "wave", height: 14, width: 40, variant: "rectangular" })] }), item))) })), mode === 'full' && (_jsxs(_Fragment, { children: [_jsx(Stack, Object.assign({ direction: "row", justifyContent: "space-between", alignItems: "center", className: classes.rankingHeader }, { children: _jsx(Skeleton, { animation: "wave", height: 28, width: "50%", variant: "rectangular" }) })), _jsx(Stack, Object.assign({ spacing: 1, className: classes.rankingList }, { children: [1, 2, 3, 4, 5].map((item) => (_jsxs(Stack, Object.assign({ direction: "row", spacing: 1.5, alignItems: "center", className: classes.rankingItem }, { children: [_jsx(Skeleton, { animation: "wave", variant: "circular", width: 36, height: 36 }), _jsx(Skeleton, { animation: "wave", height: 16, width: "60%", variant: "rectangular" })] }), item))) }))] }))] }) })));
40
+ }
@@ -0,0 +1 @@
1
+ export declare const PREFIX = "SCLeaderboardWidget";
@@ -0,0 +1 @@
1
+ export const PREFIX = 'SCLeaderboardWidget';
@@ -0,0 +1,4 @@
1
+ import LeaderboardWidget, { LeaderboardWidgetProps, LeaderboardWidgetVariant } from './LeaderboardWidget';
2
+ import LeaderboardWidgetSkeleton from './Skeleton';
3
+ export default LeaderboardWidget;
4
+ export { LeaderboardWidgetProps, LeaderboardWidgetVariant, LeaderboardWidgetSkeleton };
@@ -0,0 +1,4 @@
1
+ import LeaderboardWidget from './LeaderboardWidget';
2
+ import LeaderboardWidgetSkeleton from './Skeleton';
3
+ export default LeaderboardWidget;
4
+ export { LeaderboardWidgetSkeleton };
@@ -87,6 +87,9 @@ import IncubatorSubscribeButton, { IncubatorSubscribeButtonProps } from './compo
87
87
  import IncubatorSuggestionWidget, { IncubatorSuggestionWidgetProps } from './components/IncubatorSuggestionWidget';
88
88
  import InlineComposerWidget, { InlineComposerWidgetProps, InlineComposerWidgetSkeleton } from './components/InlineComposerWidget';
89
89
  import InviteUserEventButton, { InviteUserEventButtonProps } from './components/InviteUserEventButton';
90
+ import LeaderboardInfoWidget, { LeaderboardInfoWidgetProps } from './components/LeaderboardInfoWidget';
91
+ import LeaderboardPositionWidget, { LeaderboardPositionWidgetProps, LeaderboardPositionWidgetSkeleton } from './components/LeaderboardPositionWidget';
92
+ import LeaderboardWidget, { LeaderboardWidgetProps, LeaderboardWidgetSkeleton, LeaderboardWidgetVariant } from './components/LeaderboardWidget';
90
93
  import LessonAppbar, { LessonAppbarProps } from './components/LessonAppbar';
91
94
  import LessonDrawer, { LessonDrawerProps } from './components/LessonDrawer';
92
95
  import LessonEditForm, { LessonEditFormProps } from './components/LessonEditForm';
@@ -235,4 +238,4 @@ import DefaultCoverSelfCommunity from './assets/deafultCover';
235
238
  /**
236
239
  * List all exports
237
240
  */
238
- export { AcceptRequestUserEventButton, AcceptRequestUserEventButtonProps, AccountChangeMailValidation, AccountChangeMailValidationProps, AccountDataPortability, AccountDataPortabilityButton, AccountDataPortabilityButtonProps, AccountDataPortabilityProps, AccountDelete, AccountDeleteButton, AccountDeleteButtonProps, AccountDeleteProps, AccountRecover, AccountRecoverProps, AccountReset, AccountResetProps, AccountVerify, AccountVerifyProps, AvatarGroupSkeleton, BaseDialog, BaseDialogProps, BaseItem, BaseItemProps, BaseLightbox, BaseLightboxProps, BottomNavigation, BottomNavigationProps, BroadcastMessages, BroadcastMessagesProps, BroadcastMessagesSkeleton, bytesToSize, generateRoomId, randomString, decodePassphrase, encodePassphrase, Calendar, CalendarProps, Categories, CategoriesPopularWidget, CategoriesPopularWidgetSkeleton, CategoriesProps, CategoriesSkeleton, CategoriesSkeletonProps, CategoriesSuggestionWidget, CategoriesSuggestionWidgetProps, CategoriesSuggestionWidgetSkeleton, Category, CategoryAutocomplete, CategoryAutocompleteProps, CategoryFollowButton, CategoryFollowButtonProps, CategoryFollowersButton, CategoryFollowersButtonProps, CategoryHeader, CategoryHeaderProps, CategoryHeaderSkeleton, CategoryProps, CategorySkeleton, CategoryTrendingFeedWidget, CategoryTrendingFeedWidgetProps, CategoryTrendingFeedWidgetSkeleton, CategoryTrendingPeopleWidgetSkeleton, CategoryTrendingUsersWidget, CategoryTrendingUsersWidgetProps, CentralProgress, ChangeCover, ChangeCoverProps, ChangeGroupCover, ChangeGroupCoverProps, ChangeGroupPicture, ChangeGroupPictureProps, ChangePicture, ChangePictureProps, CommentObject, CommentObjectProps, CommentObjectReply, CommentObjectReplyProps, CommentObjectSkeleton, CommentsFeedObject, CommentsFeedObjectProps, CommentsFeedObjectSkeleton, CommentsObject, CommentsObjectProps, CommentsObjectSkeleton, Composer, ComposerIconButton, ComposerIconButtonProps, ComposerProps, ConfirmDialog, ConnectionUserButton, ConsentSolution, ConsentSolutionButton, ConsentSolutionButtonProps, ConsentSolutionProps, ConsentSolutionSkeleton, ContributionUtils, SCCourseEditTabType, Course, CourseProps, CourseSkeleton, CourseSkeletonProps, CourseJoinButton, CourseJoinButtonProps, Courses, CoursesProps, CoursesSkeleton, CoursesSkeletonProps, CourseTypePopover, CourseTypePopoverProps, CreateCourseButton, CreateCourseButtonProps, CourseContentMenu, CourseContentMenuProps, CourseDashboard, TeacherCourseDashboardProps, TeacherSkeleton, StudentCourseDashboardProps, StudentSkeleton, CreateEventButton, CreateEventButtonProps, CreateEventWidget, CreateEventWidgetProps, CreateEventWidgetSkeleton, CreateGroupButton, EventForm, EventFormProps, EventFormDialog, EventFormDialogProps, CreateGroupButtonProps, CustomAdv, CustomAdvProps, CustomAdvSkeleton, DEFAULT_FIELDS, DEFAULT_PAGINATION_LIMIT, DEFAULT_PAGINATION_OFFSET, DEFAULT_PAGINATION_QUERY_PARAM_NAME, DEFAULT_PRELOAD_OFFSET_VIEWPORT, DEFAULT_WIDGETS_NUMBER, DefaultDrawerContent, DefaultDrawerContentProps, DefaultHeaderContent, DefaultHeaderContentProps, DefaultDrawerSkeleton, DefaultDrawerSkeletonProps, EditEventButton, EditEventButtonProps, EditGroupButton, EditGroupButtonProps, EditMediaProps, Editor, EditorProps, EditorSkeleton, EmailTextField, EditCourse, EditCourseProps, EditCourseSkeleton, Event, EventActionsMenu, EventActionsMenuProps, EventHeader, EventHeaderProps, EventHeaderSkeleton, EventInfoDetails, EventInfoDetailsProps, EventInfoWidget, EventInfoWidgetProps, EventInviteButton, EventInviteButtonProps, EventLocationWidget, EventLocationWidgetProps, EventLocationWidgetSkeleton, EventMediaWidget, EventMediaWidgetProps, EventMediaWidgetSkeleton, EventMembersWidget, EventMembersWidgetProps, EventMembersWidgetSkeleton, EventParticipantsButton, EventParticipantsButtonProps, EventProps, Events, EventSkeleton, EventSkeletonProps, EventsProps, EventsSkeleton, EventsSkeletonProps, FACEBOOK_SHARE, Feed, FeedObject, FeedObjectMediaPreview, FeedObjectMediaPreviewProps, FeedObjectProps, FeedObjectSkeleton, FeedProps, FeedRef, FeedSidebarProps, FeedSkeleton, FeedUpdatesWidget, FeedUpdatesWidgetProps, FeedUpdatesWidgetSkeleton, File, FollowUserButton, FollowUserButtonProps, Footer, FooterProps, FooterSkeleton, FriendshipButtonProps, FriendshipUserButton, GenericSkeleton, getRelativeTime, getUnseenNotification, getUnseenNotificationCounter, getUrlLesson, Group, GroupActionsMenu, GroupActionsMenuProps, GroupForm, GroupFormProps, GroupHeader, GroupHeaderProps, GroupHeaderSkeleton, GroupInfoWidget, GroupInfoWidgetProps, GroupInfoWidgetSkeleton, GroupInviteButton, GroupInviteButtonProps, GroupInvitedWidget, GroupInvitedWidgetProps, GroupInvitedWidgetSkeleton, GroupMembersButton, GroupMembersButtonProps, GroupMembersWidget, GroupMembersWidgetProps, GroupMembersWidgetSkeleton, GroupProps, GroupRequestsWidget, GroupRequestsWidgetProps, GroupRequestsWidgetSkeleton, Groups, GroupSettingsIconButton, GroupSettingsIconButtonProps, GroupSkeleton, GroupsProps, GroupsSkeleton, GroupSubscribeButton, GroupSubscribeButtonProps, AccordionLessons, AccordionLessonsProps, AccordionLessonsSkeleton, AddUsersButton, AddUsersButtonProps, CourseUsersTable, CourseUsersTableProps, CourseUsersTableSkeleton, EmptyStatus, EmptyStatusProps, HiddenPlaceholder, Incubator, IncubatorDetail, IncubatorDetailProps, IncubatorListWidget, IncubatorListWidgetProps, IncubatorProps, IncubatorSubscribeButton, IncubatorSubscribeButtonProps, IncubatorSuggestionWidget, IncubatorSuggestionWidgetProps, InfiniteScroll, ScrollContainer, InlineComposerWidget, InlineComposerWidgetProps, InlineComposerWidgetSkeleton, InviteUserEventButton, LessonAppbar, LessonAppbarProps, LessonDrawer, LessonDrawerProps, LessonEditForm, LessonEditFormProps, LessonObject, LessonObjectProps, InviteUserEventButtonProps, LanguageSwitcher, LEGAL_POLICIES, CourseCompletedDialog, CourseCompletedDialogProps, Lightbox, LightboxProps, Link, LINKEDIN_SHARE, LocationAutocomplete, LocationAutocompleteProps, LogoSelfCommunity, DefaultCoverSelfCommunity, LoyaltyProgramWidget, LoyaltyProgramWidgetProps, LoyaltyProgramWidgetSkeleton, MAX_PRELOAD_OFFSET_VIEWPORT, MEDIA_EMBED_SC_LINK_TYPE, MEDIA_EMBED_SC_SHARED_EVENT, MEDIA_EMBED_SC_SHARED_OBJECT, MEDIA_TYPE_DOCUMENT, MEDIA_TYPE_EMBED, MEDIA_TYPE_EVENT, MEDIA_TYPE_IMAGE, MEDIA_TYPE_LINK, MEDIA_TYPE_SHARE, MEDIA_TYPE_URL, MEDIA_TYPE_VIDEO, SCCourseFormStepType, MediaChunkUploader, MediaChunkUploaderProps, MessageUploaderUtils, MetadataField, MetadataFieldProps, MIN_PRELOAD_OFFSET_VIEWPORT, MyEventsWidget, MyEventsWidgetProps, MyEventsWidgetSkeleton, NavigationMenuContent, NavigationMenuDrawer, NavigationMenuDrawerProps, NavigationMenuHeader, NavigationMenuIconButton, NavigationMenuIconButtonProps, NavigationSettingsIconButton, NavigationSettingsIconButtonProps, NavigationSettingsItem, NavigationToolbar, NavigationToolbarMobile, NavigationToolbarMobileProps, NavigationToolbarMobileSkeleton, NavigationToolbarProps, NavigationToolbarSkeleton, Notification, NotificationProps, NotificationSkeleton, OnBoardingWidget, OnBoardingWidgetProps, OnBoardingWidgetSkeleton, PasswordTextField, PhoneTextField, PlatformWidget, PlatformWidgetActionType, PlatformWidgetProps, PlatformWidgetSkeleton, PollSuggestionWidget, PollSuggestionWidgetProps, PrivateMessageComponent, PrivateMessageComponentProps, PrivateMessageComponentSkeleton, PrivateMessageEditor, PrivateMessageEditorProps, PrivateMessageEditorSkeleton, PrivateMessageSettingsIconButton, PrivateMessageSettingsIconButtonProps, PrivateMessageSnippetItem, PrivateMessageSnippetItemProps, PrivateMessageSnippetItemSkeleton, PrivateMessageSnippets, PrivateMessageSnippetsProps, PrivateMessageSnippetsSkeleton, PrivateMessageThread, PrivateMessageThreadItem, PrivateMessageThreadItemProps, PrivateMessageThreadItemSkeleton, PrivateMessageThreadProps, PrivateMessageThreadSkeleton, ProgressBar, ProgressBarProps, RelatedEventsWidget, RelatedEventsWidgetProps, RelatedEventsWidgetSkeleton, RelatedFeedObjectsWidget, RelatedFeedObjectsWidgetSkeleton, RelatedFeedObjectWidgetProps, ReplyComment, SCBroadcastMessageTemplateType, SCCommentsOrderBy, SCEventMembersEventType, SCEventTemplateType, SCFeedObjectActivitiesType, SCFeedObjectTemplateType, SCFeedWidgetType, SCGroupMembersEventType, SCMediaChunkType, SCMediaObjectType, SCNotificationObjectTemplateType, SCUserProfileFields, SCUserProfileSettings, SCUserSocialAssociations, SearchAutocomplete, SearchAutocompleteProps, SearchDialog, SearchDialogProps, Share, SnippetNotifications, SnippetNotificationsProps, SnippetNotificationsSkeleton, StickyBox, StickyBoxComponent, StickyBoxProps, SuggestedEventsWidget, TagAutocomplete, TagAutocompleteProps, SuggestedEventsWidgetProps, SuggestedEventsWidgetSkeleton, TagChip, TagChipProps, ToastNotifications, ToastNotificationsProps, ToastNotificationsSkeleton, UrlTextField, User, UserActionIconButton, UserActionIconButtonProps, UserAvatar, UserAvatarProps, UserConnectionsRequestsSentWidget, UserConnectionsRequestsSentWidgetProps, UserConnectionsRequestsSentWidgetSkeleton, UserConnectionsRequestsWidget, UserConnectionsRequestsWidgetProps, UserConnectionsRequestsWidgetSkeleton, UserConnectionsWidget, UserConnectionsWidgetProps, UserConnectionsWidgetSkeleton, UserCounters, UserCountersProps, UserCreatedCoursesWidget, UserCreatedCoursesWidgetProps, UserCreatedCoursesWidgetSkeleton, UserDeletedSnackBar, UserDeletedSnackBarProps, UserFollowedCategoriesWidget, UserFollowedCategoriesWidgetProps, UserFollowedCategoriesWidgetSkeleton, UserFollowedUsersWidget, UserFollowedUsersWidgetProps, UserFollowedUsersWidgetSkeleton, UserFollowersWidget, UserFollowersWidgetProps, UserFollowersWidgetSkeleton, UserInfo, UserInfoDialog, UserInfoDialogProps, UserInfoProps, UserInfoSkeleton, UsernameTextField, UserProfileBlocked, UserProfileBlockedProps, UserProfileEdit, UserProfileEditProps, UserProfileEditSectionAccount, UserProfileEditSectionAccountProps, UserProfileEditSectionPublicInfo, UserProfileEditSectionPublicInfoProps, UserProfileEditSectionSettings, UserProfileEditSectionSettingsProps, UserProfileEditSkeleton, UserProfileHeader, UserProfileHeaderProps, UserProfileHeaderSkeleton, UserAutocomplete, UserAutocompleteProps, UserProps, UserSkeleton, UserSocialAssociation, UserSocialAssociationProps, UserSubscribedGroupsWidget, UserSubscribedGroupsWidgetProps, UserSubscribedGroupsWidgetSkeleton, UserSuggestionWidget, UserSuggestionWidgetProps, UserSuggestionWidgetSkeleton, UserLiveStreamWidget, UserLiveStreamWidgetProps, UserLiveStreamWidgetSkeleton, UserPaymentMethodsPortal, UserPaymentMethodsPortalProps, UserPaymentMethodsPortalSkeleton, useStickyBox, UseStickyBoxProps, LiveStream, LiveStreamProps, LiveStreamSkeletonProps, LiveStreamSkeleton, LiveStreamInfoDetails, LiveStreamInfoDetailsProps, UpScalingTierBadge, UpScalingTierProps, CreateLiveStreamDialog, CreateLiveStreamDialogProps, CreateLiveStreamButton, CreateLiveStreamButtonProps, LiveStreamForm, LiveStreamFormProps, LiveStreamRoom, LiveStreamRoomProps, LiveStreamVideoConference, LiveStreamVideoConferenceProps, VirtualScrollerItemProps, SCCourseTemplateType, SCLessonActionsType, SCLessonModeType, Widget, WidgetProps, X_SHARE, PROVIDER_ICONS_CONTAINED, PROVIDER_ICONS_OUTLINED, PROVIDER_ENTRAID_ALTERNATIVE_NAME, getDefaultLocale, getDefaultPaymentMethodConfiguration, getDefaultAppearanceStyle, getConvertedAmount, PaywallsDialog, PaywallsDialogProps, PaywallsConfigurator, PaywallsConfiguratorProps, PaywallsConfiguratorSkeleton, PaymentProducts, PaymentProductsProps, PaymentProduct, PaymentProductProps, PaymentOrder, PaymentOrderProps, PaymentOrderPdfButton, PaymentOrderPdfButtonProps, PaymentDetailDialog, PaymentDetailDialogProps, PaymentOrders, PaymentOrdersProps, PaymentProductPrice, PaymentProductPriceProps, PdfPreviewDialog, PdfPreviewDialogProps, PdfPreview, PdfPreviewProps, UserPaymentMethods, UserPaymentMethodsProps, UserPaymentMethodsSkeleton, UserAddPaymentMethodForm, UserAddPaymentMethodFormProps, UserAddPaymentMethodDialog, UserAddPaymentMethodDialogProps, UserChangeAddressDialog, UserChangeAddressDialogProps, UserBillingInfo, UserBillingInfoProps, UserBillingInfoSkeleton, Checkout, CheckoutProps, CheckoutReturnDialog, CheckoutReturnDialogProps, HiddenPurchasableContent, CommunityPaywalls, CommunityPaywallsProps, CommunityPaywallsSkeleton, FooterWidget, FooterWidgetProps };
241
+ export { AcceptRequestUserEventButton, AcceptRequestUserEventButtonProps, AccountChangeMailValidation, AccountChangeMailValidationProps, AccountDataPortability, AccountDataPortabilityButton, AccountDataPortabilityButtonProps, AccountDataPortabilityProps, AccountDelete, AccountDeleteButton, AccountDeleteButtonProps, AccountDeleteProps, AccountRecover, AccountRecoverProps, AccountReset, AccountResetProps, AccountVerify, AccountVerifyProps, AvatarGroupSkeleton, BaseDialog, BaseDialogProps, BaseItem, BaseItemProps, BaseLightbox, BaseLightboxProps, BottomNavigation, BottomNavigationProps, BroadcastMessages, BroadcastMessagesProps, BroadcastMessagesSkeleton, bytesToSize, generateRoomId, randomString, decodePassphrase, encodePassphrase, Calendar, CalendarProps, Categories, CategoriesPopularWidget, CategoriesPopularWidgetSkeleton, CategoriesProps, CategoriesSkeleton, CategoriesSkeletonProps, CategoriesSuggestionWidget, CategoriesSuggestionWidgetProps, CategoriesSuggestionWidgetSkeleton, Category, CategoryAutocomplete, CategoryAutocompleteProps, CategoryFollowButton, CategoryFollowButtonProps, CategoryFollowersButton, CategoryFollowersButtonProps, CategoryHeader, CategoryHeaderProps, CategoryHeaderSkeleton, CategoryProps, CategorySkeleton, CategoryTrendingFeedWidget, CategoryTrendingFeedWidgetProps, CategoryTrendingFeedWidgetSkeleton, CategoryTrendingPeopleWidgetSkeleton, CategoryTrendingUsersWidget, CategoryTrendingUsersWidgetProps, CentralProgress, ChangeCover, ChangeCoverProps, ChangeGroupCover, ChangeGroupCoverProps, ChangeGroupPicture, ChangeGroupPictureProps, ChangePicture, ChangePictureProps, CommentObject, CommentObjectProps, CommentObjectReply, CommentObjectReplyProps, CommentObjectSkeleton, CommentsFeedObject, CommentsFeedObjectProps, CommentsFeedObjectSkeleton, CommentsObject, CommentsObjectProps, CommentsObjectSkeleton, Composer, ComposerIconButton, ComposerIconButtonProps, ComposerProps, ConfirmDialog, ConnectionUserButton, ConsentSolution, ConsentSolutionButton, ConsentSolutionButtonProps, ConsentSolutionProps, ConsentSolutionSkeleton, ContributionUtils, SCCourseEditTabType, Course, CourseProps, CourseSkeleton, CourseSkeletonProps, CourseJoinButton, CourseJoinButtonProps, Courses, CoursesProps, CoursesSkeleton, CoursesSkeletonProps, CourseTypePopover, CourseTypePopoverProps, CreateCourseButton, CreateCourseButtonProps, CourseContentMenu, CourseContentMenuProps, CourseDashboard, TeacherCourseDashboardProps, TeacherSkeleton, StudentCourseDashboardProps, StudentSkeleton, CreateEventButton, CreateEventButtonProps, CreateEventWidget, CreateEventWidgetProps, CreateEventWidgetSkeleton, CreateGroupButton, EventForm, EventFormProps, EventFormDialog, EventFormDialogProps, CreateGroupButtonProps, CustomAdv, CustomAdvProps, CustomAdvSkeleton, DEFAULT_FIELDS, DEFAULT_PAGINATION_LIMIT, DEFAULT_PAGINATION_OFFSET, DEFAULT_PAGINATION_QUERY_PARAM_NAME, DEFAULT_PRELOAD_OFFSET_VIEWPORT, DEFAULT_WIDGETS_NUMBER, DefaultDrawerContent, DefaultDrawerContentProps, DefaultHeaderContent, DefaultHeaderContentProps, DefaultDrawerSkeleton, DefaultDrawerSkeletonProps, EditEventButton, EditEventButtonProps, EditGroupButton, EditGroupButtonProps, EditMediaProps, Editor, EditorProps, EditorSkeleton, EmailTextField, EditCourse, EditCourseProps, EditCourseSkeleton, Event, EventActionsMenu, EventActionsMenuProps, EventHeader, EventHeaderProps, EventHeaderSkeleton, EventInfoDetails, EventInfoDetailsProps, EventInfoWidget, EventInfoWidgetProps, EventInviteButton, EventInviteButtonProps, EventLocationWidget, EventLocationWidgetProps, EventLocationWidgetSkeleton, EventMediaWidget, EventMediaWidgetProps, EventMediaWidgetSkeleton, EventMembersWidget, EventMembersWidgetProps, EventMembersWidgetSkeleton, EventParticipantsButton, EventParticipantsButtonProps, EventProps, Events, EventSkeleton, EventSkeletonProps, EventsProps, EventsSkeleton, EventsSkeletonProps, FACEBOOK_SHARE, Feed, FeedObject, FeedObjectMediaPreview, FeedObjectMediaPreviewProps, FeedObjectProps, FeedObjectSkeleton, FeedProps, FeedRef, FeedSidebarProps, FeedSkeleton, FeedUpdatesWidget, FeedUpdatesWidgetProps, FeedUpdatesWidgetSkeleton, File, FollowUserButton, FollowUserButtonProps, Footer, FooterProps, FooterSkeleton, FriendshipButtonProps, FriendshipUserButton, GenericSkeleton, getRelativeTime, getUnseenNotification, getUnseenNotificationCounter, getUrlLesson, Group, GroupActionsMenu, GroupActionsMenuProps, GroupForm, GroupFormProps, GroupHeader, GroupHeaderProps, GroupHeaderSkeleton, GroupInfoWidget, GroupInfoWidgetProps, GroupInfoWidgetSkeleton, GroupInviteButton, GroupInviteButtonProps, GroupInvitedWidget, GroupInvitedWidgetProps, GroupInvitedWidgetSkeleton, GroupMembersButton, GroupMembersButtonProps, GroupMembersWidget, GroupMembersWidgetProps, GroupMembersWidgetSkeleton, GroupProps, GroupRequestsWidget, GroupRequestsWidgetProps, GroupRequestsWidgetSkeleton, Groups, GroupSettingsIconButton, GroupSettingsIconButtonProps, GroupSkeleton, GroupsProps, GroupsSkeleton, GroupSubscribeButton, GroupSubscribeButtonProps, AccordionLessons, AccordionLessonsProps, AccordionLessonsSkeleton, AddUsersButton, AddUsersButtonProps, CourseUsersTable, CourseUsersTableProps, CourseUsersTableSkeleton, EmptyStatus, EmptyStatusProps, HiddenPlaceholder, Incubator, IncubatorDetail, IncubatorDetailProps, IncubatorListWidget, IncubatorListWidgetProps, IncubatorProps, IncubatorSubscribeButton, IncubatorSubscribeButtonProps, IncubatorSuggestionWidget, IncubatorSuggestionWidgetProps, InfiniteScroll, ScrollContainer, InlineComposerWidget, InlineComposerWidgetProps, InlineComposerWidgetSkeleton, InviteUserEventButton, LeaderboardInfoWidget, LeaderboardInfoWidgetProps, LeaderboardPositionWidget, LeaderboardPositionWidgetProps, LeaderboardPositionWidgetSkeleton, LeaderboardWidget, LeaderboardWidgetProps, LeaderboardWidgetSkeleton, LeaderboardWidgetVariant, LessonAppbar, LessonAppbarProps, LessonDrawer, LessonDrawerProps, LessonEditForm, LessonEditFormProps, LessonObject, LessonObjectProps, InviteUserEventButtonProps, LanguageSwitcher, LEGAL_POLICIES, CourseCompletedDialog, CourseCompletedDialogProps, Lightbox, LightboxProps, Link, LINKEDIN_SHARE, LocationAutocomplete, LocationAutocompleteProps, LogoSelfCommunity, DefaultCoverSelfCommunity, LoyaltyProgramWidget, LoyaltyProgramWidgetProps, LoyaltyProgramWidgetSkeleton, MAX_PRELOAD_OFFSET_VIEWPORT, MEDIA_EMBED_SC_LINK_TYPE, MEDIA_EMBED_SC_SHARED_EVENT, MEDIA_EMBED_SC_SHARED_OBJECT, MEDIA_TYPE_DOCUMENT, MEDIA_TYPE_EMBED, MEDIA_TYPE_EVENT, MEDIA_TYPE_IMAGE, MEDIA_TYPE_LINK, MEDIA_TYPE_SHARE, MEDIA_TYPE_URL, MEDIA_TYPE_VIDEO, SCCourseFormStepType, MediaChunkUploader, MediaChunkUploaderProps, MessageUploaderUtils, MetadataField, MetadataFieldProps, MIN_PRELOAD_OFFSET_VIEWPORT, MyEventsWidget, MyEventsWidgetProps, MyEventsWidgetSkeleton, NavigationMenuContent, NavigationMenuDrawer, NavigationMenuDrawerProps, NavigationMenuHeader, NavigationMenuIconButton, NavigationMenuIconButtonProps, NavigationSettingsIconButton, NavigationSettingsIconButtonProps, NavigationSettingsItem, NavigationToolbar, NavigationToolbarMobile, NavigationToolbarMobileProps, NavigationToolbarMobileSkeleton, NavigationToolbarProps, NavigationToolbarSkeleton, Notification, NotificationProps, NotificationSkeleton, OnBoardingWidget, OnBoardingWidgetProps, OnBoardingWidgetSkeleton, PasswordTextField, PhoneTextField, PlatformWidget, PlatformWidgetActionType, PlatformWidgetProps, PlatformWidgetSkeleton, PollSuggestionWidget, PollSuggestionWidgetProps, PrivateMessageComponent, PrivateMessageComponentProps, PrivateMessageComponentSkeleton, PrivateMessageEditor, PrivateMessageEditorProps, PrivateMessageEditorSkeleton, PrivateMessageSettingsIconButton, PrivateMessageSettingsIconButtonProps, PrivateMessageSnippetItem, PrivateMessageSnippetItemProps, PrivateMessageSnippetItemSkeleton, PrivateMessageSnippets, PrivateMessageSnippetsProps, PrivateMessageSnippetsSkeleton, PrivateMessageThread, PrivateMessageThreadItem, PrivateMessageThreadItemProps, PrivateMessageThreadItemSkeleton, PrivateMessageThreadProps, PrivateMessageThreadSkeleton, ProgressBar, ProgressBarProps, RelatedEventsWidget, RelatedEventsWidgetProps, RelatedEventsWidgetSkeleton, RelatedFeedObjectsWidget, RelatedFeedObjectsWidgetSkeleton, RelatedFeedObjectWidgetProps, ReplyComment, SCBroadcastMessageTemplateType, SCCommentsOrderBy, SCEventMembersEventType, SCEventTemplateType, SCFeedObjectActivitiesType, SCFeedObjectTemplateType, SCFeedWidgetType, SCGroupMembersEventType, SCMediaChunkType, SCMediaObjectType, SCNotificationObjectTemplateType, SCUserProfileFields, SCUserProfileSettings, SCUserSocialAssociations, SearchAutocomplete, SearchAutocompleteProps, SearchDialog, SearchDialogProps, Share, SnippetNotifications, SnippetNotificationsProps, SnippetNotificationsSkeleton, StickyBox, StickyBoxComponent, StickyBoxProps, SuggestedEventsWidget, TagAutocomplete, TagAutocompleteProps, SuggestedEventsWidgetProps, SuggestedEventsWidgetSkeleton, TagChip, TagChipProps, ToastNotifications, ToastNotificationsProps, ToastNotificationsSkeleton, UrlTextField, User, UserActionIconButton, UserActionIconButtonProps, UserAvatar, UserAvatarProps, UserConnectionsRequestsSentWidget, UserConnectionsRequestsSentWidgetProps, UserConnectionsRequestsSentWidgetSkeleton, UserConnectionsRequestsWidget, UserConnectionsRequestsWidgetProps, UserConnectionsRequestsWidgetSkeleton, UserConnectionsWidget, UserConnectionsWidgetProps, UserConnectionsWidgetSkeleton, UserCounters, UserCountersProps, UserCreatedCoursesWidget, UserCreatedCoursesWidgetProps, UserCreatedCoursesWidgetSkeleton, UserDeletedSnackBar, UserDeletedSnackBarProps, UserFollowedCategoriesWidget, UserFollowedCategoriesWidgetProps, UserFollowedCategoriesWidgetSkeleton, UserFollowedUsersWidget, UserFollowedUsersWidgetProps, UserFollowedUsersWidgetSkeleton, UserFollowersWidget, UserFollowersWidgetProps, UserFollowersWidgetSkeleton, UserInfo, UserInfoDialog, UserInfoDialogProps, UserInfoProps, UserInfoSkeleton, UsernameTextField, UserProfileBlocked, UserProfileBlockedProps, UserProfileEdit, UserProfileEditProps, UserProfileEditSectionAccount, UserProfileEditSectionAccountProps, UserProfileEditSectionPublicInfo, UserProfileEditSectionPublicInfoProps, UserProfileEditSectionSettings, UserProfileEditSectionSettingsProps, UserProfileEditSkeleton, UserProfileHeader, UserProfileHeaderProps, UserProfileHeaderSkeleton, UserAutocomplete, UserAutocompleteProps, UserProps, UserSkeleton, UserSocialAssociation, UserSocialAssociationProps, UserSubscribedGroupsWidget, UserSubscribedGroupsWidgetProps, UserSubscribedGroupsWidgetSkeleton, UserSuggestionWidget, UserSuggestionWidgetProps, UserSuggestionWidgetSkeleton, UserLiveStreamWidget, UserLiveStreamWidgetProps, UserLiveStreamWidgetSkeleton, UserPaymentMethodsPortal, UserPaymentMethodsPortalProps, UserPaymentMethodsPortalSkeleton, useStickyBox, UseStickyBoxProps, LiveStream, LiveStreamProps, LiveStreamSkeletonProps, LiveStreamSkeleton, LiveStreamInfoDetails, LiveStreamInfoDetailsProps, UpScalingTierBadge, UpScalingTierProps, CreateLiveStreamDialog, CreateLiveStreamDialogProps, CreateLiveStreamButton, CreateLiveStreamButtonProps, LiveStreamForm, LiveStreamFormProps, LiveStreamRoom, LiveStreamRoomProps, LiveStreamVideoConference, LiveStreamVideoConferenceProps, VirtualScrollerItemProps, SCCourseTemplateType, SCLessonActionsType, SCLessonModeType, Widget, WidgetProps, X_SHARE, PROVIDER_ICONS_CONTAINED, PROVIDER_ICONS_OUTLINED, PROVIDER_ENTRAID_ALTERNATIVE_NAME, getDefaultLocale, getDefaultPaymentMethodConfiguration, getDefaultAppearanceStyle, getConvertedAmount, PaywallsDialog, PaywallsDialogProps, PaywallsConfigurator, PaywallsConfiguratorProps, PaywallsConfiguratorSkeleton, PaymentProducts, PaymentProductsProps, PaymentProduct, PaymentProductProps, PaymentOrder, PaymentOrderProps, PaymentOrderPdfButton, PaymentOrderPdfButtonProps, PaymentDetailDialog, PaymentDetailDialogProps, PaymentOrders, PaymentOrdersProps, PaymentProductPrice, PaymentProductPriceProps, PdfPreviewDialog, PdfPreviewDialogProps, PdfPreview, PdfPreviewProps, UserPaymentMethods, UserPaymentMethodsProps, UserPaymentMethodsSkeleton, UserAddPaymentMethodForm, UserAddPaymentMethodFormProps, UserAddPaymentMethodDialog, UserAddPaymentMethodDialogProps, UserChangeAddressDialog, UserChangeAddressDialogProps, UserBillingInfo, UserBillingInfoProps, UserBillingInfoSkeleton, Checkout, CheckoutProps, CheckoutReturnDialog, CheckoutReturnDialogProps, HiddenPurchasableContent, CommunityPaywalls, CommunityPaywallsProps, CommunityPaywallsSkeleton, FooterWidget, FooterWidgetProps };
package/lib/esm/index.js CHANGED
@@ -87,6 +87,9 @@ import IncubatorSubscribeButton from './components/IncubatorSubscribeButton';
87
87
  import IncubatorSuggestionWidget from './components/IncubatorSuggestionWidget';
88
88
  import InlineComposerWidget, { InlineComposerWidgetSkeleton } from './components/InlineComposerWidget';
89
89
  import InviteUserEventButton from './components/InviteUserEventButton';
90
+ import LeaderboardInfoWidget from './components/LeaderboardInfoWidget';
91
+ import LeaderboardPositionWidget, { LeaderboardPositionWidgetSkeleton } from './components/LeaderboardPositionWidget';
92
+ import LeaderboardWidget, { LeaderboardWidgetSkeleton } from './components/LeaderboardWidget';
90
93
  import LessonAppbar from './components/LessonAppbar';
91
94
  import LessonDrawer from './components/LessonDrawer';
92
95
  import LessonEditForm from './components/LessonEditForm';
@@ -242,6 +245,6 @@ DEFAULT_PAGINATION_QUERY_PARAM_NAME, DEFAULT_PRELOAD_OFFSET_VIEWPORT, DEFAULT_WI
242
245
  /* EVENTS */
243
246
  Event, EventActionsMenu, EventHeader, EventHeaderSkeleton, EventInfoDetails, EventInfoWidget, EventInviteButton, EventLocationWidget, EventLocationWidgetSkeleton, EventMediaWidget, EventMediaWidgetSkeleton, EventMembersWidget, EventMembersWidgetSkeleton, EventParticipantsButton, Events, EventSkeleton, EventsSkeleton, FACEBOOK_SHARE, Feed, FeedObject, FeedObjectMediaPreview, FeedObjectSkeleton, FeedSkeleton, FeedUpdatesWidget, FeedUpdatesWidgetSkeleton, File, FollowUserButton, Footer, FooterSkeleton, FriendshipUserButton, GenericSkeleton, getRelativeTime, getUnseenNotification, getUnseenNotificationCounter, getUrlLesson, Group, GroupActionsMenu, GroupForm, GroupHeader, GroupHeaderSkeleton, GroupInfoWidget, GroupInfoWidgetSkeleton, GroupInviteButton, GroupInvitedWidget, GroupInvitedWidgetSkeleton, GroupMembersButton, GroupMembersWidget, GroupMembersWidgetSkeleton, GroupRequestsWidget, GroupRequestsWidgetSkeleton, Groups, GroupSettingsIconButton, GroupSkeleton, GroupsSkeleton, GroupSubscribeButton,
244
247
  /* SC UI SHARED */
245
- AccordionLessons, AccordionLessonsSkeleton, AddUsersButton, CourseUsersTable, CourseUsersTableSkeleton, EmptyStatus, HiddenPlaceholder, Incubator, IncubatorDetail, IncubatorListWidget, IncubatorSubscribeButton, IncubatorSuggestionWidget, InfiniteScroll, ScrollContainer, InlineComposerWidget, InlineComposerWidgetSkeleton, InviteUserEventButton, LessonAppbar, LessonDrawer, LessonEditForm, LessonObject, LanguageSwitcher, LEGAL_POLICIES, CourseCompletedDialog, Lightbox, Link, LINKEDIN_SHARE, LocationAutocomplete,
248
+ AccordionLessons, AccordionLessonsSkeleton, AddUsersButton, CourseUsersTable, CourseUsersTableSkeleton, EmptyStatus, HiddenPlaceholder, Incubator, IncubatorDetail, IncubatorListWidget, IncubatorSubscribeButton, IncubatorSuggestionWidget, InfiniteScroll, ScrollContainer, InlineComposerWidget, InlineComposerWidgetSkeleton, InviteUserEventButton, LeaderboardInfoWidget, LeaderboardPositionWidget, LeaderboardPositionWidgetSkeleton, LeaderboardWidget, LeaderboardWidgetSkeleton, LessonAppbar, LessonDrawer, LessonEditForm, LessonObject, LanguageSwitcher, LEGAL_POLICIES, CourseCompletedDialog, Lightbox, Link, LINKEDIN_SHARE, LocationAutocomplete,
246
249
  /* Assets */
247
250
  LogoSelfCommunity, DefaultCoverSelfCommunity, LoyaltyProgramWidget, LoyaltyProgramWidgetSkeleton, MAX_PRELOAD_OFFSET_VIEWPORT, MEDIA_EMBED_SC_LINK_TYPE, MEDIA_EMBED_SC_SHARED_EVENT, MEDIA_EMBED_SC_SHARED_OBJECT, MEDIA_TYPE_DOCUMENT, MEDIA_TYPE_EMBED, MEDIA_TYPE_EVENT, MEDIA_TYPE_IMAGE, MEDIA_TYPE_LINK, MEDIA_TYPE_SHARE, MEDIA_TYPE_URL, MEDIA_TYPE_VIDEO, SCCourseFormStepType, MediaChunkUploader, MessageUploaderUtils, MetadataField, MIN_PRELOAD_OFFSET_VIEWPORT, MyEventsWidget, MyEventsWidgetSkeleton, NavigationMenuContent, NavigationMenuDrawer, NavigationMenuHeader, NavigationMenuIconButton, NavigationSettingsIconButton, NavigationToolbar, NavigationToolbarMobile, NavigationToolbarMobileSkeleton, NavigationToolbarSkeleton, Notification, NotificationSkeleton, OnBoardingWidget, OnBoardingWidgetSkeleton, PasswordTextField, PhoneTextField, PlatformWidget, PlatformWidgetSkeleton, PollSuggestionWidget, PrivateMessageComponent, PrivateMessageComponentSkeleton, PrivateMessageEditor, PrivateMessageEditorSkeleton, PrivateMessageSettingsIconButton, PrivateMessageSnippetItem, PrivateMessageSnippetItemSkeleton, PrivateMessageSnippets, PrivateMessageSnippetsSkeleton, PrivateMessageThread, PrivateMessageThreadItem, PrivateMessageThreadItemSkeleton, PrivateMessageThreadSkeleton, ProgressBar, RelatedEventsWidget, RelatedEventsWidgetSkeleton, RelatedFeedObjectsWidget, RelatedFeedObjectsWidgetSkeleton, ReplyComment, SCBroadcastMessageTemplateType, SCCommentsOrderBy, SCEventTemplateType, SCFeedObjectActivitiesType, SCFeedObjectTemplateType, SCNotificationObjectTemplateType, SCUserProfileFields, SCUserProfileSettings, SCUserSocialAssociations, SearchAutocomplete, SearchDialog, Share, SnippetNotifications, SnippetNotificationsSkeleton, StickyBox, SuggestedEventsWidget, TagAutocomplete, SuggestedEventsWidgetSkeleton, TagChip, ToastNotifications, ToastNotificationsSkeleton, UrlTextField, User, UserActionIconButton, UserAvatar, UserConnectionsRequestsSentWidget, UserConnectionsRequestsSentWidgetSkeleton, UserConnectionsRequestsWidget, UserConnectionsRequestsWidgetSkeleton, UserConnectionsWidget, UserConnectionsWidgetSkeleton, UserCounters, UserCreatedCoursesWidget, UserCreatedCoursesWidgetSkeleton, UserDeletedSnackBar, UserFollowedCategoriesWidget, UserFollowedCategoriesWidgetSkeleton, UserFollowedUsersWidget, UserFollowedUsersWidgetSkeleton, UserFollowersWidget, UserFollowersWidgetSkeleton, UserInfo, UserInfoDialog, UserInfoSkeleton, UsernameTextField, UserProfileBlocked, UserProfileEdit, UserProfileEditSectionAccount, UserProfileEditSectionPublicInfo, UserProfileEditSectionSettings, UserProfileEditSkeleton, UserProfileHeader, UserProfileHeaderSkeleton, UserAutocomplete, UserSkeleton, UserSocialAssociation, UserSubscribedGroupsWidget, UserSubscribedGroupsWidgetSkeleton, UserSuggestionWidget, UserSuggestionWidgetSkeleton, UserLiveStreamWidget, UserLiveStreamWidgetSkeleton, UserPaymentMethodsPortal, UserPaymentMethodsPortalSkeleton, useStickyBox, LiveStream, LiveStreamSkeleton, LiveStreamInfoDetails, UpScalingTierBadge, CreateLiveStreamDialog, CreateLiveStreamButton, LiveStreamForm, LiveStreamRoom, LiveStreamVideoConference, SCCourseTemplateType, SCLessonActionsType, SCLessonModeType, Widget, X_SHARE, PROVIDER_ICONS_CONTAINED, PROVIDER_ICONS_OUTLINED, PROVIDER_ENTRAID_ALTERNATIVE_NAME, getDefaultLocale, getDefaultPaymentMethodConfiguration, getDefaultAppearanceStyle, getConvertedAmount, PaywallsDialog, PaywallsConfigurator, PaywallsConfiguratorSkeleton, PaymentProducts, PaymentProduct, PaymentOrder, PaymentOrderPdfButton, PaymentDetailDialog, PaymentOrders, PaymentProductPrice, PdfPreviewDialog, PdfPreview, UserPaymentMethods, UserPaymentMethodsSkeleton, UserAddPaymentMethodForm, UserAddPaymentMethodDialog, UserChangeAddressDialog, UserBillingInfo, UserBillingInfoSkeleton, Checkout, CheckoutReturnDialog, HiddenPurchasableContent, CommunityPaywalls, CommunityPaywallsSkeleton, FooterWidget };