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
@@ -8,7 +8,7 @@
8
8
  * - Please do NOT serve this file on production.
9
9
  */
10
10
 
11
- const PACKAGE_VERSION = '2.7.0'
11
+ const PACKAGE_VERSION = '2.7.3'
12
12
  const INTEGRITY_CHECKSUM = '00729d72e3b82faf54ca8b9621dbb96f'
13
13
  const IS_MOCKED_RESPONSE = Symbol('isMockedResponse')
14
14
  const activeClientIds = new Set()
@@ -0,0 +1 @@
1
+ .react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}
@@ -0,0 +1,31 @@
1
+ /** @format */
2
+ /**
3
+ * Root application component.
4
+ *
5
+ * Architecture:
6
+ * - BrowserRouter: Provides routing context
7
+ * - LMSProvider: Core LMS functionality, auth, theme, layout
8
+ * - Microservices: Top-level routing (Home, Help, Contact, dynamic routes)
9
+ * - UserMicroservice: Optional extension - self-contained user module with UserBus integration
10
+ * - CalendarMicroservice: Optional extension - self-contained calendar module with EventBus integration
11
+ * - CourseMicroservice: Optional extension - self-contained course module with its own routing
12
+ * - EduTest, EduTest2: Course-specific microservices (tools)
13
+ *
14
+ * This structure provides clear separation:
15
+ * - App-level microservices are children of Microservices
16
+ * - Extensions are optional - install only what you need
17
+ * - User, Calendar, and Courses communicate through EventBus/UserBus (no runtime dependencies;
18
+ * acceptable exceptions: mock type imports, type definitions, and bus delegation)
19
+ * - Course-level microservices are children of CourseMicroservice
20
+ *
21
+ * To use without extensions, simply remove the extension imports and components:
22
+ * ```tsx
23
+ * <Microservices>
24
+ * <Contact />
25
+ * <Help />
26
+ * // Your custom microservices
27
+ * </Microservices>
28
+ * ```
29
+ */
30
+ declare const App: () => import("react/jsx-runtime").JSX.Element;
31
+ export default App;
@@ -0,0 +1,12 @@
1
+ /** @format */
2
+ interface EditableAutocompleteProps<T> {
3
+ value: T[];
4
+ onChange: (value: T[]) => void;
5
+ label: string;
6
+ getOptionLabel?: (option: T) => string;
7
+ helperText?: string;
8
+ }
9
+ declare const EditableAutocomplete: <T extends string | {
10
+ [key: string]: any;
11
+ }>({ value, onChange, label, getOptionLabel, helperText, }: EditableAutocompleteProps<T>) => import("react/jsx-runtime").JSX.Element;
12
+ export default EditableAutocomplete;
@@ -0,0 +1,8 @@
1
+ /** @format */
2
+ interface EditableColorProps {
3
+ value: string;
4
+ onChange: (value: string) => void;
5
+ label?: string;
6
+ }
7
+ declare const EditableColor: ({ value, onChange, label }: EditableColorProps) => import("react/jsx-runtime").JSX.Element;
8
+ export default EditableColor;
@@ -0,0 +1,9 @@
1
+ /** @format */
2
+ interface EditableImageProps {
3
+ value?: string;
4
+ onChange: (value: string) => void;
5
+ defaultImage?: string;
6
+ label?: string;
7
+ }
8
+ declare const EditableImage: ({ value, onChange, defaultImage, label, }: EditableImageProps) => import("react/jsx-runtime").JSX.Element;
9
+ export default EditableImage;
@@ -0,0 +1,12 @@
1
+ /** @format */
2
+ interface EditableNumberProps {
3
+ value: number;
4
+ onChange: (value: number) => void;
5
+ label?: string;
6
+ min?: number;
7
+ max?: number;
8
+ step?: number;
9
+ helperText?: string;
10
+ }
11
+ declare const EditableNumber: ({ value, onChange, label, min, max, step, helperText, }: EditableNumberProps) => import("react/jsx-runtime").JSX.Element;
12
+ export default EditableNumber;
@@ -0,0 +1,14 @@
1
+ /** @format */
2
+ interface EditableSelectProps {
3
+ value: string;
4
+ onChange: (value: string) => void;
5
+ label: string;
6
+ options: {
7
+ value: string;
8
+ label: string;
9
+ }[];
10
+ explanation?: string;
11
+ helperText?: string;
12
+ }
13
+ declare const EditableSelect: ({ value, onChange, label, options, explanation, helperText, }: EditableSelectProps) => import("react/jsx-runtime").JSX.Element;
14
+ export default EditableSelect;
@@ -0,0 +1,8 @@
1
+ /** @format */
2
+ interface EditableSwitchProps {
3
+ value: boolean;
4
+ onChange: (value: boolean) => void;
5
+ label: string;
6
+ }
7
+ declare const EditableSwitch: ({ value, onChange, label }: EditableSwitchProps) => import("react/jsx-runtime").JSX.Element;
8
+ export default EditableSwitch;
@@ -0,0 +1,32 @@
1
+ /** @format */
2
+ /**
3
+ * EditableText Component
4
+ *
5
+ * @version 3.0.0
6
+ * @breaking-changes
7
+ * - Added disabled state support
8
+ * - Enhanced layout with flex styling for better alignment
9
+ * - Improved hover state handling
10
+ * - Added justification controls for edit button
11
+ *
12
+ * A text field that can be toggled between read-only and edit modes.
13
+ * In read-only mode, displays text with an edit button that appears on hover.
14
+ * In edit mode, displays a text field for editing.
15
+ *
16
+ * @param {Object} props
17
+ * @param {string} props.label - Label for the text field
18
+ * @param {string} props.value - Current value
19
+ * @param {function} props.onChange - Callback when value changes
20
+ * @param {string} [props.helperText] - Helper text to display below the field
21
+ * @param {boolean} [props.disabled] - Whether the field is disabled
22
+ */
23
+ interface EditableTextProps {
24
+ value: string;
25
+ onChange: (value: string) => void;
26
+ label: string;
27
+ multiline?: boolean;
28
+ helperText?: string;
29
+ disabled?: boolean;
30
+ }
31
+ declare const EditableText: ({ value, onChange, label, multiline, helperText, disabled, }: EditableTextProps) => import("react/jsx-runtime").JSX.Element;
32
+ export default EditableText;
@@ -0,0 +1,2 @@
1
+ import { SqueezableTableProps } from './types';
2
+ export declare function SqueezableTable<T extends string>({ columns, renderCell, data, maxHeight, stickyHeader, }: SqueezableTableProps<T>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,24 @@
1
+ /** @format */
2
+ export interface ColumnConfig<T extends string> {
3
+ key: T;
4
+ minWidth: number;
5
+ width: number;
6
+ squeezable: boolean;
7
+ label: string;
8
+ }
9
+ export interface SqueezableTableProps<T extends string> {
10
+ columns: ColumnConfig<T>[];
11
+ data: readonly any[] | any[];
12
+ renderCell: (columnKey: T, row: any) => React.ReactNode;
13
+ maxHeight?: string;
14
+ stickyHeader?: boolean;
15
+ }
16
+ export interface TableCellProps<T extends string> {
17
+ columnKey: T;
18
+ config: ColumnConfig<T>;
19
+ isSmallScreen: boolean;
20
+ isExpanded: boolean;
21
+ onHover: (key: T | null) => void;
22
+ onClick: (key: T) => void;
23
+ children: React.ReactNode;
24
+ }
@@ -0,0 +1,21 @@
1
+ /** @format */
2
+ /**
3
+ * PlatformSettings Component
4
+ *
5
+ * @version 3.0.0
6
+ * @breaking-changes
7
+ * - Updated notification store path to feature-based structure
8
+ * - Enhanced form state management with isDirty tracking
9
+ * - Improved TypeScript strict mode compliance
10
+ * - Standardized string literals
11
+ * - Enhanced layout structure without fixed heights
12
+ * - Added unsaved changes warning system
13
+ *
14
+ * Provides interface for:
15
+ * - Managing platform-wide settings
16
+ * - Configuring global features
17
+ * - Setting platform defaults
18
+ * - Managing AI configurations
19
+ */
20
+ declare const PlatformSettings: () => import("react/jsx-runtime").JSX.Element | null;
21
+ export default PlatformSettings;
@@ -0,0 +1,16 @@
1
+ import { Platform } from '../../store/usePlatformStore';
2
+ import { AppTheme } from '../../store/useThemeStore';
3
+ interface TabPanelProps {
4
+ children?: React.ReactNode;
5
+ index: number;
6
+ value: number;
7
+ }
8
+ export declare function TabPanel(props: TabPanelProps): import("react/jsx-runtime").JSX.Element;
9
+ interface PlatformSettingsTabsProps {
10
+ platformSettings: Platform;
11
+ themeSettings: AppTheme;
12
+ handleUpdatePlatformSettings: (settings: Partial<Platform>) => void;
13
+ handleUpdateThemeSettings: (settings: AppTheme) => void;
14
+ }
15
+ export default function PlatformSettingsTabs({ platformSettings, themeSettings, handleUpdatePlatformSettings, handleUpdateThemeSettings, }: PlatformSettingsTabsProps): import("react/jsx-runtime").JSX.Element;
16
+ export {};
@@ -0,0 +1,7 @@
1
+ import { Platform } from '../../../store/usePlatformStore';
2
+ interface AITabProps {
3
+ settings: Platform;
4
+ onUpdate: (settings: Platform) => void;
5
+ }
6
+ export default function AITab({ settings, onUpdate }: AITabProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,7 @@
1
+ import { Platform } from '../../../store/usePlatformStore';
2
+ interface AuthTabProps {
3
+ settings: Platform;
4
+ onUpdate: (settings: Partial<Platform>) => void;
5
+ }
6
+ export default function AuthTab({ settings, onUpdate }: AuthTabProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,7 @@
1
+ import { Platform } from '../../../store/usePlatformStore';
2
+ interface CoursesTabProps {
3
+ settings: Platform;
4
+ onUpdate: (settings: Partial<Platform>) => void;
5
+ }
6
+ export default function CoursesTab({ settings, onUpdate }: CoursesTabProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,24 @@
1
+ import { Platform } from '../../../store/usePlatformStore';
2
+ interface FeaturesTabProps {
3
+ settings: Platform;
4
+ onUpdate: (settings: Platform) => void;
5
+ }
6
+ /**
7
+ * FeaturesTab Component
8
+ *
9
+ * @version 3.0.0
10
+ * @breaking-changes
11
+ * - Replaced Grid system with more flexible Box layout
12
+ * - Enhanced responsive design with flex-based layouts
13
+ * - Improved spacing consistency
14
+ * - Optimized component structure for better performance
15
+ * - Standardized style properties
16
+ *
17
+ * Provides interface for:
18
+ * - Managing platform-wide feature settings
19
+ * - Configuring feature availability
20
+ * - Setting feature-specific parameters
21
+ * - Managing feature dependencies
22
+ */
23
+ export default function FeaturesTab({ settings, onUpdate }: FeaturesTabProps): import("react/jsx-runtime").JSX.Element;
24
+ export {};
@@ -0,0 +1,7 @@
1
+ import { Platform } from '../../../store/usePlatformStore';
2
+ interface GeneralTabProps {
3
+ settings: Platform;
4
+ onUpdate: (settings: Partial<Platform>) => void;
5
+ }
6
+ export default function GeneralTab({ settings, onUpdate }: GeneralTabProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,7 @@
1
+ import { Platform } from '../../../store/usePlatformStore';
2
+ interface PrivacyTabProps {
3
+ settings: Platform;
4
+ onUpdate: (settings: Partial<Platform>) => void;
5
+ }
6
+ export default function PrivacyTab({ settings, onUpdate }: PrivacyTabProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,7 @@
1
+ import { AppTheme } from '../../../store/useThemeStore';
2
+ interface ThemeTabProps {
3
+ theme: AppTheme;
4
+ onUpdate: (theme: AppTheme) => void;
5
+ }
6
+ export default function ThemeTab({ theme, onUpdate }: ThemeTabProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,7 @@
1
+ import { AppTheme } from '../../../../store/useThemeStore';
2
+ interface ColorSettingsProps {
3
+ theme: AppTheme;
4
+ onUpdate: (theme: AppTheme) => void;
5
+ }
6
+ export declare const ColorSettings: ({ theme, onUpdate }: ColorSettingsProps) => import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,7 @@
1
+ import { AppTheme } from '../../../../store/useThemeStore';
2
+ interface TypographySettingsProps {
3
+ theme: AppTheme;
4
+ onUpdate: (theme: AppTheme) => void;
5
+ }
6
+ export declare const TypographySettings: ({ theme, onUpdate, }: TypographySettingsProps) => import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,34 @@
1
+ import { ReactNode } from 'react';
2
+ export interface LMSProviderProps {
3
+ children?: ReactNode;
4
+ }
5
+ /**
6
+ * LMSProvider Component
7
+ *
8
+ * @version 3.0.0
9
+ * @breaking-changes
10
+ * - Complete architectural restructuring for better separation of concerns
11
+ * - Removed direct course management (now handled by CourseManager)
12
+ * - Simplified authentication handling (now handled by AuthenticationManager)
13
+ * - Improved theme management with consistent application
14
+ * - Enhanced layout structure with PageContent and PageToolbar components
15
+ * - Removed direct message handling (now managed by respective components)
16
+ *
17
+ * Main application provider that sets up:
18
+ * - Authentication context
19
+ * - Theme provider
20
+ * - Navigation structure
21
+ * - Basic app layout
22
+ * - Router integration
23
+ *
24
+ * @example
25
+ * ```tsx
26
+ * <BrowserRouter>
27
+ * <LMSProvider>
28
+ * <YourApp />
29
+ * </LMSProvider>
30
+ * </BrowserRouter>
31
+ * ```
32
+ */
33
+ declare const LMSProvider: React.FC<LMSProviderProps>;
34
+ export default LMSProvider;
@@ -0,0 +1,2 @@
1
+ declare const AuthenticationManager: () => null;
2
+ export default AuthenticationManager;
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ declare const Calendar: React.FC;
3
+ export default Calendar;
@@ -0,0 +1,16 @@
1
+ import { default as React } from 'react';
2
+ interface CalendarBodyProps {
3
+ calendarRef: React.RefObject<any>;
4
+ calendarView: string;
5
+ events: any[];
6
+ onDatesSet: (arg: any) => void;
7
+ eventDidMount: (info: any) => void;
8
+ showAllDaySlot: boolean;
9
+ onMouseDown: (e: React.MouseEvent<HTMLDivElement>) => void;
10
+ onMouseMove: (e: React.MouseEvent<HTMLDivElement>) => void;
11
+ onMouseUp: () => void;
12
+ onMouseLeave: () => void;
13
+ density?: "compact" | "comfortable" | "spacious";
14
+ }
15
+ declare const CalendarBody: React.FC<CalendarBodyProps>;
16
+ export default CalendarBody;
@@ -0,0 +1,9 @@
1
+ /** @format */
2
+ /**
3
+ * CalendarEventAggregator coordinates between the EventBus and the Calendar store.
4
+ * This component subscribes to generic events from the EventBus and converts them
5
+ * to CalendarEvent format for the calendar display.
6
+ * It's placed at the application level to maintain proper separation of concerns.
7
+ */
8
+ declare const CalendarEventAggregator: React.FC;
9
+ export default CalendarEventAggregator;
@@ -0,0 +1,10 @@
1
+ import { EventContentArg } from '@fullcalendar/core';
2
+ export type CalendarEventType = "lecture" | "exercise" | "exam" | "deadline" | "other" | "meeting" | "maintenance";
3
+ type ExtendedEventContentArg = EventContentArg & {
4
+ el?: HTMLElement;
5
+ };
6
+ interface CalendarEventItemProps {
7
+ eventInfo: ExtendedEventContentArg;
8
+ }
9
+ declare const CalendarEventItem: ({ eventInfo }: CalendarEventItemProps) => import("react/jsx-runtime").JSX.Element;
10
+ export default CalendarEventItem;
@@ -0,0 +1,12 @@
1
+ import { default as React } from 'react';
2
+ interface CalendarHeaderProps {
3
+ onPrev: () => void;
4
+ onToday: () => void;
5
+ onNext: () => void;
6
+ onDatePickerOpen: (e: React.MouseEvent<HTMLButtonElement>) => void;
7
+ calendarView: string;
8
+ onViewChange: (view: string) => void;
9
+ currentTitle: string;
10
+ }
11
+ declare const CalendarHeader: React.FC<CalendarHeaderProps>;
12
+ export default CalendarHeader;
@@ -0,0 +1,3 @@
1
+ /** @format */
2
+ declare const CalendarManager: () => null;
3
+ export default CalendarManager;
@@ -0,0 +1,32 @@
1
+ import { default as React, ReactNode } from 'react';
2
+ interface CalendarMicroserviceProps {
3
+ children?: ReactNode;
4
+ }
5
+ /**
6
+ * CalendarMicroservice Component
7
+ *
8
+ * @version 1.0.0
9
+ *
10
+ * Self-contained microservice that handles all calendar-related functionality:
11
+ * - Calendar grid item registration (via CalendarManager)
12
+ * - Calendar microservice registration with NavigationRegistry
13
+ * - Event aggregation from EventBus (via CalendarEventAggregator)
14
+ *
15
+ * Calendar receives events from EventBus, not directly from Courses.
16
+ * Courses publishes events via CourseEventPublisher, Calendar subscribes via CalendarEventAggregator.
17
+ *
18
+ * This component should be used in App.tsx, not LMSProvider.tsx, to maintain
19
+ * proper separation of concerns and avoid tight coupling.
20
+ *
21
+ * @example
22
+ * ```tsx
23
+ * <Microservices>
24
+ * <CalendarMicroservice />
25
+ * <CourseMicroservice>
26
+ * <EduTest />
27
+ * </CourseMicroservice>
28
+ * </Microservices>
29
+ * ```
30
+ */
31
+ declare const CalendarMicroservice: React.FC<CalendarMicroserviceProps>;
32
+ export default CalendarMicroservice;
@@ -0,0 +1,8 @@
1
+ import { default as React } from 'react';
2
+ interface DatePickerPopoverProps {
3
+ anchorEl: HTMLElement | null;
4
+ onClose: () => void;
5
+ onDateSelect: (date: any) => void;
6
+ }
7
+ declare const DatePickerPopover: React.FC<DatePickerPopoverProps>;
8
+ export default DatePickerPopover;
@@ -0,0 +1,3 @@
1
+ import { EventDetailsProps } from '../types';
2
+ declare const EventDetails: ({ description, location, courseColor, maxParticipants, requiresRegistration, teachers, type, recurring, onAddToCalendar, onRegister, theme, }: EventDetailsProps) => import("react/jsx-runtime").JSX.Element;
3
+ export default EventDetails;
@@ -0,0 +1,3 @@
1
+ import { EventMenuProps } from '../types';
2
+ declare const EventMenu: ({ open, anchorEl, onClose, eventInfo, courseColor, type, eventTypeIcons, courseTitle, courseCode, description, location, maxParticipants, requiresRegistration, teachers, recurring, theme, }: EventMenuProps) => import("react/jsx-runtime").JSX.Element;
3
+ export default EventMenu;
@@ -0,0 +1,3 @@
1
+ import { EventViewProps } from '../types';
2
+ export declare const CompactEventView: ({ eventInfo, courseCode, type, courseColor, requiresRegistration, recurring, eventTypeIcons, theme, }: EventViewProps) => import("react/jsx-runtime").JSX.Element;
3
+ export declare const RegularView: ({ eventInfo, courseCode, type, courseColor, location, requiresRegistration, recurring, eventTypeIcons, theme, }: EventViewProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ export { CompactEventView, RegularView } from './EventViews';
2
+ export { default as EventMenu } from './EventMenu';
3
+ export { default as EventDetails } from './EventDetails';
@@ -0,0 +1,5 @@
1
+ /** @format */
2
+ export { default as Calendar } from './Calendar';
3
+ export { default as CalendarManager } from './CalendarManager';
4
+ export { default as CalendarEventAggregator } from './CalendarEventAggregator';
5
+ export { default as CalendarMicroservice } from './CalendarMicroservice';
@@ -0,0 +1,44 @@
1
+ /** @format */
2
+ export interface CalendarEvent {
3
+ id: string;
4
+ title: string;
5
+ start: Date | string;
6
+ end?: Date | string;
7
+ backgroundColor?: string;
8
+ borderColor?: string;
9
+ textColor?: string;
10
+ extendedProps?: {
11
+ courseCode?: string;
12
+ courseTitle?: string;
13
+ type?: string;
14
+ description?: string;
15
+ location?: string;
16
+ [key: string]: any;
17
+ };
18
+ }
19
+ interface CalendarState {
20
+ events: CalendarEvent[];
21
+ isLoading: boolean;
22
+ error: string | null;
23
+ setEvents: (events: CalendarEvent[]) => void;
24
+ addEvent: (event: CalendarEvent) => void;
25
+ updateEvent: (eventId: string, updates: Partial<CalendarEvent>) => void;
26
+ removeEvent: (eventId: string) => void;
27
+ clearEvents: () => void;
28
+ setLoading: (loading: boolean) => void;
29
+ setError: (error: string | null) => void;
30
+ getEventsForDateRange: (start: Date, end: Date) => CalendarEvent[];
31
+ }
32
+ export declare const useCalendarStore: import('zustand/traditional').UseBoundStoreWithEqualityFn<Omit<import('zustand').StoreApi<CalendarState>, "setState"> & {
33
+ setState<A extends string | {
34
+ type: string;
35
+ }>(partial: CalendarState | Partial<CalendarState> | ((state: CalendarState) => CalendarState | Partial<CalendarState>), replace?: boolean | undefined, action?: A | undefined): void;
36
+ }>;
37
+ export declare const getContrastColor: (hexColor: string) => string;
38
+ export declare const createCalendarEvent: (id: string, title: string, start: Date | string, end?: Date | string, options?: {
39
+ backgroundColor?: string;
40
+ borderColor?: string;
41
+ textColor?: string;
42
+ extendedProps?: Record<string, any>;
43
+ }) => CalendarEvent;
44
+ export {};
@@ -0,0 +1,49 @@
1
+ import { Theme } from '@mui/material';
2
+ import { EventContentArg } from '@fullcalendar/core';
3
+ import { CalendarEventType } from './CalendarEventItem';
4
+ export interface EventViewProps {
5
+ eventInfo: EventContentArg;
6
+ courseCode: string;
7
+ type: CalendarEventType;
8
+ courseColor: string;
9
+ location?: string;
10
+ requiresRegistration?: boolean;
11
+ recurring?: boolean;
12
+ eventTypeIcons: Record<CalendarEventType, string>;
13
+ theme: Theme;
14
+ courseTitle?: string;
15
+ maxParticipants?: number;
16
+ description?: string;
17
+ teachers?: any[];
18
+ }
19
+ export interface EventDetailsProps {
20
+ description?: string;
21
+ location?: string;
22
+ courseColor: string;
23
+ maxParticipants?: number;
24
+ requiresRegistration?: boolean;
25
+ teachers?: any[];
26
+ type: CalendarEventType;
27
+ recurring?: boolean;
28
+ onAddToCalendar: (e: React.MouseEvent) => void;
29
+ onRegister: (e: React.MouseEvent) => void;
30
+ theme: Theme;
31
+ }
32
+ export interface EventMenuProps {
33
+ open: boolean;
34
+ anchorEl: HTMLElement | null;
35
+ onClose: () => void;
36
+ eventInfo: EventContentArg;
37
+ courseColor: string;
38
+ type: CalendarEventType;
39
+ eventTypeIcons: Record<CalendarEventType, string>;
40
+ courseTitle: string;
41
+ courseCode: string;
42
+ description?: string;
43
+ location?: string;
44
+ maxParticipants?: number;
45
+ requiresRegistration?: boolean;
46
+ teachers?: any[];
47
+ recurring?: boolean;
48
+ theme: Theme;
49
+ }
@@ -0,0 +1,15 @@
1
+ /** @format */
2
+ /**
3
+ * Component for loading and managing course code level data.
4
+ *
5
+ * @version 2.1.0
6
+ * @new-component
7
+ * - Handles course code level routing
8
+ * - Manages course code state in store
9
+ * - Provides course instance list context
10
+ * - Supports navigation between instances
11
+ * @description - This component is responsible for loading the course data and rendering the course tools
12
+ * @returns {React.ReactElement} - Returns the course loader component
13
+ */
14
+ declare const CourseCodeLoader: () => import("react/jsx-runtime").JSX.Element;
15
+ export default CourseCodeLoader;
@@ -0,0 +1,8 @@
1
+ /** @format */
2
+ /**
3
+ * CourseEventPublisher publishes course events to the EventBus.
4
+ * This component converts course data to generic events and publishes them.
5
+ * It maintains separation by only knowing about courses and the EventBus API.
6
+ */
7
+ declare const CourseEventPublisher: React.FC;
8
+ export default CourseEventPublisher;
@@ -0,0 +1,16 @@
1
+ /** @format */
2
+ /**
3
+ * Component for loading specific course instance data.
4
+ *
5
+ * @version 2.1.0
6
+ * @new-component
7
+ * - Manages course instance state
8
+ * - Handles instance-specific data loading
9
+ * - Provides instance context to children
10
+ * - Supports microservice integration
11
+ * - Handles instance not found scenarios
12
+ * @description - This component is responsible for loading the course data and rendering the course tools
13
+ * @returns {React.ReactElement} - Returns the course loader component
14
+ */
15
+ declare const CourseInstanceLoader: () => import("react/jsx-runtime").JSX.Element;
16
+ export default CourseInstanceLoader;