@campxdev/shared 1.11.28 → 1.11.29

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 (28) hide show
  1. package/package.json +1 -1
  2. package/src/components/ActivityLog/ActivityLog.tsx +145 -0
  3. package/src/components/ActivityLog/Styles.tsx +28 -0
  4. package/src/components/HookForm/SingleSelect.tsx +2 -2
  5. package/src/components/Input/SingleSelect.tsx +7 -7
  6. package/src/components/Institutions/InsititutionsDialog.tsx +1 -1
  7. package/src/components/Selectors/ClassRoomSelector.tsx +2 -2
  8. package/src/components/Selectors/CourseSelector.tsx +2 -2
  9. package/src/components/Selectors/DepartmentSelector.tsx +2 -2
  10. package/src/components/Selectors/ExamGroupSelector.tsx +2 -2
  11. package/src/components/Selectors/FacultySelector.tsx +2 -2
  12. package/src/components/Selectors/FeeTypeSelector.tsx +2 -2
  13. package/src/components/Selectors/FormSelectors/FormClassRoomSelector.tsx +2 -2
  14. package/src/components/Selectors/FormSelectors/FormCourseSelector.tsx +2 -2
  15. package/src/components/Selectors/FormSelectors/FormDepartmentSelector.tsx +2 -2
  16. package/src/components/Selectors/FormSelectors/FormExamGroupSelector.tsx +2 -2
  17. package/src/components/Selectors/FormSelectors/FormFacultySelector.tsx +2 -2
  18. package/src/components/Selectors/FormSelectors/FormFeeTypeSelector.tsx +2 -2
  19. package/src/components/Selectors/FormSelectors/FormProgramSelector.tsx +2 -2
  20. package/src/components/Selectors/FormSelectors/FormQuotaSelector.tsx +2 -2
  21. package/src/components/Selectors/FormSelectors/FormSemesterSelector.tsx +2 -2
  22. package/src/components/Selectors/FormSelectors/MultiSelect/MultiFacultySelector.tsx +2 -2
  23. package/src/components/Selectors/FormSelectors/MultiSelect/MultiFeeTypeSelector.tsx +2 -2
  24. package/src/components/Selectors/FormSelectors/MultiSelect/MultiProgramSelector.tsx +2 -2
  25. package/src/components/Selectors/FormSelectors/MultiSelect/MultiQuotaSelector.tsx +2 -2
  26. package/src/components/Selectors/ProgramSelector.tsx +3 -3
  27. package/src/components/Selectors/QuotaSelector.tsx +2 -2
  28. package/src/components/Selectors/SemesterSelector.tsx +2 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@campxdev/shared",
3
- "version": "1.11.28",
3
+ "version": "1.11.29",
4
4
  "main": "./exports.ts",
