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
package/README.md CHANGED
@@ -4,6 +4,40 @@
4
4
 
5
5
  A React library extending MUI Toolpad functionality with additional features for educational applications. This library provides components and tools for building interactive educational interfaces.
6
6
 
7
+ ## Version 3.0.0
8
+
9
+ ### Recent Changes
10
+
11
+ - **Modular Architecture**: Calendar, Courses, and Users are now optional extension packages
12
+ - **Standalone Core**: Main package (`mui-toolpad-extended-tuni`) is fully functional without extensions
13
+ - **Extension Packages**: Install only the microservices you need:
14
+ - `@mui-toolpad-extended-tuni/calendar` - Calendar microservice
15
+ - `@mui-toolpad-extended-tuni/courses` - Courses microservice
16
+ - `@mui-toolpad-extended-tuni/users` - Users microservice
17
+ - Enhanced course navigation structure with support for course instances
18
+ - Improved MicroserviceRoutes component with better TypeScript support
19
+ - Added new CourseInstanceSelector and CourseCodeLoader components
20
+ - Updated navigation store with better course instance handling
21
+ - Introduced new course filtering utilities
22
+ - Improved sidebar footer with responsive design
23
+ - Fixed axios configuration to use configured instance with baseURL
24
+ - Fixed user.platformRoles undefined error with optional chaining
25
+
26
+ ### Breaking Changes in v3.0.0
27
+
28
+ - **Extension Packages**: Calendar, Courses, and Users are no longer included in the main package
29
+ - **Optional Extensions**: These microservices must be installed separately if needed
30
+ - **Peer Dependencies**: Extension packages require `mui-toolpad-extended-tuni` as a peer dependency
31
+ - Navigation structure now requires course code and instance properties
32
+ - MicroserviceRoutes configuration requires updated navigation builder function
33
+ - Course data structure updated to include code and instance fields
34
+
35
+ ### Breaking Changes in v2.1.0
36
+
37
+ - Navigation structure now requires course code and instance properties
38
+ - MicroserviceRoutes configuration requires updated navigation builder function
39
+ - Course data structure updated to include code and instance fields
40
+
7
41
  ## Breaking Changes in v2.0.0
8
42
 
9
43
  1. Renamed `EduMLProvider` to `LMSProvider` (EduMLProvider is now deprecated)
@@ -23,10 +57,29 @@ This library requires the following peer dependencies:
23
57
 
24
58
  ## Installation
25
59
 
60
+ ### Core Package (Required)
61
+
26
62
  ```bash
27
63
  npm install mui-toolpad-extended-tuni
28
64
  ```
29
65
 
66
+ ### Optional Extension Packages
67
+
68
+ The main package is fully functional standalone. Install extension packages only if you need their functionality:
69
+
70
+ ```bash
71
+ # Calendar microservice
72
+ npm install @mui-toolpad-extended-tuni/calendar
73
+
74
+ # Courses microservice
75
+ npm install @mui-toolpad-extended-tuni/courses
76
+
77
+ # Users microservice
78
+ npm install @mui-toolpad-extended-tuni/users
79
+ ```
80
+
81
+ **Note**: Extension packages require `mui-toolpad-extended-tuni` as a peer dependency and will automatically register themselves when imported.
82
+
30
83
  ## Basic Usage
31
84
 
32
85
  1. Setup your application with `LMSProvider` and routing:
