@selfcommunity/react-ui 0.8.0-embeds.16 → 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 (798) 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 +6 -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 +15 -6
  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 +9 -9
  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 +13 -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 +10 -1
  253. package/lib/cjs/components/OnBoardingWidget/OnBoardingWidget.js +115 -30
  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/formatRelativeTime.js +2 -2
  393. package/lib/cjs/utils/hash.d.ts +2 -1
  394. package/lib/cjs/utils/liveStream.d.ts +4 -0
  395. package/lib/cjs/utils/liveStream.js +25 -0
  396. package/lib/cjs/utils/widget.d.ts +1 -0
  397. package/lib/cjs/utils/widget.js +14 -0
  398. package/lib/esm/components/AccountChangeMailValidation/AccountChangeMailValidation.js +1 -1
  399. package/lib/esm/components/AccountDataPortability/AccountDataPortability.js +4 -4
  400. package/lib/esm/components/AccountDataPortabilityButton/AccountDataPortabilityButton.js +1 -1
  401. package/lib/esm/components/AccountDelete/AccountDelete.js +3 -3
  402. package/lib/esm/components/AccountDeleteButton/AccountDeleteButton.js +1 -1
  403. package/lib/esm/components/AccountRecover/AccountRecover.js +2 -2
  404. package/lib/esm/components/AccountReset/AccountReset.js +1 -1
  405. package/lib/esm/components/AccountVerify/AccountVerify.js +1 -1
  406. package/lib/esm/components/BottomNavigation/BottomNavigation.d.ts +1 -1
  407. package/lib/esm/components/BottomNavigation/BottomNavigation.js +2 -2
  408. package/lib/esm/components/BroadcastMessages/BroadcastMessages.js +1 -1
  409. package/lib/esm/components/BroadcastMessages/Message.js +4 -4
  410. package/lib/esm/components/BroadcastMessages/Skeleton.js +1 -1
  411. package/lib/esm/components/Categories/Categories.js +24 -2
  412. package/lib/esm/components/Categories/Skeleton.js +1 -1
  413. package/lib/esm/components/CategoriesPopularWidget/CategoriesPopularWidget.js +23 -2
  414. package/lib/esm/components/CategoriesSuggestionWidget/CategoriesSuggestionWidget.js +23 -2
  415. package/lib/esm/components/CategoriesSuggestionWidget/Skeleton.js +1 -1
  416. package/lib/esm/components/Category/Category.js +1 -1
  417. package/lib/esm/components/Category/Skeleton.js +1 -1
  418. package/lib/esm/components/CategoryAutocomplete/CategoryAutocomplete.js +1 -1
  419. package/lib/esm/components/CategoryFollowersButton/CategoryFollowersButton.js +1 -1
  420. package/lib/esm/components/CategoryHeader/CategoryHeader.js +1 -1
  421. package/lib/esm/components/CategoryHeader/Skeleton.js +1 -1
  422. package/lib/esm/components/CategoryTrendingFeedWidget/CategoryTrendingFeedWidget.js +2 -2
  423. package/lib/esm/components/CategoryTrendingFeedWidget/Skeleton.js +1 -1
  424. package/lib/esm/components/CategoryTrendingUsersWidget/CategoryTrendingUsersWidget.js +1 -1
  425. package/lib/esm/components/CategoryTrendingUsersWidget/Skeleton.js +1 -1
  426. package/lib/esm/components/ChangeCover/ChangeCover.js +6 -6
  427. package/lib/esm/components/ChangeGroupCover/ChangeGroupCover.js +1 -1
  428. package/lib/esm/components/ChangeGroupPicture/ChangeGroupPicture.js +1 -1
  429. package/lib/esm/components/ChangePicture/ChangePictureDialog/ChangePictureDialog.js +2 -2
  430. package/lib/esm/components/CommentObject/CommentObject.js +4 -4
  431. package/lib/esm/components/CommentObjectReply/CommentObjectReply.js +1 -1
  432. package/lib/esm/components/CommentsFeedObject/CommentsFeedObject.js +4 -4
  433. package/lib/esm/components/CommentsObject/CommentsObject.js +6 -6
  434. package/lib/esm/components/Composer/Attributes/Attributes.js +2 -2
  435. package/lib/esm/components/Composer/Composer.js +6 -4
  436. package/lib/esm/components/Composer/Content/ContentDiscussion/ContentDiscussion.js +3 -3
  437. package/lib/esm/components/Composer/Content/ContentPoll/ContentPoll.js +6 -6
  438. package/lib/esm/components/Composer/Content/ContentPost/ContentPost.js +1 -1
  439. package/lib/esm/components/Composer/Layer/AudienceLayer/AudienceLayer.js +4 -4
  440. package/lib/esm/components/Composer/Layer/CategoryLayer/CategoryLayer.js +1 -1
  441. package/lib/esm/components/Composer/Layer/CloseLayer/CloseLayer.js +1 -1
  442. package/lib/esm/components/Composer/Layer/LocationLayer/LocationLayer.js +1 -1
  443. package/lib/esm/components/Composer/Skeleton.js +1 -1
  444. package/lib/esm/components/Composer/TypeSwitchButtonGroup/TypeSwitchButtonGroup.js +2 -2
  445. package/lib/esm/components/ComposerIconButton/ComposerIconButton.js +2 -2
  446. package/lib/esm/components/ConsentSolution/ConsentSolution.js +4 -4
  447. package/lib/esm/components/ConsentSolution/Skeleton.js +1 -1
  448. package/lib/esm/components/CreateEventButton/CreateEventButton.d.ts +2 -2
  449. package/lib/esm/components/CreateEventButton/CreateEventButton.js +4 -4
  450. package/lib/esm/components/CreateEventWidget/CreateEventWidget.js +1 -1
  451. package/lib/esm/components/CreateEventWidget/Skeleton.js +1 -1
  452. package/lib/esm/components/CreateLiveStreamButton/CreateLiveStreamButton.d.ts +49 -0
  453. package/lib/esm/components/CreateLiveStreamButton/CreateLiveStreamButton.js +91 -0
  454. package/lib/esm/components/CreateLiveStreamButton/index.d.ts +3 -0
  455. package/lib/esm/components/CreateLiveStreamButton/index.js +2 -0
  456. package/lib/esm/components/CreateLiveStreamDialog/CreateLiveStreamDialog.d.ts +51 -0
  457. package/lib/esm/components/CreateLiveStreamDialog/CreateLiveStreamDialog.js +120 -0
  458. package/lib/esm/components/CreateLiveStreamDialog/LiveStreamSelector/LiveStreamSelector.d.ts +46 -0
  459. package/lib/esm/components/CreateLiveStreamDialog/LiveStreamSelector/LiveStreamSelector.js +163 -0
  460. package/lib/esm/components/CreateLiveStreamDialog/constants.d.ts +1 -0
  461. package/lib/esm/components/CreateLiveStreamDialog/constants.js +1 -0
  462. package/lib/esm/components/CreateLiveStreamDialog/index.d.ts +3 -0
  463. package/lib/esm/components/CreateLiveStreamDialog/index.js +2 -0
  464. package/lib/esm/components/CreateLiveStreamDialog/types.d.ts +8 -0
  465. package/lib/esm/components/CreateLiveStreamDialog/types.js +10 -0
  466. package/lib/esm/components/CustomAdv/CustomAdv.js +2 -2
  467. package/lib/esm/components/EditEventButton/EditEventButton.js +1 -1
  468. package/lib/esm/components/Editor/Editor.d.ts +1 -1
  469. package/lib/esm/components/Editor/Editor.js +1 -1
  470. package/lib/esm/components/Editor/nodes/HashtagNode.d.ts +1 -1
  471. package/lib/esm/components/Editor/nodes/HashtagNode.js +4 -4
  472. package/lib/esm/components/Editor/nodes/ImageNode.d.ts +1 -1
  473. package/lib/esm/components/Editor/nodes/ImageNode.js +7 -7
  474. package/lib/esm/components/Editor/nodes/MentionNode.d.ts +1 -1
  475. package/lib/esm/components/Editor/nodes/MentionNode.js +4 -4
  476. package/lib/esm/components/Editor/plugins/ApiPlugin.d.ts +1 -1
  477. package/lib/esm/components/Editor/plugins/EmojiPlugin.js +2 -2
  478. package/lib/esm/components/Editor/plugins/FloatingLinkPlugin.js +4 -4
  479. package/lib/esm/components/Editor/plugins/HashtagPlugin.js +3 -3
  480. package/lib/esm/components/Editor/plugins/ImagePlugin.js +4 -4
  481. package/lib/esm/components/Editor/plugins/MentionsPlugin.d.ts +2 -2
  482. package/lib/esm/components/Editor/plugins/MentionsPlugin.js +4 -4
  483. package/lib/esm/components/Editor/plugins/ToolbarPlugin.js +5 -5
  484. package/lib/esm/components/Editor/shared/useDecorators.d.ts +2 -2
  485. package/lib/esm/components/Editor/shared/useDecorators.js +1 -1
  486. package/lib/esm/components/Event/Event.js +5 -5
  487. package/lib/esm/components/Event/Skeleton.js +3 -3
  488. package/lib/esm/components/EventAutocomplete/EventAutocomplete.js +1 -1
  489. package/lib/esm/components/EventForm/EventAddress.js +2 -2
  490. package/lib/esm/components/EventForm/EventForm.d.ts +7 -12
  491. package/lib/esm/components/EventForm/EventForm.js +56 -56
  492. package/lib/esm/components/EventForm/UploadEventCover.js +1 -1
  493. package/lib/esm/components/EventForm/types.d.ts +5 -5
  494. package/lib/esm/components/EventFormDialog/EventFormDialog.d.ts +48 -0
  495. package/lib/esm/components/EventFormDialog/EventFormDialog.js +53 -0
  496. package/lib/esm/components/EventFormDialog/constants.d.ts +1 -0
  497. package/lib/esm/components/EventFormDialog/constants.js +1 -0
  498. package/lib/esm/components/EventFormDialog/index.d.ts +3 -0
  499. package/lib/esm/components/EventFormDialog/index.js +2 -0
  500. package/lib/esm/components/EventHeader/EventHeader.js +4 -8
  501. package/lib/esm/components/EventHeader/Skeleton.js +1 -1
  502. package/lib/esm/components/EventInfoWidget/EventInfoWidget.js +7 -5
  503. package/lib/esm/components/EventInfoWidget/Skeleton.js +1 -1
  504. package/lib/esm/components/EventInviteButton/EventInviteButton.js +2 -2
  505. package/lib/esm/components/EventLocationWidget/EventLocationWidget.js +3 -3
  506. package/lib/esm/components/EventLocationWidget/Skeleton.js +1 -1
  507. package/lib/esm/components/EventMediaWidget/EventMediaWidget.d.ts +41 -0
  508. package/lib/esm/components/EventMediaWidget/EventMediaWidget.js +250 -0
  509. package/lib/esm/components/EventMediaWidget/Skeleton.d.ts +2 -0
  510. package/lib/esm/components/EventMediaWidget/Skeleton.js +22 -0
  511. package/lib/esm/components/EventMediaWidget/TriggerButton.d.ts +17 -0
  512. package/lib/esm/components/EventMediaWidget/TriggerButton.js +64 -0
  513. package/lib/esm/components/EventMediaWidget/asUploadButton.d.ts +7 -0
  514. package/lib/esm/components/EventMediaWidget/asUploadButton.js +23 -0
  515. package/lib/esm/components/EventMediaWidget/constants.d.ts +1 -0
  516. package/lib/esm/components/EventMediaWidget/constants.js +1 -0
  517. package/lib/esm/components/EventMediaWidget/index.d.ts +4 -0
  518. package/lib/esm/components/EventMediaWidget/index.js +4 -0
  519. package/lib/esm/components/EventMembersWidget/EventMembersWidget.d.ts +3 -0
  520. package/lib/esm/components/EventMembersWidget/EventMembersWidget.js +21 -16
  521. package/lib/esm/components/EventMembersWidget/Skeleton.js +1 -1
  522. package/lib/esm/components/EventMembersWidget/TabContentComponent.js +3 -3
  523. package/lib/esm/components/EventMembersWidget/types.d.ts +1 -1
  524. package/lib/esm/components/EventParticipantsButton/EventParticipantsButton.js +1 -1
  525. package/lib/esm/components/EventSubscribeButton/EventSubscribeButton.js +2 -2
  526. package/lib/esm/components/Events/Events.js +19 -10
  527. package/lib/esm/components/Events/LocationEventsFilter.d.ts +14 -0
  528. package/lib/esm/components/Events/LocationEventsFilter.js +41 -0
  529. package/lib/esm/components/Events/PastEventsFilter.js +1 -2
  530. package/lib/esm/components/Events/Skeleton.js +1 -1
  531. package/lib/esm/components/Feed/Feed.d.ts +2 -2
  532. package/lib/esm/components/Feed/Feed.js +17 -8
  533. package/lib/esm/components/Feed/Skeleton.d.ts +1 -1
  534. package/lib/esm/components/Feed/Skeleton.js +1 -1
  535. package/lib/esm/components/FeedObject/Actions/Actions.js +1 -1
  536. package/lib/esm/components/FeedObject/Actions/Comment/Comment.js +3 -3
  537. package/lib/esm/components/FeedObject/Actions/Follow/Follow.js +1 -1
  538. package/lib/esm/components/FeedObject/Actions/Share/Share.js +5 -5
  539. package/lib/esm/components/FeedObject/Actions/Share/SharesDialog/SharesDialog.js +1 -1
  540. package/lib/esm/components/FeedObject/Activities/Activities.js +1 -1
  541. package/lib/esm/components/FeedObject/Activities/ActivitiesMenu/ActivitiesMenu.js +4 -4
  542. package/lib/esm/components/FeedObject/Activities/RelevantActivities/CommentActivity/CommentActivity.js +3 -3
  543. package/lib/esm/components/FeedObject/Activities/RelevantActivities/FollowActivity/FollowActivity.js +2 -2
  544. package/lib/esm/components/FeedObject/Activities/RelevantActivities/PollVoteActivity/PollVoteActivity.js +2 -2
  545. package/lib/esm/components/FeedObject/Activities/RelevantActivities/RelevantActivities.js +1 -1
  546. package/lib/esm/components/FeedObject/Activities/RelevantActivities/VoteUpActivity/VoteUpActivity.js +2 -2
  547. package/lib/esm/components/FeedObject/Contributors/Contributors.js +1 -1
  548. package/lib/esm/components/FeedObject/Contributors/Skeleton.js +1 -1
  549. package/lib/esm/components/FeedObject/FeedObject.js +11 -11
  550. package/lib/esm/components/FeedObject/Poll/Choice/Choice.js +2 -2
  551. package/lib/esm/components/FeedObject/Poll/Poll.js +1 -1
  552. package/lib/esm/components/FeedUpdatesWidget/FeedUpdatesWidget.js +1 -1
  553. package/lib/esm/components/Footer/Footer.js +1 -1
  554. package/lib/esm/components/Group/Group.js +2 -2
  555. package/lib/esm/components/Group/Skeleton.js +1 -1
  556. package/lib/esm/components/GroupActionsMenu/index.d.ts +57 -0
  557. package/lib/esm/components/GroupActionsMenu/index.js +154 -0
  558. package/lib/esm/components/GroupAutocomplete/GroupAutocomplete.js +1 -1
  559. package/lib/esm/components/GroupForm/GroupForm.js +9 -9
  560. package/lib/esm/components/GroupHeader/GroupHeader.d.ts +6 -0
  561. package/lib/esm/components/GroupHeader/GroupHeader.js +9 -5
  562. package/lib/esm/components/GroupHeader/Skeleton.js +1 -1
  563. package/lib/esm/components/GroupInfoWidget/GroupInfoWidget.js +6 -6
  564. package/lib/esm/components/GroupInviteButton/GroupInviteButton.js +2 -2
  565. package/lib/esm/components/GroupInvitedWidget/GroupInvitedWidget.js +1 -1
  566. package/lib/esm/components/GroupMembersButton/GroupMembersButton.js +1 -1
  567. package/lib/esm/components/GroupMembersWidget/GroupMembersWidget.js +5 -5
  568. package/lib/esm/components/GroupRequestsWidget/GroupRequestsWidget.js +1 -1
  569. package/lib/esm/components/GroupSettingsIconButton/GroupSettingsIconButton.js +5 -5
  570. package/lib/esm/components/Groups/Groups.js +30 -4
  571. package/lib/esm/components/Groups/Skeleton.js +1 -1
  572. package/lib/esm/components/Incubator/Incubator.js +4 -4
  573. package/lib/esm/components/Incubator/Skeleton.js +1 -1
  574. package/lib/esm/components/IncubatorDetail/IncubatorDetail.js +2 -2
  575. package/lib/esm/components/IncubatorListWidget/CreateIncubatorDialog/CreateIncubatorDialog.js +2 -2
  576. package/lib/esm/components/IncubatorListWidget/IncubatorListWidget.js +2 -2
  577. package/lib/esm/components/IncubatorListWidget/Skeleton.js +1 -1
  578. package/lib/esm/components/IncubatorSuggestionWidget/IncubatorSuggestionWidget.js +1 -1
  579. package/lib/esm/components/IncubatorSuggestionWidget/Skeleton.js +1 -1
  580. package/lib/esm/components/InlineComposerWidget/InlineComposerWidget.js +1 -1
  581. package/lib/esm/components/InlineComposerWidget/Skeleton.js +1 -1
  582. package/lib/esm/components/LiveStreamForm/LiveStreamForm.d.ts +55 -0
  583. package/lib/esm/components/LiveStreamForm/LiveStreamForm.js +153 -0
  584. package/lib/esm/components/LiveStreamForm/constants.d.ts +1 -0
  585. package/lib/esm/components/LiveStreamForm/constants.js +1 -0
  586. package/lib/esm/components/LiveStreamForm/index.d.ts +3 -0
  587. package/lib/esm/components/LiveStreamForm/index.js +2 -0
  588. package/lib/esm/components/LiveStreamForm/types.d.ts +10 -0
  589. package/lib/esm/components/LiveStreamForm/types.js +1 -0
  590. package/lib/esm/components/LiveStreamRoom/LiveStreamRoom.d.ts +48 -0
  591. package/lib/esm/components/LiveStreamRoom/LiveStreamRoom.js +120 -0
  592. package/lib/esm/components/LiveStreamRoom/LiveStreamVideoConference/LiveStreamVideoConference.d.ts +69 -0
  593. package/lib/esm/components/LiveStreamRoom/LiveStreamVideoConference/LiveStreamVideoConference.js +181 -0
  594. package/lib/esm/components/LiveStreamRoom/LiveStreamVideoConference/RecordingIndicator.d.ts +4 -0
  595. package/lib/esm/components/LiveStreamRoom/LiveStreamVideoConference/RecordingIndicator.js +28 -0
  596. package/lib/esm/components/LiveStreamRoom/LiveStreamVideoConference/constants.d.ts +1 -0
  597. package/lib/esm/components/LiveStreamRoom/LiveStreamVideoConference/constants.js +1 -0
  598. package/lib/esm/components/LiveStreamRoom/LiveStreamVideoConference/index.d.ts +3 -0
  599. package/lib/esm/components/LiveStreamRoom/LiveStreamVideoConference/index.js +2 -0
  600. package/lib/esm/components/LiveStreamRoom/constants.d.ts +5 -0
  601. package/lib/esm/components/LiveStreamRoom/constants.js +5 -0
  602. package/lib/esm/components/LiveStreamRoom/index.d.ts +3 -0
  603. package/lib/esm/components/LiveStreamRoom/index.js +2 -0
  604. package/lib/esm/components/LiveStreamRoom/types.d.ts +22 -0
  605. package/lib/esm/components/LiveStreamRoom/types.js +4 -0
  606. package/lib/esm/components/LocationAutocomplete/LocationAutocomplete.js +1 -1
  607. package/lib/esm/components/LoyaltyProgramWidget/LoyaltyProgramWidget.js +1 -1
  608. package/lib/esm/components/LoyaltyProgramWidget/Skeleton.js +1 -1
  609. package/lib/esm/components/MyEventsWidget/MyEventsWidget.js +1 -1
  610. package/lib/esm/components/MyEventsWidget/Skeleton.js +1 -1
  611. package/lib/esm/components/NavigationMenuIconButton/DefaultDrawerContent.js +2 -2
  612. package/lib/esm/components/NavigationMenuIconButton/DefaultHeaderContent.d.ts +1 -1
  613. package/lib/esm/components/NavigationMenuIconButton/DefaultHeaderContent.js +1 -1
  614. package/lib/esm/components/NavigationMenuIconButton/NavigationMenuDrawer.d.ts +47 -0
  615. package/lib/esm/components/NavigationMenuIconButton/NavigationMenuDrawer.js +36 -0
  616. package/lib/esm/components/NavigationMenuIconButton/NavigationMenuIconButton.d.ts +9 -20
  617. package/lib/esm/components/NavigationMenuIconButton/NavigationMenuIconButton.js +6 -22
  618. package/lib/esm/components/NavigationMenuIconButton/index.d.ts +2 -1
  619. package/lib/esm/components/NavigationMenuIconButton/index.js +2 -1
  620. package/lib/esm/components/NavigationSettingsIconButton/NavigationSettingsIconButton.js +65 -32
  621. package/lib/esm/components/NavigationToolbar/NavigationToolbar.d.ts +5 -0
  622. package/lib/esm/components/NavigationToolbar/NavigationToolbar.js +9 -9
  623. package/lib/esm/components/NavigationToolbar/NotificationMenu.js +1 -1
  624. package/lib/esm/components/NavigationToolbar/Skeleton.js +1 -1
  625. package/lib/esm/components/NavigationToolbarMobile/NavigationToolbarMobile.js +4 -4
  626. package/lib/esm/components/NavigationToolbarMobile/Skeleton.js +1 -1
  627. package/lib/esm/components/Notification/CollapsedFor/CollapsedFor.js +1 -1
  628. package/lib/esm/components/Notification/Comment/Comment.js +3 -3
  629. package/lib/esm/components/Notification/Contribution/Contribution.js +3 -3
  630. package/lib/esm/components/Notification/ContributionFollow/ContributionFollow.js +2 -2
  631. package/lib/esm/components/Notification/DeletedFor/DeletedFor.js +1 -1
  632. package/lib/esm/components/Notification/Event/Event.js +13 -9
  633. package/lib/esm/components/Notification/Group/Group.js +8 -8
  634. package/lib/esm/components/Notification/IncubatorApproved/IncubatorApproved.js +3 -3
  635. package/lib/esm/components/Notification/KindlyNoticeFlag/KindlyNoticeFlag.js +1 -1
  636. package/lib/esm/components/Notification/KindlyNoticeFor/KindlyNoticeFor.js +2 -2
  637. package/lib/esm/components/Notification/Mention/Mention.js +3 -3
  638. package/lib/esm/components/Notification/Notification.js +8 -8
  639. package/lib/esm/components/Notification/PrivateMessage/PrivateMessage.js +10 -10
  640. package/lib/esm/components/Notification/Skeleton.js +1 -1
  641. package/lib/esm/components/Notification/UndeletedFor/UndeletedFor.js +1 -1
  642. package/lib/esm/components/Notification/UserBlocked/UserBlocked.js +3 -3
  643. package/lib/esm/components/Notification/UserConnection/UserConnection.js +2 -2
  644. package/lib/esm/components/Notification/UserFollow/UserFollow.js +2 -2
  645. package/lib/esm/components/Notification/VoteUp/VoteUp.js +2 -2
  646. package/lib/esm/components/OnBoardingWidget/ActionsButton.d.ts +7 -0
  647. package/lib/esm/components/OnBoardingWidget/ActionsButton.js +81 -0
  648. package/lib/esm/components/OnBoardingWidget/OnBoardingWidget.d.ts +10 -1
  649. package/lib/esm/components/OnBoardingWidget/OnBoardingWidget.js +118 -33
  650. package/lib/esm/components/OnBoardingWidget/Skeleton.js +1 -1
  651. package/lib/esm/components/OnBoardingWidget/Steps/App/App.js +9 -9
  652. package/lib/esm/components/OnBoardingWidget/Steps/Appearance/Appearance.js +27 -20
  653. package/lib/esm/components/OnBoardingWidget/Steps/Category/Category.js +5 -5
  654. package/lib/esm/components/OnBoardingWidget/Steps/Content/Content.js +1 -1
  655. package/lib/esm/components/OnBoardingWidget/Steps/Invite/Invite.js +59 -14
  656. package/lib/esm/components/OnBoardingWidget/Steps/Profile/Profile.js +1 -1
  657. package/lib/esm/components/PlatformWidget/PlatformWidget.js +8 -8
  658. package/lib/esm/components/PlatformWidget/Skeleton.js +1 -1
  659. package/lib/esm/components/PlatformWidget/constants.d.ts +0 -4
  660. package/lib/esm/components/PlatformWidget/constants.js +0 -4
  661. package/lib/esm/components/PollSuggestionWidget/PollSnippet/PollSnippet.js +1 -1
  662. package/lib/esm/components/PollSuggestionWidget/PollSuggestionWidget.js +1 -1
  663. package/lib/esm/components/PollSuggestionWidget/Skeleton.js +1 -1
  664. package/lib/esm/components/PrivateMessageComponent/PrivateMessageComponent.js +4 -4
  665. package/lib/esm/components/PrivateMessageComponent/Skeleton.d.ts +1 -1
  666. package/lib/esm/components/PrivateMessageComponent/Skeleton.js +1 -1
  667. package/lib/esm/components/PrivateMessageEditor/MessageMediaUploader/index.js +5 -5
  668. package/lib/esm/components/PrivateMessageEditor/PrivateMessageEditor.js +6 -6
  669. package/lib/esm/components/PrivateMessageSettingsIconButton/PrivateMessageSettingsIconButton.js +7 -7
  670. package/lib/esm/components/PrivateMessageSnippetItem/PrivateMessageSnippetItem.js +3 -3
  671. package/lib/esm/components/PrivateMessageSnippetItem/Skeleton.js +1 -1
  672. package/lib/esm/components/PrivateMessageSnippets/PrivateMessageSnippets.js +4 -4
  673. package/lib/esm/components/PrivateMessageSnippets/Skeleton.js +1 -1
  674. package/lib/esm/components/PrivateMessageThread/PrivateMessageThread.js +6 -6
  675. package/lib/esm/components/PrivateMessageThread/Skeleton.js +1 -1
  676. package/lib/esm/components/PrivateMessageThreadItem/PrivateMessageThreadItem.js +6 -8
  677. package/lib/esm/components/RelatedEventsWidget/RelatedEventsWidget.js +1 -1
  678. package/lib/esm/components/RelatedEventsWidget/Skeleton.js +1 -1
  679. package/lib/esm/components/RelatedFeedObjectsWidget/RelatedFeedObjectsWidget.js +1 -1
  680. package/lib/esm/components/SearchAutocomplete/SearchAutocomplete.js +2 -2
  681. package/lib/esm/components/SnippetNotifications/Skeleton.js +1 -1
  682. package/lib/esm/components/SnippetNotifications/SnippetNotifications.js +3 -3
  683. package/lib/esm/components/SuggestedEventsWidget/Arrow.js +2 -2
  684. package/lib/esm/components/SuggestedEventsWidget/Skeleton.js +1 -1
  685. package/lib/esm/components/SuggestedEventsWidget/SuggestedEventsWidget.js +2 -2
  686. package/lib/esm/components/User/Skeleton.js +1 -1
  687. package/lib/esm/components/User/User.js +2 -2
  688. package/lib/esm/components/UserActionIconButton/UserActionIconButton.js +9 -9
  689. package/lib/esm/components/UserConnectionsRequestsSentWidget/UserConnectionsRequestsSentWidget.js +1 -1
  690. package/lib/esm/components/UserConnectionsRequestsWidget/UserConnectionsRequestsWidget.js +1 -1
  691. package/lib/esm/components/UserConnectionsWidget/UserConnectionsWidget.js +1 -1
  692. package/lib/esm/components/UserCounters/UserCounters.js +5 -5
  693. package/lib/esm/components/UserFollowedCategoriesWidget/UserFollowedCategoriesWidget.js +1 -1
  694. package/lib/esm/components/UserFollowedUsersWidget/UserFollowedUsersWidget.js +1 -1
  695. package/lib/esm/components/UserFollowersWidget/UserFollowersWidget.js +1 -1
  696. package/lib/esm/components/UserInfo/Skeleton.js +1 -1
  697. package/lib/esm/components/UserInfo/UserInfo.js +3 -3
  698. package/lib/esm/components/UserInfoDialog/UserInfoDialog.js +1 -1
  699. package/lib/esm/components/UserProfileBlocked/UserProfileBlocked.js +1 -1
  700. package/lib/esm/components/UserProfileEdit/Section/Account.js +1 -1
  701. package/lib/esm/components/UserProfileEdit/Section/AccountCredentials.js +6 -6
  702. package/lib/esm/components/UserProfileEdit/Section/PublicInfo.js +8 -8
  703. package/lib/esm/components/UserProfileEdit/Section/Settings.js +3 -3
  704. package/lib/esm/components/UserProfileEdit/Section/SettingsSkeleton.js +1 -1
  705. package/lib/esm/components/UserProfileEdit/Skeleton.js +1 -1
  706. package/lib/esm/components/UserProfileEdit/UserProfileEdit.js +1 -1
  707. package/lib/esm/components/UserProfileHeader/Skeleton.js +1 -1
  708. package/lib/esm/components/UserProfileHeader/UserProfileHeader.js +1 -1
  709. package/lib/esm/components/UserSocialAssociation/UserSocialAssociation.js +1 -1
  710. package/lib/esm/components/UserSubscribedGroupsWidget/Skeleton.js +1 -1
  711. package/lib/esm/components/UserSubscribedGroupsWidget/UserSubscribedGroupsWidget.js +2 -2
  712. package/lib/esm/components/UserSuggestionWidget/Skeleton.js +1 -1
  713. package/lib/esm/components/UserSuggestionWidget/UserSuggestionWidget.js +1 -1
  714. package/lib/esm/components/VoteAudienceButton/VoteAudienceButton.js +5 -5
  715. package/lib/esm/components/VoteButton/VoteButton.js +2 -2
  716. package/lib/esm/constants/GroupActionsMenu.d.ts +5 -0
  717. package/lib/esm/constants/GroupActionsMenu.js +5 -0
  718. package/lib/esm/constants/LiveStream.d.ts +3 -0
  719. package/lib/esm/constants/LiveStream.js +3 -0
  720. package/lib/esm/constants/PubSub.d.ts +8 -1
  721. package/lib/esm/constants/PubSub.js +8 -0
  722. package/lib/esm/index.d.ts +15 -4
  723. package/lib/esm/index.js +17 -7
  724. package/lib/esm/shared/AutoPlayer/index.js +2 -2
  725. package/lib/esm/shared/BaseDialog/BaseDialog.js +2 -2
  726. package/lib/esm/shared/BaseItem/BaseItem.js +2 -2
  727. package/lib/esm/shared/BaseItemButton/BaseItemButton.js +2 -2
  728. package/lib/esm/shared/Calendar/index.js +1 -1
  729. package/lib/esm/shared/ConfirmDialog/ConfirmDialog.js +1 -1
  730. package/lib/esm/shared/ConsentSolutionSwitch/index.js +3 -3
  731. package/lib/esm/shared/ContributionActionsMenu/index.js +10 -10
  732. package/lib/esm/shared/CustomSnackMessage/index.js +1 -1
  733. package/lib/esm/shared/DateTimeAgo/index.js +1 -1
  734. package/lib/esm/shared/EmojiPicker/EmojiPicker.js +1 -1
  735. package/lib/esm/shared/EventActionsMenu/index.d.ts +1 -1
  736. package/lib/esm/shared/EventActionsMenu/index.js +15 -19
  737. package/lib/esm/shared/EventInfoDetails/index.js +6 -6
  738. package/lib/esm/shared/InfiniteScroll/index.d.ts +1 -1
  739. package/lib/esm/shared/InfiniteScroll/index.js +5 -5
  740. package/lib/esm/shared/InfiniteScroll/stories/InfiniteScrollWithHeight.js +1 -1
  741. package/lib/esm/shared/InfiniteScroll/stories/PullDownToRefreshInfScroll.js +1 -1
  742. package/lib/esm/shared/InfiniteScroll/stories/ScrollableTargetFixedInfScroll.js +2 -2
  743. package/lib/esm/shared/InfiniteScroll/stories/ScrollableTargetInfScroll.js +1 -1
  744. package/lib/esm/shared/InfiniteScroll/stories/ScrolleableTop.js +2 -2
  745. package/lib/esm/shared/InfiniteScroll/stories/WindowInfiniteScrollComponent.js +1 -1
  746. package/lib/esm/shared/LanguageSwitcher/index.js +1 -1
  747. package/lib/esm/shared/Lightbox/BaseLightbox.d.ts +19 -0
  748. package/lib/esm/shared/Lightbox/BaseLightbox.js +33 -0
  749. package/lib/esm/shared/Lightbox/Lightbox.d.ts +31 -17
  750. package/lib/esm/shared/Lightbox/Lightbox.js +15 -19
  751. package/lib/esm/shared/Lightbox/constants.d.ts +1 -0
  752. package/lib/esm/shared/Lightbox/constants.js +1 -0
  753. package/lib/esm/shared/Lightbox/index.d.ts +4 -2
  754. package/lib/esm/shared/Lightbox/index.js +3 -1
  755. package/lib/esm/shared/MarkRead/MarkRead.js +1 -1
  756. package/lib/esm/shared/Media/File/DisplayComponent.js +32 -15
  757. package/lib/esm/shared/Media/File/PreviewComponent.js +3 -3
  758. package/lib/esm/shared/Media/File/TriggerButton.js +7 -7
  759. package/lib/esm/shared/Media/File/asUploadButton.d.ts +1 -1
  760. package/lib/esm/shared/Media/Link/DisplayComponent.js +6 -6
  761. package/lib/esm/shared/Media/Link/LayerComponent.js +1 -1
  762. package/lib/esm/shared/Media/Link/PreviewComponent.js +1 -1
  763. package/lib/esm/shared/Media/Link/TriggerButton.js +1 -1
  764. package/lib/esm/shared/Media/Link/UrlTextField/index.d.ts +1 -1
  765. package/lib/esm/shared/Media/Link/UrlTextField/index.js +3 -3
  766. package/lib/esm/shared/Media/Share/DisplayComponent.js +1 -1
  767. package/lib/esm/shared/MediaChunkUploader/index.js +14 -12
  768. package/lib/esm/shared/MetadataField/MetadataField.d.ts +1 -1
  769. package/lib/esm/shared/MetadataField/MetadataField.js +1 -1
  770. package/lib/esm/shared/NotificationItem/NotificationItem.js +1 -1
  771. package/lib/esm/shared/PasswordTextField/index.js +1 -1
  772. package/lib/esm/shared/ProgressBar/index.js +1 -1
  773. package/lib/esm/shared/StickyBox/index.d.ts +4 -4
  774. package/lib/esm/shared/StickyBox/index.js +1 -1
  775. package/lib/esm/shared/Tags/index.js +5 -5
  776. package/lib/esm/shared/UserDeletedSnackBar/UserDeletedSnackBar.js +1 -1
  777. package/lib/esm/shared/UsernameTextField/index.d.ts +1 -1
  778. package/lib/esm/shared/VirtualizedScroller/VirtualScrollerChild.js +1 -1
  779. package/lib/esm/types/composer.d.ts +1 -1
  780. package/lib/esm/utils/events.d.ts +2 -0
  781. package/lib/esm/utils/events.js +6 -0
  782. package/lib/esm/utils/formatRelativeTime.js +2 -2
  783. package/lib/esm/utils/hash.d.ts +2 -1
  784. package/lib/esm/utils/liveStream.d.ts +4 -0
  785. package/lib/esm/utils/liveStream.js +18 -0
  786. package/lib/esm/utils/widget.d.ts +1 -0
  787. package/lib/esm/utils/widget.js +14 -0
  788. package/lib/umd/245.js +1 -0
  789. package/lib/umd/43.js +2 -0
  790. package/lib/umd/react-ui.js +1 -1
  791. package/lib/umd/react-ui.js.LICENSE.txt +2 -0
  792. package/package.json +23 -11
  793. package/lib/cjs/shared/Media/File/Lightbox/index.d.ts +0 -28
  794. package/lib/cjs/shared/Media/File/Lightbox/index.js +0 -37
  795. package/lib/esm/shared/Media/File/Lightbox/index.d.ts +0 -28
  796. package/lib/esm/shared/Media/File/Lightbox/index.js +0 -34
  797. package/lib/umd/99.js +0 -2
  798. /package/lib/umd/{99.js.LICENSE.txt → 43.js.LICENSE.txt} +0 -0
