@oddle.me/react-calendar-timeline 0.29.3 → 0.29.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/Timeline.css CHANGED
@@ -30,21 +30,12 @@
30
30
  padding: 0 6px;
31
31
  height: 100%; }
32
32
  .react-calendar-timeline .rct-sidebar {
33
- overflow: hidden;
34
33
  white-space: normal;
35
34
  display: inline-block;
36
35
  vertical-align: top;
37
36
  position: relative;
38
37
  box-sizing: border-box;
39
- border-right: 1px solid #bbb;
40
- overflow-x: hidden;
41
- overflow-y: scroll;
42
- -ms-overflow-style: none;
43
- /* IE and Edge */
44
- scrollbar-width: none;
45
- /* Firefox */ }
46
- .react-calendar-timeline .rct-sidebar::-webkit-scrollbar {
47
- display: none; }
38
+ border-right: 1px solid #bbb; }
48
39
  .react-calendar-timeline .rct-sidebar.rct-sidebar-right {
49
40
  border-right: 0;
50
41
  border-left: 1px solid #bbb; }
package/lib/index.js CHANGED
@@ -51,6 +51,12 @@ Object.defineProperty(exports, "DateHeader", {
51
51
  return _DateHeader["default"];
52
52
  }
53
53
  });
54
+ Object.defineProperty(exports, "DisableOverlay", {
55
+ enumerable: true,
56
+ get: function get() {
57
+ return _DisableOverlay["default"];
58
+ }
59
+ });
54
60
  exports["default"] = void 0;
55
61
 
56
62
  var _Timeline = _interopRequireDefault(require("./lib/Timeline"));
@@ -71,6 +77,8 @@ var _CustomHeader = _interopRequireDefault(require("./lib/headers/CustomHeader")
71
77
 
72
78
  var _DateHeader = _interopRequireDefault(require("./lib/headers/DateHeader"));
73
79
 
80
+ var _DisableOverlay = _interopRequireDefault(require("./lib/overlay/DisableOverlay"));
81
+
74
82
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
75
83
 
76
84
  var _default = _Timeline["default"];
@@ -166,6 +166,10 @@ function (_Component) {
166
166
 
167
167
  if (scrollY) {
168
168
  _this.outerScrollElm.scrollTop += scrollY;
169
+
170
+ if (_this.props.onVerticalScroll) {
171
+ _this.props.onVerticalScroll(_this.outerScrollElm.scrollTop);
172
+ }
169
173
  }
170
174
  });
171
175
 