5
5
  "scripts": {
6
6
  "start": "react-scripts start",
@@ -0,0 +1,145 @@
1
+ import {
2
+ Timeline,
3
+ TimelineConnector,
4
+ TimelineContent,
5
+ TimelineItem,
6
+ TimelineSeparator,
7
+ } from '@mui/lab'
8
+ import { Box, SxProps, Typography } from '@mui/material'
9
+ import { useQuery } from 'react-query'
10
+ import axios from '../../config/axios'
11
+ import { useErrorModal } from '../ErrorModalWrapper/ErrorModalWrapper'
12
+ import { PageContent } from '../PageContent'
13
+ import PageHeader from '../PageHeader'
14
+ import Spinner from '../Spinner'
15
+ import Table from '../Tables/BasicTable/Table'
16
+ import { StyledAvatar, StyledCircleIcon, StyledTimeLineDot } from './Styles'
17
+
18
+ export const getData = async (url: string) => {
19
+ return await axios.get(url).then((res) => res.data)
20
+ }
21
+
22
+ export interface Activity {
23
+ id: number
24
+ date: string
25
+ time: string
26
+ message: string
27
+ userName: string
28
+ }
29
+
30
+ const ActivityLog = ({
31
+ activities,
32
+ endPoint,
33
+ tableView,
34
+ title,
35
+ sx,
36
+ }: {
37
+ activities: Activity[]
38
+ sx?: SxProps
39
+ endPoint?: string
40
+ title?: string
41
+ tableView: boolean
42
+ }) => {
43
+ const errorModal = useErrorModal()
44
+ const { data, isLoading } = useQuery('activity', () => getData(endPoint), {
45
+ onError: (error) => {
46
+ // eslint-disable-next-line no-console
47
+ console.log(error)
48
+ errorModal({ error: error })
49
+ },
50
+ })
51
+
52
+ if (isLoading) {
53
+ return <Spinner />
54
+ }
55
+
56
+ return (
57
+ <>
58
+ <PageHeader title={title ?? 'Activity Log'} />
59
+ <PageContent>
60
+ {!tableView ? (
61
+ <Box
62
+ sx={{
63
+ padding: '20px',
64
+ maxWidth: '550px',
65
+ ...sx,
66
+ }}
67
+ >
68
+ <Timeline>
69
+ {activities.map((item, index) => (
70
+ <TimelineItem
71
+ key={index}
72
+ sx={{
73
+ margin: 0,
74
+ padding: 0,
75
+ '&:before': { flex: 'none' },
76
+ }}
77
+ >
78
+ <TimelineSeparator>
79
+ <StyledTimeLineDot>
80
+ <StyledCircleIcon />
81
+ </StyledTimeLineDot>
82
+ {index < activities.length - 1 && (
83
+ <TimelineConnector
84
+ sx={{ bgcolor: '#12121233', width: '1px' }}
85
+ />
86
+ )}
87
+ </TimelineSeparator>
88
+ <TimelineContent sx={{ padding: '6px 16px' }}>
89
+ <Box>
90
+ <Typography variant="subtitle2" sx={{ fontSize: '14px' }}>
91
+ {item.date} - {item.time}
92
+ </Typography>
93
+ <Typography sx={{ fontSize: '16px' }} variant="body1">
94
+ {item.message}
95
+ </Typography>
96
+ <Typography
97
+ style={{
98
+ display: 'flex',
99
+ alignItems: 'center',
100
+ marginTop: '5px',
101
+ }}
102
+ >
103
+ <StyledAvatar />
104
+ <Typography sx={{ fontSize: '13px', fontWeight: 900 }}>
105
+ {item.userName}
106
+ </Typography>
107
+ </Typography>
108
+ </Box>
109
+ </TimelineContent>
110
+ </TimelineItem>
111
+ ))}
112
+ </Timeline>
113
+ </Box>
114
+ ) : (
115
+ <Table columns={columns} dataSource={activities ?? []} />
116
+ )}
117
+ </PageContent>
118
+ </>
119
+ )
120
+ }
121
+
122
+ export default ActivityLog
123
+
124
+ const columns = [
125
+ {
126
+ title: 'Date',
127
+ dataIndex: 'date',
128
+ key: 'date',
129
+ },
130
+ {
131
+ title: 'Time',
132
+ dataIndex: 'time',
133
+ key: 'time',
134
+ },
135
+ {
136
+ title: 'Message',
137
+ dataIndex: 'message',
138
+ key: 'message',
139
+ },
140
+ {
141
+ title: 'User',
142
+ dataIndex: 'userName',
143
+ key: 'userName',
144
+ },
145
+ ]
@@ -0,0 +1,28 @@
1
+ import CircleRoundedIcon from '@mui/icons-material/CircleRounded'
2
+ import { TimelineDot } from '@mui/lab'
3
+ import { Avatar, styled } from '@mui/material'
4
+
5
+ export const StyledTimeLineDot = styled(TimelineDot)({
6
+ width: '20px',
7
+ height: '20px',
8
+ boxShadow: 'none',
9
+ backgroundColor: '#F5F5F5',
10
+ border: '1px solid #12121233',
11
+ borderRadius: '50%',
12
+ margin: '5.5px 0',
13
+ })
14
+
15
+ export const StyledCircleIcon = styled(CircleRoundedIcon)({
16
+ position: 'relative',
17
+ left: '1px',
18
+ top: '1px',
19
+ color: 'black',
20
+ width: '7px',
21
+ height: '7px',
22
+ })
23
+
24
+ export const StyledAvatar = styled(Avatar)({
25
+ width: 30,
26
+ height: 30,
27
+ marginRight: '8px',
28
+ })
@@ -1,4 +1,4 @@
1
- import { SelectProps } from '@mui/material'
1
+ import { BaseSelectProps } from '@mui/material'
2
2
  import { ReactNode } from 'react'
3
3
  import { Controller } from 'react-hook-form'
4
4
  import { SingleSelect } from '../Input'
@@ -9,7 +9,7 @@ type Props = {
9
9
  options: Array<{ label: ReactNode; value: any }>
10
10
  firstItemEmpty?: boolean
11
11
  onOpen?: (e: any) => void
12
- } & SelectProps
12
+ } & BaseSelectProps
13
13
 
