@selfcommunity/react-ui 0.11.0-alpha.60 → 0.11.0-alpha.62

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (571) hide show
  1. package/lib/cjs/assets/courses/clapping.d.ts +1 -0
  2. package/lib/cjs/assets/courses/clapping.js +4 -0
  3. package/lib/cjs/components/BottomNavigation/BottomNavigation.js +17 -2
  4. package/lib/cjs/components/CategoryAutocomplete/CategoryAutocomplete.js +6 -8
  5. package/lib/cjs/components/CommentObject/CommentObject.d.ts +5 -0
  6. package/lib/cjs/components/CommentObject/CommentObject.js +2 -2
  7. package/lib/cjs/components/CommentObjectReply/CommentObjectReply.d.ts +24 -2
  8. package/lib/cjs/components/CommentObjectReply/CommentObjectReply.js +17 -4
  9. package/lib/cjs/components/Composer/Content/ContentLesson/ContentLesson.d.ts +38 -0
  10. package/lib/cjs/components/Composer/Content/ContentLesson/ContentLesson.js +67 -0
  11. package/lib/cjs/components/Composer/Content/ContentLesson/index.d.ts +3 -0
  12. package/lib/cjs/components/Composer/Content/ContentLesson/index.js +5 -0
  13. package/lib/cjs/components/Composer/Layer/AudienceLayer/AudienceLayer.js +2 -2
  14. package/lib/cjs/components/ComposerIconButton/ComposerIconButton.d.ts +9 -3
  15. package/lib/cjs/components/ComposerIconButton/ComposerIconButton.js +38 -9
  16. package/lib/cjs/components/Course/Course.d.ts +92 -0
  17. package/lib/cjs/components/Course/Course.js +185 -0
  18. package/lib/cjs/components/Course/CreatePlaceholder.d.ts +39 -0
  19. package/lib/cjs/components/Course/CreatePlaceholder.js +59 -0
  20. package/lib/cjs/components/Course/Skeleton.d.ts +51 -0
  21. package/lib/cjs/components/Course/Skeleton.js +77 -0
  22. package/lib/cjs/components/Course/constants.d.ts +1 -0
  23. package/lib/cjs/components/Course/constants.js +4 -0
  24. package/lib/cjs/components/Course/index.d.ts +4 -0
  25. package/lib/cjs/components/Course/index.js +8 -0
  26. package/lib/cjs/components/CourseCompletedDialog/CourseCompletedDialog.d.ts +9 -0
  27. package/lib/cjs/components/CourseCompletedDialog/CourseCompletedDialog.js +40 -0
  28. package/lib/cjs/components/CourseCompletedDialog/index.d.ts +3 -0
  29. package/lib/cjs/components/CourseCompletedDialog/index.js +5 -0
  30. package/lib/cjs/components/CourseContentMenu/CourseContentMenu.d.ts +25 -0
  31. package/lib/cjs/components/CourseContentMenu/CourseContentMenu.js +47 -0
  32. package/lib/cjs/components/CourseContentMenu/constants.d.ts +1 -0
  33. package/lib/cjs/components/CourseContentMenu/constants.js +4 -0
  34. package/lib/cjs/components/CourseContentMenu/index.d.ts +3 -0
  35. package/lib/cjs/components/CourseContentMenu/index.js +5 -0
  36. package/lib/cjs/components/CourseDashboard/Header/Skeleton.d.ts +1 -0
  37. package/lib/cjs/components/CourseDashboard/Header/Skeleton.js +16 -0
  38. package/lib/cjs/components/CourseDashboard/Header.d.ts +9 -0
  39. package/lib/cjs/components/CourseDashboard/Header.js +44 -0
  40. package/lib/cjs/components/CourseDashboard/Student/ActionButton.d.ts +8 -0
  41. package/lib/cjs/components/CourseDashboard/Student/ActionButton.js +16 -0
  42. package/lib/cjs/components/CourseDashboard/Student/Skeleton.d.ts +1 -0
  43. package/lib/cjs/components/CourseDashboard/Student/Skeleton.js +30 -0
  44. package/lib/cjs/components/CourseDashboard/Student.d.ts +11 -0
  45. package/lib/cjs/components/CourseDashboard/Student.js +203 -0
  46. package/lib/cjs/components/CourseDashboard/Teacher/Comments.d.ts +9 -0
  47. package/lib/cjs/components/CourseDashboard/Teacher/Comments.js +108 -0
  48. package/lib/cjs/components/CourseDashboard/Teacher/Info.d.ts +11 -0
  49. package/lib/cjs/components/CourseDashboard/Teacher/Info.js +19 -0
  50. package/lib/cjs/components/CourseDashboard/Teacher/Skeleton.d.ts +1 -0
  51. package/lib/cjs/components/CourseDashboard/Teacher/Skeleton.js +25 -0
  52. package/lib/cjs/components/CourseDashboard/Teacher/Students.d.ts +10 -0
  53. package/lib/cjs/components/CourseDashboard/Teacher/Students.js +71 -0
  54. package/lib/cjs/components/CourseDashboard/Teacher.d.ts +11 -0
  55. package/lib/cjs/components/CourseDashboard/Teacher.js +62 -0
  56. package/lib/cjs/components/CourseDashboard/constants.d.ts +1 -0
  57. package/lib/cjs/components/CourseDashboard/constants.js +4 -0
  58. package/lib/cjs/components/CourseDashboard/index.d.ts +11 -0
  59. package/lib/cjs/components/CourseDashboard/index.js +11 -0
  60. package/lib/cjs/components/CourseDashboard/types.d.ts +8 -0
  61. package/lib/cjs/components/CourseDashboard/types.js +13 -0
  62. package/lib/cjs/components/CourseForm/CourseForm.d.ts +74 -0
  63. package/lib/cjs/components/CourseForm/CourseForm.js +273 -0
  64. package/lib/cjs/components/CourseForm/Dialog.d.ts +8 -0
  65. package/lib/cjs/components/CourseForm/Dialog.js +19 -0
  66. package/lib/cjs/components/CourseForm/Edit.d.ts +24 -0
  67. package/lib/cjs/components/CourseForm/Edit.js +53 -0
  68. package/lib/cjs/components/CourseForm/Skeleton.d.ts +1 -0
  69. package/lib/cjs/components/CourseForm/Skeleton.js +17 -0
  70. package/lib/cjs/components/CourseForm/UploadCourseCover.d.ts +45 -0
  71. package/lib/cjs/components/CourseForm/UploadCourseCover.js +94 -0
  72. package/lib/cjs/components/CourseForm/constants.d.ts +1 -0
  73. package/lib/cjs/components/CourseForm/constants.js +4 -0
  74. package/lib/cjs/components/CourseForm/index.d.ts +4 -0
  75. package/lib/cjs/components/CourseForm/index.js +8 -0
  76. package/lib/cjs/components/CourseFormDialog/CourseFormDialog.d.ts +48 -0
  77. package/lib/cjs/components/CourseFormDialog/CourseFormDialog.js +67 -0
  78. package/lib/cjs/components/CourseFormDialog/constants.d.ts +1 -0
  79. package/lib/cjs/components/CourseFormDialog/constants.js +4 -0
  80. package/lib/cjs/components/CourseFormDialog/index.d.ts +3 -0
  81. package/lib/cjs/components/CourseFormDialog/index.js +5 -0
  82. package/lib/cjs/components/CourseJoinButton/CourseJoinButton.d.ts +56 -0
  83. package/lib/cjs/components/CourseJoinButton/CourseJoinButton.js +148 -0
  84. package/lib/cjs/components/CourseJoinButton/index.d.ts +3 -0
  85. package/lib/cjs/components/CourseJoinButton/index.js +5 -0
  86. package/lib/cjs/components/CourseParticipantsButton/CourseParticipantsButton.d.ts +53 -0
  87. package/lib/cjs/components/CourseParticipantsButton/CourseParticipantsButton.js +150 -0
  88. package/lib/cjs/components/CourseParticipantsButton/index.d.ts +3 -0
  89. package/lib/cjs/components/CourseParticipantsButton/index.js +5 -0
  90. package/lib/cjs/components/Courses/Courses.d.ts +100 -0
  91. package/lib/cjs/components/Courses/Courses.js +237 -0
  92. package/lib/cjs/components/Courses/Skeleton.d.ts +54 -0
  93. package/lib/cjs/components/Courses/Skeleton.js +45 -0
  94. package/lib/cjs/components/Courses/constants.d.ts +1 -0
  95. package/lib/cjs/components/Courses/constants.js +4 -0
  96. package/lib/cjs/components/Courses/index.d.ts +4 -0
  97. package/lib/cjs/components/Courses/index.js +8 -0
  98. package/lib/cjs/components/Courses/prefetchedCourses.d.ts +81 -0
  99. package/lib/cjs/components/Courses/prefetchedCourses.js +186 -0
  100. package/lib/cjs/components/CreateCourseButton/CreateCourseButton.d.ts +38 -0
  101. package/lib/cjs/components/CreateCourseButton/CreateCourseButton.js +81 -0
  102. package/lib/cjs/components/CreateCourseButton/index.d.ts +3 -0
  103. package/lib/cjs/components/CreateCourseButton/index.js +5 -0
  104. package/lib/cjs/components/EditCourse/Customize.d.ts +9 -0
  105. package/lib/cjs/components/EditCourse/Customize.js +31 -0
  106. package/lib/cjs/components/EditCourse/EditCourse.d.ts +13 -0
  107. package/lib/cjs/components/EditCourse/EditCourse.js +110 -0
  108. package/lib/cjs/components/EditCourse/Lessons/AddButton.d.ts +9 -0
  109. package/lib/cjs/components/EditCourse/Lessons/AddButton.js +29 -0
  110. package/lib/cjs/components/EditCourse/Lessons/ChangeLessonStatus.d.ts +13 -0
  111. package/lib/cjs/components/EditCourse/Lessons/ChangeLessonStatus.js +92 -0
  112. package/lib/cjs/components/EditCourse/Lessons/FieldName.d.ts +15 -0
  113. package/lib/cjs/components/EditCourse/Lessons/FieldName.js +83 -0
  114. package/lib/cjs/components/EditCourse/Lessons/LessonRow.d.ts +15 -0
  115. package/lib/cjs/components/EditCourse/Lessons/LessonRow.js +68 -0
  116. package/lib/cjs/components/EditCourse/Lessons/SectionRow.d.ts +14 -0
  117. package/lib/cjs/components/EditCourse/Lessons/SectionRow.js +158 -0
  118. package/lib/cjs/components/EditCourse/Lessons/Skeleton.d.ts +1 -0
  119. package/lib/cjs/components/EditCourse/Lessons/Skeleton.js +20 -0
  120. package/lib/cjs/components/EditCourse/Lessons.d.ts +11 -0
  121. package/lib/cjs/components/EditCourse/Lessons.js +196 -0
  122. package/lib/cjs/components/EditCourse/MenuRow.d.ts +9 -0
  123. package/lib/cjs/components/EditCourse/MenuRow.js +25 -0
  124. package/lib/cjs/components/EditCourse/Options/Skeleton.d.ts +1 -0
  125. package/lib/cjs/components/EditCourse/Options/Skeleton.js +15 -0
  126. package/lib/cjs/components/EditCourse/Options/SwitchForm.d.ts +11 -0
  127. package/lib/cjs/components/EditCourse/Options/SwitchForm.js +20 -0
  128. package/lib/cjs/components/EditCourse/Options.d.ts +9 -0
  129. package/lib/cjs/components/EditCourse/Options.js +96 -0
  130. package/lib/cjs/components/EditCourse/Requests.d.ts +12 -0
  131. package/lib/cjs/components/EditCourse/Requests.js +97 -0
  132. package/lib/cjs/components/EditCourse/Skeleton.d.ts +8 -0
  133. package/lib/cjs/components/EditCourse/Skeleton.js +28 -0
  134. package/lib/cjs/components/EditCourse/Status.d.ts +9 -0
  135. package/lib/cjs/components/EditCourse/Status.js +33 -0
  136. package/lib/cjs/components/EditCourse/Users/Skeleton.d.ts +1 -0
  137. package/lib/cjs/components/EditCourse/Users/Skeleton.js +15 -0
  138. package/lib/cjs/components/EditCourse/Users.d.ts +11 -0
  139. package/lib/cjs/components/EditCourse/Users.js +140 -0
  140. package/lib/cjs/components/EditCourse/constants.d.ts +1 -0
  141. package/lib/cjs/components/EditCourse/constants.js +4 -0
  142. package/lib/cjs/components/EditCourse/hooks.d.ts +3 -0
  143. package/lib/cjs/components/EditCourse/hooks.js +22 -0
  144. package/lib/cjs/components/EditCourse/index.d.ts +4 -0
  145. package/lib/cjs/components/EditCourse/index.js +8 -0
  146. package/lib/cjs/components/EditCourse/types.d.ts +29 -0
  147. package/lib/cjs/components/EditCourse/types.js +19 -0
  148. package/lib/cjs/components/Editor/Editor.d.ts +37 -0
  149. package/lib/cjs/components/Editor/Editor.js +6 -3
  150. package/lib/cjs/components/Editor/plugins/EmojiPlugin.d.ts +3 -1
  151. package/lib/cjs/components/Editor/plugins/EmojiPlugin.js +4 -10
  152. package/lib/cjs/components/Editor/plugins/MediaPlugin.d.ts +14 -0
  153. package/lib/cjs/components/Editor/plugins/MediaPlugin.js +121 -0
  154. package/lib/cjs/components/Editor/plugins/ToolbarPlugin.d.ts +5 -0
  155. package/lib/cjs/components/Editor/plugins/ToolbarPlugin.js +3 -2
  156. package/lib/cjs/components/Editor/plugins/index.d.ts +2 -1
  157. package/lib/cjs/components/Editor/plugins/index.js +3 -1
  158. package/lib/cjs/components/EventForm/EventForm.js +1 -1
  159. package/lib/cjs/components/LessonAppbar/LessonAppbar.d.ts +42 -0
  160. package/lib/cjs/components/LessonAppbar/LessonAppbar.js +34 -0
  161. package/lib/cjs/components/LessonAppbar/constants.d.ts +1 -0
  162. package/lib/cjs/components/LessonAppbar/constants.js +4 -0
  163. package/lib/cjs/components/LessonAppbar/index.d.ts +3 -0
  164. package/lib/cjs/components/LessonAppbar/index.js +5 -0
  165. package/lib/cjs/components/LessonCommentObject/LessonCommentObject.d.ts +94 -0
  166. package/lib/cjs/components/LessonCommentObject/LessonCommentObject.js +202 -0
  167. package/lib/cjs/components/LessonCommentObject/Skeleton.d.ts +21 -0
  168. package/lib/cjs/components/LessonCommentObject/Skeleton.js +46 -0
  169. package/lib/cjs/components/LessonCommentObject/constants.d.ts +1 -0
  170. package/lib/cjs/components/LessonCommentObject/constants.js +4 -0
  171. package/lib/cjs/components/LessonCommentObject/index.d.ts +4 -0
  172. package/lib/cjs/components/LessonCommentObject/index.js +8 -0
  173. package/lib/cjs/components/LessonCommentObjects/LessonCommentObjects.d.ts +76 -0
  174. package/lib/cjs/components/LessonCommentObjects/LessonCommentObjects.js +185 -0
  175. package/lib/cjs/components/LessonCommentObjects/Skeleton.d.ts +23 -0
  176. package/lib/cjs/components/LessonCommentObjects/Skeleton.js +40 -0
  177. package/lib/cjs/components/LessonCommentObjects/constants.d.ts +1 -0
  178. package/lib/cjs/components/LessonCommentObjects/constants.js +4 -0
  179. package/lib/cjs/components/LessonCommentObjects/index.d.ts +4 -0
  180. package/lib/cjs/components/LessonCommentObjects/index.js +8 -0
  181. package/lib/cjs/components/LessonDrawer/LessonDrawer.d.ts +50 -0
  182. package/lib/cjs/components/LessonDrawer/LessonDrawer.js +37 -0
  183. package/lib/cjs/components/LessonDrawer/constants.d.ts +1 -0
  184. package/lib/cjs/components/LessonDrawer/constants.js +4 -0
  185. package/lib/cjs/components/LessonDrawer/index.d.ts +3 -0
  186. package/lib/cjs/components/LessonDrawer/index.js +5 -0
  187. package/lib/cjs/components/LessonEditForm/LessonEditForm.d.ts +24 -0
  188. package/lib/cjs/components/LessonEditForm/LessonEditForm.js +45 -0
  189. package/lib/cjs/components/LessonEditForm/constants.d.ts +1 -0
  190. package/lib/cjs/components/LessonEditForm/constants.js +4 -0
  191. package/lib/cjs/components/LessonEditForm/index.d.ts +3 -0
  192. package/lib/cjs/components/LessonEditForm/index.js +5 -0
  193. package/lib/cjs/components/LessonObject/LessonObject.d.ts +40 -0
  194. package/lib/cjs/components/LessonObject/LessonObject.js +70 -0
  195. package/lib/cjs/components/LessonObject/constants.d.ts +1 -0
  196. package/lib/cjs/components/LessonObject/constants.js +4 -0
  197. package/lib/cjs/components/LessonObject/index.d.ts +3 -0
  198. package/lib/cjs/components/LessonObject/index.js +5 -0
  199. package/lib/cjs/components/LessonReleaseMenu/LessonReleaseMenu.d.ts +26 -0
  200. package/lib/cjs/components/LessonReleaseMenu/LessonReleaseMenu.js +172 -0
  201. package/lib/cjs/components/LessonReleaseMenu/constants.d.ts +5 -0
  202. package/lib/cjs/components/LessonReleaseMenu/constants.js +9 -0
  203. package/lib/cjs/components/LessonReleaseMenu/index.d.ts +3 -0
  204. package/lib/cjs/components/LessonReleaseMenu/index.js +5 -0
  205. package/lib/cjs/components/NavigationMenuIconButton/DefaultDrawerContent.js +7 -5
  206. package/lib/cjs/components/NavigationToolbar/NavigationToolbar.js +12 -1
  207. package/lib/cjs/components/Notification/Course/Course.d.ts +15 -0
  208. package/lib/cjs/components/Notification/Course/Course.js +89 -0
  209. package/lib/cjs/components/Notification/Course/index.d.ts +3 -0
  210. package/lib/cjs/components/Notification/Course/index.js +5 -0
  211. package/lib/cjs/components/Notification/Course/utils.d.ts +5 -0
  212. package/lib/cjs/components/Notification/Course/utils.js +44 -0
  213. package/lib/cjs/components/Notification/Notification.js +9 -0
  214. package/lib/cjs/components/SnippetNotifications/SnippetNotifications.js +9 -0
  215. package/lib/cjs/components/TagAutocomplete/TagAutocomplete.js +2 -2
  216. package/lib/cjs/components/ToastNotifications/ToastNotifications.js +9 -0
  217. package/lib/cjs/components/UserCreatedCoursesWidget/Skeleton.d.ts +21 -0
  218. package/lib/cjs/components/UserCreatedCoursesWidget/Skeleton.js +43 -0
  219. package/lib/cjs/components/UserCreatedCoursesWidget/UserCreatedCoursesWidget.d.ts +63 -0
  220. package/lib/cjs/components/UserCreatedCoursesWidget/UserCreatedCoursesWidget.js +154 -0
  221. package/lib/cjs/components/UserCreatedCoursesWidget/constants.d.ts +1 -0
  222. package/lib/cjs/components/UserCreatedCoursesWidget/constants.js +4 -0
  223. package/lib/cjs/components/UserCreatedCoursesWidget/index.d.ts +4 -0
  224. package/lib/cjs/components/UserCreatedCoursesWidget/index.js +8 -0
  225. package/lib/cjs/constants/Course.d.ts +6 -0
  226. package/lib/cjs/constants/Course.js +10 -0
  227. package/lib/cjs/constants/PubSub.d.ts +14 -0
  228. package/lib/cjs/constants/PubSub.js +16 -1
  229. package/lib/cjs/index.d.ts +23 -2
  230. package/lib/cjs/index.js +60 -5
  231. package/lib/cjs/shared/AccordionLessons/AccordionLessons.d.ts +8 -0
  232. package/lib/cjs/shared/AccordionLessons/AccordionLessons.js +65 -0
  233. package/lib/cjs/shared/AccordionLessons/Skeleton.d.ts +1 -0
  234. package/lib/cjs/shared/AccordionLessons/Skeleton.js +21 -0
  235. package/lib/cjs/shared/AccordionLessons/constants.d.ts +1 -0
  236. package/lib/cjs/shared/AccordionLessons/constants.js +4 -0
  237. package/lib/cjs/shared/AccordionLessons/index.d.ts +4 -0
  238. package/lib/cjs/shared/AccordionLessons/index.js +8 -0
  239. package/lib/cjs/shared/AddUsersButton/AddUsersButton.d.ts +29 -0
  240. package/lib/cjs/shared/AddUsersButton/AddUsersButton.js +136 -0
  241. package/lib/cjs/shared/AddUsersButton/index.d.ts +3 -0
  242. package/lib/cjs/shared/AddUsersButton/index.js +5 -0
  243. package/lib/cjs/shared/CourseTypePopover/CourseTypePopover.d.ts +9 -0
  244. package/lib/cjs/shared/CourseTypePopover/CourseTypePopover.js +48 -0
  245. package/lib/cjs/shared/CourseTypePopover/index.d.ts +3 -0
  246. package/lib/cjs/shared/CourseTypePopover/index.js +5 -0
  247. package/lib/cjs/shared/CourseUsersTable/ChangeUsersStatus.d.ts +9 -0
  248. package/lib/cjs/shared/CourseUsersTable/ChangeUsersStatus.js +58 -0
  249. package/lib/cjs/shared/CourseUsersTable/CourseUsersTable.d.ts +21 -0
  250. package/lib/cjs/shared/CourseUsersTable/CourseUsersTable.js +155 -0
  251. package/lib/cjs/shared/CourseUsersTable/RemoveButton.d.ts +10 -0
  252. package/lib/cjs/shared/CourseUsersTable/RemoveButton.js +51 -0
  253. package/lib/cjs/shared/CourseUsersTable/RequestButton.d.ts +10 -0
  254. package/lib/cjs/shared/CourseUsersTable/RequestButton.js +79 -0
  255. package/lib/cjs/shared/CourseUsersTable/RowSkeleton.d.ts +8 -0
  256. package/lib/cjs/shared/CourseUsersTable/RowSkeleton.js +14 -0
  257. package/lib/cjs/shared/CourseUsersTable/SeeProgressButton.d.ts +9 -0
  258. package/lib/cjs/shared/CourseUsersTable/SeeProgressButton.js +56 -0
  259. package/lib/cjs/shared/CourseUsersTable/Skeleton.d.ts +1 -0
  260. package/lib/cjs/shared/CourseUsersTable/Skeleton.js +19 -0
  261. package/lib/cjs/shared/CourseUsersTable/constants.d.ts +1 -0
  262. package/lib/cjs/shared/CourseUsersTable/constants.js +4 -0
  263. package/lib/cjs/shared/CourseUsersTable/index.d.ts +4 -0
  264. package/lib/cjs/shared/CourseUsersTable/index.js +8 -0
  265. package/lib/cjs/shared/DateTimeAgo/index.d.ts +1 -1
  266. package/lib/cjs/shared/EmptyStatus/EmptyStatus.d.ts +11 -0
  267. package/lib/cjs/shared/EmptyStatus/EmptyStatus.js +26 -0
  268. package/lib/cjs/shared/EmptyStatus/index.d.ts +3 -0
  269. package/lib/cjs/shared/EmptyStatus/index.js +5 -0
  270. package/lib/cjs/shared/LessonCommentActionsMenu/index.d.ts +41 -0
  271. package/lib/cjs/shared/LessonCommentActionsMenu/index.js +197 -0
  272. package/lib/cjs/shared/LessonFilePreview/index.d.ts +12 -0
  273. package/lib/cjs/shared/LessonFilePreview/index.js +29 -0
  274. package/lib/cjs/shared/Media/Link/UrlTextField/index.js +2 -3
  275. package/lib/cjs/types/course.d.ts +40 -0
  276. package/lib/cjs/types/course.js +33 -0
  277. package/lib/cjs/types/index.d.ts +2 -1
  278. package/lib/cjs/types/index.js +6 -1
  279. package/lib/cjs/utils/course.d.ts +14 -0
  280. package/lib/cjs/utils/course.js +39 -0
  281. package/lib/esm/assets/courses/clapping.d.ts +1 -0
  282. package/lib/esm/assets/courses/clapping.js +1 -0
  283. package/lib/esm/components/BottomNavigation/BottomNavigation.js +17 -2
  284. package/lib/esm/components/CategoryAutocomplete/CategoryAutocomplete.js +6 -8
  285. package/lib/esm/components/CommentObject/CommentObject.d.ts +5 -0
  286. package/lib/esm/components/CommentObject/CommentObject.js +2 -2
  287. package/lib/esm/components/CommentObjectReply/CommentObjectReply.d.ts +24 -2
  288. package/lib/esm/components/CommentObjectReply/CommentObjectReply.js +18 -5
  289. package/lib/esm/components/Composer/Content/ContentLesson/ContentLesson.d.ts +38 -0
  290. package/lib/esm/components/Composer/Content/ContentLesson/ContentLesson.js +64 -0
  291. package/lib/esm/components/Composer/Content/ContentLesson/index.d.ts +3 -0
  292. package/lib/esm/components/Composer/Content/ContentLesson/index.js +2 -0
  293. package/lib/esm/components/Composer/Layer/AudienceLayer/AudienceLayer.js +2 -2
  294. package/lib/esm/components/ComposerIconButton/ComposerIconButton.d.ts +9 -3
  295. package/lib/esm/components/ComposerIconButton/ComposerIconButton.js +38 -9
  296. package/lib/esm/components/Course/Course.d.ts +92 -0
  297. package/lib/esm/components/Course/Course.js +182 -0
  298. package/lib/esm/components/Course/CreatePlaceholder.d.ts +39 -0
  299. package/lib/esm/components/Course/CreatePlaceholder.js +56 -0
  300. package/lib/esm/components/Course/Skeleton.d.ts +51 -0
  301. package/lib/esm/components/Course/Skeleton.js +74 -0
  302. package/lib/esm/components/Course/constants.d.ts +1 -0
  303. package/lib/esm/components/Course/constants.js +1 -0
  304. package/lib/esm/components/Course/index.d.ts +4 -0
  305. package/lib/esm/components/Course/index.js +4 -0
  306. package/lib/esm/components/CourseCompletedDialog/CourseCompletedDialog.d.ts +9 -0
  307. package/lib/esm/components/CourseCompletedDialog/CourseCompletedDialog.js +37 -0
  308. package/lib/esm/components/CourseCompletedDialog/index.d.ts +3 -0
  309. package/lib/esm/components/CourseCompletedDialog/index.js +2 -0
  310. package/lib/esm/components/CourseContentMenu/CourseContentMenu.d.ts +25 -0
  311. package/lib/esm/components/CourseContentMenu/CourseContentMenu.js +44 -0
  312. package/lib/esm/components/CourseContentMenu/constants.d.ts +1 -0
  313. package/lib/esm/components/CourseContentMenu/constants.js +1 -0
  314. package/lib/esm/components/CourseContentMenu/index.d.ts +3 -0
  315. package/lib/esm/components/CourseContentMenu/index.js +2 -0
  316. package/lib/esm/components/CourseDashboard/Header/Skeleton.d.ts +1 -0
  317. package/lib/esm/components/CourseDashboard/Header/Skeleton.js +13 -0
  318. package/lib/esm/components/CourseDashboard/Header.d.ts +9 -0
  319. package/lib/esm/components/CourseDashboard/Header.js +41 -0
  320. package/lib/esm/components/CourseDashboard/Student/ActionButton.d.ts +8 -0
  321. package/lib/esm/components/CourseDashboard/Student/ActionButton.js +13 -0
  322. package/lib/esm/components/CourseDashboard/Student/Skeleton.d.ts +1 -0
  323. package/lib/esm/components/CourseDashboard/Student/Skeleton.js +26 -0
  324. package/lib/esm/components/CourseDashboard/Student.d.ts +11 -0
  325. package/lib/esm/components/CourseDashboard/Student.js +201 -0
  326. package/lib/esm/components/CourseDashboard/Teacher/Comments.d.ts +9 -0
  327. package/lib/esm/components/CourseDashboard/Teacher/Comments.js +106 -0
  328. package/lib/esm/components/CourseDashboard/Teacher/Info.d.ts +11 -0
  329. package/lib/esm/components/CourseDashboard/Teacher/Info.js +16 -0
  330. package/lib/esm/components/CourseDashboard/Teacher/Skeleton.d.ts +1 -0
  331. package/lib/esm/components/CourseDashboard/Teacher/Skeleton.js +21 -0
  332. package/lib/esm/components/CourseDashboard/Teacher/Students.d.ts +10 -0
  333. package/lib/esm/components/CourseDashboard/Teacher/Students.js +68 -0
  334. package/lib/esm/components/CourseDashboard/Teacher.d.ts +11 -0
  335. package/lib/esm/components/CourseDashboard/Teacher.js +60 -0
  336. package/lib/esm/components/CourseDashboard/constants.d.ts +1 -0
  337. package/lib/esm/components/CourseDashboard/constants.js +1 -0
  338. package/lib/esm/components/CourseDashboard/index.d.ts +11 -0
  339. package/lib/esm/components/CourseDashboard/index.js +6 -0
  340. package/lib/esm/components/CourseDashboard/types.d.ts +8 -0
  341. package/lib/esm/components/CourseDashboard/types.js +10 -0
  342. package/lib/esm/components/CourseForm/CourseForm.d.ts +74 -0
  343. package/lib/esm/components/CourseForm/CourseForm.js +270 -0
  344. package/lib/esm/components/CourseForm/Dialog.d.ts +8 -0
  345. package/lib/esm/components/CourseForm/Dialog.js +16 -0
  346. package/lib/esm/components/CourseForm/Edit.d.ts +24 -0
  347. package/lib/esm/components/CourseForm/Edit.js +50 -0
  348. package/lib/esm/components/CourseForm/Skeleton.d.ts +1 -0
  349. package/lib/esm/components/CourseForm/Skeleton.js +14 -0
  350. package/lib/esm/components/CourseForm/UploadCourseCover.d.ts +45 -0
  351. package/lib/esm/components/CourseForm/UploadCourseCover.js +91 -0
  352. package/lib/esm/components/CourseForm/constants.d.ts +1 -0
  353. package/lib/esm/components/CourseForm/constants.js +1 -0
  354. package/lib/esm/components/CourseForm/index.d.ts +4 -0
  355. package/lib/esm/components/CourseForm/index.js +4 -0
  356. package/lib/esm/components/CourseFormDialog/CourseFormDialog.d.ts +48 -0
  357. package/lib/esm/components/CourseFormDialog/CourseFormDialog.js +64 -0
  358. package/lib/esm/components/CourseFormDialog/constants.d.ts +1 -0
  359. package/lib/esm/components/CourseFormDialog/constants.js +1 -0
  360. package/lib/esm/components/CourseFormDialog/index.d.ts +3 -0
  361. package/lib/esm/components/CourseFormDialog/index.js +2 -0
  362. package/lib/esm/components/CourseJoinButton/CourseJoinButton.d.ts +56 -0
  363. package/lib/esm/components/CourseJoinButton/CourseJoinButton.js +145 -0
  364. package/lib/esm/components/CourseJoinButton/index.d.ts +3 -0
  365. package/lib/esm/components/CourseJoinButton/index.js +2 -0
  366. package/lib/esm/components/CourseParticipantsButton/CourseParticipantsButton.d.ts +53 -0
  367. package/lib/esm/components/CourseParticipantsButton/CourseParticipantsButton.js +147 -0
  368. package/lib/esm/components/CourseParticipantsButton/index.d.ts +3 -0
  369. package/lib/esm/components/CourseParticipantsButton/index.js +2 -0
  370. package/lib/esm/components/Courses/Courses.d.ts +100 -0
  371. package/lib/esm/components/Courses/Courses.js +233 -0
  372. package/lib/esm/components/Courses/Skeleton.d.ts +54 -0
  373. package/lib/esm/components/Courses/Skeleton.js +42 -0
  374. package/lib/esm/components/Courses/constants.d.ts +1 -0
  375. package/lib/esm/components/Courses/constants.js +1 -0
  376. package/lib/esm/components/Courses/index.d.ts +4 -0
  377. package/lib/esm/components/Courses/index.js +4 -0
  378. package/lib/esm/components/Courses/prefetchedCourses.d.ts +81 -0
  379. package/lib/esm/components/Courses/prefetchedCourses.js +183 -0
  380. package/lib/esm/components/CreateCourseButton/CreateCourseButton.d.ts +38 -0
  381. package/lib/esm/components/CreateCourseButton/CreateCourseButton.js +78 -0
  382. package/lib/esm/components/CreateCourseButton/index.d.ts +3 -0
  383. package/lib/esm/components/CreateCourseButton/index.js +2 -0
  384. package/lib/esm/components/EditCourse/Customize.d.ts +9 -0
  385. package/lib/esm/components/EditCourse/Customize.js +28 -0
  386. package/lib/esm/components/EditCourse/EditCourse.d.ts +13 -0
  387. package/lib/esm/components/EditCourse/EditCourse.js +107 -0
  388. package/lib/esm/components/EditCourse/Lessons/AddButton.d.ts +9 -0
  389. package/lib/esm/components/EditCourse/Lessons/AddButton.js +27 -0
  390. package/lib/esm/components/EditCourse/Lessons/ChangeLessonStatus.d.ts +13 -0
  391. package/lib/esm/components/EditCourse/Lessons/ChangeLessonStatus.js +89 -0
  392. package/lib/esm/components/EditCourse/Lessons/FieldName.d.ts +15 -0
  393. package/lib/esm/components/EditCourse/Lessons/FieldName.js +80 -0
  394. package/lib/esm/components/EditCourse/Lessons/LessonRow.d.ts +15 -0
  395. package/lib/esm/components/EditCourse/Lessons/LessonRow.js +65 -0
  396. package/lib/esm/components/EditCourse/Lessons/SectionRow.d.ts +14 -0
  397. package/lib/esm/components/EditCourse/Lessons/SectionRow.js +155 -0
  398. package/lib/esm/components/EditCourse/Lessons/Skeleton.d.ts +1 -0
  399. package/lib/esm/components/EditCourse/Lessons/Skeleton.js +17 -0
  400. package/lib/esm/components/EditCourse/Lessons.d.ts +11 -0
  401. package/lib/esm/components/EditCourse/Lessons.js +193 -0
  402. package/lib/esm/components/EditCourse/MenuRow.d.ts +9 -0
  403. package/lib/esm/components/EditCourse/MenuRow.js +22 -0
  404. package/lib/esm/components/EditCourse/Options/Skeleton.d.ts +1 -0
  405. package/lib/esm/components/EditCourse/Options/Skeleton.js +12 -0
  406. package/lib/esm/components/EditCourse/Options/SwitchForm.d.ts +11 -0
  407. package/lib/esm/components/EditCourse/Options/SwitchForm.js +18 -0
  408. package/lib/esm/components/EditCourse/Options.d.ts +9 -0
  409. package/lib/esm/components/EditCourse/Options.js +93 -0
  410. package/lib/esm/components/EditCourse/Requests.d.ts +12 -0
  411. package/lib/esm/components/EditCourse/Requests.js +94 -0
  412. package/lib/esm/components/EditCourse/Skeleton.d.ts +8 -0
  413. package/lib/esm/components/EditCourse/Skeleton.js +25 -0
  414. package/lib/esm/components/EditCourse/Status.d.ts +9 -0
  415. package/lib/esm/components/EditCourse/Status.js +29 -0
  416. package/lib/esm/components/EditCourse/Users/Skeleton.d.ts +1 -0
  417. package/lib/esm/components/EditCourse/Users/Skeleton.js +12 -0
  418. package/lib/esm/components/EditCourse/Users.d.ts +11 -0
  419. package/lib/esm/components/EditCourse/Users.js +137 -0
  420. package/lib/esm/components/EditCourse/constants.d.ts +1 -0
  421. package/lib/esm/components/EditCourse/constants.js +1 -0
  422. package/lib/esm/components/EditCourse/hooks.d.ts +3 -0
  423. package/lib/esm/components/EditCourse/hooks.js +17 -0
  424. package/lib/esm/components/EditCourse/index.d.ts +4 -0
  425. package/lib/esm/components/EditCourse/index.js +4 -0
  426. package/lib/esm/components/EditCourse/types.d.ts +29 -0
  427. package/lib/esm/components/EditCourse/types.js +16 -0
  428. package/lib/esm/components/Editor/Editor.d.ts +37 -0
  429. package/lib/esm/components/Editor/Editor.js +7 -4
  430. package/lib/esm/components/Editor/plugins/EmojiPlugin.d.ts +3 -1
  431. package/lib/esm/components/Editor/plugins/EmojiPlugin.js +4 -10
  432. package/lib/esm/components/Editor/plugins/MediaPlugin.d.ts +14 -0
  433. package/lib/esm/components/Editor/plugins/MediaPlugin.js +117 -0
  434. package/lib/esm/components/Editor/plugins/ToolbarPlugin.d.ts +5 -0
  435. package/lib/esm/components/Editor/plugins/ToolbarPlugin.js +3 -2
  436. package/lib/esm/components/Editor/plugins/index.d.ts +2 -1
  437. package/lib/esm/components/Editor/plugins/index.js +2 -1
  438. package/lib/esm/components/EventForm/EventForm.js +1 -1
  439. package/lib/esm/components/LessonAppbar/LessonAppbar.d.ts +42 -0
  440. package/lib/esm/components/LessonAppbar/LessonAppbar.js +31 -0
  441. package/lib/esm/components/LessonAppbar/constants.d.ts +1 -0
  442. package/lib/esm/components/LessonAppbar/constants.js +1 -0
  443. package/lib/esm/components/LessonAppbar/index.d.ts +3 -0
  444. package/lib/esm/components/LessonAppbar/index.js +2 -0
  445. package/lib/esm/components/LessonCommentObject/LessonCommentObject.d.ts +94 -0
  446. package/lib/esm/components/LessonCommentObject/LessonCommentObject.js +199 -0
  447. package/lib/esm/components/LessonCommentObject/Skeleton.d.ts +21 -0
  448. package/lib/esm/components/LessonCommentObject/Skeleton.js +43 -0
  449. package/lib/esm/components/LessonCommentObject/constants.d.ts +1 -0
  450. package/lib/esm/components/LessonCommentObject/constants.js +1 -0
  451. package/lib/esm/components/LessonCommentObject/index.d.ts +4 -0
  452. package/lib/esm/components/LessonCommentObject/index.js +4 -0
  453. package/lib/esm/components/LessonCommentObjects/LessonCommentObjects.d.ts +76 -0
  454. package/lib/esm/components/LessonCommentObjects/LessonCommentObjects.js +182 -0
  455. package/lib/esm/components/LessonCommentObjects/Skeleton.d.ts +23 -0
  456. package/lib/esm/components/LessonCommentObjects/Skeleton.js +37 -0
  457. package/lib/esm/components/LessonCommentObjects/constants.d.ts +1 -0
  458. package/lib/esm/components/LessonCommentObjects/constants.js +1 -0
  459. package/lib/esm/components/LessonCommentObjects/index.d.ts +4 -0
  460. package/lib/esm/components/LessonCommentObjects/index.js +4 -0
  461. package/lib/esm/components/LessonDrawer/LessonDrawer.d.ts +50 -0
  462. package/lib/esm/components/LessonDrawer/LessonDrawer.js +34 -0
  463. package/lib/esm/components/LessonDrawer/constants.d.ts +1 -0
  464. package/lib/esm/components/LessonDrawer/constants.js +1 -0
  465. package/lib/esm/components/LessonDrawer/index.d.ts +3 -0
  466. package/lib/esm/components/LessonDrawer/index.js +2 -0
  467. package/lib/esm/components/LessonEditForm/LessonEditForm.d.ts +24 -0
  468. package/lib/esm/components/LessonEditForm/LessonEditForm.js +42 -0
  469. package/lib/esm/components/LessonEditForm/constants.d.ts +1 -0
  470. package/lib/esm/components/LessonEditForm/constants.js +1 -0
  471. package/lib/esm/components/LessonEditForm/index.d.ts +3 -0
  472. package/lib/esm/components/LessonEditForm/index.js +2 -0
  473. package/lib/esm/components/LessonObject/LessonObject.d.ts +40 -0
  474. package/lib/esm/components/LessonObject/LessonObject.js +67 -0
  475. package/lib/esm/components/LessonObject/constants.d.ts +1 -0
  476. package/lib/esm/components/LessonObject/constants.js +1 -0
  477. package/lib/esm/components/LessonObject/index.d.ts +3 -0
  478. package/lib/esm/components/LessonObject/index.js +2 -0
  479. package/lib/esm/components/LessonReleaseMenu/LessonReleaseMenu.d.ts +26 -0
  480. package/lib/esm/components/LessonReleaseMenu/LessonReleaseMenu.js +169 -0
  481. package/lib/esm/components/LessonReleaseMenu/constants.d.ts +5 -0
  482. package/lib/esm/components/LessonReleaseMenu/constants.js +6 -0
  483. package/lib/esm/components/LessonReleaseMenu/index.d.ts +3 -0
  484. package/lib/esm/components/LessonReleaseMenu/index.js +2 -0
  485. package/lib/esm/components/NavigationMenuIconButton/DefaultDrawerContent.js +9 -7
  486. package/lib/esm/components/NavigationToolbar/NavigationToolbar.js +12 -1
  487. package/lib/esm/components/Notification/Course/Course.d.ts +15 -0
  488. package/lib/esm/components/Notification/Course/Course.js +86 -0
  489. package/lib/esm/components/Notification/Course/index.d.ts +3 -0
  490. package/lib/esm/components/Notification/Course/index.js +2 -0
  491. package/lib/esm/components/Notification/Course/utils.d.ts +5 -0
  492. package/lib/esm/components/Notification/Course/utils.js +39 -0
  493. package/lib/esm/components/Notification/Notification.js +9 -0
  494. package/lib/esm/components/SnippetNotifications/SnippetNotifications.js +9 -0
  495. package/lib/esm/components/TagAutocomplete/TagAutocomplete.js +2 -2
  496. package/lib/esm/components/ToastNotifications/ToastNotifications.js +9 -0
  497. package/lib/esm/components/UserCreatedCoursesWidget/Skeleton.d.ts +21 -0
  498. package/lib/esm/components/UserCreatedCoursesWidget/Skeleton.js +39 -0
  499. package/lib/esm/components/UserCreatedCoursesWidget/UserCreatedCoursesWidget.d.ts +63 -0
  500. package/lib/esm/components/UserCreatedCoursesWidget/UserCreatedCoursesWidget.js +151 -0
  501. package/lib/esm/components/UserCreatedCoursesWidget/constants.d.ts +1 -0
  502. package/lib/esm/components/UserCreatedCoursesWidget/constants.js +1 -0
  503. package/lib/esm/components/UserCreatedCoursesWidget/index.d.ts +4 -0
  504. package/lib/esm/components/UserCreatedCoursesWidget/index.js +4 -0
  505. package/lib/esm/constants/Course.d.ts +6 -0
  506. package/lib/esm/constants/Course.js +7 -0
  507. package/lib/esm/constants/PubSub.d.ts +14 -0
  508. package/lib/esm/constants/PubSub.js +15 -0
  509. package/lib/esm/index.d.ts +23 -2
  510. package/lib/esm/index.js +26 -5
  511. package/lib/esm/shared/AccordionLessons/AccordionLessons.d.ts +8 -0
  512. package/lib/esm/shared/AccordionLessons/AccordionLessons.js +61 -0
  513. package/lib/esm/shared/AccordionLessons/Skeleton.d.ts +1 -0
  514. package/lib/esm/shared/AccordionLessons/Skeleton.js +18 -0
  515. package/lib/esm/shared/AccordionLessons/constants.d.ts +1 -0
  516. package/lib/esm/shared/AccordionLessons/constants.js +1 -0
  517. package/lib/esm/shared/AccordionLessons/index.d.ts +4 -0
  518. package/lib/esm/shared/AccordionLessons/index.js +4 -0
  519. package/lib/esm/shared/AddUsersButton/AddUsersButton.d.ts +29 -0
  520. package/lib/esm/shared/AddUsersButton/AddUsersButton.js +134 -0
  521. package/lib/esm/shared/AddUsersButton/index.d.ts +3 -0
  522. package/lib/esm/shared/AddUsersButton/index.js +2 -0
  523. package/lib/esm/shared/CourseTypePopover/CourseTypePopover.d.ts +9 -0
  524. package/lib/esm/shared/CourseTypePopover/CourseTypePopover.js +45 -0
  525. package/lib/esm/shared/CourseTypePopover/index.d.ts +3 -0
  526. package/lib/esm/shared/CourseTypePopover/index.js +2 -0
  527. package/lib/esm/shared/CourseUsersTable/ChangeUsersStatus.d.ts +9 -0
  528. package/lib/esm/shared/CourseUsersTable/ChangeUsersStatus.js +56 -0
  529. package/lib/esm/shared/CourseUsersTable/CourseUsersTable.d.ts +21 -0
  530. package/lib/esm/shared/CourseUsersTable/CourseUsersTable.js +152 -0
  531. package/lib/esm/shared/CourseUsersTable/RemoveButton.d.ts +10 -0
  532. package/lib/esm/shared/CourseUsersTable/RemoveButton.js +48 -0
  533. package/lib/esm/shared/CourseUsersTable/RequestButton.d.ts +10 -0
  534. package/lib/esm/shared/CourseUsersTable/RequestButton.js +76 -0
  535. package/lib/esm/shared/CourseUsersTable/RowSkeleton.d.ts +8 -0
  536. package/lib/esm/shared/CourseUsersTable/RowSkeleton.js +11 -0
  537. package/lib/esm/shared/CourseUsersTable/SeeProgressButton.d.ts +9 -0
  538. package/lib/esm/shared/CourseUsersTable/SeeProgressButton.js +53 -0
  539. package/lib/esm/shared/CourseUsersTable/Skeleton.d.ts +1 -0
  540. package/lib/esm/shared/CourseUsersTable/Skeleton.js +15 -0
  541. package/lib/esm/shared/CourseUsersTable/constants.d.ts +1 -0
  542. package/lib/esm/shared/CourseUsersTable/constants.js +1 -0
  543. package/lib/esm/shared/CourseUsersTable/index.d.ts +4 -0
  544. package/lib/esm/shared/CourseUsersTable/index.js +4 -0
  545. package/lib/esm/shared/DateTimeAgo/index.d.ts +1 -1
  546. package/lib/esm/shared/EmptyStatus/EmptyStatus.d.ts +11 -0
  547. package/lib/esm/shared/EmptyStatus/EmptyStatus.js +23 -0
  548. package/lib/esm/shared/EmptyStatus/index.d.ts +3 -0
  549. package/lib/esm/shared/EmptyStatus/index.js +2 -0
  550. package/lib/esm/shared/LessonCommentActionsMenu/index.d.ts +41 -0
  551. package/lib/esm/shared/LessonCommentActionsMenu/index.js +194 -0
  552. package/lib/esm/shared/LessonFilePreview/index.d.ts +12 -0
  553. package/lib/esm/shared/LessonFilePreview/index.js +25 -0
  554. package/lib/esm/shared/Media/Link/UrlTextField/index.js +3 -4
  555. package/lib/esm/types/course.d.ts +40 -0
  556. package/lib/esm/types/course.js +30 -0
  557. package/lib/esm/types/index.d.ts +2 -1
  558. package/lib/esm/types/index.js +2 -1
  559. package/lib/esm/utils/course.d.ts +14 -0
  560. package/lib/esm/utils/course.js +32 -0
  561. package/lib/umd/578.js +2 -0
  562. package/lib/umd/60a7fdeaadfe844bc015.woff2 +0 -0
  563. package/lib/umd/assets/icons.svg +9 -3
  564. package/lib/umd/{c3528e120c4e831db2ae.woff → b6dbec3d5816ff8baef1.woff} +0 -0
  565. package/lib/umd/{a221d3aba0f6753cfbb7.ttf → ba74e493633796d551d1.ttf} +0 -0
  566. package/lib/umd/{2aa155858f48b8f3911a.eot → c473ce30406a3dad83e1.eot} +0 -0
  567. package/lib/umd/react-ui.js +1 -1
  568. package/package.json +9 -8
  569. package/lib/umd/239.js +0 -2
  570. package/lib/umd/36f3af7f155d916c26ff.woff2 +0 -0
  571. /package/lib/umd/{239.js.LICENSE.txt → 578.js.LICENSE.txt} +0 -0
