@selfcommunity/react-ui 0.8.0-embeds.17 → 0.8.0-live.40

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 (796) hide show
  1. package/lib/cjs/components/AccountChangeMailValidation/AccountChangeMailValidation.js +1 -1
  2. package/lib/cjs/components/AccountDataPortability/AccountDataPortability.js +4 -4
  3. package/lib/cjs/components/AccountDataPortabilityButton/AccountDataPortabilityButton.js +1 -1
  4. package/lib/cjs/components/AccountDelete/AccountDelete.js +3 -3
  5. package/lib/cjs/components/AccountDeleteButton/AccountDeleteButton.js +1 -1
  6. package/lib/cjs/components/AccountRecover/AccountRecover.js +2 -2
  7. package/lib/cjs/components/AccountReset/AccountReset.js +1 -1
  8. package/lib/cjs/components/AccountVerify/AccountVerify.js +1 -1
  9. package/lib/cjs/components/BottomNavigation/BottomNavigation.d.ts +1 -1
  10. package/lib/cjs/components/BottomNavigation/BottomNavigation.js +2 -2
  11. package/lib/cjs/components/BroadcastMessages/BroadcastMessages.js +1 -1
  12. package/lib/cjs/components/BroadcastMessages/Message.js +4 -4
  13. package/lib/cjs/components/BroadcastMessages/Skeleton.js +1 -1
  14. package/lib/cjs/components/Categories/Categories.js +23 -1
  15. package/lib/cjs/components/Categories/Skeleton.js +1 -1
  16. package/lib/cjs/components/CategoriesPopularWidget/CategoriesPopularWidget.js +22 -1
  17. package/lib/cjs/components/CategoriesSuggestionWidget/CategoriesSuggestionWidget.js +22 -1
  18. package/lib/cjs/components/CategoriesSuggestionWidget/Skeleton.js +1 -1
  19. package/lib/cjs/components/Category/Category.js +1 -1
  20. package/lib/cjs/components/Category/Skeleton.js +1 -1
  21. package/lib/cjs/components/CategoryAutocomplete/CategoryAutocomplete.js +1 -1
  22. package/lib/cjs/components/CategoryFollowersButton/CategoryFollowersButton.js +1 -1
  23. package/lib/cjs/components/CategoryHeader/CategoryHeader.js +1 -1
  24. package/lib/cjs/components/CategoryHeader/Skeleton.js +1 -1
  25. package/lib/cjs/components/CategoryTrendingFeedWidget/CategoryTrendingFeedWidget.js +2 -2
  26. package/lib/cjs/components/CategoryTrendingFeedWidget/Skeleton.js +1 -1
  27. package/lib/cjs/components/CategoryTrendingUsersWidget/CategoryTrendingUsersWidget.js +1 -1
  28. package/lib/cjs/components/CategoryTrendingUsersWidget/Skeleton.js +1 -1
  29. package/lib/cjs/components/ChangeCover/ChangeCover.js +6 -6
  30. package/lib/cjs/components/ChangeGroupCover/ChangeGroupCover.js +1 -1
  31. package/lib/cjs/components/ChangeGroupPicture/ChangeGroupPicture.js +1 -1
  32. package/lib/cjs/components/ChangePicture/ChangePictureDialog/ChangePictureDialog.js +2 -2
  33. package/lib/cjs/components/CommentObject/CommentObject.js +4 -4
  34. package/lib/cjs/components/CommentObjectReply/CommentObjectReply.js +1 -1
  35. package/lib/cjs/components/CommentsFeedObject/CommentsFeedObject.js +4 -4
  36. package/lib/cjs/components/CommentsObject/CommentsObject.js +6 -6
  37. package/lib/cjs/components/Composer/Attributes/Attributes.js +2 -2
  38. package/lib/cjs/components/Composer/Composer.js +4 -4
  39. package/lib/cjs/components/Composer/Content/ContentDiscussion/ContentDiscussion.js +3 -3
  40. package/lib/cjs/components/Composer/Content/ContentPoll/ContentPoll.js +6 -6
  41. package/lib/cjs/components/Composer/Content/ContentPost/ContentPost.js +1 -1
  42. package/lib/cjs/components/Composer/Layer/AudienceLayer/AudienceLayer.js +5 -5
  43. package/lib/cjs/components/Composer/Layer/CategoryLayer/CategoryLayer.js +1 -1
  44. package/lib/cjs/components/Composer/Layer/CloseLayer/CloseLayer.js +1 -1
  45. package/lib/cjs/components/Composer/Layer/LocationLayer/LocationLayer.js +1 -1
  46. package/lib/cjs/components/Composer/Skeleton.js +1 -1
  47. package/lib/cjs/components/Composer/TypeSwitchButtonGroup/TypeSwitchButtonGroup.js +1 -1
  48. package/lib/cjs/components/ComposerIconButton/ComposerIconButton.js +2 -2
  49. package/lib/cjs/components/ConsentSolution/ConsentSolution.js +4 -4
  50. package/lib/cjs/components/ConsentSolution/Skeleton.js +1 -1
  51. package/lib/cjs/components/CreateEventButton/CreateEventButton.d.ts +2 -2
  52. package/lib/cjs/components/CreateEventButton/CreateEventButton.js +4 -4
  53. package/lib/cjs/components/CreateEventWidget/CreateEventWidget.js +1 -1
  54. package/lib/cjs/components/CreateEventWidget/Skeleton.js +1 -1
  55. package/lib/cjs/components/CreateLiveStreamButton/CreateLiveStreamButton.d.ts +49 -0
  56. package/lib/cjs/components/CreateLiveStreamButton/CreateLiveStreamButton.js +94 -0
  57. package/lib/cjs/components/CreateLiveStreamButton/index.d.ts +3 -0
  58. package/lib/cjs/components/CreateLiveStreamButton/index.js +5 -0
  59. package/lib/cjs/components/CreateLiveStreamDialog/CreateLiveStreamDialog.d.ts +51 -0
  60. package/lib/cjs/components/CreateLiveStreamDialog/CreateLiveStreamDialog.js +123 -0
  61. package/lib/cjs/components/CreateLiveStreamDialog/LiveStreamSelector/LiveStreamSelector.d.ts +46 -0
  62. package/lib/cjs/components/CreateLiveStreamDialog/LiveStreamSelector/LiveStreamSelector.js +166 -0
  63. package/lib/cjs/components/CreateLiveStreamDialog/constants.d.ts +1 -0
  64. package/lib/cjs/components/CreateLiveStreamDialog/constants.js +4 -0
  65. package/lib/cjs/components/CreateLiveStreamDialog/index.d.ts +3 -0
  66. package/lib/cjs/components/CreateLiveStreamDialog/index.js +5 -0
  67. package/lib/cjs/components/CreateLiveStreamDialog/types.d.ts +8 -0
  68. package/lib/cjs/components/CreateLiveStreamDialog/types.js +13 -0
  69. package/lib/cjs/components/CustomAdv/CustomAdv.js +2 -2
  70. package/lib/cjs/components/EditEventButton/EditEventButton.js +1 -1
  71. package/lib/cjs/components/Editor/Editor.d.ts +1 -1
  72. package/lib/cjs/components/Editor/Editor.js +1 -1
  73. package/lib/cjs/components/Editor/nodes/HashtagNode.d.ts +1 -1
  74. package/lib/cjs/components/Editor/nodes/HashtagNode.js +4 -4
  75. package/lib/cjs/components/Editor/nodes/ImageNode.d.ts +1 -1
  76. package/lib/cjs/components/Editor/nodes/ImageNode.js +7 -7
  77. package/lib/cjs/components/Editor/nodes/MentionNode.d.ts +1 -1
  78. package/lib/cjs/components/Editor/nodes/MentionNode.js +4 -4
  79. package/lib/cjs/components/Editor/plugins/ApiPlugin.d.ts +1 -1
  80. package/lib/cjs/components/Editor/plugins/EmojiPlugin.js +2 -2
  81. package/lib/cjs/components/Editor/plugins/FloatingLinkPlugin.js +4 -4
  82. package/lib/cjs/components/Editor/plugins/HashtagPlugin.js +3 -3
  83. package/lib/cjs/components/Editor/plugins/ImagePlugin.js +4 -4
  84. package/lib/cjs/components/Editor/plugins/MentionsPlugin.d.ts +2 -2
  85. package/lib/cjs/components/Editor/plugins/MentionsPlugin.js +4 -4
  86. package/lib/cjs/components/Editor/plugins/ToolbarPlugin.js +5 -5
  87. package/lib/cjs/components/Editor/shared/useDecorators.d.ts +2 -2
  88. package/lib/cjs/components/Editor/shared/useDecorators.js +1 -1
  89. package/lib/cjs/components/Event/Event.js +5 -5
  90. package/lib/cjs/components/Event/Skeleton.js +3 -3
  91. package/lib/cjs/components/EventAutocomplete/EventAutocomplete.js +1 -1
  92. package/lib/cjs/components/EventForm/EventAddress.js +2 -2
  93. package/lib/cjs/components/EventForm/EventForm.d.ts +7 -12
  94. package/lib/cjs/components/EventForm/EventForm.js +55 -55
  95. package/lib/cjs/components/EventForm/UploadEventCover.js +1 -1
  96. package/lib/cjs/components/EventForm/types.d.ts +5 -5
  97. package/lib/cjs/components/EventFormDialog/EventFormDialog.d.ts +48 -0
  98. package/lib/cjs/components/EventFormDialog/EventFormDialog.js +56 -0
  99. package/lib/cjs/components/EventFormDialog/constants.d.ts +1 -0
  100. package/lib/cjs/components/EventFormDialog/constants.js +4 -0
  101. package/lib/cjs/components/EventFormDialog/index.d.ts +3 -0
  102. package/lib/cjs/components/EventFormDialog/index.js +5 -0
  103. package/lib/cjs/components/EventHeader/EventHeader.js +4 -8
  104. package/lib/cjs/components/EventHeader/Skeleton.js +1 -1
  105. package/lib/cjs/components/EventInfoWidget/EventInfoWidget.js +7 -5
  106. package/lib/cjs/components/EventInfoWidget/Skeleton.js +1 -1
  107. package/lib/cjs/components/EventInviteButton/EventInviteButton.js +2 -2
  108. package/lib/cjs/components/EventLocationWidget/EventLocationWidget.js +3 -3
  109. package/lib/cjs/components/EventLocationWidget/Skeleton.js +1 -1
  110. package/lib/cjs/components/EventMediaWidget/EventMediaWidget.d.ts +41 -0
  111. package/lib/cjs/components/EventMediaWidget/EventMediaWidget.js +253 -0
  112. package/lib/cjs/components/EventMediaWidget/Skeleton.d.ts +2 -0
  113. package/lib/cjs/components/EventMediaWidget/Skeleton.js +28 -0
  114. package/lib/cjs/components/EventMediaWidget/TriggerButton.d.ts +17 -0
  115. package/lib/cjs/components/EventMediaWidget/TriggerButton.js +66 -0
  116. package/lib/cjs/components/EventMediaWidget/asUploadButton.d.ts +7 -0
  117. package/lib/cjs/components/EventMediaWidget/asUploadButton.js +25 -0
  118. package/lib/cjs/components/EventMediaWidget/constants.d.ts +1 -0
  119. package/lib/cjs/components/EventMediaWidget/constants.js +4 -0
  120. package/lib/cjs/components/EventMediaWidget/index.d.ts +4 -0
  121. package/lib/cjs/components/EventMediaWidget/index.js +8 -0
  122. package/lib/cjs/components/EventMembersWidget/EventMembersWidget.d.ts +3 -0
  123. package/lib/cjs/components/EventMembersWidget/EventMembersWidget.js +21 -16
  124. package/lib/cjs/components/EventMembersWidget/Skeleton.js +1 -1
  125. package/lib/cjs/components/EventMembersWidget/TabContentComponent.js +3 -3
  126. package/lib/cjs/components/EventMembersWidget/types.d.ts +1 -1
  127. package/lib/cjs/components/EventMembersWidget/types.js +1 -1
  128. package/lib/cjs/components/EventParticipantsButton/EventParticipantsButton.js +1 -1
  129. package/lib/cjs/components/EventSubscribeButton/EventSubscribeButton.js +2 -2
  130. package/lib/cjs/components/Events/Events.js +18 -9
  131. package/lib/cjs/components/Events/LocationEventsFilter.d.ts +14 -0
  132. package/lib/cjs/components/Events/LocationEventsFilter.js +45 -0
  133. package/lib/cjs/components/Events/PastEventsFilter.js +1 -2
  134. package/lib/cjs/components/Events/Skeleton.js +1 -1
  135. package/lib/cjs/components/Feed/Feed.d.ts +2 -2
  136. package/lib/cjs/components/Feed/Feed.js +6 -5
  137. package/lib/cjs/components/Feed/Skeleton.d.ts +1 -1
  138. package/lib/cjs/components/Feed/Skeleton.js +1 -1
  139. package/lib/cjs/components/FeedObject/Actions/Actions.js +1 -1
  140. package/lib/cjs/components/FeedObject/Actions/Comment/Comment.js +3 -3
  141. package/lib/cjs/components/FeedObject/Actions/Follow/Follow.js +1 -1
  142. package/lib/cjs/components/FeedObject/Actions/Share/Share.js +5 -5
  143. package/lib/cjs/components/FeedObject/Actions/Share/SharesDialog/SharesDialog.js +1 -1
  144. package/lib/cjs/components/FeedObject/Activities/Activities.js +1 -1
  145. package/lib/cjs/components/FeedObject/Activities/ActivitiesMenu/ActivitiesMenu.js +4 -4
  146. package/lib/cjs/components/FeedObject/Activities/RelevantActivities/CommentActivity/CommentActivity.js +3 -3
  147. package/lib/cjs/components/FeedObject/Activities/RelevantActivities/FollowActivity/FollowActivity.js +2 -2
  148. package/lib/cjs/components/FeedObject/Activities/RelevantActivities/PollVoteActivity/PollVoteActivity.js +2 -2
  149. package/lib/cjs/components/FeedObject/Activities/RelevantActivities/RelevantActivities.js +1 -1
  150. package/lib/cjs/components/FeedObject/Activities/RelevantActivities/VoteUpActivity/VoteUpActivity.js +2 -2
  151. package/lib/cjs/components/FeedObject/Contributors/Contributors.js +1 -1
  152. package/lib/cjs/components/FeedObject/Contributors/Skeleton.js +1 -1
  153. package/lib/cjs/components/FeedObject/FeedObject.js +11 -11
  154. package/lib/cjs/components/FeedObject/Poll/Choice/Choice.js +2 -2
  155. package/lib/cjs/components/FeedObject/Poll/Poll.js +1 -1
  156. package/lib/cjs/components/FeedUpdatesWidget/FeedUpdatesWidget.js +1 -1
  157. package/lib/cjs/components/Footer/Footer.js +1 -1
  158. package/lib/cjs/components/Group/Group.js +2 -2
  159. package/lib/cjs/components/Group/Skeleton.js +1 -1
  160. package/lib/cjs/components/GroupActionsMenu/index.d.ts +57 -0
  161. package/lib/cjs/components/GroupActionsMenu/index.js +157 -0
  162. package/lib/cjs/components/GroupAutocomplete/GroupAutocomplete.js +1 -1
  163. package/lib/cjs/components/GroupForm/GroupForm.js +9 -9
  164. package/lib/cjs/components/GroupHeader/GroupHeader.d.ts +6 -0
  165. package/lib/cjs/components/GroupHeader/GroupHeader.js +8 -4
  166. package/lib/cjs/components/GroupHeader/Skeleton.js +1 -1
  167. package/lib/cjs/components/GroupInfoWidget/GroupInfoWidget.js +6 -6
  168. package/lib/cjs/components/GroupInviteButton/GroupInviteButton.js +2 -2
  169. package/lib/cjs/components/GroupInvitedWidget/GroupInvitedWidget.js +1 -1
  170. package/lib/cjs/components/GroupMembersButton/GroupMembersButton.js +1 -1
  171. package/lib/cjs/components/GroupMembersWidget/GroupMembersWidget.js +5 -5
  172. package/lib/cjs/components/GroupRequestsWidget/GroupRequestsWidget.js +1 -1
  173. package/lib/cjs/components/GroupSettingsIconButton/GroupSettingsIconButton.js +5 -5
  174. package/lib/cjs/components/Groups/Groups.js +29 -3
  175. package/lib/cjs/components/Groups/Skeleton.js +1 -1
  176. package/lib/cjs/components/Incubator/Incubator.js +4 -4
  177. package/lib/cjs/components/Incubator/Skeleton.js +1 -1
  178. package/lib/cjs/components/IncubatorDetail/IncubatorDetail.js +2 -2
  179. package/lib/cjs/components/IncubatorListWidget/CreateIncubatorDialog/CreateIncubatorDialog.js +2 -2
  180. package/lib/cjs/components/IncubatorListWidget/IncubatorListWidget.js +2 -2
  181. package/lib/cjs/components/IncubatorListWidget/Skeleton.js +1 -1
  182. package/lib/cjs/components/IncubatorSuggestionWidget/IncubatorSuggestionWidget.js +1 -1
  183. package/lib/cjs/components/IncubatorSuggestionWidget/Skeleton.js +1 -1
  184. package/lib/cjs/components/InlineComposerWidget/InlineComposerWidget.js +1 -1
  185. package/lib/cjs/components/InlineComposerWidget/Skeleton.js +1 -1
  186. package/lib/cjs/components/LiveStreamForm/LiveStreamForm.d.ts +55 -0
  187. package/lib/cjs/components/LiveStreamForm/LiveStreamForm.js +156 -0
  188. package/lib/cjs/components/LiveStreamForm/constants.d.ts +1 -0
  189. package/lib/cjs/components/LiveStreamForm/constants.js +4 -0
  190. package/lib/cjs/components/LiveStreamForm/index.d.ts +3 -0
  191. package/lib/cjs/components/LiveStreamForm/index.js +5 -0
  192. package/lib/cjs/components/LiveStreamForm/types.d.ts +10 -0
  193. package/lib/cjs/components/LiveStreamForm/types.js +2 -0
  194. package/lib/cjs/components/LiveStreamRoom/LiveStreamRoom.d.ts +48 -0
  195. package/lib/cjs/components/LiveStreamRoom/LiveStreamRoom.js +123 -0
  196. package/lib/cjs/components/LiveStreamRoom/LiveStreamVideoConference/LiveStreamVideoConference.d.ts +69 -0
  197. package/lib/cjs/components/LiveStreamRoom/LiveStreamVideoConference/LiveStreamVideoConference.js +184 -0
  198. package/lib/cjs/components/LiveStreamRoom/LiveStreamVideoConference/RecordingIndicator.d.ts +4 -0
  199. package/lib/cjs/components/LiveStreamRoom/LiveStreamVideoConference/RecordingIndicator.js +31 -0
  200. package/lib/cjs/components/LiveStreamRoom/LiveStreamVideoConference/constants.d.ts +1 -0
  201. package/lib/cjs/components/LiveStreamRoom/LiveStreamVideoConference/constants.js +4 -0
  202. package/lib/cjs/components/LiveStreamRoom/LiveStreamVideoConference/index.d.ts +3 -0
  203. package/lib/cjs/components/LiveStreamRoom/LiveStreamVideoConference/index.js +5 -0
  204. package/lib/cjs/components/LiveStreamRoom/constants.d.ts +5 -0
  205. package/lib/cjs/components/LiveStreamRoom/constants.js +8 -0
  206. package/lib/cjs/components/LiveStreamRoom/index.d.ts +3 -0
  207. package/lib/cjs/components/LiveStreamRoom/index.js +5 -0
  208. package/lib/cjs/components/LiveStreamRoom/types.d.ts +22 -0
  209. package/lib/cjs/components/LiveStreamRoom/types.js +8 -0
  210. package/lib/cjs/components/LocationAutocomplete/LocationAutocomplete.js +1 -1
  211. package/lib/cjs/components/LoyaltyProgramWidget/LoyaltyProgramWidget.js +1 -1
  212. package/lib/cjs/components/LoyaltyProgramWidget/Skeleton.js +1 -1
  213. package/lib/cjs/components/MyEventsWidget/MyEventsWidget.js +1 -1
  214. package/lib/cjs/components/MyEventsWidget/Skeleton.js +1 -1
  215. package/lib/cjs/components/NavigationMenuIconButton/DefaultDrawerContent.js +1 -1
  216. package/lib/cjs/components/NavigationMenuIconButton/DefaultHeaderContent.d.ts +1 -1
  217. package/lib/cjs/components/NavigationMenuIconButton/DefaultHeaderContent.js +1 -1
  218. package/lib/cjs/components/NavigationMenuIconButton/NavigationMenuDrawer.d.ts +47 -0
  219. package/lib/cjs/components/NavigationMenuIconButton/NavigationMenuDrawer.js +39 -0
  220. package/lib/cjs/components/NavigationMenuIconButton/NavigationMenuIconButton.d.ts +9 -20
  221. package/lib/cjs/components/NavigationMenuIconButton/NavigationMenuIconButton.js +4 -20
  222. package/lib/cjs/components/NavigationMenuIconButton/index.d.ts +2 -1
  223. package/lib/cjs/components/NavigationMenuIconButton/index.js +3 -1
  224. package/lib/cjs/components/NavigationSettingsIconButton/NavigationSettingsIconButton.js +62 -29
  225. package/lib/cjs/components/NavigationToolbar/NavigationToolbar.d.ts +5 -0
  226. package/lib/cjs/components/NavigationToolbar/NavigationToolbar.js +8 -8
  227. package/lib/cjs/components/NavigationToolbar/NotificationMenu.js +1 -1
  228. package/lib/cjs/components/NavigationToolbar/Skeleton.js +1 -1
  229. package/lib/cjs/components/NavigationToolbarMobile/NavigationToolbarMobile.js +4 -4
  230. package/lib/cjs/components/NavigationToolbarMobile/Skeleton.js +1 -1
  231. package/lib/cjs/components/Notification/CollapsedFor/CollapsedFor.js +1 -1
  232. package/lib/cjs/components/Notification/Comment/Comment.js +3 -3
  233. package/lib/cjs/components/Notification/Contribution/Contribution.js +3 -3
  234. package/lib/cjs/components/Notification/ContributionFollow/ContributionFollow.js +2 -2
  235. package/lib/cjs/components/Notification/DeletedFor/DeletedFor.js +1 -1
  236. package/lib/cjs/components/Notification/Event/Event.js +9 -9
  237. package/lib/cjs/components/Notification/Group/Group.js +8 -8
  238. package/lib/cjs/components/Notification/IncubatorApproved/IncubatorApproved.js +3 -3
  239. package/lib/cjs/components/Notification/KindlyNoticeFlag/KindlyNoticeFlag.js +1 -1
  240. package/lib/cjs/components/Notification/KindlyNoticeFor/KindlyNoticeFor.js +2 -2
  241. package/lib/cjs/components/Notification/Mention/Mention.js +3 -3
  242. package/lib/cjs/components/Notification/Notification.js +8 -8
  243. package/lib/cjs/components/Notification/PrivateMessage/PrivateMessage.js +10 -10
  244. package/lib/cjs/components/Notification/Skeleton.js +1 -1
  245. package/lib/cjs/components/Notification/UndeletedFor/UndeletedFor.js +1 -1
  246. package/lib/cjs/components/Notification/UserBlocked/UserBlocked.js +3 -3
  247. package/lib/cjs/components/Notification/UserConnection/UserConnection.js +2 -2
  248. package/lib/cjs/components/Notification/UserFollow/UserFollow.js +2 -2
  249. package/lib/cjs/components/Notification/VoteUp/VoteUp.js +2 -2
  250. package/lib/cjs/components/OnBoardingWidget/ActionsButton.d.ts +7 -0
  251. package/lib/cjs/components/OnBoardingWidget/ActionsButton.js +84 -0
  252. package/lib/cjs/components/OnBoardingWidget/OnBoardingWidget.d.ts +5 -1
  253. package/lib/cjs/components/OnBoardingWidget/OnBoardingWidget.js +98 -25
  254. package/lib/cjs/components/OnBoardingWidget/Skeleton.js +1 -1
  255. package/lib/cjs/components/OnBoardingWidget/Steps/App/App.js +9 -9
  256. package/lib/cjs/components/OnBoardingWidget/Steps/Appearance/Appearance.js +26 -19
  257. package/lib/cjs/components/OnBoardingWidget/Steps/Category/Category.js +5 -5
  258. package/lib/cjs/components/OnBoardingWidget/Steps/Content/Content.js +1 -1
  259. package/lib/cjs/components/OnBoardingWidget/Steps/Invite/Invite.js +56 -12
  260. package/lib/cjs/components/OnBoardingWidget/Steps/Profile/Profile.js +1 -1
  261. package/lib/cjs/components/PlatformWidget/PlatformWidget.js +8 -8
  262. package/lib/cjs/components/PlatformWidget/Skeleton.js +1 -1
  263. package/lib/cjs/components/PlatformWidget/constants.d.ts +0 -4
  264. package/lib/cjs/components/PlatformWidget/constants.js +1 -5
  265. package/lib/cjs/components/PollSuggestionWidget/PollSnippet/PollSnippet.js +1 -1
  266. package/lib/cjs/components/PollSuggestionWidget/PollSuggestionWidget.js +1 -1
  267. package/lib/cjs/components/PollSuggestionWidget/Skeleton.js +1 -1
  268. package/lib/cjs/components/PrivateMessageComponent/PrivateMessageComponent.js +4 -4
  269. package/lib/cjs/components/PrivateMessageComponent/Skeleton.d.ts +1 -1
  270. package/lib/cjs/components/PrivateMessageComponent/Skeleton.js +1 -1
  271. package/lib/cjs/components/PrivateMessageEditor/MessageMediaUploader/index.js +5 -5
  272. package/lib/cjs/components/PrivateMessageEditor/PrivateMessageEditor.js +6 -6
  273. package/lib/cjs/components/PrivateMessageSettingsIconButton/PrivateMessageSettingsIconButton.js +7 -7
  274. package/lib/cjs/components/PrivateMessageSnippetItem/PrivateMessageSnippetItem.js +3 -3
  275. package/lib/cjs/components/PrivateMessageSnippetItem/Skeleton.js +1 -1
  276. package/lib/cjs/components/PrivateMessageSnippets/PrivateMessageSnippets.js +4 -4
  277. package/lib/cjs/components/PrivateMessageSnippets/Skeleton.js +1 -1
  278. package/lib/cjs/components/PrivateMessageThread/PrivateMessageThread.js +6 -6
  279. package/lib/cjs/components/PrivateMessageThread/Skeleton.js +1 -1
  280. package/lib/cjs/components/PrivateMessageThreadItem/PrivateMessageThreadItem.js +6 -8
  281. package/lib/cjs/components/RelatedEventsWidget/RelatedEventsWidget.js +1 -1
  282. package/lib/cjs/components/RelatedEventsWidget/Skeleton.js +1 -1
  283. package/lib/cjs/components/RelatedFeedObjectsWidget/RelatedFeedObjectsWidget.js +1 -1
  284. package/lib/cjs/components/SearchAutocomplete/SearchAutocomplete.js +2 -2
  285. package/lib/cjs/components/SnippetNotifications/Skeleton.js +1 -1
  286. package/lib/cjs/components/SnippetNotifications/SnippetNotifications.js +3 -3
  287. package/lib/cjs/components/SuggestedEventsWidget/Arrow.js +2 -2
  288. package/lib/cjs/components/SuggestedEventsWidget/Skeleton.js +1 -1
  289. package/lib/cjs/components/SuggestedEventsWidget/SuggestedEventsWidget.js +2 -2
  290. package/lib/cjs/components/User/Skeleton.js +1 -1
  291. package/lib/cjs/components/User/User.js +2 -2
  292. package/lib/cjs/components/UserActionIconButton/UserActionIconButton.js +9 -9
  293. package/lib/cjs/components/UserConnectionsRequestsSentWidget/UserConnectionsRequestsSentWidget.js +1 -1
  294. package/lib/cjs/components/UserConnectionsRequestsWidget/UserConnectionsRequestsWidget.js +1 -1
  295. package/lib/cjs/components/UserConnectionsWidget/UserConnectionsWidget.js +1 -1
  296. package/lib/cjs/components/UserCounters/UserCounters.js +5 -5
  297. package/lib/cjs/components/UserFollowedCategoriesWidget/UserFollowedCategoriesWidget.js +1 -1
  298. package/lib/cjs/components/UserFollowedUsersWidget/UserFollowedUsersWidget.js +1 -1
  299. package/lib/cjs/components/UserFollowersWidget/UserFollowersWidget.js +1 -1
  300. package/lib/cjs/components/UserInfo/Skeleton.js +1 -1
  301. package/lib/cjs/components/UserInfo/UserInfo.js +3 -3
  302. package/lib/cjs/components/UserInfoDialog/UserInfoDialog.js +1 -1
  303. package/lib/cjs/components/UserProfileBlocked/UserProfileBlocked.js +1 -1
  304. package/lib/cjs/components/UserProfileEdit/Section/Account.js +1 -1
  305. package/lib/cjs/components/UserProfileEdit/Section/AccountCredentials.js +6 -6
  306. package/lib/cjs/components/UserProfileEdit/Section/PublicInfo.js +8 -8
  307. package/lib/cjs/components/UserProfileEdit/Section/Settings.js +3 -3
  308. package/lib/cjs/components/UserProfileEdit/Section/SettingsSkeleton.js +1 -1
  309. package/lib/cjs/components/UserProfileEdit/Skeleton.js +1 -1
  310. package/lib/cjs/components/UserProfileEdit/UserProfileEdit.js +1 -1
  311. package/lib/cjs/components/UserProfileHeader/Skeleton.js +1 -1
  312. package/lib/cjs/components/UserProfileHeader/UserProfileHeader.js +1 -1
  313. package/lib/cjs/components/UserSocialAssociation/UserSocialAssociation.js +1 -1
  314. package/lib/cjs/components/UserSubscribedGroupsWidget/Skeleton.js +1 -1
  315. package/lib/cjs/components/UserSubscribedGroupsWidget/UserSubscribedGroupsWidget.js +2 -2
  316. package/lib/cjs/components/UserSuggestionWidget/Skeleton.js +1 -1
  317. package/lib/cjs/components/UserSuggestionWidget/UserSuggestionWidget.js +1 -1
  318. package/lib/cjs/components/VoteAudienceButton/VoteAudienceButton.js +5 -5
  319. package/lib/cjs/components/VoteButton/VoteButton.js +2 -2
  320. package/lib/cjs/constants/GroupActionsMenu.d.ts +5 -0
  321. package/lib/cjs/constants/GroupActionsMenu.js +8 -0
  322. package/lib/cjs/constants/LiveStream.d.ts +3 -0
  323. package/lib/cjs/constants/LiveStream.js +6 -0
  324. package/lib/cjs/constants/PubSub.d.ts +8 -1
  325. package/lib/cjs/constants/PubSub.js +11 -3
  326. package/lib/cjs/index.d.ts +15 -4
  327. package/lib/cjs/index.js +35 -9
  328. package/lib/cjs/shared/AutoPlayer/index.js +2 -2
  329. package/lib/cjs/shared/BaseDialog/BaseDialog.js +2 -2
  330. package/lib/cjs/shared/BaseItem/BaseItem.js +2 -2
  331. package/lib/cjs/shared/BaseItemButton/BaseItemButton.js +2 -2
  332. package/lib/cjs/shared/Calendar/index.js +1 -1
  333. package/lib/cjs/shared/ConfirmDialog/ConfirmDialog.js +1 -1
  334. package/lib/cjs/shared/ConsentSolutionSwitch/index.js +3 -3
  335. package/lib/cjs/shared/ContributionActionsMenu/index.js +10 -10
  336. package/lib/cjs/shared/CustomSnackMessage/index.js +1 -1
  337. package/lib/cjs/shared/DateTimeAgo/index.js +1 -1
  338. package/lib/cjs/shared/EmojiPicker/EmojiPicker.js +1 -1
  339. package/lib/cjs/shared/EventActionsMenu/index.d.ts +1 -1
  340. package/lib/cjs/shared/EventActionsMenu/index.js +15 -19
  341. package/lib/cjs/shared/EventInfoDetails/index.js +6 -6
  342. package/lib/cjs/shared/InfiniteScroll/index.d.ts +1 -1
  343. package/lib/cjs/shared/InfiniteScroll/index.js +5 -5
  344. package/lib/cjs/shared/InfiniteScroll/stories/InfiniteScrollWithHeight.js +1 -1
  345. package/lib/cjs/shared/InfiniteScroll/stories/PullDownToRefreshInfScroll.js +1 -1
  346. package/lib/cjs/shared/InfiniteScroll/stories/ScrollableTargetFixedInfScroll.js +2 -2
  347. package/lib/cjs/shared/InfiniteScroll/stories/ScrollableTargetInfScroll.js +1 -1
  348. package/lib/cjs/shared/InfiniteScroll/stories/ScrolleableTop.js +2 -2
  349. package/lib/cjs/shared/InfiniteScroll/stories/WindowInfiniteScrollComponent.js +1 -1
  350. package/lib/cjs/shared/LanguageSwitcher/index.js +1 -1
  351. package/lib/cjs/shared/Lightbox/BaseLightbox.d.ts +19 -0
  352. package/lib/cjs/shared/Lightbox/BaseLightbox.js +35 -0
  353. package/lib/cjs/shared/Lightbox/Lightbox.d.ts +31 -17
  354. package/lib/cjs/shared/Lightbox/Lightbox.js +16 -19
  355. package/lib/cjs/shared/Lightbox/constants.d.ts +1 -0
  356. package/lib/cjs/shared/Lightbox/constants.js +4 -0
  357. package/lib/cjs/shared/Lightbox/index.d.ts +4 -2
  358. package/lib/cjs/shared/Lightbox/index.js +4 -1
  359. package/lib/cjs/shared/MarkRead/MarkRead.js +1 -1
  360. package/lib/cjs/shared/Media/File/DisplayComponent.js +32 -15
  361. package/lib/cjs/shared/Media/File/PreviewComponent.js +3 -3
  362. package/lib/cjs/shared/Media/File/TriggerButton.js +7 -7
  363. package/lib/cjs/shared/Media/File/asUploadButton.d.ts +1 -1
  364. package/lib/cjs/shared/Media/Link/DisplayComponent.js +6 -6
  365. package/lib/cjs/shared/Media/Link/LayerComponent.js +1 -1
  366. package/lib/cjs/shared/Media/Link/PreviewComponent.js +1 -1
  367. package/lib/cjs/shared/Media/Link/TriggerButton.js +1 -1
  368. package/lib/cjs/shared/Media/Link/UrlTextField/index.d.ts +1 -1
  369. package/lib/cjs/shared/Media/Link/UrlTextField/index.js +3 -3
  370. package/lib/cjs/shared/Media/Share/DisplayComponent.js +1 -1
  371. package/lib/cjs/shared/MediaChunkUploader/index.js +13 -11
  372. package/lib/cjs/shared/MetadataField/MetadataField.d.ts +1 -1
  373. package/lib/cjs/shared/MetadataField/MetadataField.js +1 -1
  374. package/lib/cjs/shared/NotificationItem/NotificationItem.js +1 -1
  375. package/lib/cjs/shared/PasswordTextField/index.js +1 -1
  376. package/lib/cjs/shared/ProgressBar/index.js +1 -1
  377. package/lib/cjs/shared/StickyBox/index.d.ts +4 -4
  378. package/lib/cjs/shared/StickyBox/index.js +1 -1
  379. package/lib/cjs/shared/Tags/index.js +6 -6
  380. package/lib/cjs/shared/UserDeletedSnackBar/UserDeletedSnackBar.js +1 -1
  381. package/lib/cjs/shared/UsernameTextField/index.d.ts +1 -1
  382. package/lib/cjs/shared/VirtualizedScroller/VirtualScrollerChild.js +1 -1
  383. package/lib/cjs/types/broadcastMessage.js +1 -1
  384. package/lib/cjs/types/comments.js +1 -1
  385. package/lib/cjs/types/composer.d.ts +1 -1
  386. package/lib/cjs/types/event.js +1 -1
  387. package/lib/cjs/types/feedObject.js +2 -2
  388. package/lib/cjs/types/notification.js +1 -1
  389. package/lib/cjs/types/user.js +3 -3
  390. package/lib/cjs/utils/events.d.ts +2 -0
  391. package/lib/cjs/utils/events.js +10 -0
  392. package/lib/cjs/utils/hash.d.ts +2 -1
  393. package/lib/cjs/utils/liveStream.d.ts +4 -0
  394. package/lib/cjs/utils/liveStream.js +25 -0
  395. package/lib/cjs/utils/widget.d.ts +1 -0
  396. package/lib/cjs/utils/widget.js +14 -0
  397. package/lib/esm/components/AccountChangeMailValidation/AccountChangeMailValidation.js +1 -1
  398. package/lib/esm/components/AccountDataPortability/AccountDataPortability.js +4 -4
  399. package/lib/esm/components/AccountDataPortabilityButton/AccountDataPortabilityButton.js +1 -1
  400. package/lib/esm/components/AccountDelete/AccountDelete.js +3 -3
  401. package/lib/esm/components/AccountDeleteButton/AccountDeleteButton.js +1 -1
  402. package/lib/esm/components/AccountRecover/AccountRecover.js +2 -2
  403. package/lib/esm/components/AccountReset/AccountReset.js +1 -1
  404. package/lib/esm/components/AccountVerify/AccountVerify.js +1 -1
  405. package/lib/esm/components/BottomNavigation/BottomNavigation.d.ts +1 -1
  406. package/lib/esm/components/BottomNavigation/BottomNavigation.js +2 -2
  407. package/lib/esm/components/BroadcastMessages/BroadcastMessages.js +1 -1
  408. package/lib/esm/components/BroadcastMessages/Message.js +4 -4
  409. package/lib/esm/components/BroadcastMessages/Skeleton.js +1 -1
  410. package/lib/esm/components/Categories/Categories.js +24 -2
  411. package/lib/esm/components/Categories/Skeleton.js +1 -1
  412. package/lib/esm/components/CategoriesPopularWidget/CategoriesPopularWidget.js +23 -2
  413. package/lib/esm/components/CategoriesSuggestionWidget/CategoriesSuggestionWidget.js +23 -2
  414. package/lib/esm/components/CategoriesSuggestionWidget/Skeleton.js +1 -1
  415. package/lib/esm/components/Category/Category.js +1 -1
  416. package/lib/esm/components/Category/Skeleton.js +1 -1
  417. package/lib/esm/components/CategoryAutocomplete/CategoryAutocomplete.js +1 -1
  418. package/lib/esm/components/CategoryFollowersButton/CategoryFollowersButton.js +1 -1
  419. package/lib/esm/components/CategoryHeader/CategoryHeader.js +1 -1
  420. package/lib/esm/components/CategoryHeader/Skeleton.js +1 -1
  421. package/lib/esm/components/CategoryTrendingFeedWidget/CategoryTrendingFeedWidget.js +2 -2
  422. package/lib/esm/components/CategoryTrendingFeedWidget/Skeleton.js +1 -1
  423. package/lib/esm/components/CategoryTrendingUsersWidget/CategoryTrendingUsersWidget.js +1 -1
  424. package/lib/esm/components/CategoryTrendingUsersWidget/Skeleton.js +1 -1
  425. package/lib/esm/components/ChangeCover/ChangeCover.js +6 -6
  426. package/lib/esm/components/ChangeGroupCover/ChangeGroupCover.js +1 -1
  427. package/lib/esm/components/ChangeGroupPicture/ChangeGroupPicture.js +1 -1
  428. package/lib/esm/components/ChangePicture/ChangePictureDialog/ChangePictureDialog.js +2 -2
  429. package/lib/esm/components/CommentObject/CommentObject.js +4 -4
  430. package/lib/esm/components/CommentObjectReply/CommentObjectReply.js +1 -1
  431. package/lib/esm/components/CommentsFeedObject/CommentsFeedObject.js +4 -4
  432. package/lib/esm/components/CommentsObject/CommentsObject.js +6 -6
  433. package/lib/esm/components/Composer/Attributes/Attributes.js +2 -2
  434. package/lib/esm/components/Composer/Composer.js +4 -4
  435. package/lib/esm/components/Composer/Content/ContentDiscussion/ContentDiscussion.js +3 -3
  436. package/lib/esm/components/Composer/Content/ContentPoll/ContentPoll.js +6 -6
  437. package/lib/esm/components/Composer/Content/ContentPost/ContentPost.js +1 -1
  438. package/lib/esm/components/Composer/Layer/AudienceLayer/AudienceLayer.js +4 -4
  439. package/lib/esm/components/Composer/Layer/CategoryLayer/CategoryLayer.js +1 -1
  440. package/lib/esm/components/Composer/Layer/CloseLayer/CloseLayer.js +1 -1
  441. package/lib/esm/components/Composer/Layer/LocationLayer/LocationLayer.js +1 -1
  442. package/lib/esm/components/Composer/Skeleton.js +1 -1
  443. package/lib/esm/components/Composer/TypeSwitchButtonGroup/TypeSwitchButtonGroup.js +2 -2
  444. package/lib/esm/components/ComposerIconButton/ComposerIconButton.js +2 -2
  445. package/lib/esm/components/ConsentSolution/ConsentSolution.js +4 -4
  446. package/lib/esm/components/ConsentSolution/Skeleton.js +1 -1
  447. package/lib/esm/components/CreateEventButton/CreateEventButton.d.ts +2 -2
  448. package/lib/esm/components/CreateEventButton/CreateEventButton.js +4 -4
  449. package/lib/esm/components/CreateEventWidget/CreateEventWidget.js +1 -1
  450. package/lib/esm/components/CreateEventWidget/Skeleton.js +1 -1
  451. package/lib/esm/components/CreateLiveStreamButton/CreateLiveStreamButton.d.ts +49 -0
  452. package/lib/esm/components/CreateLiveStreamButton/CreateLiveStreamButton.js +91 -0
  453. package/lib/esm/components/CreateLiveStreamButton/index.d.ts +3 -0
  454. package/lib/esm/components/CreateLiveStreamButton/index.js +2 -0
  455. package/lib/esm/components/CreateLiveStreamDialog/CreateLiveStreamDialog.d.ts +51 -0
  456. package/lib/esm/components/CreateLiveStreamDialog/CreateLiveStreamDialog.js +120 -0
  457. package/lib/esm/components/CreateLiveStreamDialog/LiveStreamSelector/LiveStreamSelector.d.ts +46 -0
  458. package/lib/esm/components/CreateLiveStreamDialog/LiveStreamSelector/LiveStreamSelector.js +163 -0
  459. package/lib/esm/components/CreateLiveStreamDialog/constants.d.ts +1 -0
  460. package/lib/esm/components/CreateLiveStreamDialog/constants.js +1 -0
  461. package/lib/esm/components/CreateLiveStreamDialog/index.d.ts +3 -0
  462. package/lib/esm/components/CreateLiveStreamDialog/index.js +2 -0
  463. package/lib/esm/components/CreateLiveStreamDialog/types.d.ts +8 -0
  464. package/lib/esm/components/CreateLiveStreamDialog/types.js +10 -0
  465. package/lib/esm/components/CustomAdv/CustomAdv.js +2 -2
  466. package/lib/esm/components/EditEventButton/EditEventButton.js +1 -1
  467. package/lib/esm/components/Editor/Editor.d.ts +1 -1
  468. package/lib/esm/components/Editor/Editor.js +1 -1
  469. package/lib/esm/components/Editor/nodes/HashtagNode.d.ts +1 -1
  470. package/lib/esm/components/Editor/nodes/HashtagNode.js +4 -4
  471. package/lib/esm/components/Editor/nodes/ImageNode.d.ts +1 -1
  472. package/lib/esm/components/Editor/nodes/ImageNode.js +7 -7
  473. package/lib/esm/components/Editor/nodes/MentionNode.d.ts +1 -1
  474. package/lib/esm/components/Editor/nodes/MentionNode.js +4 -4
  475. package/lib/esm/components/Editor/plugins/ApiPlugin.d.ts +1 -1
  476. package/lib/esm/components/Editor/plugins/EmojiPlugin.js +2 -2
  477. package/lib/esm/components/Editor/plugins/FloatingLinkPlugin.js +4 -4
  478. package/lib/esm/components/Editor/plugins/HashtagPlugin.js +3 -3
  479. package/lib/esm/components/Editor/plugins/ImagePlugin.js +4 -4
  480. package/lib/esm/components/Editor/plugins/MentionsPlugin.d.ts +2 -2
  481. package/lib/esm/components/Editor/plugins/MentionsPlugin.js +4 -4
  482. package/lib/esm/components/Editor/plugins/ToolbarPlugin.js +5 -5
  483. package/lib/esm/components/Editor/shared/useDecorators.d.ts +2 -2
  484. package/lib/esm/components/Editor/shared/useDecorators.js +1 -1
  485. package/lib/esm/components/Event/Event.js +5 -5
  486. package/lib/esm/components/Event/Skeleton.js +3 -3
  487. package/lib/esm/components/EventAutocomplete/EventAutocomplete.js +1 -1
  488. package/lib/esm/components/EventForm/EventAddress.js +2 -2
  489. package/lib/esm/components/EventForm/EventForm.d.ts +7 -12
  490. package/lib/esm/components/EventForm/EventForm.js +56 -56
  491. package/lib/esm/components/EventForm/UploadEventCover.js +1 -1
  492. package/lib/esm/components/EventForm/types.d.ts +5 -5
  493. package/lib/esm/components/EventFormDialog/EventFormDialog.d.ts +48 -0
  494. package/lib/esm/components/EventFormDialog/EventFormDialog.js +53 -0
  495. package/lib/esm/components/EventFormDialog/constants.d.ts +1 -0
  496. package/lib/esm/components/EventFormDialog/constants.js +1 -0
  497. package/lib/esm/components/EventFormDialog/index.d.ts +3 -0
  498. package/lib/esm/components/EventFormDialog/index.js +2 -0
  499. package/lib/esm/components/EventHeader/EventHeader.js +4 -8
  500. package/lib/esm/components/EventHeader/Skeleton.js +1 -1
  501. package/lib/esm/components/EventInfoWidget/EventInfoWidget.js +7 -5
  502. package/lib/esm/components/EventInfoWidget/Skeleton.js +1 -1
  503. package/lib/esm/components/EventInviteButton/EventInviteButton.js +2 -2
  504. package/lib/esm/components/EventLocationWidget/EventLocationWidget.js +3 -3
  505. package/lib/esm/components/EventLocationWidget/Skeleton.js +1 -1
  506. package/lib/esm/components/EventMediaWidget/EventMediaWidget.d.ts +41 -0
  507. package/lib/esm/components/EventMediaWidget/EventMediaWidget.js +250 -0
  508. package/lib/esm/components/EventMediaWidget/Skeleton.d.ts +2 -0
  509. package/lib/esm/components/EventMediaWidget/Skeleton.js +22 -0
  510. package/lib/esm/components/EventMediaWidget/TriggerButton.d.ts +17 -0
  511. package/lib/esm/components/EventMediaWidget/TriggerButton.js +64 -0
  512. package/lib/esm/components/EventMediaWidget/asUploadButton.d.ts +7 -0
  513. package/lib/esm/components/EventMediaWidget/asUploadButton.js +23 -0
  514. package/lib/esm/components/EventMediaWidget/constants.d.ts +1 -0
  515. package/lib/esm/components/EventMediaWidget/constants.js +1 -0
  516. package/lib/esm/components/EventMediaWidget/index.d.ts +4 -0
  517. package/lib/esm/components/EventMediaWidget/index.js +4 -0
  518. package/lib/esm/components/EventMembersWidget/EventMembersWidget.d.ts +3 -0
  519. package/lib/esm/components/EventMembersWidget/EventMembersWidget.js +21 -16
  520. package/lib/esm/components/EventMembersWidget/Skeleton.js +1 -1
  521. package/lib/esm/components/EventMembersWidget/TabContentComponent.js +3 -3
  522. package/lib/esm/components/EventMembersWidget/types.d.ts +1 -1
  523. package/lib/esm/components/EventParticipantsButton/EventParticipantsButton.js +1 -1
  524. package/lib/esm/components/EventSubscribeButton/EventSubscribeButton.js +2 -2
  525. package/lib/esm/components/Events/Events.js +19 -10
  526. package/lib/esm/components/Events/LocationEventsFilter.d.ts +14 -0
  527. package/lib/esm/components/Events/LocationEventsFilter.js +41 -0
  528. package/lib/esm/components/Events/PastEventsFilter.js +1 -2
  529. package/lib/esm/components/Events/Skeleton.js +1 -1
  530. package/lib/esm/components/Feed/Feed.d.ts +2 -2
  531. package/lib/esm/components/Feed/Feed.js +7 -6
  532. package/lib/esm/components/Feed/Skeleton.d.ts +1 -1
  533. package/lib/esm/components/Feed/Skeleton.js +1 -1
  534. package/lib/esm/components/FeedObject/Actions/Actions.js +1 -1
  535. package/lib/esm/components/FeedObject/Actions/Comment/Comment.js +3 -3
  536. package/lib/esm/components/FeedObject/Actions/Follow/Follow.js +1 -1
  537. package/lib/esm/components/FeedObject/Actions/Share/Share.js +5 -5
  538. package/lib/esm/components/FeedObject/Actions/Share/SharesDialog/SharesDialog.js +1 -1
  539. package/lib/esm/components/FeedObject/Activities/Activities.js +1 -1
  540. package/lib/esm/components/FeedObject/Activities/ActivitiesMenu/ActivitiesMenu.js +4 -4
  541. package/lib/esm/components/FeedObject/Activities/RelevantActivities/CommentActivity/CommentActivity.js +3 -3
  542. package/lib/esm/components/FeedObject/Activities/RelevantActivities/FollowActivity/FollowActivity.js +2 -2
  543. package/lib/esm/components/FeedObject/Activities/RelevantActivities/PollVoteActivity/PollVoteActivity.js +2 -2
  544. package/lib/esm/components/FeedObject/Activities/RelevantActivities/RelevantActivities.js +1 -1
  545. package/lib/esm/components/FeedObject/Activities/RelevantActivities/VoteUpActivity/VoteUpActivity.js +2 -2
  546. package/lib/esm/components/FeedObject/Contributors/Contributors.js +1 -1
  547. package/lib/esm/components/FeedObject/Contributors/Skeleton.js +1 -1
  548. package/lib/esm/components/FeedObject/FeedObject.js +11 -11
  549. package/lib/esm/components/FeedObject/Poll/Choice/Choice.js +2 -2
  550. package/lib/esm/components/FeedObject/Poll/Poll.js +1 -1
  551. package/lib/esm/components/FeedUpdatesWidget/FeedUpdatesWidget.js +1 -1
  552. package/lib/esm/components/Footer/Footer.js +1 -1
  553. package/lib/esm/components/Group/Group.js +2 -2
  554. package/lib/esm/components/Group/Skeleton.js +1 -1
  555. package/lib/esm/components/GroupActionsMenu/index.d.ts +57 -0
  556. package/lib/esm/components/GroupActionsMenu/index.js +154 -0
  557. package/lib/esm/components/GroupAutocomplete/GroupAutocomplete.js +1 -1
  558. package/lib/esm/components/GroupForm/GroupForm.js +9 -9
  559. package/lib/esm/components/GroupHeader/GroupHeader.d.ts +6 -0
  560. package/lib/esm/components/GroupHeader/GroupHeader.js +9 -5
  561. package/lib/esm/components/GroupHeader/Skeleton.js +1 -1
  562. package/lib/esm/components/GroupInfoWidget/GroupInfoWidget.js +6 -6
  563. package/lib/esm/components/GroupInviteButton/GroupInviteButton.js +2 -2
  564. package/lib/esm/components/GroupInvitedWidget/GroupInvitedWidget.js +1 -1
  565. package/lib/esm/components/GroupMembersButton/GroupMembersButton.js +1 -1
  566. package/lib/esm/components/GroupMembersWidget/GroupMembersWidget.js +5 -5
  567. package/lib/esm/components/GroupRequestsWidget/GroupRequestsWidget.js +1 -1
  568. package/lib/esm/components/GroupSettingsIconButton/GroupSettingsIconButton.js +5 -5
  569. package/lib/esm/components/Groups/Groups.js +30 -4
  570. package/lib/esm/components/Groups/Skeleton.js +1 -1
  571. package/lib/esm/components/Incubator/Incubator.js +4 -4
  572. package/lib/esm/components/Incubator/Skeleton.js +1 -1
  573. package/lib/esm/components/IncubatorDetail/IncubatorDetail.js +2 -2
  574. package/lib/esm/components/IncubatorListWidget/CreateIncubatorDialog/CreateIncubatorDialog.js +2 -2
  575. package/lib/esm/components/IncubatorListWidget/IncubatorListWidget.js +2 -2
  576. package/lib/esm/components/IncubatorListWidget/Skeleton.js +1 -1
  577. package/lib/esm/components/IncubatorSuggestionWidget/IncubatorSuggestionWidget.js +1 -1
  578. package/lib/esm/components/IncubatorSuggestionWidget/Skeleton.js +1 -1
  579. package/lib/esm/components/InlineComposerWidget/InlineComposerWidget.js +1 -1
  580. package/lib/esm/components/InlineComposerWidget/Skeleton.js +1 -1
  581. package/lib/esm/components/LiveStreamForm/LiveStreamForm.d.ts +55 -0
  582. package/lib/esm/components/LiveStreamForm/LiveStreamForm.js +153 -0
  583. package/lib/esm/components/LiveStreamForm/constants.d.ts +1 -0
  584. package/lib/esm/components/LiveStreamForm/constants.js +1 -0
  585. package/lib/esm/components/LiveStreamForm/index.d.ts +3 -0
  586. package/lib/esm/components/LiveStreamForm/index.js +2 -0
  587. package/lib/esm/components/LiveStreamForm/types.d.ts +10 -0
  588. package/lib/esm/components/LiveStreamForm/types.js +1 -0
  589. package/lib/esm/components/LiveStreamRoom/LiveStreamRoom.d.ts +48 -0
  590. package/lib/esm/components/LiveStreamRoom/LiveStreamRoom.js +120 -0
  591. package/lib/esm/components/LiveStreamRoom/LiveStreamVideoConference/LiveStreamVideoConference.d.ts +69 -0
  592. package/lib/esm/components/LiveStreamRoom/LiveStreamVideoConference/LiveStreamVideoConference.js +181 -0
  593. package/lib/esm/components/LiveStreamRoom/LiveStreamVideoConference/RecordingIndicator.d.ts +4 -0
  594. package/lib/esm/components/LiveStreamRoom/LiveStreamVideoConference/RecordingIndicator.js +28 -0
  595. package/lib/esm/components/LiveStreamRoom/LiveStreamVideoConference/constants.d.ts +1 -0
  596. package/lib/esm/components/LiveStreamRoom/LiveStreamVideoConference/constants.js +1 -0
  597. package/lib/esm/components/LiveStreamRoom/LiveStreamVideoConference/index.d.ts +3 -0
  598. package/lib/esm/components/LiveStreamRoom/LiveStreamVideoConference/index.js +2 -0
  599. package/lib/esm/components/LiveStreamRoom/constants.d.ts +5 -0
  600. package/lib/esm/components/LiveStreamRoom/constants.js +5 -0
  601. package/lib/esm/components/LiveStreamRoom/index.d.ts +3 -0
  602. package/lib/esm/components/LiveStreamRoom/index.js +2 -0
  603. package/lib/esm/components/LiveStreamRoom/types.d.ts +22 -0
  604. package/lib/esm/components/LiveStreamRoom/types.js +4 -0
  605. package/lib/esm/components/LocationAutocomplete/LocationAutocomplete.js +1 -1
  606. package/lib/esm/components/LoyaltyProgramWidget/LoyaltyProgramWidget.js +1 -1
  607. package/lib/esm/components/LoyaltyProgramWidget/Skeleton.js +1 -1
  608. package/lib/esm/components/MyEventsWidget/MyEventsWidget.js +1 -1
  609. package/lib/esm/components/MyEventsWidget/Skeleton.js +1 -1
  610. package/lib/esm/components/NavigationMenuIconButton/DefaultDrawerContent.js +2 -2
  611. package/lib/esm/components/NavigationMenuIconButton/DefaultHeaderContent.d.ts +1 -1
  612. package/lib/esm/components/NavigationMenuIconButton/DefaultHeaderContent.js +1 -1
  613. package/lib/esm/components/NavigationMenuIconButton/NavigationMenuDrawer.d.ts +47 -0
  614. package/lib/esm/components/NavigationMenuIconButton/NavigationMenuDrawer.js +36 -0
  615. package/lib/esm/components/NavigationMenuIconButton/NavigationMenuIconButton.d.ts +9 -20
  616. package/lib/esm/components/NavigationMenuIconButton/NavigationMenuIconButton.js +6 -22
  617. package/lib/esm/components/NavigationMenuIconButton/index.d.ts +2 -1
  618. package/lib/esm/components/NavigationMenuIconButton/index.js +2 -1
  619. package/lib/esm/components/NavigationSettingsIconButton/NavigationSettingsIconButton.js +65 -32
  620. package/lib/esm/components/NavigationToolbar/NavigationToolbar.d.ts +5 -0
  621. package/lib/esm/components/NavigationToolbar/NavigationToolbar.js +8 -8
  622. package/lib/esm/components/NavigationToolbar/NotificationMenu.js +1 -1
  623. package/lib/esm/components/NavigationToolbar/Skeleton.js +1 -1
  624. package/lib/esm/components/NavigationToolbarMobile/NavigationToolbarMobile.js +4 -4
  625. package/lib/esm/components/NavigationToolbarMobile/Skeleton.js +1 -1
  626. package/lib/esm/components/Notification/CollapsedFor/CollapsedFor.js +1 -1
  627. package/lib/esm/components/Notification/Comment/Comment.js +3 -3
  628. package/lib/esm/components/Notification/Contribution/Contribution.js +3 -3
  629. package/lib/esm/components/Notification/ContributionFollow/ContributionFollow.js +2 -2
  630. package/lib/esm/components/Notification/DeletedFor/DeletedFor.js +1 -1
  631. package/lib/esm/components/Notification/Event/Event.js +9 -9
  632. package/lib/esm/components/Notification/Group/Group.js +8 -8
  633. package/lib/esm/components/Notification/IncubatorApproved/IncubatorApproved.js +3 -3
  634. package/lib/esm/components/Notification/KindlyNoticeFlag/KindlyNoticeFlag.js +1 -1
  635. package/lib/esm/components/Notification/KindlyNoticeFor/KindlyNoticeFor.js +2 -2
  636. package/lib/esm/components/Notification/Mention/Mention.js +3 -3
  637. package/lib/esm/components/Notification/Notification.js +8 -8
  638. package/lib/esm/components/Notification/PrivateMessage/PrivateMessage.js +10 -10
  639. package/lib/esm/components/Notification/Skeleton.js +1 -1
  640. package/lib/esm/components/Notification/UndeletedFor/UndeletedFor.js +1 -1
  641. package/lib/esm/components/Notification/UserBlocked/UserBlocked.js +3 -3
  642. package/lib/esm/components/Notification/UserConnection/UserConnection.js +2 -2
  643. package/lib/esm/components/Notification/UserFollow/UserFollow.js +2 -2
  644. package/lib/esm/components/Notification/VoteUp/VoteUp.js +2 -2
  645. package/lib/esm/components/OnBoardingWidget/ActionsButton.d.ts +7 -0
  646. package/lib/esm/components/OnBoardingWidget/ActionsButton.js +81 -0
  647. package/lib/esm/components/OnBoardingWidget/OnBoardingWidget.d.ts +5 -1
  648. package/lib/esm/components/OnBoardingWidget/OnBoardingWidget.js +101 -28
  649. package/lib/esm/components/OnBoardingWidget/Skeleton.js +1 -1
  650. package/lib/esm/components/OnBoardingWidget/Steps/App/App.js +9 -9
  651. package/lib/esm/components/OnBoardingWidget/Steps/Appearance/Appearance.js +27 -20
  652. package/lib/esm/components/OnBoardingWidget/Steps/Category/Category.js +5 -5
  653. package/lib/esm/components/OnBoardingWidget/Steps/Content/Content.js +1 -1
  654. package/lib/esm/components/OnBoardingWidget/Steps/Invite/Invite.js +59 -14
  655. package/lib/esm/components/OnBoardingWidget/Steps/Profile/Profile.js +1 -1
  656. package/lib/esm/components/PlatformWidget/PlatformWidget.js +8 -8
  657. package/lib/esm/components/PlatformWidget/Skeleton.js +1 -1
  658. package/lib/esm/components/PlatformWidget/constants.d.ts +0 -4
  659. package/lib/esm/components/PlatformWidget/constants.js +0 -4
  660. package/lib/esm/components/PollSuggestionWidget/PollSnippet/PollSnippet.js +1 -1
  661. package/lib/esm/components/PollSuggestionWidget/PollSuggestionWidget.js +1 -1
  662. package/lib/esm/components/PollSuggestionWidget/Skeleton.js +1 -1
  663. package/lib/esm/components/PrivateMessageComponent/PrivateMessageComponent.js +4 -4
  664. package/lib/esm/components/PrivateMessageComponent/Skeleton.d.ts +1 -1
  665. package/lib/esm/components/PrivateMessageComponent/Skeleton.js +1 -1
  666. package/lib/esm/components/PrivateMessageEditor/MessageMediaUploader/index.js +5 -5
  667. package/lib/esm/components/PrivateMessageEditor/PrivateMessageEditor.js +6 -6
  668. package/lib/esm/components/PrivateMessageSettingsIconButton/PrivateMessageSettingsIconButton.js +7 -7
  669. package/lib/esm/components/PrivateMessageSnippetItem/PrivateMessageSnippetItem.js +3 -3
  670. package/lib/esm/components/PrivateMessageSnippetItem/Skeleton.js +1 -1
  671. package/lib/esm/components/PrivateMessageSnippets/PrivateMessageSnippets.js +4 -4
  672. package/lib/esm/components/PrivateMessageSnippets/Skeleton.js +1 -1
  673. package/lib/esm/components/PrivateMessageThread/PrivateMessageThread.js +6 -6
  674. package/lib/esm/components/PrivateMessageThread/Skeleton.js +1 -1
  675. package/lib/esm/components/PrivateMessageThreadItem/PrivateMessageThreadItem.js +6 -8
  676. package/lib/esm/components/RelatedEventsWidget/RelatedEventsWidget.js +1 -1
  677. package/lib/esm/components/RelatedEventsWidget/Skeleton.js +1 -1
  678. package/lib/esm/components/RelatedFeedObjectsWidget/RelatedFeedObjectsWidget.js +1 -1
  679. package/lib/esm/components/SearchAutocomplete/SearchAutocomplete.js +2 -2
  680. package/lib/esm/components/SnippetNotifications/Skeleton.js +1 -1
  681. package/lib/esm/components/SnippetNotifications/SnippetNotifications.js +3 -3
  682. package/lib/esm/components/SuggestedEventsWidget/Arrow.js +2 -2
  683. package/lib/esm/components/SuggestedEventsWidget/Skeleton.js +1 -1
  684. package/lib/esm/components/SuggestedEventsWidget/SuggestedEventsWidget.js +2 -2
  685. package/lib/esm/components/User/Skeleton.js +1 -1
  686. package/lib/esm/components/User/User.js +2 -2
  687. package/lib/esm/components/UserActionIconButton/UserActionIconButton.js +9 -9
  688. package/lib/esm/components/UserConnectionsRequestsSentWidget/UserConnectionsRequestsSentWidget.js +1 -1
  689. package/lib/esm/components/UserConnectionsRequestsWidget/UserConnectionsRequestsWidget.js +1 -1
  690. package/lib/esm/components/UserConnectionsWidget/UserConnectionsWidget.js +1 -1
  691. package/lib/esm/components/UserCounters/UserCounters.js +5 -5
  692. package/lib/esm/components/UserFollowedCategoriesWidget/UserFollowedCategoriesWidget.js +1 -1
  693. package/lib/esm/components/UserFollowedUsersWidget/UserFollowedUsersWidget.js +1 -1
  694. package/lib/esm/components/UserFollowersWidget/UserFollowersWidget.js +1 -1
  695. package/lib/esm/components/UserInfo/Skeleton.js +1 -1
  696. package/lib/esm/components/UserInfo/UserInfo.js +3 -3
  697. package/lib/esm/components/UserInfoDialog/UserInfoDialog.js +1 -1
  698. package/lib/esm/components/UserProfileBlocked/UserProfileBlocked.js +1 -1
  699. package/lib/esm/components/UserProfileEdit/Section/Account.js +1 -1
  700. package/lib/esm/components/UserProfileEdit/Section/AccountCredentials.js +6 -6
  701. package/lib/esm/components/UserProfileEdit/Section/PublicInfo.js +8 -8
  702. package/lib/esm/components/UserProfileEdit/Section/Settings.js +3 -3
  703. package/lib/esm/components/UserProfileEdit/Section/SettingsSkeleton.js +1 -1
  704. package/lib/esm/components/UserProfileEdit/Skeleton.js +1 -1
  705. package/lib/esm/components/UserProfileEdit/UserProfileEdit.js +1 -1
  706. package/lib/esm/components/UserProfileHeader/Skeleton.js +1 -1
  707. package/lib/esm/components/UserProfileHeader/UserProfileHeader.js +1 -1
  708. package/lib/esm/components/UserSocialAssociation/UserSocialAssociation.js +1 -1
  709. package/lib/esm/components/UserSubscribedGroupsWidget/Skeleton.js +1 -1
  710. package/lib/esm/components/UserSubscribedGroupsWidget/UserSubscribedGroupsWidget.js +2 -2
  711. package/lib/esm/components/UserSuggestionWidget/Skeleton.js +1 -1
  712. package/lib/esm/components/UserSuggestionWidget/UserSuggestionWidget.js +1 -1
  713. package/lib/esm/components/VoteAudienceButton/VoteAudienceButton.js +5 -5
  714. package/lib/esm/components/VoteButton/VoteButton.js +2 -2
  715. package/lib/esm/constants/GroupActionsMenu.d.ts +5 -0
  716. package/lib/esm/constants/GroupActionsMenu.js +5 -0
  717. package/lib/esm/constants/LiveStream.d.ts +3 -0
  718. package/lib/esm/constants/LiveStream.js +3 -0
  719. package/lib/esm/constants/PubSub.d.ts +8 -1
  720. package/lib/esm/constants/PubSub.js +8 -0
  721. package/lib/esm/index.d.ts +15 -4
  722. package/lib/esm/index.js +17 -7
  723. package/lib/esm/shared/AutoPlayer/index.js +2 -2
  724. package/lib/esm/shared/BaseDialog/BaseDialog.js +2 -2
  725. package/lib/esm/shared/BaseItem/BaseItem.js +2 -2
  726. package/lib/esm/shared/BaseItemButton/BaseItemButton.js +2 -2
  727. package/lib/esm/shared/Calendar/index.js +1 -1
  728. package/lib/esm/shared/ConfirmDialog/ConfirmDialog.js +1 -1
  729. package/lib/esm/shared/ConsentSolutionSwitch/index.js +3 -3
  730. package/lib/esm/shared/ContributionActionsMenu/index.js +10 -10
  731. package/lib/esm/shared/CustomSnackMessage/index.js +1 -1
  732. package/lib/esm/shared/DateTimeAgo/index.js +1 -1
  733. package/lib/esm/shared/EmojiPicker/EmojiPicker.js +1 -1
  734. package/lib/esm/shared/EventActionsMenu/index.d.ts +1 -1
  735. package/lib/esm/shared/EventActionsMenu/index.js +15 -19
  736. package/lib/esm/shared/EventInfoDetails/index.js +6 -6
  737. package/lib/esm/shared/InfiniteScroll/index.d.ts +1 -1
  738. package/lib/esm/shared/InfiniteScroll/index.js +5 -5
  739. package/lib/esm/shared/InfiniteScroll/stories/InfiniteScrollWithHeight.js +1 -1
  740. package/lib/esm/shared/InfiniteScroll/stories/PullDownToRefreshInfScroll.js +1 -1
  741. package/lib/esm/shared/InfiniteScroll/stories/ScrollableTargetFixedInfScroll.js +2 -2
  742. package/lib/esm/shared/InfiniteScroll/stories/ScrollableTargetInfScroll.js +1 -1
  743. package/lib/esm/shared/InfiniteScroll/stories/ScrolleableTop.js +2 -2
  744. package/lib/esm/shared/InfiniteScroll/stories/WindowInfiniteScrollComponent.js +1 -1
  745. package/lib/esm/shared/LanguageSwitcher/index.js +1 -1
  746. package/lib/esm/shared/Lightbox/BaseLightbox.d.ts +19 -0
  747. package/lib/esm/shared/Lightbox/BaseLightbox.js +33 -0
  748. package/lib/esm/shared/Lightbox/Lightbox.d.ts +31 -17
  749. package/lib/esm/shared/Lightbox/Lightbox.js +15 -19
  750. package/lib/esm/shared/Lightbox/constants.d.ts +1 -0
  751. package/lib/esm/shared/Lightbox/constants.js +1 -0
  752. package/lib/esm/shared/Lightbox/index.d.ts +4 -2
  753. package/lib/esm/shared/Lightbox/index.js +3 -1
  754. package/lib/esm/shared/MarkRead/MarkRead.js +1 -1
  755. package/lib/esm/shared/Media/File/DisplayComponent.js +32 -15
  756. package/lib/esm/shared/Media/File/PreviewComponent.js +3 -3
  757. package/lib/esm/shared/Media/File/TriggerButton.js +7 -7
  758. package/lib/esm/shared/Media/File/asUploadButton.d.ts +1 -1
  759. package/lib/esm/shared/Media/Link/DisplayComponent.js +6 -6
  760. package/lib/esm/shared/Media/Link/LayerComponent.js +1 -1
  761. package/lib/esm/shared/Media/Link/PreviewComponent.js +1 -1
  762. package/lib/esm/shared/Media/Link/TriggerButton.js +1 -1
  763. package/lib/esm/shared/Media/Link/UrlTextField/index.d.ts +1 -1
  764. package/lib/esm/shared/Media/Link/UrlTextField/index.js +3 -3
  765. package/lib/esm/shared/Media/Share/DisplayComponent.js +1 -1
  766. package/lib/esm/shared/MediaChunkUploader/index.js +14 -12
  767. package/lib/esm/shared/MetadataField/MetadataField.d.ts +1 -1
  768. package/lib/esm/shared/MetadataField/MetadataField.js +1 -1
  769. package/lib/esm/shared/NotificationItem/NotificationItem.js +1 -1
  770. package/lib/esm/shared/PasswordTextField/index.js +1 -1
  771. package/lib/esm/shared/ProgressBar/index.js +1 -1
  772. package/lib/esm/shared/StickyBox/index.d.ts +4 -4
  773. package/lib/esm/shared/StickyBox/index.js +1 -1
  774. package/lib/esm/shared/Tags/index.js +5 -5
  775. package/lib/esm/shared/UserDeletedSnackBar/UserDeletedSnackBar.js +1 -1
  776. package/lib/esm/shared/UsernameTextField/index.d.ts +1 -1
  777. package/lib/esm/shared/VirtualizedScroller/VirtualScrollerChild.js +1 -1
  778. package/lib/esm/types/composer.d.ts +1 -1
  779. package/lib/esm/utils/events.d.ts +2 -0
  780. package/lib/esm/utils/events.js +6 -0
  781. package/lib/esm/utils/hash.d.ts +2 -1
  782. package/lib/esm/utils/liveStream.d.ts +4 -0
  783. package/lib/esm/utils/liveStream.js +18 -0
  784. package/lib/esm/utils/widget.d.ts +1 -0
  785. package/lib/esm/utils/widget.js +14 -0
  786. package/lib/umd/245.js +1 -0
  787. package/lib/umd/43.js +2 -0
  788. package/lib/umd/react-ui.js +1 -1
  789. package/lib/umd/react-ui.js.LICENSE.txt +2 -0
  790. package/package.json +23 -11
  791. package/lib/cjs/shared/Media/File/Lightbox/index.d.ts +0 -28
  792. package/lib/cjs/shared/Media/File/Lightbox/index.js +0 -37
  793. package/lib/esm/shared/Media/File/Lightbox/index.d.ts +0 -28
  794. package/lib/esm/shared/Media/File/Lightbox/index.js +0 -34
  795. package/lib/umd/99.js +0 -2
  796. /package/lib/umd/{99.js.LICENSE.txt → 43.js.LICENSE.txt} +0 -0
