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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gbs-add-block",
3
- "version": "0.0.19",
3
+ "version": "0.0.21",
4
4
  "description": "React Component Library",
5
5
  "files": [
6
6
  "index.js",
@@ -13,7 +13,7 @@ import type { DatePickerProps } from "./types";
13
13
 
14
14
  export const DatePicker = ({
15
15
  placeholder = undefined,
16
- selectedDate: initialSelectedDate = new Date(),
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(initialSelectedDate);
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
- {showPlaceHolder ? (
135
- <div className="flex flex-col text-left">
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.getDate() &&
244
- day.getMonth() === selectedDate.getMonth() &&
245
- day.getFullYear() === selectedDate.getFullYear();
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"
@@ -1,6 +1,6 @@
1
1
  export type DatePickerProps = {
2
2
  placeholder?: string | undefined;
3
- selectedDate?: Date;
3
+ selectedDateValue?: Date;
4
4
  minDate?: Date | null;
5
5
  maxDate?: Date | null;
6
6
  yearLimitStart?: number;
@@ -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 "../../icon/iconPaths";
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
- }: any) => {
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: File[] = [];
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
+ };