@@ -48,24 +101,53 @@ function App() {
48
101
 
49
102
  ```tsx
50
103
  import {
51
- useUserStore,
52
- useCourseStore,
53
104
  useNavigationStore,
105
+ useNotificationStore,
54
106
  } from 'mui-toolpad-extended-tuni';
55
107
 
56
108
  function MyComponent() {
57
- const { user } = useUserStore();
58
- const { currentCourse } = useCourseStore();
109
+ const { navigation } = useNavigationStore();
110
+ const { addNotificationData } = useNotificationStore();
59
111
 
60
112
  return (
61
113
  <div>
62
- <h1>Welcome, {user?.name}!</h1>
63
- <p>Current course: {currentCourse?.title}</p>
114
+ <h1>Welcome!</h1>
115
+ {/* Your content */}
64
116
  </div>
65
117
  );
66
118
  }
67
119
  ```
68
120
 
121
+ ### Using Extension Packages
122
+
123
+ If you've installed extension packages, import and use them as microservices:
124
+
125
+ ```tsx
126
+ import { LMSProvider, Microservices } from 'mui-toolpad-extended-tuni';
127
+ import { CourseMicroservice } from '@mui-toolpad-extended-tuni/courses';
128
+ import { UserMicroservice } from '@mui-toolpad-extended-tuni/users';
129
+ import { CalendarMicroservice } from '@mui-toolpad-extended-tuni/calendar';
130
+
131
+ function App() {
132
+ return (
133
+ <BrowserRouter>
134
+ <LMSProvider>
135
+ <Microservices>
136
+ {/* Optionally include extension microservices */}
137
+ <CourseMicroservice>
138
+ {/* Your course microservices */}
139
+ </CourseMicroservice>
140
+ <UserMicroservice />
141
+ <CalendarMicroservice />
142
+ </Microservices>
143
+ </LMSProvider>
144
+ </BrowserRouter>
145
+ );
146
+ }
147
+ ```
148
+
149
+ **Note**: Extension packages auto-register themselves when imported. You don't need to manually register them.
150
+
69
151
  ## Core Components
70
152
 
71
153
  ### LMSProvider
@@ -138,12 +220,14 @@ function MyComponent() {
138
220
 
139
221
  ### Course Management Components
140
222
 
223
+ **Note**: Course management components are available in the `@mui-toolpad-extended-tuni/courses` extension package.
224
+
141
225
  #### CourseSelector
142
226
 
143
227
  A component for listing and selecting courses:
144
228
 
145
229
  ```tsx
146
- import { CourseSelector } from 'mui-toolpad-extended-tuni';
230
+ import { CourseSelector } from '@mui-toolpad-extended-tuni/courses';
147
231
 
148
232
  function MyComponent() {
149
233
  return <CourseSelector />;
@@ -155,7 +239,7 @@ function MyComponent() {
155
239
  Manages course-specific tools and LTI configuration:
156
240
 
157
241
  ```tsx
158
- import { CourseTools } from 'mui-toolpad-extended-tuni';
242
+ import { CourseTools } from '@mui-toolpad-extended-tuni/courses';
159
243
 
160
244
  function MyComponent() {
161
245
  return <CourseTools />;
@@ -167,7 +251,7 @@ function MyComponent() {
167
251
  For teachers to set up course authentication:
168
252
 
169
253
  ```tsx
170
- import { LtiLoginUrlForm } from 'mui-toolpad-extended-tuni';
254
+ import { LtiLoginUrlForm } from '@mui-toolpad-extended-tuni/courses';
171
255
 
172
256
  function MyComponent() {
173
257
  return <LtiLoginUrlForm />;
@@ -229,9 +313,31 @@ When running in development mode (localhost), the library provides additional to
229
313
 
230
314
  ## Available Stores
231
315
 
232
- ### useUserStore
316
+ ### Core Stores (Main Package)
317
+
318
+ The following stores are available in the main package:
319
+
320
+ ### useNavigationStore
321
+
322
+ ```tsx
323
+ const {
324
+ navigation, // Current navigation structure
325
+ addSection, // Add a new section with optional header
326
+ removeSection, // Remove a section and its header if last section
327
+ addMicroserviceNavigation, // Add microservice navigation items
328
+ setNavigation, // Set entire navigation
329
+ } = useNavigationStore();
330
+ ```
331
+
332
+ ### Extension Package Stores
333
+
334
+ **Note**: User and Course stores are available in their respective extension packages:
335
+
336
+ #### useUserStore (`@mui-toolpad-extended-tuni/users`)
233
337
 
234
338
  ```tsx
339
+ import { useUserStore } from '@mui-toolpad-extended-tuni/users';
340
+
235
341
  const {
236
342
  user, // Current user data
237
343
  getUser, // Fetch user data
@@ -240,9 +346,11 @@ const {
240
346
  } = useUserStore();
241
347
  ```
242
348
 
243
- ### useCourseStore
349
+ #### useCourseStore (`@mui-toolpad-extended-tuni/courses`)
244
350
 
245
351
  ```tsx
352
+ import { useCourseStore } from '@mui-toolpad-extended-tuni/courses';
353
+
246
354
  const {
247
355
  currentCourse, // Current active course
248
356
  courses, // List of available courses
@@ -256,7 +364,9 @@ const {
256
364
  ```tsx
257
365
  const {
258
366
  navigation, // Current navigation structure
259
- updateSection, // Update navigation section
367
+ addSection, // Add a new section with optional header
368
+ removeSection, // Remove a section and its header if last section
369
+ addMicroserviceNavigation, // Add microservice navigation items
260
370
  setNavigation, // Set entire navigation
261
371
  } = useNavigationStore();
262
372
  ```
@@ -304,13 +414,23 @@ const underscoreData = convertObjectKeysToUnderscore(requestData);
304
414
 
305
415
  ## Network Configuration
306
416
 
307
- The library includes pre-configured Axios instance for API communications:
417
+ The library includes a pre-configured Axios instance for API communications:
308
418
 
309
419
  ```tsx
310
- import { axiosInstance } from 'mui-toolpad-extended-tuni';
420
+ import { axios } from 'mui-toolpad-extended-tuni';
311
421
 
312
422
  // Handles CSRF tokens and base URL automatically
313
- const response = await axiosInstance.get('/api/endpoint');
423
+ const response = await axios.get('/api/endpoint');
424
+ ```
425
+
426
+ **Important**: Extension packages should use the configured axios instance from the main package to ensure consistent baseURL and CSRF token handling:
427
+
428
+ ```tsx
429
+ // In extension packages
430
+ import { axios } from 'mui-toolpad-extended-tuni';
431
+
432
+ // This ensures correct API path resolution
433
+ const response = await axios.get('api/users/current/');
314
434
  ```
315
435
 
316
436
  ## Course Types and Interfaces
@@ -347,16 +467,47 @@ import { EduMLTheme } from 'mui-toolpad-extended-tuni';
347
467
  // - Z-index hierarchy
348
468
  ```
349
469
 
470
+ **Note**: The theme is provided by the main package and is available to all extension packages automatically.
471
+
472
+ ## Package Architecture
473
+
474
+ ### Main Package (`mui-toolpad-extended-tuni`)
475
+
476
+ The core package provides:
477
+ - LMSProvider and routing infrastructure
478
+ - Navigation system
479
+ - Notification system
480
+ - Dialog management
481
+ - Theme customization
482
+ - Utility functions
483
+ - Configured axios instance
484
+ - Common components and layouts
485
+
486
+ ### Extension Packages
487
+
488
+ Extension packages are optional microservices that can be installed separately:
489
+
490
+ - **`@mui-toolpad-extended-tuni/calendar`**: Calendar functionality
491
+ - **`@mui-toolpad-extended-tuni/courses`**: Course management, routing, and tools
492
+ - **`@mui-toolpad-extended-tuni/users`**: User management and authentication
493
+
494
+ Each extension:
495
+ - Depends on `mui-toolpad-extended-tuni` as a peer dependency
496
+ - Auto-registers itself when imported
497
+ - Can be used independently or together
498
+ - Uses the configured axios instance from the main package
499
+
350
500
  ## Current Limitations
351
501
 
352
502
  1. **Authentication:**
353
503
 
354
- - LTI login URL must be configured per course
504
+ - LTI login URL must be configured per course (requires Courses extension)
355
505
  - Only supports single active session
356
506
  - Development mode uses mock authentication
357
507
 
358
508
  2. **Course Management:**
359
509
 
510
+ - Requires `@mui-toolpad-extended-tuni/courses` extension package
360
511
  - Limited to predefined course structure
361
512
  - No bulk operations support
362
513
  - Course tools must follow specific navigation structure
@@ -372,6 +523,7 @@ import { EduMLTheme } from 'mui-toolpad-extended-tuni';
372
523
  - Base URL is fixed to '/'
373
524
  - CSRF token handling is mandatory
374
525
  - No request caching implementation
526
+ - Extension packages must use the configured axios instance
375
527
 
376
528
  5. **Browser Support:**
377
529
  - Requires modern browser features
@@ -402,10 +554,13 @@ MIT License - See LICENSE file for details.
402
554
  When contributing, please note:
403
555
 
404
556
  - All components must implement error boundaries
405
- - State management should use Zustand stores
406
- - Network requests must use the provided axios instance
557
+ - State management should use Zustand stores with `createWithEqualityFn` from `zustand/traditional`
558
+ - Network requests must use the configured axios instance from the main package (`import { axios } from 'mui-toolpad-extended-tuni'`)
559
+ - Extension packages should depend on `mui-toolpad-extended-tuni` as a peer dependency
560
+ - Extension packages should auto-register themselves when imported
407
561
  - Theme modifications should extend EduMLTheme
408
562
  - Components should handle null states appropriately
563
+ - Use optional chaining for potentially undefined properties (e.g., `user?.platformRoles?.includes(...)`)
409
564
 
410
565
  ## Support
411
566