@@ -218,18 +218,18 @@ export default function GroupForm(inProps) {
218
218
  /**
219
219
  * Renders root object
220
220
  */
221
- return (_jsx(Root, Object.assign({ DialogContentProps: { dividers: false }, title: group ? (_jsx(FormattedMessage, { id: "ui.groupForm.title.edit", defaultMessage: "ui.groupForm.title.edit" })) : (_jsx(FormattedMessage, { id: "ui.groupForm.title", defaultMessage: "ui.groupForm.title" })), open: open, onClose: onClose, className: classNames(classes.root, className), actions: _jsx(LoadingButton, Object.assign({ loading: field.isSubmitting, disabled: !field.name ||
221
+ return (_jsx(Root, Object.assign({ DialogContentProps: { dividers: false }, title: group ? (_jsx(FormattedMessage, { id: "ui.groupForm.title.edit", defaultMessage: "ui.groupForm.title.edit" })) : (_jsx(FormattedMessage, { id: "ui.groupForm.title", defaultMessage: "ui.groupForm.title" })), open: open, onClose: onClose, className: classNames(classes.root, className), actions: _jsx(LoadingButton, { loading: field.isSubmitting, disabled: !field.name ||
222
222
  Object.keys(error).length !== 0 ||
223
223
  field.name.length > GROUP_TITLE_MAX_LENGTH ||
224
- field.name.description > GROUP_DESCRIPTION_MAX_LENGTH, variant: "contained", onClick: handleSubmit, color: "secondary" }, { children: group ? (_jsx(FormattedMessage, { id: "ui.groupForm.button.edit", defaultMessage: "ui.groupForm.button.edit" })) : (_jsx(FormattedMessage, { id: "ui.groupForm.button.create", defaultMessage: "ui.groupForm.button.create" })) })) }, rest, { children: _jsxs(_Fragment, { children: [_jsxs(_Fragment, { children: [_jsxs(Paper, Object.assign({ style: _backgroundCover, classes: { root: classes.cover } }, { children: [_jsx(Box, Object.assign({ className: classes.avatar }, { children: _jsx(Avatar, { children: field.imageOriginal ? _jsx("img", { src: field.imageOriginal, alt: "avatar" }) : _jsx(Icon, { children: "icon_image" }) }) })), _jsxs(_Fragment, { children: [_jsx(ChangeGroupPicture, { isCreationMode: true, onChange: handleChangeAvatar }), _jsx(ChangeGroupCover, { isCreationMode: true, onChange: handleChangeCover })] })] })), _jsx(Typography, Object.assign({ className: classNames(classes.header, { [classes.error]: error.emotionalImageOriginalError || error.imageOriginalError }), align: "center" }, { children: error.emotionalImageOriginalError || error.imageOriginalError ? (_jsx(FormattedMessage, { id: "ui.groupForm.header.error", defaultMessage: "ui.groupForm.header.error" })) : (_jsx(FormattedMessage, { id: "ui.groupForm.header", defaultMessage: "ui.groupForm.header" })) }))] }), _jsxs(FormGroup, Object.assign({ className: classes.form }, { children: [_jsx(TextField, { required: true, className: classes.name, placeholder: `${intl.formatMessage(messages.name)}`, margin: "normal", value: field.name, name: "name", onChange: handleChange, InputProps: {
225
- endAdornment: _jsx(Typography, Object.assign({ variant: "body2" }, { children: GROUP_TITLE_MAX_LENGTH - field.name.length }))
224
+ field.name.description > GROUP_DESCRIPTION_MAX_LENGTH, variant: "contained", onClick: handleSubmit, color: "secondary", children: group ? (_jsx(FormattedMessage, { id: "ui.groupForm.button.edit", defaultMessage: "ui.groupForm.button.edit" })) : (_jsx(FormattedMessage, { id: "ui.groupForm.button.create", defaultMessage: "ui.groupForm.button.create" })) }) }, rest, { children: _jsxs(_Fragment, { children: [_jsxs(_Fragment, { children: [_jsxs(Paper, { style: _backgroundCover, classes: { root: classes.cover }, children: [_jsx(Box, { className: classes.avatar, children: _jsx(Avatar, { children: field.imageOriginal ? _jsx("img", { src: field.imageOriginal, alt: "avatar" }) : _jsx(Icon, { children: "icon_image" }) }) }), _jsxs(_Fragment, { children: [_jsx(ChangeGroupPicture, { isCreationMode: true, onChange: handleChangeAvatar }), _jsx(ChangeGroupCover, { isCreationMode: true, onChange: handleChangeCover })] })] }), _jsx(Typography, { className: classNames(classes.header, { [classes.error]: error.emotionalImageOriginalError || error.imageOriginalError }), align: "center", children: error.emotionalImageOriginalError || error.imageOriginalError ? (_jsx(FormattedMessage, { id: "ui.groupForm.header.error", defaultMessage: "ui.groupForm.header.error" })) : (_jsx(FormattedMessage, { id: "ui.groupForm.header", defaultMessage: "ui.groupForm.header" })) })] }), _jsxs(FormGroup, { className: classes.form, children: [_jsx(TextField, { required: true, className: classes.name, placeholder: `${intl.formatMessage(messages.name)}`, margin: "normal", value: field.name, name: "name", onChange: handleChange, InputProps: {
225
+ endAdornment: _jsx(Typography, { variant: "body2", children: GROUP_TITLE_MAX_LENGTH - field.name.length })
226
226
  }, error: Boolean(((_a = field === null || field === void 0 ? void 0 : field.name) === null || _a === void 0 ? void 0 : _a.length) > GROUP_TITLE_MAX_LENGTH), helperText: ((_b = field === null || field === void 0 ? void 0 : field.name) === null || _b === void 0 ? void 0 : _b.length) > GROUP_TITLE_MAX_LENGTH ? (_jsx(FormattedMessage, { id: "ui.groupForm.name.error.maxLength", defaultMessage: "ui.groupForm.name.error.maxLength" })) : null }), _jsx(TextField, { multiline: true, className: classes.description, placeholder: `${intl.formatMessage(messages.description)}`, margin: "normal", value: field.description, name: "description", onChange: handleChange, InputProps: {
227
- endAdornment: (_jsx(Typography, Object.assign({ variant: "body2" }, { children: ((_c = field.description) === null || _c === void 0 ? void 0 : _c.length) ? GROUP_DESCRIPTION_MAX_LENGTH - field.description.length : GROUP_DESCRIPTION_MAX_LENGTH })))
228
- }, error: Boolean(((_d = field.description) === null || _d === void 0 ? void 0 : _d.length) > GROUP_DESCRIPTION_MAX_LENGTH), helperText: ((_e = field.description) === null || _e === void 0 ? void 0 : _e.length) > GROUP_DESCRIPTION_MAX_LENGTH ? (_jsx(FormattedMessage, { id: "ui.groupForm.description.error.maxLength", defaultMessage: "ui.groupForm.description.error.maxLength" })) : null }), privateEnabled && (_jsxs(Box, Object.assign({ className: classes.privacySection }, { children: [_jsx(Typography, Object.assign({ variant: "h4" }, { children: _jsx(FormattedMessage, { id: "ui.groupForm.privacy.title", defaultMessage: "ui.groupForm.privacy.title", values: {
227
+ endAdornment: (_jsx(Typography, { variant: "body2", children: ((_c = field.description) === null || _c === void 0 ? void 0 : _c.length) ? GROUP_DESCRIPTION_MAX_LENGTH - field.description.length : GROUP_DESCRIPTION_MAX_LENGTH }))
228
+ }, error: Boolean(((_d = field.description) === null || _d === void 0 ? void 0 : _d.length) > GROUP_DESCRIPTION_MAX_LENGTH), helperText: ((_e = field.description) === null || _e === void 0 ? void 0 : _e.length) > GROUP_DESCRIPTION_MAX_LENGTH ? (_jsx(FormattedMessage, { id: "ui.groupForm.description.error.maxLength", defaultMessage: "ui.groupForm.description.error.maxLength" })) : null }), privateEnabled && (_jsxs(Box, { className: classes.privacySection, children: [_jsx(Typography, { variant: "h4", children: _jsx(FormattedMessage, { id: "ui.groupForm.privacy.title", defaultMessage: "ui.groupForm.privacy.title", values: {
229
229
  // eslint-disable-next-line @typescript-eslint/ban-ts-ignore
230
230
  // @ts-ignore
231
231
  b: (chunks) => _jsx("strong", { children: chunks })
232
- } }) })), _jsxs(Stack, Object.assign({ direction: "row", spacing: 1, alignItems: "center" }, { children: [_jsxs(Typography, Object.assign({ className: classNames(classes.switchLabel, { [classes.active]: !field.isPublic }) }, { children: [_jsx(Icon, { children: "private" }), _jsx(FormattedMessage, { id: "ui.groupForm.privacy.private", defaultMessage: "ui.groupForm.privacy.private" })] })), _jsx(Switch, { className: classes.switch, checked: field.isPublic, onChange: () => setField((prev) => (Object.assign(Object.assign({}, prev), { ['isPublic']: !field.isPublic }))), disabled: group && group.privacy === SCGroupPrivacyType.PRIVATE }), _jsxs(Typography, Object.assign({ className: classNames(classes.switchLabel, { [classes.active]: field.isPublic }) }, { children: [_jsx(Icon, { children: "public" }), _jsx(FormattedMessage, { id: "ui.groupForm.privacy.public", defaultMessage: "ui.groupForm.privacy.public" })] }))] })), _jsx(Typography, Object.assign({ variant: "body2", className: classes.privacySectionInfo }, { children: field.isPublic ? (_jsx(FormattedMessage, { id: "ui.groupForm.privacy.public.info", defaultMessage: "ui.groupForm.privacy.public.info", values: {
232
+ } }) }), _jsxs(Stack, { direction: "row", spacing: 1, alignItems: "center", children: [_jsxs(Typography, { className: classNames(classes.switchLabel, { [classes.active]: !field.isPublic }), children: [_jsx(Icon, { children: "private" }), _jsx(FormattedMessage, { id: "ui.groupForm.privacy.private", defaultMessage: "ui.groupForm.privacy.private" })] }), _jsx(Switch, { className: classes.switch, checked: field.isPublic, onChange: () => setField((prev) => (Object.assign(Object.assign({}, prev), { ['isPublic']: !field.isPublic }))), disabled: group && group.privacy === SCGroupPrivacyType.PRIVATE }), _jsxs(Typography, { className: classNames(classes.switchLabel, { [classes.active]: field.isPublic }), children: [_jsx(Icon, { children: "public" }), _jsx(FormattedMessage, { id: "ui.groupForm.privacy.public", defaultMessage: "ui.groupForm.privacy.public" })] })] }), _jsx(Typography, { variant: "body2", className: classes.privacySectionInfo, children: field.isPublic ? (_jsx(FormattedMessage, { id: "ui.groupForm.privacy.public.info", defaultMessage: "ui.groupForm.privacy.public.info", values: {
233
233
  // eslint-disable-next-line @typescript-eslint/ban-ts-ignore
234
234
  // @ts-ignore
235
235
  b: (chunks) => _jsx("strong", { children: chunks })
@@ -241,11 +241,11 @@ export default function GroupForm(inProps) {
241
241
  // eslint-disable-next-line @typescript-eslint/ban-ts-ignore
242
242
  // @ts-ignore
243
243
  b: (chunks) => _jsx("strong", { children: chunks })
244
- } })) })) }))] }))), privateEnabled && visibilityEnabled && (_jsx(Box, Object.assign({ className: classes.visibilitySection }, { children: ((!field.isPublic && !group) || (group && !field.isPublic)) && (_jsxs(_Fragment, { children: [_jsx(Typography, Object.assign({ variant: "h4" }, { children: _jsx(FormattedMessage, { id: "ui.groupForm.visibility.title", defaultMessage: "ui.groupForm.visibility.title", values: {
244
+ } })) })) })] })), privateEnabled && visibilityEnabled && (_jsx(Box, { className: classes.visibilitySection, children: ((!field.isPublic && !group) || (group && !field.isPublic)) && (_jsxs(_Fragment, { children: [_jsx(Typography, { variant: "h4", children: _jsx(FormattedMessage, { id: "ui.groupForm.visibility.title", defaultMessage: "ui.groupForm.visibility.title", values: {
245
245
  // eslint-disable-next-line @typescript-eslint/ban-ts-ignore
246
246
  // @ts-ignore
247
247
  b: (chunks) => _jsx("strong", { children: chunks })
248
- } }) })), _jsxs(Stack, Object.assign({ direction: "row", spacing: 1, alignItems: "center" }, { children: [_jsxs(Typography, Object.assign({ className: classNames(classes.switchLabel, { [classes.active]: !field.isVisible }) }, { children: [_jsx(Icon, { children: "visibility_off" }), _jsx(FormattedMessage, { id: "ui.groupForm.visibility.hidden", defaultMessage: "ui.groupForm.visibility.hidden" })] })), _jsx(Switch, { className: classes.switch, checked: field.isVisible, onChange: () => setField((prev) => (Object.assign(Object.assign({}, prev), { ['isVisible']: !field.isVisible }))) }), _jsxs(Typography, Object.assign({ className: classNames(classes.switchLabel, { [classes.active]: field.isVisible }) }, { children: [_jsx(Icon, { children: "visibility" }), _jsx(FormattedMessage, { id: "ui.groupForm.visibility.visible", defaultMessage: "ui.groupForm.visibility.visible" })] }))] })), _jsx(Typography, Object.assign({ variant: "body2", className: classes.visibilitySectionInfo }, { children: !field.isVisible ? (_jsx(FormattedMessage, { id: "ui.groupForm.visibility.hidden.info", defaultMessage: "ui.groupForm.visibility.hidden.info", values: {
248
+ } }) }), _jsxs(Stack, { direction: "row", spacing: 1, alignItems: "center", children: [_jsxs(Typography, { className: classNames(classes.switchLabel, { [classes.active]: !field.isVisible }), children: [_jsx(Icon, { children: "visibility_off" }), _jsx(FormattedMessage, { id: "ui.groupForm.visibility.hidden", defaultMessage: "ui.groupForm.visibility.hidden" })] }), _jsx(Switch, { className: classes.switch, checked: field.isVisible, onChange: () => setField((prev) => (Object.assign(Object.assign({}, prev), { ['isVisible']: !field.isVisible }))) }), _jsxs(Typography, { className: classNames(classes.switchLabel, { [classes.active]: field.isVisible }), children: [_jsx(Icon, { children: "visibility" }), _jsx(FormattedMessage, { id: "ui.groupForm.visibility.visible", defaultMessage: "ui.groupForm.visibility.visible" })] })] }), _jsx(Typography, { variant: "body2", className: classes.visibilitySectionInfo, children: !field.isVisible ? (_jsx(FormattedMessage, { id: "ui.groupForm.visibility.hidden.info", defaultMessage: "ui.groupForm.visibility.hidden.info", values: {
249
249
  // eslint-disable-next-line @typescript-eslint/ban-ts-ignore
250
250
  // @ts-ignore
251
251
  b: (chunks) => _jsx("strong", { children: chunks })
@@ -253,5 +253,5 @@ export default function GroupForm(inProps) {
253
253
  // eslint-disable-next-line @typescript-eslint/ban-ts-ignore
254
254
  // @ts-ignore
255
255
  b: (chunks) => _jsx("strong", { children: chunks })
256
- } })) }))] })) })))] })), !group && (_jsxs(_Fragment, { children: [_jsx(Divider, {}), _jsx(Box, Object.assign({ className: classes.inviteSection }, { children: _jsx(GroupInviteButton, { handleInvitations: handleInviteSection }) }))] }))] }) })));
256
+ } })) })] })) }))] }), !group && (_jsxs(_Fragment, { children: [_jsx(Divider, {}), _jsx(Box, { className: classes.inviteSection, children: _jsx(GroupInviteButton, { handleInvitations: handleInviteSection }) })] }))] }) })));
257
257
  }