@@ -874,6 +878,7 @@ _defineProperty(ReactCalendarTimeline, "propTypes", {
874
878
  visibleTimeStart: _propTypes["default"].number,
875
879
  visibleTimeEnd: _propTypes["default"].number,
876
880
  onTimeChange: _propTypes["default"].func,
881
+ onVerticalScroll: _propTypes["default"].func,
877
882
  onBoundsChange: _propTypes["default"].func,
878
883
  initialScrollTop: _propTypes["default"].number,
879
884
  selected: _propTypes["default"].array,
@@ -939,6 +944,7 @@ _defineProperty(ReactCalendarTimeline, "defaultProps", {
939
944
  onTimeChange: function onTimeChange(visibleTimeStart, visibleTimeEnd, updateScrollCanvas) {
940
945
  updateScrollCanvas(visibleTimeStart, visibleTimeEnd);
941
946
  },
947
+ onVerticalScroll: function onVerticalScroll() {},
942
948
  // called when the canvas area of the calendar changes
943
949
  onBoundsChange: null,
944
950
  children: null,
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _TimelineStateContext = require("../timeline/TimelineStateContext");
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
17
+
18
+ function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
19
+
20
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
21
+
22
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
23
+
24
+ function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
25
+
26
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
27
+
28
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
29
+
30
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
31
+
32
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
33
+
34
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
35
+
36
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
37
+
38
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
39
+
40
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
41
+
42
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
43
+
44
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
45
+
46
+ var DisableOverlay =
47
+ /*#__PURE__*/
48
+ function (_React$Component) {
49
+ _inherits(DisableOverlay, _React$Component);
50
+
51
+ function DisableOverlay() {
52
+ var _getPrototypeOf2;
53
+
54
+ var _this;
55
+
56
+ _classCallCheck(this, DisableOverlay);
57
+
58
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
59
+ args[_key] = arguments[_key];
60
+ }
61
+
62
+ _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(DisableOverlay)).call.apply(_getPrototypeOf2, [this].concat(args)));
63
+
64
+ _defineProperty(_assertThisInitialized(_this), "getTimeRange", function () {
65
+ var _this$props = _this.props,
66
+ visibleTimeStart = _this$props.visibleTimeStart,
67
+ visibleTimeEnd = _this$props.visibleTimeEnd,
68
+ fromTime = _this$props.fromTime,
69
+ toTime = _this$props.toTime;
70
+ var start = fromTime,
71
+ end = toTime;
72
+
73
+ if (!start) {
74
+ start = visibleTimeStart;
75
+ }
76
+
77
+ if (!end) {
78
+ end = visibleTimeEnd;
79
+ }
80
+
81
+ return [Math.max(visibleTimeStart, start), Math.min(visibleTimeEnd, end)];
82
+ });
83
+
84
+ return _this;
85
+ }
86
+
87
+ _createClass(DisableOverlay, [{
88
+ key: "render",
89
+ value: function render() {
90
+ var getLeftOffsetFromDate = this.props.getLeftOffsetFromDate;
91
+
92
+ var _this$getTimeRange = this.getTimeRange(),
93
+ _this$getTimeRange2 = _slicedToArray(_this$getTimeRange, 2),
94
+ start = _this$getTimeRange2[0],
95
+ end = _this$getTimeRange2[1];
96
+
97
+ if (start > end) {
98
+ return null;
99
+ }
100
+
101
+ var left = getLeftOffsetFromDate(start);
102
+ var right = getLeftOffsetFromDate(end);
103
+ return _react["default"].createElement("div", {
104
+ className: "rct-timeline-overlay",
105
+ style: {
106
+ height: '100%',
107
+ position: 'absolute',
108
+ left: left,
109
+ top: 0,
110
+ width: right - left,
111
+ background: 'rgba(145, 158, 171, 0.24)',
112
+ pointerEvents: 'none'
113
+ }
114
+ });
115
+ }
116
+ }]);
117
+
118
+ return DisableOverlay;
119
+ }(_react["default"].Component);
120
+
121
+ _defineProperty(DisableOverlay, "propTypes", {
122
+ visibleTimeStart: _propTypes["default"].number,
123
+ fromTime: _propTypes["default"].number,
124
+ toTime: _propTypes["default"].number,
125
+ visibleTimeEnd: _propTypes["default"].number,
126
+ getLeftOffsetFromDate: _propTypes["default"].func
127
+ });
128
+
129
+ var DisableOverlayWrapper = function DisableOverlayWrapper(props) {
130
+ return _react["default"].createElement(_TimelineStateContext.TimelineStateConsumer, null, function (_ref) {
131
+ var getTimelineState = _ref.getTimelineState,
132
+ getLeftOffsetFromDate = _ref.getLeftOffsetFromDate;
133
+
134
+ var _getTimelineState = getTimelineState(),
135
+ visibleTimeStart = _getTimelineState.visibleTimeStart,
136
+ visibleTimeEnd = _getTimelineState.visibleTimeEnd;
137
+
138
+ return _react["default"].createElement(DisableOverlay, _extends({
139
+ visibleTimeStart: visibleTimeStart,
140
+ visibleTimeEnd: visibleTimeEnd,
141
+ getLeftOffsetFromDate: getLeftOffsetFromDate
142
+ }, props));
143
+ });
144
+ };
145
+
146
+ var _default = DisableOverlayWrapper;
147
+ exports["default"] = _default;
@@ -191,7 +191,7 @@ function (_Component) {
191
191
  var x = e.touches[0].clientX;
192
192
  var y = e.touches[0].clientY;
193
193
  var deltaX = x - _this.lastSingleTouch.x;
194
- var deltaY = x - _this.lastSingleTouch.y;
194
+ var deltaY = y - _this.lastSingleTouch.y;
195
195
  var deltaX0 = x - _this.singleTouchStart.x;
196
196
  var deltaY0 = y - _this.singleTouchStart.y;
197
197
  _this.lastSingleTouch = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oddle.me/react-calendar-timeline",
3
- "version": "0.29.3",
3
+ "version": "0.29.5",
4
4
  "description": "react calendar timeline",
5
5
  "main": "lib/index.js",
6
6
  "types": "src/global.d.ts",
package/src/global.d.ts CHANGED
@@ -5,371 +5,459 @@
5
5
  // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
6
6
  // TypeScript Version: 3.5
7
7
 
8
- import * as React from 'react';
9
- import { Moment } from 'moment';
8
+ import * as React from 'react'
9
+ import { Moment } from 'moment'
10
10
 
11
11
  declare module '@oddle.me/react-calendar-timeline' {
12
- type Id = number | string;
12
+ type Id = number | string
13
13
 
14
14
  export interface TimelineGroupBase {
15
- id: Id;
16
- title: React.ReactNode;
17
- rightTitle?: React.ReactNode | undefined;
18
- height?: number | undefined;
19
- stackItems?: boolean | undefined;
15
+ id: Id
16
+ title: React.ReactNode
17
+ rightTitle?: React.ReactNode | undefined
18
+ height?: number | undefined
19
+ stackItems?: boolean | undefined
20
20
  }
21
21
 
22
22
  export interface TimelineItemBase<DateType> {
23
- id: Id;
24
- group: Id;
25
- title?: React.ReactNode | undefined;
26
- start_time: DateType;
27
- end_time: DateType;
28
- canMove?: boolean | undefined;
29
- canResize?: boolean | 'left' | 'right' | 'both' | undefined;
30
- canChangeGroup?: boolean | undefined;
31
- className?: string | undefined;
32
- style?: React.CSSProperties | undefined;
33
- itemProps?: React.HTMLAttributes<HTMLDivElement> | undefined;
23
+ id: Id
24
+ group: Id
25
+ title?: React.ReactNode | undefined
26
+ start_time: DateType
27
+ end_time: DateType
28
+ canMove?: boolean | undefined
29
+ canResize?: boolean | 'left' | 'right' | 'both' | undefined
30
+ canChangeGroup?: boolean | undefined
31
+ className?: string | undefined
32
+ style?: React.CSSProperties | undefined
33
+ itemProps?: React.HTMLAttributes<HTMLDivElement> | undefined
34
34
  }
35
35
 
36
- export type TimelineItem<CustomItemFields, DateType = number> = TimelineItemBase<DateType> & CustomItemFields;
37
- export type TimelineGroup<CustomGroupFields> = TimelineGroupBase & CustomGroupFields;
36
+ export type TimelineItem<
37
+ CustomItemFields,
38
+ DateType = number
39
+ > = TimelineItemBase<DateType> & CustomItemFields
40
+ export type TimelineGroup<CustomGroupFields> = TimelineGroupBase &
41
+ CustomGroupFields
38
42
 
39
43
  export interface TimelineContext {
40
- timelineWidth: number;
41
- visibleTimeStart: number;
42
- visibleTimeEnd: number;
43
- canvasTimeStart: number;
44
- canvasTimeEnd: number;
44
+ timelineWidth: number
45
+ visibleTimeStart: number
46
+ visibleTimeEnd: number
47
+ canvasTimeStart: number
48
+ canvasTimeEnd: number
45
49
  }
46
50
 
47
51
  export interface ItemContext {
48
52
  dimensions: {
49
- collisionLeft: number;
50
- collisionWidth: number;
51
- height: number;
52
- isDragging: boolean;
53
- left: number;
53
+ collisionLeft: number
54
+ collisionWidth: number
55
+ height: number
56
+ isDragging: boolean
57
+ left: number
54
58
  order: {
55
59
  group: {
56
- id: string;
57
- };
58
- index: number;
59
- };
60
- originalLeft: number;
61
- stack: boolean;
62
- top: number | null;
63
- width: number;
64
- };
65
- useResizeHandle: boolean;
66
- title: string;
67
- canMove: boolean;
68
- canResizeLeft: boolean;
69
- canResizeRight: boolean;
70
- selected: boolean;
71
- dragging: boolean;
60
+ id: string
61
+ }
62
+ index: number
63
+ }
64
+ originalLeft: number
65
+ stack: boolean
66
+ top: number | null
67
+ width: number
68
+ }
69
+ useResizeHandle: boolean
70
+ title: string
71
+ canMove: boolean
72
+ canResizeLeft: boolean
73
+ canResizeRight: boolean
74
+ selected: boolean
75
+ dragging: boolean
72
76
  dragStart: {
73
- x: number;
74
- y: number;
75
- };
76
- dragTime: number;
77
- dragGroupDelta: number;
78
- resizing: boolean;
79
- resizeEdge: 'left' | 'right';
80
- resizeStart: number;
81
- resizeTime: number;
82
- width: boolean;
77
+ x: number
78
+ y: number
79
+ }
80
+ dragTime: number
81
+ dragGroupDelta: number
82
+ resizing: boolean
83
+ resizeEdge: 'left' | 'right'
84
+ resizeStart: number
85
+ resizeTime: number
86
+ width: boolean
83
87
  }