@@ -0,0 +1,117 @@
1
+ import { __rest } from "tslib";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { forwardRef, useEffect, useState } from 'react';
4
+ import { COMMAND_PRIORITY_EDITOR, createCommand } from 'lexical';
5
+ import { $insertNodeToNearestRoot } from '@lexical/utils';
6
+ import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
7
+ import { Box, CircularProgress, Icon, IconButton } from '@mui/material';
8
+ import { styled } from '@mui/material/styles';
9
+ import ChunkedUploady from '@rpldy/chunked-uploady';
10
+ import { Endpoints } from '@selfcommunity/api-services';
11
+ import { useSCContext, useSCUser } from '@selfcommunity/react-core';
12
+ import MediaChunkUploader from '../../../shared/MediaChunkUploader';
13
+ import { asUploadButton } from '@rpldy/upload-button';
14
+ import { useSnackbar } from 'notistack';
15
+ import { $createImageNode, ImageNode } from '../nodes/ImageNode';
16
+ import { PREFIX } from '../constants';
17
+ import { INSERT_IMAGE_COMMAND } from './ImagePlugin';
18
+ import classNames from 'classnames';
19
+ export const INSERT_DOC_COMMAND = createCommand();
20
+ const UploadButton = asUploadButton(forwardRef((_a, ref) => {
21
+ var { progress = null } = _a, rest = __rest(_a, ["progress"]);
22
+ return (_jsx(IconButton, Object.assign({}, rest, { "aria-label": "upload image", ref: ref }, { children: progress ? _jsx(CircularProgress, { variant: "determinate", value: progress, size: "1rem" }) : _jsx(Icon, Object.assign({ color: "inherit" }, { children: "attach_file" })) })));
23
+ }));
24
+ const classes = {
25
+ root: `${PREFIX}-media-plugin-root`
26
+ };
27
+ const Root = styled(Box, {
28
+ name: PREFIX,
29
+ slot: 'MediaPluginRoot'
30
+ })(() => ({}));
31
+ export default function MediaPlugin(props) {
32
+ var _a;
33
+ const { className = '', onMediaAdd = null, isUploading } = props;
34
+ // STATE
35
+ const [uploading, setUploading] = useState({});
36
+ const [mediaType, setMediaType] = useState('');
37
+ const [editor] = useLexicalComposerContext();
38
+ // CONTEXT
39
+ const scContext = useSCContext();
40
+ const scUserContext = useSCUser();
41
+ // HOOKS
42
+ const { enqueueSnackbar } = useSnackbar();
43
+ useEffect(() => {
44
+ // eslint-disable-next-line @typescript-eslint/ban-ts-ignore
45
+ // @ts-ignore
46
+ if (!editor.hasNodes([ImageNode])) {
47
+ return;
48
+ }
49
+ return editor.registerCommand(INSERT_IMAGE_COMMAND, (payload) => {
50
+ const imageNode = $createImageNode({
51
+ src: payload.src,
52
+ altText: payload.altText,
53
+ maxWidth: '100%',
54
+ width: payload.width,
55
+ height: payload.height
56
+ });
57
+ // The image is not editable so it is better to position it near the root element
58
+ $insertNodeToNearestRoot(imageNode);
59
+ return true;
60
+ }, COMMAND_PRIORITY_EDITOR);
61
+ }, [editor]);
62
+ // HANDLERS
63
+ const handleFileUploadFilter = (file) => {
64
+ if (file.type.startsWith('image/')) {
65
+ setMediaType('image');
66
+ }
67
+ else {
68
+ setMediaType('file');
69
+ }
70
+ return file.type.startsWith('image/') || file.type.startsWith('application/');
71
+ };
72
+ const handleUploadSuccess = (media) => {
73
+ if (media.type === 'image') {
74
+ const data = {
75
+ altText: media.title,
76
+ src: media.image,
77
+ width: media.image_width,
78
+ height: media.image_height
79
+ };
80
+ editor.focus();
81
+ editor.dispatchCommand(INSERT_IMAGE_COMMAND, data);
82
+ }
83
+ else {
84
+ const data = {
85
+ src: media.url || media.image,
86
+ name: media.title,
87
+ type: media.type
88
+ };
89
+ editor.focus();
90
+ editor.dispatchCommand(INSERT_DOC_COMMAND, data);
91
+ onMediaAdd && onMediaAdd(media);
92
+ }
93
+ };
94
+ const handleUploadProgress = (chunks) => {
95
+ setUploading(Object.assign({}, chunks));
96
+ isUploading && isUploading(Object.keys(chunks).length !== 0);
97
+ };
98
+ const handleUploadError = (chunk, error) => {
99
+ enqueueSnackbar(error, {
100
+ variant: 'error',
101
+ autoHideDuration: 3000
102
+ });
103
+ };
104
+ // eslint-disable-next-line @typescript-eslint/ban-ts-ignore
105
+ // @ts-ignore
106
+ if (!scUserContext.user || !editor.hasNodes([ImageNode])) {
107
+ return null;
108
+ }
109
+ return (_jsx(Root, Object.assign({ className: classNames(classes.root, className) }, { children: _jsxs(ChunkedUploady, Object.assign({ destination: {
110
+ url: `${scContext.settings.portal}${Endpoints.ComposerChunkUploadMedia.url()}`,
111
+ headers: ((_a = scContext.settings.session) === null || _a === void 0 ? void 0 : _a.authToken) ? { Authorization: `Bearer ${scContext.settings.session.authToken.accessToken}` } : {},
112
+ method: Endpoints.ComposerChunkUploadMedia.method
113
+ }, chunkSize: 204800, accept: "image/*,application/*", fileFilter: handleFileUploadFilter, multiple: true }, { children: [_jsx(MediaChunkUploader, { type: mediaType, onSuccess: handleUploadSuccess, onProgress: handleUploadProgress, onError: handleUploadError }), _jsx(UploadButton, { className: className, extraProps: {
114
+ disabled: Object.keys(uploading).length !== 0,
115
+ progress: Object.keys(uploading).length !== 0 ? Object.values(uploading)[0].completed : null
116
+ } })] })) })));
117
+ }
@@ -5,7 +5,12 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  */
8
+ import * as React from 'react';
9
+ import { MediaPluginProps } from './MediaPlugin';
8
10
  export interface ToolbarPluginProps {
9
11
  uploadImage: boolean;
12
+ uploadFile?: boolean;
13
+ MediaPluginProps?: MediaPluginProps;
14
+ customLink?: React.ReactNode;
10
15
  }
