@fullcalendar/core 6.1.15 → 6.1.18

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.
Files changed (170) hide show
  1. package/index.cjs +91 -21
  2. package/index.global.js +189 -90
  3. package/index.global.min.js +2 -2
  4. package/index.js +92 -22
  5. package/internal-common.cjs +147 -121
  6. package/internal-common.d.ts +20 -5
  7. package/internal-common.js +148 -119
  8. package/internal.js +1 -1
  9. package/locales/af.global.js +1 -1
  10. package/locales/af.global.min.js +1 -1
  11. package/locales/ar-dz.global.js +1 -1
  12. package/locales/ar-dz.global.min.js +1 -1
  13. package/locales/ar-kw.global.js +1 -1
  14. package/locales/ar-kw.global.min.js +1 -1
  15. package/locales/ar-ly.global.js +1 -1
  16. package/locales/ar-ly.global.min.js +1 -1
  17. package/locales/ar-ma.global.js +1 -1
  18. package/locales/ar-ma.global.min.js +1 -1
  19. package/locales/ar-sa.global.js +1 -1
  20. package/locales/ar-sa.global.min.js +1 -1
  21. package/locales/ar-tn.global.js +1 -1
  22. package/locales/ar-tn.global.min.js +1 -1
  23. package/locales/ar.global.js +1 -1
  24. package/locales/ar.global.min.js +1 -1
  25. package/locales/az.global.js +1 -1
  26. package/locales/az.global.min.js +1 -1
  27. package/locales/bg.global.js +1 -1
  28. package/locales/bg.global.min.js +1 -1
  29. package/locales/bn.global.js +1 -1
  30. package/locales/bn.global.min.js +1 -1
  31. package/locales/bs.global.js +1 -1
  32. package/locales/bs.global.min.js +1 -1
  33. package/locales/ca.global.js +1 -1
  34. package/locales/ca.global.min.js +1 -1
  35. package/locales/cs.global.js +1 -1
  36. package/locales/cs.global.min.js +1 -1
  37. package/locales/cy.global.js +1 -1
  38. package/locales/cy.global.min.js +1 -1
  39. package/locales/da.global.js +1 -1
  40. package/locales/da.global.min.js +1 -1
  41. package/locales/de-at.global.js +1 -1
  42. package/locales/de-at.global.min.js +1 -1
  43. package/locales/de.global.js +1 -1
  44. package/locales/de.global.min.js +1 -1
  45. package/locales/el.global.js +1 -1
  46. package/locales/el.global.min.js +1 -1
  47. package/locales/en-au.global.js +1 -1
  48. package/locales/en-au.global.min.js +1 -1
  49. package/locales/en-gb.global.js +1 -1
  50. package/locales/en-gb.global.min.js +1 -1
  51. package/locales/en-nz.global.js +1 -1
  52. package/locales/en-nz.global.min.js +1 -1
  53. package/locales/eo.global.js +1 -1
  54. package/locales/eo.global.min.js +1 -1
  55. package/locales/es-us.global.js +1 -1
  56. package/locales/es-us.global.min.js +1 -1
  57. package/locales/es.global.js +1 -1
  58. package/locales/es.global.min.js +1 -1
  59. package/locales/et.global.js +1 -1
  60. package/locales/et.global.min.js +1 -1
  61. package/locales/eu.global.js +1 -1
  62. package/locales/eu.global.min.js +1 -1
  63. package/locales/fa.global.js +1 -1
  64. package/locales/fa.global.min.js +1 -1
  65. package/locales/fi.global.js +1 -1
  66. package/locales/fi.global.min.js +1 -1
  67. package/locales/fr-ca.global.js +1 -1
  68. package/locales/fr-ca.global.min.js +1 -1
  69. package/locales/fr-ch.global.js +1 -1
  70. package/locales/fr-ch.global.min.js +1 -1
  71. package/locales/fr.global.js +1 -1
  72. package/locales/fr.global.min.js +1 -1
  73. package/locales/gl.global.js +1 -1
  74. package/locales/gl.global.min.js +1 -1
  75. package/locales/he.global.js +1 -1
  76. package/locales/he.global.min.js +1 -1
  77. package/locales/hi.global.js +1 -1
  78. package/locales/hi.global.min.js +1 -1
  79. package/locales/hr.global.js +1 -1
  80. package/locales/hr.global.min.js +1 -1
  81. package/locales/hu.global.js +1 -1
  82. package/locales/hu.global.min.js +1 -1
  83. package/locales/hy-am.global.js +1 -1
  84. package/locales/hy-am.global.min.js +1 -1
  85. package/locales/id.global.js +1 -1
  86. package/locales/id.global.min.js +1 -1
  87. package/locales/is.global.js +1 -1
  88. package/locales/is.global.min.js +1 -1
  89. package/locales/it.global.js +1 -1
  90. package/locales/it.global.min.js +1 -1
  91. package/locales/ja.global.js +1 -1
  92. package/locales/ja.global.min.js +1 -1
  93. package/locales/ka.global.js +1 -1
  94. package/locales/ka.global.min.js +1 -1
  95. package/locales/kk.global.js +1 -1
  96. package/locales/kk.global.min.js +1 -1
  97. package/locales/km.global.js +1 -1
  98. package/locales/km.global.min.js +1 -1
  99. package/locales/ko.global.js +1 -1
  100. package/locales/ko.global.min.js +1 -1
  101. package/locales/ku.global.js +1 -1
  102. package/locales/ku.global.min.js +1 -1
  103. package/locales/lb.global.js +1 -1
  104. package/locales/lb.global.min.js +1 -1
  105. package/locales/lt.global.js +1 -1
  106. package/locales/lt.global.min.js +1 -1
  107. package/locales/lv.global.js +1 -1
  108. package/locales/lv.global.min.js +1 -1
  109. package/locales/mk.global.js +1 -1
  110. package/locales/mk.global.min.js +1 -1
  111. package/locales/ms.global.js +1 -1
  112. package/locales/ms.global.min.js +1 -1
  113. package/locales/nb.global.js +1 -1
  114. package/locales/nb.global.min.js +1 -1
  115. package/locales/ne.global.js +1 -1
  116. package/locales/ne.global.min.js +1 -1
  117. package/locales/nl.global.js +1 -1
  118. package/locales/nl.global.min.js +1 -1
  119. package/locales/nn.global.js +1 -1
  120. package/locales/nn.global.min.js +1 -1
  121. package/locales/pl.global.js +1 -1
  122. package/locales/pl.global.min.js +1 -1
  123. package/locales/pt-br.global.js +1 -1
  124. package/locales/pt-br.global.min.js +1 -1
  125. package/locales/pt.global.js +1 -1
  126. package/locales/pt.global.min.js +1 -1
  127. package/locales/ro.global.js +1 -1
  128. package/locales/ro.global.min.js +1 -1
  129. package/locales/ru.global.js +1 -1
  130. package/locales/ru.global.min.js +1 -1
  131. package/locales/si-lk.global.js +1 -1
  132. package/locales/si-lk.global.min.js +1 -1
  133. package/locales/sk.global.js +1 -1
  134. package/locales/sk.global.min.js +1 -1
  135. package/locales/sl.global.js +1 -1
  136. package/locales/sl.global.min.js +1 -1
  137. package/locales/sm.global.js +1 -1
  138. package/locales/sm.global.min.js +1 -1
  139. package/locales/sq.global.js +1 -1
  140. package/locales/sq.global.min.js +1 -1
  141. package/locales/sr-cyrl.global.js +1 -1
  142. package/locales/sr-cyrl.global.min.js +1 -1
  143. package/locales/sr.global.js +1 -1
  144. package/locales/sr.global.min.js +1 -1
  145. package/locales/sv.global.js +1 -1
  146. package/locales/sv.global.min.js +1 -1
  147. package/locales/ta-in.global.js +1 -1
  148. package/locales/ta-in.global.min.js +1 -1
  149. package/locales/th.global.js +1 -1
  150. package/locales/th.global.min.js +1 -1
  151. package/locales/tr.global.js +1 -1
  152. package/locales/tr.global.min.js +1 -1
  153. package/locales/ug.global.js +1 -1
  154. package/locales/ug.global.min.js +1 -1
  155. package/locales/uk.global.js +1 -1
  156. package/locales/uk.global.min.js +1 -1
  157. package/locales/uz-cy.global.js +1 -1
  158. package/locales/uz-cy.global.min.js +1 -1
  159. package/locales/uz.global.js +1 -1
  160. package/locales/uz.global.min.js +1 -1
  161. package/locales/vi.global.js +1 -1
  162. package/locales/vi.global.min.js +1 -1
  163. package/locales/zh-cn.global.js +1 -1
  164. package/locales/zh-cn.global.min.js +1 -1
  165. package/locales/zh-tw.global.js +1 -1
  166. package/locales/zh-tw.global.min.js +1 -1
  167. package/locales-all.global.js +1 -1
  168. package/locales-all.global.min.js +1 -1
  169. package/package.json +1 -1
  170. package/preact.js +1 -1
