@selfcommunity/react-ui 0.7.9-alpha.2 → 0.7.9-alpha.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/cjs/components/BottomNavigation/BottomNavigation.js +3 -1
  2. package/lib/cjs/components/GroupInviteButton/GroupInviteButton.js +3 -1
  3. package/lib/cjs/components/GroupMembersWidget/GroupMembersWidget.js +4 -1
  4. package/lib/cjs/components/Groups/Groups.d.ts +65 -0
  5. package/lib/cjs/components/Groups/Groups.js +184 -0
  6. package/lib/cjs/components/Groups/Skeleton.d.ts +22 -0
  7. package/lib/cjs/components/Groups/Skeleton.js +38 -0
  8. package/lib/cjs/components/Groups/constants.d.ts +1 -0
  9. package/lib/cjs/components/Groups/constants.js +4 -0
  10. package/lib/cjs/components/Groups/index.d.ts +4 -0
  11. package/lib/cjs/components/Groups/index.js +8 -0
  12. package/lib/cjs/components/NavigationToolbar/NavigationToolbar.js +5 -1
  13. package/lib/cjs/index.d.ts +2 -1
  14. package/lib/cjs/index.js +6 -2
  15. package/lib/esm/components/BottomNavigation/BottomNavigation.js +3 -1
  16. package/lib/esm/components/GroupInviteButton/GroupInviteButton.js +3 -1
  17. package/lib/esm/components/GroupMembersWidget/GroupMembersWidget.js +4 -1
  18. package/lib/esm/components/Groups/Groups.d.ts +65 -0
  19. package/lib/esm/components/Groups/Groups.js +181 -0
  20. package/lib/esm/components/Groups/Skeleton.d.ts +22 -0
  21. package/lib/esm/components/Groups/Skeleton.js +34 -0
  22. package/lib/esm/components/Groups/constants.d.ts +1 -0
  23. package/lib/esm/components/Groups/constants.js +1 -0
  24. package/lib/esm/components/Groups/index.d.ts +4 -0
  25. package/lib/esm/components/Groups/index.js +4 -0
  26. package/lib/esm/components/NavigationToolbar/NavigationToolbar.js +5 -1
  27. package/lib/esm/index.d.ts +2 -1
  28. package/lib/esm/index.js +2 -1
  29. package/lib/umd/react-ui.js +1 -1
  30. package/package.json +5 -5