84
88
 
85
89
  export interface TimeFormat {
86
- long: string;
87
- mediumLong: string;
88
- medium: string;
89
- short: string;
90
+ long: string
91
+ mediumLong: string
92
+ medium: string
93
+ short: string
90
94
  }
91
95
 
92
96
  export interface LabelFormat {
93
- year: TimeFormat;
94
- month: TimeFormat;
95
- week: TimeFormat;
96
- day: TimeFormat;
97
- hour: TimeFormat;
98
- minute: TimeFormat;
97
+ year: TimeFormat
98
+ month: TimeFormat
99
+ week: TimeFormat
100
+ day: TimeFormat
101
+ hour: TimeFormat
102
+ minute: TimeFormat
99
103
  }
100
104
 
101
105
  export interface ItemRendererGetItemPropsReturnType {
102
- key: Id;
103
- ref: React.Ref<any>;
104
- className: string;
105
- onMouseDown: React.MouseEventHandler;
106
- onMouseUp: React.MouseEventHandler;
107
- onTouchStart: React.TouchEventHandler;
108
- onTouchEnd: React.TouchEventHandler;
109
- onDoubleClick: React.MouseEventHandler;
110
- onContextMenu: React.ReactEventHandler;
111
- style: React.CSSProperties;
106
+ key: Id
107
+ ref: React.Ref<any>
108
+ className: string
109
+ onMouseDown: React.MouseEventHandler
110
+ onMouseUp: React.MouseEventHandler
111
+ onTouchStart: React.TouchEventHandler
112
+ onTouchEnd: React.TouchEventHandler
113
+ onDoubleClick: React.MouseEventHandler
114
+ onContextMenu: React.ReactEventHandler
115
+ style: React.CSSProperties
112
116
  }
