mui-toolpad-extended-tuni 2.0.0 → 3.0.0

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 (274) hide show
  1. package/README.md +173 -18
  2. package/dist/index.cjs +193 -149
  3. package/dist/index.d.ts +2 -47
  4. package/dist/index.es.js +66551 -18872
  5. package/dist/mockServiceWorker.js +1 -1
  6. package/dist/mui-toolpad-extended-tuni.css +1 -0
  7. package/dist/src/App.d.ts +31 -0
  8. package/dist/src/LMSToolpad/Forms/Components/Editables/EditableAutoComplete.d.ts +12 -0
  9. package/dist/src/LMSToolpad/Forms/Components/Editables/EditableColor.d.ts +8 -0
  10. package/dist/src/LMSToolpad/Forms/Components/Editables/EditableImage.d.ts +9 -0
  11. package/dist/src/LMSToolpad/Forms/Components/Editables/EditableNumber.d.ts +12 -0
  12. package/dist/src/LMSToolpad/Forms/Components/Editables/EditableSelect.d.ts +14 -0
  13. package/dist/src/LMSToolpad/Forms/Components/Editables/EditableSwitch.d.ts +8 -0
  14. package/dist/src/LMSToolpad/Forms/Components/Editables/EditableText.d.ts +32 -0
  15. package/dist/src/LMSToolpad/Forms/Components/SqueezableTable/SqueezableTable.d.ts +2 -0
  16. package/dist/src/LMSToolpad/Forms/Components/SqueezableTable/types.d.ts +24 -0
  17. package/dist/src/LMSToolpad/Forms/PlatformSettings/PlatformSettings.d.ts +21 -0
  18. package/dist/src/LMSToolpad/Forms/PlatformSettings/PlatformSettingsTabs.d.ts +16 -0
  19. package/dist/src/LMSToolpad/Forms/PlatformSettings/tabs/AITab.d.ts +7 -0
  20. package/dist/src/LMSToolpad/Forms/PlatformSettings/tabs/AuthTab.d.ts +7 -0
  21. package/dist/src/LMSToolpad/Forms/PlatformSettings/tabs/CoursesTab.d.ts +7 -0
  22. package/dist/src/LMSToolpad/Forms/PlatformSettings/tabs/FeaturesTab.d.ts +24 -0
  23. package/dist/src/LMSToolpad/Forms/PlatformSettings/tabs/GeneralTab.d.ts +7 -0
  24. package/dist/src/LMSToolpad/Forms/PlatformSettings/tabs/PrivacyTab.d.ts +7 -0
  25. package/dist/src/LMSToolpad/Forms/PlatformSettings/tabs/ThemeTab.d.ts +7 -0
  26. package/dist/src/LMSToolpad/Forms/PlatformSettings/tabs/components/ColorSettings.d.ts +7 -0
  27. package/dist/src/LMSToolpad/Forms/PlatformSettings/tabs/components/TypographySettings.d.ts +7 -0
  28. package/dist/src/LMSToolpad/LMSProvider.d.ts +34 -0
  29. package/dist/src/LMSToolpad/components/AuthenticationManager.d.ts +2 -0
  30. package/dist/src/LMSToolpad/components/Calendar/Calendar.d.ts +3 -0
  31. package/dist/src/LMSToolpad/components/Calendar/CalendarBody.d.ts +16 -0
  32. package/dist/src/LMSToolpad/components/Calendar/CalendarEventAggregator.d.ts +9 -0
  33. package/dist/src/LMSToolpad/components/Calendar/CalendarEventItem.d.ts +10 -0
  34. package/dist/src/LMSToolpad/components/Calendar/CalendarHeader.d.ts +12 -0
  35. package/dist/src/LMSToolpad/components/Calendar/CalendarManager.d.ts +3 -0
  36. package/dist/src/LMSToolpad/components/Calendar/CalendarMicroservice.d.ts +32 -0
  37. package/dist/src/LMSToolpad/components/Calendar/DatePickerPopover.d.ts +8 -0
  38. package/dist/src/LMSToolpad/components/Calendar/components/EventDetails.d.ts +3 -0
  39. package/dist/src/LMSToolpad/components/Calendar/components/EventMenu.d.ts +3 -0
  40. package/dist/src/LMSToolpad/components/Calendar/components/EventViews.d.ts +3 -0
  41. package/dist/src/LMSToolpad/components/Calendar/components/index.d.ts +3 -0
  42. package/dist/src/LMSToolpad/components/Calendar/index.d.ts +5 -0
  43. package/dist/src/LMSToolpad/components/Calendar/store/useCalendarStore.d.ts +44 -0
  44. package/dist/src/LMSToolpad/components/Calendar/types.d.ts +49 -0
  45. package/dist/src/LMSToolpad/components/Courses/CourseCodeLoader.d.ts +15 -0
  46. package/dist/src/LMSToolpad/components/Courses/CourseEventPublisher.d.ts +8 -0
  47. package/dist/src/LMSToolpad/components/Courses/CourseInstanceLoader.d.ts +16 -0
  48. package/dist/src/LMSToolpad/components/Courses/CourseInstanceSelector.d.ts +15 -0
  49. package/dist/src/LMSToolpad/components/Courses/CourseItem/CourseActions.d.ts +6 -0
  50. package/dist/src/LMSToolpad/components/Courses/CourseItem/CourseHeader.d.ts +6 -0
  51. package/dist/src/LMSToolpad/components/Courses/CourseItem/CourseHeaderActions.d.ts +12 -0
  52. package/dist/src/LMSToolpad/components/Courses/CourseItem/CourseIcon.d.ts +8 -0
  53. package/dist/src/LMSToolpad/components/Courses/CourseItem/CourseInfo.d.ts +8 -0
  54. package/dist/src/LMSToolpad/components/Courses/CourseItem/CourseItem.d.ts +9 -0
  55. package/dist/src/LMSToolpad/components/Courses/CourseList.d.ts +6 -0
  56. package/dist/src/LMSToolpad/components/Courses/CourseManager.d.ts +2 -0
  57. package/dist/src/LMSToolpad/components/Courses/CourseMicroservice.d.ts +42 -0
  58. package/dist/src/LMSToolpad/components/Courses/CourseRoutesProvider.d.ts +12 -0
  59. package/dist/src/LMSToolpad/components/Courses/CourseTools.d.ts +21 -0
  60. package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/CourseSettings.d.ts +23 -0
  61. package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/CourseSettingsTabs.d.ts +9 -0
  62. package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/tabs/BasicInfoTab.d.ts +7 -0
  63. package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/tabs/DataProcessingTab.d.ts +24 -0
  64. package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/tabs/EnrollmentTab.d.ts +28 -0
  65. package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/tabs/RelationshipsTab.d.ts +25 -0
  66. package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/tabs/StaffTab.d.ts +26 -0
  67. package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/tabs/VisibilityTab.d.ts +24 -0
  68. package/dist/src/LMSToolpad/components/Courses/Navigation/CourseNavigationbuilder.d.ts +2 -0
  69. package/dist/src/LMSToolpad/components/Courses/components/ToolDisplayer/ToolCard.d.ts +8 -0
  70. package/dist/src/LMSToolpad/components/Courses/components/ToolDisplayer/ToolDisplayer.d.ts +11 -0
  71. package/dist/src/LMSToolpad/components/Courses/config/subjectConfig.d.ts +10 -0
  72. package/dist/src/LMSToolpad/components/Courses/context/CourseMicroserviceContext.d.ts +26 -0
  73. package/dist/src/LMSToolpad/components/Courses/hooks/useCourseRoutes.d.ts +6 -0
  74. package/dist/src/LMSToolpad/components/Courses/mocks/commented.d.ts +0 -0
  75. package/dist/src/LMSToolpad/components/Courses/mocks/constants.d.ts +9 -0
  76. package/dist/src/LMSToolpad/components/Courses/mocks/endpoints.d.ts +8 -0
  77. package/dist/src/LMSToolpad/components/Courses/mocks/generators.d.ts +13 -0
  78. package/dist/src/LMSToolpad/components/Courses/mocks/types.d.ts +109 -0
  79. package/dist/{LMSToolpad → src/LMSToolpad/components/Courses}/network/courses.d.ts +1 -8
  80. package/dist/src/LMSToolpad/components/Courses/store/useCourseStore.d.ts +146 -0
  81. package/dist/src/LMSToolpad/components/Courses/utils/courseFilters.d.ts +21 -0
  82. package/dist/{LMSToolpad → src/LMSToolpad}/components/Dialogs/DialogOpener.d.ts +0 -1
  83. package/dist/src/LMSToolpad/components/Dialogs/Dialogs.d.ts +3 -0
  84. package/dist/src/LMSToolpad/components/Dialogs/ExtendedDialog.d.ts +8 -0
  85. package/dist/{LMSToolpad → src/LMSToolpad}/components/Dialogs/FormDialog.d.ts +5 -1
  86. package/dist/src/LMSToolpad/components/Dialogs/dialogRegistry.d.ts +3 -0
  87. package/dist/src/LMSToolpad/components/Events/EventBus.d.ts +34 -0
  88. package/dist/src/LMSToolpad/components/Events/UserBus.d.ts +111 -0
  89. package/dist/src/LMSToolpad/components/Events/hooks/useCurrentUser.d.ts +11 -0
  90. package/dist/src/LMSToolpad/components/Events/hooks/useUserActions.d.ts +15 -0
  91. package/dist/src/LMSToolpad/components/Events/hooks/useUserPreferences.d.ts +22 -0
  92. package/dist/src/LMSToolpad/components/Events/index.d.ts +10 -0
  93. package/dist/src/LMSToolpad/components/Events/types.d.ts +16 -0
  94. package/dist/src/LMSToolpad/components/Events/userTypes.d.ts +78 -0
  95. package/dist/{LMSToolpad → src/LMSToolpad}/components/IconWithBadge.d.ts +0 -1
  96. package/dist/src/LMSToolpad/components/Microservices/MicroserviceNavigationBuilder.d.ts +45 -0
  97. package/dist/src/LMSToolpad/components/Microservices/MicroserviceSubsections.d.ts +9 -0
  98. package/dist/src/LMSToolpad/components/Microservices/Microservices.d.ts +25 -0
  99. package/dist/src/LMSToolpad/components/Microservices/types.d.ts +12 -0
  100. package/dist/src/LMSToolpad/components/Navigation/NavigationBuilder.d.ts +6 -0
  101. package/dist/src/LMSToolpad/components/Navigation/NavigationFilter.d.ts +1 -0
  102. package/dist/src/LMSToolpad/components/Navigation/NavigationRegistry.d.ts +116 -0
  103. package/dist/src/LMSToolpad/components/Navigation/hooks/useMicroserviceNavigation.d.ts +4 -0
  104. package/dist/src/LMSToolpad/components/Navigation/hooks/useMicroserviceRoutes.d.ts +6 -0
  105. package/dist/src/LMSToolpad/components/Navigation/hooks/useNavigationSectionManager.d.ts +23 -0
  106. package/dist/src/LMSToolpad/components/Navigation/hooks/useSyncNavigationFilters.d.ts +1 -0
  107. package/dist/src/LMSToolpad/components/Navigation/store/microserviceUtils.d.ts +9 -0
  108. package/dist/src/LMSToolpad/components/Navigation/store/navigationCalculator.d.ts +11 -0
  109. package/dist/src/LMSToolpad/components/Navigation/store/sectionManager.d.ts +9 -0
  110. package/dist/src/LMSToolpad/components/Navigation/store/types.d.ts +90 -0
  111. package/dist/src/LMSToolpad/components/Navigation/store/useNavigationFilterStore.d.ts +6 -0
  112. package/dist/src/LMSToolpad/components/Navigation/store/useNavigationStore.d.ts +50 -0
  113. package/dist/src/LMSToolpad/components/Notifications/store/useNotificationsStore.d.ts +22 -0
  114. package/dist/{LMSToolpad/components → src/LMSToolpad/components/Routes/Home}/Home.d.ts +0 -1
  115. package/dist/src/LMSToolpad/components/Users/Forms/UserSettings/UserSettings.d.ts +22 -0
  116. package/dist/src/LMSToolpad/components/Users/UserEventPublisher.d.ts +8 -0
  117. package/dist/src/LMSToolpad/components/Users/UserManager.d.ts +2 -0
  118. package/dist/src/LMSToolpad/components/Users/UserMicroservice.d.ts +34 -0
  119. package/dist/src/LMSToolpad/components/Users/index.d.ts +6 -0
  120. package/dist/src/LMSToolpad/components/Users/mocks/constants.d.ts +59 -0
  121. package/dist/src/LMSToolpad/components/Users/mocks/endpoints.d.ts +3 -0
  122. package/dist/src/LMSToolpad/components/Users/mocks/generators.d.ts +6 -0
  123. package/dist/src/LMSToolpad/components/Users/mocks/types.d.ts +52 -0
  124. package/dist/src/LMSToolpad/components/Users/network/users.d.ts +7 -0
  125. package/dist/src/LMSToolpad/components/Users/store/useUserStore.d.ts +63 -0
  126. package/dist/{LMSToolpad → src/LMSToolpad}/components/tools/addActions.d.ts +2 -2
  127. package/dist/{LMSToolpad → src/LMSToolpad}/components/tools/addIcons.d.ts +1 -1
  128. package/dist/{LMSToolpad → src/LMSToolpad}/components/tools/utils/ActionFCWrapper.d.ts +2 -2
  129. package/dist/{LMSToolpad → src/LMSToolpad}/components/tools/utils/IconFCWrapper.d.ts +0 -1
  130. package/dist/src/LMSToolpad/constants.d.ts +67 -0
  131. package/dist/{LMSToolpad → src/LMSToolpad}/hooks/useCustomRouter.d.ts +3 -2
  132. package/dist/src/LMSToolpad/hooks/useVisitedCourses.d.ts +18 -0
  133. package/dist/src/LMSToolpad/index.d.ts +1 -0
  134. package/dist/src/LMSToolpad/layout/Content/PageContent.d.ts +5 -0
  135. package/dist/{LMSToolpad/components/toolbar → src/LMSToolpad/layout/Toolbars/AppToolbar}/Account.d.ts +1 -0
  136. package/dist/src/LMSToolpad/layout/Toolbars/AppToolbar/CollapsibleMenu.d.ts +1 -0
  137. package/dist/src/LMSToolpad/layout/Toolbars/AppToolbar/RegisteredAppTools.d.ts +11 -0
  138. package/dist/src/LMSToolpad/layout/Toolbars/AppToolbar/SearchBar.d.ts +6 -0
  139. package/dist/src/LMSToolpad/layout/Toolbars/PageToolbar/RegisteredPageTools.d.ts +37 -0
  140. package/dist/src/LMSToolpad/layout/Toolbars/toolbarRegistry.d.ts +117 -0
  141. package/dist/{LMSToolpad/components → src/LMSToolpad/layout}/sidebar/Footer.d.ts +1 -1
  142. package/dist/src/LMSToolpad/mocks/browser.d.ts +2 -0
  143. package/dist/src/LMSToolpad/mocks/handlers.d.ts +2 -0
  144. package/dist/src/LMSToolpad/mocks/store.d.ts +24 -0
  145. package/dist/{LMSToolpad → src/LMSToolpad}/network/axiosConfig.d.ts +2 -1
  146. package/dist/src/LMSToolpad/store/useDialogStore.d.ts +9 -0
  147. package/dist/src/LMSToolpad/store/usePlatformStore.d.ts +165 -0
  148. package/dist/src/LMSToolpad/store/useThemeStore.d.ts +184 -0
  149. package/dist/src/LMSToolpad/store/useToolbarStore.d.ts +8 -0
  150. package/dist/src/LMSToolpad/theme/EduMLTheme.d.ts +2 -0
  151. package/dist/{LMSToolpad → src/LMSToolpad}/tools/ErrorBoundary.d.ts +1 -2
  152. package/dist/src/LMSToolpad/utils/__tests__/courseFilters.test.d.ts +2 -0
  153. package/dist/src/LMSToolpad/utils/apiPrefix.d.ts +2 -0
  154. package/dist/src/LMSToolpad/utils/cookieUtils.d.ts +27 -0
  155. package/dist/src/LMSToolpad/utils/parseDate.d.ts +2 -0
  156. package/dist/src/common/components/index.d.ts +2 -0
  157. package/dist/src/common/components/layout/GridLayout/GridItem.d.ts +17 -0
  158. package/dist/src/common/components/layout/GridLayout/GridItemContext.d.ts +26 -0
  159. package/dist/src/common/components/layout/GridLayout/ResponsiveGridLayout.d.ts +16 -0
  160. package/dist/src/common/components/layout/GridLayout/Tools/BreakpointIndicator.d.ts +8 -0
  161. package/dist/src/common/components/layout/GridLayout/Tools/EditModeToggler.d.ts +7 -0
  162. package/dist/src/common/components/layout/GridLayout/hooks/useGridLayoutManagement.d.ts +27 -0
  163. package/dist/src/common/components/layout/GridLayout/index.d.ts +12 -0
  164. package/dist/src/common/components/layout/GridLayout/layoutStorageUtils.d.ts +52 -0
  165. package/dist/src/common/components/layout/GridLayout/layoutUtils.d.ts +78 -0
  166. package/dist/src/common/components/layout/GridLayout/store/usePanelStore.d.ts +27 -0
  167. package/dist/src/common/components/layout/GridLayout/useGridLayout.d.ts +11 -0
  168. package/dist/src/common/components/layout/index.d.ts +1 -0
  169. package/dist/src/common/components/ui/CenteredHeading/CenteredHeading.d.ts +7 -0
  170. package/dist/src/common/components/ui/CollapsingButtons/CollapsingButtons.d.ts +11 -0
  171. package/dist/src/common/components/ui/CompoundPanel/CompoundPanel.d.ts +86 -0
  172. package/dist/src/common/components/ui/Panel/Expandable/Expandable.d.ts +4 -0
  173. package/dist/src/common/components/ui/Panel/Expandable/context/ExpandableContextProvider.d.ts +10 -0
  174. package/dist/src/common/components/ui/Panel/Expandable/hooks/useCollapseHandler.d.ts +2 -0
  175. package/dist/src/common/components/ui/Panel/Expandable/hooks/useExpandable.d.ts +17 -0
  176. package/dist/src/common/components/ui/Panel/Expandable/hooks/useExpansionAnimation.d.ts +5 -0
  177. package/dist/src/common/components/ui/Panel/Expandable/hooks/useInitialSetup.d.ts +6 -0
  178. package/dist/src/common/components/ui/Panel/Expandable/hooks/useResizeHandler.d.ts +1 -0
  179. package/dist/src/common/components/ui/Panel/Expandable/store/useExpandablePanelStore.d.ts +7 -0
  180. package/dist/src/common/components/ui/Panel/Main/Context/PanelContextProvider.d.ts +50 -0
  181. package/dist/src/common/components/ui/Panel/Main/Panel.d.ts +3 -0
  182. package/dist/src/common/components/ui/Panel/Main/hooks/useDimensionManagement.d.ts +13 -0
  183. package/dist/src/common/components/ui/Panel/Main/hooks/usePersistentDimensions.d.ts +19 -0
  184. package/dist/src/common/components/ui/Panel/Main/tools/BlurOverlay.d.ts +6 -0
  185. package/dist/src/common/components/ui/Panel/Main/tools/ToolsContainer.d.ts +11 -0
  186. package/dist/src/common/components/ui/Panel/Movable/DraggableItem.d.ts +6 -0
  187. package/dist/src/common/components/ui/Panel/Movable/MovablePanel.d.ts +9 -0
  188. package/dist/src/common/components/ui/Panel/Movable/MoveToggler.d.ts +3 -0
  189. package/dist/src/common/components/ui/Panel/Movable/context/MovableContextProvider.d.ts +10 -0
  190. package/dist/src/common/components/ui/Panel/Movable/hooks/usePersistentOrder.d.ts +3 -0
  191. package/dist/src/common/components/ui/Panel/Resizable/Context/ResizableContextProvider.d.ts +27 -0
  192. package/dist/src/common/components/ui/Panel/Resizable/Hooks/useResizeHandlers.d.ts +26 -0
  193. package/dist/src/common/components/ui/Panel/Resizable/Hooks/useResponsiveResize.d.ts +14 -0
  194. package/dist/src/common/components/ui/Panel/Resizable/Resizable.d.ts +3 -0
  195. package/dist/src/common/components/ui/Panel/Resizable/ResizeHandlers.d.ts +7 -0
  196. package/dist/src/common/components/ui/Panel/Resizable/ResizeIndicator.d.ts +9 -0
  197. package/dist/src/common/components/ui/Panel/Scrollable/InternalScrolling.d.ts +11 -0
  198. package/dist/src/common/components/ui/Panel/Scrollable/PaginationDots.d.ts +13 -0
  199. package/dist/src/common/components/ui/Panel/Scrollable/Scrollable.d.ts +5 -0
  200. package/dist/src/common/components/ui/Panel/Scrollable/context/ScrollerContextProvider.d.ts +15 -0
  201. package/dist/src/common/components/ui/Panel/Scrollable/hooks/useScrollControls.d.ts +28 -0
  202. package/dist/src/common/components/ui/Panel/TBR/PanelContent.d.ts +24 -0
  203. package/dist/src/common/components/ui/Panel/TBR/ResizablePanel.d.ts +3 -0
  204. package/dist/src/common/components/ui/Panel/TBR/ResizeHandlers.d.ts +10 -0
  205. package/dist/src/common/components/ui/Panel/TBR/ResizeIndicator.d.ts +10 -0
  206. package/dist/src/common/components/ui/Panel/TBR/useResizablePanel.d.ts +32 -0
  207. package/dist/src/common/components/ui/Panel/types.d.ts +9 -0
  208. package/dist/src/common/components/ui/Scroller/PaginationDots.d.ts +13 -0
  209. package/dist/src/common/components/ui/Scroller/Scroller.d.ts +14 -0
  210. package/dist/src/common/components/ui/Scroller/context/ScrollerContextProvider.d.ts +15 -0
  211. package/dist/src/common/components/ui/Scroller/hooks/useScrollControls.d.ts +28 -0
  212. package/dist/src/common/components/ui/Scroller/types.d.ts +1 -0
  213. package/dist/src/common/components/ui/SpeedDialButton/SpeedDialButton.d.ts +20 -0
  214. package/dist/src/common/components/ui/ThemeToggle/ThemeToggle.d.ts +3 -0
  215. package/dist/src/common/components/ui/index.d.ts +15 -0
  216. package/dist/src/common/hooks/index.d.ts +1 -0
  217. package/dist/src/common/hooks/useRetry.d.ts +12 -0
  218. package/dist/src/common/index.d.ts +2 -0
  219. package/dist/src/index.d.ts +74 -0
  220. package/dist/src/main.d.ts +0 -0
  221. package/dist/src/setupTests.d.ts +0 -0
  222. package/dist/src/test/Contact.d.ts +8 -0
  223. package/dist/src/test/EduTest.d.ts +10 -0
  224. package/dist/src/test/EduTest2.d.ts +10 -0
  225. package/dist/src/test/Help.d.ts +8 -0
  226. package/dist/static/images/admin.png +0 -0
  227. package/dist/static/images/default-course.webp +0 -0
  228. package/dist/static/images/guest.png +0 -0
  229. package/dist/static/images/icons/atom.svg +15 -0
  230. package/dist/static/images/icons/brain.svg +49 -0
  231. package/dist/static/images/icons/code.svg +6 -0
  232. package/dist/static/images/icons/dna.svg +38 -0
  233. package/dist/static/images/icons/lang.svg +4 -0
  234. package/dist/static/images/icons/line.svg +2 -0
  235. package/dist/static/images/icons/weight.svg +53 -0
  236. package/dist/static/images/student.png +0 -0
  237. package/dist/static/images/teacher.png +0 -0
  238. package/package.json +51 -36
  239. package/dist/LMSToolpad/EduMLProvider.d.ts +0 -21
  240. package/dist/LMSToolpad/LMSProvider.d.ts +0 -20
  241. package/dist/LMSToolpad/components/Courses/CourseItem.d.ts +0 -9
  242. package/dist/LMSToolpad/components/Courses/CourseList.d.ts +0 -9
  243. package/dist/LMSToolpad/components/Courses/CourseLoader.d.ts +0 -7
  244. package/dist/LMSToolpad/components/Courses/CourseSelector.d.ts +0 -3
  245. package/dist/LMSToolpad/components/Courses/CourseTools.d.ts +0 -3
  246. package/dist/LMSToolpad/components/Courses/NoCoursesMessage.d.ts +0 -3
  247. package/dist/LMSToolpad/components/EduMLDialog.d.ts +0 -9
  248. package/dist/LMSToolpad/components/MicroserviceRoutes.d.ts +0 -19
  249. package/dist/LMSToolpad/components/PageToolBar.d.ts +0 -3
  250. package/dist/LMSToolpad/components/ToolSelector.d.ts +0 -17
  251. package/dist/LMSToolpad/components/toolbar/Actions.d.ts +0 -1
  252. package/dist/LMSToolpad/constants.d.ts +0 -2
  253. package/dist/LMSToolpad/layout/breadcrumbs/SizableContentHeader.d.ts +0 -7
  254. package/dist/LMSToolpad/network/users.d.ts +0 -5
  255. package/dist/LMSToolpad/store/useCourseStore.d.ts +0 -15
  256. package/dist/LMSToolpad/store/useDialogStore.d.ts +0 -3
  257. package/dist/LMSToolpad/store/useNavigationStore.d.ts +0 -28
  258. package/dist/LMSToolpad/store/useNotificationsStore.d.ts +0 -15
  259. package/dist/LMSToolpad/store/useUserStore.d.ts +0 -26
  260. package/dist/LMSToolpad/theme/EduMLTheme.d.ts +0 -2
  261. package/dist/LMSToolpad/types/toolpad.d.ts +0 -26
  262. package/dist/LMSToolpad/types/vite-env.d.ts +0 -3
  263. package/dist/vite-env.d.ts +0 -1
  264. /package/dist/{LMSToolpad → src/LMSToolpad}/components/Courses/LtiLoginUrlForm.d.ts +0 -0
  265. /package/dist/{LMSToolpad/components → src/LMSToolpad/components/DevTools}/DevelopmentTools.d.ts +0 -0
  266. /package/dist/{LMSToolpad/components → src/LMSToolpad/components/DevTools}/UserSwitcher.d.ts +0 -0
  267. /package/dist/{LMSToolpad/components → src/LMSToolpad/components/Notifications}/Notifications.d.ts +0 -0
  268. /package/dist/{LMSToolpad → src/LMSToolpad}/components/tools/iconsByType.d.ts +0 -0
  269. /package/dist/{LMSToolpad → src/LMSToolpad}/interfaces.d.ts +0 -0
  270. /package/dist/{LMSToolpad/components → src/LMSToolpad/layout/Toolbars/AppToolbar}/Logo.d.ts +0 -0
  271. /package/dist/{LMSToolpad → src/LMSToolpad}/tools/NullStateWarning.d.ts +0 -0
  272. /package/dist/{LMSToolpad → src/LMSToolpad}/utils/caseConverter.d.ts +0 -0
  273. /package/dist/{LMSToolpad → src/LMSToolpad}/utils/slugify.d.ts +0 -0
  274. /package/dist/{LMSToolpad/components → src/common/components/ui/LoadingScreen}/LoadingScreen.d.ts +0 -0