14
14
  export default function FormSingleSelect(props: Props) {
15
15
  const {
@@ -1,13 +1,13 @@
1
- import { ArrowDownward, KeyboardArrowDown } from '@mui/icons-material'
1
+ import { KeyboardArrowDown } from '@mui/icons-material'
2
2
  import {
3
+ BaseSelectProps,
4
+ Box,
5
+ BoxProps,
3
6
  FormControl,
7
+ FormHelperText,
4
8
  MenuItem,
5
- SelectProps,
6
- styled,
7
9
  Select,
8
- FormHelperText,
9
- Box,
10
- BoxProps,
10
+ styled,
11
11
  } from '@mui/material'
12
12
  import { ReactNode } from 'react'
13
13
  import FormLabel from './FormLabel'
@@ -55,7 +55,7 @@ type Props = {
55
55
  helperText?: string
56
56
  containerProps?: BoxProps
57
57
  onOpen?: (e: any) => void
58
- } & SelectProps
58
+ } & BaseSelectProps
59
59
 
60
60
  export default function SingleSelect({
61
61
  name = 'select',
@@ -46,7 +46,7 @@ const InstitutionCard = ({ institution }) => {
46
46
  alt="logo"
47
47
  height={'100px'}
48
48
  width="100%"
49
- src={institution?.images?.url}
49
+ src={institution?.imageSquare?.url}
50
50
  />
51
51
  <Typography variant="body2">{institution?.name}</Typography>
52
52
  </StyledInstitutionCard>
@@ -1,4 +1,4 @@
1
- import { SelectProps } from '@mui/material'
1
+ import { BaseSelectProps } from '@mui/material'
2
2
  import { useEffect, useState } from 'react'
3
3
  import axios from '../../config/axios'
4
4
  import { SingleSelect } from '../Input'
@@ -13,7 +13,7 @@ type ClassRoomSelectorProps = {
13
13
  error?: boolean
14
14
  helperText?: string
15
15
  api?: string
16
- } & SelectProps
16
+ } & BaseSelectProps
17
17
  const ClassRoomSelector = (props: ClassRoomSelectorProps) => {
18
18
  const {
19
19
  name,
@@ -1,4 +1,4 @@
1
- import { SelectProps } from '@mui/material'
1
+ import { BaseSelectProps } from '@mui/material'
2
2
  import { useEffect, useState } from 'react'
3
3
  import axios from '../../config/axios'
4
4
  import { SingleSelect } from '../Input'
@@ -13,7 +13,7 @@ type CourseSelectorProps = {
13
13
  helperText?: string
14
14
  api?: string
15
15
  valueByUniqueId?: boolean
16
- } & SelectProps
16
+ } & BaseSelectProps
17
17
  export default function CourseSelector(props: CourseSelectorProps) {
18
18
  const {
19
19
  name,
@@ -1,4 +1,4 @@
1
- import { SelectProps } from '@mui/material'
1
+ import { BaseSelectProps } from '@mui/material'
2
2
  import { useEffect, useState } from 'react'
3
3
  import axios from '../../config/axios'
4
4
  import { SingleSelect } from '../Input'
@@ -12,7 +12,7 @@ type DepartmentSelectorProps = {
12
12
  error?: boolean
13
13
  helperText?: string
14
14
  api?: string
15
- } & SelectProps
15
+ } & BaseSelectProps
16
16
  export default function DepartmentSelector(props: DepartmentSelectorProps) {
17
17
  const {
18
18
  name,
@@ -1,4 +1,4 @@
1
- import { SelectProps } from '@mui/material'
1
+ import { BaseSelectProps } from '@mui/material'
2
2
  import { useEffect, useState } from 'react'
3
3
  import axios from '../../config/axios'
4
4
  import { SingleSelect } from '../Input'
@@ -12,7 +12,7 @@ type ExamGroupSelectorProps = {
12
12
  allowAll?: boolean
13
13
  error?: boolean
14
14
  helperText?: string
15
- } & SelectProps
15
+ } & BaseSelectProps
16
16
  const ExamGroupSelector = (props: ExamGroupSelectorProps) => {
17
17
  const {
18
18
  name,
@@ -1,4 +1,4 @@
1
- import { SelectProps } from '@mui/material'
1
+ import { BaseSelectProps } from '@mui/material'
2
2
  import { useEffect, useState } from 'react'
3
3
  import axios from '../../config/axios'
4
4
  import { SingleSelect } from '../Input'
@@ -18,7 +18,7 @@ type FacultySelectorProps = {
18
18
  error?: boolean
19
19
  helperText?: string
20
20
  api?: string
21
- } & SelectProps
21
+ } & BaseSelectProps
22
22
  const FacultySelector = (props: FacultySelectorProps) => {
23
23
  const {
24
24
  name,
@@ -1,4 +1,4 @@
1
- import { SelectProps } from '@mui/material'
1
+ import { BaseSelectProps } from '@mui/material'
2
2
  import { useEffect, useState } from 'react'
3
3
  import axios from '../../config/axios'
4
4
  import { SingleSelect } from '../Input'
@@ -11,7 +11,7 @@ type FeeTypeSelectorProps = {
11
11
  onChange?: (value: any) => void
12
12
  error?: boolean
13
13
  helperText?: string
14
- } & SelectProps
14
+ } & BaseSelectProps
15
15
  export default function FeeTypeSelector(props: FeeTypeSelectorProps) {
16
16
  const { name, required = false, label, onChange, allowAll = true } = props
17
17
  const [options, setOptions] = useState([])
@@ -1,4 +1,4 @@
1
- import { SelectProps } from '@mui/material'
1
+ import { BaseSelectProps } from '@mui/material'
2
2
  import { Controller } from 'react-hook-form'
3
3
  import ClassRoomSelector from '../ClassRoomSelector'
4
4
 
@@ -12,7 +12,7 @@ type ClassRoomSelectorProps = {
12
12
  filters?: { programId: number; courseId: number; batch: string }
13
13
  onChange?: (value: any) => void
14
14
  api?: string
15
- } & SelectProps
15
+ } & BaseSelectProps
16
16
  export default function FormClassRoomSelector(props: ClassRoomSelectorProps) {
17
17
  const {
18
18
  name,
@@ -1,4 +1,4 @@
1
- import { SelectProps } from '@mui/material'
1
+ import { BaseSelectProps } from '@mui/material'
2
2
  import { Controller } from 'react-hook-form'
3
3
  import CourseSelector from '../CourseSelector'
4
4
 
@@ -12,7 +12,7 @@ type FormCourseSelectorProps = {
12
12
  onChange?: (value: any) => void
13
13
  api?: string
14
14
  valueByUniqueId?: boolean
15
- } & SelectProps
15
+ } & BaseSelectProps
16
16
  export default function FormCourseSelector(props: FormCourseSelectorProps) {
17
17
  const {
18
18
  name,
@@ -1,4 +1,4 @@
1
- import { SelectProps } from '@mui/material'
1
+ import { BaseSelectProps } from '@mui/material'
2
2
  import { Controller } from 'react-hook-form'
3
3
  import DepartmentSelector from '../DepartmentSelector'
4
4
 
@@ -11,7 +11,7 @@ type FormDepartmentSelectorProps = {
11
11
  allowAll?: boolean
12
12
  onChange?: (value: any) => void
13
13
  api?: string
14
- } & SelectProps
14
+ } & BaseSelectProps
15
15
  export default function FormDepartmentSelector(
16
16
  props: FormDepartmentSelectorProps,
17
17
  ) {
@@ -1,4 +1,4 @@
1
- import { SelectProps } from '@mui/material'
1
+ import { BaseSelectProps } from '@mui/material'
2
2
  import { Controller } from 'react-hook-form'
3
3
  import ExamGroupSelector from '../ExamGroupSelector'
4
4
 
@@ -11,7 +11,7 @@ type ExamGroupSelectorProps = {
11
11
  allowAll?: boolean
12
12
  filters?: { courseId: number; examType: string }
13
13
  onChange?: (value: any) => void
14
- } & SelectProps
14
+ } & BaseSelectProps
15
15
  export default function FormExamGroupSelector(props: ExamGroupSelectorProps) {
16
16
  const {
17
17
  name,
@@ -1,4 +1,4 @@
1
- import { SelectProps } from '@mui/material'
1
+ import { BaseSelectProps } from '@mui/material'
2
2
  import { Controller } from 'react-hook-form'
3
3
  import FacultySelector from '../FacultySelector'
4
4
 
@@ -17,7 +17,7 @@ type FacultySelectorProps = {
17
17
  }
18
18
  onChange?: (value: any) => void
19
19
  api?: string
20
- } & SelectProps
20
+ } & BaseSelectProps
21
21
  export default function FormFacultySelector(props: FacultySelectorProps) {
22
22
  const {
23
23
  name,
@@ -1,4 +1,4 @@
1
- import { SelectProps } from '@mui/material'
1
+ import { BaseSelectProps } from '@mui/material'
2
2
  import { Controller } from 'react-hook-form'
3
3
  import FeeTypeSelector from '../FeeTypeSelector'
4
4
 
@@ -11,7 +11,7 @@ type FormFeeTypeSelectorProps = {
11
11
  allowAll?: boolean
12
12
  onChange?: (value: any) => void
13
13
  api?: string
14
- } & SelectProps
14
+ } & BaseSelectProps
15
15
  export default function FormFeeTypeSelector(props: FormFeeTypeSelectorProps) {
16
16
  const {
17
17
  name,
@@ -1,4 +1,4 @@
1
- import { SelectProps } from '@mui/material'
1
+ import { BaseSelectProps } from '@mui/material'
2
2
  import { Controller } from 'react-hook-form'
3
3
  import ProgramSelector from '../ProgramSelector'
4
4
 
@@ -13,7 +13,7 @@ type ProgramSelectorProps = {
13
13
  onChange?: (value: any) => void
14
14
  api?: string
15
15
  valueByBranchCode?: boolean
16
- } & SelectProps
16
+ } & BaseSelectProps
17
17
  export default function FormProgramSelector(props: ProgramSelectorProps) {
18
18
  const {
19
19
  name,
@@ -1,4 +1,4 @@
1
- import { SelectProps } from '@mui/material'
1
+ import { BaseSelectProps } from '@mui/material'
2
2
  import { Controller } from 'react-hook-form'
3
3
  import QuotaSelector from '../QuotaSelector'
4
4
 
@@ -12,7 +12,7 @@ type FormQuotaSelectorProps = {
12
12
  onChange?: (value: any) => void
13
13
  filters?: { courseId: number }
14
14
  api?: string
15
- } & SelectProps
15
+ } & BaseSelectProps
16
16
  export default function FormQuotaSelector(props: FormQuotaSelectorProps) {
17
17
  const {
18
18
  name,
@@ -1,4 +1,4 @@
1
- import { SelectProps } from '@mui/material'
1
+ import { BaseSelectProps } from '@mui/material'
2
2
  import { Controller } from 'react-hook-form'
3
3
  import SemesterSelector from '../SemesterSelector'
4
4
 
@@ -12,7 +12,7 @@ type SemesterSelectorProps = {
12
12
  filters?: { courseId: number }
13
13
  onChange?: (value: any) => void
14
14
  api?: string
15
- } & SelectProps
15
+ } & BaseSelectProps
16
16
  export default function FormSemseterSelector(props: SemesterSelectorProps) {
17
17
  const {
18
18
  name,
@@ -1,4 +1,4 @@
1
- import { SelectProps } from '@mui/material'
1
+ import { BaseSelectProps } from '@mui/material'
2
2
  import { useEffect, useState } from 'react'
3
3
  import { Controller } from 'react-hook-form'
4
4
  import axios from '../../../../config/axios'
@@ -20,7 +20,7 @@ type MultiFacultySelectorProps = {
20
20
  error?: boolean
21
21
  helperText?: string
22
22
  api?: string
23
- } & SelectProps
23
+ } & BaseSelectProps
24
24
  const MultiFacultySelector = (props: MultiFacultySelectorProps) => {
25
25
  const {
26
26
  control,
@@ -1,4 +1,4 @@
1
- import { SelectProps } from '@mui/material'
1
+ import { BaseSelectProps } from '@mui/material'
2
2
  import { useEffect, useState } from 'react'
3
3
  import { Controller } from 'react-hook-form'
4
4
  import axios from '../../../../config/axios'
@@ -13,7 +13,7 @@ type MultiProgramSelectorProps = {
13
13
  allowAll?: boolean
14
14
  error?: boolean
15
15
  helperText?: string
16
- } & SelectProps
16
+ } & BaseSelectProps
17
17
  const MultiFeeTypeSelector = (props: MultiProgramSelectorProps) => {
18
18
  const {
19
19
  control,
@@ -1,4 +1,4 @@
1
- import { SelectProps } from '@mui/material'
1
+ import { BaseSelectProps } from '@mui/material'
2
2
  import { useEffect, useState } from 'react'
3
3
  import { Controller } from 'react-hook-form'
4
4
  import axios from '../../../../config/axios'
@@ -15,7 +15,7 @@ type MultiProgramSelectorProps = {
15
15
  error?: boolean
16
16
  helperText?: string
17
17
  api?: string
18
- } & SelectProps
18
+ } & BaseSelectProps
19
19
  const MultiProgramSelector = (props: MultiProgramSelectorProps) => {
20
20
  const {
21
21
  control,
@@ -1,4 +1,4 @@
1
- import { SelectProps } from '@mui/material'
1
+ import { BaseSelectProps } from '@mui/material'
2
2
  import { useEffect, useState } from 'react'
3
3
  import { Controller } from 'react-hook-form'
4
4
  import axios from '../../../../config/axios'
@@ -15,7 +15,7 @@ type MultiQuotaSelectorProps = {
15
15
  error?: boolean
16
16
  helperText?: string
17
17
  api?: string
18
- } & SelectProps
18
+ } & BaseSelectProps
19
19
  export default function MultiQuotaSelector(props: MultiQuotaSelectorProps) {
20
20
  const {
21
21
  control,
@@ -1,4 +1,4 @@
1
- import { SelectProps } from '@mui/material'
1
+ import { BaseSelectProps } from '@mui/material'
2
2
  import { useEffect, useState } from 'react'
3
3
  import axios from '../../config/axios'
4
4
  import { SingleSelect } from '../Input'
@@ -6,7 +6,7 @@ import { SingleSelect } from '../Input'
6
6
  type ProgramSelectorProps = {
7
7
  name?: string
8
8
  label: string
9
- filters?: { courseId: number| string }
9
+ filters?: { courseId: number | string }
10
10
  required?: boolean
11
11
  onChange?: (value: any) => void
12
12
  allowAll?: boolean
@@ -14,7 +14,7 @@ type ProgramSelectorProps = {
14
14
  helperText?: string
15
15
  api?: string
16
16
  valueByBranchCode?: boolean
17
- } & SelectProps
17
+ } & BaseSelectProps
18
18
  const ProgramSelector = (props: ProgramSelectorProps) => {
19
19
  const {
20
20
  name,
@@ -1,4 +1,4 @@
1
- import { SelectProps } from '@mui/material'
1
+ import { BaseSelectProps } from '@mui/material'
2
2
  import { useEffect, useState } from 'react'
3
3
  import axios from '../../config/axios'
4
4
  import { SingleSelect } from '../Input'
@@ -13,7 +13,7 @@ type QuotaSelectorProps = {
13
13
  error?: boolean
14
14
  helperText?: string
15
15
  api?: string
16
- } & SelectProps
16
+ } & BaseSelectProps
17
17
  export default function QuotaSelector(props: QuotaSelectorProps) {
18
18
  const {
19
19
  name,
@@ -1,4 +1,4 @@
1
- import { SelectProps } from '@mui/material'
1
+ import { BaseSelectProps } from '@mui/material'
2
2
  import { useEffect, useState } from 'react'
3
3
  import axios from '../../config/axios'
4
4
  import { SingleSelect } from '../Input'
@@ -13,7 +13,7 @@ type SemesterSelectorProps = {
13
13
  error?: boolean
14
14
  helperText?: string
15
15
  api?: string
16
- } & SelectProps
16
+ } & BaseSelectProps
17
17
  const SemesterSelector = (props: SemesterSelectorProps) => {
18
18
  const {
19
19
  name,