@@ -3,6 +3,7 @@ import { ChangeGroupCoverProps } from '../ChangeGroupCover';
3
3
  import { ChangeGroupPictureProps } from '../ChangeGroupPicture';
4
4
  import { GroupMembersButtonProps } from '../GroupMembersButton';
5
5
  import { GroupSubscribeButtonProps } from '../GroupSubscribeButton';
6
+ import { GroupActionsMenuProps } from '../GroupActionsMenu';
6
7
  export interface GroupHeaderProps {
7
8
  /**
8
9
  * Id of group object
@@ -44,6 +45,11 @@ export interface GroupHeaderProps {
44
45
  * @default {}
45
46
  */
46
47
  GroupMembersButtonProps?: GroupMembersButtonProps;
48
+ /**
49
+ * Props to spread event actions menu
50
+ * @default {}
51
+ */
52
+ GroupActionsProps?: Omit<GroupActionsMenuProps, 'group'>;
47
53
  /**
48
54
  * Any other properties
49
55
  */
@@ -2,7 +2,7 @@ import { __rest } from "tslib";
2
2
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useCallback, useEffect, useMemo, useRef } from 'react';
4
4
  import { styled } from '@mui/material/styles';
5
- import { Avatar, Box, Icon, Paper, Typography } from '@mui/material';
5
+ import { Avatar, Box, Icon, Paper, Typography, useMediaQuery, useTheme } from '@mui/material';
6
6
  import { SCGroupPrivacyType, SCGroupSubscriptionStatusType } from '@selfcommunity/types';
