mui-toolpad-extended-tuni 2.1.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 +158 -20
  2. package/dist/index.cjs +193 -149
  3. package/dist/index.d.ts +2 -49
  4. package/dist/index.es.js +66328 -19259
  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/CourseEventPublisher.d.ts +8 -0
  46. package/dist/src/LMSToolpad/components/Courses/CourseItem/CourseActions.d.ts +6 -0
  47. package/dist/src/LMSToolpad/components/Courses/CourseItem/CourseHeader.d.ts +6 -0
  48. package/dist/src/LMSToolpad/components/Courses/CourseItem/CourseHeaderActions.d.ts +12 -0
  49. package/dist/src/LMSToolpad/components/Courses/CourseItem/CourseIcon.d.ts +8 -0
  50. package/dist/src/LMSToolpad/components/Courses/CourseItem/CourseInfo.d.ts +8 -0
  51. package/dist/src/LMSToolpad/components/Courses/CourseItem/CourseItem.d.ts +9 -0
  52. package/dist/src/LMSToolpad/components/Courses/CourseList.d.ts +6 -0
  53. package/dist/src/LMSToolpad/components/Courses/CourseManager.d.ts +2 -0
  54. package/dist/src/LMSToolpad/components/Courses/CourseMicroservice.d.ts +42 -0
  55. package/dist/src/LMSToolpad/components/Courses/CourseRoutesProvider.d.ts +12 -0
  56. package/dist/{LMSToolpad → src/LMSToolpad}/components/Courses/CourseTools.d.ts +2 -3
  57. package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/CourseSettings.d.ts +23 -0
  58. package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/CourseSettingsTabs.d.ts +9 -0
  59. package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/tabs/BasicInfoTab.d.ts +7 -0
  60. package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/tabs/DataProcessingTab.d.ts +24 -0
  61. package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/tabs/EnrollmentTab.d.ts +28 -0
  62. package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/tabs/RelationshipsTab.d.ts +25 -0
  63. package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/tabs/StaffTab.d.ts +26 -0
  64. package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/tabs/VisibilityTab.d.ts +24 -0
  65. package/dist/src/LMSToolpad/components/Courses/Navigation/CourseNavigationbuilder.d.ts +2 -0
  66. package/dist/{LMSToolpad/components → src/LMSToolpad/components/Courses/components/ToolDisplayer}/ToolCard.d.ts +1 -1
  67. package/dist/{LMSToolpad/components → src/LMSToolpad/components/Courses/components/ToolDisplayer}/ToolDisplayer.d.ts +1 -11
  68. package/dist/src/LMSToolpad/components/Courses/config/subjectConfig.d.ts +10 -0
  69. package/dist/src/LMSToolpad/components/Courses/context/CourseMicroserviceContext.d.ts +26 -0
  70. package/dist/src/LMSToolpad/components/Courses/hooks/useCourseRoutes.d.ts +6 -0
  71. package/dist/src/LMSToolpad/components/Courses/mocks/commented.d.ts +0 -0
  72. package/dist/src/LMSToolpad/components/Courses/mocks/constants.d.ts +9 -0
  73. package/dist/src/LMSToolpad/components/Courses/mocks/endpoints.d.ts +8 -0
  74. package/dist/src/LMSToolpad/components/Courses/mocks/generators.d.ts +13 -0
  75. package/dist/src/LMSToolpad/components/Courses/mocks/types.d.ts +109 -0
  76. package/dist/{LMSToolpad → src/LMSToolpad/components/Courses}/network/courses.d.ts +1 -8
  77. package/dist/src/LMSToolpad/components/Courses/store/useCourseStore.d.ts +146 -0
  78. package/dist/{LMSToolpad → src/LMSToolpad/components/Courses}/utils/courseFilters.d.ts +8 -1
  79. package/dist/{LMSToolpad → src/LMSToolpad}/components/Dialogs/DialogOpener.d.ts +0 -1
  80. package/dist/src/LMSToolpad/components/Dialogs/Dialogs.d.ts +3 -0
  81. package/dist/src/LMSToolpad/components/Dialogs/ExtendedDialog.d.ts +8 -0
  82. package/dist/{LMSToolpad → src/LMSToolpad}/components/Dialogs/FormDialog.d.ts +5 -1
  83. package/dist/src/LMSToolpad/components/Dialogs/dialogRegistry.d.ts +3 -0
  84. package/dist/src/LMSToolpad/components/Events/EventBus.d.ts +34 -0
  85. package/dist/src/LMSToolpad/components/Events/UserBus.d.ts +111 -0
  86. package/dist/src/LMSToolpad/components/Events/hooks/useCurrentUser.d.ts +11 -0
  87. package/dist/src/LMSToolpad/components/Events/hooks/useUserActions.d.ts +15 -0
  88. package/dist/src/LMSToolpad/components/Events/hooks/useUserPreferences.d.ts +22 -0
  89. package/dist/src/LMSToolpad/components/Events/index.d.ts +10 -0
  90. package/dist/src/LMSToolpad/components/Events/types.d.ts +16 -0
  91. package/dist/src/LMSToolpad/components/Events/userTypes.d.ts +78 -0
  92. package/dist/{LMSToolpad → src/LMSToolpad}/components/IconWithBadge.d.ts +0 -1
  93. package/dist/{LMSToolpad/components → src/LMSToolpad/components/Microservices}/MicroserviceNavigationBuilder.d.ts +3 -3
  94. package/dist/src/LMSToolpad/components/Microservices/MicroserviceSubsections.d.ts +9 -0
  95. package/dist/src/LMSToolpad/components/Microservices/Microservices.d.ts +25 -0
  96. package/dist/src/LMSToolpad/components/Microservices/types.d.ts +12 -0
  97. package/dist/src/LMSToolpad/components/Navigation/NavigationBuilder.d.ts +6 -0
  98. package/dist/src/LMSToolpad/components/Navigation/NavigationFilter.d.ts +1 -0
  99. package/dist/src/LMSToolpad/components/Navigation/NavigationRegistry.d.ts +116 -0
  100. package/dist/src/LMSToolpad/components/Navigation/hooks/useMicroserviceNavigation.d.ts +4 -0
  101. package/dist/src/LMSToolpad/components/Navigation/hooks/useMicroserviceRoutes.d.ts +6 -0
  102. package/dist/src/LMSToolpad/components/Navigation/hooks/useNavigationSectionManager.d.ts +23 -0
  103. package/dist/src/LMSToolpad/components/Navigation/hooks/useSyncNavigationFilters.d.ts +1 -0
  104. package/dist/src/LMSToolpad/components/Navigation/store/microserviceUtils.d.ts +9 -0
  105. package/dist/src/LMSToolpad/components/Navigation/store/navigationCalculator.d.ts +11 -0
  106. package/dist/src/LMSToolpad/components/Navigation/store/sectionManager.d.ts +9 -0
  107. package/dist/src/LMSToolpad/components/Navigation/store/types.d.ts +90 -0
  108. package/dist/src/LMSToolpad/components/Navigation/store/useNavigationFilterStore.d.ts +6 -0
  109. package/dist/src/LMSToolpad/components/Navigation/store/useNavigationStore.d.ts +50 -0
  110. package/dist/src/LMSToolpad/components/Notifications/store/useNotificationsStore.d.ts +22 -0
  111. package/dist/src/LMSToolpad/components/Routes/Home/Home.d.ts +2 -0
  112. package/dist/src/LMSToolpad/components/Users/Forms/UserSettings/UserSettings.d.ts +22 -0
  113. package/dist/src/LMSToolpad/components/Users/UserEventPublisher.d.ts +8 -0
  114. package/dist/src/LMSToolpad/components/Users/UserManager.d.ts +2 -0
  115. package/dist/src/LMSToolpad/components/Users/UserMicroservice.d.ts +34 -0
  116. package/dist/src/LMSToolpad/components/Users/index.d.ts +6 -0
  117. package/dist/src/LMSToolpad/components/Users/mocks/constants.d.ts +59 -0
  118. package/dist/src/LMSToolpad/components/Users/mocks/endpoints.d.ts +3 -0
  119. package/dist/src/LMSToolpad/components/Users/mocks/generators.d.ts +6 -0
  120. package/dist/src/LMSToolpad/components/Users/mocks/types.d.ts +52 -0
  121. package/dist/src/LMSToolpad/components/Users/network/users.d.ts +7 -0
  122. package/dist/src/LMSToolpad/components/Users/store/useUserStore.d.ts +63 -0
  123. package/dist/{LMSToolpad → src/LMSToolpad}/components/tools/addActions.d.ts +2 -2
  124. package/dist/{LMSToolpad → src/LMSToolpad}/components/tools/addIcons.d.ts +1 -1
  125. package/dist/{LMSToolpad → src/LMSToolpad}/components/tools/utils/ActionFCWrapper.d.ts +2 -2
  126. package/dist/{LMSToolpad → src/LMSToolpad}/components/tools/utils/IconFCWrapper.d.ts +0 -1
  127. package/dist/src/LMSToolpad/constants.d.ts +67 -0
  128. package/dist/{LMSToolpad → src/LMSToolpad}/hooks/useCustomRouter.d.ts +2 -2
  129. package/dist/src/LMSToolpad/hooks/useVisitedCourses.d.ts +18 -0
  130. package/dist/src/LMSToolpad/index.d.ts +1 -0
  131. package/dist/src/LMSToolpad/layout/Content/PageContent.d.ts +5 -0
  132. package/dist/{LMSToolpad/components/toolbar → src/LMSToolpad/layout/Toolbars/AppToolbar}/Account.d.ts +1 -0
  133. package/dist/src/LMSToolpad/layout/Toolbars/AppToolbar/CollapsibleMenu.d.ts +1 -0
  134. package/dist/src/LMSToolpad/layout/Toolbars/AppToolbar/RegisteredAppTools.d.ts +11 -0
  135. package/dist/src/LMSToolpad/layout/Toolbars/AppToolbar/SearchBar.d.ts +6 -0
  136. package/dist/src/LMSToolpad/layout/Toolbars/PageToolbar/RegisteredPageTools.d.ts +37 -0
  137. package/dist/src/LMSToolpad/layout/Toolbars/toolbarRegistry.d.ts +117 -0
  138. package/dist/{LMSToolpad/components → src/LMSToolpad/layout}/sidebar/Footer.d.ts +0 -1
  139. package/dist/src/LMSToolpad/mocks/browser.d.ts +2 -0
  140. package/dist/src/LMSToolpad/mocks/handlers.d.ts +2 -0
  141. package/dist/src/LMSToolpad/mocks/store.d.ts +24 -0
  142. package/dist/{LMSToolpad → src/LMSToolpad}/network/axiosConfig.d.ts +1 -1
  143. package/dist/src/LMSToolpad/store/useDialogStore.d.ts +9 -0
  144. package/dist/src/LMSToolpad/store/usePlatformStore.d.ts +165 -0
  145. package/dist/src/LMSToolpad/store/useThemeStore.d.ts +184 -0
  146. package/dist/src/LMSToolpad/store/useToolbarStore.d.ts +8 -0
  147. package/dist/src/LMSToolpad/theme/EduMLTheme.d.ts +2 -0
  148. package/dist/{LMSToolpad → src/LMSToolpad}/tools/ErrorBoundary.d.ts +1 -2
  149. package/dist/src/LMSToolpad/utils/__tests__/courseFilters.test.d.ts +2 -0
  150. package/dist/src/LMSToolpad/utils/apiPrefix.d.ts +2 -0
  151. package/dist/src/LMSToolpad/utils/cookieUtils.d.ts +27 -0
  152. package/dist/src/LMSToolpad/utils/parseDate.d.ts +2 -0
  153. package/dist/src/LMSToolpad/utils/slugify.d.ts +1 -0
  154. package/dist/src/common/components/index.d.ts +2 -0
  155. package/dist/src/common/components/layout/GridLayout/GridItem.d.ts +17 -0
  156. package/dist/src/common/components/layout/GridLayout/GridItemContext.d.ts +26 -0
  157. package/dist/src/common/components/layout/GridLayout/ResponsiveGridLayout.d.ts +16 -0
  158. package/dist/src/common/components/layout/GridLayout/Tools/BreakpointIndicator.d.ts +8 -0
  159. package/dist/src/common/components/layout/GridLayout/Tools/EditModeToggler.d.ts +7 -0
  160. package/dist/src/common/components/layout/GridLayout/hooks/useGridLayoutManagement.d.ts +27 -0
  161. package/dist/src/common/components/layout/GridLayout/index.d.ts +12 -0
  162. package/dist/src/common/components/layout/GridLayout/layoutStorageUtils.d.ts +52 -0
  163. package/dist/src/common/components/layout/GridLayout/layoutUtils.d.ts +78 -0
  164. package/dist/src/common/components/layout/GridLayout/store/usePanelStore.d.ts +27 -0
  165. package/dist/src/common/components/layout/GridLayout/useGridLayout.d.ts +11 -0
  166. package/dist/src/common/components/layout/index.d.ts +1 -0
  167. package/dist/src/common/components/ui/CollapsingButtons/CollapsingButtons.d.ts +11 -0
  168. package/dist/src/common/components/ui/CompoundPanel/CompoundPanel.d.ts +86 -0
  169. package/dist/src/common/components/ui/Panel/Expandable/Expandable.d.ts +4 -0
  170. package/dist/src/common/components/ui/Panel/Expandable/context/ExpandableContextProvider.d.ts +10 -0
  171. package/dist/src/common/components/ui/Panel/Expandable/hooks/useCollapseHandler.d.ts +2 -0
  172. package/dist/src/common/components/ui/Panel/Expandable/hooks/useExpandable.d.ts +17 -0
  173. package/dist/src/common/components/ui/Panel/Expandable/hooks/useExpansionAnimation.d.ts +5 -0
  174. package/dist/src/common/components/ui/Panel/Expandable/hooks/useInitialSetup.d.ts +6 -0
  175. package/dist/src/common/components/ui/Panel/Expandable/hooks/useResizeHandler.d.ts +1 -0
  176. package/dist/src/common/components/ui/Panel/Expandable/store/useExpandablePanelStore.d.ts +7 -0
  177. package/dist/src/common/components/ui/Panel/Main/Context/PanelContextProvider.d.ts +50 -0
  178. package/dist/src/common/components/ui/Panel/Main/Panel.d.ts +3 -0
  179. package/dist/src/common/components/ui/Panel/Main/hooks/useDimensionManagement.d.ts +13 -0
  180. package/dist/src/common/components/ui/Panel/Main/hooks/usePersistentDimensions.d.ts +19 -0
  181. package/dist/src/common/components/ui/Panel/Main/tools/BlurOverlay.d.ts +6 -0
  182. package/dist/src/common/components/ui/Panel/Main/tools/ToolsContainer.d.ts +11 -0
  183. package/dist/src/common/components/ui/Panel/Movable/DraggableItem.d.ts +6 -0
  184. package/dist/src/common/components/ui/Panel/Movable/MovablePanel.d.ts +9 -0
  185. package/dist/src/common/components/ui/Panel/Movable/MoveToggler.d.ts +3 -0
  186. package/dist/src/common/components/ui/Panel/Movable/context/MovableContextProvider.d.ts +10 -0
  187. package/dist/src/common/components/ui/Panel/Movable/hooks/usePersistentOrder.d.ts +3 -0
  188. package/dist/src/common/components/ui/Panel/Resizable/Context/ResizableContextProvider.d.ts +27 -0
  189. package/dist/src/common/components/ui/Panel/Resizable/Hooks/useResizeHandlers.d.ts +26 -0
  190. package/dist/src/common/components/ui/Panel/Resizable/Hooks/useResponsiveResize.d.ts +14 -0
  191. package/dist/src/common/components/ui/Panel/Resizable/Resizable.d.ts +3 -0
  192. package/dist/src/common/components/ui/Panel/Resizable/ResizeHandlers.d.ts +7 -0
  193. package/dist/src/common/components/ui/Panel/Resizable/ResizeIndicator.d.ts +9 -0
  194. package/dist/src/common/components/ui/Panel/Scrollable/InternalScrolling.d.ts +11 -0
  195. package/dist/src/common/components/ui/Panel/Scrollable/PaginationDots.d.ts +13 -0
  196. package/dist/src/common/components/ui/Panel/Scrollable/Scrollable.d.ts +5 -0
  197. package/dist/src/common/components/ui/Panel/Scrollable/context/ScrollerContextProvider.d.ts +15 -0
  198. package/dist/src/common/components/ui/Panel/Scrollable/hooks/useScrollControls.d.ts +28 -0
  199. package/dist/src/common/components/ui/Panel/TBR/PanelContent.d.ts +24 -0
  200. package/dist/src/common/components/ui/Panel/TBR/ResizablePanel.d.ts +3 -0
  201. package/dist/src/common/components/ui/Panel/TBR/ResizeHandlers.d.ts +10 -0
  202. package/dist/src/common/components/ui/Panel/TBR/ResizeIndicator.d.ts +10 -0
  203. package/dist/src/common/components/ui/Panel/TBR/useResizablePanel.d.ts +32 -0
  204. package/dist/src/common/components/ui/Panel/types.d.ts +9 -0
  205. package/dist/src/common/components/ui/Scroller/PaginationDots.d.ts +13 -0
  206. package/dist/src/common/components/ui/Scroller/Scroller.d.ts +14 -0
  207. package/dist/src/common/components/ui/Scroller/context/ScrollerContextProvider.d.ts +15 -0
  208. package/dist/src/common/components/ui/Scroller/hooks/useScrollControls.d.ts +28 -0
  209. package/dist/src/common/components/ui/Scroller/types.d.ts +1 -0
  210. package/dist/src/common/components/ui/SpeedDialButton/SpeedDialButton.d.ts +20 -0
  211. package/dist/src/common/components/ui/ThemeToggle/ThemeToggle.d.ts +3 -0
  212. package/dist/src/common/components/ui/index.d.ts +15 -0
  213. package/dist/src/common/hooks/index.d.ts +1 -0
  214. package/dist/src/common/hooks/useRetry.d.ts +12 -0
  215. package/dist/src/common/index.d.ts +2 -0
  216. package/dist/src/index.d.ts +74 -0
  217. package/dist/src/main.d.ts +0 -0
  218. package/dist/src/setupTests.d.ts +0 -0
  219. package/dist/src/test/Contact.d.ts +8 -0
  220. package/dist/src/test/EduTest.d.ts +10 -0
  221. package/dist/src/test/EduTest2.d.ts +10 -0
  222. package/dist/src/test/Help.d.ts +8 -0
  223. package/dist/static/images/admin.png +0 -0
  224. package/dist/static/images/default-course.webp +0 -0
  225. package/dist/static/images/guest.png +0 -0
  226. package/dist/static/images/icons/atom.svg +15 -0
  227. package/dist/static/images/icons/brain.svg +49 -0
  228. package/dist/static/images/icons/code.svg +6 -0
  229. package/dist/static/images/icons/dna.svg +38 -0
  230. package/dist/static/images/icons/lang.svg +4 -0
  231. package/dist/static/images/icons/line.svg +2 -0
  232. package/dist/static/images/icons/weight.svg +53 -0
  233. package/dist/static/images/student.png +0 -0
  234. package/dist/static/images/teacher.png +0 -0
  235. package/package.json +51 -36
  236. package/dist/LMSToolpad/EduMLProvider.d.ts +0 -21
  237. package/dist/LMSToolpad/LMSProvider.d.ts +0 -26
  238. package/dist/LMSToolpad/components/Courses/CourseItem.d.ts +0 -25
  239. package/dist/LMSToolpad/components/Courses/CourseList.d.ts +0 -24
  240. package/dist/LMSToolpad/components/Courses/CourseSelector.d.ts +0 -23
  241. package/dist/LMSToolpad/components/Courses/LayoutToggle.d.ts +0 -7
  242. package/dist/LMSToolpad/components/Courses/NoCoursesMessage.d.ts +0 -3
  243. package/dist/LMSToolpad/components/EduMLDialog.d.ts +0 -9
  244. package/dist/LMSToolpad/components/Home.d.ts +0 -13
  245. package/dist/LMSToolpad/components/MicroserviceRoutes.d.ts +0 -44
  246. package/dist/LMSToolpad/components/PageToolBar.d.ts +0 -3
  247. package/dist/LMSToolpad/components/ToolSelector.d.ts +0 -17
  248. package/dist/LMSToolpad/components/toolbar/Actions.d.ts +0 -1
  249. package/dist/LMSToolpad/constants.d.ts +0 -3
  250. package/dist/LMSToolpad/layout/breadcrumbs/SizableContentHeader.d.ts +0 -7
  251. package/dist/LMSToolpad/network/users.d.ts +0 -5
  252. package/dist/LMSToolpad/store/useCourseStore.d.ts +0 -31
  253. package/dist/LMSToolpad/store/useDialogStore.d.ts +0 -3
  254. package/dist/LMSToolpad/store/useNavigationStore.d.ts +0 -42
  255. package/dist/LMSToolpad/store/useNotificationsStore.d.ts +0 -15
  256. package/dist/LMSToolpad/store/useUserStore.d.ts +0 -26
  257. package/dist/LMSToolpad/theme/EduMLTheme.d.ts +0 -2
  258. package/dist/LMSToolpad/types/toolpad.d.ts +0 -26
  259. package/dist/LMSToolpad/types/vite-env.d.ts +0 -3
  260. package/dist/vite-env.d.ts +0 -1
  261. /package/dist/{LMSToolpad → src/LMSToolpad}/components/Courses/CourseCodeLoader.d.ts +0 -0
  262. /package/dist/{LMSToolpad → src/LMSToolpad}/components/Courses/CourseInstanceLoader.d.ts +0 -0
  263. /package/dist/{LMSToolpad → src/LMSToolpad}/components/Courses/CourseInstanceSelector.d.ts +0 -0
  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/components → src/common/components/ui/CenteredHeading}/CenteredHeading.d.ts +0 -0
  274. /package/dist/{LMSToolpad/components → src/common/components/ui/LoadingScreen}/LoadingScreen.d.ts +0 -0