@@ -401,9 +401,9 @@ export default function FeedObject(inProps) {
401
401
  ? getContributionHtml(obj.html, scRoutingContext.url)
402
402
  : getContributionHtml(contributionHtml, scRoutingContext.url);
403
403
  if (template === SCFeedObjectTemplateType.SHARE) {
404
- return (_jsxs(Link, Object.assign({ to: scRoutingContext.url(getContributionRouteName(obj), getRouteData(obj)), className: classes.text }, { children: [_jsx(Typography, { component: "span", className: classes.text, variant: "body2", gutterBottom: true, dangerouslySetInnerHTML: {
404
+ return (_jsxs(Link, { to: scRoutingContext.url(getContributionRouteName(obj), getRouteData(obj)), className: classes.text, children: [_jsx(Typography, { component: "span", className: classes.text, variant: "body2", gutterBottom: true, dangerouslySetInnerHTML: {
405
405
  __html: summaryHtml
406
- } }), !expanded && summaryHtmlTruncated && (_jsx(Button, Object.assign({ size: "small", variant: "text", color: "inherit", className: classes.showMore, onClick: handleToggleSummary }, { children: _jsx(FormattedMessage, { id: "ui.feedObject.content.showMore", defaultMessage: "ui.feedObject.content.showMore" }) })))] })));
406
+ } }), !expanded && summaryHtmlTruncated && (_jsx(Button, { size: "small", variant: "text", color: "inherit", className: classes.showMore, onClick: handleToggleSummary, children: _jsx(FormattedMessage, { id: "ui.feedObject.content.showMore", defaultMessage: "ui.feedObject.content.showMore" }) }))] }));
407
407
  }
408
408
  else if (template === SCFeedObjectTemplateType.DETAIL) {
409
409
  return (_jsx(Typography, { component: "div", gutterBottom: true, className: classes.text, dangerouslySetInnerHTML: {
@@ -411,9 +411,9 @@ export default function FeedObject(inProps) {
411
411
  } }));
412
412
  }
413
413
  else {
414
- return (_jsxs(Typography, Object.assign({ component: "div", gutterBottom: true, className: classes.text }, { children: [_jsx(Typography, { component: "span", dangerouslySetInnerHTML: {
414
+ return (_jsxs(Typography, { component: "div", gutterBottom: true, className: classes.text, children: [_jsx(Typography, { component: "span", dangerouslySetInnerHTML: {
415
415
  __html: summaryHtml
416
- } }), !expanded && summaryHtmlTruncated && (_jsx(Button, Object.assign({ size: "small", variant: "text", color: "inherit", className: classes.showMore, onClick: handleToggleSummary }, { children: _jsx(FormattedMessage, { id: "ui.feedObject.content.showMore", defaultMessage: "ui.feedObject.content.showMore" }) })))] })));
416
+ } }), !expanded && summaryHtmlTruncated && (_jsx(Button, { size: "small", variant: "text", color: "inherit", className: classes.showMore, onClick: handleToggleSummary, children: _jsx(FormattedMessage, { id: "ui.feedObject.content.showMore", defaultMessage: "ui.feedObject.content.showMore" }) }))] }));
417
417
  }
418
418
  }, [obj, template, expanded]);