@@ -0,0 +1,65 @@
1
+ import { EndpointType } from '@selfcommunity/api-services';
2
+ import { CacheStrategies } from '@selfcommunity/utils';
3
+ import { GroupProps } from '../Group';
4
+ export interface GroupsProps {
5
+ /**
6
+ * Endpoint to call
7
+ */
8
+ endpoint: EndpointType;
9
+ /**
10
+ * Hides this component
11
+ * @default false
12
+ */
13
+ autoHide?: boolean;
14
+ /**
15
+ * Limit the number of users to show
16
+ * @default false
17
+ */
18
+ limit?: number;
19
+ /**
20
+ * Caching strategies
21
+ * @default CacheStrategies.CACHE_FIRST
22
+ */
23
+ cacheStrategy?: CacheStrategies;
24
+ /**
25
+ * Props to spread to single user object
26
+ * @default empty object
27
+ */
28
+ GroupProps?: GroupProps;
29
+ /**
30
+ * Other props
31
+ */
32
+ [p: string]: any;
33
+ }
34
+ /**
35
+ * > API documentation for the Community-JS Groups component. Learn about the available props and the CSS API.
36
+ *
37
+ *
38
+ * This component renders the list of the follows of the given group.
39
+ * Take a look at our <strong>demo</strong> component [here](/docs/sdk/community-js/react-ui/Components/Groups)
40
+
41
+ #### Import
42
+
43
+ ```jsx
44
+ import {Groups} from '@selfcommunity/react-ui';
45
+ ```
46
+
47
+ #### Component Name
48
+
49
+ The name `SCGroups` can be used when providing style overrides in the theme.
50
+
51
+
52
+ #### CSS
53
+
54
+ |Rule Name|Global class|Description|
55
+ |---|---|---|
56
+ |root|.SCGroups-root|Styles applied to the root element.|
57
+ |title|.SCGroups-title|Styles applied to the title element.|
58
+ |noResults|.SCGroups-no-results|Styles applied to no results section.|
59
+ |showMore|.SCGroups-show-more|Styles applied to show more button element.|
60
+ |dialogRoot|.SCGroups-dialog-root|Styles applied to the dialog root element.|
61
+ |endMessage|.SCGroups-end-message|Styles applied to the end message element.|
62
+
63
+ * @param inProps
64
+ */
65
+ export default function Groups(inProps: GroupsProps): JSX.Element;
@@ -0,0 +1,181 @@
1
+ import { __rest } from "tslib";
2
+ import React, { useEffect, useMemo, useReducer } from 'react';
3
+ import { styled } from '@mui/material/styles';
4
+ import List from '@mui/material/List';
5
+ import { Box, Button, ListItem, Typography } from '@mui/material';
6
+ import { http } from '@selfcommunity/api-services';
7
+ import { CacheStrategies, Logger } from '@selfcommunity/utils';
8
+ import { SCCache, SCPreferences, useSCPreferences, useSCUser } from '@selfcommunity/react-core';
9
+ import { actionWidgetTypes, dataWidgetReducer, stateWidgetInitializer } from '../../utils/widget';
10
+ import Skeleton from './Skeleton';
11
+ import { FormattedMessage } from 'react-intl';
12
+ import classNames from 'classnames';
13
+ import { SCOPE_SC_UI } from '../../constants/Errors';
14
+ import { useThemeProps } from '@mui/system';
15
+ import HiddenPlaceholder from '../../shared/HiddenPlaceholder';
16
+ import { PREFIX } from './constants';
17
+ import Group from '../Group';
18
+ const classes = {
19
+ root: `${PREFIX}-root`,
20
+ item: `${PREFIX}-item`,
21
+ noResults: `${PREFIX}-no-results`,
22
+ showMore: `${PREFIX}-show-more`,
23
+ endMessage: `${PREFIX}-end-message`
24
+ };
25
+ const Root = styled(Box, {
26
+ name: PREFIX,
27
+ slot: 'Root'
28
+ })(() => ({}));
29
+ /**
30
+ * > API documentation for the Community-JS Groups component. Learn about the available props and the CSS API.
31
+ *
32
+ *
33
+ * This component renders the list of the follows of the given group.
34
+ * Take a look at our <strong>demo</strong> component [here](/docs/sdk/community-js/react-ui/Components/Groups)
35
+
36
+ #### Import
37
+
38
+ ```jsx
39
+ import {Groups} from '@selfcommunity/react-ui';
40
+ ```
41
+
42
+ #### Component Name
43
+
44
+ The name `SCGroups` can be used when providing style overrides in the theme.
45
+
46
+
47
+ #### CSS
48
+
49
+ |Rule Name|Global class|Description|
50
+ |---|---|---|
51
+ |root|.SCGroups-root|Styles applied to the root element.|
52
+ |title|.SCGroups-title|Styles applied to the title element.|
53
+ |noResults|.SCGroups-no-results|Styles applied to no results section.|
54
+ |showMore|.SCGroups-show-more|Styles applied to show more button element.|
55
+ |dialogRoot|.SCGroups-dialog-root|Styles applied to the dialog root element.|
56
+ |endMessage|.SCGroups-end-message|Styles applied to the end message element.|
57
+
58
+ * @param inProps
59
+ */
60
+ export default function Groups(inProps) {
61
+ // PROPS
62
+ const props = useThemeProps({
63
+ props: inProps,
64
+ name: PREFIX
65
+ });
66
+ const { endpoint, autoHide = false, limit = 5, className, cacheStrategy = CacheStrategies.NETWORK_ONLY, onHeightChange, onStateChange, GroupProps = {} } = props, rest = __rest(props, ["endpoint", "autoHide", "limit", "className", "cacheStrategy", "onHeightChange", "onStateChange", "GroupProps"]);
67
+ // STATE
68
+ const [state, dispatch] = useReducer(dataWidgetReducer, {
69
+ isLoadingNext: false,
70
+ next: null,
71
+ cacheKey: SCCache.getWidgetStateCacheKey(SCCache.GROUPS_LIST_TOOLS_STATE_CACHE_PREFIX_KEY),
72
+ cacheStrategy,
73
+ visibleItems: limit
74
+ }, stateWidgetInitializer);
75
+ // CONTEXT
76
+ const scUserContext = useSCUser();
77
+ const scPreferencesContext = useSCPreferences();
78
+ // MEMO
79
+ const contentAvailability = useMemo(() => SCPreferences.CONFIGURATIONS_CONTENT_AVAILABILITY in scPreferencesContext.preferences &&
80
+ scPreferencesContext.preferences[SCPreferences.CONFIGURATIONS_CONTENT_AVAILABILITY].value, [scPreferencesContext.preferences]);
81
+ // HOOKS
82
+ // const theme = useTheme<SCThemeType>();
83
+ // const isMobile = useMediaQuery(theme.breakpoints.down('md'));
84
+ /**
85
+ * Initialize component
86
+ * Fetch data only if the component is not initialized, and it is not loading data
87
+ */
88
+ const _initComponent = useMemo(() => () => {
89
+ if (!state.initialized && !state.isLoadingNext) {
90
+ dispatch({ type: actionWidgetTypes.LOADING_NEXT });
91
+ http
92
+ .request({
93
+ url: endpoint.url({ limit }),
94
+ method: endpoint.method
95
+ })
96
+ .then((payload) => {
97
+ dispatch({ type: actionWidgetTypes.LOAD_NEXT_SUCCESS, payload: Object.assign(Object.assign({}, payload.data), { initialized: true }) });
98
+ })
99
+ .catch((error) => {
100
+ dispatch({ type: actionWidgetTypes.LOAD_NEXT_FAILURE, payload: { errorLoadNext: error } });
101
+ Logger.error(SCOPE_SC_UI, error);
102
+ });
103
+ }
104
+ }, [state.isLoadingNext, state.initialized, endpoint, limit, dispatch]);
105
+ // EFFECTS
106
+ useEffect(() => {
107
+ var _a;
108
+ let _t;
109
+ if ((contentAvailability || (!contentAvailability && ((_a = scUserContext.user) === null || _a === void 0 ? void 0 : _a.id))) && scUserContext.user !== undefined) {
110
+ _t = setTimeout(_initComponent);
111
+ return () => {
112
+ _t && clearTimeout(_t);
113
+ };
114
+ }
115
+ }, [scUserContext.user, contentAvailability]);
116
+ useEffect(() => {
117
+ if (state.next && state.results.length === limit && state.initialized) {
118
+ dispatch({ type: actionWidgetTypes.LOADING_NEXT });
119
+ http
120
+ .request({
121
+ url: endpoint.url({ offset: limit, limit: 10 }),
122
+ method: endpoint.method
123
+ })
124
+ .then((payload) => {
125
+ dispatch({ type: actionWidgetTypes.LOAD_NEXT_SUCCESS, payload: payload.data });
126
+ })
127
+ .catch((error) => {
128
+ dispatch({ type: actionWidgetTypes.LOAD_NEXT_FAILURE, payload: { errorLoadNext: error } });
129
+ Logger.error(SCOPE_SC_UI, error);
130
+ });
131
+ }
132
+ }, [state.next, state.results.length, state.initialized, limit]);
133
+ /**
134
+ * Virtual feed update
135
+ */
136
+ useEffect(() => {
137
+ onHeightChange && onHeightChange();
138
+ }, [state.results]);
139
+ useEffect(() => {
140
+ if (!endpoint || (!contentAvailability && !scUserContext.user)) {
141
+ return;
142
+ }
143
+ else if (cacheStrategy === CacheStrategies.NETWORK_ONLY) {
144
+ onStateChange && onStateChange({ cacheStrategy: CacheStrategies.CACHE_FIRST });
145
+ }
146
+ }, [scUserContext.user, endpoint, contentAvailability]);
147
+ useEffect(() => {
148
+ if (!endpoint || !scUserContext.user || !state.initialized) {
149
+ return;
150
+ }
151
+ }, []);
152
+ // HANDLERS
153
+ // const handleNext = useMemo(
154
+ // () => (): void => {
155
+ // dispatch({type: actionWidgetTypes.LOADING_NEXT});
156
+ // http
157
+ // .request({
158
+ // url: state.next,
159
+ // method: endpoint
160
+ // })
161
+ // .then((res: AxiosResponse<any>) => {
162
+ // dispatch({type: actionWidgetTypes.LOAD_NEXT_SUCCESS, payload: res.data});
163
+ // });
164
+ // },
165
+ // [dispatch, state.next, state.isLoadingNext, state.initialized]
166
+ // );
167
+ // RENDER
168
+ if ((autoHide && !state.count && state.initialized) || (!contentAvailability && !scUserContext.user) || !endpoint) {
169
+ return React.createElement(HiddenPlaceholder, null);
170
+ }
171
+ if (!state.initialized) {
172
+ return React.createElement(Skeleton, null);
173
+ }
174
+ const content = (React.createElement(React.Fragment, null, !state.count ? (React.createElement(Typography, { className: classes.noResults, variant: "body2" },
175
+ React.createElement(FormattedMessage, { id: "ui.groupRequestsWidget.subtitle.noResults", defaultMessage: "" }))) : (React.createElement(React.Fragment, null,
176
+ React.createElement(List, null, state.results.slice(0, state.visibleItems).map((group) => (React.createElement(ListItem, { key: group.id, className: classes.item },
177
+ React.createElement(Group, Object.assign({ elevation: 1, actions: React.createElement(React.Fragment, null), group: group, groupId: group.id, buttonProps: { onClick: () => console.log(group) } }, GroupProps)))))),
178
+ state.count > state.visibleItems && (React.createElement(Button, { className: classes.showMore, onClick: () => console.log('load more') },
179
+ React.createElement(FormattedMessage, { id: "ui.groupRequestsWidget.button.showMore", defaultMessage: "ui.groupRequestsWidget.button.showMore" })))))));
180
+ return (React.createElement(Root, Object.assign({ className: classNames(classes.root, className) }, rest), content));
181
+ }
@@ -0,0 +1,22 @@
1
+ import { WidgetProps } from '../Widget';
2
+ /**
3
+ * > API documentation for the Community-JS Groups Skeleton component. Learn about the available props and the CSS API.
4
+
5
+ #### Import
6
+
7
+ ```jsx
8
+ import {GroupsSkeleton} from '@selfcommunity/react-ui';
9
+ ```
10
+
11
+ #### Component Name
12
+
13
+ The name `SCGroups-skeleton-root` can be used when providing style overrides in the theme.
14
+
15
+ #### CSS
16
+
17
+ |Rule Name|Global class|Description|
18
+ |---|---|---|
19
+ |root|.SCGroups-skeleton-root|Styles applied to the root element.|
20
+ *
21
+ */
22
+ export default function GroupsSkeleton(props: WidgetProps): JSX.Element;
@@ -0,0 +1,34 @@
1
+ import React from 'react';
2
+ import { CategoryTrendingPeopleWidgetSkeleton } from '../CategoryTrendingUsersWidget';
3
+ import { styled } from '@mui/material/styles';
4
+ import { PREFIX } from './constants';
5
+ const classes = {
6
+ root: `${PREFIX}-skeleton-root`
7
+ };
8
+ const Root = styled(CategoryTrendingPeopleWidgetSkeleton, {
9
+ name: PREFIX,
10
+ slot: 'SkeletonRoot'
11
+ })(() => ({}));
12
+ /**
13
+ * > API documentation for the Community-JS Groups Skeleton component. Learn about the available props and the CSS API.
14
+
15
+ #### Import
16
+
17
+ ```jsx
18
+ import {GroupsSkeleton} from '@selfcommunity/react-ui';
19
+ ```
20
+
21
+ #### Component Name
22
+
23
+ The name `SCGroups-skeleton-root` can be used when providing style overrides in the theme.
24
+
25
+ #### CSS
26
+
27
+ |Rule Name|Global class|Description|
28
+ |---|---|---|
29
+ |root|.SCGroups-skeleton-root|Styles applied to the root element.|
30
+ *
31
+ */
32
+ export default function GroupsSkeleton(props) {
33
+ return React.createElement(Root, Object.assign({ className: classes.root }, props));
34
+ }
@@ -0,0 +1 @@
1
+ export declare const PREFIX = "SCGroups";
@@ -0,0 +1 @@
1
+ export const PREFIX = 'SCGroups';
@@ -0,0 +1,4 @@
1
+ import Groups, { GroupsProps } from './Groups';
2
+ import GroupsSkeleton from './Skeleton';
3
+ export default Groups;
4
+ export { GroupsProps, GroupsSkeleton };
@@ -0,0 +1,4 @@
1
+ import Groups from './Groups';
2
+ import GroupsSkeleton from './Skeleton';
3
+ export default Groups;
4
+ export { GroupsSkeleton };
@@ -21,6 +21,7 @@ const classes = {
21
21
  navigation: `${PREFIX}-navigation`,
22
22
  home: `${PREFIX}-home`,
23
23
  explore: `${PREFIX}-explore`,
24
+ groups: `${PREFIX}-groups`,
24
25
  search: `${PREFIX}-search`,
25
26
  composer: `${PREFIX}-composer`,
26
27
  profile: `${PREFIX}-profile`,
@@ -98,6 +99,7 @@ export default function NavigationToolbar(inProps) {
98
99
  return _preferences;
99
100
  }, [scPreferences.preferences]);