11
16
  export default function ToolbarPlugin(inProps: ToolbarPluginProps): JSX.Element;
@@ -19,6 +19,7 @@ import ImagePlugin from './ImagePlugin';
19
19
  import EmojiPlugin from './EmojiPlugin';
20
20
  import { INSERT_HORIZONTAL_RULE_COMMAND } from '@lexical/react/LexicalHorizontalRuleNode';
21
21
  import { PREFIX } from '../constants';
22
+ import MediaPlugin from './MediaPlugin';
22
23
  const blockTypeToBlockIcon = {
23
24
  h1: 'format_heading_1',
24
25
  h2: 'format_heading_2',
@@ -125,7 +126,7 @@ export default function ToolbarPlugin(inProps) {
125
126
  props: inProps,
126
127
  name: PREFIX
127
128
  });
128
- const { uploadImage = false } = props;
129
+ const { uploadImage = false, uploadFile = false, MediaPluginProps = {}, customLink = null } = props;
129
130
  // STATE
130
131
  const [editor] = useLexicalComposerContext();
131
132
  const [activeEditor, setActiveEditor] = useState(editor);
@@ -268,5 +269,5 @@ export default function ToolbarPlugin(inProps) {
268
269
  activeEditor.dispatchCommand(FORMAT_TEXT_COMMAND, format);
269
270
  } }, { children: _jsx(Tooltip, Object.assign({ title: _jsx(FormattedMessage, { id: `ui.editor.toolbarPlugin.${format}`, defaultMessage: `ui.editor.toolbarPlugin.${format}` }) }, { children: _jsx(Icon, { children: `format_${format}` }) })) }), format))) })), _jsx(IconButton, Object.assign({ disabled: !isEditable, onClick: clearFormatting }, { children: _jsx(Tooltip, Object.assign({ title: _jsx(FormattedMessage, { id: "ui.editor.toolbarPlugin.clear", defaultMessage: "ui.editor.toolbarPlugin.clear" }) }, { children: _jsx(Icon, { children: "format_clear" }) })) })), _jsx(IconButton, Object.assign({ disabled: !isEditable, onClick: () => {
270
271
  activeEditor.dispatchCommand(INSERT_HORIZONTAL_RULE_COMMAND, undefined);
271
- } }, { children: _jsx(Tooltip, Object.assign({ title: _jsx(FormattedMessage, { id: "ui.editor.toolbarPlugin.horizontalRule", defaultMessage: "ui.editor.toolbarPlugin.horizontalRule" }) }, { children: _jsx(Icon, { children: "format_horizontal_rule" }) })) })), uploadImage && _jsx(ImagePlugin, {}), _jsx(IconButton, Object.assign({ disabled: !isEditable, onClick: insertLink }, { children: _jsx(Tooltip, Object.assign({ title: _jsx(FormattedMessage, { id: "ui.editor.toolbarPlugin.link", defaultMessage: "ui.editor.toolbarPlugin.link" }) }, { children: _jsx(Icon, { children: "format_link" }) })) })), _jsx(EmojiPlugin, {})] })));
272
+ } }, { children: _jsx(Tooltip, Object.assign({ title: _jsx(FormattedMessage, { id: "ui.editor.toolbarPlugin.horizontalRule", defaultMessage: "ui.editor.toolbarPlugin.horizontalRule" }) }, { children: _jsx(Icon, { children: "format_horizontal_rule" }) })) })), uploadImage && _jsx(ImagePlugin, {}), uploadFile && _jsx(MediaPlugin, Object.assign({}, MediaPluginProps)), customLink !== null && customLink !== void 0 ? customLink : (_jsx(IconButton, Object.assign({ disabled: !isEditable, onClick: insertLink }, { children: _jsx(Tooltip, Object.assign({ title: _jsx(FormattedMessage, { id: "ui.editor.toolbarPlugin.link", defaultMessage: "ui.editor.toolbarPlugin.link" }) }, { children: _jsx(Icon, { children: "format_link" }) })) }))), _jsx(EmojiPlugin, {})] })));
272
273
  }
