@codezee/sixtify-brahma 0.2.2 → 0.2.6

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 (60) hide show
  1. package/package.json +1 -1
  2. package/packages/shared-components/src/Actions/ConfigureAction.tsx +13 -0
  3. package/packages/shared-components/src/Actions/index.ts +2 -1
  4. package/packages/shared-components/src/AgGrid/ActionCell/ActionCell.tsx +3 -1
  5. package/packages/shared-components/src/AgGrid/AgGrid.tsx +7 -1
  6. package/packages/shared-components/src/Card/ProfileCard/ProfileCard.tsx +1 -1
  7. package/packages/shared-components/src/Card/ProfileCard/ProfileCardItem/ProfileCardBody.tsx +4 -4
  8. package/packages/shared-components/src/Card/ProfileCard/ProfileCardItem/ProfileCardHeader.tsx +1 -1
  9. package/packages/shared-components/src/Charts/PieChart.tsx +20 -8
  10. package/packages/shared-components/src/Charts/Skeleton.tsx +36 -0
  11. package/packages/shared-components/src/Drawer/Bullet.tsx +1 -1
  12. package/packages/shared-components/src/Drawer/CloseDrawer/CloseDrawerMenuItem.tsx +8 -1
  13. package/packages/shared-components/src/Drawer/CloseDrawer/CloseDrawerMenuItemList.tsx +11 -7
  14. package/packages/shared-components/src/Drawer/CloseDrawer/CloseDrawerSubMenuItemList.tsx +96 -97
  15. package/packages/shared-components/src/Drawer/CloseDrawer/Popper.tsx +3 -3
  16. package/packages/shared-components/src/Drawer/Drawer.tsx +1 -1
  17. package/packages/shared-components/src/Drawer/MenuItem.tsx +8 -2
  18. package/packages/shared-components/src/Drawer/OpenDrawer/OpenDrawerMenuItemList.tsx +162 -214
  19. package/packages/shared-components/src/FilterList/FilterListV2.tsx +24 -13
  20. package/packages/shared-components/src/FilterList/index.ts +2 -0
  21. package/packages/shared-components/src/FormFields/Autocomplete/Autocomplete.tsx +86 -4
  22. package/packages/shared-components/src/FormFields/DatePicker/DatePicker.tsx +14 -3
  23. package/packages/shared-components/src/FormFields/DatePicker/Skeleton.tsx +15 -8
  24. package/packages/shared-components/src/FormFields/DateTimePicker/DateTimePicker.tsx +9 -4
  25. package/packages/shared-components/src/FormFields/FileUpload/FileNames.tsx +32 -0
  26. package/packages/shared-components/src/FormFields/FileUpload/FileUpload.tsx +13 -53
  27. package/packages/shared-components/src/FormFields/FileUpload/index.ts +1 -0
  28. package/packages/shared-components/src/FormFields/ListItemButton/ListItemButton.tsx +16 -1
  29. package/packages/shared-components/src/FormFields/TextField/Skeleton.tsx +13 -8
  30. package/packages/shared-components/src/FormFields/TextField/TextField.tsx +2 -2
  31. package/packages/shared-components/src/FormFields/TimePicker/TimePicker.tsx +6 -0
  32. package/packages/shared-components/src/Indicator/Indicator.tsx +4 -3
  33. package/packages/shared-components/src/Layouts/FormGridLayout.tsx +27 -0
  34. package/packages/shared-components/src/Layouts/index.ts +2 -1
  35. package/packages/shared-components/src/Pagination/Pagination.tsx +42 -0
  36. package/packages/shared-components/src/Pagination/index.ts +1 -0
  37. package/packages/shared-components/src/Stepper/Stepper.tsx +1 -1
  38. package/packages/shared-components/src/Svgs/Drawer/SettingIcon.tsx +17 -37
  39. package/packages/shared-components/src/Svgs/Drawer/SvgBankConfig.tsx +36 -0
  40. package/packages/shared-components/src/Svgs/Drawer/SvgConfiguration.tsx +16 -0
  41. package/packages/shared-components/src/Svgs/Drawer/SvgPayroll.tsx +32 -0
  42. package/packages/shared-components/src/Svgs/Drawer/SvgsTransaction.tsx +72 -70
  43. package/packages/shared-components/src/Svgs/Drawer/index.ts +3 -0
  44. package/packages/shared-components/src/Svgs/ImportExcelSuccessIcon.tsx +54 -0
  45. package/packages/shared-components/src/Svgs/SvgConfigure.tsx +51 -0
  46. package/packages/shared-components/src/Svgs/SvgEmail.tsx +24 -0
  47. package/packages/shared-components/src/Svgs/SvgPhone.tsx +16 -0
  48. package/packages/shared-components/src/Svgs/SvgsHome.tsx +8 -6
  49. package/packages/shared-components/src/Svgs/SvgsIndicator.tsx +7 -3
  50. package/packages/shared-components/src/Svgs/index.ts +3 -1
  51. package/packages/shared-components/src/Timeline/TimelineTrackSegments.tsx +11 -2
  52. package/packages/shared-components/src/Tooltip/Tooltip.tsx +1 -1
  53. package/packages/shared-components/src/UserProfileMenu/UserProfileMenu.styled.tsx +3 -7
  54. package/packages/shared-components/src/UserProfileMenu/UserProfileMenu.tsx +76 -15
  55. package/packages/shared-components/src/index.ts +6 -5
  56. package/packages/shared-components/src/utils/colorVariant.ts +26 -6
  57. package/packages/shared-components/src/utils/date.ts +19 -5
  58. package/packages/shared-components/src/utils/index.ts +9 -11
  59. package/packages/shared-components/src/utils/theme/colorPalette.ts +2 -0
  60. package/packages/shared-components/src/utils/theme/theme.ts +8 -0
@@ -19,7 +19,7 @@ import { Skeleton } from "./Skeleton";
19
19
  export type DatePickerProps<P extends FieldValues> = UseControllerProps<P> &
20
20
  MuiDatePickerProps<PickerValidDate> &