7
7
  import { SCPreferences, useSCFetchGroup, useSCPreferences, useSCUser } from '@selfcommunity/react-core';
8
8
  import GroupHeaderSkeleton from './Skeleton';
@@ -19,6 +19,7 @@ import GroupSubscribeButton from '../GroupSubscribeButton';
19
19
  import GroupInviteButton from '../GroupInviteButton';
20
20
  import { SCGroupEventType, SCTopicType } from '../../constants/PubSub';
21
21
  import PubSub from 'pubsub-js';
22
+ import GroupActionsMenu from '../GroupActionsMenu';
22
23
  const classes = {
23
24
  root: `${PREFIX}-root`,
24
25
  cover: `${PREFIX}-cover`,
@@ -30,7 +31,8 @@ const classes = {
30
31
  visibility: `${PREFIX}-visibility`,
31
32
  visibilityItem: `${PREFIX}-visibility-item`,
32
33
  members: `${PREFIX}-members`,
33
- membersCounter: `${PREFIX}-members-counter`
34
+ membersCounter: `${PREFIX}-members-counter`,
35
+ multiActions: `${PREFIX}-multi-actions`
34
36
  };
35
37
  const Root = styled(Box, {
36
38
  name: PREFIX,
@@ -74,7 +76,7 @@ export default function GroupHeader(inProps) {
74
76
  props: inProps,
75
77
  name: PREFIX
76
78
  });
77
- const { id = null, className = null, group, groupId = null, ChangePictureProps = {}, ChangeCoverProps = {}, GroupSubscribeButtonProps = {}, GroupMembersButtonProps = {} } = props, rest = __rest(props, ["id", "className", "group", "groupId", "ChangePictureProps", "ChangeCoverProps", "GroupSubscribeButtonProps", "GroupMembersButtonProps"]);
79
+ const { id = null, className = null, group, groupId = null, ChangePictureProps = {}, ChangeCoverProps = {}, GroupSubscribeButtonProps = {}, GroupMembersButtonProps = {}, GroupActionsProps } = props, rest = __rest(props, ["id", "className", "group", "groupId", "ChangePictureProps", "ChangeCoverProps", "GroupSubscribeButtonProps", "GroupMembersButtonProps", "GroupActionsProps"]);
78
80
  // PREFERENCES
79
81
  const scPreferences = useSCPreferences();
80
82
  const visibilityEnabled = useMemo(() => scPreferences.preferences[SCPreferences.CONFIGURATIONS_GROUPS_VISIBILITY_ENABLED].value, [scPreferences.preferences]);
@@ -83,6 +85,8 @@ export default function GroupHeader(inProps) {
83
85
  const scUserContext = useSCUser();
84
86
  // HOOKS
85
87
  const { scGroup, setSCGroup } = useSCFetchGroup({ id: groupId, group });
88
+ const theme = useTheme();
89
+ const isMobile = useMediaQuery(theme.breakpoints.down('md'));
86
90
  // REFS
87
91
  const updatesSubscription = useRef(null);
88
92
  // CONST
@@ -145,7 +149,7 @@ export default function GroupHeader(inProps) {
145
149
  const _backgroundCover = Object.assign({}, (scGroup.emotional_image
146
150
  ? { background: `url('${scGroup.emotional_image}') center / cover` }
147
151
  : { background: `url('${scPreferences.preferences[SCPreferences.IMAGES_USER_DEFAULT_COVER].value}') center / cover` }));
148
- return (_jsxs(Root, Object.assign({ id: id, className: classNames(classes.root, className) }, rest, { children: [_jsxs(Paper, Object.assign({ style: _backgroundCover, classes: { root: classes.cover } }, { children: [_jsx(Box, Object.assign({ className: classes.avatar }, { children: _jsx(Avatar, { children: _jsx("img", { alt: "group", src: scGroup.image_big ? scGroup.image_big : '' }) }) })), isGroupAdmin && (_jsxs(_Fragment, { children: [_jsx(ChangeGroupPicture, Object.assign({ groupId: scGroup.id, onChange: handleChangeAvatar, className: classes.changePicture }, ChangePictureProps)), _jsx("div", Object.assign({ className: classes.changeCover }, { children: _jsx(ChangeGroupCover, Object.assign({ groupId: scGroup.id, onChange: handleChangeCover }, ChangeCoverProps)) }))] }))] })), _jsxs(Box, Object.assign({ className: classes.info }, { children: [isGroupAdmin && _jsx(EditGroupButton, { group: scGroup, groupId: scGroup.id, onEditSuccess: (data) => setSCGroup(data) }), _jsx(Typography, Object.assign({ variant: "h5", className: classes.name }, { children: scGroup.name })), privateEnabled && (_jsxs(Box, Object.assign({ className: classes.visibility }, { children: [privateEnabled && (_jsx(_Fragment, { children: scGroup.privacy === SCGroupPrivacyType.PUBLIC ? (_jsxs(Typography, Object.assign({ className: classes.visibilityItem }, { children: [_jsx(Icon, { children: "public" }), _jsx(FormattedMessage, { id: "ui.groupHeader.visibility.public", defaultMessage: "ui.groupHeader.visibility.public" })] }))) : (_jsxs(Typography, Object.assign({ className: classes.visibilityItem }, { children: [_jsx(Icon, { children: "private" }), _jsx(FormattedMessage, { id: "ui.groupHeader.visibility.private", defaultMessage: "ui.groupHeader.visibility.private" })] }))) })), visibilityEnabled && (_jsxs(_Fragment, { children: [privateEnabled && _jsx(Bullet, {}), scGroup.visible ? (_jsxs(Typography, Object.assign({ className: classes.visibilityItem }, { children: [_jsx(Icon, { children: "visibility" }), _jsx(FormattedMessage, { id: "ui.groupHeader.visibility.visible", defaultMessage: "ui.groupHeader.visibility.visible" })] }))) : (_jsxs(Typography, Object.assign({ className: classes.visibilityItem }, { children: [_jsx(Icon, { children: "visibility_off" }), _jsx(FormattedMessage, { id: "ui.groupHeader.visibility.hidden", defaultMessage: "ui.groupHeader.visibility.hidden" })] })))] }))] }))), _jsx(_Fragment, { children: ((scGroup && scGroup.privacy === SCGroupPrivacyType.PUBLIC) ||
152
+ return (_jsxs(Root, Object.assign({ id: id, className: classNames(classes.root, className) }, rest, { children: [_jsxs(Paper, { style: _backgroundCover, classes: { root: classes.cover }, children: [_jsx(Box, { className: classes.avatar, children: _jsx(Avatar, { children: _jsx("img", { alt: "group", src: scGroup.image_big ? scGroup.image_big : '' }) }) }), isGroupAdmin && (_jsxs(_Fragment, { children: [_jsx(ChangeGroupPicture, Object.assign({ groupId: scGroup.id, onChange: handleChangeAvatar, className: classes.changePicture }, ChangePictureProps)), _jsx("div", { className: classes.changeCover, children: _jsx(ChangeGroupCover, Object.assign({ groupId: scGroup.id, onChange: handleChangeCover }, ChangeCoverProps)) })] }))] }), _jsxs(Box, { className: classes.info, children: [isGroupAdmin && !isMobile && (_jsxs(Box, { className: classes.multiActions, children: [_jsx(EditGroupButton, { group: scGroup, groupId: scGroup.id, onEditSuccess: (data) => setSCGroup(data) }), _jsx(GroupActionsMenu, Object.assign({ group: scGroup, onEditSuccess: (data) => setSCGroup(data) }, GroupActionsProps))] })), _jsx(Typography, { variant: "h5", className: classes.name, children: scGroup.name }), privateEnabled && (_jsxs(Box, { className: classes.visibility, children: [privateEnabled && (_jsx(_Fragment, { children: scGroup.privacy === SCGroupPrivacyType.PUBLIC ? (_jsxs(Typography, { className: classes.visibilityItem, children: [_jsx(Icon, { children: "public" }), _jsx(FormattedMessage, { id: "ui.groupHeader.visibility.public", defaultMessage: "ui.groupHeader.visibility.public" })] })) : (_jsxs(Typography, { className: classes.visibilityItem, children: [_jsx(Icon, { children: "private" }), _jsx(FormattedMessage, { id: "ui.groupHeader.visibility.private", defaultMessage: "ui.groupHeader.visibility.private" })] })) })), visibilityEnabled && (_jsxs(_Fragment, { children: [privateEnabled && _jsx(Bullet, {}), scGroup.visible ? (_jsxs(Typography, { className: classes.visibilityItem, children: [_jsx(Icon, { children: "visibility" }), _jsx(FormattedMessage, { id: "ui.groupHeader.visibility.visible", defaultMessage: "ui.groupHeader.visibility.visible" })] })) : (_jsxs(Typography, { className: classes.visibilityItem, children: [_jsx(Icon, { children: "visibility_off" }), _jsx(FormattedMessage, { id: "ui.groupHeader.visibility.hidden", defaultMessage: "ui.groupHeader.visibility.hidden" })] }))] }))] })), _jsx(_Fragment, { children: ((scGroup && scGroup.privacy === SCGroupPrivacyType.PUBLIC) ||
149
153
  scGroup.subscription_status === SCGroupSubscriptionStatusType.SUBSCRIBED ||
150
- isGroupAdmin) && (_jsxs(Box, Object.assign({ className: classes.members }, { children: [_jsx(Typography, Object.assign({ className: classes.membersCounter, component: "div" }, { children: _jsx(FormattedMessage, { id: "ui.groupHeader.members", defaultMessage: "ui.groupHeader.members", values: { total: scGroup.subscribers_counter } }) })), _jsx(GroupMembersButton, Object.assign({ groupId: scGroup === null || scGroup === void 0 ? void 0 : scGroup.id, group: scGroup, autoHide: !isGroupAdmin }, GroupMembersButtonProps), scGroup.subscribers_counter)] }))) }), isGroupAdmin ? (_jsx(GroupInviteButton, { group: scGroup, groupId: scGroup.id })) : (_jsx(GroupSubscribeButton, Object.assign({ group: scGroup, onSubscribe: handleSubscribe }, GroupSubscribeButtonProps)))] }))] })));
154
+ isGroupAdmin) && (_jsxs(Box, { className: classes.members, children: [_jsx(Typography, { className: classes.membersCounter, component: "div", children: _jsx(FormattedMessage, { id: "ui.groupHeader.members", defaultMessage: "ui.groupHeader.members", values: { total: scGroup.subscribers_counter } }) }), _jsx(GroupMembersButton, Object.assign({ groupId: scGroup === null || scGroup === void 0 ? void 0 : scGroup.id, group: scGroup, autoHide: !isGroupAdmin }, GroupMembersButtonProps), scGroup.subscribers_counter)] })) }), isGroupAdmin ? (_jsxs(Box, { children: [_jsx(GroupInviteButton, { group: scGroup, groupId: scGroup.id }), isMobile && _jsx(GroupActionsMenu, Object.assign({ group: scGroup, onEditSuccess: (data) => setSCGroup(data) }, GroupActionsProps))] })) : (_jsx(GroupSubscribeButton, Object.assign({ group: scGroup, onSubscribe: handleSubscribe }, GroupSubscribeButtonProps)))] })] })));
151
155
  }
@@ -38,6 +38,6 @@ const Root = styled(Box, {
38
38
  */
39
39
  function GroupHeaderSkeleton() {
40
40
  const theme = useTheme();
41
- return (_jsxs(Root, Object.assign({ className: classes.root }, { children: [_jsx(Skeleton, { className: classes.cover, animation: "wave", variant: "rectangular" }), _jsx(Box, Object.assign({ className: classes.avatar }, { children: _jsx(Skeleton, { animation: "wave", variant: "circular", width: theme.selfcommunity.group.avatar.sizeLarge, height: theme.selfcommunity.group.avatar.sizeLarge }) })), _jsxs(Box, Object.assign({ className: classes.info }, { children: [_jsx(Typography, Object.assign({ variant: "h5" }, { children: _jsx(Skeleton, { animation: "wave", sx: { height: 30, width: 200 } }) })), _jsx(Typography, { children: _jsx(Skeleton, { animation: "wave", sx: { height: 20, width: 150 } }) }), _jsx(Typography, { children: _jsx(Skeleton, { animation: "wave", sx: { height: 20, width: 100 } }) })] }))] })));
41
+ return (_jsxs(Root, { className: classes.root, children: [_jsx(Skeleton, { className: classes.cover, animation: "wave", variant: "rectangular" }), _jsx(Box, { className: classes.avatar, children: _jsx(Skeleton, { animation: "wave", variant: "circular", width: theme.selfcommunity.group.avatar.sizeLarge, height: theme.selfcommunity.group.avatar.sizeLarge }) }), _jsxs(Box, { className: classes.info, children: [_jsx(Typography, { variant: "h5", children: _jsx(Skeleton, { animation: "wave", sx: { height: 30, width: 200 } }) }), _jsx(Typography, { children: _jsx(Skeleton, { animation: "wave", sx: { height: 20, width: 150 } }) }), _jsx(Typography, { children: _jsx(Skeleton, { animation: "wave", sx: { height: 20, width: 100 } }) })] })] }));
42
42
  }
43
43
  export default GroupHeaderSkeleton;
@@ -103,25 +103,25 @@ export default function GroupInfoWidget(inProps) {
103
103
  /**
104
104
  * Renders root object
105
105
  */
106
- 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.groupInfoWidget.title", defaultMessage: "ui.groupInfoWidget.title" }) })), _jsx(Typography, Object.assign({ variant: "body1", className: classes.description }, { children: scGroup.description })), privateEnabled && (_jsx(Typography, Object.assign({ component: "div", className: classes.privacy }, { children: scGroup.privacy === SCGroupPrivacyType.PUBLIC ? (_jsxs(_Fragment, { children: [_jsxs(Typography, Object.assign({ className: classes.privacyTitle }, { children: [_jsx(Icon, { children: "public" }), _jsx(FormattedMessage, { id: "ui.groupInfoWidget.privacy.public", defaultMessage: "ui.groupInfoWidget.privacy.public" })] })), _jsx(Typography, Object.assign({ variant: "body2" }, { children: _jsx(FormattedMessage, { id: "ui.groupInfoWidget.privacy.public.info", defaultMessage: "ui.groupInfoWidget.privacy.public.info", values: {
106
+ return (_jsx(Root, Object.assign({ className: classNames(classes.root, className) }, rest, { children: _jsxs(CardContent, { children: [_jsx(Typography, { variant: "h4", className: classes.title, children: _jsx(FormattedMessage, { id: "ui.groupInfoWidget.title", defaultMessage: "ui.groupInfoWidget.title" }) }), _jsx(Typography, { variant: "body1", className: classes.description, children: scGroup.description }), privateEnabled && (_jsx(Typography, { component: "div", className: classes.privacy, children: scGroup.privacy === SCGroupPrivacyType.PUBLIC ? (_jsxs(_Fragment, { children: [_jsxs(Typography, { className: classes.privacyTitle, children: [_jsx(Icon, { children: "public" }), _jsx(FormattedMessage, { id: "ui.groupInfoWidget.privacy.public", defaultMessage: "ui.groupInfoWidget.privacy.public" })] }), _jsx(Typography, { variant: "body2", children: _jsx(FormattedMessage, { id: "ui.groupInfoWidget.privacy.public.info", defaultMessage: "ui.groupInfoWidget.privacy.public.info", values: {
107
107
  // eslint-disable-next-line @typescript-eslint/ban-ts-ignore
108
108
  // @ts-ignore
109
109
  b: (chunks) => _jsx("strong", { children: chunks })
110
- } }) }))] })) : (_jsxs(_Fragment, { children: [_jsxs(Typography, Object.assign({ className: classes.privacyTitle }, { children: [_jsx(Icon, { children: "private" }), _jsx(FormattedMessage, { id: "ui.groupInfoWidget.privacy.private", defaultMessage: "ui.groupInfoWidget.privacy.private" })] })), _jsx(Typography, Object.assign({ variant: "body2" }, { children: _jsx(FormattedMessage, { id: "ui.groupInfoWidget.privacy.private.info", defaultMessage: "ui.groupInfoWidget.private.public.info", values: {
110
+ } }) })] })) : (_jsxs(_Fragment, { children: [_jsxs(Typography, { className: classes.privacyTitle, children: [_jsx(Icon, { children: "private" }), _jsx(FormattedMessage, { id: "ui.groupInfoWidget.privacy.private", defaultMessage: "ui.groupInfoWidget.privacy.private" })] }), _jsx(Typography, { variant: "body2", children: _jsx(FormattedMessage, { id: "ui.groupInfoWidget.privacy.private.info", defaultMessage: "ui.groupInfoWidget.private.public.info", values: {
111
111
  // eslint-disable-next-line @typescript-eslint/ban-ts-ignore
112
112
  // @ts-ignore
113
113
  b: (chunks) => _jsx("strong", { children: chunks })
114
- } }) }))] })) }))), privateEnabled && visibilityEnabled && (_jsx(_Fragment, { children: scGroup.privacy === SCGroupPrivacyType.PRIVATE && (_jsx(Typography, Object.assign({ component: "div", className: classes.visibility }, { children: scGroup.visible ? (_jsxs(_Fragment, { children: [_jsxs(Typography, Object.assign({ className: classes.visibilityTitle }, { children: [_jsx(Icon, { children: "visibility" }), _jsx(FormattedMessage, { id: "ui.groupForm.visibility.visible", defaultMessage: "ui.groupForm.visibility.visible" })] })), _jsx(Typography, Object.assign({ variant: "body2" }, { children: _jsx(FormattedMessage, { id: "ui.groupForm.visibility.visible.info", defaultMessage: "ui.groupForm.visibility.visible.info", values: {
114
+ } }) })] })) })), privateEnabled && visibilityEnabled && (_jsx(_Fragment, { children: scGroup.privacy === SCGroupPrivacyType.PRIVATE && (_jsx(Typography, { component: "div", className: classes.visibility, children: scGroup.visible ? (_jsxs(_Fragment, { children: [_jsxs(Typography, { className: classes.visibilityTitle, children: [_jsx(Icon, { children: "visibility" }), _jsx(FormattedMessage, { id: "ui.groupForm.visibility.visible", defaultMessage: "ui.groupForm.visibility.visible" })] }), _jsx(Typography, { variant: "body2", children: _jsx(FormattedMessage, { id: "ui.groupForm.visibility.visible.info", defaultMessage: "ui.groupForm.visibility.visible.info", values: {
115
115
  // eslint-disable-next-line @typescript-eslint/ban-ts-ignore
116
116
  // @ts-ignore
117
117
  b: (chunks) => _jsx("strong", { children: chunks })
118
- } }) }))] })) : (_jsxs(_Fragment, { children: [_jsxs(Typography, Object.assign({ className: classes.visibilityTitle }, { children: [_jsx(Icon, { children: "visibility_off" }), _jsx(FormattedMessage, { id: "ui.groupForm.visibility.hidden", defaultMessage: "ui.groupForm.visibility.hidden" })] })), _jsx(Typography, Object.assign({ variant: "body2" }, { children: _jsx(FormattedMessage, { id: "ui.groupForm.visibility.hidden.info", defaultMessage: "ui.groupForm.visibility.hidden.info", values: {
118
+ } }) })] })) : (_jsxs(_Fragment, { children: [_jsxs(Typography, { className: classes.visibilityTitle, children: [_jsx(Icon, { children: "visibility_off" }), _jsx(FormattedMessage, { id: "ui.groupForm.visibility.hidden", defaultMessage: "ui.groupForm.visibility.hidden" })] }), _jsx(Typography, { variant: "body2", children: _jsx(FormattedMessage, { id: "ui.groupForm.visibility.hidden.info", defaultMessage: "ui.groupForm.visibility.hidden.info", values: {
119
119
  // eslint-disable-next-line @typescript-eslint/ban-ts-ignore
120
120
  // @ts-ignore
121
121
  b: (chunks) => _jsx("strong", { children: chunks })
122
- } }) }))] })) }))) })), _jsx(Typography, Object.assign({ variant: "body2", className: classes.date }, { children: _jsx(FormattedMessage, { id: "ui.groupInfoWidget.date", defaultMessage: "ui.groupInfoWidget.date", values: { date: intl.formatDate(scGroup.created_at, { day: 'numeric', year: 'numeric', month: 'long' }) } }) })), _jsxs(Typography, Object.assign({ component: "div", className: classes.admin }, { children: [_jsx(FormattedMessage, { id: "ui.groupInfoWidget.admin", defaultMessage: "ui.groupInfoWidget.admin", values: {
122
+ } }) })] })) })) })), _jsx(Typography, { variant: "body2", className: classes.date, children: _jsx(FormattedMessage, { id: "ui.groupInfoWidget.date", defaultMessage: "ui.groupInfoWidget.date", values: { date: intl.formatDate(scGroup.created_at, { day: 'numeric', year: 'numeric', month: 'long' }) } }) }), _jsxs(Typography, { component: "div", className: classes.admin, children: [_jsx(FormattedMessage, { id: "ui.groupInfoWidget.admin", defaultMessage: "ui.groupInfoWidget.admin", values: {
123
123
  // eslint-disable-next-line @typescript-eslint/ban-ts-ignore
124
124
  // @ts-ignore
125
125
  b: (chunks) => _jsx("strong", { children: chunks })
126
- } }), _jsx(User, { userId: (_a = scGroup === null || scGroup === void 0 ? void 0 : scGroup.managed_by) === null || _a === void 0 ? void 0 : _a.id, elevation: 0, actions: _jsx(_Fragment, {}) })] }))] }) })));
126
+ } }), _jsx(User, { userId: (_a = scGroup === null || scGroup === void 0 ? void 0 : scGroup.managed_by) === null || _a === void 0 ? void 0 : _a.id, elevation: 0, actions: _jsx(_Fragment, {}) })] })] }) })));
127
127
  }
