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