@progress/kendo-react-gantt 5.4.0-dev.202205180853 → 5.4.0-dev.202205271059

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 (113) hide show
  1. package/dist/cdn/js/kendo-react-gantt.js +1 -1
  2. package/dist/es/Gantt.js +18 -18
  3. package/dist/es/GanttNoRecords.js +3 -1
  4. package/dist/es/cells/FilterCells/GanttBooleanFilter.js +4 -2
  5. package/dist/es/cells/FilterCells/GanttDateFilter.js +4 -2
  6. package/dist/es/cells/FilterCells/GanttNumericFilter.js +4 -2
  7. package/dist/es/cells/FilterCells/GanttTextFilter.js +4 -2
  8. package/dist/es/components/BaseView.js +8 -3
  9. package/dist/es/components/GanttTreelist.d.ts +2 -2
  10. package/dist/es/components/GanttTreelist.js +28 -22
  11. package/dist/es/components/toolbar/AddButton.d.ts +3 -2
  12. package/dist/es/components/toolbar/Toolbar.js +4 -2
  13. package/dist/es/components/toolbar/view-selector/ViewSelector.js +4 -2
  14. package/dist/es/components/toolbar/view-selector/ViewSelectorList.d.ts +1 -1
  15. package/dist/es/components/toolbar/view-selector/ViewSelectorList.js +1 -1
  16. package/dist/es/constants/index.d.ts +2 -2
  17. package/dist/es/context/GanttContext.d.ts +14 -14
  18. package/dist/es/context/GanttViewContext.d.ts +3 -7
  19. package/dist/es/editors/FormDateTimePicker.js +4 -2
  20. package/dist/es/editors/FormInput.js +4 -2
  21. package/dist/es/editors/FormNumericTextBox.js +4 -2
  22. package/dist/es/editors/GanttForm.js +4 -2
  23. package/dist/es/hooks/useControlledState.d.ts +1 -1
  24. package/dist/es/hooks/useControlledState.js +1 -1
  25. package/dist/es/hooks/useDictionaryStore.d.ts +1 -3
  26. package/dist/es/hooks/useGanttTask.d.ts +1 -1
  27. package/dist/es/interfaces/AddDirection.js +1 -0
  28. package/dist/es/interfaces/DataItem.js +1 -0
  29. package/dist/es/interfaces/DateRange.js +1 -0
  30. package/dist/es/interfaces/DependencyModelFields.js +1 -0
  31. package/dist/es/interfaces/DragEvent.js +1 -0
  32. package/dist/es/interfaces/GanttBaseProps.js +1 -0
  33. package/dist/es/interfaces/GanttCellProps.js +1 -0
  34. package/dist/es/interfaces/GanttColumnProps.js +1 -0
  35. package/dist/es/interfaces/GanttDependencyModelFields.js +1 -0
  36. package/dist/es/interfaces/GanttFilterCellProps.js +1 -0
  37. package/dist/es/interfaces/GanttFilterOperator.js +1 -0
  38. package/dist/es/interfaces/GanttHeaderCellProps.js +1 -0
  39. package/dist/es/interfaces/GanttNoRecordsProps.js +1 -0
  40. package/dist/es/interfaces/GanttProps.js +1 -0
  41. package/dist/es/interfaces/GanttRowProps.js +1 -0
  42. package/dist/es/interfaces/GanttSelectableSettings.js +1 -0
  43. package/dist/es/interfaces/GanttSlotType.js +1 -0
  44. package/dist/es/interfaces/GanttSortSettings.d.ts +1 -11
  45. package/dist/es/interfaces/GanttSortSettings.js +6 -1
  46. package/dist/es/interfaces/GanttTaskModelFields.js +1 -0
  47. package/dist/es/interfaces/GanttView.js +1 -0
  48. package/dist/es/interfaces/GanttViewTimelineHeaderCellProps.js +1 -0
  49. package/dist/es/interfaces/Rectangle.js +1 -0
  50. package/dist/es/interfaces/Slot.js +1 -0
  51. package/dist/es/interfaces/TaskModelFields.js +1 -0
  52. package/dist/es/interfaces/events.js +1 -0
  53. package/dist/es/messages/index.d.ts +44 -44
  54. package/dist/es/package-metadata.js +1 -1
  55. package/dist/es/utils/data-operations.d.ts +14 -13
  56. package/dist/es/utils/index.d.ts +4 -4
  57. package/dist/es/utils/index.js +8 -3
  58. package/dist/npm/Gantt.js +19 -18
  59. package/dist/npm/GanttNoRecords.js +4 -1
  60. package/dist/npm/cells/FilterCells/GanttBooleanFilter.js +7 -3
  61. package/dist/npm/cells/FilterCells/GanttDateFilter.js +7 -3
  62. package/dist/npm/cells/FilterCells/GanttNumericFilter.js +7 -3
  63. package/dist/npm/cells/FilterCells/GanttTextFilter.js +7 -3
  64. package/dist/npm/cells/FilterCells/utils.js +1 -0
  65. package/dist/npm/components/BaseView.js +9 -3
  66. package/dist/npm/components/GanttDependency.js +3 -1
  67. package/dist/npm/components/GanttTask.js +1 -0
  68. package/dist/npm/components/GanttTreelist.d.ts +2 -2
  69. package/dist/npm/components/GanttTreelist.js +29 -22
  70. package/dist/npm/components/toolbar/AddButton.d.ts +3 -2
  71. package/dist/npm/components/toolbar/AddButton.js +1 -0
  72. package/dist/npm/components/toolbar/Toolbar.js +5 -2
  73. package/dist/npm/components/toolbar/view-selector/ViewSelector.js +5 -2
  74. package/dist/npm/components/toolbar/view-selector/ViewSelectorItem.js +3 -1
  75. package/dist/npm/components/toolbar/view-selector/ViewSelectorList.d.ts +1 -1
  76. package/dist/npm/components/toolbar/view-selector/ViewSelectorList.js +2 -1
  77. package/dist/npm/constants/index.d.ts +2 -2
  78. package/dist/npm/constants/index.js +5 -4
  79. package/dist/npm/context/GanttContext.d.ts +14 -14
  80. package/dist/npm/context/GanttContext.js +27 -13
  81. package/dist/npm/context/GanttViewContext.d.ts +3 -7
  82. package/dist/npm/context/GanttViewContext.js +9 -4
  83. package/dist/npm/editors/FormAssingmentsEditor.js +3 -1
  84. package/dist/npm/editors/FormDateTimePicker.js +7 -3
  85. package/dist/npm/editors/FormInput.js +7 -3
  86. package/dist/npm/editors/FormNumericTextBox.js +7 -3
  87. package/dist/npm/editors/GanttEditor.js +3 -1
  88. package/dist/npm/editors/GanttForm.js +7 -3
  89. package/dist/npm/editors/GanttRemoveDialog.js +3 -1
  90. package/dist/npm/hooks/useControlledState.d.ts +1 -1
  91. package/dist/npm/hooks/useControlledState.js +4 -2
  92. package/dist/npm/hooks/useDictionaryStore.d.ts +1 -3
  93. package/dist/npm/hooks/useDictionaryStore.js +3 -1
  94. package/dist/npm/hooks/useGanttTask.d.ts +1 -1
  95. package/dist/npm/hooks/useGanttTask.js +3 -1
  96. package/dist/npm/interfaces/DataAction.js +1 -0
  97. package/dist/npm/interfaces/GanttSortSettings.d.ts +1 -11
  98. package/dist/npm/interfaces/GanttSortSettings.js +9 -2
  99. package/dist/npm/main.js +28 -27
  100. package/dist/npm/messages/index.d.ts +44 -44
  101. package/dist/npm/messages/index.js +2 -1
  102. package/dist/npm/package-metadata.js +2 -1
  103. package/dist/npm/rows/GanttRow.js +1 -0
  104. package/dist/npm/utils/data-operations.d.ts +14 -13
  105. package/dist/npm/utils/data-operations.js +9 -4
  106. package/dist/npm/utils/index.d.ts +4 -4
  107. package/dist/npm/utils/index.js +61 -29
  108. package/dist/npm/views/GanttDayView.js +1 -0
  109. package/dist/npm/views/GanttMonthView.js +1 -0
  110. package/dist/npm/views/GanttWeekView.js +1 -0
  111. package/dist/npm/views/GanttYearView.js +1 -0
  112. package/dist/systemjs/kendo-react-gantt.js +1 -1
  113. package/package.json +12 -12
