pixelize-design-library 2.1.50 → 2.1.51
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.
|
@@ -46,29 +46,43 @@ var inferPickerTypeFromFormat = function (formatStr) {
|
|
|
46
46
|
return "date";
|
|
47
47
|
};
|
|
48
48
|
function CustomDatePicker(props) {
|
|
49
|
-
var id = props.id, name = props.name, label = props.label, isRequired = props.isRequired, isInformation = props.isInformation, informationMessage = props.informationMessage, error = props.error, errorMessage = props.errorMessage, helperText = props.helperText, _a = props.placeholderText, placeholderText = _a === void 0 ? "Select a date" : _a, _b = props.dateFormat, dateFormat = _b === void 0 ? "dd/MM/yyyy" : _b, pickerType = props.pickerType, minDate = props.minDate, maxDate = props.maxDate, disableFutureDates = props.disableFutureDates, disablePastDates = props.disablePastDates, isRange = props.isRange, _c = props.autoComplete, autoComplete = _c === void 0 ? "off" : _c, disabled = props.disabled, _d = props.width, width = _d === void 0 ? "100%" : _d;
|
|
49
|
+
var id = props.id, name = props.name, label = props.label, isRequired = props.isRequired, isInformation = props.isInformation, informationMessage = props.informationMessage, error = props.error, errorMessage = props.errorMessage, helperText = props.helperText, _a = props.placeholderText, placeholderText = _a === void 0 ? "Select a date" : _a, _b = props.dateFormat, dateFormat = _b === void 0 ? "dd/MM/yyyy" : _b, pickerType = props.pickerType, minDate = props.minDate, maxDate = props.maxDate, disableFutureDates = props.disableFutureDates, disablePastDates = props.disablePastDates, isRange = props.isRange, _c = props.autoComplete, autoComplete = _c === void 0 ? "off" : _c, disabled = props.disabled, _d = props.width, width = _d === void 0 ? "100%" : _d, _e = props.disableToday, disableToday = _e === void 0 ? false : _e;
|
|
50
50
|
var theme = (0, useCustomTheme_1.useCustomTheme)();
|
|
51
|
-
var
|
|
51
|
+
var _f = (0, react_2.useDisclosure)(), isOpen = _f.isOpen, onOpen = _f.onOpen, onClose = _f.onClose;
|
|
52
52
|
var resolvedPickerType = pickerType !== null && pickerType !== void 0 ? pickerType : inferPickerTypeFromFormat(dateFormat);
|
|
53
53
|
var inputRef = (0, react_1.useRef)(null);
|
|
54
54
|
var today = new Date();
|
|
55
|
+
var tomorrow = (0, date_fns_1.addDays)(today, 1);
|
|
55
56
|
var showDate = resolvedPickerType === "date" || resolvedPickerType === "datetime";
|
|
56
57
|
var showTime = resolvedPickerType === "time" || resolvedPickerType === "datetime";
|
|
57
58
|
var selectedDate = !isRange ? props.selectedDate : null;
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
var
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
59
|
+
// const [currentMonth, setCurrentMonth] = useState<Date>(
|
|
60
|
+
// isRange ? new Date() : selectedDate ?? new Date()
|
|
61
|
+
// );
|
|
62
|
+
var _g = (0, react_1.useState)(isRange ? new Date() :
|
|
63
|
+
selectedDate
|
|
64
|
+
? (disableToday && (0, date_fns_1.isSameDay)(selectedDate, today) ? tomorrow : selectedDate)
|
|
65
|
+
: (disableToday ? tomorrow : today)), currentMonth = _g[0], setCurrentMonth = _g[1];
|
|
66
|
+
var _h = (0, react_1.useState)(null), rangeStart = _h[0], setRangeStart = _h[1];
|
|
67
|
+
var _j = (0, react_1.useState)(null), rangeEnd = _j[0], setRangeEnd = _j[1];
|
|
68
|
+
var _k = (0, react_1.useState)(true), selectingStart = _k[0], setSelectingStart = _k[1];
|
|
69
|
+
var _l = (0, react_1.useState)(selectedDate !== null && selectedDate !== void 0 ? selectedDate : null), tempDate = _l[0], setTempDate = _l[1];
|
|
70
|
+
// const [tempDate, setTempDate] = useState<Date | null>(
|
|
71
|
+
// selectedDate
|
|
72
|
+
// ? (disableToday && isSameDay(selectedDate, today) ? tomorrow : selectedDate)
|
|
73
|
+
// : (disableToday ? tomorrow : null)
|
|
74
|
+
// );
|
|
75
|
+
var _m = (0, react_1.useState)(rangeStart), tempRangeStart = _m[0], setTempRangeStart = _m[1];
|
|
76
|
+
var _o = (0, react_1.useState)(rangeEnd), tempRangeEnd = _o[0], setTempRangeEnd = _o[1];
|
|
65
77
|
var popoverRef = (0, react_1.useRef)(null);
|
|
66
78
|
var handleOpen = function () {
|
|
67
79
|
if (!isRange && !selectedDate) {
|
|
68
|
-
setTempDate(new Date());
|
|
80
|
+
// setTempDate(new Date());
|
|
81
|
+
setTempDate(disableToday ? tomorrow : new Date());
|
|
69
82
|
}
|
|
70
83
|
if (showTime) {
|
|
71
|
-
setTempDate(new Date()); // add new
|
|
84
|
+
// setTempDate(new Date()); // add new
|
|
85
|
+
setTempDate(disableToday ? tomorrow : new Date());
|
|
72
86
|
}
|
|
73
87
|
onOpen();
|
|
74
88
|
};
|
|
@@ -76,14 +90,24 @@ function CustomDatePicker(props) {
|
|
|
76
90
|
if (!isRange) {
|
|
77
91
|
if (selectedDate instanceof Date) {
|
|
78
92
|
setTempDate(new Date(selectedDate));
|
|
93
|
+
// const corrected = disableToday && isSameDay(selectedDate, today)
|
|
94
|
+
// ? tomorrow
|
|
95
|
+
// : selectedDate;
|
|
96
|
+
// setTempDate(new Date(corrected));
|
|
79
97
|
}
|
|
80
98
|
else {
|
|
81
99
|
setTempDate(null);
|
|
100
|
+
// setTempDate(disableToday ? tomorrow : null);
|
|
82
101
|
}
|
|
83
102
|
}
|
|
84
|
-
}, [selectedDate, isRange]);
|
|
103
|
+
}, [selectedDate, isRange, disableToday]);
|
|
85
104
|
var handleDaySelect = function (day) {
|
|
105
|
+
// const updated = new Date(day);
|
|
86
106
|
var updated = new Date(day);
|
|
107
|
+
// 👇 Redirect selection from today → tomorrow
|
|
108
|
+
if (disableToday && (0, date_fns_1.isSameDay)(updated, today)) {
|
|
109
|
+
updated = tomorrow;
|
|
110
|
+
}
|
|
87
111
|
if (isRange) {
|
|
88
112
|
if (selectingStart) {
|
|
89
113
|
setTempRangeStart(updated);
|
|
@@ -135,7 +159,8 @@ function CustomDatePicker(props) {
|
|
|
135
159
|
(minDate && (0, date_fns_1.isBefore)(thisDay, minDate)) ||
|
|
136
160
|
(maxDate && (0, date_fns_1.isAfter)(thisDay, maxDate)) ||
|
|
137
161
|
(disablePastDates && (0, date_fns_1.isBefore)(thisDay, today) && !(0, date_fns_1.isSameDay)(thisDay, today)) ||
|
|
138
|
-
(disableFutureDates && (0, date_fns_1.isAfter)(thisDay, today) && !(0, date_fns_1.isSameDay)(thisDay, today))
|
|
162
|
+
(disableFutureDates && (0, date_fns_1.isAfter)(thisDay, today) && !(0, date_fns_1.isSameDay)(thisDay, today)) ||
|
|
163
|
+
(disableToday && isToday);
|
|
139
164
|
days.push(react_1.default.createElement(Button_1.default, { key: thisDay.toString(), size: "sm", variant: isStart || isEnd
|
|
140
165
|
? "solid"
|
|
141
166
|
: isInRange
|
|
@@ -211,19 +236,34 @@ function CustomDatePicker(props) {
|
|
|
211
236
|
react_1.default.createElement(lucide_react_1.ChevronRightIcon, null))),
|
|
212
237
|
react_1.default.createElement(react_2.Grid, { templateColumns: "repeat(7, 1fr)", gap: 1, fontWeight: "bold", mb: 1 }, ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"].map(function (day) { return (react_1.default.createElement(react_2.Box, { textAlign: "center", key: day }, day)); })),
|
|
213
238
|
renderDays())),
|
|
214
|
-
!isRange && showTime && (react_1.default.createElement(TimePicker_1.default
|
|
239
|
+
!isRange && showTime && (react_1.default.createElement(TimePicker_1.default
|
|
240
|
+
// date={tempDate ?? new Date()}
|
|
241
|
+
, {
|
|
242
|
+
// date={tempDate ?? new Date()}
|
|
243
|
+
date: tempDate !== null && tempDate !== void 0 ? tempDate : (disableToday ? tomorrow : new Date()), dateFormat: dateFormat,
|
|
244
|
+
// onChange={(updatedDate) => {
|
|
245
|
+
// 👇 Redirect time change if today
|
|
246
|
+
// const corrected = disableToday && isSameDay(updatedDate, today)
|
|
247
|
+
// ? tomorrow
|
|
248
|
+
// : updatedDate;
|
|
249
|
+
// setTempDate(corrected);
|
|
250
|
+
// (props as any).onChange(corrected);
|
|
251
|
+
// }}
|
|
252
|
+
onChange: function (updatedDate) {
|
|
215
253
|
setTempDate(updatedDate);
|
|
216
254
|
props.onChange(updatedDate);
|
|
217
255
|
} })),
|
|
218
256
|
react_1.default.createElement(react_2.Box, { display: "flex", justifyContent: "space-between", mt: 3 },
|
|
219
257
|
react_1.default.createElement(Button_1.default, { size: "sm", variant: "ghost", onClick: function () {
|
|
220
258
|
setTempDate(null);
|
|
259
|
+
// setTempDate(disableToday ? tomorrow : null);
|
|
221
260
|
setTempRangeStart(null);
|
|
222
261
|
setTempRangeEnd(null);
|
|
223
262
|
setRangeStart(null);
|
|
224
263
|
setRangeEnd(null);
|
|
225
264
|
setSelectingStart(true);
|
|
226
265
|
props.onChange(null);
|
|
266
|
+
// (props as any).onChange(disableToday ? tomorrow : null);
|
|
227
267
|
onClose();
|
|
228
268
|
} }, "Clear"),
|
|
229
269
|
react_1.default.createElement(Button_1.default, { size: "sm", colorScheme: "primary", onClick: function () {
|
package/dist/Pages/datePick.js
CHANGED
|
@@ -58,7 +58,7 @@ var DatePick = function () {
|
|
|
58
58
|
return (react_1.default.createElement("div", null,
|
|
59
59
|
react_1.default.createElement("h2", null, "Single Date Picker"),
|
|
60
60
|
react_1.default.createElement("h2", null, "Date "),
|
|
61
|
-
react_1.default.createElement(DatePicker_1.default, { selectedDate: selectedDate, onChange: handleDateChange, dateFormat: "dd/MM/yyyy", pickerType: "date", width: "300px", error: true, errorMessage: "Invalid date" }),
|
|
61
|
+
react_1.default.createElement(DatePicker_1.default, { selectedDate: selectedDate, onChange: handleDateChange, dateFormat: "dd/MM/yyyy", pickerType: "date", width: "300px", error: true, errorMessage: "Invalid date", disableToday: true }),
|
|
62
62
|
react_1.default.createElement("h2", null, "time "),
|
|
63
63
|
react_1.default.createElement(DatePicker_1.default, { selectedDate: selectedTime, onChange: handleTimeChange, dateFormat: "HH:mm", pickerType: "time", width: "300px", error: true, errorMessage: "Invalid date" }),
|
|
64
64
|
react_1.default.createElement("h2", null, "datetime "),
|