113
117
 
114
- export type GetItemsProps = Partial<Omit<ItemRendererGetItemPropsReturnType, 'key' | 'ref'>>;
118
+ export type GetItemsProps = Partial<
119
+ Omit<ItemRendererGetItemPropsReturnType, 'key' | 'ref'>
120
+ >
115
121
 
116
122
  export interface ItemRendererGetResizePropsReturnType {
117
- left?: {
118
- ref: React.Ref<any>;
119
- className: string;
120
- style: React.CSSProperties;
121
- } | undefined;
122
- right?: {
123
- ref: React.Ref<any>;
124
- className: string;
125
- style: React.CSSProperties;
126
- } | undefined;
123
+ left?:
124
+ | {
125
+ ref: React.Ref<any>
126
+ className: string
127
+ style: React.CSSProperties
128
+ }
129
+ | undefined
130
+ right?:
131
+ | {
132
+ ref: React.Ref<any>
133
+ className: string
134
+ style: React.CSSProperties
135
+ }
136
+ | undefined
127
137
  }
128
138
 
129
139
  export type GetResizeProps = {
130
- leftStyle?: React.CSSProperties | undefined;
131
- rightStyle?: React.CSSProperties | undefined;
132
- leftClassName?: string | undefined;
133
- rightClassName?: string | undefined;
134
- };
140
+ leftStyle?: React.CSSProperties | undefined
141
+ rightStyle?: React.CSSProperties | undefined
142
+ leftClassName?: string | undefined
143
+ rightClassName?: string | undefined
144
+ }
135
145
 
136
146
  export interface ReactCalendarItemRendererProps<
137
147
  CustomItem extends TimelineItemBase<any> = TimelineItemBase<number>
138
148
  > {
139
- item: CustomItem;
140
- itemContext: ItemContext;
149
+ item: CustomItem
150
+ itemContext: ItemContext
141
151
  getItemProps: (
142
- props: GetItemsProps,
152
+ props: GetItemsProps
143
153
  ) => {
144
- key: Id;
145
- ref: React.Ref<any>;
146
- className: string;
147
- onMouseDown: React.MouseEventHandler;
148
- onMouseUp: React.MouseEventHandler;
149
- onTouchStart: React.TouchEventHandler;
150
- onTouchEnd: React.TouchEventHandler;
151
- onDoubleClick: React.MouseEventHandler;
152
- onContextMenu: React.ReactEventHandler;
153
- style: React.CSSProperties;
154
- };
155
- getResizeProps: (propsOverride?: GetResizeProps) => ItemRendererGetResizePropsReturnType;
154
+ key: Id
155
+ ref: React.Ref<any>
156
+ className: string
157
+ onMouseDown: React.MouseEventHandler
158
+ onMouseUp: React.MouseEventHandler
159
+ onTouchStart: React.TouchEventHandler
160
+ onTouchEnd: React.TouchEventHandler
161
+ onDoubleClick: React.MouseEventHandler
162
+ onContextMenu: React.ReactEventHandler
163
+ style: React.CSSProperties
164
+ }
165
+ getResizeProps: (
166
+ propsOverride?: GetResizeProps
167
+ ) => ItemRendererGetResizePropsReturnType
156
168
  }
157
169
 
