@mui-toolpad-extended-tuni/main 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/README.md +131 -0
  2. package/dist/Forms/Components/Editables/EditableAutoComplete.d.ts +12 -0
  3. package/dist/Forms/Components/Editables/EditableColor.d.ts +8 -0
  4. package/dist/Forms/Components/Editables/EditableImage.d.ts +9 -0
  5. package/dist/Forms/Components/Editables/EditableNumber.d.ts +12 -0
  6. package/dist/Forms/Components/Editables/EditableSelect.d.ts +14 -0
  7. package/dist/Forms/Components/Editables/EditableSwitch.d.ts +8 -0
  8. package/dist/Forms/Components/Editables/EditableText.d.ts +32 -0
  9. package/dist/Forms/Components/SqueezableTable/SqueezableTable.d.ts +2 -0
  10. package/dist/Forms/Components/SqueezableTable/types.d.ts +24 -0
  11. package/dist/Forms/PlatformSettings/PlatformSettings.d.ts +21 -0
  12. package/dist/Forms/PlatformSettings/PlatformSettingsTabs.d.ts +16 -0
  13. package/dist/Forms/PlatformSettings/tabs/AITab.d.ts +7 -0
  14. package/dist/Forms/PlatformSettings/tabs/AuthTab.d.ts +7 -0
  15. package/dist/Forms/PlatformSettings/tabs/CoursesTab.d.ts +7 -0
  16. package/dist/Forms/PlatformSettings/tabs/FeaturesTab.d.ts +24 -0
  17. package/dist/Forms/PlatformSettings/tabs/GeneralTab.d.ts +7 -0
  18. package/dist/Forms/PlatformSettings/tabs/PrivacyTab.d.ts +7 -0
  19. package/dist/Forms/PlatformSettings/tabs/ThemeTab.d.ts +7 -0
  20. package/dist/Forms/PlatformSettings/tabs/components/ColorSettings.d.ts +7 -0
  21. package/dist/Forms/PlatformSettings/tabs/components/TypographySettings.d.ts +7 -0
  22. package/dist/ToolpadProvider.d.ts +44 -0
  23. package/dist/components/AuthenticationManager.d.ts +2 -0
  24. package/dist/components/IconWithBadge.d.ts +9 -0
  25. package/dist/components/Microservices/MicroserviceNavigationBuilder.d.ts +45 -0
  26. package/dist/components/Microservices/MicroserviceSubsections.d.ts +9 -0
  27. package/dist/components/Microservices/Microservices.d.ts +25 -0
  28. package/dist/components/Microservices/types.d.ts +12 -0
  29. package/dist/components/Routes/Home/Home.d.ts +2 -0
  30. package/dist/components/ThemeToggle/ThemeToggle.d.ts +3 -0
  31. package/dist/components/tools/addActions.d.ts +5 -0
  32. package/dist/components/tools/addIcons.d.ts +2 -0
  33. package/dist/components/tools/iconsByType.d.ts +6 -0
  34. package/dist/components/tools/utils/ActionFCWrapper.d.ts +5 -0
  35. package/dist/components/tools/utils/IconFCWrapper.d.ts +5 -0
  36. package/dist/constants.d.ts +67 -0
  37. package/dist/hooks/useCustomRouter.d.ts +7 -0
  38. package/dist/index.cjs +132 -0
  39. package/dist/index.d.ts +53 -0
  40. package/dist/index.es.js +13291 -0
  41. package/dist/interfaces.d.ts +1 -0
  42. package/dist/layout/Content/PageContent.d.ts +5 -0
  43. package/dist/layout/Toolbars/AppToolbar/Account.d.ts +2 -0
  44. package/dist/layout/Toolbars/AppToolbar/CollapsibleMenu.d.ts +1 -0
  45. package/dist/layout/Toolbars/AppToolbar/Logo.d.ts +2 -0
  46. package/dist/layout/Toolbars/AppToolbar/RegisteredAppTools.d.ts +11 -0
  47. package/dist/layout/Toolbars/AppToolbar/SearchBar.d.ts +6 -0
  48. package/dist/layout/Toolbars/PageToolbar/RegisteredPageTools.d.ts +37 -0
  49. package/dist/layout/Toolbars/toolbarRegistry.d.ts +117 -0
  50. package/dist/layout/sidebar/Footer.d.ts +3 -0
  51. package/dist/network/axiosConfig.d.ts +4 -0
  52. package/dist/store/useDialogStore.d.ts +9 -0
  53. package/dist/store/usePlatformStore.d.ts +165 -0
  54. package/dist/store/useThemeStore.d.ts +184 -0
  55. package/dist/store/useToolbarStore.d.ts +8 -0
  56. package/dist/theme/EduMLTheme.d.ts +2 -0
  57. package/dist/tools/ErrorBoundary.d.ts +14 -0
  58. package/dist/tools/NullStateWarning.d.ts +8 -0
  59. package/package.json +73 -0