419
419
  /**
@@ -424,24 +424,24 @@ export default function FeedObject(inProps) {
424
424
  let objElement;
425
425
  if ((!obj && error) ||
426
426
  ((obj === null || obj === void 0 ? void 0 : obj.deleted) && !scUserContext.user && !(UserUtils.isAdmin(scUserContext.user) || UserUtils.isModerator(scUserContext.user)))) {
427
- objElement = (_jsx(CardContent, Object.assign({ className: classNames(classes.error, classes.content) }, { children: _jsx(FormattedMessage, { id: "ui.feedObject.error", defaultMessage: "ui.feedObject.error" }) })));
427
+ objElement = (_jsx(CardContent, { className: classNames(classes.error, classes.content), children: _jsx(FormattedMessage, { id: "ui.feedObject.error", defaultMessage: "ui.feedObject.error" }) }));
428
428
  }
429
429
  else if (template === SCFeedObjectTemplateType.PREVIEW ||
430
430
  template === SCFeedObjectTemplateType.DETAIL ||
431
431
  template === SCFeedObjectTemplateType.SEARCH) {
432
- objElement = (_jsx(React.Fragment, { children: obj ? (_jsxs(Box, Object.assign({ className: classNames({ [classes.deleted]: obj && obj.deleted }) }, { children: [obj.categories.length > 0 && (_jsxs("div", Object.assign({ className: classes.category }, { children: [_jsxs(_Fragment, { children: [obj.group && (_jsx("div", Object.assign({ className: classes.group }, { children: _jsx(Chip, { color: "secondary", size: "small", icon: _jsx(Icon, { children: "groups" }), component: Link, to: scRoutingContext.url(SCRoutes.GROUP_ROUTE_NAME, obj.group), clickable: true }, obj.group.id) }))), obj.event && (_jsx("div", Object.assign({ className: classes.event }, { children: _jsx(Chip, { color: "secondary", size: "small", label: obj.event.name, icon: _jsx(Icon, { children: "CalendarIcon" }), component: Link, to: scRoutingContext.url(SCRoutes.EVENT_ROUTE_NAME, obj.event), clickable: true }, obj.event.id) })))] }), obj.categories.map((c) => (_jsx(Link, Object.assign({ to: scRoutingContext.url(SCRoutes.CATEGORY_ROUTE_NAME, c) }, { children: _jsx(Typography, Object.assign({ variant: "overline" }, { children: c.name })) }), c.id)))] }))), obj.group && !obj.categories.length && (_jsx("div", Object.assign({ className: classes.group }, { children: _jsx(Chip, { color: "secondary", size: "small", icon: _jsx(Icon, { children: "groups" }), label: obj.group.name, component: Link, to: scRoutingContext.url(SCRoutes.GROUP_ROUTE_NAME, obj.group), clickable: true }, obj.group.id) }))), obj.event && !obj.categories.length && (_jsx("div", Object.assign({ className: classes.event }, { children: _jsx(Chip, { color: "secondary", size: "small", icon: _jsx(Icon, { children: "CalendarIcon" }), label: obj.event.name, component: Link, to: scRoutingContext.url(SCRoutes.EVENT_ROUTE_NAME, obj.event), clickable: true }, obj.event.id) }))), _jsx(CardHeader, { className: classes.header, avatar: _jsx(Link, Object.assign({}, (!obj.author.deleted && { to: scRoutingContext.url(SCRoutes.USER_PROFILE_ROUTE_NAME, obj.author) }), { onClick: obj.author.deleted ? () => setOpenAlert(true) : null }, { children: _jsx(UserAvatar, Object.assign({ hide: !obj.author.community_badge }, { children: _jsx(Avatar, Object.assign({ "aria-label": "recipe", src: obj.author.avatar, className: classes.avatar }, { children: obj.author.username })) })) })), title: _jsx(Link, Object.assign({}, (!obj.author.deleted && { to: scRoutingContext.url(SCRoutes.USER_PROFILE_ROUTE_NAME, obj.author) }), { onClick: obj.author.deleted ? () => setOpenAlert(true) : null, className: classes.username }, { children: obj.author.username })), subheader: _jsxs(_Fragment, { children: [_jsx(Link, Object.assign({ to: scRoutingContext.url(getContributionRouteName(obj), getRouteData(obj)), className: classes.activityAt }, { children: _jsx(DateTimeAgo, { component: 'span', date: obj.added_at }) })), obj.location && (_jsxs(_Fragment, { children: [_jsx(Bullet, {}), _jsxs(Box, Object.assign({ className: classes.location }, { children: [_jsx(Icon, { children: "add_location_alt" }), (_a = obj.location) === null || _a === void 0 ? void 0 : _a.location] }))] })), _jsx(Bullet, {}), _jsx(Box, Object.assign({ className: classes.tag }, { children: obj.addressing.length > 0 ? (_jsx(Tags, { tags: obj.addressing, TagChipProps: { disposable: false, clickable: false } })) : obj.group ? (_jsx(Tooltip, Object.assign({ title: `${intl.formatMessage(messages.visibleToGroup, { group: obj.group.name })}` }, { children: _jsx(Icon, Object.assign({ color: "disabled", fontSize: "small" }, { children: "groups" })) }))) : (_jsx(Tooltip, Object.assign({ title: `${intl.formatMessage(messages.visibleToAll)}` }, { children: _jsx(Icon, Object.assign({ color: "disabled", fontSize: "small" }, { children: "public" })) }))) }))] }), action: renderHeaderAction() }), _jsxs(CardContent, Object.assign({ classes: { root: classes.content } }, { children: [_jsx(Box, Object.assign({ className: classes.titleSection }, { children: 'title' in obj && (_jsx(_Fragment, { children: template === SCFeedObjectTemplateType.DETAIL ? (_jsx(Typography, Object.assign({ variant: "body1", gutterBottom: true, className: classes.title }, { children: obj.title }))) : (_jsx(Link, Object.assign({ to: scRoutingContext.url(getContributionRouteName(obj), getRouteData(obj)) }, { children: _jsx(Typography, Object.assign({ variant: "body1", gutterBottom: true, className: classes.title }, { children: obj.title })) }))) })) })), _jsx(Box, Object.assign({ className: classes.textSection }, { children: getContributionSummary(obj, template) })), _jsx(Box, Object.assign({ className: classes.mediasSection }, { children: _jsx(FeedObjectMediaPreview, Object.assign({ medias: obj.medias }, FeedObjectMediaPreviewProps)) })), _jsx(Box, Object.assign({ className: classes.pollsSection }, { children: obj['poll'] && (_jsx(PollObject, Object.assign({ visible: pollVisible ||
432
+ objElement = (_jsx(React.Fragment, { children: obj ? (_jsxs(Box, { className: classNames({ [classes.deleted]: obj && obj.deleted }), children: [obj.categories.length > 0 && (_jsxs("div", { className: classes.category, children: [_jsxs(_Fragment, { children: [obj.group && (_jsx("div", { className: classes.group, children: _jsx(Chip, { color: "secondary", size: "small", icon: _jsx(Icon, { children: "groups" }), component: Link, to: scRoutingContext.url(SCRoutes.GROUP_ROUTE_NAME, obj.group), clickable: true }, obj.group.id) })), obj.event && (_jsx("div", { className: classes.event, children: _jsx(Chip, { color: "secondary", size: "small", label: obj.event.name, icon: _jsx(Icon, { children: "CalendarIcon" }), component: Link, to: scRoutingContext.url(SCRoutes.EVENT_ROUTE_NAME, obj.event), clickable: true }, obj.event.id) }))] }), obj.categories.map((c) => (_jsx(Link, { to: scRoutingContext.url(SCRoutes.CATEGORY_ROUTE_NAME, c), children: _jsx(Typography, { variant: "overline", children: c.name }) }, c.id)))] })), obj.group && !obj.categories.length && (_jsx("div", { className: classes.group, children: _jsx(Chip, { color: "secondary", size: "small", icon: _jsx(Icon, { children: "groups" }), label: obj.group.name, component: Link, to: scRoutingContext.url(SCRoutes.GROUP_ROUTE_NAME, obj.group), clickable: true }, obj.group.id) })), obj.event && !obj.categories.length && (_jsx("div", { className: classes.event, children: _jsx(Chip, { color: "secondary", size: "small", icon: _jsx(Icon, { children: "CalendarIcon" }), label: obj.event.name, component: Link, to: scRoutingContext.url(SCRoutes.EVENT_ROUTE_NAME, obj.event), clickable: true }, obj.event.id) })), _jsx(CardHeader, { className: classes.header, avatar: _jsx(Link, Object.assign({}, (!obj.author.deleted && { to: scRoutingContext.url(SCRoutes.USER_PROFILE_ROUTE_NAME, obj.author) }), { onClick: obj.author.deleted ? () => setOpenAlert(true) : null, children: _jsx(UserAvatar, { hide: !obj.author.community_badge, children: _jsx(Avatar, { "aria-label": "recipe", src: obj.author.avatar, className: classes.avatar, children: obj.author.username }) }) })), title: _jsx(Link, Object.assign({}, (!obj.author.deleted && { to: scRoutingContext.url(SCRoutes.USER_PROFILE_ROUTE_NAME, obj.author) }), { onClick: obj.author.deleted ? () => setOpenAlert(true) : null, className: classes.username, children: obj.author.username })), subheader: _jsxs(_Fragment, { children: [_jsx(Link, { to: scRoutingContext.url(getContributionRouteName(obj), getRouteData(obj)), className: classes.activityAt, children: _jsx(DateTimeAgo, { component: 'span', date: obj.added_at }) }), obj.location && (_jsxs(_Fragment, { children: [_jsx(Bullet, {}), _jsxs(Box, { className: classes.location, children: [_jsx(Icon, { children: "add_location_alt" }), (_a = obj.location) === null || _a === void 0 ? void 0 : _a.location] })] })), _jsx(Bullet, {}), _jsx(Box, { className: classes.tag, children: obj.addressing.length > 0 ? (_jsx(Tags, { tags: obj.addressing, TagChipProps: { disposable: false, clickable: false } })) : obj.group ? (_jsx(Tooltip, { title: `${intl.formatMessage(messages.visibleToGroup, { group: obj.group.name })}`, children: _jsx(Icon, { color: "disabled", fontSize: "small", children: "groups" }) })) : (_jsx(Tooltip, { title: `${intl.formatMessage(messages.visibleToAll)}`, children: _jsx(Icon, { color: "disabled", fontSize: "small", children: "public" }) })) })] }), action: renderHeaderAction() }), _jsxs(CardContent, { classes: { root: classes.content }, children: [_jsx(Box, { className: classes.titleSection, children: 'title' in obj && (_jsx(_Fragment, { children: template === SCFeedObjectTemplateType.DETAIL ? (_jsx(Typography, { variant: "body1", gutterBottom: true, className: classes.title, children: obj.title })) : (_jsx(Link, { to: scRoutingContext.url(getContributionRouteName(obj), getRouteData(obj)), children: _jsx(Typography, { variant: "body1", gutterBottom: true, className: classes.title, children: obj.title }) })) })) }), _jsx(Box, { className: classes.textSection, children: getContributionSummary(obj, template) }), _jsx(Box, { className: classes.mediasSection, children: _jsx(FeedObjectMediaPreview, Object.assign({ medias: obj.medias }, FeedObjectMediaPreviewProps)) }), _jsx(Box, { className: classes.pollsSection, children: obj['poll'] && (_jsx(PollObject, Object.assign({ visible: pollVisible ||
433
433
  template === SCFeedObjectTemplateType.DETAIL ||
434
- Boolean(obj.type !== SCContributionType.DISCUSSION && !obj.html && !obj.medias.length), feedObject: obj, pollObject: obj['poll'], onChange: handleChangePoll, onToggleVisibility: handleTogglePollVisibility }, PollObjectProps))) })), _jsx(Box, Object.assign({ className: classes.infoSection }, { children: _jsxs(Stack, Object.assign({ direction: "row", justifyContent: "space-between", alignItems: "center", spacing: 2 }, { children: [!hideParticipantsPreview && (_jsx(ContributorsFeedObject, Object.assign({ feedObject: obj, feedObjectType: obj.type }, ContributorsFeedObjectProps, { cacheStrategy: cacheStrategy }))), !_hideFollowAction && _jsx(Follow, Object.assign({ feedObject: obj, feedObjectType: obj.type, handleFollow: handleFollow }, FollowButtonProps))] })) }))] })), _jsxs(CardActions, Object.assign({ className: classes.actionsSection }, { children: [_jsx(Actions, Object.assign({ feedObjectId: feedObjectId, feedObjectType: feedObjectType, feedObject: obj, hideCommentAction: template === SCFeedObjectTemplateType.DETAIL || (hasEvent && !((_c = (_b = obj === null || obj === void 0 ? void 0 : obj.medias[0].embed) === null || _b === void 0 ? void 0 : _b.metadata) === null || _c === void 0 ? void 0 : _c.active)), handleExpandActivities: template === SCFeedObjectTemplateType.PREVIEW ? handleExpandActivities : null, hideVoteAction: hasEvent && !((_f = (_d = obj === null || obj === void 0 ? void 0 : obj.medias[0].embed) === null || _d === void 0 ? void 0 : _d.metadata) === null || _f === void 0 ? void 0 : _f.active), hideShareAction: hasEvent && !((_h = (_g = obj === null || obj === void 0 ? void 0 : obj.medias[0].embed) === null || _g === void 0 ? void 0 : _g.metadata) === null || _h === void 0 ? void 0 : _h.active), VoteActionProps: { onVoteAction: handleVoteSuccess } }, ActionsProps)), (template === SCFeedObjectTemplateType.DETAIL && (!hasEvent || ((_m = (_l = (_k = (_j = obj === null || obj === void 0 ? void 0 : obj.medias) === null || _j === void 0 ? void 0 : _j[0]) === null || _k === void 0 ? void 0 : _k.embed) === null || _l === void 0 ? void 0 : _l.metadata) === null || _m === void 0 ? void 0 : _m.active) === true)) ||
435
- (expandedActivities && (_jsx(Box, Object.assign({ className: classes.replyContent }, { children: _jsx(CommentObjectReplyComponent, Object.assign({ id: `reply-feedObject-${obj.id}`, onReply: handleReply, editable: !isReplying || Boolean(obj) }, CommentObjectReplyComponentProps), Number(isReplying)) }))))] })), template === SCFeedObjectTemplateType.PREVIEW && (obj.comment_count > 0 || (feedObjectActivities && feedObjectActivities.length > 0)) && (_jsx(Collapse, Object.assign({ in: expandedActivities, timeout: "auto", classes: { root: classes.activitiesSection } }, { children: _jsx(CardContent, Object.assign({ className: classes.activitiesContent }, { children: _jsx(Activities, Object.assign({ feedObject: obj, feedObjectActivities: feedObjectActivities, activitiesType: selectedActivities, onSetSelectedActivities: handleSelectedActivities, comments: comments, CommentsObjectProps: {
434
+ Boolean(obj.type !== SCContributionType.DISCUSSION && !obj.html && !obj.medias.length), feedObject: obj, pollObject: obj['poll'], onChange: handleChangePoll, onToggleVisibility: handleTogglePollVisibility }, PollObjectProps))) }), _jsx(Box, { className: classes.infoSection, children: _jsxs(Stack, { direction: "row", justifyContent: "space-between", alignItems: "center", spacing: 2, children: [!hideParticipantsPreview && (_jsx(ContributorsFeedObject, Object.assign({ feedObject: obj, feedObjectType: obj.type }, ContributorsFeedObjectProps, { cacheStrategy: cacheStrategy }))), !_hideFollowAction && _jsx(Follow, Object.assign({ feedObject: obj, feedObjectType: obj.type, handleFollow: handleFollow }, FollowButtonProps))] }) })] }), _jsxs(CardActions, { className: classes.actionsSection, children: [_jsx(Actions, Object.assign({ feedObjectId: feedObjectId, feedObjectType: feedObjectType, feedObject: obj, hideCommentAction: template === SCFeedObjectTemplateType.DETAIL || (hasEvent && !((_c = (_b = obj === null || obj === void 0 ? void 0 : obj.medias[0].embed) === null || _b === void 0 ? void 0 : _b.metadata) === null || _c === void 0 ? void 0 : _c.active)), handleExpandActivities: template === SCFeedObjectTemplateType.PREVIEW ? handleExpandActivities : null, hideVoteAction: hasEvent && !((_f = (_d = obj === null || obj === void 0 ? void 0 : obj.medias[0].embed) === null || _d === void 0 ? void 0 : _d.metadata) === null || _f === void 0 ? void 0 : _f.active), hideShareAction: hasEvent && !((_h = (_g = obj === null || obj === void 0 ? void 0 : obj.medias[0].embed) === null || _g === void 0 ? void 0 : _g.metadata) === null || _h === void 0 ? void 0 : _h.active), VoteActionProps: { onVoteAction: handleVoteSuccess } }, ActionsProps)), (template === SCFeedObjectTemplateType.DETAIL && (!hasEvent || ((_m = (_l = (_k = (_j = obj === null || obj === void 0 ? void 0 : obj.medias) === null || _j === void 0 ? void 0 : _j[0]) === null || _k === void 0 ? void 0 : _k.embed) === null || _l === void 0 ? void 0 : _l.metadata) === null || _m === void 0 ? void 0 : _m.active) === true)) ||
435
+ (expandedActivities && (_jsx(Box, { className: classes.replyContent, children: _jsx(CommentObjectReplyComponent, Object.assign({ id: `reply-feedObject-${obj.id}`, onReply: handleReply, editable: !isReplying || Boolean(obj) }, CommentObjectReplyComponentProps), Number(isReplying)) })))] }), template === SCFeedObjectTemplateType.PREVIEW && (obj.comment_count > 0 || (feedObjectActivities && feedObjectActivities.length > 0)) && (_jsx(Collapse, { in: expandedActivities, timeout: "auto", classes: { root: classes.activitiesSection }, children: _jsx(CardContent, { className: classes.activitiesContent, children: _jsx(Activities, Object.assign({ feedObject: obj, feedObjectActivities: feedObjectActivities, activitiesType: selectedActivities, onSetSelectedActivities: handleSelectedActivities, comments: comments, CommentsObjectProps: {
436
436
  CommentComponentProps: Object.assign({ onDelete: handleDeleteComment, truncateContent: true, CommentsObjectComponentProps: { inPlaceLoadMoreContents: false } }, CommentComponentProps),
437
437
  CommentObjectSkeletonProps: CommentObjectSkeletonProps
438
- }, cacheStrategy: cacheStrategy }, ActivitiesProps), selectedActivities) })) }))), composerOpen && (_jsx(Composer, { open: composerOpen, feedObject: obj, onClose: handleToggleEdit, onSuccess: handleEditSuccess, maxWidth: "sm", fullWidth: true }))] }))) : (_jsx(FeedObjectSkeleton, Object.assign({ template: template }, FeedObjectSkeletonProps))) }));
438
+ }, cacheStrategy: cacheStrategy }, ActivitiesProps), selectedActivities) }) })), composerOpen && (_jsx(Composer, { open: composerOpen, feedObject: obj, onClose: handleToggleEdit, onSuccess: handleEditSuccess, maxWidth: "sm", fullWidth: true }))] })) : (_jsx(FeedObjectSkeleton, Object.assign({ template: template }, FeedObjectSkeletonProps))) }));
439
439
  }
440
440
  else if (template === SCFeedObjectTemplateType.SHARE) {
441
- objElement = (_jsx(React.Fragment, { children: obj ? (_jsxs(React.Fragment, { children: [obj.categories.length > 0 && (_jsxs("div", Object.assign({ className: classes.category }, { children: [_jsxs(_Fragment, { children: [obj.group && (_jsx("div", Object.assign({ className: classes.group }, { children: _jsx(Chip, { color: "secondary", size: "small", icon: _jsx(Icon, { children: "groups" }), component: Link, to: scRoutingContext.url(SCRoutes.GROUP_ROUTE_NAME, obj.group), clickable: true }, obj.group.id) }))), obj.event && (_jsx("div", Object.assign({ className: classes.event }, { children: _jsx(Chip, { color: "secondary", size: "small", icon: _jsx(Icon, { children: "CalendarIcon" }), component: Link, to: scRoutingContext.url(SCRoutes.EVENT_ROUTE_NAME, obj.event), clickable: true }, obj.event.id) })))] }), obj.categories.map((c) => (_jsx(Link, Object.assign({ to: scRoutingContext.url(SCRoutes.CATEGORY_ROUTE_NAME, c) }, { children: _jsx(Typography, Object.assign({ variant: "overline" }, { children: c.name })) }), c.id)))] }))), obj.group && !obj.categories.length && (_jsx("div", Object.assign({ className: classes.group }, { children: _jsx(Chip, { color: "secondary", size: "small", icon: _jsx(Icon, { children: "groups" }), label: obj.group.name, component: Link, to: scRoutingContext.url(SCRoutes.GROUP_ROUTE_NAME, obj.group), clickable: true }, obj.group.id) }))), obj.event && !obj.categories.length && (_jsx("div", Object.assign({ className: classes.event }, { children: _jsx(Chip, { color: "secondary", size: "small", icon: _jsx(Icon, { children: "groups" }), label: obj.event.name, component: Link, to: scRoutingContext.url(SCRoutes.EVENT_ROUTE_NAME, obj.event), clickable: true }, obj.event.id) }))), _jsx(CardHeader, { classes: { root: classes.header }, avatar: _jsx(Link, Object.assign({}, (!obj.author.deleted && { to: scRoutingContext.url(SCRoutes.USER_PROFILE_ROUTE_NAME, obj.author) }), { onClick: obj.author.deleted ? () => setOpenAlert(true) : null, className: classes.username }, { children: _jsx(UserAvatar, Object.assign({ hide: !obj.author.community_badge }, { children: _jsx(Avatar, Object.assign({ "aria-label": "recipe", src: obj.author.avatar, className: classes.avatar }, { children: obj.author.username })) })) })), title: _jsx(Link, Object.assign({}, (!obj.author.deleted && { to: scRoutingContext.url(SCRoutes.USER_PROFILE_ROUTE_NAME, obj.author) }), { onClick: obj.author.deleted ? () => setOpenAlert(true) : null, className: classes.username }, { children: obj.author.username })), subheader: _jsx(Link, Object.assign({ to: scRoutingContext.url(getContributionRouteName(obj), getRouteData(obj)), className: classes.activityAt }, { children: _jsx(DateTimeAgo, { date: obj.added_at }) })) }), _jsxs(CardContent, Object.assign({ classes: { root: classes.content } }, { children: [_jsx(Box, Object.assign({ className: classes.titleSection }, { children: 'title' in obj && (_jsx(Link, Object.assign({ to: scRoutingContext.url(getContributionRouteName(obj), getRouteData(obj)) }, { children: _jsx(Typography, Object.assign({ variant: "body1", gutterBottom: true, className: classes.title }, { children: obj.title })) }))) })), _jsx(Box, Object.assign({ className: classes.textSection }, { children: getContributionSummary(obj, template) })), _jsx(Box, Object.assign({ className: classes.mediasSection }, { children: _jsx(FeedObjectMediaPreview, Object.assign({ medias: obj.medias }, FeedObjectMediaPreviewProps)) })), _jsx(Box, Object.assign({ className: classes.pollsSection }, { children: obj['poll'] && (_jsx(PollObject, Object.assign({ feedObject: obj, pollObject: obj['poll'], onChange: handleChangePoll, visible: Boolean(obj.type !== SCContributionType.DISCUSSION && !obj.html && !obj.medias.length) }, PollObjectProps))) }))] }))] })) : (_jsx(FeedObjectSkeleton, Object.assign({ template: template }, FeedObjectSkeletonProps))) }));
441
+ objElement = (_jsx(React.Fragment, { children: obj ? (_jsxs(React.Fragment, { children: [obj.categories.length > 0 && (_jsxs("div", { className: classes.category, children: [_jsxs(_Fragment, { children: [obj.group && (_jsx("div", { className: classes.group, children: _jsx(Chip, { color: "secondary", size: "small", icon: _jsx(Icon, { children: "groups" }), component: Link, to: scRoutingContext.url(SCRoutes.GROUP_ROUTE_NAME, obj.group), clickable: true }, obj.group.id) })), obj.event && (_jsx("div", { className: classes.event, children: _jsx(Chip, { color: "secondary", size: "small", icon: _jsx(Icon, { children: "CalendarIcon" }), component: Link, to: scRoutingContext.url(SCRoutes.EVENT_ROUTE_NAME, obj.event), clickable: true }, obj.event.id) }))] }), obj.categories.map((c) => (_jsx(Link, { to: scRoutingContext.url(SCRoutes.CATEGORY_ROUTE_NAME, c), children: _jsx(Typography, { variant: "overline", children: c.name }) }, c.id)))] })), obj.group && !obj.categories.length && (_jsx("div", { className: classes.group, children: _jsx(Chip, { color: "secondary", size: "small", icon: _jsx(Icon, { children: "groups" }), label: obj.group.name, component: Link, to: scRoutingContext.url(SCRoutes.GROUP_ROUTE_NAME, obj.group), clickable: true }, obj.group.id) })), obj.event && !obj.categories.length && (_jsx("div", { className: classes.event, children: _jsx(Chip, { color: "secondary", size: "small", icon: _jsx(Icon, { children: "groups" }), label: obj.event.name, component: Link, to: scRoutingContext.url(SCRoutes.EVENT_ROUTE_NAME, obj.event), clickable: true }, obj.event.id) })), _jsx(CardHeader, { classes: { root: classes.header }, avatar: _jsx(Link, Object.assign({}, (!obj.author.deleted && { to: scRoutingContext.url(SCRoutes.USER_PROFILE_ROUTE_NAME, obj.author) }), { onClick: obj.author.deleted ? () => setOpenAlert(true) : null, className: classes.username, children: _jsx(UserAvatar, { hide: !obj.author.community_badge, children: _jsx(Avatar, { "aria-label": "recipe", src: obj.author.avatar, className: classes.avatar, children: obj.author.username }) }) })), title: _jsx(Link, Object.assign({}, (!obj.author.deleted && { to: scRoutingContext.url(SCRoutes.USER_PROFILE_ROUTE_NAME, obj.author) }), { onClick: obj.author.deleted ? () => setOpenAlert(true) : null, className: classes.username, children: obj.author.username })), subheader: _jsx(Link, { to: scRoutingContext.url(getContributionRouteName(obj), getRouteData(obj)), className: classes.activityAt, children: _jsx(DateTimeAgo, { date: obj.added_at }) }) }), _jsxs(CardContent, { classes: { root: classes.content }, children: [_jsx(Box, { className: classes.titleSection, children: 'title' in obj && (_jsx(Link, { to: scRoutingContext.url(getContributionRouteName(obj), getRouteData(obj)), children: _jsx(Typography, { variant: "body1", gutterBottom: true, className: classes.title, children: obj.title }) })) }), _jsx(Box, { className: classes.textSection, children: getContributionSummary(obj, template) }), _jsx(Box, { className: classes.mediasSection, children: _jsx(FeedObjectMediaPreview, Object.assign({ medias: obj.medias }, FeedObjectMediaPreviewProps)) }), _jsx(Box, { className: classes.pollsSection, children: obj['poll'] && (_jsx(PollObject, Object.assign({ feedObject: obj, pollObject: obj['poll'], onChange: handleChangePoll, visible: Boolean(obj.type !== SCContributionType.DISCUSSION && !obj.html && !obj.medias.length) }, PollObjectProps))) })] })] })) : (_jsx(FeedObjectSkeleton, Object.assign({ template: template }, FeedObjectSkeletonProps))) }));
442
442
  }
443
443
  else {
444
- objElement = (_jsx(React.Fragment, { children: obj ? (_jsx(BaseItem, { elevation: 0, className: classes.snippet, image: _jsx(Link, Object.assign({}, (!obj.author.deleted && { to: scRoutingContext.url(SCRoutes.USER_PROFILE_ROUTE_NAME, obj.author) }), { onClick: obj.author.deleted ? () => setOpenAlert(true) : null }, { children: _jsx(UserAvatar, Object.assign({ hide: !obj.author.community_badge }, { children: _jsx(Avatar, { alt: obj.author.username, variant: "circular", src: obj.author.avatar, className: classes.avatar }) })) })), primary: _jsxs(Box, { children: [_jsx(Link, Object.assign({}, (!obj.author.deleted && { to: scRoutingContext.url(SCRoutes.USER_PROFILE_ROUTE_NAME, obj.author) }), { onClick: obj.author.deleted ? () => setOpenAlert(true) : null, className: classes.username }, { children: obj.author.username })), _jsx(Typography, Object.assign({ variant: "body2", className: classes.snippetContent }, { children: _jsx(Link, Object.assign({ to: scRoutingContext.url(getContributionRouteName(obj), getRouteData(obj)) }, { children: getContributionSnippet(obj) })) }))] }), disableTypography: true, secondary: _jsxs(Stack, Object.assign({ direction: "row", justifyContent: "space-between", spacing: 2, alignItems: "center" }, { children: [_jsx(Link, Object.assign({ to: scRoutingContext.url(getContributionRouteName(obj), getRouteData(obj)), className: classes.activityAt }, { children: _jsx(DateTimeAgo, { component: "span", date: obj.added_at }) })), _jsx(Button, Object.assign({ component: Link, to: scRoutingContext.url(getContributionRouteName(obj), getRouteData(obj)), variant: "text", color: "secondary", size: "small" }, { children: _jsx(FormattedMessage, { id: "ui.feedObject.comment", defaultMessage: "ui.feedObject.comment" }) }))] })) })) : (_jsx(FeedObjectSkeleton, Object.assign({}, FeedObjectSkeletonProps))) }));
444
+ objElement = (_jsx(React.Fragment, { children: obj ? (_jsx(BaseItem, { elevation: 0, className: classes.snippet, image: _jsx(Link, Object.assign({}, (!obj.author.deleted && { to: scRoutingContext.url(SCRoutes.USER_PROFILE_ROUTE_NAME, obj.author) }), { onClick: obj.author.deleted ? () => setOpenAlert(true) : null, children: _jsx(UserAvatar, { hide: !obj.author.community_badge, children: _jsx(Avatar, { alt: obj.author.username, variant: "circular", src: obj.author.avatar, className: classes.avatar }) }) })), primary: _jsxs(Box, { children: [_jsx(Link, Object.assign({}, (!obj.author.deleted && { to: scRoutingContext.url(SCRoutes.USER_PROFILE_ROUTE_NAME, obj.author) }), { onClick: obj.author.deleted ? () => setOpenAlert(true) : null, className: classes.username, children: obj.author.username })), _jsx(Typography, { variant: "body2", className: classes.snippetContent, children: _jsx(Link, { to: scRoutingContext.url(getContributionRouteName(obj), getRouteData(obj)), children: getContributionSnippet(obj) }) })] }), disableTypography: true, secondary: _jsxs(Stack, { direction: "row", justifyContent: "space-between", spacing: 2, alignItems: "center", children: [_jsx(Link, { to: scRoutingContext.url(getContributionRouteName(obj), getRouteData(obj)), className: classes.activityAt, children: _jsx(DateTimeAgo, { component: "span", date: obj.added_at }) }), _jsx(Button, { component: Link, to: scRoutingContext.url(getContributionRouteName(obj), getRouteData(obj)), variant: "text", color: "secondary", size: "small", children: _jsx(FormattedMessage, { id: "ui.feedObject.comment", defaultMessage: "ui.feedObject.comment" }) })] }) })) : (_jsx(FeedObjectSkeleton, Object.assign({}, FeedObjectSkeletonProps))) }));
445
445
  }
446
446
  /**
447
447
  * Renders root object
@@ -21,7 +21,7 @@ const Root = styled(Card, {
21
21
  })(() => ({}));
22
22
  function LinearProgressWithLabel(_a) {
23
23
  var { className } = _a, props = __rest(_a, ["className"]);
24
- return (_jsxs(Box, Object.assign({ className: className }, { children: [_jsx(LinearProgress, Object.assign({ variant: "determinate" }, props)), _jsx(Typography, Object.assign({ variant: "body2", color: "text.secondary" }, { children: `${Math.round(props.value)}%` }))] })));
24
+ return (_jsxs(Box, { className: className, children: [_jsx(LinearProgress, Object.assign({ variant: "determinate" }, props)), _jsx(Typography, { variant: "body2", color: "text.secondary", children: `${Math.round(props.value)}%` })] }));
25
25
  }
26
26
  export default function Choice(props) {
27
27
  //PROPS
@@ -50,5 +50,5 @@ export default function Choice(props) {
50
50
  /**
51
51
  * Renders root element
52
52
  */