158
- export interface ReactCalendarGroupRendererProps<CustomGroup extends TimelineGroupBase = TimelineGroupBase> {
159
- group: CustomGroup;
160
- isRightSidebar?: boolean | undefined;
170
+ export interface ReactCalendarGroupRendererProps<
171
+ CustomGroup extends TimelineGroupBase = TimelineGroupBase
172
+ > {
173
+ group: CustomGroup
174
+ isRightSidebar?: boolean | undefined
161
175
  }
162
176
 
163
177
  export interface OnItemDragObjectBase {
164
- eventType: 'move' | 'resize';
165
- itemId: Id;
166
- time: number;
178
+ eventType: 'move' | 'resize'
179
+ itemId: Id
180
+ time: number
167
181
  }
168
182
 
169
183
  export interface OnItemDragObjectMove extends OnItemDragObjectBase {
170
- eventType: 'move';
171
- newGroupOrder: number;
184
+ eventType: 'move'
185
+ newGroupOrder: number
172
186
  }
173
187
 
174
188
  export interface OnItemDragObjectResize extends OnItemDragObjectBase {
175
- eventType: 'resize';
176
- edge?: 'left' | 'right' | undefined;
189
+ eventType: 'resize'
190
+ edge?: 'left' | 'right' | undefined
177
191
  }
178
192
 
179
193
  export interface TimelineKeys {
180
- groupIdKey: string;
181
- groupTitleKey: string;
182
- groupRightTitleKey: string;
183
- itemIdKey: string;
184
- itemTitleKey: string;
185
- itemDivTitleKey: string;
186
- itemGroupKey: string;
187
- itemTimeStartKey: string;
188
- itemTimeEndKey: string;
194
+ groupIdKey: string
195
+ groupTitleKey: string
196
+ groupRightTitleKey: string
197
+ itemIdKey: string
198
+ itemTitleKey: string
199
+ itemDivTitleKey: string
200
+ itemGroupKey: string
201
+ itemTimeStartKey: string
202
+ itemTimeEndKey: string
189
203
  }
190
204
 
191
205
  export interface ReactCalendarTimelineProps<
192
206
  CustomItem extends TimelineItemBase<any> = TimelineItemBase<number>,
193
207
  CustomGroup extends TimelineGroupBase = TimelineGroupBase
194
208
  > {
195
- children?: React.ReactNode;
196
- groups: CustomGroup[];
197
- items: CustomItem[];
198
- keys?: TimelineKeys | undefined;
199
- defaultTimeStart?: Date | Moment | undefined;
200
- defaultTimeEnd?: Date | Moment | undefined;
201
- visibleTimeStart?: Date | Moment | number | undefined;
202
- visibleTimeEnd?: Date | Moment | number | undefined;
203
- selected?: Id[] | undefined;
204
- sidebarWidth?: number | undefined;
205
- sidebarContent?: React.ReactNode | undefined;
206
- rightSidebarWidth?: number | undefined;
207
- rightSidebarContent?: React.ReactNode | undefined;
208
- dragSnap?: number | undefined;
209
- minResizeWidth?: number | undefined;
210
- lineHeight?: number | undefined;
211
- itemHeightRatio?: number | undefined;
212
- minZoom?: number | undefined;
213
- maxZoom?: number | undefined;
214
- clickTolerance?: number | undefined;
215
- canMove?: boolean | undefined;
216
- canChangeGroup?: boolean | undefined;
217
- canResize?: false | true | 'left' | 'right' | 'both' | undefined;
218
- useResizeHandle?: boolean | undefined;
219
- stackItems?: boolean | undefined;
220
- traditionalZoom?: boolean | undefined;
221
- itemTouchSendsClick?: boolean | undefined;
222
- timeSteps?: TimelineTimeSteps | undefined;
223
- scrollRef?: React.Ref<any> | undefined;
224
- outerScrollRef?: React.Ref<any> | undefined;
225
- onItemDrag?(itemDragObject: OnItemDragObjectMove | OnItemDragObjectResize): void;
226
- onItemMove?(itemId: Id, dragTime: number, newGroupOrder: number): void;
227
- onItemResize?(itemId: Id, endTimeOrStartTime: number, edge: 'left' | 'right'): void;
228
- onItemSelect?(itemId: Id, e: any, time: number): void;
229
- onItemDeselect?(e: React.SyntheticEvent): void;
230
- onItemClick?(itemId: Id, e: React.SyntheticEvent, time: number): void;
231
- onItemDoubleClick?(itemId: Id, e: React.SyntheticEvent, time: number): void;
232
- onItemContextMenu?(itemId: Id, e: React.SyntheticEvent, time: number): void;
233
- onCanvasClick?(groupId: Id, time: number, e: React.SyntheticEvent): void;
234
- onCanvasDoubleClick?(groupId: Id, time: number, e: React.SyntheticEvent): void;
235
- onCanvasContextMenu?(groupId: Id, time: number, e: React.SyntheticEvent): void;
236
- onZoom?(timelineContext: TimelineContext, unit: Unit): void;
209
+ children?: React.ReactNode
210
+ groups: CustomGroup[]
211
+ items: CustomItem[]
212
+ keys?: TimelineKeys | undefined
213
+ defaultTimeStart?: Date | Moment | undefined
214
+ defaultTimeEnd?: Date | Moment | undefined
215
+ visibleTimeStart?: Date | Moment | number | undefined
216
+ visibleTimeEnd?: Date | Moment | number | undefined
217
+ selected?: Id[] | undefined
218
+ sidebarWidth?: number | undefined
219
+ sidebarContent?: React.ReactNode | undefined
220
+ rightSidebarWidth?: number | undefined
221
+ rightSidebarContent?: React.ReactNode | undefined
222
+ dragSnap?: number | undefined
223
+ minResizeWidth?: number | undefined
224
+ lineHeight?: number | undefined
225
+ itemHeightRatio?: number | undefined
226
+ minZoom?: number | undefined
227
+ maxZoom?: number | undefined
228
+ clickTolerance?: number | undefined
229
+ canMove?: boolean | undefined
230
+ canChangeGroup?: boolean | undefined
231
+ canResize?: false | true | 'left' | 'right' | 'both' | undefined
232
+ useResizeHandle?: boolean | undefined
233
+ stackItems?: boolean | undefined
234
+ traditionalZoom?: boolean | undefined
235
+ itemTouchSendsClick?: boolean | undefined
236
+ timeSteps?: TimelineTimeSteps | undefined
237
+ scrollRef?: React.Ref<any> | undefined
238
+ outerScrollRef?: React.Ref<any> | undefined
239
+ onItemDrag?(
240
+ itemDragObject: OnItemDragObjectMove | OnItemDragObjectResize
241
+ ): void
242
+ onItemMove?(itemId: Id, dragTime: number, newGroupOrder: number): void
243
+ onItemResize?(
244
+ itemId: Id,
245
+ endTimeOrStartTime: number,
246
+ edge: 'left' | 'right'
247
+ ): void
248
+ onItemSelect?(itemId: Id, e: any, time: number): void
249
+ onItemDeselect?(e: React.SyntheticEvent): void
250
+ onItemClick?(itemId: Id, e: React.SyntheticEvent, time: number): void
251
+ onItemDoubleClick?(itemId: Id, e: React.SyntheticEvent, time: number): void
252
+ onItemContextMenu?(itemId: Id, e: React.SyntheticEvent, time: number): void
253
+ onCanvasClick?(groupId: Id, time: number, e: React.SyntheticEvent): void
254
+ onCanvasDoubleClick?(
255
+ groupId: Id,
256
+ time: number,
257
+ e: React.SyntheticEvent
258
+ ): void
259
+ onCanvasContextMenu?(
260
+ groupId: Id,
261
+ time: number,
262
+ e: React.SyntheticEvent
263
+ ): void
264
+ onZoom?(timelineContext: TimelineContext, unit: Unit): void
237
265
  moveResizeValidator?(
238
266
  action: 'move' | 'resize',
239
267
  itemId: Id,
240
268
  time: number,
241
- resizeEdge: 'left' | 'right',
242
- ): number;
269
+ resizeEdge: 'left' | 'right'
270
+ ): number
243
271
  onTimeChange?(
244
272
  visibleTimeStart: number,
245
273
  visibleTimeEnd: number,
246
274
  updateScrollCanvas: (start: number, end: number) => void,
247
275
  unit: Unit
248
- ): any;
249
- onBoundsChange?(canvasTimeStart: number, canvasTimeEnd: number): any;
250
- itemRenderer?: ((props: ReactCalendarItemRendererProps<CustomItem>) => React.ReactNode) | undefined;
251
- groupRenderer?: ((props: ReactCalendarGroupRendererProps<CustomGroup>) => React.ReactNode) | undefined;
252
- resizeDetector?: ((containerResizeDetector: any) => void) | undefined;
253
- verticalLineClassNamesForTime?: ((start: number, end: number) => string[] | undefined) | undefined;
254
- horizontalLineClassNamesForGroup?: ((group: CustomGroup) => string[]) | undefined;
255
- buffer?: number | undefined;
276
+ ): any
277
+ onVerticalScroll: (newScrollTop: number) => void
278
+ onBoundsChange?(canvasTimeStart: number, canvasTimeEnd: number): any
279
+ itemRenderer?:
280
+ | ((props: ReactCalendarItemRendererProps<CustomItem>) => React.ReactNode)
281
+ | undefined
282
+ groupRenderer?:
283
+ | ((
284
+ props: ReactCalendarGroupRendererProps<CustomGroup>
285
+ ) => React.ReactNode)
286
+ | undefined
287
+ resizeDetector?: ((containerResizeDetector: any) => void) | undefined
288
+ verticalLineClassNamesForTime?:
289
+ | ((start: number, end: number) => string[] | undefined)
290
+ | undefined
291
+ horizontalLineClassNamesForGroup?:
292
+ | ((group: CustomGroup) => string[])
293
+ | undefined
294
+ buffer?: number | undefined
256
295
  // Fields that are in propTypes but not documented