package/index.cjs CHANGED
@@ -462,6 +462,25 @@ function reduceViewType(viewType, action) {
462
462
  return viewType;
463
463
  }
464
464
 
465
+ function reduceCurrentDate(currentDate, action) {
466
+ switch (action.type) {
467
+ case 'CHANGE_DATE':
468
+ return action.dateMarker;
469
+ default:
470
+ return currentDate;
471
+ }
472
+ }
473
+ // should be initialized once and stay constant
474
+ // this will change too
475
+ function getInitialDate(options, dateEnv, nowManager) {
476
+ let initialDateInput = options.initialDate;
477
+ // compute the initial ambig-timezone date
478
+ if (initialDateInput != null) {
479
+ return dateEnv.createMarker(initialDateInput);
480
+ }
481
+ return nowManager.getDateMarker();
482
+ }
483
+
465
484
  function reduceDynamicOptionOverrides(dynamicOptionOverrides, action) {
466
485
  switch (action.type) {
467
486
  case 'SET_OPTION':
@@ -971,6 +990,7 @@ let recurring = {
971
990
  endTime: refined.endTime || null,
972
991
  startRecur: refined.startRecur ? dateEnv.createMarker(refined.startRecur) : null,
973
992
  endRecur: refined.endRecur ? dateEnv.createMarker(refined.endRecur) : null,
993
+ dateEnv,
974
994
  };
975
995
  let duration;
976
996
  if (refined.duration) {
@@ -990,7 +1010,7 @@ let recurring = {
990
1010
  expand(typeData, framingRange, dateEnv) {
991
1011
  let clippedFramingRange = internalCommon.intersectRanges(framingRange, { start: typeData.startRecur, end: typeData.endRecur });
992
1012
  if (clippedFramingRange) {
993
- return expandRanges(typeData.daysOfWeek, typeData.startTime, clippedFramingRange, dateEnv);
1013
+ return expandRanges(typeData.daysOfWeek, typeData.startTime, typeData.dateEnv, dateEnv, clippedFramingRange);
994
1014
  }
995
1015
  return [];
996
1016
  },
@@ -1000,7 +1020,7 @@ const simpleRecurringEventsPlugin = createPlugin({
1000
1020
  recurringTypes: [recurring],
1001
1021
  eventRefiners: SIMPLE_RECURRING_REFINERS,
1002
1022
  });
1003
- function expandRanges(daysOfWeek, startTime, framingRange, dateEnv) {
1023
+ function expandRanges(daysOfWeek, startTime, eventDateEnv, calendarDateEnv, framingRange) {
1004
1024
  let dowHash = daysOfWeek ? internalCommon.arrayToHash(daysOfWeek) : null;
1005
1025
  let dayMarker = internalCommon.startOfDay(framingRange.start);
1006
1026
  let endMarker = framingRange.end;
@@ -1010,12 +1030,12 @@ function expandRanges(daysOfWeek, startTime, framingRange, dateEnv) {
1010
1030
  // if everyday, or this particular day-of-week
1011
1031
  if (!dowHash || dowHash[dayMarker.getUTCDay()]) {
1012
1032
  if (startTime) {
1013
- instanceStart = dateEnv.add(dayMarker, startTime);
1033
+ instanceStart = calendarDateEnv.add(dayMarker, startTime);
1014
1034
  }
1015
1035
  else {
1016
1036
  instanceStart = dayMarker;
1017
1037
  }
1018
- instanceStarts.push(instanceStart);
1038
+ instanceStarts.push(calendarDateEnv.createMarker(eventDateEnv.toDate(instanceStart)));
1019
1039
  }
1020
1040
  dayMarker = internalCommon.addDays(dayMarker, 1);
1021
1041
  }
@@ -1180,6 +1200,49 @@ function buildTitleFormat(dateProfile) {
1180
1200
  return { year: 'numeric', month: 'long', day: 'numeric' };
1181
1201
  }
1182
1202
 
1203
+ /*
1204
+ TODO: test switching timezones when NO timezone plugin
1205
+ */
1206
+ class CalendarNowManager {
1207
+ constructor() {
1208
+ this.resetListeners = new Set();
1209
+ }
1210
+ handleInput(dateEnv, // will change if timezone setup changed
1211
+ nowInput) {
1212
+ const oldDateEnv = this.dateEnv;
1213
+ if (dateEnv !== oldDateEnv) {
1214
+ if (typeof nowInput === 'function') {
1215
+ this.nowFn = nowInput;
1216
+ }
1217
+ else if (!oldDateEnv) { // first time?
1218
+ this.nowAnchorDate = dateEnv.toDate(nowInput
1219
+ ? dateEnv.createMarker(nowInput)
1220
+ : dateEnv.createNowMarker());
1221
+ this.nowAnchorQueried = Date.now();
1222
+ }
1223
+ this.dateEnv = dateEnv;
1224
+ // not first time? fire reset handlers
1225
+ if (oldDateEnv) {
1226
+ for (const resetListener of this.resetListeners.values()) {
1227
+ resetListener();
1228
+ }
1229
+ }
1230
+ }
1231
+ }
1232
+ getDateMarker() {
1233
+ return this.nowAnchorDate
1234
+ ? this.dateEnv.timestampToMarker(this.nowAnchorDate.valueOf() +
1235
+ (Date.now() - this.nowAnchorQueried))
1236
+ : this.dateEnv.createMarker(this.nowFn());
1237
+ }
1238
+ addResetListener(handler) {
1239
+ this.resetListeners.add(handler);
1240
+ }
1241
+ removeResetListener(handler) {
1242
+ this.resetListeners.delete(handler);
1243
+ }
1244
+ }
1245
+
1183
1246
  // in future refactor, do the redux-style function(state=initial) for initial-state
1184
1247
  // also, whatever is happening in constructor, have it happen in action queue too
1185
1248
  class CalendarDataManager {
@@ -1199,6 +1262,7 @@ class CalendarDataManager {
1199
1262
  this.buildEventUiBases = internalCommon.memoize(buildEventUiBases);
1200
1263
  this.parseContextBusinessHours = internalCommon.memoizeObjArg(parseContextBusinessHours);
1201
1264
  this.buildTitle = internalCommon.memoize(buildTitle);
1265
+ this.nowManager = new CalendarNowManager();
1202
1266
  this.emitter = new internalCommon.Emitter();
1203
1267
  this.actionRunner = new TaskRunner(this._handleAction.bind(this), this.updateData.bind(this));
1204
1268
  this.currentCalendarOptionsInput = {};
@@ -1214,6 +1278,7 @@ class CalendarDataManager {
1214
1278
  };
1215
1279
  this.props = props;
1216
1280
  this.actionRunner.pause();
1281
+ this.nowManager = new CalendarNowManager();
1217
1282
  let dynamicOptionOverrides = {};
1218
1283
  let optionsData = this.computeOptionsData(props.optionOverrides, dynamicOptionOverrides, props.calendarApi);
1219
1284
  let currentViewType = optionsData.calendarOptions.initialView || optionsData.pluginHooks.initialView;
@@ -1223,12 +1288,8 @@ class CalendarDataManager {
1223
1288
  props.calendarApi.currentDataManager = this;
1224
1289
  this.emitter.setThisContext(props.calendarApi);
1225
1290
  this.emitter.setOptions(currentViewData.options);
1226
- let currentDate = internalCommon.getInitialDate(optionsData.calendarOptions, optionsData.dateEnv);
1227
- let dateProfile = currentViewData.dateProfileGenerator.build(currentDate);
1228
- if (!internalCommon.rangeContainsMarker(dateProfile.activeRange, currentDate)) {
1229
- currentDate = dateProfile.currentRange.start;
1230
- }
1231
1291
  let calendarContext = {
1292
+ nowManager: this.nowManager,
1232
1293
  dateEnv: optionsData.dateEnv,
1233
1294
  options: optionsData.calendarOptions,
1234
1295
  pluginHooks: optionsData.pluginHooks,
@@ -1237,6 +1298,11 @@ class CalendarDataManager {
1237
1298
  emitter: this.emitter,
1238
1299
  getCurrentData: this.getCurrentData,
1239
1300
  };
1301
+ let currentDate = getInitialDate(optionsData.calendarOptions, optionsData.dateEnv, this.nowManager);
1302
+ let dateProfile = currentViewData.dateProfileGenerator.build(currentDate);
1303
+ if (!internalCommon.rangeContainsMarker(dateProfile.activeRange, currentDate)) {
1304
+ currentDate = dateProfile.currentRange.start;
1305
+ }
1240
1306
  // needs to be after setThisContext
1241
1307
  for (let callback of optionsData.pluginHooks.contextInit) {
1242
1308
  callback(calendarContext);
@@ -1297,6 +1363,7 @@ class CalendarDataManager {
1297
1363
  emitter.setThisContext(props.calendarApi);
1298
1364
  emitter.setOptions(currentViewData.options);
1299
1365
  let calendarContext = {
1366
+ nowManager: this.nowManager,
1300
1367
  dateEnv: optionsData.dateEnv,
1301
1368
  options: optionsData.calendarOptions,
1302
1369
  pluginHooks: optionsData.pluginHooks,
@@ -1309,7 +1376,7 @@ class CalendarDataManager {
1309
1376
  if (this.data && this.data.dateProfileGenerator !== currentViewData.dateProfileGenerator) { // hack
1310
1377
  dateProfile = currentViewData.dateProfileGenerator.build(currentDate);
1311
1378
  }
1312
- currentDate = internalCommon.reduceCurrentDate(currentDate, action);
1379
+ currentDate = reduceCurrentDate(currentDate, action);
1313
1380
  dateProfile = reduceDateProfile(dateProfile, action, currentDate, currentViewData.dateProfileGenerator);
1314
1381
  if (action.type === 'PREV' || // TODO: move this logic into DateProfileGenerator
1315
1382
  action.type === 'NEXT' || // "
@@ -1364,7 +1431,7 @@ class CalendarDataManager {
1364
1431
  let oldData = this.data;
1365
1432
  let optionsData = this.computeOptionsData(props.optionOverrides, state.dynamicOptionOverrides, props.calendarApi);
1366
1433
  let currentViewData = this.computeCurrentViewData(state.currentViewType, optionsData, props.optionOverrides, state.dynamicOptionOverrides);
1367
- let data = this.data = Object.assign(Object.assign(Object.assign({ viewTitle: this.buildTitle(state.dateProfile, currentViewData.options, optionsData.dateEnv), calendarApi: props.calendarApi, dispatch: this.dispatch, emitter: this.emitter, getCurrentData: this.getCurrentData }, optionsData), currentViewData), state);
1434
+ let data = this.data = Object.assign(Object.assign(Object.assign({ nowManager: this.nowManager, viewTitle: this.buildTitle(state.dateProfile, currentViewData.options, optionsData.dateEnv), calendarApi: props.calendarApi, dispatch: this.dispatch, emitter: this.emitter, getCurrentData: this.getCurrentData }, optionsData), currentViewData), state);
1368
1435
  let changeHandlers = optionsData.pluginHooks.optionChangeHandlers;
1369
1436
  let oldCalendarOptions = oldData && oldData.calendarOptions;
1370
1437
  let newCalendarOptions = optionsData.calendarOptions;
@@ -1472,8 +1539,10 @@ class CalendarDataManager {
1472
1539
  }
1473
1540
  let { refinedOptions, extra } = this.processRawViewOptions(viewSpec, optionsData.pluginHooks, optionsData.localeDefaults, optionOverrides, dynamicOptionOverrides);
1474
1541
  warnUnknownOptions(extra);
1542
+ this.nowManager.handleInput(optionsData.dateEnv, refinedOptions.now);
1475
1543
  let dateProfileGenerator = this.buildDateProfileGenerator({
1476
1544
  dateProfileGeneratorClass: viewSpec.optionDefaults.dateProfileGeneratorClass,
1545
+ nowManager: this.nowManager,
1477
1546
  duration: viewSpec.duration,
1478
1547
  durationUnit: viewSpec.durationUnit,
1479
1548
  usesMinMaxTime: viewSpec.optionDefaults.usesMinMaxTime,
@@ -1487,7 +1556,6 @@ class CalendarDataManager {
1487
1556
  dateIncrement: refinedOptions.dateIncrement,
1488
1557
  hiddenDays: refinedOptions.hiddenDays,
1489
1558
  weekends: refinedOptions.weekends,
1490
- nowInput: refinedOptions.now,
1491
1559
  validRangeInput: refinedOptions.validRange,
1492
1560
  visibleRangeInput: refinedOptions.visibleRange,
1493
1561
  fixedWeekCount: refinedOptions.fixedWeekCount,
@@ -1891,8 +1959,6 @@ class CalendarContent extends internalCommon.PureComponent {
1891
1959
  render() {
1892
1960
  let { props } = this;
1893
1961
  let { toolbarConfig, options } = props;
1894
- let toolbarProps = this.buildToolbarProps(props.viewSpec, props.dateProfile, props.dateProfileGenerator, props.currentDate, internalCommon.getNow(props.options.now, props.dateEnv), // TODO: use NowTimer????
1895
- props.viewTitle);
1896
1962
  let viewVGrow = false;
1897
1963
  let viewHeight = '';
1898
1964
  let viewAspectRatio;
@@ -1908,16 +1974,20 @@ class CalendarContent extends internalCommon.PureComponent {
1908
1974
  else {
1909
1975
  viewAspectRatio = Math.max(options.aspectRatio, 0.5); // prevent from getting too tall
1910
1976
  }
1911
- let viewContext = this.buildViewContext(props.viewSpec, props.viewApi, props.options, props.dateProfileGenerator, props.dateEnv, props.theme, props.pluginHooks, props.dispatch, props.getCurrentData, props.emitter, props.calendarApi, this.registerInteractiveComponent, this.unregisterInteractiveComponent);
1977
+ let viewContext = this.buildViewContext(props.viewSpec, props.viewApi, props.options, props.dateProfileGenerator, props.dateEnv, props.nowManager, props.theme, props.pluginHooks, props.dispatch, props.getCurrentData, props.emitter, props.calendarApi, this.registerInteractiveComponent, this.unregisterInteractiveComponent);
1912
1978
  let viewLabelId = (toolbarConfig.header && toolbarConfig.header.hasTitle)
1913
1979
  ? this.state.viewLabelId
1914
1980
  : undefined;
1915
1981
  return (preact.createElement(internalCommon.ViewContextType.Provider, { value: viewContext },
1916
- toolbarConfig.header && (preact.createElement(Toolbar, Object.assign({ ref: this.headerRef, extraClassName: "fc-header-toolbar", model: toolbarConfig.header, titleId: viewLabelId }, toolbarProps))),
1917
- preact.createElement(ViewHarness, { liquid: viewVGrow, height: viewHeight, aspectRatio: viewAspectRatio, labeledById: viewLabelId },
1918
- this.renderView(props),
1919
- this.buildAppendContent()),
1920
- toolbarConfig.footer && (preact.createElement(Toolbar, Object.assign({ ref: this.footerRef, extraClassName: "fc-footer-toolbar", model: toolbarConfig.footer, titleId: "" }, toolbarProps)))));
1982
+ preact.createElement(internalCommon.NowTimer, { unit: "day" }, (nowDate) => {
1983
+ let toolbarProps = this.buildToolbarProps(props.viewSpec, props.dateProfile, props.dateProfileGenerator, props.currentDate, nowDate, props.viewTitle);
1984
+ return (preact.createElement(preact.Fragment, null,
1985
+ toolbarConfig.header && (preact.createElement(Toolbar, Object.assign({ ref: this.headerRef, extraClassName: "fc-header-toolbar", model: toolbarConfig.header, titleId: viewLabelId }, toolbarProps))),
1986
+ preact.createElement(ViewHarness, { liquid: viewVGrow, height: viewHeight, aspectRatio: viewAspectRatio, labeledById: viewLabelId },
1987
+ this.renderView(props),
1988
+ this.buildAppendContent()),
1989
+ toolbarConfig.footer && (preact.createElement(Toolbar, Object.assign({ ref: this.footerRef, extraClassName: "fc-footer-toolbar", model: toolbarConfig.footer, titleId: "" }, toolbarProps)))));
1990
+ })));
1921
1991
  }
1922
1992
  componentDidMount() {
1923
1993
  let { props } = this;
@@ -2139,7 +2209,7 @@ function sliceEvents(props, allDay) {
2139
2209
  return internalCommon.sliceEventStore(props.eventStore, props.eventUiBases, props.dateProfile.activeRange, allDay ? props.nextDayThreshold : null).fg;
2140
2210
  }
2141
2211
 
2142
- const version = '6.1.15';
2212
+ const version = '6.1.18';
2143
2213
 
2144
2214
  exports.JsonRequestError = internalCommon.JsonRequestError;
2145
2215
  exports.Calendar = Calendar;