gbs-add-block 0.0.20 → 0.0.22
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"
|
|
@@ -27,6 +27,8 @@ interface ItemsProps {
|
|
|
27
27
|
|
|
28
28
|
const Select = forwardRef<any, SelectProps>((props, ref) => {
|
|
29
29
|
const {
|
|
30
|
+
id = "",
|
|
31
|
+
name = "",
|
|
30
32
|
placeholder = "Select an Item...",
|
|
31
33
|
items,
|
|
32
34
|
lazy = false,
|
|
@@ -34,6 +36,7 @@ const Select = forwardRef<any, SelectProps>((props, ref) => {
|
|
|
34
36
|
onSelect,
|
|
35
37
|
selectedItem: initialSelectedItem,
|
|
36
38
|
error = undefined,
|
|
39
|
+
onFiltering,
|
|
37
40
|
} = props;
|
|
38
41
|
|
|
39
42
|
const [showPopover, setShowPopover] = useState(false);
|
|
@@ -146,7 +149,7 @@ const Select = forwardRef<any, SelectProps>((props, ref) => {
|
|
|
146
149
|
}));
|
|
147
150
|
|
|
148
151
|
return (
|
|
149
|
-
<div className="relative w-full" ref={selectRef}>
|
|
152
|
+
<div className="relative w-full" ref={selectRef} id={id}>
|
|
150
153
|
<div className="w-full relative">
|
|
151
154
|
<button
|
|
152
155
|
className={`flex items-center ${
|
|
@@ -192,7 +195,10 @@ const Select = forwardRef<any, SelectProps>((props, ref) => {
|
|
|
192
195
|
className="w-full outline-none dark:bg-black"
|
|
193
196
|
ref={inputRef}
|
|
194
197
|
value={searchTerm}
|
|
195
|
-
onChange={(e) =>
|
|
198
|
+
onChange={(e) => {
|
|
199
|
+
setSearchTerm(e.target.value);
|
|
200
|
+
if (onFiltering) onFiltering(e.target.value);
|
|
201
|
+
}}
|
|
196
202
|
/>
|
|
197
203
|
</div>
|
|
198
204
|
)}
|
|
@@ -4,10 +4,14 @@ interface ItemsProps {
|
|
|
4
4
|
}
|
|
5
5
|
|
|
6
6
|
export type SelectProps = {
|
|
7
|
+
id?: string;
|
|
8
|
+
name?: string;
|
|
9
|
+
error?: undefined | string;
|
|
7
10
|
placeholder?: string;
|
|
8
11
|
items?: ItemsProps[] | string;
|
|
9
12
|
lazy?: boolean;
|
|
10
13
|
showSearch?: boolean;
|
|
11
14
|
onSelect?: any;
|
|
12
15
|
selectedItem?: string;
|
|
16
|
+
onFiltering?: any;
|
|
13
17
|
};
|