@@ -255,7 +255,7 @@ export default function GroupInviteButton(inProps) {
255
255
  /**
256
256
  * Renders root object
257
257
  */
258
- return (_jsxs(React.Fragment, { children: [_jsx(Root, Object.assign({ className: classNames(classes.root, className), onClick: handleClose, variant: scGroup ? 'contained' : 'outlined', color: scGroup ? 'secondary' : 'inherit', startIcon: _jsx(Icon, { children: "add" }) }, rest, { children: _jsx(FormattedMessage, { id: "ui.groupInviteButton", defaultMessage: "ui.groupInviteButton" }) })), open && (_jsx(DialogRoot, Object.assign({ DialogContentProps: { dividers: false }, open: true, className: classes.dialogRoot, title: _jsxs(_Fragment, { children: [_jsx(IconButton, Object.assign({ onClick: handleClose }, { children: _jsx(Icon, { children: "arrow_back" }) })), _jsx(Typography, Object.assign({ className: classes.dialogTitle }, { children: _jsx(FormattedMessage, { id: "ui.groupInviteButton.dialog.title", defaultMessage: "ui.groupInviteButton.dialog.title" }) })), _jsx(LoadingButton, Object.assign({ size: "small", color: "secondary", variant: "contained", onClick: handleSendInvitations, loading: isSending, disabled: !invited.length }, { children: _jsx(FormattedMessage, { id: "ui.groupInviteButton.dialog.button.end", defaultMessage: "ui.groupInviteButton.dialog.button.end" }) }))] }) }, { children: _jsxs(Box, Object.assign({ className: classes.dialogContent }, { children: [_jsx(Autocomplete, { className: classes.autocomplete, loading: loading, size: "small", multiple: true, freeSolo: true, disableClearable: true, options: suggested, onChange: handleChange, onInputChange: handleInputChange, inputValue: value, filterOptions: filterOptions, value: invited, getOptionLabel: (option) => (option ? option.username : '...'), isOptionEqualToValue: (option, value) => (option ? value.id === option.id : false), renderTags: () => null, renderOption: (props, option) => (_jsxs(Box, Object.assign({ component: "li" }, props, { children: [_jsx(Avatar, { alt: option.username, src: option.avatar }), _jsx(Typography, Object.assign({ ml: 1 }, { children: option.username }))] }))), renderInput: (params) => (_jsx(TextField, Object.assign({}, params, { variant: "outlined", placeholder: `${intl.formatMessage(messages.placeholder)}`, InputProps: Object.assign(Object.assign({}, params.InputProps), { className: classes.input, startAdornment: (_jsxs(_Fragment, { children: [_jsx(InputAdornment, Object.assign({ position: "start" }, { children: _jsx(Icon, Object.assign({ className: classes.icon }, { children: "search" })) })), params.InputProps.startAdornment] })) }) }))) }), _jsx(Box, Object.assign({ className: classes.invitedBox }, { children: invited.map((option, index) => (_jsx(Chip, { avatar: _jsx(Avatar, { alt: option.username, src: option.avatar }), label: option.username, onDelete: () => {
258
+ return (_jsxs(React.Fragment, { children: [_jsx(Root, Object.assign({ className: classNames(classes.root, className), onClick: handleClose, variant: scGroup ? 'contained' : 'outlined', color: scGroup ? 'secondary' : 'inherit', startIcon: _jsx(Icon, { children: "add" }) }, rest, { children: _jsx(FormattedMessage, { id: "ui.groupInviteButton", defaultMessage: "ui.groupInviteButton" }) })), open && (_jsx(DialogRoot, { DialogContentProps: { dividers: false }, open: true, className: classes.dialogRoot, title: _jsxs(_Fragment, { children: [_jsx(IconButton, { onClick: handleClose, children: _jsx(Icon, { children: "arrow_back" }) }), _jsx(Typography, { className: classes.dialogTitle, children: _jsx(FormattedMessage, { id: "ui.groupInviteButton.dialog.title", defaultMessage: "ui.groupInviteButton.dialog.title" }) }), _jsx(LoadingButton, { size: "small", color: "secondary", variant: "contained", onClick: handleSendInvitations, loading: isSending, disabled: !invited.length, children: _jsx(FormattedMessage, { id: "ui.groupInviteButton.dialog.button.end", defaultMessage: "ui.groupInviteButton.dialog.button.end" }) })] }), children: _jsxs(Box, { className: classes.dialogContent, children: [_jsx(Autocomplete, { className: classes.autocomplete, loading: loading, size: "small", multiple: true, freeSolo: true, disableClearable: true, options: suggested, onChange: handleChange, onInputChange: handleInputChange, inputValue: value, filterOptions: filterOptions, value: invited, getOptionLabel: (option) => (option ? option.username : '...'), isOptionEqualToValue: (option, value) => (option ? value.id === option.id : false), renderTags: () => null, renderOption: (props, option) => (_jsxs(Box, Object.assign({ component: "li" }, props, { children: [_jsx(Avatar, { alt: option.username, src: option.avatar }), _jsx(Typography, { ml: 1, children: option.username })] }))), renderInput: (params) => (_jsx(TextField, Object.assign({}, params, { variant: "outlined", placeholder: `${intl.formatMessage(messages.placeholder)}`, InputProps: Object.assign(Object.assign({}, params.InputProps), { className: classes.input, startAdornment: (_jsxs(_Fragment, { children: [_jsx(InputAdornment, { position: "start", children: _jsx(Icon, { className: classes.icon, children: "search" }) }), params.InputProps.startAdornment] })) }) }))) }), _jsx(Box, { className: classes.invitedBox, children: invited.map((option, index) => (_jsx(Chip, { avatar: _jsx(Avatar, { alt: option.username, src: option.avatar }), label: option.username, onDelete: () => {
259
259
  handleDelete(option);
260
- }, style: { marginRight: 8 } }, index))) })), _jsxs(Box, Object.assign({ className: classes.suggested }, { children: [list.length !== 0 && (_jsx(Typography, Object.assign({ variant: "h4", fontWeight: "bold" }, { children: _jsx(FormattedMessage, { id: "ui.groupInviteButton.dialog.content.list", defaultMessage: "ui.groupInviteButton.dialog.content.list" }) }))), list.slice(0, 5).map((user, index) => (_jsx(User, { elevation: 0, actions: _jsx(_Fragment, {}), user: user, userId: user.id, buttonProps: { onClick: () => handleUserInvite(user) } }, index)))] }))] })) })))] }));
260
+ }, style: { marginRight: 8 } }, index))) }), _jsxs(Box, { className: classes.suggested, children: [list.length !== 0 && (_jsx(Typography, { variant: "h4", fontWeight: "bold", children: _jsx(FormattedMessage, { id: "ui.groupInviteButton.dialog.content.list", defaultMessage: "ui.groupInviteButton.dialog.content.list" }) })), list.slice(0, 5).map((user, index) => (_jsx(User, { elevation: 0, actions: _jsx(_Fragment, {}), user: user, userId: user.id, buttonProps: { onClick: () => handleUserInvite(user) } }, index)))] })] }) }))] }));
261
261
  }
