@syncfusion/ej2-schedule 24.2.4 → 25.1.35

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 (90) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/ej2-schedule.min.js +2 -2
  3. package/dist/ej2-schedule.umd.min.js +2 -2
  4. package/dist/ej2-schedule.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-schedule.es2015.js +131 -59
  6. package/dist/es6/ej2-schedule.es2015.js.map +1 -1
  7. package/dist/es6/ej2-schedule.es5.js +131 -58
  8. package/dist/es6/ej2-schedule.es5.js.map +1 -1
  9. package/dist/global/ej2-schedule.min.js +2 -2
  10. package/dist/global/ej2-schedule.min.js.map +1 -1
  11. package/dist/global/index.d.ts +1 -1
  12. package/package.json +16 -16
  13. package/src/schedule/actions/crud.js +6 -0
  14. package/src/schedule/actions/drag.js +3 -3
  15. package/src/schedule/actions/keyboard.d.ts +1 -0
  16. package/src/schedule/actions/keyboard.js +11 -4
  17. package/src/schedule/actions/resize.js +22 -21
  18. package/src/schedule/actions/virtual-scroll.js +4 -0
  19. package/src/schedule/base/interface.d.ts +1 -0
  20. package/src/schedule/base/schedule.d.ts +4 -1
  21. package/src/schedule/base/schedule.js +16 -1
  22. package/src/schedule/base/util.d.ts +21 -0
  23. package/src/schedule/base/util.js +29 -2
  24. package/src/schedule/event-renderer/event-base.d.ts +0 -1
  25. package/src/schedule/event-renderer/event-base.js +0 -3
  26. package/src/schedule/event-renderer/inline-edit.js +1 -1
  27. package/src/schedule/event-renderer/month.js +2 -2
  28. package/src/schedule/event-renderer/timeline-view.js +5 -5
  29. package/src/schedule/event-renderer/vertical-view.js +1 -1
  30. package/src/schedule/event-renderer/year.js +3 -3
  31. package/src/schedule/popups/quick-popups.js +11 -0
  32. package/src/schedule/renderer/renderer.js +11 -3
  33. package/src/schedule/renderer/timeline-view.d.ts +0 -1
  34. package/src/schedule/renderer/timeline-view.js +3 -6
  35. package/src/schedule/renderer/vertical-view.js +1 -1
  36. package/src/schedule/renderer/view-base.js +1 -1
  37. package/styles/bootstrap-dark.css +51 -2
  38. package/styles/bootstrap.css +51 -2
  39. package/styles/bootstrap4.css +48 -3
  40. package/styles/bootstrap5-dark.css +48 -3
  41. package/styles/bootstrap5.css +48 -3
  42. package/styles/fabric-dark.css +47 -2
  43. package/styles/fabric.css +47 -2
  44. package/styles/fluent-dark.css +52 -2
  45. package/styles/fluent.css +52 -2
  46. package/styles/highcontrast-light.css +47 -2
  47. package/styles/highcontrast.css +47 -2
  48. package/styles/material-dark.css +47 -2
  49. package/styles/material.css +47 -2
  50. package/styles/material3-dark.css +48 -3
  51. package/styles/material3.css +48 -3
  52. package/styles/recurrence-editor/_bds-definition.scss +15 -0
  53. package/styles/schedule/_bds-definition.scss +287 -0
  54. package/styles/schedule/_bootstrap-dark-definition.scss +1 -0
  55. package/styles/schedule/_bootstrap-definition.scss +1 -0
  56. package/styles/schedule/_bootstrap4-definition.scss +2 -1
  57. package/styles/schedule/_bootstrap5-definition.scss +2 -1
  58. package/styles/schedule/_fabric-dark-definition.scss +1 -0
  59. package/styles/schedule/_fabric-definition.scss +1 -0
  60. package/styles/schedule/_fluent-definition.scss +1 -0
  61. package/styles/schedule/_fusionnew-definition.scss +2 -1
  62. package/styles/schedule/_highcontrast-definition.scss +1 -0
  63. package/styles/schedule/_highcontrast-light-definition.scss +1 -0
  64. package/styles/schedule/_layout.scss +60 -1
  65. package/styles/schedule/_material-dark-definition.scss +1 -0
  66. package/styles/schedule/_material-definition.scss +1 -0
  67. package/styles/schedule/_material3-definition.scss +2 -1
  68. package/styles/schedule/_tailwind-definition.scss +2 -1
  69. package/styles/schedule/bootstrap-dark.css +51 -2
  70. package/styles/schedule/bootstrap.css +51 -2
  71. package/styles/schedule/bootstrap4.css +48 -3
  72. package/styles/schedule/bootstrap5-dark.css +48 -3
  73. package/styles/schedule/bootstrap5.css +48 -3
  74. package/styles/schedule/fabric-dark.css +47 -2
  75. package/styles/schedule/fabric.css +47 -2
  76. package/styles/schedule/fluent-dark.css +52 -2
  77. package/styles/schedule/fluent.css +52 -2
  78. package/styles/schedule/highcontrast-light.css +47 -2
  79. package/styles/schedule/highcontrast.css +47 -2
  80. package/styles/schedule/icons/_bds.scss +235 -0
  81. package/styles/schedule/material-dark.css +47 -2
  82. package/styles/schedule/material.css +47 -2
  83. package/styles/schedule/material3-dark.css +48 -3
  84. package/styles/schedule/material3.css +48 -3
  85. package/styles/schedule/tailwind-dark.css +48 -3
  86. package/styles/schedule/tailwind.css +48 -3
  87. package/styles/tailwind-dark.css +48 -3
  88. package/styles/tailwind.css +48 -3
  89. package/.github/PULL_REQUEST_TEMPLATE/Bug.md +0 -63
  90. package/.github/PULL_REQUEST_TEMPLATE/Feature.md +0 -39
@@ -115,7 +115,7 @@ function getElementHeightFromClass(container, elementClass) {
115
115
  el.style.visibility = 'hidden';
116
116
  el.style.position = 'absolute';
117
117
  container.appendChild(el);
118
- height = el.getBoundingClientRect().height;
118
+ height = getElementHeight(el);
119
119
  remove(el);
120
120
  return height;
121
121
  }
