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