@@ -199,6 +199,6 @@ export default function GroupInvitedWidget(inProps) {
199
199
  if (!state.initialized) {
200
200
  return _jsx(Skeleton, {});
201
201
  }
202
- const content = (_jsxs(CardContent, { children: [_jsx(Typography, Object.assign({ className: classes.title, variant: "h5" }, { children: _jsx(FormattedMessage, { id: "ui.groupInvitedWidget.title", defaultMessage: "ui.groupInvitedWidget.title" }) })), _jsxs(React.Fragment, { children: [_jsx(List, { children: state.results.slice(0, state.visibleItems).map((user) => (_jsx(ListItem, { children: _jsx(User, { elevation: 0, actions: _jsx(Button, Object.assign({ disabled: true, size: "small" }, { children: _jsx(FormattedMessage, { id: "ui.groupInvitedWidget.status", defaultMessage: "ui.groupInvitedWidget.status" }) })), user: user, userId: user.id }) }, user.id))) }), state.count > state.visibleItems && (_jsx(Button, Object.assign({ className: classes.showMore, onClick: handleToggleDialogOpen }, { children: _jsx(FormattedMessage, { id: "ui.groupInvitedWidget.button.showMore", defaultMessage: "ui.groupInvitedWidget.button.showMore" }) })))] }), openDialog && (_jsx(DialogRoot, Object.assign({ className: classes.dialogRoot, title: _jsx(FormattedMessage, { defaultMessage: "ui.groupInvitedWidget.dialogTitle", id: "ui.groupInvitedWidget.dialogTitle", values: { total: (_b = state === null || state === void 0 ? void 0 : state.results) === null || _b === void 0 ? void 0 : _b.length } }), onClose: handleToggleDialogOpen, open: openDialog }, DialogProps, { children: _jsx(InfiniteScroll, Object.assign({ dataLength: state.results.length, next: handleNext, hasMoreNext: Boolean(state.next), loaderNext: _jsx(UserSkeleton, Object.assign({ elevation: 0 }, UserProps)), height: isMobile ? '100%' : 400, endMessage: _jsx(Typography, Object.assign({ className: classes.endMessage }, { children: _jsx(FormattedMessage, { id: "ui.groupInvitedWidget.noMoreResults", defaultMessage: "ui.groupInvitedWidget.noMoreResults" }) })) }, { children: _jsx(List, { children: state.results.map((user) => (_jsx(ListItem, { children: _jsx(User, { elevation: 0, actions: _jsx(Button, Object.assign({ disabled: true, size: "small" }, { children: _jsx(FormattedMessage, { id: "ui.groupInvitedWidget.status", defaultMessage: "ui.groupInvitedWidget.status" }) })), user: user, userId: user.id }) }, user.id))) }) })) })))] }));
202
+ const content = (_jsxs(CardContent, { children: [_jsx(Typography, { className: classes.title, variant: "h5", children: _jsx(FormattedMessage, { id: "ui.groupInvitedWidget.title", defaultMessage: "ui.groupInvitedWidget.title" }) }), _jsxs(React.Fragment, { children: [_jsx(List, { children: state.results.slice(0, state.visibleItems).map((user) => (_jsx(ListItem, { children: _jsx(User, { elevation: 0, actions: _jsx(Button, { disabled: true, size: "small", children: _jsx(FormattedMessage, { id: "ui.groupInvitedWidget.status", defaultMessage: "ui.groupInvitedWidget.status" }) }), user: user, userId: user.id }) }, user.id))) }), state.count > state.visibleItems && (_jsx(Button, { className: classes.showMore, onClick: handleToggleDialogOpen, children: _jsx(FormattedMessage, { id: "ui.groupInvitedWidget.button.showMore", defaultMessage: "ui.groupInvitedWidget.button.showMore" }) }))] }), openDialog && (_jsx(DialogRoot, Object.assign({ className: classes.dialogRoot, title: _jsx(FormattedMessage, { defaultMessage: "ui.groupInvitedWidget.dialogTitle", id: "ui.groupInvitedWidget.dialogTitle", values: { total: (_b = state === null || state === void 0 ? void 0 : state.results) === null || _b === void 0 ? void 0 : _b.length } }), onClose: handleToggleDialogOpen, open: openDialog }, DialogProps, { children: _jsx(InfiniteScroll, { dataLength: state.results.length, next: handleNext, hasMoreNext: Boolean(state.next), loaderNext: _jsx(UserSkeleton, Object.assign({ elevation: 0 }, UserProps)), height: isMobile ? '100%' : 400, endMessage: _jsx(Typography, { className: classes.endMessage, children: _jsx(FormattedMessage, { id: "ui.groupInvitedWidget.noMoreResults", defaultMessage: "ui.groupInvitedWidget.noMoreResults" }) }), children: _jsx(List, { children: state.results.map((user) => (_jsx(ListItem, { children: _jsx(User, { elevation: 0, actions: _jsx(Button, { disabled: true, size: "small", children: _jsx(FormattedMessage, { id: "ui.groupInvitedWidget.status", defaultMessage: "ui.groupInvitedWidget.status" }) }), user: user, userId: user.id }) }, user.id))) }) }) })))] }));
203
203
  return (_jsx(Root, Object.assign({ className: classNames(classes.root, className) }, rest, { children: content })));
204
204
  }
@@ -128,5 +128,5 @@ export default function GroupMembersButton(inProps) {
128
128
  // RENDER
129
129
  const theme = useTheme();
130
130
  const isMobile = useMediaQuery(theme.breakpoints.down('md'));
131
- return (_jsxs(_Fragment, { children: [_jsx(Root, Object.assign({ className: classNames(classes.root, className), onClick: handleToggleDialogOpen, disabled: loading || !scGroup || scGroup.subscribers_counter === 0 }, rest, { children: loading || !scGroup ? (_jsx(AvatarGroupSkeleton, Object.assign({}, rest))) : (_jsx(AvatarGroup, Object.assign({ total: scGroup.subscribers_counter }, { children: members.map((c) => (_jsx(Avatar, { alt: c.username, src: c.avatar }, c.id))) }))) })), open && (_jsx(DialogRoot, Object.assign({ className: classes.dialogRoot, title: _jsx(FormattedMessage, { defaultMessage: "ui.groupMembersButton.dialogTitle", id: "ui.groupMembersButton.dialogTitle", values: { total: scGroup.subscribers_counter } }), onClose: handleToggleDialogOpen, open: open }, DialogProps, { children: _jsx(InfiniteScroll, Object.assign({ dataLength: members.length, next: fetchMembers, hasMoreNext: next !== null || loading, loaderNext: _jsx(UserSkeleton, { elevation: 0 }), height: isMobile ? '100%' : 400, endMessage: _jsx(Typography, Object.assign({ className: classes.endMessage }, { children: _jsx(FormattedMessage, { id: "ui.groupMembersButton.noOtherMembers", defaultMessage: "ui.groupMembersButton.noOtherMembers" }) })) }, { children: _jsx(List, { children: members.map((member) => (_jsx(ListItem, { children: _jsx(User, { elevation: 0, user: member, onClick: handleToggleDialogOpen }) }, member.id))) }) })) })))] }));
131
+ return (_jsxs(_Fragment, { children: [_jsx(Root, Object.assign({ className: classNames(classes.root, className), onClick: handleToggleDialogOpen, disabled: loading || !scGroup || scGroup.subscribers_counter === 0 }, rest, { children: loading || !scGroup ? (_jsx(AvatarGroupSkeleton, Object.assign({}, rest))) : (_jsx(AvatarGroup, { total: scGroup.subscribers_counter, children: members.map((c) => (_jsx(Avatar, { alt: c.username, src: c.avatar }, c.id))) })) })), open && (_jsx(DialogRoot, Object.assign({ className: classes.dialogRoot, title: _jsx(FormattedMessage, { defaultMessage: "ui.groupMembersButton.dialogTitle", id: "ui.groupMembersButton.dialogTitle", values: { total: scGroup.subscribers_counter } }), onClose: handleToggleDialogOpen, open: open }, DialogProps, { children: _jsx(InfiniteScroll, { dataLength: members.length, next: fetchMembers, hasMoreNext: next !== null || loading, loaderNext: _jsx(UserSkeleton, { elevation: 0 }), height: isMobile ? '100%' : 400, endMessage: _jsx(Typography, { className: classes.endMessage, children: _jsx(FormattedMessage, { id: "ui.groupMembersButton.noOtherMembers", defaultMessage: "ui.groupMembersButton.noOtherMembers" }) }), children: _jsx(List, { children: members.map((member) => (_jsx(ListItem, { children: _jsx(User, { elevation: 0, user: member, onClick: handleToggleDialogOpen }) }, member.id))) }) }) })))] }));
132
132
  }
@@ -189,12 +189,12 @@ export default function GroupMembersWidget(inProps) {
189
189
  if (!state.initialized) {
190
190
  return _jsx(Skeleton, {});
191
191
  }
192
- const content = (_jsxs(_Fragment, { children: [_jsxs(CardContent, { children: [_jsx(Typography, Object.assign({ className: classes.title, variant: "h5" }, { children: _jsx(FormattedMessage, { id: "ui.groupMembersWidget.title", defaultMessage: "ui.groupMembersWidget.title" }) })), !state.count ? (_jsx(Typography, Object.assign({ className: classes.noResults, variant: "body2" }, { children: _jsx(FormattedMessage, { id: "ui.groupMembersWidget.subtitle.noResults", defaultMessage: "" }) }))) : (_jsxs(React.Fragment, { children: [_jsx(List, { children: state.results.slice(0, state.visibleItems).map((user) => {
192
+ const content = (_jsxs(_Fragment, { children: [_jsxs(CardContent, { children: [_jsx(Typography, { className: classes.title, variant: "h5", children: _jsx(FormattedMessage, { id: "ui.groupMembersWidget.title", defaultMessage: "ui.groupMembersWidget.title" }) }), !state.count ? (_jsx(Typography, { className: classes.noResults, variant: "body2", children: _jsx(FormattedMessage, { id: "ui.groupMembersWidget.subtitle.noResults", defaultMessage: "" }) })) : (_jsxs(React.Fragment, { children: [_jsx(List, { children: state.results.slice(0, state.visibleItems).map((user) => {
193
193
  var _a, _b;
194
- return (_jsx(ListItem, { children: _jsx(User, { elevation: 0, actions: isGroupAdmin ? (_jsx(GroupSettingsIconButton, { group: scGroup, user: user, onRemoveSuccess: () => handleRefresh(user.id) })) : ((_a = scUserContext === null || scUserContext === void 0 ? void 0 : scUserContext.user) === null || _a === void 0 ? void 0 : _a.id) !== user.id ? (_jsx(Button, Object.assign({ size: "small", variant: "outlined", component: Link, to: scRoutingContext.url(SCRoutes.USER_PRIVATE_MESSAGES_ROUTE_NAME, user) }, { children: _jsx(FormattedMessage, { id: "ui.groupSettingsIconButton.item.message", defaultMessage: "ui.groupSettingsIconButton.item.message" }) }))) : null, isGroupAdmin: ((_b = scGroup === null || scGroup === void 0 ? void 0 : scGroup.managed_by) === null || _b === void 0 ? void 0 : _b.id) === user.id, user: user, userId: user.id }) }, user.id));
195
- }) }), state.count > state.visibleItems && (_jsx(Button, Object.assign({ className: classes.showMore, onClick: handleToggleDialogOpen }, { children: _jsx(FormattedMessage, { id: "ui.groupMembersWidget.button.showMore", defaultMessage: "ui.groupMembersWidget.button.showMore" }) })))] })), openDialog && (_jsx(DialogRoot, Object.assign({ className: classes.dialogRoot, title: _jsx(FormattedMessage, { defaultMessage: "ui.groupMembersWidget.dialogTitle", id: "ui.groupMembersWidget.dialogTitle", values: { total: scGroup.subscribers_counter } }), onClose: handleToggleDialogOpen, open: openDialog }, DialogProps, { children: _jsx(InfiniteScroll, Object.assign({ dataLength: state.results.length, next: handleNext, hasMoreNext: Boolean(state.next), loaderNext: _jsx(UserSkeleton, Object.assign({ elevation: 0 }, UserProps)), height: isMobile ? '100%' : 400, endMessage: _jsx(Typography, Object.assign({ className: classes.endMessage }, { children: _jsx(FormattedMessage, { id: "ui.groupMembersWidget.noMoreResults", defaultMessage: "ui.groupMembersWidget.noMoreResults" }) })) }, { children: _jsx(List, { children: state.results.map((user) => {
194
+ return (_jsx(ListItem, { children: _jsx(User, { elevation: 0, actions: isGroupAdmin ? (_jsx(GroupSettingsIconButton, { group: scGroup, user: user, onRemoveSuccess: () => handleRefresh(user.id) })) : ((_a = scUserContext === null || scUserContext === void 0 ? void 0 : scUserContext.user) === null || _a === void 0 ? void 0 : _a.id) !== user.id ? (_jsx(Button, { size: "small", variant: "outlined", component: Link, to: scRoutingContext.url(SCRoutes.USER_PRIVATE_MESSAGES_ROUTE_NAME, user), children: _jsx(FormattedMessage, { id: "ui.groupSettingsIconButton.item.message", defaultMessage: "ui.groupSettingsIconButton.item.message" }) })) : null, isGroupAdmin: ((_b = scGroup === null || scGroup === void 0 ? void 0 : scGroup.managed_by) === null || _b === void 0 ? void 0 : _b.id) === user.id, user: user, userId: user.id }) }, user.id));
195
+ }) }), state.count > state.visibleItems && (_jsx(Button, { className: classes.showMore, onClick: handleToggleDialogOpen, children: _jsx(FormattedMessage, { id: "ui.groupMembersWidget.button.showMore", defaultMessage: "ui.groupMembersWidget.button.showMore" }) }))] })), openDialog && (_jsx(DialogRoot, Object.assign({ className: classes.dialogRoot, title: _jsx(FormattedMessage, { defaultMessage: "ui.groupMembersWidget.dialogTitle", id: "ui.groupMembersWidget.dialogTitle", values: { total: scGroup.subscribers_counter } }), onClose: handleToggleDialogOpen, open: openDialog }, DialogProps, { children: _jsx(InfiniteScroll, { dataLength: state.results.length, next: handleNext, hasMoreNext: Boolean(state.next), loaderNext: _jsx(UserSkeleton, Object.assign({ elevation: 0 }, UserProps)), height: isMobile ? '100%' : 400, endMessage: _jsx(Typography, { className: classes.endMessage, children: _jsx(FormattedMessage, { id: "ui.groupMembersWidget.noMoreResults", defaultMessage: "ui.groupMembersWidget.noMoreResults" }) }), children: _jsx(List, { children: state.results.map((user) => {
196
196
  var _a, _b;
197
- return (_jsx(ListItem, { children: _jsx(User, { elevation: 0, actions: isGroupAdmin ? (_jsx(GroupSettingsIconButton, { group: scGroup, user: user, onRemoveSuccess: () => handleRefresh(user.id) })) : ((_a = scUserContext === null || scUserContext === void 0 ? void 0 : scUserContext.user) === null || _a === void 0 ? void 0 : _a.id) !== user.id ? (_jsx(Button, Object.assign({ size: "small", variant: "outlined", component: Link, to: scRoutingContext.url(SCRoutes.USER_PRIVATE_MESSAGES_ROUTE_NAME, user) }, { children: _jsx(FormattedMessage, { id: "ui.groupSettingsIconButton.item.message", defaultMessage: "ui.groupSettingsIconButton.item.message" }) }))) : null, isGroupAdmin: ((_b = scGroup === null || scGroup === void 0 ? void 0 : scGroup.managed_by) === null || _b === void 0 ? void 0 : _b.id) === user.id, user: user, userId: user.id }) }, user.id));
198
- }) }) })) })))] }), _jsx(CardActions, Object.assign({ className: classes.actions }, { children: _jsx(GroupInviteButton, { groupId: scGroup === null || scGroup === void 0 ? void 0 : scGroup.id, group: scGroup }) }))] }));
197
+ return (_jsx(ListItem, { children: _jsx(User, { elevation: 0, actions: isGroupAdmin ? (_jsx(GroupSettingsIconButton, { group: scGroup, user: user, onRemoveSuccess: () => handleRefresh(user.id) })) : ((_a = scUserContext === null || scUserContext === void 0 ? void 0 : scUserContext.user) === null || _a === void 0 ? void 0 : _a.id) !== user.id ? (_jsx(Button, { size: "small", variant: "outlined", component: Link, to: scRoutingContext.url(SCRoutes.USER_PRIVATE_MESSAGES_ROUTE_NAME, user), children: _jsx(FormattedMessage, { id: "ui.groupSettingsIconButton.item.message", defaultMessage: "ui.groupSettingsIconButton.item.message" }) })) : null, isGroupAdmin: ((_b = scGroup === null || scGroup === void 0 ? void 0 : scGroup.managed_by) === null || _b === void 0 ? void 0 : _b.id) === user.id, user: user, userId: user.id }) }, user.id));
198
+ }) }) }) })))] }), _jsx(CardActions, { className: classes.actions, children: _jsx(GroupInviteButton, { groupId: scGroup === null || scGroup === void 0 ? void 0 : scGroup.id, group: scGroup }) })] }));
199
199
  return (_jsx(Root, Object.assign({ className: classNames(classes.root, className) }, rest, { children: content })));
200
200
  }
@@ -185,6 +185,6 @@ export default function GroupRequestsWidget(inProps) {
185
185
  if (!state.initialized) {
186
186
  return _jsx(Skeleton, {});
187
187
  }
188
- const content = (_jsxs(CardContent, { children: [_jsx(Typography, Object.assign({ className: classes.title, variant: "h5" }, { children: _jsx(FormattedMessage, { id: "ui.groupRequestsWidget.title", defaultMessage: "ui.groupRequestsWidget.title" }) })), _jsxs(React.Fragment, { children: [_jsx(List, { children: state.results.slice(0, state.visibleItems).map((user) => (_jsx(ListItem, { children: _jsx(User, { elevation: 0, actions: _jsx(GroupSubscribeButton, Object.assign({ group: scGroup, groupId: scGroup === null || scGroup === void 0 ? void 0 : scGroup.id, user: user, onSubscribe: () => handleSubscribeAction(user) }, GroupSubscribeButtonProps)), user: user, userId: user.id }) }, user.id))) }), state.count > state.visibleItems && (_jsx(Button, Object.assign({ className: classes.showMore, onClick: handleToggleDialogOpen }, { children: _jsx(FormattedMessage, { id: "ui.groupRequestsWidget.button.showMore", defaultMessage: "ui.groupRequestsWidget.button.showMore" }) })))] }), openDialog && (_jsx(DialogRoot, Object.assign({ className: classes.dialogRoot, title: _jsx(FormattedMessage, { defaultMessage: "ui.groupRequestsWidget.dialogTitle", id: "ui.groupRequestsWidget.dialogTitle", values: { total: scGroup.subscribers_counter } }), onClose: handleToggleDialogOpen, open: openDialog }, DialogProps, { children: _jsx(InfiniteScroll, Object.assign({ dataLength: state.results.length, next: handleNext, hasMoreNext: Boolean(state.next), loaderNext: _jsx(UserSkeleton, Object.assign({ elevation: 0 }, UserProps)), height: isMobile ? '100%' : 400, endMessage: _jsx(Typography, Object.assign({ className: classes.endMessage }, { children: _jsx(FormattedMessage, { id: "ui.groupRequestsWidget.noMoreResults", defaultMessage: "ui.groupRequestsWidget.noMoreResults" }) })) }, { children: _jsx(List, { children: state.results.map((user) => (_jsx(ListItem, { children: _jsx(User, { elevation: 0, actions: _jsx(GroupSubscribeButton, Object.assign({ group: scGroup, groupId: scGroup === null || scGroup === void 0 ? void 0 : scGroup.id, user: user, onSubscribe: () => handleSubscribeAction(user) }, GroupSubscribeButtonProps)), user: user, userId: user.id }) }, user.id))) }) })) })))] }));
188
+ const content = (_jsxs(CardContent, { children: [_jsx(Typography, { className: classes.title, variant: "h5", children: _jsx(FormattedMessage, { id: "ui.groupRequestsWidget.title", defaultMessage: "ui.groupRequestsWidget.title" }) }), _jsxs(React.Fragment, { children: [_jsx(List, { children: state.results.slice(0, state.visibleItems).map((user) => (_jsx(ListItem, { children: _jsx(User, { elevation: 0, actions: _jsx(GroupSubscribeButton, Object.assign({ group: scGroup, groupId: scGroup === null || scGroup === void 0 ? void 0 : scGroup.id, user: user, onSubscribe: () => handleSubscribeAction(user) }, GroupSubscribeButtonProps)), user: user, userId: user.id }) }, user.id))) }), state.count > state.visibleItems && (_jsx(Button, { className: classes.showMore, onClick: handleToggleDialogOpen, children: _jsx(FormattedMessage, { id: "ui.groupRequestsWidget.button.showMore", defaultMessage: "ui.groupRequestsWidget.button.showMore" }) }))] }), openDialog && (_jsx(DialogRoot, Object.assign({ className: classes.dialogRoot, title: _jsx(FormattedMessage, { defaultMessage: "ui.groupRequestsWidget.dialogTitle", id: "ui.groupRequestsWidget.dialogTitle", values: { total: scGroup.subscribers_counter } }), onClose: handleToggleDialogOpen, open: openDialog }, DialogProps, { children: _jsx(InfiniteScroll, { dataLength: state.results.length, next: handleNext, hasMoreNext: Boolean(state.next), loaderNext: _jsx(UserSkeleton, Object.assign({ elevation: 0 }, UserProps)), height: isMobile ? '100%' : 400, endMessage: _jsx(Typography, { className: classes.endMessage, children: _jsx(FormattedMessage, { id: "ui.groupRequestsWidget.noMoreResults", defaultMessage: "ui.groupRequestsWidget.noMoreResults" }) }), children: _jsx(List, { children: state.results.map((user) => (_jsx(ListItem, { children: _jsx(User, { elevation: 0, actions: _jsx(GroupSubscribeButton, Object.assign({ group: scGroup, groupId: scGroup === null || scGroup === void 0 ? void 0 : scGroup.id, user: user, onSubscribe: () => handleSubscribeAction(user) }, GroupSubscribeButtonProps)), user: user, userId: user.id }) }, user.id))) }) }) })))] }));
189
189
  return (_jsx(Root, Object.assign({ className: classNames(classes.root, className) }, rest, { children: content })));
190
190
  }