@@ -0,0 +1 @@
1
+ export type fetchState = "idle" | "loading" | "error" | "success";
@@ -0,0 +1,5 @@
1
+ /** @format */
2
+ declare const PageContent: ({ children }: {
3
+ children: React.ReactNode;
4
+ }) => import("react/jsx-runtime").JSX.Element;
5
+ export default PageContent;
@@ -0,0 +1,2 @@
1
+ /** @format */
2
+ export declare const ToolbarAccount: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const CollapsibleMenu: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ /** @format */
2
+ export declare const Logo: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,11 @@
1
+ /** @format */
2
+ /**
3
+ * A component that renders app toolbar actions registered under a fixed "global" key
4
+ * or using location.pathname for route-specific app actions.
5
+ *
6
+ * @version 1.1.0
7
+ * @updates
8
+ * - Added support for passing props to toolbar components
9
+ */
10
+ declare const RegisteredAppTools: () => import("react/jsx-runtime").JSX.Element | null;
11
+ export default RegisteredAppTools;
@@ -0,0 +1,6 @@
1
+ /** @format */
2
+ interface SearchBarProps {
3
+ onExpandChange?: (expanded: boolean) => void;
4
+ }
5
+ declare const SearchBar: ({ onExpandChange }: SearchBarProps) => import("react/jsx-runtime").JSX.Element;
6
+ export default SearchBar;
@@ -0,0 +1,37 @@
1
+ /** @format */
2
+ /**
3
+ * PageToolbar Component
4
+ *
5
+ * @version 3.1.0
6
+ *
7
+ * A dynamic toolbar component that renders actions based on the current route.
8
+ * Automatically updates when actions are registered or unregistered.
9
+ *
10
+ * Features:
11
+ * - Route-based action rendering
12
+ * - Dynamic action registration/unregistration
13
+ * - Automatic re-rendering on changes
14
+ * - Support for custom toolbar overrides
15
+ * - Support for passing props to toolbar components
16
+ *
17
+ * @example
18
+ * ```tsx
19
+ * // In your app layout
20
+ * <AppLayout>
21
+ * <PageToolbar />
22
+ * {children}
23
+ * </AppLayout>
24
+ *
25
+ * // Register actions in your components
26
+ * useEffect(() => {
27
+ * registerToolbarAction('/my-route', MyAction);
28
+ * return () => unregisterToolbarAction('/my-route', MyAction);
29
+ * }, []);
30
+ *
31
+ * // Register with props
32
+ * registerPageToolbarAction('/my-route', MyAction, { data: 'some-data' });
33
+ * ```
34
+ */
35
+ declare const RegisteredPageTools: () => import("react/jsx-runtime").JSX.Element | null;
36
+ export declare const HeaderWithPageRegistryToolbar: () => import("react/jsx-runtime").JSX.Element;
37
+ export default RegisteredPageTools;
@@ -0,0 +1,117 @@
1
+ import { ComponentType } from 'react';
2
+ /**
3
+ * Toolbar Registry System
4
+ *
5
+ * @version 3.1.0
6
+ *
7
+ * A flexible system for registering and managing toolbar actions based on routes.
8
+ * Supports dynamic registration, unregistration, and automatic re-rendering.
9
+ * Now with support for passing props to registered components.
10
+ *
11
+ * @example
12
+ * ```tsx
13
+ * // Register a toolbar action
14
+ * registerToolbarAction('/my-route', MyActionComponent);
15
+ *
16
+ * // Register with props
17
+ * registerToolbarAction('/my-route', MyActionComponent, { some: 'props' });
18
+ *
19
+ * // Clean up when component unmounts
20
+ * useEffect(() => {
21
+ * registerToolbarAction('/my-route', MyActionComponent);
22
+ * return () => unregisterToolbarAction('/my-route', MyActionComponent);
23
+ * }, []);
24
+ * ```
25
+ */
26
+ /**
27
+ * Toolbar entry containing both the component and optional props
28
+ */
29
+ export interface ToolbarEntry {
30
+ Component: ComponentType<any>;
31
+ props?: Record<string, any>;
32
+ }
33
+ /**
34
+ * Register a new page toolbar action for a specific route.
35
+ *
36
+ * @param path - The route path where this action should appear.
37
+ * @param Component - The React component to render in the page toolbar.
38
+ * @param props - Optional props to pass to the component.
39
+ *
40
+ * @example
41
+ * registerPageToolbarAction('/my-route', MyPageAction);
42
+ * registerPageToolbarAction('/my-route', MyPageAction, { color: 'primary' });
43
+ */
44
+ export declare function registerPageToolbarAction(path: string, Component: ComponentType<any>, props?: Record<string, any>): void;
45
+ /**
46
+ * Unregister a page toolbar action from a specific route.
47
+ *
48
+ * @param path - The route path to remove the action from.
49
+ * @param Component - The React component to remove.
50
+ *
51
+ * @example
52
+ * unregisterPageToolbarAction('/my-route', MyPageAction);
53
+ */
54
+ export declare function unregisterPageToolbarAction(path: string, Component: ComponentType<any>): void;
55
+ /**
56
+ * Get all registered page toolbar actions for a specific route.
57
+ *
58
+ * @param path - The route path to get the actions for.
59
+ * @returns An array of registered page toolbar action entries.
60
+ *
61
+ * @example
62
+ * const actions = getPageToolbarActions('/my-route');
63
+ */
64
+ export declare function getPageToolbarActions(path: string): ToolbarEntry[];
65
+ /**
66
+ * Clear all registered page toolbar actions for a specific route.
67
+ *
68
+ * @param path - The route path to clear the actions for.
69
+ *
70
+ * @example
71
+ * clearPageToolbarActions('/my-route');
72
+ */
73
+ export declare function clearPageToolbarActions(path: string): void;
74
+ /**
75
+ * Register a new app toolbar action for a specific route or global key.
76
+ *
77
+ * @param path - The key or route where this action should appear.
78
+ * @param Component - The React component to render in the app toolbar.
79
+ * @param props - Optional props to pass to the component.
80
+ *
81
+ * @example
82
+ * registerAppToolbarAction('global', MyAppAction);
83
+ * registerAppToolbarAction('global', MyAppAction, { variant: 'outlined' });
84
+ */
85
+ export declare function registerAppToolbarAction(path: string, Component: ComponentType<any>, props?: Record<string, any>): void;
86
+ /**
87
+ * Unregister an app toolbar action from a specific route or global key.
88
+ *
89
+ * @param path - The key or route to remove the action from.
90
+ * @param Component - The React component to remove.
91
+ *
92
+ * @example
93
+ * unregisterAppToolbarAction('global', MyAppAction);
94
+ */
95
+ export declare function unregisterAppToolbarAction(path: string, Component: ComponentType<any>): void;
96
+ /**
97
+ * Get all registered app toolbar actions for a specific route or global key.
98
+ *
99
+ * @param path - The key or route to get the actions for.
100
+ * @returns An array of registered app toolbar action entries.
101
+ *
102
+ * @example
103
+ * const actions = getAppToolbarActions('global');
104
+ */
105
+ export declare function getAppToolbarActions(path: string): ToolbarEntry[];
106
+ /**
107
+ * Clear all registered app toolbar actions for a specific route or global key.
108
+ *
109
+ * @param path - The key or route to clear the actions for.
110
+ *
111
+ * @example
112
+ * clearAppToolbarActions('global');
113
+ */
114
+ export declare function clearAppToolbarActions(path: string): void;
115
+ export declare const useToolbarRegistryStore: () => {
116
+ version: number;
117
+ };
@@ -0,0 +1,3 @@
1
+ import { SidebarFooterProps } from '@toolpad/core';
2
+ declare function SidebarFooter({ mini }: SidebarFooterProps): import("react/jsx-runtime").JSX.Element;
3
+ export default SidebarFooter;
@@ -0,0 +1,4 @@
1
+ /** @format */
2
+ export declare const csrftoken: string | null;
3
+ declare const axiosInstance: Axios.AxiosInstance;
4
+ export default axiosInstance;
@@ -0,0 +1,9 @@
1
+ /** @format */
2
+ export type dialogType = string | null;
3
+ type DialogState = {
4
+ openDialog: dialogType;
5
+ setOpenDialog: (dialog: dialogType | null) => void;
6
+ closeDialog: () => void;
7
+ };
8
+ declare const useDialogStore: import('zustand/traditional').UseBoundStoreWithEqualityFn<import('zustand').StoreApi<DialogState>>;
9
+ export default useDialogStore;
@@ -0,0 +1,165 @@
1
+ import { Layouts } from 'react-grid-layout';
2
+ export interface AuthSettings {
3
+ allowedAuthMethods: ("local" | "google" | "microsoft" | "shibboleth")[];
4
+ minimumPasswordLength: number;
5
+ requireEmailVerification: boolean;
6
+ allowSelfRegistration: boolean;
7
+ defaultUserRole: PlatformRole;
8
+ }
9
+ export type PlatformRole = "admin" | "developer" | "moderator" | "creator" | "user" | "guest";
10
+ export type visibilityMode = "public" | "enrolled" | "private";
11
+ export interface CourseSettings {
12
+ courseCreation: {
13
+ requiredRoles: PlatformRole[];
14
+ requireApproval: boolean;
15
+ };
16
+ defaultCourseVisibility: visibilityMode;
17
+ defaultEnrollmentDuration: number;
18
+ courseCategories: string[];
19
+ }
20
+ export interface AISettings {
21
+ enabled: boolean;
22
+ providers: {
23
+ openai: {
24
+ enabled: boolean;
25
+ apiKey?: string;
26
+ modelName: string;
27
+ maxTokens: number;
28
+ temperature: number;
29
+ };
30
+ anthropic: {
31
+ enabled: boolean;
32
+ apiKey?: string;
33
+ modelName: string;
34
+ };
35
+ local: {
36
+ enabled: boolean;
37
+ endpoint: string;
38
+ };
39
+ };
40
+ features: {
41
+ autoGrading: boolean;
42
+ plagiarismDetection: boolean;
43
+ contentGeneration: boolean;
44
+ studentAssistant: boolean;
45
+ teacherAssistant: boolean;
46
+ };
47
+ moderationSettings: {
48
+ enabled: boolean;
49
+ filterProfanity: boolean;
50
+ filterSensitiveContent: boolean;
51
+ maxQueriesPerHour: number;
52
+ };
53
+ agentConfigurations: {
54
+ agent: "openai" | "anthropic" | "local" | string;
55
+ assigned: string[];
56
+ apiKey?: string;
57
+ modelName?: string;
58
+ apiUrl?: string;
59
+ }[];
60
+ }
61
+ export interface NotificationSettings {
62
+ emailNotifications: boolean;
63
+ pushNotifications: boolean;
64
+ smtpSettings?: {
65
+ host: string;
66
+ port: number;
67
+ secure: boolean;
68
+ auth: {
69
+ user: string;
70
+ pass: string;
71
+ };
72
+ };
73
+ }
74
+ export interface Platform {
75
+ name: string;
76
+ description: string;
77
+ contactEmail: string;
78
+ supportUrl: string;
79
+ darkMode: {
80
+ enabled: boolean;
81
+ default: boolean;
82
+ };
83
+ auth: AuthSettings;
84
+ courses: CourseSettings;
85
+ ai: AISettings;
86
+ notifications: NotificationSettings;
87
+ analytics: {
88
+ enabled: boolean;
89
+ provider?: string;
90
+ trackingId?: string;
91
+ };
92
+ maintenance: {
93
+ enabled: boolean;
94
+ message: string;
95
+ };
96
+ storage: {
97
+ maxFileSize: number;
98
+ allowedFileTypes: string[];
99
+ totalStorageLimit: number;
100
+ };
101
+ features: {
102
+ forums: boolean;
103
+ wiki: boolean;
104
+ chat: boolean;
105
+ videoConference: boolean;
106
+ peerReview: boolean;
107
+ gamification: boolean;
108
+ };
109
+ admins: {
110
+ emails: string[];
111
+ invitePending: string[];
112
+ };
113
+ privacy: {
114
+ gdprEnabled: boolean;
115
+ dataRetentionPeriod: number;
116
+ defaultPrivacySettings: {
117
+ allowAnalytics: boolean;
118
+ allowPersonalization: boolean;
119
+ allowCommunications: boolean;
120
+ allowThirdPartySharing: boolean;
121
+ };
122
+ privacyPolicy: {
123
+ url: string;
124
+ lastUpdated: string;
125
+ version: string;
126
+ };
127
+ cookieSettings: {
128
+ necessary: boolean;
129
+ functional: boolean;
130
+ analytics: boolean;
131
+ advertising: boolean;
132
+ expiryDays: number;
133
+ };
134
+ dataProcessingAgreements: {
135
+ thirdParties: {
136
+ name: string;
137
+ purpose: string;
138
+ dataShared: string[];
139
+ location: string;
140
+ }[];
141
+ };
142
+ };
143
+ interface: {
144
+ layout: Layouts;
145
+ };
146
+ }
147
+ interface PlatformSettingsStore {
148
+ platform: Platform;
149
+ platformToUpdate: Platform | null;
150
+ updatePlatform: (newPlatform: Platform) => void;
151
+ updateAISettings: (newAISettings: Partial<AISettings>) => void;
152
+ resetToDefaults: () => void;
153
+ }
154
+ export declare const usePlatformStore: import('zustand/traditional').UseBoundStoreWithEqualityFn<Omit<import('zustand').StoreApi<PlatformSettingsStore>, "persist"> & {
155
+ persist: {
156
+ setOptions: (options: Partial<import('zustand/middleware').PersistOptions<PlatformSettingsStore, PlatformSettingsStore>>) => void;
157
+ clearStorage: () => void;
158
+ rehydrate: () => Promise<void> | void;
159
+ hasHydrated: () => boolean;
160
+ onHydrate: (fn: (state: PlatformSettingsStore) => void) => () => void;
161
+ onFinishHydration: (fn: (state: PlatformSettingsStore) => void) => () => void;
162
+ getOptions: () => Partial<import('zustand/middleware').PersistOptions<PlatformSettingsStore, PlatformSettingsStore>>;
163
+ };
164
+ }>;
165
+ export {};
@@ -0,0 +1,184 @@
1
+ import { Components, Theme, PaletteMode, PaletteOptions } from '@mui/material/styles';
2
+ import { ColorSchemePreference } from '../../../core/src';
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;
@@ -0,0 +1,2 @@
1
+ /** @format */
2
+ export declare const EduMLTheme: Omit<import('@mui/material').Theme, "applyStyles"> & import('@mui/material').CssVarsTheme;
@@ -0,0 +1,14 @@
1
+ import { Component, ErrorInfo, ReactNode } from 'react';
2
+ interface Props {
3
+ children: ReactNode;
4
+ }
5
+ interface State {
6
+ hasError: boolean;
7
+ }
8
+ declare class ErrorBoundary extends Component<Props, State> {
9
+ state: State;
10
+ static getDerivedStateFromError(_: Error): State;
11
+ componentDidCatch(error: Error, errorInfo: ErrorInfo): void;
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;
13
+ }
14
+ export default ErrorBoundary;
@@ -0,0 +1,8 @@
1
+ type NullStateWarningProps = {
2
+ states: {
3
+ [key: string]: any;
4
+ }[];
5
+ children: React.ReactNode;
6
+ };
7
+ declare const NullStateWarning: ({ states, children }: NullStateWarningProps) => import("react/jsx-runtime").JSX.Element;
8
+ export default NullStateWarning;
package/package.json ADDED
@@ -0,0 +1,73 @@
1
+ {
2
+ "name": "@mui-toolpad-extended-tuni/main",
3
+ "version": "3.2.0",
4
+ "description": "Main package for MUI Toolpad Extended TUNI - provides ToolpadProvider, LMS components, and platform features",
5
+ "author": "Jaakko Rajala",
6
+ "type": "module",
7
+ "main": "./dist/index.cjs",
8
+ "module": "./dist/index.es.js",
9
+ "types": "./dist/index.d.ts",
10
+ "files": [
11
+ "dist",
12
+ "README.md"
13
+ ],
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "git+https://github.com/Jalez/mui-toolpad-extended-tuni.git",
17
+ "directory": "packages/main"
18
+ },
19
+ "exports": {
20
+ ".": {
21
+ "types": "./dist/index.d.ts",
22
+ "import": "./dist/index.es.js",
23
+ "require": "./dist/index.cjs",
24
+ "default": "./dist/index.es.js"
25
+ }
26
+ },
27
+ "publishConfig": {
28
+ "access": "public"
29
+ },
30
+ "keywords": [
31
+ "react",
32
+ "mui",
33
+ "toolpad",
34
+ "education",
35
+ "tuni",
36
+ "main"
37
+ ],
38
+ "license": "MIT",
39
+ "sideEffects": false,
40
+ "scripts": {
41
+ "build": "tsc && vite build",
42
+ "dev": "vite build --watch",
43
+ "prepublishOnly": "npm run build"
44
+ },
45
+ "dependencies": {
46
+ "@mui-toolpad-extended-tuni/core": "^3.1.0",
47
+ "@dnd-kit/core": "^6.3.1",
48
+ "@dnd-kit/modifiers": "^9.0.0",
49
+ "@dnd-kit/sortable": "^10.0.0",
50
+ "@fontsource/roboto": "^5.0.14",
51
+ "axios": "^1.7.9",
52
+ "chart.js": "^4.5.1",
53
+ "d3-force": "^3.0.0",
54
+ "lodash": "^4.17.21",
55
+ "react-chartjs-2": "^5.2.0",
56
+ "react-colorful": "^5.6.1",
57
+ "react-grid-layout": "^1.5.0",
58
+ "styled-components": "^6.1.0",
59
+ "uuid": "^10.0.0"
60
+ },
61
+ "peerDependencies": {
62
+ "@emotion/react": "^11.0.0",
63
+ "@emotion/styled": "^11.0.0",
64
+ "@mui/icons-material": "^7.0.0",
65
+ "@mui/material": "^7.0.0",
66
+ "@mui/x-date-pickers": "^7.0.0",
67
+ "@toolpad/core": "^0.16.0",
68
+ "react": "^19.0.0",
69
+ "react-dom": "^19.0.0",
70
+ "react-router-dom": "^7.0.0",
71
+ "zustand": "^4.5.0"
72
+ }
73
+ }