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
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { Components, Theme, PaletteMode, PaletteOptions } from '@mui/material/styles';
|
|
2
|
+
import { ColorSchemePreference } from '../utils/cookieUtils';
|
|
3
|
+
export interface TypographyVariantStyle extends Partial<React.CSSProperties> {
|
|
4
|
+
}
|
|
5
|
+
export interface ThemeTypography {
|
|
6
|
+
fontFamily: string;
|
|
7
|
+
h1: TypographyVariantStyle;
|
|
8
|
+
h2: TypographyVariantStyle;
|
|
9
|
+
h3: TypographyVariantStyle;
|
|
10
|
+
h4: TypographyVariantStyle;
|
|
11
|
+
h5: TypographyVariantStyle;
|
|
12
|
+
h6: TypographyVariantStyle;
|
|
13
|
+
subtitle1: TypographyVariantStyle;
|
|
14
|
+
subtitle2: TypographyVariantStyle;
|
|
15
|
+
body1: TypographyVariantStyle;
|
|
16
|
+
body2: TypographyVariantStyle;
|
|
17
|
+
button: TypographyVariantStyle;
|
|
18
|
+
caption: TypographyVariantStyle;
|
|
19
|
+
overline: TypographyVariantStyle;
|
|
20
|
+
}
|
|
21
|
+
export interface shape {
|
|
22
|
+
borderRadius: number;
|
|
23
|
+
}
|
|
24
|
+
export interface colorScheme {
|
|
25
|
+
palette: PaletteOptions & {
|
|
26
|
+
mode: PaletteMode;
|
|
27
|
+
background: {
|
|
28
|
+
default: string;
|
|
29
|
+
paper: string;
|
|
30
|
+
};
|
|
31
|
+
primary: {
|
|
32
|
+
main: string;
|
|
33
|
+
light: string;
|
|
34
|
+
dark: string;
|
|
35
|
+
contrastText: string;
|
|
36
|
+
};
|
|
37
|
+
secondary: {
|
|
38
|
+
main: string;
|
|
39
|
+
light: string;
|
|
40
|
+
dark: string;
|
|
41
|
+
contrastText: string;
|
|
42
|
+
};
|
|
43
|
+
error: {
|
|
44
|
+
main: string;
|
|
45
|
+
light: string;
|
|
46
|
+
dark: string;
|
|
47
|
+
contrastText: string;
|
|
48
|
+
};
|
|
49
|
+
warning: {
|
|
50
|
+
main: string;
|
|
51
|
+
light: string;
|
|
52
|
+
dark: string;
|
|
53
|
+
contrastText: string;
|
|
54
|
+
};
|
|
55
|
+
info: {
|
|
56
|
+
main: string;
|
|
57
|
+
light: string;
|
|
58
|
+
dark: string;
|
|
59
|
+
contrastText: string;
|
|
60
|
+
};
|
|
61
|
+
success: {
|
|
62
|
+
main: string;
|
|
63
|
+
light: string;
|
|
64
|
+
dark: string;
|
|
65
|
+
contrastText: string;
|
|
66
|
+
};
|
|
67
|
+
text: {
|
|
68
|
+
primary: string;
|
|
69
|
+
secondary: string;
|
|
70
|
+
disabled: string;
|
|
71
|
+
};
|
|
72
|
+
divider: string;
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
export interface ThemeBreakpoints {
|
|
76
|
+
values: {
|
|
77
|
+
xs: number;
|
|
78
|
+
sm: number;
|
|
79
|
+
md: number;
|
|
80
|
+
lg: number;
|
|
81
|
+
xl: number;
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
export interface ThemeComponents {
|
|
85
|
+
MuiButton: {
|
|
86
|
+
styleOverrides: {
|
|
87
|
+
root: {
|
|
88
|
+
textTransform: string;
|
|
89
|
+
borderRadius: number;
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
MuiPaper: {
|
|
94
|
+
styleOverrides: {
|
|
95
|
+
root: {
|
|
96
|
+
backgroundImage: string;
|
|
97
|
+
};
|
|
98
|
+
};
|
|
99
|
+
};
|
|
100
|
+
MuiDialog: {
|
|
101
|
+
styleOverrides: {
|
|
102
|
+
paper: {
|
|
103
|
+
borderRadius: number;
|
|
104
|
+
};
|
|
105
|
+
};
|
|
106
|
+
};
|
|
107
|
+
MuiCard: {
|
|
108
|
+
styleOverrides: {
|
|
109
|
+
root: {
|
|
110
|
+
borderRadius: number;
|
|
111
|
+
};
|
|
112
|
+
};
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
export interface ThemeTransitions {
|
|
116
|
+
easing: {
|
|
117
|
+
easeInOut: string;
|
|
118
|
+
easeOut: string;
|
|
119
|
+
easeIn: string;
|
|
120
|
+
sharp: string;
|
|
121
|
+
};
|
|
122
|
+
duration: {
|
|
123
|
+
shortest: number;
|
|
124
|
+
shorter: number;
|
|
125
|
+
short: number;
|
|
126
|
+
standard: number;
|
|
127
|
+
complex: number;
|
|
128
|
+
enteringScreen: number;
|
|
129
|
+
leavingScreen: number;
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
export interface ThemezIndex {
|
|
133
|
+
mobileStepper: number;
|
|
134
|
+
fab: number;
|
|
135
|
+
speedDial: number;
|
|
136
|
+
appBar: number;
|
|
137
|
+
drawer: number;
|
|
138
|
+
modal: number;
|
|
139
|
+
snackbar: number;
|
|
140
|
+
tooltip: number;
|
|
141
|
+
}
|
|
142
|
+
interface ThemeTemplate {
|
|
143
|
+
cssVariables: {
|
|
144
|
+
colorSchemeSelector: string;
|
|
145
|
+
};
|
|
146
|
+
defaultColorScheme: 'light' | 'dark';
|
|
147
|
+
typography: ThemeTypography;
|
|
148
|
+
shape: shape;
|
|
149
|
+
spacing: number;
|
|
150
|
+
colorSchemes: {
|
|
151
|
+
light: colorScheme;
|
|
152
|
+
dark: colorScheme;
|
|
153
|
+
};
|
|
154
|
+
breakpoints: ThemeBreakpoints;
|
|
155
|
+
components: Partial<Components<Theme>>;
|
|
156
|
+
transitions: ThemeTransitions;
|
|
157
|
+
zIndex: ThemezIndex;
|
|
158
|
+
}
|
|
159
|
+
export declare const ThemeTemplate: ThemeTemplate;
|
|
160
|
+
export type AppTheme = ThemeTemplate;
|
|
161
|
+
interface ThemeStore {
|
|
162
|
+
colorSchemePreference: ColorSchemePreference;
|
|
163
|
+
setColorSchemePreference: (preference: ColorSchemePreference) => void;
|
|
164
|
+
getTheme: () => AppTheme;
|
|
165
|
+
updateTheme: (updates: AppTheme) => void;
|
|
166
|
+
resetTheme: () => void;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Theme management store with support for custom themes and dark mode.
|
|
170
|
+
*
|
|
171
|
+
* @version 2.0.0
|
|
172
|
+
* @updates
|
|
173
|
+
* - Color scheme preference stored in cookie (light/dark/system)
|
|
174
|
+
* - Theme colors always come from ThemeTemplate (not persisted)
|
|
175
|
+
* - System preference detection for 'system' mode
|
|
176
|
+
*
|
|
177
|
+
* @features
|
|
178
|
+
* - Theme customization (colors, typography, etc.)
|
|
179
|
+
* - Color scheme preference management (cookie-based)
|
|
180
|
+
* - System preference detection
|
|
181
|
+
* - Always uses ThemeTemplate for base colors
|
|
182
|
+
*/
|
|
183
|
+
export declare const useThemeStore: import('zustand/traditional').UseBoundStoreWithEqualityFn<import('zustand').StoreApi<ThemeStore>>;
|
|
184
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** @format */
|
|
2
|
+
export type toolbarType = string | null;
|
|
3
|
+
type ToolbarState = {
|
|
4
|
+
currentToolbar: toolbarType;
|
|
5
|
+
setCurrentToolbar: (toolbar: toolbarType) => void;
|
|
6
|
+
};
|
|
7
|
+
declare const useToolbarStore: import('zustand/traditional').UseBoundStoreWithEqualityFn<import('zustand').StoreApi<ToolbarState>>;
|
|
8
|
+
export default useToolbarStore;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/** @format */
|
|
2
1
|
import { Component, ErrorInfo, ReactNode } from 'react';
|
|
3
2
|
interface Props {
|
|
4
3
|
children: ReactNode;
|
|
@@ -10,6 +9,6 @@ declare class ErrorBoundary extends Component<Props, State> {
|
|
|
10
9
|
state: State;
|
|
11
10
|
static getDerivedStateFromError(_: Error): State;
|
|
12
11
|
componentDidCatch(error: Error, errorInfo: ErrorInfo): void;
|
|
13
|
-
render(): import("react/jsx-runtime").JSX.Element | null | undefined;
|
|
12
|
+
render(): string | number | bigint | boolean | import("react/jsx-runtime").JSX.Element | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import('react').ReactPortal | import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | null | undefined;
|
|
14
13
|
}
|
|
15
14
|
export default ErrorBoundary;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/** @format */
|
|
2
|
+
export type ColorSchemePreference = 'light' | 'dark' | 'system';
|
|
3
|
+
/**
|
|
4
|
+
* Get a cookie value by name
|
|
5
|
+
*/
|
|
6
|
+
export declare function getCookie(name: string): string | null;
|
|
7
|
+
/**
|
|
8
|
+
* Set a cookie value
|
|
9
|
+
*/
|
|
10
|
+
export declare function setCookie(name: string, value: string, days?: number): void;
|
|
11
|
+
/**
|
|
12
|
+
* Delete a cookie by name
|
|
13
|
+
*/
|
|
14
|
+
export declare function deleteCookie(name: string): void;
|
|
15
|
+
/**
|
|
16
|
+
* Get the color scheme preference from cookie
|
|
17
|
+
* Returns 'system' as default if not set
|
|
18
|
+
*/
|
|
19
|
+
export declare function getColorSchemePreference(): ColorSchemePreference;
|
|
20
|
+
/**
|
|
21
|
+
* Set the color scheme preference in cookie
|
|
22
|
+
*/
|
|
23
|
+
export declare function setColorSchemePreference(preference: ColorSchemePreference): void;
|
|
24
|
+
/**
|
|
25
|
+
* Get the effective color scheme (resolves 'system' to actual light/dark based on system preference)
|
|
26
|
+
*/
|
|
27
|
+
export declare function getEffectiveColorScheme(preference: ColorSchemePreference): 'light' | 'dark';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const slugify: (text: string) => string;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { default as React, ReactNode } from 'react';
|
|
2
|
+
export interface GridItemProps {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
id: string;
|
|
5
|
+
isFlexContainer?: boolean;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Grid item component that applies consistent styling and resize visual feedback.
|
|
9
|
+
*
|
|
10
|
+
* Features:
|
|
11
|
+
* - Visual indication when in resize or move mode
|
|
12
|
+
* - Consistent styling for all grid items
|
|
13
|
+
* - Optional flex container for content that needs to fill the space
|
|
14
|
+
* - Content is non-interactable when in edit mode (using BlurOverlay)
|
|
15
|
+
*/
|
|
16
|
+
declare const GridItem: React.FC<GridItemProps>;
|
|
17
|
+
export default GridItem;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { default as React, ReactNode } from 'react';
|
|
2
|
+
import { Layout } from 'react-grid-layout';
|
|
3
|
+
export interface GridItem {
|
|
4
|
+
id: string;
|
|
5
|
+
content: ReactNode;
|
|
6
|
+
layout?: Layout;
|
|
7
|
+
}
|
|
8
|
+
export interface GridItemEntry {
|
|
9
|
+
id: string;
|
|
10
|
+
content: ReactNode;
|
|
11
|
+
layout?: Layout;
|
|
12
|
+
}
|
|
13
|
+
interface GridItemContextType {
|
|
14
|
+
gridItems: GridItemEntry[];
|
|
15
|
+
registerGridItem: (id: string, content: ReactNode, layout?: Layout) => void;
|
|
16
|
+
unregisterGridItem: (id: string) => void;
|
|
17
|
+
getGridItem: (id: string) => GridItemEntry | undefined;
|
|
18
|
+
getAllGridItems: () => GridItemEntry[];
|
|
19
|
+
}
|
|
20
|
+
declare const GridItemContext: React.Context<GridItemContextType | undefined>;
|
|
21
|
+
export declare const useGridItemContext: () => GridItemContextType;
|
|
22
|
+
interface GridItemProviderProps {
|
|
23
|
+
children: ReactNode;
|
|
24
|
+
}
|
|
25
|
+
export declare const GridItemProvider: React.FC<GridItemProviderProps>;
|
|
26
|
+
export default GridItemContext;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { default as React, ReactNode } from 'react';
|
|
2
|
+
import { Layout } from 'react-grid-layout';
|
|
3
|
+
export interface GridItem {
|
|
4
|
+
id: string;
|
|
5
|
+
content: ReactNode;
|
|
6
|
+
layout?: Layout;
|
|
7
|
+
}
|
|
8
|
+
export interface GridLayoutProps {
|
|
9
|
+
items: GridItem[];
|
|
10
|
+
storageKey: string;
|
|
11
|
+
defaultLayouts: {
|
|
12
|
+
[key: string]: Layout[];
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
declare const ResponsiveGridLayout: React.FC<GridLayoutProps>;
|
|
16
|
+
export default ResponsiveGridLayout;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Layout, Layouts } from 'react-grid-layout';
|
|
2
|
+
/**
|
|
3
|
+
* Options for the useGridLayoutManagement hook
|
|
4
|
+
*/
|
|
5
|
+
interface UseGridLayoutManagementOptions {
|
|
6
|
+
/** Storage key for persisting layouts */
|
|
7
|
+
storageKey: string;
|
|
8
|
+
/** Default layouts to use if none found in storage */
|
|
9
|
+
defaultLayouts: Layouts;
|
|
10
|
+
/** Function to run when layout changes */
|
|
11
|
+
onLayoutChangeCallback?: (layouts: Layouts) => void;
|
|
12
|
+
/** Debounce time for saving to localStorage (ms) */
|
|
13
|
+
debounceTime?: number;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Hook for managing grid layouts, including persistence, updates, and preset handling
|
|
17
|
+
*
|
|
18
|
+
* @param options Configuration options
|
|
19
|
+
* @returns Layout management utilities
|
|
20
|
+
*/
|
|
21
|
+
export declare function useGridLayoutManagement({ storageKey, defaultLayouts, onLayoutChangeCallback, debounceTime, }: UseGridLayoutManagementOptions): {
|
|
22
|
+
layouts: Layouts;
|
|
23
|
+
onLayoutChange: (_: Layout[], allLayouts: Layouts) => void;
|
|
24
|
+
applyLayout: (newLayouts: Layouts) => void;
|
|
25
|
+
resetToDefault: () => void;
|
|
26
|
+
};
|
|
27
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** @format */
|
|
2
|
+
export * from './GridItemContext';
|
|
3
|
+
export * from './layoutUtils';
|
|
4
|
+
export { default as GridItem } from './GridItem';
|
|
5
|
+
export { default as ResponsiveGridLayout } from './ResponsiveGridLayout';
|
|
6
|
+
export type { GridItem as GridItemType, GridLayoutProps } from './ResponsiveGridLayout';
|
|
7
|
+
export { default as useGridLayout } from './useGridLayout';
|
|
8
|
+
export * from './layoutStorageUtils';
|
|
9
|
+
export * from './hooks/useGridLayoutManagement';
|
|
10
|
+
export { default as EditModeToggler } from './Tools/EditModeToggler';
|
|
11
|
+
export { default as BreakpointIndicator } from './Tools/BreakpointIndicator';
|
|
12
|
+
export * from './store/usePanelStore';
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Layouts } from 'react-grid-layout';
|
|
2
|
+
/**
|
|
3
|
+
* Helper function to get layout from localStorage
|
|
4
|
+
* @param key Storage key for the layout
|
|
5
|
+
* @returns The stored layout or null if not found
|
|
6
|
+
*/
|
|
7
|
+
export declare function getFromLS(key: string): Layouts | null;
|
|
8
|
+
/**
|
|
9
|
+
* Helper function to save layout to localStorage
|
|
10
|
+
* @param key Storage key for the layout
|
|
11
|
+
* @param value The layout to store
|
|
12
|
+
*/
|
|
13
|
+
export declare function saveToLS(key: string, value: Layouts): void;
|
|
14
|
+
export declare const USER_PRESETS_KEY = "user-layout-presets";
|
|
15
|
+
/**
|
|
16
|
+
* Layout preset interface
|
|
17
|
+
*/
|
|
18
|
+
export interface LayoutPreset {
|
|
19
|
+
id: string;
|
|
20
|
+
name: string;
|
|
21
|
+
layouts: Layouts;
|
|
22
|
+
createdAt?: number;
|
|
23
|
+
updatedAt?: number;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Helper function to get user presets from localStorage
|
|
27
|
+
* @returns Array of user-defined layout presets
|
|
28
|
+
*/
|
|
29
|
+
export declare function getUserPresets(): LayoutPreset[];
|
|
30
|
+
/**
|
|
31
|
+
* Helper function to save a user preset to localStorage
|
|
32
|
+
* @param name Name of the preset
|
|
33
|
+
* @param layouts Layout configuration to save
|
|
34
|
+
* @returns ID of the newly created preset
|
|
35
|
+
*/
|
|
36
|
+
export declare function saveUserPreset(name: string, layouts: Layouts): string;
|
|
37
|
+
/**
|
|
38
|
+
* Helper function to delete a user preset from localStorage
|
|
39
|
+
* @param presetId ID of the preset to delete
|
|
40
|
+
* @returns true if deletion was successful, false otherwise
|
|
41
|
+
*/
|
|
42
|
+
export declare function deleteUserPreset(presetId: string): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Helper function to update a user preset in localStorage
|
|
45
|
+
* @param presetId ID of the preset to update
|
|
46
|
+
* @param updates Object with properties to update
|
|
47
|
+
* @returns true if update was successful, false otherwise
|
|
48
|
+
*/
|
|
49
|
+
export declare function updateUserPreset(presetId: string, updates: Partial<{
|
|
50
|
+
name: string;
|
|
51
|
+
layouts: Layouts;
|
|
52
|
+
}>): boolean;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { Layout } from 'react-grid-layout';
|
|
2
|
+
/**
|
|
3
|
+
* Options for creating a grid item layout.
|
|
4
|
+
* All properties are optional, allowing for flexible grid item creation.
|
|
5
|
+
*/
|
|
6
|
+
export interface CreateGridItemOptions {
|
|
7
|
+
/**
|
|
8
|
+
* Unique identifier for the grid item.
|
|
9
|
+
* If not provided, a unique ID will be generated.
|
|
10
|
+
*/
|
|
11
|
+
id?: string;
|
|
12
|
+
/**
|
|
13
|
+
* X position in the grid (column index).
|
|
14
|
+
* Defaults to 0 if not specified.
|
|
15
|
+
*/
|
|
16
|
+
x?: number;
|
|
17
|
+
/**
|
|
18
|
+
* Y position in the grid (row index).
|
|
19
|
+
* Defaults to 0 if not specified.
|
|
20
|
+
*/
|
|
21
|
+
y?: number;
|
|
22
|
+
/**
|
|
23
|
+
* Width of the grid item in grid units.
|
|
24
|
+
* If null, the item will span the full width of the grid.
|
|
25
|
+
* Defaults to 1 if not specified.
|
|
26
|
+
*/
|
|
27
|
+
w?: number | null;
|
|
28
|
+
/**
|
|
29
|
+
* Height of the grid item in grid units.
|
|
30
|
+
* Defaults to 1 if not specified.
|
|
31
|
+
*/
|
|
32
|
+
h?: number | null;
|
|
33
|
+
/**
|
|
34
|
+
* Minimum width constraint.
|
|
35
|
+
* Defaults to 1 if not specified.
|
|
36
|
+
*/
|
|
37
|
+
minW?: number;
|
|
38
|
+
/**
|
|
39
|
+
* Maximum width constraint.
|
|
40
|
+
* If null, no maximum width constraint.
|
|
41
|
+
*/
|
|
42
|
+
maxW?: number | null;
|
|
43
|
+
/**
|
|
44
|
+
* Minimum height constraint.
|
|
45
|
+
* Defaults to 1 if not specified.
|
|
46
|
+
*/
|
|
47
|
+
minH?: number;
|
|
48
|
+
/**
|
|
49
|
+
* Maximum height constraint.
|
|
50
|
+
* If null, no maximum height constraint.
|
|
51
|
+
*/
|
|
52
|
+
maxH?: number | null;
|
|
53
|
+
/**
|
|
54
|
+
* Whether the item is static (cannot be moved or resized).
|
|
55
|
+
* Defaults to false.
|
|
56
|
+
*/
|
|
57
|
+
static?: boolean;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Creates a grid item layout configuration.
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* // Create a grid item with default settings
|
|
64
|
+
* createGridItem({ id: "my-item" });
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* // Create a grid item with specific dimensions
|
|
68
|
+
* createGridItem({ id: "my-item", x: 0, y: 0, w: 7, h: 5 });
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* // Create a full-width grid item
|
|
72
|
+
* createGridItem({
|
|
73
|
+
* id: "my-item",
|
|
74
|
+
* w: null, // null means full width
|
|
75
|
+
* h: 5
|
|
76
|
+
* });
|
|
77
|
+
*/
|
|
78
|
+
export declare function createGridItem(options: CreateGridItemOptions): Layout;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/** @format */
|
|
2
|
+
interface PanelState {
|
|
3
|
+
editMode: boolean;
|
|
4
|
+
toggleEditMode: () => void;
|
|
5
|
+
resizeMode: boolean;
|
|
6
|
+
toggleResizeMode: () => void;
|
|
7
|
+
moveMode: boolean;
|
|
8
|
+
toggleMoveMode: () => void;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Store for managing panel state related to grid layouts.
|
|
12
|
+
*
|
|
13
|
+
* This uses a single editMode that enables both dragging and resizing.
|
|
14
|
+
* It also manages saved layout presets.
|
|
15
|
+
*/
|
|
16
|
+
export declare const usePanelStore: import('zustand/traditional').UseBoundStoreWithEqualityFn<Omit<import('zustand').StoreApi<PanelState>, "persist"> & {
|
|
17
|
+
persist: {
|
|
18
|
+
setOptions: (options: Partial<import('zustand/middleware').PersistOptions<PanelState, PanelState>>) => void;
|
|
19
|
+
clearStorage: () => void;
|
|
20
|
+
rehydrate: () => Promise<void> | void;
|
|
21
|
+
hasHydrated: () => boolean;
|
|
22
|
+
onHydrate: (fn: (state: PanelState) => void) => () => void;
|
|
23
|
+
onFinishHydration: (fn: (state: PanelState) => void) => () => void;
|
|
24
|
+
getOptions: () => Partial<import('zustand/middleware').PersistOptions<PanelState, PanelState>>;
|
|
25
|
+
};
|
|
26
|
+
}>;
|
|
27
|
+
export default usePanelStore;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './GridLayout';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
interface CollapsingButtonsProps {
|
|
3
|
+
collapseIcon: React.ReactNode;
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
collapseWidth: number;
|
|
6
|
+
delay?: number;
|
|
7
|
+
tooltipTitle?: string;
|
|
8
|
+
fullWidth?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare const CollapsingButtons: ({ collapseIcon, children, collapseWidth, delay, tooltipTitle, fullWidth, }: CollapsingButtonsProps) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { PanelProps } from '../Panel/Main/Context/PanelContextProvider';
|
|
3
|
+
export interface CompoundPanelProps extends PanelProps {
|
|
4
|
+
/**
|
|
5
|
+
* Content to be displayed in the panel
|
|
6
|
+
*/
|
|
7
|
+
children: React.ReactNode;
|
|
8
|
+
/**
|
|
9
|
+
* Whether the panel should display in a horizontal scroller
|
|
10
|
+
*/
|
|
11
|
+
horizontalScroll?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Whether the panel should display in a vertical scroller
|
|
14
|
+
*/
|
|
15
|
+
verticalScroll?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Optional title for the panel's horizontal scroller
|
|
18
|
+
*/
|
|
19
|
+
title?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Priority level for title styling
|
|
22
|
+
*/
|
|
23
|
+
priority?: "high" | "low" | "normal";
|
|
24
|
+
/**
|
|
25
|
+
* Automatically arrange children as sections (useful for course sections)
|
|
26
|
+
* Each direct child will be rendered as a horizontal section inside a vertical scroller
|
|
27
|
+
*/
|
|
28
|
+
sections?: boolean;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* CompoundPanel - An all-in-one panel component that encapsulates all functionality
|
|
32
|
+
* needed for panels in the LMS system, including scrolling, expanding, and resizing.
|
|
33
|
+
*
|
|
34
|
+
* @example - Simple scrolling panel
|
|
35
|
+
* ```tsx
|
|
36
|
+
* <CompoundPanel
|
|
37
|
+
* id="my-panel"
|
|
38
|
+
* defaultWidth={300}
|
|
39
|
+
* defaultHeight={200}
|
|
40
|
+
* horizontalScroll={true}
|
|
41
|
+
* title="My Panel"
|
|
42
|
+
* >
|
|
43
|
+
* <Item1 />
|
|
44
|
+
* <Item2 />
|
|
45
|
+
* </CompoundPanel>
|
|
46
|
+
* ```
|
|
47
|
+
*
|
|
48
|
+
* @example - Sectioned panel (auto-creates horizontal sections within vertical scroll)
|
|
49
|
+
* ```tsx
|
|
50
|
+
* <CompoundPanel
|
|
51
|
+
* id="sections-panel"
|
|
52
|
+
* sections={true}
|
|
53
|
+
* >
|
|
54
|
+
* <Section title="Section 1" priority="high">
|
|
55
|
+
* <Item1 />
|
|
56
|
+
* <Item2 />
|
|
57
|
+
* </Section>
|
|
58
|
+
* <Section title="Section 2">
|
|
59
|
+
* <Item3 />
|
|
60
|
+
* <Item4 />
|
|
61
|
+
* </Section>
|
|
62
|
+
* </CompoundPanel>
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
export declare const CompoundPanel: React.FC<CompoundPanelProps>;
|
|
66
|
+
export interface SectionProps {
|
|
67
|
+
title?: string;
|
|
68
|
+
priority?: "high" | "low" | "normal";
|
|
69
|
+
children: React.ReactNode;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Section - A component that defines a horizontal section within a CompoundPanel.
|
|
73
|
+
* Used with CompoundPanel's sections={true} property.
|
|
74
|
+
*
|
|
75
|
+
* @example
|
|
76
|
+
* ```tsx
|
|
77
|
+
* <CompoundPanel sections={true}>
|
|
78
|
+
* <Section title="My Section" priority="high">
|
|
79
|
+
* <Item1 />
|
|
80
|
+
* <Item2 />
|
|
81
|
+
* </Section>
|
|
82
|
+
* </CompoundPanel>
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
export declare const Section: React.FC<SectionProps>;
|
|
86
|
+
export default CompoundPanel;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { default as React, ReactNode } from 'react';
|
|
2
|
+
interface ExpandableContextType {
|
|
3
|
+
isExpanded: boolean;
|
|
4
|
+
setIsExpanded: React.Dispatch<React.SetStateAction<boolean>>;
|
|
5
|
+
}
|
|
6
|
+
export declare const ExpandableContextProvider: ({ children, }: {
|
|
7
|
+
children: ReactNode;
|
|
8
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export declare const useExpandableContext: () => ExpandableContextType;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { PanelRef } from '../../types';
|
|
2
|
+
export declare const useCollapseHandler: (isExpanded: boolean, expandedPanelId: string | null, id: string, panelRef: PanelRef, setExtendedStyle: (style: React.CSSProperties) => void, setExtendedContainerStyle: (style: React.CSSProperties) => void, setIsExpanded: (expanded: boolean) => void) => void;
|