257
- headerRef?: React.Ref<any> | undefined;
258
- className?: string;
296
+ headerRef?: React.Ref<any> | undefined
297
+ className?: string
259
298
  initialScrollTop?: number
260
299
  }
261
300
 
262
301
  export interface TimelineTimeSteps {
263
- second: number;
264
- minute: number;
265
- hour: number;
266
- day: number;
267
- month: number;
268
- year: number;
302
+ second: number
303
+ minute: number
304
+ hour: number
305
+ day: number
306
+ month: number
307
+ year: number
269
308
  }
270
309
 
271
310
  export class TimelineMarkers extends React.Component {}
272
311
 
273
312
  export interface CustomMarkerChildrenProps {
274
- styles: React.CSSProperties;
275
- date: number;
313
+ styles: React.CSSProperties
314
+ date: number
276
315
  }
277
316
  export interface MarkerProps {
278
- date: Date | number;
279
- children?: ((props: CustomMarkerChildrenProps) => React.ReactNode) | undefined;
317
+ date: Date | number
318
+ children?:
319
+ | ((props: CustomMarkerChildrenProps) => React.ReactNode)
320
+ | undefined
280
321
  }
281
322
 
282
323
  export class CustomMarker extends React.Component<MarkerProps> {}
283
324
 
284
325
  export interface TodayMarkerProps extends MarkerProps {
285
- interval?: number | undefined;
326
+ interval?: number | undefined
286
327
  }
