@selfcommunity/react-ui 0.11.0-alpha.6 → 0.11.0-alpha.61
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/assets/courses/clapping.d.ts +1 -0
- package/lib/cjs/assets/courses/clapping.js +4 -0
- package/lib/cjs/components/BottomNavigation/BottomNavigation.js +17 -2
- package/lib/cjs/components/CategoryAutocomplete/CategoryAutocomplete.d.ts +5 -0
- package/lib/cjs/components/CategoryAutocomplete/CategoryAutocomplete.js +9 -11
- package/lib/cjs/components/CommentObject/CommentObject.d.ts +5 -0
- package/lib/cjs/components/CommentObject/CommentObject.js +2 -2
- package/lib/cjs/components/CommentObjectReply/CommentObjectReply.d.ts +24 -2
- package/lib/cjs/components/CommentObjectReply/CommentObjectReply.js +17 -4
- package/lib/cjs/components/Composer/Content/ContentLesson/ContentLesson.d.ts +38 -0
- package/lib/cjs/components/Composer/Content/ContentLesson/ContentLesson.js +67 -0
- package/lib/cjs/components/Composer/Content/ContentLesson/index.d.ts +3 -0
- package/lib/cjs/components/Composer/Content/ContentLesson/index.js +5 -0
- package/lib/cjs/components/Composer/Layer/AudienceLayer/AudienceLayer.js +2 -2
- package/lib/cjs/components/Composer/Layer/CategoryLayer/CategoryLayer.d.ts +1 -1
- package/lib/cjs/components/Composer/Layer/CategoryLayer/CategoryLayer.js +4 -1
- package/lib/cjs/components/ComposerIconButton/ComposerIconButton.d.ts +9 -3
- package/lib/cjs/components/ComposerIconButton/ComposerIconButton.js +46 -9
- package/lib/cjs/components/Course/Course.d.ts +92 -0
- package/lib/cjs/components/Course/Course.js +185 -0
- package/lib/cjs/components/Course/CreatePlaceholder.d.ts +39 -0
- package/lib/cjs/components/Course/CreatePlaceholder.js +59 -0
- package/lib/cjs/components/Course/Skeleton.d.ts +51 -0
- package/lib/cjs/components/Course/Skeleton.js +77 -0
- package/lib/cjs/components/Course/constants.d.ts +1 -0
- package/lib/cjs/components/Course/constants.js +4 -0
- package/lib/cjs/components/Course/index.d.ts +4 -0
- package/lib/cjs/components/Course/index.js +8 -0
- package/lib/cjs/components/CourseCompletedDialog/CourseCompletedDialog.d.ts +9 -0
- package/lib/cjs/components/CourseCompletedDialog/CourseCompletedDialog.js +40 -0
- package/lib/cjs/components/CourseCompletedDialog/index.d.ts +3 -0
- package/lib/cjs/components/CourseCompletedDialog/index.js +5 -0
- package/lib/cjs/components/CourseContentMenu/CourseContentMenu.d.ts +25 -0
- package/lib/cjs/components/CourseContentMenu/CourseContentMenu.js +47 -0
- package/lib/cjs/components/CourseContentMenu/constants.d.ts +1 -0
- package/lib/cjs/components/CourseContentMenu/constants.js +4 -0
- package/lib/cjs/components/CourseContentMenu/index.d.ts +3 -0
- package/lib/cjs/components/CourseContentMenu/index.js +5 -0
- package/lib/cjs/components/CourseDashboard/Header/Skeleton.d.ts +1 -0
- package/lib/cjs/components/CourseDashboard/Header/Skeleton.js +16 -0
- package/lib/cjs/components/CourseDashboard/Header.d.ts +9 -0
- package/lib/cjs/components/CourseDashboard/Header.js +44 -0
- package/lib/cjs/components/CourseDashboard/Student/ActionButton.d.ts +8 -0
- package/lib/cjs/components/CourseDashboard/Student/ActionButton.js +16 -0
- package/lib/cjs/components/CourseDashboard/Student/Skeleton.d.ts +1 -0
- package/lib/cjs/components/CourseDashboard/Student/Skeleton.js +30 -0
- package/lib/cjs/components/CourseDashboard/Student.d.ts +11 -0
- package/lib/cjs/components/CourseDashboard/Student.js +203 -0
- package/lib/cjs/components/CourseDashboard/Teacher/Comments.d.ts +9 -0
- package/lib/cjs/components/CourseDashboard/Teacher/Comments.js +108 -0
- package/lib/cjs/components/CourseDashboard/Teacher/Info.d.ts +11 -0
- package/lib/cjs/components/CourseDashboard/Teacher/Info.js +19 -0
- package/lib/cjs/components/CourseDashboard/Teacher/Skeleton.d.ts +1 -0
- package/lib/cjs/components/CourseDashboard/Teacher/Skeleton.js +25 -0
- package/lib/cjs/components/CourseDashboard/Teacher/Students.d.ts +10 -0
- package/lib/cjs/components/CourseDashboard/Teacher/Students.js +71 -0
- package/lib/cjs/components/CourseDashboard/Teacher.d.ts +11 -0
- package/lib/cjs/components/CourseDashboard/Teacher.js +62 -0
- package/lib/cjs/components/CourseDashboard/constants.d.ts +1 -0
- package/lib/cjs/components/CourseDashboard/constants.js +4 -0
- package/lib/cjs/components/CourseDashboard/index.d.ts +11 -0
- package/lib/cjs/components/CourseDashboard/index.js +11 -0
- package/lib/cjs/components/CourseDashboard/types.d.ts +8 -0
- package/lib/cjs/components/CourseDashboard/types.js +13 -0
- package/lib/cjs/components/CourseForm/CourseForm.d.ts +74 -0
- package/lib/cjs/components/CourseForm/CourseForm.js +273 -0
- package/lib/cjs/components/CourseForm/Dialog.d.ts +8 -0
- package/lib/cjs/components/CourseForm/Dialog.js +19 -0
- package/lib/cjs/components/CourseForm/Edit.d.ts +24 -0
- package/lib/cjs/components/CourseForm/Edit.js +53 -0
- package/lib/cjs/components/CourseForm/Skeleton.d.ts +1 -0
- package/lib/cjs/components/CourseForm/Skeleton.js +17 -0
- package/lib/cjs/components/CourseForm/UploadCourseCover.d.ts +45 -0
- package/lib/cjs/components/CourseForm/UploadCourseCover.js +94 -0
- package/lib/cjs/components/CourseForm/constants.d.ts +1 -0
- package/lib/cjs/components/CourseForm/constants.js +4 -0
- package/lib/cjs/components/CourseForm/index.d.ts +4 -0
- package/lib/cjs/components/CourseForm/index.js +8 -0
- package/lib/cjs/components/CourseFormDialog/CourseFormDialog.d.ts +48 -0
- package/lib/cjs/components/CourseFormDialog/CourseFormDialog.js +67 -0
- package/lib/cjs/components/CourseFormDialog/constants.d.ts +1 -0
- package/lib/cjs/components/CourseFormDialog/constants.js +4 -0
- package/lib/cjs/components/CourseFormDialog/index.d.ts +3 -0
- package/lib/cjs/components/CourseFormDialog/index.js +5 -0
- package/lib/cjs/components/CourseJoinButton/CourseJoinButton.d.ts +56 -0
- package/lib/cjs/components/CourseJoinButton/CourseJoinButton.js +148 -0
- package/lib/cjs/components/CourseJoinButton/index.d.ts +3 -0
- package/lib/cjs/components/CourseJoinButton/index.js +5 -0
- package/lib/cjs/components/CourseParticipantsButton/CourseParticipantsButton.d.ts +53 -0
- package/lib/cjs/components/CourseParticipantsButton/CourseParticipantsButton.js +150 -0
- package/lib/cjs/components/CourseParticipantsButton/index.d.ts +3 -0
- package/lib/cjs/components/CourseParticipantsButton/index.js +5 -0
- package/lib/cjs/components/Courses/Courses.d.ts +100 -0
- package/lib/cjs/components/Courses/Courses.js +237 -0
- package/lib/cjs/components/Courses/Skeleton.d.ts +54 -0
- package/lib/cjs/components/Courses/Skeleton.js +45 -0
- package/lib/cjs/components/Courses/constants.d.ts +1 -0
- package/lib/cjs/components/Courses/constants.js +4 -0
- package/lib/cjs/components/Courses/index.d.ts +4 -0
- package/lib/cjs/components/Courses/index.js +8 -0
- package/lib/cjs/components/Courses/prefetchedCourses.d.ts +81 -0
- package/lib/cjs/components/Courses/prefetchedCourses.js +186 -0
- package/lib/cjs/components/CreateCourseButton/CreateCourseButton.d.ts +38 -0
- package/lib/cjs/components/CreateCourseButton/CreateCourseButton.js +81 -0
- package/lib/cjs/components/CreateCourseButton/index.d.ts +3 -0
- package/lib/cjs/components/CreateCourseButton/index.js +5 -0
- package/lib/cjs/components/CreateEventButton/CreateEventButton.d.ts +1 -1
- package/lib/cjs/components/CreateEventButton/CreateEventButton.js +1 -1
- package/lib/cjs/components/CreateLiveStreamButton/CreateLiveStreamButton.d.ts +0 -6
- package/lib/cjs/components/CreateLiveStreamButton/CreateLiveStreamButton.js +2 -9
- package/lib/cjs/components/CreateLiveStreamDialog/CreateLiveStreamDialog.d.ts +10 -4
- package/lib/cjs/components/CreateLiveStreamDialog/CreateLiveStreamDialog.js +17 -11
- package/lib/cjs/components/CreateLiveStreamDialog/LiveStreamSelector/LiveStreamSelector.js +10 -2
- package/lib/cjs/components/EditCourse/Customize.d.ts +9 -0
- package/lib/cjs/components/EditCourse/Customize.js +31 -0
- package/lib/cjs/components/EditCourse/EditCourse.d.ts +13 -0
- package/lib/cjs/components/EditCourse/EditCourse.js +110 -0
- package/lib/cjs/components/EditCourse/Lessons/AddButton.d.ts +9 -0
- package/lib/cjs/components/EditCourse/Lessons/AddButton.js +29 -0
- package/lib/cjs/components/EditCourse/Lessons/ChangeLessonStatus.d.ts +13 -0
- package/lib/cjs/components/EditCourse/Lessons/ChangeLessonStatus.js +92 -0
- package/lib/cjs/components/EditCourse/Lessons/FieldName.d.ts +15 -0
- package/lib/cjs/components/EditCourse/Lessons/FieldName.js +83 -0
- package/lib/cjs/components/EditCourse/Lessons/LessonRow.d.ts +15 -0
- package/lib/cjs/components/EditCourse/Lessons/LessonRow.js +68 -0
- package/lib/cjs/components/EditCourse/Lessons/SectionRow.d.ts +14 -0
- package/lib/cjs/components/EditCourse/Lessons/SectionRow.js +158 -0
- package/lib/cjs/components/EditCourse/Lessons/Skeleton.d.ts +1 -0
- package/lib/cjs/components/EditCourse/Lessons/Skeleton.js +20 -0
- package/lib/cjs/components/EditCourse/Lessons.d.ts +11 -0
- package/lib/cjs/components/EditCourse/Lessons.js +196 -0
- package/lib/cjs/components/EditCourse/MenuRow.d.ts +9 -0
- package/lib/cjs/components/EditCourse/MenuRow.js +25 -0
- package/lib/cjs/components/EditCourse/Options/Skeleton.d.ts +1 -0
- package/lib/cjs/components/EditCourse/Options/Skeleton.js +15 -0
- package/lib/cjs/components/EditCourse/Options/SwitchForm.d.ts +11 -0
- package/lib/cjs/components/EditCourse/Options/SwitchForm.js +20 -0
- package/lib/cjs/components/EditCourse/Options.d.ts +9 -0
- package/lib/cjs/components/EditCourse/Options.js +96 -0
- package/lib/cjs/components/EditCourse/Requests.d.ts +12 -0
- package/lib/cjs/components/EditCourse/Requests.js +97 -0
- package/lib/cjs/components/EditCourse/Skeleton.d.ts +8 -0
- package/lib/cjs/components/EditCourse/Skeleton.js +28 -0
- package/lib/cjs/components/EditCourse/Status.d.ts +9 -0
- package/lib/cjs/components/EditCourse/Status.js +33 -0
- package/lib/cjs/components/EditCourse/Users/Skeleton.d.ts +1 -0
- package/lib/cjs/components/EditCourse/Users/Skeleton.js +15 -0
- package/lib/cjs/components/EditCourse/Users.d.ts +11 -0
- package/lib/cjs/components/EditCourse/Users.js +140 -0
- package/lib/cjs/components/EditCourse/constants.d.ts +1 -0
- package/lib/cjs/components/EditCourse/constants.js +4 -0
- package/lib/cjs/components/EditCourse/hooks.d.ts +3 -0
- package/lib/cjs/components/EditCourse/hooks.js +22 -0
- package/lib/cjs/components/EditCourse/index.d.ts +4 -0
- package/lib/cjs/components/EditCourse/index.js +8 -0
- package/lib/cjs/components/EditCourse/types.d.ts +29 -0
- package/lib/cjs/components/EditCourse/types.js +19 -0
- package/lib/cjs/components/Editor/Editor.d.ts +37 -0
- package/lib/cjs/components/Editor/Editor.js +13 -10
- package/lib/cjs/components/Editor/nodes/HashtagNode.js +2 -0
- package/lib/cjs/components/Editor/nodes/MentionNode.js +2 -0
- package/lib/cjs/components/Editor/plugins/EmojiPlugin.d.ts +3 -1
- package/lib/cjs/components/Editor/plugins/EmojiPlugin.js +4 -10
- package/lib/cjs/components/Editor/plugins/HorizontalRulePlugin.d.ts +8 -0
- package/lib/cjs/components/Editor/plugins/HorizontalRulePlugin.js +34 -0
- package/lib/cjs/components/Editor/plugins/LexicalRichTextPlugin.d.ts +2 -2
- package/lib/cjs/components/Editor/plugins/LexicalRichTextPlugin.js +2 -3
- package/lib/cjs/components/Editor/plugins/MediaPlugin.d.ts +14 -0
- package/lib/cjs/components/Editor/plugins/MediaPlugin.js +121 -0
- package/lib/cjs/components/Editor/plugins/ToolbarPlugin.d.ts +5 -0
- package/lib/cjs/components/Editor/plugins/ToolbarPlugin.js +3 -2
- package/lib/cjs/components/Editor/plugins/index.d.ts +2 -1
- package/lib/cjs/components/Editor/plugins/index.js +3 -1
- package/lib/cjs/components/Event/Event.js +6 -3
- package/lib/cjs/components/EventForm/EventAddress.js +1 -1
- package/lib/cjs/components/EventForm/EventForm.js +41 -23
- package/lib/cjs/components/EventForm/utils.d.ts +1 -0
- package/lib/cjs/components/EventForm/utils.js +6 -1
- package/lib/cjs/components/EventFormDialog/EventFormDialog.d.ts +1 -1
- package/lib/cjs/components/EventFormDialog/EventFormDialog.js +3 -3
- package/lib/cjs/components/EventHeader/EventHeader.js +3 -2
- package/lib/cjs/components/EventMembersWidget/EventMembersWidget.js +12 -12
- package/lib/cjs/components/EventMembersWidget/TabContentComponent.js +8 -8
- package/lib/cjs/components/EventMembersWidget/types.d.ts +4 -5
- package/lib/cjs/components/EventMembersWidget/types.js +7 -7
- package/lib/cjs/components/EventParticipantsButton/EventParticipantsButton.js +1 -1
- package/lib/cjs/components/EventSubscribeButton/EventSubscribeButton.js +1 -1
- package/lib/cjs/components/Events/Events.d.ts +11 -0
- package/lib/cjs/components/Events/Events.js +21 -10
- package/lib/cjs/components/Events/OngoingEventsFilter.d.ts +8 -0
- package/lib/cjs/components/Events/OngoingEventsFilter.js +24 -0
- package/lib/cjs/components/FeedObject/Actions/Share/Share.js +4 -1
- package/lib/cjs/components/FeedObject/Activities/Activities.js +1 -1
- package/lib/cjs/components/Footer/Footer.js +9 -6
- package/lib/cjs/components/Footer/constants.d.ts +1 -0
- package/lib/cjs/components/Footer/constants.js +2 -1
- package/lib/cjs/components/GroupForm/GroupForm.js +2 -2
- package/lib/cjs/components/GroupInvitedWidget/GroupInvitedWidget.js +1 -1
- package/lib/cjs/components/GroupRequestsWidget/GroupRequestsWidget.js +1 -1
- package/lib/cjs/components/Groups/Groups.js +18 -16
- package/lib/cjs/components/LessonAppbar/LessonAppbar.d.ts +42 -0
- package/lib/cjs/components/LessonAppbar/LessonAppbar.js +34 -0
- package/lib/cjs/components/LessonAppbar/constants.d.ts +1 -0
- package/lib/cjs/components/LessonAppbar/constants.js +4 -0
- package/lib/cjs/components/LessonAppbar/index.d.ts +3 -0
- package/lib/cjs/components/LessonAppbar/index.js +5 -0
- package/lib/cjs/components/LessonCommentObject/LessonCommentObject.d.ts +94 -0
- package/lib/cjs/components/LessonCommentObject/LessonCommentObject.js +202 -0
- package/lib/cjs/components/LessonCommentObject/Skeleton.d.ts +21 -0
- package/lib/cjs/components/LessonCommentObject/Skeleton.js +46 -0
- package/lib/cjs/components/LessonCommentObject/constants.d.ts +1 -0
- package/lib/cjs/components/LessonCommentObject/constants.js +4 -0
- package/lib/cjs/components/LessonCommentObject/index.d.ts +4 -0
- package/lib/cjs/components/LessonCommentObject/index.js +8 -0
- package/lib/cjs/components/LessonCommentObjects/LessonCommentObjects.d.ts +76 -0
- package/lib/cjs/components/LessonCommentObjects/LessonCommentObjects.js +185 -0
- package/lib/cjs/components/LessonCommentObjects/Skeleton.d.ts +23 -0
- package/lib/cjs/components/LessonCommentObjects/Skeleton.js +40 -0
- package/lib/cjs/components/LessonCommentObjects/constants.d.ts +1 -0
- package/lib/cjs/components/LessonCommentObjects/constants.js +4 -0
- package/lib/cjs/components/LessonCommentObjects/index.d.ts +4 -0
- package/lib/cjs/components/LessonCommentObjects/index.js +8 -0
- package/lib/cjs/components/LessonDrawer/LessonDrawer.d.ts +50 -0
- package/lib/cjs/components/LessonDrawer/LessonDrawer.js +37 -0
- package/lib/cjs/components/LessonDrawer/constants.d.ts +1 -0
- package/lib/cjs/components/LessonDrawer/constants.js +4 -0
- package/lib/cjs/components/LessonDrawer/index.d.ts +3 -0
- package/lib/cjs/components/LessonDrawer/index.js +5 -0
- package/lib/cjs/components/LessonEditForm/LessonEditForm.d.ts +24 -0
- package/lib/cjs/components/LessonEditForm/LessonEditForm.js +45 -0
- package/lib/cjs/components/LessonEditForm/constants.d.ts +1 -0
- package/lib/cjs/components/LessonEditForm/constants.js +4 -0
- package/lib/cjs/components/LessonEditForm/index.d.ts +3 -0
- package/lib/cjs/components/LessonEditForm/index.js +5 -0
- package/lib/cjs/components/LessonObject/LessonObject.d.ts +40 -0
- package/lib/cjs/components/LessonObject/LessonObject.js +70 -0
- package/lib/cjs/components/LessonObject/constants.d.ts +1 -0
- package/lib/cjs/components/LessonObject/constants.js +4 -0
- package/lib/cjs/components/LessonObject/index.d.ts +3 -0
- package/lib/cjs/components/LessonObject/index.js +5 -0
- package/lib/cjs/components/LessonReleaseMenu/LessonReleaseMenu.d.ts +26 -0
- package/lib/cjs/components/LessonReleaseMenu/LessonReleaseMenu.js +172 -0
- package/lib/cjs/components/LessonReleaseMenu/constants.d.ts +5 -0
- package/lib/cjs/components/LessonReleaseMenu/constants.js +9 -0
- package/lib/cjs/components/LessonReleaseMenu/index.d.ts +3 -0
- package/lib/cjs/components/LessonReleaseMenu/index.js +5 -0
- package/lib/cjs/components/LiveStreamForm/LiveStreamForm.js +65 -6
- package/lib/cjs/components/LiveStreamForm/LiveStreamFormSettings.js +8 -3
- package/lib/cjs/components/LiveStreamRoom/LiveStreamRoom.js +8 -6
- package/lib/cjs/components/LiveStreamRoom/LiveStreamVideoConference/ControlBar.js +3 -1
- package/lib/cjs/components/LiveStreamRoom/LiveStreamVideoConference/FocusLayout.d.ts +2 -1
- package/lib/cjs/components/LiveStreamRoom/LiveStreamVideoConference/FocusLayout.js +2 -2
- package/lib/cjs/components/LiveStreamRoom/LiveStreamVideoConference/LiveStreamSettingsMenu.d.ts +9 -0
- package/lib/cjs/components/LiveStreamRoom/LiveStreamVideoConference/LiveStreamSettingsMenu.js +106 -0
- package/lib/cjs/components/LiveStreamRoom/LiveStreamVideoConference/NoParticipants.d.ts +4 -0
- package/lib/cjs/components/LiveStreamRoom/LiveStreamVideoConference/NoParticipants.js +37 -0
- package/lib/cjs/components/LiveStreamRoom/LiveStreamVideoConference/ParticipantTile.d.ts +1 -0
- package/lib/cjs/components/LiveStreamRoom/LiveStreamVideoConference/ParticipantTile.js +2 -2
- package/lib/cjs/components/LiveStreamRoom/LiveStreamVideoConference/PreJoin.d.ts +3 -2
- package/lib/cjs/components/LiveStreamRoom/LiveStreamVideoConference/PreJoin.js +45 -2
- package/lib/cjs/components/LiveStreamRoom/LiveStreamVideoConference/VideoConference.js +62 -5
- package/lib/cjs/components/NavigationMenuIconButton/DefaultDrawerContent.js +7 -5
- package/lib/cjs/components/NavigationMenuIconButton/NavigationMenuDrawer.d.ts +3 -1
- package/lib/cjs/components/NavigationMenuIconButton/NavigationMenuDrawer.js +13 -6
- package/lib/cjs/components/NavigationToolbar/NavigationToolbar.d.ts +1 -1
- package/lib/cjs/components/NavigationToolbar/NavigationToolbar.js +14 -3
- package/lib/cjs/components/NavigationToolbarMobile/NavigationToolbarMobile.d.ts +1 -1
- package/lib/cjs/components/NavigationToolbarMobile/NavigationToolbarMobile.js +4 -4
- package/lib/cjs/components/Notification/Course/Course.d.ts +15 -0
- package/lib/cjs/components/Notification/Course/Course.js +89 -0
- package/lib/cjs/components/Notification/Course/index.d.ts +3 -0
- package/lib/cjs/components/Notification/Course/index.js +5 -0
- package/lib/cjs/components/Notification/Course/utils.d.ts +5 -0
- package/lib/cjs/components/Notification/Course/utils.js +44 -0
- package/lib/cjs/components/Notification/Event/Event.js +20 -2
- package/lib/cjs/components/Notification/Notification.js +9 -0
- package/lib/cjs/components/RelatedEventsWidget/RelatedEventsWidget.js +1 -2
- package/lib/cjs/components/SearchDialog/SearchDialog.d.ts +4 -1
- package/lib/cjs/components/SearchDialog/SearchDialog.js +2 -2
- package/lib/cjs/components/SnippetNotifications/SnippetNotifications.js +9 -0
- package/lib/cjs/components/TagAutocomplete/TagAutocomplete.js +2 -2
- package/lib/cjs/components/ToastNotifications/ToastNotifications.js +9 -0
- package/lib/cjs/components/UserCreatedCoursesWidget/Skeleton.d.ts +21 -0
- package/lib/cjs/components/UserCreatedCoursesWidget/Skeleton.js +43 -0
- package/lib/cjs/components/UserCreatedCoursesWidget/UserCreatedCoursesWidget.d.ts +63 -0
- package/lib/cjs/components/UserCreatedCoursesWidget/UserCreatedCoursesWidget.js +154 -0
- package/lib/cjs/components/UserCreatedCoursesWidget/constants.d.ts +1 -0
- package/lib/cjs/components/UserCreatedCoursesWidget/constants.js +4 -0
- package/lib/cjs/components/UserCreatedCoursesWidget/index.d.ts +4 -0
- package/lib/cjs/components/UserCreatedCoursesWidget/index.js +8 -0
- package/lib/cjs/constants/Course.d.ts +6 -0
- package/lib/cjs/constants/Course.js +10 -0
- package/lib/cjs/constants/LiveStream.d.ts +1 -0
- package/lib/cjs/constants/LiveStream.js +2 -1
- package/lib/cjs/constants/PubSub.d.ts +14 -0
- package/lib/cjs/constants/PubSub.js +16 -1
- package/lib/cjs/index.d.ts +23 -2
- package/lib/cjs/index.js +60 -5
- package/lib/cjs/shared/AccordionLessons/AccordionLessons.d.ts +8 -0
- package/lib/cjs/shared/AccordionLessons/AccordionLessons.js +65 -0
- package/lib/cjs/shared/AccordionLessons/Skeleton.d.ts +1 -0
- package/lib/cjs/shared/AccordionLessons/Skeleton.js +21 -0
- package/lib/cjs/shared/AccordionLessons/constants.d.ts +1 -0
- package/lib/cjs/shared/AccordionLessons/constants.js +4 -0
- package/lib/cjs/shared/AccordionLessons/index.d.ts +4 -0
- package/lib/cjs/shared/AccordionLessons/index.js +8 -0
- package/lib/cjs/shared/AddUsersButton/AddUsersButton.d.ts +29 -0
- package/lib/cjs/shared/AddUsersButton/AddUsersButton.js +136 -0
- package/lib/cjs/shared/AddUsersButton/index.d.ts +3 -0
- package/lib/cjs/shared/AddUsersButton/index.js +5 -0
- package/lib/cjs/shared/CourseTypePopover/CourseTypePopover.d.ts +9 -0
- package/lib/cjs/shared/CourseTypePopover/CourseTypePopover.js +48 -0
- package/lib/cjs/shared/CourseTypePopover/index.d.ts +3 -0
- package/lib/cjs/shared/CourseTypePopover/index.js +5 -0
- package/lib/cjs/shared/CourseUsersTable/ChangeUsersStatus.d.ts +9 -0
- package/lib/cjs/shared/CourseUsersTable/ChangeUsersStatus.js +58 -0
- package/lib/cjs/shared/CourseUsersTable/CourseUsersTable.d.ts +21 -0
- package/lib/cjs/shared/CourseUsersTable/CourseUsersTable.js +155 -0
- package/lib/cjs/shared/CourseUsersTable/RemoveButton.d.ts +10 -0
- package/lib/cjs/shared/CourseUsersTable/RemoveButton.js +51 -0
- package/lib/cjs/shared/CourseUsersTable/RequestButton.d.ts +10 -0
- package/lib/cjs/shared/CourseUsersTable/RequestButton.js +79 -0
- package/lib/cjs/shared/CourseUsersTable/RowSkeleton.d.ts +8 -0
- package/lib/cjs/shared/CourseUsersTable/RowSkeleton.js +14 -0
- package/lib/cjs/shared/CourseUsersTable/SeeProgressButton.d.ts +9 -0
- package/lib/cjs/shared/CourseUsersTable/SeeProgressButton.js +56 -0
- package/lib/cjs/shared/CourseUsersTable/Skeleton.d.ts +1 -0
- package/lib/cjs/shared/CourseUsersTable/Skeleton.js +19 -0
- package/lib/cjs/shared/CourseUsersTable/constants.d.ts +1 -0
- package/lib/cjs/shared/CourseUsersTable/constants.js +4 -0
- package/lib/cjs/shared/CourseUsersTable/index.d.ts +4 -0
- package/lib/cjs/shared/CourseUsersTable/index.js +8 -0
- package/lib/cjs/shared/DateTimeAgo/index.d.ts +1 -1
- package/lib/cjs/shared/EmptyStatus/EmptyStatus.d.ts +11 -0
- package/lib/cjs/shared/EmptyStatus/EmptyStatus.js +26 -0
- package/lib/cjs/shared/EmptyStatus/index.d.ts +3 -0
- package/lib/cjs/shared/EmptyStatus/index.js +5 -0
- package/lib/cjs/shared/EventActionsMenu/index.js +5 -1
- package/lib/cjs/shared/LessonCommentActionsMenu/index.d.ts +41 -0
- package/lib/cjs/shared/LessonCommentActionsMenu/index.js +197 -0
- package/lib/cjs/shared/LessonFilePreview/index.d.ts +12 -0
- package/lib/cjs/shared/LessonFilePreview/index.js +29 -0
- package/lib/cjs/shared/Media/Link/UrlTextField/index.js +2 -3
- package/lib/cjs/shared/UpScalingTierBadge/index.js +9 -0
- package/lib/cjs/types/course.d.ts +40 -0
- package/lib/cjs/types/course.js +33 -0
- package/lib/cjs/types/index.d.ts +2 -1
- package/lib/cjs/types/index.js +6 -1
- package/lib/cjs/utils/buttonCounters.d.ts +1 -0
- package/lib/cjs/utils/buttonCounters.js +4 -3
- package/lib/cjs/utils/course.d.ts +14 -0
- package/lib/cjs/utils/course.js +39 -0
- package/lib/cjs/utils/events.d.ts +1 -0
- package/lib/cjs/utils/events.js +6 -1
- package/lib/esm/assets/courses/clapping.d.ts +1 -0
- package/lib/esm/assets/courses/clapping.js +1 -0
- package/lib/esm/components/BottomNavigation/BottomNavigation.js +17 -2
- package/lib/esm/components/CategoryAutocomplete/CategoryAutocomplete.d.ts +5 -0
- package/lib/esm/components/CategoryAutocomplete/CategoryAutocomplete.js +9 -11
- package/lib/esm/components/CommentObject/CommentObject.d.ts +5 -0
- package/lib/esm/components/CommentObject/CommentObject.js +2 -2
- package/lib/esm/components/CommentObjectReply/CommentObjectReply.d.ts +24 -2
- package/lib/esm/components/CommentObjectReply/CommentObjectReply.js +18 -5
- package/lib/esm/components/Composer/Content/ContentLesson/ContentLesson.d.ts +38 -0
- package/lib/esm/components/Composer/Content/ContentLesson/ContentLesson.js +64 -0
- package/lib/esm/components/Composer/Content/ContentLesson/index.d.ts +3 -0
- package/lib/esm/components/Composer/Content/ContentLesson/index.js +2 -0
- package/lib/esm/components/Composer/Layer/AudienceLayer/AudienceLayer.js +2 -2
- package/lib/esm/components/Composer/Layer/CategoryLayer/CategoryLayer.d.ts +1 -1
- package/lib/esm/components/Composer/Layer/CategoryLayer/CategoryLayer.js +4 -1
- package/lib/esm/components/ComposerIconButton/ComposerIconButton.d.ts +9 -3
- package/lib/esm/components/ComposerIconButton/ComposerIconButton.js +47 -10
- package/lib/esm/components/Course/Course.d.ts +92 -0
- package/lib/esm/components/Course/Course.js +182 -0
- package/lib/esm/components/Course/CreatePlaceholder.d.ts +39 -0
- package/lib/esm/components/Course/CreatePlaceholder.js +56 -0
- package/lib/esm/components/Course/Skeleton.d.ts +51 -0
- package/lib/esm/components/Course/Skeleton.js +74 -0
- package/lib/esm/components/Course/constants.d.ts +1 -0
- package/lib/esm/components/Course/constants.js +1 -0
- package/lib/esm/components/Course/index.d.ts +4 -0
- package/lib/esm/components/Course/index.js +4 -0
- package/lib/esm/components/CourseCompletedDialog/CourseCompletedDialog.d.ts +9 -0
- package/lib/esm/components/CourseCompletedDialog/CourseCompletedDialog.js +37 -0
- package/lib/esm/components/CourseCompletedDialog/index.d.ts +3 -0
- package/lib/esm/components/CourseCompletedDialog/index.js +2 -0
- package/lib/esm/components/CourseContentMenu/CourseContentMenu.d.ts +25 -0
- package/lib/esm/components/CourseContentMenu/CourseContentMenu.js +44 -0
- package/lib/esm/components/CourseContentMenu/constants.d.ts +1 -0
- package/lib/esm/components/CourseContentMenu/constants.js +1 -0
- package/lib/esm/components/CourseContentMenu/index.d.ts +3 -0
- package/lib/esm/components/CourseContentMenu/index.js +2 -0
- package/lib/esm/components/CourseDashboard/Header/Skeleton.d.ts +1 -0
- package/lib/esm/components/CourseDashboard/Header/Skeleton.js +13 -0
- package/lib/esm/components/CourseDashboard/Header.d.ts +9 -0
- package/lib/esm/components/CourseDashboard/Header.js +41 -0
- package/lib/esm/components/CourseDashboard/Student/ActionButton.d.ts +8 -0
- package/lib/esm/components/CourseDashboard/Student/ActionButton.js +13 -0
- package/lib/esm/components/CourseDashboard/Student/Skeleton.d.ts +1 -0
- package/lib/esm/components/CourseDashboard/Student/Skeleton.js +26 -0
- package/lib/esm/components/CourseDashboard/Student.d.ts +11 -0
- package/lib/esm/components/CourseDashboard/Student.js +201 -0
- package/lib/esm/components/CourseDashboard/Teacher/Comments.d.ts +9 -0
- package/lib/esm/components/CourseDashboard/Teacher/Comments.js +106 -0
- package/lib/esm/components/CourseDashboard/Teacher/Info.d.ts +11 -0
- package/lib/esm/components/CourseDashboard/Teacher/Info.js +16 -0
- package/lib/esm/components/CourseDashboard/Teacher/Skeleton.d.ts +1 -0
- package/lib/esm/components/CourseDashboard/Teacher/Skeleton.js +21 -0
- package/lib/esm/components/CourseDashboard/Teacher/Students.d.ts +10 -0
- package/lib/esm/components/CourseDashboard/Teacher/Students.js +68 -0
- package/lib/esm/components/CourseDashboard/Teacher.d.ts +11 -0
- package/lib/esm/components/CourseDashboard/Teacher.js +60 -0
- package/lib/esm/components/CourseDashboard/constants.d.ts +1 -0
- package/lib/esm/components/CourseDashboard/constants.js +1 -0
- package/lib/esm/components/CourseDashboard/index.d.ts +11 -0
- package/lib/esm/components/CourseDashboard/index.js +6 -0
- package/lib/esm/components/CourseDashboard/types.d.ts +8 -0
- package/lib/esm/components/CourseDashboard/types.js +10 -0
- package/lib/esm/components/CourseForm/CourseForm.d.ts +74 -0
- package/lib/esm/components/CourseForm/CourseForm.js +270 -0
- package/lib/esm/components/CourseForm/Dialog.d.ts +8 -0
- package/lib/esm/components/CourseForm/Dialog.js +16 -0
- package/lib/esm/components/CourseForm/Edit.d.ts +24 -0
- package/lib/esm/components/CourseForm/Edit.js +50 -0
- package/lib/esm/components/CourseForm/Skeleton.d.ts +1 -0
- package/lib/esm/components/CourseForm/Skeleton.js +14 -0
- package/lib/esm/components/CourseForm/UploadCourseCover.d.ts +45 -0
- package/lib/esm/components/CourseForm/UploadCourseCover.js +91 -0
- package/lib/esm/components/CourseForm/constants.d.ts +1 -0
- package/lib/esm/components/CourseForm/constants.js +1 -0
- package/lib/esm/components/CourseForm/index.d.ts +4 -0
- package/lib/esm/components/CourseForm/index.js +4 -0
- package/lib/esm/components/CourseFormDialog/CourseFormDialog.d.ts +48 -0
- package/lib/esm/components/CourseFormDialog/CourseFormDialog.js +64 -0
- package/lib/esm/components/CourseFormDialog/constants.d.ts +1 -0
- package/lib/esm/components/CourseFormDialog/constants.js +1 -0
- package/lib/esm/components/CourseFormDialog/index.d.ts +3 -0
- package/lib/esm/components/CourseFormDialog/index.js +2 -0
- package/lib/esm/components/CourseJoinButton/CourseJoinButton.d.ts +56 -0
- package/lib/esm/components/CourseJoinButton/CourseJoinButton.js +145 -0
- package/lib/esm/components/CourseJoinButton/index.d.ts +3 -0
- package/lib/esm/components/CourseJoinButton/index.js +2 -0
- package/lib/esm/components/CourseParticipantsButton/CourseParticipantsButton.d.ts +53 -0
- package/lib/esm/components/CourseParticipantsButton/CourseParticipantsButton.js +147 -0
- package/lib/esm/components/CourseParticipantsButton/index.d.ts +3 -0
- package/lib/esm/components/CourseParticipantsButton/index.js +2 -0
- package/lib/esm/components/Courses/Courses.d.ts +100 -0
- package/lib/esm/components/Courses/Courses.js +233 -0
- package/lib/esm/components/Courses/Skeleton.d.ts +54 -0
- package/lib/esm/components/Courses/Skeleton.js +42 -0
- package/lib/esm/components/Courses/constants.d.ts +1 -0
- package/lib/esm/components/Courses/constants.js +1 -0
- package/lib/esm/components/Courses/index.d.ts +4 -0
- package/lib/esm/components/Courses/index.js +4 -0
- package/lib/esm/components/Courses/prefetchedCourses.d.ts +81 -0
- package/lib/esm/components/Courses/prefetchedCourses.js +183 -0
- package/lib/esm/components/CreateCourseButton/CreateCourseButton.d.ts +38 -0
- package/lib/esm/components/CreateCourseButton/CreateCourseButton.js +78 -0
- package/lib/esm/components/CreateCourseButton/index.d.ts +3 -0
- package/lib/esm/components/CreateCourseButton/index.js +2 -0
- package/lib/esm/components/CreateEventButton/CreateEventButton.d.ts +1 -1
- package/lib/esm/components/CreateEventButton/CreateEventButton.js +1 -1
- package/lib/esm/components/CreateLiveStreamButton/CreateLiveStreamButton.d.ts +0 -6
- package/lib/esm/components/CreateLiveStreamButton/CreateLiveStreamButton.js +2 -9
- package/lib/esm/components/CreateLiveStreamDialog/CreateLiveStreamDialog.d.ts +10 -4
- package/lib/esm/components/CreateLiveStreamDialog/CreateLiveStreamDialog.js +17 -11
- package/lib/esm/components/CreateLiveStreamDialog/LiveStreamSelector/LiveStreamSelector.js +12 -4
- package/lib/esm/components/EditCourse/Customize.d.ts +9 -0
- package/lib/esm/components/EditCourse/Customize.js +28 -0
- package/lib/esm/components/EditCourse/EditCourse.d.ts +13 -0
- package/lib/esm/components/EditCourse/EditCourse.js +107 -0
- package/lib/esm/components/EditCourse/Lessons/AddButton.d.ts +9 -0
- package/lib/esm/components/EditCourse/Lessons/AddButton.js +27 -0
- package/lib/esm/components/EditCourse/Lessons/ChangeLessonStatus.d.ts +13 -0
- package/lib/esm/components/EditCourse/Lessons/ChangeLessonStatus.js +89 -0
- package/lib/esm/components/EditCourse/Lessons/FieldName.d.ts +15 -0
- package/lib/esm/components/EditCourse/Lessons/FieldName.js +80 -0
- package/lib/esm/components/EditCourse/Lessons/LessonRow.d.ts +15 -0
- package/lib/esm/components/EditCourse/Lessons/LessonRow.js +65 -0
- package/lib/esm/components/EditCourse/Lessons/SectionRow.d.ts +14 -0
- package/lib/esm/components/EditCourse/Lessons/SectionRow.js +155 -0
- package/lib/esm/components/EditCourse/Lessons/Skeleton.d.ts +1 -0
- package/lib/esm/components/EditCourse/Lessons/Skeleton.js +17 -0
- package/lib/esm/components/EditCourse/Lessons.d.ts +11 -0
- package/lib/esm/components/EditCourse/Lessons.js +193 -0
- package/lib/esm/components/EditCourse/MenuRow.d.ts +9 -0
- package/lib/esm/components/EditCourse/MenuRow.js +22 -0
- package/lib/esm/components/EditCourse/Options/Skeleton.d.ts +1 -0
- package/lib/esm/components/EditCourse/Options/Skeleton.js +12 -0
- package/lib/esm/components/EditCourse/Options/SwitchForm.d.ts +11 -0
- package/lib/esm/components/EditCourse/Options/SwitchForm.js +18 -0
- package/lib/esm/components/EditCourse/Options.d.ts +9 -0
- package/lib/esm/components/EditCourse/Options.js +93 -0
- package/lib/esm/components/EditCourse/Requests.d.ts +12 -0
- package/lib/esm/components/EditCourse/Requests.js +94 -0
- package/lib/esm/components/EditCourse/Skeleton.d.ts +8 -0
- package/lib/esm/components/EditCourse/Skeleton.js +25 -0
- package/lib/esm/components/EditCourse/Status.d.ts +9 -0
- package/lib/esm/components/EditCourse/Status.js +29 -0
- package/lib/esm/components/EditCourse/Users/Skeleton.d.ts +1 -0
- package/lib/esm/components/EditCourse/Users/Skeleton.js +12 -0
- package/lib/esm/components/EditCourse/Users.d.ts +11 -0
- package/lib/esm/components/EditCourse/Users.js +137 -0
- package/lib/esm/components/EditCourse/constants.d.ts +1 -0
- package/lib/esm/components/EditCourse/constants.js +1 -0
- package/lib/esm/components/EditCourse/hooks.d.ts +3 -0
- package/lib/esm/components/EditCourse/hooks.js +17 -0
- package/lib/esm/components/EditCourse/index.d.ts +4 -0
- package/lib/esm/components/EditCourse/index.js +4 -0
- package/lib/esm/components/EditCourse/types.d.ts +29 -0
- package/lib/esm/components/EditCourse/types.js +16 -0
- package/lib/esm/components/Editor/Editor.d.ts +37 -0
- package/lib/esm/components/Editor/Editor.js +14 -11
- package/lib/esm/components/Editor/nodes/HashtagNode.js +2 -0
- package/lib/esm/components/Editor/nodes/MentionNode.js +2 -0
- package/lib/esm/components/Editor/plugins/EmojiPlugin.d.ts +3 -1
- package/lib/esm/components/Editor/plugins/EmojiPlugin.js +4 -10
- package/lib/esm/components/Editor/plugins/HorizontalRulePlugin.d.ts +8 -0
- package/lib/esm/components/Editor/plugins/HorizontalRulePlugin.js +30 -0
- package/lib/esm/components/Editor/plugins/LexicalRichTextPlugin.d.ts +2 -2
- package/lib/esm/components/Editor/plugins/LexicalRichTextPlugin.js +1 -1
- package/lib/esm/components/Editor/plugins/MediaPlugin.d.ts +14 -0
- package/lib/esm/components/Editor/plugins/MediaPlugin.js +117 -0
- package/lib/esm/components/Editor/plugins/ToolbarPlugin.d.ts +5 -0
- package/lib/esm/components/Editor/plugins/ToolbarPlugin.js +3 -2
- package/lib/esm/components/Editor/plugins/index.d.ts +2 -1
- package/lib/esm/components/Editor/plugins/index.js +2 -1
- package/lib/esm/components/Event/Event.js +6 -3
- package/lib/esm/components/EventForm/EventAddress.js +1 -1
- package/lib/esm/components/EventForm/EventForm.js +43 -25
- package/lib/esm/components/EventForm/utils.d.ts +1 -0
- package/lib/esm/components/EventForm/utils.js +4 -0
- package/lib/esm/components/EventFormDialog/EventFormDialog.d.ts +1 -1
- package/lib/esm/components/EventFormDialog/EventFormDialog.js +3 -3
- package/lib/esm/components/EventHeader/EventHeader.js +3 -2
- package/lib/esm/components/EventMembersWidget/EventMembersWidget.js +14 -14
- package/lib/esm/components/EventMembersWidget/TabContentComponent.js +9 -9
- package/lib/esm/components/EventMembersWidget/types.d.ts +4 -5
- package/lib/esm/components/EventMembersWidget/types.js +6 -6
- package/lib/esm/components/EventParticipantsButton/EventParticipantsButton.js +1 -1
- package/lib/esm/components/EventSubscribeButton/EventSubscribeButton.js +1 -1
- package/lib/esm/components/Events/Events.d.ts +11 -0
- package/lib/esm/components/Events/Events.js +22 -11
- package/lib/esm/components/Events/OngoingEventsFilter.d.ts +8 -0
- package/lib/esm/components/Events/OngoingEventsFilter.js +21 -0
- package/lib/esm/components/FeedObject/Actions/Share/Share.js +4 -1
- package/lib/esm/components/FeedObject/Activities/Activities.js +1 -1
- package/lib/esm/components/Footer/Footer.js +10 -7
- package/lib/esm/components/Footer/constants.d.ts +1 -0
- package/lib/esm/components/Footer/constants.js +1 -0
- package/lib/esm/components/GroupForm/GroupForm.js +2 -2
- package/lib/esm/components/GroupInvitedWidget/GroupInvitedWidget.js +1 -1
- package/lib/esm/components/GroupRequestsWidget/GroupRequestsWidget.js +1 -1
- package/lib/esm/components/Groups/Groups.js +21 -19
- package/lib/esm/components/LessonAppbar/LessonAppbar.d.ts +42 -0
- package/lib/esm/components/LessonAppbar/LessonAppbar.js +31 -0
- package/lib/esm/components/LessonAppbar/constants.d.ts +1 -0
- package/lib/esm/components/LessonAppbar/constants.js +1 -0
- package/lib/esm/components/LessonAppbar/index.d.ts +3 -0
- package/lib/esm/components/LessonAppbar/index.js +2 -0
- package/lib/esm/components/LessonCommentObject/LessonCommentObject.d.ts +94 -0
- package/lib/esm/components/LessonCommentObject/LessonCommentObject.js +199 -0
- package/lib/esm/components/LessonCommentObject/Skeleton.d.ts +21 -0
- package/lib/esm/components/LessonCommentObject/Skeleton.js +43 -0
- package/lib/esm/components/LessonCommentObject/constants.d.ts +1 -0
- package/lib/esm/components/LessonCommentObject/constants.js +1 -0
- package/lib/esm/components/LessonCommentObject/index.d.ts +4 -0
- package/lib/esm/components/LessonCommentObject/index.js +4 -0
- package/lib/esm/components/LessonCommentObjects/LessonCommentObjects.d.ts +76 -0
- package/lib/esm/components/LessonCommentObjects/LessonCommentObjects.js +182 -0
- package/lib/esm/components/LessonCommentObjects/Skeleton.d.ts +23 -0
- package/lib/esm/components/LessonCommentObjects/Skeleton.js +37 -0
- package/lib/esm/components/LessonCommentObjects/constants.d.ts +1 -0
- package/lib/esm/components/LessonCommentObjects/constants.js +1 -0
- package/lib/esm/components/LessonCommentObjects/index.d.ts +4 -0
- package/lib/esm/components/LessonCommentObjects/index.js +4 -0
- package/lib/esm/components/LessonDrawer/LessonDrawer.d.ts +50 -0
- package/lib/esm/components/LessonDrawer/LessonDrawer.js +34 -0
- package/lib/esm/components/LessonDrawer/constants.d.ts +1 -0
- package/lib/esm/components/LessonDrawer/constants.js +1 -0
- package/lib/esm/components/LessonDrawer/index.d.ts +3 -0
- package/lib/esm/components/LessonDrawer/index.js +2 -0
- package/lib/esm/components/LessonEditForm/LessonEditForm.d.ts +24 -0
- package/lib/esm/components/LessonEditForm/LessonEditForm.js +42 -0
- package/lib/esm/components/LessonEditForm/constants.d.ts +1 -0
- package/lib/esm/components/LessonEditForm/constants.js +1 -0
- package/lib/esm/components/LessonEditForm/index.d.ts +3 -0
- package/lib/esm/components/LessonEditForm/index.js +2 -0
- package/lib/esm/components/LessonObject/LessonObject.d.ts +40 -0
- package/lib/esm/components/LessonObject/LessonObject.js +67 -0
- package/lib/esm/components/LessonObject/constants.d.ts +1 -0
- package/lib/esm/components/LessonObject/constants.js +1 -0
- package/lib/esm/components/LessonObject/index.d.ts +3 -0
- package/lib/esm/components/LessonObject/index.js +2 -0
- package/lib/esm/components/LessonReleaseMenu/LessonReleaseMenu.d.ts +26 -0
- package/lib/esm/components/LessonReleaseMenu/LessonReleaseMenu.js +169 -0
- package/lib/esm/components/LessonReleaseMenu/constants.d.ts +5 -0
- package/lib/esm/components/LessonReleaseMenu/constants.js +6 -0
- package/lib/esm/components/LessonReleaseMenu/index.d.ts +3 -0
- package/lib/esm/components/LessonReleaseMenu/index.js +2 -0
- package/lib/esm/components/LiveStreamForm/LiveStreamForm.js +67 -8
- package/lib/esm/components/LiveStreamForm/LiveStreamFormSettings.js +8 -3
- package/lib/esm/components/LiveStreamRoom/LiveStreamRoom.js +8 -6
- package/lib/esm/components/LiveStreamRoom/LiveStreamVideoConference/ControlBar.js +3 -1
- package/lib/esm/components/LiveStreamRoom/LiveStreamVideoConference/FocusLayout.d.ts +2 -1
- package/lib/esm/components/LiveStreamRoom/LiveStreamVideoConference/FocusLayout.js +2 -2
- package/lib/esm/components/LiveStreamRoom/LiveStreamVideoConference/LiveStreamSettingsMenu.d.ts +9 -0
- package/lib/esm/components/LiveStreamRoom/LiveStreamVideoConference/LiveStreamSettingsMenu.js +103 -0
- package/lib/esm/components/LiveStreamRoom/LiveStreamVideoConference/NoParticipants.d.ts +4 -0
- package/lib/esm/components/LiveStreamRoom/LiveStreamVideoConference/NoParticipants.js +34 -0
- package/lib/esm/components/LiveStreamRoom/LiveStreamVideoConference/ParticipantTile.d.ts +1 -0
- package/lib/esm/components/LiveStreamRoom/LiveStreamVideoConference/ParticipantTile.js +2 -2
- package/lib/esm/components/LiveStreamRoom/LiveStreamVideoConference/PreJoin.d.ts +3 -2
- package/lib/esm/components/LiveStreamRoom/LiveStreamVideoConference/PreJoin.js +45 -2
- package/lib/esm/components/LiveStreamRoom/LiveStreamVideoConference/VideoConference.js +66 -9
- package/lib/esm/components/NavigationMenuIconButton/DefaultDrawerContent.js +9 -7
- package/lib/esm/components/NavigationMenuIconButton/NavigationMenuDrawer.d.ts +3 -1
- package/lib/esm/components/NavigationMenuIconButton/NavigationMenuDrawer.js +13 -6
- package/lib/esm/components/NavigationToolbar/NavigationToolbar.d.ts +1 -1
- package/lib/esm/components/NavigationToolbar/NavigationToolbar.js +14 -3
- package/lib/esm/components/NavigationToolbarMobile/NavigationToolbarMobile.d.ts +1 -1
- package/lib/esm/components/NavigationToolbarMobile/NavigationToolbarMobile.js +4 -4
- package/lib/esm/components/Notification/Course/Course.d.ts +15 -0
- package/lib/esm/components/Notification/Course/Course.js +86 -0
- package/lib/esm/components/Notification/Course/index.d.ts +3 -0
- package/lib/esm/components/Notification/Course/index.js +2 -0
- package/lib/esm/components/Notification/Course/utils.d.ts +5 -0
- package/lib/esm/components/Notification/Course/utils.js +39 -0
- package/lib/esm/components/Notification/Event/Event.js +21 -3
- package/lib/esm/components/Notification/Notification.js +9 -0
- package/lib/esm/components/RelatedEventsWidget/RelatedEventsWidget.js +1 -2
- package/lib/esm/components/SearchDialog/SearchDialog.d.ts +4 -1
- package/lib/esm/components/SearchDialog/SearchDialog.js +2 -2
- package/lib/esm/components/SnippetNotifications/SnippetNotifications.js +9 -0
- package/lib/esm/components/TagAutocomplete/TagAutocomplete.js +2 -2
- package/lib/esm/components/ToastNotifications/ToastNotifications.js +9 -0
- package/lib/esm/components/UserCreatedCoursesWidget/Skeleton.d.ts +21 -0
- package/lib/esm/components/UserCreatedCoursesWidget/Skeleton.js +39 -0
- package/lib/esm/components/UserCreatedCoursesWidget/UserCreatedCoursesWidget.d.ts +63 -0
- package/lib/esm/components/UserCreatedCoursesWidget/UserCreatedCoursesWidget.js +151 -0
- package/lib/esm/components/UserCreatedCoursesWidget/constants.d.ts +1 -0
- package/lib/esm/components/UserCreatedCoursesWidget/constants.js +1 -0
- package/lib/esm/components/UserCreatedCoursesWidget/index.d.ts +4 -0
- package/lib/esm/components/UserCreatedCoursesWidget/index.js +4 -0
- package/lib/esm/constants/Course.d.ts +6 -0
- package/lib/esm/constants/Course.js +7 -0
- package/lib/esm/constants/LiveStream.d.ts +1 -0
- package/lib/esm/constants/LiveStream.js +1 -0
- package/lib/esm/constants/PubSub.d.ts +14 -0
- package/lib/esm/constants/PubSub.js +15 -0
- package/lib/esm/index.d.ts +23 -2
- package/lib/esm/index.js +26 -5
- package/lib/esm/shared/AccordionLessons/AccordionLessons.d.ts +8 -0
- package/lib/esm/shared/AccordionLessons/AccordionLessons.js +61 -0
- package/lib/esm/shared/AccordionLessons/Skeleton.d.ts +1 -0
- package/lib/esm/shared/AccordionLessons/Skeleton.js +18 -0
- package/lib/esm/shared/AccordionLessons/constants.d.ts +1 -0
- package/lib/esm/shared/AccordionLessons/constants.js +1 -0
- package/lib/esm/shared/AccordionLessons/index.d.ts +4 -0
- package/lib/esm/shared/AccordionLessons/index.js +4 -0
- package/lib/esm/shared/AddUsersButton/AddUsersButton.d.ts +29 -0
- package/lib/esm/shared/AddUsersButton/AddUsersButton.js +134 -0
- package/lib/esm/shared/AddUsersButton/index.d.ts +3 -0
- package/lib/esm/shared/AddUsersButton/index.js +2 -0
- package/lib/esm/shared/CourseTypePopover/CourseTypePopover.d.ts +9 -0
- package/lib/esm/shared/CourseTypePopover/CourseTypePopover.js +45 -0
- package/lib/esm/shared/CourseTypePopover/index.d.ts +3 -0
- package/lib/esm/shared/CourseTypePopover/index.js +2 -0
- package/lib/esm/shared/CourseUsersTable/ChangeUsersStatus.d.ts +9 -0
- package/lib/esm/shared/CourseUsersTable/ChangeUsersStatus.js +56 -0
- package/lib/esm/shared/CourseUsersTable/CourseUsersTable.d.ts +21 -0
- package/lib/esm/shared/CourseUsersTable/CourseUsersTable.js +152 -0
- package/lib/esm/shared/CourseUsersTable/RemoveButton.d.ts +10 -0
- package/lib/esm/shared/CourseUsersTable/RemoveButton.js +48 -0
- package/lib/esm/shared/CourseUsersTable/RequestButton.d.ts +10 -0
- package/lib/esm/shared/CourseUsersTable/RequestButton.js +76 -0
- package/lib/esm/shared/CourseUsersTable/RowSkeleton.d.ts +8 -0
- package/lib/esm/shared/CourseUsersTable/RowSkeleton.js +11 -0
- package/lib/esm/shared/CourseUsersTable/SeeProgressButton.d.ts +9 -0
- package/lib/esm/shared/CourseUsersTable/SeeProgressButton.js +53 -0
- package/lib/esm/shared/CourseUsersTable/Skeleton.d.ts +1 -0
- package/lib/esm/shared/CourseUsersTable/Skeleton.js +15 -0
- package/lib/esm/shared/CourseUsersTable/constants.d.ts +1 -0
- package/lib/esm/shared/CourseUsersTable/constants.js +1 -0
- package/lib/esm/shared/CourseUsersTable/index.d.ts +4 -0
- package/lib/esm/shared/CourseUsersTable/index.js +4 -0
- package/lib/esm/shared/DateTimeAgo/index.d.ts +1 -1
- package/lib/esm/shared/EmptyStatus/EmptyStatus.d.ts +11 -0
- package/lib/esm/shared/EmptyStatus/EmptyStatus.js +23 -0
- package/lib/esm/shared/EmptyStatus/index.d.ts +3 -0
- package/lib/esm/shared/EmptyStatus/index.js +2 -0
- package/lib/esm/shared/EventActionsMenu/index.js +6 -2
- package/lib/esm/shared/LessonCommentActionsMenu/index.d.ts +41 -0
- package/lib/esm/shared/LessonCommentActionsMenu/index.js +194 -0
- package/lib/esm/shared/LessonFilePreview/index.d.ts +12 -0
- package/lib/esm/shared/LessonFilePreview/index.js +25 -0
- package/lib/esm/shared/Media/Link/UrlTextField/index.js +3 -4
- package/lib/esm/shared/UpScalingTierBadge/index.js +9 -0
- package/lib/esm/types/course.d.ts +40 -0
- package/lib/esm/types/course.js +30 -0
- package/lib/esm/types/index.d.ts +2 -1
- package/lib/esm/types/index.js +2 -1
- package/lib/esm/utils/buttonCounters.d.ts +1 -0
- package/lib/esm/utils/buttonCounters.js +3 -2
- package/lib/esm/utils/course.d.ts +14 -0
- package/lib/esm/utils/course.js +32 -0
- package/lib/esm/utils/events.d.ts +1 -0
- package/lib/esm/utils/events.js +4 -0
- package/lib/umd/578.js +2 -0
- package/lib/umd/60a7fdeaadfe844bc015.woff2 +0 -0
- package/lib/umd/assets/icons.svg +9 -3
- package/lib/umd/{c3528e120c4e831db2ae.woff → b6dbec3d5816ff8baef1.woff} +0 -0
- package/lib/umd/{2aa155858f48b8f3911a.eot → ba74e493633796d551d1.ttf} +0 -0
- package/lib/umd/{a221d3aba0f6753cfbb7.ttf → c473ce30406a3dad83e1.eot} +0 -0
- package/lib/umd/react-ui.js +1 -1
- package/package.json +16 -14
- package/lib/umd/36f3af7f155d916c26ff.woff2 +0 -0
- package/lib/umd/653.js +0 -2
- /package/lib/umd/{653.js.LICENSE.txt → 578.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const CLAPPING = "data:image/jpeg;base64,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";
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CLAPPING = void 0;
|
|
4
|
+
exports.CLAPPING = 'data:image/jpeg;base64,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';
|
|
@@ -75,6 +75,11 @@ function BottomNavigation(inProps) {
|
|
|
75
75
|
features.includes(types_1.SCFeatureName.EVENT) &&
|
|
76
76
|
react_core_1.SCPreferences.CONFIGURATIONS_EVENTS_ENABLED in preferences &&
|
|
77
77
|
preferences[react_core_1.SCPreferences.CONFIGURATIONS_EVENTS_ENABLED].value, [preferences, features]);
|
|
78
|
+
const coursesEnabled = (0, react_1.useMemo)(() => preferences &&
|
|
79
|
+
features &&
|
|
80
|
+
features.includes(types_1.SCFeatureName.TAGGING) &&
|
|
81
|
+
react_core_1.SCPreferences.CONFIGURATIONS_COURSES_ENABLED in preferences &&
|
|
82
|
+
preferences[react_core_1.SCPreferences.CONFIGURATIONS_COURSES_ENABLED].value, [preferences, features]);
|
|
78
83
|
const exploreStreamEnabled = preferences[react_core_1.SCPreferences.CONFIGURATIONS_EXPLORE_STREAM_ENABLED].value;
|
|
79
84
|
const postOnlyStaffEnabled = preferences[react_core_1.SCPreferences.CONFIGURATIONS_POST_ONLY_STAFF_ENABLED].value;
|
|
80
85
|
const contentAvailable = preferences[react_core_1.SCPreferences.CONFIGURATIONS_CONTENT_AVAILABILITY].value;
|
|
@@ -84,16 +89,26 @@ function BottomNavigation(inProps) {
|
|
|
84
89
|
? children
|
|
85
90
|
: [
|
|
86
91
|
(0, jsx_runtime_1.jsx)(material_1.BottomNavigationAction, { className: classes.action, component: react_core_1.Link, to: scUserContext.user ? scRoutingContext.url(react_core_1.SCRoutes.HOME_ROUTE_NAME, {}) : '/', value: scUserContext.user ? scRoutingContext.url(react_core_1.SCRoutes.HOME_ROUTE_NAME, {}) : '/', icon: (0, jsx_runtime_1.jsx)(material_1.Icon, { children: "home" }) }, "home"),
|
|
87
|
-
(scUserContext.user || contentAvailable) && exploreStreamEnabled ? (
|
|
92
|
+
// (scUserContext.user || contentAvailable) && exploreStreamEnabled ? (
|
|
93
|
+
// <BottomNavigationAction
|
|
94
|
+
// key="explore"
|
|
95
|
+
// className={classes.action}
|
|
96
|
+
// component={Link}
|
|
97
|
+
// to={scRoutingContext.url(SCRoutes.EXPLORE_ROUTE_NAME, {})}
|
|
98
|
+
// value={scRoutingContext.url(SCRoutes.EXPLORE_ROUTE_NAME, {})}
|
|
99
|
+
// icon={<Icon>explore</Icon>}
|
|
100
|
+
// />
|
|
101
|
+
// ) : null,
|
|
88
102
|
(!postOnlyStaffEnabled || (react_core_1.UserUtils.isStaff(scUserContext.user) && postOnlyStaffEnabled)) &&
|
|
89
103
|
((groupsEnabled && !eventsEnabled) || (!groupsEnabled && eventsEnabled)) &&
|
|
90
104
|
!exploreStreamEnabled ? ((0, jsx_runtime_1.jsx)(material_1.BottomNavigationAction, { className: (0, classnames_1.default)(classes.composer, classes.action), component: ComposerIconButton_1.default, disableRipple: true }, "composer")) : null,
|
|
105
|
+
coursesEnabled && (scUserContext.user || contentAvailable) ? ((0, jsx_runtime_1.jsx)(material_1.BottomNavigationAction, { className: classes.action, component: react_core_1.Link, to: scRoutingContext.url(react_core_1.SCRoutes.COURSES_ROUTE_NAME, {}), value: scRoutingContext.url(react_core_1.SCRoutes.COURSES_ROUTE_NAME, {}), icon: (0, jsx_runtime_1.jsx)(material_1.Icon, { children: "courses" }) }, "courses")) : null,
|
|
91
106
|
groupsEnabled && scUserContext.user ? ((0, jsx_runtime_1.jsx)(material_1.BottomNavigationAction, { className: classes.action, component: react_core_1.Link, to: scRoutingContext.url(react_core_1.SCRoutes.GROUPS_SUBSCRIBED_ROUTE_NAME, {}), value: scRoutingContext.url(react_core_1.SCRoutes.GROUPS_SUBSCRIBED_ROUTE_NAME, {}), icon: (0, jsx_runtime_1.jsx)(material_1.Icon, { children: "groups" }) }, "groups")) : null,
|
|
92
107
|
(!postOnlyStaffEnabled || (react_core_1.UserUtils.isStaff(scUserContext.user) && postOnlyStaffEnabled)) &&
|
|
93
108
|
groupsEnabled &&
|
|
94
109
|
eventsEnabled &&
|
|
95
110
|
!exploreStreamEnabled ? ((0, jsx_runtime_1.jsx)(material_1.BottomNavigationAction, { className: (0, classnames_1.default)(classes.composer, classes.action), component: ComposerIconButton_1.default, disableRipple: true }, "composer")) : null,
|
|
96
|
-
eventsEnabled ? ((0, jsx_runtime_1.jsx)(material_1.BottomNavigationAction, { className: classes.action, component: react_core_1.Link, to: scRoutingContext.url(react_core_1.SCRoutes.EVENT_ROUTE_NAME, {}), value: scRoutingContext.url(react_core_1.SCRoutes.EVENTS_ROUTE_NAME, {}), icon: (0, jsx_runtime_1.jsx)(material_1.Icon, { children: "CalendarIcon" }) }, "events")) : null,
|
|
111
|
+
eventsEnabled && (scUserContext.user || contentAvailable) ? ((0, jsx_runtime_1.jsx)(material_1.BottomNavigationAction, { className: classes.action, component: react_core_1.Link, to: scRoutingContext.url(react_core_1.SCRoutes.EVENT_ROUTE_NAME, {}), value: scRoutingContext.url(react_core_1.SCRoutes.EVENTS_ROUTE_NAME, {}), icon: (0, jsx_runtime_1.jsx)(material_1.Icon, { children: "CalendarIcon" }) }, "events")) : null,
|
|
97
112
|
scUserContext.user && !groupsEnabled && !eventsEnabled ? ((0, jsx_runtime_1.jsx)(material_1.BottomNavigationAction, { className: classes.action, component: react_core_1.Link, to: scRoutingContext.url(react_core_1.SCRoutes.USER_NOTIFICATIONS_ROUTE_NAME, {}), value: scRoutingContext.url(react_core_1.SCRoutes.USER_NOTIFICATIONS_ROUTE_NAME, {}), icon: (0, jsx_runtime_1.jsx)(material_1.Badge, Object.assign({ badgeContent: scUserContext.user.unseen_notification_banners_counter + scUserContext.user.unseen_interactions_counter, color: "secondary" }, { children: (0, jsx_runtime_1.jsx)(material_1.Icon, { children: "notifications_active" }) })) }, "notifications")) : null,
|
|
98
113
|
privateMessagingEnabled && scUserContext.user ? ((0, jsx_runtime_1.jsx)(material_1.BottomNavigationAction, { className: classes.action, component: react_core_1.Link, to: scRoutingContext.url(react_core_1.SCRoutes.USER_PRIVATE_MESSAGES_ROUTE_NAME, {}), value: scRoutingContext.url(react_core_1.SCRoutes.USER_PRIVATE_MESSAGES_ROUTE_NAME, {}), icon: (0, jsx_runtime_1.jsx)(material_1.Badge, Object.assign({ badgeContent: 0, color: "secondary" }, { children: (0, jsx_runtime_1.jsx)(material_1.Icon, { children: "email" }) })) }, "messages")) : null
|
|
99
114
|
] })));
|
|
@@ -22,6 +22,11 @@ export interface CategoryAutocompleteProps extends Pick<AutocompleteProps<SCCate
|
|
|
22
22
|
* @param value
|
|
23
23
|
*/
|
|
24
24
|
onChange?: (value: any) => void;
|
|
25
|
+
/**
|
|
26
|
+
* Feed API Query Params
|
|
27
|
+
* @default [{'limit': 10, 'offset': 0}]
|
|
28
|
+
*/
|
|
29
|
+
endpointQueryParams?: Record<string, string | number | boolean>;
|
|
25
30
|
}
|
|
26
31
|
/**
|
|
27
32
|
* > API documentation for the Community-JS Category Autocomplete component. Learn about the available props and the CSS API.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
-
const react_1 =
|
|
5
|
+
const react_1 = require("react");
|
|
6
6
|
const react_intl_1 = require("react-intl");
|
|
7
7
|
const Autocomplete_1 = tslib_1.__importDefault(require("@mui/material/Autocomplete"));
|
|
8
8
|
const TextField_1 = tslib_1.__importDefault(require("@mui/material/TextField"));
|
|
@@ -21,7 +21,7 @@ const classes = {
|
|
|
21
21
|
const Root = (0, styles_1.styled)(Autocomplete_1.default, {
|
|
22
22
|
name: PREFIX,
|
|
23
23
|
slot: 'Root',
|
|
24
|
-
overridesResolver: (
|
|
24
|
+
overridesResolver: (_props, styles) => styles.root
|
|
25
25
|
})(() => ({}));
|
|
26
26
|
/**
|
|
27
27
|
* > API documentation for the Community-JS Category Autocomplete component. Learn about the available props and the CSS API.
|
|
@@ -51,22 +51,20 @@ const CategoryAutocomplete = (inProps) => {
|
|
|
51
51
|
name: PREFIX
|
|
52
52
|
});
|
|
53
53
|
// Props
|
|
54
|
-
const { onChange, multiple = false, defaultValue = multiple ? [] : null, limitCountCategories = 0, checkboxSelect = false, disabled = false, TextFieldProps = {
|
|
54
|
+
const { onChange, multiple = false, defaultValue = multiple ? [] : null, limitCountCategories = 0, checkboxSelect = false, disabled = false, endpointQueryParams = {}, TextFieldProps = {
|
|
55
55
|
variant: 'outlined',
|
|
56
56
|
label: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.categoryAutocomplete.label", defaultMessage: "ui.categoryAutocomplete.label" })
|
|
57
|
-
} } = props, rest = tslib_1.__rest(props, ["onChange", "multiple", "defaultValue", "limitCountCategories", "checkboxSelect", "disabled", "TextFieldProps"]);
|
|
57
|
+
} } = props, rest = tslib_1.__rest(props, ["onChange", "multiple", "defaultValue", "limitCountCategories", "checkboxSelect", "disabled", "endpointQueryParams", "TextFieldProps"]);
|
|
58
58
|
// State
|
|
59
59
|
const [open, setOpen] = (0, react_1.useState)(false);
|
|
60
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-ignore
|
|
61
|
-
// @ts-ignore
|
|
62
60
|
const [value, setValue] = (0, react_1.useState)(typeof defaultValue === 'string' ? null : defaultValue);
|
|
63
61
|
// HOOKS
|
|
64
|
-
const { categories, isLoading } = (0, react_core_1.useSCFetchCategories)();
|
|
62
|
+
const { categories, isLoading } = (0, react_core_1.useSCFetchCategories)({ endpointQueryParams });
|
|
65
63
|
(0, react_1.useEffect)(() => {
|
|
66
64
|
if (value === null) {
|
|
67
65
|
return;
|
|
68
66
|
}
|
|
69
|
-
onChange
|
|
67
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(value);
|
|
70
68
|
}, [value]);
|
|
71
69
|
(0, react_1.useEffect)(() => {
|
|
72
70
|
if (!isLoading && typeof defaultValue === 'string') {
|
|
@@ -80,7 +78,7 @@ const CategoryAutocomplete = (inProps) => {
|
|
|
80
78
|
const handleClose = () => {
|
|
81
79
|
setOpen(false);
|
|
82
80
|
};
|
|
83
|
-
const handleChange = (
|
|
81
|
+
const handleChange = (_event, value) => {
|
|
84
82
|
let newValue = null;
|
|
85
83
|
if (multiple && limitCountCategories > 0) {
|
|
86
84
|
const [...rest] = value;
|
|
@@ -97,9 +95,9 @@ const CategoryAutocomplete = (inProps) => {
|
|
|
97
95
|
}, renderOption: (props, option, { selected, inputValue }) => {
|
|
98
96
|
const matches = (0, match_1.default)(option.name, inputValue);
|
|
99
97
|
const parts = (0, parse_1.default)(option.name, matches);
|
|
100
|
-
return ((0, jsx_runtime_1.jsxs)("li", Object.assign({}, props, { children: [checkboxSelect && (0, jsx_runtime_1.jsx)(Checkbox_1.default, { style: { marginRight: 8 }, checked: selected }), (0, jsx_runtime_1.jsx)(material_1.Chip, { label: (0, jsx_runtime_1.jsx)(react_1.
|
|
98
|
+
return ((0, jsx_runtime_1.jsxs)("li", Object.assign({}, props, { children: [checkboxSelect && (0, jsx_runtime_1.jsx)(Checkbox_1.default, { style: { marginRight: 8 }, checked: selected }), (0, jsx_runtime_1.jsx)(material_1.Chip, { label: (0, jsx_runtime_1.jsx)(react_1.Fragment, { children: parts.map((part, index) => ((0, jsx_runtime_1.jsx)("span", Object.assign({ style: { fontWeight: part.highlight ? 700 : 400 } }, { children: part.text }), index))) }) })] })));
|
|
101
99
|
}, renderInput: (params) => {
|
|
102
|
-
return ((0, jsx_runtime_1.jsx)(TextField_1.default, Object.assign({}, params, TextFieldProps, { margin: "dense", InputProps: Object.assign(Object.assign({}, params.InputProps), { autoComplete: 'categories', endAdornment: ((0, jsx_runtime_1.jsxs)(react_1.
|
|
100
|
+
return ((0, jsx_runtime_1.jsx)(TextField_1.default, Object.assign({}, params, TextFieldProps, { margin: "dense", InputProps: Object.assign(Object.assign({}, params.InputProps), { autoComplete: 'categories', endAdornment: ((0, jsx_runtime_1.jsxs)(react_1.Fragment, { children: [isLoading ? (0, jsx_runtime_1.jsx)(CircularProgress_1.default, { color: "inherit", size: 20 }) : null, params.InputProps.endAdornment] })) }) })));
|
|
103
101
|
} }, rest)));
|
|
104
102
|
};
|
|
105
103
|
exports.default = CategoryAutocomplete;
|
|
@@ -105,6 +105,11 @@ export interface CommentObjectProps {
|
|
|
105
105
|
* @default CacheStrategies.CACHE_FIRST
|
|
106
106
|
*/
|
|
107
107
|
cacheStrategy?: CacheStrategies;
|
|
108
|
+
/**
|
|
109
|
+
* Prop to show comment actions section (below text)
|
|
110
|
+
* @default true
|
|
111
|
+
*/
|
|
112
|
+
showActions?: boolean;
|
|
108
113
|
/**
|
|
109
114
|
* Other props
|
|
110
115
|
*/
|
|
@@ -97,7 +97,7 @@ function CommentObject(inProps) {
|
|
|
97
97
|
props: inProps,
|
|
98
98
|
name: constants_1.PREFIX
|
|
99
99
|
});
|
|
100
|
-
const { id = `comment_object_${props.commentObjectId ? props.commentObjectId : props.commentObject ? props.commentObject.id : ''}`, className, commentObjectId, commentObject, feedObjectId, feedObject, feedObjectType = types_1.SCContributionType.POST, commentReply, onOpenReply, onDelete, onCollapsed, onRestore, onVote, elevation = 0, truncateContent = false, CommentObjectSkeletonProps = { elevation, WidgetProps: { variant: 'outlined' } }, CommentObjectReplyProps = { elevation, WidgetProps: { variant: 'outlined' } }, linkableCommentDateTime = true, cacheStrategy = utils_1.CacheStrategies.NETWORK_ONLY, CommentsObjectComponentProps = {} } = props, rest = tslib_1.__rest(props, ["id", "className", "commentObjectId", "commentObject", "feedObjectId", "feedObject", "feedObjectType", "commentReply", "onOpenReply", "onDelete", "onCollapsed", "onRestore", "onVote", "elevation", "truncateContent", "CommentObjectSkeletonProps", "CommentObjectReplyProps", "linkableCommentDateTime", "cacheStrategy", "CommentsObjectComponentProps"]);
|
|
100
|
+
const { id = `comment_object_${props.commentObjectId ? props.commentObjectId : props.commentObject ? props.commentObject.id : ''}`, className, commentObjectId, commentObject, feedObjectId, feedObject, feedObjectType = types_1.SCContributionType.POST, commentReply, onOpenReply, onDelete, onCollapsed, onRestore, onVote, elevation = 0, truncateContent = false, CommentObjectSkeletonProps = { elevation, WidgetProps: { variant: 'outlined' } }, CommentObjectReplyProps = { elevation, WidgetProps: { variant: 'outlined' } }, linkableCommentDateTime = true, cacheStrategy = utils_1.CacheStrategies.NETWORK_ONLY, CommentsObjectComponentProps = {}, showActions = true } = props, rest = tslib_1.__rest(props, ["id", "className", "commentObjectId", "commentObject", "feedObjectId", "feedObject", "feedObjectType", "commentReply", "onOpenReply", "onDelete", "onCollapsed", "onRestore", "onVote", "elevation", "truncateContent", "CommentObjectSkeletonProps", "CommentObjectReplyProps", "linkableCommentDateTime", "cacheStrategy", "CommentsObjectComponentProps", "showActions"]);
|
|
101
101
|
// CONTEXT
|
|
102
102
|
const scContext = (0, react_core_1.useSCContext)();
|
|
103
103
|
const scUserContext = (0, react_1.useContext)(react_core_1.SCUserContext);
|
|
@@ -304,7 +304,7 @@ function CommentObject(inProps) {
|
|
|
304
304
|
const summaryHtmlTruncated = 'summary_truncated' in comment ? comment.summary_truncated : false;
|
|
305
305
|
const commentHtml = 'summary_html' in comment && truncateContent && summaryHtmlTruncated ? comment.summary_html : comment.html;
|
|
306
306
|
const summaryHtml = (0, contribution_1.getCommentContributionHtml)(commentHtml, scRoutingContext.url);
|
|
307
|
-
return ((0, jsx_runtime_1.jsxs)(react_1.default.Fragment, { children: [collapsed ? ((0, jsx_runtime_1.jsx)(BaseItem_1.default, { elevation: 0, className: classes.comment, disableTypography: true, primary: (0, jsx_runtime_1.jsxs)(Widget_1.default, Object.assign({ className: (0, classnames_1.default)(classes.content, classes.collapsed), elevation: elevation }, rest, { children: [(0, jsx_runtime_1.jsx)(material_1.CardContent, Object.assign({ className: (0, classnames_1.default)({ [classes.deleted]: obj && obj.deleted }) }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.commentObject.collapsed", defaultMessage: "ui.commentObject.collapsed" }) })), (0, jsx_runtime_1.jsx)(material_1.Box, Object.assign({ className: classes.commentActionsMenu }, { children: (0, jsx_runtime_1.jsx)(material_1.IconButton, Object.assign({ onClick: () => setCollapsed(!collapsed) }, { children: (0, jsx_runtime_1.jsx)(material_1.Icon, { children: "visibility" }) })) }))] })) })) : editComment && editComment.id === comment.id ? ((0, jsx_runtime_1.jsx)(material_1.Box, Object.assign({ className: classes.comment }, { children: (0, jsx_runtime_1.jsx)(CommentObjectReply_1.default, Object.assign({ text: comment.html, autoFocus: true, id: `edit-${comment.id}`, onSave: handleSave, onCancel: handleCancel, editable: !isReplying || !isSavingComment }, CommentObjectReplyProps)) }))) : ((0, jsx_runtime_1.jsx)(BaseItem_1.default, { elevation: 0, className: classes.comment, image: (0, jsx_runtime_1.jsx)(react_core_1.Link, Object.assign({}, (!comment.author.deleted && { to: scRoutingContext.url(react_core_1.SCRoutes.USER_PROFILE_ROUTE_NAME, comment.author) }), { onClick: comment.author.deleted ? () => setOpenAlert(true) : null }, { children: (0, jsx_runtime_1.jsx)(UserAvatar_1.default, Object.assign({ hide: !obj.author.community_badge }, { children: (0, jsx_runtime_1.jsx)(material_1.Avatar, { alt: obj.author.username, variant: "circular", src: comment.author.avatar, className: classes.avatar }) })) })), disableTypography: true, primary: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(Widget_1.default, Object.assign({ className: classes.content, elevation: elevation }, rest, { children: [(0, jsx_runtime_1.jsxs)(material_1.CardContent, Object.assign({ className: (0, classnames_1.default)({ [classes.deleted]: obj && obj.deleted }) }, { children: [(0, jsx_runtime_1.jsx)(react_core_1.Link, Object.assign({ className: classes.author }, (!comment.author.deleted && { to: scRoutingContext.url(react_core_1.SCRoutes.USER_PROFILE_ROUTE_NAME, comment.author) }), { onClick: comment.author.deleted ? () => setOpenAlert(true) : null }, { children: (0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ component: "span" }, { children: comment.author.username })) })), comment.collapsed && ((0, jsx_runtime_1.jsx)(material_1.Chip, { className: classes.flagChip, color: "error", size: "small", label: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.commentObject.flag", defaultMessage: "ui.commentObject.flag" }) })), (0, jsx_runtime_1.jsx)(material_1.Typography, { className: classes.textContent, variant: "body2", gutterBottom: true, dangerouslySetInnerHTML: { __html: summaryHtml } }), summaryHtmlTruncated && truncateContent && ((0, jsx_runtime_1.jsx)(react_core_1.Link, Object.assign({ to: scRoutingContext.url(react_core_1.SCRoutes.COMMENT_ROUTE_NAME, (0, contribution_1.getRouteData)(comment)), className: classes.showMoreContent }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.commentObject.showMore", defaultMessage: "ui.commentObject.showMore" }) })))] })), scUserContext.user && ((0, jsx_runtime_1.jsx)(material_1.Box, Object.assign({ className: classes.commentActionsMenu }, { children: (0, jsx_runtime_1.jsx)(ContributionActionsMenu_1.default, { commentObject: comment, onRestoreContribution: handleRestore, onHideContribution: handleHide, onDeleteContribution: handleDelete, onEditContribution: handleEdit }) })))] })), (0, jsx_runtime_1.jsxs)(material_1.Box, Object.assign({ component: "span", className: classes.contentSubSection }, { children: [renderTimeAgo(comment), (0, jsx_runtime_1.jsx)(Bullet_1.default, {}), (0, jsx_runtime_1.jsx)(VoteButton_1.default, { size: "small", className: classes.vote, contributionId: comment.id, contributionType: types_1.SCContributionType.COMMENT, contribution: comment, onVote: handleVoteSuccess }), (0, jsx_runtime_1.jsx)(Bullet_1.default, {}), renderActionReply(comment), (0, jsx_runtime_1.jsx)(VoteAudienceButton_1.default, { size: "small", className: classes.voteAudience, contributionId: comment.id, contributionType: types_1.SCContributionType.COMMENT, contribution: comment })] }))] }) })), comment.comment_count > 0 && (0, jsx_runtime_1.jsx)(material_1.Box, Object.assign({ className: classes.nestedComments }, { children: renderLatestComment(comment) })), scUserContext.user && replyComment && (replyComment.id === comment.id || replyComment.parent === comment.id) && !comment.parent && ((0, jsx_runtime_1.jsx)(material_1.Box, Object.assign({ className: classes.nestedComments }, { children: (0, jsx_runtime_1.jsx)(CommentObjectReply_1.default, Object.assign({ text: `@${replyComment.author.username}, `, autoFocus: true, id: `reply-${replyComment.id}`, onReply: handleReply, editable: !isReplying }, CommentObjectReplyProps), `reply-${replyComment.id}`) })))] }, comment.id));
|
|
307
|
+
return ((0, jsx_runtime_1.jsxs)(react_1.default.Fragment, { children: [collapsed ? ((0, jsx_runtime_1.jsx)(BaseItem_1.default, { elevation: 0, className: classes.comment, disableTypography: true, primary: (0, jsx_runtime_1.jsxs)(Widget_1.default, Object.assign({ className: (0, classnames_1.default)(classes.content, classes.collapsed), elevation: elevation }, rest, { children: [(0, jsx_runtime_1.jsx)(material_1.CardContent, Object.assign({ className: (0, classnames_1.default)({ [classes.deleted]: obj && obj.deleted }) }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.commentObject.collapsed", defaultMessage: "ui.commentObject.collapsed" }) })), (0, jsx_runtime_1.jsx)(material_1.Box, Object.assign({ className: classes.commentActionsMenu }, { children: (0, jsx_runtime_1.jsx)(material_1.IconButton, Object.assign({ onClick: () => setCollapsed(!collapsed) }, { children: (0, jsx_runtime_1.jsx)(material_1.Icon, { children: "visibility" }) })) }))] })) })) : editComment && editComment.id === comment.id ? ((0, jsx_runtime_1.jsx)(material_1.Box, Object.assign({ className: classes.comment }, { children: (0, jsx_runtime_1.jsx)(CommentObjectReply_1.default, Object.assign({ text: comment.html, autoFocus: true, id: `edit-${comment.id}`, onSave: handleSave, onCancel: handleCancel, editable: !isReplying || !isSavingComment }, CommentObjectReplyProps)) }))) : ((0, jsx_runtime_1.jsx)(BaseItem_1.default, { elevation: 0, className: classes.comment, image: (0, jsx_runtime_1.jsx)(react_core_1.Link, Object.assign({}, (!comment.author.deleted && { to: scRoutingContext.url(react_core_1.SCRoutes.USER_PROFILE_ROUTE_NAME, comment.author) }), { onClick: comment.author.deleted ? () => setOpenAlert(true) : null }, { children: (0, jsx_runtime_1.jsx)(UserAvatar_1.default, Object.assign({ hide: !obj.author.community_badge }, { children: (0, jsx_runtime_1.jsx)(material_1.Avatar, { alt: obj.author.username, variant: "circular", src: comment.author.avatar, className: classes.avatar }) })) })), disableTypography: true, primary: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(Widget_1.default, Object.assign({ className: classes.content, elevation: elevation }, rest, { children: [(0, jsx_runtime_1.jsxs)(material_1.CardContent, Object.assign({ className: (0, classnames_1.default)({ [classes.deleted]: obj && obj.deleted }) }, { children: [(0, jsx_runtime_1.jsx)(react_core_1.Link, Object.assign({ className: classes.author }, (!comment.author.deleted && { to: scRoutingContext.url(react_core_1.SCRoutes.USER_PROFILE_ROUTE_NAME, comment.author) }), { onClick: comment.author.deleted ? () => setOpenAlert(true) : null }, { children: (0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ component: "span" }, { children: comment.author.username })) })), comment.collapsed && ((0, jsx_runtime_1.jsx)(material_1.Chip, { className: classes.flagChip, color: "error", size: "small", label: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.commentObject.flag", defaultMessage: "ui.commentObject.flag" }) })), (0, jsx_runtime_1.jsx)(material_1.Typography, { className: classes.textContent, variant: "body2", gutterBottom: true, dangerouslySetInnerHTML: { __html: summaryHtml } }), summaryHtmlTruncated && truncateContent && ((0, jsx_runtime_1.jsx)(react_core_1.Link, Object.assign({ to: scRoutingContext.url(react_core_1.SCRoutes.COMMENT_ROUTE_NAME, (0, contribution_1.getRouteData)(comment)), className: classes.showMoreContent }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.commentObject.showMore", defaultMessage: "ui.commentObject.showMore" }) })))] })), scUserContext.user && ((0, jsx_runtime_1.jsx)(material_1.Box, Object.assign({ className: classes.commentActionsMenu }, { children: (0, jsx_runtime_1.jsx)(ContributionActionsMenu_1.default, { commentObject: comment, onRestoreContribution: handleRestore, onHideContribution: handleHide, onDeleteContribution: handleDelete, onEditContribution: handleEdit }) })))] })), showActions && ((0, jsx_runtime_1.jsxs)(material_1.Box, Object.assign({ component: "span", className: classes.contentSubSection }, { children: [renderTimeAgo(comment), (0, jsx_runtime_1.jsx)(Bullet_1.default, {}), (0, jsx_runtime_1.jsx)(VoteButton_1.default, { size: "small", className: classes.vote, contributionId: comment.id, contributionType: types_1.SCContributionType.COMMENT, contribution: comment, onVote: handleVoteSuccess }), (0, jsx_runtime_1.jsx)(Bullet_1.default, {}), renderActionReply(comment), (0, jsx_runtime_1.jsx)(VoteAudienceButton_1.default, { size: "small", className: classes.voteAudience, contributionId: comment.id, contributionType: types_1.SCContributionType.COMMENT, contribution: comment })] })))] }) })), comment.comment_count > 0 && (0, jsx_runtime_1.jsx)(material_1.Box, Object.assign({ className: classes.nestedComments }, { children: renderLatestComment(comment) })), scUserContext.user && replyComment && (replyComment.id === comment.id || replyComment.parent === comment.id) && !comment.parent && ((0, jsx_runtime_1.jsx)(material_1.Box, Object.assign({ className: classes.nestedComments }, { children: (0, jsx_runtime_1.jsx)(CommentObjectReply_1.default, Object.assign({ text: `@${replyComment.author.username}, `, autoFocus: true, id: `reply-${replyComment.id}`, onReply: handleReply, editable: !isReplying }, CommentObjectReplyProps), `reply-${replyComment.id}`) })))] }, comment.id));
|
|
308
308
|
}
|
|
309
309
|
/**
|
|
310
310
|
* Render Latest Comment
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { WidgetProps } from '../Widget';
|
|
2
|
+
import { EditorProps } from '../Editor';
|
|
3
|
+
import { SCMediaType } from '@selfcommunity/types';
|
|
2
4
|
export interface CommentObjectReplyProps extends WidgetProps {
|
|
3
5
|
/**
|
|
4
6
|
* Bind focus on mount
|
|
@@ -9,12 +11,12 @@ export interface CommentObjectReplyProps extends WidgetProps {
|
|
|
9
11
|
* Callback invoked after reply
|
|
10
12
|
* @param comment
|
|
11
13
|
*/
|
|
12
|
-
onReply?: (comment: any) => void;
|
|
14
|
+
onReply?: (comment: any, medias?: any) => void;
|
|
13
15
|
/**
|
|
14
16
|
* Callback invoked after save/edit
|
|
15
17
|
* @param comment
|
|
16
18
|
*/
|
|
17
|
-
onSave?: (comment: any) => void;
|
|
19
|
+
onSave?: (comment: any, medias?: any) => void;
|
|
18
20
|
/**
|
|
19
21
|
* Callback invoked after disccard save/edit
|
|
20
22
|
* @param comment
|
|
@@ -30,11 +32,31 @@ export interface CommentObjectReplyProps extends WidgetProps {
|
|
|
30
32
|
* @default ''
|
|
31
33
|
*/
|
|
32
34
|
text?: string;
|
|
35
|
+
/**
|
|
36
|
+
* Initial media content
|
|
37
|
+
* @default ''
|
|
38
|
+
*/
|
|
39
|
+
medias?: SCMediaType[];
|
|
33
40
|
/**
|
|
34
41
|
* Initial content
|
|
35
42
|
* @default {variant: 'outlined'}
|
|
36
43
|
*/
|
|
37
44
|
WidgetProps?: WidgetProps;
|
|
45
|
+
/**
|
|
46
|
+
* Initial content
|
|
47
|
+
* @default {}
|
|
48
|
+
*/
|
|
49
|
+
EditorProps?: EditorProps;
|
|
50
|
+
/**
|
|
51
|
+
* Prop to show user avatar
|
|
52
|
+
* @default true
|
|
53
|
+
*/
|
|
54
|
+
showAvatar?: boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Prop to show a reply icon instead of the button
|
|
57
|
+
* @default false
|
|
58
|
+
*/
|
|
59
|
+
replyIcon?: boolean;
|
|
38
60
|
/**
|
|
39
61
|
* Other props
|
|
40
62
|
*/
|
|
@@ -14,14 +14,17 @@ const lab_1 = require("@mui/lab");
|
|
|
14
14
|
const BaseItem_1 = tslib_1.__importDefault(require("../../shared/BaseItem"));
|
|
15
15
|
const UserAvatar_1 = tslib_1.__importDefault(require("../../shared/UserAvatar"));
|
|
16
16
|
const system_1 = require("@mui/system");
|
|
17
|
+
const PreviewComponent_1 = tslib_1.__importDefault(require("../../shared/Media/File/PreviewComponent"));
|
|
17
18
|
const PREFIX = 'SCCommentObjectReply';
|
|
18
19
|
const classes = {
|
|
19
20
|
root: `${PREFIX}-root`,
|
|
20
21
|
comment: `${PREFIX}-comment`,
|
|
22
|
+
media: `${PREFIX}-media`,
|
|
21
23
|
hasValue: `${PREFIX}-has-value`,
|
|
22
24
|
avatar: `${PREFIX}-avatar`,
|
|
23
25
|
actions: `${PREFIX}-actions`,
|
|
24
26
|
buttonReply: `${PREFIX}-button-reply`,
|
|
27
|
+
iconReply: `${PREFIX}-icon-reply`,
|
|
25
28
|
buttonSave: `${PREFIX}-button-save`,
|
|
26
29
|
buttonCancel: `${PREFIX}-button-cancel`
|
|
27
30
|
};
|
|
@@ -64,11 +67,13 @@ function CommentObjectReply(inProps) {
|
|
|
64
67
|
props: inProps,
|
|
65
68
|
name: PREFIX
|
|
66
69
|
});
|
|
67
|
-
const { id = 'CommentObjectReply', className, elevation = 0, autoFocus = false, onReply, onSave, onCancel, editable = true, text = '', WidgetProps = { variant: 'outlined' } } = props, rest = tslib_1.__rest(props, ["id", "className", "elevation", "autoFocus", "onReply", "onSave", "onCancel", "editable", "text", "WidgetProps"]);
|
|
70
|
+
const { id = 'CommentObjectReply', className, elevation = 0, autoFocus = false, onReply, onSave, onCancel, editable = true, text = '', medias = [], WidgetProps = { variant: 'outlined' }, EditorProps = {}, showAvatar = true, replyIcon = false } = props, rest = tslib_1.__rest(props, ["id", "className", "elevation", "autoFocus", "onReply", "onSave", "onCancel", "editable", "text", "medias", "WidgetProps", "EditorProps", "showAvatar", "replyIcon"]);
|
|
68
71
|
// CONTEXT
|
|
69
72
|
const scUserContext = (0, react_core_1.useSCUser)();
|
|
70
73
|
// RETRIEVE OBJECTS
|
|
71
74
|
const [html, setHtml] = (0, react_1.useState)(text);
|
|
75
|
+
const [media, setMedia] = (0, react_1.useState)(medias !== null && medias !== void 0 ? medias : []);
|
|
76
|
+
const [uploadingMedia, setUploadingMedia] = (0, react_1.useState)(false);
|
|
72
77
|
// HOOKS
|
|
73
78
|
const theme = (0, material_1.useTheme)();
|
|
74
79
|
const isMobile = (0, material_1.useMediaQuery)(theme.breakpoints.down('md'));
|
|
@@ -93,13 +98,13 @@ function CommentObjectReply(inProps) {
|
|
|
93
98
|
* Handle Replay
|
|
94
99
|
*/
|
|
95
100
|
const handleReply = () => {
|
|
96
|
-
onReply && onReply(html);
|
|
101
|
+
onReply && onReply(html, media && media.length > 0 ? media : null);
|
|
97
102
|
};
|
|
98
103
|
/**
|
|
99
104
|
* Handle Save
|
|
100
105
|
*/
|
|
101
106
|
const handleSave = () => {
|
|
102
|
-
onSave && onSave(html);
|
|
107
|
+
onSave && onSave(html, media && media.length > 0 ? media : null);
|
|
103
108
|
};
|
|
104
109
|
/**
|
|
105
110
|
* Handle cancel save
|
|
@@ -113,6 +118,12 @@ function CommentObjectReply(inProps) {
|
|
|
113
118
|
const handleChangeText = (value) => {
|
|
114
119
|
setHtml(value);
|
|
115
120
|
};
|
|
121
|
+
const handleChangeMedia = (value) => {
|
|
122
|
+
setMedia((prev) => [...prev, value]);
|
|
123
|
+
};
|
|
124
|
+
const handleChangeMedias = (value) => {
|
|
125
|
+
setMedia([...value]);
|
|
126
|
+
};
|
|
116
127
|
/**
|
|
117
128
|
* Check if editor is empty
|
|
118
129
|
*/
|
|
@@ -121,6 +132,8 @@ function CommentObjectReply(inProps) {
|
|
|
121
132
|
return _html === '' || _html === '<p class="SCEditor-paragraph"></p>' || _html === '<p class="SCEditor-paragraph"><br></p>';
|
|
122
133
|
}, [html]);
|
|
123
134
|
// RENDER
|
|
124
|
-
return ((0, jsx_runtime_1.jsx)(Root, Object.assign({ id: id }, rest, { disableTypography: true, onClick: handleEditorFocus, elevation: elevation, className: (0, classnames_1.default)(classes.root, className), image:
|
|
135
|
+
return ((0, jsx_runtime_1.jsx)(Root, Object.assign({ id: id }, rest, { disableTypography: true, onClick: handleEditorFocus, elevation: elevation, className: (0, classnames_1.default)(classes.root, className), image: showAvatar &&
|
|
136
|
+
(!scUserContext.user ? ((0, jsx_runtime_1.jsx)(material_1.Avatar, { variant: "circular", className: classes.avatar })) : ((0, jsx_runtime_1.jsx)(UserAvatar_1.default, Object.assign({ hide: !scUserContext.user.community_badge }, { children: (0, jsx_runtime_1.jsx)(material_1.Avatar, { alt: scUserContext.user.username, variant: "circular", src: scUserContext.user.avatar, classes: { root: classes.avatar } }) })))), secondary: (0, jsx_runtime_1.jsxs)(Widget_1.default, Object.assign({ className: (0, classnames_1.default)(classes.comment, { [classes.hasValue]: !isEditorEmpty }) }, WidgetProps, { children: [media && media.length > 0 && (0, jsx_runtime_1.jsx)(PreviewComponent_1.default, { value: media, onChange: handleChangeMedias, className: classes.media }), (0, jsx_runtime_1.jsx)(Editor_1.default, Object.assign({ ref: editor, onChange: handleChangeText, defaultValue: html, editable: editable, uploadImage: true, action: replyIcon &&
|
|
137
|
+
onReply && ((0, jsx_runtime_1.jsx)(material_1.IconButton, Object.assign({ onClick: handleReply, className: classes.iconReply, disabled: uploadingMedia }, { children: (0, jsx_runtime_1.jsx)(material_1.Icon, { children: "send" }) }))) }, EditorProps, { MediaPluginProps: { isUploading: setUploadingMedia, onMediaAdd: handleChangeMedia } })), !isEditorEmpty && ((0, jsx_runtime_1.jsxs)(material_1.Stack, Object.assign({ direction: "row", spacing: 2, className: classes.actions }, { children: [onReply && !replyIcon && ((0, jsx_runtime_1.jsx)(lab_1.LoadingButton, Object.assign({ variant: "outlined", size: "small", onClick: handleReply, loading: !editable, className: classes.buttonReply }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.commentObject.replyComment.reply", defaultMessage: "ui.commentObject.replyComment.reply" }) }))), onSave && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [onCancel && ((0, jsx_runtime_1.jsx)(lab_1.LoadingButton, Object.assign({ variant: 'text', size: "small", onClick: handleCancel, disabled: !editable, color: "inherit", className: classes.buttonCancel }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.commentObject.replyComment.cancel", defaultMessage: "ui.commentObject.replyComment.cancel" }) }))), (0, jsx_runtime_1.jsx)(lab_1.LoadingButton, Object.assign({ variant: "outlined", size: "small", onClick: handleSave, loading: !editable, className: classes.buttonSave }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.commentObject.replyComment.save", defaultMessage: "ui.commentObject.replyComment.save" }) }))] }))] })))] })) })));
|
|
125
138
|
}
|
|
126
139
|
exports.default = CommentObjectReply;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { BoxProps } from '@mui/material';
|
|
2
|
+
import { EditorProps } from '../../../Editor';
|
|
3
|
+
import { SCMediaType } from '@selfcommunity/types';
|
|
4
|
+
export interface ContentLessonProps extends Omit<BoxProps, 'value' | 'onChange'> {
|
|
5
|
+
/**
|
|
6
|
+
* Value of the component
|
|
7
|
+
*/
|
|
8
|
+
value?: any;
|
|
9
|
+
/**
|
|
10
|
+
* Widgets to insert into the feed
|
|
11
|
+
* @default empty array
|
|
12
|
+
*/
|
|
13
|
+
error?: any;
|
|
14
|
+
/**
|
|
15
|
+
* All the inputs should be disabled?
|
|
16
|
+
* @default false
|
|
17
|
+
*/
|
|
18
|
+
disabled?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Callback for change html
|
|
21
|
+
* @param value
|
|
22
|
+
* @default empty object
|
|
23
|
+
*/
|
|
24
|
+
onChange: (html: string) => void;
|
|
25
|
+
/**
|
|
26
|
+
* Callback for media change
|
|
27
|
+
* @param media
|
|
28
|
+
* @default null
|
|
29
|
+
*/
|
|
30
|
+
onMediaChange: (medias: SCMediaType[]) => void;
|
|
31
|
+
/**
|
|
32
|
+
* Props to spread into the editor object
|
|
33
|
+
* @default empty object
|
|
34
|
+
*/
|
|
35
|
+
EditorProps?: EditorProps;
|
|
36
|
+
}
|
|
37
|
+
declare const _default: (props: ContentLessonProps) => JSX.Element;
|
|
38
|
+
export default _default;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const material_1 = require("@mui/material");
|
|
7
|
+
const styles_1 = require("@mui/material/styles");
|
|
8
|
+
const classnames_1 = tslib_1.__importDefault(require("classnames"));
|
|
9
|
+
const Editor_1 = tslib_1.__importDefault(require("../../../Editor"));
|
|
10
|
+
const react_intl_1 = require("react-intl");
|
|
11
|
+
const constants_1 = require("../../constants");
|
|
12
|
+
const Media_1 = require("../../../../shared/Media");
|
|
13
|
+
const UrlTextField_1 = tslib_1.__importDefault(require("../../../../shared/Media/Link/UrlTextField"));
|
|
14
|
+
const classes = {
|
|
15
|
+
root: `${constants_1.PREFIX}-content-lesson-root`,
|
|
16
|
+
generalError: `${constants_1.PREFIX}-general-error`,
|
|
17
|
+
title: `${constants_1.PREFIX}-content-lesson-title`,
|
|
18
|
+
medias: `${constants_1.PREFIX}-content-lesson-medias`,
|
|
19
|
+
editor: `${constants_1.PREFIX}-content-lesson-editor`,
|
|
20
|
+
link: `${constants_1.PREFIX}-content-lesson-link`
|
|
21
|
+
};
|
|
22
|
+
const Root = (0, styles_1.styled)(material_1.Box, {
|
|
23
|
+
name: constants_1.PREFIX,
|
|
24
|
+
slot: 'ContentLessonRoot'
|
|
25
|
+
})(({ theme }) => ({}));
|
|
26
|
+
exports.default = (props) => {
|
|
27
|
+
// PROPS
|
|
28
|
+
const { className = null, value, error = {}, disabled = false, onChange, onMediaChange, EditorProps = {} } = props;
|
|
29
|
+
const { error: generalError = null } = Object.assign({}, error);
|
|
30
|
+
const mediaObjectTypes = [Media_1.File, Media_1.Link];
|
|
31
|
+
const [medias, setMedias] = (0, react_1.useState)((value === null || value === void 0 ? void 0 : value.medias) || []);
|
|
32
|
+
const [openLink, setOpenLink] = (0, react_1.useState)();
|
|
33
|
+
const linkInputRef = (0, react_1.useRef)(null);
|
|
34
|
+
// HANDLERS
|
|
35
|
+
const handleChangeHtml = (0, react_1.useCallback)((html) => {
|
|
36
|
+
onChange(html);
|
|
37
|
+
}, [value]);
|
|
38
|
+
const handleChangeMedias = (0, react_1.useCallback)((value) => {
|
|
39
|
+
setMedias([...value]);
|
|
40
|
+
onMediaChange([...value]);
|
|
41
|
+
}, []);
|
|
42
|
+
const handleChangeMedia = (value) => {
|
|
43
|
+
setMedias((prev) => [...prev, value]);
|
|
44
|
+
onMediaChange([...medias, value]);
|
|
45
|
+
};
|
|
46
|
+
const handleLinkAdd = (0, react_1.useCallback)((media) => {
|
|
47
|
+
setMedias([...medias, media]);
|
|
48
|
+
setOpenLink(false);
|
|
49
|
+
}, [medias]);
|
|
50
|
+
(0, react_1.useEffect)(() => {
|
|
51
|
+
if (openLink && linkInputRef.current) {
|
|
52
|
+
linkInputRef.current.scrollIntoView({ behavior: 'smooth' });
|
|
53
|
+
}
|
|
54
|
+
}, [openLink]);
|
|
55
|
+
// RENDER
|
|
56
|
+
return ((0, jsx_runtime_1.jsxs)(Root, Object.assign({ className: (0, classnames_1.default)(classes.root, className) }, { children: [generalError && ((0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ className: classes.generalError }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: `ui.composer.error.${generalError}`, defaultMessage: `ui.composer.error.${generalError}` }) }))), (0, jsx_runtime_1.jsx)(Editor_1.default, Object.assign({}, EditorProps, { editable: !disabled, className: classes.editor, onChange: handleChangeHtml, onMediaChange: handleChangeMedia, defaultValue: value.html, ToolBarProps: {
|
|
57
|
+
customLink: (0, jsx_runtime_1.jsx)(Media_1.Link.triggerButton, { color: "default", onClick: () => setOpenLink(true) }, Media_1.Link.name),
|
|
58
|
+
uploadImage: false,
|
|
59
|
+
uploadFile: true
|
|
60
|
+
} })), openLink && ((0, jsx_runtime_1.jsx)(UrlTextField_1.default, { inputRef: linkInputRef, className: classes.link, id: "page", name: "page", label: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.composer.media.link.add.label", defaultMessage: "ui.composer.media.link.add.label" }), fullWidth: true, variant: "outlined", placeholder: "https://", onSuccess: handleLinkAdd, InputProps: {
|
|
61
|
+
endAdornment: ((0, jsx_runtime_1.jsx)(material_1.InputAdornment, Object.assign({ position: "end" }, { children: (0, jsx_runtime_1.jsx)(material_1.IconButton, Object.assign({ onClick: () => setOpenLink(false) }, { children: (0, jsx_runtime_1.jsx)(material_1.Icon, { children: "close" }) })) })))
|
|
62
|
+
} })), medias && medias.length > 0 && ((0, jsx_runtime_1.jsx)(material_1.Box, Object.assign({ className: classes.medias }, { children: mediaObjectTypes.map((mediaObjectType) => {
|
|
63
|
+
if (mediaObjectType.previewComponent) {
|
|
64
|
+
return (0, jsx_runtime_1.jsx)(mediaObjectType.previewComponent, { value: medias, onChange: handleChangeMedias }, mediaObjectType.name);
|
|
65
|
+
}
|
|
66
|
+
}) })))] })));
|
|
67
|
+
};
|
|
@@ -79,10 +79,10 @@ const AudienceLayer = react_1.default.forwardRef((props, ref) => {
|
|
|
79
79
|
? onSave(value)
|
|
80
80
|
: onSave((value === null || value === void 0 ? void 0 : value.length) && (value === null || value === void 0 ? void 0 : value.length) > 0 ? value : null);
|
|
81
81
|
}, [value, onSave, audience]);
|
|
82
|
-
const handleChange = (0, react_1.useCallback)((
|
|
82
|
+
const handleChange = (0, react_1.useCallback)((_event, tags) => setValue(tags), []);
|
|
83
83
|
const handleEventChange = (0, react_1.useCallback)((event) => setValue(event), []);
|
|
84
84
|
const handleGroupChange = (0, react_1.useCallback)((group) => setValue(group), []);
|
|
85
|
-
const handleChangeAudience = (0, react_1.useCallback)((
|
|
85
|
+
const handleChangeAudience = (0, react_1.useCallback)((_event, data) => setAudience(data), []);
|
|
86
86
|
const handleAutocompleteOpen = (0, react_1.useCallback)(() => setAutocompleteOpen(true), []);
|
|
87
87
|
const handleAutocompleteClose = (0, react_1.useCallback)(() => setAutocompleteOpen(false), []);
|
|
88
88
|
return ((0, jsx_runtime_1.jsxs)(Root, Object.assign({ ref: ref, className: (0, classnames_1.default)(className, classes.root) }, rest, { children: [(0, jsx_runtime_1.jsxs)(material_1.DialogTitle, Object.assign({ className: classes.title }, { children: [(0, jsx_runtime_1.jsx)(material_1.IconButton, Object.assign({ onClick: onClose }, { children: (0, jsx_runtime_1.jsx)(Icon_1.default, { children: "arrow_back" }) })), (0, jsx_runtime_1.jsx)(material_1.Typography, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.composer.layer.audience.title", defaultMessage: "ui.composer.layer.audience.title" }) }), (0, jsx_runtime_1.jsx)(material_1.Button, Object.assign({ size: "small", color: "secondary", variant: "contained", onClick: handleSave }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.composer.layer.save", defaultMessage: "ui.composer.layer.save" }) }))] })), (0, jsx_runtime_1.jsxs)(DialogContent_1.default, Object.assign({ className: classes.content }, { children: [(0, jsx_runtime_1.jsxs)(material_1.Tabs, Object.assign({ value: audience, onChange: handleChangeAudience, "aria-label": "audience type" }, { children: [(0, jsx_runtime_1.jsx)(material_1.Tab, { value: AudienceTypes.AUDIENCE_ALL, icon: (0, jsx_runtime_1.jsx)(Icon_1.default, { children: "public" }), label: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.composer.layer.audience.all", defaultMessage: "ui.composer.layer.audience.all" }) }), eventsEnabled && ((0, jsx_runtime_1.jsx)(material_1.Tab, { disabled: (Boolean(value === null || value === void 0 ? void 0 : value.length) && !Object.prototype.hasOwnProperty.call(value, 'recurring')) ||
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { BoxProps } from '@mui/material';
|
|
3
|
-
import { SCCategoryType } from '@selfcommunity/types
|
|
3
|
+
import { SCCategoryType } from '@selfcommunity/types';
|
|
4
4
|
import { ComposerLayerProps } from '../../../../types/composer';
|
|
5
5
|
export interface CategoryLayerProps extends Omit<BoxProps, 'defaultValue'>, ComposerLayerProps {
|
|
6
6
|
defaultValue: SCCategoryType[];
|