@uxf/datepicker 11.94.0 → 11.96.0-canary.1

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.
@@ -1,39 +1,54 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isDateHovered = isDateHovered;
4
+ const tz_1 = require("@date-fns/tz");
5
+ const date_fns_1 = require("date-fns");
4
6
  const dayjs_en_1 = require("./dayjs-en");
5
7
  const get_each_1 = require("./get-each");
8
+ function isBetween(date, start, end) {
9
+ return (0, date_fns_1.isAfter)(date, start) && (0, date_fns_1.isBefore)(date, end);
10
+ }
11
+ // eslint-disable-next-line complexity
6
12
  function isDateHovered({ date, startDate, endDate, isDateBlocked, hoveredDate, minBookingDays, exactMinBookingDays, }) {
13
+ const dateTZ = new tz_1.TZDate(date, dayjs_en_1.DEFAULT_TIMEZONE);
14
+ const hoveredDateTZ = hoveredDate ? new tz_1.TZDate(hoveredDate, dayjs_en_1.DEFAULT_TIMEZONE) : null;
7
15
  if (
8
16
  // exact min booking days
9
- hoveredDate &&
17
+ hoveredDateTZ &&
10
18
  minBookingDays > 1 &&
11
19
  exactMinBookingDays &&
12
- (0, dayjs_en_1.dayjsEn)(date).isBetween(hoveredDate, (0, dayjs_en_1.dayjsEn)(hoveredDate).add(minBookingDays - 1, "day"))) {
13
- return !(0, get_each_1.getEach)(hoveredDate, (0, dayjs_en_1.dayjsEn)(hoveredDate)
14
- .add(minBookingDays - 1, "day")
15
- .toDate(), "day").some((d) => isDateBlocked(d));
20
+ isBetween(dateTZ, hoveredDateTZ, (0, date_fns_1.addDays)(hoveredDateTZ, minBookingDays - 1))) {
21
+ if (isDateBlocked) {
22
+ return !(0, get_each_1.getEach)(hoveredDateTZ, (0, date_fns_1.addDays)(hoveredDateTZ, minBookingDays - 1), "day").some((d) => isDateBlocked(d));
23
+ }
24
+ return true;
16
25
  }
17
- else if (
26
+ const startDateTZ = startDate ? new tz_1.TZDate(startDate, dayjs_en_1.DEFAULT_TIMEZONE) : null;
27
+ const endDateTZ = endDate ? new tz_1.TZDate(endDate, dayjs_en_1.DEFAULT_TIMEZONE) : null;
28
+ if (
18
29
  // min booking days
19
- startDate &&
20
- !endDate &&
21
- hoveredDate &&
22
- (0, dayjs_en_1.dayjsEn)(date).isBetween(startDate, (0, dayjs_en_1.dayjsEn)(startDate).add(minBookingDays - 1, "day")) &&
23
- (0, dayjs_en_1.dayjsEn)(startDate).isSame(hoveredDate, "days") &&
24
- minBookingDays > 1) {
25
- return !(0, get_each_1.getEach)(startDate, (0, dayjs_en_1.dayjsEn)(startDate)
26
- .add(minBookingDays - 1, "day")
27
- .toDate(), "day").some((d) => isDateBlocked(d));
30
+ startDateTZ &&
31
+ !endDateTZ &&
32
+ hoveredDateTZ &&
33
+ minBookingDays > 1 &&
34
+ isBetween(dateTZ, startDateTZ, (0, date_fns_1.addDays)(startDateTZ, minBookingDays - 1)) &&
35
+ (0, date_fns_1.isSameDay)(startDateTZ, hoveredDateTZ)) {
36
+ if (isDateBlocked) {
37
+ return !(0, get_each_1.getEach)(startDateTZ, (0, date_fns_1.addDays)(startDateTZ, minBookingDays - 1), "day").some((d) => isDateBlocked(d));
38
+ }
39
+ return true;
28
40
  }
29
- else if (
41
+ if (
30
42
  // normal
31
- startDate &&
32
- !endDate &&
33
- hoveredDate &&
34
- !(0, dayjs_en_1.dayjsEn)(hoveredDate).isBefore(startDate) &&
35
- (0, dayjs_en_1.dayjsEn)(date).isBetween(startDate, hoveredDate)) {
36
- return !(0, get_each_1.getEach)(startDate, hoveredDate, "day").some((d) => isDateBlocked(d));
43
+ startDateTZ &&
44
+ !endDateTZ &&
45
+ hoveredDateTZ &&
46
+ !(0, date_fns_1.isBefore)(hoveredDateTZ, startDateTZ) &&
47
+ isBetween(dateTZ, startDateTZ, hoveredDateTZ)) {
48
+ if (isDateBlocked) {
49
+ return !(0, get_each_1.getEach)(startDateTZ, hoveredDateTZ, "day").some((d) => isDateBlocked(d));
50
+ }
51
+ return true;
37
52
  }
38
53
  return false;
39
54
  }
@@ -1,10 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isDateInsideRange = isDateInsideRange;
4
+ const tz_1 = require("@date-fns/tz");
5
+ const date_fns_1 = require("date-fns");
4
6
  const dayjs_en_1 = require("./dayjs-en");
7
+ function isBetween(date, start, end) {
8
+ return (0, date_fns_1.isAfter)(date, start) && (0, date_fns_1.isBefore)(date, end);
9
+ }
5
10
  function isDateInsideRange(date, startDate, endDate) {
6
11
  if (startDate && endDate) {
7
- return (0, dayjs_en_1.dayjsEn)(date).isBetween(startDate, endDate);
12
+ return isBetween(new tz_1.TZDate(date, dayjs_en_1.DEFAULT_TIMEZONE), new tz_1.TZDate(startDate, dayjs_en_1.DEFAULT_TIMEZONE), new tz_1.TZDate(endDate, dayjs_en_1.DEFAULT_TIMEZONE));
8
13
  }
9
14
  return false;
10
15
  }
@@ -1,7 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isFirstOrLastSelectedDate = isFirstOrLastSelectedDate;
4
+ const tz_1 = require("@date-fns/tz");
5
+ const date_fns_1 = require("date-fns");
4
6
  const dayjs_en_1 = require("./dayjs-en");
5
7
  function isFirstOrLastSelectedDate(date, startDate, endDate) {
6
- return Boolean((startDate && (0, dayjs_en_1.dayjsEn)(date).isSame(startDate, "day")) || (endDate && (0, dayjs_en_1.dayjsEn)(date).isSame(endDate, "day")));
8
+ if (!startDate && !endDate) {
9
+ return false;
10
+ }
11
+ const dateTZ = new tz_1.TZDate(date, dayjs_en_1.DEFAULT_TIMEZONE);
12
+ const startDateTZ = startDate ? new tz_1.TZDate(startDate, dayjs_en_1.DEFAULT_TIMEZONE) : null;
13
+ const endDateTZ = endDate ? new tz_1.TZDate(endDate, dayjs_en_1.DEFAULT_TIMEZONE) : null;
14
+ return Boolean((startDateTZ && (0, date_fns_1.isSameDay)(dateTZ, startDateTZ)) || (endDateTZ && (0, date_fns_1.isSameDay)(dateTZ, endDateTZ)));
7
15
  }
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isInUnavailableDates = isInUnavailableDates;
4
+ const tz_1 = require("@date-fns/tz");
5
+ const date_fns_1 = require("date-fns");
4
6
  const dayjs_en_1 = require("./dayjs-en");
5
7
  function isInUnavailableDates(unavailableDates = [], date) {
6
- return unavailableDates.some((_date) => (0, dayjs_en_1.dayjsEn)(date).isSame(_date, "day"));
8
+ return unavailableDates.some((_date) => (0, date_fns_1.isSameDay)(new tz_1.TZDate(date, dayjs_en_1.DEFAULT_TIMEZONE), new tz_1.TZDate(_date, dayjs_en_1.DEFAULT_TIMEZONE)));
7
9
  }