287
328
  export class TodayMarker extends React.Component<TodayMarkerProps> {}
288
329
 
289
- export type CursorMarkerProps = Omit<MarkerProps, 'date'>;
330
+ export type CursorMarkerProps = Omit<MarkerProps, 'date'>
290
331
  export class CursorMarker extends React.Component<CursorMarkerProps> {}
291
332
 
292
333
  export interface TimelineHeadersProps {
293
- children?: React.ReactNode;
294
- style?: React.CSSProperties | undefined;
295
- className?: string | undefined;
296
- calendarHeaderStyle?: React.CSSProperties | undefined;
297
- calendarHeaderClassName?: string | undefined;
298
- headerRef?: React.Ref<any> | undefined;
334
+ children?: React.ReactNode
335
+ style?: React.CSSProperties | undefined
336
+ className?: string | undefined
337
+ calendarHeaderStyle?: React.CSSProperties | undefined
338
+ calendarHeaderClassName?: string | undefined
339
+ headerRef?: React.Ref<any> | undefined
299
340
  }
300
341
  export class TimelineHeaders extends React.Component<TimelineHeadersProps> {}
301
342
 
302
- export type TimelineHeaderProps = TimelineHeadersProps;
343
+ export type TimelineHeaderProps = TimelineHeadersProps
303
344
 
304
345
  export interface SidebarHeaderChildrenFnProps<Data> {
305
- getRootProps: (propsToOverride?: { style: React.CSSProperties }) => { style: React.CSSProperties };
306
- data: Data;
346
+ getRootProps: (propsToOverride?: {
347
+ style: React.CSSProperties
348
+ }) => { style: React.CSSProperties }
349
+ data: Data
307
350
  }
308
351
 
309
352
  export interface SidebarHeaderProps<Data> {
310
- variant?: 'left' | 'right' | undefined;
311
- headerData?: Data | undefined;
312
- children: (props: SidebarHeaderChildrenFnProps<Data>) => React.ReactNode;
353
+ variant?: 'left' | 'right' | undefined
354
+ headerData?: Data | undefined
355
+ children: (props: SidebarHeaderChildrenFnProps<Data>) => React.ReactNode
313
356
  }
314
- export class SidebarHeader<Data = any> extends React.Component<SidebarHeaderProps<Data>> {}
315
-
316
- export type Unit = 'second' | 'minute' | 'hour' | 'day' | 'week' | 'isoWeek' | 'month' | 'year';
357
+ export class SidebarHeader<Data = any> extends React.Component<
358
+ SidebarHeaderProps<Data>
359
+ > {}
360
+
361
+ export type Unit =
362
+ | 'second'
363
+ | 'minute'
364
+ | 'hour'
365
+ | 'day'
366
+ | 'week'
367
+ | 'isoWeek'
368
+ | 'month'
369
+ | 'year'
317
370
 
318
371
  export interface IntervalContext {
319
- interval: { startTime: number; endTime: number; labelWidth: number; left: number };
320
- intervalText: string;
372
+ interval: {
373
+ startTime: number
374
+ endTime: number
375
+ labelWidth: number
376
+ left: number
377
+ }
378
+ intervalText: string
321
379
  }
322
380
  export interface GetIntervalProps {
323
- interval?: Interval | undefined;
324
- style?: React.CSSProperties | undefined;
325
- onClick?: React.MouseEventHandler | undefined;
381
+ interval?: Interval | undefined
382
+ style?: React.CSSProperties | undefined
383
+ onClick?: React.MouseEventHandler | undefined
326
384
  }
327
385
  export interface IntervalRenderer<Data> {
328
- intervalContext: IntervalContext;
329
- getIntervalProps: (props?: GetIntervalProps) => Required<GetIntervalProps> & { key: string | number };
330
- data?: Data | undefined;
386
+ intervalContext: IntervalContext
387
+ getIntervalProps: (
388
+ props?: GetIntervalProps
389
+ ) => Required<GetIntervalProps> & { key: string | number }
390
+ data?: Data | undefined
331
391
  }