@@ -5,4 +5,5 @@ import ImagePlugin from './ImagePlugin';
5
5
  import MentionsPlugin from './MentionsPlugin';
6
6
  import OnChangePlugin from './OnChangePlugin';
7
7
  import HashtagPlugin from './HashtagPlugin';
8
- export { AutoLinkPlugin, DefaultHtmlValuePlugin, EmojiPlugin, ImagePlugin, MentionsPlugin, OnChangePlugin, HashtagPlugin };
8
+ import MediaPlugin, { MediaPluginProps } from './MediaPlugin';
9
+ export { AutoLinkPlugin, DefaultHtmlValuePlugin, EmojiPlugin, ImagePlugin, MentionsPlugin, OnChangePlugin, HashtagPlugin, MediaPlugin, MediaPluginProps };
@@ -5,4 +5,5 @@ import ImagePlugin from './ImagePlugin';
5
5
  import MentionsPlugin from './MentionsPlugin';
6
6
  import OnChangePlugin from './OnChangePlugin';
7
7
  import HashtagPlugin from './HashtagPlugin';
8
- export { AutoLinkPlugin, DefaultHtmlValuePlugin, EmojiPlugin, ImagePlugin, MentionsPlugin, OnChangePlugin, HashtagPlugin };
8
+ import MediaPlugin from './MediaPlugin';
9
+ export { AutoLinkPlugin, DefaultHtmlValuePlugin, EmojiPlugin, ImagePlugin, MentionsPlugin, OnChangePlugin, HashtagPlugin, MediaPlugin };
@@ -286,7 +286,7 @@ export default function EventForm(inProps) {
286
286
  }