@@ -132,7 +132,7 @@ function getElementWidthFromClass(container, elementClass) {
132
132
  el.style.visibility = 'hidden';
133
133
  el.style.position = 'absolute';
134
134
  container.appendChild(el);
135
- width = el.getBoundingClientRect().width;
135
+ width = getElementWidth(el);
136
136
  remove(el);
137
137
  return width;
138
138
  }
@@ -520,6 +520,33 @@ function capitalizeFirstWord(inputString, type) {
520
520
  }
521
521
  return inputString;
522
522
  }
523
+ /**
524
+ * Method to get element cell width
525
+ *
526
+ * @param {HTMLElement} element Accepts the DOM element
527
+ * @returns {number} Returns the width of the given element
528
+ */
529
+ function getElementWidth(element) {
530
+ return document.body.style.transform.includes('scale') ? element.offsetWidth : element.getBoundingClientRect().width;
531
+ }
532
+ /**
533
+ * Method to get element cell Height
534
+ *
535
+ * @param {HTMLElement} element Accepts the DOM element
536
+ * @returns {number} Returns the Height of the given element
537
+ */
538
+ function getElementHeight(element) {
539
+ return document.body.style.transform.includes('scale') ? element.offsetHeight : element.getBoundingClientRect().height;
540
+ }
541
+ /**
542
+ * Method to get element cell Top
543
+ *
544
+ * @param {HTMLElement} element Accepts the DOM element
545
+ * @returns {number} Returns the top value of the given element
546
+ */
547
+ function getElementTop(element) {
548
+ return document.body.style.transform.includes('scale') ? element.offsetTop : element.getBoundingClientRect().top;
549
+ }
523
550
 
524
551
  /**
525
552
  * CSS Constants
@@ -2565,6 +2592,13 @@ var KeyboardInteraction = /** @__PURE__ @class */ (function () {
2565
2592
  }
2566
2593
  }
2567
2594
  };
