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.
- package/README.md +173 -18
- package/dist/index.cjs +193 -149
- package/dist/index.d.ts +2 -47
- package/dist/index.es.js +66551 -18872
- package/dist/mockServiceWorker.js +1 -1
- package/dist/mui-toolpad-extended-tuni.css +1 -0
- package/dist/src/App.d.ts +31 -0
- package/dist/src/LMSToolpad/Forms/Components/Editables/EditableAutoComplete.d.ts +12 -0
- package/dist/src/LMSToolpad/Forms/Components/Editables/EditableColor.d.ts +8 -0
- package/dist/src/LMSToolpad/Forms/Components/Editables/EditableImage.d.ts +9 -0
- package/dist/src/LMSToolpad/Forms/Components/Editables/EditableNumber.d.ts +12 -0
- package/dist/src/LMSToolpad/Forms/Components/Editables/EditableSelect.d.ts +14 -0
- package/dist/src/LMSToolpad/Forms/Components/Editables/EditableSwitch.d.ts +8 -0
- package/dist/src/LMSToolpad/Forms/Components/Editables/EditableText.d.ts +32 -0
- package/dist/src/LMSToolpad/Forms/Components/SqueezableTable/SqueezableTable.d.ts +2 -0
- package/dist/src/LMSToolpad/Forms/Components/SqueezableTable/types.d.ts +24 -0
- package/dist/src/LMSToolpad/Forms/PlatformSettings/PlatformSettings.d.ts +21 -0
- package/dist/src/LMSToolpad/Forms/PlatformSettings/PlatformSettingsTabs.d.ts +16 -0
- package/dist/src/LMSToolpad/Forms/PlatformSettings/tabs/AITab.d.ts +7 -0
- package/dist/src/LMSToolpad/Forms/PlatformSettings/tabs/AuthTab.d.ts +7 -0
- package/dist/src/LMSToolpad/Forms/PlatformSettings/tabs/CoursesTab.d.ts +7 -0
- package/dist/src/LMSToolpad/Forms/PlatformSettings/tabs/FeaturesTab.d.ts +24 -0
- package/dist/src/LMSToolpad/Forms/PlatformSettings/tabs/GeneralTab.d.ts +7 -0
- package/dist/src/LMSToolpad/Forms/PlatformSettings/tabs/PrivacyTab.d.ts +7 -0
- package/dist/src/LMSToolpad/Forms/PlatformSettings/tabs/ThemeTab.d.ts +7 -0
- package/dist/src/LMSToolpad/Forms/PlatformSettings/tabs/components/ColorSettings.d.ts +7 -0
- package/dist/src/LMSToolpad/Forms/PlatformSettings/tabs/components/TypographySettings.d.ts +7 -0
- package/dist/src/LMSToolpad/LMSProvider.d.ts +34 -0
- package/dist/src/LMSToolpad/components/AuthenticationManager.d.ts +2 -0
- package/dist/src/LMSToolpad/components/Calendar/Calendar.d.ts +3 -0
- package/dist/src/LMSToolpad/components/Calendar/CalendarBody.d.ts +16 -0
- package/dist/src/LMSToolpad/components/Calendar/CalendarEventAggregator.d.ts +9 -0
- package/dist/src/LMSToolpad/components/Calendar/CalendarEventItem.d.ts +10 -0
- package/dist/src/LMSToolpad/components/Calendar/CalendarHeader.d.ts +12 -0
- package/dist/src/LMSToolpad/components/Calendar/CalendarManager.d.ts +3 -0
- package/dist/src/LMSToolpad/components/Calendar/CalendarMicroservice.d.ts +32 -0
- package/dist/src/LMSToolpad/components/Calendar/DatePickerPopover.d.ts +8 -0
- package/dist/src/LMSToolpad/components/Calendar/components/EventDetails.d.ts +3 -0
- package/dist/src/LMSToolpad/components/Calendar/components/EventMenu.d.ts +3 -0
- package/dist/src/LMSToolpad/components/Calendar/components/EventViews.d.ts +3 -0
- package/dist/src/LMSToolpad/components/Calendar/components/index.d.ts +3 -0
- package/dist/src/LMSToolpad/components/Calendar/index.d.ts +5 -0
- package/dist/src/LMSToolpad/components/Calendar/store/useCalendarStore.d.ts +44 -0
- package/dist/src/LMSToolpad/components/Calendar/types.d.ts +49 -0
- package/dist/src/LMSToolpad/components/Courses/CourseCodeLoader.d.ts +15 -0
- package/dist/src/LMSToolpad/components/Courses/CourseEventPublisher.d.ts +8 -0
- package/dist/src/LMSToolpad/components/Courses/CourseInstanceLoader.d.ts +16 -0
- package/dist/src/LMSToolpad/components/Courses/CourseInstanceSelector.d.ts +15 -0
- package/dist/src/LMSToolpad/components/Courses/CourseItem/CourseActions.d.ts +6 -0
- package/dist/src/LMSToolpad/components/Courses/CourseItem/CourseHeader.d.ts +6 -0
- package/dist/src/LMSToolpad/components/Courses/CourseItem/CourseHeaderActions.d.ts +12 -0
- package/dist/src/LMSToolpad/components/Courses/CourseItem/CourseIcon.d.ts +8 -0
- package/dist/src/LMSToolpad/components/Courses/CourseItem/CourseInfo.d.ts +8 -0
- package/dist/src/LMSToolpad/components/Courses/CourseItem/CourseItem.d.ts +9 -0
- package/dist/src/LMSToolpad/components/Courses/CourseList.d.ts +6 -0
- package/dist/src/LMSToolpad/components/Courses/CourseManager.d.ts +2 -0
- package/dist/src/LMSToolpad/components/Courses/CourseMicroservice.d.ts +42 -0
- package/dist/src/LMSToolpad/components/Courses/CourseRoutesProvider.d.ts +12 -0
- package/dist/src/LMSToolpad/components/Courses/CourseTools.d.ts +21 -0
- package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/CourseSettings.d.ts +23 -0
- package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/CourseSettingsTabs.d.ts +9 -0
- package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/tabs/BasicInfoTab.d.ts +7 -0
- package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/tabs/DataProcessingTab.d.ts +24 -0
- package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/tabs/EnrollmentTab.d.ts +28 -0
- package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/tabs/RelationshipsTab.d.ts +25 -0
- package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/tabs/StaffTab.d.ts +26 -0
- package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/tabs/VisibilityTab.d.ts +24 -0
- package/dist/src/LMSToolpad/components/Courses/Navigation/CourseNavigationbuilder.d.ts +2 -0
- package/dist/src/LMSToolpad/components/Courses/components/ToolDisplayer/ToolCard.d.ts +8 -0
- package/dist/src/LMSToolpad/components/Courses/components/ToolDisplayer/ToolDisplayer.d.ts +11 -0
- package/dist/src/LMSToolpad/components/Courses/config/subjectConfig.d.ts +10 -0
- package/dist/src/LMSToolpad/components/Courses/context/CourseMicroserviceContext.d.ts +26 -0
- package/dist/src/LMSToolpad/components/Courses/hooks/useCourseRoutes.d.ts +6 -0
- package/dist/src/LMSToolpad/components/Courses/mocks/commented.d.ts +0 -0
- package/dist/src/LMSToolpad/components/Courses/mocks/constants.d.ts +9 -0
- package/dist/src/LMSToolpad/components/Courses/mocks/endpoints.d.ts +8 -0
- package/dist/src/LMSToolpad/components/Courses/mocks/generators.d.ts +13 -0
- package/dist/src/LMSToolpad/components/Courses/mocks/types.d.ts +109 -0
- package/dist/{LMSToolpad → src/LMSToolpad/components/Courses}/network/courses.d.ts +1 -8
- package/dist/src/LMSToolpad/components/Courses/store/useCourseStore.d.ts +146 -0
- package/dist/src/LMSToolpad/components/Courses/utils/courseFilters.d.ts +21 -0
- package/dist/{LMSToolpad → src/LMSToolpad}/components/Dialogs/DialogOpener.d.ts +0 -1
- package/dist/src/LMSToolpad/components/Dialogs/Dialogs.d.ts +3 -0
- package/dist/src/LMSToolpad/components/Dialogs/ExtendedDialog.d.ts +8 -0
- package/dist/{LMSToolpad → src/LMSToolpad}/components/Dialogs/FormDialog.d.ts +5 -1
- package/dist/src/LMSToolpad/components/Dialogs/dialogRegistry.d.ts +3 -0
- package/dist/src/LMSToolpad/components/Events/EventBus.d.ts +34 -0
- package/dist/src/LMSToolpad/components/Events/UserBus.d.ts +111 -0
- package/dist/src/LMSToolpad/components/Events/hooks/useCurrentUser.d.ts +11 -0
- package/dist/src/LMSToolpad/components/Events/hooks/useUserActions.d.ts +15 -0
- package/dist/src/LMSToolpad/components/Events/hooks/useUserPreferences.d.ts +22 -0
- package/dist/src/LMSToolpad/components/Events/index.d.ts +10 -0
- package/dist/src/LMSToolpad/components/Events/types.d.ts +16 -0
- package/dist/src/LMSToolpad/components/Events/userTypes.d.ts +78 -0
- package/dist/{LMSToolpad → src/LMSToolpad}/components/IconWithBadge.d.ts +0 -1
- package/dist/src/LMSToolpad/components/Microservices/MicroserviceNavigationBuilder.d.ts +45 -0
- package/dist/src/LMSToolpad/components/Microservices/MicroserviceSubsections.d.ts +9 -0
- package/dist/src/LMSToolpad/components/Microservices/Microservices.d.ts +25 -0
- package/dist/src/LMSToolpad/components/Microservices/types.d.ts +12 -0
- package/dist/src/LMSToolpad/components/Navigation/NavigationBuilder.d.ts +6 -0
- package/dist/src/LMSToolpad/components/Navigation/NavigationFilter.d.ts +1 -0
- package/dist/src/LMSToolpad/components/Navigation/NavigationRegistry.d.ts +116 -0
- package/dist/src/LMSToolpad/components/Navigation/hooks/useMicroserviceNavigation.d.ts +4 -0
- package/dist/src/LMSToolpad/components/Navigation/hooks/useMicroserviceRoutes.d.ts +6 -0
- package/dist/src/LMSToolpad/components/Navigation/hooks/useNavigationSectionManager.d.ts +23 -0
- package/dist/src/LMSToolpad/components/Navigation/hooks/useSyncNavigationFilters.d.ts +1 -0
- package/dist/src/LMSToolpad/components/Navigation/store/microserviceUtils.d.ts +9 -0
- package/dist/src/LMSToolpad/components/Navigation/store/navigationCalculator.d.ts +11 -0
- package/dist/src/LMSToolpad/components/Navigation/store/sectionManager.d.ts +9 -0
- package/dist/src/LMSToolpad/components/Navigation/store/types.d.ts +90 -0
- package/dist/src/LMSToolpad/components/Navigation/store/useNavigationFilterStore.d.ts +6 -0
- package/dist/src/LMSToolpad/components/Navigation/store/useNavigationStore.d.ts +50 -0
- package/dist/src/LMSToolpad/components/Notifications/store/useNotificationsStore.d.ts +22 -0
- package/dist/{LMSToolpad/components → src/LMSToolpad/components/Routes/Home}/Home.d.ts +0 -1
- package/dist/src/LMSToolpad/components/Users/Forms/UserSettings/UserSettings.d.ts +22 -0
- package/dist/src/LMSToolpad/components/Users/UserEventPublisher.d.ts +8 -0
- package/dist/src/LMSToolpad/components/Users/UserManager.d.ts +2 -0
- package/dist/src/LMSToolpad/components/Users/UserMicroservice.d.ts +34 -0
- package/dist/src/LMSToolpad/components/Users/index.d.ts +6 -0
- package/dist/src/LMSToolpad/components/Users/mocks/constants.d.ts +59 -0
- package/dist/src/LMSToolpad/components/Users/mocks/endpoints.d.ts +3 -0
- package/dist/src/LMSToolpad/components/Users/mocks/generators.d.ts +6 -0
- package/dist/src/LMSToolpad/components/Users/mocks/types.d.ts +52 -0
- package/dist/src/LMSToolpad/components/Users/network/users.d.ts +7 -0
- package/dist/src/LMSToolpad/components/Users/store/useUserStore.d.ts +63 -0
- package/dist/{LMSToolpad → src/LMSToolpad}/components/tools/addActions.d.ts +2 -2
- package/dist/{LMSToolpad → src/LMSToolpad}/components/tools/addIcons.d.ts +1 -1
- package/dist/{LMSToolpad → src/LMSToolpad}/components/tools/utils/ActionFCWrapper.d.ts +2 -2
- package/dist/{LMSToolpad → src/LMSToolpad}/components/tools/utils/IconFCWrapper.d.ts +0 -1
- package/dist/src/LMSToolpad/constants.d.ts +67 -0
- package/dist/{LMSToolpad → src/LMSToolpad}/hooks/useCustomRouter.d.ts +3 -2
- package/dist/src/LMSToolpad/hooks/useVisitedCourses.d.ts +18 -0
- package/dist/src/LMSToolpad/index.d.ts +1 -0
- package/dist/src/LMSToolpad/layout/Content/PageContent.d.ts +5 -0
- package/dist/{LMSToolpad/components/toolbar → src/LMSToolpad/layout/Toolbars/AppToolbar}/Account.d.ts +1 -0
- package/dist/src/LMSToolpad/layout/Toolbars/AppToolbar/CollapsibleMenu.d.ts +1 -0
- package/dist/src/LMSToolpad/layout/Toolbars/AppToolbar/RegisteredAppTools.d.ts +11 -0
- package/dist/src/LMSToolpad/layout/Toolbars/AppToolbar/SearchBar.d.ts +6 -0
- package/dist/src/LMSToolpad/layout/Toolbars/PageToolbar/RegisteredPageTools.d.ts +37 -0
- package/dist/src/LMSToolpad/layout/Toolbars/toolbarRegistry.d.ts +117 -0
- package/dist/{LMSToolpad/components → src/LMSToolpad/layout}/sidebar/Footer.d.ts +1 -1
- package/dist/src/LMSToolpad/mocks/browser.d.ts +2 -0
- package/dist/src/LMSToolpad/mocks/handlers.d.ts +2 -0
- package/dist/src/LMSToolpad/mocks/store.d.ts +24 -0
- package/dist/{LMSToolpad → src/LMSToolpad}/network/axiosConfig.d.ts +2 -1
- package/dist/src/LMSToolpad/store/useDialogStore.d.ts +9 -0
- package/dist/src/LMSToolpad/store/usePlatformStore.d.ts +165 -0
- package/dist/src/LMSToolpad/store/useThemeStore.d.ts +184 -0
- package/dist/src/LMSToolpad/store/useToolbarStore.d.ts +8 -0
- package/dist/src/LMSToolpad/theme/EduMLTheme.d.ts +2 -0
- package/dist/{LMSToolpad → src/LMSToolpad}/tools/ErrorBoundary.d.ts +1 -2
- package/dist/src/LMSToolpad/utils/__tests__/courseFilters.test.d.ts +2 -0
- package/dist/src/LMSToolpad/utils/apiPrefix.d.ts +2 -0
- package/dist/src/LMSToolpad/utils/cookieUtils.d.ts +27 -0
- package/dist/src/LMSToolpad/utils/parseDate.d.ts +2 -0
- package/dist/src/common/components/index.d.ts +2 -0
- package/dist/src/common/components/layout/GridLayout/GridItem.d.ts +17 -0
- package/dist/src/common/components/layout/GridLayout/GridItemContext.d.ts +26 -0
- package/dist/src/common/components/layout/GridLayout/ResponsiveGridLayout.d.ts +16 -0
- package/dist/src/common/components/layout/GridLayout/Tools/BreakpointIndicator.d.ts +8 -0
- package/dist/src/common/components/layout/GridLayout/Tools/EditModeToggler.d.ts +7 -0
- package/dist/src/common/components/layout/GridLayout/hooks/useGridLayoutManagement.d.ts +27 -0
- package/dist/src/common/components/layout/GridLayout/index.d.ts +12 -0
- package/dist/src/common/components/layout/GridLayout/layoutStorageUtils.d.ts +52 -0
- package/dist/src/common/components/layout/GridLayout/layoutUtils.d.ts +78 -0
- package/dist/src/common/components/layout/GridLayout/store/usePanelStore.d.ts +27 -0
- package/dist/src/common/components/layout/GridLayout/useGridLayout.d.ts +11 -0
- package/dist/src/common/components/layout/index.d.ts +1 -0
- package/dist/src/common/components/ui/CenteredHeading/CenteredHeading.d.ts +7 -0
- package/dist/src/common/components/ui/CollapsingButtons/CollapsingButtons.d.ts +11 -0
- package/dist/src/common/components/ui/CompoundPanel/CompoundPanel.d.ts +86 -0
- package/dist/src/common/components/ui/Panel/Expandable/Expandable.d.ts +4 -0
- package/dist/src/common/components/ui/Panel/Expandable/context/ExpandableContextProvider.d.ts +10 -0
- package/dist/src/common/components/ui/Panel/Expandable/hooks/useCollapseHandler.d.ts +2 -0
- package/dist/src/common/components/ui/Panel/Expandable/hooks/useExpandable.d.ts +17 -0
- package/dist/src/common/components/ui/Panel/Expandable/hooks/useExpansionAnimation.d.ts +5 -0
- package/dist/src/common/components/ui/Panel/Expandable/hooks/useInitialSetup.d.ts +6 -0
- package/dist/src/common/components/ui/Panel/Expandable/hooks/useResizeHandler.d.ts +1 -0
- package/dist/src/common/components/ui/Panel/Expandable/store/useExpandablePanelStore.d.ts +7 -0
- package/dist/src/common/components/ui/Panel/Main/Context/PanelContextProvider.d.ts +50 -0
- package/dist/src/common/components/ui/Panel/Main/Panel.d.ts +3 -0
- package/dist/src/common/components/ui/Panel/Main/hooks/useDimensionManagement.d.ts +13 -0
- package/dist/src/common/components/ui/Panel/Main/hooks/usePersistentDimensions.d.ts +19 -0
- package/dist/src/common/components/ui/Panel/Main/tools/BlurOverlay.d.ts +6 -0
- package/dist/src/common/components/ui/Panel/Main/tools/ToolsContainer.d.ts +11 -0
- package/dist/src/common/components/ui/Panel/Movable/DraggableItem.d.ts +6 -0
- package/dist/src/common/components/ui/Panel/Movable/MovablePanel.d.ts +9 -0
- package/dist/src/common/components/ui/Panel/Movable/MoveToggler.d.ts +3 -0
- package/dist/src/common/components/ui/Panel/Movable/context/MovableContextProvider.d.ts +10 -0
- package/dist/src/common/components/ui/Panel/Movable/hooks/usePersistentOrder.d.ts +3 -0
- package/dist/src/common/components/ui/Panel/Resizable/Context/ResizableContextProvider.d.ts +27 -0
- package/dist/src/common/components/ui/Panel/Resizable/Hooks/useResizeHandlers.d.ts +26 -0
- package/dist/src/common/components/ui/Panel/Resizable/Hooks/useResponsiveResize.d.ts +14 -0
- package/dist/src/common/components/ui/Panel/Resizable/Resizable.d.ts +3 -0
- package/dist/src/common/components/ui/Panel/Resizable/ResizeHandlers.d.ts +7 -0
- package/dist/src/common/components/ui/Panel/Resizable/ResizeIndicator.d.ts +9 -0
- package/dist/src/common/components/ui/Panel/Scrollable/InternalScrolling.d.ts +11 -0
- package/dist/src/common/components/ui/Panel/Scrollable/PaginationDots.d.ts +13 -0
- package/dist/src/common/components/ui/Panel/Scrollable/Scrollable.d.ts +5 -0
- package/dist/src/common/components/ui/Panel/Scrollable/context/ScrollerContextProvider.d.ts +15 -0
- package/dist/src/common/components/ui/Panel/Scrollable/hooks/useScrollControls.d.ts +28 -0
- package/dist/src/common/components/ui/Panel/TBR/PanelContent.d.ts +24 -0
- package/dist/src/common/components/ui/Panel/TBR/ResizablePanel.d.ts +3 -0
- package/dist/src/common/components/ui/Panel/TBR/ResizeHandlers.d.ts +10 -0
- package/dist/src/common/components/ui/Panel/TBR/ResizeIndicator.d.ts +10 -0
- package/dist/src/common/components/ui/Panel/TBR/useResizablePanel.d.ts +32 -0
- package/dist/src/common/components/ui/Panel/types.d.ts +9 -0
- package/dist/src/common/components/ui/Scroller/PaginationDots.d.ts +13 -0
- package/dist/src/common/components/ui/Scroller/Scroller.d.ts +14 -0
- package/dist/src/common/components/ui/Scroller/context/ScrollerContextProvider.d.ts +15 -0
- package/dist/src/common/components/ui/Scroller/hooks/useScrollControls.d.ts +28 -0
- package/dist/src/common/components/ui/Scroller/types.d.ts +1 -0
- package/dist/src/common/components/ui/SpeedDialButton/SpeedDialButton.d.ts +20 -0
- package/dist/src/common/components/ui/ThemeToggle/ThemeToggle.d.ts +3 -0
- package/dist/src/common/components/ui/index.d.ts +15 -0
- package/dist/src/common/hooks/index.d.ts +1 -0
- package/dist/src/common/hooks/useRetry.d.ts +12 -0
- package/dist/src/common/index.d.ts +2 -0
- package/dist/src/index.d.ts +74 -0
- package/dist/src/main.d.ts +0 -0
- package/dist/src/setupTests.d.ts +0 -0
- package/dist/src/test/Contact.d.ts +8 -0
- package/dist/src/test/EduTest.d.ts +10 -0
- package/dist/src/test/EduTest2.d.ts +10 -0
- package/dist/src/test/Help.d.ts +8 -0
- package/dist/static/images/admin.png +0 -0
- package/dist/static/images/default-course.webp +0 -0
- package/dist/static/images/guest.png +0 -0
- package/dist/static/images/icons/atom.svg +15 -0
- package/dist/static/images/icons/brain.svg +49 -0
- package/dist/static/images/icons/code.svg +6 -0
- package/dist/static/images/icons/dna.svg +38 -0
- package/dist/static/images/icons/lang.svg +4 -0
- package/dist/static/images/icons/line.svg +2 -0
- package/dist/static/images/icons/weight.svg +53 -0
- package/dist/static/images/student.png +0 -0
- package/dist/static/images/teacher.png +0 -0
- package/package.json +51 -36
- package/dist/LMSToolpad/EduMLProvider.d.ts +0 -21
- package/dist/LMSToolpad/LMSProvider.d.ts +0 -20
- package/dist/LMSToolpad/components/Courses/CourseItem.d.ts +0 -9
- package/dist/LMSToolpad/components/Courses/CourseList.d.ts +0 -9
- package/dist/LMSToolpad/components/Courses/CourseLoader.d.ts +0 -7
- package/dist/LMSToolpad/components/Courses/CourseSelector.d.ts +0 -3
- package/dist/LMSToolpad/components/Courses/CourseTools.d.ts +0 -3
- package/dist/LMSToolpad/components/Courses/NoCoursesMessage.d.ts +0 -3
- package/dist/LMSToolpad/components/EduMLDialog.d.ts +0 -9
- package/dist/LMSToolpad/components/MicroserviceRoutes.d.ts +0 -19
- package/dist/LMSToolpad/components/PageToolBar.d.ts +0 -3
- package/dist/LMSToolpad/components/ToolSelector.d.ts +0 -17
- package/dist/LMSToolpad/components/toolbar/Actions.d.ts +0 -1
- package/dist/LMSToolpad/constants.d.ts +0 -2
- package/dist/LMSToolpad/layout/breadcrumbs/SizableContentHeader.d.ts +0 -7
- package/dist/LMSToolpad/network/users.d.ts +0 -5
- package/dist/LMSToolpad/store/useCourseStore.d.ts +0 -15
- package/dist/LMSToolpad/store/useDialogStore.d.ts +0 -3
- package/dist/LMSToolpad/store/useNavigationStore.d.ts +0 -28
- package/dist/LMSToolpad/store/useNotificationsStore.d.ts +0 -15
- package/dist/LMSToolpad/store/useUserStore.d.ts +0 -26
- package/dist/LMSToolpad/theme/EduMLTheme.d.ts +0 -2
- package/dist/LMSToolpad/types/toolpad.d.ts +0 -26
- package/dist/LMSToolpad/types/vite-env.d.ts +0 -3
- package/dist/vite-env.d.ts +0 -1
- /package/dist/{LMSToolpad → src/LMSToolpad}/components/Courses/LtiLoginUrlForm.d.ts +0 -0
- /package/dist/{LMSToolpad/components → src/LMSToolpad/components/DevTools}/DevelopmentTools.d.ts +0 -0
- /package/dist/{LMSToolpad/components → src/LMSToolpad/components/DevTools}/UserSwitcher.d.ts +0 -0
- /package/dist/{LMSToolpad/components → src/LMSToolpad/components/Notifications}/Notifications.d.ts +0 -0
- /package/dist/{LMSToolpad → src/LMSToolpad}/components/tools/iconsByType.d.ts +0 -0
- /package/dist/{LMSToolpad → src/LMSToolpad}/interfaces.d.ts +0 -0
- /package/dist/{LMSToolpad/components → src/LMSToolpad/layout/Toolbars/AppToolbar}/Logo.d.ts +0 -0
- /package/dist/{LMSToolpad → src/LMSToolpad}/tools/NullStateWarning.d.ts +0 -0
- /package/dist/{LMSToolpad → src/LMSToolpad}/utils/caseConverter.d.ts +0 -0
- /package/dist/{LMSToolpad → src/LMSToolpad}/utils/slugify.d.ts +0 -0
- /package/dist/{LMSToolpad/components → src/common/components/ui/LoadingScreen}/LoadingScreen.d.ts +0 -0
package/README.md
CHANGED
|
@@ -4,6 +4,40 @@
|
|
|
4
4
|
|
|
5
5
|
A React library extending MUI Toolpad functionality with additional features for educational applications. This library provides components and tools for building interactive educational interfaces.
|
|
6
6
|
|
|
7
|
+
## Version 3.0.0
|
|
8
|
+
|
|
9
|
+
### Recent Changes
|
|
10
|
+
|
|
11
|
+
- **Modular Architecture**: Calendar, Courses, and Users are now optional extension packages
|
|
12
|
+
- **Standalone Core**: Main package (`mui-toolpad-extended-tuni`) is fully functional without extensions
|
|
13
|
+
- **Extension Packages**: Install only the microservices you need:
|
|
14
|
+
- `@mui-toolpad-extended-tuni/calendar` - Calendar microservice
|
|
15
|
+
- `@mui-toolpad-extended-tuni/courses` - Courses microservice
|
|
16
|
+
- `@mui-toolpad-extended-tuni/users` - Users microservice
|
|
17
|
+
- Enhanced course navigation structure with support for course instances
|
|
18
|
+
- Improved MicroserviceRoutes component with better TypeScript support
|
|
19
|
+
- Added new CourseInstanceSelector and CourseCodeLoader components
|
|
20
|
+
- Updated navigation store with better course instance handling
|
|
21
|
+
- Introduced new course filtering utilities
|
|
22
|
+
- Improved sidebar footer with responsive design
|
|
23
|
+
- Fixed axios configuration to use configured instance with baseURL
|
|
24
|
+
- Fixed user.platformRoles undefined error with optional chaining
|
|
25
|
+
|
|
26
|
+
### Breaking Changes in v3.0.0
|
|
27
|
+
|
|
28
|
+
- **Extension Packages**: Calendar, Courses, and Users are no longer included in the main package
|
|
29
|
+
- **Optional Extensions**: These microservices must be installed separately if needed
|
|
30
|
+
- **Peer Dependencies**: Extension packages require `mui-toolpad-extended-tuni` as a peer dependency
|
|
31
|
+
- Navigation structure now requires course code and instance properties
|
|
32
|
+
- MicroserviceRoutes configuration requires updated navigation builder function
|
|
33
|
+
- Course data structure updated to include code and instance fields
|
|
34
|
+
|
|
35
|
+
### Breaking Changes in v2.1.0
|
|
36
|
+
|
|
37
|
+
- Navigation structure now requires course code and instance properties
|
|
38
|
+
- MicroserviceRoutes configuration requires updated navigation builder function
|
|
39
|
+
- Course data structure updated to include code and instance fields
|
|
40
|
+
|
|
7
41
|
## Breaking Changes in v2.0.0
|
|
8
42
|
|
|
9
43
|
1. Renamed `EduMLProvider` to `LMSProvider` (EduMLProvider is now deprecated)
|
|
@@ -23,10 +57,29 @@ This library requires the following peer dependencies:
|
|
|
23
57
|
|
|
24
58
|
## Installation
|
|
25
59
|
|
|
60
|
+
### Core Package (Required)
|
|
61
|
+
|
|
26
62
|
```bash
|
|
27
63
|
npm install mui-toolpad-extended-tuni
|
|
28
64
|
```
|
|
29
65
|
|
|
66
|
+
### Optional Extension Packages
|
|
67
|
+
|
|
68
|
+
The main package is fully functional standalone. Install extension packages only if you need their functionality:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
# Calendar microservice
|
|
72
|
+
npm install @mui-toolpad-extended-tuni/calendar
|
|
73
|
+
|
|
74
|
+
# Courses microservice
|
|
75
|
+
npm install @mui-toolpad-extended-tuni/courses
|
|
76
|
+
|
|
77
|
+
# Users microservice
|
|
78
|
+
npm install @mui-toolpad-extended-tuni/users
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
**Note**: Extension packages require `mui-toolpad-extended-tuni` as a peer dependency and will automatically register themselves when imported.
|
|
82
|
+
|
|
30
83
|
## Basic Usage
|
|
31
84
|
|
|
32
85
|
1. Setup your application with `LMSProvider` and routing:
|
|
@@ -48,24 +101,53 @@ function App() {
|
|
|
48
101
|
|
|
49
102
|
```tsx
|
|
50
103
|
import {
|
|
51
|
-
useUserStore,
|
|
52
|
-
useCourseStore,
|
|
53
104
|
useNavigationStore,
|
|
105
|
+
useNotificationStore,
|
|
54
106
|
} from 'mui-toolpad-extended-tuni';
|
|
55
107
|
|
|
56
108
|
function MyComponent() {
|
|
57
|
-
const {
|
|
58
|
-
const {
|
|
109
|
+
const { navigation } = useNavigationStore();
|
|
110
|
+
const { addNotificationData } = useNotificationStore();
|
|
59
111
|
|
|
60
112
|
return (
|
|
61
113
|
<div>
|
|
62
|
-
<h1>Welcome
|
|
63
|
-
|
|
114
|
+
<h1>Welcome!</h1>
|
|
115
|
+
{/* Your content */}
|
|
64
116
|
</div>
|
|
65
117
|
);
|
|
66
118
|
}
|
|
67
119
|
```
|
|
68
120
|
|
|
121
|
+
### Using Extension Packages
|
|
122
|
+
|
|
123
|
+
If you've installed extension packages, import and use them as microservices:
|
|
124
|
+
|
|
125
|
+
```tsx
|
|
126
|
+
import { LMSProvider, Microservices } from 'mui-toolpad-extended-tuni';
|
|
127
|
+
import { CourseMicroservice } from '@mui-toolpad-extended-tuni/courses';
|
|
128
|
+
import { UserMicroservice } from '@mui-toolpad-extended-tuni/users';
|
|
129
|
+
import { CalendarMicroservice } from '@mui-toolpad-extended-tuni/calendar';
|
|
130
|
+
|
|
131
|
+
function App() {
|
|
132
|
+
return (
|
|
133
|
+
<BrowserRouter>
|
|
134
|
+
<LMSProvider>
|
|
135
|
+
<Microservices>
|
|
136
|
+
{/* Optionally include extension microservices */}
|
|
137
|
+
<CourseMicroservice>
|
|
138
|
+
{/* Your course microservices */}
|
|
139
|
+
</CourseMicroservice>
|
|
140
|
+
<UserMicroservice />
|
|
141
|
+
<CalendarMicroservice />
|
|
142
|
+
</Microservices>
|
|
143
|
+
</LMSProvider>
|
|
144
|
+
</BrowserRouter>
|
|
145
|
+
);
|
|
146
|
+
}
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
**Note**: Extension packages auto-register themselves when imported. You don't need to manually register them.
|
|
150
|
+
|
|
69
151
|
## Core Components
|
|
70
152
|
|
|
71
153
|
### LMSProvider
|
|
@@ -138,12 +220,14 @@ function MyComponent() {
|
|
|
138
220
|
|
|
139
221
|
### Course Management Components
|
|
140
222
|
|
|
223
|
+
**Note**: Course management components are available in the `@mui-toolpad-extended-tuni/courses` extension package.
|
|
224
|
+
|
|
141
225
|
#### CourseSelector
|
|
142
226
|
|
|
143
227
|
A component for listing and selecting courses:
|
|
144
228
|
|
|
145
229
|
```tsx
|
|
146
|
-
import { CourseSelector } from 'mui-toolpad-extended-tuni';
|
|
230
|
+
import { CourseSelector } from '@mui-toolpad-extended-tuni/courses';
|
|
147
231
|
|
|
148
232
|
function MyComponent() {
|
|
149
233
|
return <CourseSelector />;
|
|
@@ -155,7 +239,7 @@ function MyComponent() {
|
|
|
155
239
|
Manages course-specific tools and LTI configuration:
|
|
156
240
|
|
|
157
241
|
```tsx
|
|
158
|
-
import { CourseTools } from 'mui-toolpad-extended-tuni';
|
|
242
|
+
import { CourseTools } from '@mui-toolpad-extended-tuni/courses';
|
|
159
243
|
|
|
160
244
|
function MyComponent() {
|
|
161
245
|
return <CourseTools />;
|
|
@@ -167,7 +251,7 @@ function MyComponent() {
|
|
|
167
251
|
For teachers to set up course authentication:
|
|
168
252
|
|
|
169
253
|
```tsx
|
|
170
|
-
import { LtiLoginUrlForm } from 'mui-toolpad-extended-tuni';
|
|
254
|
+
import { LtiLoginUrlForm } from '@mui-toolpad-extended-tuni/courses';
|
|
171
255
|
|
|
172
256
|
function MyComponent() {
|
|
173
257
|
return <LtiLoginUrlForm />;
|
|
@@ -229,9 +313,31 @@ When running in development mode (localhost), the library provides additional to
|
|
|
229
313
|
|
|
230
314
|
## Available Stores
|
|
231
315
|
|
|
232
|
-
###
|
|
316
|
+
### Core Stores (Main Package)
|
|
317
|
+
|
|
318
|
+
The following stores are available in the main package:
|
|
319
|
+
|
|
320
|
+
### useNavigationStore
|
|
321
|
+
|
|
322
|
+
```tsx
|
|
323
|
+
const {
|
|
324
|
+
navigation, // Current navigation structure
|
|
325
|
+
addSection, // Add a new section with optional header
|
|
326
|
+
removeSection, // Remove a section and its header if last section
|
|
327
|
+
addMicroserviceNavigation, // Add microservice navigation items
|
|
328
|
+
setNavigation, // Set entire navigation
|
|
329
|
+
} = useNavigationStore();
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
### Extension Package Stores
|
|
333
|
+
|
|
334
|
+
**Note**: User and Course stores are available in their respective extension packages:
|
|
335
|
+
|
|
336
|
+
#### useUserStore (`@mui-toolpad-extended-tuni/users`)
|
|
233
337
|
|
|
234
338
|
```tsx
|
|
339
|
+
import { useUserStore } from '@mui-toolpad-extended-tuni/users';
|
|
340
|
+
|
|
235
341
|
const {
|
|
236
342
|
user, // Current user data
|
|
237
343
|
getUser, // Fetch user data
|
|
@@ -240,9 +346,11 @@ const {
|
|
|
240
346
|
} = useUserStore();
|
|
241
347
|
```
|
|
242
348
|
|
|
243
|
-
|
|
349
|
+
#### useCourseStore (`@mui-toolpad-extended-tuni/courses`)
|
|
244
350
|
|
|
245
351
|
```tsx
|
|
352
|
+
import { useCourseStore } from '@mui-toolpad-extended-tuni/courses';
|
|
353
|
+
|
|
246
354
|
const {
|
|
247
355
|
currentCourse, // Current active course
|
|
248
356
|
courses, // List of available courses
|
|
@@ -256,7 +364,9 @@ const {
|
|
|
256
364
|
```tsx
|
|
257
365
|
const {
|
|
258
366
|
navigation, // Current navigation structure
|
|
259
|
-
|
|
367
|
+
addSection, // Add a new section with optional header
|
|
368
|
+
removeSection, // Remove a section and its header if last section
|
|
369
|
+
addMicroserviceNavigation, // Add microservice navigation items
|
|
260
370
|
setNavigation, // Set entire navigation
|
|
261
371
|
} = useNavigationStore();
|
|
262
372
|
```
|
|
@@ -304,13 +414,23 @@ const underscoreData = convertObjectKeysToUnderscore(requestData);
|
|
|
304
414
|
|
|
305
415
|
## Network Configuration
|
|
306
416
|
|
|
307
|
-
The library includes pre-configured Axios instance for API communications:
|
|
417
|
+
The library includes a pre-configured Axios instance for API communications:
|
|
308
418
|
|
|
309
419
|
```tsx
|
|
310
|
-
import {
|
|
420
|
+
import { axios } from 'mui-toolpad-extended-tuni';
|
|
311
421
|
|
|
312
422
|
// Handles CSRF tokens and base URL automatically
|
|
313
|
-
const response = await
|
|
423
|
+
const response = await axios.get('/api/endpoint');
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
**Important**: Extension packages should use the configured axios instance from the main package to ensure consistent baseURL and CSRF token handling:
|
|
427
|
+
|
|
428
|
+
```tsx
|
|
429
|
+
// In extension packages
|
|
430
|
+
import { axios } from 'mui-toolpad-extended-tuni';
|
|
431
|
+
|
|
432
|
+
// This ensures correct API path resolution
|
|
433
|
+
const response = await axios.get('api/users/current/');
|
|
314
434
|
```
|
|
315
435
|
|
|
316
436
|
## Course Types and Interfaces
|
|
@@ -347,16 +467,47 @@ import { EduMLTheme } from 'mui-toolpad-extended-tuni';
|
|
|
347
467
|
// - Z-index hierarchy
|
|
348
468
|
```
|
|
349
469
|
|
|
470
|
+
**Note**: The theme is provided by the main package and is available to all extension packages automatically.
|
|
471
|
+
|
|
472
|
+
## Package Architecture
|
|
473
|
+
|
|
474
|
+
### Main Package (`mui-toolpad-extended-tuni`)
|
|
475
|
+
|
|
476
|
+
The core package provides:
|
|
477
|
+
- LMSProvider and routing infrastructure
|
|
478
|
+
- Navigation system
|
|
479
|
+
- Notification system
|
|
480
|
+
- Dialog management
|
|
481
|
+
- Theme customization
|
|
482
|
+
- Utility functions
|
|
483
|
+
- Configured axios instance
|
|
484
|
+
- Common components and layouts
|
|
485
|
+
|
|
486
|
+
### Extension Packages
|
|
487
|
+
|
|
488
|
+
Extension packages are optional microservices that can be installed separately:
|
|
489
|
+
|
|
490
|
+
- **`@mui-toolpad-extended-tuni/calendar`**: Calendar functionality
|
|
491
|
+
- **`@mui-toolpad-extended-tuni/courses`**: Course management, routing, and tools
|
|
492
|
+
- **`@mui-toolpad-extended-tuni/users`**: User management and authentication
|
|
493
|
+
|
|
494
|
+
Each extension:
|
|
495
|
+
- Depends on `mui-toolpad-extended-tuni` as a peer dependency
|
|
496
|
+
- Auto-registers itself when imported
|
|
497
|
+
- Can be used independently or together
|
|
498
|
+
- Uses the configured axios instance from the main package
|
|
499
|
+
|
|
350
500
|
## Current Limitations
|
|
351
501
|
|
|
352
502
|
1. **Authentication:**
|
|
353
503
|
|
|
354
|
-
- LTI login URL must be configured per course
|
|
504
|
+
- LTI login URL must be configured per course (requires Courses extension)
|
|
355
505
|
- Only supports single active session
|
|
356
506
|
- Development mode uses mock authentication
|
|
357
507
|
|
|
358
508
|
2. **Course Management:**
|
|
359
509
|
|
|
510
|
+
- Requires `@mui-toolpad-extended-tuni/courses` extension package
|
|
360
511
|
- Limited to predefined course structure
|
|
361
512
|
- No bulk operations support
|
|
362
513
|
- Course tools must follow specific navigation structure
|
|
@@ -372,6 +523,7 @@ import { EduMLTheme } from 'mui-toolpad-extended-tuni';
|
|
|
372
523
|
- Base URL is fixed to '/'
|
|
373
524
|
- CSRF token handling is mandatory
|
|
374
525
|
- No request caching implementation
|
|
526
|
+
- Extension packages must use the configured axios instance
|
|
375
527
|
|
|
376
528
|
5. **Browser Support:**
|
|
377
529
|
- Requires modern browser features
|
|
@@ -402,10 +554,13 @@ MIT License - See LICENSE file for details.
|
|
|
402
554
|
When contributing, please note:
|
|
403
555
|
|
|
404
556
|
- All components must implement error boundaries
|
|
405
|
-
- State management should use Zustand stores
|
|
406
|
-
- Network requests must use the
|
|
557
|
+
- State management should use Zustand stores with `createWithEqualityFn` from `zustand/traditional`
|
|
558
|
+
- Network requests must use the configured axios instance from the main package (`import { axios } from 'mui-toolpad-extended-tuni'`)
|
|
559
|
+
- Extension packages should depend on `mui-toolpad-extended-tuni` as a peer dependency
|
|
560
|
+
- Extension packages should auto-register themselves when imported
|
|
407
561
|
- Theme modifications should extend EduMLTheme
|
|
408
562
|
- Components should handle null states appropriately
|
|
563
|
+
- Use optional chaining for potentially undefined properties (e.g., `user?.platformRoles?.includes(...)`)
|
|
409
564
|
|
|
410
565
|
## Support
|
|
411
566
|
|