gbs-add-block 0.0.19 → 0.0.21
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
CHANGED
|
@@ -13,7 +13,7 @@ import type { DatePickerProps } from "./types";
|
|
|
13
13
|
|
|
14
14
|
export const DatePicker = ({
|
|
15
15
|
placeholder = undefined,
|
|
16
|
-
|
|
16
|
+
selectedDateValue,
|
|
17
17
|
minDate = null,
|
|
18
18
|
maxDate = null,
|
|
19
19
|
yearLimitStart = 50,
|
|
@@ -25,15 +25,25 @@ export const DatePicker = ({
|
|
|
25
25
|
const [currentMonth, setCurrentMonth] = useState(new Date().getMonth());
|
|
26
26
|
const [currentYear, setCurrentYear] = useState(new Date().getFullYear());
|
|
27
27
|
const [days, setDays] = useState<any>([]);
|
|
28
|
-
const [selectedDate, setSelectedDate] = useState(
|
|
28
|
+
const [selectedDate, setSelectedDate] = useState<any>(
|
|
29
|
+
selectedDateValue ? selectedDateValue : new Date()
|
|
30
|
+
);
|
|
29
31
|
const [hasMounted, setHasMounted] = useState(false);
|
|
30
32
|
const [showPlaceHolder, setShowPlaceHolder] = useState<string | undefined>(
|
|
31
|
-
placeholder
|
|
33
|
+
selectedDateValue ? undefined : placeholder
|
|
32
34
|
);
|
|
33
35
|
|
|
34
36
|
const dateRef = useRef<HTMLDivElement>(null);
|
|
35
37
|
const today = new Date();
|
|
36
38
|
|
|
39
|
+
useEffect(() => {
|
|
40
|
+
if (selectedDateValue) {
|
|
41
|
+
setSelectedDate(selectedDateValue);
|
|
42
|
+
setCurrentMonth(selectedDateValue.getMonth());
|
|
43
|
+
setCurrentYear(selectedDateValue.getFullYear());
|
|
44
|
+
}
|
|
45
|
+
}, [selectedDateValue]);
|
|
46
|
+
|
|
37
47
|
// This useEffect will ensure the server and client
|
|
38
48
|
// rendererd date will not mismatch
|
|
39
49
|
useEffect(() => {
|
|
@@ -131,14 +141,8 @@ export const DatePicker = ({
|
|
|
131
141
|
elements={calender}
|
|
132
142
|
svgClass={"stroke-black fill-none dark:stroke-white"}
|
|
133
143
|
/>
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
<span className="text-gray-500 text-xs">{showPlaceHolder}</span>
|
|
137
|
-
<div className="text-sm">{new Date().toLocaleDateString()}</div>
|
|
138
|
-
</div>
|
|
139
|
-
) : (
|
|
140
|
-
<span>{selectedDate.toLocaleDateString()}</span>
|
|
141
|
-
)}
|
|
144
|
+
|
|
145
|
+
{showPlaceHolder ? showPlaceHolder : selectedDate.toLocaleDateString()}
|
|
142
146
|
</button>
|
|
143
147
|
|
|
144
148
|
{showDatepicker && (
|
|
@@ -240,9 +244,9 @@ export const DatePicker = ({
|
|
|
240
244
|
const isDisabled: any =
|
|
241
245
|
(minDate && day < minDate) || (maxDate && day > maxDate);
|
|
242
246
|
const isSelected =
|
|
243
|
-
day.getDate() === selectedDate
|
|
244
|
-
day.getMonth() === selectedDate
|
|
245
|
-
day.getFullYear() === selectedDate
|
|
247
|
+
day.getDate() === selectedDate?.getDate() &&
|
|
248
|
+
day.getMonth() === selectedDate?.getMonth() &&
|
|
249
|
+
day.getFullYear() === selectedDate?.getFullYear();
|
|
246
250
|
|
|
247
251
|
return (
|
|
248
252
|
<button
|
|
@@ -251,7 +255,7 @@ export const DatePicker = ({
|
|
|
251
255
|
onClick={() => !isDisabled && selectDate(day)}
|
|
252
256
|
disabled={isDisabled}
|
|
253
257
|
className={`text-center p-1 w-8 h-8 cursor-pointer rounded-md hover:bg-gray-200 transition duration-150 ease-in-out ${
|
|
254
|
-
isSelected ? "bg-black text-white hover:bg-gray-800" : ""
|
|
258
|
+
isSelected ? "bg-black text-white hover:bg-gray-800 " : ""
|
|
255
259
|
} ${
|
|
256
260
|
isDisabled
|
|
257
261
|
? "bg-gray-100 text-gray-400 cursor-not-allowed"
|
|
@@ -14,7 +14,8 @@ import Icon from "../icon/Icon";
|
|
|
14
14
|
import { GetFileIcon } from "./uploaderIcon";
|
|
15
15
|
import AestheticProcessingAnimationWithStyles from "./ProgressAnimation";
|
|
16
16
|
import { sendFiles } from "./uploaderService";
|
|
17
|
-
import { cloudDownload } from "
|
|
17
|
+
import { cloudDownload } from "../icon/iconPaths";
|
|
18
|
+
import type { FileUploadProps } from "./types";
|
|
18
19
|
|
|
19
20
|
export const FileUploader = ({
|
|
20
21
|
showImagePreview = false,
|
|
@@ -22,15 +23,15 @@ export const FileUploader = ({
|
|
|
22
23
|
onChange,
|
|
23
24
|
selectedFiles = [],
|
|
24
25
|
accept,
|
|
25
|
-
fileCount,
|
|
26
|
+
fileCount = 1,
|
|
26
27
|
disabled = false,
|
|
27
28
|
inputFileSize, // Max file size in MB
|
|
28
29
|
startUpload = false,
|
|
29
30
|
apiURL = "",
|
|
30
|
-
chunk_size =
|
|
31
|
+
chunk_size = 1024 * 1024,
|
|
31
32
|
uploadedFileIdArray = () => {},
|
|
32
33
|
fileData = [],
|
|
33
|
-
}:
|
|
34
|
+
}: FileUploadProps) => {
|
|
34
35
|
const [files, setFiles] = useState<any[]>([]);
|
|
35
36
|
const [previewUrls, setPreviewUrls] = useState<{ [key: string]: string }>({});
|
|
36
37
|
const [isDragging, setIsDragging] = useState(false);
|
|
@@ -93,7 +94,7 @@ export const FileUploader = ({
|
|
|
93
94
|
}
|
|
94
95
|
|
|
95
96
|
// File size validation
|
|
96
|
-
const validFiles:
|
|
97
|
+
const validFiles: any = [];
|
|
97
98
|
const newErrors: string[] = [];
|
|
98
99
|
|
|
99
100
|
updatedFiles.forEach((file) => {
|
|
@@ -111,7 +112,7 @@ export const FileUploader = ({
|
|
|
111
112
|
if (validFiles.length > 0) {
|
|
112
113
|
setFiles(validFiles);
|
|
113
114
|
setPreviewUrls({});
|
|
114
|
-
validFiles.forEach((file) => {
|
|
115
|
+
validFiles.forEach((file: any) => {
|
|
115
116
|
if (showImagePreview && file.type.startsWith("image/")) {
|
|
116
117
|
const reader = new FileReader();
|
|
117
118
|
reader.onload = () => {
|
|
@@ -132,7 +133,7 @@ export const FileUploader = ({
|
|
|
132
133
|
|
|
133
134
|
// Removes the file from file array
|
|
134
135
|
const removeFile = (index: number) => {
|
|
135
|
-
const updatedFiles = files.filter((_, i) => i !== index);
|
|
136
|
+
const updatedFiles: any = files.filter((_, i) => i !== index);
|
|
136
137
|
setFiles(updatedFiles);
|
|
137
138
|
setPreviewUrls((prevPreviews) => {
|
|
138
139
|
const { [files[index].name]: _, ...rest } = prevPreviews;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export type FileUploadProps = {
|
|
2
|
+
showImagePreview?: boolean;
|
|
3
|
+
multiple?: boolean;
|
|
4
|
+
onChange: (files: FileList | null) => void;
|
|
5
|
+
selectedFiles?: File[];
|
|
6
|
+
accept?: string;
|
|
7
|
+
fileCount?: number;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
inputFileSize?: number;
|
|
10
|
+
startUpload?: boolean;
|
|
11
|
+
apiURL?: string;
|
|
12
|
+
chunk_size?: number;
|
|
13
|
+
uploadedFileIdArray?: (ids: string[]) => void;
|
|
14
|
+
fileData?: File[];
|
|
15
|
+
};
|