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 _e = (0, react_2.useDisclosure)(), isOpen = _e.isOpen, onOpen = _e.onOpen, onClose = _e.onClose;
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
- var _f = (0, react_1.useState)(isRange ? new Date() : selectedDate !== null && selectedDate !== void 0 ? selectedDate : new Date()), currentMonth = _f[0], setCurrentMonth = _f[1];
59
- var _g = (0, react_1.useState)(null), rangeStart = _g[0], setRangeStart = _g[1];
60
- var _h = (0, react_1.useState)(null), rangeEnd = _h[0], setRangeEnd = _h[1];
61
- var _j = (0, react_1.useState)(true), selectingStart = _j[0], setSelectingStart = _j[1];
62
- var _k = (0, react_1.useState)(selectedDate !== null && selectedDate !== void 0 ? selectedDate : null), tempDate = _k[0], setTempDate = _k[1];
63
- var _l = (0, react_1.useState)(rangeStart), tempRangeStart = _l[0], setTempRangeStart = _l[1];
64
- var _m = (0, react_1.useState)(rangeEnd), tempRangeEnd = _m[0], setTempRangeEnd = _m[1];
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, { date: tempDate !== null && tempDate !== void 0 ? tempDate : new Date(), dateFormat: dateFormat, onChange: function (updatedDate) {
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 () {
@@ -19,6 +19,7 @@ export type BaseDatePickerProps = {
19
19
  autoComplete?: string;
20
20
  disabled?: boolean;
21
21
  width?: string | number;
22
+ disableToday?: boolean;
22
23
  };
23
24
  export type SingleDatePickerProps = BaseDatePickerProps & {
24
25
  isRange?: false;
@@ -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 "),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pixelize-design-library",
3
- "version": "2.1.50",
3
+ "version": "2.1.51",
4
4
  "private": false,
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",