21
21
  Partial<{
22
- label: string;
22
+ label?: string;
23
23
  required: boolean;
24
24
  disabled: boolean;
25
25
  format: string;
@@ -27,6 +27,7 @@ export type DatePickerProps<P extends FieldValues> = UseControllerProps<P> &
27
27
  helperText: string;
28
28
  loading: boolean;
29
29
  clearable?: boolean;
30
+ disableKeyboardInput?: boolean;
30
31
  setError: (
31
32
  name: keyof P,
32
33
  error: FieldError | { type: string; message?: string }
@@ -84,6 +85,7 @@ export function DatePicker<P extends FieldValues>({
84
85
  required = false,
85
86
  clearable = true,
86
87
  rules,
88
+ disableKeyboardInput = false,
87
89
  format = dateFormats.dateWithEuropean,
88
90
  ...restProps
89
91
  }: DatePickerProps<P>) {
@@ -100,14 +102,14 @@ export function DatePicker<P extends FieldValues>({
100
102
  const finalValue = value ? DateTime.fromISO(value) : null;
101
103
 
102
104
  if (loading) {
103
- return <Skeleton />;
105
+ return <Skeleton label={label} />;
104
106
  }
105
107
 
106
108
  const EmptyIcon = () => null;
107
109
 
108
110
  return (
109
111
  <Stack gap="10px">
110
- <InputLabel required={required}>{label}</InputLabel>
112
+ {label && <InputLabel required={required}>{label}</InputLabel>}
111
113
 
112
114
  <MuiDatePicker<DateTime>
113
115
  {...restField}
@@ -123,6 +125,10 @@ export function DatePicker<P extends FieldValues>({
123
125
  field: {
124
126
  clearable,
125
127
  onClear: () => onChange(null),
128
+ readOnly: disableKeyboardInput,
129
+ },
130
+ clearButton: {
131
+ tabIndex: -1, // This will make the clear button skipped in the tab order
126
132
  },
127
133
  textField: {
128
134
  disabled,
@@ -141,6 +147,11 @@ export function DatePicker<P extends FieldValues>({
141
147
  },
142
148
  },
143
149
  },
150
+ onKeyDown: (event) => {
151
+ if (!clearable && event.key === "Backspace") {
152
+ event.preventDefault();
153
+ }
154
+ },
144
155
  },
145
156
  day: {
146
157
  sx: {
@@ -1,15 +1,22 @@
1
1
  import { Skeleton as MuiSkeleton, Stack } from "@mui/material";
2
2
 
3
- export const Skeleton = () => {
3
+ type SkeletonProps = {
4
+ label?: string;
5
+ };
6
+
7
+ export const Skeleton = ({ label }: SkeletonProps) => {
4
8
  return (
5
9
  <Stack gap="10px">
6
- <MuiSkeleton
7
- width={120}
8
- height="23px"
9
- sx={{
10
- transform: "scale(1)",
11
- }}
12
- />
10
+ {label && (
11
+ <MuiSkeleton
12
+ width={120}
13
+ height="23px"
14
+ sx={{
15
+ transform: "scale(1)",
16
+ }}
17
+ />
18
+ )}
19
+
13
20
  <MuiSkeleton
14
21
  height="40px"
15
22
  sx={{
@@ -1,3 +1,5 @@
1
+ import ChevronLeftIcon from "@mui/icons-material/ChevronLeft";
2
+ import ChevronRightIcon from "@mui/icons-material/ChevronRight";
1
3
  import { Box, InputLabel, Stack, Tooltip, useTheme } from "@mui/material";
2
4
  import type { DateTimePickerProps as MuiDateTimePickerProps } from "@mui/x-date-pickers/DateTimePicker";
3
5
  import { DateTimePicker as MuiDateTimePicker } from "@mui/x-date-pickers/DateTimePicker";
@@ -12,10 +14,8 @@ import type {
12
14
  UseControllerProps,
13
15
  } from "react-hook-form";
14
16
  import { useController } from "react-hook-form";
15
- import { Skeleton } from "./Skeleton";
16
17
  import { CalendarAction } from "../../Actions";
17
- import ChevronLeftIcon from "@mui/icons-material/ChevronLeft";
18
- import ChevronRightIcon from "@mui/icons-material/ChevronRight";
18
+ import { Skeleton } from "./Skeleton";
19
19
 
20
20
  export type DateTimePickerProps<P extends FieldValues> = UseControllerProps<P> &
21
21
  MuiDateTimePickerProps<PickerValidDate> &
@@ -30,7 +30,7 @@ export type DateTimePickerProps<P extends FieldValues> = UseControllerProps<P> &
30
30
  clearable?: boolean;
31
31
  helperIcon?: ReactElement;
32
32
  toolTipText?: string;
33
-
33
+ timeStepsMinutes?: number;
34
34
  setError: (
35
35
  name: keyof P,
36
36
  error: FieldError | { type: string; message?: string }
@@ -85,6 +85,7 @@ export function DateTimePicker<P extends FieldValues>({
85
85
  format = "dd-MM-yyyy HH:mm",
86
86
  helperIcon,
87
87
  toolTipText,
88
+ timeStepsMinutes = 1,
88
89
  ...restProps
89
90
  }: DateTimePickerProps<P>) {
90
91
  const {
@@ -138,6 +139,7 @@ export function DateTimePicker<P extends FieldValues>({
138
139
  open={open}
139
140
  ampm={false}
140
141
  value={pickerValue}
142
+ timeSteps={{ minutes: timeStepsMinutes }}
141
143
  format={format}
142
144
  onOpen={() => setOpen(true)}
143
145
  onClose={() => setOpen(false)}
@@ -161,6 +163,9 @@ export function DateTimePicker<P extends FieldValues>({
161
163
  },
162
164
  popper: {
163
165
  sx: {
166
+ "& .MuiMultiSectionDigitalClockSection-root::after": {
167
+ display: "unset",
168
+ },
164
169
  "& .MuiList-padding": {
165
170
  padding: "10px",
166
171
  },
@@ -0,0 +1,32 @@
1
+ import { AttachFile } from "@mui/icons-material";
2
+ import DeleteOutlineOutlinedIcon from "@mui/icons-material/DeleteOutlineOutlined";
3
+ import { IconButton, Stack, Typography } from "@mui/material";
4
+ import { v4 as uuidv4 } from "uuid";
5
+
6
+ type FileNamesProps = {
7
+ names: string[];
8
+ onDelete: (index: number) => void;
9
+ };
10
+
11
+ export const FileNames = ({ names, onDelete }: FileNamesProps) => {
12
+ return names.map((name: string, index: number) => {
13
+ return (
14
+ <Stack
15
+ key={uuidv4()}
16
+ direction="row"
17
+ justifyContent="space-between"
18
+ alignItems="center"
19
+ >
20
+ <Stack direction="row" gap="8x">
21
+ <AttachFile />
22
+
23
+ <Typography>{name}</Typography>
24
+ </Stack>
25
+
26
+ <IconButton onClick={() => onDelete(index)}>
27
+ <DeleteOutlineOutlinedIcon />
28
+ </IconButton>
29
+ </Stack>
30
+ );
31
+ });
32
+ };
@@ -1,5 +1,5 @@
1
1
  import { InputLabel, Stack, Typography, useTheme } from "@mui/material";
2
- import { drop, isFunction, join, last, remove, split } from "lodash";
2
+ import { isFunction } from "lodash";
3
3
  import { useRef } from "react";
4
4
  import type {
5
5
  FieldValues,
@@ -7,42 +7,43 @@ import type {
7
7
  UseFormSetError,
8
8
  } from "react-hook-form";
9
9
  import { useTranslation } from "react-i18next";
10
- import { v4 as uuidv4 } from "uuid";
11
10
  import { PadBox } from "../../PadBox";
12
11
  import { SvgsDrop } from "../../Svgs";
13
- import { isFileSizeValid, isFileTypeValid } from "../../utils";
12
+ import {
13
+ isFileSizeValid,
14
+ isFileTypeValid,
15
+ } from "./../../../../../apps/web/utils/file";
14
16
  import { FileInput, FileUploadContainer } from "./FileUpload.styled";
15
17
  import { Skeleton } from "./Skeleton";
16
- import { UploadedFileName } from "./UploadedFileName";
17
18
 
18
19
  export type FileUploadProps<P extends FieldValues> = UseControllerProps<P> & {
19
20
  multiple?: boolean;
20
21
  loading?: boolean;
21
22
  isDisabled?: boolean;
22
23
  onChange: (file: File[]) => void;
23
- onDelete: (file: string[]) => void;
24
- uploadedFiles: string[];
25
24
  error?: boolean;
26
25
  helperText?: string;
27
26
  label?: string;
28
27
  size?: number; //Note:- Size in MB
29
28
  accept?: string;
29
+ fileNames: JSX.Element;
30
+ acceptTitle?: string;
30
31
  setError?: UseFormSetError<FieldValues>;
31
32
  };
32
33
 
33
34
  export function FileUpload<P extends FieldValues>({
34
35
  loading = false,
35
- uploadedFiles,
36
36
  onChange,
37
- onDelete,
38
37
  isDisabled,
39
38
  multiple = false,
40
39
  error,
41
40
  helperText,
42
41
  label,
42
+ fileNames,
43
43
  size = 10,
44
44
  setError,
45
45
  accept = ".png,.jpg,.jpeg,.doc,.docx,.pdf",
46
+ acceptTitle = "Only JPG, PNG, PDF files are accepted.",
46
47
  ...restProps
47
48
  }: FileUploadProps<P>) {
48
49
  const theme = useTheme();
@@ -53,12 +54,6 @@ export function FileUpload<P extends FieldValues>({
53
54
 
54
55
  const inputRef = useRef<HTMLInputElement | null>(null);
55
56
 
56
- const getFileName = (url: string) => {
57
- const imageName = join(drop(split(last(split(url, "/")), "_")), "_");
58
-
59
- return imageName;
60
- };
61
-
62
57
  const handleFileChange = (event: React.ChangeEvent<HTMLInputElement>) => {
63
58
  if (event.target.files) {
64
59
  const files = Array.from(event.target.files);
@@ -105,41 +100,9 @@ export function FileUpload<P extends FieldValues>({
105
100
 
106
101
  if (uploadFiles?.length > 0) {
107
102
  onChange(uploadFiles);
108
- }
109
- }
110
- };
111
-
112
- const handleFileRemove = (index: number) => {
113
- if (multiple && Array.isArray(uploadedFiles)) {
114
- const copyOfUploadedFiles = [...uploadedFiles];
115
103
 
116
- remove(copyOfUploadedFiles, (_, i) => i === index);
117
-
118
- onDelete(copyOfUploadedFiles.length > 0 ? copyOfUploadedFiles : []);
119
- } else {
120
- onDelete([]);
121
- }
122
-
123
- if (inputRef.current) {
124
- inputRef.current.value = "";
125
- }
126
- };
127
-
128
- const renderFileNames = () => {
129
- if (!uploadedFiles) {
130
- return null;
131
- }
132
-
133
- if (Array.isArray(uploadedFiles)) {
134
- return uploadedFiles.map((file: string, index: number) => {
135
- return (
136
- <UploadedFileName
137
- key={uuidv4()}
138
- fileName={getFileName(file)}
139
- onDelete={() => handleFileRemove(index)}
140
- />
141
- );
142
- });
104
+ event.target.value = "";
105
+ }
143
106
  }
144
107
  };
145
108
 
@@ -171,9 +134,7 @@ export function FileUpload<P extends FieldValues>({
171
134
 
172
135
  <Typography>Drag & drop files or Browse</Typography>
173
136
 
174
- <Typography variant="caption">
175
- Only JPG, PNG, PDF files are accepted.
176
- </Typography>
137
+ <Typography variant="caption">{acceptTitle}</Typography>
177
138
  </Stack>
178
139
  </PadBox>
179
140
  </FileUploadContainer>
@@ -190,8 +151,7 @@ export function FileUpload<P extends FieldValues>({
190
151
  {helperText}
191
152
  </Typography>
192
153
  )}
193
-
194
- {renderFileNames()}
154
+ {fileNames}
195
155
  </Stack>
196
156
  );
197
157
  }
@@ -1 +1,2 @@
1
+ export * from "./FileNames";
1
2
  export * from "./FileUpload";
@@ -1,5 +1,7 @@
1
1
  import {
2
2
  Stack,
3
+ Typography,
4
+ useTheme,
3
5
  type ListItemButtonProps as MuiListItemButtonProps,
4
6
  } from "@mui/material";
5
7
  import type { ReactNode } from "react";
@@ -9,14 +11,20 @@ import { StyledListItemButton } from "./ListItemButton.styled";
9
11
  export type ListItemButtonProps = MuiListItemButtonProps & {
10
12
  label: string;
11
13
  actions?: ReactNode;
14
+ companyName?: string;
12
15
  };
13
16
 
14
17
  export function ListItemButton({
15
18
  label,
16
19
  selected,
17
20
  actions,
21
+ companyName,
18
22
  ...restListItemButtonProps
19
23
  }: ListItemButtonProps) {
24
+ const theme = useTheme();
25
+
26
+ const { iron } = theme.palette.app.color;
27
+
20
28
  return (
21
29
  <StyledListItemButton
22
30
  selected={selected}
@@ -29,7 +37,14 @@ export function ListItemButton({
29
37
  alignItems="center"
30
38
  justifyContent="space-between"
31
39
  >
32
- <Tooltip toolTipLabel={label}>{label}</Tooltip>
40
+ <Stack gap="5px" direction="column">
41
+ <Tooltip toolTipLabel={label}>{label}</Tooltip>
42
+
43
+ <Typography variant="caption" color={iron[800]}>
44
+ {companyName}
45
+ </Typography>
46
+ </Stack>
47
+
33
48
  {actions}
34
49
  </Stack>
35
50
  </StyledListItemButton>
@@ -2,19 +2,24 @@ import { Skeleton as MuiSkeleton, Stack } from "@mui/material";
2
2
 
3
3
  type SkeletonProps = {
4
4
  rows?: number;
5
+ label?: string;
5
6
  };
6
- export const Skeleton = ({ rows }: SkeletonProps) => {
7
+
8
+ export const Skeleton = ({ rows, label }: SkeletonProps) => {
7
9
  const height: number = rows === undefined ? 40 : rows * 23;
8
10
 
9
11
  return (
10
12
  <Stack gap="10px">
11
- <MuiSkeleton
12
- width={120}
13
- height="23px"
14
- sx={{
15
- transform: "scale(1)",
16
- }}
17
- />
13
+ {label && (
14
+ <MuiSkeleton
15
+ width={120}
16
+ height="23px"
17
+ sx={{
18
+ transform: "scale(1)",
19
+ }}
20
+ />
21
+ )}
22
+
18
23
  <MuiSkeleton
19
24
  height={`${height}px`}
20
25
  sx={{
@@ -49,7 +49,7 @@ export function TextField<P extends FieldValues>({
49
49
  };
50
50
 
51
51
  if (loading) {
52
- return <Skeleton rows={rows} />;
52
+ return <Skeleton label={label} rows={rows} />;
53
53
  }
54
54
 
55
55
  return (
@@ -83,7 +83,7 @@ export function TextField<P extends FieldValues>({
83
83
  onChange(value);
84
84
  }
85
85
  }}
86
- value={typeof value === "string" ? value.trimStart() : value}
86
+ value={typeof value === "string" ? value.trimStart() : (value ?? "")}
87
87
  {...restField}
88
88
  {...inputFieldProps}
89
89
  />
@@ -27,6 +27,7 @@ export type TimePickerProps<P extends FieldValues> = UseControllerProps<P> &
27
27
  isReturnDateWithTime: boolean;
28
28
  helperIcon?: ReactElement;
29
29
  toolTipText?: string;
30
+ timeStepsMinutes?: number;
30
31
  }>;
31
32
 
32
33
  export function TimePicker<P extends FieldValues>({
@@ -44,6 +45,7 @@ export function TimePicker<P extends FieldValues>({
44
45
  format = "HH:mm",
45
46
  isReturnLocalTime = false,
46
47
  isReturnDateWithTime = false,
48
+ timeStepsMinutes = 1,
47
49
  helperIcon,
48
50
  toolTipText,
49
51
  ...restProps
@@ -96,6 +98,7 @@ export function TimePicker<P extends FieldValues>({
96
98
  format={format}
97
99
  onOpen={() => setOpen(true)}
98
100
  onClose={() => setOpen(false)}
101
+ timeSteps={{ minutes: timeStepsMinutes }}
99
102
  slotProps={{
100
103
  textField: {
101
104
  disabled,
@@ -111,6 +114,9 @@ export function TimePicker<P extends FieldValues>({
111
114
  },
112
115
  popper: {
113
116
  sx: {
117
+ "& .MuiMultiSectionDigitalClockSection-root::after": {
118
+ display: "unset",
119
+ },
114
120
  "& .MuiList-padding": {
115
121
  padding: "10px",
116
122
  },
@@ -4,13 +4,14 @@ import { type WorkDayType } from "../utils/colorVariant";
4
4
 
5
5
  type IndicatorProps = {
6
6
  label?: string;
7
- variant: WorkDayType;
7
+ variant?: WorkDayType;
8
+ colourCode?: string;
8
9
  };
9
10
 
10
- export const Indicator = ({ label, variant }: IndicatorProps) => {
11
+ export const Indicator = ({ label, variant, colourCode }: IndicatorProps) => {
11
12
  return (
12
13
  <Stack gap="10px" direction="row" alignItems="center">
13
- <SvgsIndicator variant={variant} />
14
+ <SvgsIndicator variant={variant} colourCode={colourCode} />
14
15
  {label}
15
16
  </Stack>
16
17
  );
@@ -0,0 +1,27 @@
1
+ import { Grid } from "@mui/material";
2
+ import { Children, type ReactNode } from "react";
3
+
4
+ type FormGridLayoutProps = {
5
+ children: ReactNode;
6
+ columns?: number;
7
+ };
8
+
9
+ export const FormGridLayout = ({
10
+ children,
11
+ columns = 3,
12
+ }: FormGridLayoutProps) => {
13
+ return (
14
+ <Grid container spacing={2}>
15
+ {Children.map(
16
+ children,
17
+ (child, index) =>
18
+ child && (
19
+ // eslint-disable-next-line sonarjs/no-array-index-key
20
+ <Grid item xs={12 / columns} key={index}>
21
+ {child}
22
+ </Grid>
23
+ )
24
+ )}
25
+ </Grid>
26
+ );
27
+ };
@@ -1,3 +1,4 @@
1
+ export * from "./FormContainer";
2
+ export * from "./FormGridLayout";
1
3
  export * from "./FormRow";
2
4
  export * from "./FormSection";
3
- export * from "./FormContainer";
@@ -0,0 +1,42 @@
1
+ import {
2
+ TablePagination,
3
+ type TablePaginationProps,
4
+ useTheme,
5
+ } from "@mui/material";
6
+
7
+ export const Pagination = ({
8
+ count,
9
+ page,
10
+ onPageChange,
11
+ rowsPerPage,
12
+ onRowsPerPageChange,
13
+ ...rest
14
+ }: TablePaginationProps) => {
15
+ const theme = useTheme();
16
+
17
+ const { grey } = theme.palette;
18
+
19
+ return (
20
+ <TablePagination
21
+ sx={{
22
+ "& .MuiInputBase-root": {
23
+ paddingRight: "10px",
24
+ },
25
+ "& .MuiTablePagination-select": {
26
+ backgroundColor: "transparent !important",
27
+ },
28
+ "& .MuiTablePagination-input": {
29
+ border: `1.5px solid ${grey[400]}`,
30
+ borderRadius: "5px",
31
+ },
32
+ }}
33
+ component="div"
34
+ count={count}
35
+ page={page}
36
+ onPageChange={onPageChange}
37
+ rowsPerPage={rowsPerPage}
38
+ onRowsPerPageChange={onRowsPerPageChange}
39
+ {...rest}
40
+ />
41
+ );
42
+ };
@@ -0,0 +1 @@
1
+ export * from "./Pagination";
@@ -44,7 +44,7 @@ export const Stepper = ({
44
44
  },
45
45
  }}
46
46
  >
47
- <Typography variant="caption">{label}</Typography>
47
+ <Typography variant="body2">{label}</Typography>
48
48
  </StepLabel>
49
49
  </Step>
50
50
  ))}
@@ -3,48 +3,28 @@ export const SettingIcon = (props: SVGProps<SVGSVGElement>) => {
3
3
  return (
4
4
  <svg
5
5
  xmlns="http://www.w3.org/2000/svg"
6
- width={20}
7
- height={20}
8
- fill={props.fill ?? "currentColor"}
6
+ width="20"
7
+ height="20"
8
+ viewBox="0 0 20 20"
9
+ fill="none"
9
10
  {...props}
11
+ style={{ color: "inherit" }}
10
12
  >
11
- <mask
12
- id="a"
13
- width={20}
14
- height={20}
15
- x={0}
16
- y={0}
17
- maskUnits="userSpaceOnUse"
18
- style={{
19
- maskType: "luminance",
20
- }}
21
- >
22
- <path
23
- fill={props.fill ?? "currentColor"}
24
- fillRule="evenodd"
25
- stroke={props.fill ?? "currentColor"}
26
- strokeWidth={0.5}
27
- d="M1 1h18v18H1V1Z"
28
- clipRule="evenodd"
29
- />
30
- </mask>
31
- <g fill={props.fill ?? "currentColor"} mask="url(#a)">
32
- <path
33
- fillRule="evenodd"
34
- d="M5.856 14.412c.214 0 .428.025.637.077.63.159 1.179.551 1.503 1.078.211.331.328.718.332 1.112 0 .565.487 1.018 1.086 1.018h1.17c.596 0 1.083-.45 1.086-1.005a2.205 2.205 0 0 1 .725-1.635 2.536 2.536 0 0 1 1.764-.675c.426.01.836.116 1.197.307.52.277 1.184.112 1.484-.366l.62-.961a.944.944 0 0 0 .104-.756 1.014 1.014 0 0 0-.502-.61 2.32 2.32 0 0 1-1.159-1.405 2.18 2.18 0 0 1 .253-1.754c.215-.348.53-.64.906-.842.506-.275.683-.891.39-1.37a.472.472 0 0 1-.033-.06l-.547-.883c-.298-.482-.96-.648-1.48-.373a2.6 2.6 0 0 1-1.873.24 2.442 2.442 0 0 1-1.514-1.065 2.105 2.105 0 0 1-.335-1.117.997.997 0 0 0-.307-.76 1.131 1.131 0 0 0-.78-.304H9.415c-.29 0-.56.105-.764.294a.959.959 0 0 0-.313.712c-.02 1.27-1.135 2.293-2.486 2.293a2.545 2.545 0 0 1-1.212-.315c-.509-.269-1.173-.103-1.471.38l-.632.966c-.29.467-.112 1.085.403 1.364.765.412 1.242 1.18 1.242 2.003 0 .824-.477 1.59-1.244 2.003-.512.277-.69.89-.392 1.368l.588.945c.146.245.384.421.66.493.274.071.576.04.828-.09.37-.202.802-.307 1.235-.307ZM10.583 19h-1.17c-1.37 0-2.486-1.037-2.486-2.313a.887.887 0 0 0-.14-.462 1.073 1.073 0 0 0-.658-.477 1.15 1.15 0 0 0-.814.102 2.693 2.693 0 0 1-1.907.213 2.48 2.48 0 0 1-1.493-1.103l-.583-.936c-.683-1.101-.277-2.513.905-3.149.335-.18.543-.515.543-.875s-.208-.695-.543-.875C1.054 8.485.649 7.07 1.331 5.969l.633-.967c.673-1.09 2.194-1.473 3.38-.84.162.09.337.136.515.137.582 0 1.068-.446 1.078-.995a2.207 2.207 0 0 1 .72-1.626A2.56 2.56 0 0 1 9.414 1h1.17c.668 0 1.317.255 1.783.7.465.446.721 1.058.702 1.68.002.14.051.3.14.442.15.235.383.4.662.468.278.064.569.03.816-.107 1.195-.635 2.716-.255 3.398.849l.581.937c.015.025.028.05.04.075.617 1.086.205 2.454-.943 3.08-.167.089-.303.214-.396.365a.959.959 0 0 0-.112.767c.075.26.253.477.504.61.567.304.99.815 1.158 1.404a2.183 2.183 0 0 1-.253 1.756l-.62.96c-.682 1.092-2.202 1.47-3.385.834a1.175 1.175 0 0 0-.52-.135h-.006c-.27 0-.547.107-.749.294a.96.96 0 0 0-.314.713C13.063 17.968 11.948 19 10.583 19Z"
35
- clipRule="evenodd"
36
- />
37
- <path d="m6.493 14.49.06-.243-.06.242Zm1.503 1.077-.213.132.003.003.21-.135Zm.332 1.112h.25v-.002l-.25.002Zm3.342.013h.25v-.002l-.25.002Zm2.49-2.31-.007.25.006-.25Zm1.196.307.118-.22h-.001l-.117.22Zm1.484-.366-.21-.135-.002.002.212.133Zm.62-.961.21.135.002-.003-.212-.132Zm.104-.756-.24.068v.001l.24-.069Zm-.502-.61-.118.22v.001l.118-.22Zm-1.159-1.405.24-.069-.24.069Zm.253-1.754.212.132-.212-.132Zm.906-.842.118.22h.002l-.12-.22Zm.39-1.37.213-.131-.002-.004-.212.134Zm-.033-.06.228-.103-.007-.015-.009-.014-.212.131Zm-.547-.883-.213.131.213-.131Zm-1.48-.373-.117-.22-.004.001.12.22Zm-1.873.24.06-.242h-.001l-.059.243Zm-1.514-1.065.212-.133-.002-.002-.21.135Zm-.335-1.117-.25-.007v.01l.25-.003Zm-.307-.76-.173.18.173-.18Zm-2.713-.01-.17-.183h-.001l.17.183Zm-.313.712.25.004v-.005l-.25.001ZM5.851 5.602l-.002.25h.002v-.25ZM4.64 5.287l.122-.218-.005-.003-.117.221Zm-1.471.38.21.136.003-.005-.213-.132Zm-.632.966-.21-.137-.002.005.212.132Zm.403 1.364-.119.22.12-.22Zm-.002 4.006-.118-.22.118.22Zm-.392 1.368-.213.132.213-.132Zm.588.945.215-.128-.002-.004-.213.133Zm.66.493-.064.242.063-.242Zm.828-.09.115.223.005-.003-.12-.22Zm2.306 1.968h.25v-.003l-.25.003Zm-.14-.462-.214.13.003.004.21-.134Zm-.658-.477-.06.243.06-.242Zm-.814.102.115.222.004-.002-.119-.22Zm-1.907.213-.063.242.063-.242ZM1.915 14.96l.215-.129-.003-.003-.212.132Zm-.583-.936-.213.132.213-.132Zm.905-3.149-.118-.22.118.22Zm0-1.75-.119.22.119-.22Zm-.906-3.156-.21-.137-.003.005.213.132Zm.633-.967.209.137.003-.006-.212-.131Zm3.38-.84.121-.218-.003-.002-.118.22Zm.515.137-.002.25h.002V4.3Zm1.078-.995.25.004v-.006l-.25.002Zm.72-1.626-.17-.182.17.182Zm4.71.021.173-.18-.173.18Zm.702 1.68-.25-.008v.012l.25-.004Zm.14.443.212-.133-.211.133Zm.662.468-.06.243h.003l.057-.243Zm.816-.107-.117-.22h-.003l.12.22Zm3.398.849-.213.131.213-.131Zm.581.937.215-.128-.002-.004-.213.132Zm.04.075-.229.101.005.011.006.011.218-.123Zm-.943 3.08.118.22.001-.001-.12-.22Zm-.396.365.213.131-.213-.131Zm-.112.767-.24.068.24-.068Zm.504.61.118-.22-.118.22Zm1.158 1.404-.24.07.24-.07Zm-.253 1.756.21.135.002-.003-.212-.132Zm-.62.96-.21-.135-.001.003.212.133Zm-3.385.834.119-.22-.119.22Zm-.52-.135.006-.25h-.006v.25Zm-.755.294-.17-.184.17.184Zm-.314.713.25.001v-.003l-.25.002Zm-7.214-2.03c.194 0 .388.023.576.07l.121-.485a2.882 2.882 0 0 0-.697-.085v.5Zm.576.07a2.224 2.224 0 0 1 1.351.967l.426-.263a2.724 2.724 0 0 0-1.656-1.19l-.121.486Zm1.354.97c.186.292.288.633.292.98l.5-.005a2.361 2.361 0 0 0-.37-1.244l-.422.269Zm.292.977c0 .719.615 1.268 1.336 1.268v-.5c-.477 0-.836-.357-.836-.768h-.5Zm1.336 1.268h1.17v-.5h-1.17v.5Zm1.17 0c.716 0 1.332-.545 1.336-1.254l-.5-.003c-.002.4-.36.757-.836.757v.5Zm1.336-1.257a1.955 1.955 0 0 1 .646-1.45l-.341-.366a2.456 2.456 0 0 0-.805 1.819l.5-.003Zm.646-1.45a2.286 2.286 0 0 1 1.587-.608l.013-.5a2.787 2.787 0 0 0-1.941.742l.34.366Zm1.588-.608c.387.008.759.106 1.085.278l.234-.442a2.939 2.939 0 0 0-1.308-.336l-.011.5Zm1.084.278c.629.335 1.44.142 1.814-.453l-.424-.267c-.226.36-.743.498-1.154.279l-.236.44Zm1.812-.451.62-.962-.42-.27-.62.961.42.27Zm.622-.965c.175-.281.226-.633.133-.957l-.48.138a.694.694 0 0 1-.077.555l.424.264Zm.133-.956a1.264 1.264 0 0 0-.625-.762l-.235.441c.19.1.326.27.379.457l.48-.136Zm-.625-.762a2.07 2.07 0 0 1-1.037-1.254l-.48.137a2.57 2.57 0 0 0 1.281 1.558l.236-.441Zm-1.037-1.255a1.93 1.93 0 0 1 .225-1.552l-.424-.265a2.43 2.43 0 0 0-.281 1.956l.48-.139Zm.226-1.553c.19-.308.471-.57.811-.752l-.236-.441a2.636 2.636 0 0 0-1 .93l.425.263Zm.813-.753c.624-.34.856-1.113.483-1.721l-.427.261c.215.35.092.81-.295 1.02l.239.44Zm.48-1.725a.215.215 0 0 1-.015-.028l-.456.205a.719.719 0 0 0 .05.091l.422-.268Zm-.03-.057-.548-.883-.425.264.547.882.425-.263Zm-.548-.883c-.37-.601-1.181-.795-1.81-.462l.235.442c.41-.218.926-.08 1.15.283l.425-.263Zm-1.813-.46a2.35 2.35 0 0 1-1.692.217l-.12.486a2.85 2.85 0 0 0 2.053-.265l-.241-.438Zm-1.693.217a2.193 2.193 0 0 1-1.361-.956l-.424.266a2.692 2.692 0 0 0 1.668 1.176l.117-.486Zm-1.363-.958a1.855 1.855 0 0 1-.295-.985l-.5.005c.004.443.135.877.375 1.25l.42-.27Zm-.295-.975c.01-.367-.13-.702-.384-.947l-.346.36a.747.747 0 0 1 .23.573l.5.014Zm-.384-.947a1.381 1.381 0 0 0-.952-.374v.5c.231 0 .453.088.606.235l.346-.36Zm-.952-.374h-1.17v.5h1.17v-.5Zm-1.17 0c-.35 0-.682.127-.934.36l.34.368a.868.868 0 0 1 .594-.228v-.5Zm-.935.361a1.209 1.209 0 0 0-.392.897l.5-.003a.709.709 0 0 1 .233-.528l-.341-.365Zm-.392.892C8.07 4.424 7.081 5.352 5.851 5.352v.5c1.472 0 2.714-1.117 2.736-2.539l-.5-.007ZM5.854 5.352a2.295 2.295 0 0 1-1.093-.283l-.244.437c.4.223.859.341 1.332.346l.005-.5Zm-1.098-.286c-.619-.327-1.43-.131-1.8.469l.425.263c.225-.365.742-.5 1.141-.29l.234-.442Zm-1.797.463-.632.967.418.274.632-.967-.418-.274Zm-.635.972c-.372.6-.135 1.374.496 1.716l.238-.44c-.4-.216-.517-.677-.31-1.012L2.325 6.5Zm.497 1.716C3.51 8.588 3.93 9.275 3.93 10h.5c0-.922-.534-1.771-1.373-2.223l-.237.44ZM3.93 10c0 .725-.42 1.41-1.112 1.783l.237.44c.841-.453 1.375-1.3 1.375-2.223h-.5Zm-1.112 1.783c-.63.34-.865 1.112-.487 1.72l.425-.264c-.216-.347-.095-.803.3-1.016l-.238-.44Zm-.487 1.72.59.946.424-.265-.59-.945-.424.265Zm.587.942c.18.301.473.518.81.606l.127-.484a.837.837 0 0 1-.508-.379l-.43.257Zm.81.606c.333.086.698.05 1.007-.11l-.23-.444a.93.93 0 0 1-.65.07l-.126.484Zm1.012-.112a2.341 2.341 0 0 1 1.115-.277v-.5a2.84 2.84 0 0 0-1.355.338l.24.439Zm5.842 3.811h-1.17v.5h1.17v-.5Zm-1.17 0c-1.25 0-2.236-.942-2.236-2.063h-.5c0 1.43 1.245 2.563 2.737 2.563v-.5Zm-2.236-2.066a1.137 1.137 0 0 0-.18-.594l-.421.27c.066.103.1.22.101.33l.5-.006ZM7 16.094a1.323 1.323 0 0 0-.81-.588l-.12.485a.823.823 0 0 1 .504.365L7 16.093Zm-.81-.588a1.4 1.4 0 0 0-.992.124l.237.44a.9.9 0 0 1 .635-.079l.12-.485Zm-.989.122a2.443 2.443 0 0 1-1.728.193l-.127.484c.69.18 1.444.1 2.085-.233l-.23-.444Zm-1.728.193a2.23 2.23 0 0 1-1.342-.99l-.43.257a2.729 2.729 0 0 0 1.645 1.217l.127-.484Zm-1.345-.993-.583-.936-.424.264.583.936.424-.264Zm-.583-.935c-.602-.972-.251-2.226.811-2.798l-.236-.44c-1.3.7-1.763 2.27-1 3.5l.425-.262Zm.811-2.798c.41-.22.675-.636.675-1.095h-.5a.752.752 0 0 1-.411.655l.236.44ZM3.03 10c0-.457-.264-.875-.675-1.095l-.236.44c.26.14.411.394.411.655h.5Zm-.674-1.095C1.292 8.33.942 7.072 1.543 6.1l-.425-.263c-.762 1.232-.3 2.804 1 3.508l.238-.44Zm-.816-2.8.633-.966-.419-.274-.632.967.418.274Zm.636-.972c.6-.97 1.973-1.326 3.05-.75l.236-.44c-1.295-.693-2.964-.281-3.711.928l.425.262Zm3.047-.751c.198.11.414.165.634.167l.005-.5a.829.829 0 0 1-.397-.105l-.242.438Zm.636.167c.703 0 1.316-.541 1.328-1.241l-.5-.008c-.007.397-.367.75-.828.75v.5Zm1.328-1.247a1.957 1.957 0 0 1 .641-1.441l-.342-.365a2.456 2.456 0 0 0-.8 1.81l.5-.004Zm.64-1.44a2.31 2.31 0 0 1 1.587-.612v-.5a2.81 2.81 0 0 0-1.927.746l.34.365Zm1.587-.612h1.17v-.5h-1.17v.5Zm1.17 0c.606 0 1.193.232 1.61.63l.345-.362A2.852 2.852 0 0 0 10.583.75v.5Zm1.61.63c.416.4.642.944.625 1.491l.5.016a2.494 2.494 0 0 0-.779-1.868l-.346.36Zm.625 1.503c.002.191.068.397.18.573l.422-.267a.633.633 0 0 1-.102-.313l-.5.007Zm.18.573c.184.292.474.494.812.577l.119-.486a.824.824 0 0 1-.509-.358l-.422.267Zm.815.577c.335.078.69.037.994-.131l-.241-.438a.902.902 0 0 1-.64.082l-.113.487Zm.99-.13c1.087-.577 2.46-.224 3.068.76l.425-.263c-.756-1.223-2.424-1.63-3.727-.938l.235.442Zm3.068.76.582.938.425-.264-.582-.937-.425.263Zm.58.933a.49.49 0 0 1 .025.05l.457-.204a.947.947 0 0 0-.053-.1l-.43.254Zm.036.071c.545.958.188 2.175-.845 2.736l.24.44c1.263-.688 1.731-2.207 1.04-3.423l-.435.247Zm-.843 2.736a1.283 1.283 0 0 0-.49.454l.425.263a.783.783 0 0 1 .3-.277l-.235-.44Zm-.49.454c-.181.292-.233.642-.14.967l.48-.137a.709.709 0 0 1 .085-.567l-.425-.263Zm-.14.968c.094.329.319.598.627.762l.235-.441a.755.755 0 0 1-.382-.459l-.48.138Zm.626.762c.51.273.887.731 1.036 1.252l.48-.138a2.598 2.598 0 0 0-1.28-1.555l-.236.44Zm1.036 1.252c.15.52.068 1.086-.225 1.554l.424.265c.367-.586.47-1.298.282-1.957l-.48.138Zm-.223 1.551-.62.961.42.271.62-.96-.42-.272Zm-.621.964c-.609.973-1.982 1.323-3.055.746l-.237.44c1.291.694 2.96.289 3.716-.92l-.424-.266Zm-3.056.745a1.425 1.425 0 0 0-.632-.164l-.012.5c.144.003.287.04.409.105l.235-.44Zm-.638-.164h-.006v.5h.006v-.5Zm-.006 0c-.332 0-.67.13-.919.36l.34.367a.872.872 0 0 1 .579-.227v-.5Zm-.919.36a1.21 1.21 0 0 0-.394.899l.5-.004a.71.71 0 0 1 .235-.528l-.341-.366Zm-.394.896c-.006 1.122-.993 2.059-2.237 2.059v.5c1.486 0 2.73-1.127 2.737-2.557l-.5-.002Z" />
38
- </g>
39
13
  <path
40
- fill={props.fill ?? "currentColor"}
41
- fillRule="evenodd"
42
- d="M9.842 8.387a1.672 1.672 0 1 0 1.671 1.672c0-.921-.75-1.671-1.671-1.671Zm0 4.672c-1.654 0-3-1.345-3-3 0-1.654 1.346-3 3-3s3 1.346 3 3c0 1.655-1.346 3-3 3Z"
43
- clipRule="evenodd"
14
+ d="M10 12.5C11.3807 12.5 12.5 11.3807 12.5 10C12.5 8.61929 11.3807 7.5 10 7.5C8.61929 7.5 7.5 8.61929 7.5 10C7.5 11.3807 8.61929 12.5 10 12.5Z"
15
+ stroke={props.fill ?? "currentColor"}
16
+ strokeWidth="1.5"
17
+ strokeMiterlimit="10"
18
+ strokeLinecap="round"
19
+ strokeLinejoin="round"
44
20
  />
45
21
  <path
46
- fill={props.fill ?? "currentColor"}
47
- d="M9.842 8.137c-1.06 0-1.921.863-1.921 1.922h.5c0-.783.638-1.421 1.42-1.421v-.5ZM7.92 10.06c0 1.06.862 1.92 1.92 1.92v-.5a1.422 1.422 0 0 1-1.42-1.42h-.5Zm1.92 1.92c1.06 0 1.922-.86 1.922-1.92h-.5c0 .784-.638 1.42-1.421 1.42v.5Zm1.922-1.92c0-1.059-.861-1.921-1.921-1.921v.5c.783 0 1.42.638 1.42 1.421h.5Zm-1.921 2.75a2.753 2.753 0 0 1-2.75-2.75h-.5a3.253 3.253 0 0 0 3.25 3.25v-.5Zm-2.75-2.75a2.754 2.754 0 0 1 2.75-2.75v-.5a3.254 3.254 0 0 0-3.25 3.25h.5Zm2.75-2.75a2.754 2.754 0 0 1 2.75 2.75h.5a3.254 3.254 0 0 0-3.25-3.25v.5Zm2.75 2.75a2.753 2.753 0 0 1-2.75 2.75v.5a3.253 3.253 0 0 0 3.25-3.25h-.5Z"
22
+ d="M2.41701 6.46265L3.15034 5.19248C3.58368 4.44192 4.55545 4.17544 5.31322 4.61294C6.61947 5.36711 7.68685 4.75168 7.68429 3.23946C7.68401 2.37328 8.39523 1.65807 9.26863 1.66196L10.9297 1.66832C11.6956 1.65829 12.3151 2.28537 12.3251 3.05133L12.3253 3.23429C12.3207 4.74234 13.3888 5.359 14.6997 4.60512L14.8582 4.51383C15.5266 4.13953 16.3794 4.36246 16.7537 5.03082L17.5897 6.46613C18.0298 7.22057 17.766 8.19411 17.0157 8.62696C15.7048 9.38085 15.7055 10.6129 17.0118 11.3671C17.7623 11.8004 18.0288 12.7722 17.5913 13.53L16.858 14.8002C16.4247 15.5507 15.4529 15.8172 14.6951 15.3797C13.3889 14.6255 12.3215 15.241 12.324 16.7532C12.3202 17.6266 11.6131 18.3346 10.7397 18.3307L9.07868 18.3243C8.31271 18.3343 7.69325 17.7073 7.68323 16.9413L7.68301 16.7583C7.68765 15.2503 6.61956 14.6336 5.30865 15.3875L5.1501 15.4788C4.48174 15.8531 3.62895 15.6302 3.25465 14.9618L2.41863 13.5265C1.97856 12.7721 2.24234 11.7985 2.99262 11.3657C4.30352 10.6118 4.30281 9.37969 2.99655 8.62552C2.23878 8.18802 1.98368 7.21321 2.41701 6.46265Z"
23
+ stroke={props.fill ?? "currentColor"}
24
+ strokeWidth="1.5"
25
+ strokeMiterlimit="10"
26
+ strokeLinecap="round"
27
+ strokeLinejoin="round"
48
28
  />
49
29
  </svg>
50
30
  );