fullcalendar 6.1.18 → 6.1.19

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/index.global.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- FullCalendar Standard Bundle v6.1.18
2
+ FullCalendar Standard Bundle v6.1.19
3
3
  Docs & License: https://fullcalendar.io/docs/initialize-globals
4
4
  (c) 2024 Adam Shaw
5
5
  */
@@ -1363,6 +1363,7 @@ var FullCalendar = (function (exports) {
1363
1363
  viewDidMount: identity,
1364
1364
  viewWillUnmount: identity,
1365
1365
  nowIndicator: Boolean,
1366
+ nowIndicatorSnap: identity,
1366
1367
  nowIndicatorClassNames: identity,
1367
1368
  nowIndicatorContent: identity,
1368
1369
  nowIndicatorDidMount: identity,
@@ -1545,6 +1546,7 @@ var FullCalendar = (function (exports) {
1545
1546
  eventMinWidth: 30,
1546
1547
  eventShortHeight: 30,
1547
1548
  monthStartFormat: { month: 'long', day: 'numeric' },
1549
+ nowIndicatorSnap: 'auto',
1548
1550
  };
1549
1551
  // calendar listeners
1550
1552
  // ------------------
@@ -4801,14 +4803,30 @@ var FullCalendar = (function (exports) {
4801
4803
  computeTiming() {
4802
4804
  let { props, context } = this;
4803
4805
  let unroundedNow = context.nowManager.getDateMarker();
4804
- let currentUnitStart = context.dateEnv.startOf(unroundedNow, props.unit);
4805
- let nextUnitStart = context.dateEnv.add(currentUnitStart, createDuration(1, props.unit));
4806
- let waitMs = nextUnitStart.valueOf() - unroundedNow.valueOf();
4806
+ let { nowIndicatorSnap } = context.options;
4807
+ if (nowIndicatorSnap === 'auto') {
4808
+ nowIndicatorSnap =
4809
+ // large unit?
4810
+ /year|month|week|day/.test(props.unit) ||
4811
+ // if slotDuration 30 mins for example, would NOT appear to snap (legacy behavior)
4812
+ (props.unitValue || 1) === 1;
4813
+ }
4814
+ let nowDate;
4815
+ let waitMs;
4816
+ if (nowIndicatorSnap) {
4817
+ nowDate = context.dateEnv.startOf(unroundedNow, props.unit); // aka currentUnitStart
4818
+ let nextUnitStart = context.dateEnv.add(nowDate, createDuration(1, props.unit));
4819
+ waitMs = nextUnitStart.valueOf() - unroundedNow.valueOf();
4820
+ }
4821
+ else {
4822
+ nowDate = unroundedNow;
4823
+ waitMs = 1000 * 60; // 1 minute
4824
+ }
4807
4825
  // there is a max setTimeout ms value (https://stackoverflow.com/a/3468650/96342)
4808
4826
  // ensure no longer than a day
4809
4827
  waitMs = Math.min(1000 * 60 * 60 * 24, waitMs);
4810
4828
  return {
4811
- state: { nowDate: currentUnitStart, todayRange: buildDayRange(currentUnitStart) },
4829
+ state: { nowDate, todayRange: buildDayRange(nowDate) },
4812
4830
  waitMs,
4813
4831
  };
4814
4832
  }
@@ -8750,6 +8768,17 @@ var FullCalendar = (function (exports) {
8750
8768
  let dayMarker = startOfDay(framingRange.start);
8751
8769
  let endMarker = framingRange.end;
8752
8770
  let instanceStarts = [];
8771
+ // https://github.com/fullcalendar/fullcalendar/issues/7934
8772
+ if (startTime) {
8773
+ if (startTime.milliseconds < 0) {
8774
+ // possible for next-day to have negative business hours that go into current day
8775
+ endMarker = addDays(endMarker, 1);
8776
+ }
8777
+ else if (startTime.milliseconds >= 1000 * 60 * 60 * 24) {
8778
+ // possible for prev-day to have >24hr business hours that go into current day
8779
+ dayMarker = addDays(dayMarker, -1);
8780
+ }
8781
+ }
8753
8782
  while (dayMarker < endMarker) {
8754
8783
  let instanceStart;
8755
8784
  // if everyday, or this particular day-of-week
@@ -9934,7 +9963,7 @@ var FullCalendar = (function (exports) {
9934
9963
  return sliceEventStore(props.eventStore, props.eventUiBases, props.dateProfile.activeRange, allDay ? props.nextDayThreshold : null).fg;
9935
9964
  }
9936
9965
 
9937
- const version = '6.1.18';
9966
+ const version = '6.1.19';
9938
9967
 
9939
9968
  config.touchMouseIgnoreWait = 500;
9940
9969
  let ignoreMouseDepth = 0;