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