mui-toolpad-extended-tuni 3.0.1 → 3.0.2

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.
Files changed (79) hide show
  1. package/dist/index.cjs +116 -138
  2. package/dist/index.es.js +33295 -55626
  3. package/dist/src/index.d.ts +1 -1
  4. package/package.json +1 -1
  5. package/dist/src/LMSToolpad/components/Calendar/Calendar.d.ts +0 -3
  6. package/dist/src/LMSToolpad/components/Calendar/CalendarBody.d.ts +0 -16
  7. package/dist/src/LMSToolpad/components/Calendar/CalendarEventAggregator.d.ts +0 -9
  8. package/dist/src/LMSToolpad/components/Calendar/CalendarEventItem.d.ts +0 -10
  9. package/dist/src/LMSToolpad/components/Calendar/CalendarHeader.d.ts +0 -12
  10. package/dist/src/LMSToolpad/components/Calendar/CalendarManager.d.ts +0 -3
  11. package/dist/src/LMSToolpad/components/Calendar/CalendarMicroservice.d.ts +0 -32
  12. package/dist/src/LMSToolpad/components/Calendar/DatePickerPopover.d.ts +0 -8
  13. package/dist/src/LMSToolpad/components/Calendar/components/EventDetails.d.ts +0 -3
  14. package/dist/src/LMSToolpad/components/Calendar/components/EventMenu.d.ts +0 -3
  15. package/dist/src/LMSToolpad/components/Calendar/components/EventViews.d.ts +0 -3
  16. package/dist/src/LMSToolpad/components/Calendar/components/index.d.ts +0 -3
  17. package/dist/src/LMSToolpad/components/Calendar/index.d.ts +0 -5
  18. package/dist/src/LMSToolpad/components/Calendar/store/useCalendarStore.d.ts +0 -44
  19. package/dist/src/LMSToolpad/components/Calendar/types.d.ts +0 -49
  20. package/dist/src/LMSToolpad/components/Courses/CourseCodeLoader.d.ts +0 -15
  21. package/dist/src/LMSToolpad/components/Courses/CourseEventPublisher.d.ts +0 -8
  22. package/dist/src/LMSToolpad/components/Courses/CourseInstanceLoader.d.ts +0 -16
  23. package/dist/src/LMSToolpad/components/Courses/CourseInstanceSelector.d.ts +0 -15
  24. package/dist/src/LMSToolpad/components/Courses/CourseItem/CourseActions.d.ts +0 -6
  25. package/dist/src/LMSToolpad/components/Courses/CourseItem/CourseHeader.d.ts +0 -6
  26. package/dist/src/LMSToolpad/components/Courses/CourseItem/CourseHeaderActions.d.ts +0 -12
  27. package/dist/src/LMSToolpad/components/Courses/CourseItem/CourseIcon.d.ts +0 -8
  28. package/dist/src/LMSToolpad/components/Courses/CourseItem/CourseInfo.d.ts +0 -8
  29. package/dist/src/LMSToolpad/components/Courses/CourseItem/CourseItem.d.ts +0 -9
  30. package/dist/src/LMSToolpad/components/Courses/CourseList.d.ts +0 -6
  31. package/dist/src/LMSToolpad/components/Courses/CourseManager.d.ts +0 -2
  32. package/dist/src/LMSToolpad/components/Courses/CourseMicroservice.d.ts +0 -42
  33. package/dist/src/LMSToolpad/components/Courses/CourseRoutesProvider.d.ts +0 -12
  34. package/dist/src/LMSToolpad/components/Courses/CourseTools.d.ts +0 -21
  35. package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/CourseSettings.d.ts +0 -23
  36. package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/CourseSettingsTabs.d.ts +0 -9
  37. package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/tabs/BasicInfoTab.d.ts +0 -7
  38. package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/tabs/DataProcessingTab.d.ts +0 -24
  39. package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/tabs/EnrollmentTab.d.ts +0 -28
  40. package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/tabs/RelationshipsTab.d.ts +0 -25
  41. package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/tabs/StaffTab.d.ts +0 -26
  42. package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/tabs/VisibilityTab.d.ts +0 -24
  43. package/dist/src/LMSToolpad/components/Courses/LtiLoginUrlForm.d.ts +0 -3
  44. package/dist/src/LMSToolpad/components/Courses/Navigation/CourseNavigationbuilder.d.ts +0 -2
  45. package/dist/src/LMSToolpad/components/Courses/components/ToolDisplayer/ToolCard.d.ts +0 -8
  46. package/dist/src/LMSToolpad/components/Courses/components/ToolDisplayer/ToolDisplayer.d.ts +0 -11
  47. package/dist/src/LMSToolpad/components/Courses/config/subjectConfig.d.ts +0 -10
  48. package/dist/src/LMSToolpad/components/Courses/context/CourseMicroserviceContext.d.ts +0 -26
  49. package/dist/src/LMSToolpad/components/Courses/hooks/useCourseRoutes.d.ts +0 -6
  50. package/dist/src/LMSToolpad/components/Courses/mocks/commented.d.ts +0 -0
  51. package/dist/src/LMSToolpad/components/Courses/mocks/constants.d.ts +0 -9
  52. package/dist/src/LMSToolpad/components/Courses/mocks/endpoints.d.ts +0 -8
  53. package/dist/src/LMSToolpad/components/Courses/mocks/generators.d.ts +0 -13
  54. package/dist/src/LMSToolpad/components/Courses/mocks/types.d.ts +0 -109
  55. package/dist/src/LMSToolpad/components/Courses/network/courses.d.ts +0 -37
  56. package/dist/src/LMSToolpad/components/Courses/store/useCourseStore.d.ts +0 -146
  57. package/dist/src/LMSToolpad/components/Courses/utils/courseFilters.d.ts +0 -21
  58. package/dist/src/LMSToolpad/components/DevTools/DevelopmentTools.d.ts +0 -3
  59. package/dist/src/LMSToolpad/components/DevTools/UserSwitcher.d.ts +0 -3
  60. package/dist/src/LMSToolpad/components/Users/Forms/UserSettings/UserSettings.d.ts +0 -22
  61. package/dist/src/LMSToolpad/components/Users/UserEventPublisher.d.ts +0 -8
  62. package/dist/src/LMSToolpad/components/Users/UserManager.d.ts +0 -2
  63. package/dist/src/LMSToolpad/components/Users/UserMicroservice.d.ts +0 -34
  64. package/dist/src/LMSToolpad/components/Users/index.d.ts +0 -6
  65. package/dist/src/LMSToolpad/components/Users/mocks/constants.d.ts +0 -59
  66. package/dist/src/LMSToolpad/components/Users/mocks/endpoints.d.ts +0 -3
  67. package/dist/src/LMSToolpad/components/Users/mocks/generators.d.ts +0 -6
  68. package/dist/src/LMSToolpad/components/Users/mocks/types.d.ts +0 -52
  69. package/dist/src/LMSToolpad/components/Users/network/users.d.ts +0 -7
  70. package/dist/src/LMSToolpad/components/Users/store/useUserStore.d.ts +0 -63
  71. package/dist/src/LMSToolpad/hooks/useVisitedCourses.d.ts +0 -18
  72. package/dist/src/LMSToolpad/mocks/browser.d.ts +0 -2
  73. package/dist/src/LMSToolpad/mocks/handlers.d.ts +0 -2
  74. package/dist/src/LMSToolpad/mocks/store.d.ts +0 -24
  75. package/dist/src/LMSToolpad/utils/__tests__/courseFilters.test.d.ts +0 -2
  76. package/dist/src/test/Contact.d.ts +0 -8
  77. package/dist/src/test/EduTest.d.ts +0 -10
  78. package/dist/src/test/EduTest2.d.ts +0 -10
  79. package/dist/src/test/Help.d.ts +0 -8