53
- return (_jsxs(Root, Object.assign({ className: classNames(classes.root, className) }, rest, { children: [_jsx(Typography, Object.assign({ className: classes.label }, { children: choiceObj.choice })), _jsx(LinearProgressWithLabel, { className: classes.progress, value: renderVotes(choiceObj.vote_count, votes) }), _jsx(LoadingButton, Object.assign({ loading: isVoting === choiceObj.id, variant: choiceObj.voted ? 'contained' : 'outlined', size: "small", disabled: disabled || isVoting !== null || votable, className: classes.vote, onClick: handleVoteAction }, { children: choiceObj.voted ? (_jsx(Icon, { children: "check" })) : (_jsx(FormattedMessage, { id: "ui.feedObject.poll.choice.vote", defaultMessage: "ui.feedObject.poll.choice.vote" })) }))] })));
53
+ return (_jsxs(Root, Object.assign({ className: classNames(classes.root, className) }, rest, { children: [_jsx(Typography, { className: classes.label, children: choiceObj.choice }), _jsx(LinearProgressWithLabel, { className: classes.progress, value: renderVotes(choiceObj.vote_count, votes) }), _jsx(LoadingButton, { loading: isVoting === choiceObj.id, variant: choiceObj.voted ? 'contained' : 'outlined', size: "small", disabled: disabled || isVoting !== null || votable, className: classes.vote, onClick: handleVoteAction, children: choiceObj.voted ? (_jsx(Icon, { children: "check" })) : (_jsx(FormattedMessage, { id: "ui.feedObject.poll.choice.vote", defaultMessage: "ui.feedObject.poll.choice.vote" })) })] })));
54
54
  }