332
392
  export interface DateHeaderProps<Data> {
333
- style?: React.CSSProperties | undefined;
334
- className?: string | undefined;
335
- unit?: Unit | 'primaryHeader' | undefined;
336
- labelFormat?: string | (([startTime, endTime]: [Moment, Moment], unit: Unit, labelWidth: number) => string) | undefined;
337
- intervalRenderer?: ((props?: IntervalRenderer<Data>) => React.ReactNode) | undefined;
338
- headerData?: Data | undefined;
339
- children?: ((props: SidebarHeaderChildrenFnProps<Data>) => React.ReactNode) | undefined;
340
- height?: number | undefined;
393
+ style?: React.CSSProperties | undefined
394
+ className?: string | undefined
395
+ unit?: Unit | 'primaryHeader' | undefined
396
+ labelFormat?:
397
+ | string
398
+ | ((
399
+ [startTime, endTime]: [Moment, Moment],
400
+ unit: Unit,
401
+ labelWidth: number
402
+ ) => string)
403
+ | undefined
404
+ intervalRenderer?:
405
+ | ((props?: IntervalRenderer<Data>) => React.ReactNode)
406
+ | undefined
407
+ headerData?: Data | undefined
408
+ children?:
409
+ | ((props: SidebarHeaderChildrenFnProps<Data>) => React.ReactNode)
410
+ | undefined
411
+ height?: number | undefined
341
412
  }
342
- export class DateHeader<Data = any> extends React.Component<DateHeaderProps<Data>> {}
413
+ export class DateHeader<Data = any> extends React.Component<
414
+ DateHeaderProps<Data>
415
+ > {}
343
416
  export interface Interval {
344
- startTime: Moment;
345
- endTime: Moment;
417
+ startTime: Moment
418
+ endTime: Moment
346
419
  }
347
420
  export interface HeaderContext {
348
- intervals: { startTime: Moment; endTime: Moment }[];
349
- unit: string;
421
+ intervals: { startTime: Moment; endTime: Moment }[]
422
+ unit: string
350
423
  }
351
424
  export interface CustomHeaderPropsChildrenFnProps<Data> {
352
- timelineContext: TimelineContext;
353
- headerContext: HeaderContext;
354
- getIntervalProps: (props?: GetIntervalProps) => Required<GetIntervalProps> & { key: string | number };
355
- getRootProps: (propsToOverride?: { style: React.CSSProperties }) => { style: React.CSSProperties };
356
- showPeriod: (startDate: Moment | number, endDate: Moment | number) => void;
357
- data: Data;
425
+ timelineContext: TimelineContext
426
+ headerContext: HeaderContext
427
+ getIntervalProps: (
428
+ props?: GetIntervalProps
429
+ ) => Required<GetIntervalProps> & { key: string | number }
430
+ getRootProps: (propsToOverride?: {
431
+ style: React.CSSProperties
432
+ }) => { style: React.CSSProperties }
433
+ showPeriod: (startDate: Moment | number, endDate: Moment | number) => void
434
+ data: Data
358
435
  }
359
436
  export interface CustomHeaderProps<Data> {
360
- unit?: Unit | undefined;
361
- headerData?: Data | undefined;
362
- height?: number | undefined;
363
- children: (props?: CustomHeaderPropsChildrenFnProps<Data>) => React.ReactNode;
437
+ unit?: Unit | undefined
438
+ headerData?: Data | undefined
439
+ height?: number | undefined
440
+ children: (
441
+ props?: CustomHeaderPropsChildrenFnProps<Data>
442
+ ) => React.ReactNode
364
443
  }
365
- export class CustomHeader<Data = any> extends React.Component<CustomHeaderProps<Data>> {}
444
+ export class CustomHeader<Data = any> extends React.Component<
445
+ CustomHeaderProps<Data>
446
+ > {}
447
+
448
+ export const defaultKeys: TimelineKeys
449
+ export const defaultTimeSteps: TimelineTimeSteps
450
+ export const defaultHeaderFormats: LabelFormat
366
451
 
367
- export const defaultKeys: TimelineKeys;
368
- export const defaultTimeSteps: TimelineTimeSteps;
369
- export const defaultHeaderFormats: LabelFormat;
452
+ export class DisableOverlay extends React.Component<{
453
+ fromTime?: number
454
+ toTime?: number
455
+ }> {}
370
456
 
371
457
  export default class ReactCalendarTimeline<
372
458
  CustomItem extends TimelineItemBase<any> = TimelineItemBase<number>,
373
459
  CustomGroup extends TimelineGroupBase = TimelineGroupBase
374
- > extends React.Component<ReactCalendarTimelineProps<CustomItem, CustomGroup>> {}
460
+ > extends React.Component<
461
+ ReactCalendarTimelineProps<CustomItem, CustomGroup>
462
+ > {}
375
463
  }