@@ -120,18 +120,18 @@ export default function GroupSettingsIconButton(inProps) {
120
120
  const renderList = () => {
121
121
  if (isMobile) {
122
122
  return [
123
- _jsx(ListItem, Object.assign({ className: classes.item, component: Link, to: scRoutingContext.url(SCRoutes.USER_PRIVATE_MESSAGES_ROUTE_NAME, user) }, { children: _jsx(FormattedMessage, { id: "ui.groupSettingsIconButton.item.message", defaultMessage: "ui.groupSettingsIconButton.item.message" }) }), "message"),
124
- _jsx(ListItem, Object.assign({ className: classes.item, onClick: handleOpenDialog }, { children: _jsx(FormattedMessage, { id: "ui.groupSettingsIconButton.item.remove", defaultMessage: "ui.groupSettingsIconButton.item.remove" }) }), "delete")
123
+ _jsx(ListItem, { className: classes.item, component: Link, to: scRoutingContext.url(SCRoutes.USER_PRIVATE_MESSAGES_ROUTE_NAME, user), children: _jsx(FormattedMessage, { id: "ui.groupSettingsIconButton.item.message", defaultMessage: "ui.groupSettingsIconButton.item.message" }) }, "message"),
124
+ _jsx(ListItem, { className: classes.item, onClick: handleOpenDialog, children: _jsx(FormattedMessage, { id: "ui.groupSettingsIconButton.item.remove", defaultMessage: "ui.groupSettingsIconButton.item.remove" }) }, "delete")
125
125
  ];
126
126
  }
127
127
  else {
128
128
  return [
129
- _jsx(MenuItem, Object.assign({ className: classes.item, component: Link, to: scRoutingContext.url(SCRoutes.USER_PRIVATE_MESSAGES_ROUTE_NAME, user) }, { children: _jsx(FormattedMessage, { id: "ui.groupSettingsIconButton.item.message", defaultMessage: "ui.groupSettingsIconButton.item.message" }) }), "message"),
130
- _jsx(MenuItem, Object.assign({ className: classes.item, onClick: handleOpenDialog }, { children: _jsx(FormattedMessage, { id: "ui.groupSettingsIconButton.item.remove", defaultMessage: "ui.groupSettingsIconButton.item.remove" }) }), "delete")
129
+ _jsx(MenuItem, { className: classes.item, component: Link, to: scRoutingContext.url(SCRoutes.USER_PRIVATE_MESSAGES_ROUTE_NAME, user), children: _jsx(FormattedMessage, { id: "ui.groupSettingsIconButton.item.message", defaultMessage: "ui.groupSettingsIconButton.item.message" }) }, "message"),
130
+ _jsx(MenuItem, { className: classes.item, onClick: handleOpenDialog, children: _jsx(FormattedMessage, { id: "ui.groupSettingsIconButton.item.remove", defaultMessage: "ui.groupSettingsIconButton.item.remove" }) }, "delete")
131
131
  ];
132
132
  }
133
133
  };
134
- return (_jsxs(_Fragment, { children: [_jsx(Root, Object.assign({ className: classNames(classes.root, className) }, rest, { onClick: handleOpen }, { children: _jsx(Icon, { children: "more_vert" }) })), isMobile ? (_jsx(SwipeableDrawerRoot, Object.assign({ className: classes.drawerRoot, anchor: "bottom", open: Boolean(anchorEl), onClose: handleClose, onOpen: handleOpen, PaperProps: { className: classes.paper }, disableSwipeToOpen: true }, { children: _jsx(List, { children: renderList() }) }))) : (_jsx(MenuRoot, Object.assign({ className: classes.menuRoot, anchorEl: anchorEl, open: Boolean(anchorEl), onClose: handleClose, PaperProps: { className: classes.paper } }, { children: renderList() }))), openConfirmDialog && (_jsx(ConfirmDialog, { open: openConfirmDialog, title: _jsx(FormattedMessage, { id: "ui.groupSettingsIconButton.dialog.msg", defaultMessage: "ui.groupSettingsIconButton.dialog.msg", values: {
134
+ return (_jsxs(_Fragment, { children: [_jsx(Root, Object.assign({ className: classNames(classes.root, className) }, rest, { onClick: handleOpen, children: _jsx(Icon, { children: "more_vert" }) })), isMobile ? (_jsx(SwipeableDrawerRoot, { className: classes.drawerRoot, anchor: "bottom", open: Boolean(anchorEl), onClose: handleClose, onOpen: handleOpen, PaperProps: { className: classes.paper }, disableSwipeToOpen: true, children: _jsx(List, { children: renderList() }) })) : (_jsx(MenuRoot, { className: classes.menuRoot, anchorEl: anchorEl, open: Boolean(anchorEl), onClose: handleClose, PaperProps: { className: classes.paper }, children: renderList() })), openConfirmDialog && (_jsx(ConfirmDialog, { open: openConfirmDialog, title: _jsx(FormattedMessage, { id: "ui.groupSettingsIconButton.dialog.msg", defaultMessage: "ui.groupSettingsIconButton.dialog.msg", values: {
135
135
  // eslint-disable-next-line @typescript-eslint/ban-ts-ignore
136
136
  // @ts-ignore
137
137
  b: (...chunks) => _jsx("strong", { children: chunks }),
@@ -1,6 +1,6 @@
1
1
  import { __rest } from "tslib";
2
2
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { useEffect, useMemo, useState } from 'react';
3
+ import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
4
4
  import { styled } from '@mui/material/styles';
5
5
  import { Box, Button, Grid, TextField, Typography, useMediaQuery, useTheme } from '@mui/material';
6
6
  import { Endpoints, GroupService, http } from '@selfcommunity/api-services';
@@ -16,6 +16,8 @@ import { PREFIX } from './constants';
16
16
  import Group, { GroupSkeleton } from '../Group';
17
17
  import { DEFAULT_PAGINATION_OFFSET } from '../../constants/Pagination';
18
18
  import InfiniteScroll from '../../shared/InfiniteScroll';
19
+ import PubSub from 'pubsub-js';
20
+ import { SCGroupEventType, SCTopicType } from '../../constants/PubSub';
19
21
  const classes = {
20
22
  root: `${PREFIX}-root`,
21
23
  filters: `${PREFIX}-filter`,
@@ -83,6 +85,8 @@ export default function Groups(inProps) {
83
85
  scPreferencesContext.preferences[SCPreferences.CONFIGURATIONS_CONTENT_AVAILABILITY].value, [scPreferencesContext.preferences]);
84
86
  // CONST
85
87
  const authUserId = scUserContext.user ? scUserContext.user.id : null;
88
+ // REFS
89
+ const updatesSubscription = useRef(null);
86
90
  // HANDLERS
87
91
  const handleScrollUp = () => {
88
92
  window.scrollTo({ left: 0, top: 0, behavior: 'smooth' });
@@ -119,6 +123,28 @@ export default function Groups(inProps) {
119
123
  fetchGroups();
120
124
  }
121
125
  }, [contentAvailability, authUserId, search]);
126
+ /**
127
+ * Subscriber for pubsub callback
128
+ */
129
+ const onDeleteGroupHandler = useCallback((_msg, deleted) => {
130
+ setGroups((prev) => {
131
+ if (prev.some((e) => e.id === deleted)) {
132
+ return prev.filter((e) => e.id !== deleted);
133
+ }
134
+ return prev;
135
+ });
136
+ }, [groups]);
137
+ /**
138
+ * On mount, subscribe to receive event updates (only delete)
139
+ */
140
+ useEffect(() => {
141
+ if (groups) {
142
+ updatesSubscription.current = PubSub.subscribe(`${SCTopicType.GROUP}.${SCGroupEventType.DELETE}`, onDeleteGroupHandler);
143
+ }
144
+ return () => {
145
+ updatesSubscription.current && PubSub.unsubscribe(updatesSubscription.current);
146
+ };
147
+ }, [groups]);
122
148
  const handleNext = useMemo(() => () => {
123
149
  if (!next) {
124
150
  return;
@@ -155,11 +181,11 @@ export default function Groups(inProps) {
155
181
  * Renders groups list
156
182
  */
157
183
  const filteredGroups = sortByAttr(getFilteredGroups(), 'order');
158
- const content = (_jsxs(_Fragment, { children: [showFilters && groups.length !== 0 && (_jsx(Grid, Object.assign({ container: true, direction: "row", justifyContent: "center", alignItems: "center", className: classes.filters }, { children: filters ? (filters) : (_jsx(Grid, Object.assign({ item: true, xs: 12, md: 6 }, { children: _jsx(TextField, { fullWidth: true, value: search, label: _jsx(FormattedMessage, { id: "ui.groups.filterByName", defaultMessage: "ui.groups.filterByName" }), variant: "outlined", onChange: handleOnChangeFilterName, disabled: loading }) }))) }))), _jsx(_Fragment, { children: !groups.length ? (_jsx(Box, Object.assign({ className: classes.noResults }, { children: !onlyStaffEnabled ? (_jsxs(_Fragment, { children: [_jsx(Typography, Object.assign({ variant: "h4" }, { children: _jsx(FormattedMessage, { id: "ui.groups.noGroups.title", defaultMessage: "ui.groups.noGroups.title" }) })), _jsx(Typography, Object.assign({ variant: "body1" }, { children: _jsx(FormattedMessage, { id: "ui.groups.noGroups.subtitle", defaultMessage: "ui.groups.noGroups.subtitle" }) }))] })) : (_jsxs(_Fragment, { children: [_jsx(Typography, Object.assign({ variant: "h4" }, { children: _jsx(FormattedMessage, { id: "ui.groups.noGroups.title.onlyStaff", defaultMessage: "ui.groups.noGroups.title.onlyStaff" }) })), _jsx(Typography, Object.assign({ variant: "body1" }, { children: _jsx(FormattedMessage, { id: "ui.groups.noGroups.subtitle.onlyStaff", defaultMessage: "ui.groups.noGroups.subtitle.onlyStaff" }) }))] })) }))) : (_jsx(InfiniteScroll, Object.assign({ dataLength: groups.length, next: handleNext, hasMoreNext: Boolean(next), loaderNext: isMobile ? _jsx(GroupSkeleton, {}) : _jsx(Skeleton, { groupsNumber: 2 }), endMessage: _jsx(Typography, Object.assign({ component: "div", className: classes.endMessage }, { children: _jsx(FormattedMessage, { id: "ui.groups.endMessage", defaultMessage: "ui.groups.endMessage", values: {
184
+ const content = (_jsxs(_Fragment, { children: [showFilters && groups.length !== 0 && (_jsx(Grid, { container: true, direction: "row", justifyContent: "center", alignItems: "center", className: classes.filters, children: filters ? (filters) : (_jsx(Grid, { item: true, xs: 12, md: 6, children: _jsx(TextField, { fullWidth: true, value: search, label: _jsx(FormattedMessage, { id: "ui.groups.filterByName", defaultMessage: "ui.groups.filterByName" }), variant: "outlined", onChange: handleOnChangeFilterName, disabled: loading }) })) })), _jsx(_Fragment, { children: !groups.length ? (_jsx(Box, { className: classes.noResults, children: !onlyStaffEnabled ? (_jsxs(_Fragment, { children: [_jsx(Typography, { variant: "h4", children: _jsx(FormattedMessage, { id: "ui.groups.noGroups.title", defaultMessage: "ui.groups.noGroups.title" }) }), _jsx(Typography, { variant: "body1", children: _jsx(FormattedMessage, { id: "ui.groups.noGroups.subtitle", defaultMessage: "ui.groups.noGroups.subtitle" }) })] })) : (_jsxs(_Fragment, { children: [_jsx(Typography, { variant: "h4", children: _jsx(FormattedMessage, { id: "ui.groups.noGroups.title.onlyStaff", defaultMessage: "ui.groups.noGroups.title.onlyStaff" }) }), _jsx(Typography, { variant: "body1", children: _jsx(FormattedMessage, { id: "ui.groups.noGroups.subtitle.onlyStaff", defaultMessage: "ui.groups.noGroups.subtitle.onlyStaff" }) })] })) })) : (_jsx(InfiniteScroll, { dataLength: groups.length, next: handleNext, hasMoreNext: Boolean(next), loaderNext: isMobile ? _jsx(GroupSkeleton, {}) : _jsx(Skeleton, { groupsNumber: 2 }), endMessage: _jsx(Typography, { component: "div", className: classes.endMessage, children: _jsx(FormattedMessage, { id: "ui.groups.endMessage", defaultMessage: "ui.groups.endMessage", values: {
159
185
  // eslint-disable-next-line @typescript-eslint/ban-ts-ignore
160
186
  // @ts-ignore
161
- button: (chunk) => (_jsx(Button, Object.assign({ color: "secondary", variant: "text", onClick: handleScrollUp }, { children: chunk })))
162
- } }) })) }, { children: _jsx(Grid, Object.assign({ container: true, spacing: { xs: 2 }, className: classes.groups }, { children: filteredGroups.map((group) => (_jsx(Grid, Object.assign({ item: true, xs: 12, sm: 8, md: 6, className: classes.item }, { children: _jsx(Group, Object.assign({ group: group, groupId: group.id, actionRedirect: true }, GroupComponentProps)) }), group.id))) })) }))) })] }));
187
+ button: (chunk) => (_jsx(Button, { color: "secondary", variant: "text", onClick: handleScrollUp, children: chunk }))
188
+ } }) }), children: _jsx(Grid, { container: true, spacing: { xs: 2 }, className: classes.groups, children: filteredGroups.map((group) => (_jsx(Grid, { item: true, xs: 12, sm: 8, md: 6, className: classes.item, children: _jsx(Group, Object.assign({ group: group, groupId: group.id, actionRedirect: true }, GroupComponentProps)) }, group.id))) }) })) })] }));
163
189
  // RENDER
164
190
  if (!contentAvailability && !scUserContext.user) {
165
191
  return _jsx(HiddenPlaceholder, {});
@@ -36,5 +36,5 @@ const Root = styled(Box, {
36
36
  */
37
37
  export default function GroupsSkeleton(inProps) {
38
38
  const { className, GroupSkeletonProps = {}, groupsNumber = 20 } = inProps, rest = __rest(inProps, ["className", "GroupSkeletonProps", "groupsNumber"]);
39
- return (_jsx(Root, Object.assign({ className: classNames(classes.root, className) }, rest, { children: _jsx(Grid, Object.assign({ container: true, spacing: { xs: 3 }, className: classes.groups }, { children: [...Array(groupsNumber)].map((category, index) => (_jsx(Grid, Object.assign({ item: true, xs: 12, sm: 8, md: 6 }, { children: _jsx(GroupSkeleton, Object.assign({ elevation: 0, variant: 'outlined' }, GroupSkeletonProps)) }), index))) })) })));
39
+ return (_jsx(Root, Object.assign({ className: classNames(classes.root, className) }, rest, { children: _jsx(Grid, { container: true, spacing: { xs: 3 }, className: classes.groups, children: [...Array(groupsNumber)].map((category, index) => (_jsx(Grid, { item: true, xs: 12, sm: 8, md: 6, children: _jsx(GroupSkeleton, Object.assign({ elevation: 0, variant: 'outlined' }, GroupSkeletonProps)) }, index))) }) })));
40
40
  }
@@ -27,7 +27,7 @@ const Root = styled(Widget, {
27
27
  })(() => ({}));
28
28
  function LinearProgressWithLabel(_a) {
29
29
  var { className } = _a, props = __rest(_a, ["className"]);
30
- return (_jsxs(Box, Object.assign({ className: className }, { children: [_jsx(LinearProgress, Object.assign({ variant: "determinate" }, props)), _jsx(Box, Object.assign({ sx: { position: 'absolute', top: '3px', left: props.value + 2 + '%', transform: 'translateX(-50%)' } }, { children: props.subscribers !== 0 && (_jsx(Typography, Object.assign({ variant: "body2", color: "text.secondary" }, { children: props.subscribers }))) })), _jsxs(Grid, Object.assign({ container: true, spacing: 2, className: className }, { children: [_jsx(Grid, Object.assign({ item: true, xs: true }, { children: _jsx(Typography, { children: _jsx(FormattedMessage, { defaultMessage: "ui.incubator.progressBar.proposal", id: "ui.incubator.progressBar.proposal" }) }) })), _jsx(Grid, Object.assign({ item: true, xs: true }, { children: _jsx(FormattedMessage, { defaultMessage: "ui.incubator.progressBar.collectingSubscribers", id: "ui.incubator.progressBar.collectingSubscribers" }) })), _jsx(Grid, Object.assign({ item: true, xs: true }, { children: _jsx(Typography, Object.assign({ align: "right" }, { children: _jsx(FormattedMessage, { defaultMessage: "ui.incubator.progressBar.approved", id: "ui.incubator.progressBar.approved" }) })) }))] }))] })));
30
+ return (_jsxs(Box, { className: className, children: [_jsx(LinearProgress, Object.assign({ variant: "determinate" }, props)), _jsx(Box, { sx: { position: 'absolute', top: '3px', left: props.value + 2 + '%', transform: 'translateX(-50%)' }, children: props.subscribers !== 0 && (_jsx(Typography, { variant: "body2", color: "text.secondary", children: props.subscribers })) }), _jsxs(Grid, { container: true, spacing: 2, className: className, children: [_jsx(Grid, { item: true, xs: true, children: _jsx(Typography, { children: _jsx(FormattedMessage, { defaultMessage: "ui.incubator.progressBar.proposal", id: "ui.incubator.progressBar.proposal" }) }) }), _jsx(Grid, { item: true, xs: true, children: _jsx(FormattedMessage, { defaultMessage: "ui.incubator.progressBar.collectingSubscribers", id: "ui.incubator.progressBar.collectingSubscribers" }) }), _jsx(Grid, { item: true, xs: true, children: _jsx(Typography, { align: "right", children: _jsx(FormattedMessage, { defaultMessage: "ui.incubator.progressBar.approved", id: "ui.incubator.progressBar.approved" }) }) })] })] }));
31
31
  }
32
32
  /**
33
33
  * > API documentation for the Community-JS Incubator component. Learn about the available props and the CSS API.
@@ -87,7 +87,7 @@ export default function Incubator(inProps) {
87
87
  if (autoHide) {
88
88
  return _jsx(HiddenPlaceholder, {});
89
89
  }
90
- return (_jsxs(_Fragment, { children: [_jsxs(Root, Object.assign({ className: classNames(classes.root, className) }, rest, { children: [_jsxs(CardContent, { children: [_jsx(Button, Object.assign({ variant: "text", className: classes.name }, ButtonProps, { children: scIncubator.name })), _jsx(Typography, Object.assign({ component: 'span' }, { children: _jsx(FormattedMessage, { defaultMessage: "ui.incubator.proposedBy", id: "ui.incubator.proposedBy", values: {
91
- username: (_jsx(Link, Object.assign({}, (!scIncubator.user.deleted && { to: scRoutingContext.url(SCRoutes.USER_PROFILE_ROUTE_NAME, scIncubator.user) }), { onClick: scIncubator.user.deleted ? () => setOpenAlert(true) : null }, { children: scIncubator.user.username })))
92
- } }) })), _jsx(Typography, Object.assign({ component: 'p', className: !detailView ? classes.slogan : null }, { children: scIncubator.slogan })), _jsx(LinearProgressWithLabel, { className: classes.progressBar, value: renderVotes(scIncubator.subscribers_count, scIncubator.subscribers_threshold), subscribers: scIncubator.subscribers_count })] }), _jsx(CardActions, { children: _jsx(IncubatorSubscribeButton, Object.assign({ incubator: scIncubator }, subscribeButtonProps)) })] })), openAlert && _jsx(UserDeletedSnackBar, { open: openAlert, handleClose: () => setOpenAlert(false) })] }));
90
+ return (_jsxs(_Fragment, { children: [_jsxs(Root, Object.assign({ className: classNames(classes.root, className) }, rest, { children: [_jsxs(CardContent, { children: [_jsx(Button, Object.assign({ variant: "text", className: classes.name }, ButtonProps, { children: scIncubator.name })), _jsx(Typography, { component: 'span', children: _jsx(FormattedMessage, { defaultMessage: "ui.incubator.proposedBy", id: "ui.incubator.proposedBy", values: {
91
+ username: (_jsx(Link, Object.assign({}, (!scIncubator.user.deleted && { to: scRoutingContext.url(SCRoutes.USER_PROFILE_ROUTE_NAME, scIncubator.user) }), { onClick: scIncubator.user.deleted ? () => setOpenAlert(true) : null, children: scIncubator.user.username })))
92
+ } }) }), _jsx(Typography, { component: 'p', className: !detailView ? classes.slogan : null, children: scIncubator.slogan }), _jsx(LinearProgressWithLabel, { className: classes.progressBar, value: renderVotes(scIncubator.subscribers_count, scIncubator.subscribers_threshold), subscribers: scIncubator.subscribers_count })] }), _jsx(CardActions, { children: _jsx(IncubatorSubscribeButton, Object.assign({ incubator: scIncubator }, subscribeButtonProps)) })] })), openAlert && _jsx(UserDeletedSnackBar, { open: openAlert, handleClose: () => setOpenAlert(false) })] }));
93
93
  }
@@ -40,5 +40,5 @@ const Root = styled(Widget, {
40
40
  *
41
41
  */
42
42
  export default function IncubatorSkeleton(props) {
43
- return (_jsxs(Root, Object.assign({ className: classes.root }, props, { children: [_jsxs(CardContent, { children: [_jsx(Typography, Object.assign({ className: classes.primary }, { children: _jsx(Skeleton, { animation: "wave", height: 20, width: "40%", variant: "text" }) })), _jsxs(Typography, Object.assign({ className: classes.secondary }, { children: [_jsx(Skeleton, { animation: "wave", height: 10, width: "50%", variant: "text" }), _jsx(Skeleton, { animation: "wave", height: 10, width: "80%", variant: "text" })] })), _jsxs(Grid, Object.assign({ container: true, spacing: 1, className: classes.progressBar }, { children: [_jsx(Grid, Object.assign({ item: true, xs: 12, md: 12 }, { children: _jsx(Skeleton, { animation: "wave", height: 20, width: "100%", variant: "rectangular" }) })), _jsx(Grid, Object.assign({ item: true, xs: true }, { children: _jsx(Skeleton, { animation: "wave", height: 10, width: "100%", variant: "text" }) })), _jsx(Grid, Object.assign({ item: true, xs: true }, { children: _jsx(Skeleton, { animation: "wave", height: 10, width: "100%", variant: "text" }) })), _jsx(Grid, Object.assign({ item: true, xs: true }, { children: _jsx(Skeleton, { animation: "wave", height: 10, width: "100%", variant: "text" }) }))] }))] }), _jsx(CardActions, Object.assign({ className: classes.action }, { children: _jsx(Button, Object.assign({ disabled: true, variant: 'outlined', size: 'small' }, { children: _jsx(Skeleton, { animation: "wave", height: 20, width: 50, variant: "text" }) })) }))] })));
43
+ return (_jsxs(Root, Object.assign({ className: classes.root }, props, { children: [_jsxs(CardContent, { children: [_jsx(Typography, { className: classes.primary, children: _jsx(Skeleton, { animation: "wave", height: 20, width: "40%", variant: "text" }) }), _jsxs(Typography, { className: classes.secondary, children: [_jsx(Skeleton, { animation: "wave", height: 10, width: "50%", variant: "text" }), _jsx(Skeleton, { animation: "wave", height: 10, width: "80%", variant: "text" })] }), _jsxs(Grid, { container: true, spacing: 1, className: classes.progressBar, children: [_jsx(Grid, { item: true, xs: 12, md: 12, children: _jsx(Skeleton, { animation: "wave", height: 20, width: "100%", variant: "rectangular" }) }), _jsx(Grid, { item: true, xs: true, children: _jsx(Skeleton, { animation: "wave", height: 10, width: "100%", variant: "text" }) }), _jsx(Grid, { item: true, xs: true, children: _jsx(Skeleton, { animation: "wave", height: 10, width: "100%", variant: "text" }) }), _jsx(Grid, { item: true, xs: true, children: _jsx(Skeleton, { animation: "wave", height: 10, width: "100%", variant: "text" }) })] })] }), _jsx(CardActions, { className: classes.action, children: _jsx(Button, { disabled: true, variant: 'outlined', size: 'small', children: _jsx(Skeleton, { animation: "wave", height: 20, width: 50, variant: "text" }) }) })] })));
44
44
  }
@@ -235,6 +235,6 @@ export default function IncubatorDetail(inProps) {
235
235
  /**
236
236
  * Renders root element
237
237
  */
238
- return (_jsxs(_Fragment, { children: [_jsx(Root, Object.assign({ title: _jsxs(_Fragment, { children: [_jsx(Avatar, { className: classes.avatar, alt: scIncubator.user.avatar, src: scIncubator.user.avatar }), _jsxs(Box, { children: [_jsxs(Typography, Object.assign({ className: classes.title }, { children: [`${intl.formatMessage(messages.intro, { name: scIncubator.name })}`, " "] })), _jsx(Typography, Object.assign({ component: 'span' }, { children: _jsxs(Link, Object.assign({}, (!scIncubator.user.deleted && { to: scRoutingContext.url(SCRoutes.USER_PROFILE_ROUTE_NAME, scIncubator.user) }), { onClick: scIncubator.user.deleted ? () => setOpenAlert(true) : null }, { children: ["@", scIncubator.user.username] })) }))] })] }), open: open, onClose: onClose, className: classNames(classes.root, className) }, rest, { children: _jsxs(Box, { children: [_jsx(Incubator, Object.assign({ elevation: 0, incubator: scIncubator, detailView: true, subscribeButtonProps: { onSubscribe: handleUpdates } }, IncubatorProps)), _jsx(Box, Object.assign({ className: classes.subscribers }, { children: loading && !scIncubator ? (_jsx(AvatarGroupSkeleton, Object.assign({}, rest))) : (_jsx(_Fragment, { children: total > 0 ? (_jsx(Button, Object.assign({ onClick: handleToggleSubscribersDialog, disabled: loading || !scIncubator }, { children: _jsxs(AvatarGroup, Object.assign({}, rest, { children: [subscribers.map((u) => (_jsx(Avatar, { alt: u.username, src: u.avatar }, u.id))), [...Array(Math.max(0, total - subscribers.length))].map((x, i // Add max to 0 to prevent creation of array with negative index during state update
239
- ) => (_jsx(Avatar, {}, i)))] })) }))) : null })) })), openSubscribersDialog && (_jsx(BaseDialog, Object.assign({ title: _jsxs(_Fragment, { children: [_jsx(FormattedMessage, { defaultMessage: "ui.incubatorDetail.subscribersSection.title", id: "ui.incubatorDetail.subscribersSection.title" }), " (", total, ")"] }), onClose: handleToggleSubscribersDialog, open: openSubscribersDialog }, { children: loading ? (_jsx(CentralProgress, { size: 50 })) : (_jsx(InfiniteScroll, Object.assign({ dataLength: total, next: fetchSubscribers, hasMoreNext: next !== null, loaderNext: _jsx(CentralProgress, { size: 30 }), height: 400, endMessage: _jsx(Typography, Object.assign({ variant: "body2", align: "center", fontWeight: "bold" }, { children: _jsx(FormattedMessage, { id: "ui.incubatorDetail.subscribersSection.noMoreSubscribers", defaultMessage: "ui.incubatorDetail.subscribersSection.noMoreSubscribers" }) })) }, { children: _jsx(List, { children: subscribers.map((s, index) => (_jsx(ListItem, { children: _jsx(User, { elevation: 0, user: s }, index) }, (s.id, index)))) }) }))) }))), _jsx(Widget, Object.assign({ elevation: 1, className: classes.shareCard }, { children: _jsxs(CardContent, { children: [_jsx(Typography, Object.assign({ variant: 'h6' }, { children: _jsx(FormattedMessage, { id: "ui.incubatorDetail.shareSection.title", defaultMessage: "ui.incubatorDetail.shareSection.title" }) })), _jsx(Typography, Object.assign({ variant: 'subtitle1' }, { children: _jsx(FormattedMessage, { id: "ui.incubatorDetail.shareSection.share", defaultMessage: "ui.incubatorDetail.shareSection.share" }) })), _jsxs(FormGroup, Object.assign({ className: classes.copyUrlForm }, { children: [_jsx(TextField, { className: classes.copyText, variant: "outlined", value: portal }), _jsx(Button, Object.assign({ className: classes.copyButton, variant: "contained", onClick: copy }, { children: _jsx(FormattedMessage, { id: "ui.incubatorDetail.shareSection.button.copy", defaultMessage: "ui.incubatorDetail.shareSection.button.copy" }) }))] })), alert && (_jsx(Alert, Object.assign({ onClose: () => setAlert(false) }, { children: _jsx(FormattedMessage, { id: "ui.incubatorDetail.shareSection.copied", defaultMessage: "ui.incubatorDetail.shareSection.copied" }) }))), isSocialShareEnabled && (_jsx(Typography, Object.assign({ variant: 'subtitle2' }, { children: _jsx(FormattedMessage, { id: "ui.incubatorDetail.shareSection.invite", defaultMessage: "ui.incubatorDetail.shareSection.invite" }) }))), _jsxs(Box, Object.assign({ className: classes.shareSection }, { children: [facebookShareEnabled && (_jsx(Icon, Object.assign({ classes: { root: classes.shareMenuIcon }, fontSize: "small", onClick: () => window.open(FACEBOOK_SHARE + portal, 'facebook-share-dialog', 'width=626,height=436') }, { children: "facebook" }))), xShareEnabled && (_jsx(Icon, Object.assign({ classes: { root: classes.shareMenuIcon }, fontSize: "small", onClick: () => window.open(X_SHARE + portal, 'x-share-dialog', 'width=626,height=436') }, { children: "x" }))), linkedinShareEnabled && (_jsx(Icon, Object.assign({ classes: { root: classes.shareMenuIcon }, fontSize: "small", onClick: () => window.open(LINKEDIN_SHARE + portal, 'linkedin-share-dialog', 'width=626,height=436') }, { children: "linkedin" })))] }))] }) }))] }) })), openAlert && _jsx(UserDeletedSnackBar, { open: openAlert, handleClose: () => setOpenAlert(false) })] }));
238
+ return (_jsxs(_Fragment, { children: [_jsx(Root, Object.assign({ title: _jsxs(_Fragment, { children: [_jsx(Avatar, { className: classes.avatar, alt: scIncubator.user.avatar, src: scIncubator.user.avatar }), _jsxs(Box, { children: [_jsxs(Typography, { className: classes.title, children: [`${intl.formatMessage(messages.intro, { name: scIncubator.name })}`, " "] }), _jsx(Typography, { component: 'span', children: _jsxs(Link, Object.assign({}, (!scIncubator.user.deleted && { to: scRoutingContext.url(SCRoutes.USER_PROFILE_ROUTE_NAME, scIncubator.user) }), { onClick: scIncubator.user.deleted ? () => setOpenAlert(true) : null, children: ["@", scIncubator.user.username] })) })] })] }), open: open, onClose: onClose, className: classNames(classes.root, className) }, rest, { children: _jsxs(Box, { children: [_jsx(Incubator, Object.assign({ elevation: 0, incubator: scIncubator, detailView: true, subscribeButtonProps: { onSubscribe: handleUpdates } }, IncubatorProps)), _jsx(Box, { className: classes.subscribers, children: loading && !scIncubator ? (_jsx(AvatarGroupSkeleton, Object.assign({}, rest))) : (_jsx(_Fragment, { children: total > 0 ? (_jsx(Button, { onClick: handleToggleSubscribersDialog, disabled: loading || !scIncubator, children: _jsxs(AvatarGroup, Object.assign({}, rest, { children: [subscribers.map((u) => (_jsx(Avatar, { alt: u.username, src: u.avatar }, u.id))), [...Array(Math.max(0, total - subscribers.length))].map((x, i // Add max to 0 to prevent creation of array with negative index during state update
239
+ ) => (_jsx(Avatar, {}, i)))] })) })) : null })) }), openSubscribersDialog && (_jsx(BaseDialog, { title: _jsxs(_Fragment, { children: [_jsx(FormattedMessage, { defaultMessage: "ui.incubatorDetail.subscribersSection.title", id: "ui.incubatorDetail.subscribersSection.title" }), " (", total, ")"] }), onClose: handleToggleSubscribersDialog, open: openSubscribersDialog, children: loading ? (_jsx(CentralProgress, { size: 50 })) : (_jsx(InfiniteScroll, { dataLength: total, next: fetchSubscribers, hasMoreNext: next !== null, loaderNext: _jsx(CentralProgress, { size: 30 }), height: 400, endMessage: _jsx(Typography, { variant: "body2", align: "center", fontWeight: "bold", children: _jsx(FormattedMessage, { id: "ui.incubatorDetail.subscribersSection.noMoreSubscribers", defaultMessage: "ui.incubatorDetail.subscribersSection.noMoreSubscribers" }) }), children: _jsx(List, { children: subscribers.map((s, index) => (_jsx(ListItem, { children: _jsx(User, { elevation: 0, user: s }, index) }, (s.id, index)))) }) })) })), _jsx(Widget, { elevation: 1, className: classes.shareCard, children: _jsxs(CardContent, { children: [_jsx(Typography, { variant: 'h6', children: _jsx(FormattedMessage, { id: "ui.incubatorDetail.shareSection.title", defaultMessage: "ui.incubatorDetail.shareSection.title" }) }), _jsx(Typography, { variant: 'subtitle1', children: _jsx(FormattedMessage, { id: "ui.incubatorDetail.shareSection.share", defaultMessage: "ui.incubatorDetail.shareSection.share" }) }), _jsxs(FormGroup, { className: classes.copyUrlForm, children: [_jsx(TextField, { className: classes.copyText, variant: "outlined", value: portal }), _jsx(Button, { className: classes.copyButton, variant: "contained", onClick: copy, children: _jsx(FormattedMessage, { id: "ui.incubatorDetail.shareSection.button.copy", defaultMessage: "ui.incubatorDetail.shareSection.button.copy" }) })] }), alert && (_jsx(Alert, { onClose: () => setAlert(false), children: _jsx(FormattedMessage, { id: "ui.incubatorDetail.shareSection.copied", defaultMessage: "ui.incubatorDetail.shareSection.copied" }) })), isSocialShareEnabled && (_jsx(Typography, { variant: 'subtitle2', children: _jsx(FormattedMessage, { id: "ui.incubatorDetail.shareSection.invite", defaultMessage: "ui.incubatorDetail.shareSection.invite" }) })), _jsxs(Box, { className: classes.shareSection, children: [facebookShareEnabled && (_jsx(Icon, { classes: { root: classes.shareMenuIcon }, fontSize: "small", onClick: () => window.open(FACEBOOK_SHARE + portal, 'facebook-share-dialog', 'width=626,height=436'), children: "facebook" })), xShareEnabled && (_jsx(Icon, { classes: { root: classes.shareMenuIcon }, fontSize: "small", onClick: () => window.open(X_SHARE + portal, 'x-share-dialog', 'width=626,height=436'), children: "x" })), linkedinShareEnabled && (_jsx(Icon, { classes: { root: classes.shareMenuIcon }, fontSize: "small", onClick: () => window.open(LINKEDIN_SHARE + portal, 'linkedin-share-dialog', 'width=626,height=436'), children: "linkedin" }))] })] }) })] }) })), openAlert && _jsx(UserDeletedSnackBar, { open: openAlert, handleClose: () => setOpenAlert(false) })] }));
240
240
  }
@@ -75,10 +75,10 @@ export default function CreateIncubatorDialog(props) {
75
75
  }
76
76
  let dialogContent;
77
77
  if (submitted) {
78
- dialogContent = (_jsx(Typography, Object.assign({ variant: 'subtitle2', className: classes.submittedMessage }, { children: _jsx(FormattedMessage, { id: "ui.incubatorListWidget.createIncubatorDialog.propose.success", defaultMessage: "ui.incubatorListWidget.createIncubatorDialog.propose.success" }) })));
78
+ dialogContent = (_jsx(Typography, { variant: 'subtitle2', className: classes.submittedMessage, children: _jsx(FormattedMessage, { id: "ui.incubatorListWidget.createIncubatorDialog.propose.success", defaultMessage: "ui.incubatorListWidget.createIncubatorDialog.propose.success" }) }));
79
79
  }
80
80
  else {
81
- dialogContent = (_jsxs(_Fragment, { children: [_jsx(Typography, Object.assign({ component: 'span', className: classes.intro }, { children: _jsx(FormattedMessage, { id: "ui.incubatorsListDialog.createIncubatorDialog.intro", defaultMessage: "ui.incubatorsListDialog.createIncubatorDialog.intro" }) })), _jsxs(FormGroup, Object.assign({ className: classes.form }, { children: [_jsx(TextField, { required: true, error: Boolean(error), className: classes.name, placeholder: `${intl.formatMessage(messages.name)}`, margin: "normal", value: name, onChange: (event) => setName(event.target.value) }), _jsx(TextField, { multiline: true, error: Boolean(error), className: classes.slogan, placeholder: `${intl.formatMessage(messages.slogan)}`, margin: "normal", value: slogan, onChange: (event) => setSlogan(event.target.value) })] })), _jsx(LoadingButton, Object.assign({ loading: isSubmitting, disabled: !name || Boolean(error), variant: "contained", onClick: handleSubmit }, { children: _jsx(FormattedMessage, { id: "ui.incubatorListWidget.createIncubatorDialog.button", defaultMessage: "ui.incubatorListWidget.createIncubatorDialog.button" }) }))] }));
81
+ dialogContent = (_jsxs(_Fragment, { children: [_jsx(Typography, { component: 'span', className: classes.intro, children: _jsx(FormattedMessage, { id: "ui.incubatorsListDialog.createIncubatorDialog.intro", defaultMessage: "ui.incubatorsListDialog.createIncubatorDialog.intro" }) }), _jsxs(FormGroup, { className: classes.form, children: [_jsx(TextField, { required: true, error: Boolean(error), className: classes.name, placeholder: `${intl.formatMessage(messages.name)}`, margin: "normal", value: name, onChange: (event) => setName(event.target.value) }), _jsx(TextField, { multiline: true, error: Boolean(error), className: classes.slogan, placeholder: `${intl.formatMessage(messages.slogan)}`, margin: "normal", value: slogan, onChange: (event) => setSlogan(event.target.value) })] }), _jsx(LoadingButton, { loading: isSubmitting, disabled: !name || Boolean(error), variant: "contained", onClick: handleSubmit, children: _jsx(FormattedMessage, { id: "ui.incubatorListWidget.createIncubatorDialog.button", defaultMessage: "ui.incubatorListWidget.createIncubatorDialog.button" }) })] }));
82
82
  }
83
83
  // RENDER
84
84
  return (_jsx(Root, Object.assign({ title: _jsx(FormattedMessage, { id: "ui.incubatorListWidget.createIncubatorDialog.title", defaultMessage: "ui.incubatorListWidget.createIncubatorDialog.title" }), open: open, onClose: onClose, className: classNames(classes.root, className) }, rest, { children: dialogContent })));
@@ -220,9 +220,9 @@ export default function IncubatorListWidget(inProps) {
220
220
  if (!state.initialized) {
221
221
  return _jsx(Skeleton, {});
222
222
  }
223
- const content = (_jsxs(CardContent, { children: [_jsxs(Box, Object.assign({ className: classes.header }, { children: [_jsx(Typography, Object.assign({ className: classes.title, variant: 'h5' }, { children: _jsx(FormattedMessage, { id: "ui.incubatorListWidget.title", defaultMessage: "ui.incubatorListWidget.title" }) })), _jsx(IconButton, Object.assign({ className: classes.helpPopover, color: "primary", "aria-label": "info", component: "span", onClick: handleClickHelpButton }, { children: _jsx(Icon, { children: "help_outline" }) })), isOpen && (_jsx(Popover, Object.assign({ open: isOpen, anchorEl: anchorEl, onClose: handlePopoverClose, anchorOrigin: {
223
+ const content = (_jsxs(CardContent, { children: [_jsxs(Box, { className: classes.header, children: [_jsx(Typography, { className: classes.title, variant: 'h5', children: _jsx(FormattedMessage, { id: "ui.incubatorListWidget.title", defaultMessage: "ui.incubatorListWidget.title" }) }), _jsx(IconButton, { className: classes.helpPopover, color: "primary", "aria-label": "info", component: "span", onClick: handleClickHelpButton, children: _jsx(Icon, { children: "help_outline" }) }), isOpen && (_jsx(Popover, { open: isOpen, anchorEl: anchorEl, onClose: handlePopoverClose, anchorOrigin: {
224
224
  vertical: 'bottom',
225
225
  horizontal: 'right'
226
- } }, { children: _jsx(Box, Object.assign({ sx: { p: '10px' } }, { children: _jsx(Typography, Object.assign({ component: 'span', sx: { whiteSpace: 'pre-line' } }, { children: _jsx(FormattedMessage, { id: "ui.incubatorListWidget.popover", defaultMessage: "ui.incubatorListWidget.popover" }) })) })) })))] })), !state.count ? (_jsx(Typography, Object.assign({ className: classes.noResults, variant: "body2" }, { children: _jsx(FormattedMessage, { id: "ui.incubatorListWidget.noResults", defaultMessage: "ui.incubatorListWidget.noResults" }) }))) : (_jsxs(React.Fragment, { children: [_jsx(List, { children: state.results.slice(0, state.visibleItems).map((incubator) => (_jsx(ListItem, { children: _jsx(Incubator, Object.assign({ elevation: 0, incubator: incubator, subscribeButtonProps: { onSubscribe: handleSubscriptionsUpdate }, ButtonProps: { onClick: () => handleIncubatorDetailDialogOpening(incubator) } }, IncubatorProps)) }, incubator.id))) }), _jsxs(Box, Object.assign({ className: classes.actions }, { children: [state.count > state.visibleItems && (_jsx(Button, Object.assign({ className: classes.showMore, onClick: handleToggleDialogOpen }, { children: _jsx(FormattedMessage, { id: "ui.incubatorListWidget.ShowAll", defaultMessage: "ui.incubatorListWidget.ShowAll" }) }))), _jsx(Button, Object.assign({ size: "small", onClick: () => setOpenCreateIncubatorDialog(true) }, { children: _jsx(FormattedMessage, { id: "ui.incubatorListWidget.SuggestNewTopic", defaultMessage: "ui.incubatorListWidget.SuggestNewTopic" }) }))] }))] })), openDialog && (_jsx(DialogRoot, Object.assign({ className: classes.dialogRoot, title: _jsx(FormattedMessage, { id: "ui.incubatorListWidget.title", defaultMessage: "ui.incubatorListWidget.title" }), onClose: handleToggleDialogOpen, open: openDialog }, DialogProps, { children: _jsx(InfiniteScroll, Object.assign({ dataLength: state.results.length, next: handleNext, hasMoreNext: Boolean(state.next), loaderNext: _jsx(IncubatorSkeleton, Object.assign({ elevation: 0 }, IncubatorProps)), height: isMobile ? '100vh' : 400, endMessage: _jsx(Typography, Object.assign({ className: classes.endMessage }, { children: _jsx(FormattedMessage, { id: "ui.incubatorListWidget.noMoreIncubators", defaultMessage: "ui.incubatorListWidget.noMoreIncubators" }) })) }, { children: _jsx(List, { children: state.results.map((incubator) => (_jsx(ListItem, { children: _jsx(Incubator, Object.assign({ elevation: 0, incubator: incubator, subscribeButtonProps: { onSubscribe: handleSubscriptionsUpdate }, ButtonProps: { onClick: () => handleIncubatorDetailDialogOpening(incubator) } }, IncubatorProps)) }, incubator.id))) }) })) }))), openCreateIncubatorDialog && (_jsx(CreateIncubatorDialog, { className: classes.createDialog, open: openCreateIncubatorDialog, onClose: handleCreateIncubatorDialogClose })), openIncubatorDetailDialog && (_jsx(IncubatorDetail, { open: openIncubatorDetailDialog, onClose: handleIncubatorDetailDialogClose, incubator: detailObj, onSubscriptionsUpdate: handleSubscriptionsUpdate }))] }));
226
+ }, children: _jsx(Box, { sx: { p: '10px' }, children: _jsx(Typography, { component: 'span', sx: { whiteSpace: 'pre-line' }, children: _jsx(FormattedMessage, { id: "ui.incubatorListWidget.popover", defaultMessage: "ui.incubatorListWidget.popover" }) }) }) }))] }), !state.count ? (_jsx(Typography, { className: classes.noResults, variant: "body2", children: _jsx(FormattedMessage, { id: "ui.incubatorListWidget.noResults", defaultMessage: "ui.incubatorListWidget.noResults" }) })) : (_jsxs(React.Fragment, { children: [_jsx(List, { children: state.results.slice(0, state.visibleItems).map((incubator) => (_jsx(ListItem, { children: _jsx(Incubator, Object.assign({ elevation: 0, incubator: incubator, subscribeButtonProps: { onSubscribe: handleSubscriptionsUpdate }, ButtonProps: { onClick: () => handleIncubatorDetailDialogOpening(incubator) } }, IncubatorProps)) }, incubator.id))) }), _jsxs(Box, { className: classes.actions, children: [state.count > state.visibleItems && (_jsx(Button, { className: classes.showMore, onClick: handleToggleDialogOpen, children: _jsx(FormattedMessage, { id: "ui.incubatorListWidget.ShowAll", defaultMessage: "ui.incubatorListWidget.ShowAll" }) })), _jsx(Button, { size: "small", onClick: () => setOpenCreateIncubatorDialog(true), children: _jsx(FormattedMessage, { id: "ui.incubatorListWidget.SuggestNewTopic", defaultMessage: "ui.incubatorListWidget.SuggestNewTopic" }) })] })] })), openDialog && (_jsx(DialogRoot, Object.assign({ className: classes.dialogRoot, title: _jsx(FormattedMessage, { id: "ui.incubatorListWidget.title", defaultMessage: "ui.incubatorListWidget.title" }), onClose: handleToggleDialogOpen, open: openDialog }, DialogProps, { children: _jsx(InfiniteScroll, { dataLength: state.results.length, next: handleNext, hasMoreNext: Boolean(state.next), loaderNext: _jsx(IncubatorSkeleton, Object.assign({ elevation: 0 }, IncubatorProps)), height: isMobile ? '100vh' : 400, endMessage: _jsx(Typography, { className: classes.endMessage, children: _jsx(FormattedMessage, { id: "ui.incubatorListWidget.noMoreIncubators", defaultMessage: "ui.incubatorListWidget.noMoreIncubators" }) }), children: _jsx(List, { children: state.results.map((incubator) => (_jsx(ListItem, { children: _jsx(Incubator, Object.assign({ elevation: 0, incubator: incubator, subscribeButtonProps: { onSubscribe: handleSubscriptionsUpdate }, ButtonProps: { onClick: () => handleIncubatorDetailDialogOpening(incubator) } }, IncubatorProps)) }, incubator.id))) }) }) }))), openCreateIncubatorDialog && (_jsx(CreateIncubatorDialog, { className: classes.createDialog, open: openCreateIncubatorDialog, onClose: handleCreateIncubatorDialogClose })), openIncubatorDetailDialog && (_jsx(IncubatorDetail, { open: openIncubatorDetailDialog, onClose: handleIncubatorDetailDialogClose, incubator: detailObj, onSubscriptionsUpdate: handleSubscriptionsUpdate }))] }));
227
227
  return (_jsx(Root, Object.assign({ className: classNames(classes.root, className) }, rest, { children: content })));
228
228
  }