@selfcommunity/react-ui 0.10.2-courses.122 → 0.10.2-courses.124

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 (50) hide show
  1. package/lib/cjs/components/EditCourse/Customize.d.ts +1 -1
  2. package/lib/cjs/components/EditCourse/Customize.js +0 -4
  3. package/lib/cjs/components/EditCourse/EditCourse.js +5 -1
  4. package/lib/cjs/components/EditCourse/Lessons/Skeleton.js +9 -8
  5. package/lib/cjs/components/EditCourse/Lessons.d.ts +1 -1
  6. package/lib/cjs/components/EditCourse/Lessons.js +4 -5
  7. package/lib/cjs/components/EditCourse/Options/Skeleton.js +2 -1
  8. package/lib/cjs/components/EditCourse/Options.d.ts +1 -1
  9. package/lib/cjs/components/EditCourse/Options.js +1 -5
  10. package/lib/cjs/components/EditCourse/Requests.d.ts +1 -1
  11. package/lib/cjs/components/EditCourse/Requests.js +3 -7
  12. package/lib/cjs/components/EditCourse/Skeleton.d.ts +8 -0
  13. package/lib/cjs/components/EditCourse/Skeleton.js +28 -0
  14. package/lib/cjs/components/EditCourse/Status.d.ts +1 -1
  15. package/lib/cjs/components/EditCourse/Status.js +2 -2
  16. package/lib/cjs/components/EditCourse/Users/Skeleton.js +3 -7
  17. package/lib/cjs/components/EditCourse/Users.d.ts +1 -1
  18. package/lib/cjs/components/EditCourse/Users.js +4 -8
  19. package/lib/cjs/components/EditCourse/index.d.ts +2 -1
  20. package/lib/cjs/components/EditCourse/index.js +3 -1
  21. package/lib/cjs/index.d.ts +2 -2
  22. package/lib/cjs/index.js +8 -7
  23. package/lib/cjs/shared/AddUsersButton/AddUsersButton.d.ts +1 -2
  24. package/lib/cjs/shared/AddUsersButton/AddUsersButton.js +2 -2
  25. package/lib/esm/components/EditCourse/Customize.d.ts +1 -1
  26. package/lib/esm/components/EditCourse/Customize.js +0 -4
  27. package/lib/esm/components/EditCourse/EditCourse.js +6 -2
  28. package/lib/esm/components/EditCourse/Lessons/Skeleton.js +10 -9
  29. package/lib/esm/components/EditCourse/Lessons.d.ts +1 -1
  30. package/lib/esm/components/EditCourse/Lessons.js +5 -6
  31. package/lib/esm/components/EditCourse/Options/Skeleton.js +3 -2
  32. package/lib/esm/components/EditCourse/Options.d.ts +1 -1
  33. package/lib/esm/components/EditCourse/Options.js +1 -5
  34. package/lib/esm/components/EditCourse/Requests.d.ts +1 -1
  35. package/lib/esm/components/EditCourse/Requests.js +3 -7
  36. package/lib/esm/components/EditCourse/Skeleton.d.ts +8 -0
  37. package/lib/esm/components/EditCourse/Skeleton.js +25 -0
  38. package/lib/esm/components/EditCourse/Status.d.ts +1 -1
  39. package/lib/esm/components/EditCourse/Status.js +3 -3
  40. package/lib/esm/components/EditCourse/Users/Skeleton.js +4 -8
  41. package/lib/esm/components/EditCourse/Users.d.ts +1 -1
  42. package/lib/esm/components/EditCourse/Users.js +4 -8
  43. package/lib/esm/components/EditCourse/index.d.ts +2 -1
  44. package/lib/esm/components/EditCourse/index.js +2 -1
  45. package/lib/esm/index.d.ts +2 -2
  46. package/lib/esm/index.js +2 -2
  47. package/lib/esm/shared/AddUsersButton/AddUsersButton.d.ts +1 -2
  48. package/lib/esm/shared/AddUsersButton/AddUsersButton.js +2 -2
  49. package/lib/umd/react-ui.js +1 -1
  50. package/package.json +8 -8
@@ -3,7 +3,6 @@ import CourseForm from '../CourseForm';
3
3
  import { memo, useCallback } from 'react';
4
4
  import { useSnackbar } from 'notistack';
5
5
  import { FormattedMessage } from 'react-intl';
6
- import Skeleton from '../CourseForm/Skeleton';
7
6
  import { SCCourseFormStepType } from '../../constants/Course';
8
7
  function Customize(props) {
9
8
  // PROPS
@@ -24,9 +23,6 @@ function Customize(props) {
24
23
  autoHideDuration: 3000
25
24
  });
26
25
  }, []);
27
- if (!course) {
28
- return _jsx(Skeleton, {});
29
- }
30
26
  return _jsx(CourseForm, { course: course, step: SCCourseFormStepType.CUSTOMIZATION, onSuccess: handleSuccess, onError: handleError });
31
27
  }
32
28
  export default memo(Customize);
@@ -1,6 +1,6 @@
1
1
  import { __rest } from "tslib";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { Box, Icon, IconButton, Skeleton, Stack, styled, Tab, Typography, useMediaQuery, useTheme, useThemeProps } from '@mui/material';
3
+ import { Box, Icon, IconButton, Stack, styled, Tab, Typography, useMediaQuery, useTheme, useThemeProps } from '@mui/material';
4
4
  import { PREFIX } from './constants';
5
5
  import { useCallback, useState } from 'react';
6
6
  import classNames from 'classnames';
@@ -14,6 +14,7 @@ import Options from './Options';
14
14
  import { SCRoutes, useSCFetchCourse, useSCRouting } from '@selfcommunity/react-core';
15
15
  import { CourseInfoViewType } from '@selfcommunity/api-services';
16
16
  import Requests from './Requests';
17
+ import EditCourseSkeleton from './Skeleton';
17
18
  const classes = {
18
19
  root: `${PREFIX}-root`,
19
20
  header: `${PREFIX}-header`,
@@ -92,5 +93,8 @@ export default function EditCourse(inProps) {
92
93
  setTabValue(newTabValue);
93
94
  onTabChange(TabContentEnum[newTabValue]);
94
95
  }, [setTabValue]);
95
- return (_jsxs(Root, Object.assign({ className: classNames(classes.root, className) }, rest, { children: [_jsxs(Stack, Object.assign({ className: classes.header }, { children: [_jsx(IconButton, Object.assign({ href: scRoutingContext.url(SCRoutes.COURSE_DASHBOARD_ROUTE_NAME, scCourse), size: "small" }, { children: _jsx(Icon, { children: "arrow_back" }) })), scCourse ? _jsx(Typography, Object.assign({ variant: "h5" }, { children: scCourse.name })) : _jsx(Skeleton, { animation: "wave", variant: "text", width: "125px", height: "21px" })] })), _jsxs(TabContext, Object.assign({ value: tabValue }, { children: [_jsx(TabList, Object.assign({ className: classes.tabList, onChange: handleTabChange, textColor: "primary", indicatorColor: "primary", variant: isMobile ? 'scrollable' : 'standard', scrollButtons: isMobile, centered: !isMobile }, { children: TAB_DATA.map((data, i) => (_jsx(Tab, { label: _jsx(Typography, Object.assign({ variant: "h6" }, { children: _jsx(FormattedMessage, { id: data.label, defaultMessage: data.label }) })), value: data.value, className: classes.tab }, i))) })), getPanelData(scCourse, setSCCourse).map((data, i) => (_jsx(TabPanel, Object.assign({ className: classes.tabPanel, value: data.value }, { children: data.children }), i)))] }))] })));
96
+ if (!scCourse) {
97
+ return _jsx(EditCourseSkeleton, { tab: tab });
98
+ }
99
+ return (_jsxs(Root, Object.assign({ className: classNames(classes.root, className) }, rest, { children: [_jsxs(Stack, Object.assign({ className: classes.header }, { children: [_jsx(IconButton, Object.assign({ href: scRoutingContext.url(SCRoutes.COURSE_DASHBOARD_ROUTE_NAME, scCourse), size: "small" }, { children: _jsx(Icon, { children: "arrow_back" }) })), _jsx(Typography, Object.assign({ variant: "h5" }, { children: scCourse.name }))] })), _jsxs(TabContext, Object.assign({ value: tabValue }, { children: [_jsx(TabList, Object.assign({ className: classes.tabList, onChange: handleTabChange, textColor: "primary", indicatorColor: "primary", variant: isMobile ? 'scrollable' : 'standard', scrollButtons: isMobile, centered: !isMobile }, { children: TAB_DATA.map((data, i) => (_jsx(Tab, { label: _jsx(Typography, Object.assign({ variant: "h6" }, { children: _jsx(FormattedMessage, { id: data.label, defaultMessage: data.label }) })), value: data.value, className: classes.tab }, i))) })), getPanelData(scCourse, setSCCourse).map((data, i) => (_jsx(TabPanel, Object.assign({ className: classes.tabPanel, value: data.value }, { children: data.children }), i)))] }))] })));
96
100
  }
@@ -1,17 +1,18 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Stack, styled, Skeleton, TableContainer, Table, TableHead, TableRow, TableCell } from '@mui/material';
2
+ import { Stack, Skeleton, TableContainer, Table, TableHead, TableRow, TableCell, TableBody } from '@mui/material';
3
3
  import { PREFIX } from '../constants';