100
101
  const privateMessagingEnabled = useMemo(() => scPreferences.features.includes(SCFeatureName.PRIVATE_MESSAGING), [scPreferences.features]);
102
+ const groupsEnabled = useMemo(() => scPreferences.features.includes(SCFeatureName.GROUPING), [scPreferences.features]);
101
103
  // STATE
102
104
  const [anchorNotification, setAnchorNotification] = React.useState(null);
103
105
  // HANDLERS
@@ -118,7 +120,9 @@ export default function NavigationToolbar(inProps) {
118
120
  React.createElement(Icon, null, "home"))),
119
121
  preferences[SCPreferences.CONFIGURATIONS_EXPLORE_STREAM_ENABLED] &&
120
122
  (preferences[SCPreferences.CONFIGURATIONS_CONTENT_AVAILABILITY] || scUserContext.user) && (React.createElement(IconButton, { className: classNames(classes.explore, { [classes.active]: value.startsWith(scRoutingContext.url(SCRoutes.EXPLORE_ROUTE_NAME, {})) }), "aria-label": "Explore", to: scRoutingContext.url(SCRoutes.EXPLORE_ROUTE_NAME, {}), component: Link },
121
- React.createElement(Icon, null, "explore")))));
123
+ React.createElement(Icon, null, "explore"))),
124
+ groupsEnabled && scUserContext.user && (React.createElement(IconButton, { className: classNames(classes.groups, { [classes.active]: value.startsWith(scRoutingContext.url(SCRoutes.GROUPS_ROUTE_NAME, {})) }), "aria-label": "Groups", to: scRoutingContext.url(SCRoutes.GROUPS_ROUTE_NAME, {}), component: Link },
125
+ React.createElement(Icon, null, "groups")))));
122
126
  return (React.createElement(Root, Object.assign({ className: classNames(className, classes.root) }, rest),
123
127
  React.createElement(NavigationMenuIconButtonComponent, null),
124
128
  React.createElement(Link, { to: scRoutingContext.url(SCRoutes.HOME_ROUTE_NAME, {}), className: classes.logo },
@@ -116,6 +116,7 @@ import Group, { GroupProps } from './components/Group';
116
116
  import GroupSubscribeButton, { GroupSubscribeButtonProps } from './components/GroupSubscribeButton';
117
117
  import GroupMembersWidget, { GroupMembersWidgetProps, GroupMembersWidgetSkeleton } from './components/GroupMembersWidget';
118
118
  import GroupRequestsWidget, { GroupRequestsWidgetProps, GroupRequestsWidgetSkeleton } from './components/GroupRequestsWidget';
119
+ import Groups, { GroupsProps, GroupsSkeleton } from './components/Groups';
119
120
  /**
120
121
  * Constants
121
122
  */
@@ -140,4 +141,4 @@ import FeedObjectMediaPreview, { FeedObjectMediaPreviewProps } from './component
140
141
  /**
141
142
  * List all exports
142
143
  */
143
- export { AccountDataPortability, AccountDataPortabilityProps, AccountDataPortabilityButton, AccountDataPortabilityButtonProps, AccountDelete, AccountDeleteProps, AccountDeleteButton, AccountDeleteButtonProps, AccountRecover, AccountRecoverProps, AccountReset, AccountResetProps, AccountVerify, AccountVerifyProps, AccountChangeMailValidation, AccountChangeMailValidationProps, NavigationSettingsIconButton, NavigationSettingsIconButtonProps, NavigationSettingsItem, NavigationToolbarMobile, NavigationToolbarMobileProps, NavigationToolbarMobileSkeleton, NavigationToolbar, NavigationToolbarProps, NavigationToolbarSkeleton, NavigationMenuIconButton, NavigationMenuContent, NavigationMenuIconButtonProps, BottomNavigation, BottomNavigationProps, BroadcastMessages, BroadcastMessagesProps, BroadcastMessagesSkeleton, Category, CategoryProps, CategorySkeleton, CategoryAutocomplete, CategoryAutocompleteProps, CategoryFollowersButton, CategoryFollowersButtonProps, CategoryHeader, CategoryHeaderProps, CategoryHeaderSkeleton, Categories, CategoriesProps, CategoriesSkeleton, CategoriesSkeletonProps, UserFollowedCategoriesWidget, UserFollowedCategoriesWidgetProps, UserFollowedCategoriesWidgetSkeleton, CategoriesPopularWidget, CategoriesPopularWidgetSkeleton, CategoriesSuggestionWidget, CategoriesSuggestionWidgetProps, CategoriesSuggestionWidgetSkeleton, ChangeCover, ChangePicture, ChangePictureProps, ChangeCoverProps, Composer, ComposerProps, ComposerIconButton, ComposerIconButtonProps, Editor, EditorProps, EditorSkeleton, FriendshipUserButton, FriendshipButtonProps, Feed, FeedRef, FeedProps, FeedSidebarProps, FeedSkeleton, CategoryFollowButton, CategoryFollowButtonProps, FollowUserButton, FollowUserButtonProps, ConnectionUserButton, FeedObject, FeedObjectProps, FeedObjectSkeleton, FeedObjectMediaPreview, FeedObjectMediaPreviewProps, FeedUpdatesWidget, FeedUpdatesWidgetProps, FeedUpdatesWidgetSkeleton, GenericSkeleton, AvatarGroupSkeleton, CommentObject, CommentsObject, CommentsObjectProps, CommentObjectProps, CommentsObjectSkeleton, CommentObjectSkeleton, CommentObjectReply, CommentObjectReplyProps, CommentsFeedObject, CommentsFeedObjectProps, CommentsFeedObjectSkeleton, ReplyComment, InlineComposerWidget, InlineComposerWidgetProps, InlineComposerWidgetSkeleton, Notification, NotificationProps, NotificationSkeleton, UserSuggestionWidget, UserSuggestionWidgetProps, UserSuggestionWidgetSkeleton, PlatformWidget, PlatformWidgetProps, PlatformWidgetSkeleton, LocationAutocomplete, LocationAutocompleteProps, LoyaltyProgramWidget, LoyaltyProgramWidgetProps, LoyaltyProgramWidgetSkeleton, CategoryTrendingFeedWidget, CategoryTrendingFeedWidgetProps, CategoryTrendingFeedWidgetSkeleton, CategoryTrendingUsersWidget, CategoryTrendingUsersWidgetProps, CategoryTrendingPeopleWidgetSkeleton, RelatedFeedObjectsWidget, RelatedFeedObjectWidgetProps, RelatedFeedObjectsWidgetSkeleton, UserActionIconButton, UserActionIconButtonProps, UserCounters, UserCountersProps, UserProfileHeader, UserProfileHeaderProps, UserProfileHeaderSkeleton, UserInfoDialog, UserInfoDialogProps, UserInfo, UserInfoProps, UserInfoSkeleton, UserProfileBlocked, UserProfileBlockedProps, SCUserProfileFields, SCUserProfileSettings, UserProfileEdit, UserProfileEditProps, UserProfileEditSkeleton, UserProfileEditSectionPublicInfo, UserProfileEditSectionPublicInfoProps, UserProfileEditSectionSettings, UserProfileEditSectionSettingsProps, UserProfileEditSectionAccount, UserProfileEditSectionAccountProps, UserFollowedUsersWidget, UserFollowedUsersWidgetProps, UserFollowedUsersWidgetSkeleton, UserFollowersWidget, UserFollowersWidgetProps, UserFollowersWidgetSkeleton, UserConnectionsWidget, UserConnectionsWidgetProps, UserConnectionsWidgetSkeleton, UserConnectionsRequestsWidget, UserConnectionsRequestsWidgetProps, UserConnectionsRequestsWidgetSkeleton, UserConnectionsRequestsSentWidget, UserConnectionsRequestsSentWidgetProps, UserConnectionsRequestsSentWidgetSkeleton, UserSocialAssociation, UserSocialAssociationProps, SCUserSocialAssociations, CustomAdv, CustomAdvProps, CustomAdvSkeleton, User, UserProps, UserSkeleton, PrivateMessageThread, PrivateMessageThreadProps, PrivateMessageThreadSkeleton, PrivateMessageThreadItem, PrivateMessageThreadItemProps, PrivateMessageThreadItemSkeleton, PrivateMessageSnippetItem, PrivateMessageSnippetItemProps, PrivateMessageSnippetItemSkeleton, PrivateMessageEditor, PrivateMessageEditorProps, PrivateMessageEditorSkeleton, PrivateMessageSnippets, PrivateMessageSnippetsProps, PrivateMessageSnippetsSkeleton, PrivateMessageComponent, PrivateMessageComponentProps, PrivateMessageComponentSkeleton, PrivateMessageSettingsIconButton, PrivateMessageSettingsIconButtonProps, ToastNotifications, ToastNotificationsProps, ToastNotificationsSkeleton, SnippetNotifications, SnippetNotificationsProps, SnippetNotificationsSkeleton, SearchAutocomplete, SearchAutocompleteProps, SearchDialog, SearchDialogProps, Widget, WidgetProps, SCFeedWidgetType, SCFeedObjectTemplateType, SCCommentsOrderBy, SCFeedObjectActivitiesType, SCMediaObjectType, SCMediaChunkType, SCNotificationObjectTemplateType, SCBroadcastMessageTemplateType, ChangeGroupCover, ChangeGroupCoverProps, ChangeGroupPicture, ChangeGroupPictureProps, GroupHeader, GroupHeaderProps, GroupHeaderSkeleton, GroupMembersButton, GroupMembersButtonProps, CreateGroupButton, CreateButton, CreateGroupButtonProps, GroupInviteButton, GroupInviteButtonProps, GroupInfoWidget, GroupInfoWidgetProps, GroupInfoWidgetSkeleton, Group, GroupProps, GroupSubscribeButton, GroupSubscribeButtonProps, GroupMembersWidget, GroupMembersWidgetProps, GroupMembersWidgetSkeleton, GroupRequestsWidget, GroupRequestsWidgetProps, GroupRequestsWidgetSkeleton, UrlTextField, UsernameTextField, EmailTextField, PasswordTextField, PhoneTextField, MetadataField, InfiniteScroll, StickyBox, useStickyBox, StickyBoxProps, StickyBoxComponent, UseStickyBoxProps, TagChip, TagChipProps, UserDeletedSnackBar, UserDeletedSnackBarProps, UserAvatar, UserAvatarProps, Lightbox, CentralProgress, ConfirmDialog, LanguageSwitcher, MediaChunkUploader, MediaChunkUploaderProps, File, Link, Share, EditMediaProps, MEDIA_TYPE_EMBED, FACEBOOK_SHARE, TWITTER_SHARE, LINKEDIN_SHARE, DEFAULT_PRELOAD_OFFSET_VIEWPORT, MIN_PRELOAD_OFFSET_VIEWPORT, MAX_PRELOAD_OFFSET_VIEWPORT, ConsentSolution, ConsentSolutionProps, ConsentSolutionSkeleton, ConsentSolutionButton, ConsentSolutionButtonProps, LEGAL_POLICIES, DEFAULT_FIELDS, DEFAULT_PAGINATION_QUERY_PARAM_NAME, DEFAULT_PAGINATION_OFFSET, DEFAULT_PAGINATION_LIMIT, DEFAULT_WIDGETS_NUMBER, PollSuggestionWidget, PollSuggestionWidgetProps, Incubator, IncubatorSubscribeButton, IncubatorSubscribeButtonProps, IncubatorProps, IncubatorListWidget, IncubatorListWidgetProps, IncubatorDetail, IncubatorDetailProps, IncubatorSuggestionWidget, IncubatorSuggestionWidgetProps, ContributionUtils, bytesToSize, getUnseenNotification, getUnseenNotificationCounter, MessageUploaderUtils, getRelativeTime, Footer, FooterProps, FooterSkeleton, BaseItem, BaseItemProps, BaseDialog, BaseDialogProps };
144
+ export { AccountDataPortability, AccountDataPortabilityProps, AccountDataPortabilityButton, AccountDataPortabilityButtonProps, AccountDelete, AccountDeleteProps, AccountDeleteButton, AccountDeleteButtonProps, AccountRecover, AccountRecoverProps, AccountReset, AccountResetProps, AccountVerify, AccountVerifyProps, AccountChangeMailValidation, AccountChangeMailValidationProps, NavigationSettingsIconButton, NavigationSettingsIconButtonProps, NavigationSettingsItem, NavigationToolbarMobile, NavigationToolbarMobileProps, NavigationToolbarMobileSkeleton, NavigationToolbar, NavigationToolbarProps, NavigationToolbarSkeleton, NavigationMenuIconButton, NavigationMenuContent, NavigationMenuIconButtonProps, BottomNavigation, BottomNavigationProps, BroadcastMessages, BroadcastMessagesProps, BroadcastMessagesSkeleton, Category, CategoryProps, CategorySkeleton, CategoryAutocomplete, CategoryAutocompleteProps, CategoryFollowersButton, CategoryFollowersButtonProps, CategoryHeader, CategoryHeaderProps, CategoryHeaderSkeleton, Categories, CategoriesProps, CategoriesSkeleton, CategoriesSkeletonProps, UserFollowedCategoriesWidget, UserFollowedCategoriesWidgetProps, UserFollowedCategoriesWidgetSkeleton, CategoriesPopularWidget, CategoriesPopularWidgetSkeleton, CategoriesSuggestionWidget, CategoriesSuggestionWidgetProps, CategoriesSuggestionWidgetSkeleton, ChangeCover, ChangePicture, ChangePictureProps, ChangeCoverProps, Composer, ComposerProps, ComposerIconButton, ComposerIconButtonProps, Editor, EditorProps, EditorSkeleton, FriendshipUserButton, FriendshipButtonProps, Feed, FeedRef, FeedProps, FeedSidebarProps, FeedSkeleton, CategoryFollowButton, CategoryFollowButtonProps, FollowUserButton, FollowUserButtonProps, ConnectionUserButton, FeedObject, FeedObjectProps, FeedObjectSkeleton, FeedObjectMediaPreview, FeedObjectMediaPreviewProps, FeedUpdatesWidget, FeedUpdatesWidgetProps, FeedUpdatesWidgetSkeleton, GenericSkeleton, AvatarGroupSkeleton, CommentObject, CommentsObject, CommentsObjectProps, CommentObjectProps, CommentsObjectSkeleton, CommentObjectSkeleton, CommentObjectReply, CommentObjectReplyProps, CommentsFeedObject, CommentsFeedObjectProps, CommentsFeedObjectSkeleton, ReplyComment, InlineComposerWidget, InlineComposerWidgetProps, InlineComposerWidgetSkeleton, Notification, NotificationProps, NotificationSkeleton, UserSuggestionWidget, UserSuggestionWidgetProps, UserSuggestionWidgetSkeleton, PlatformWidget, PlatformWidgetProps, PlatformWidgetSkeleton, LocationAutocomplete, LocationAutocompleteProps, LoyaltyProgramWidget, LoyaltyProgramWidgetProps, LoyaltyProgramWidgetSkeleton, CategoryTrendingFeedWidget, CategoryTrendingFeedWidgetProps, CategoryTrendingFeedWidgetSkeleton, CategoryTrendingUsersWidget, CategoryTrendingUsersWidgetProps, CategoryTrendingPeopleWidgetSkeleton, RelatedFeedObjectsWidget, RelatedFeedObjectWidgetProps, RelatedFeedObjectsWidgetSkeleton, UserActionIconButton, UserActionIconButtonProps, UserCounters, UserCountersProps, UserProfileHeader, UserProfileHeaderProps, UserProfileHeaderSkeleton, UserInfoDialog, UserInfoDialogProps, UserInfo, UserInfoProps, UserInfoSkeleton, UserProfileBlocked, UserProfileBlockedProps, SCUserProfileFields, SCUserProfileSettings, UserProfileEdit, UserProfileEditProps, UserProfileEditSkeleton, UserProfileEditSectionPublicInfo, UserProfileEditSectionPublicInfoProps, UserProfileEditSectionSettings, UserProfileEditSectionSettingsProps, UserProfileEditSectionAccount, UserProfileEditSectionAccountProps, UserFollowedUsersWidget, UserFollowedUsersWidgetProps, UserFollowedUsersWidgetSkeleton, UserFollowersWidget, UserFollowersWidgetProps, UserFollowersWidgetSkeleton, UserConnectionsWidget, UserConnectionsWidgetProps, UserConnectionsWidgetSkeleton, UserConnectionsRequestsWidget, UserConnectionsRequestsWidgetProps, UserConnectionsRequestsWidgetSkeleton, UserConnectionsRequestsSentWidget, UserConnectionsRequestsSentWidgetProps, UserConnectionsRequestsSentWidgetSkeleton, UserSocialAssociation, UserSocialAssociationProps, SCUserSocialAssociations, CustomAdv, CustomAdvProps, CustomAdvSkeleton, User, UserProps, UserSkeleton, PrivateMessageThread, PrivateMessageThreadProps, PrivateMessageThreadSkeleton, PrivateMessageThreadItem, PrivateMessageThreadItemProps, PrivateMessageThreadItemSkeleton, PrivateMessageSnippetItem, PrivateMessageSnippetItemProps, PrivateMessageSnippetItemSkeleton, PrivateMessageEditor, PrivateMessageEditorProps, PrivateMessageEditorSkeleton, PrivateMessageSnippets, PrivateMessageSnippetsProps, PrivateMessageSnippetsSkeleton, PrivateMessageComponent, PrivateMessageComponentProps, PrivateMessageComponentSkeleton, PrivateMessageSettingsIconButton, PrivateMessageSettingsIconButtonProps, ToastNotifications, ToastNotificationsProps, ToastNotificationsSkeleton, SnippetNotifications, SnippetNotificationsProps, SnippetNotificationsSkeleton, SearchAutocomplete, SearchAutocompleteProps, SearchDialog, SearchDialogProps, Widget, WidgetProps, SCFeedWidgetType, SCFeedObjectTemplateType, SCCommentsOrderBy, SCFeedObjectActivitiesType, SCMediaObjectType, SCMediaChunkType, SCNotificationObjectTemplateType, SCBroadcastMessageTemplateType, ChangeGroupCover, ChangeGroupCoverProps, ChangeGroupPicture, ChangeGroupPictureProps, GroupHeader, GroupHeaderProps, GroupHeaderSkeleton, GroupMembersButton, GroupMembersButtonProps, CreateGroupButton, CreateButton, CreateGroupButtonProps, GroupInviteButton, GroupInviteButtonProps, GroupInfoWidget, GroupInfoWidgetProps, GroupInfoWidgetSkeleton, Group, GroupProps, GroupSubscribeButton, GroupSubscribeButtonProps, GroupMembersWidget, GroupMembersWidgetProps, GroupMembersWidgetSkeleton, GroupRequestsWidget, GroupRequestsWidgetProps, GroupRequestsWidgetSkeleton, Groups, GroupsProps, GroupsSkeleton, UrlTextField, UsernameTextField, EmailTextField, PasswordTextField, PhoneTextField, MetadataField, InfiniteScroll, StickyBox, useStickyBox, StickyBoxProps, StickyBoxComponent, UseStickyBoxProps, TagChip, TagChipProps, UserDeletedSnackBar, UserDeletedSnackBarProps, UserAvatar, UserAvatarProps, Lightbox, CentralProgress, ConfirmDialog, LanguageSwitcher, MediaChunkUploader, MediaChunkUploaderProps, File, Link, Share, EditMediaProps, MEDIA_TYPE_EMBED, FACEBOOK_SHARE, TWITTER_SHARE, LINKEDIN_SHARE, DEFAULT_PRELOAD_OFFSET_VIEWPORT, MIN_PRELOAD_OFFSET_VIEWPORT, MAX_PRELOAD_OFFSET_VIEWPORT, ConsentSolution, ConsentSolutionProps, ConsentSolutionSkeleton, ConsentSolutionButton, ConsentSolutionButtonProps, LEGAL_POLICIES, DEFAULT_FIELDS, DEFAULT_PAGINATION_QUERY_PARAM_NAME, DEFAULT_PAGINATION_OFFSET, DEFAULT_PAGINATION_LIMIT, DEFAULT_WIDGETS_NUMBER, PollSuggestionWidget, PollSuggestionWidgetProps, Incubator, IncubatorSubscribeButton, IncubatorSubscribeButtonProps, IncubatorProps, IncubatorListWidget, IncubatorListWidgetProps, IncubatorDetail, IncubatorDetailProps, IncubatorSuggestionWidget, IncubatorSuggestionWidgetProps, ContributionUtils, bytesToSize, getUnseenNotification, getUnseenNotificationCounter, MessageUploaderUtils, getRelativeTime, Footer, FooterProps, FooterSkeleton, BaseItem, BaseItemProps, BaseDialog, BaseDialogProps };
package/lib/esm/index.js CHANGED
@@ -116,6 +116,7 @@ import Group from './components/Group';
116
116
  import GroupSubscribeButton from './components/GroupSubscribeButton';
117
117
  import GroupMembersWidget, { GroupMembersWidgetSkeleton } from './components/GroupMembersWidget';
118
118
  import GroupRequestsWidget, { GroupRequestsWidgetSkeleton } from './components/GroupRequestsWidget';
119
+ import Groups, { GroupsSkeleton } from './components/Groups';
119
120
  /**
120
121
  * Constants
121
122
  */
@@ -140,7 +141,7 @@ import FeedObjectMediaPreview from './components/FeedObjectMediaPreview';
140
141
  /**
141
142
  * List all exports
142
143
  */
143
- export { AccountDataPortability, AccountDataPortabilityButton, AccountDelete, AccountDeleteButton, AccountRecover, AccountReset, AccountVerify, AccountChangeMailValidation, NavigationSettingsIconButton, NavigationToolbarMobile, NavigationToolbarMobileSkeleton, NavigationToolbar, NavigationToolbarSkeleton, NavigationMenuIconButton, NavigationMenuContent, BottomNavigation, BroadcastMessages, BroadcastMessagesSkeleton, Category, CategorySkeleton, CategoryAutocomplete, CategoryFollowersButton, CategoryHeader, CategoryHeaderSkeleton, Categories, CategoriesSkeleton, UserFollowedCategoriesWidget, UserFollowedCategoriesWidgetSkeleton, CategoriesPopularWidget, CategoriesPopularWidgetSkeleton, CategoriesSuggestionWidget, CategoriesSuggestionWidgetSkeleton, ChangeCover, ChangePicture, Composer, ComposerIconButton, Editor, EditorSkeleton, FriendshipUserButton, Feed, FeedSkeleton, CategoryFollowButton, FollowUserButton, ConnectionUserButton, FeedObject, FeedObjectSkeleton, FeedObjectMediaPreview, FeedUpdatesWidget, FeedUpdatesWidgetSkeleton, GenericSkeleton, AvatarGroupSkeleton, CommentObject, CommentsObject, CommentsObjectSkeleton, CommentObjectSkeleton, CommentObjectReply, CommentsFeedObject, CommentsFeedObjectSkeleton, ReplyComment, InlineComposerWidget, InlineComposerWidgetSkeleton, Notification, NotificationSkeleton, UserSuggestionWidget, UserSuggestionWidgetSkeleton, PlatformWidget, PlatformWidgetSkeleton, LocationAutocomplete, LoyaltyProgramWidget, LoyaltyProgramWidgetSkeleton, CategoryTrendingFeedWidget, CategoryTrendingFeedWidgetSkeleton, CategoryTrendingUsersWidget, CategoryTrendingPeopleWidgetSkeleton, RelatedFeedObjectsWidget, RelatedFeedObjectsWidgetSkeleton, UserActionIconButton, UserCounters, UserProfileHeader, UserProfileHeaderSkeleton, UserInfoDialog, UserInfo, UserInfoSkeleton, UserProfileBlocked, SCUserProfileFields, SCUserProfileSettings, UserProfileEdit, UserProfileEditSkeleton, UserProfileEditSectionPublicInfo, UserProfileEditSectionSettings, UserProfileEditSectionAccount, UserFollowedUsersWidget, UserFollowedUsersWidgetSkeleton, UserFollowersWidget, UserFollowersWidgetSkeleton, UserConnectionsWidget, UserConnectionsWidgetSkeleton, UserConnectionsRequestsWidget, UserConnectionsRequestsWidgetSkeleton, UserConnectionsRequestsSentWidget, UserConnectionsRequestsSentWidgetSkeleton, UserSocialAssociation, SCUserSocialAssociations, CustomAdv, CustomAdvSkeleton, User, UserSkeleton, PrivateMessageThread, PrivateMessageThreadSkeleton, PrivateMessageThreadItem, PrivateMessageThreadItemSkeleton, PrivateMessageSnippetItem, PrivateMessageSnippetItemSkeleton, PrivateMessageEditor, PrivateMessageEditorSkeleton, PrivateMessageSnippets, PrivateMessageSnippetsSkeleton, PrivateMessageComponent, PrivateMessageComponentSkeleton, PrivateMessageSettingsIconButton, ToastNotifications, ToastNotificationsSkeleton, SnippetNotifications, SnippetNotificationsSkeleton, SearchAutocomplete, SearchDialog, Widget, SCFeedObjectTemplateType, SCCommentsOrderBy, SCFeedObjectActivitiesType, SCNotificationObjectTemplateType, SCBroadcastMessageTemplateType, ChangeGroupCover, ChangeGroupPicture, GroupHeader, GroupHeaderSkeleton, GroupMembersButton, CreateGroupButton, CreateButton, GroupInviteButton, GroupInfoWidget, GroupInfoWidgetSkeleton, Group, GroupSubscribeButton, GroupMembersWidget, GroupMembersWidgetSkeleton, GroupRequestsWidget, GroupRequestsWidgetSkeleton,
144
+ export { AccountDataPortability, AccountDataPortabilityButton, AccountDelete, AccountDeleteButton, AccountRecover, AccountReset, AccountVerify, AccountChangeMailValidation, NavigationSettingsIconButton, NavigationToolbarMobile, NavigationToolbarMobileSkeleton, NavigationToolbar, NavigationToolbarSkeleton, NavigationMenuIconButton, NavigationMenuContent, BottomNavigation, BroadcastMessages, BroadcastMessagesSkeleton, Category, CategorySkeleton, CategoryAutocomplete, CategoryFollowersButton, CategoryHeader, CategoryHeaderSkeleton, Categories, CategoriesSkeleton, UserFollowedCategoriesWidget, UserFollowedCategoriesWidgetSkeleton, CategoriesPopularWidget, CategoriesPopularWidgetSkeleton, CategoriesSuggestionWidget, CategoriesSuggestionWidgetSkeleton, ChangeCover, ChangePicture, Composer, ComposerIconButton, Editor, EditorSkeleton, FriendshipUserButton, Feed, FeedSkeleton, CategoryFollowButton, FollowUserButton, ConnectionUserButton, FeedObject, FeedObjectSkeleton, FeedObjectMediaPreview, FeedUpdatesWidget, FeedUpdatesWidgetSkeleton, GenericSkeleton, AvatarGroupSkeleton, CommentObject, CommentsObject, CommentsObjectSkeleton, CommentObjectSkeleton, CommentObjectReply, CommentsFeedObject, CommentsFeedObjectSkeleton, ReplyComment, InlineComposerWidget, InlineComposerWidgetSkeleton, Notification, NotificationSkeleton, UserSuggestionWidget, UserSuggestionWidgetSkeleton, PlatformWidget, PlatformWidgetSkeleton, LocationAutocomplete, LoyaltyProgramWidget, LoyaltyProgramWidgetSkeleton, CategoryTrendingFeedWidget, CategoryTrendingFeedWidgetSkeleton, CategoryTrendingUsersWidget, CategoryTrendingPeopleWidgetSkeleton, RelatedFeedObjectsWidget, RelatedFeedObjectsWidgetSkeleton, UserActionIconButton, UserCounters, UserProfileHeader, UserProfileHeaderSkeleton, UserInfoDialog, UserInfo, UserInfoSkeleton, UserProfileBlocked, SCUserProfileFields, SCUserProfileSettings, UserProfileEdit, UserProfileEditSkeleton, UserProfileEditSectionPublicInfo, UserProfileEditSectionSettings, UserProfileEditSectionAccount, UserFollowedUsersWidget, UserFollowedUsersWidgetSkeleton, UserFollowersWidget, UserFollowersWidgetSkeleton, UserConnectionsWidget, UserConnectionsWidgetSkeleton, UserConnectionsRequestsWidget, UserConnectionsRequestsWidgetSkeleton, UserConnectionsRequestsSentWidget, UserConnectionsRequestsSentWidgetSkeleton, UserSocialAssociation, SCUserSocialAssociations, CustomAdv, CustomAdvSkeleton, User, UserSkeleton, PrivateMessageThread, PrivateMessageThreadSkeleton, PrivateMessageThreadItem, PrivateMessageThreadItemSkeleton, PrivateMessageSnippetItem, PrivateMessageSnippetItemSkeleton, PrivateMessageEditor, PrivateMessageEditorSkeleton, PrivateMessageSnippets, PrivateMessageSnippetsSkeleton, PrivateMessageComponent, PrivateMessageComponentSkeleton, PrivateMessageSettingsIconButton, ToastNotifications, ToastNotificationsSkeleton, SnippetNotifications, SnippetNotificationsSkeleton, SearchAutocomplete, SearchDialog, Widget, SCFeedObjectTemplateType, SCCommentsOrderBy, SCFeedObjectActivitiesType, SCNotificationObjectTemplateType, SCBroadcastMessageTemplateType, ChangeGroupCover, ChangeGroupPicture, GroupHeader, GroupHeaderSkeleton, GroupMembersButton, CreateGroupButton, CreateButton, GroupInviteButton, GroupInfoWidget, GroupInfoWidgetSkeleton, Group, GroupSubscribeButton, GroupMembersWidget, GroupMembersWidgetSkeleton, GroupRequestsWidget, GroupRequestsWidgetSkeleton, Groups, GroupsSkeleton,
144
145
  /* SC UI SHARED */
145
146
  UrlTextField, UsernameTextField, EmailTextField, PasswordTextField, PhoneTextField, MetadataField, InfiniteScroll, StickyBox, useStickyBox, TagChip, UserDeletedSnackBar, UserAvatar, Lightbox, CentralProgress, ConfirmDialog, LanguageSwitcher, MediaChunkUploader, File, Link, Share, MEDIA_TYPE_EMBED, FACEBOOK_SHARE, TWITTER_SHARE, LINKEDIN_SHARE, DEFAULT_PRELOAD_OFFSET_VIEWPORT, MIN_PRELOAD_OFFSET_VIEWPORT, MAX_PRELOAD_OFFSET_VIEWPORT,
146
147
  /* SC CONSENT SOLUTION */