@@ -14,6 +14,7 @@ export { useMicroserviceRoutes } from './LMSToolpad/components/Navigation/hooks/
14
14
  export { useMicroserviceNavigation } from './LMSToolpad/components/Navigation/hooks/useMicroserviceNavigation';
15
15
  export { useNavigationSectionManager } from './LMSToolpad/components/Navigation/hooks/useNavigationSectionManager';
16
16
  export { useSyncNavigationFilters } from './LMSToolpad/components/Navigation/hooks/useSyncNavigationFilters';
17
+ export { registerAppToolbarAction, unregisterAppToolbarAction, registerPageToolbarAction, unregisterPageToolbarAction, useToolbarRegistryStore, } from './LMSToolpad/layout/Toolbars/toolbarRegistry';
17
18
  export { useNavigationStore, filterNavigationByRole, } from './LMSToolpad/components/Navigation/store/useNavigationStore';
18
19
  export type { NavigationStoreItem, NavigationPageStoreItem, NavigationHeaderItem, NavigationDividerItem, NavigationSection, ViewStore, ToolMetadata, addSectionProps, } from './LMSToolpad/components/Navigation/store/types';
19
20
  export { useNavigationFilterStore } from './LMSToolpad/components/Navigation/store/useNavigationFilterStore';
@@ -67,7 +68,6 @@ export { default as axios } from './LMSToolpad/network/axiosConfig';
67
68
  * **CONSTANTS**