4
+ import { Fragment } from 'react';
4
5
  const classes = {
5
- root: `${PREFIX}-lessons-skeleton-root`,
6
+ lessonTitle: `${PREFIX}-lesson-title`,
7
+ lessonInfoWrapper: `${PREFIX}-lesson-info-wrapper`,
8
+ lessonInfo: `${PREFIX}-lesson-info`,
6
9
  lessonsSectionsWrapper: `${PREFIX}-lessons-sections-wrapper`,
7
10
  lessonsSections: `${PREFIX}-lessons-sections`,
8
- tableContainer: `${PREFIX}-table-container`
11
+ tableContainer: `${PREFIX}-table-container`,
12
+ margin: `${PREFIX}-margin`,
13
+ marginLeft: `${PREFIX}-margin-left`,
14
+ actionsWrapper: `${PREFIX}-actions-wrapper`
9
15
  };
10
- const Root = styled(Stack, {
11
- name: PREFIX,
12
- slot: 'LessonsSkeletonRoot',
13
- overridesResolver: (_props, styles) => styles.lessonsSkeletonRoot
14
- })(() => ({}));
15
16
  export default function LessonsSkeleton() {
16
- return (_jsxs(Root, Object.assign({ className: classes.root }, { children: [_jsxs(Stack, Object.assign({ className: classes.lessonsSectionsWrapper }, { children: [_jsx(Skeleton, { animation: "wave", width: "159px", height: "21px" }), _jsx(Skeleton, { animation: "wave", width: "100px", height: "32px" })] })), _jsx(TableContainer, Object.assign({ className: classes.tableContainer }, { children: _jsx(Table, { children: _jsx(TableHead, { children: _jsxs(TableRow, { children: [_jsx(TableCell, {}), _jsx(TableCell, { children: _jsx(Skeleton, { animation: "wave", width: "102px", height: "32px" }) }), _jsx(TableCell, { children: _jsx(Skeleton, { animation: "wave", width: "87px", height: "32px" }) }), _jsx(TableCell, { children: _jsx(Skeleton, { animation: "wave", width: "48px", height: "32px" }) })] }) }) }) }))] })));
17
+ return (_jsxs(Fragment, { children: [_jsx(Skeleton, { animation: "wave", variant: "text", width: "150px", height: "21px", className: classes.lessonTitle }), _jsxs(Stack, Object.assign({ className: classes.lessonInfoWrapper }, { children: [_jsxs(Stack, Object.assign({ className: classes.lessonInfo }, { children: [_jsx(Skeleton, { animation: "wave", variant: "rectangular", width: "14px", height: "14px" }), _jsx(Skeleton, { animation: "wave", variant: "text", width: "150px", height: "21px" })] })), _jsx(Skeleton, { animation: "wave", variant: "rectangular", width: "105px", height: "32px" })] })), _jsxs(Stack, Object.assign({ className: classes.lessonsSectionsWrapper }, { children: [_jsx(Skeleton, { animation: "wave", width: "159px", height: "21px" }), _jsx(Skeleton, { animation: "wave", width: "100px", height: "32px" })] })), _jsx(TableContainer, Object.assign({ className: classes.tableContainer }, { children: _jsxs(Table, { children: [_jsx(TableHead, { children: _jsxs(TableRow, { children: [_jsx(TableCell, {}), _jsx(TableCell, { children: _jsx(Skeleton, { animation: "wave", variant: "text", width: "102px", height: "32px" }) }), _jsx(TableCell, { children: _jsx(Skeleton, { animation: "wave", variant: "text", width: "87px", height: "32px", className: classes.margin }) }), _jsx(TableCell, { children: _jsx(Skeleton, { animation: "wave", variant: "text", width: "48px", height: "32px", className: classes.marginLeft }) })] }) }), _jsx(TableBody, { children: _jsxs(TableRow, { children: [_jsx(TableCell, {}), _jsx(TableCell, { children: _jsx(Skeleton, { animation: "wave", variant: "text", width: "102px", height: "21px" }) }), _jsx(TableCell, { children: _jsx(Skeleton, { animation: "wave", variant: "rectangular", width: "250px", height: "54px", className: classes.margin }) }), _jsx(TableCell, { children: _jsxs(Stack, Object.assign({ className: classes.actionsWrapper }, { children: [_jsx(Skeleton, { animation: "wave", variant: "rounded", width: "105px", height: "37px" }), _jsx(Skeleton, { animation: "wave", variant: "circular", width: "36px", height: "36px" })] })) })] }) })] }) }))] }));
17
18
  }
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { SCCourseType } from '@selfcommunity/types';
3
3
  interface LessonsProps {
4
- course: SCCourseType | null;
4
+ course: SCCourseType;
5
5
  setSCCourse: (course: SCCourseType) => void;
6
6
  }
7
7
  declare function Lessons(props: LessonsProps): JSX.Element;
@@ -7,9 +7,8 @@ import { CourseService } from '@selfcommunity/api-services';
7
7
  import { Logger } from '@selfcommunity/utils';
8
8
  import { SCOPE_SC_UI } from '../../constants/Errors';
9
9
  import { useSnackbar } from 'notistack';
10
- import { Box, Icon, Skeleton, Stack, Table, TableBody, TableCell, TableContainer, TableHead, TableRow, Typography } from '@mui/material';
10
+ import { Box, Icon, Stack, Table, TableBody, TableCell, TableContainer, TableHead, TableRow, Typography } from '@mui/material';
11
11
  import Status from './Status';
12
- import LessonsSkeleton from './Lessons/Skeleton';
13
12
  import EmptyStatus from '../../shared/EmptyStatus';
14
13
  import AddButton from './Lessons/AddButton';
15
14
  import SectionRow from './Lessons/SectionRow';
