@vidispine/vdt-react-timeline 22.4.0-pre.9 → 22.4.0
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/dist/index.es.js +324 -587
- package/package.json +14 -14
package/dist/index.es.js
CHANGED
|
@@ -14,46 +14,38 @@ import uniq from 'lodash.uniq';
|
|
|
14
14
|
var interpolate = function interpolate(y0, y1, x0, x1, x) {
|
|
15
15
|
return y0 + (x - x0) * (y1 - y0) / (x1 - x0);
|
|
16
16
|
};
|
|
17
|
-
|
|
18
17
|
var vLogImpl = function vLogImpl(component, msg, level) {
|
|
19
18
|
if (process.env.NODE_ENV === 'development') {
|
|
20
19
|
// eslint-disable-next-line no-console
|
|
21
20
|
console[level]("".concat(component ? "".concat(component, ": ") : '').concat(msg));
|
|
22
21
|
}
|
|
23
22
|
};
|
|
24
|
-
|
|
25
23
|
var vLog = {
|
|
26
24
|
error: function error() {
|
|
27
25
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
28
26
|
args[_key] = arguments[_key];
|
|
29
27
|
}
|
|
30
|
-
|
|
31
28
|
return vLogImpl.apply(void 0, args.concat(['error']));
|
|
32
29
|
},
|
|
33
30
|
warn: function warn() {
|
|
34
31
|
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
35
32
|
args[_key2] = arguments[_key2];
|
|
36
33
|
}
|
|
37
|
-
|
|
38
34
|
return vLogImpl.apply(void 0, args.concat(['warn']));
|
|
39
35
|
}
|
|
40
36
|
};
|
|
41
37
|
function mapPairs(arr, func) {
|
|
42
38
|
var result = [];
|
|
43
|
-
|
|
44
39
|
for (var i = 0; i < arr.length - 1; i += 1) {
|
|
45
40
|
result.push(func(arr[i], arr[i + 1]));
|
|
46
41
|
}
|
|
47
|
-
|
|
48
42
|
return result;
|
|
49
43
|
}
|
|
50
44
|
function getStyleProperties() {
|
|
51
45
|
var style = getComputedStyle(document.body);
|
|
52
|
-
|
|
53
46
|
for (var _len3 = arguments.length, properties = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
|
54
47
|
properties[_key3] = arguments[_key3];
|
|
55
48
|
}
|
|
56
|
-
|
|
57
49
|
return properties.map(function (prop) {
|
|
58
50
|
return style.getPropertyValue(prop);
|
|
59
51
|
});
|
|
@@ -61,23 +53,20 @@ function getStyleProperties() {
|
|
|
61
53
|
|
|
62
54
|
function useOptionallyControlledState(_ref) {
|
|
63
55
|
var _ref$uncontrolledDefa = _ref.uncontrolledDefaultState,
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
56
|
+
uncontrolledDefaultState = _ref$uncontrolledDefa === void 0 ? undefined : _ref$uncontrolledDefa,
|
|
57
|
+
_ref$uncontrolledOnCh = _ref.uncontrolledOnChange,
|
|
58
|
+
uncontrolledOnChange = _ref$uncontrolledOnCh === void 0 ? undefined : _ref$uncontrolledOnCh,
|
|
59
|
+
_ref$controlledState = _ref.controlledState,
|
|
60
|
+
controlledState = _ref$controlledState === void 0 ? undefined : _ref$controlledState,
|
|
61
|
+
_ref$controlledOnChan = _ref.controlledOnChange,
|
|
62
|
+
controlledOnChange = _ref$controlledOnChan === void 0 ? undefined : _ref$controlledOnChan,
|
|
63
|
+
componentName = _ref.componentName,
|
|
64
|
+
stateName = _ref.stateName;
|
|
74
65
|
var _useState = useState(uncontrolledDefaultState),
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
66
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
67
|
+
uncontrolledState = _useState2[0],
|
|
68
|
+
setUncontrolledState = _useState2[1];
|
|
79
69
|
var isControlled = useRef(null);
|
|
80
|
-
|
|
81
70
|
var setIsControlled = function setIsControlled(newValue) {
|
|
82
71
|
if (isControlled.current !== null && isControlled.current !== newValue) {
|
|
83
72
|
if (newValue) {
|
|
@@ -86,27 +75,22 @@ function useOptionallyControlledState(_ref) {
|
|
|
86
75
|
vLog.warn(componentName, "".concat(stateName, " changed from controlled to uncontrolled"));
|
|
87
76
|
}
|
|
88
77
|
}
|
|
89
|
-
|
|
90
78
|
isControlled.current = newValue;
|
|
91
79
|
};
|
|
92
|
-
|
|
93
80
|
if (controlledState !== undefined) {
|
|
94
81
|
setIsControlled(true);
|
|
95
82
|
return [controlledState, controlledOnChange];
|
|
96
83
|
}
|
|
97
|
-
|
|
98
84
|
setIsControlled(false);
|
|
99
85
|
return [uncontrolledState, controlledOnChange ? function () {
|
|
100
86
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
101
87
|
args[_key] = arguments[_key];
|
|
102
88
|
}
|
|
103
|
-
|
|
104
89
|
if (uncontrolledOnChange) {
|
|
105
90
|
uncontrolledOnChange.apply(void 0, [setUncontrolledState].concat(args));
|
|
106
91
|
} else {
|
|
107
92
|
setUncontrolledState.apply(void 0, args);
|
|
108
93
|
}
|
|
109
|
-
|
|
110
94
|
controlledOnChange.apply(void 0, args);
|
|
111
95
|
} : uncontrolledOnChange || setUncontrolledState];
|
|
112
96
|
}
|
|
@@ -115,69 +99,57 @@ function defaultGetZoomMultiplier(direction, time, perspective) {
|
|
|
115
99
|
var multiplier = perspective.end - perspective.start < 100 && direction === 'in' ? 1 : 2;
|
|
116
100
|
return direction === 'in' ? 1 / multiplier : multiplier;
|
|
117
101
|
}
|
|
118
|
-
|
|
119
102
|
function useTimelinePerspective(_ref) {
|
|
120
103
|
var start = _ref.start,
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
104
|
+
end = _ref.end,
|
|
105
|
+
propDefaultPerspective = _ref.defaultPerspective,
|
|
106
|
+
propPerspective = _ref.perspective,
|
|
107
|
+
propOnChangePerspective = _ref.onChangePerspective,
|
|
108
|
+
_ref$zoomMultiplier = _ref.zoomMultiplier,
|
|
109
|
+
zoomMultiplier = _ref$zoomMultiplier === void 0 ? defaultGetZoomMultiplier : _ref$zoomMultiplier;
|
|
128
110
|
var _useOptionallyControl = useOptionallyControlledState({
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
111
|
+
uncontrolledDefaultState: propDefaultPerspective || {
|
|
112
|
+
start: start,
|
|
113
|
+
end: end
|
|
114
|
+
},
|
|
115
|
+
controlledState: propPerspective,
|
|
116
|
+
controlledOnChange: propOnChangePerspective,
|
|
117
|
+
componentName: 'VdtTimeline',
|
|
118
|
+
stateName: 'perspective'
|
|
119
|
+
}),
|
|
120
|
+
_useOptionallyControl2 = _slicedToArray(_useOptionallyControl, 2),
|
|
121
|
+
perspective = _useOptionallyControl2[0],
|
|
122
|
+
setPerspective = _useOptionallyControl2[1];
|
|
142
123
|
var getZoomMultiplier = typeof zoomMultiplier === 'function' ? zoomMultiplier : function (direction) {
|
|
143
124
|
return direction === 'in' ? 1 / zoomMultiplier : zoomMultiplier;
|
|
144
125
|
};
|
|
145
|
-
|
|
146
126
|
var checkedSetPerspective = function checkedSetPerspective(perspectiveStart, perspectiveEnd) {
|
|
147
127
|
setPerspective({
|
|
148
128
|
start: clamp(Number(perspectiveStart), start, end),
|
|
149
129
|
end: clamp(Number(perspectiveEnd), start, end)
|
|
150
130
|
});
|
|
151
131
|
};
|
|
152
|
-
|
|
153
132
|
var zoom = function zoom(direction, time) {
|
|
154
133
|
var perspectiveDuration = perspective.end - perspective.start;
|
|
155
134
|
var normalizedTimeOffset = (time - perspective.start) / perspectiveDuration;
|
|
156
135
|
var currZoomMultiplier = getZoomMultiplier(direction, time, perspective);
|
|
157
|
-
|
|
158
136
|
if (currZoomMultiplier === 1) {
|
|
159
137
|
return;
|
|
160
138
|
}
|
|
161
|
-
|
|
162
139
|
var newPerspectiveDuration = (perspective.end - perspective.start) * currZoomMultiplier;
|
|
163
140
|
var newPerspectiveStart = time - normalizedTimeOffset * newPerspectiveDuration;
|
|
164
141
|
var newPerspectiveEnd = time + (1 - normalizedTimeOffset) * newPerspectiveDuration;
|
|
165
|
-
|
|
166
142
|
var perspectiveMisalignmentCorrection = function () {
|
|
167
143
|
if (start > newPerspectiveStart) {
|
|
168
144
|
return start - newPerspectiveStart;
|
|
169
145
|
}
|
|
170
|
-
|
|
171
146
|
if (newPerspectiveEnd > end) {
|
|
172
147
|
return end - newPerspectiveEnd;
|
|
173
148
|
}
|
|
174
|
-
|
|
175
149
|
return 0;
|
|
176
150
|
}();
|
|
177
|
-
|
|
178
151
|
checkedSetPerspective(newPerspectiveStart + perspectiveMisalignmentCorrection, newPerspectiveEnd + perspectiveMisalignmentCorrection);
|
|
179
152
|
};
|
|
180
|
-
|
|
181
153
|
return {
|
|
182
154
|
perspective: perspective,
|
|
183
155
|
setPerspective: checkedSetPerspective,
|
|
@@ -186,19 +158,18 @@ function useTimelinePerspective(_ref) {
|
|
|
186
158
|
}
|
|
187
159
|
|
|
188
160
|
function ownKeys$a(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
189
|
-
|
|
190
161
|
function _objectSpread$a(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$a(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$a(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
191
162
|
var TimelineContext = /*#__PURE__*/createContext();
|
|
192
163
|
function TimelineProvider(_ref) {
|
|
193
164
|
var start = _ref.start,
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
165
|
+
end = _ref.end,
|
|
166
|
+
time = _ref.time,
|
|
167
|
+
onChangeTime = _ref.onChangeTime,
|
|
168
|
+
timelineRef = _ref.timelineRef,
|
|
169
|
+
children = _ref.children,
|
|
170
|
+
perspective = _ref.perspective,
|
|
171
|
+
onChangePerspective = _ref.onChangePerspective,
|
|
172
|
+
defaultPerspective = _ref.defaultPerspective;
|
|
202
173
|
var timelinePerspective = useTimelinePerspective({
|
|
203
174
|
start: start,
|
|
204
175
|
end: end,
|
|
@@ -260,23 +231,20 @@ var css$7 = ":root {\n --vdt-timeline-palette-primary:#49a6dd;\n --vdt-tim
|
|
|
260
231
|
n(css$7,{});
|
|
261
232
|
|
|
262
233
|
var _excluded$9 = ["start", "end", "time", "onChangeTime", "children", "className", "perspective", "onChangePerspective", "defaultPerspective", "zoomMultiplier"];
|
|
263
|
-
|
|
264
234
|
function ownKeys$9(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
265
|
-
|
|
266
235
|
function _objectSpread$9(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$9(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$9(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
267
236
|
function Timeline(_ref) {
|
|
268
237
|
var start = _ref.start,
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
238
|
+
end = _ref.end,
|
|
239
|
+
time = _ref.time,
|
|
240
|
+
onChangeTime = _ref.onChangeTime,
|
|
241
|
+
children = _ref.children,
|
|
242
|
+
className = _ref.className,
|
|
243
|
+
perspective = _ref.perspective,
|
|
244
|
+
onChangePerspective = _ref.onChangePerspective,
|
|
245
|
+
defaultPerspective = _ref.defaultPerspective,
|
|
246
|
+
zoomMultiplier = _ref.zoomMultiplier,
|
|
247
|
+
props = _objectWithoutProperties(_ref, _excluded$9);
|
|
280
248
|
var timelineRef = useRef();
|
|
281
249
|
return /*#__PURE__*/jsx(TimelineProvider, {
|
|
282
250
|
start: start,
|
|
@@ -301,27 +269,22 @@ Timeline.propTypes = {
|
|
|
301
269
|
* Start of timeline.
|
|
302
270
|
*/
|
|
303
271
|
start: PropTypes.number.isRequired,
|
|
304
|
-
|
|
305
272
|
/**
|
|
306
273
|
* End of timeline.
|
|
307
274
|
*/
|
|
308
275
|
end: PropTypes.number.isRequired,
|
|
309
|
-
|
|
310
276
|
/**
|
|
311
277
|
* Place of timeline marker.
|
|
312
278
|
*/
|
|
313
279
|
time: PropTypes.number,
|
|
314
|
-
|
|
315
280
|
/**
|
|
316
281
|
* Children components to render inside timeline.
|
|
317
282
|
*/
|
|
318
283
|
children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),
|
|
319
|
-
|
|
320
284
|
/**
|
|
321
285
|
* Callback to trigger when changing the value of time prop.
|
|
322
286
|
*/
|
|
323
287
|
onChangeTime: PropTypes.func,
|
|
324
|
-
|
|
325
288
|
/**
|
|
326
289
|
* Zoom level of timeline: shows ticks between start and end values (if start and end of timeline are within this range).
|
|
327
290
|
*/
|
|
@@ -329,12 +292,10 @@ Timeline.propTypes = {
|
|
|
329
292
|
start: PropTypes.number,
|
|
330
293
|
end: PropTypes.number
|
|
331
294
|
}),
|
|
332
|
-
|
|
333
295
|
/**
|
|
334
296
|
* Callback to trigger when changing the value of perspective prop.
|
|
335
297
|
*/
|
|
336
298
|
onChangePerspective: PropTypes.func,
|
|
337
|
-
|
|
338
299
|
/**
|
|
339
300
|
* Set default value for perspective when rendering component.
|
|
340
301
|
*/
|
|
@@ -342,12 +303,10 @@ Timeline.propTypes = {
|
|
|
342
303
|
start: PropTypes.number,
|
|
343
304
|
end: PropTypes.number
|
|
344
305
|
}),
|
|
345
|
-
|
|
346
306
|
/**
|
|
347
307
|
* Multiply by value when zooming in.
|
|
348
308
|
*/
|
|
349
309
|
zoomMultiplier: PropTypes.oneOfType([PropTypes.number, PropTypes.func]),
|
|
350
|
-
|
|
351
310
|
/**
|
|
352
311
|
* Override styles with className.
|
|
353
312
|
*/
|
|
@@ -371,78 +330,62 @@ var css$6 = ":root {\n --vdt-timeline-palette-primary:#49a6dd;\n --vdt-tim
|
|
|
371
330
|
n(css$6,{});
|
|
372
331
|
|
|
373
332
|
var _excluded$8 = ["className", "perspective", "time", "lineWidth", "headWidth", "headHeight", "style", "onDrag", "HeadProps"];
|
|
374
|
-
|
|
375
333
|
function ownKeys$8(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
376
|
-
|
|
377
334
|
function _objectSpread$8(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$8(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$8(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
378
|
-
|
|
379
335
|
var _getStyleProperties$4 = getStyleProperties('--vdt-timeline-palette-secondary'),
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
336
|
+
_getStyleProperties2$4 = _slicedToArray(_getStyleProperties$4, 1),
|
|
337
|
+
paletteSecondary$1 = _getStyleProperties2$4[0];
|
|
383
338
|
var EmptyImage = document.createElement('img');
|
|
384
339
|
EmptyImage.src = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7';
|
|
385
340
|
function TimelinePlayhead(_ref) {
|
|
386
341
|
var _ref$current;
|
|
387
|
-
|
|
388
342
|
var className = _ref.className,
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
343
|
+
propPerspective = _ref.perspective,
|
|
344
|
+
propTime = _ref.time,
|
|
345
|
+
lineWidth = _ref.lineWidth,
|
|
346
|
+
headWidth = _ref.headWidth,
|
|
347
|
+
headHeight = _ref.headHeight,
|
|
348
|
+
style = _ref.style,
|
|
349
|
+
onDrag = _ref.onDrag,
|
|
350
|
+
HeadProps = _ref.HeadProps,
|
|
351
|
+
props = _objectWithoutProperties(_ref, _excluded$8);
|
|
399
352
|
var _ref2 = useTimeline() || {
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
353
|
+
perspective: propPerspective,
|
|
354
|
+
time: propTime
|
|
355
|
+
},
|
|
356
|
+
perspective = _ref2.perspective,
|
|
357
|
+
time = _ref2.time,
|
|
358
|
+
onChangeTime = _ref2.onChangeTime;
|
|
407
359
|
if (perspective === undefined) {
|
|
408
360
|
vLog.error('VdtTimelinePlayhead', "missing 'perspective' prop. If the component is used outside a VdtTimelineContext, 'perspective' must be passed explicitly");
|
|
409
361
|
}
|
|
410
|
-
|
|
411
362
|
var ref = useRef();
|
|
412
363
|
var containerEl = (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.parentElement;
|
|
413
364
|
var containerWidth = (containerEl === null || containerEl === void 0 ? void 0 : containerEl.clientWidth) || 0;
|
|
414
|
-
|
|
415
365
|
var _useState = useState(false),
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
366
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
367
|
+
isDragging = _useState2[0],
|
|
368
|
+
setIsDragging = _useState2[1];
|
|
420
369
|
var _useState3 = useState(time),
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
370
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
371
|
+
localTime = _useState4[0],
|
|
372
|
+
setLocalTime = _useState4[1];
|
|
425
373
|
var markerLeft = interpolate(0, containerWidth, perspective.start, perspective.end, localTime);
|
|
426
|
-
|
|
427
374
|
var isValidTime = function isValidTime(f) {
|
|
428
375
|
return f <= perspective.end && f >= perspective.start;
|
|
429
376
|
};
|
|
430
|
-
|
|
431
377
|
var hide = !isValidTime(localTime);
|
|
432
378
|
useEffect(function () {
|
|
433
379
|
if (time !== undefined && !isDragging) {
|
|
434
380
|
setLocalTime(time);
|
|
435
381
|
}
|
|
436
382
|
}, [time, isDragging]);
|
|
437
|
-
|
|
438
383
|
var handleDrag = onDrag || onChangeTime && function (e) {
|
|
439
384
|
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
440
385
|
args[_key - 1] = arguments[_key];
|
|
441
386
|
}
|
|
442
|
-
|
|
443
387
|
return onChangeTime.apply(void 0, args);
|
|
444
388
|
};
|
|
445
|
-
|
|
446
389
|
return /*#__PURE__*/jsx("div", _objectSpread$8(_objectSpread$8({
|
|
447
390
|
ref: ref,
|
|
448
391
|
className: clsx('VdtTimelinePlayhead-root', className),
|
|
@@ -460,7 +403,6 @@ function TimelinePlayhead(_ref) {
|
|
|
460
403
|
},
|
|
461
404
|
onDragEnd: function onDragEnd() {
|
|
462
405
|
setIsDragging(false);
|
|
463
|
-
|
|
464
406
|
if (handleDrag !== null && handleDrag !== void 0 && handleDrag.flush) {
|
|
465
407
|
handleDrag.flush();
|
|
466
408
|
}
|
|
@@ -468,10 +410,8 @@ function TimelinePlayhead(_ref) {
|
|
|
468
410
|
onDrag: function onDrag(e) {
|
|
469
411
|
if (handleDrag) {
|
|
470
412
|
var _ref$current$parentEl = ref.current.parentElement.getBoundingClientRect(),
|
|
471
|
-
|
|
472
|
-
|
|
413
|
+
containerX = _ref$current$parentEl.x;
|
|
473
414
|
var newTime = interpolate(perspective.start, perspective.end, 0, containerWidth, e.clientX - containerX);
|
|
474
|
-
|
|
475
415
|
if (isValidTime(newTime)) {
|
|
476
416
|
var clampedNewTime = clamp(newTime, perspective.start, perspective.end);
|
|
477
417
|
handleDrag(e, clampedNewTime);
|
|
@@ -499,22 +439,18 @@ TimelinePlayhead.propTypes = {
|
|
|
499
439
|
* Apply inline CSS styling
|
|
500
440
|
*/
|
|
501
441
|
style: PropTypes.instanceOf(Object),
|
|
502
|
-
|
|
503
442
|
/**
|
|
504
443
|
* Height of marker head in px
|
|
505
444
|
*/
|
|
506
445
|
headHeight: PropTypes.number,
|
|
507
|
-
|
|
508
446
|
/**
|
|
509
447
|
* Width of marker head in px
|
|
510
448
|
*/
|
|
511
449
|
headWidth: PropTypes.number,
|
|
512
|
-
|
|
513
450
|
/**
|
|
514
451
|
* Width/thickness of marker line in px
|
|
515
452
|
*/
|
|
516
453
|
lineWidth: PropTypes.number,
|
|
517
|
-
|
|
518
454
|
/**
|
|
519
455
|
* Zoom level when looking at playhead.
|
|
520
456
|
*/
|
|
@@ -522,18 +458,15 @@ TimelinePlayhead.propTypes = {
|
|
|
522
458
|
start: PropTypes.number,
|
|
523
459
|
end: PropTypes.number
|
|
524
460
|
}),
|
|
525
|
-
|
|
526
461
|
/**
|
|
527
462
|
* Timeline placement of marker
|
|
528
463
|
*/
|
|
529
464
|
time: PropTypes.number,
|
|
530
465
|
onDrag: PropTypes.func,
|
|
531
|
-
|
|
532
466
|
/**
|
|
533
467
|
* Additional props for marker head
|
|
534
468
|
*/
|
|
535
469
|
HeadProps: PropTypes.instanceOf(Object),
|
|
536
|
-
|
|
537
470
|
/**
|
|
538
471
|
* Override styles with className
|
|
539
472
|
*/
|
|
@@ -553,15 +486,12 @@ TimelinePlayhead.defaultProps = {
|
|
|
553
486
|
|
|
554
487
|
function useResizeObserver(ref) {
|
|
555
488
|
var _useState = useState({}),
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
489
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
490
|
+
rect = _useState2[0],
|
|
491
|
+
setRect = _useState2[1];
|
|
560
492
|
var observerRef = useRef(new ResizeObserver(function (entries) {
|
|
561
493
|
var _entries$;
|
|
562
|
-
|
|
563
494
|
var contentRect = (_entries$ = entries[0]) === null || _entries$ === void 0 ? void 0 : _entries$.contentRect;
|
|
564
|
-
|
|
565
495
|
if (contentRect) {
|
|
566
496
|
setRect(contentRect);
|
|
567
497
|
}
|
|
@@ -569,11 +499,9 @@ function useResizeObserver(ref) {
|
|
|
569
499
|
useEffect(function () {
|
|
570
500
|
var observer = observerRef === null || observerRef === void 0 ? void 0 : observerRef.current;
|
|
571
501
|
var el = ref === null || ref === void 0 ? void 0 : ref.current;
|
|
572
|
-
|
|
573
502
|
if (el) {
|
|
574
503
|
observer.observe(el);
|
|
575
504
|
}
|
|
576
|
-
|
|
577
505
|
return function () {
|
|
578
506
|
if (el) {
|
|
579
507
|
observer.unobserve(el);
|
|
@@ -590,32 +518,28 @@ var css$4 = ".VdtTimelineWaveform-root {\n height: 40px;\n}";
|
|
|
590
518
|
n(css$4,{});
|
|
591
519
|
|
|
592
520
|
var _excluded$7 = ["amplitudeSegments", "pxPerTimeUnit", "start", "height"],
|
|
593
|
-
|
|
594
|
-
|
|
521
|
+
_excluded2$3 = ["className", "waveform", "start", "end", "perspective", "StageProps", "LayerProps", "RectProps", "WaveRectProps"];
|
|
595
522
|
function ownKeys$7(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
596
|
-
|
|
597
523
|
function _objectSpread$7(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$7(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$7(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
598
|
-
|
|
599
524
|
var _getStyleProperties$3 = getStyleProperties('--vdt-timeline-palette-primary'),
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
525
|
+
_getStyleProperties2$3 = _slicedToArray(_getStyleProperties$3, 1),
|
|
526
|
+
palettePrimary$1 = _getStyleProperties2$3[0];
|
|
603
527
|
var TimelineWaveFormRects = /*#__PURE__*/memo(function (_ref) {
|
|
604
528
|
var amplitudeSegments = _ref.amplitudeSegments,
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
529
|
+
pxPerTimeUnit = _ref.pxPerTimeUnit,
|
|
530
|
+
start = _ref.start,
|
|
531
|
+
height = _ref.height,
|
|
532
|
+
props = _objectWithoutProperties(_ref, _excluded$7);
|
|
610
533
|
return amplitudeSegments.map(function (_ref2, i) {
|
|
611
534
|
var amplitude = _ref2.amplitude,
|
|
612
|
-
|
|
613
|
-
|
|
535
|
+
segmentStart = _ref2.start,
|
|
536
|
+
segmentEnd = _ref2.end;
|
|
614
537
|
var rectWidth = pxPerTimeUnit * (segmentEnd - segmentStart);
|
|
615
538
|
var rectX = (segmentStart - start) * pxPerTimeUnit;
|
|
616
539
|
var rectHeight = height * amplitude;
|
|
617
540
|
var centeredY = (height - rectHeight) / 2;
|
|
618
|
-
return /*#__PURE__*/jsx(Rect
|
|
541
|
+
return /*#__PURE__*/jsx(Rect
|
|
542
|
+
// eslint-disable-next-line react/no-array-index-key
|
|
619
543
|
, _objectSpread$7({
|
|
620
544
|
x: rectX,
|
|
621
545
|
y: centeredY,
|
|
@@ -625,40 +549,34 @@ var TimelineWaveFormRects = /*#__PURE__*/memo(function (_ref) {
|
|
|
625
549
|
}, props), i);
|
|
626
550
|
});
|
|
627
551
|
});
|
|
628
|
-
|
|
629
552
|
function TimelineWaveform(_ref3) {
|
|
630
553
|
var className = _ref3.className,
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
554
|
+
waveform = _ref3.waveform,
|
|
555
|
+
propStart = _ref3.start,
|
|
556
|
+
propEnd = _ref3.end,
|
|
557
|
+
propPerspective = _ref3.perspective,
|
|
558
|
+
StageProps = _ref3.StageProps,
|
|
559
|
+
LayerProps = _ref3.LayerProps,
|
|
560
|
+
RectProps = _ref3.RectProps,
|
|
561
|
+
WaveRectProps = _ref3.WaveRectProps,
|
|
562
|
+
props = _objectWithoutProperties(_ref3, _excluded2$3);
|
|
641
563
|
var _ref4 = useTimeline() || {
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
564
|
+
start: propStart,
|
|
565
|
+
end: propEnd,
|
|
566
|
+
perspective: propPerspective
|
|
567
|
+
},
|
|
568
|
+
start = _ref4.start,
|
|
569
|
+
end = _ref4.end,
|
|
570
|
+
perspective = _ref4.perspective;
|
|
650
571
|
if (start === undefined || end === undefined || perspective === undefined) {
|
|
651
572
|
vLog.error('VdtTimelineWaveform', "missing 'start', 'end' or 'perspective' props. If the component is used outside a VdtTimelineContext, 'start', 'end' or 'perspective' must be passed explicitly");
|
|
652
573
|
}
|
|
653
|
-
|
|
654
574
|
var ref = useRef();
|
|
655
|
-
|
|
656
575
|
var _useResizeObserver = useResizeObserver(ref),
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
576
|
+
_useResizeObserver$wi = _useResizeObserver.width,
|
|
577
|
+
width = _useResizeObserver$wi === void 0 ? 0 : _useResizeObserver$wi,
|
|
578
|
+
_useResizeObserver$he = _useResizeObserver.height,
|
|
579
|
+
height = _useResizeObserver$he === void 0 ? 0 : _useResizeObserver$he;
|
|
662
580
|
var amplitudeSegments = useMemo(function () {
|
|
663
581
|
return waveform.map(function (amplitude, i) {
|
|
664
582
|
return {
|
|
@@ -704,17 +622,14 @@ TimelineWaveform.propTypes = {
|
|
|
704
622
|
* Array of integers to form the wave.
|
|
705
623
|
*/
|
|
706
624
|
waveform: PropTypes.arrayOf(PropTypes.number),
|
|
707
|
-
|
|
708
625
|
/**
|
|
709
626
|
* Set starting point of the waveform. The value provided is the value of the respective data point in passed data.
|
|
710
627
|
*/
|
|
711
628
|
start: PropTypes.number,
|
|
712
|
-
|
|
713
629
|
/**
|
|
714
630
|
* Set ending point of the waveform. The value provided is the value of the respective data point in passed data.
|
|
715
631
|
*/
|
|
716
632
|
end: PropTypes.number,
|
|
717
|
-
|
|
718
633
|
/**
|
|
719
634
|
* Zoom level when looking at waveform.
|
|
720
635
|
*/
|
|
@@ -722,27 +637,22 @@ TimelineWaveform.propTypes = {
|
|
|
722
637
|
start: PropTypes.number,
|
|
723
638
|
end: PropTypes.number
|
|
724
639
|
}),
|
|
725
|
-
|
|
726
640
|
/**
|
|
727
641
|
* Props for Stage component. For more information: https://konvajs.org/api/Konva.Stage.html
|
|
728
642
|
*/
|
|
729
643
|
StageProps: PropTypes.instanceOf(Object),
|
|
730
|
-
|
|
731
644
|
/**
|
|
732
645
|
* Props for Stage component. For more information: https://konvajs.org/api/Konva.Layer.html
|
|
733
646
|
*/
|
|
734
647
|
LayerProps: PropTypes.instanceOf(Object),
|
|
735
|
-
|
|
736
648
|
/**
|
|
737
649
|
* Props for Stage component. For more information: https://konvajs.org/api/Konva.Rect.html
|
|
738
650
|
*/
|
|
739
651
|
RectProps: PropTypes.instanceOf(Object),
|
|
740
|
-
|
|
741
652
|
/**
|
|
742
653
|
* Props for Stage component. For more information: https://konvajs.org/api/Konva.Rect.html
|
|
743
654
|
*/
|
|
744
655
|
WaveRectProps: PropTypes.instanceOf(Object),
|
|
745
|
-
|
|
746
656
|
/**
|
|
747
657
|
* Override styles with className
|
|
748
658
|
*/
|
|
@@ -762,14 +672,12 @@ TimelineWaveform.defaultProps = {
|
|
|
762
672
|
|
|
763
673
|
function useHover() {
|
|
764
674
|
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
675
|
+
_ref$hoverEffect = _ref.hoverEffect,
|
|
676
|
+
hoverEffect = _ref$hoverEffect === void 0 ? function () {} : _ref$hoverEffect;
|
|
768
677
|
var _useState = useState(false),
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
678
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
679
|
+
isHovering = _useState2[0],
|
|
680
|
+
setIsHovering = _useState2[1];
|
|
773
681
|
var cleanupHover = useRef(null);
|
|
774
682
|
return {
|
|
775
683
|
isHovering: isHovering,
|
|
@@ -779,88 +687,75 @@ function useHover() {
|
|
|
779
687
|
},
|
|
780
688
|
onMouseLeave: function onMouseLeave() {
|
|
781
689
|
setIsHovering(false);
|
|
782
|
-
|
|
783
690
|
if (cleanupHover.current) {
|
|
784
691
|
cleanupHover.current();
|
|
785
692
|
}
|
|
786
|
-
|
|
787
693
|
cleanupHover.current = null;
|
|
788
694
|
}
|
|
789
695
|
};
|
|
790
696
|
}
|
|
791
697
|
|
|
792
698
|
var _excluded$6 = ["onClick", "x", "width", "y", "height", "padding", "start", "end", "onHover", "onMove", "onMoveStart", "onMoveEnd", "onResize", "onResizeStart", "onResizeEnd"],
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
699
|
+
_excluded2$2 = ["isHovering"],
|
|
700
|
+
_excluded3 = ["isHovering"];
|
|
796
701
|
function ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
797
|
-
|
|
798
702
|
function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
799
|
-
|
|
800
703
|
var _getStyleProperties$2 = getStyleProperties('--vdt-timeline-palette-primary', '--vdt-timeline-palette-primary-dark'),
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
704
|
+
_getStyleProperties2$2 = _slicedToArray(_getStyleProperties$2, 2),
|
|
705
|
+
palettePrimary = _getStyleProperties2$2[0],
|
|
706
|
+
palettePrimaryDark = _getStyleProperties2$2[1];
|
|
805
707
|
var EVENT_RESIZER_THUMB_WIDTH = 5;
|
|
806
708
|
function TimelineEvent(_ref) {
|
|
807
709
|
var onClick = _ref.onClick,
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
710
|
+
x = _ref.x,
|
|
711
|
+
width = _ref.width,
|
|
712
|
+
y = _ref.y,
|
|
713
|
+
height = _ref.height,
|
|
714
|
+
padding = _ref.padding,
|
|
715
|
+
start = _ref.start,
|
|
716
|
+
end = _ref.end,
|
|
717
|
+
onHover = _ref.onHover,
|
|
718
|
+
onMove = _ref.onMove,
|
|
719
|
+
onMoveStart = _ref.onMoveStart,
|
|
720
|
+
onMoveEnd = _ref.onMoveEnd,
|
|
721
|
+
onResize = _ref.onResize,
|
|
722
|
+
onResizeStart = _ref.onResizeStart,
|
|
723
|
+
onResizeEnd = _ref.onResizeEnd,
|
|
724
|
+
props = _objectWithoutProperties(_ref, _excluded$6);
|
|
824
725
|
if ([x, width, y, height].some(function (v) {
|
|
825
726
|
return v === undefined;
|
|
826
727
|
})) {
|
|
827
728
|
vLog.error('VdtTimelineEvent', "missing 'x', 'width', 'y', or 'height' props. If the component is not used as a direct child of VdtTimelineTrack, 'x', 'width', 'y', or 'height' must be passed explicitly");
|
|
828
729
|
}
|
|
829
|
-
|
|
830
730
|
var eventRef = useRef();
|
|
831
|
-
|
|
832
731
|
var _useHover = useHover({
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
}
|
|
839
|
-
}),
|
|
840
|
-
isHovering = _useHover.isHovering,
|
|
841
|
-
hoverProps = _objectWithoutProperties(_useHover, _excluded2$2);
|
|
842
|
-
|
|
843
|
-
var _useHover2 = useHover({
|
|
844
|
-
hoverEffect: function hoverEffect(e) {
|
|
845
|
-
if (onResize) {
|
|
846
|
-
e.target.getStage().container().style.cursor = 'col-resize';
|
|
732
|
+
hoverEffect: function hoverEffect(e) {
|
|
733
|
+
if (onHover) onHover(e, true);
|
|
734
|
+
return function () {
|
|
735
|
+
if (onHover) onHover(e, false);
|
|
736
|
+
};
|
|
847
737
|
}
|
|
848
|
-
|
|
849
|
-
|
|
738
|
+
}),
|
|
739
|
+
isHovering = _useHover.isHovering,
|
|
740
|
+
hoverProps = _objectWithoutProperties(_useHover, _excluded2$2);
|
|
741
|
+
var _useHover2 = useHover({
|
|
742
|
+
hoverEffect: function hoverEffect(e) {
|
|
850
743
|
if (onResize) {
|
|
851
|
-
e.target.getStage().container().style.cursor = '
|
|
744
|
+
e.target.getStage().container().style.cursor = 'col-resize';
|
|
852
745
|
}
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
746
|
+
return function () {
|
|
747
|
+
if (onResize) {
|
|
748
|
+
e.target.getStage().container().style.cursor = 'default';
|
|
749
|
+
}
|
|
750
|
+
};
|
|
751
|
+
}
|
|
752
|
+
}),
|
|
753
|
+
isHoveringResize = _useHover2.isHovering,
|
|
754
|
+
resizeHoverProps = _objectWithoutProperties(_useHover2, _excluded3);
|
|
859
755
|
var _useState = useState(false),
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
756
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
757
|
+
isMoving = _useState2[0],
|
|
758
|
+
setIsMoving = _useState2[1];
|
|
864
759
|
var hasOnClick = !!onClick;
|
|
865
760
|
useEffect(function () {
|
|
866
761
|
if (eventRef.current) {
|
|
@@ -869,7 +764,6 @@ function TimelineEvent(_ref) {
|
|
|
869
764
|
if (isHovering && hasOnClick) return 'pointer';
|
|
870
765
|
return 'default';
|
|
871
766
|
}();
|
|
872
|
-
|
|
873
767
|
eventRef.current.getStage().container().style.cursor = cursor;
|
|
874
768
|
}
|
|
875
769
|
}, [isMoving, isHovering, hasOnClick]);
|
|
@@ -884,7 +778,6 @@ function TimelineEvent(_ref) {
|
|
|
884
778
|
var defaultHoverProps = isHovering || isHoveringResize ? {
|
|
885
779
|
fill: palettePrimaryDark
|
|
886
780
|
} : {};
|
|
887
|
-
|
|
888
781
|
var resizerProps = function resizerProps(which) {
|
|
889
782
|
var resizerX = which === 'start' ? x : x + width - EVENT_RESIZER_THUMB_WIDTH;
|
|
890
783
|
return {
|
|
@@ -907,17 +800,14 @@ function TimelineEvent(_ref) {
|
|
|
907
800
|
x: resizerX,
|
|
908
801
|
onDragMove: function onDragMove(e) {
|
|
909
802
|
if (!onResize) return;
|
|
910
|
-
|
|
911
803
|
var _e$target$position = e.target.position(),
|
|
912
|
-
|
|
913
|
-
|
|
804
|
+
newX = _e$target$position.x;
|
|
914
805
|
e.target.x(resizerX);
|
|
915
806
|
var newPos = Math.floor(interpolate(start, end, x, x + width, newX + (which === 'start' ? 0 : EVENT_RESIZER_THUMB_WIDTH)));
|
|
916
807
|
onResize(e, which, newPos);
|
|
917
808
|
}
|
|
918
809
|
};
|
|
919
810
|
};
|
|
920
|
-
|
|
921
811
|
return /*#__PURE__*/jsxs(Fragment, {
|
|
922
812
|
children: [/*#__PURE__*/jsx(Rect, _objectSpread$6(_objectSpread$6(_objectSpread$6(_objectSpread$6({
|
|
923
813
|
ref: eventRef,
|
|
@@ -931,7 +821,6 @@ function TimelineEvent(_ref) {
|
|
|
931
821
|
onDragStart: function onDragStart(e) {
|
|
932
822
|
if (!onMove) return;
|
|
933
823
|
setIsMoving(true);
|
|
934
|
-
|
|
935
824
|
if (onMoveStart) {
|
|
936
825
|
onMoveStart(e);
|
|
937
826
|
}
|
|
@@ -939,17 +828,14 @@ function TimelineEvent(_ref) {
|
|
|
939
828
|
onDragEnd: function onDragEnd(e) {
|
|
940
829
|
if (!onMove) return;
|
|
941
830
|
setIsMoving(false);
|
|
942
|
-
|
|
943
831
|
if (onMoveEnd) {
|
|
944
832
|
onMoveEnd(e);
|
|
945
833
|
}
|
|
946
834
|
},
|
|
947
835
|
onDragMove: function onDragMove(e) {
|
|
948
836
|
if (!onMove) return;
|
|
949
|
-
|
|
950
837
|
var _e$target$position2 = e.target.position(),
|
|
951
|
-
|
|
952
|
-
|
|
838
|
+
newX = _e$target$position2.x;
|
|
953
839
|
e.target.x(x);
|
|
954
840
|
var newStart = Math.floor(interpolate(start, end, x, x + width, newX));
|
|
955
841
|
onMove(e, newStart);
|
|
@@ -964,77 +850,62 @@ TimelineEvent.propTypes = {
|
|
|
964
850
|
* Callback to trigger on clicking on timeline event component.
|
|
965
851
|
*/
|
|
966
852
|
onClick: PropTypes.func,
|
|
967
|
-
|
|
968
853
|
/**
|
|
969
854
|
* Callback to trigger on hovering over timeline event component.
|
|
970
855
|
*/
|
|
971
856
|
onHover: PropTypes.func,
|
|
972
|
-
|
|
973
857
|
/**
|
|
974
858
|
* Callback to trigger on moving a timeline event component (when mousedown and dragging).
|
|
975
859
|
*/
|
|
976
860
|
onMove: PropTypes.func,
|
|
977
|
-
|
|
978
861
|
/**
|
|
979
862
|
* Callback to trigger on moving a timeline event component only when mousedown and dragging.
|
|
980
863
|
*/
|
|
981
864
|
onMoveStart: PropTypes.func,
|
|
982
|
-
|
|
983
865
|
/**
|
|
984
866
|
* Callback to trigger on moving a timeline event component only when mouseup and not dragging.
|
|
985
867
|
*/
|
|
986
868
|
onMoveEnd: PropTypes.func,
|
|
987
|
-
|
|
988
869
|
/**
|
|
989
870
|
* Callback to trigger on resizing a timeline event component.
|
|
990
871
|
*/
|
|
991
872
|
onResize: PropTypes.func,
|
|
992
|
-
|
|
993
873
|
/**
|
|
994
874
|
* Callback to trigger on resizing a timeline event component only when mousedown and dragging.
|
|
995
875
|
*/
|
|
996
876
|
onResizeStart: PropTypes.func,
|
|
997
|
-
|
|
998
877
|
/**
|
|
999
878
|
* Callback to trigger on resizing a timeline event component only when mouseup and not dragging.
|
|
1000
879
|
*/
|
|
1001
880
|
onResizeEnd: PropTypes.func,
|
|
1002
|
-
|
|
1003
881
|
/**
|
|
1004
882
|
* Position of event bar in x-axis (px)
|
|
1005
883
|
*/
|
|
1006
884
|
x: PropTypes.number,
|
|
1007
|
-
|
|
1008
885
|
/**
|
|
1009
886
|
* Width of event bar in px
|
|
1010
887
|
*/
|
|
1011
888
|
width: PropTypes.number,
|
|
1012
|
-
|
|
1013
889
|
/**
|
|
1014
890
|
* Position of event bar in y-axis (px)
|
|
1015
891
|
*/
|
|
1016
892
|
y: PropTypes.number,
|
|
1017
|
-
|
|
1018
893
|
/**
|
|
1019
894
|
* Height of event bar in px
|
|
1020
895
|
*/
|
|
1021
896
|
height: PropTypes.number,
|
|
1022
|
-
|
|
1023
897
|
/**
|
|
1024
898
|
* Padding of event bar in px
|
|
1025
899
|
*/
|
|
1026
900
|
padding: PropTypes.number,
|
|
1027
|
-
|
|
1028
901
|
/**
|
|
1029
902
|
* Start of timeline event
|
|
1030
903
|
*/
|
|
1031
904
|
start: PropTypes.number.isRequired,
|
|
1032
|
-
|
|
1033
905
|
/**
|
|
1034
906
|
* End of timeline event
|
|
1035
907
|
*/
|
|
1036
908
|
end: PropTypes.number.isRequired,
|
|
1037
|
-
|
|
1038
909
|
/**
|
|
1039
910
|
* Override styles with className
|
|
1040
911
|
*/
|
|
@@ -1058,63 +929,55 @@ TimelineEvent.defaultProps = {
|
|
|
1058
929
|
};
|
|
1059
930
|
|
|
1060
931
|
var _excluded$5 = ["className", "children", "perspective", "onClick", "style", "onHover", "StageProps", "LayerProps", "GroupProps", "RectProps"],
|
|
1061
|
-
|
|
1062
|
-
|
|
932
|
+
_excluded2$1 = ["isHovering"];
|
|
1063
933
|
function ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
1064
|
-
|
|
1065
934
|
function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
1066
935
|
function TimelineTrack(_ref) {
|
|
1067
936
|
var className = _ref.className,
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
937
|
+
children = _ref.children,
|
|
938
|
+
propPerspective = _ref.perspective,
|
|
939
|
+
onClick = _ref.onClick,
|
|
940
|
+
style = _ref.style,
|
|
941
|
+
onHover = _ref.onHover,
|
|
942
|
+
StageProps = _ref.StageProps,
|
|
943
|
+
LayerProps = _ref.LayerProps,
|
|
944
|
+
GroupProps = _ref.GroupProps,
|
|
945
|
+
RectProps = _ref.RectProps,
|
|
946
|
+
props = _objectWithoutProperties(_ref, _excluded$5);
|
|
1079
947
|
var _ref2 = useTimeline() || {
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
948
|
+
perspective: propPerspective
|
|
949
|
+
},
|
|
950
|
+
perspective = _ref2.perspective;
|
|
1084
951
|
if (perspective === undefined) {
|
|
1085
952
|
vLog.error('VdtTimelineTrack', "missing 'perspective' prop. If the component is used outside a VdtTimelineContext, 'perspective' must be passed explicitly");
|
|
1086
953
|
}
|
|
1087
|
-
|
|
1088
954
|
var visibleChildren = Children.toArray(children).filter(function (_ref3) {
|
|
1089
955
|
var _ref3$props = _ref3.props,
|
|
1090
|
-
|
|
956
|
+
childProps = _ref3$props === void 0 ? {} : _ref3$props;
|
|
1091
957
|
var isOutsidePerspective = childProps.start > perspective.end || childProps.end < perspective.start;
|
|
1092
958
|
return !isOutsidePerspective;
|
|
1093
959
|
});
|
|
1094
960
|
var eventsContainerRef = useRef();
|
|
1095
|
-
|
|
1096
961
|
var _useResizeObserver = useResizeObserver(eventsContainerRef),
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
962
|
+
_useResizeObserver$wi = _useResizeObserver.width,
|
|
963
|
+
eventContainerWidth = _useResizeObserver$wi === void 0 ? 0 : _useResizeObserver$wi,
|
|
964
|
+
_useResizeObserver$he = _useResizeObserver.height,
|
|
965
|
+
eventContainerHeight = _useResizeObserver$he === void 0 ? 0 : _useResizeObserver$he;
|
|
1102
966
|
|
|
967
|
+
// expect children to be passed 'y' and 'height' props so that we can calculate the track height
|
|
1103
968
|
var eventsContainerHeight = Math.max.apply(Math, _toConsumableArray(Children.map(children, function (_ref4) {
|
|
1104
969
|
var _ref4$props = _ref4.props;
|
|
1105
970
|
_ref4$props = _ref4$props === void 0 ? {} : _ref4$props;
|
|
1106
971
|
var _ref4$props$y = _ref4$props.y,
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
972
|
+
y = _ref4$props$y === void 0 ? 0 : _ref4$props$y,
|
|
973
|
+
_ref4$props$height = _ref4$props.height,
|
|
974
|
+
height = _ref4$props$height === void 0 ? 0 : _ref4$props$height;
|
|
1110
975
|
return y + height;
|
|
1111
976
|
}))) || DEFAULT_EVENT_HEIGHT;
|
|
1112
|
-
|
|
1113
977
|
var cloneChild = function cloneChild(child) {
|
|
1114
978
|
var _ref5 = child.props || {},
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
979
|
+
childStart = _ref5.start,
|
|
980
|
+
childEnd = _ref5.end;
|
|
1118
981
|
var xProps = function () {
|
|
1119
982
|
if (childStart !== undefined && childEnd !== undefined) {
|
|
1120
983
|
var childX = interpolate(0, eventContainerWidth, perspective.start, perspective.end, childStart);
|
|
@@ -1124,34 +987,27 @@ function TimelineTrack(_ref) {
|
|
|
1124
987
|
width: childWidth
|
|
1125
988
|
};
|
|
1126
989
|
}
|
|
1127
|
-
|
|
1128
990
|
return {};
|
|
1129
991
|
}();
|
|
1130
|
-
|
|
1131
992
|
return /*#__PURE__*/cloneElement(child, _objectSpread$5(_objectSpread$5({}, child.props), xProps));
|
|
1132
993
|
};
|
|
1133
|
-
|
|
1134
994
|
var _useHover = useHover({
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
if (onClick) {
|
|
1140
|
-
container.style.cursor = 'pointer';
|
|
1141
|
-
}
|
|
1142
|
-
|
|
1143
|
-
return function () {
|
|
1144
|
-
if (onHover) onHover(e, false);
|
|
1145
|
-
|
|
995
|
+
hoverEffect: function hoverEffect(e) {
|
|
996
|
+
if (onHover) onHover(e, true);
|
|
997
|
+
var container = e.target.getStage().container();
|
|
1146
998
|
if (onClick) {
|
|
1147
|
-
container.style.cursor = '
|
|
999
|
+
container.style.cursor = 'pointer';
|
|
1148
1000
|
}
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1001
|
+
return function () {
|
|
1002
|
+
if (onHover) onHover(e, false);
|
|
1003
|
+
if (onClick) {
|
|
1004
|
+
container.style.cursor = 'default';
|
|
1005
|
+
}
|
|
1006
|
+
};
|
|
1007
|
+
}
|
|
1008
|
+
});
|
|
1009
|
+
_useHover.isHovering;
|
|
1010
|
+
var hoverProps = _objectWithoutProperties(_useHover, _excluded2$1);
|
|
1155
1011
|
return /*#__PURE__*/jsx("div", _objectSpread$5(_objectSpread$5({
|
|
1156
1012
|
ref: eventsContainerRef,
|
|
1157
1013
|
className: clsx('VdtTimelineTrack-root', className),
|
|
@@ -1189,15 +1045,13 @@ TimelineTrack.propTypes = {
|
|
|
1189
1045
|
var _child$props = child.props;
|
|
1190
1046
|
_child$props = _child$props === void 0 ? {} : _child$props;
|
|
1191
1047
|
var start = _child$props.start,
|
|
1192
|
-
|
|
1193
|
-
|
|
1048
|
+
end = _child$props.end;
|
|
1194
1049
|
if (start === undefined || end === undefined) {
|
|
1195
1050
|
err = new Error("children of ".concat(componentName, " must be passed a 'start' and 'end' prop. These props are used to position the child within the track."));
|
|
1196
1051
|
}
|
|
1197
1052
|
});
|
|
1198
1053
|
return err;
|
|
1199
1054
|
},
|
|
1200
|
-
|
|
1201
1055
|
/**
|
|
1202
1056
|
* Start and end of timeline scroll, unzoomed
|
|
1203
1057
|
*/
|
|
@@ -1205,42 +1059,34 @@ TimelineTrack.propTypes = {
|
|
|
1205
1059
|
start: PropTypes.number,
|
|
1206
1060
|
end: PropTypes.number
|
|
1207
1061
|
}),
|
|
1208
|
-
|
|
1209
1062
|
/**
|
|
1210
1063
|
* Callback to trigger on timeline track component click.
|
|
1211
1064
|
*/
|
|
1212
1065
|
onClick: PropTypes.func,
|
|
1213
|
-
|
|
1214
1066
|
/**
|
|
1215
1067
|
* Callback to trigger on mouse hover over timeline track component.
|
|
1216
1068
|
*/
|
|
1217
1069
|
onHover: PropTypes.func,
|
|
1218
|
-
|
|
1219
1070
|
/**
|
|
1220
1071
|
* Props for Stage component. For more information: https://konvajs.org/api/Konva.Stage.html
|
|
1221
1072
|
*/
|
|
1222
1073
|
StageProps: PropTypes.instanceOf(Object),
|
|
1223
|
-
|
|
1224
1074
|
/**
|
|
1225
1075
|
* Props for Layer component. For more information: https://konvajs.org/api/Konva.Layer.html
|
|
1226
1076
|
*/
|
|
1227
1077
|
LayerProps: PropTypes.instanceOf(Object),
|
|
1228
|
-
|
|
1229
1078
|
/**
|
|
1230
1079
|
* Props for Group component. For more information: https://konvajs.org/api/Konva.Group.html
|
|
1231
1080
|
*/
|
|
1232
1081
|
GroupProps: PropTypes.instanceOf(Object),
|
|
1233
|
-
|
|
1234
1082
|
/**
|
|
1235
1083
|
* Props for Rect component. For more information: https://konvajs.org/api/Konva.Rect.html
|
|
1236
1084
|
*/
|
|
1237
1085
|
RectProps: PropTypes.instanceOf(Object),
|
|
1238
|
-
|
|
1239
1086
|
/**
|
|
1240
1087
|
* Override styles with className
|
|
1241
1088
|
*/
|
|
1242
1089
|
className: PropTypes.string,
|
|
1243
|
-
|
|
1244
1090
|
/**
|
|
1245
1091
|
* Apply inline CSS styling
|
|
1246
1092
|
*/
|
|
@@ -1263,18 +1109,15 @@ var css$3 = ":root {\n --vdt-timeline-palette-primary:#49a6dd;\n --vdt-tim
|
|
|
1263
1109
|
n(css$3,{});
|
|
1264
1110
|
|
|
1265
1111
|
var _excluded$4 = ["className", "children", "label", "LabelProps", "LabelTextProps"];
|
|
1266
|
-
|
|
1267
1112
|
function ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
1268
|
-
|
|
1269
1113
|
function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
1270
1114
|
function TimelineRow(_ref) {
|
|
1271
1115
|
var className = _ref.className,
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1116
|
+
children = _ref.children,
|
|
1117
|
+
label = _ref.label,
|
|
1118
|
+
LabelProps = _ref.LabelProps,
|
|
1119
|
+
LabelTextProps = _ref.LabelTextProps,
|
|
1120
|
+
props = _objectWithoutProperties(_ref, _excluded$4);
|
|
1278
1121
|
return /*#__PURE__*/jsxs("div", _objectSpread$4(_objectSpread$4({
|
|
1279
1122
|
className: clsx('VdtTimelineRow-root', className, {
|
|
1280
1123
|
'VdtTimelineRow-hasLabel': !!label
|
|
@@ -1296,27 +1139,22 @@ TimelineRow.propTypes = {
|
|
|
1296
1139
|
* Children components to render inside row content container.
|
|
1297
1140
|
*/
|
|
1298
1141
|
children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),
|
|
1299
|
-
|
|
1300
1142
|
/**
|
|
1301
1143
|
* Custom row label
|
|
1302
1144
|
*/
|
|
1303
1145
|
label: PropTypes.node,
|
|
1304
|
-
|
|
1305
1146
|
/**
|
|
1306
1147
|
* Props for Layer component. For more information: https://konvajs.org/api/Konva.Label.html
|
|
1307
1148
|
*/
|
|
1308
1149
|
LabelProps: PropTypes.instanceOf(Object),
|
|
1309
|
-
|
|
1310
1150
|
/**
|
|
1311
1151
|
* Props for Layer component. For more information: https://konvajs.org/api/Konva.Label.html
|
|
1312
1152
|
*/
|
|
1313
1153
|
LabelTextProps: PropTypes.instanceOf(Object),
|
|
1314
|
-
|
|
1315
1154
|
/**
|
|
1316
1155
|
* Override styles with className
|
|
1317
1156
|
*/
|
|
1318
1157
|
className: PropTypes.string,
|
|
1319
|
-
|
|
1320
1158
|
/**
|
|
1321
1159
|
* Apply inline CSS styling
|
|
1322
1160
|
*/
|
|
@@ -1335,47 +1173,40 @@ var css$2 = "\n.VdtTimelinePlayheadTrack-root {\n height: 40px;\n position
|
|
|
1335
1173
|
n(css$2,{});
|
|
1336
1174
|
|
|
1337
1175
|
var _excluded$3 = ["className", "children", "ticks", "onClick", "onHover", "onWheel", "onDrag", "start", "end", "perspective", "timelineRef", "StageProps", "LayerProps", "GroupProps", "RectProps", "TickGroupProps", "TickTextProps", "TickLineProps"],
|
|
1338
|
-
|
|
1339
|
-
|
|
1176
|
+
_excluded2 = ["isHovering"];
|
|
1340
1177
|
function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
1341
|
-
|
|
1342
1178
|
function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
1343
1179
|
var LABEL_EDGE_MARGIN = 2;
|
|
1344
|
-
|
|
1345
1180
|
var _getStyleProperties$1 = getStyleProperties('--vdt-timeline-palette-text-primary', '--vdt-timeline-palette-text-secondary'),
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1181
|
+
_getStyleProperties2$1 = _slicedToArray(_getStyleProperties$1, 2),
|
|
1182
|
+
paletteTextPrimary = _getStyleProperties2$1[0],
|
|
1183
|
+
paletteTextSecondary = _getStyleProperties2$1[1];
|
|
1350
1184
|
function TimelineTick(_ref) {
|
|
1351
1185
|
var x = _ref.x,
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1186
|
+
y = _ref.y,
|
|
1187
|
+
minX = _ref.minX,
|
|
1188
|
+
maxX = _ref.maxX,
|
|
1189
|
+
label = _ref.label,
|
|
1190
|
+
TickGroupProps = _ref.TickGroupProps,
|
|
1191
|
+
TickTextProps = _ref.TickTextProps,
|
|
1192
|
+
TickLineProps = _ref.TickLineProps;
|
|
1359
1193
|
var hasLabel = label !== undefined;
|
|
1360
|
-
|
|
1361
1194
|
var _ref2 = hasLabel ? {
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1195
|
+
color: paletteTextPrimary,
|
|
1196
|
+
tickWidth: 2,
|
|
1197
|
+
tickSize: 8
|
|
1198
|
+
} : {
|
|
1199
|
+
color: paletteTextSecondary,
|
|
1200
|
+
tickWidth: 1,
|
|
1201
|
+
tickSize: 4
|
|
1202
|
+
},
|
|
1203
|
+
color = _ref2.color,
|
|
1204
|
+
tickWidth = _ref2.tickWidth,
|
|
1205
|
+
tickSize = _ref2.tickSize;
|
|
1374
1206
|
var _useState = useState(),
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1207
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
1208
|
+
labelWidth = _useState2[0],
|
|
1209
|
+
setLabelWidth = _useState2[1];
|
|
1379
1210
|
var textRef = useRef();
|
|
1380
1211
|
useEffect(function () {
|
|
1381
1212
|
if (textRef.current) {
|
|
@@ -1383,11 +1214,9 @@ function TimelineTick(_ref) {
|
|
|
1383
1214
|
}
|
|
1384
1215
|
}, []);
|
|
1385
1216
|
var textX = clamp(x - labelWidth / 2, minX + LABEL_EDGE_MARGIN, maxX - labelWidth - LABEL_EDGE_MARGIN) || undefined;
|
|
1386
|
-
|
|
1387
1217
|
if (x < minX || x > maxX) {
|
|
1388
1218
|
return null;
|
|
1389
1219
|
}
|
|
1390
|
-
|
|
1391
1220
|
return /*#__PURE__*/jsxs(Group, _objectSpread$3(_objectSpread$3({}, TickGroupProps), {}, {
|
|
1392
1221
|
children: [/*#__PURE__*/jsx(Text, _objectSpread$3({
|
|
1393
1222
|
ref: textRef,
|
|
@@ -1405,10 +1234,9 @@ function TimelineTick(_ref) {
|
|
|
1405
1234
|
}, TickLineProps))]
|
|
1406
1235
|
}));
|
|
1407
1236
|
}
|
|
1408
|
-
|
|
1409
1237
|
function defaultTicks(_ref3) {
|
|
1410
1238
|
var width = _ref3.width,
|
|
1411
|
-
|
|
1239
|
+
perspective = _ref3.perspective;
|
|
1412
1240
|
var numTicks = Math.max(Math.floor(width / 90), 2);
|
|
1413
1241
|
var labeledTicks = uniq(_toConsumableArray(Array(numTicks).keys()).map(function (i) {
|
|
1414
1242
|
return interpolate(perspective.start, perspective.end, 0, numTicks - 1, i);
|
|
@@ -1428,84 +1256,70 @@ function defaultTicks(_ref3) {
|
|
|
1428
1256
|
}).flat();
|
|
1429
1257
|
return sortBy([].concat(_toConsumableArray(labeledTicks), _toConsumableArray(unlabeledTicks)), ['time']);
|
|
1430
1258
|
}
|
|
1431
|
-
|
|
1432
1259
|
function TimelinePlayheadTrack(_ref4) {
|
|
1433
1260
|
var _trackContainerRef$cu, _timelineRef$current;
|
|
1434
|
-
|
|
1435
1261
|
var className = _ref4.className,
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1262
|
+
children = _ref4.children,
|
|
1263
|
+
propTicks = _ref4.ticks,
|
|
1264
|
+
onClick = _ref4.onClick,
|
|
1265
|
+
onHover = _ref4.onHover,
|
|
1266
|
+
onWheel = _ref4.onWheel,
|
|
1267
|
+
onDrag = _ref4.onDrag,
|
|
1268
|
+
propStart = _ref4.start,
|
|
1269
|
+
propEnd = _ref4.end,
|
|
1270
|
+
propPerspective = _ref4.perspective,
|
|
1271
|
+
propTimelineRef = _ref4.timelineRef,
|
|
1272
|
+
StageProps = _ref4.StageProps,
|
|
1273
|
+
LayerProps = _ref4.LayerProps,
|
|
1274
|
+
GroupProps = _ref4.GroupProps,
|
|
1275
|
+
RectProps = _ref4.RectProps,
|
|
1276
|
+
TickGroupProps = _ref4.TickGroupProps,
|
|
1277
|
+
TickTextProps = _ref4.TickTextProps,
|
|
1278
|
+
TickLineProps = _ref4.TickLineProps,
|
|
1279
|
+
props = _objectWithoutProperties(_ref4, _excluded$3);
|
|
1455
1280
|
var _ref5 = useTimeline() || {
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1281
|
+
start: propStart,
|
|
1282
|
+
end: propEnd,
|
|
1283
|
+
perspective: propPerspective,
|
|
1284
|
+
timelineRef: propTimelineRef
|
|
1285
|
+
},
|
|
1286
|
+
start = _ref5.start,
|
|
1287
|
+
end = _ref5.end,
|
|
1288
|
+
perspective = _ref5.perspective,
|
|
1289
|
+
setPerspective = _ref5.setPerspective,
|
|
1290
|
+
zoom = _ref5.zoom,
|
|
1291
|
+
onChangeTime = _ref5.onChangeTime,
|
|
1292
|
+
timelineRef = _ref5.timelineRef;
|
|
1469
1293
|
if (start === undefined || end === undefined || perspective === undefined) {
|
|
1470
1294
|
vLog.error('VdtTimelinePlayheadTrack', "missing 'start', 'end' or 'perspective' props. If the component is used outside a VdtTimelineContext, 'start', 'end' and 'perspective' must be passed explicitly");
|
|
1471
1295
|
}
|
|
1472
|
-
|
|
1473
1296
|
if (timelineRef === undefined && (children === null || children === void 0 ? void 0 : children.length) > 0) {
|
|
1474
1297
|
vLog.warn('VdtTimelinePlayheadTrack', "missing 'timelineRef' prop. This ref is used to set the height of the playhead within the timeline.");
|
|
1475
1298
|
}
|
|
1476
|
-
|
|
1477
1299
|
var handleWheel = onWheel || zoom && function (e) {
|
|
1478
1300
|
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
1479
1301
|
args[_key - 1] = arguments[_key];
|
|
1480
1302
|
}
|
|
1481
|
-
|
|
1482
1303
|
return zoom.apply(void 0, args);
|
|
1483
1304
|
};
|
|
1484
|
-
|
|
1485
1305
|
var handleClick = onClick || onChangeTime && function (e) {
|
|
1486
1306
|
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
1487
1307
|
args[_key2 - 1] = arguments[_key2];
|
|
1488
1308
|
}
|
|
1489
|
-
|
|
1490
1309
|
return onChangeTime.apply(void 0, args);
|
|
1491
1310
|
};
|
|
1492
|
-
|
|
1493
1311
|
var handleDrag = onDrag || setPerspective && function (e) {
|
|
1494
1312
|
for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
|
|
1495
1313
|
args[_key3 - 1] = arguments[_key3];
|
|
1496
1314
|
}
|
|
1497
|
-
|
|
1498
1315
|
return setPerspective.apply(void 0, args);
|
|
1499
1316
|
};
|
|
1500
|
-
|
|
1501
1317
|
var trackContainerRef = useRef();
|
|
1502
|
-
|
|
1503
1318
|
var _useResizeObserver = useResizeObserver(trackContainerRef),
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1319
|
+
_useResizeObserver$wi = _useResizeObserver.width,
|
|
1320
|
+
width = _useResizeObserver$wi === void 0 ? 0 : _useResizeObserver$wi,
|
|
1321
|
+
_useResizeObserver$he = _useResizeObserver.height,
|
|
1322
|
+
height = _useResizeObserver$he === void 0 ? 0 : _useResizeObserver$he;
|
|
1509
1323
|
var getTicks = propTicks || defaultTicks;
|
|
1510
1324
|
var timeTicks = typeof getTicks === 'function' ? getTicks({
|
|
1511
1325
|
start: start,
|
|
@@ -1515,43 +1329,36 @@ function TimelinePlayheadTrack(_ref4) {
|
|
|
1515
1329
|
}) : getTicks;
|
|
1516
1330
|
var ticks = timeTicks.map(function (_ref6) {
|
|
1517
1331
|
var label = _ref6.label,
|
|
1518
|
-
|
|
1332
|
+
time = _ref6.time;
|
|
1519
1333
|
return {
|
|
1520
1334
|
x: interpolate(0, width, perspective.start, perspective.end, time),
|
|
1521
1335
|
label: label,
|
|
1522
1336
|
time: time
|
|
1523
1337
|
};
|
|
1524
1338
|
});
|
|
1525
|
-
|
|
1526
1339
|
var _useResizeObserver2 = useResizeObserver(timelineRef),
|
|
1527
|
-
|
|
1528
|
-
|
|
1340
|
+
timelineHeight = _useResizeObserver2.height;
|
|
1529
1341
|
var timelineOffsetTop = ((trackContainerRef === null || trackContainerRef === void 0 ? void 0 : (_trackContainerRef$cu = trackContainerRef.current) === null || _trackContainerRef$cu === void 0 ? void 0 : _trackContainerRef$cu.offsetTop) || 0) - ((timelineRef === null || timelineRef === void 0 ? void 0 : (_timelineRef$current = timelineRef.current) === null || _timelineRef$current === void 0 ? void 0 : _timelineRef$current.offsetTop) || 0);
|
|
1530
1342
|
var playheadTop = height;
|
|
1531
1343
|
var playheadHeight = timelineHeight - height - timelineOffsetTop || undefined;
|
|
1532
1344
|
var trackRectRef = useRef();
|
|
1533
|
-
|
|
1534
1345
|
var _useHover = useHover({
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
if (handleClick) {
|
|
1540
|
-
container.style.cursor = 'pointer';
|
|
1541
|
-
}
|
|
1542
|
-
|
|
1543
|
-
return function () {
|
|
1544
|
-
if (onHover) onHover(e, false);
|
|
1545
|
-
|
|
1346
|
+
hoverEffect: function hoverEffect(e) {
|
|
1347
|
+
if (onHover) onHover(e, true);
|
|
1348
|
+
var container = e.target.getStage().container();
|
|
1546
1349
|
if (handleClick) {
|
|
1547
|
-
container.style.cursor = '
|
|
1350
|
+
container.style.cursor = 'pointer';
|
|
1548
1351
|
}
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1352
|
+
return function () {
|
|
1353
|
+
if (onHover) onHover(e, false);
|
|
1354
|
+
if (handleClick) {
|
|
1355
|
+
container.style.cursor = 'default';
|
|
1356
|
+
}
|
|
1357
|
+
};
|
|
1358
|
+
}
|
|
1359
|
+
});
|
|
1360
|
+
_useHover.isHovering;
|
|
1361
|
+
var hoverProps = _objectWithoutProperties(_useHover, _excluded2);
|
|
1555
1362
|
return /*#__PURE__*/jsxs("div", _objectSpread$3(_objectSpread$3({
|
|
1556
1363
|
ref: trackContainerRef,
|
|
1557
1364
|
className: clsx('VdtTimelinePlayheadTrack-root', className)
|
|
@@ -1572,16 +1379,14 @@ function TimelinePlayheadTrack(_ref4) {
|
|
|
1572
1379
|
onClick: function onClick(e) {
|
|
1573
1380
|
if (trackRectRef.current && handleClick) {
|
|
1574
1381
|
var _trackRectRef$current = trackRectRef.current.getRelativePointerPosition(),
|
|
1575
|
-
|
|
1576
|
-
|
|
1382
|
+
x = _trackRectRef$current.x;
|
|
1577
1383
|
handleClick(e, interpolate(perspective.start, perspective.end, 0, width, x));
|
|
1578
1384
|
}
|
|
1579
1385
|
},
|
|
1580
1386
|
onWheel: function onWheel(e) {
|
|
1581
1387
|
if (trackRectRef.current && handleWheel) {
|
|
1582
1388
|
var _trackRectRef$current2 = trackRectRef.current.getRelativePointerPosition(),
|
|
1583
|
-
|
|
1584
|
-
|
|
1389
|
+
x = _trackRectRef$current2.x;
|
|
1585
1390
|
handleWheel(e, e.evt.deltaY < 0 ? 'in' : 'out', interpolate(perspective.start, perspective.end, 0, width, x));
|
|
1586
1391
|
}
|
|
1587
1392
|
},
|
|
@@ -1620,8 +1425,8 @@ function TimelinePlayheadTrack(_ref4) {
|
|
|
1620
1425
|
height: height
|
|
1621
1426
|
}, RectProps)), ticks.map(function (_ref7) {
|
|
1622
1427
|
var x = _ref7.x,
|
|
1623
|
-
|
|
1624
|
-
|
|
1428
|
+
label = _ref7.label,
|
|
1429
|
+
time = _ref7.time;
|
|
1625
1430
|
return /*#__PURE__*/jsx(TimelineTick, {
|
|
1626
1431
|
minX: 0,
|
|
1627
1432
|
maxX: width,
|
|
@@ -1643,12 +1448,10 @@ TimelinePlayheadTrack.propTypes = {
|
|
|
1643
1448
|
* Callback to trigger on clicking on playhead track component.
|
|
1644
1449
|
*/
|
|
1645
1450
|
onClick: PropTypes.func,
|
|
1646
|
-
|
|
1647
1451
|
/**
|
|
1648
1452
|
* Callback to trigger on mouse hover over playhead track component.
|
|
1649
1453
|
*/
|
|
1650
1454
|
onHover: PropTypes.func,
|
|
1651
|
-
|
|
1652
1455
|
/**
|
|
1653
1456
|
* Array of (large) timeline tick objects. Set time and label.
|
|
1654
1457
|
*/
|
|
@@ -1656,32 +1459,26 @@ TimelinePlayheadTrack.propTypes = {
|
|
|
1656
1459
|
time: PropTypes.number,
|
|
1657
1460
|
label: PropTypes.string
|
|
1658
1461
|
})), PropTypes.func]),
|
|
1659
|
-
|
|
1660
1462
|
/**
|
|
1661
1463
|
* Callback to trigger on using the mouse wheel.
|
|
1662
1464
|
*/
|
|
1663
1465
|
onWheel: PropTypes.func,
|
|
1664
|
-
|
|
1665
1466
|
/**
|
|
1666
1467
|
* Callback to trigger on dragging playhead track component
|
|
1667
1468
|
*/
|
|
1668
1469
|
onDrag: PropTypes.func,
|
|
1669
|
-
|
|
1670
1470
|
/**
|
|
1671
1471
|
* Children components to render before/above the playhead track, according to top and height props passed to playhead track.
|
|
1672
1472
|
*/
|
|
1673
1473
|
children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),
|
|
1674
|
-
|
|
1675
1474
|
/**
|
|
1676
1475
|
* Start of playhead track.
|
|
1677
1476
|
*/
|
|
1678
1477
|
start: PropTypes.number,
|
|
1679
|
-
|
|
1680
1478
|
/**
|
|
1681
1479
|
* End of playhead track.
|
|
1682
1480
|
*/
|
|
1683
1481
|
end: PropTypes.number,
|
|
1684
|
-
|
|
1685
1482
|
/**
|
|
1686
1483
|
* Zoom level when looking at track.
|
|
1687
1484
|
*/
|
|
@@ -1689,54 +1486,44 @@ TimelinePlayheadTrack.propTypes = {
|
|
|
1689
1486
|
start: PropTypes.number,
|
|
1690
1487
|
end: PropTypes.number
|
|
1691
1488
|
}),
|
|
1692
|
-
|
|
1693
1489
|
/**
|
|
1694
1490
|
* Ref object to track timeline events.
|
|
1695
1491
|
*/
|
|
1696
1492
|
timelineRef: PropTypes.shape({
|
|
1697
1493
|
current: PropTypes.instanceOf(Element)
|
|
1698
1494
|
}),
|
|
1699
|
-
|
|
1700
1495
|
/**
|
|
1701
1496
|
* Props for Stage component. For more information: https://konvajs.org/api/Konva.Stage.html
|
|
1702
1497
|
*/
|
|
1703
1498
|
StageProps: PropTypes.instanceOf(Object),
|
|
1704
|
-
|
|
1705
1499
|
/**
|
|
1706
1500
|
* Props for Layer component. For more information: https://konvajs.org/api/Konva.Layer.html
|
|
1707
1501
|
*/
|
|
1708
1502
|
LayerProps: PropTypes.instanceOf(Object),
|
|
1709
|
-
|
|
1710
1503
|
/**
|
|
1711
1504
|
* Props for Group component. For more information: https://konvajs.org/api/Konva.Group.html
|
|
1712
1505
|
*/
|
|
1713
1506
|
GroupProps: PropTypes.instanceOf(Object),
|
|
1714
|
-
|
|
1715
1507
|
/**
|
|
1716
1508
|
* Props for React component. For more information: https://konvajs.org/api/Konva.Rect.html
|
|
1717
1509
|
*/
|
|
1718
1510
|
RectProps: PropTypes.instanceOf(Object),
|
|
1719
|
-
|
|
1720
1511
|
/**
|
|
1721
1512
|
* Props for Group component. For more information: https://konvajs.org/api/Konva.Group.html
|
|
1722
1513
|
*/
|
|
1723
1514
|
TickGroupProps: PropTypes.instanceOf(Object),
|
|
1724
|
-
|
|
1725
1515
|
/**
|
|
1726
1516
|
* Props for Group component. For more information: https://konvajs.org/api/Konva.Text.html
|
|
1727
1517
|
*/
|
|
1728
1518
|
TickTextProps: PropTypes.instanceOf(Object),
|
|
1729
|
-
|
|
1730
1519
|
/**
|
|
1731
1520
|
* Props for Group component. For more information: https://konvajs.org/api/Konva.Line.html
|
|
1732
1521
|
*/
|
|
1733
1522
|
TickLineProps: PropTypes.instanceOf(Object),
|
|
1734
|
-
|
|
1735
1523
|
/**
|
|
1736
1524
|
* Override styles with className
|
|
1737
1525
|
*/
|
|
1738
1526
|
className: PropTypes.string,
|
|
1739
|
-
|
|
1740
1527
|
/**
|
|
1741
1528
|
* Apply inline CSS styling
|
|
1742
1529
|
*/
|
|
@@ -1765,11 +1552,11 @@ TimelinePlayheadTrack.defaultProps = {
|
|
|
1765
1552
|
};
|
|
1766
1553
|
|
|
1767
1554
|
var _excluded$2 = ["index"];
|
|
1768
|
-
|
|
1769
1555
|
function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
1770
|
-
|
|
1771
1556
|
function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
1772
1557
|
|
|
1558
|
+
// NOTE: options.height default is hardcoded to what is set for DEFAULT_EVENT_HEIGHT
|
|
1559
|
+
|
|
1773
1560
|
/**
|
|
1774
1561
|
* Extends events with height and y props to display them if they are overlapping
|
|
1775
1562
|
* @param {Object[]} events - events to add overlapping info for
|
|
@@ -1777,14 +1564,11 @@ function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) {
|
|
|
1777
1564
|
* @param {number} options.height=15 - height of events
|
|
1778
1565
|
* @returns {Array} events with height and y position added
|
|
1779
1566
|
*/
|
|
1780
|
-
|
|
1781
1567
|
var getStackOverlappingEventProps = function getStackOverlappingEventProps(events) {
|
|
1782
1568
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
1783
|
-
|
|
1784
1569
|
var _ref = options || {},
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
|
|
1570
|
+
_ref$height = _ref.height,
|
|
1571
|
+
height = _ref$height === void 0 ? DEFAULT_EVENT_HEIGHT : _ref$height;
|
|
1788
1572
|
var sortedEvents = sortBy(events.map(function (e, index) {
|
|
1789
1573
|
return _objectSpread$2(_objectSpread$2({}, e), {}, {
|
|
1790
1574
|
index: index
|
|
@@ -1792,39 +1576,32 @@ var getStackOverlappingEventProps = function getStackOverlappingEventProps(event
|
|
|
1792
1576
|
}), ['start', 'end']);
|
|
1793
1577
|
var tracks = [0];
|
|
1794
1578
|
var eventTracks = [];
|
|
1795
|
-
|
|
1796
1579
|
var _loop = function _loop(i) {
|
|
1797
1580
|
var event = sortedEvents[i];
|
|
1798
|
-
|
|
1799
1581
|
var trackIndex = function () {
|
|
1800
1582
|
for (var j = 0; j < tracks.length; j += 1) {
|
|
1801
1583
|
var firstVacantFrame = tracks[j];
|
|
1802
|
-
|
|
1803
1584
|
if (event.start >= firstVacantFrame) {
|
|
1804
1585
|
return j;
|
|
1805
1586
|
}
|
|
1806
1587
|
}
|
|
1807
|
-
|
|
1808
1588
|
tracks.push(0);
|
|
1809
1589
|
return tracks.length - 1;
|
|
1810
1590
|
}();
|
|
1811
|
-
|
|
1812
1591
|
tracks[trackIndex] = event.end;
|
|
1813
1592
|
eventTracks.push(_objectSpread$2(_objectSpread$2({}, event), {}, {
|
|
1814
1593
|
height: height,
|
|
1815
1594
|
y: trackIndex * height
|
|
1816
1595
|
}));
|
|
1817
1596
|
};
|
|
1818
|
-
|
|
1819
1597
|
for (var i = 0; i < sortedEvents.length; i += 1) {
|
|
1820
1598
|
_loop(i);
|
|
1821
|
-
}
|
|
1822
|
-
|
|
1599
|
+
}
|
|
1823
1600
|
|
|
1601
|
+
// retain the original order of the events
|
|
1824
1602
|
return sortBy(eventTracks, 'index').map(function (_ref2) {
|
|
1825
1603
|
_ref2.index;
|
|
1826
|
-
|
|
1827
|
-
|
|
1604
|
+
var event = _objectWithoutProperties(_ref2, _excluded$2);
|
|
1828
1605
|
return event;
|
|
1829
1606
|
});
|
|
1830
1607
|
};
|
|
@@ -1833,70 +1610,56 @@ var css$1 = ":root {\n --vdt-timeline-palette-primary:#49a6dd;\n --vdt-tim
|
|
|
1833
1610
|
n(css$1,{});
|
|
1834
1611
|
|
|
1835
1612
|
var _excluded$1 = ["className", "onScroll", "onClick", "start", "end", "perspective", "style", "StageProps", "LayerProps", "RectProps"];
|
|
1836
|
-
|
|
1837
1613
|
function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
1838
|
-
|
|
1839
1614
|
function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
1840
|
-
|
|
1841
1615
|
var _getStyleProperties = getStyleProperties('--vdt-timeline-palette-secondary'),
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1616
|
+
_getStyleProperties2 = _slicedToArray(_getStyleProperties, 1),
|
|
1617
|
+
paletteSecondary = _getStyleProperties2[0];
|
|
1845
1618
|
function TimelineScroll(_ref) {
|
|
1846
1619
|
var className = _ref.className,
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
|
|
1620
|
+
onScroll = _ref.onScroll,
|
|
1621
|
+
onClick = _ref.onClick,
|
|
1622
|
+
propStart = _ref.start,
|
|
1623
|
+
propEnd = _ref.end,
|
|
1624
|
+
propPerspective = _ref.perspective,
|
|
1625
|
+
style = _ref.style,
|
|
1626
|
+
StageProps = _ref.StageProps,
|
|
1627
|
+
LayerProps = _ref.LayerProps,
|
|
1628
|
+
RectProps = _ref.RectProps,
|
|
1629
|
+
props = _objectWithoutProperties(_ref, _excluded$1);
|
|
1858
1630
|
var _ref2 = useTimeline() || {
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1631
|
+
start: propStart,
|
|
1632
|
+
end: propEnd,
|
|
1633
|
+
perspective: propPerspective
|
|
1634
|
+
},
|
|
1635
|
+
start = _ref2.start,
|
|
1636
|
+
end = _ref2.end,
|
|
1637
|
+
perspective = _ref2.perspective,
|
|
1638
|
+
setPerspective = _ref2.setPerspective;
|
|
1868
1639
|
if (start === undefined || end === undefined || perspective === undefined) {
|
|
1869
1640
|
vLog.error('VdtTimelineScroll', "missing 'start', 'end' or 'perspective' props. If the component is used outside a VdtTimelineContext, 'start', 'end' and 'perspective' must be passed explicitly");
|
|
1870
1641
|
}
|
|
1871
|
-
|
|
1872
1642
|
var ref = useRef();
|
|
1873
|
-
|
|
1874
1643
|
var _useResizeObserver = useResizeObserver(ref),
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1644
|
+
_useResizeObserver$wi = _useResizeObserver.width,
|
|
1645
|
+
scrollTrackWidth = _useResizeObserver$wi === void 0 ? 0 : _useResizeObserver$wi,
|
|
1646
|
+
_useResizeObserver$he = _useResizeObserver.height,
|
|
1647
|
+
height = _useResizeObserver$he === void 0 ? 0 : _useResizeObserver$he;
|
|
1880
1648
|
var scrollLeft = interpolate(0, scrollTrackWidth, start, end, perspective.start);
|
|
1881
1649
|
var perspectiveDuration = perspective.end - perspective.start;
|
|
1882
1650
|
var scrollWidth = interpolate(0, scrollTrackWidth, 0, end - start, perspectiveDuration);
|
|
1883
|
-
|
|
1884
1651
|
var handleScroll = onScroll || setPerspective && function (e) {
|
|
1885
1652
|
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
1886
1653
|
args[_key - 1] = arguments[_key];
|
|
1887
1654
|
}
|
|
1888
|
-
|
|
1889
1655
|
return setPerspective.apply(void 0, args);
|
|
1890
1656
|
};
|
|
1891
|
-
|
|
1892
1657
|
var handleClick = onClick || setPerspective && function (e) {
|
|
1893
1658
|
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
1894
1659
|
args[_key2 - 1] = arguments[_key2];
|
|
1895
1660
|
}
|
|
1896
|
-
|
|
1897
1661
|
return setPerspective.apply(void 0, args);
|
|
1898
1662
|
};
|
|
1899
|
-
|
|
1900
1663
|
var isZoomed = start !== perspective.start || end !== perspective.end;
|
|
1901
1664
|
return /*#__PURE__*/jsx("div", _objectSpread$1(_objectSpread$1({
|
|
1902
1665
|
className: clsx('VdtTimelineScroll-root', className),
|
|
@@ -1911,18 +1674,14 @@ function TimelineScroll(_ref) {
|
|
|
1911
1674
|
width: scrollTrackWidth,
|
|
1912
1675
|
onClick: function onClick(e) {
|
|
1913
1676
|
if (!handleClick) return;
|
|
1914
|
-
|
|
1915
1677
|
var _e$currentTarget$getR = e.currentTarget.getRelativePointerPosition(),
|
|
1916
|
-
|
|
1917
|
-
|
|
1678
|
+
x = _e$currentTarget$getR.x;
|
|
1918
1679
|
var newStart;
|
|
1919
|
-
|
|
1920
1680
|
if (x > scrollLeft + scrollWidth) {
|
|
1921
1681
|
newStart = Math.floor(interpolate(start, end, 0, scrollTrackWidth, x - scrollWidth));
|
|
1922
1682
|
} else if (x < scrollLeft) {
|
|
1923
1683
|
newStart = Math.floor(interpolate(start, end, 0, scrollTrackWidth, x));
|
|
1924
1684
|
}
|
|
1925
|
-
|
|
1926
1685
|
if (newStart !== undefined && newStart !== perspective.start) {
|
|
1927
1686
|
handleClick(e, newStart, newStart + perspectiveDuration);
|
|
1928
1687
|
}
|
|
@@ -1944,10 +1703,8 @@ function TimelineScroll(_ref) {
|
|
|
1944
1703
|
},
|
|
1945
1704
|
onDragMove: function onDragMove(e) {
|
|
1946
1705
|
if (!handleScroll) return;
|
|
1947
|
-
|
|
1948
1706
|
var _e$target$position = e.target.position(),
|
|
1949
|
-
|
|
1950
|
-
|
|
1707
|
+
x = _e$target$position.x;
|
|
1951
1708
|
e.target.x(scrollLeft);
|
|
1952
1709
|
var newStart = Math.floor(interpolate(start, end, 0, scrollTrackWidth, x));
|
|
1953
1710
|
handleScroll(e, newStart, newStart + perspectiveDuration);
|
|
@@ -1962,22 +1719,18 @@ TimelineScroll.propTypes = {
|
|
|
1962
1719
|
* Callback to trigger on timeline component scroll.
|
|
1963
1720
|
*/
|
|
1964
1721
|
onScroll: PropTypes.func,
|
|
1965
|
-
|
|
1966
1722
|
/**
|
|
1967
1723
|
* Callback to trigger on timeline component click.
|
|
1968
1724
|
*/
|
|
1969
1725
|
onClick: PropTypes.func,
|
|
1970
|
-
|
|
1971
1726
|
/**
|
|
1972
1727
|
* Start time of timeline scroll.
|
|
1973
1728
|
*/
|
|
1974
1729
|
start: PropTypes.number,
|
|
1975
|
-
|
|
1976
1730
|
/**
|
|
1977
1731
|
* End time of timeline scroll
|
|
1978
1732
|
*/
|
|
1979
1733
|
end: PropTypes.number,
|
|
1980
|
-
|
|
1981
1734
|
/**
|
|
1982
1735
|
* Zoom level of timeline scroll.
|
|
1983
1736
|
*/
|
|
@@ -1985,27 +1738,22 @@ TimelineScroll.propTypes = {
|
|
|
1985
1738
|
start: PropTypes.number,
|
|
1986
1739
|
end: PropTypes.number
|
|
1987
1740
|
}),
|
|
1988
|
-
|
|
1989
1741
|
/**
|
|
1990
1742
|
* Apply inline CSS styling
|
|
1991
1743
|
*/
|
|
1992
1744
|
style: PropTypes.instanceOf(Object),
|
|
1993
|
-
|
|
1994
1745
|
/**
|
|
1995
1746
|
* Props for Stage component. For more information: https://konvajs.org/api/Konva.Stage.html
|
|
1996
1747
|
*/
|
|
1997
1748
|
StageProps: PropTypes.instanceOf(Object),
|
|
1998
|
-
|
|
1999
1749
|
/**
|
|
2000
1750
|
* Props for Stage component. For more information: https://konvajs.org/api/Konva.Layer.html
|
|
2001
1751
|
*/
|
|
2002
1752
|
LayerProps: PropTypes.instanceOf(Object),
|
|
2003
|
-
|
|
2004
1753
|
/**
|
|
2005
1754
|
* Props for Stage component. For more information: https://konvajs.org/api/Konva.Rect.html
|
|
2006
1755
|
*/
|
|
2007
1756
|
RectProps: PropTypes.instanceOf(Object),
|
|
2008
|
-
|
|
2009
1757
|
/**
|
|
2010
1758
|
* Override styles with className
|
|
2011
1759
|
*/
|
|
@@ -2028,31 +1776,25 @@ var css = "\n\n.VdtTimelineScrollContainer-timelineRow > :not(.VdtTimelineRow-la
|
|
|
2028
1776
|
n(css,{});
|
|
2029
1777
|
|
|
2030
1778
|
var _excluded = ["className", "children", "getScrollDistance", "RowProps", "ScrollProps"];
|
|
2031
|
-
|
|
2032
1779
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
2033
|
-
|
|
2034
1780
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
2035
|
-
|
|
2036
1781
|
function defaultGetScrollDistance(e, _ref) {
|
|
2037
1782
|
var start = _ref.start,
|
|
2038
|
-
|
|
1783
|
+
end = _ref.end;
|
|
2039
1784
|
return Math.floor(0.02 * (start - end));
|
|
2040
1785
|
}
|
|
2041
|
-
|
|
2042
1786
|
function TimelineScrollContainer(_ref2) {
|
|
2043
1787
|
var className = _ref2.className,
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
|
|
2049
|
-
|
|
1788
|
+
children = _ref2.children,
|
|
1789
|
+
getScrollDistance = _ref2.getScrollDistance,
|
|
1790
|
+
RowProps = _ref2.RowProps,
|
|
1791
|
+
ScrollProps = _ref2.ScrollProps,
|
|
1792
|
+
props = _objectWithoutProperties(_ref2, _excluded);
|
|
2050
1793
|
var _useTimeline = useTimeline(),
|
|
2051
|
-
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
|
|
2055
|
-
|
|
1794
|
+
start = _useTimeline.start,
|
|
1795
|
+
end = _useTimeline.end,
|
|
1796
|
+
perspective = _useTimeline.perspective,
|
|
1797
|
+
setPerspective = _useTimeline.setPerspective;
|
|
2056
1798
|
return /*#__PURE__*/jsxs("div", _objectSpread(_objectSpread({
|
|
2057
1799
|
className: clsx('VdtTimelineScrollContainer-root', className),
|
|
2058
1800
|
onWheel: function onWheel(e) {
|
|
@@ -2065,7 +1807,6 @@ function TimelineScrollContainer(_ref2) {
|
|
|
2065
1807
|
var newPerspectiveStart = perspective.start + (e.deltaY > 0 ? -delta : delta);
|
|
2066
1808
|
var perspectiveDuration = perspective.end - perspective.start;
|
|
2067
1809
|
var newPerspectiveEnd = newPerspectiveStart + perspectiveDuration;
|
|
2068
|
-
|
|
2069
1810
|
if (newPerspectiveEnd > end) {
|
|
2070
1811
|
setPerspective(end - perspectiveDuration, end);
|
|
2071
1812
|
} else if (newPerspectiveStart < start) {
|
|
@@ -2088,22 +1829,18 @@ TimelineScrollContainer.propTypes = {
|
|
|
2088
1829
|
* Override styles with className
|
|
2089
1830
|
*/
|
|
2090
1831
|
className: PropTypes.string,
|
|
2091
|
-
|
|
2092
1832
|
/**
|
|
2093
1833
|
* Children components to render
|
|
2094
1834
|
*/
|
|
2095
1835
|
children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),
|
|
2096
|
-
|
|
2097
1836
|
/**
|
|
2098
1837
|
* Get distance of scrolling
|
|
2099
1838
|
*/
|
|
2100
1839
|
getScrollDistance: PropTypes.func,
|
|
2101
|
-
|
|
2102
1840
|
/**
|
|
2103
1841
|
* Additional props for row component
|
|
2104
1842
|
*/
|
|
2105
1843
|
RowProps: PropTypes.instanceOf(Object),
|
|
2106
|
-
|
|
2107
1844
|
/**
|
|
2108
1845
|
* Additional props for scroll component
|
|
2109
1846
|
*/
|