68
69
  */
69
70
  export { baseUrl } from './LMSToolpad/constants';
70
- export { dataStore, saveDataStore } from './LMSToolpad/mocks/store';
71
71
  export * from './LMSToolpad/interfaces';
72
72
  export { EventBus, eventBus } from './LMSToolpad/components/Events/EventBus';
73
73
  export type { Event, EventSource } from './LMSToolpad/components/Events/types';
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "private": false,
4
4
  "description": "Extended Toolpad",
5
5
  "author": "Jaakko Rajala",
6
- "version": "3.0.1",
6
+ "version": "3.0.2",
7
7
  "type": "module",
8
8
  "main": "./dist/index.cjs",
9
9
  "module": "./dist/index.es.js",
@@ -1,3 +0,0 @@
1
- import { default as React } from 'react';
2
- declare const Calendar: React.FC;
3
- export default Calendar;
@@ -1,16 +0,0 @@
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;
@@ -1,9 +0,0 @@
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;
@@ -1,10 +0,0 @@
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;
@@ -1,12 +0,0 @@
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;
@@ -1,3 +0,0 @@
1
- /** @format */
2
- declare const CalendarManager: () => null;
3
- export default CalendarManager;
@@ -1,32 +0,0 @@
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;
@@ -1,8 +0,0 @@
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;
@@ -1,3 +0,0 @@
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;
@@ -1,3 +0,0 @@
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;
@@ -1,3 +0,0 @@
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;
@@ -1,3 +0,0 @@
1
- export { CompactEventView, RegularView } from './EventViews';
2
- export { default as EventMenu } from './EventMenu';
3
- export { default as EventDetails } from './EventDetails';
@@ -1,5 +0,0 @@
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';
@@ -1,44 +0,0 @@
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 {};
@@ -1,49 +0,0 @@
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
- }
@@ -1,15 +0,0 @@
1
- /** @format */
2
- /**
3
- * Component for loading and managing course code level data.
4
- *
5
- * @version 2.1.0
6
- * @new-component
7
- * - Handles course code level routing
8
- * - Manages course code state in store
9
- * - Provides course instance list context
10
- * - Supports navigation between instances
11
- * @description - This component is responsible for loading the course data and rendering the course tools
12
- * @returns {React.ReactElement} - Returns the course loader component
13
- */
14
- declare const CourseCodeLoader: () => import("react/jsx-runtime").JSX.Element;
15
- export default CourseCodeLoader;
@@ -1,8 +0,0 @@
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;
@@ -1,16 +0,0 @@
1
- /** @format */
2
- /**
3
- * Component for loading specific course instance data.
4
- *
5
- * @version 2.1.0
6
- * @new-component
7
- * - Manages course instance state
8
- * - Handles instance-specific data loading
9
- * - Provides instance context to children
10
- * - Supports microservice integration
11
- * - Handles instance not found scenarios
12
- * @description - This component is responsible for loading the course data and rendering the course tools
13
- * @returns {React.ReactElement} - Returns the course loader component
14
- */
15
- declare const CourseInstanceLoader: () => import("react/jsx-runtime").JSX.Element;
16
- export default CourseInstanceLoader;
@@ -1,15 +0,0 @@
1
- /** @format */
2
- /**
3
- * Component for selecting course instances from a filtered list.
4
- *
5
- * @version 2.1.0
6
- * @new-component
7
- * - Provides instance selection UI for courses
8
- * - Groups instances by course code
9
- * - Handles active/inactive instance states
10
- * - Supports nested navigation structure
11
- *
12
- * @param {Course[]} courses - Available course instances
13
- */
14
- declare const CourseInstanceSelector: () => import("react/jsx-runtime").JSX.Element;
15
- export default CourseInstanceSelector;
@@ -1,6 +0,0 @@
1
- /** @format */
2
- type CourseActionsProps = {
3
- showEnrollmentOpen: boolean;
4
- };
5
- export declare const CourseActions: ({ showEnrollmentOpen }: CourseActionsProps) => import("react/jsx-runtime").JSX.Element;
6
- export {};
@@ -1,6 +0,0 @@
1
- import { Course } from '../store/useCourseStore';
2
- type CourseHeaderProps = {
3
- course: Course;
4
- };
5
- export declare const CourseHeader: ({ course }: CourseHeaderProps) => import("react/jsx-runtime").JSX.Element;
6
- export {};
@@ -1,12 +0,0 @@
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 {};
@@ -1,8 +0,0 @@
1
- import { SvgIconComponent } from '@mui/icons-material';
2
- export interface SubjectConfig {
3
- icon: string;
4
- baseColor: string;
5
- levelShades: Record<string, string>;
6
- }
7
- export declare const createCourseIcon: (courseColor: string, config: SubjectConfig) => SvgIconComponent;
8
- export default createCourseIcon;
@@ -1,8 +0,0 @@
1
- import { Course } from '../store/useCourseStore';
2
- type CourseInfoProps = {
3
- course: Course;
4
- displayMode: "course" | "instance" | "instanceList";
5
- hasUpcomingEvents: boolean;
6
- };
7
- export declare const CourseInfo: ({ course, displayMode, hasUpcomingEvents, }: CourseInfoProps) => import("react/jsx-runtime").JSX.Element;
8
- export {};
@@ -1,9 +0,0 @@
1
- import { Course } from '../store/useCourseStore';
2
- type CourseItemProps = {
3
- course: Course;
4
- isSelected?: boolean;
5
- displayMode?: "course" | "instance" | "instanceList";
6
- onClick: (course: Course) => void;
7
- };
8
- declare const CourseItem: ({ course, displayMode, onClick, }: CourseItemProps) => import("react/jsx-runtime").JSX.Element;
9
- export default CourseItem;
@@ -1,6 +0,0 @@
1
- type CourseListProps = {
2
- displayMode?: "course" | "instance" | "instanceList";
3
- containerHeight?: string | number;
4
- };
5
- declare const CourseList: ({ displayMode, containerHeight, }: CourseListProps) => import("react/jsx-runtime").JSX.Element;
6
- export default CourseList;
@@ -1,2 +0,0 @@
1
- declare const CourseManager: () => import("react/jsx-runtime").JSX.Element;
2
- export default CourseManager;
@@ -1,42 +0,0 @@
1
- import { default as React, ReactNode } from 'react';
2
- interface CourseMicroserviceProps {
3
- children?: ReactNode;
4
- }
5
- /**
6
- * CourseMicroservice Component
7
- *
8
- * @version 3.0.0
9
- *
10
- * Fully self-contained microservice that handles all course-related functionality:
11
- * - Course data fetching and management (via CourseManager)
12
- * - Course navigation building
13
- * - Course code and instance routing (/:code, /:code/:instance)
14
- * - Course tools display
15
- * - Course microservice registration and routing (/:code/:instance/:microservice)
16
- * - Route registration with NavigationRegistry (via CourseRoutesProvider)
17
- *
18
- * Course microservices (like EduTest) are passed as children and register
19
- * themselves through the CourseMicroserviceContext.
20
- *
21
- * Routes handled:
22
- * - /:code - Course code selection (CourseCodeLoader + CourseInstanceSelector)
23
- * - /:code/:instance - Course instance (CourseInstanceLoader + CourseTools)
24
- * - /:code/:instance/:microservice/* - Course microservice routes
25
- *
26
- * @breaking-changes
27
- * - v3.0.0: Now fully self-contained - includes CourseManager and CourseRoutesProvider
28
- * - v2.0.0: Uses local state instead of Zustand store
29
- * - Context provides allCourseMicroserviceNavigation array
30
- * - Integrates with useNavigationStore to notify about course microservices
31
- * - v3.1.0: Context logic extracted to separate context file
32
- *
33
- * @example
34
- * ```tsx
35
- * <CourseMicroservice>
36
- * <EduTest />
37
- * <EduTest2 />
38
- * </CourseMicroservice>
39
- * ```
40
- */
41
- declare const CourseMicroservice: React.FC<CourseMicroserviceProps>;
42
- export default CourseMicroservice;
@@ -1,12 +0,0 @@
1
- /** @format */
2
- /**
3
- * CourseRoutesProvider Component
4
- *
5
- * Registers course routes with the NavigationRegistry as a route provider.
6
- * This allows Microservices.tsx to be microservice-agnostic - it doesn't need
7
- * to know about course routes specifically.
8
- *
9
- * @version 1.0.0
10
- */
11
- declare const CourseRoutesProvider: () => null;
12
- export default CourseRoutesProvider;
@@ -1,21 +0,0 @@
1
- import { NavigationPageStoreItem } from '@toolpad/core';
2
- interface CourseToolsProps {
3
- microservices?: NavigationPageStoreItem[];
4
- }
5
- /**
6
- * Component for managing and displaying course-specific tools.
7
- *
8
- * @version 2.1.0
9
- * @updates
10
- * - Added support for microservice-based tool management
11
- * - Introduced enabled/available tools separation
12
- * - Added service enablement/disablement functionality
13
- * - Enhanced teacher-specific tool configuration
14
- * - Improved UI with centered headings and tool groups
15
- *
16
- * @component
17
- * @param {CourseToolsProps} props
18
- * @param {NavigationPageStoreItem[]} props.microservices - Array of available microservice tools
19
- */
20
- declare const CourseTools: ({ microservices }: CourseToolsProps) => import("react/jsx-runtime").JSX.Element;
21
- export default CourseTools;
@@ -1,23 +0,0 @@
1
- /** @format */
2
- /**
3
- * CourseSettings Component
4
- *
5
- * @version 3.0.0
6
- * @breaking-changes
7
- * - Restructured import paths to follow feature-based organization
8
- * - Enhanced notification handling through dedicated store
9
- * - Improved dialog management with better state handling
10
- * - Updated course store integration with new path structure
11
- * - Enhanced TypeScript strict mode compliance
12
- * - Standardized string literals for consistency
13
- *
14
- * Provides interface for:
15
- * - Managing course basic information
16
- * - Configuring course visibility
17
- * - Managing enrollment settings
18
- * - Configuring staff access
19
- * - Setting data processing preferences
20
- * - Managing course relationships
21
- */
22
- declare const CourseSettings: () => import("react/jsx-runtime").JSX.Element;
23
- export default CourseSettings;
@@ -1,9 +0,0 @@
1
- import { CourseRaw } from '../../store/useCourseStore';
2
- import { UserData } from '../../../../components/Events/userTypes';
3
- type CourseSettingsProps = {
4
- formData: CourseRaw;
5
- handleUpdateFormData: (newData: CourseRaw) => void;
6
- courseUsers?: UserData[];
7
- };
8
- export default function CourseSettingsTabs({ formData, handleUpdateFormData, courseUsers, }: CourseSettingsProps): import("react/jsx-runtime").JSX.Element;
9
- export {};
@@ -1,7 +0,0 @@
1
- import { CourseRaw } from '../../../store/useCourseStore';
2
- interface BasicInfoTabProps {
3
- formData: CourseRaw;
4
- setFormData: (data: CourseRaw) => void;
5
- }
6
- export default function BasicInfoTab({ formData, setFormData, }: BasicInfoTabProps): import("react/jsx-runtime").JSX.Element;
7
- export {};
@@ -1,24 +0,0 @@
1
- import { CourseRaw } from '../../../store/useCourseStore';
2
- interface DataProcessingTabProps {
3
- formData: CourseRaw;
4
- setFormData: (data: CourseRaw) => void;
5
- }
6
- /**
7
- * DataProcessingTab Component
8
- *
9
- * @version 3.0.0
10
- * @breaking-changes
11
- * - Updated component import paths to feature-based structure
12
- * - Enhanced type safety for data processing options
13
- * - Standardized string literals for legal bases
14
- * - Improved default value handling
15
- * - Added proper type definitions for processing settings
16
- *
17
- * Provides interface for:
18
- * - Setting data processing legal basis
19
- * - Managing special category data handling
20
- * - Configuring retention periods
21
- * - Setting data processing purposes
22
- */
23
- export default function DataProcessingTab({ formData, setFormData, }: DataProcessingTabProps): import("react/jsx-runtime").JSX.Element;
24
- export {};
@@ -1,28 +0,0 @@
1
- import { CourseRaw } from '../../../store/useCourseStore';
2
- import { UserData } from '../../../../../components/Events/userTypes';
3
- interface EnrollmentTabProps {
4
- formData: CourseRaw;
5
- setFormData: (data: CourseRaw) => void;
6
- courseUsers?: UserData[];
7
- }
8
- /**
9
- * EnrollmentTab Component
10
- *
11
- * @version 3.0.0
12
- * @breaking-changes
13
- * - Enhanced TypeScript string literal types
14
- * - Improved student list management with better state handling
15
- * - Updated styling for better visual hierarchy
16
- * - Enhanced date handling with proper typing
17
- * - Improved responsive design for mobile and desktop views
18
- * - Added proper type definitions for enrollment statuses
19
- *
20
- * Provides interface for:
21
- * - Managing course enrollment settings
22
- * - Handling student enrollment requests
23
- * - Setting enrollment periods
24
- * - Managing enrollment capacity
25
- * - Viewing enrolled and pending students
26
- */
27
- export default function EnrollmentTab({ formData, setFormData, courseUsers: _courseUsers, }: EnrollmentTabProps): import("react/jsx-runtime").JSX.Element;
28
- export {};
@@ -1,25 +0,0 @@
1
- import { CourseRaw } from '../../../store/useCourseStore';
2
- interface RelationshipsTabProps {
3
- formData: CourseRaw;
4
- setFormData: (data: CourseRaw) => void;
5
- }
6
- /**
7
- * RelationshipsTab Component
8
- *
9
- * @version 3.0.0
10
- * @breaking-changes
11
- * - Updated course store import path to feature-based structure
12
- * - Enhanced type definitions for course relationships
13
- * - Standardized string literals for relationship types
14
- * - Improved relationship type descriptions
15
- * - Added better type safety for relationship management
16
- *
17
- * Provides interface for:
18
- * - Managing course prerequisites
19
- * - Setting up course continuations
20
- * - Defining alternative courses
21
- * - Managing course dependencies
22
- * - Creating course relationship networks
23
- */
24
- export default function RelationshipsTab({ formData, setFormData, }: RelationshipsTabProps): import("react/jsx-runtime").JSX.Element;
25
- export {};
@@ -1,26 +0,0 @@
1
- import { CourseRaw } from '../../../store/useCourseStore';
2
- import { UserData } from '../../../../../components/Events/userTypes';
3
- interface StaffTabProps {
4
- formData: CourseRaw;
5
- setFormData: (data: CourseRaw) => void;
6
- courseUsers?: UserData[];
7
- }
8
- /**
9
- * StaffTab Component
10
- *
11
- * @version 3.0.0
12
- * @breaking-changes
13
- * - Updated course store import path to feature-based structure
14
- * - Enhanced TypeScript type definitions for staff roles
15
- * - Improved staff removal confirmation handling
16
- * - Updated styling for better accessibility
17
- * - Added proper aria labels for actions
18
- *
19
- * Provides interface for:
20
- * - Managing course staff members
21
- * - Adding/removing teaching staff
22
- * - Viewing staff permissions
23
- * - Managing staff roles
24
- */
25
- export default function StaffTab({ formData, setFormData }: StaffTabProps): import("react/jsx-runtime").JSX.Element;
26
- export {};
@@ -1,24 +0,0 @@
1
- import { CourseRaw } from '../../../store/useCourseStore';
2
- interface VisibilityTabProps {
3
- formData: CourseRaw;
4
- setFormData: (data: CourseRaw) => void;
5
- }
6
- /**
7
- * VisibilityTab Component
8
- *
9
- * @version 3.0.0
10
- * @breaking-changes
11
- * - Standardized string literals for visibility modes
12
- * - Enhanced type safety for visibility settings
13
- * - Improved date picker integration
14
- * - Added helper text explanations for each visibility mode
15
- * - Updated styling for better visual feedback
16
- *
17
- * Provides interface for:
18
- * - Setting course visibility mode
19
- * - Configuring visibility periods
20
- * - Managing access control
21
- * - Setting visibility schedules
22
- */
23
- export default function VisibilityTab({ formData, setFormData, }: VisibilityTabProps): import("react/jsx-runtime").JSX.Element;
24
- export {};