2595
+ KeyboardInteraction.prototype.isCalendarTarget = function (e) {
2596
+ var keyTarget = e.currentTarget || e.target;
2597
+ if (keyTarget && !isNullOrUndefined(keyTarget.querySelector('.e-header-popup.e-popup-open'))) {
2598
+ return true;
2599
+ }
2600
+ return false;
2601
+ };
2568
2602
  KeyboardInteraction.prototype.cancelUpDownAction = function (isTimelineYear) {
2569
2603
  var isVerticalYear = isTimelineYear && this.parent.activeViewOptions.orientation === 'Vertical';
2570
2604
  var isGroup = this.parent.activeViewOptions.group.resources.length > 0;
@@ -2578,7 +2612,7 @@ var KeyboardInteraction = /** @__PURE__ @class */ (function () {
2578
2612
  };
2579
2613
  KeyboardInteraction.prototype.processUp = function (e, isMultiple) {
2580
2614
  var isTimelineYear = this.parent.currentView === 'TimelineYear';
2581
- if (isMultiple && this.cancelUpDownAction(isTimelineYear)) {
2615
+ if (isMultiple && this.cancelUpDownAction(isTimelineYear) || (this.isCalendarTarget(e))) {
2582
2616
  return;
2583
2617
  }
2584
2618
  var target = (e.target);
@@ -2626,7 +2660,7 @@ var KeyboardInteraction = /** @__PURE__ @class */ (function () {
2626
2660
  };
2627
2661
  KeyboardInteraction.prototype.processDown = function (e, isMultiple) {
2628
2662
  var isTimelineYear = this.parent.currentView === 'TimelineYear';
2629
- if (isMultiple && this.cancelUpDownAction(isTimelineYear)) {
2663
+ if (isMultiple && this.cancelUpDownAction(isTimelineYear) || (this.isCalendarTarget(e))) {
2630
2664
  return;
2631
2665
  }
2632
2666
  var target = (e.target);
@@ -2736,7 +2770,7 @@ var KeyboardInteraction = /** @__PURE__ @class */ (function () {
2736
2770
  };
2737
2771
  KeyboardInteraction.prototype.processRight = function (e, isMultiple) {
2738
2772
  var isTimelineYear = this.parent.currentView === 'TimelineYear';
2739
- if (this.isCancelLeftRightAction(e, isMultiple, isTimelineYear)) {
2773
+ if (this.isCancelLeftRightAction(e, isMultiple, isTimelineYear) || (this.isCalendarTarget(e))) {
2740
2774
  return;
2741
2775
  }
2742
2776
  var selectedCells = this.parent.getSelectedCells();
@@ -2807,7 +2841,7 @@ var KeyboardInteraction = /** @__PURE__ @class */ (function () {
2807
2841
  };
2808
2842
  KeyboardInteraction.prototype.processLeft = function (e, isMultiple) {
2809
2843
  var isTimelineYear = this.parent.currentView === 'TimelineYear';
2810
- if (this.isCancelLeftRightAction(e, isMultiple, isTimelineYear)) {
2844
+ if (this.isCancelLeftRightAction(e, isMultiple, isTimelineYear) || (this.isCalendarTarget(e))) {
2811
2845
  return;
2812
2846
  }
2813
2847
  var target = (e.target);
@@ -6784,9 +6818,6 @@ var EventBase = /** @__PURE__ @class */ (function () {
6784
6818
  }
6785
6819
  }
6786
6820
  };
6787
- EventBase.prototype.getCellWidth = function (element) {
6788
- return document.body.style.transform.includes('scale') ? parseFloat(window.getComputedStyle(element).width) : element.getBoundingClientRect().width;
6789
- };
6790
6821
  EventBase.prototype.unWireEvents = function () {
6791
6822
  var appElements = [].slice.call(this.parent.element.querySelectorAll('.' + APPOINTMENT_CLASS));
6792
6823
  for (var _i = 0, appElements_1 = appElements; _i < appElements_1.length; _i++) {
@@ -6910,7 +6941,7 @@ var VerticalEvent = /** @__PURE__ @class */ (function (_super) {
6910
6941
  this.resources = this.parent.resourceBase.renderedResources;
6911
6942
  }
6912
6943
  this.cellHeight =
6913
- parseFloat(this.parent.element.querySelector('.e-content-wrap tbody tr').getBoundingClientRect().height.toFixed(2));
6944
+ parseFloat(getElementHeight(this.parent.element.querySelector('.e-content-wrap tbody tr')).toFixed(2));
6914
6945
  this.dateRender[0] = this.parent.activeView.renderDates;
6915
6946
  if (this.parent.activeViewOptions.group.resources.length > 0) {
6916
6947
  for (var i = 0, len = this.resources.length; i < len; i++) {
@@ -7828,8 +7859,8 @@ var MonthEvent = /** @__PURE__ @class */ (function (_super) {
7828
7859
  });
7829
7860
  }
7830
7861
  var cellDetail = this.workCells[this.parent.activeView.isTimelineView() ? 0 : this.workCells.length - 1];
7831
- this.cellWidth = this.parent.eventBase.getCellWidth(cellDetail);
7832
- this.cellHeight = cellDetail.getBoundingClientRect().height;
7862
+ this.cellWidth = getElementWidth(cellDetail);
7863
+ this.cellHeight = getElementHeight(cellDetail);
7833
7864
  this.dateRender = dateRender;
7834
7865
  var filteredDates = this.getRenderedDates(dateRender);
7835
7866
  this.getSlotDates(workDays || this.parent.activeViewOptions.workDays);
@@ -8402,7 +8433,7 @@ var TimelineEvent = /** @__PURE__ @class */ (function (_super) {
8402
8433
  _this.eventContainers = [].slice.call(_this.element.querySelectorAll('.' + APPOINTMENT_CONTAINER_CLASS));
8403
8434
  var tr = [].slice.call(_this.element.querySelectorAll('.' + CONTENT_TABLE_CLASS + ' tbody tr'));
8404
8435
  _this.dayLength = tr.length === 0 ? 0 : tr[0].children.length;
8405
- _this.content = _this.parent.element.querySelector('.' + CONTENT_TABLE_CLASS);
8436
+ _this.content = _this.parent.element.querySelector('.' + SCHEDULE_TABLE_CLASS + '.' + CONTENT_TABLE_CLASS);
8406
8437
  return _this;
8407
8438
  }
8408
8439
  TimelineEvent.prototype.getSlotDates = function () {
@@ -8412,7 +8443,7 @@ var TimelineEvent = /** @__PURE__ @class */ (function (_super) {
8412
8443
  this.parent.activeViewOptions.headerRows.slice(-1)[0].option !== 'Hour') {
8413
8444
  this.renderType = 'day';
8414
8445
  var workCell = this.content.querySelector('.' + WORK_CELLS_CLASS);
8415
- this.cellWidth = workCell.getBoundingClientRect().width / +(workCell.getAttribute('colspan') || 1);
8446
+ this.cellWidth = getElementWidth(workCell) / +(workCell.getAttribute('colspan') || 1);
8416
8447
  this.slotsPerDay = 1;
8417
8448
  }
8418
8449
  else {
@@ -8568,14 +8599,14 @@ var TimelineEvent = /** @__PURE__ @class */ (function (_super) {
8568
8599
  this.wireAppointmentEvents(appointmentElement, event);
8569
8600
  if (this.parent.rowAutoHeight) {
8570
8601
  var conWrap = this.parent.element.querySelector('.' + CONTENT_WRAP_CLASS);
8571
- var conWidth = conWrap.getBoundingClientRect().width;
8602
+ var conWidth = getElementWidth(conWrap);
8572
8603
  var isWithoutScroll = conWrap.offsetHeight === conWrap.clientHeight &&
8573
8604
  conWrap.offsetWidth === conWrap.clientWidth;
8574
8605
  this.renderEventElement(event, appointmentElement, cellTd);
8575
8606
  var firstChild = this.getFirstChild(resIndex);
8576
8607
  this.updateCellHeight(firstChild, height);
8577
8608
  if (isWithoutScroll &&
8578
- (conWrap.offsetWidth > conWrap.clientWidth || conWidth !== conWrap.getBoundingClientRect().width)) {
8609
+ (conWrap.offsetWidth > conWrap.clientWidth || conWidth !== getElementWidth(conWrap))) {
8579
8610
  this.adjustAppointments(conWidth);
8580
8611
  }
8581
8612
  }
@@ -8694,7 +8725,7 @@ var TimelineEvent = /** @__PURE__ @class */ (function (_super) {
8694
8725
  TimelineEvent.prototype.adjustAppointments = function (conWidth) {
8695
8726
  var _this = this;
8696
8727
  var tr = this.parent.element.querySelector('.' + CONTENT_TABLE_CLASS + ' tbody tr');
8697
- var actualCellWidth = this.workCells[0].getBoundingClientRect().width;
8728
+ var actualCellWidth = getElementWidth(this.workCells[0]);
8698
8729
  this.cellWidth = actualCellWidth / +(this.workCells[0].getAttribute('colspan') || 1);
8699
8730
  var currentPercentage = (actualCellWidth * tr.children.length) / (conWidth / 100);
8700
8731
  var apps = [].slice.call(this.parent.element.querySelectorAll('.' + APPOINTMENT_CLASS));
@@ -9053,7 +9084,7 @@ var InlineEdit = /** @__PURE__ @class */ (function () {
9053
9084
  var allDayElements = [].slice.call(this.parent.element.querySelectorAll('.' + ALLDAY_APPOINTMENT_CLASS));
9054
9085
  var allDayLevel = 0;
9055
9086
  if (allDayElements.length > 0) {
9056
- allDayLevel = Math.floor(this.parent.element.querySelector('.' + ALLDAY_ROW_CLASS).getBoundingClientRect().height /
9087
+ allDayLevel = Math.floor(getElementHeight(this.parent.element.querySelector('.' + ALLDAY_ROW_CLASS)) /
9057
9088
  allDayElements[0].offsetHeight) - 1;
9058
9089
  }
9059
9090
  verticalEvent.allDayLevel = allDayLevel;
@@ -10647,6 +10678,17 @@ var QuickPopups = /** @__PURE__ @class */ (function () {
10647
10678
  instance.destroy();
10648
10679
  }
10649
10680
  }
10681
+ if (popupName === 'quickPopup') {
10682
+ var input = popup.element.querySelector('input.' + SUBJECT_CLASS);
10683
+ if (input) {
10684
+ input.remove();
10685
+ }
10686
+ var form = this.quickPopup.element.querySelector('form.' + FORM_CLASS);
10687
+ if (form) {
10688
+ removeChildren(form);
10689
+ form.remove();
10690
+ }
10691
+ }
10650
10692
  };
10651
10693
  QuickPopups.prototype.refreshQuickDialog = function () {
10652
10694
  this.destroyQuickDialog();
@@ -14032,6 +14074,10 @@ var VirtualScroll = /** @__PURE__ @class */ (function () {
14032
14074
  this.renderedLength = conTable.querySelector('tbody').children.length;
14033
14075
  virtual.style.height = (conTable.offsetHeight + (this.parent.resourceBase.expandedResources.length - (this.renderedLength)) *
14034
14076
  conTable.offsetHeight / this.renderedLength) + 'px';
14077
+ var conWrap = this.parent.element.querySelector('.' + CONTENT_WRAP_CLASS);
14078
+ if ((conWrap.scrollHeight - conWrap.scrollTop) < conWrap.offsetHeight * this.bufferCount) {
14079
+ virtual.style.height = parseInt(virtual.style.height) + (conWrap.offsetHeight * this.bufferCount) + 'px';
14080
+ }
14035
14081
  }
14036
14082
  else {
14037
14083
  virtual.style.height = '';
@@ -14465,15 +14511,21 @@ var Render = /** @__PURE__ @class */ (function () {
14465
14511
  break;
14466
14512
  case 'TimelineDay':
14467
14513
  this.parent.activeView = this.parent.timelineViewsModule;
14468
- this.parent.activeView.viewClass = 'e-timeline-day-view';
14514
+ if (!isNullOrUndefined(this.parent.activeView)) {
14515
+ this.parent.activeView.viewClass = 'e-timeline-day-view';
14516
+ }
14469
14517
  break;
14470
14518
  case 'TimelineWorkWeek':
14471
14519
  this.parent.activeView = this.parent.timelineViewsModule;
14472
- this.parent.activeView.viewClass = 'e-timeline-work-week-view';
14520
+ if (!isNullOrUndefined(this.parent.activeView)) {
14521
+ this.parent.activeView.viewClass = 'e-timeline-work-week-view';
14522
+ }
14473
14523
  break;
14474
14524
  case 'TimelineWeek':
14475
14525
  this.parent.activeView = this.parent.timelineViewsModule;
14476
- this.parent.activeView.viewClass = 'e-timeline-week-view';
14526
+ if (!isNullOrUndefined(this.parent.activeView)) {
14527
+ this.parent.activeView.viewClass = 'e-timeline-week-view';
14528
+ }
14477
14529
  break;
14478
14530
  case 'TimelineMonth':
14479
14531
  this.parent.activeView = this.parent.timelineMonthModule;
@@ -14490,6 +14542,8 @@ var Render = /** @__PURE__ @class */ (function () {
14490
14542
  this.parent.headerModule.updateActiveView();
14491
14543
  this.parent.headerModule.setCalendarView();
14492
14544
  }
14545
+ console.warn('[WARNING] :: Module "' + viewName + '" is not available in Schedule component!' +
14546
+ ' You either misspelled the module name or forgot to load it.');
14493
14547
  return this.initializeLayout(firstView);
14494
14548
  }
14495
14549
  throw Error('Inject required modules');
@@ -14741,6 +14795,12 @@ var Crud = /** @__PURE__ @class */ (function () {
14741
14795
  if (!this.parent.activeView) {
14742
14796
  return;
14743
14797
  }
14798
+ if (this.parent.uiStateValues && this.parent.uiStateValues.isPreventEventRefresh) {
14799
+ this.parent.uiStateValues.isPreventEventRefresh = false;
14800
+ this.parent.refreshEvents(false);
14801
+ this.parent.hideSpinner();
14802
+ return;
14803
+ }
14744
14804
  var start = this.parent.activeView.startDate();
14745
14805
  var end = this.parent.activeView.endDate();
14746
14806
  var dataManager = this.parent.dataModule.getData(this.parent.dataModule.generateQuery(start, end));
@@ -19065,9 +19125,14 @@ var Schedule = /** @__PURE__ @class */ (function (_super) {
19065
19125
  *
19066
19126
  * @function setResourceCollections
19067
19127
  * @param {ResourcesModel[]} resourceCol Accepts the resource collections in ResourcesModel type
19128
+ * @param {boolean} isEventDataRefresh Accepts the boolean to refresh the appointment data source from remote or local
19068
19129
  * @returns {void}
19069
19130
  */
19070
- Schedule.prototype.setResourceCollections = function (resourceCol) {
19131
+ Schedule.prototype.setResourceCollections = function (resourceCol, isEventDataRefresh) {
19132
+ if (isEventDataRefresh === void 0) { isEventDataRefresh = true; }
19133
+ if (!isEventDataRefresh && this.uiStateValues) {
19134
+ this.uiStateValues.isPreventEventRefresh = true;
19135
+ }
19071
19136
  this.setProperties({ resources: resourceCol }, false);
19072
19137
  };
19073
19138
  /**
@@ -19187,6 +19252,8 @@ var Schedule = /** @__PURE__ @class */ (function (_super) {
19187
19252
  this.iCalendarExportModule.initializeCalendarExport(fileName, customData);
19188
19253
  }
19189
19254
  else {
19255
+ console.warn('[WARNING] :: Module "ICalendarExport" is not available in Schedule component!' +
19256
+ ' You either misspelled the module name or forgot to load it.');
19190
19257
  throw Error('Inject ICalendarExport module');
19191
19258
  }
19192
19259
  };
@@ -19203,6 +19270,8 @@ var Schedule = /** @__PURE__ @class */ (function (_super) {
19203
19270
  this.iCalendarImportModule.initializeCalendarImport(fileContent);
19204
19271
  }
19205
19272
  else {
19273
+ console.warn('[WARNING] :: Module "ICalendarImport" is not available in Schedule component!' +
19274
+ ' You either misspelled the module name or forgot to load it.');
19206
19275
  throw Error('Inject ICalendarImport module');
19207
19276
  }
19208
19277
  };
@@ -19248,6 +19317,8 @@ var Schedule = /** @__PURE__ @class */ (function (_super) {
19248
19317
  this.excelExportModule.initializeExcelExport(excelExportOptions);
19249
19318
  }
19250
19319
  else {
19320
+ console.warn('[WARNING] :: Module "ExcelExport" is not available in Schedule component!' +
19321
+ ' You either misspelled the module name or forgot to load it.');
19251
19322
  throw Error('Inject ExcelExport module');
19252
19323
  }
19253
19324
  };
@@ -19264,6 +19335,8 @@ var Schedule = /** @__PURE__ @class */ (function (_super) {
19264
19335
  this.printModule.print(printOptions);
19265
19336
  }
19266
19337
  else {
19338
+ console.warn('[WARNING] :: Module "Print" is not available in Schedule component!' +
19339
+ ' You either misspelled the module name or forgot to load it.');
19267
19340
  throw Error('Inject Print module');
19268
19341
  }
19269
19342
  };
@@ -19547,6 +19620,8 @@ var Schedule = /** @__PURE__ @class */ (function (_super) {
19547
19620
  };
19548
19621
  /**
19549
19622
  * To check whether the given time range slots are available for event creation or already occupied by other events.
19623
+ * This method currently focuses on validating appointments within the current view date range.
19624
+ * However, it does not extend this availability check to recurrence occurrences outside of the current date range.
19550
19625
  *
19551
19626
  * @function isSlotAvailable
19552
19627
  * @param {Date | Object} startTime Denotes the start time of the slot.
@@ -20658,9 +20733,9 @@ var Resize = /** @__PURE__ @class */ (function (_super) {
20658
20733
  bottom: resizeTarget.classList.contains(BOTTOM_RESIZE_HANDLER)
20659
20734
  };
20660
20735
  _this.actionObj.groupIndex = _this.parent.uiStateValues.isGroupAdaptive ? _this.parent.uiStateValues.groupIndex : 0;
20661
- var workCell = _this.parent.element.querySelector('.' + WORK_CELLS_CLASS).getBoundingClientRect();
20662
- _this.actionObj.cellWidth = workCell.width;
20663
- _this.actionObj.cellHeight = workCell.height;
20736
+ var workCell = _this.parent.element.querySelector('.' + WORK_CELLS_CLASS);
20737
+ _this.actionObj.cellWidth = getElementWidth(workCell);
20738
+ _this.actionObj.cellHeight = getElementHeight(workCell);
20664
20739
  var hRows = _this.parent.activeViewOptions.headerRows.map(function (row) { return row.option; });
20665
20740
  if (_this.parent.activeView.isTimelineView() && hRows.length > 0 && ['Date', 'Hour'].indexOf(hRows.slice(-1)[0]) < 0) {
20666
20741
  var tr = _this.parent.getContentTable().querySelector('tr');
@@ -20962,9 +21037,9 @@ var Resize = /** @__PURE__ @class */ (function (_super) {
20962
21037
  parseInt(this.actionObj.clone.style.left, 10);
20963
21038
  offsetValue = Math.round(offsetValue / this.actionObj.cellWidth) * this.actionObj.cellWidth;
20964
21039
  if (!isLeft) {
20965
- offsetValue += (this.actionObj.clone.getBoundingClientRect().width - this.actionObj.cellWidth);
21040
+ offsetValue += (getElementWidth(this.actionObj.clone) - this.actionObj.cellWidth);
20966
21041
  }
20967
- cellIndex = Math.floor(offsetValue / Math.floor(tr.getBoundingClientRect().width / noOfDays));
21042
+ cellIndex = Math.floor(offsetValue / Math.floor(getElementWidth(tr) / noOfDays));
20968
21043
  isDateHeader = isTimeViews && headerName === 'Date';
20969
21044
  cellIndex = isLeft ? cellIndex : isTimelineMonth ? cellIndex + 1 : cellIndex;
20970
21045
  isLastCell = cellIndex === tdCollections.length;
@@ -20973,7 +21048,7 @@ var Resize = /** @__PURE__ @class */ (function (_super) {
20973
21048
  else {
20974
21049
  var cellWidth = this.actionObj.cellWidth;
20975
21050
  cellIndex = isLeft ? Math.floor(offset / this.actionObj.cellWidth) :
20976
- Math.ceil((offset + (this.actionObj.clone.getBoundingClientRect().width - cellWidth)) / this.actionObj.cellWidth);
21051
+ Math.ceil((offset + (getElementWidth(this.actionObj.clone) - cellWidth)) / this.actionObj.cellWidth);
20977
21052
  if (this.parent.enableRtl) {
20978
21053
  var cellOffsetWidth = 0;
20979
21054
  if (headerName === 'TimelineMonth' || (!this.parent.activeViewOptions.timeScale.enable &&
@@ -20981,7 +21056,7 @@ var Resize = /** @__PURE__ @class */ (function (_super) {
20981
21056
  cellOffsetWidth = this.actionObj.cellWidth;
20982
21057
  }
20983
21058
  var offsetWidth = (Math.floor(offset / this.actionObj.cellWidth) *
20984
- this.actionObj.cellWidth) + (isLeft ? 0 : this.actionObj.clone.getBoundingClientRect().width - cellOffsetWidth);
21059
+ this.actionObj.cellWidth) + (isLeft ? 0 : getElementWidth(this.actionObj.clone) - cellOffsetWidth);
20985
21060
  cellIndex = Math.floor(offsetWidth / this.actionObj.cellWidth);
20986
21061
  }
20987
21062
  isLastCell = cellIndex === tdCollections.length;
@@ -21000,7 +21075,7 @@ var Resize = /** @__PURE__ @class */ (function (_super) {
21000
21075
  }
21001
21076
  else {
21002
21077
  if (!isLeft) {
21003
- offset += this.actionObj.clone.getBoundingClientRect().width;
21078
+ offset += getElementWidth(this.actionObj.clone);
21004
21079
  }
21005
21080
  var spanMinutes = Math.ceil((this.actionObj.slotInterval / this.actionObj.cellWidth) *
21006
21081
  (offset - Math.floor(offset / this.actionObj.cellWidth) * this.actionObj.cellWidth));
@@ -21012,9 +21087,9 @@ var Resize = /** @__PURE__ @class */ (function (_super) {
21012
21087
  }
21013
21088
  else {
21014
21089
  var cloneIndex = closest(this.actionObj.clone, 'td').cellIndex;
21015
- var originalWidth = Math.ceil((isLeft ? this.actionObj.element.getBoundingClientRect().width : 0) /
21090
+ var originalWidth = Math.ceil((isLeft ? getElementWidth(this.actionObj.element) : 0) /
21016
21091
  this.actionObj.cellWidth) * this.actionObj.cellWidth;
21017
- var noOfDays = Math.ceil((this.actionObj.clone.getBoundingClientRect().width - originalWidth) /
21092
+ var noOfDays = Math.ceil((getElementWidth(this.actionObj.clone) - originalWidth) /
21018
21093
  this.actionObj.cellWidth);
21019
21094
  var tr = closest(this.actionObj.clone, 'tr');
21020
21095
  var dayIndex = isLeft ? cloneIndex - noOfDays : cloneIndex + noOfDays - 1;
@@ -21077,23 +21152,24 @@ var Resize = /** @__PURE__ @class */ (function (_super) {
21077
21152
  var slotInterval = (this.actionObj.cellWidth / this.actionObj.slotInterval) * this.actionObj.interval;
21078
21153
  var pageWidth = isLeft ? (this.actionObj.X - this.actionObj.pageX) : (this.actionObj.pageX - this.actionObj.X);
21079
21154
  var targetWidth = isTimelineView ?
21080
- (this.actionObj.element.getBoundingClientRect().width / this.actionObj.cellWidth) * this.actionObj.cellWidth :
21081
- this.parent.currentView === 'Month' ? this.actionObj.element.getBoundingClientRect().width :
21082
- Math.ceil(this.actionObj.element.getBoundingClientRect().width / this.actionObj.cellWidth) * this.actionObj.cellWidth;
21155
+ (getElementWidth(this.actionObj.element) / this.actionObj.cellWidth) * this.actionObj.cellWidth :
21156
+ this.parent.currentView === 'Month' ? getElementWidth(this.actionObj.element) :
21157
+ Math.ceil(getElementWidth(this.actionObj.element) / this.actionObj.cellWidth) * this.actionObj.cellWidth;
21083
21158
  var offsetWidth = targetWidth + (Math.ceil(pageWidth / this.actionObj.cellWidth) * this.actionObj.cellWidth);
21084
21159
  var left = (this.parent.enableRtl) ? parseInt(this.actionObj.element.style.right, 10) : this.actionObj.clone.offsetLeft;
21085
21160
  if (isTimeViews) {
21086
21161
  offsetWidth = targetWidth + (Math.ceil(pageWidth / slotInterval) * slotInterval);
21087
21162
  if (!isLeft) {
21088
21163
  var roundedLeft = (+parseFloat(this.actionObj.element.style[this.parent.enableRtl ? 'right' : 'left'])).toFixed(1);
21089
- if (roundedLeft !== left.toFixed(1)) {
21164
+ var roundedWidth = Math.round(targetWidth / slotInterval) * slotInterval;
21165
+ if (roundedLeft !== left.toFixed(1) || roundedWidth !== targetWidth) {
21090
21166
  offsetWidth = (Math.round((left + offsetWidth) / slotInterval) * slotInterval) - left;
21091
21167
  }
21092
21168
  }
21093
21169
  this.actionObj.event[this.parent.eventFields.isAllDay] = false;
21094
21170
  }
21095
21171
  var width = !isLeft && ((offsetWidth + this.actionObj.clone.offsetLeft > this.scrollArgs.width)) ?
21096
- this.actionObj.clone.getBoundingClientRect().width : (offsetWidth < this.actionObj.cellWidth) ? offsetWidth : offsetWidth;
21172
+ getElementWidth(this.actionObj.clone) : (offsetWidth < this.actionObj.cellWidth) ? offsetWidth : offsetWidth;
21097
21173
  if (this.parent.enableRtl) {
21098
21174
  var rightValue = isTimelineView ? parseInt(this.actionObj.element.style.right, 10) :
21099
21175
  -(offsetWidth - this.actionObj.cellWidth);
@@ -21107,7 +21183,7 @@ var Resize = /** @__PURE__ @class */ (function (_super) {
21107
21183
  }
21108
21184
  rightValue = rightValue >= this.scrollArgs.width ? this.scrollArgs.width - this.actionObj.cellWidth : rightValue;
21109
21185
  styles.right = formatUnit(rightValue);
21110
- width = width + rightValue > this.scrollArgs.width ? this.actionObj.clone.getBoundingClientRect().width : width;
21186
+ width = width + rightValue > this.scrollArgs.width ? getElementWidth(this.actionObj.clone) : width;
21111
21187
  }
21112
21188
  else {
21113
21189
  var offsetLeft = isLeft ? this.actionObj.element.offsetLeft - (this.actionObj.X - this.actionObj.pageX) :
@@ -21115,12 +21191,12 @@ var Resize = /** @__PURE__ @class */ (function (_super) {
21115
21191
  if (isTimelineView) {
21116
21192
  offsetLeft = isLeft ? offsetLeft : parseInt(this.actionObj.clone.style.left, 10);
21117
21193
  if (this.parent.enableRtl) {
21118
- offsetLeft = !isLeft ? (this.actionObj.pageX < this.actionObj.X - this.actionObj.clone.getBoundingClientRect().width)
21194
+ offsetLeft = !isLeft ? (this.actionObj.pageX < this.actionObj.X - getElementWidth(this.actionObj.clone))
21119
21195
  ? parseInt(this.actionObj.clone.style.right, 10) : offsetLeft : offsetLeft;
21120
21196
  }
21121
21197
  else {
21122
- offsetLeft = isLeft ? (this.actionObj.pageX > this.actionObj.X + this.actionObj.clone.getBoundingClientRect().width &&
21123
- this.actionObj.clone.getBoundingClientRect().width === this.actionObj.cellWidth) ?
21198
+ offsetLeft = isLeft ? (this.actionObj.pageX > this.actionObj.X + getElementWidth(this.actionObj.clone) &&
21199
+ getElementWidth(this.actionObj.clone) === this.actionObj.cellWidth) ?
21124
21200
  parseInt(this.actionObj.clone.style.left, 10) : offsetLeft : offsetLeft;
21125
21201
  }
21126
21202
  }
@@ -21136,10 +21212,10 @@ var Resize = /** @__PURE__ @class */ (function (_super) {
21136
21212
  }
21137
21213
  else {
21138
21214
  offsetLeft = 0;
21139
- width = this.actionObj.clone.getBoundingClientRect().width;
21215
+ width = getElementWidth(this.actionObj.clone);
21140
21216
  }
21141
21217
  }
21142
- var cloneWidth = Math.ceil(this.actionObj.clone.getBoundingClientRect().width / this.actionObj.cellWidth) *
21218
+ var cloneWidth = Math.ceil(getElementWidth(this.actionObj.clone) / this.actionObj.cellWidth) *
21143
21219
  this.actionObj.cellWidth;
21144
21220
  if (isLeft) {
21145
21221
  styles.left = formatUnit(isTimelineView ? offsetLeft : isLeft ? leftValue < 0 ? -offsetLeft :
@@ -21271,7 +21347,7 @@ var YearEvent = /** @__PURE__ @class */ (function (_super) {
21271
21347
  YearEvent.prototype.timelineYearViewEvents = function () {
21272
21348
  var _this = this;
21273
21349
  var workCell = this.parent.element.querySelector('.' + WORK_CELLS_CLASS + ':not(.' + OTHERMONTH_CLASS + ')');
21274
- this.cellWidth = this.parent.eventBase.getCellWidth(workCell);
21350
+ this.cellWidth = getElementWidth(workCell);
21275
21351
  this.cellHeader = getOuterHeight(workCell.querySelector('.' + DATE_HEADER_CLASS));
21276
21352
  var eventTable = this.parent.element.querySelector('.' + EVENT_TABLE_CLASS);
21277
21353
  this.eventHeight = getElementHeightFromClass(eventTable, APPOINTMENT_CLASS);
@@ -21429,7 +21505,7 @@ var YearEvent = /** @__PURE__ @class */ (function (_super) {
21429
21505
  var contentTable = this.parent.element.querySelector('.' + CONTENT_WRAP_CLASS);
21430
21506
  var isVerticalScrollbarAvail = contentTable.offsetWidth > contentTable.clientWidth;
21431
21507
  var workCell = this.parent.element.querySelector('.' + WORK_CELLS_CLASS);
21432
- this.cellWidth = workCell.getBoundingClientRect().width;
21508
+ this.cellWidth = getElementWidth(workCell);
21433
21509
  this.cellHeader = 0;
21434
21510
  var eventTable = this.parent.element.querySelector('.' + EVENT_TABLE_CLASS);
21435
21511
  this.eventHeight = getElementHeightFromClass(eventTable, APPOINTMENT_CLASS);
@@ -21474,7 +21550,7 @@ var YearEvent = /** @__PURE__ @class */ (function (_super) {
21474
21550
  appWrapper.forEach(function (appWrap, cellIndex) {
21475
21551
  var td = row.querySelector("td:nth-child(" + (cellIndex + 1) + ")");
21476
21552
  var app = [].slice.call(appWrap.children);
21477
- var width = td.getBoundingClientRect().width;
21553
+ var width = getElementWidth(td);
21478
21554
  var left = td.offsetLeft;
21479
21555
  if (_this.parent.enableRtl) {
21480
21556
  var right_1 = conTable_1.offsetWidth - left - td.offsetWidth;
@@ -22237,7 +22313,7 @@ var DragAndDrop = /** @__PURE__ @class */ (function (_super) {
22237
22313
  this.timelineEventModule.cellWidth = this.actionObj.cellWidth;
22238
22314
  this.timelineEventModule.getSlotDates();
22239
22315
  this.actionObj.cellWidth = this.isHeaderRows ? this.timelineEventModule.cellWidth :
22240
- this.parent.element.querySelector('.' + WORK_CELLS_CLASS).getBoundingClientRect().width;
22316
+ getElementWidth(this.parent.element.querySelector('.' + WORK_CELLS_CLASS));
22241
22317
  this.calculateTimelineTime(e);
22242
22318
  }
22243
22319
  else {
@@ -23056,7 +23132,7 @@ var DragAndDrop = /** @__PURE__ @class */ (function (_super) {
23056
23132
  ~~(dragArea.querySelector('table').offsetHeight / trCollection.length) : this.actionObj.cellHeight;
23057
23133
  var rowIndex = Math.floor(Math.floor((this.actionObj.Y +
23058
23134
  (dragArea.scrollTop - translateY - (window.scrollY || window.pageYOffset))) -
23059
- dragArea.getBoundingClientRect().top) / rowHeight);
23135
+ getElementTop(dragArea)) / rowHeight);
23060
23136
  rowIndex = (rowIndex < 0) ? 0 : (rowIndex > trCollection.length - 1) ? trCollection.length - 1 : rowIndex;
23061
23137
  this.actionObj.index = rowIndex;
23062
23138
  var eventContainer = this.parent.element.querySelectorAll('.e-appointment-container:not(.e-hidden)').item(rowIndex);
@@ -23072,7 +23148,7 @@ var DragAndDrop = /** @__PURE__ @class */ (function (_super) {
23072
23148
  if (!isNullOrUndefined(this.parent.eventDragArea)) {
23073
23149
  return;
23074
23150
  }
23075
- var top = trCollection[parseInt(rowIndex.toString(), 10)].getBoundingClientRect().height * rowIndex;
23151
+ var top = getElementHeight(trCollection[parseInt(rowIndex.toString(), 10)]) * rowIndex;
23076
23152
  if (this.parent.rowAutoHeight) {
23077
23153
  var cursorElement = this.getCursorElement(e);
23078
23154
  if (cursorElement) {
@@ -23593,7 +23669,7 @@ var ViewBase = /** @__PURE__ @class */ (function () {
23593
23669
  if (this.isTimelineView()) {
23594
23670
  var colElements = this.getColElements();
23595
23671
  var contentBody = this.element.querySelector('.' + CONTENT_TABLE_CLASS + ' tbody');
23596
- var colWidth_1 = (contentBody.getBoundingClientRect().width / (colElements.length / 2));
23672
+ var colWidth_1 = (getElementWidth(contentBody) / (colElements.length / 2));
23597
23673
  if (content.offsetHeight !== content.clientHeight) {
23598
23674
  var resourceColumn = this.parent.element.querySelector('.' + RESOURCE_COLUMN_WRAP_CLASS);
23599
23675
  if (!isNullOrUndefined(resourceColumn)) {
@@ -24101,7 +24177,7 @@ var VerticalView = /** @__PURE__ @class */ (function (_super) {
24101
24177
  this.parent.activeViewOptions.timeScale.interval;
24102
24178
  };
24103
24179
  VerticalView.prototype.getWorkCellHeight = function () {
24104
- return parseFloat(this.element.querySelector('.' + WORK_CELLS_CLASS).getBoundingClientRect().height.toFixed(2));
24180
+ return parseFloat(getElementHeight(this.element.querySelector('.' + WORK_CELLS_CLASS)).toFixed(2));
24105
24181
  };
24106
24182
  VerticalView.prototype.getTdContent = function (date, type, groupIndex) {
24107
24183
  var cntEle;
@@ -27072,7 +27148,7 @@ var TimelineViews = /** @__PURE__ @class */ (function (_super) {
27072
27148
  }
27073
27149
  var scrollLeft;
27074
27150
  if (isNullOrUndefined(hour) || !this.parent.activeViewOptions.timeScale.enable) {
27075
- scrollLeft = index * this.getWorkCellWidth();
27151
+ scrollLeft = index * getElementWidth(this.element.querySelector('.e-work-cells'));
27076
27152
  }
27077
27153
  else {
27078
27154
  scrollLeft = isNullOrUndefined(scrollDate) ? this.getLeftFromDateTime(null, date) :
@@ -27159,7 +27235,7 @@ var TimelineViews = /** @__PURE__ @class */ (function (_super) {
27159
27235
  if (this.parent.activeView.colLevels[parseInt(index.toString(), 10)] &&
27160
27236
  this.parent.activeView.colLevels[parseInt(index.toString(), 10)][0].colSpan) {
27161
27237
  diffInDates = currentDateIndex[0] * this.parent.activeView.colLevels[parseInt(index.toString(), 10)][0].colSpan *
27162
- this.getWorkCellWidth();
27238
+ getElementWidth(this.element.querySelector('.e-work-cells'));
27163
27239
  }
27164
27240
  else {
27165
27241
  var endHour = this.getEndHour();
@@ -27169,12 +27245,9 @@ var TimelineViews = /** @__PURE__ @class */ (function (_super) {
27169
27245
  }
27170
27246
  }
27171
27247
  }
27172
- return diffInDates + ((diffInMinutes * this.getWorkCellWidth() * this.parent.activeViewOptions.timeScale.slotCount) /
27248
+ return diffInDates + ((diffInMinutes * getElementWidth(this.element.querySelector('.e-work-cells')) * this.parent.activeViewOptions.timeScale.slotCount) /
27173
27249
  this.parent.activeViewOptions.timeScale.interval);
27174
27250
  };
27175
- TimelineViews.prototype.getWorkCellWidth = function () {
27176
- return this.element.querySelector('.e-work-cells').getBoundingClientRect().width;
27177
- };
27178
27251
  TimelineViews.prototype.renderHeader = function () {
27179
27252
  var tr = createElement('tr');
27180
27253
  if (this.parent.activeViewOptions.group.resources.length > 0 && !this.parent.uiStateValues.isGroupAdaptive) {
@@ -28608,5 +28681,5 @@ var Print = /** @__PURE__ @class */ (function () {
28608
28681
  * Export Schedule components
28609
28682
  */
28610
28683
 
28611
- export { Schedule, cellClick, cellDoubleClick, moreEventsClick, select, hover, actionBegin, actionComplete, actionFailure, navigating, renderCell, eventClick, eventDoubleClick, eventRendered, dataBinding, dataBound, popupOpen, popupClose, dragStart, drag, dragStop, resizeStart, resizing, resizeStop, inlineClick, cellSelect, virtualScrollStart, virtualScrollStop, initialLoad, initialEnd, print$1 as print, dataReady, eventsLoaded, contentReady, scroll, virtualScroll, scrollUiUpdate, uiUpdate, documentClick, cellMouseDown, WEEK_LENGTH, DEFAULT_WEEKS, MS_PER_DAY, MS_PER_MINUTE, getElementHeightFromClass, getElementWidthFromClass, getTranslateY, getTranslateX, getWeekFirstDate, getWeekLastDate, firstDateOfMonth, lastDateOfMonth, getWeekNumber, getWeekMiddleDate, setTime, resetTime, getDateInMs, getDateCount, addDays, addMonths, addYears, getStartEndHours, getMaxDays, getDaysCount, getDateFromString, getScrollBarWidth, resetScrollbarWidth, findIndexInData, getOuterHeight, removeChildren, isDaylightSavingTime, getUniversalTime, isMobile, isIPadDevice, capitalizeFirstWord, Resize, DragAndDrop, HeaderRenderer, ViewBase, Day, Week, WorkWeek, Month, Year, Agenda, MonthAgenda, TimelineViews, TimelineMonth, TimelineYear, Timezone, timezoneData, ICalendarExport, ICalendarImport, ExcelExport, Print, RecurrenceEditor, generateSummary, generate, getDateFromRecurrenceDateString, extractObjectFromRule, getCalendarUtil, getRecurrenceStringFromDate, Gregorian, Islamic };
28684
+ export { Schedule, cellClick, cellDoubleClick, moreEventsClick, select, hover, actionBegin, actionComplete, actionFailure, navigating, renderCell, eventClick, eventDoubleClick, eventRendered, dataBinding, dataBound, popupOpen, popupClose, dragStart, drag, dragStop, resizeStart, resizing, resizeStop, inlineClick, cellSelect, virtualScrollStart, virtualScrollStop, initialLoad, initialEnd, print$1 as print, dataReady, eventsLoaded, contentReady, scroll, virtualScroll, scrollUiUpdate, uiUpdate, documentClick, cellMouseDown, WEEK_LENGTH, DEFAULT_WEEKS, MS_PER_DAY, MS_PER_MINUTE, getElementHeightFromClass, getElementWidthFromClass, getTranslateY, getTranslateX, getWeekFirstDate, getWeekLastDate, firstDateOfMonth, lastDateOfMonth, getWeekNumber, getWeekMiddleDate, setTime, resetTime, getDateInMs, getDateCount, addDays, addMonths, addYears, getStartEndHours, getMaxDays, getDaysCount, getDateFromString, getScrollBarWidth, resetScrollbarWidth, findIndexInData, getOuterHeight, removeChildren, isDaylightSavingTime, getUniversalTime, isMobile, isIPadDevice, capitalizeFirstWord, getElementWidth, getElementHeight, getElementTop, Resize, DragAndDrop, HeaderRenderer, ViewBase, Day, Week, WorkWeek, Month, Year, Agenda, MonthAgenda, TimelineViews, TimelineMonth, TimelineYear, Timezone, timezoneData, ICalendarExport, ICalendarImport, ExcelExport, Print, RecurrenceEditor, generateSummary, generate, getDateFromRecurrenceDateString, extractObjectFromRule, getCalendarUtil, getRecurrenceStringFromDate, Gregorian, Islamic };
28612
28685
  //# sourceMappingURL=ej2-schedule.es5.js.map