@@ -0,0 +1,146 @@
1
+ import { fetchState } from '../../../interfaces';
2
+ export type courseRole = "student" | "teacher" | "guest";
3
+ export type visibilityMode = "public" | "enrolled" | "private";
4
+ export type courseEventType = "lecture" | "exercise" | "exam" | "deadline" | "other";
5
+ export type courseEventFrequency = "daily" | "weekly" | "biweekly";
6
+ export type legalBasis = "consent" | "contract" | "legal_obligation" | "legitimate_interests";
7
+ export type enrollmentStatus = "enrolled" | "pending" | "rejected";
8
+ export interface EnrollmentData {
9
+ courseId: string;
10
+ userId: string;
11
+ name: string;
12
+ email: string;
13
+ role: courseRole;
14
+ status: enrollmentStatus;
15
+ }
16
+ interface CourseEvent {
17
+ id: string;
18
+ type: courseEventType;
19
+ title: string;
20
+ description?: string;
21
+ startTime: string;
22
+ endTime?: string;
23
+ location?: string;
24
+ teachers?: EnrollmentData[];
25
+ recurring?: {
26
+ frequency: courseEventFrequency;
27
+ until: string;
28
+ exceptions?: string[];
29
+ };
30
+ maxParticipants?: number;
31
+ requiresRegistration?: boolean;
32
+ }
33
+ export type courseRelationType = "prerequisite" | "recommended" | "parallel" | "continues_from" | "alternative_to" | "part_of" | "prepares_for";
34
+ export type courseLevel = "basic" | "intermediate" | "advanced";
35
+ export interface CourseRelation {
36
+ code: string;
37
+ type: courseRelationType;
38
+ description?: string;
39
+ required?: boolean;
40
+ }
41
+ export interface CourseRaw {
42
+ title: string;
43
+ description: string;
44
+ code: string;
45
+ instance: string;
46
+ ltiLoginUrl?: string;
47
+ services?: string[];
48
+ image?: {
49
+ large: string;
50
+ medium: string;
51
+ thumbnail: string;
52
+ };
53
+ startDate: string | null;
54
+ endDate: string | null;
55
+ visibility: {
56
+ mode: visibilityMode;
57
+ startDate: string | null;
58
+ endDate: string | null;
59
+ };
60
+ events: {
61
+ [key in courseEventType]: CourseEvent[];
62
+ };
63
+ tags?: string[];
64
+ language?: string;
65
+ dataProcessing: {
66
+ purposes: string[];
67
+ retention: number;
68
+ thirdPartyProcessors: {
69
+ name: string;
70
+ purpose: string;
71
+ dataShared: string[];
72
+ }[];
73
+ specialCategories: boolean;
74
+ legalBasis: legalBasis;
75
+ };
76
+ enrollment?: {
77
+ startDate: string | null;
78
+ endDate: string | null;
79
+ status: {
80
+ open: boolean;
81
+ maxStudents?: number;
82
+ };
83
+ };
84
+ data?: {
85
+ myData?: {
86
+ role: courseRole;
87
+ status: enrollmentStatus;
88
+ };
89
+ enrollmentData?: EnrollmentData[];
90
+ };
91
+ relationships?: {
92
+ prerequisites: CourseRelation[];
93
+ continuations: CourseRelation[];
94
+ alternatives: CourseRelation[];
95
+ related: CourseRelation[];
96
+ };
97
+ studyModule?: {
98
+ name: string;
99
+ order?: number;
100
+ credits: number;
101
+ level: courseLevel;
102
+ };
103
+ }
104
+ export interface Course extends CourseRaw {
105
+ id: string;
106
+ createdAt: string;
107
+ updatedAt: string;
108
+ }
109
+ export declare const courseTemplate: CourseRaw;
110
+ interface CourseStore {
111
+ fetchState: fetchState;
112
+ currentCourseUrl: string;
113
+ currentCourse: Course | null;
114
+ courseToUpdate: Course | null;
115
+ courses: Course[];
116
+ currentCourseCode: string | null;
117
+ setCourseToUpdate: (course: Course | null) => void;
118
+ setCurrentCourseUrl: (url: string) => void;
119
+ setCurrentCourse: (course: Course | null) => void;
120
+ setCurrentCourseCode: (code: string | null) => void;
121
+ updateStateCourse: (course: Course) => Promise<Course>;
122
+ getCourseByUrl: (url: string) => void;
123
+ getCourses: () => void;
124
+ learningCourses: Course[];
125
+ learningCoursesOld: Course[];
126
+ teachingCourses: Course[];
127
+ teachingCoursesOld: Course[];
128
+ availableCourses: Course[];
129
+ }
130
+ /**
131
+ * Course management store with enhanced instance handling.
132
+ *
133
+ * @version 2.1.0
134
+ * @updates
135
+ * - Added support for course codes and instances
136
+ * - Enhanced course filtering capabilities
137
+ * - Added currentCourseCode state
138
+ * - Updated Course interface with new fields
139
+ * - Added instance-specific state management
140
+ *
141
+ * @breaking-changes
142
+ * - Updated Course interface requires code and instance fields
143
+ * - Changed course identification logic to use code + instance
144
+ */
145
+ declare const useCourseStore: import('zustand/traditional').UseBoundStoreWithEqualityFn<import('zustand').StoreApi<CourseStore>>;
146
+ export default useCourseStore;
@@ -1,5 +1,11 @@
1
- /** @format */
2
1
  import { Course } from '../store/useCourseStore';