@@ -0,0 +1,15 @@
1
+ /** @format */
2
+ /**
3
+ * Component for selecting course instances from a filtered list.
4
+ *
5
+ * @version 2.1.0
6
+ * @new-component
7
+ * - Provides instance selection UI for courses
8
+ * - Groups instances by course code
9
+ * - Handles active/inactive instance states
10
+ * - Supports nested navigation structure
11
+ *
12
+ * @param {Course[]} courses - Available course instances
13
+ */
14
+ declare const CourseInstanceSelector: () => import("react/jsx-runtime").JSX.Element;
15
+ export default CourseInstanceSelector;
@@ -0,0 +1,6 @@
1
+ /** @format */
2
+ type CourseActionsProps = {
3
+ showEnrollmentOpen: boolean;
4
+ };
5
+ export declare const CourseActions: ({ showEnrollmentOpen }: CourseActionsProps) => import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -0,0 +1,6 @@
1
+ import { Course } from '../store/useCourseStore';
2
+ type CourseHeaderProps = {
3
+ course: Course;
4
+ };
5
+ export declare const CourseHeader: ({ course }: CourseHeaderProps) => import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -0,0 +1,12 @@
1
+ import { Course } from '../store/useCourseStore';
2
+ type CourseHeaderActionsProps = {
3
+ course: Course;
4
+ courseColor: string;
5
+ isTeacher: boolean;
6
+ showEnrollmentOpen?: boolean;
7
+ onSettingsClick: (e: React.MouseEvent<HTMLElement>) => void;
8
+ onEnroll?: (e: React.MouseEvent<HTMLElement>) => void;
9
+ onTeacherEnroll?: (e: React.MouseEvent<HTMLElement>) => void;
10
+ };
11
+ export declare const CourseHeaderActions: ({ course, courseColor, isTeacher, showEnrollmentOpen, onSettingsClick, onEnroll, onTeacherEnroll, }: CourseHeaderActionsProps) => import("react/jsx-runtime").JSX.Element;
12
+ export {};
@@ -0,0 +1,8 @@
1
+ import { SvgIconComponent } from '@mui/icons-material';
2
+ export interface SubjectConfig {
3
+ icon: string;
4
+ baseColor: string;
5
+ levelShades: Record<string, string>;
6
+ }
7
+ export declare const createCourseIcon: (courseColor: string, config: SubjectConfig) => SvgIconComponent;
8
+ export default createCourseIcon;
@@ -0,0 +1,8 @@
1
+ import { Course } from '../store/useCourseStore';
2
+ type CourseInfoProps = {
3
+ course: Course;
4
+ displayMode: "course" | "instance" | "instanceList";
5
+ hasUpcomingEvents: boolean;
6
+ };
7
+ export declare const CourseInfo: ({ course, displayMode, hasUpcomingEvents, }: CourseInfoProps) => import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1,9 @@
1
+ import { Course } from '../store/useCourseStore';
2
+ type CourseItemProps = {
3
+ course: Course;
4
+ isSelected?: boolean;
5
+ displayMode?: "course" | "instance" | "instanceList";
6
+ onClick: (course: Course) => void;
7
+ };
8
+ declare const CourseItem: ({ course, displayMode, onClick, }: CourseItemProps) => import("react/jsx-runtime").JSX.Element;
9
+ export default CourseItem;
@@ -0,0 +1,6 @@
1
+ type CourseListProps = {
2
+ displayMode?: "course" | "instance" | "instanceList";
3
+ containerHeight?: string | number;
4
+ };
5
+ declare const CourseList: ({ displayMode, containerHeight, }: CourseListProps) => import("react/jsx-runtime").JSX.Element;
6
+ export default CourseList;
@@ -0,0 +1,2 @@
1
+ declare const CourseManager: () => import("react/jsx-runtime").JSX.Element;
2
+ export default CourseManager;
@@ -0,0 +1,42 @@
1
+ import { default as React, ReactNode } from 'react';
2
+ interface CourseMicroserviceProps {
3
+ children?: ReactNode;
4
+ }
5
+ /**
6
+ * CourseMicroservice Component
7
+ *
8
+ * @version 3.0.0
9
+ *
10
+ * Fully self-contained microservice that handles all course-related functionality:
11
+ * - Course data fetching and management (via CourseManager)
12
+ * - Course navigation building
13
+ * - Course code and instance routing (/:code, /:code/:instance)
14
+ * - Course tools display
15
+ * - Course microservice registration and routing (/:code/:instance/:microservice)
16
+ * - Route registration with NavigationRegistry (via CourseRoutesProvider)
17
+ *
18
+ * Course microservices (like EduTest) are passed as children and register
19
+ * themselves through the CourseMicroserviceContext.
20
+ *
21
+ * Routes handled:
22
+ * - /:code - Course code selection (CourseCodeLoader + CourseInstanceSelector)
23
+ * - /:code/:instance - Course instance (CourseInstanceLoader + CourseTools)
24
+ * - /:code/:instance/:microservice/* - Course microservice routes
25
+ *
26
+ * @breaking-changes
27
+ * - v3.0.0: Now fully self-contained - includes CourseManager and CourseRoutesProvider
28
+ * - v2.0.0: Uses local state instead of Zustand store
29
+ * - Context provides allCourseMicroserviceNavigation array
30
+ * - Integrates with useNavigationStore to notify about course microservices
31
+ * - v3.1.0: Context logic extracted to separate context file
32
+ *
33
+ * @example
34
+ * ```tsx
35
+ * <CourseMicroservice>
36
+ * <EduTest />
37
+ * <EduTest2 />
38
+ * </CourseMicroservice>
39
+ * ```
40
+ */
41
+ declare const CourseMicroservice: React.FC<CourseMicroserviceProps>;
42
+ export default CourseMicroservice;
@@ -0,0 +1,12 @@
1
+ /** @format */
2
+ /**
3
+ * CourseRoutesProvider Component
4
+ *
5
+ * Registers course routes with the NavigationRegistry as a route provider.
6
+ * This allows Microservices.tsx to be microservice-agnostic - it doesn't need
7
+ * to know about course routes specifically.
8
+ *
9
+ * @version 1.0.0
10
+ */
11
+ declare const CourseRoutesProvider: () => null;
12
+ export default CourseRoutesProvider;
@@ -0,0 +1,21 @@
1
+ import { NavigationPageStoreItem } from '@toolpad/core';
2
+ interface CourseToolsProps {
3
+ microservices?: NavigationPageStoreItem[];
4
+ }
5
+ /**
6
+ * Component for managing and displaying course-specific tools.
7
+ *
8
+ * @version 2.1.0
9
+ * @updates
10
+ * - Added support for microservice-based tool management
11
+ * - Introduced enabled/available tools separation
12
+ * - Added service enablement/disablement functionality
13
+ * - Enhanced teacher-specific tool configuration
14
+ * - Improved UI with centered headings and tool groups
15
+ *
16
+ * @component
17
+ * @param {CourseToolsProps} props
18
+ * @param {NavigationPageStoreItem[]} props.microservices - Array of available microservice tools
19
+ */
20
+ declare const CourseTools: ({ microservices }: CourseToolsProps) => import("react/jsx-runtime").JSX.Element;
21
+ export default CourseTools;
@@ -0,0 +1,23 @@
1
+ /** @format */
2
+ /**
3
+ * CourseSettings Component
4
+ *
5
+ * @version 3.0.0
6
+ * @breaking-changes
7
+ * - Restructured import paths to follow feature-based organization
8
+ * - Enhanced notification handling through dedicated store
9
+ * - Improved dialog management with better state handling
10
+ * - Updated course store integration with new path structure
11
+ * - Enhanced TypeScript strict mode compliance
12
+ * - Standardized string literals for consistency
13
+ *
14
+ * Provides interface for:
15
+ * - Managing course basic information
16
+ * - Configuring course visibility
17
+ * - Managing enrollment settings
18
+ * - Configuring staff access
19
+ * - Setting data processing preferences
20
+ * - Managing course relationships
21
+ */
22
+ declare const CourseSettings: () => import("react/jsx-runtime").JSX.Element;
23
+ export default CourseSettings;
@@ -0,0 +1,9 @@
1
+ import { CourseRaw } from '../../store/useCourseStore';
2
+ import { UserData } from '../../../../components/Events/userTypes';
3
+ type CourseSettingsProps = {
4
+ formData: CourseRaw;
5
+ handleUpdateFormData: (newData: CourseRaw) => void;
6
+ courseUsers?: UserData[];
7
+ };
8
+ export default function CourseSettingsTabs({ formData, handleUpdateFormData, courseUsers, }: CourseSettingsProps): import("react/jsx-runtime").JSX.Element;
9
+ export {};
@@ -0,0 +1,7 @@
1
+ import { CourseRaw } from '../../../store/useCourseStore';
2
+ interface BasicInfoTabProps {
3
+ formData: CourseRaw;
4
+ setFormData: (data: CourseRaw) => void;
5
+ }
6
+ export default function BasicInfoTab({ formData, setFormData, }: BasicInfoTabProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,24 @@
1
+ import { CourseRaw } from '../../../store/useCourseStore';
2
+ interface DataProcessingTabProps {
3
+ formData: CourseRaw;
4
+ setFormData: (data: CourseRaw) => void;
5
+ }
6
+ /**
7
+ * DataProcessingTab Component
8
+ *
9
+ * @version 3.0.0
10
+ * @breaking-changes
11
+ * - Updated component import paths to feature-based structure
12
+ * - Enhanced type safety for data processing options
13
+ * - Standardized string literals for legal bases
14
+ * - Improved default value handling
15
+ * - Added proper type definitions for processing settings
16
+ *
17
+ * Provides interface for:
18
+ * - Setting data processing legal basis
19
+ * - Managing special category data handling
20
+ * - Configuring retention periods
21
+ * - Setting data processing purposes
22
+ */
23
+ export default function DataProcessingTab({ formData, setFormData, }: DataProcessingTabProps): import("react/jsx-runtime").JSX.Element;
24
+ export {};
@@ -0,0 +1,28 @@
1
+ import { CourseRaw } from '../../../store/useCourseStore';
2
+ import { UserData } from '../../../../../components/Events/userTypes';
3
+ interface EnrollmentTabProps {
4
+ formData: CourseRaw;
5
+ setFormData: (data: CourseRaw) => void;
6
+ courseUsers?: UserData[];
7
+ }
8
+ /**
9
+ * EnrollmentTab Component
10
+ *
11
+ * @version 3.0.0
12
+ * @breaking-changes
13
+ * - Enhanced TypeScript string literal types
14
+ * - Improved student list management with better state handling
15
+ * - Updated styling for better visual hierarchy
16
+ * - Enhanced date handling with proper typing
17
+ * - Improved responsive design for mobile and desktop views
18
+ * - Added proper type definitions for enrollment statuses
19
+ *
20
+ * Provides interface for:
21
+ * - Managing course enrollment settings
22
+ * - Handling student enrollment requests
23
+ * - Setting enrollment periods
24
+ * - Managing enrollment capacity
25
+ * - Viewing enrolled and pending students
26
+ */
27
+ export default function EnrollmentTab({ formData, setFormData, courseUsers: _courseUsers, }: EnrollmentTabProps): import("react/jsx-runtime").JSX.Element;
28
+ export {};
@@ -0,0 +1,25 @@
1
+ import { CourseRaw } from '../../../store/useCourseStore';
2
+ interface RelationshipsTabProps {
3
+ formData: CourseRaw;
4
+ setFormData: (data: CourseRaw) => void;
5
+ }
6
+ /**
7
+ * RelationshipsTab Component
8
+ *
9
+ * @version 3.0.0
10
+ * @breaking-changes
11
+ * - Updated course store import path to feature-based structure
12
+ * - Enhanced type definitions for course relationships
13
+ * - Standardized string literals for relationship types
14
+ * - Improved relationship type descriptions
15
+ * - Added better type safety for relationship management
16
+ *
17
+ * Provides interface for:
18
+ * - Managing course prerequisites
19
+ * - Setting up course continuations
20
+ * - Defining alternative courses
21
+ * - Managing course dependencies
22
+ * - Creating course relationship networks
23
+ */
24
+ export default function RelationshipsTab({ formData, setFormData, }: RelationshipsTabProps): import("react/jsx-runtime").JSX.Element;
25
+ export {};
@@ -0,0 +1,26 @@
1
+ import { CourseRaw } from '../../../store/useCourseStore';
2
+ import { UserData } from '../../../../../components/Events/userTypes';
3
+ interface StaffTabProps {
4
+ formData: CourseRaw;
5
+ setFormData: (data: CourseRaw) => void;
6
+ courseUsers?: UserData[];
7
+ }
8
+ /**
9
+ * StaffTab Component
10
+ *
11
+ * @version 3.0.0
12
+ * @breaking-changes
13
+ * - Updated course store import path to feature-based structure
14
+ * - Enhanced TypeScript type definitions for staff roles
15
+ * - Improved staff removal confirmation handling
16
+ * - Updated styling for better accessibility
17
+ * - Added proper aria labels for actions
18
+ *
19
+ * Provides interface for:
20
+ * - Managing course staff members
21
+ * - Adding/removing teaching staff
22
+ * - Viewing staff permissions
23
+ * - Managing staff roles
24
+ */
25
+ export default function StaffTab({ formData, setFormData }: StaffTabProps): import("react/jsx-runtime").JSX.Element;
26
+ export {};
@@ -0,0 +1,24 @@
1
+ import { CourseRaw } from '../../../store/useCourseStore';
2
+ interface VisibilityTabProps {
3
+ formData: CourseRaw;
4
+ setFormData: (data: CourseRaw) => void;
5
+ }
6
+ /**
7
+ * VisibilityTab Component
8
+ *
9
+ * @version 3.0.0
10
+ * @breaking-changes
11
+ * - Standardized string literals for visibility modes
12
+ * - Enhanced type safety for visibility settings
13
+ * - Improved date picker integration
14
+ * - Added helper text explanations for each visibility mode
15
+ * - Updated styling for better visual feedback
16
+ *
17
+ * Provides interface for:
18
+ * - Setting course visibility mode
19
+ * - Configuring visibility periods
20
+ * - Managing access control
21
+ * - Setting visibility schedules
22
+ */
23
+ export default function VisibilityTab({ formData, setFormData, }: VisibilityTabProps): import("react/jsx-runtime").JSX.Element;
24
+ export {};
@@ -0,0 +1,2 @@
1
+ import { default as React } from 'react';
2
+ export declare const CourseNavigationBuilder: React.FC;
@@ -0,0 +1,8 @@
1
+ import { NavigationPageStoreItem } from '@toolpad/core';
2
+ type ToolCardProps = {
3
+ item: NavigationPageStoreItem;
4
+ onToggleService?: (path: string) => void;
5
+ isUsed?: boolean;
6
+ };
7
+ declare const ToolCard: ({ item, onToggleService, isUsed }: ToolCardProps) => import("react/jsx-runtime").JSX.Element;
8
+ export default ToolCard;
@@ -0,0 +1,11 @@
1
+ import { NavigationPageStoreItem } from '@toolpad/core';
2
+ interface ToolDisplayerProps {
3
+ show: boolean;
4
+ title: string;
5
+ onToggleService?: (path: string) => void;
6
+ navItems: NavigationPageStoreItem[];
7
+ roleCheck?: boolean;
8
+ isUsed?: boolean;
9
+ }
10
+ declare const ToolDisplayer: ({ show, onToggleService, navItems, roleCheck, isUsed, }: ToolDisplayerProps) => import("react/jsx-runtime").JSX.Element;
11
+ export default ToolDisplayer;
@@ -0,0 +1,10 @@
1
+ import { courseLevel } from '../store/useCourseStore';
2
+ export declare const subjectConfig: {
3
+ [key: string]: {
4
+ icon: string;
5
+ baseColor: string;
6
+ levelShades: {
7
+ [K in courseLevel]: string;
8
+ };
9
+ };
10
+ };
@@ -0,0 +1,26 @@
1
+ import { default as React, ReactNode } from 'react';
2
+ import { NavigationPageStoreItem } from '@toolpad/core';
3
+ /**
4
+ * Context for course microservices to register themselves
5
+ */
6
+ export interface CourseMicroserviceContextValue {
7
+ registerCourseMicroservice: (navigation: NavigationPageStoreItem) => void;
8
+ unregisterCourseMicroservice: (segment: string) => void;
9
+ allCourseMicroserviceNavigation: NavigationPageStoreItem[];
10
+ isInsideCourseMicroservice: boolean;
11
+ }
12
+ export declare const CourseMicroserviceContext: React.Context<CourseMicroserviceContextValue>;
13
+ /**
14
+ * Hook for course microservices to register themselves.
15
+ * Returns isInsideCourseMicroservice=false if used outside CourseMicroservice provider.
16
+ */
17
+ export declare const useCourseMicroserviceRegistration: () => CourseMicroserviceContextValue;
18
+ interface CourseMicroserviceProviderProps {
19
+ children: ReactNode;
20
+ }
21
+ /**
22
+ * Provider component for CourseMicroserviceContext.
23
+ * Manages the state of registered course microservices and syncs with the navigation store.
24
+ */
25
+ export declare const CourseMicroserviceProvider: React.FC<CourseMicroserviceProviderProps>;
26
+ export {};
@@ -0,0 +1,6 @@
1
+ import { default as React } from 'react';
2
+ /**
3
+ * Hook that generates course routes from registered course microservices
4
+ * @returns Array of Route elements for course routing
5
+ */
6
+ export declare const useCourseRoutes: () => React.ReactElement<unknown, string | React.JSXElementConstructor<any>>[];
@@ -0,0 +1,9 @@
1
+ /** @format */
2
+ export declare const subjectTopics: {
3
+ readonly 'COMP.CS': readonly ["Programming", "Data Structures", "Algorithms", "Web Development", "Machine Learning", "Artificial Intelligence", "Cybersecurity", "Computer Networks", "Operating Systems", "Software Engineering", "Database Systems", "Computer Graphics", "Mobile Development", "Cloud Computing"];
4
+ readonly MATH: readonly ["Calculus", "Linear Algebra", "Discrete Mathematics", "Statistics", "Probability Theory", "Number Theory", "Differential Equations", "Numerical Analysis", "Optimization", "Graph Theory"];
5
+ readonly PHYS: readonly ["Mechanics", "Thermodynamics", "Electromagnetism", "Quantum Physics", "Optics", "Nuclear Physics", "Relativity", "Particle Physics", "Astrophysics", "Material Science"];
6
+ readonly BIO: readonly ["Cell Biology", "Genetics", "Ecology", "Microbiology", "Molecular Biology", "Physiology", "Evolution", "Biochemistry", "Neuroscience", "Biotechnology"];
7
+ readonly CHEM: readonly ["Organic Chemistry", "Inorganic Chemistry", "Physical Chemistry", "Analytical Chemistry", "Biochemistry", "Polymer Chemistry", "Environmental Chemistry", "Medicinal Chemistry", "Material Chemistry", "Chemical Engineering"];
8
+ readonly LANG: readonly ["Academic Writing", "Technical Communication", "Scientific Writing", "Research Methods", "Professional Communication", "Intercultural Communication", "Digital Communication", "Documentation", "Content Design", "Public Speaking"];
9
+ };
@@ -0,0 +1,8 @@
1
+ import { HttpResponse } from 'msw';
2
+ import { CourseBackendData, CourseRawBackendData } from './types';
3
+ export declare const getCourseByIdResponse: (courseId: string) => HttpResponse;
4
+ export declare const getCoursesResponse: () => HttpResponse;
5
+ export declare const createCourseResponse: (newCourse: CourseRawBackendData) => HttpResponse;
6
+ export declare const updateCourseResponse: (updatedCourse: CourseBackendData) => HttpResponse;
7
+ export declare const deleteCourseResponse: (courseId: string) => HttpResponse;
8
+ export declare const courseHandlers: import('msw').HttpHandler[];
@@ -0,0 +1,13 @@
1
+ import { UserBackendData } from '../../Users/mocks/types';
2
+ import { CourseBackendData, CourseEnrollmentBackendData } from './types';
3
+ export declare function generateCourses(config: {
4
+ coursesPerYear: number;
5
+ startYear: number;
6
+ numberOfYears: number;
7
+ users: UserBackendData[];
8
+ }): {
9
+ courses: CourseBackendData[];
10
+ enrollmentsByCourse: {
11
+ [key: string]: CourseEnrollmentBackendData[];
12
+ };
13
+ };
@@ -0,0 +1,109 @@
1
+ import { courseEventFrequency, courseLevel, courseRelationType, enrollmentStatus, legalBasis, visibilityMode, courseEventType, courseRole } from '../store/useCourseStore';
2
+ export interface CourseEventBackendData {
3
+ id: string;
4
+ type: courseEventType;
5
+ title: string;
6
+ description?: string;
7
+ start_time: string;
8
+ end_time?: string;
9
+ location?: string;
10
+ teachers?: CourseEnrollmentBackendData[];
11
+ recurring?: {
12
+ frequency: courseEventFrequency;
13
+ until: string;
14
+ exceptions?: string[];
15
+ };
16
+ max_participants?: number;
17
+ requires_registration?: boolean;
18
+ }
19
+ export interface CourseEnrollmentBackendData {
20
+ user_id: string;
21
+ role: courseRole;
22
+ status: enrollmentStatus;
23
+ enrollment_date?: string;
24
+ request_date?: string;
25
+ }
26
+ export interface CourseRelationBackendData {
27
+ code: string;
28
+ type: courseRelationType;
29
+ description?: string;
30
+ required?: boolean;
31
+ }
32
+ export type CourseRawBackendData = {
33
+ title: string;
34
+ description: string;
35
+ code: string;
36
+ instance: string;
37
+ lti_login_url?: string;
38
+ services?: string[];
39
+ image?: {
40
+ large: string;
41
+ medium: string;
42
+ thumbnail: string;
43
+ };
44
+ start_date: string | null;
45
+ end_date: string | null;
46
+ visibility: {
47
+ mode: visibilityMode;
48
+ start_date: string | null;
49
+ end_date: string | null;
50
+ };
51
+ events: {
52
+ [key in courseEventType]: CourseEventBackendData[];
53
+ };
54
+ tags?: string[];
55
+ language?: string;
56
+ data_processing: {
57
+ purposes: string[];
58
+ retention: number;
59
+ third_party_processors: {
60
+ name: string;
61
+ purpose: string;
62
+ data_shared: string[];
63
+ }[];
64
+ special_categories: boolean;
65
+ legal_basis: legalBasis;
66
+ };
67
+ enrollment: {
68
+ start_date: string | null;
69
+ end_date: string | null;
70
+ status: {
71
+ open: boolean;
72
+ max_students?: number;
73
+ };
74
+ };
75
+ relationships?: {
76
+ prerequisites: CourseRelationBackendData[];
77
+ continuations: CourseRelationBackendData[];
78
+ alternatives: CourseRelationBackendData[];
79
+ related: CourseRelationBackendData[];
80
+ };
81
+ study_module?: {
82
+ name: string;
83
+ order?: number;
84
+ credits: number;
85
+ level: courseLevel;
86
+ };
87
+ };
88
+ export interface CourseBackendData extends CourseRawBackendData {
89
+ id: string;
90
+ created_at: string;
91
+ updated_at: string;
92
+ }
93
+ export interface CourseBackendDataWithEnrollments extends CourseBackendData {
94
+ data: {
95
+ my_data?: {
96
+ role: courseRole;
97
+ status: enrollmentStatus;
98
+ };
99
+ enrollment_data?: CourseEnrollmentBackendData[];
100
+ };
101
+ }
102
+ export interface CourseEnrollmentBackendData {
103
+ user_id: string;
104
+ course_id: string;
105
+ name: string;
106
+ email: string;
107
+ role: courseRole;
108
+ status: enrollmentStatus;
109
+ }
@@ -1,12 +1,5 @@
1
- /** @format */
2
1
  import { Course, CourseRaw } from '../store/useCourseStore';
3
2
  /**
4
- * @description Helper function to make a GET request to retrieve the current course
5
- * @returns Promise<Course> - The current course object
6
- */
7
- export declare function getCurrentCourse(): Promise<Course>;
8
- /**
9
- *
10
3
  * @description Helper function to make a GET request to retrieve courses
11
4
  * @returns Promise<Course[]> - The list of courses
12
5
  */
@@ -35,7 +28,7 @@ export declare function addCourse(courseData: CourseRaw): Promise<Course>;
35
28
  * @param courseData - The course data to update
36
29
  * @returns Updated course object
37
30
  */
38
- export declare function updateCourse(courseData: Course): Promise<Course>;
31
+ export declare const updateCourse: (course: Course) => Promise<Course>;
39
32
  /**
40
33
  * @description Helper function to make a DELETE request to delete a course
41
34
  * @param courseId - The ID of the course to delete