@@ -58,12 +57,12 @@ function Lessons(props) {
58
57
  const intl = useIntl();
59
58
  // EFFECTS
60
59
  useEffect(() => {
61
- if (course && course.sections) {
60
+ if (course.sections) {
62
61
  setSections(course.sections);
63
62
  }
64
63
  }, [course]);
65
64
  // MEMOS
66
- const isNewRow = useMemo(() => { var _a; return sections.length > ((_a = course === null || course === void 0 ? void 0 : course.sections) === null || _a === void 0 ? void 0 : _a.length); }, [course, sections]);
65
+ const isNewRow = useMemo(() => { var _a; return sections.length > ((_a = course.sections) === null || _a === void 0 ? void 0 : _a.length); }, [course, sections]);
67
66
  // FUNCTIONS
68
67
  const getSection = useCallback((id) => {
69
68
  return {
@@ -136,12 +135,12 @@ function Lessons(props) {
136
135
  }
137
136
  }
138
137
  }, [course, setSections]);
139
- return (_jsxs(Box, { children: [_jsx(Typography, Object.assign({ className: classes.lessonTitle, variant: "h4" }, { children: _jsx(FormattedMessage, { id: "ui.editCourse.tab.lessons", defaultMessage: "ui.editCourse.tab.lessons" }) })), _jsxs(Stack, Object.assign({ className: classes.lessonInfoWrapper }, { children: [_jsxs(Stack, Object.assign({ className: classes.lessonInfo }, { children: [_jsx(Icon, { children: "courses" }), course ? (_jsx(Typography, Object.assign({ variant: "body2" }, { children: _jsx(FormattedMessage, { id: "ui.course.type", defaultMessage: "ui.course.type", values: {
138
+ return (_jsxs(Box, { children: [_jsx(Typography, Object.assign({ className: classes.lessonTitle, variant: "h4" }, { children: _jsx(FormattedMessage, { id: "ui.editCourse.tab.lessons", defaultMessage: "ui.editCourse.tab.lessons" }) })), _jsxs(Stack, Object.assign({ className: classes.lessonInfoWrapper }, { children: [_jsxs(Stack, Object.assign({ className: classes.lessonInfo }, { children: [_jsx(Icon, { children: "courses" }), _jsx(Typography, Object.assign({ variant: "body2" }, { children: _jsx(FormattedMessage, { id: "ui.course.type", defaultMessage: "ui.course.type", values: {
140
139
  typeOfCourse: intl.formatMessage({
141
140
  id: `ui.course.type.${course.type}`,
142
141
  defaultMessage: `ui.course.type.${course.type}`
143
142
  })
144
- } }) }))) : (_jsx(Skeleton, { animation: "wave", variant: "text", width: "150px", height: "21px" }))] })), _jsx(Status, { course: course })] })), !course && _jsx(LessonsSkeleton, {}), sections.length === 0 && (_jsx(EmptyStatus, { icon: "courses", title: "ui.editCourse.tab.lessons.table.empty.title", description: "ui.editCourse.tab.lessons.table.empty.description", actions: _jsx(AddButton, { className: classes.emptyStatusButton, label: "ui.editCourse.tab.lessons.table.section", handleAddRow: handleAddTempSection, color: "inherit", variant: "outlined" }), className: classes.lessonEmptyStatus })), sections.length > 0 && (_jsxs(Fragment, { children: [_jsxs(Stack, Object.assign({ className: classes.lessonsSectionsWrapper }, { children: [_jsxs(Stack, Object.assign({ className: classes.lessonsSections }, { children: [_jsx(Typography, Object.assign({ variant: "h5" }, { children: _jsx(FormattedMessage, { id: "ui.course.table.sections.title", defaultMessage: "ui.course.table.sections.title", values: {
143
+ } }) }))] })), _jsx(Status, { course: course })] })), sections.length === 0 && (_jsx(EmptyStatus, { icon: "courses", title: "ui.editCourse.tab.lessons.table.empty.title", description: "ui.editCourse.tab.lessons.table.empty.description", actions: _jsx(AddButton, { className: classes.emptyStatusButton, label: "ui.editCourse.tab.lessons.table.section", handleAddRow: handleAddTempSection, color: "inherit", variant: "outlined" }), className: classes.lessonEmptyStatus })), sections.length > 0 && (_jsxs(Fragment, { children: [_jsxs(Stack, Object.assign({ className: classes.lessonsSectionsWrapper }, { children: [_jsxs(Stack, Object.assign({ className: classes.lessonsSections }, { children: [_jsx(Typography, Object.assign({ variant: "h5" }, { children: _jsx(FormattedMessage, { id: "ui.course.table.sections.title", defaultMessage: "ui.course.table.sections.title", values: {
145
144
  sectionsNumber: course.num_sections
146
145
  } }) })), _jsx(Box, { className: classes.circle }), _jsx(Typography, Object.assign({ variant: "h5" }, { children: _jsx(FormattedMessage, { id: "ui.course.table.lessons.title", defaultMessage: "ui.course.table.lessons.title", values: {
147
146
  lessonsNumber: course.num_lessons
@@ -1,11 +1,12 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Divider, FormControl, FormControlLabel, FormLabel, Skeleton, Stack, Switch } from '@mui/material';
3
3
  import { PREFIX } from '../constants';
4
+ import { Fragment } from 'react';
4
5
  const classes = {
5
6
  optionsWrapper: `${PREFIX}-options-wrapper`,
6
7
  optionsDivider: `${PREFIX}-options-divider`,
7
8
  optionsButtonWrapper: `${PREFIX}-options-button-wrapper`
8
9
  };
9
10
  export default function OptionsSkeleton() {
10
- return (_jsxs(_Fragment, { children: [_jsx(Stack, Object.assign({ className: classes.optionsWrapper }, { children: Array.from(Array(3)).map((_, i) => (_jsxs(FormControl, Object.assign({ component: "fieldset", variant: "standard" }, { children: [_jsx(FormLabel, Object.assign({ component: "legend" }, { children: _jsx(Skeleton, { animation: "wave", variant: "text", width: "52px", height: "21px" }) })), _jsx(FormControlLabel, { control: _jsx(Switch, {}), label: _jsx(Skeleton, { animation: "wave", variant: "text", width: "215px", height: "38px" }) })] }), i))) })), _jsx(Divider, { className: classes.optionsDivider }), _jsx(Stack, Object.assign({ className: classes.optionsButtonWrapper }, { children: _jsx(Skeleton, { animation: "wave", variant: "rounded", width: "133px", height: "33px" }) }))] }));
11
+ return (_jsxs(Fragment, { children: [_jsx(Stack, Object.assign({ className: classes.optionsWrapper }, { children: Array.from(Array(3)).map((_, i) => (_jsxs(FormControl, Object.assign({ component: "fieldset", variant: "standard" }, { children: [_jsx(FormLabel, Object.assign({ component: "legend" }, { children: _jsx(Skeleton, { animation: "wave", variant: "text", width: "52px", height: "21px" }) })), _jsx(FormControlLabel, { control: _jsx(Switch, {}), label: _jsx(Skeleton, { animation: "wave", variant: "text", width: "215px", height: "38px" }) })] }), i))) })), _jsx(Divider, { className: classes.optionsDivider }), _jsx(Stack, Object.assign({ className: classes.optionsButtonWrapper }, { children: _jsx(Skeleton, { animation: "wave", variant: "rounded", width: "133px", height: "33px" }) }))] }));
11
12
  }
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { SCCourseType } from '@selfcommunity/types';
3
3
  interface OptionsProps {
4
- course: SCCourseType | null;
4
+ course: SCCourseType;
5
5
  setSCCourse: (course: SCCourseType) => void;
6
6
  }
7
7
  declare function Options(props: OptionsProps): JSX.Element;
@@ -8,7 +8,6 @@ import { SCOPE_SC_UI } from '../../constants/Errors';
8
8
  import { useSnackbar } from 'notistack';
9
9
  import SwitchForm from './Options/SwitchForm';
10
10
  import useDeepCompareEffect from 'use-deep-compare-effect';
11
- import OptionsSkeleton from './Options/Skeleton';
12
11
  import { LoadingButton } from '@mui/lab';
13
12
  import { CourseService } from '@selfcommunity/api-services';
14
13
  const classes = {
@@ -41,7 +40,7 @@ function Options(props) {
41
40
  const { enqueueSnackbar } = useSnackbar();
42
41
  // EFFECTS
43
42
  useDeepCompareEffect(() => {
44
- if (!course || !tempOptions) {
43
+ if (!tempOptions) {
45
44
  return;
46
45
  }
47
46
  if (course.enforce_lessons_order !== tempOptions.enforce_lessons_order ||
@@ -88,9 +87,6 @@ function Options(props) {
88
87
  });
89
88
  });
90
89
  }, [course, tempOptions, setCanSave, setLoading]);
91
- if (!course) {
92
- return _jsx(OptionsSkeleton, {});
93
- }
94
90
  return (_jsxs(Fragment, { children: [_jsx(Stack, Object.assign({ className: classes.optionsWrapper }, { children: Object.entries(OPTIONS).map(([key, value], i) => (_jsx(SwitchForm, { name: key, title: value.title, description: value.description, checked: course[key], handleChangeOptions: handleChange }, i))) })), _jsx(Divider, { className: classes.optionsDivider }), _jsx(Stack, Object.assign({ className: classes.optionsButtonWrapper }, { children: _jsx(LoadingButton, Object.assign({ size: "small", variant: "contained", disabled: !canSave, onClick: handleSubmit, loading: loading }, { children: _jsx(Typography, Object.assign({ variant: "body1" }, { children: _jsx(FormattedMessage, { id: "ui.editCourse.tab.options.button.save", defaultMessage: "ui.editCourse.tab.options.button.save" }) })) })) }))] }));
95
91
  }
96
92
  export default memo(Options);
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { SCCourseType } from '@selfcommunity/types';
3
3
  interface RequestsProps {
4
- course: SCCourseType | null;
4
+ course: SCCourseType;
5
5
  endpointQueryParams?: Record<string, string | number>;
6
6
  }
7
7
  declare function Requests(props: RequestsProps): JSX.Element;
@@ -5,7 +5,6 @@ import { memo, useCallback, useEffect, useReducer, useRef } from 'react';
5
5
  import { CacheStrategies, Logger } from '@selfcommunity/utils';
6
6
  import { SCOPE_SC_UI } from '../../constants/Errors';
7
7
  import Status from './Status';
8
- import UsersSkeleton from './Users/Skeleton';
9
8
  import CourseUsersTable from '../../shared/CourseUsersTable';
10
9
  import { DEFAULT_PAGINATION_OFFSET } from '../../constants/Pagination';
11
10
  import { SCCache, useSCUser } from '@selfcommunity/react-core';
@@ -40,7 +39,7 @@ function Requests(props) {
40
39
  isLoadingPrevious: false,
41
40
  isLoadingNext: false,
42
41
  next: null,
43
- cacheKey: SCCache.getWidgetStateCacheKey(SCCache.USER_REQUESTS_COURSES_STATE_CACHE_PREFIX_KEY, course === null || course === void 0 ? void 0 : course.id),
42
+ cacheKey: SCCache.getWidgetStateCacheKey(SCCache.USER_REQUESTS_COURSES_STATE_CACHE_PREFIX_KEY, course.id),
44
43
  cacheStrategy: CacheStrategies.CACHE_FIRST,
45
44
  visibleItems: endpointQueryParams.limit
46
45
  }, stateWidgetInitializer);
@@ -65,13 +64,13 @@ function Requests(props) {
65
64
  // EFFECTS
66
65
  useEffect(() => {
67
66
  let _t;
68
- if (scUserContext.user && course) {
67
+ if (scUserContext.user) {
69
68
  _t = setTimeout(_init);
70
69
  return () => {
71
70
  clearTimeout(_t);
72
71
  };
73
72
  }
74
- }, [scUserContext.user, course, _init]);
73
+ }, [scUserContext.user, _init]);
75
74
  useEffect(() => {
76
75
  updatedUsers.current = PubSub.subscribe(`${SCTopicType.COURSE}.${SCGroupEventType.REMOVE_MEMBER}`, handleRemoveUser);
77
76
  return () => {
@@ -85,9 +84,6 @@ function Requests(props) {
85
84
  payload: { count: state.count - 1, results: state.results.filter((result) => result.id !== user.id) }
86
85
  });
87
86
  }, [dispatch]);
88
- if (!course) {
89
- return _jsx(UsersSkeleton, {});
90
- }
91
87
  return (_jsxs(Box, { children: [_jsx(Typography, Object.assign({ variant: "h6" }, { children: _jsx(FormattedMessage, { id: "ui.editCourse.tab.requests.title", defaultMessage: "ui.editCourse.tab.requests.title", values: { requestsNumber: state.results.length } }) })), _jsx(Stack, Object.assign({ className: classes.usersStatusWrapper }, { children: _jsx(Status, { course: course }) })), _jsx(CourseUsersTable, { course: course, state: state, dispatch: dispatch, headerCells: headerCells, mode: "requests", emptyStatusTitle: "ui.courseUsersTable.empty.requests.title" })] }));
92
88
  }
93
89
  export default memo(Requests);
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { SCCourseEditTabType } from '../../types';
3
+ interface EditCourseSkeletonProps {
4
+ tab: SCCourseEditTabType;
5
+ }
6
+ declare function EditCourseSkeleton(props: EditCourseSkeletonProps): JSX.Element;
7
+ declare const _default: import("react").MemoExoticComponent<typeof EditCourseSkeleton>;
8
+ export default _default;
@@ -0,0 +1,25 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { PREFIX } from './constants';
3
+ import { Box, Skeleton, Stack, styled } from '@mui/material';
4
+ import LessonsSkeleton from './Lessons/Skeleton';
5
+ import UsersSkeleton from './Users/Skeleton';
6
+ import CourseFormSkeleton from '../CourseForm/Skeleton';
7
+ import OptionsSkeleton from './Options/Skeleton';
8
+ import { SCCourseEditTabEnum } from '../../types';
9
+ import { memo } from 'react';
10
+ const classes = {
11
+ root: `${PREFIX}-skeleton-root`,
12
+ header: `${PREFIX}-header`,
13
+ tabList: `${PREFIX}-tab-list`
14
+ };
15
+ const Root = styled(Box, {
16
+ name: PREFIX,
17
+ slot: 'SkeletonRoot',
18
+ overridesResolver: (_props, styles) => styles.skeletonRoot
19
+ })(() => ({}));
20
+ function EditCourseSkeleton(props) {
21
+ // PROPS
22
+ const { tab } = props;
23
+ return (_jsxs(Root, Object.assign({ className: classes.root }, { children: [_jsxs(Stack, Object.assign({ className: classes.header }, { children: [_jsx(Skeleton, { animation: "wave", variant: "rectangular", width: "14px", height: "14px" }), _jsx(Skeleton, { animation: "wave", variant: "text", width: "125px", height: "21px" })] })), _jsx(Stack, Object.assign({ className: classes.tabList }, { children: Array.from(new Array(5)).map((_, i) => (_jsx(Skeleton, { animation: "wave", variant: "text", width: "80px", height: "21px" }, i))) })), tab === SCCourseEditTabEnum.LESSONS && _jsx(LessonsSkeleton, {}), tab === SCCourseEditTabEnum.CUSTOMIZE && _jsx(CourseFormSkeleton, {}), tab === SCCourseEditTabEnum.USERS && _jsx(UsersSkeleton, {}), tab === SCCourseEditTabEnum.REQUESTS && _jsx(UsersSkeleton, {}), tab === SCCourseEditTabEnum.OPTIONS && _jsx(OptionsSkeleton, {})] })));
24
+ }
25
+ export default memo(EditCourseSkeleton);
@@ -1,6 +1,6 @@
1
1
  import { SCCourseType } from '@selfcommunity/types';
2
2
  interface StatusProps {
3
- course: SCCourseType | null;
3
+ course: SCCourseType;
4
4
  }
5
5
  export default function Status(props: StatusProps): JSX.Element;
6
6
  export {};
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Chip, Skeleton, Typography } from '@mui/material';
2
+ import { Chip, Typography } from '@mui/material';
3
3
  import { useIntl } from 'react-intl';
4
4
  import { PREFIX } from './constants';
5
5
  import { SCCoursePrivacyType } from '@selfcommunity/types';
@@ -11,11 +11,11 @@ export default function Status(props) {
11
11
  const { course } = props;
12
12
  // HOOKS
13
13
  const intl = useIntl();
14
- return (_jsx(Chip, { label: course ? (_jsx(Typography, Object.assign({ variant: "body1" }, { children: intl.formatMessage({ id: 'ui.editCourse.tab.lessons.status', defaultMessage: 'ui.editCourse.tab.lessons.status' }, {
14
+ return (_jsx(Chip, { label: _jsx(Typography, Object.assign({ variant: "body1" }, { children: intl.formatMessage({ id: 'ui.editCourse.tab.lessons.status', defaultMessage: 'ui.editCourse.tab.lessons.status' }, {
15
15
  status: intl.formatMessage({
16
16
  id: `ui.course.privacy.${course.privacy === '' ? SCCoursePrivacyType.DRAFT : course.privacy}`,
17
17
  defaultMessage: `ui.course.privacy.${course.privacy === '' ? SCCoursePrivacyType.DRAFT : course.privacy}`
18
18
  }),
19
19
  b: (chunks) => (_jsx(Typography, Object.assign({ component: "b", fontWeight: "bold" }, { children: chunks })))
20
- }) }))) : (_jsx(Skeleton, { animation: "wave", variant: "text", width: "70px", height: "21px" })), className: classes.status }));
20
+ }) })), className: classes.status }));
21
21
  }
@@ -1,16 +1,12 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Skeleton, Stack, styled } from '@mui/material';
2
+ import { Skeleton, Stack } from '@mui/material';
3
3
  import { PREFIX } from '../constants';
4
4
  import { CourseUsersTableSkeleton } from '../../../shared/CourseUsersTable';
5
+ import { Fragment } from 'react';
5
6
  const classes = {
6
- root: `${PREFIX}-users-skeleton-root`,
7
+ root: `${PREFIX}-skeleton-root`,
7
8
  usersStatusWrapper: `${PREFIX}-users-status-wrapper`
8
9
  };
9
- const Root = styled(Stack, {
10
- name: PREFIX,
11
- slot: 'UsersSkeletonRoot',
12
- overridesResolver: (_props, styles) => styles.usersSkeletonRoot
13
- })(() => ({}));
14
10
  export default function UsersSkeleton() {
15
- return (_jsxs(Root, Object.assign({ className: classes.root }, { children: [_jsx(Skeleton, { animation: "wave", variant: "text", width: "136px", height: "22px" }), _jsxs(Stack, Object.assign({ className: classes.usersStatusWrapper }, { children: [_jsx(Skeleton, { animation: "wave", variant: "rectangular", width: "122px", height: "32px" }), _jsx(Skeleton, { animation: "wave", variant: "rounded", width: "154px", height: "29px" })] })), _jsx(CourseUsersTableSkeleton, {})] })));
11
+ return (_jsxs(Fragment, { children: [_jsx(Skeleton, { animation: "wave", variant: "text", width: "136px", height: "22px" }), _jsxs(Stack, Object.assign({ className: classes.usersStatusWrapper }, { children: [_jsx(Skeleton, { animation: "wave", variant: "rectangular", width: "122px", height: "32px" }), _jsx(Skeleton, { animation: "wave", variant: "rounded", width: "154px", height: "29px" })] })), _jsx(CourseUsersTableSkeleton, {})] }));
16
12
  }
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { SCCourseType } from '@selfcommunity/types';
3
3
  interface UsersProps {
4
- course: SCCourseType | null;
4
+ course: SCCourseType;
5
5
  endpointQueryParams?: Record<string, string | number>;
6
6
  }
7
7
  declare function Users(props: UsersProps): JSX.Element;
@@ -7,7 +7,6 @@ import { CacheStrategies, Logger } from '@selfcommunity/utils';
7
7
  import { SCOPE_SC_UI } from '../../constants/Errors';
8
8
  import { useSnackbar } from 'notistack';
9
9
  import Status from './Status';
10
- import UsersSkeleton from './Users/Skeleton';
11
10
  import { PREFIX } from './constants';
12
11
  import CourseUsersTable from '../../shared/CourseUsersTable';
13
12
  import { DEFAULT_PAGINATION_OFFSET } from '../../constants/Pagination';
@@ -45,7 +44,7 @@ function Users(props) {
45
44
  isLoadingPrevious: false,
46
45
  isLoadingNext: false,
47
46
  next: null,
48
- cacheKey: SCCache.getWidgetStateCacheKey(SCCache.USER_PARTECIPANTS_COURSES_STATE_CACHE_PREFIX_KEY, course === null || course === void 0 ? void 0 : course.id),
47
+ cacheKey: SCCache.getWidgetStateCacheKey(SCCache.USER_PARTECIPANTS_COURSES_STATE_CACHE_PREFIX_KEY, course.id),
49
48
  cacheStrategy: CacheStrategies.CACHE_FIRST,
50
49
  visibleItems: endpointQueryParams.limit
51
50
  }, stateWidgetInitializer);
@@ -72,13 +71,13 @@ function Users(props) {
72
71
  // EFFECTS
73
72
  useEffect(() => {
74
73
  let _t;
75
- if (scUserContext.user && course) {
74
+ if (scUserContext.user) {
76
75
  _t = setTimeout(_init);
77
76
  return () => {
78
77
  clearTimeout(_t);
79
78
  };
80
79
  }
81
- }, [scUserContext.user, course, _init]);
80
+ }, [scUserContext.user, _init]);
82
81
  useEffect(() => {
83
82
  updatedUsers.current = PubSub.subscribe(`${SCTopicType.COURSE}.${SCGroupEventType.ADD_MEMBER}`, handleAddUser);
84
83
  return () => {
@@ -106,10 +105,7 @@ function Users(props) {
106
105
  });
107
106
  });
108
107
  }, [course, dispatch]);
109
- if (!course) {
110
- return _jsx(UsersSkeleton, {});
111
- }
112
- return (_jsxs(Box, { children: [_jsx(Typography, Object.assign({ variant: "h6" }, { children: _jsx(FormattedMessage, { id: "ui.editCourse.tab.users.title", defaultMessage: "ui.editCourse.tab.users.title", values: { usersNumber: state.results.length } }) })), _jsxs(Stack, Object.assign({ className: classes.usersStatusWrapper }, { children: [_jsx(Status, { course: course }), _jsx(AddUsersButton, { course: course, label: "ui.editCourse.tab.users.addUsersButton.label", endpoint: {
108
+ return (_jsxs(Box, { children: [_jsx(Typography, Object.assign({ variant: "h6" }, { children: _jsx(FormattedMessage, { id: "ui.editCourse.tab.users.title", defaultMessage: "ui.editCourse.tab.users.title", values: { usersNumber: state.results.length } }) })), _jsxs(Stack, Object.assign({ className: classes.usersStatusWrapper }, { children: [_jsx(Status, { course: course }), _jsx(AddUsersButton, { label: "ui.editCourse.tab.users.addUsersButton.label", endpoint: {
113
109
  url: () => Endpoints.GetCourseSuggestedUsers.url({ id: course.id }),
114
110
  method: Endpoints.GetCourseSuggestedUsers.method
115
111
  }, onConfirm: handleConfirm, isUpdating: state.isLoadingPrevious })] })), _jsx(CourseUsersTable, { course: course, state: state, dispatch: dispatch, headerCells: headerCells, mode: "edit", emptyStatusTitle: "ui.courseUsersTable.empty.users.title", emptyStatusDescription: "ui.courseUsersTable.empty.users.description" })] }));
@@ -1,3 +1,4 @@
1
1
  import EditCourse, { EditCourseProps } from './EditCourse';
2
+ import EditCourseSkeleton from './Skeleton';
2
3
  export default EditCourse;
3
- export { EditCourseProps };
4
+ export { EditCourseProps, EditCourseSkeleton };
@@ -1,3 +1,4 @@
1
1
  import EditCourse from './EditCourse';
2
- // import EditCourseSkeleton, {EditCourseSkeletonProps} from './Skeleton';
2
+ import EditCourseSkeleton from './Skeleton';
3
3
  export default EditCourse;
4
+ export { EditCourseSkeleton };
@@ -50,7 +50,7 @@ import CustomAdv, { CustomAdvProps, CustomAdvSkeleton } from './components/Custo
50
50
  import EditEventButton, { EditEventButtonProps } from './components/EditEventButton';
51
51
  import EditGroupButton, { EditGroupButtonProps } from './components/EditGroupButton';
52
52
  import Editor, { EditorProps, EditorSkeleton } from './components/Editor';
53
- import EditCourse, { EditCourseProps } from './components/EditCourse';
53
+ import EditCourse, { EditCourseProps, EditCourseSkeleton } from './components/EditCourse';
54
54
  import Event, { EventProps, EventSkeleton, EventSkeletonProps } from './components/Event';
55
55
  import EventHeader, { EventHeaderProps, EventHeaderSkeleton } from './components/EventHeader';
56
56
  import EventInfoWidget, { EventInfoWidgetProps } from './components/EventInfoWidget';
@@ -209,4 +209,4 @@ import DefaultCoverSelfCommunity from './assets/deafultCover';
209
209
  /**
210
210
  * List all exports
211
211
  */
212
- export { AcceptRequestUserEventButton, AcceptRequestUserEventButtonProps, AccountChangeMailValidation, AccountChangeMailValidationProps, AccountDataPortability, AccountDataPortabilityButton, AccountDataPortabilityButtonProps, AccountDataPortabilityProps, AccountDelete, AccountDeleteButton, AccountDeleteButtonProps, AccountDeleteProps, AccountRecover, AccountRecoverProps, AccountReset, AccountResetProps, AccountVerify, AccountVerifyProps, AvatarGroupSkeleton, BaseDialog, BaseDialogProps, BaseItem, BaseItemProps, BaseLightbox, BaseLightboxProps, BottomNavigation, BottomNavigationProps, BroadcastMessages, BroadcastMessagesProps, BroadcastMessagesSkeleton, bytesToSize, generateRoomId, randomString, decodePassphrase, encodePassphrase, getCurrentSectionAndLessonIndex, Calendar, CalendarProps, Categories, CategoriesPopularWidget, CategoriesPopularWidgetSkeleton, CategoriesProps, CategoriesSkeleton, CategoriesSkeletonProps, CategoriesSuggestionWidget, CategoriesSuggestionWidgetProps, CategoriesSuggestionWidgetSkeleton, Category, CategoryAutocomplete, CategoryAutocompleteProps, CategoryFollowButton, CategoryFollowButtonProps, CategoryFollowersButton, CategoryFollowersButtonProps, CategoryHeader, CategoryHeaderProps, CategoryHeaderSkeleton, CategoryProps, CategorySkeleton, CategoryTrendingFeedWidget, CategoryTrendingFeedWidgetProps, CategoryTrendingFeedWidgetSkeleton, CategoryTrendingPeopleWidgetSkeleton, CategoryTrendingUsersWidget, CategoryTrendingUsersWidgetProps, CentralProgress, ChangeCover, ChangeCoverProps, ChangeGroupCover, ChangeGroupCoverProps, ChangeGroupPicture, ChangeGroupPictureProps, ChangePicture, ChangePictureProps, CommentObject, CommentObjectProps, CommentObjectReply, CommentObjectReplyProps, CommentObjectSkeleton, CommentsFeedObject, CommentsFeedObjectProps, CommentsFeedObjectSkeleton, CommentsObject, CommentsObjectProps, CommentsObjectSkeleton, Composer, ComposerIconButton, ComposerIconButtonProps, ComposerProps, ConfirmDialog, ConnectionUserButton, ConsentSolution, ConsentSolutionButton, ConsentSolutionButtonProps, ConsentSolutionProps, ConsentSolutionSkeleton, ContributionUtils, SCCourseEditTabEnum, SCCourseEditTabType, Course, CourseProps, CourseSkeleton, CourseSkeletonProps, CourseJoinButton, CourseJoinButtonProps, Courses, CreateCourseButton, CreateCourseButtonProps, CoursesProps, CoursesSkeleton, CoursesSkeletonProps, CourseContentMenu, CourseContentMenuProps, CourseDashboard, TeacherCourseDashboardProps, TeacherSkeleton, StudentCourseDashboardProps, StudentSkeleton, CreateEventButton, CreateEventButtonProps, CreateEventWidget, CreateEventWidgetProps, CreateEventWidgetSkeleton, CreateGroupButton, EventForm, EventFormProps, EventFormDialog, EventFormDialogProps, CreateGroupButtonProps, CustomAdv, CustomAdvProps, CustomAdvSkeleton, DEFAULT_FIELDS, DEFAULT_PAGINATION_LIMIT, DEFAULT_PAGINATION_OFFSET, DEFAULT_PAGINATION_QUERY_PARAM_NAME, DEFAULT_PRELOAD_OFFSET_VIEWPORT, DEFAULT_WIDGETS_NUMBER, DefaultDrawerContent, DefaultDrawerContentProps, DefaultHeaderContent, DefaultHeaderContentProps, DefaultDrawerSkeleton, DefaultDrawerSkeletonProps, EditEventButton, EditEventButtonProps, EditGroupButton, EditGroupButtonProps, EditMediaProps, Editor, EditorProps, EditorSkeleton, EmailTextField, EditCourse, EditCourseProps, Event, EventActionsMenu, EventActionsMenuProps, EventHeader, EventHeaderProps, EventHeaderSkeleton, EventInfoDetails, EventInfoDetailsProps, EventInfoWidget, EventInfoWidgetProps, EventInviteButton, EventInviteButtonProps, EventLocationWidget, EventLocationWidgetProps, EventLocationWidgetSkeleton, EventMediaWidget, EventMediaWidgetProps, EventMediaWidgetSkeleton, EventMembersWidget, EventMembersWidgetProps, EventMembersWidgetSkeleton, EventParticipantsButton, EventParticipantsButtonProps, EventProps, Events, EventSkeleton, EventSkeletonProps, EventsProps, EventsSkeleton, EventsSkeletonProps, FACEBOOK_SHARE, Feed, FeedObject, FeedObjectMediaPreview, FeedObjectMediaPreviewProps, FeedObjectProps, FeedObjectSkeleton, FeedProps, FeedRef, FeedSidebarProps, FeedSkeleton, FeedUpdatesWidget, FeedUpdatesWidgetProps, FeedUpdatesWidgetSkeleton, File, FollowUserButton, FollowUserButtonProps, Footer, FooterProps, FooterSkeleton, FriendshipButtonProps, FriendshipUserButton, GenericSkeleton, getRelativeTime, getUnseenNotification, getUnseenNotificationCounter, Group, GroupActionsMenu, GroupActionsMenuProps, GroupForm, GroupFormProps, GroupHeader, GroupHeaderProps, GroupHeaderSkeleton, GroupInfoWidget, GroupInfoWidgetProps, GroupInfoWidgetSkeleton, GroupInviteButton, GroupInviteButtonProps, GroupInvitedWidget, GroupInvitedWidgetProps, GroupInvitedWidgetSkeleton, GroupMembersButton, GroupMembersButtonProps, GroupMembersWidget, GroupMembersWidgetProps, GroupMembersWidgetSkeleton, GroupProps, GroupRequestsWidget, GroupRequestsWidgetProps, GroupRequestsWidgetSkeleton, Groups, GroupSettingsIconButton, GroupSettingsIconButtonProps, GroupSkeleton, GroupsProps, GroupsSkeleton, GroupSubscribeButton, GroupSubscribeButtonProps, AccordionLessons, AccordionLessonsProps, AccordionLessonsSkeleton, AddUsersButton, AddUsersButtonProps, CourseUsersTable, CourseUsersTableProps, CourseUsersTableSkeleton, EmptyStatus, EmptyStatusProps, HiddenPlaceholder, Incubator, IncubatorDetail, IncubatorDetailProps, IncubatorListWidget, IncubatorListWidgetProps, IncubatorProps, IncubatorSubscribeButton, IncubatorSubscribeButtonProps, IncubatorSuggestionWidget, IncubatorSuggestionWidgetProps, InfiniteScroll, ScrollContainer, InlineComposerWidget, InlineComposerWidgetProps, InlineComposerWidgetSkeleton, InviteUserEventButton, LessonAppbar, LessonAppbarProps, LessonDrawer, LessonDrawerProps, LessonEditForm, LessonEditFormProps, LessonObject, LessonObjectProps, InviteUserEventButtonProps, LanguageSwitcher, LEGAL_POLICIES, CourseCompletedDialog, CourseCompletedDialogProps, Lightbox, LightboxProps, Link, LINKEDIN_SHARE, LocationAutocomplete, LocationAutocompleteProps, LogoSelfCommunity, DefaultCoverSelfCommunity, LoyaltyProgramWidget, LoyaltyProgramWidgetProps, LoyaltyProgramWidgetSkeleton, MAX_PRELOAD_OFFSET_VIEWPORT, MEDIA_EMBED_SC_LINK_TYPE, MEDIA_EMBED_SC_SHARED_EVENT, MEDIA_EMBED_SC_SHARED_OBJECT, MEDIA_TYPE_DOCUMENT, MEDIA_TYPE_EMBED, MEDIA_TYPE_EVENT, MEDIA_TYPE_IMAGE, MEDIA_TYPE_LINK, MEDIA_TYPE_SHARE, MEDIA_TYPE_URL, MEDIA_TYPE_VIDEO, SCCourseFormStepType, MediaChunkUploader, MediaChunkUploaderProps, MessageUploaderUtils, MetadataField, MetadataFieldProps, MIN_PRELOAD_OFFSET_VIEWPORT, MyEventsWidget, MyEventsWidgetProps, MyEventsWidgetSkeleton, NavigationMenuContent, NavigationMenuDrawer, NavigationMenuDrawerProps, NavigationMenuHeader, NavigationMenuIconButton, NavigationMenuIconButtonProps, NavigationSettingsIconButton, NavigationSettingsIconButtonProps, NavigationSettingsItem, NavigationToolbar, NavigationToolbarMobile, NavigationToolbarMobileProps, NavigationToolbarMobileSkeleton, NavigationToolbarProps, NavigationToolbarSkeleton, Notification, NotificationProps, NotificationSkeleton, OnBoardingWidget, OnBoardingWidgetProps, OnBoardingWidgetSkeleton, PasswordTextField, PhoneTextField, PlatformWidget, PlatformWidgetActionType, PlatformWidgetProps, PlatformWidgetSkeleton, PollSuggestionWidget, PollSuggestionWidgetProps, PrivateMessageComponent, PrivateMessageComponentProps, PrivateMessageComponentSkeleton, PrivateMessageEditor, PrivateMessageEditorProps, PrivateMessageEditorSkeleton, PrivateMessageSettingsIconButton, PrivateMessageSettingsIconButtonProps, PrivateMessageSnippetItem, PrivateMessageSnippetItemProps, PrivateMessageSnippetItemSkeleton, PrivateMessageSnippets, PrivateMessageSnippetsProps, PrivateMessageSnippetsSkeleton, PrivateMessageThread, PrivateMessageThreadItem, PrivateMessageThreadItemProps, PrivateMessageThreadItemSkeleton, PrivateMessageThreadProps, PrivateMessageThreadSkeleton, ProgressBar, ProgressBarProps, RelatedEventsWidget, RelatedEventsWidgetProps, RelatedEventsWidgetSkeleton, RelatedFeedObjectsWidget, RelatedFeedObjectsWidgetSkeleton, RelatedFeedObjectWidgetProps, ReplyComment, SCBroadcastMessageTemplateType, SCCommentsOrderBy, SCEventMembersEventType, SCEventTemplateType, SCFeedObjectActivitiesType, SCFeedObjectTemplateType, SCFeedWidgetType, SCGroupMembersEventType, SCMediaChunkType, SCMediaObjectType, SCNotificationObjectTemplateType, SCUserProfileFields, SCUserProfileSettings, SCUserSocialAssociations, SearchAutocomplete, SearchAutocompleteProps, SearchDialog, SearchDialogProps, Share, SnippetNotifications, SnippetNotificationsProps, SnippetNotificationsSkeleton, StickyBox, StickyBoxComponent, StickyBoxProps, SuggestedEventsWidget, TagAutocomplete, TagAutocompleteProps, SuggestedEventsWidgetProps, SuggestedEventsWidgetSkeleton, TagChip, TagChipProps, ToastNotifications, ToastNotificationsProps, ToastNotificationsSkeleton, UrlTextField, User, UserActionIconButton, UserActionIconButtonProps, UserAvatar, UserAvatarProps, UserConnectionsRequestsSentWidget, UserConnectionsRequestsSentWidgetProps, UserConnectionsRequestsSentWidgetSkeleton, UserConnectionsRequestsWidget, UserConnectionsRequestsWidgetProps, UserConnectionsRequestsWidgetSkeleton, UserConnectionsWidget, UserConnectionsWidgetProps, UserConnectionsWidgetSkeleton, UserCounters, UserCountersProps, UserDeletedSnackBar, UserDeletedSnackBarProps, UserFollowedCategoriesWidget, UserFollowedCategoriesWidgetProps, UserFollowedCategoriesWidgetSkeleton, UserFollowedUsersWidget, UserFollowedUsersWidgetProps, UserFollowedUsersWidgetSkeleton, UserFollowersWidget, UserFollowersWidgetProps, UserFollowersWidgetSkeleton, UserInfo, UserInfoDialog, UserInfoDialogProps, UserInfoProps, UserInfoSkeleton, UsernameTextField, UserProfileBlocked, UserProfileBlockedProps, UserProfileEdit, UserProfileEditProps, UserProfileEditSectionAccount, UserProfileEditSectionAccountProps, UserProfileEditSectionPublicInfo, UserProfileEditSectionPublicInfoProps, UserProfileEditSectionSettings, UserProfileEditSectionSettingsProps, UserProfileEditSkeleton, UserProfileHeader, UserProfileHeaderProps, UserProfileHeaderSkeleton, UserProps, UserSkeleton, UserSocialAssociation, UserSocialAssociationProps, UserSubscribedGroupsWidget, UserSubscribedGroupsWidgetProps, UserSubscribedGroupsWidgetSkeleton, UserSuggestionWidget, UserSuggestionWidgetProps, UserSuggestionWidgetSkeleton, UserLiveStreamWidget, UserLiveStreamWidgetProps, UserLiveStreamWidgetSkeleton, useStickyBox, UseStickyBoxProps, LiveStream, LiveStreamProps, LiveStreamSkeletonProps, LiveStreamSkeleton, LiveStreamInfoDetails, LiveStreamInfoDetailsProps, UpScalingTierBadge, UpScalingTierProps, CreateLiveStreamDialog, CreateLiveStreamDialogProps, CreateLiveStreamButton, CreateLiveStreamButtonProps, LiveStreamForm, LiveStreamFormProps, LiveStreamRoom, LiveStreamRoomProps, LiveStreamVideoConference, LiveStreamVideoConferenceProps, VirtualScrollerItemProps, SCCourseTemplateType, SCLessonActionsType, SCLessonModeType, Widget, WidgetProps, X_SHARE, PROVIDER_ICONS_CONTAINED, PROVIDER_ICONS_OUTLINED };
212
+ export { AcceptRequestUserEventButton, AcceptRequestUserEventButtonProps, AccountChangeMailValidation, AccountChangeMailValidationProps, AccountDataPortability, AccountDataPortabilityButton, AccountDataPortabilityButtonProps, AccountDataPortabilityProps, AccountDelete, AccountDeleteButton, AccountDeleteButtonProps, AccountDeleteProps, AccountRecover, AccountRecoverProps, AccountReset, AccountResetProps, AccountVerify, AccountVerifyProps, AvatarGroupSkeleton, BaseDialog, BaseDialogProps, BaseItem, BaseItemProps, BaseLightbox, BaseLightboxProps, BottomNavigation, BottomNavigationProps, BroadcastMessages, BroadcastMessagesProps, BroadcastMessagesSkeleton, bytesToSize, generateRoomId, randomString, decodePassphrase, encodePassphrase, getCurrentSectionAndLessonIndex, Calendar, CalendarProps, Categories, CategoriesPopularWidget, CategoriesPopularWidgetSkeleton, CategoriesProps, CategoriesSkeleton, CategoriesSkeletonProps, CategoriesSuggestionWidget, CategoriesSuggestionWidgetProps, CategoriesSuggestionWidgetSkeleton, Category, CategoryAutocomplete, CategoryAutocompleteProps, CategoryFollowButton, CategoryFollowButtonProps, CategoryFollowersButton, CategoryFollowersButtonProps, CategoryHeader, CategoryHeaderProps, CategoryHeaderSkeleton, CategoryProps, CategorySkeleton, CategoryTrendingFeedWidget, CategoryTrendingFeedWidgetProps, CategoryTrendingFeedWidgetSkeleton, CategoryTrendingPeopleWidgetSkeleton, CategoryTrendingUsersWidget, CategoryTrendingUsersWidgetProps, CentralProgress, ChangeCover, ChangeCoverProps, ChangeGroupCover, ChangeGroupCoverProps, ChangeGroupPicture, ChangeGroupPictureProps, ChangePicture, ChangePictureProps, CommentObject, CommentObjectProps, CommentObjectReply, CommentObjectReplyProps, CommentObjectSkeleton, CommentsFeedObject, CommentsFeedObjectProps, CommentsFeedObjectSkeleton, CommentsObject, CommentsObjectProps, CommentsObjectSkeleton, Composer, ComposerIconButton, ComposerIconButtonProps, ComposerProps, ConfirmDialog, ConnectionUserButton, ConsentSolution, ConsentSolutionButton, ConsentSolutionButtonProps, ConsentSolutionProps, ConsentSolutionSkeleton, ContributionUtils, SCCourseEditTabEnum, SCCourseEditTabType, Course, CourseProps, CourseSkeleton, CourseSkeletonProps, CourseJoinButton, CourseJoinButtonProps, Courses, CreateCourseButton, CreateCourseButtonProps, CoursesProps, CoursesSkeleton, CoursesSkeletonProps, CourseContentMenu, CourseContentMenuProps, CourseDashboard, TeacherCourseDashboardProps, TeacherSkeleton, StudentCourseDashboardProps, StudentSkeleton, CreateEventButton, CreateEventButtonProps, CreateEventWidget, CreateEventWidgetProps, CreateEventWidgetSkeleton, CreateGroupButton, EventForm, EventFormProps, EventFormDialog, EventFormDialogProps, CreateGroupButtonProps, CustomAdv, CustomAdvProps, CustomAdvSkeleton, DEFAULT_FIELDS, DEFAULT_PAGINATION_LIMIT, DEFAULT_PAGINATION_OFFSET, DEFAULT_PAGINATION_QUERY_PARAM_NAME, DEFAULT_PRELOAD_OFFSET_VIEWPORT, DEFAULT_WIDGETS_NUMBER, DefaultDrawerContent, DefaultDrawerContentProps, DefaultHeaderContent, DefaultHeaderContentProps, DefaultDrawerSkeleton, DefaultDrawerSkeletonProps, EditEventButton, EditEventButtonProps, EditGroupButton, EditGroupButtonProps, EditMediaProps, Editor, EditorProps, EditorSkeleton, EmailTextField, EditCourse, EditCourseProps, EditCourseSkeleton, Event, EventActionsMenu, EventActionsMenuProps, EventHeader, EventHeaderProps, EventHeaderSkeleton, EventInfoDetails, EventInfoDetailsProps, EventInfoWidget, EventInfoWidgetProps, EventInviteButton, EventInviteButtonProps, EventLocationWidget, EventLocationWidgetProps, EventLocationWidgetSkeleton, EventMediaWidget, EventMediaWidgetProps, EventMediaWidgetSkeleton, EventMembersWidget, EventMembersWidgetProps, EventMembersWidgetSkeleton, EventParticipantsButton, EventParticipantsButtonProps, EventProps, Events, EventSkeleton, EventSkeletonProps, EventsProps, EventsSkeleton, EventsSkeletonProps, FACEBOOK_SHARE, Feed, FeedObject, FeedObjectMediaPreview, FeedObjectMediaPreviewProps, FeedObjectProps, FeedObjectSkeleton, FeedProps, FeedRef, FeedSidebarProps, FeedSkeleton, FeedUpdatesWidget, FeedUpdatesWidgetProps, FeedUpdatesWidgetSkeleton, File, FollowUserButton, FollowUserButtonProps, Footer, FooterProps, FooterSkeleton, FriendshipButtonProps, FriendshipUserButton, GenericSkeleton, getRelativeTime, getUnseenNotification, getUnseenNotificationCounter, Group, GroupActionsMenu, GroupActionsMenuProps, GroupForm, GroupFormProps, GroupHeader, GroupHeaderProps, GroupHeaderSkeleton, GroupInfoWidget, GroupInfoWidgetProps, GroupInfoWidgetSkeleton, GroupInviteButton, GroupInviteButtonProps, GroupInvitedWidget, GroupInvitedWidgetProps, GroupInvitedWidgetSkeleton, GroupMembersButton, GroupMembersButtonProps, GroupMembersWidget, GroupMembersWidgetProps, GroupMembersWidgetSkeleton, GroupProps, GroupRequestsWidget, GroupRequestsWidgetProps, GroupRequestsWidgetSkeleton, Groups, GroupSettingsIconButton, GroupSettingsIconButtonProps, GroupSkeleton, GroupsProps, GroupsSkeleton, GroupSubscribeButton, GroupSubscribeButtonProps, AccordionLessons, AccordionLessonsProps, AccordionLessonsSkeleton, AddUsersButton, AddUsersButtonProps, CourseUsersTable, CourseUsersTableProps, CourseUsersTableSkeleton, EmptyStatus, EmptyStatusProps, HiddenPlaceholder, Incubator, IncubatorDetail, IncubatorDetailProps, IncubatorListWidget, IncubatorListWidgetProps, IncubatorProps, IncubatorSubscribeButton, IncubatorSubscribeButtonProps, IncubatorSuggestionWidget, IncubatorSuggestionWidgetProps, InfiniteScroll, ScrollContainer, InlineComposerWidget, InlineComposerWidgetProps, InlineComposerWidgetSkeleton, InviteUserEventButton, LessonAppbar, LessonAppbarProps, LessonDrawer, LessonDrawerProps, LessonEditForm, LessonEditFormProps, LessonObject, LessonObjectProps, InviteUserEventButtonProps, LanguageSwitcher, LEGAL_POLICIES, CourseCompletedDialog, CourseCompletedDialogProps, Lightbox, LightboxProps, Link, LINKEDIN_SHARE, LocationAutocomplete, LocationAutocompleteProps, LogoSelfCommunity, DefaultCoverSelfCommunity, LoyaltyProgramWidget, LoyaltyProgramWidgetProps, LoyaltyProgramWidgetSkeleton, MAX_PRELOAD_OFFSET_VIEWPORT, MEDIA_EMBED_SC_LINK_TYPE, MEDIA_EMBED_SC_SHARED_EVENT, MEDIA_EMBED_SC_SHARED_OBJECT, MEDIA_TYPE_DOCUMENT, MEDIA_TYPE_EMBED, MEDIA_TYPE_EVENT, MEDIA_TYPE_IMAGE, MEDIA_TYPE_LINK, MEDIA_TYPE_SHARE, MEDIA_TYPE_URL, MEDIA_TYPE_VIDEO, SCCourseFormStepType, MediaChunkUploader, MediaChunkUploaderProps, MessageUploaderUtils, MetadataField, MetadataFieldProps, MIN_PRELOAD_OFFSET_VIEWPORT, MyEventsWidget, MyEventsWidgetProps, MyEventsWidgetSkeleton, NavigationMenuContent, NavigationMenuDrawer, NavigationMenuDrawerProps, NavigationMenuHeader, NavigationMenuIconButton, NavigationMenuIconButtonProps, NavigationSettingsIconButton, NavigationSettingsIconButtonProps, NavigationSettingsItem, NavigationToolbar, NavigationToolbarMobile, NavigationToolbarMobileProps, NavigationToolbarMobileSkeleton, NavigationToolbarProps, NavigationToolbarSkeleton, Notification, NotificationProps, NotificationSkeleton, OnBoardingWidget, OnBoardingWidgetProps, OnBoardingWidgetSkeleton, PasswordTextField, PhoneTextField, PlatformWidget, PlatformWidgetActionType, PlatformWidgetProps, PlatformWidgetSkeleton, PollSuggestionWidget, PollSuggestionWidgetProps, PrivateMessageComponent, PrivateMessageComponentProps, PrivateMessageComponentSkeleton, PrivateMessageEditor, PrivateMessageEditorProps, PrivateMessageEditorSkeleton, PrivateMessageSettingsIconButton, PrivateMessageSettingsIconButtonProps, PrivateMessageSnippetItem, PrivateMessageSnippetItemProps, PrivateMessageSnippetItemSkeleton, PrivateMessageSnippets, PrivateMessageSnippetsProps, PrivateMessageSnippetsSkeleton, PrivateMessageThread, PrivateMessageThreadItem, PrivateMessageThreadItemProps, PrivateMessageThreadItemSkeleton, PrivateMessageThreadProps, PrivateMessageThreadSkeleton, ProgressBar, ProgressBarProps, RelatedEventsWidget, RelatedEventsWidgetProps, RelatedEventsWidgetSkeleton, RelatedFeedObjectsWidget, RelatedFeedObjectsWidgetSkeleton, RelatedFeedObjectWidgetProps, ReplyComment, SCBroadcastMessageTemplateType, SCCommentsOrderBy, SCEventMembersEventType, SCEventTemplateType, SCFeedObjectActivitiesType, SCFeedObjectTemplateType, SCFeedWidgetType, SCGroupMembersEventType, SCMediaChunkType, SCMediaObjectType, SCNotificationObjectTemplateType, SCUserProfileFields, SCUserProfileSettings, SCUserSocialAssociations, SearchAutocomplete, SearchAutocompleteProps, SearchDialog, SearchDialogProps, Share, SnippetNotifications, SnippetNotificationsProps, SnippetNotificationsSkeleton, StickyBox, StickyBoxComponent, StickyBoxProps, SuggestedEventsWidget, TagAutocomplete, TagAutocompleteProps, SuggestedEventsWidgetProps, SuggestedEventsWidgetSkeleton, TagChip, TagChipProps, ToastNotifications, ToastNotificationsProps, ToastNotificationsSkeleton, UrlTextField, User, UserActionIconButton, UserActionIconButtonProps, UserAvatar, UserAvatarProps, UserConnectionsRequestsSentWidget, UserConnectionsRequestsSentWidgetProps, UserConnectionsRequestsSentWidgetSkeleton, UserConnectionsRequestsWidget, UserConnectionsRequestsWidgetProps, UserConnectionsRequestsWidgetSkeleton, UserConnectionsWidget, UserConnectionsWidgetProps, UserConnectionsWidgetSkeleton, UserCounters, UserCountersProps, UserDeletedSnackBar, UserDeletedSnackBarProps, UserFollowedCategoriesWidget, UserFollowedCategoriesWidgetProps, UserFollowedCategoriesWidgetSkeleton, UserFollowedUsersWidget, UserFollowedUsersWidgetProps, UserFollowedUsersWidgetSkeleton, UserFollowersWidget, UserFollowersWidgetProps, UserFollowersWidgetSkeleton, UserInfo, UserInfoDialog, UserInfoDialogProps, UserInfoProps, UserInfoSkeleton, UsernameTextField, UserProfileBlocked, UserProfileBlockedProps, UserProfileEdit, UserProfileEditProps, UserProfileEditSectionAccount, UserProfileEditSectionAccountProps, UserProfileEditSectionPublicInfo, UserProfileEditSectionPublicInfoProps, UserProfileEditSectionSettings, UserProfileEditSectionSettingsProps, UserProfileEditSkeleton, UserProfileHeader, UserProfileHeaderProps, UserProfileHeaderSkeleton, UserProps, UserSkeleton, UserSocialAssociation, UserSocialAssociationProps, UserSubscribedGroupsWidget, UserSubscribedGroupsWidgetProps, UserSubscribedGroupsWidgetSkeleton, UserSuggestionWidget, UserSuggestionWidgetProps, UserSuggestionWidgetSkeleton, UserLiveStreamWidget, UserLiveStreamWidgetProps, UserLiveStreamWidgetSkeleton, useStickyBox, UseStickyBoxProps, LiveStream, LiveStreamProps, LiveStreamSkeletonProps, LiveStreamSkeleton, LiveStreamInfoDetails, LiveStreamInfoDetailsProps, UpScalingTierBadge, UpScalingTierProps, CreateLiveStreamDialog, CreateLiveStreamDialogProps, CreateLiveStreamButton, CreateLiveStreamButtonProps, LiveStreamForm, LiveStreamFormProps, LiveStreamRoom, LiveStreamRoomProps, LiveStreamVideoConference, LiveStreamVideoConferenceProps, VirtualScrollerItemProps, SCCourseTemplateType, SCLessonActionsType, SCLessonModeType, Widget, WidgetProps, X_SHARE, PROVIDER_ICONS_CONTAINED, PROVIDER_ICONS_OUTLINED };
package/lib/esm/index.js CHANGED
@@ -50,7 +50,7 @@ import CustomAdv, { CustomAdvSkeleton } from './components/CustomAdv';
50
50
  import EditEventButton from './components/EditEventButton';
51
51
  import EditGroupButton from './components/EditGroupButton';
52
52
  import Editor, { EditorSkeleton } from './components/Editor';
53
- import EditCourse from './components/EditCourse';
53
+ import EditCourse, { EditCourseSkeleton } from './components/EditCourse';
54
54
  import Event, { EventSkeleton } from './components/Event';
55
55
  import EventHeader, { EventHeaderSkeleton } from './components/EventHeader';
56
56
  import EventInfoWidget from './components/EventInfoWidget';
@@ -212,7 +212,7 @@ export { AcceptRequestUserEventButton, AccountChangeMailValidation, AccountDataP
212
212
  /* SC CONSENT SOLUTION */
213
213
  ConsentSolution, ConsentSolutionButton, ConsentSolutionSkeleton, ContributionUtils, SCCourseEditTabEnum, Course, CourseSkeleton, CourseJoinButton, Courses, CreateCourseButton, CoursesSkeleton, CourseContentMenu, CourseDashboard, TeacherSkeleton, StudentSkeleton, CreateEventButton, CreateEventWidget, CreateEventWidgetSkeleton, CreateGroupButton, EventForm, EventFormDialog, CustomAdv, CustomAdvSkeleton, DEFAULT_FIELDS, DEFAULT_PAGINATION_LIMIT, DEFAULT_PAGINATION_OFFSET,
214
214
  /* SC UI PAGINATION */
215
- DEFAULT_PAGINATION_QUERY_PARAM_NAME, DEFAULT_PRELOAD_OFFSET_VIEWPORT, DEFAULT_WIDGETS_NUMBER, DefaultDrawerContent, DefaultHeaderContent, DefaultDrawerSkeleton, EditEventButton, EditGroupButton, Editor, EditorSkeleton, EmailTextField, EditCourse, Event, EventActionsMenu, EventHeader, EventHeaderSkeleton, EventInfoDetails, EventInfoWidget, EventInviteButton, EventLocationWidget, EventLocationWidgetSkeleton, EventMediaWidget, EventMediaWidgetSkeleton, EventMembersWidget, EventMembersWidgetSkeleton, EventParticipantsButton, Events, EventSkeleton, EventsSkeleton, FACEBOOK_SHARE, Feed, FeedObject, FeedObjectMediaPreview, FeedObjectSkeleton, FeedSkeleton, FeedUpdatesWidget, FeedUpdatesWidgetSkeleton, File, FollowUserButton, Footer, FooterSkeleton, FriendshipUserButton, GenericSkeleton, getRelativeTime, getUnseenNotification, getUnseenNotificationCounter, Group, GroupActionsMenu, GroupForm, GroupHeader, GroupHeaderSkeleton, GroupInfoWidget, GroupInfoWidgetSkeleton, GroupInviteButton, GroupInvitedWidget, GroupInvitedWidgetSkeleton, GroupMembersButton, GroupMembersWidget, GroupMembersWidgetSkeleton, GroupRequestsWidget, GroupRequestsWidgetSkeleton, Groups, GroupSettingsIconButton, GroupSkeleton, GroupsSkeleton, GroupSubscribeButton,
215
+ DEFAULT_PAGINATION_QUERY_PARAM_NAME, DEFAULT_PRELOAD_OFFSET_VIEWPORT, DEFAULT_WIDGETS_NUMBER, DefaultDrawerContent, DefaultHeaderContent, DefaultDrawerSkeleton, EditEventButton, EditGroupButton, Editor, EditorSkeleton, EmailTextField, EditCourse, EditCourseSkeleton, Event, EventActionsMenu, EventHeader, EventHeaderSkeleton, EventInfoDetails, EventInfoWidget, EventInviteButton, EventLocationWidget, EventLocationWidgetSkeleton, EventMediaWidget, EventMediaWidgetSkeleton, EventMembersWidget, EventMembersWidgetSkeleton, EventParticipantsButton, Events, EventSkeleton, EventsSkeleton, FACEBOOK_SHARE, Feed, FeedObject, FeedObjectMediaPreview, FeedObjectSkeleton, FeedSkeleton, FeedUpdatesWidget, FeedUpdatesWidgetSkeleton, File, FollowUserButton, Footer, FooterSkeleton, FriendshipUserButton, GenericSkeleton, getRelativeTime, getUnseenNotification, getUnseenNotificationCounter, Group, GroupActionsMenu, GroupForm, GroupHeader, GroupHeaderSkeleton, GroupInfoWidget, GroupInfoWidgetSkeleton, GroupInviteButton, GroupInvitedWidget, GroupInvitedWidgetSkeleton, GroupMembersButton, GroupMembersWidget, GroupMembersWidgetSkeleton, GroupRequestsWidget, GroupRequestsWidgetSkeleton, Groups, GroupSettingsIconButton, GroupSkeleton, GroupsSkeleton, GroupSubscribeButton,
216
216
  /* SC UI SHARED */
217
217
  AccordionLessons, AccordionLessonsSkeleton, AddUsersButton, CourseUsersTable, CourseUsersTableSkeleton, EmptyStatus, HiddenPlaceholder, Incubator, IncubatorDetail, IncubatorListWidget, IncubatorSubscribeButton, IncubatorSuggestionWidget, InfiniteScroll, ScrollContainer, InlineComposerWidget, InlineComposerWidgetSkeleton, InviteUserEventButton, LessonAppbar, LessonDrawer, LessonEditForm, LessonObject, LanguageSwitcher, LEGAL_POLICIES, CourseCompletedDialog, Lightbox, Link, LINKEDIN_SHARE, LocationAutocomplete,
218
218
  /* Assets */
@@ -1,9 +1,8 @@
1
1
  /// <reference types="react" />
2
2
  import { ButtonProps } from '@mui/material';
3
- import { SCCourseType, SCUserType } from '@selfcommunity/types';
3
+ import { SCUserType } from '@selfcommunity/types';
4
4
  import { EndpointType } from '@selfcommunity/api-services';
5
5
  export interface AddUsersButtonProps extends ButtonProps {
6
- course: SCCourseType | null;
7
6
  label: string;
8
7
  /**
9
8
  * Handles component update
@@ -40,7 +40,7 @@ function AddUsersButton(inProps) {
40
40
  props: inProps,
41
41
  name: PREFIX
42
42
  });
43
- const { course, label, variant = 'outlined', color = 'inherit', size = 'small', isUpdating = false, endpoint = Endpoints.GetCourseSuggestedUsers, endpointQueryParams = { limit: DEFAULT_PAGINATION_LIMIT, offset: DEFAULT_PAGINATION_OFFSET, search: '' }, onConfirm } = props, rest = __rest(props, ["course", "label", "variant", "color", "size", "isUpdating", "endpoint", "endpointQueryParams", "onConfirm"]);
43
+ const { label, variant = 'outlined', color = 'inherit', size = 'small', isUpdating = false, endpoint = Endpoints.GetCourseSuggestedUsers, endpointQueryParams = { limit: DEFAULT_PAGINATION_LIMIT, offset: DEFAULT_PAGINATION_OFFSET, search: '' }, onConfirm } = props, rest = __rest(props, ["label", "variant", "color", "size", "isUpdating", "endpoint", "endpointQueryParams", "onConfirm"]);
44
44
  // STATES
45
45
  const [openDialog, setOpenDialog] = useState(false);
46
46
  const [invited, setInvited] = useState([]);
@@ -70,7 +70,7 @@ function AddUsersButton(inProps) {
70
70
  autoHideDuration: 3000
71
71
  });
72
72
  });
73
- }, [setLoading, course, endpoint, endpointQueryParams, setSuggested]);
73
+ }, [setLoading, endpoint, endpointQueryParams, setSuggested]);
74
74
  // EFFECTS
75
75
  useEffect(() => {
76
76
  if (openDialog) {