@@ -150,7 +150,7 @@ export default function PollObject(props) {
150
150
  */
151
151
  let objElement = _jsx(_Fragment, {});
152
152
  if (pollObject) {
153
- objElement = (_jsxs(_Fragment, { children: [_jsx(CardHeader, { title: _jsx(_Fragment, { children: _jsx(Button, Object.assign({ className: classes.toggleButton, onClick: handleToggleCollapsedClick, "aria-expanded": collapsed, endIcon: _jsx(Icon, Object.assign({ className: classNames(classes.expandIcon, { [classes.collapsedIcon]: collapsed }) }, { children: "arrow_upward" })) }, { children: collapsed ? intl.formatMessage(messages.showPoll) : intl.formatMessage(messages.hidePoll) })) }) }), _jsx(Collapse, Object.assign({ in: !collapsed, timeout: "auto", unmountOnExit: true }, { children: _jsxs(CardContent, { children: [_jsx(Typography, Object.assign({ variant: "body1", className: classes.title }, { children: obj.title })), obj.expiration_at && Date.parse(obj.expiration_at) >= new Date().getTime() && (_jsxs(Typography, Object.assign({ variant: "body2", className: classes.expiration }, { children: [`${intl.formatMessage(messages.expDate)}`, `${intl.formatDate(Date.parse(obj.expiration_at), { year: 'numeric', month: 'numeric', day: 'numeric' })}`] }))), obj.closed && (_jsx(Typography, Object.assign({ variant: "body2", className: classes.closed }, { children: _jsx(FormattedMessage, { id: "ui.feedObject.poll.closed", defaultMessage: "ui.feedObject.poll.closed" }) }))), _jsx(List, { children: choices.map((choice, index) => (_jsx(ListItem, { children: _jsx(Choice, { elevation: 0, choiceObj: choice, feedObject: disabled ? null : feedObject, votes: votes, vote: vote, isVoting: isVoting, votable: votable }) }, index))) }), multipleChoices ? (_jsxs("div", Object.assign({ className: classes.votes }, { children: [_jsx(Icon, { children: "list" }), _jsx(Typography, { children: `${intl.formatMessage(messages.votes, { total: votes })}` })] }))) : (_jsxs("div", Object.assign({ className: classes.voters }, { children: [_jsx(Icon, { children: "people_alt" }), _jsx(Typography, { children: `${intl.formatMessage(messages.voters, { total: votes })}` })] })))] }) }))] }));
153
+ objElement = (_jsxs(_Fragment, { children: [_jsx(CardHeader, { title: _jsx(_Fragment, { children: _jsx(Button, { className: classes.toggleButton, onClick: handleToggleCollapsedClick, "aria-expanded": collapsed, endIcon: _jsx(Icon, { className: classNames(classes.expandIcon, { [classes.collapsedIcon]: collapsed }), children: "arrow_upward" }), children: collapsed ? intl.formatMessage(messages.showPoll) : intl.formatMessage(messages.hidePoll) }) }) }), _jsx(Collapse, { in: !collapsed, timeout: "auto", unmountOnExit: true, children: _jsxs(CardContent, { children: [_jsx(Typography, { variant: "body1", className: classes.title, children: obj.title }), obj.expiration_at && Date.parse(obj.expiration_at) >= new Date().getTime() && (_jsxs(Typography, { variant: "body2", className: classes.expiration, children: [`${intl.formatMessage(messages.expDate)}`, `${intl.formatDate(Date.parse(obj.expiration_at), { year: 'numeric', month: 'numeric', day: 'numeric' })}`] })), obj.closed && (_jsx(Typography, { variant: "body2", className: classes.closed, children: _jsx(FormattedMessage, { id: "ui.feedObject.poll.closed", defaultMessage: "ui.feedObject.poll.closed" }) })), _jsx(List, { children: choices.map((choice, index) => (_jsx(ListItem, { children: _jsx(Choice, { elevation: 0, choiceObj: choice, feedObject: disabled ? null : feedObject, votes: votes, vote: vote, isVoting: isVoting, votable: votable }) }, index))) }), multipleChoices ? (_jsxs("div", { className: classes.votes, children: [_jsx(Icon, { children: "list" }), _jsx(Typography, { children: `${intl.formatMessage(messages.votes, { total: votes })}` })] })) : (_jsxs("div", { className: classes.voters, children: [_jsx(Icon, { children: "people_alt" }), _jsx(Typography, { children: `${intl.formatMessage(messages.voters, { total: votes })}` })] }))] }) })] }));
154
154
  }
155
155
  useEffect(() => {
156
156
  setChoices(pollObject.choices);
@@ -86,5 +86,5 @@ export default function FeedUpdatesWidget(inProps) {
86
86
  PubSub.publishSync(publicationChannel, { refresh: true });
87
87
  setUpdates(false);
88
88
  };
89
- return (_jsx(Root, Object.assign({ id: id, className: classNames(classes.root, className) }, rest, { children: _jsxs(CardContent, { children: [message, publicationChannel && (_jsx(Button, Object.assign({ variant: "text", color: "inherit", onClick: handleClick, classes: { root: classes.buttonLoadMore } }, { children: _jsx(FormattedMessage, { id: "ui.feedUpdatesWidget.reload", defaultMessage: "ui.feedUpdatesWidget.reload" }) })))] }) })));
89
+ return (_jsx(Root, Object.assign({ id: id, className: classNames(classes.root, className) }, rest, { children: _jsxs(CardContent, { children: [message, publicationChannel && (_jsx(Button, { variant: "text", color: "inherit", onClick: handleClick, classes: { root: classes.buttonLoadMore }, children: _jsx(FormattedMessage, { id: "ui.feedUpdatesWidget.reload", defaultMessage: "ui.feedUpdatesWidget.reload" }) }))] }) })));
90
90
  }
@@ -93,5 +93,5 @@ export default function Footer(inProps) {
93
93
  if (loading) {
94
94
  return _jsx(FooterSkeleton, {});
95
95
  }
96
- return (_jsxs(Root, Object.assign({}, rest, { className: classNames(classes.root, className) }, { children: [startActions, _jsx(Box, Object.assign({ className: classes.itemList }, { children: sortByAttr(_menu.items, 'order').map((item, index) => (_jsx(Button, Object.assign({ component: Link, className: classes.item, to: item.url, variant: "text" }, { children: item.label }), item.id))) })), endActions, _jsx(Typography, { textAlign: "center", className: classes.copyright, variant: "body2", dangerouslySetInnerHTML: { __html: copyright } })] })));
96
+ return (_jsxs(Root, Object.assign({}, rest, { className: classNames(classes.root, className), children: [startActions, _jsx(Box, { className: classes.itemList, children: sortByAttr(_menu.items, 'order').map((item, index) => (_jsx(Button, { component: Link, className: classes.item, to: item.url, variant: "text", children: item.label }, item.id))) }), endActions, _jsx(Typography, { textAlign: "center", className: classes.copyright, variant: "body2", dangerouslySetInnerHTML: { __html: copyright } })] })));
97
97
  }
@@ -88,7 +88,7 @@ export default function Group(inProps) {
88
88
  * @return {JSX.Element}
89
89
  */
90
90
  function renderAuthenticatedActions() {
91
- return (_jsxs(Stack, Object.assign({ className: classes.actions, direction: "row", alignItems: "center", justifyContent: "center", spacing: 2 }, { children: [isGroupAdmin && _jsx(Icon, { children: "face" }), actionRedirect ? (_jsx(Button, Object.assign({ size: "small", variant: "outlined", component: Link, to: scRoutingContext.url(SCRoutes.GROUP_ROUTE_NAME, scGroup) }, { children: scGroup.subscription_status === SCGroupSubscriptionStatusType.SUBSCRIBED ? (_jsx(FormattedMessage, { defaultMessage: "ui.group.status.enter", id: "ui.group.status.enter" })) : (_jsx(FormattedMessage, { defaultMessage: "ui.group.status.discover", id: "ui.group.status.discover" })) }))) : (_jsx(GroupSubscribeButton, Object.assign({ group: group, groupId: groupId }, groupSubscribeButtonProps)))] })));
91
+ return (_jsxs(Stack, { className: classes.actions, direction: "row", alignItems: "center", justifyContent: "center", spacing: 2, children: [isGroupAdmin && _jsx(Icon, { children: "face" }), actionRedirect ? (_jsx(Button, { size: "small", variant: "outlined", component: Link, to: scRoutingContext.url(SCRoutes.GROUP_ROUTE_NAME, scGroup), children: scGroup.subscription_status === SCGroupSubscriptionStatusType.SUBSCRIBED ? (_jsx(FormattedMessage, { defaultMessage: "ui.group.status.enter", id: "ui.group.status.enter" })) : (_jsx(FormattedMessage, { defaultMessage: "ui.group.status.discover", id: "ui.group.status.discover" })) })) : (_jsx(GroupSubscribeButton, Object.assign({ group: group, groupId: groupId }, groupSubscribeButtonProps)))] }));
92
92
  }
93
93
  /**
94
94
  * Renders group object
@@ -101,5 +101,5 @@ export default function Group(inProps) {
101
101
  */
102
102
  return (_jsxs(_Fragment, { children: [_jsx(Root, Object.assign({ elevation: elevation }, rest, { className: classNames(classes.root, className), ButtonBaseProps: { component: Link, to: scRoutingContext.url(SCRoutes.GROUP_ROUTE_NAME, scGroup) }, image: _jsx(Avatar, { alt: scGroup.name, src: scGroup.image_medium, className: classes.avatar }), primary: _jsxs(_Fragment, { children: [isMobile
103
103
  ? formatCroppedName(scGroup.name, GROUP_NAME_MAX_LENGTH_MOBILE)
104
- : formatCroppedName(scGroup.name, GROUP_NAME_MAX_LENGTH_DESKTOP), ' ', _jsx(Icon, Object.assign({ className: classes.icon }, { children: (group === null || group === void 0 ? void 0 : group.privacy) === SCGroupPrivacyType.PRIVATE ? 'private' : 'public' }))] }), secondary: `${intl.formatMessage(messages.groupMembers, { total: scGroup.subscribers_counter })}`, actions: hideActions ? null : renderAuthenticatedActions() })), openAlert && _jsx(UserDeletedSnackBar, { open: openAlert, handleClose: () => setOpenAlert(false) })] }));
104
+ : formatCroppedName(scGroup.name, GROUP_NAME_MAX_LENGTH_DESKTOP), ' ', _jsx(Icon, { className: classes.icon, children: (group === null || group === void 0 ? void 0 : group.privacy) === SCGroupPrivacyType.PRIVATE ? 'private' : 'public' })] }), secondary: `${intl.formatMessage(messages.groupMembers, { total: scGroup.subscribers_counter })}`, actions: hideActions ? null : renderAuthenticatedActions() })), openAlert && _jsx(UserDeletedSnackBar, { open: openAlert, handleClose: () => setOpenAlert(false) })] }));
105
105
  }