2
+ export type CourseGroups = {
3
+ isStudent: Course[];
4
+ isStudentOld: Course[];
5
+ isTeacher: Course[];
6
+ isTeacherOld: Course[];
7
+ available: Course[];
8
+ };
3
9
  export declare const filterUniqueCourses: (courses: Course[]) => Course[];
4
10
  export declare const isActiveCourse: (course: Course) => boolean;
5
11
  export declare const isActivecode: (courses: Course[], code: string) => boolean;
@@ -12,3 +18,4 @@ export declare const groupCoursesByActivity: (courses: Course[], skipUnique?: bo
12
18
  active: Course[];
13
19
  inactive: Course[];
14
20
  };
21
+ export declare const groupCoursesByEnrollment: (courses: Course[]) => CourseGroups;
@@ -1,4 +1,3 @@
1
- /** @format */
2
1
  import { dialogType } from '../../store/useDialogStore';
3
2
  type DialogOpenerProps = {
4
3
  title: string;
@@ -0,0 +1,3 @@
1
+ /** @format */
2
+ declare const Dialogs: () => import("react/jsx-runtime").JSX.Element | null;
3
+ export default Dialogs;
@@ -0,0 +1,8 @@
1
+ import { ReactNode } from 'react';
2
+ type CustomDialogProps = {
3
+ children: ReactNode;
4
+ open: boolean;
5
+ onClose: () => void;
6
+ };
7
+ declare const ExtendedDialog: ({ children, open, onClose, ...dialogProps }: CustomDialogProps) => import("react/jsx-runtime").JSX.Element;
8
+ export default ExtendedDialog;
@@ -1,10 +1,14 @@
1
- /** @format */
1
+ import { DialogProps } from '@mui/material';
2
2
  interface FormDialogProps {
3
3
  onSubmit: (event: React.FormEvent<HTMLFormElement>) => void;
4
4
  title: string;
5
5
  children: React.ReactNode;
6
6
  submitText?: string;
7
7
  disableSubmit?: boolean;
8
+ maxWidth?: DialogProps["maxWidth"];
9
+ fullWidth?: boolean;
10
+ showUnsavedChangesWarning?: boolean;
11
+ isDirty?: boolean;
8
12
  }
9
13
  declare const FormDialog: React.FC<FormDialogProps>;
10
14
  export default FormDialog;
@@ -0,0 +1,3 @@
1
+ /** @format */
2
+ export declare function registerDialog(dialogId: string, Component: React.ComponentType): void;
3
+ export declare function getDialog(dialogId: string): import('react').ComponentType<{}> | undefined;
@@ -0,0 +1,34 @@
1
+ import { Event } from './types';
2
+ /**
3
+ * Event Bus for decoupling event producers from consumers.
4
+ * Modules can publish events and other modules can subscribe to them.
5
+ * This is a generic event system that any module can use.
6
+ */
7
+ export declare class EventBus {
8
+ private static instance;
9
+ private subscribers;
10
+ private events;
11
+ private constructor();
12
+ static getInstance(): EventBus;
13
+ /**
14
+ * Subscribe to event updates
15
+ */
16
+ subscribe(callback: (events: Event[]) => void): () => void;
17
+ /**
18
+ * Publish events to the bus
19
+ */
20
+ publish(sourceId: string, events: Event[]): void;
21
+ /**
22
+ * Remove all events from a specific source
23
+ */
24
+ removeSource(sourceId: string): void;
25
+ /**
26
+ * Get all current events
27
+ */
28
+ getAllEvents(): Event[];
29
+ /**
30
+ * Clear all events
31
+ */
32
+ clear(): void;
33
+ }
34
+ export declare const eventBus: EventBus;
@@ -0,0 +1,111 @@
1
+ import { UserEvent, UserData } from './userTypes';
2
+ /**
3
+ * Configuration interface for UserBus store methods.
4
+ * This allows UserBus to work with any user store implementation.
5
+ */
6
+ export interface UserBusStoreConfig {
7
+ getUser: () => Promise<void>;
8
+ updateUser: (userData: UserData) => Promise<UserData>;
9
+ setUserToUpdate: (user: UserData | null) => void;
10
+ fetchCourseUsers: (courseId: string) => Promise<void>;
11
+ logout: () => Promise<void>;
12
+ getState: () => {
13
+ user: UserData | null;
14
+ courseUsers?: UserData[];
15
+ };
16
+ }
17
+ /**
18
+ * User Bus for decoupling user state changes from consumers.
19
+ * Modules can subscribe to user events and react to user state changes.
20
+ * This follows the same pattern as EventBus but is specifically for user-related events.
21
+ *
22
+ * UserBus requires store methods to be configured via configureStore() before use.
23
+ * This allows it to work without direct dependencies on user store implementations.
24
+ */
25
+ export declare class UserBus {
26
+ private static instance;
27
+ private subscribers;
28
+ private currentUser;
29
+ private lastEvent;
30
+ private storeConfig;
31
+ private constructor();
32
+ /**
33
+ * Configure UserBus with store methods.
34
+ * This must be called before using store-dependent methods.
35
+ */
36
+ configureStore(config: UserBusStoreConfig): void;
37
+ private getStoreConfig;
38
+ static getInstance(): UserBus;
39
+ /**
40
+ * Subscribe to user event updates
41
+ * @param callback Function to call when user events occur
42
+ * @returns Unsubscribe function
43
+ */
44
+ subscribe(callback: (event: UserEvent) => void): () => void;
45
+ /**
46
+ * Publish a user event to the bus
47
+ * @param event User event to publish
48
+ */
49
+ publish(event: UserEvent): void;
50
+ /**
51
+ * Get the current user synchronously
52
+ * @returns Current user data or null
53
+ */
54
+ getCurrentUser(): UserData | null;
55
+ /**
56
+ * Get the current user synchronously (alias for getCurrentUser)
57
+ * @returns Current user data or null
58
+ */
59
+ getCurrentUserSync(): UserData | null;
60
+ /**
61
+ * Subscribe to user updates and get current user
62
+ * @param callback Function to call with current user and updates
63
+ * @returns Unsubscribe function
64
+ */
65
+ subscribeToUser(callback: (user: UserData | null) => void): () => void;
66
+ /**
67
+ * Get the last user event
68
+ * @returns Last user event or null
69
+ */
70
+ getLastEvent(): UserEvent | null;
71
+ /**
72
+ * Clear all user state
73
+ */
74
+ clear(): void;
75
+ /**
76
+ * Initialize UserBus with current user from store
77
+ * Should be called by UserEventPublisher on mount
78
+ */
79
+ initializeFromStore(): void;
80
+ /**
81
+ * Get user from store and publish to bus
82
+ * Delegates to store.getUser() and publishes event when complete
83
+ */
84
+ getUser(): Promise<void>;
85
+ /**
86
+ * Update user and publish event
87
+ * Delegates to store.updateUser() and publishes event
88
+ */
89
+ updateUser(userData: UserData): Promise<UserData>;
90
+ /**
91
+ * Set user to update (for editing)
92
+ * Delegates to store.setUserToUpdate()
93
+ */
94
+ setUserToUpdate(user: UserData | null): void;
95
+ /**
96
+ * Fetch course users
97
+ * Delegates to store.fetchCourseUsers()
98
+ */
99
+ fetchCourseUsers(courseId: string): Promise<void>;
100
+ /**
101
+ * Get course users from store
102
+ * @returns Course users array or undefined
103
+ */
104
+ getCourseUsers(): UserData[] | undefined;
105
+ /**
106
+ * Logout user and publish event
107
+ * Delegates to store.logout() and publishes event
108
+ */
109
+ logout(): Promise<void>;
110
+ }
111
+ export declare const userBus: UserBus;
@@ -0,0 +1,11 @@
1
+ import { UserData } from '../userTypes';
2
+ /**
3
+ * Hook to get current user from UserBus
4
+ * Automatically updates when user changes via UserBus events
5
+ *
6
+ * @returns { user: UserData | null, isLoading: boolean }
7
+ */
8
+ export declare const useCurrentUser: () => {
9
+ user: UserData | null;
10
+ isLoading: boolean;
11
+ };
@@ -0,0 +1,15 @@
1
+ import { UserData } from '../userTypes';
2
+ /**
3
+ * Hook that provides user actions through UserBus
4
+ * All actions trigger UserBus events when called
5
+ *
6
+ * @returns { updateUser, setUserToUpdate, fetchCourseUsers, getUser, logout, getCourseUsers }
7
+ */
8
+ export declare const useUserActions: () => {
9
+ updateUser: (userData: UserData) => Promise<UserData>;
10
+ setUserToUpdate: (user: UserData | null) => void;
11
+ fetchCourseUsers: (courseId: string) => Promise<void>;
12
+ getUser: () => Promise<void>;
13
+ logout: () => Promise<void>;
14
+ getCourseUsers: () => UserData[] | undefined;
15
+ };
@@ -0,0 +1,22 @@
1
+ /** @format */
2
+ export interface UserPreferences {
3
+ navigationType: "direct" | "instances";
4
+ visibleCourseLists: {
5
+ isStudent: boolean;
6
+ isStudentOld: boolean;
7
+ isTeacher: boolean;
8
+ isTeacherOld: boolean;
9
+ available: boolean;
10
+ };
11
+ lastVisitedCourses: string[];
12
+ visibleNavigation: string[];
13
+ }
14
+ /**
15
+ * Hook to get user preferences from UserBus
16
+ * Automatically updates when user preferences change via UserBus events
17
+ *
18
+ * @returns { preferences: UserPreferences | null }
19
+ */
20
+ export declare const useUserPreferences: () => {
21
+ preferences: UserPreferences | null;
22
+ };
@@ -0,0 +1,10 @@
1
+ /** @format */
2
+ export { EventBus, eventBus } from './EventBus';
3
+ export type { Event, EventSource } from './types';
4
+ export { UserBus, userBus } from './UserBus';
5
+ export type { UserBusStoreConfig } from './UserBus';
6
+ export type { UserData, UserEvent, UserEventType, PlatformRole, navigationTypes, gender, userId } from './userTypes';
7
+ export { useCurrentUser } from './hooks/useCurrentUser';
8
+ export { useUserPreferences } from './hooks/useUserPreferences';
9
+ export { useUserActions } from './hooks/useUserActions';
10
+ export type { UserPreferences } from './hooks/useUserPreferences';
@@ -0,0 +1,16 @@
1
+ /** @format */
2
+ /**
3
+ * Generic Event interface that can be used by any module.
4
+ * This is the base event type for the Events API.
5
+ */
6
+ export interface Event {
7
+ id: string;
8
+ title: string;
9
+ start: Date | string;
10
+ end?: Date | string;
11
+ metadata?: Record<string, any>;
12
+ }
13
+ /**
14
+ * Event source identifier type for tracking which module published the event
15
+ */
16
+ export type EventSource = string;
@@ -0,0 +1,78 @@
1
+ /** @format */
2
+ /**
3
+ * User data type definition.
4
+ * This is defined here to avoid circular dependencies.
5
+ */
6
+ export type userId = string;
7
+ export type navigationTypes = "direct" | "instances";
8
+ export type gender = "male" | "female" | "other";
9
+ export type PlatformRole = "admin" | "developer" | "moderator" | "creator" | "user" | "guest";
10
+ export interface UserData {
11
+ id: userId;
12
+ name: string;
13
+ email: string;
14
+ gender?: gender;
15
+ image?: {
16
+ large: string;
17
+ medium: string;
18
+ thumbnail: string;
19
+ };
20
+ department?: string;
21
+ platformRoles: PlatformRole[];
22
+ privacySettings: {
23
+ allowAnalytics: boolean;
24
+ allowPersonalization: boolean;
25
+ allowCommunications: boolean;
26
+ allowThirdPartySharing: boolean;
27
+ };
28
+ gdprConsent: {
29
+ accepted: boolean;
30
+ acceptedDate?: string;
31
+ lastUpdated: string;
32
+ };
33
+ dataRetention: {
34
+ deleteAccountAfterInactivity?: number;
35
+ deleteDataAfterAccountDeletion?: number;
36
+ };
37
+ preferences: {
38
+ navigationType: navigationTypes;
39
+ visibleCourseLists: {
40
+ isStudent: boolean;
41
+ isStudentOld: boolean;
42
+ isTeacher: boolean;
43
+ isTeacherOld: boolean;
44
+ available: boolean;
45
+ };
46
+ lastVisitedCourses: string[];
47
+ visibleNavigation: string[];
48
+ };
49
+ }
50
+ /**
51
+ * User event types for UserBus communication.
52
+ * These events are published when user state changes occur.
53
+ */
54
+ export type UserEventType = "user:loggedIn" | "user:updated" | "user:preferencesChanged" | "user:loggedOut";
55
+ export interface UserEvent {
56
+ type: UserEventType;
57
+ user: UserData | null;
58
+ timestamp: string;
59
+ metadata?: Record<string, unknown>;
60
+ }
61
+ export interface UserLoggedInEvent extends UserEvent {
62
+ type: "user:loggedIn";
63
+ user: UserData;
64
+ }
65
+ export interface UserUpdatedEvent extends UserEvent {
66
+ type: "user:updated";
67
+ user: UserData;
68
+ previousUser?: UserData;
69
+ }
70
+ export interface UserPreferencesChangedEvent extends UserEvent {
71
+ type: "user:preferencesChanged";
72
+ user: UserData;
73
+ changedPreferences?: string[];
74
+ }
75
+ export interface UserLoggedOutEvent extends UserEvent {
76
+ type: "user:loggedOut";
77
+ user: null;
78
+ }
@@ -1,4 +1,3 @@
1
- /** @format */
2
1
  import { SxProps, Theme } from '@mui/material/styles';
3
2
  type IconWithBadgeProps = {
4
3
  Icon: React.FC;
@@ -1,10 +1,10 @@
1
- /** @format */
2
- import { NavigationPageStoreItem } from '../store/useNavigationStore';
1
+ import { NavigationPageStoreItem } from '../Navigation/store/types';
3
2
  export type BuildMicroServiceNavigationProps = {
4
3
  segment: string;
5
4
  title: string;
6
5
  description: string;
7
6
  icon: any;
7
+ view?: React.ComponentType;
8
8
  forRoles: string[];
9
9
  children?: NavigationPageStoreItem[];
10
10
  };
@@ -42,4 +42,4 @@ export type BuildMicroServiceNavigationProps = {
42
42
  * });
43
43
  * ```
44
44
  */
45
- export declare const buildMicroServiceNavigation: ({ segment, title, description, icon, forRoles, children, }: BuildMicroServiceNavigationProps) => NavigationPageStoreItem[];
45
+ export declare const buildMicroServiceNavigation: ({ segment, title, description, icon, view, forRoles, children, }: BuildMicroServiceNavigationProps) => NavigationPageStoreItem[];
@@ -0,0 +1,9 @@
1
+ import { NavigationPageStoreItem } from '../Navigation/store/types';
2
+ import { default as React } from 'react';
3
+ /**
4
+ * Sub-sections navigation component for tool pages
5
+ */
6
+ declare const SubSections: React.FC<{
7
+ children: NavigationPageStoreItem[];
8
+ }>;
9
+ export default SubSections;
@@ -0,0 +1,25 @@
1
+ import { default as React } from 'react';
2
+ /**
3
+ * Core component for handling top-level app routing and microservices.
4
+ *
5
+ * @version 3.1.0
6
+ * @breaking-changes
7
+ * - Course routing has been moved to CourseMicroservice component
8
+ * - This component is now microservice-agnostic - it doesn't directly import course routes
9
+ * - Course routes register themselves via CourseRoutesProvider using NavigationRegistry
10
+ *
11
+ * Architecture:
12
+ * - Microservices handles: /, /help, /contact, dynamic microservices (via NavigationRegistry)
13
+ * - Course routes register themselves as route providers via CourseRoutesProvider
14
+ * - All routes are retrieved through useMicroserviceRoutes() which includes route providers
15
+ * - CourseMicroservice handles: /:code, /:code/:instance, /:code/:instance/:microservice
16
+ * - Course microservices are managed by CourseMicroservice component via context (not tightly coupled here)
17
+ *
18
+ * @component
19
+ * @param {Object} props
20
+ * @param {React.ReactNode} props.children - Child components (e.g., CourseMicroservice)
21
+ */
22
+ declare const Microservices: ({ children }: {
23
+ children: React.ReactNode;
24
+ }) => import("react/jsx-runtime").JSX.Element;
25
+ export default Microservices;
@@ -0,0 +1,12 @@
1
+ /** @format */
2
+ /**
3
+ * Configuration interface for microservices
4
+ *
5
+ * Used to define microservice metadata including routing, component, and navigation building.
6
+ */
7
+ export interface MicroserviceConfig {
8
+ path: string;
9
+ Component: React.ComponentType;
10
+ fetchHooks?: Array<(courseId: string) => void>;
11
+ buildNavigation: (courseId: string, isTeacher: boolean) => any[];
12
+ }
@@ -0,0 +1,6 @@
1
+ import { addSectionProps } from './store/types';
2
+ type NavigationSectionBuilderProps = {
3
+ sections: addSectionProps[];
4
+ };
5
+ export declare const NavigationSectionBuilder: React.FC<NavigationSectionBuilderProps>;
6
+ export {};
@@ -0,0 +1 @@
1
+ export declare const NavigationFilter: () => import("react/jsx-runtime").JSX.Element | null;