287
287
  let __errors = {};
288
288
  if ('coverError' in _error) {
289
- __errors = Object.assign(Object.assign({}, __errors), { ['coverError']: _jsx(FormattedMessage, { id: "ui.ui.eventForm.cover.error", defaultMessage: "ui.ui.eventForm.cover.error" }) });
289
+ __errors = Object.assign(Object.assign({}, __errors), { ['coverError']: _jsx(FormattedMessage, { id: "ui.eventForm.cover.error", defaultMessage: "ui.eventForm.cover.error" }) });
290
290
  }
291
291
  if ('nameError' in _error || ('nonFieldErrorsError' in _error && _error['nonFieldErrorsError'].error === 'unique')) {
292
292
  __errors = Object.assign(Object.assign({}, __errors), { ['nameError']: _jsx(FormattedMessage, { id: "ui.eventForm.name.error.unique", defaultMessage: "ui.eventForm.name.error.unique" }) });
@@ -0,0 +1,42 @@
1
+ import { SCLessonActionsType } from '../../types';
2
+ export interface LessonAppbarProps {
3
+ /**
4
+ * The appbar title
5
+ */
6
+ title: string;
7
+ /**
8
+ * If comments are enabled for the lesson showed
9
+ */
10
+ showComments: boolean;
11
+ /**
12
+ * The edit mode
13
+ * @default false
14
+ */
15
+ editMode: boolean;
16
+ /**
17
+ * onArrowBack Callback
18
+ */
19
+ onArrowBackClick?: () => void;
20
+ /**
21
+ * onSaveCallback
22
+ */
23
+ onSave: () => void;
24
+ /**
25
+ * The active panel
26
+ */
27
+ activePanel: SCLessonActionsType | null;
28
+ /**
29
+ * Handles panel opening
30
+ * @param panel
31
+ */
32
+ handleOpen: (panel: SCLessonActionsType) => void;
33
+ /**
34
+ * Indicates whether an update is currently in progress.
35
+ */
36
+ updating: boolean;
37
+ /**
38
+ * Any other properties
39
+ */
40
+ [p: string]: any;
41
+ }
42
+ export default function LessonAppbar(inProps: LessonAppbarProps): JSX.Element;
@@ -0,0 +1,31 @@
1
+ import { __rest } from "tslib";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { styled } from '@mui/material/styles';
4
+ import { useThemeProps } from '@mui/system';
5
+ import classNames from 'classnames';
6
+ import { AppBar, Icon, IconButton, Toolbar, Typography, Box } from '@mui/material';
7
+ import { PREFIX } from './constants';
8
+ import { SCLessonActionsType } from '../../types';
9
+ import { FormattedMessage } from 'react-intl';
10
+ import { LoadingButton } from '@mui/lab';
11
+ const classes = {
12
+ root: `${PREFIX}-root`,
13
+ startItems: `${PREFIX}-start-items`,
14
+ endItems: `${PREFIX}-end-items`,
15
+ title: `${PREFIX}-title`
16
+ };
17
+ const Root = styled(AppBar, {
18
+ name: PREFIX,
19
+ slot: 'Root',
20
+ overridesResolver: (props, styles) => [styles.root],
21
+ shouldForwardProp: (prop) => prop !== 'open'
22
+ })(({ theme }) => ({}));
23
+ export default function LessonAppbar(inProps) {
24
+ // PROPS
25
+ const props = useThemeProps({
26
+ props: inProps,
27
+ name: PREFIX
28
+ });
29
+ const { className = null, title = '', showComments, activePanel = null, handleOpen, onSave, editMode, onArrowBackClick, updating } = props, rest = __rest(props, ["className", "title", "showComments", "activePanel", "handleOpen", "onSave", "editMode", "onArrowBackClick", "updating"]);
30
+ return (_jsx(Root, Object.assign({ position: "fixed", open: Boolean(activePanel), className: classNames(classes.root, className) }, rest, { children: _jsxs(Toolbar, { children: [_jsxs(Box, Object.assign({ className: classes.startItems }, { children: [_jsx(IconButton, Object.assign({ edge: "start", onClick: onArrowBackClick }, { children: _jsx(Icon, { children: "arrow_back" }) })), _jsx(Typography, Object.assign({ variant: "h6", className: classes.title }, { children: title }))] })), editMode ? (_jsxs(_Fragment, { children: [_jsx(IconButton, Object.assign({ onClick: () => handleOpen(SCLessonActionsType.SETTINGS), color: "primary" }, { children: _jsx(Icon, { children: "settings" }) })), _jsx(LoadingButton, Object.assign({ variant: "contained", size: "small", onClick: onSave, loading: updating }, { children: _jsx(FormattedMessage, { id: "ui.lessonAppbar.button.save", defaultMessage: "ui.lessonAppbar.button.save" }) }))] })) : (_jsxs(Box, Object.assign({ className: classes.endItems }, { children: [showComments && (_jsx(IconButton, Object.assign({ onClick: () => handleOpen(SCLessonActionsType.COMMENTS) }, { children: _jsx(Icon, { children: "chat_bubble_outline" }) }))), _jsx(IconButton, Object.assign({ onClick: () => handleOpen(SCLessonActionsType.LESSONS) }, { children: _jsx(Icon, { children: "courses" }) }))] })))] }) })));
31
+ }
@@ -0,0 +1 @@
1
+ export declare const PREFIX = "SCLessonAppbar";
@@ -0,0 +1 @@
1
+ export const PREFIX = 'SCLessonAppbar';
@@ -0,0 +1,3 @@
1
+ import LessonAppbar, { LessonAppbarProps } from './LessonAppbar';
2
+ export default LessonAppbar;
3
+ export { LessonAppbarProps };
@@ -0,0 +1,2 @@
1
+ import LessonAppbar from './LessonAppbar';
2
+ export default LessonAppbar;
@@ -0,0 +1,94 @@
1
+ import { CardProps } from '@mui/material';
2
+ import { SCCourseCommentType, SCCourseLessonType } from '@selfcommunity/types';
3
+ import { CacheStrategies } from '@selfcommunity/utils';
4
+ export interface LessonCommentObjectProps {
5
+ /**
6
+ * Overrides or extends the styles applied to the component.
7
+ * @default null
8
+ */
9
+ className?: string;
10
+ /**
11
+ * Id of the comment object
12
+ * @default null
13
+ */
14
+ commentObjectId?: number;
15
+ /**
16
+ * Comment object
17
+ * @default null
18
+ */
19
+ commentObject?: SCCourseCommentType;
20
+ /**
21
+ * Id of lesson object
22
+ * @default null
23
+ */
24
+ lessonObjectId?: number;
25
+ /**
26
+ * Feed object
27
+ * @default null
28
+ */
29
+ lessonObject?: SCCourseLessonType;
30
+ /**
31
+ * Callback on delete the comment
32
+ * @default null
33
+ */
34
+ onDelete?: (comment: SCCourseCommentType) => void;
35
+ /**
36
+ * Callback on comment edit
37
+ * @default false
38
+ */
39
+ isEditing?: (editing: boolean) => void;
40
+ /**
41
+ * Props to spread to single comment object skeleton
42
+ * @default {elevation: 0}
43
+ */
44
+ CommentObjectSkeletonProps?: CardProps;
45
+ /**
46
+ * Props to spread to single comment object CommentObjectReply
47
+ * @default {elevation: 0}
48
+ */
49
+ CommentObjectReplyProps?: CardProps;
50
+ /**
51
+ * Caching strategies
52
+ * @default CacheStrategies.CACHE_FIRST
53
+ */
54
+ cacheStrategy?: CacheStrategies;
55
+ /**
56
+ * Other props
57
+ */
58
+ [p: string]: any;
59
+ }
60
+ /**
61
+ * > API documentation for the Community-JS Comment Object component. Learn about the available props and the CSS API.
62
+ *
63
+ *
64
+ * This component renders a comment item.
65
+ * Take a look at our <strong>demo</strong> component [here](/docs/sdk/community-js/react-ui/Components/CommentObject)
66
+
67
+ #### Import
68
+
69
+ ```jsx
70
+ import {CommentObject} from '@selfcommunity/react-ui';
71
+ ```
72
+
73
+ #### Component Name
74
+
75
+ The name `SCCommentObject` can be used when providing style overrides in the theme.
76
+
77
+
78
+ #### CSS
79
+
80
+ |Rule Name|Global class|Description|
81
+ |---|---|---|
82
+ |root|.SCCommentObject-root|Styles applied to the root element.|
83
+ |comment|.SCCommentObject-comment|Styles applied to comment element.|
84
+ |avatar|.SCCommentObject-avatar|Styles applied to the avatar element.|
85
+ |author|.SCCommentObject-author|Styles applied to the author section.|
86
+ |content|.SCCommentObject-content|Styles applied to content section.|
87
+ |textContent|.SCCommentObject-text-content|Styles applied to text content section.|
88
+ |mediaContent|.SCCommentObject-media-content|Styles applied to media content section.|
89
+ |commentActionsMenu|.SCCommentObject-comment-actions-menu|Styles applied to comment action menu element.|
90
+
91
+
92
+ * @param inProps
93
+ */
94
+ export default function LessonCommentObject(inProps: LessonCommentObjectProps): JSX.Element;
@@ -0,0 +1,199 @@
1
+ import { __rest } from "tslib";
2
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import React, { useContext, useState } from 'react';
4
+ import { styled } from '@mui/material/styles';
5
+ import Widget from '../Widget';
6
+ import { FormattedMessage } from 'react-intl';
7
+ import { Avatar, Box, CardContent, Typography } from '@mui/material';
8
+ import Bullet from '../../shared/Bullet';
9
+ import classNames from 'classnames';
10
+ import { SCOPE_SC_UI } from '../../constants/Errors';
11
+ import CommentObjectSkeleton from './Skeleton';
12
+ import CommentObjectReply from '../CommentObjectReply';
13
+ import DateTimeAgo from '../../shared/DateTimeAgo';
14
+ import { getCommentContributionHtml } from '../../utils/contribution';
15
+ import { useSnackbar } from 'notistack';
16
+ import { useThemeProps } from '@mui/system';
17
+ import BaseItem from '../../shared/BaseItem';
18
+ import { Endpoints, http } from '@selfcommunity/api-services';
19
+ import { CacheStrategies, Logger, LRUCache } from '@selfcommunity/utils';
20
+ import { Link, SCCache, SCRoutes, SCUserContext, UserUtils, useSCFetchLessonCommentObject, useSCRouting } from '@selfcommunity/react-core';
21
+ import UserDeletedSnackBar from '../../shared/UserDeletedSnackBar';
22
+ import UserAvatar from '../../shared/UserAvatar';
23
+ import { PREFIX } from './constants';
24
+ import LessonCommentActionsMenu from '../../shared/LessonCommentActionsMenu';
25
+ import LessonFilePreview from '../../shared/LessonFilePreview';
26
+ const classes = {
27
+ root: `${PREFIX}-root`,
28
+ comment: `${PREFIX}-comment`,
29
+ avatar: `${PREFIX}-avatar`,
30
+ content: `${PREFIX}-content`,
31
+ author: `${PREFIX}-author`,
32
+ textContent: `${PREFIX}-text-content`,
33
+ mediaContent: `${PREFIX}-media-content`,
34
+ commentActionsMenu: `${PREFIX}-comment-actions-menu`
35
+ };
36
+ const Root = styled(Box, {
37
+ name: PREFIX,
38
+ slot: 'Root'
39
+ })(() => ({}));
40
+ /**
41
+ * > API documentation for the Community-JS Comment Object component. Learn about the available props and the CSS API.
42
+ *
43
+ *
44
+ * This component renders a comment item.
45
+ * Take a look at our <strong>demo</strong> component [here](/docs/sdk/community-js/react-ui/Components/CommentObject)
46
+
47
+ #### Import
48
+
49
+ ```jsx
50
+ import {CommentObject} from '@selfcommunity/react-ui';
51
+ ```
52
+
53
+ #### Component Name
54
+
55
+ The name `SCCommentObject` can be used when providing style overrides in the theme.
56
+
57
+
58
+ #### CSS
59
+
60
+ |Rule Name|Global class|Description|
61
+ |---|---|---|
62
+ |root|.SCCommentObject-root|Styles applied to the root element.|
63
+ |comment|.SCCommentObject-comment|Styles applied to comment element.|
64
+ |avatar|.SCCommentObject-avatar|Styles applied to the avatar element.|
65
+ |author|.SCCommentObject-author|Styles applied to the author section.|
66
+ |content|.SCCommentObject-content|Styles applied to content section.|
67
+ |textContent|.SCCommentObject-text-content|Styles applied to text content section.|
68
+ |mediaContent|.SCCommentObject-media-content|Styles applied to media content section.|
69
+ |commentActionsMenu|.SCCommentObject-comment-actions-menu|Styles applied to comment action menu element.|
70
+
71
+
72
+ * @param inProps
73
+ */
74
+ export default function LessonCommentObject(inProps) {
75
+ // PROPS
76
+ const props = useThemeProps({
77
+ props: inProps,
78
+ name: PREFIX
79
+ });
80
+ const { id = `lesson_comment_object_${props.commentObjectId ? props.commentObjectId : props.commentObject ? props.commentObject.id : ''}`, className, commentObjectId, commentObject, isEditing, lessonObjectId, lessonObject, onDelete, elevation = 0, CommentObjectSkeletonProps = { elevation }, CommentObjectReplyProps = { elevation }, cacheStrategy = CacheStrategies.NETWORK_ONLY } = props, rest = __rest(props, ["id", "className", "commentObjectId", "commentObject", "isEditing", "lessonObjectId", "lessonObject", "onDelete", "elevation", "CommentObjectSkeletonProps", "CommentObjectReplyProps", "cacheStrategy"]);
81
+ // CONTEXT
82
+ const scUserContext = useContext(SCUserContext);
83
+ const scRoutingContext = useSCRouting();
84
+ const { enqueueSnackbar } = useSnackbar();
85
+ // STATE
86
+ const { obj, setObj } = useSCFetchLessonCommentObject({ id: commentObjectId, commentObject: commentObject, lesson: lessonObject, cacheStrategy });
87
+ const [isSavingComment, setIsSavingComment] = useState(false);
88
+ const [editComment, setEditComment] = useState(null);
89
+ const [openAlert, setOpenAlert] = useState(false);
90
+ // HANDLERS
91
+ /**
92
+ * Update state object
93
+ * @param newObj
94
+ */
95
+ function updateObject(newObj) {
96
+ LRUCache.set(SCCache.getLessonCommentCacheKey(obj.id), newObj);
97
+ setObj(newObj);
98
+ LRUCache.deleteKeysWithPrefix(SCCache.getLessonCommentsCachePrefixKeys(lessonObject.id));
99
+ }
100
+ /**
101
+ * Handle comment delete
102
+ */
103
+ function handleDelete(comment) {
104
+ updateObject(comment);
105
+ onDelete && onDelete(comment);
106
+ }
107
+ /**
108
+ * Handle edit comment
109
+ */
110
+ function handleEdit(comment) {
111
+ setEditComment(comment);
112
+ isEditing && isEditing(true);
113
+ }
114
+ function handleCancel() {
115
+ setEditComment(null);
116
+ isEditing && isEditing(false);
117
+ }
118
+ /**
119
+ * Perform save/update comment
120
+ */
121
+ const performUpdate = (comment, medias) => {
122
+ const mediaIds = medias ? medias.map((media) => media.id) : [];
123
+ return http
124
+ .request({
125
+ url: Endpoints.UpdateCourseComment.url({
126
+ id: lessonObject.course_id,
127
+ section_id: lessonObject.section_id,
128
+ lesson_id: lessonObject.id,
129
+ comment_id: commentObject.id
130
+ }),
131
+ method: Endpoints.UpdateCourseComment.method,
132
+ data: { text: comment, medias: mediaIds }
133
+ })
134
+ .then((res) => {
135
+ if (res.status >= 300) {
136
+ return Promise.reject(res);
137
+ }
138
+ return Promise.resolve(res.data);
139
+ });
140
+ };
141
+ /**
142
+ * Handle save comment
143
+ */
144
+ function handleUpdate(comment, medias) {
145
+ if (UserUtils.isBlocked(scUserContext.user)) {
146
+ enqueueSnackbar(_jsx(FormattedMessage, { id: "ui.common.userBlocked", defaultMessage: "ui.common.userBlocked" }), {
147
+ variant: 'warning',
148
+ autoHideDuration: 3000
149
+ });
150
+ }
151
+ else {
152
+ setIsSavingComment(true);
153
+ performUpdate(comment, medias)
154
+ .then((data) => {
155
+ const newObj = Object.assign({}, obj, {
156
+ text: data.text,
157
+ html: data.html,
158
+ created_at: data.created_at,
159
+ medias: medias
160
+ });
161
+ updateObject(newObj);
162
+ setEditComment(null);
163
+ setIsSavingComment(false);
164
+ isEditing && isEditing(false);
165
+ })
166
+ .catch((error) => {
167
+ Logger.error(SCOPE_SC_UI, error);
168
+ enqueueSnackbar(_jsx(FormattedMessage, { id: "ui.common.error.action", defaultMessage: "ui.common.error.action" }), {
169
+ variant: 'error',
170
+ autoHideDuration: 3000
171
+ });
172
+ });
173
+ }
174
+ }
175
+ /**
176
+ * Render comment & latest activities
177
+ * @param comment
178
+ */
179
+ function renderComment(comment) {
180
+ const summaryHtml = getCommentContributionHtml(comment.html, scRoutingContext.url);
181
+ return (_jsx(React.Fragment, { children: editComment && editComment.id === comment.id ? (_jsx(Box, Object.assign({ className: classes.comment }, { children: _jsx(CommentObjectReply, Object.assign({ text: comment.html, medias: comment.medias, autoFocus: true, id: `edit-${comment.id}`, onSave: handleUpdate, onCancel: handleCancel, editable: !isSavingComment, EditorProps: { uploadFile: true, uploadImage: false, isLessonCommentEditor: true } }, CommentObjectReplyProps)) }))) : (_jsx(BaseItem, { elevation: 0, className: classes.comment, image: _jsx(Link, Object.assign({}, (!comment.created_by.deleted && { to: scRoutingContext.url(SCRoutes.USER_PROFILE_ROUTE_NAME, comment.created_by) }), { onClick: comment.created_by.deleted ? () => setOpenAlert(true) : null }, { children: _jsx(UserAvatar, Object.assign({ hide: !obj.created_by.community_badge }, { children: _jsx(Avatar, { alt: obj.created_by.username, variant: "circular", src: comment.created_by.avatar, className: classes.avatar }) })) })), disableTypography: true, primary: _jsx(_Fragment, { children: _jsxs(Widget, Object.assign({ className: classes.content, elevation: elevation }, rest, { children: [_jsxs(CardContent, { children: [_jsx(Link, Object.assign({ className: classes.author }, (!comment.created_by.deleted && { to: scRoutingContext.url(SCRoutes.USER_PROFILE_ROUTE_NAME, comment.created_by) }), { onClick: comment.created_by.deleted ? () => setOpenAlert(true) : null }, { children: _jsx(Typography, Object.assign({ component: "span" }, { children: comment.created_by.username })) })), _jsxs(_Fragment, { children: [_jsx(Bullet, {}), _jsx(DateTimeAgo, { date: comment.created_at, showStartIcon: false })] }), _jsx(Typography, { className: classes.textContent, variant: "body2", gutterBottom: true, dangerouslySetInnerHTML: { __html: summaryHtml } }), obj.medias && obj.medias.length > 0 && (_jsx(_Fragment, { children: obj.medias.map((media) => {
182
+ return _jsx(LessonFilePreview, { className: classes.mediaContent, media: media }, media.id);
183
+ }) }))] }), scUserContext.user && scUserContext.user.id === comment.created_by.id && (_jsx(Box, Object.assign({ className: classes.commentActionsMenu }, { children: _jsx(LessonCommentActionsMenu, { lesson: lessonObject, commentObject: comment, onDelete: handleDelete, onEdit: handleEdit }) })))] })) }) })) }, comment.id));
184
+ }
185
+ /**
186
+ * Render comments
187
+ */
188
+ let comment;
189
+ if (obj) {
190
+ comment = renderComment(obj);
191
+ }
192
+ else {
193
+ comment = _jsx(CommentObjectSkeleton, Object.assign({}, CommentObjectSkeletonProps));
194
+ }
195
+ /**
196
+ * Render object
197
+ */
198
+ return (_jsxs(_Fragment, { children: [_jsx(Root, Object.assign({ id: id, className: classNames(classes.root, className) }, { children: comment })), openAlert && _jsx(UserDeletedSnackBar, { open: openAlert, handleClose: () => setOpenAlert(false) })] }));
199
+ }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * > API documentation for the Community-JS Lesson Comment Object Skeleton component. Learn about the available props and the CSS API.
3
+
4
+ #### Import
5
+
6
+ ```jsx
7
+ import {LessonCommentObjectSkeleton} from '@selfcommunity/react-ui';
8
+ ```
9
+
10
+ #### Component Name
11
+
12
+ The name `SCLessonCommentObject-skeleton-root` can be used when providing style overrides in the theme.
13
+
14
+ #### CSS
15
+
16
+ |Rule Name|Global class|Description|
17
+ |---|---|---|
18
+ |root|.SCLessonCommentObject-skeleton-root|Styles applied to the root element.|
19
+ *
20
+ */
21
+ export default function LessonCommentObjectSkeleton(props: any): JSX.Element;
@@ -0,0 +1,43 @@
1
+ import { __rest } from "tslib";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import Widget from '../Widget';
4
+ import { styled } from '@mui/material/styles';
5
+ import Skeleton from '@mui/material/Skeleton';
6
+ import { CardContent, useTheme } from '@mui/material';
7
+ import BaseItem from '../../shared/BaseItem';
8
+ import { PREFIX } from './constants';
9
+ const classes = {
10
+ root: `${PREFIX}-skeleton-root`,
11
+ avatar: `${PREFIX}-avatar`,
12
+ primaryContent: `${PREFIX}-primary-content`,
13
+ secondaryContent: `${PREFIX}-secondary-content`
14
+ };
15
+ const Root = styled(BaseItem, {
16
+ name: PREFIX,
17
+ slot: 'SkeletonRoot'
18
+ })(() => ({}));
19
+ /**
20
+ * > API documentation for the Community-JS Lesson Comment Object Skeleton component. Learn about the available props and the CSS API.
21
+
22
+ #### Import
23
+
24
+ ```jsx
25
+ import {LessonCommentObjectSkeleton} from '@selfcommunity/react-ui';
26
+ ```
27
+
28
+ #### Component Name
29
+
30
+ The name `SCLessonCommentObject-skeleton-root` can be used when providing style overrides in the theme.
31
+
32
+ #### CSS
33
+
34
+ |Rule Name|Global class|Description|
35
+ |---|---|---|
36
+ |root|.SCLessonCommentObject-skeleton-root|Styles applied to the root element.|
37
+ *
38
+ */
39
+ export default function LessonCommentObjectSkeleton(props) {
40
+ const { WidgetProps } = props, rest = __rest(props, ["WidgetProps"]);
41
+ const theme = useTheme();
42
+ return (_jsx(Root, Object.assign({ className: classes.root, disableTypography: true }, rest, { image: _jsx(Skeleton, { animation: "wave", variant: "circular", width: theme.selfcommunity.user.avatar.sizeMedium, height: theme.selfcommunity.user.avatar.sizeMedium, className: classes.avatar }), primary: _jsx(Skeleton, { animation: "wave", height: 10, width: "25%", className: classes.primaryContent }), secondary: _jsx(_Fragment, { children: _jsx(Widget, Object.assign({}, WidgetProps, { children: _jsxs(CardContent, Object.assign({ className: classes.secondaryContent }, { children: [_jsx(Skeleton, { animation: "wave", height: 10, width: "80%" }), _jsx(Skeleton, { animation: "wave", height: 10, width: "70%" }), _jsx(Skeleton, { animation: "wave", height: 10, width: "60%" })] })) })) }) })));
43
+ }
@@ -0,0 +1 @@
1
+ export declare const PREFIX = "SCLessonCommentObject";
@@ -0,0 +1 @@
1
+ export const PREFIX = 'SCLessonCommentObject';
@@ -0,0 +1,4 @@
1
+ import LessonCommentObject, { LessonCommentObjectProps } from './LessonCommentObject';
2
+ import LessonCommentObjectSkeleton from './Skeleton';
3
+ export default LessonCommentObject;
4
+ export { LessonCommentObjectProps, LessonCommentObjectSkeleton };
@@ -0,0 +1,4 @@
1
+ import LessonCommentObject from './LessonCommentObject';
2
+ import LessonCommentObjectSkeleton from './Skeleton';
3
+ export default LessonCommentObject;
4
+ export { LessonCommentObjectSkeleton };