@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.
- package/package.json +1 -1
- package/packages/shared-components/src/Actions/ConfigureAction.tsx +13 -0
- package/packages/shared-components/src/Actions/index.ts +2 -1
- package/packages/shared-components/src/AgGrid/ActionCell/ActionCell.tsx +3 -1
- package/packages/shared-components/src/AgGrid/AgGrid.tsx +7 -1
- package/packages/shared-components/src/Card/ProfileCard/ProfileCard.tsx +1 -1
- package/packages/shared-components/src/Card/ProfileCard/ProfileCardItem/ProfileCardBody.tsx +4 -4
- package/packages/shared-components/src/Card/ProfileCard/ProfileCardItem/ProfileCardHeader.tsx +1 -1
- package/packages/shared-components/src/Charts/PieChart.tsx +20 -8
- package/packages/shared-components/src/Charts/Skeleton.tsx +36 -0
- package/packages/shared-components/src/Drawer/Bullet.tsx +1 -1
- package/packages/shared-components/src/Drawer/CloseDrawer/CloseDrawerMenuItem.tsx +8 -1
- package/packages/shared-components/src/Drawer/CloseDrawer/CloseDrawerMenuItemList.tsx +11 -7
- package/packages/shared-components/src/Drawer/CloseDrawer/CloseDrawerSubMenuItemList.tsx +96 -97
- package/packages/shared-components/src/Drawer/CloseDrawer/Popper.tsx +3 -3
- package/packages/shared-components/src/Drawer/Drawer.tsx +1 -1
- package/packages/shared-components/src/Drawer/MenuItem.tsx +8 -2
- package/packages/shared-components/src/Drawer/OpenDrawer/OpenDrawerMenuItemList.tsx +162 -214
- package/packages/shared-components/src/FilterList/FilterListV2.tsx +24 -13
- package/packages/shared-components/src/FilterList/index.ts +2 -0
- package/packages/shared-components/src/FormFields/Autocomplete/Autocomplete.tsx +86 -4
- package/packages/shared-components/src/FormFields/DatePicker/DatePicker.tsx +14 -3
- package/packages/shared-components/src/FormFields/DatePicker/Skeleton.tsx +15 -8
- package/packages/shared-components/src/FormFields/DateTimePicker/DateTimePicker.tsx +9 -4
- package/packages/shared-components/src/FormFields/FileUpload/FileNames.tsx +32 -0
- package/packages/shared-components/src/FormFields/FileUpload/FileUpload.tsx +13 -53
- package/packages/shared-components/src/FormFields/FileUpload/index.ts +1 -0
- package/packages/shared-components/src/FormFields/ListItemButton/ListItemButton.tsx +16 -1
- package/packages/shared-components/src/FormFields/TextField/Skeleton.tsx +13 -8
- package/packages/shared-components/src/FormFields/TextField/TextField.tsx +2 -2
- package/packages/shared-components/src/FormFields/TimePicker/TimePicker.tsx +6 -0
- package/packages/shared-components/src/Indicator/Indicator.tsx +4 -3
- package/packages/shared-components/src/Layouts/FormGridLayout.tsx +27 -0
- package/packages/shared-components/src/Layouts/index.ts +2 -1
- package/packages/shared-components/src/Pagination/Pagination.tsx +42 -0
- package/packages/shared-components/src/Pagination/index.ts +1 -0
- package/packages/shared-components/src/Stepper/Stepper.tsx +1 -1
- package/packages/shared-components/src/Svgs/Drawer/SettingIcon.tsx +17 -37
- package/packages/shared-components/src/Svgs/Drawer/SvgBankConfig.tsx +36 -0
- package/packages/shared-components/src/Svgs/Drawer/SvgConfiguration.tsx +16 -0
- package/packages/shared-components/src/Svgs/Drawer/SvgPayroll.tsx +32 -0
- package/packages/shared-components/src/Svgs/Drawer/SvgsTransaction.tsx +72 -70
- package/packages/shared-components/src/Svgs/Drawer/index.ts +3 -0
- package/packages/shared-components/src/Svgs/ImportExcelSuccessIcon.tsx +54 -0
- package/packages/shared-components/src/Svgs/SvgConfigure.tsx +51 -0
- package/packages/shared-components/src/Svgs/SvgEmail.tsx +24 -0
- package/packages/shared-components/src/Svgs/SvgPhone.tsx +16 -0
- package/packages/shared-components/src/Svgs/SvgsHome.tsx +8 -6
- package/packages/shared-components/src/Svgs/SvgsIndicator.tsx +7 -3
- package/packages/shared-components/src/Svgs/index.ts +3 -1
- package/packages/shared-components/src/Timeline/TimelineTrackSegments.tsx +11 -2
- package/packages/shared-components/src/Tooltip/Tooltip.tsx +1 -1
- package/packages/shared-components/src/UserProfileMenu/UserProfileMenu.styled.tsx +3 -7
- package/packages/shared-components/src/UserProfileMenu/UserProfileMenu.tsx +76 -15
- package/packages/shared-components/src/index.ts +6 -5
- package/packages/shared-components/src/utils/colorVariant.ts +26 -6
- package/packages/shared-components/src/utils/date.ts +19 -5
- package/packages/shared-components/src/utils/index.ts +9 -11
- package/packages/shared-components/src/utils/theme/colorPalette.ts +2 -0
- 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
|
|
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
|
-
|
|
3
|
+
type SkeletonProps = {
|
|
4
|
+
label?: string;
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
export const Skeleton = ({ label }: SkeletonProps) => {
|
|
4
8
|
return (
|
|
5
9
|
<Stack gap="10px">
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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
|
|
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 {
|
|
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 {
|
|
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
|
-
|
|
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,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
|
-
<
|
|
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
|
-
|
|
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
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
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
|
|
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
|
+
};
|
|
@@ -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";
|
|
@@ -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=
|
|
7
|
-
height=
|
|
8
|
-
|
|
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
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
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
|
-
|
|
47
|
-
|
|
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
|
);
|