mui-toolpad-extended-tuni 2.1.0 → 3.0.1

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