@@ -33,5 +33,5 @@ const Root = styled(BaseItem, {
33
33
  */
34
34
  export default function GroupSkeleton(props) {
35
35
  const theme = useTheme();
36
- return (_jsx(Root, Object.assign({ className: classes.root }, props, { image: _jsx(Skeleton, { animation: "wave", variant: "circular", width: theme.selfcommunity.group.avatar.sizeSmall, height: theme.selfcommunity.group.avatar.sizeSmall }), primary: _jsx(Skeleton, { animation: "wave", height: 10, width: 120, style: { marginBottom: 10 } }), secondary: _jsx(Skeleton, { animation: "wave", height: 10, width: 70, style: { marginBottom: 10 } }), actions: _jsx(Button, Object.assign({ size: "small", variant: "outlined", disabled: true }, { children: _jsx(Skeleton, { animation: "wave", height: 10, width: 30, style: { marginTop: 5, marginBottom: 5 } }) })) })));
36
+ return (_jsx(Root, Object.assign({ className: classes.root }, props, { image: _jsx(Skeleton, { animation: "wave", variant: "circular", width: theme.selfcommunity.group.avatar.sizeSmall, height: theme.selfcommunity.group.avatar.sizeSmall }), primary: _jsx(Skeleton, { animation: "wave", height: 10, width: 120, style: { marginBottom: 10 } }), secondary: _jsx(Skeleton, { animation: "wave", height: 10, width: 70, style: { marginBottom: 10 } }), actions: _jsx(Button, { size: "small", variant: "outlined", disabled: true, children: _jsx(Skeleton, { animation: "wave", height: 10, width: 30, style: { marginTop: 5, marginBottom: 5 } }) }) })));
37
37
  }
@@ -0,0 +1,57 @@
1
+ import { IconButtonProps } from '@mui/material';
2
+ import { SCGroupType } from '@selfcommunity/types';
3
+ export interface GroupActionsMenuProps extends IconButtonProps {
4
+ /**
5
+ * Overrides or extends the styles applied to the component.
6
+ * @default null
7
+ */
8
+ className?: string;
9
+ /**
10
+ * The group
11
+ */
12
+ group: SCGroupType;
13
+ /**
14
+ * The group id
15
+ */
16
+ groupId?: number;
17
+ /**
18
+ * Handles callback on delete confirm
19
+ */
20
+ onDeleteConfirm?: () => void;
21
+ /**
22
+ * Handles on edit success
23
+ */
24
+ onEditSuccess?: (data: SCGroupType) => any;
25
+ /**
26
+ * Any other properties
27
+ */
28
+ [p: string]: any;
29
+ }
30
+ /**
31
+ * > API documentation for the Community-JS GroupActionsMenu component. Learn about the available props and the CSS API.
32
+
33
+ #### Import
34
+
35
+ ```jsx
36
+ import {GroupActionsMenu} from '@selfcommunity/react-ui';
37
+ ```
38
+
39
+ #### Component Name
40
+
41
+ The name `SCGroupActionsMenu` can be used when providing style overrides in the theme.
42
+
43
+
44
+ #### CSS
45
+
46
+ |Rule Name|Global class|Description|
47
+ |---|---|---|
48
+ |root|.SCGroupActionsMenu-root|Styles applied to the root element.|
49
+ |drawerRoot|.SCGroupActionsMenu-drawer-root|Styles applied to the drawer root element.|
50
+ |menuRoot|.SCGroupActionsMenu-menu-root|Styles applied to the menu root element.|
51
+ |paper|.SCGroupActionsMenu-paper|Styles applied to the paper element.|
52
+ |item|.SCGroupActionsMenu-item|Styles applied to the item element.|
53
+
54
+
55
+ * @param inProps
56
+ */
57
+ export default function GroupActionsMenu(inProps: GroupActionsMenuProps): JSX.Element;
@@ -0,0 +1,154 @@
1
+ import { __rest } from "tslib";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { useMemo, useState } from 'react';
4
+ import { styled } from '@mui/material/styles';
5
+ import { Divider, IconButton, List, ListItemIcon, Menu, MenuItem, SwipeableDrawer, useMediaQuery, useTheme } from '@mui/material';
6
+ import { FormattedMessage } from 'react-intl';
7
+ import Icon from '@mui/material/Icon';
8
+ import classNames from 'classnames';
9
+ import { useThemeProps } from '@mui/system';
10
+ import { SCRoutes, useSCFetchGroup, useSCRouting, useSCUser } from '@selfcommunity/react-core';
11
+ import ConfirmDialog from '../../shared/ConfirmDialog/ConfirmDialog';
12
+ import { GroupService } from '@selfcommunity/api-services';
13
+ import { copyTextToClipboard } from '@selfcommunity/utils';
14
+ import { enqueueSnackbar } from 'notistack';
15
+ import PubSub from 'pubsub-js';
16
+ import { SCGroupEventType, SCTopicType } from '../../constants/PubSub';
17
+ import GroupForm from '../../components/GroupForm';
18
+ import { DELETE_GROUP, GET_GROUP_LINK } from '../../constants/GroupActionsMenu';
19
+ const PREFIX = 'SCGroupActionsMenu';
20
+ const classes = {
21
+ root: `${PREFIX}-root`,
22
+ drawerRoot: `${PREFIX}-drawer-root`,
23
+ menuRoot: `${PREFIX}-menu-root`,
24
+ paper: `${PREFIX}-paper`,
25
+ item: `${PREFIX}-item`
26
+ };
27
+ const Root = styled(IconButton, {
28
+ name: PREFIX,
29
+ slot: 'Root'
30
+ })(() => ({}));
31
+ const SwipeableDrawerRoot = styled(SwipeableDrawer, {
32
+ name: PREFIX,
33
+ slot: 'DrawerRoot'
34
+ })(() => ({}));
35
+ const MenuRoot = styled(Menu, {
36
+ name: PREFIX,
37
+ slot: 'MenuRoot'
38
+ })(() => ({}));
39
+ /**
40
+ * > API documentation for the Community-JS GroupActionsMenu component. Learn about the available props and the CSS API.
41
+
42
+ #### Import
43
+
44
+ ```jsx
45
+ import {GroupActionsMenu} from '@selfcommunity/react-ui';
46
+ ```
47
+
48
+ #### Component Name
49
+
50
+ The name `SCGroupActionsMenu` can be used when providing style overrides in the theme.
51
+
52
+
53
+ #### CSS
54
+
55
+ |Rule Name|Global class|Description|
56
+ |---|---|---|
57
+ |root|.SCGroupActionsMenu-root|Styles applied to the root element.|
58
+ |drawerRoot|.SCGroupActionsMenu-drawer-root|Styles applied to the drawer root element.|
59
+ |menuRoot|.SCGroupActionsMenu-menu-root|Styles applied to the menu root element.|
60
+ |paper|.SCGroupActionsMenu-paper|Styles applied to the paper element.|
61
+ |item|.SCGroupActionsMenu-item|Styles applied to the item element.|
62
+
63
+
64
+ * @param inProps
65
+ */
66
+ export default function GroupActionsMenu(inProps) {
67
+ var _a;
68
+ // PROPS
69
+ const props = useThemeProps({
70
+ props: inProps,
71
+ name: PREFIX
72
+ });
73
+ const { className, group, groupId, onDeleteConfirm, onEditSuccess } = props, rest = __rest(props, ["className", "group", "groupId", "onDeleteConfirm", "onEditSuccess"]);
74
+ // STATE
75
+ const [anchorEl, setAnchorEl] = useState(null);
76
+ const [openConfirmDialog, setOpenConfirmDialog] = useState(false);
77
+ const [openEdit, setOpenEdit] = useState(false);
78
+ // HOOKS
79
+ const theme = useTheme();
80
+ const isMobile = useMediaQuery(theme.breakpoints.down('md'));
81
+ const scRoutingContext = useSCRouting();
82
+ const scUserContext = useSCUser();
83
+ const { scGroup, setSCGroup } = useSCFetchGroup({ id: groupId, group });
84
+ const isGroupAdmin = useMemo(() => { var _a; return scUserContext.user && ((_a = scGroup === null || scGroup === void 0 ? void 0 : scGroup.managed_by) === null || _a === void 0 ? void 0 : _a.id) === scUserContext.user.id; }, [scUserContext.user, (_a = scGroup === null || scGroup === void 0 ? void 0 : scGroup.managed_by) === null || _a === void 0 ? void 0 : _a.id]);
85
+ // HANDLERS
86
+ const handleOpen = (group) => {
87
+ setAnchorEl(group.currentTarget);
88
+ };
89
+ const handleClose = () => {
90
+ setAnchorEl(null);
91
+ };
92
+ const handleEditClick = () => {
93
+ setOpenEdit((o) => !o);
94
+ };
95
+ const handleCloseDialog = () => {
96
+ setOpenConfirmDialog(false);
97
+ setAnchorEl(null);
98
+ };
99
+ const handleEditSuccess = (data) => {
100
+ setSCGroup(data);
101
+ onEditSuccess && onEditSuccess(data);
102
+ };
103
+ /**
104
+ * Handles thread deletion
105
+ */
106
+ function handleDeleteThread() {
107
+ GroupService.deleteGroup(scGroup.id)
108
+ .then(() => {
109
+ onDeleteConfirm();
110
+ handleCloseDialog();
111
+ PubSub.publish(`${SCTopicType.GROUP}.${SCGroupEventType.DELETE}`, scGroup.id);
112
+ })
113
+ .catch((error) => {
114
+ setOpenConfirmDialog(false);
115
+ console.log(error);
116
+ });
117
+ }
118
+ /**
119
+ * Handles actions
120
+ */
121
+ function handleAction(action) {
122
+ if (action === GET_GROUP_LINK) {
123
+ copyTextToClipboard(`${location.protocol}//${location.host}${scRoutingContext.url(SCRoutes.GROUP_ROUTE_NAME, scGroup)}`).then(() => {
124
+ enqueueSnackbar(_jsx(FormattedMessage, { id: "ui.common.permanentLinkCopied", defaultMessage: "ui.common.permanentLinkCopied" }), {
125
+ variant: 'success',
126
+ autoHideDuration: 3000
127
+ });
128
+ });
129
+ handleClose();
130
+ }
131
+ else if (action === DELETE_GROUP) {
132
+ setOpenConfirmDialog(true);
133
+ handleClose();
134
+ }
135
+ }
136
+ /**
137
+ *
138
+ */
139
+ const renderList = () => {
140
+ return [
141
+ _jsxs(MenuItem, { className: classes.item, onClick: () => handleAction(GET_GROUP_LINK), children: [_jsx(ListItemIcon, { children: _jsx(Icon, { children: "link" }) }), _jsx(FormattedMessage, { id: "ui.groupActionsMenu.item.link", defaultMessage: "ui.groupActionsMenu.item.link" })] }, "link"),
142
+ isGroupAdmin &&
143
+ scGroup.active && [
144
+ _jsx(Divider, {}, "divider"),
145
+ isMobile && (_jsxs(MenuItem, { className: classes.item, onClick: handleEditClick, children: [_jsx(ListItemIcon, { children: _jsx(Icon, { children: "edit" }) }), _jsx(FormattedMessage, { id: "ui.groupActionsMenu.item.edit", defaultMessage: "ui.groupActionsMenu.item.edit" })] }, "edit")),
146
+ _jsxs(MenuItem, { className: classes.item, onClick: () => handleAction(DELETE_GROUP), children: [_jsx(ListItemIcon, { children: _jsx(Icon, { children: "delete" }) }), _jsx(FormattedMessage, { id: "ui.groupActionsMenu.item.delete", defaultMessage: "ui.groupActionsMenu.item.delete" })] }, "delete")
147
+ ]
148
+ ];
149
+ };
150
+ if (!scGroup) {
151
+ return null;
152
+ }
153
+ 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.groupActionsMenu.dialog.msg", defaultMessage: "ui.groupActionsMenu.dialog.msg" }), btnConfirm: _jsx(FormattedMessage, { id: "ui.groupActionsMenu.dialog.confirm", defaultMessage: "ui.groupActionsMenu.dialog.confirm" }), onConfirm: handleDeleteThread, onClose: handleCloseDialog })), openEdit && _jsx(GroupForm, { onClose: handleEditClick, group: scGroup, onSuccess: handleEditSuccess })] }));
154
+ }
@@ -87,7 +87,7 @@ const GroupAutocomplete = (inProps) => {
87
87
  renderOption: (props, option, { inputValue }) => {
88
88
  const matches = match(option.name, inputValue);
89
89
  const parts = parse(option.name, matches);
90
- return (_jsxs(Box, Object.assign({ component: "li" }, props, { children: [_jsx(Avatar, { alt: option.name, src: option.image_small, sx: { marginRight: 1 } }), _jsx(React.Fragment, { children: parts.map((part, index) => (_jsx(Typography, Object.assign({ sx: { fontWeight: part.highlight ? 700 : 400, marginRight: 0.2 } }, { children: part.text }), index))) })] })));
90
+ return (_jsxs(Box, Object.assign({ component: "li" }, props, { children: [_jsx(Avatar, { alt: option.name, src: option.image_small, sx: { marginRight: 1 } }), _jsx(React.Fragment, { children: parts.map((part, index) => (_jsx(Typography, { sx: { fontWeight: part.highlight ? 700 : 400, marginRight: 0.2 }, children: part.text }, index))) })] })));
91
91
  }, renderInput: (params) => {
92
92
  return (_jsx(TextField, Object.assign({}, params, TextFieldProps, { margin: "dense", InputProps: Object.assign(Object.assign({}, params.InputProps), { autoComplete: 'groups', endAdornment: (_jsxs(React.Fragment, { children: [isLoading ? _jsx(CircularProgress, { color: "inherit", size: 20 }) : null, params.InputProps.endAdornment] })) }) })));
93
93
  } }, rest)));
@@ -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;