package/dist/es/Gantt.js CHANGED
@@ -96,94 +96,94 @@ export var Gantt = React.forwardRef(function (props, ref) {
96
96
  React.useImperativeHandle(ref, function () { return ganttRef.current; });
97
97
  var handleDataStateChange = React.useCallback(function (event) {
98
98
  if (props.onDataStateChange) {
99
- props.onDataStateChange.call(undefined, __assign({}, event, { target: ganttRef.current }));
99
+ props.onDataStateChange.call(undefined, __assign(__assign({}, event), { target: ganttRef.current }));
100
100
  }
101
101
  }, [props.onDataStateChange]);
102
102
  var handleSortChange = React.useCallback(function (event) {
103
103
  if (props.onSortChange) {
104
- props.onSortChange.call(undefined, __assign({}, event, { target: ganttRef.current }));
104
+ props.onSortChange.call(undefined, __assign(__assign({}, event), { target: ganttRef.current }));
105
105
  }
106
106
  }, [props.onSortChange]);
107
107
  var handleKeyDown = React.useCallback(function (event) {
108
108
  if (props.onKeyDown) {
109
- props.onKeyDown.call(undefined, __assign({}, event, { target: ganttRef.current }));
109
+ props.onKeyDown.call(undefined, __assign(__assign({}, event), { target: ganttRef.current }));
110
110
  }
111
111
  }, [props.onKeyDown]);
112
112
  var handleSelectionChange = React.useCallback(function (event) {
113
113
  if (props.onSelectionChange) {
114
- props.onSelectionChange.call(undefined, __assign({}, event, { target: ganttRef.current }));
114
+ props.onSelectionChange.call(undefined, __assign(__assign({}, event), { target: ganttRef.current }));
115
115
  }
116
116
  }, [props.onSelectionChange]);
117
117
  var handleHeaderSelectionChange = React.useCallback(function (event) {
118
118
  if (props.onHeaderSelectionChange) {
119
- props.onHeaderSelectionChange.call(undefined, __assign({}, event, { target: ganttRef.current }));
119
+ props.onHeaderSelectionChange.call(undefined, __assign(__assign({}, event), { target: ganttRef.current }));
120
120
  }
121
121
  }, [props.onHeaderSelectionChange]);
122
122
  var handleFilterChange = React.useCallback(function (event) {
123
123
  if (props.onFilterChange) {
124
- props.onFilterChange.call(undefined, __assign({}, event, { target: ganttRef.current }));
124
+ props.onFilterChange.call(undefined, __assign(__assign({}, event), { target: ganttRef.current }));
125
125
  }
126
126
  }, [props.onFilterChange]);
127
127
  var handleColumnMenuFilterChange = React.useCallback(function (event) {
128
128
  if (props.onColumnMenuFilterChange) {
129
- props.onColumnMenuFilterChange.call(undefined, __assign({}, event, { target: ganttRef.current }));
129
+ props.onColumnMenuFilterChange.call(undefined, __assign(__assign({}, event), { target: ganttRef.current }));
130
130
  }
131
131
  }, [props.onColumnMenuFilterChange]);
132
132
  var handleExpandChange = React.useCallback(function (event) {
133
133
  if (props.onExpandChange) {
134
- props.onExpandChange.call(undefined, __assign({}, event, { target: ganttRef.current }));
134
+ props.onExpandChange.call(undefined, __assign(__assign({}, event), { target: ganttRef.current }));
135
135
  }
136
136
  }, [props.onExpandChange]);
137
137
  var handleAddClick = React.useCallback(function (event) {
138
138
  if (props.onAddClick) {
139
- props.onAddClick.call(undefined, __assign({}, event, { target: ganttRef.current, selectedDataItem: selectedTaskRef.current, slotStart: firstSlotRangeRef.current && new Date(firstSlotRangeRef.current.start.getTime()), slotEnd: firstSlotRangeRef.current && new Date(firstSlotRangeRef.current.end.getTime()) }));
139
+ props.onAddClick.call(undefined, __assign(__assign({}, event), { target: ganttRef.current, selectedDataItem: selectedTaskRef.current, slotStart: firstSlotRangeRef.current && new Date(firstSlotRangeRef.current.start.getTime()), slotEnd: firstSlotRangeRef.current && new Date(firstSlotRangeRef.current.end.getTime()) }));
140
140
  }
141
141
  }, [props.onAddClick]);
142
142
  var handleColumnResize = React.useCallback(function (event) {
143
143
  if (props.onColumnResize) {
144
- props.onColumnResize.call(undefined, __assign({}, event, { target: ganttRef.current }));
144
+ props.onColumnResize.call(undefined, __assign(__assign({}, event), { target: ganttRef.current }));
145
145
  }
146
146
  }, [props.onColumnResize]);
147
147
  var handleColumnReorder = React.useCallback(function (event) {
148
148
  if (props.onColumnReorder) {
149
- props.onColumnReorder.call(undefined, __assign({}, event, { target: ganttRef.current }));
149
+ props.onColumnReorder.call(undefined, __assign(__assign({}, event), { target: ganttRef.current }));
150
150
  }
151
151
  }, [props.onColumnReorder]);
152
152
  // ===== ROW events
153
153
  var handleRowClick = React.useCallback(function (event) {
154
154
  if (props.onRowClick) {
155
- props.onRowClick.call(undefined, __assign({}, event, { target: ganttRef.current }));
155
+ props.onRowClick.call(undefined, __assign(__assign({}, event), { target: ganttRef.current }));
156
156
  }
157
157
  }, [props.onRowClick]);
158
158
  var handleRowDoubleClick = React.useCallback(function (event) {
159
159
  if (props.onRowDoubleClick) {
160
- props.onRowDoubleClick.call(undefined, __assign({}, event, { target: ganttRef.current }));
160
+ props.onRowDoubleClick.call(undefined, __assign(__assign({}, event), { target: ganttRef.current }));
161
161
  }
162
162
  }, [props.onRowClick]);
163
163
  var handleRowContextMenu = React.useCallback(function (event) {
164
164
  if (props.onRowContextMenu) {
165
- props.onRowContextMenu.call(undefined, __assign({}, event, { target: ganttRef.current }));
165
+ props.onRowContextMenu.call(undefined, __assign(__assign({}, event), { target: ganttRef.current }));
166
166
  }
167
167
  }, [props.onRowClick]);
168
168
  // ===== TASK events
169
169
  var handleTaskClick = React.useCallback(function (event) {
170
170
  if (props.onTaskClick) {
171
- props.onTaskClick.call(undefined, __assign({}, event, { target: ganttRef.current }));
171
+ props.onTaskClick.call(undefined, __assign(__assign({}, event), { target: ganttRef.current }));
172
172
  }
173
173
  }, [props.onTaskClick]);
174
174
  var handleTaskDoubleClick = React.useCallback(function (event) {
175
175
  if (props.onTaskDoubleClick) {
176
- props.onTaskDoubleClick.call(undefined, __assign({}, event, { target: ganttRef.current }));
176
+ props.onTaskDoubleClick.call(undefined, __assign(__assign({}, event), { target: ganttRef.current }));
177
177
  }
178
178
  }, [props.onTaskDoubleClick]);
179
179
  var handleTaskContextMenu = React.useCallback(function (event) {
180
180
  if (props.onTaskContextMenu) {
181
- props.onTaskContextMenu.call(undefined, __assign({}, event, { target: ganttRef.current }));
181
+ props.onTaskContextMenu.call(undefined, __assign(__assign({}, event), { target: ganttRef.current }));
182
182
  }
183
183
  }, [props.onTaskContextMenu]);
184
184
  var handleTaskRemoveClick = React.useCallback(function (event) {
185
185
  if (props.onTaskRemoveClick) {
186
- props.onTaskRemoveClick.call(undefined, __assign({}, event, { target: ganttRef.current }));
186
+ props.onTaskRemoveClick.call(undefined, __assign(__assign({}, event), { target: ganttRef.current }));
187
187
  }
188
188
  }, [props.onTaskRemoveClick]);
189
189
  var handleDependencyCreate = React.useCallback(function (event) {
@@ -2,10 +2,12 @@ var __extends = (this && this.__extends) || (function () {
2
2
  var extendStatics = function (d, b) {
3
3
  extendStatics = Object.setPrototypeOf ||
4
4
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
5
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
6
  return extendStatics(d, b);
7
7
  };
8
8
  return function (d, b) {
9
+ if (typeof b !== "function" && b !== null)
10
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
9
11
  extendStatics(d, b);
10
12
  function __() { this.constructor = d; }
11
13
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
@@ -14,8 +14,10 @@ var __rest = (this && this.__rest) || function (s, e) {
14
14
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
15
  t[p] = s[p];
16
16
  if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
18
- t[p[i]] = s[p[i]];
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
19
21
  return t;
20
22
  };
21
23
  import * as React from 'react';
@@ -14,8 +14,10 @@ var __rest = (this && this.__rest) || function (s, e) {
14
14
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
15
  t[p] = s[p];
16
16
  if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
18
- t[p[i]] = s[p[i]];
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
19
21
  return t;
20
22
  };
21
23
  import * as React from 'react';
@@ -14,8 +14,10 @@ var __rest = (this && this.__rest) || function (s, e) {
14
14
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
15
  t[p] = s[p];
16
16
  if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
18
- t[p[i]] = s[p[i]];
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
19
21
  return t;
20
22
  };
21
23
  import * as React from 'react';
@@ -14,8 +14,10 @@ var __rest = (this && this.__rest) || function (s, e) {
14
14
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
15
  t[p] = s[p];
16
16
  if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
18
- t[p[i]] = s[p[i]];
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
19
21
  return t;
20
22
  };
21
23
  import * as React from 'react';
@@ -9,6 +9,11 @@ var __assign = (this && this.__assign) || function () {
9
9
  };
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
+ var __spreadArray = (this && this.__spreadArray) || function (to, from) {
13
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
14
+ to[j] = from[i];
15
+ return to;
16
+ };
12
17
  import * as React from 'react';
13
18
  import { useGanttPropsContext, useGanttTaskModelFieldsContext, useGanttTaskDataContext, useGanttDependencyDataContext, useGanttRowHeightContext, useGanttToolbarHeightContext, useGanttEventsContext, useGanttDependencyModelFieldsContext } from './../context/GanttContext';
14
19
  import { GanttViewContext } from '../context/GanttViewContext';
@@ -56,7 +61,7 @@ export var BaseView = React.forwardRef(function (props, ref) {
56
61
  var timelineContent = getTimelineContent(slotLevels, timelineContentRef);
57
62
  var timelineWidth = getTimelineWidth(slotLevels, slotWidth);
58
63
  var _d = React.useMemo(function () {
59
- var extendedCols = readColumns(columns.concat([
64
+ var extendedCols = readColumns(__spreadArray(__spreadArray([], columns), [
60
65
  {
61
66
  title: '',
62
67
  sortable: false,
@@ -135,11 +140,11 @@ export var BaseView = React.forwardRef(function (props, ref) {
135
140
  timelineSvgRef.current.style.left = timelineHeaderElement.offsetLeft - svgLeftRef.current + 'px';
136
141
  positionTimelineContent();
137
142
  }
138
- onColumnResize(__assign({}, event, { columns: currentColumns }));
143
+ onColumnResize(__assign(__assign({}, event), { columns: currentColumns }));
139
144
  }, [onColumnResize]);
140
145
  var onColumnReorderHandler = React.useCallback(function (event) {
141
146
  var currentColumns = event.columns.slice(0, event.columns.length - 1);
142
- onColumnReorder(__assign({}, event, { columns: currentColumns }));
147
+ onColumnReorder(__assign(__assign({}, event), { columns: currentColumns }));
143
148
  }, [onColumnResize]);
144
149
  var handleDependencyHandlePress = React.useCallback(function (dragEvent) {
145
150
  var ownerDocument = contentRef.current && contentRef.current.ownerDocument ? contentRef.current.ownerDocument : document;
@@ -79,7 +79,7 @@ export declare class GanttTreeList extends React.Component<GanttTreeListProps, {
79
79
  private element;
80
80
  protected dragLogic: CommonDragLogic;
81
81
  private _treeListId;
82
- private readonly document;
82
+ private get document();
83
83
  private contextStateRef;
84
84
  private navigationStateRef;
85
85
  constructor(props: GanttTreeListProps);
@@ -107,7 +107,7 @@ export declare class GanttTreeList extends React.Component<GanttTreeListProps, {
107
107
  */
108
108
  render(): JSX.Element;
109
109
  private getColumns;
110
- private readonly flatData;
110
+ private get flatData();
111
111
  private onKeyDown;
112
112
  private onFocus;
113
113
  private onRowDrag;
@@ -2,10 +2,12 @@ var __extends = (this && this.__extends) || (function () {
2
2
  var extendStatics = function (d, b) {
3
3
  extendStatics = Object.setPrototypeOf ||
4
4
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
5
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
6
  return extendStatics(d, b);
7
7
  };
8
8
  return function (d, b) {
9
+ if (typeof b !== "function" && b !== null)
10
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
9
11
  extendStatics(d, b);
10
12
  function __() { this.constructor = d; }
11
13
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
@@ -27,10 +29,17 @@ var __rest = (this && this.__rest) || function (s, e) {
27
29
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
28
30
  t[p] = s[p];
29
31
  if (s != null && typeof Object.getOwnPropertySymbols === "function")
30
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
31
- t[p[i]] = s[p[i]];
32
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
33
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
34
+ t[p[i]] = s[p[i]];
35
+ }
32
36
  return t;
33
37
  };
38
+ var __spreadArray = (this && this.__spreadArray) || function (to, from) {
39
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
40
+ to[j] = from[i];
41
+ return to;
42
+ };
34
43
  import * as React from 'react';
35
44
  import * as PropTypes from 'prop-types';
36
45
  import { classNames, noop, getter, guid, canUseDOM } from '@progress/kendo-react-common';
@@ -82,8 +91,7 @@ var GanttTreeList = /** @class */ (function (_super) {
82
91
  });
83
92
  if (_this.props.onKeyDown) {
84
93
  var _a = getSelectionOptions(_this.props.selectable), mode = _a.mode, cell = _a.cell;
85
- _this.props.onKeyDown.call(undefined, __assign({ dataItems: _this.getLeafDataItems(), mode: mode,
86
- cell: cell, componentId: _this._treeListId, selectedField: _this.props.selectedField }, _this.getEventArguments(event)));
94
+ _this.props.onKeyDown.call(undefined, __assign({ dataItems: _this.getLeafDataItems(), mode: mode, cell: cell, componentId: _this._treeListId, selectedField: _this.props.selectedField }, _this.getEventArguments(event)));
87
95
  }
88
96
  };
89
97
  _this.onFocus = function (event) {
@@ -93,13 +101,13 @@ var GanttTreeList = /** @class */ (function (_super) {
93
101
  };
94
102
  _this.onRowDrag = function (event) {
95
103
  if (_this.props.onRowDrag) {
96
- var rowDragEvent = __assign({}, event, { target: _this });
104
+ var rowDragEvent = __assign(__assign({}, event), { target: _this });
97
105
  _this.props.onRowDrag.call(undefined, rowDragEvent);
98
106
  }
99
107
  };
100
108
  _this.onRowDrop = function (event) {
101
109
  if (_this.props.onRowDrop) {
102
- var rowDropEvent = __assign({}, event, { target: _this });
110
+ var rowDropEvent = __assign(__assign({}, event), { target: _this });
103
111
  _this.props.onRowDrop.call(undefined, rowDropEvent);
104
112
  }
105
113
  };
@@ -112,9 +120,9 @@ var GanttTreeList = /** @class */ (function (_super) {
112
120
  } while (index < extendedColumns.length && extendedColumns[index].depth > depth);
113
121
  return index;
114
122
  };
115
- var columnsCopy = extendedColumns.slice();
123
+ var columnsCopy = __spreadArray([], extendedColumns);
116
124
  var spliced = columnsCopy.splice(prev, end(prev) - prev);
117
- columnsCopy.splice.apply(columnsCopy, [prev < next ? end(next - spliced.length) : next, 0].concat(spliced));
125
+ columnsCopy.splice.apply(columnsCopy, __spreadArray([prev < next ? end(next - spliced.length) : next, 0], spliced));
118
126
  columnsCopy.filter(function (q) { return q.declarationIndex >= 0; }).forEach(function (c, i) { return c.orderIndex = i; });
119
127
  if (_this.props.onColumnReorder) {
120
128
  var columnReorderEvent = {
@@ -193,13 +201,13 @@ var GanttTreeList = /** @class */ (function (_super) {
193
201
  if (event.field === _this.props.expandField) {
194
202
  var expandChange = _this.props.onExpandChange;
195
203
  if (expandChange) {
196
- var expandEvent = __assign({}, _this.getEventArguments(event.syntheticEvent), { dataItem: event.dataItem, level: event.level, value: event.value });
204
+ var expandEvent = __assign(__assign({}, _this.getEventArguments(event.syntheticEvent)), { dataItem: event.dataItem, level: event.level, value: event.value });
197
205
  expandChange.call(undefined, expandEvent);
198
206
  }
199
207
  return;
200
208
  }
201
209
  if (_this.props.onItemChange) {
202
- var itemChangeEvent = __assign({}, _this.getEventArguments(event.syntheticEvent), { dataItem: event.dataItem, level: event.level, field: event.field, value: event.value });
210
+ var itemChangeEvent = __assign(__assign({}, _this.getEventArguments(event.syntheticEvent)), { dataItem: event.dataItem, level: event.level, field: event.field, value: event.value });
203
211
  _this.props.onItemChange.call(undefined, itemChangeEvent);
204
212
  }
205
213
  };
@@ -245,8 +253,7 @@ var GanttTreeList = /** @class */ (function (_super) {
245
253
  _this.onExpandChange = function (event, dataItem, level) {
246
254
  var _a = _this.props, expandField = _a.expandField, onExpandChange = _a.onExpandChange;
247
255
  if (expandField && onExpandChange) {
248
- var expandChangeEvent = __assign({}, _this.getEventArguments(event), { dataItem: dataItem,
249
- level: level, value: isExpanded(dataItem, _this.props.expandField) });
256
+ var expandChangeEvent = __assign(__assign({}, _this.getEventArguments(event)), { dataItem: dataItem, level: level, value: isExpanded(dataItem, _this.props.expandField) });
250
257
  onExpandChange.call(undefined, expandChangeEvent);
251
258
  }
252
259
  };
@@ -270,16 +277,16 @@ var GanttTreeList = /** @class */ (function (_super) {
270
277
  };
271
278
  _this.onPageChange = function (e) {
272
279
  if (_this.props.onPageChange) {
273
- var pageChangeEvent = __assign({}, _this.getEventArguments(e.syntheticEvent), { skip: e.skip, take: e.take });
280
+ var pageChangeEvent = __assign(__assign({}, _this.getEventArguments(e.syntheticEvent)), { skip: e.skip, take: e.take });
274
281
  _this.props.onPageChange.call(undefined, pageChangeEvent);
275
282
  }
276
283
  };
277
284
  _this.onDataStateChange = function (handler, data, syntheticEvent) {
278
285
  if (handler) {
279
- handler.call(undefined, __assign({}, _this.getEventArguments(syntheticEvent), data));
286
+ handler.call(undefined, __assign(__assign({}, _this.getEventArguments(syntheticEvent)), data));
280
287
  }
281
288
  if (_this.props.onDataStateChange) {
282
- var dataStateEvent = __assign({}, _this.getEventArguments(syntheticEvent), { dataState: __assign({}, _this.getDataState(), data) });
289
+ var dataStateEvent = __assign(__assign({}, _this.getEventArguments(syntheticEvent)), { dataState: __assign(__assign({}, _this.getDataState()), data) });
283
290
  _this.props.onDataStateChange.call(undefined, dataStateEvent);
284
291
  }
285
292
  };
@@ -315,7 +322,7 @@ var GanttTreeList = /** @class */ (function (_super) {
315
322
  // useful only for user actions
316
323
  return (this.element && this.element.ownerDocument) || document;
317
324
  },
318
- enumerable: true,
325
+ enumerable: false,
319
326
  configurable: true
320
327
  });
321
328
  /**
@@ -491,7 +498,7 @@ var GanttTreeList = /** @class */ (function (_super) {
491
498
  React.createElement(TableSelection, { selectable: this.props.selectable, onRelease: this.selectionRelease, childRef: function (table) {
492
499
  _this.tableElement = table;
493
500
  } },
494
- React.createElement("table", __assign({}, (this.props.tableProps || {}), { style: __assign({}, (tableProps.style || {}), { userSelect: tableUserSelect }), role: 'presentation' }),
501
+ React.createElement("table", __assign({}, (this.props.tableProps || {}), { style: __assign(__assign({}, (tableProps.style || {})), { userSelect: tableUserSelect }), role: 'presentation' }),
495
502
  colGroups,
496
503
  header,
497
504
  React.createElement("tbody", __assign({}, tableKeyboardNavigationBodyAttributes, { ref: function (e) { return _this.tbodyElement = e; }, role: 'presentation' }), body))),
@@ -515,20 +522,19 @@ var GanttTreeList = /** @class */ (function (_super) {
515
522
  this.tbodyOffsetTop > 0 &&
516
523
  this.flattedData.length) ?
517
524
  this.flattedData :
518
- data.map(function (item) { return (__assign({}, item, itemDataMap())); });
525
+ data.map(function (item) { return (__assign(__assign({}, item), itemDataMap())); });
519
526
  this.prevData = data;
520
527
  this.flattedData = flattedData;
521
528
  return flattedData;
522
529
  },
523
- enumerable: true,
530
+ enumerable: false,
524
531
  configurable: true
525
532
  });
526
533
  GanttTreeList.prototype.onSelectionChange = function (options) {
527
534
  if (this.props.onSelectionChange) {
528
535
  var event_1 = options.event, item = options.item, dataIndex = options.dataIndex, columnIndex = options.columnIndex;
529
536
  var _a = getSelectionOptions(this.props.selectable), mode = _a.mode, cell = _a.cell;
530
- var selectionEvent = __assign({}, this.getEventArguments(event_1.syntheticEvent), { dataItem: item.dataItem, level: item.level, startColIndex: columnIndex, endColIndex: columnIndex, startRowIndex: dataIndex, endRowIndex: dataIndex, dataItems: this.getLeafDataItems(), altKey: false, ctrlKey: false, shiftKey: false, metaKey: false, mode: mode,
531
- cell: cell, isDrag: false, componentId: this._treeListId, selectedField: this.props.selectedField || '' });
537
+ var selectionEvent = __assign(__assign({}, this.getEventArguments(event_1.syntheticEvent)), { dataItem: item.dataItem, level: item.level, startColIndex: columnIndex, endColIndex: columnIndex, startRowIndex: dataIndex, endRowIndex: dataIndex, dataItems: this.getLeafDataItems(), altKey: false, ctrlKey: false, shiftKey: false, metaKey: false, mode: mode, cell: cell, isDrag: false, componentId: this._treeListId, selectedField: this.props.selectedField || '' });
532
538
  this.props.onSelectionChange.call(undefined, selectionEvent);
533
539
  }
534
540
  };
@@ -1,11 +1,12 @@
1
1
  import * as React from 'react';
2
+ import { DataItem } from '../../interfaces/DataItem';
2
3
  import { AddDirection } from '../../interfaces/AddDirection';
3
4
  /** @hidden */
4
5
  export declare const AddButton: React.ForwardRefExoticComponent<{
5
- selectedTask: any;
6
+ selectedTask: DataItem | null;
6
7
  onClick: (options: {
7
8
  nativeEvent: any;
8
9
  syntheticEvent: any;
9
10
  direction: AddDirection;
10
11
  }) => void;
11
- } & React.RefAttributes<{}>>;
12
+ } & React.RefAttributes<unknown>>;
@@ -14,8 +14,10 @@ var __rest = (this && this.__rest) || function (s, e) {
14
14
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
15
  t[p] = s[p];
16
16
  if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
18
- t[p[i]] = s[p[i]];
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
19
21
  return t;
20
22
  };
21
23
  import * as React from 'react';
@@ -14,8 +14,10 @@ var __rest = (this && this.__rest) || function (s, e) {
14
14
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
15
  t[p] = s[p];
16
16
  if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
18
- t[p[i]] = s[p[i]];
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
19
21
  return t;
20
22
  };
21
23
  import * as React from 'react';
@@ -1,3 +1,3 @@
1
1
  import * as React from 'react';
2
2
  /** @hidden */
3
- export declare const ViewSelectorList: React.ForwardRefExoticComponent<React.RefAttributes<{}>>;
3
+ export declare const ViewSelectorList: React.ForwardRefExoticComponent<React.RefAttributes<unknown>>;
@@ -29,7 +29,7 @@ export var ViewSelectorList = React.forwardRef(function () {
29
29
  }, [setActiveViewName]);
30
30
  return (React.createElement("div", { className: "k-gantt-views-wrapper" },
31
31
  React.createElement(ButtonGroup, { className: "k-gantt-views" }, views.map(function (view) { return (React.createElement(ViewSelectorItem, { key: view.props.name, view: view.props })); })),
32
- (activeView) && (React.createElement(DropDownButton, { className: "k-views-dropdown", onItemClick: handleItemClick, popupSettings: { popupClass: 'k-gantt-toolbar' }, textField: "title", items: views.map(function (v) { return (__assign({}, v.props, { selected: v.props.name === activeViewName, title: typeof v.props.title === 'function'
32
+ (activeView) && (React.createElement(DropDownButton, { className: "k-views-dropdown", onItemClick: handleItemClick, popupSettings: { popupClass: 'k-gantt-toolbar' }, textField: "title", items: views.map(function (v) { return (__assign(__assign({}, v.props), { selected: v.props.name === activeViewName, title: typeof v.props.title === 'function'
33
33
  ? v.props.title.call(undefined, localizationService)
34
34
  : v.props.title })); }), text: (React.createElement(React.Fragment, null,
35
35
  typeof activeView.props.title === 'function'
@@ -35,11 +35,11 @@ export declare const DRAG_DIRECTION_START = "start";
35
35
  export declare const DRAG_DIRECTION_FINISH = "finish";
36
36
  /** @hidden */
37
37
  export declare const DEPENDENCY_DRAG_HANDLE_START_ATT: {
38
- [DEPENDENCY_DRAG_HANDLE]: string;
38
+ "data-dependency-drag-handle": string;
39
39
  };
40
40
  /** @hidden */
41
41
  export declare const DEPENDENCY_DRAG_HANDLE_FINISH_ATT: {
42
- [DEPENDENCY_DRAG_HANDLE]: string;
42
+ "data-dependency-drag-handle": string;
43
43
  };
44
44
  /** @hidden */
45
45
  export declare const TASK_ID_ATT = "data-task-id";
@@ -9,63 +9,63 @@ import { GanttDependencyCreateEvent, GanttTaskClickEvent, GanttTaskContextMenuEv
9
9
  /** @hidden */
10
10
  export declare type GanttTaskDataContextType = any[];
11
11
  /** @hidden */
12
- export declare const GanttTaskDataContext: React.Context<any[]>;
12
+ export declare const GanttTaskDataContext: React.Context<GanttTaskDataContextType>;
13
13
  /** @hidden */
14
- export declare const useGanttTaskDataContext: () => any[];
14
+ export declare const useGanttTaskDataContext: () => GanttTaskDataContextType;
15
15
  /** @hidden */
16
16
  export declare type GanttDependencyDataContextType = any[];
17
17
  /** @hidden */
18
- export declare const GanttDependencyDataContext: React.Context<any[]>;
18
+ export declare const GanttDependencyDataContext: React.Context<GanttDependencyDataContextType>;
19
19
  /** @hidden */
20
- export declare const useGanttDependencyDataContext: () => any[];
20
+ export declare const useGanttDependencyDataContext: () => GanttDependencyDataContextType;
21
21
  /** @hidden */
22
22
  export declare type GanttTaskModelFieldsContextType = TaskModelFields;
23
23
  /** @hidden */
24
24
  export declare const GanttTaskModelFieldsContext: React.Context<TaskModelFields>;
25
25
  /** @hidden */
26
- export declare const useGanttTaskModelFieldsContext: () => TaskModelFields;
26
+ export declare const useGanttTaskModelFieldsContext: () => GanttTaskModelFieldsContextType;
27
27
  /** @hidden */
28
28
  export declare type GanttDependencyModelFieldsContextType = DependencyModelFields;
29
29
  /** @hidden */
30
30
  export declare const GanttDependencyModelFieldsContext: React.Context<DependencyModelFields>;
31
31
  /** @hidden */
32
- export declare const useGanttDependencyModelFieldsContext: () => DependencyModelFields;
32
+ export declare const useGanttDependencyModelFieldsContext: () => GanttDependencyModelFieldsContextType;
33
33
  /** @hidden */
34
34
  export declare type GanttPropsContextType = GanttBaseProps;
35
35
  /** @hidden */
36
36
  export declare const GanttPropsContext: React.Context<GanttBaseProps>;
37
37
  /** @hidden */
38
- export declare const useGanttPropsContext: () => GanttBaseProps;
38
+ export declare const useGanttPropsContext: () => GanttPropsContextType;
39
39
  /** @hidden */
40
40
  export declare type GanttDateRangeContextType = DateRange;
41
41
  /** @hidden */
42
42
  export declare const GanttDateRangeContext: React.Context<DateRange>;
43
43
  /** @hidden */
44
- export declare const useGanttDateRangeContext: () => DateRange;
44
+ export declare const useGanttDateRangeContext: () => GanttDateRangeContextType;
45
45
  /** @hidden */
46
46
  export declare type GanttViewsContextType = GanttView[];
47
47
  /** @hidden */
48
- export declare const GanttViewsContext: React.Context<React.ReactElement<import("../interfaces/GanttView").GanttViewProps, string | ((props: any) => React.ReactElement<any, string | any | (new (props: any) => React.Component<any, any, any>)>) | (new (props: any) => React.Component<any, any, any>)>[]>;
48
+ export declare const GanttViewsContext: React.Context<GanttViewsContextType>;
49
49
  /** @hidden */
50
- export declare const useGanttViewsContext: () => React.ReactElement<import("../interfaces/GanttView").GanttViewProps, string | ((props: any) => React.ReactElement<any, string | any | (new (props: any) => React.Component<any, any, any>)>) | (new (props: any) => React.Component<any, any, any>)>[];
50
+ export declare const useGanttViewsContext: () => GanttViewsContextType;
51
51
  /** @hidden */
52
52
  export declare type GanttActiveViewContextType = [string, (activeView: string, event?: any) => void];
53
53
  /** @hidden */
54
- export declare const GanttActiveViewContext: React.Context<[string, (activeView: string, event?: any) => void]>;
54
+ export declare const GanttActiveViewContext: React.Context<GanttActiveViewContextType>;
55
55
  /** @hidden */
56
- export declare const useGanttActiveViewContext: () => [string, (activeView: string, event?: any) => void];
56
+ export declare const useGanttActiveViewContext: () => GanttActiveViewContextType;
57
57
  /** @hidden */
58
58
  export declare type GanttRowHeightContextType = number;
59
59
  /** @hidden */
60
60
  export declare const GanttRowHeightContext: React.Context<number>;
61
61
  /** @hidden */
62
- export declare const useGanttRowHeightContext: () => number;
62
+ export declare const useGanttRowHeightContext: () => GanttRowHeightContextType;
63
63
  /** @hidden */
64
64
  export declare type GanttToolbarHeightContextType = number;
65
65
  /** @hidden */
66
66
  export declare const GanttToolbarHeightContext: React.Context<number>;
67
67
  /** @hidden */
68
- export declare const useGanttToolbarHeightContext: () => number;
68
+ export declare const useGanttToolbarHeightContext: () => GanttToolbarHeightContextType;
69
69
  /** @hidden */
70
70
  export declare type GanttEventsContextType = {
71
71
  onDataStateChange: (args: TreeListDataStateChangeEvent) => void;
@@ -5,19 +5,15 @@ import { GanttTaskHandle } from '../components/GanttTask';
5
5
  /** @hidden */
6
6
  export declare type GanttViewTasksContextType = [Store<GanttTaskHandle>, (event: StoreAction<GanttTaskHandle>) => void];
7
7
  /** @hidden */
8
- export declare const GanttViewTasksContext: React.Context<[React.RefObject<{
9
- [id: string]: GanttTaskHandle;
10
- }>, (event: StoreAction<GanttTaskHandle>) => void]>;
8
+ export declare const GanttViewTasksContext: React.Context<GanttViewTasksContextType>;
11
9
  /** @hidden */
12
- export declare const useGanttViewTasksContext: () => [React.RefObject<{
13
- [id: string]: GanttTaskHandle;
14
- }>, (event: StoreAction<GanttTaskHandle>) => void];
10
+ export declare const useGanttViewTasksContext: () => GanttViewTasksContextType;
15
11
  /** @hidden */
16
12
  export declare type GanttViewTimelineWidthContextType = number;
17
13
  /** @hidden */
18
14
  export declare const GanttViewTimelineWidthContext: React.Context<number>;
19
15
  /** @hidden */
20
- export declare const useGanttViewTimelineWidthContext: () => number;
16
+ export declare const useGanttViewTimelineWidthContext: () => GanttViewTimelineWidthContextType;
21
17
  /** @hidden */
22
18
  export declare type GanttViewDependencyDragContextType = {
23
19
  onDependencyHandlePress: (event: NormalizedDragEvent) => void;
@@ -14,8 +14,10 @@ var __rest = (this && this.__rest) || function (s, e) {
14
14
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
15
  t[p] = s[p];
16
16
  if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
18
- t[p[i]] = s[p[i]];
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
19
21
  return t;
20
22
  };
21
23
  import * as React from 'react';
@@ -14,8 +14,10 @@ var __rest = (this && this.__rest) || function (s, e) {
14
14
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
15
  t[p] = s[p];
16
16
  if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
18
- t[p[i]] = s[p[i]];
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
19
21
  return t;
20
22
  };
21
23
  import * as React from 'react';
@@ -14,8 +14,10 @@ var __rest = (this && this.__rest) || function (s, e) {
14
14
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
15
  t[p] = s[p];
16
16
  if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
18
- t[p[i]] = s[p[i]];
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
19
21
  return t;
20
22
  };
21
23
  import * as React from 'react';