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
package/README.md CHANGED
@@ -4,18 +4,35 @@
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 2.1.0
7
+ ## Version 3.0.0
8
8
 
9
9
  ### Recent Changes
10
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
11
17
  - Enhanced course navigation structure with support for course instances
12
18
  - Improved MicroserviceRoutes component with better TypeScript support
13
19
  - Added new CourseInstanceSelector and CourseCodeLoader components
14
20
  - Updated navigation store with better course instance handling
15
21
  - Introduced new course filtering utilities
16
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
17
25
 
18
- ### Breaking Changes
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
19
36
 
20
37
  - Navigation structure now requires course code and instance properties
21
38
  - MicroserviceRoutes configuration requires updated navigation builder function
@@ -40,10 +57,29 @@ This library requires the following peer dependencies:
40
57
 
41
58
  ## Installation
42
59
 
60
+ ### Core Package (Required)
61
+
43
62
  ```bash
44
63
  npm install mui-toolpad-extended-tuni
45
64
  ```
46
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
+
47
83
  ## Basic Usage
48
84
 
49
85
  1. Setup your application with `LMSProvider` and routing:
@@ -65,24 +101,53 @@ function App() {
65
101
 
66
102
  ```tsx
67
103
  import {
68
- useUserStore,
69
- useCourseStore,
70
104
  useNavigationStore,
105
+ useNotificationStore,
71
106
  } from 'mui-toolpad-extended-tuni';
72
107
 
73
108
  function MyComponent() {
74
- const { user } = useUserStore();
75
- const { currentCourse } = useCourseStore();
109
+ const { navigation } = useNavigationStore();
110
+ const { addNotificationData } = useNotificationStore();
76
111
 
77
112
  return (
78
113
  <div>
79
- <h1>Welcome, {user?.name}!</h1>
80
- <p>Current course: {currentCourse?.title}</p>
114
+ <h1>Welcome!</h1>
115
+ {/* Your content */}
81
116
  </div>
82
117
  );
83
118
  }
84
119
  ```
85
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
+
86
151
  ## Core Components
87
152
 
88
153
  ### LMSProvider
@@ -155,12 +220,14 @@ function MyComponent() {
155
220
 
156
221
  ### Course Management Components
157
222
 
223
+ **Note**: Course management components are available in the `@mui-toolpad-extended-tuni/courses` extension package.
224
+
158
225
  #### CourseSelector
159
226
 
160
227
  A component for listing and selecting courses:
161
228
 
162
229
  ```tsx
163
- import { CourseSelector } from 'mui-toolpad-extended-tuni';
230
+ import { CourseSelector } from '@mui-toolpad-extended-tuni/courses';
164
231
 
165
232
  function MyComponent() {
166
233
  return <CourseSelector />;
@@ -172,7 +239,7 @@ function MyComponent() {
172
239
  Manages course-specific tools and LTI configuration:
173
240
 
174
241
  ```tsx
175
- import { CourseTools } from 'mui-toolpad-extended-tuni';
242
+ import { CourseTools } from '@mui-toolpad-extended-tuni/courses';
176
243
 
177
244
  function MyComponent() {
178
245
  return <CourseTools />;
@@ -184,7 +251,7 @@ function MyComponent() {
184
251
  For teachers to set up course authentication:
185
252
 
186
253
  ```tsx
187
- import { LtiLoginUrlForm } from 'mui-toolpad-extended-tuni';
254
+ import { LtiLoginUrlForm } from '@mui-toolpad-extended-tuni/courses';
188
255
 
189
256
  function MyComponent() {
190
257
  return <LtiLoginUrlForm />;
@@ -246,9 +313,31 @@ When running in development mode (localhost), the library provides additional to
246
313
 
247
314
  ## Available Stores
248
315
 
249
- ### useUserStore
316
+ ### Core Stores (Main Package)
317
+
318
+ The following stores are available in the main package:
319
+
320
+ ### useNavigationStore
250
321
 
251
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`)
337
+
338
+ ```tsx
339
+ import { useUserStore } from '@mui-toolpad-extended-tuni/users';
340
+
252
341
  const {
253
342
  user, // Current user data
254
343
  getUser, // Fetch user data
@@ -257,9 +346,11 @@ const {
257
346
  } = useUserStore();
258
347
  ```
259
348
 
260
- ### useCourseStore
349
+ #### useCourseStore (`@mui-toolpad-extended-tuni/courses`)
261
350
 
262
351
  ```tsx
352
+ import { useCourseStore } from '@mui-toolpad-extended-tuni/courses';
353
+
263
354
  const {
264
355
  currentCourse, // Current active course
265
356
  courses, // List of available courses
@@ -273,7 +364,9 @@ const {
273
364
  ```tsx
274
365
  const {
275
366
  navigation, // Current navigation structure
276
- 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
277
370
  setNavigation, // Set entire navigation
278
371
  } = useNavigationStore();
279
372
  ```
@@ -321,13 +414,23 @@ const underscoreData = convertObjectKeysToUnderscore(requestData);
321
414
 
322
415
  ## Network Configuration
323
416
 
324
- The library includes pre-configured Axios instance for API communications:
417
+ The library includes a pre-configured Axios instance for API communications:
325
418
 
326
419
  ```tsx
327
- import { axiosInstance } from 'mui-toolpad-extended-tuni';
420
+ import { axios } from 'mui-toolpad-extended-tuni';
328
421
 
329
422
  // Handles CSRF tokens and base URL automatically
330
- 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/');
331
434
  ```
332
435
 
333
436
  ## Course Types and Interfaces
@@ -364,16 +467,47 @@ import { EduMLTheme } from 'mui-toolpad-extended-tuni';
364
467
  // - Z-index hierarchy
365
468
  ```
366
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
+
367
500
  ## Current Limitations
368
501
 
369
502
  1. **Authentication:**
370
503
 
371
- - LTI login URL must be configured per course
504
+ - LTI login URL must be configured per course (requires Courses extension)
372
505
  - Only supports single active session
373
506
  - Development mode uses mock authentication
374
507
 
375
508
  2. **Course Management:**
376
509
 
510
+ - Requires `@mui-toolpad-extended-tuni/courses` extension package
377
511
  - Limited to predefined course structure
378
512
  - No bulk operations support
379
513
  - Course tools must follow specific navigation structure
@@ -389,6 +523,7 @@ import { EduMLTheme } from 'mui-toolpad-extended-tuni';
389
523
  - Base URL is fixed to '/'
390
524
  - CSRF token handling is mandatory
391
525
  - No request caching implementation
526
+ - Extension packages must use the configured axios instance
392
527
 
393
528
  5. **Browser Support:**
394
529
  - Requires modern browser features
@@ -419,10 +554,13 @@ MIT License - See LICENSE file for details.
419
554
  When contributing, please note:
420
555
 
421
556
  - All components must implement error boundaries
422
- - State management should use Zustand stores
423
- - 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
424
561
  - Theme modifications should extend EduMLTheme
425
562
  - Components should handle null states appropriately
563
+ - Use optional chaining for potentially undefined properties (e.g., `user?.platformRoles?.includes(...)`)
426
564
 
427
565
  ## Support
428
566