@micromag/core 0.3.307 → 0.3.318

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/es/hooks.js CHANGED
@@ -23,53 +23,42 @@ import clamp from 'lodash/clamp';
23
23
 
24
24
  function useActivityDetector() {
25
25
  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
26
- _ref$element = _ref.element,
27
- providedElement = _ref$element === void 0 ? null : _ref$element,
28
- _ref$disabled = _ref.disabled,
29
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
30
- _ref$timeout = _ref.timeout,
31
- timeoutDelay = _ref$timeout === void 0 ? 2000 : _ref$timeout;
32
-
26
+ _ref$element = _ref.element,
27
+ providedElement = _ref$element === void 0 ? null : _ref$element,
28
+ _ref$disabled = _ref.disabled,
29
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
30
+ _ref$timeout = _ref.timeout,
31
+ timeoutDelay = _ref$timeout === void 0 ? 2000 : _ref$timeout;
33
32
  var ref = useRef(providedElement);
34
-
35
33
  var _useState = useState(false),
36
- _useState2 = _slicedToArray(_useState, 2),
37
- detected = _useState2[0],
38
- setDetected = _useState2[1];
39
-
34
+ _useState2 = _slicedToArray(_useState, 2),
35
+ detected = _useState2[0],
36
+ setDetected = _useState2[1];
40
37
  var detectedRef = useRef(detected);
41
-
42
38
  if (providedElement !== null && providedElement !== ref.current) {
43
39
  ref.current = providedElement;
44
40
  }
45
-
46
41
  useEffect(function () {
47
42
  var _ref$current = ref.current,
48
- element = _ref$current === void 0 ? null : _ref$current;
49
-
43
+ element = _ref$current === void 0 ? null : _ref$current;
50
44
  if (element === null || disabled) {
51
45
  return function () {};
52
46
  }
53
-
54
47
  var timeout = null;
55
-
56
48
  function onActivity() {
57
49
  if (timeout !== null) {
58
50
  clearTimeout(timeout);
59
51
  timeout = null;
60
52
  }
61
-
62
53
  if (!detectedRef.current) {
63
54
  detectedRef.current = true;
64
55
  setDetected(true);
65
56
  }
66
-
67
57
  timeout = setTimeout(function () {
68
58
  detectedRef.current = false;
69
59
  setDetected(false);
70
60
  }, timeoutDelay);
71
61
  }
72
-
73
62
  element.addEventListener('keydown', onActivity);
74
63
  element.addEventListener('mousedown', onActivity);
75
64
  element.addEventListener('mousemove', onActivity);
@@ -84,7 +73,6 @@ function useActivityDetector() {
84
73
  clearTimeout(timeout);
85
74
  timeout = null;
86
75
  }
87
-
88
76
  element.removeEventListener('keydown', onActivity);
89
77
  element.removeEventListener('mousedown', onActivity);
90
78
  element.removeEventListener('mousemove', onActivity);
@@ -104,27 +92,22 @@ function useActivityDetector() {
104
92
 
105
93
  var useAnimationFrame = function useAnimationFrame(onFrame) {
106
94
  var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
107
- _ref$disabled = _ref.disabled,
108
- disabled = _ref$disabled === void 0 ? false : _ref$disabled;
109
-
95
+ _ref$disabled = _ref.disabled,
96
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled;
110
97
  var requestRef = useRef(null);
111
98
  var startTimeRef = useRef(null);
112
-
113
99
  var callback = function callback(time) {
114
100
  if (!startTimeRef.current) {
115
101
  startTimeRef.current = time;
116
102
  }
117
-
118
103
  var progress = time - startTimeRef.current;
119
104
  onFrame(progress);
120
105
  requestRef.current = requestAnimationFrame(callback);
121
106
  };
122
-
123
107
  useEffect(function () {
124
108
  if (!disabled) {
125
109
  requestRef.current = requestAnimationFrame(callback);
126
110
  }
127
-
128
111
  return function () {
129
112
  if (requestRef.current !== null) {
130
113
  cancelAnimationFrame(requestRef.current);
@@ -135,16 +118,14 @@ var useAnimationFrame = function useAnimationFrame(onFrame) {
135
118
 
136
119
  var useFormattedDate = function useFormattedDate() {
137
120
  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
138
- _ref$format = _ref.format,
139
- format = _ref$format === void 0 ? null : _ref$format,
140
- _ref$showToday = _ref.showToday,
141
- showToday = _ref$showToday === void 0 ? true : _ref$showToday;
142
-
121
+ _ref$format = _ref.format,
122
+ format = _ref$format === void 0 ? null : _ref$format,
123
+ _ref$showToday = _ref.showToday,
124
+ showToday = _ref$showToday === void 0 ? true : _ref$showToday;
143
125
  var intl = useIntl();
144
126
  var today = dayjs();
145
127
  return useCallback(function (date) {
146
128
  var dateToFormat = isString(date) ? dayjs(date) : date;
147
-
148
129
  if (showToday && dateToFormat.format('YYYY-MM-DD') === today.format('YYYY-MM-DD')) {
149
130
  return intl.formatMessage({
150
131
  id: "v4Qtl9",
@@ -154,7 +135,6 @@ var useFormattedDate = function useFormattedDate() {
154
135
  }]
155
136
  });
156
137
  }
157
-
158
138
  return intl.formatDate(dayjs(date).toDate(), _objectSpread({
159
139
  year: 'numeric',
160
140
  month: 'long',
@@ -164,18 +144,16 @@ var useFormattedDate = function useFormattedDate() {
164
144
  };
165
145
  var useFormattedTime = function useFormattedTime() {
166
146
  var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
167
- _ref2$format = _ref2.format,
168
- format = _ref2$format === void 0 ? null : _ref2$format,
169
- _ref2$showNow = _ref2.showNow,
170
- showNow = _ref2$showNow === void 0 ? true : _ref2$showNow,
171
- _ref2$timeGap = _ref2.timeGap,
172
- timeGap = _ref2$timeGap === void 0 ? 2 : _ref2$timeGap;
173
-
147
+ _ref2$format = _ref2.format,
148
+ format = _ref2$format === void 0 ? null : _ref2$format,
149
+ _ref2$showNow = _ref2.showNow,
150
+ showNow = _ref2$showNow === void 0 ? true : _ref2$showNow,
151
+ _ref2$timeGap = _ref2.timeGap,
152
+ timeGap = _ref2$timeGap === void 0 ? 2 : _ref2$timeGap;
174
153
  var intl = useIntl();
175
154
  var now = dayjs();
176
155
  return useCallback(function (date) {
177
156
  var dateToFormat = isString(date) ? dayjs(date) : date;
178
-
179
157
  if (showNow && dateToFormat.format('YYYY-MM-DD') === now.format('YYYY-MM-DD') && dateToFormat.hour() === now.hour() && dateToFormat.minute() > now.minute() - timeGap && dateToFormat.minute() < now.minute() + timeGap) {
180
158
  return intl.formatMessage({
181
159
  id: "3na7F8",
@@ -185,7 +163,6 @@ var useFormattedTime = function useFormattedTime() {
185
163
  }]
186
164
  });
187
165
  }
188
-
189
166
  return intl.formatTime(dateToFormat.toDate(), _objectSpread({
190
167
  hour: 'numeric',
191
168
  minute: 'numeric'
@@ -212,74 +189,62 @@ var useDocumentEvent = createUseEvent(eventsManager$1);
212
189
 
213
190
  function useDragProgress() {
214
191
  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
215
- wantedProgress = _ref.progress,
216
- _ref$onTap = _ref.onTap,
217
- onTap = _ref$onTap === void 0 ? null : _ref$onTap,
218
- _ref$disabled = _ref.disabled,
219
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
220
- _ref$dragDisabled = _ref.dragDisabled,
221
- dragDisabled = _ref$dragDisabled === void 0 ? false : _ref$dragDisabled,
222
- _ref$computeProgress = _ref.computeProgress,
223
- computeProgress = _ref$computeProgress === void 0 ? null : _ref$computeProgress,
224
- _ref$onProgress = _ref.onProgress,
225
- onProgress = _ref$onProgress === void 0 ? null : _ref$onProgress,
226
- _ref$springParams = _ref.springParams,
227
- springParams = _ref$springParams === void 0 ? undefined : _ref$springParams,
228
- _ref$dragOptions = _ref.dragOptions,
229
- dragOptions = _ref$dragOptions === void 0 ? {
230
- filterTaps: true
231
- } : _ref$dragOptions;
232
-
192
+ wantedProgress = _ref.progress,
193
+ _ref$onTap = _ref.onTap,
194
+ onTap = _ref$onTap === void 0 ? null : _ref$onTap,
195
+ _ref$disabled = _ref.disabled,
196
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
197
+ _ref$dragDisabled = _ref.dragDisabled,
198
+ dragDisabled = _ref$dragDisabled === void 0 ? false : _ref$dragDisabled,
199
+ _ref$computeProgress = _ref.computeProgress,
200
+ computeProgress = _ref$computeProgress === void 0 ? null : _ref$computeProgress,
201
+ _ref$onProgress = _ref.onProgress,
202
+ onProgress = _ref$onProgress === void 0 ? null : _ref$onProgress,
203
+ _ref$springParams = _ref.springParams,
204
+ springParams = _ref$springParams === void 0 ? undefined : _ref$springParams,
205
+ _ref$dragOptions = _ref.dragOptions,
206
+ dragOptions = _ref$dragOptions === void 0 ? {
207
+ filterTaps: true
208
+ } : _ref$dragOptions;
233
209
  var refDragging = useRef(false);
234
210
  var refProgress = useRef(wantedProgress);
235
-
236
211
  var _useState = useState(false),
237
- _useState2 = _slicedToArray(_useState, 2),
238
- dragging = _useState2[0],
239
- setDragging = _useState2[1];
240
-
212
+ _useState2 = _slicedToArray(_useState, 2),
213
+ dragging = _useState2[0],
214
+ setDragging = _useState2[1];
241
215
  var spring = useCallback(function () {
242
216
  return _objectSpread({
243
217
  progress: wantedProgress,
244
218
  immediate: dragging || disabled
245
219
  }, springParams);
246
- }, []);
247
-
220
+ }, [wantedProgress, disabled]);
248
221
  var _useSpring = useSpring(spring),
249
- _useSpring2 = _slicedToArray(_useSpring, 2),
250
- progress = _useSpring2[0].progress,
251
- api = _useSpring2[1];
252
-
222
+ _useSpring2 = _slicedToArray(_useSpring, 2),
223
+ progress = _useSpring2[0].progress,
224
+ api = _useSpring2[1];
253
225
  var onDrag = useCallback(function (gestureState) {
226
+ var active = gestureState.active,
227
+ tap = gestureState.tap;
254
228
  if (disabled) {
255
229
  return;
256
230
  }
257
-
258
- var active = gestureState.active,
259
- tap = gestureState.tap;
260
-
261
231
  if (tap) {
262
232
  if (onTap !== null) onTap(gestureState);
263
233
  return;
264
234
  }
265
-
266
235
  if (dragDisabled) {
267
236
  return;
268
237
  }
269
-
270
238
  var newProgress = computeProgress(gestureState);
271
239
  refDragging.current = active;
272
240
  refProgress.current = newProgress;
273
-
274
241
  if (active !== dragging) {
275
242
  setDragging(active);
276
243
  }
277
-
278
244
  api.start({
279
245
  progress: newProgress,
280
246
  immediate: active
281
247
  });
282
-
283
248
  if (onProgress !== null) {
284
249
  onProgress(newProgress, gestureState);
285
250
  }
@@ -302,29 +267,27 @@ function useDragProgress() {
302
267
  }
303
268
 
304
269
  var _excluded$3 = ["fields", "injectInFields"],
305
- _excluded2 = ["fields"];
270
+ _excluded2 = ["fields"];
306
271
 
272
+ // eslint-disable-next-line
307
273
  var useForm = function useForm() {
308
274
  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
309
- _ref$fields = _ref.fields,
310
- providedFields = _ref$fields === void 0 ? [] : _ref$fields,
311
- _ref$injectInFields = _ref.injectInFields,
312
- injectInFields = _ref$injectInFields === void 0 ? false : _ref$injectInFields,
313
- opts = _objectWithoutProperties(_ref, _excluded$3);
314
-
275
+ _ref$fields = _ref.fields,
276
+ providedFields = _ref$fields === void 0 ? [] : _ref$fields,
277
+ _ref$injectInFields = _ref.injectInFields,
278
+ injectInFields = _ref$injectInFields === void 0 ? false : _ref$injectInFields,
279
+ opts = _objectWithoutProperties(_ref, _excluded$3);
315
280
  var fieldsNames = useMemo(function () {
316
281
  return providedFields.length > 0 ? providedFields.map(function (_ref2) {
317
282
  var name = _ref2.name;
318
283
  return name;
319
284
  }) : [];
320
285
  }, [providedFields]);
321
-
322
286
  var _useBaseForm = useForm$1(_objectSpread({
323
- fields: fieldsNames
324
- }, opts)),
325
- fields = _useBaseForm.fields,
326
- form = _objectWithoutProperties(_useBaseForm, _excluded2);
327
-
287
+ fields: fieldsNames
288
+ }, opts)),
289
+ fields = _useBaseForm.fields,
290
+ form = _objectWithoutProperties(_useBaseForm, _excluded2);
328
291
  return _objectSpread(_objectSpread({}, form), {}, {
329
292
  fields: injectInFields ? providedFields.map(function (it) {
330
293
  return _objectSpread(_objectSpread({}, it), fields[it.name] || null);
@@ -338,18 +301,15 @@ var useFormTransition = function useFormTransition() {
338
301
  var lastPageRef = useRef(paths || []);
339
302
  var direction = useMemo(function () {
340
303
  var currentPartsCount = paths.length;
341
-
342
304
  if (lastPageRef.current) {
343
305
  var previousPartsCount = lastPageRef.current.length;
344
306
  lastPageRef.current = paths || [];
345
307
  return currentPartsCount > previousPartsCount ? 'right' : 'left';
346
308
  }
347
-
348
309
  return null;
349
310
  }, [paths]);
350
311
  var name = useMemo(function () {
351
312
  var _classNames, _classNames2, _classNames3;
352
-
353
313
  return {
354
314
  enter: classNames((_classNames = {}, _defineProperty(_classNames, styles.enterRight, direction === 'right'), _defineProperty(_classNames, styles.enterLeft, direction === 'left'), _defineProperty(_classNames, styles.enterTop, direction === 'top'), _defineProperty(_classNames, styles.enterBottom, direction === 'bottom'), _classNames)) || 'none',
355
315
  enterActive: classNames((_classNames2 = {}, _defineProperty(_classNames2, styles.enterActiveHorizontal, direction === 'left' || direction === 'right'), _defineProperty(_classNames2, styles.enterActiveVertical, direction === 'top' || direction === 'bottom'), _classNames2)) || 'none',
@@ -366,12 +326,10 @@ var useFormTransition = function useFormTransition() {
366
326
 
367
327
  var useFullscreen = function useFullscreen(element) {
368
328
  var enabled = screenfull.isEnabled;
369
-
370
329
  var _useState = useState(false),
371
- _useState2 = _slicedToArray(_useState, 2),
372
- active = _useState2[0],
373
- setActive = _useState2[1];
374
-
330
+ _useState2 = _slicedToArray(_useState, 2),
331
+ active = _useState2[0],
332
+ setActive = _useState2[1];
375
333
  var fullscreen = useCallback(function () {
376
334
  if (screenfull.isEnabled) {
377
335
  if (typeof element !== 'undefined' && element !== null) {
@@ -397,11 +355,9 @@ var useFullscreen = function useFullscreen(element) {
397
355
  var onChange = function onChange() {
398
356
  setActive(screenfull.isFullscreen);
399
357
  };
400
-
401
358
  if (screenfull.isEnabled) {
402
359
  screenfull.on('change', onChange);
403
360
  }
404
-
405
361
  return function () {
406
362
  if (screenfull.isEnabled) {
407
363
  screenfull.off('change', onChange);
@@ -418,31 +374,25 @@ var useFullscreen = function useFullscreen(element) {
418
374
  };
419
375
 
420
376
  var _excluded$2 = ["entry"];
421
-
422
377
  var buildThresholdArray = function buildThresholdArray() {
423
378
  return [0, 1.0];
424
379
  };
425
-
426
380
  var observersCache = new Map();
427
-
428
381
  var getOptionsKey = function getOptionsKey(_ref) {
429
382
  var _ref$root = _ref.root,
430
- root = _ref$root === void 0 ? null : _ref$root,
431
- rootMargin = _ref.rootMargin,
432
- _ref$threshold = _ref.threshold,
433
- threshold = _ref$threshold === void 0 ? null : _ref$threshold;
383
+ root = _ref$root === void 0 ? null : _ref$root,
384
+ rootMargin = _ref.rootMargin,
385
+ _ref$threshold = _ref.threshold,
386
+ threshold = _ref$threshold === void 0 ? null : _ref$threshold;
434
387
  return "root_".concat(root, "_rootMargin_").concat(rootMargin || null, "_threshold_").concat(threshold);
435
388
  };
436
-
437
389
  var createObserver = function createObserver(Observer) {
438
390
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
439
391
  var subscribers = [];
440
-
441
392
  var addSubscriber = function addSubscriber(element, callback) {
442
393
  var currentSubscriber = subscribers.find(function (it) {
443
394
  return it.element === element;
444
395
  }) || null;
445
-
446
396
  if (currentSubscriber !== null) {
447
397
  return subscribers.map(function (it) {
448
398
  return it.element === element && it.callbacks.indexOf(callback) === -1 ? _objectSpread(_objectSpread({}, it), {}, {
@@ -452,13 +402,11 @@ var createObserver = function createObserver(Observer) {
452
402
  return it.callbacks.length > 0;
453
403
  });
454
404
  }
455
-
456
405
  return [].concat(_toConsumableArray(subscribers), [{
457
406
  element: element,
458
407
  callbacks: [callback]
459
408
  }]);
460
409
  };
461
-
462
410
  var removeSubscriber = function removeSubscriber(element, callback) {
463
411
  return subscribers.map(function (it) {
464
412
  return it.element === element ? _objectSpread(_objectSpread({}, it), {}, {
@@ -470,13 +418,11 @@ var createObserver = function createObserver(Observer) {
470
418
  return it.callbacks.length > 0;
471
419
  });
472
420
  };
473
-
474
421
  var onUpdate = function onUpdate(entries) {
475
422
  entries.forEach(function (entry) {
476
423
  subscribers.forEach(function (_ref2) {
477
424
  var element = _ref2.element,
478
- callbacks = _ref2.callbacks;
479
-
425
+ callbacks = _ref2.callbacks;
480
426
  if (element === entry.target) {
481
427
  callbacks.forEach(function (callback) {
482
428
  callback(entry);
@@ -485,13 +431,10 @@ var createObserver = function createObserver(Observer) {
485
431
  });
486
432
  });
487
433
  };
488
-
489
434
  var observer = new Observer(onUpdate, options);
490
-
491
435
  var unsubscribe = function unsubscribe(element) {
492
436
  var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
493
437
  subscribers = removeSubscriber(element, callback);
494
-
495
438
  if (typeof observer.unobserve === 'undefined') {
496
439
  observer.disconnect();
497
440
  subscribers.forEach(function (subscriber) {
@@ -499,103 +442,82 @@ var createObserver = function createObserver(Observer) {
499
442
  });
500
443
  return;
501
444
  }
502
-
503
445
  var currentSubscriber = subscribers.find(function (it) {
504
446
  return it.element === element;
505
447
  }) || null;
506
-
507
448
  if (currentSubscriber === null) {
508
449
  observer.unobserve(element);
509
450
  }
510
451
  };
511
-
512
452
  var subscribe = function subscribe(element, callback) {
513
453
  var currentSubscriber = subscribers.find(function (it) {
514
454
  return it.element === element;
515
455
  }) || null;
516
456
  subscribers = addSubscriber(element, callback);
517
-
518
457
  if (currentSubscriber === null) {
519
458
  observer.observe(element);
520
459
  }
521
460
  };
522
-
523
461
  return {
524
462
  subscribe: subscribe,
525
463
  unsubscribe: unsubscribe,
526
464
  observer: observer
527
465
  };
528
466
  };
529
-
530
467
  var getObserver = function getObserver(Observer) {
531
468
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
532
469
  var observerKey = getOptionsKey(options);
533
-
534
470
  if (!observersCache.has(Observer)) {
535
471
  observersCache.set(Observer, {});
536
472
  }
537
-
538
473
  var observers = observersCache.get(Observer);
539
-
540
474
  if (typeof observers[observerKey] === 'undefined') {
541
475
  observers[observerKey] = createObserver(Observer, options);
542
476
  observersCache.set(Observer, observers);
543
477
  }
544
-
545
478
  return observers[observerKey];
546
479
  };
547
480
  var useObserver = function useObserver(Observer) {
548
481
  var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
549
482
  var initialEntry = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
550
483
  var _opts$root = opts.root,
551
- root = _opts$root === void 0 ? null : _opts$root,
552
- _opts$rootMargin = opts.rootMargin,
553
- rootMargin = _opts$rootMargin === void 0 ? null : _opts$rootMargin,
554
- _opts$threshold = opts.threshold,
555
- threshold = _opts$threshold === void 0 ? null : _opts$threshold,
556
- _opts$disabled = opts.disabled,
557
- disabled = _opts$disabled === void 0 ? false : _opts$disabled;
558
-
484
+ root = _opts$root === void 0 ? null : _opts$root,
485
+ _opts$rootMargin = opts.rootMargin,
486
+ rootMargin = _opts$rootMargin === void 0 ? null : _opts$rootMargin,
487
+ _opts$threshold = opts.threshold,
488
+ threshold = _opts$threshold === void 0 ? null : _opts$threshold,
489
+ _opts$disabled = opts.disabled,
490
+ disabled = _opts$disabled === void 0 ? false : _opts$disabled;
559
491
  var _useState = useState(initialEntry),
560
- _useState2 = _slicedToArray(_useState, 2),
561
- entry = _useState2[0],
562
- setEntry = _useState2[1];
563
-
492
+ _useState2 = _slicedToArray(_useState, 2),
493
+ entry = _useState2[0],
494
+ setEntry = _useState2[1];
564
495
  var nodeRef = useRef(null);
565
496
  var currentElement = useRef(null);
566
497
  var elementChanged = nodeRef.current !== currentElement.current;
567
498
  useEffect(function () {
568
499
  var nodeElement = nodeRef.current;
569
-
570
500
  var callback = function callback(newEntry) {
571
501
  return setEntry(newEntry);
572
502
  };
573
-
574
503
  var unsubscribe = null;
575
-
576
504
  if (nodeElement !== null) {
577
505
  var newOpts = {};
578
-
579
506
  if (root !== null) {
580
507
  newOpts.root = root;
581
508
  }
582
-
583
509
  if (rootMargin !== null) {
584
510
  newOpts.rootMargin = rootMargin;
585
511
  }
586
-
587
512
  if (threshold !== null) {
588
513
  newOpts.threshold = threshold;
589
514
  }
590
-
591
515
  var _getObserver = getObserver(Observer, newOpts),
592
- subscribe = _getObserver.subscribe,
593
- localUnsubscribe = _getObserver.unsubscribe;
594
-
516
+ subscribe = _getObserver.subscribe,
517
+ localUnsubscribe = _getObserver.unsubscribe;
595
518
  unsubscribe = localUnsubscribe;
596
519
  subscribe(nodeElement, callback);
597
520
  }
598
-
599
521
  currentElement.current = nodeElement;
600
522
  return function () {
601
523
  if (unsubscribe !== null) {
@@ -608,10 +530,10 @@ var useObserver = function useObserver(Observer) {
608
530
  entry: entry
609
531
  };
610
532
  };
533
+
611
534
  /**
612
535
  * Intersection Observer
613
536
  */
614
-
615
537
  var thresholdArray = buildThresholdArray();
616
538
  var intersectionObserverInitialEntry = {
617
539
  target: null,
@@ -625,15 +547,14 @@ var intersectionObserverInitialEntry = {
625
547
  };
626
548
  var useIntersectionObserver = function useIntersectionObserver() {
627
549
  var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
628
- _ref3$root = _ref3.root,
629
- root = _ref3$root === void 0 ? null : _ref3$root,
630
- _ref3$rootMargin = _ref3.rootMargin,
631
- rootMargin = _ref3$rootMargin === void 0 ? '0px' : _ref3$rootMargin,
632
- _ref3$threshold = _ref3.threshold,
633
- threshold = _ref3$threshold === void 0 ? thresholdArray : _ref3$threshold,
634
- _ref3$disabled = _ref3.disabled,
635
- disabled = _ref3$disabled === void 0 ? false : _ref3$disabled;
636
-
550
+ _ref3$root = _ref3.root,
551
+ root = _ref3$root === void 0 ? null : _ref3$root,
552
+ _ref3$rootMargin = _ref3.rootMargin,
553
+ rootMargin = _ref3$rootMargin === void 0 ? '0px' : _ref3$rootMargin,
554
+ _ref3$threshold = _ref3.threshold,
555
+ threshold = _ref3$threshold === void 0 ? thresholdArray : _ref3$threshold,
556
+ _ref3$disabled = _ref3.disabled,
557
+ disabled = _ref3$disabled === void 0 ? false : _ref3$disabled;
637
558
  return useObserver(typeof window !== 'undefined' ? IntersectionObserver : null, {
638
559
  root: root,
639
560
  rootMargin: rootMargin,
@@ -641,10 +562,10 @@ var useIntersectionObserver = function useIntersectionObserver() {
641
562
  disabled: disabled
642
563
  }, intersectionObserverInitialEntry);
643
564
  };
565
+
644
566
  /**
645
567
  * Resize Observer
646
568
  */
647
-
648
569
  var resizeObserverInitialEntry = {
649
570
  target: null,
650
571
  contentRect: null,
@@ -653,36 +574,31 @@ var resizeObserverInitialEntry = {
653
574
  };
654
575
  var useResizeObserver = function useResizeObserver() {
655
576
  var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
656
- _ref4$disabled = _ref4.disabled,
657
- disabled = _ref4$disabled === void 0 ? false : _ref4$disabled;
658
-
577
+ _ref4$disabled = _ref4.disabled,
578
+ disabled = _ref4$disabled === void 0 ? false : _ref4$disabled;
659
579
  return useObserver(typeof window !== 'undefined' ? ResizeObserver : null, {
660
580
  disabled: disabled
661
581
  }, resizeObserverInitialEntry);
662
582
  };
663
583
  var useDimensionObserver = function useDimensionObserver() {
664
584
  var _useResizeObserver = useResizeObserver.apply(void 0, arguments),
665
- entry = _useResizeObserver.entry,
666
- rest = _objectWithoutProperties(_useResizeObserver, _excluded$2);
667
-
585
+ entry = _useResizeObserver.entry,
586
+ rest = _objectWithoutProperties(_useResizeObserver, _excluded$2);
668
587
  var _ref5 = entry || {},
669
- _ref5$contentRect = _ref5.contentRect,
670
- contentRect = _ref5$contentRect === void 0 ? null : _ref5$contentRect,
671
- _ref5$borderBoxSize = _ref5.borderBoxSize,
672
- borderBoxSize = _ref5$borderBoxSize === void 0 ? null : _ref5$borderBoxSize;
673
-
588
+ _ref5$contentRect = _ref5.contentRect,
589
+ contentRect = _ref5$contentRect === void 0 ? null : _ref5$contentRect,
590
+ _ref5$borderBoxSize = _ref5.borderBoxSize,
591
+ borderBoxSize = _ref5$borderBoxSize === void 0 ? null : _ref5$borderBoxSize;
674
592
  var _ref6 = contentRect || {},
675
- _ref6$width = _ref6.width,
676
- width = _ref6$width === void 0 ? 0 : _ref6$width,
677
- _ref6$height = _ref6.height,
678
- height = _ref6$height === void 0 ? 0 : _ref6$height;
679
-
593
+ _ref6$width = _ref6.width,
594
+ width = _ref6$width === void 0 ? 0 : _ref6$width,
595
+ _ref6$height = _ref6.height,
596
+ height = _ref6$height === void 0 ? 0 : _ref6$height;
680
597
  var _ref7 = isArray(borderBoxSize) ? borderBoxSize[0] || {} : borderBoxSize || {},
681
- _ref7$blockSize = _ref7.blockSize,
682
- blockSize = _ref7$blockSize === void 0 ? null : _ref7$blockSize,
683
- _ref7$inlineSize = _ref7.inlineSize,
684
- inlineSize = _ref7$inlineSize === void 0 ? null : _ref7$inlineSize;
685
-
598
+ _ref7$blockSize = _ref7.blockSize,
599
+ blockSize = _ref7$blockSize === void 0 ? null : _ref7$blockSize,
600
+ _ref7$inlineSize = _ref7.inlineSize,
601
+ inlineSize = _ref7$inlineSize === void 0 ? null : _ref7$inlineSize;
686
602
  return _objectSpread(_objectSpread({}, rest), {}, {
687
603
  entry: entry,
688
604
  width: inlineSize || width,
@@ -692,25 +608,21 @@ var useDimensionObserver = function useDimensionObserver() {
692
608
 
693
609
  var useIsVisible = function useIsVisible() {
694
610
  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
695
- rootMargin = _ref.rootMargin,
696
- _ref$threshold = _ref.threshold,
697
- threshold = _ref$threshold === void 0 ? 1 : _ref$threshold,
698
- _ref$persist = _ref.persist,
699
- persist = _ref$persist === void 0 ? false : _ref$persist;
700
-
611
+ rootMargin = _ref.rootMargin,
612
+ _ref$threshold = _ref.threshold,
613
+ threshold = _ref$threshold === void 0 ? 1 : _ref$threshold,
614
+ _ref$persist = _ref.persist,
615
+ persist = _ref$persist === void 0 ? false : _ref$persist;
701
616
  var _useIntersectionObser = useIntersectionObserver({
702
- rootMargin: rootMargin,
703
- threshold: threshold
704
- }),
705
- ref = _useIntersectionObser.ref,
706
- isIntersecting = _useIntersectionObser.entry.isIntersecting;
707
-
617
+ rootMargin: rootMargin,
618
+ threshold: threshold
619
+ }),
620
+ ref = _useIntersectionObser.ref,
621
+ isIntersecting = _useIntersectionObser.entry.isIntersecting;
708
622
  var wasIntersecting = useRef(isIntersecting);
709
-
710
623
  if (isIntersecting && !wasIntersecting.current) {
711
624
  wasIntersecting.current = isIntersecting;
712
625
  }
713
-
714
626
  var isVisible = !persist && isIntersecting || persist && wasIntersecting.current;
715
627
  return {
716
628
  ref: ref,
@@ -722,52 +634,44 @@ var fontsMap = {
722
634
  loading: [],
723
635
  active: []
724
636
  };
725
-
726
637
  var isFontLoading = function isFontLoading(name) {
727
638
  return fontsMap.loading.indexOf(name) !== -1;
728
639
  };
729
-
730
640
  var isFontActive = function isFontActive(name) {
731
641
  return fontsMap.active.indexOf(name) !== -1;
732
642
  };
733
-
734
643
  var addFontLoading = function addFontLoading(name) {
735
644
  fontsMap.active = fontsMap.active.filter(function (it) {
736
645
  return it !== name;
737
646
  });
738
647
  fontsMap.loading = [].concat(_toConsumableArray(fontsMap.loading), [name]);
739
648
  };
740
-
741
649
  var removeFontLoading = function removeFontLoading(name) {
742
650
  fontsMap.loading = fontsMap.loading.filter(function (it) {
743
651
  return it !== name;
744
652
  });
745
653
  };
746
-
747
654
  var addFontActive = function addFontActive(name) {
748
655
  fontsMap.loading = fontsMap.loading.filter(function (it) {
749
656
  return it !== name;
750
657
  });
751
658
  fontsMap.active = [].concat(_toConsumableArray(fontsMap.active), [name]);
752
659
  };
753
-
754
660
  var useLoadedFonts = function useLoadedFonts(fonts) {
755
661
  var _useState = useState(false),
756
- _useState2 = _slicedToArray(_useState, 2),
757
- loaded = _useState2[0],
758
- setLoaded = _useState2[1];
759
-
662
+ _useState2 = _slicedToArray(_useState, 2),
663
+ loaded = _useState2[0],
664
+ setLoaded = _useState2[1];
760
665
  useEffect(function () {
761
666
  var config = fonts.reduce(function (newConfig, font) {
762
667
  var _ref = isObject(font) ? font : {
763
- type: 'system',
764
- name: font
765
- },
766
- type = _ref.type,
767
- name = _ref.name,
768
- _ref$variants = _ref.variants,
769
- variants = _ref$variants === void 0 ? [] : _ref$variants;
770
-
668
+ type: 'system',
669
+ name: font
670
+ },
671
+ type = _ref.type,
672
+ name = _ref.name,
673
+ _ref$variants = _ref.variants,
674
+ variants = _ref$variants === void 0 ? [] : _ref$variants;
771
675
  if ((type === 'google' || type === 'custom') && !isFontLoading(name) && !isFontActive(name)) {
772
676
  return _objectSpread(_objectSpread({}, newConfig), {}, _defineProperty({}, type, {
773
677
  families: [].concat(_toConsumableArray(newConfig !== null ? (newConfig[type] || {}).families || [] : []), [type === 'google' ? [name, (variants || []).filter(function (it) {
@@ -778,11 +682,11 @@ var useLoadedFonts = function useLoadedFonts(fonts) {
778
682
  fvd: 'n4'
779
683
  }].concat(_toConsumableArray(variants)) : []).map(function (_ref2) {
780
684
  var _ref2$fvd = _ref2.fvd,
781
- fvd = _ref2$fvd === void 0 ? null : _ref2$fvd,
782
- _ref2$weight = _ref2.weight,
783
- weight = _ref2$weight === void 0 ? null : _ref2$weight,
784
- _ref2$style = _ref2.style,
785
- style = _ref2$style === void 0 ? null : _ref2$style;
685
+ fvd = _ref2$fvd === void 0 ? null : _ref2$fvd,
686
+ _ref2$weight = _ref2.weight,
687
+ weight = _ref2$weight === void 0 ? null : _ref2$weight,
688
+ _ref2$style = _ref2.style,
689
+ style = _ref2$style === void 0 ? null : _ref2$style;
786
690
  return fvd || [style, weight].filter(function (it) {
787
691
  return it !== null;
788
692
  }).map(function (it) {
@@ -795,11 +699,9 @@ var useLoadedFonts = function useLoadedFonts(fonts) {
795
699
  }).join(':')])
796
700
  }));
797
701
  }
798
-
799
702
  return newConfig;
800
703
  }, null);
801
704
  var hasConfig = config !== null;
802
-
803
705
  if (hasConfig && typeof window !== 'undefined') {
804
706
  import('webfontloader').then(function (_ref3) {
805
707
  var WebFont = _ref3["default"];
@@ -831,73 +733,60 @@ var useLoadedFonts = function useLoadedFonts(fonts) {
831
733
  var isTouchEvent = function isTouchEvent(event) {
832
734
  return 'touches' in event;
833
735
  };
834
-
835
736
  var preventDefault = function preventDefault(event) {
836
737
  if (!isTouchEvent(event)) return false;
837
-
838
738
  if (event.touches.length < 2 && event.preventDefault) {
839
739
  event.preventDefault();
840
740
  }
841
-
842
741
  return false;
843
742
  };
844
-
845
743
  var preventClickDefault = function preventClickDefault(e) {
846
744
  if (e.preventDefault) {
847
745
  e.preventDefault();
848
746
  }
849
-
850
747
  if (e.stopPropagation) {
851
748
  e.stopPropagation();
852
749
  }
853
750
  };
854
-
855
751
  var useLongPress = function useLongPress() {
856
752
  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
857
- _ref$onLongPress = _ref.onLongPress,
858
- onLongPress = _ref$onLongPress === void 0 ? null : _ref$onLongPress,
859
- _ref$onLongPressStart = _ref.onLongPressStart,
860
- onLongPressStart = _ref$onLongPressStart === void 0 ? null : _ref$onLongPressStart,
861
- _ref$onLongPressEnd = _ref.onLongPressEnd,
862
- onLongPressEnd = _ref$onLongPressEnd === void 0 ? null : _ref$onLongPressEnd,
863
- _ref$onClick = _ref.onClick,
864
- onClick = _ref$onClick === void 0 ? null : _ref$onClick,
865
- _ref$shouldPreventDef = _ref.shouldPreventDefault,
866
- shouldPreventDefault = _ref$shouldPreventDef === void 0 ? true : _ref$shouldPreventDef,
867
- _ref$shouldStopPropag = _ref.shouldStopPropagation,
868
- shouldStopPropagation = _ref$shouldStopPropag === void 0 ? false : _ref$shouldStopPropag,
869
- _ref$preventClick = _ref.preventClick,
870
- preventClick = _ref$preventClick === void 0 ? false : _ref$preventClick,
871
- _ref$delay = _ref.delay,
872
- delay = _ref$delay === void 0 ? 350 : _ref$delay;
873
-
753
+ _ref$onLongPress = _ref.onLongPress,
754
+ onLongPress = _ref$onLongPress === void 0 ? null : _ref$onLongPress,
755
+ _ref$onLongPressStart = _ref.onLongPressStart,
756
+ onLongPressStart = _ref$onLongPressStart === void 0 ? null : _ref$onLongPressStart,
757
+ _ref$onLongPressEnd = _ref.onLongPressEnd,
758
+ onLongPressEnd = _ref$onLongPressEnd === void 0 ? null : _ref$onLongPressEnd,
759
+ _ref$onClick = _ref.onClick,
760
+ onClick = _ref$onClick === void 0 ? null : _ref$onClick,
761
+ _ref$shouldPreventDef = _ref.shouldPreventDefault,
762
+ shouldPreventDefault = _ref$shouldPreventDef === void 0 ? true : _ref$shouldPreventDef,
763
+ _ref$shouldStopPropag = _ref.shouldStopPropagation,
764
+ shouldStopPropagation = _ref$shouldStopPropag === void 0 ? false : _ref$shouldStopPropag,
765
+ _ref$preventClick = _ref.preventClick,
766
+ preventClick = _ref$preventClick === void 0 ? false : _ref$preventClick,
767
+ _ref$delay = _ref.delay,
768
+ delay = _ref$delay === void 0 ? 350 : _ref$delay;
874
769
  var _useState = useState(false),
875
- _useState2 = _slicedToArray(_useState, 2),
876
- pressed = _useState2[0],
877
- setPressed = _useState2[1];
878
-
770
+ _useState2 = _slicedToArray(_useState, 2),
771
+ pressed = _useState2[0],
772
+ setPressed = _useState2[1];
879
773
  var _useState3 = useState(false),
880
- _useState4 = _slicedToArray(_useState3, 2),
881
- triggered = _useState4[0],
882
- setTriggered = _useState4[1];
883
-
774
+ _useState4 = _slicedToArray(_useState3, 2),
775
+ triggered = _useState4[0],
776
+ setTriggered = _useState4[1];
884
777
  var timeout = useRef(null);
885
778
  var target = useRef(null);
886
779
  var start = useCallback(function (event, props) {
887
780
  setPressed(true);
888
-
889
781
  if (shouldStopPropagation) {
890
782
  event.stopPropagation();
891
783
  }
892
-
893
784
  if (event.target !== null) {
894
785
  target.current = event.target;
895
786
  }
896
-
897
787
  if (onLongPressStart !== null) {
898
788
  onLongPressStart(event, props);
899
789
  }
900
-
901
790
  timeout.current = setTimeout(function () {
902
791
  if (shouldPreventDefault && target.current !== null) {
903
792
  target.current.addEventListener('touchend', preventDefault, {
@@ -907,25 +796,20 @@ var useLongPress = function useLongPress() {
907
796
  passive: false
908
797
  });
909
798
  }
910
-
911
799
  setTriggered(true);
912
-
913
800
  if (onLongPress !== null) {
914
801
  onLongPress(event, props);
915
802
  setPressed(false);
916
803
  }
917
-
918
804
  timeout.current = null;
919
805
  }, delay);
920
806
  }, [onLongPress, onLongPressStart, delay, setPressed, shouldPreventDefault]);
921
807
  var clear = useCallback(function (event, props) {
922
808
  var shouldTriggerClick = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
923
809
  setPressed(false);
924
-
925
810
  if (preventClick && triggered) {
926
811
  return;
927
812
  }
928
-
929
813
  if (timeout.current !== null) {
930
814
  clearTimeout(timeout.current);
931
815
  } else if (shouldPreventDefault && target.current !== null) {
@@ -935,15 +819,12 @@ var useLongPress = function useLongPress() {
935
819
  target.current.removeEventListener('click', preventClickDefault);
936
820
  }, 10);
937
821
  }
938
-
939
822
  if (shouldTriggerClick && !triggered && onClick !== null) {
940
823
  onClick(props);
941
824
  }
942
-
943
825
  onLongPressEnd(event, props, triggered);
944
826
  setTriggered(false);
945
827
  }, [shouldPreventDefault, onClick, onLongPressEnd, setPressed, triggered, preventClick]);
946
-
947
828
  var bind = function bind() {
948
829
  var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
949
830
  return {
@@ -964,7 +845,6 @@ var useLongPress = function useLongPress() {
964
845
  }
965
846
  };
966
847
  };
967
-
968
848
  return {
969
849
  bind: bind,
970
850
  pressed: pressed,
@@ -973,97 +853,86 @@ var useLongPress = function useLongPress() {
973
853
  };
974
854
 
975
855
  var progressSteps = [0.1, 0.25, 0.5, 0.75, 0.9];
976
-
977
856
  var useMediaApi = function useMediaApi() {
978
857
  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
979
- _ref$url = _ref.url,
980
- url = _ref$url === void 0 ? null : _ref$url,
981
- _ref$onTimeUpdate = _ref.onTimeUpdate,
982
- onTimeUpdate = _ref$onTimeUpdate === void 0 ? null : _ref$onTimeUpdate,
983
- _ref$onProgressStep = _ref.onProgressStep,
984
- onProgressStep = _ref$onProgressStep === void 0 ? null : _ref$onProgressStep,
985
- _ref$onDurationChange = _ref.onDurationChange,
986
- onDurationChange = _ref$onDurationChange === void 0 ? null : _ref$onDurationChange,
987
- _ref$onVolumeChange = _ref.onVolumeChange,
988
- onVolumeChange = _ref$onVolumeChange === void 0 ? null : _ref$onVolumeChange,
989
- _ref$onPlay = _ref.onPlay,
990
- onPlay = _ref$onPlay === void 0 ? null : _ref$onPlay,
991
- _ref$onPause = _ref.onPause,
992
- onPause = _ref$onPause === void 0 ? null : _ref$onPause,
993
- _ref$onEnded = _ref.onEnded,
994
- onEnded = _ref$onEnded === void 0 ? null : _ref$onEnded,
995
- _ref$onSeeked = _ref.onSeeked,
996
- onSeeked = _ref$onSeeked === void 0 ? null : _ref$onSeeked,
997
- _ref$onSuspend = _ref.onSuspend,
998
- onSuspend = _ref$onSuspend === void 0 ? null : _ref$onSuspend,
999
- _ref$onLoadStart = _ref.onLoadStart,
1000
- onLoadStart = _ref$onLoadStart === void 0 ? null : _ref$onLoadStart,
1001
- _ref$onCanPlayThough = _ref.onCanPlayThough,
1002
- onCanPlayThough = _ref$onCanPlayThough === void 0 ? null : _ref$onCanPlayThough,
1003
- _ref$onCanPlay = _ref.onCanPlay,
1004
- onCanPlay = _ref$onCanPlay === void 0 ? null : _ref$onCanPlay,
1005
- _ref$onLoadedData = _ref.onLoadedData,
1006
- onLoadedData = _ref$onLoadedData === void 0 ? null : _ref$onLoadedData,
1007
- _ref$onLoadedMetadata = _ref.onLoadedMetadata,
1008
- onLoadedMetadata = _ref$onLoadedMetadata === void 0 ? null : _ref$onLoadedMetadata;
1009
-
858
+ _ref$url = _ref.url,
859
+ url = _ref$url === void 0 ? null : _ref$url,
860
+ _ref$onTimeUpdate = _ref.onTimeUpdate,
861
+ onTimeUpdate = _ref$onTimeUpdate === void 0 ? null : _ref$onTimeUpdate,
862
+ _ref$onProgressStep = _ref.onProgressStep,
863
+ onProgressStep = _ref$onProgressStep === void 0 ? null : _ref$onProgressStep,
864
+ _ref$onDurationChange = _ref.onDurationChange,
865
+ onDurationChange = _ref$onDurationChange === void 0 ? null : _ref$onDurationChange,
866
+ _ref$onVolumeChange = _ref.onVolumeChange,
867
+ onVolumeChange = _ref$onVolumeChange === void 0 ? null : _ref$onVolumeChange,
868
+ _ref$onPlay = _ref.onPlay,
869
+ onPlay = _ref$onPlay === void 0 ? null : _ref$onPlay,
870
+ _ref$onPause = _ref.onPause,
871
+ onPause = _ref$onPause === void 0 ? null : _ref$onPause,
872
+ _ref$onEnded = _ref.onEnded,
873
+ onEnded = _ref$onEnded === void 0 ? null : _ref$onEnded,
874
+ _ref$onSeeked = _ref.onSeeked,
875
+ onSeeked = _ref$onSeeked === void 0 ? null : _ref$onSeeked,
876
+ _ref$onSuspend = _ref.onSuspend,
877
+ onSuspend = _ref$onSuspend === void 0 ? null : _ref$onSuspend,
878
+ _ref$onLoadStart = _ref.onLoadStart,
879
+ onLoadStart = _ref$onLoadStart === void 0 ? null : _ref$onLoadStart,
880
+ _ref$onCanPlayThough = _ref.onCanPlayThough,
881
+ onCanPlayThough = _ref$onCanPlayThough === void 0 ? null : _ref$onCanPlayThough,
882
+ _ref$onCanPlay = _ref.onCanPlay,
883
+ onCanPlay = _ref$onCanPlay === void 0 ? null : _ref$onCanPlay,
884
+ _ref$onLoadedData = _ref.onLoadedData,
885
+ onLoadedData = _ref$onLoadedData === void 0 ? null : _ref$onLoadedData,
886
+ _ref$onLoadedMetadata = _ref.onLoadedMetadata,
887
+ onLoadedMetadata = _ref$onLoadedMetadata === void 0 ? null : _ref$onLoadedMetadata;
1010
888
  var ref = useRef(null);
1011
-
1012
889
  var _useState = useState(null),
1013
- _useState2 = _slicedToArray(_useState, 2),
1014
- currentTime = _useState2[0],
1015
- setCurrentTime = _useState2[1];
1016
-
890
+ _useState2 = _slicedToArray(_useState, 2),
891
+ currentTime = _useState2[0],
892
+ setCurrentTime = _useState2[1];
1017
893
  var _useState3 = useState(null),
1018
- _useState4 = _slicedToArray(_useState3, 2),
1019
- duration = _useState4[0],
1020
- setDuration = _useState4[1];
1021
-
894
+ _useState4 = _slicedToArray(_useState3, 2),
895
+ duration = _useState4[0],
896
+ setDuration = _useState4[1];
1022
897
  var _useState5 = useState(false),
1023
- _useState6 = _slicedToArray(_useState5, 2),
1024
- playing = _useState6[0],
1025
- setPlaying = _useState6[1];
1026
-
898
+ _useState6 = _slicedToArray(_useState5, 2),
899
+ playing = _useState6[0],
900
+ setPlaying = _useState6[1];
1027
901
  var _useState7 = useState(false),
1028
- _useState8 = _slicedToArray(_useState7, 2),
1029
- ready = _useState8[0],
1030
- setReady = _useState8[1];
1031
-
902
+ _useState8 = _slicedToArray(_useState7, 2),
903
+ ready = _useState8[0],
904
+ setReady = _useState8[1];
1032
905
  var _useState9 = useState(false),
1033
- _useState10 = _slicedToArray(_useState9, 2),
1034
- dataReady = _useState10[0],
1035
- setDataReady = _useState10[1];
1036
-
906
+ _useState10 = _slicedToArray(_useState9, 2),
907
+ dataReady = _useState10[0],
908
+ setDataReady = _useState10[1];
1037
909
  var _useState11 = useState(true),
1038
- _useState12 = _slicedToArray(_useState11, 2),
1039
- initialPlay = _useState12[0],
1040
- setInitialPlay = _useState12[1];
1041
-
910
+ _useState12 = _slicedToArray(_useState11, 2),
911
+ initialPlay = _useState12[0],
912
+ setInitialPlay = _useState12[1];
1042
913
  var _useState13 = useState(false),
1043
- _useState14 = _slicedToArray(_useState13, 2),
1044
- suspended = _useState14[0],
1045
- setSuspended = _useState14[1];
1046
-
914
+ _useState14 = _slicedToArray(_useState13, 2),
915
+ suspended = _useState14[0],
916
+ setSuspended = _useState14[1];
1047
917
  var progressStepsReached = useRef({});
1048
- var paused = !playing; // Exposed methods
918
+ var paused = !playing;
919
+
920
+ // Exposed methods
1049
921
 
1050
922
  var play = useCallback(function () {
1051
923
  var media = ref.current;
1052
-
1053
924
  if (media !== null) {
1054
925
  media.play();
1055
926
  }
1056
927
  }, []);
1057
928
  var pause = useCallback(function () {
1058
929
  var media = ref.current;
1059
-
1060
930
  if (media !== null) {
1061
931
  media.pause();
1062
932
  }
1063
933
  }, []);
1064
934
  var stop = useCallback(function () {
1065
935
  var media = ref.current;
1066
-
1067
936
  if (media !== null) {
1068
937
  media.pause();
1069
938
  media.currentTime = 0;
@@ -1071,22 +940,25 @@ var useMediaApi = function useMediaApi() {
1071
940
  }, []);
1072
941
  var seek = useCallback(function (time) {
1073
942
  var media = ref.current;
1074
-
1075
943
  if (media !== null) {
1076
944
  media.currentTime = time;
1077
945
  }
1078
- }, []); // const mute = useCallback(() => {
946
+ }, []);
947
+
948
+ // const mute = useCallback(() => {
1079
949
  // const { current: media } = ref;
1080
950
  // if (media !== null) {
1081
951
  // media.muted = true;
1082
952
  // }
1083
953
  // }, []);
954
+
1084
955
  // const unMute = useCallback(() => {
1085
956
  // const { current: media } = ref;
1086
957
  // if (media !== null) {
1087
958
  // media.muted = false;
1088
959
  // }
1089
960
  // }, []);
961
+
1090
962
  // Media events callbacks
1091
963
 
1092
964
  var onCustomPlay = useCallback(function () {
@@ -1095,18 +967,15 @@ var useMediaApi = function useMediaApi() {
1095
967
  initial: initialPlay
1096
968
  });
1097
969
  }
1098
-
1099
970
  if (initialPlay) {
1100
971
  setInitialPlay(false);
1101
972
  }
1102
-
1103
973
  setPlaying(true);
1104
974
  setSuspended(false);
1105
975
  }, [initialPlay, setPlaying, onPlay]);
1106
976
  var onCustomPause = useCallback(function (e) {
1107
977
  var eventMedia = e.currentTarget;
1108
978
  setPlaying(false);
1109
-
1110
979
  if (onPause !== null) {
1111
980
  onPause({
1112
981
  midway: eventMedia.currentTime > 0 && eventMedia.currentTime < eventMedia.duration
@@ -1116,21 +985,17 @@ var useMediaApi = function useMediaApi() {
1116
985
  var onCustomEnded = useCallback(function (e) {
1117
986
  var eventMedia = e.currentTarget;
1118
987
  eventMedia.currentTime = 0;
1119
-
1120
988
  if (onEnded !== null) {
1121
989
  onEnded();
1122
990
  }
1123
-
1124
991
  setInitialPlay(true);
1125
992
  }, [setInitialPlay, onEnded]);
1126
993
  var onCustomTimeUpdate = useCallback(function (e) {
1127
994
  var eventMedia = e.currentTarget;
1128
995
  setCurrentTime(eventMedia.currentTime);
1129
-
1130
996
  if (onTimeUpdate !== null) {
1131
997
  onTimeUpdate(eventMedia.currentTime);
1132
998
  }
1133
-
1134
999
  var progress = eventMedia.currentTime / eventMedia.duration;
1135
1000
  var currentSteps = progressStepsReached.current;
1136
1001
  var stepsToTrack = progressSteps.filter(function (step) {
@@ -1140,28 +1005,26 @@ var useMediaApi = function useMediaApi() {
1140
1005
  if (onProgressStep !== null) {
1141
1006
  onProgressStep(step);
1142
1007
  }
1143
-
1144
1008
  currentSteps[step] = true;
1145
1009
  });
1146
1010
  }, [setCurrentTime, onTimeUpdate, onProgressStep]);
1147
1011
  var onCustomDurationChange = useCallback(function (e) {
1148
1012
  var eventMedia = e.currentTarget;
1149
1013
  setDuration(eventMedia.duration);
1150
-
1151
1014
  if (onDurationChange !== null) {
1152
1015
  onDurationChange(eventMedia.duration);
1153
1016
  }
1154
1017
  }, [setDuration, onDurationChange]);
1155
1018
  var onCustomSeeked = useCallback(function (e) {
1156
1019
  var eventMedia = e.currentTarget;
1157
-
1158
1020
  if (onSeeked !== null) {
1159
1021
  onSeeked(eventMedia.currentTime);
1160
1022
  }
1161
1023
  }, [onSeeked]);
1162
1024
  var onCustomVolumeChange = useCallback(function (e) {
1163
- var eventMedia = e.currentTarget; // setMuted(eventMedia.muted);
1025
+ var eventMedia = e.currentTarget;
1164
1026
 
1027
+ // setMuted(eventMedia.muted);
1165
1028
  if (onVolumeChange !== null) {
1166
1029
  onVolumeChange(eventMedia.volume);
1167
1030
  }
@@ -1173,49 +1036,47 @@ var useMediaApi = function useMediaApi() {
1173
1036
  }, [setReady, onLoadStart]);
1174
1037
  var onCustomCanPlayThrough = useCallback(function () {
1175
1038
  setReady(true);
1176
-
1177
1039
  if (onCanPlayThough !== null) {
1178
1040
  onCanPlayThough();
1179
1041
  }
1180
1042
  }, [setReady, onCanPlayThough]);
1181
1043
  var onCustomCanPlay = useCallback(function () {
1182
1044
  setReady(true);
1183
-
1184
1045
  if (onCanPlay !== null) {
1185
1046
  onCanPlay();
1186
1047
  }
1187
1048
  }, [setReady, onCanPlay]);
1188
1049
  var onCustomLoadedMetadata = useCallback(function () {
1189
1050
  setReady(true);
1190
-
1191
1051
  if (onLoadedMetadata !== null) {
1192
1052
  onLoadedMetadata();
1193
1053
  }
1194
1054
  }, [setReady, onLoadedMetadata]);
1195
1055
  var onCustomLoadedData = useCallback(function () {
1196
1056
  setDataReady(true);
1197
-
1198
1057
  if (onLoadedData !== null) {
1199
1058
  onLoadedData();
1200
1059
  }
1201
1060
  }, [setDataReady, onLoadedData]);
1202
1061
  var onCustomSuspended = useCallback(function () {
1203
1062
  setSuspended(true);
1204
-
1205
1063
  if (onSuspend !== null) {
1206
1064
  onSuspend();
1207
1065
  }
1208
1066
  }, [setSuspended, onSuspended]);
1209
1067
  useEffect(function () {
1210
1068
  var _ref$current = ref.current,
1211
- media = _ref$current === void 0 ? null : _ref$current; // console.log('actions', url);
1069
+ media = _ref$current === void 0 ? null : _ref$current;
1070
+
1071
+ // console.log('actions', url);
1212
1072
 
1213
1073
  if (media !== null) {
1214
1074
  media.addEventListener('volumechange', onCustomVolumeChange);
1215
1075
  media.addEventListener('play', onCustomPlay);
1216
1076
  media.addEventListener('pause', onCustomPause);
1217
1077
  media.addEventListener('ended', onCustomEnded);
1218
- media.addEventListener('seeked', onCustomSeeked); // media.addEventListener('loadstart', onCustomLoadStart);
1078
+ media.addEventListener('seeked', onCustomSeeked);
1079
+ // media.addEventListener('loadstart', onCustomLoadStart);
1219
1080
  // media.addEventListener('canplaythrough', onCustomCanPlayThrough);
1220
1081
  // media.addEventListener('canplay', onCustomCanPlay);
1221
1082
  // media.addEventListener('loadedmetadata', onCustomLoadedMetadata);
@@ -1228,21 +1089,23 @@ var useMediaApi = function useMediaApi() {
1228
1089
  media.removeEventListener('play', onCustomPlay);
1229
1090
  media.removeEventListener('pause', onCustomPause);
1230
1091
  media.removeEventListener('ended', onCustomEnded);
1231
- media.removeEventListener('seeked', onCustomSeeked); // media.removeEventListener('loadstart', onCustomLoadStart);
1092
+ media.removeEventListener('seeked', onCustomSeeked);
1093
+ // media.removeEventListener('loadstart', onCustomLoadStart);
1232
1094
  // media.removeEventListener('canplaythrough', onCustomCanPlayThrough);
1233
1095
  // media.removeEventListener('canplay', onCustomCanPlay);
1234
1096
  // media.removeEventListener('loadedmetadata', onCustomLoadedMetadata);
1235
1097
  }
1236
1098
  };
1237
- }, [url, onCustomVolumeChange, onCustomPlay, onCustomPause, onCustomEnded, onCustomSeeked, onCustomSuspended // onCustomLoadStart,
1099
+ }, [url, onCustomVolumeChange, onCustomPlay, onCustomPause, onCustomEnded, onCustomSeeked, onCustomSuspended
1100
+ // onCustomLoadStart,
1238
1101
  // onCustomCanPlayThrough,
1239
1102
  // onCustomCanPlay,
1240
1103
  // onCustomLoadedMetadata,
1241
1104
  ]);
1105
+
1242
1106
  useEffect(function () {
1243
1107
  var _ref$current2 = ref.current,
1244
- media = _ref$current2 === void 0 ? null : _ref$current2;
1245
-
1108
+ media = _ref$current2 === void 0 ? null : _ref$current2;
1246
1109
  if (media !== null) {
1247
1110
  media.addEventListener('loadstart', onCustomLoadStart);
1248
1111
  media.addEventListener('canplaythrough', onCustomCanPlayThrough);
@@ -1251,7 +1114,6 @@ var useMediaApi = function useMediaApi() {
1251
1114
  media.addEventListener('loadeddata', onCustomLoadedData);
1252
1115
  media.addEventListener('suspend', onCustomSuspended);
1253
1116
  }
1254
-
1255
1117
  return function () {
1256
1118
  if (media !== null) {
1257
1119
  media.removeEventListener('loadstart', onCustomLoadStart);
@@ -1261,31 +1123,30 @@ var useMediaApi = function useMediaApi() {
1261
1123
  media.removeEventListener('suspend', onCustomSuspended);
1262
1124
  }
1263
1125
  };
1264
- }, [url, onCustomLoadStart, onCustomCanPlayThrough, onCustomCanPlay, onCustomLoadedMetadata, onCustomSuspended]); // Duration
1126
+ }, [url, onCustomLoadStart, onCustomCanPlayThrough, onCustomCanPlay, onCustomLoadedMetadata, onCustomSuspended]);
1265
1127
 
1128
+ // Duration
1266
1129
  useEffect(function () {
1267
1130
  var _ref$current3 = ref.current,
1268
- media = _ref$current3 === void 0 ? null : _ref$current3;
1269
-
1131
+ media = _ref$current3 === void 0 ? null : _ref$current3;
1270
1132
  if (media !== null) {
1271
1133
  media.addEventListener('durationchange', onCustomDurationChange);
1272
1134
  }
1273
-
1274
1135
  return function () {
1275
1136
  if (media !== null) {
1276
1137
  media.removeEventListener('durationchange', onCustomDurationChange);
1277
1138
  }
1278
1139
  };
1279
- }, [url, onCustomDurationChange]); // Timeupdate
1140
+ }, [url, onCustomDurationChange]);
1280
1141
 
1142
+ // Timeupdate
1281
1143
  useEffect(function () {
1282
1144
  var _ref$current4 = ref.current,
1283
- media = _ref$current4 === void 0 ? null : _ref$current4; // console.log('timeupdate', url);
1284
-
1145
+ media = _ref$current4 === void 0 ? null : _ref$current4;
1146
+ // console.log('timeupdate', url);
1285
1147
  if (media !== null) {
1286
1148
  media.addEventListener('timeupdate', onCustomTimeUpdate);
1287
1149
  }
1288
-
1289
1150
  return function () {
1290
1151
  if (media !== null) {
1291
1152
  media.removeEventListener('timeupdate', onCustomTimeUpdate);
@@ -1294,14 +1155,12 @@ var useMediaApi = function useMediaApi() {
1294
1155
  }, [url, onCustomTimeUpdate, onCustomDurationChange]);
1295
1156
  useEffect(function () {
1296
1157
  var _ref$current5 = ref.current,
1297
- media = _ref$current5 === void 0 ? null : _ref$current5;
1298
-
1158
+ media = _ref$current5 === void 0 ? null : _ref$current5;
1299
1159
  if (media !== null && media.readyState > 1) {
1300
1160
  setDataReady(true);
1301
1161
  } else {
1302
1162
  setDataReady(false);
1303
1163
  }
1304
-
1305
1164
  if (media !== null && media.readyState > 3) {
1306
1165
  setReady(true);
1307
1166
  } else {
@@ -1326,75 +1185,63 @@ var useMediaApi = function useMediaApi() {
1326
1185
 
1327
1186
  function useMediaCurrentTime(element) {
1328
1187
  var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
1329
- _ref$id = _ref.id,
1330
- id = _ref$id === void 0 ? null : _ref$id,
1331
- _ref$disabled = _ref.disabled,
1332
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
1333
- _ref$updateInterval = _ref.updateInterval,
1334
- updateInterval = _ref$updateInterval === void 0 ? 1000 : _ref$updateInterval,
1335
- _ref$onUpdate = _ref.onUpdate,
1336
- customOnUpdate = _ref$onUpdate === void 0 ? null : _ref$onUpdate;
1337
-
1188
+ _ref$id = _ref.id,
1189
+ id = _ref$id === void 0 ? null : _ref$id,
1190
+ _ref$disabled = _ref.disabled,
1191
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
1192
+ _ref$updateInterval = _ref.updateInterval,
1193
+ updateInterval = _ref$updateInterval === void 0 ? 1000 : _ref$updateInterval,
1194
+ _ref$onUpdate = _ref.onUpdate,
1195
+ customOnUpdate = _ref$onUpdate === void 0 ? null : _ref$onUpdate;
1338
1196
  var _useState = useState(0),
1339
- _useState2 = _slicedToArray(_useState, 2),
1340
- currentTime = _useState2[0],
1341
- setCurrentTime = _useState2[1];
1342
-
1197
+ _useState2 = _slicedToArray(_useState, 2),
1198
+ currentTime = _useState2[0],
1199
+ setCurrentTime = _useState2[1];
1343
1200
  var realCurrentTime = useRef(currentTime);
1344
1201
  var finalId = id || element;
1345
1202
  var lastIdRef = useRef(finalId);
1346
1203
  var idChanged = lastIdRef.current !== finalId;
1347
1204
  var disabledRef = useRef(disabled);
1348
1205
  var disabledChanged = disabledRef.current !== disabled;
1349
-
1350
1206
  if (idChanged || disabledChanged) {
1351
1207
  realCurrentTime.current = element !== null ? element.currentTime || 0 : 0;
1352
1208
  lastIdRef.current = finalId;
1353
1209
  disabledRef.current = disabled;
1354
- } // Check time update
1355
-
1210
+ }
1356
1211
 
1212
+ // Check time update
1357
1213
  useEffect(function () {
1358
1214
  if (element === null) {
1359
1215
  return function () {};
1360
1216
  }
1361
-
1362
1217
  function updateTime() {
1363
1218
  var time = element.currentTime || 0;
1364
-
1365
1219
  if (time !== realCurrentTime.current) {
1366
1220
  realCurrentTime.current = time;
1367
1221
  setCurrentTime(time);
1368
-
1369
1222
  if (customOnUpdate !== null) {
1370
1223
  customOnUpdate(time);
1371
1224
  }
1372
1225
  }
1373
-
1374
1226
  return time;
1375
1227
  }
1376
-
1377
1228
  if (disabled) {
1378
1229
  updateTime();
1379
1230
  return function () {};
1380
1231
  }
1381
-
1382
1232
  var timeout = null;
1383
-
1384
1233
  function loop() {
1385
1234
  var _element$duration = element.duration,
1386
- duration = _element$duration === void 0 ? 0 : _element$duration;
1235
+ duration = _element$duration === void 0 ? 0 : _element$duration;
1387
1236
  var time = updateTime();
1388
1237
  var remainingTime = Math.floor(((duration || 0) - time) * 1000);
1389
1238
  timeout = setTimeout(loop, Math.max(Math.min(updateInterval, remainingTime), updateInterval));
1390
1239
  }
1391
-
1392
1240
  loop();
1393
1241
  return function () {
1394
1242
  if (element !== null) {
1395
1243
  realCurrentTime.current = element.currentTime;
1396
1244
  }
1397
-
1398
1245
  if (timeout !== null) {
1399
1246
  clearInterval(timeout);
1400
1247
  }
@@ -1405,38 +1252,31 @@ function useMediaCurrentTime(element) {
1405
1252
 
1406
1253
  function useMediaDuration(element) {
1407
1254
  var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
1408
- _ref$id = _ref.id,
1409
- id = _ref$id === void 0 ? null : _ref$id;
1410
-
1255
+ _ref$id = _ref.id,
1256
+ id = _ref$id === void 0 ? null : _ref$id;
1411
1257
  var _useState = useState(element !== null ? element.duration || 0 : 0),
1412
- _useState2 = _slicedToArray(_useState, 2),
1413
- duration = _useState2[0],
1414
- setDuration = _useState2[1];
1415
-
1258
+ _useState2 = _slicedToArray(_useState, 2),
1259
+ duration = _useState2[0],
1260
+ setDuration = _useState2[1];
1416
1261
  var realDuration = useRef(duration);
1417
1262
  var finalId = id || element;
1418
1263
  var lastIdRef = useRef(finalId);
1419
1264
  var idChanged = lastIdRef.current !== finalId;
1420
-
1421
1265
  if (idChanged) {
1422
1266
  realDuration.current = element !== null ? element.duration || 0 : 0;
1423
1267
  lastIdRef.current = finalId;
1424
1268
  }
1425
-
1426
1269
  useEffect(function () {
1427
1270
  if (element === null) {
1428
1271
  return function () {};
1429
1272
  }
1430
-
1431
1273
  function updateDuration() {
1432
1274
  var newDuration = element.duration || 0;
1433
-
1434
1275
  if (newDuration !== realDuration.current) {
1435
1276
  realDuration.current = newDuration;
1436
1277
  setDuration(newDuration);
1437
1278
  }
1438
1279
  }
1439
-
1440
1280
  updateDuration();
1441
1281
  element.addEventListener('canplay', updateDuration);
1442
1282
  element.addEventListener('loadedmetadata', updateDuration);
@@ -1452,11 +1292,10 @@ function useMediaDuration(element) {
1452
1292
 
1453
1293
  function useMediaLoad(element) {
1454
1294
  var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
1455
- _ref$preload = _ref.preload,
1456
- preload = _ref$preload === void 0 ? 'auto' : _ref$preload,
1457
- _ref$shouldLoad = _ref.shouldLoad,
1458
- shouldLoad = _ref$shouldLoad === void 0 ? false : _ref$shouldLoad;
1459
-
1295
+ _ref$preload = _ref.preload,
1296
+ preload = _ref$preload === void 0 ? 'auto' : _ref$preload,
1297
+ _ref$shouldLoad = _ref.shouldLoad,
1298
+ shouldLoad = _ref$shouldLoad === void 0 ? false : _ref$shouldLoad;
1460
1299
  var firstPreloadRef = useRef(preload);
1461
1300
  var firstShouldLoadRef = useRef(shouldLoad);
1462
1301
  var hasLoadedRef = useRef(preload !== 'none' && preload !== 'metadata' && shouldLoad);
@@ -1464,7 +1303,6 @@ function useMediaLoad(element) {
1464
1303
  var canLoad = preload !== 'none' && preload !== 'metadata' && shouldLoad;
1465
1304
  var preloadHasChanged = firstPreloadRef.current !== preload;
1466
1305
  var shouldLoadHasChanged = firstShouldLoadRef.current !== shouldLoad;
1467
-
1468
1306
  if (canLoad && (preloadHasChanged || shouldLoadHasChanged) && !hasLoadedRef.current && element !== null && typeof element.load !== 'undefined') {
1469
1307
  hasLoadedRef.current = true;
1470
1308
  element.load();
@@ -1473,31 +1311,26 @@ function useMediaLoad(element) {
1473
1311
  }
1474
1312
 
1475
1313
  var _excluded$1 = ["disabled"];
1476
-
1477
1314
  function useMediaProgress(media) {
1478
1315
  var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
1479
- _ref$disabled = _ref.disabled,
1480
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
1481
- props = _objectWithoutProperties(_ref, _excluded$1);
1482
-
1316
+ _ref$disabled = _ref.disabled,
1317
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
1318
+ props = _objectWithoutProperties(_ref, _excluded$1);
1483
1319
  var _useState = useState(!disabled),
1484
- _useState2 = _slicedToArray(_useState, 2),
1485
- playing = _useState2[0],
1486
- setPlaying = _useState2[1]; // const currentTime = useMediaCurrentTime(media, {
1320
+ _useState2 = _slicedToArray(_useState, 2),
1321
+ playing = _useState2[0],
1322
+ setPlaying = _useState2[1];
1323
+ // const currentTime = useMediaCurrentTime(media, {
1487
1324
  // disabled: disabled || !playing,
1488
1325
  // ...props,
1489
1326
  // });
1490
-
1491
-
1492
1327
  var duration = useMediaDuration(media, _objectSpread({
1493
1328
  disabled: disabled || !playing
1494
1329
  }, props));
1495
-
1496
1330
  var _useState3 = useState(media !== null && (media.currentTime || 0) > 0 && duration > 0 ? media.currentTime / duration : 0),
1497
- _useState4 = _slicedToArray(_useState3, 2),
1498
- progress = _useState4[0],
1499
- setProgress = _useState4[1];
1500
-
1331
+ _useState4 = _slicedToArray(_useState3, 2),
1332
+ progress = _useState4[0],
1333
+ setProgress = _useState4[1];
1501
1334
  var realProgressRef = useRef(progress);
1502
1335
  var updateTimeRef = useRef(new Date().getTime());
1503
1336
  var updateProgress = useCallback(function (newProgress) {
@@ -1509,63 +1342,56 @@ function useMediaProgress(media) {
1509
1342
  if (media === null) {
1510
1343
  return function () {};
1511
1344
  }
1512
-
1513
1345
  function onResume() {
1514
1346
  if (!playing) {
1515
1347
  setPlaying(true);
1516
1348
  }
1517
-
1518
1349
  updateProgress(media.currentTime / media.duration);
1519
1350
  }
1520
-
1521
1351
  function onPause() {
1522
1352
  if (playing) {
1523
1353
  setPlaying(false);
1524
1354
  }
1525
-
1526
1355
  updateProgress(media.currentTime / media.duration);
1527
1356
  }
1528
-
1529
1357
  media.addEventListener('play', onResume);
1530
1358
  media.addEventListener('seeked', onResume);
1531
- media.addEventListener('playing', onResume); // media.addEventListener('timeupdate', onResume);
1532
-
1359
+ media.addEventListener('playing', onResume);
1360
+ // media.addEventListener('timeupdate', onResume);
1533
1361
  media.addEventListener('pause', onPause);
1534
1362
  media.addEventListener('ended', onPause);
1535
1363
  media.addEventListener('waiting', onPause);
1536
1364
  media.addEventListener('stalled', onPause);
1537
- media.addEventListener('seeking', onPause); // media.addEventListener('suspend', onPause);
1365
+ media.addEventListener('seeking', onPause);
1366
+ // media.addEventListener('suspend', onPause);
1538
1367
  // if (media.paused) {
1539
1368
  // onPause();
1540
1369
  // } else {
1541
1370
  // onResume();
1542
1371
  // }
1543
-
1544
1372
  return function () {
1545
1373
  media.removeEventListener('play', onResume);
1546
1374
  media.removeEventListener('seeked', onResume);
1547
- media.removeEventListener('playing', onResume); // media.removeEventListener('timeupdate', onResume);
1548
-
1375
+ media.removeEventListener('playing', onResume);
1376
+ // media.removeEventListener('timeupdate', onResume);
1549
1377
  media.removeEventListener('pause', onPause);
1550
1378
  media.removeEventListener('ended', onPause);
1551
1379
  media.removeEventListener('waiting', onPause);
1552
1380
  media.removeEventListener('stalled', onPause);
1553
- media.removeEventListener('seeking', onPause); // media.removeEventListener('suspend', onPause);
1381
+ media.removeEventListener('seeking', onPause);
1382
+ // media.removeEventListener('suspend', onPause);
1554
1383
  };
1555
1384
  }, [media, updateProgress, setPlaying, playing]);
1556
1385
  useEffect(function () {
1557
1386
  if (media === null || !playing || disabled) {
1558
1387
  return function () {};
1559
1388
  }
1560
-
1561
1389
  var handle;
1562
1390
  var canceled = false;
1563
-
1564
1391
  function tick() {
1565
1392
  if (canceled) {
1566
1393
  return;
1567
1394
  }
1568
-
1569
1395
  var newTime = new Date().getTime();
1570
1396
  var elapsed = newTime - updateTimeRef.current;
1571
1397
  updateTimeRef.current = newTime;
@@ -1574,7 +1400,6 @@ function useMediaProgress(media) {
1574
1400
  updateProgress(newProgress);
1575
1401
  handle = raf(tick);
1576
1402
  }
1577
-
1578
1403
  tick();
1579
1404
  return function () {
1580
1405
  canceled = true;
@@ -1586,31 +1411,25 @@ function useMediaProgress(media) {
1586
1411
 
1587
1412
  function useMediaReady(element) {
1588
1413
  var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
1589
- _ref$id = _ref.id,
1590
- id = _ref$id === void 0 ? null : _ref$id;
1591
-
1414
+ _ref$id = _ref.id,
1415
+ id = _ref$id === void 0 ? null : _ref$id;
1592
1416
  var _useState = useState(element !== null && element.readyState > 0),
1593
- _useState2 = _slicedToArray(_useState, 2),
1594
- ready = _useState2[0],
1595
- setReady = _useState2[1];
1596
-
1417
+ _useState2 = _slicedToArray(_useState, 2),
1418
+ ready = _useState2[0],
1419
+ setReady = _useState2[1];
1597
1420
  var realReady = useRef(ready);
1598
1421
  var lastIdRef = useRef(id);
1599
1422
  var idChanged = lastIdRef.current !== id;
1600
-
1601
1423
  if (idChanged) {
1602
1424
  realReady.current = false;
1603
1425
  lastIdRef.current = id;
1604
1426
  }
1605
-
1606
1427
  useEffect(function () {
1607
1428
  if (element === null) {
1608
1429
  return function () {};
1609
1430
  }
1610
-
1611
1431
  function updateReady() {
1612
1432
  var currentReady = ready;
1613
-
1614
1433
  if (element.readyState > 0 && !ready) {
1615
1434
  setReady(true);
1616
1435
  currentReady = true;
@@ -1618,19 +1437,15 @@ function useMediaReady(element) {
1618
1437
  setReady(false);
1619
1438
  currentReady = false;
1620
1439
  }
1621
-
1622
1440
  realReady.current = currentReady;
1623
1441
  return currentReady;
1624
1442
  }
1625
-
1626
1443
  var currentReady = updateReady();
1627
-
1628
1444
  if (!currentReady) {
1629
1445
  element.addEventListener('loadedmetadata', updateReady);
1630
1446
  element.addEventListener('canplay', updateReady);
1631
1447
  element.addEventListener('canplaythrough', updateReady);
1632
1448
  }
1633
-
1634
1449
  return function () {
1635
1450
  if (!currentReady) {
1636
1451
  element.removeEventListener('loadedmetadata', updateReady);
@@ -1644,8 +1459,9 @@ function useMediaReady(element) {
1644
1459
 
1645
1460
  var useMediasParser = function useMediasParser() {
1646
1461
  var screensManager = useScreensManager();
1647
- var fieldsManager = useFieldsManager(); // Convert medias object to path
1462
+ var fieldsManager = useFieldsManager();
1648
1463
 
1464
+ // Convert medias object to path
1649
1465
  var parser = useMemo(function () {
1650
1466
  return new MediasParser({
1651
1467
  screensManager: screensManager,
@@ -1671,28 +1487,23 @@ function useMediaThumbnail(media) {
1671
1487
  if (isObject(file)) {
1672
1488
  return file;
1673
1489
  }
1674
-
1675
1490
  var _ref = media || {},
1676
- _ref$thumbnail_url = _ref.thumbnail_url,
1677
- defaultThumbnailUrl = _ref$thumbnail_url === void 0 ? null : _ref$thumbnail_url,
1678
- _ref$files = _ref.files,
1679
- files = _ref$files === void 0 ? null : _ref$files,
1680
- _ref$metadata = _ref.metadata,
1681
- metadata = _ref$metadata === void 0 ? null : _ref$metadata;
1682
-
1491
+ _ref$thumbnail_url = _ref.thumbnail_url,
1492
+ defaultThumbnailUrl = _ref$thumbnail_url === void 0 ? null : _ref$thumbnail_url,
1493
+ _ref$files = _ref.files,
1494
+ files = _ref$files === void 0 ? null : _ref$files,
1495
+ _ref$metadata = _ref.metadata,
1496
+ metadata = _ref$metadata === void 0 ? null : _ref$metadata;
1683
1497
  var _ref2 = metadata || {},
1684
- mediaWidth = _ref2.width,
1685
- mediaHeight = _ref2.height;
1686
-
1498
+ mediaWidth = _ref2.width,
1499
+ mediaHeight = _ref2.height;
1687
1500
  var filesArray = getMediaFilesAsArray(files) || [];
1688
-
1689
1501
  var _ref3 = (file !== null ? filesArray.find(function (_ref4) {
1690
- var handle = _ref4.handle;
1691
- return handle === file;
1692
- }) || null : null) || {},
1693
- _ref3$url = _ref3.url,
1694
- url = _ref3$url === void 0 ? null : _ref3$url;
1695
-
1502
+ var handle = _ref4.handle;
1503
+ return handle === file;
1504
+ }) || null : null) || {},
1505
+ _ref3$url = _ref3.url,
1506
+ url = _ref3$url === void 0 ? null : _ref3$url;
1696
1507
  return url !== null || defaultThumbnailUrl !== null ? {
1697
1508
  url: url || defaultThumbnailUrl,
1698
1509
  metadata: {
@@ -1706,30 +1517,25 @@ function useMediaThumbnail(media) {
1706
1517
 
1707
1518
  function useMediaWaveform(media) {
1708
1519
  var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
1709
- _ref$fake = _ref.fake,
1710
- fake = _ref$fake === void 0 ? false : _ref$fake,
1711
- _ref$reduceBufferFact = _ref.reduceBufferFactor,
1712
- reduceBufferFactor = _ref$reduceBufferFact === void 0 ? 100 : _ref$reduceBufferFact;
1713
-
1520
+ _ref$fake = _ref.fake,
1521
+ fake = _ref$fake === void 0 ? false : _ref$fake,
1522
+ _ref$reduceBufferFact = _ref.reduceBufferFactor,
1523
+ reduceBufferFactor = _ref$reduceBufferFact === void 0 ? 100 : _ref$reduceBufferFact;
1714
1524
  var _ref2 = media || {},
1715
- _ref2$url = _ref2.url,
1716
- url = _ref2$url === void 0 ? null : _ref2$url,
1717
- _ref2$metadata = _ref2.metadata,
1718
- metadata = _ref2$metadata === void 0 ? null : _ref2$metadata;
1719
-
1525
+ _ref2$url = _ref2.url,
1526
+ url = _ref2$url === void 0 ? null : _ref2$url,
1527
+ _ref2$metadata = _ref2.metadata,
1528
+ metadata = _ref2$metadata === void 0 ? null : _ref2$metadata;
1720
1529
  var _ref3 = metadata || {},
1721
- _ref3$waveform = _ref3.waveform,
1722
- waveform = _ref3$waveform === void 0 ? null : _ref3$waveform;
1723
-
1530
+ _ref3$waveform = _ref3.waveform,
1531
+ waveform = _ref3$waveform === void 0 ? null : _ref3$waveform;
1724
1532
  var _useState = useState(null),
1725
- _useState2 = _slicedToArray(_useState, 2),
1726
- audioLevels = _useState2[0],
1727
- setAudioLevels = _useState2[1];
1728
-
1533
+ _useState2 = _slicedToArray(_useState, 2),
1534
+ audioLevels = _useState2[0],
1535
+ setAudioLevels = _useState2[1];
1729
1536
  useEffect(function () {
1730
1537
  var canceled = false;
1731
1538
  var AudioContext = typeof window !== 'undefined' ? window.AudioContext || window.webkitAudioContext : null;
1732
-
1733
1539
  if (waveform !== null) {
1734
1540
  setAudioLevels(waveform.map(function (it) {
1735
1541
  return (it + 256 / 2) / 256;
@@ -1746,18 +1552,15 @@ function useMediaWaveform(media) {
1746
1552
  if (canceled) {
1747
1553
  throw new Error('Audio loading canceled');
1748
1554
  }
1749
-
1750
1555
  return response.arrayBuffer();
1751
1556
  }).then(function (arrayBuffer) {
1752
1557
  if (canceled) {
1753
1558
  throw new Error('Audio loading canceled');
1754
1559
  }
1755
-
1756
1560
  var audioCtx = new AudioContext();
1757
1561
  return audioCtx.decodeAudioData(arrayBuffer);
1758
1562
  }).then(function (buffer) {
1759
1563
  var channelsCount = buffer.numberOfChannels;
1760
-
1761
1564
  if (channelsCount > 0) {
1762
1565
  var leftChannelData = buffer.getChannelData(0);
1763
1566
  setAudioLevels(leftChannelData.reduce(function (newArray, level) {
@@ -1770,7 +1573,6 @@ function useMediaWaveform(media) {
1770
1573
  throw e;
1771
1574
  });
1772
1575
  }
1773
-
1774
1576
  return function () {
1775
1577
  if (url === null) {
1776
1578
  canceled = true;
@@ -1780,17 +1582,18 @@ function useMediaWaveform(media) {
1780
1582
  return audioLevels;
1781
1583
  }
1782
1584
 
1585
+ // const debug = createDebug('core:useParsedStory');
1586
+
1783
1587
  var useParsedStory = function useParsedStory(story) {
1784
1588
  var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
1785
- _ref$disabled = _ref.disabled,
1786
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
1787
- _ref$withTheme = _ref.withTheme,
1788
- withTheme = _ref$withTheme === void 0 ? true : _ref$withTheme,
1789
- _ref$withMedias = _ref.withMedias,
1790
- withMedias = _ref$withMedias === void 0 ? true : _ref$withMedias,
1791
- _ref$withFonts = _ref.withFonts,
1792
- withFonts = _ref$withFonts === void 0 ? true : _ref$withFonts;
1793
-
1589
+ _ref$disabled = _ref.disabled,
1590
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
1591
+ _ref$withTheme = _ref.withTheme,
1592
+ withTheme = _ref$withTheme === void 0 ? true : _ref$withTheme,
1593
+ _ref$withMedias = _ref.withMedias,
1594
+ withMedias = _ref$withMedias === void 0 ? true : _ref$withMedias,
1595
+ _ref$withFonts = _ref.withFonts,
1596
+ withFonts = _ref$withFonts === void 0 ? true : _ref$withFonts;
1794
1597
  var screensManager = useScreensManager();
1795
1598
  var fieldsManager = useFieldsManager();
1796
1599
  var parser = useMemo(function () {
@@ -1803,7 +1606,6 @@ var useParsedStory = function useParsedStory(story) {
1803
1606
  if (disabled) {
1804
1607
  return story;
1805
1608
  }
1806
-
1807
1609
  return parser.parse(story, {
1808
1610
  withMedias: withMedias,
1809
1611
  withTheme: withTheme,
@@ -1815,21 +1617,19 @@ var useParsedStory = function useParsedStory(story) {
1815
1617
 
1816
1618
  function useProgressSteps() {
1817
1619
  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
1818
- _ref$disabled = _ref.disabled,
1819
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
1820
- currentTime = _ref.currentTime,
1821
- duration = _ref.duration,
1822
- _ref$onStep = _ref.onStep,
1823
- onStep = _ref$onStep === void 0 ? null : _ref$onStep,
1824
- _ref$steps = _ref.steps,
1825
- steps = _ref$steps === void 0 ? [0.1, 0.25, 0.5, 0.75, 0.9] : _ref$steps;
1826
-
1620
+ _ref$disabled = _ref.disabled,
1621
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
1622
+ currentTime = _ref.currentTime,
1623
+ duration = _ref.duration,
1624
+ _ref$onStep = _ref.onStep,
1625
+ onStep = _ref$onStep === void 0 ? null : _ref$onStep,
1626
+ _ref$steps = _ref.steps,
1627
+ steps = _ref$steps === void 0 ? [0.1, 0.25, 0.5, 0.75, 0.9] : _ref$steps;
1827
1628
  var progressStepsReached = useRef({});
1828
1629
  useEffect(function () {
1829
1630
  if (duration === 0 || disabled) {
1830
1631
  return;
1831
1632
  }
1832
-
1833
1633
  var progress = currentTime / duration;
1834
1634
  var currentSteps = progressStepsReached.current;
1835
1635
  var stepsToTrack = steps.filter(function (step) {
@@ -1839,7 +1639,6 @@ function useProgressSteps() {
1839
1639
  if (onStep !== null) {
1840
1640
  onStep(step);
1841
1641
  }
1842
-
1843
1642
  currentSteps[step] = true;
1844
1643
  });
1845
1644
  }, [duration, currentTime, disabled]);
@@ -1847,37 +1646,34 @@ function useProgressSteps() {
1847
1646
 
1848
1647
  var _excluded = ["width", "height"];
1849
1648
  var devicePixelRatio = typeof window !== 'undefined' ? window.devicePixelRatio || 1 : 1;
1850
-
1851
1649
  var useScreenSize = function useScreenSize(_ref) {
1852
1650
  var _ref$width = _ref.width,
1853
- width = _ref$width === void 0 ? null : _ref$width,
1854
- _ref$height = _ref.height,
1855
- height = _ref$height === void 0 ? null : _ref$height,
1856
- _ref$landscape = _ref.landscape,
1857
- landscape = _ref$landscape === void 0 ? false : _ref$landscape,
1858
- _ref$menuOverScreen = _ref.menuOverScreen,
1859
- menuOverScreen = _ref$menuOverScreen === void 0 ? false : _ref$menuOverScreen,
1860
- _ref$screens = _ref.screens,
1861
- screens = _ref$screens === void 0 ? [] : _ref$screens,
1862
- _ref$mediaType = _ref.mediaType,
1863
- mediaType = _ref$mediaType === void 0 ? 'screen' : _ref$mediaType,
1864
- _ref$media = _ref.media,
1865
- providedMedia = _ref$media === void 0 ? null : _ref$media,
1866
- _ref$scale = _ref.scale,
1867
- scale = _ref$scale === void 0 ? null : _ref$scale;
1651
+ width = _ref$width === void 0 ? null : _ref$width,
1652
+ _ref$height = _ref.height,
1653
+ height = _ref$height === void 0 ? null : _ref$height,
1654
+ _ref$landscape = _ref.landscape,
1655
+ landscape = _ref$landscape === void 0 ? false : _ref$landscape,
1656
+ _ref$menuOverScreen = _ref.menuOverScreen,
1657
+ menuOverScreen = _ref$menuOverScreen === void 0 ? false : _ref$menuOverScreen,
1658
+ _ref$screens = _ref.screens,
1659
+ screens = _ref$screens === void 0 ? [] : _ref$screens,
1660
+ _ref$mediaType = _ref.mediaType,
1661
+ mediaType = _ref$mediaType === void 0 ? 'screen' : _ref$mediaType,
1662
+ _ref$media = _ref.media,
1663
+ providedMedia = _ref$media === void 0 ? null : _ref$media,
1664
+ _ref$scale = _ref.scale,
1665
+ scale = _ref$scale === void 0 ? null : _ref$scale;
1868
1666
  var screenSize = useMemo(function () {
1869
1667
  var media = providedMedia !== null ? providedMedia : {
1870
1668
  type: mediaType,
1871
1669
  width: "".concat(width, "px"),
1872
1670
  height: "".concat(height, "px")
1873
1671
  };
1874
-
1875
1672
  var matchingScreens = _toConsumableArray(screens).reverse().filter(function (_ref2) {
1876
1673
  var _ref2$mediaQuery = _ref2.mediaQuery,
1877
- mediaQuery = _ref2$mediaQuery === void 0 ? null : _ref2$mediaQuery;
1674
+ mediaQuery = _ref2$mediaQuery === void 0 ? null : _ref2$mediaQuery;
1878
1675
  return mediaQuery === null || match(mediaQuery, media);
1879
1676
  });
1880
-
1881
1677
  return {
1882
1678
  screen: matchingScreens.length > 0 ? matchingScreens[0].name : null,
1883
1679
  screens: _toConsumableArray(matchingScreens).reverse().map(function (_ref3) {
@@ -1893,41 +1689,36 @@ var useScreenSize = function useScreenSize(_ref) {
1893
1689
  }, [screens, providedMedia, mediaType, width, height, landscape, menuOverScreen]);
1894
1690
  return screenSize;
1895
1691
  };
1896
-
1897
1692
  var useScreenSizeFromElement = function useScreenSizeFromElement() {
1898
1693
  var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
1899
- _ref4$width = _ref4.width,
1900
- width = _ref4$width === void 0 ? null : _ref4$width,
1901
- _ref4$height = _ref4.height,
1902
- height = _ref4$height === void 0 ? null : _ref4$height,
1903
- opts = _objectWithoutProperties(_ref4, _excluded);
1904
-
1694
+ _ref4$width = _ref4.width,
1695
+ width = _ref4$width === void 0 ? null : _ref4$width,
1696
+ _ref4$height = _ref4.height,
1697
+ height = _ref4$height === void 0 ? null : _ref4$height,
1698
+ opts = _objectWithoutProperties(_ref4, _excluded);
1905
1699
  var _useDimensionObserver = useDimensionObserver(),
1906
- ref = _useDimensionObserver.ref,
1907
- _useDimensionObserver2 = _useDimensionObserver.width,
1908
- calculatedWidth = _useDimensionObserver2 === void 0 ? 0 : _useDimensionObserver2,
1909
- _useDimensionObserver3 = _useDimensionObserver.height,
1910
- calculatedHeight = _useDimensionObserver3 === void 0 ? 0 : _useDimensionObserver3;
1911
-
1700
+ ref = _useDimensionObserver.ref,
1701
+ _useDimensionObserver2 = _useDimensionObserver.width,
1702
+ calculatedWidth = _useDimensionObserver2 === void 0 ? 0 : _useDimensionObserver2,
1703
+ _useDimensionObserver3 = _useDimensionObserver.height,
1704
+ calculatedHeight = _useDimensionObserver3 === void 0 ? 0 : _useDimensionObserver3;
1912
1705
  var fullWidth = width !== null ? width : calculatedWidth;
1913
1706
  var fullHeight = height !== null ? height : calculatedHeight;
1914
-
1915
1707
  var _ref5 = opts || {},
1916
- _ref5$screenWidth = _ref5.screenWidth,
1917
- screenWidth = _ref5$screenWidth === void 0 ? 320 : _ref5$screenWidth,
1918
- _ref5$screenHeight = _ref5.screenHeight,
1919
- screenHeight = _ref5$screenHeight === void 0 ? 480 : _ref5$screenHeight,
1920
- _ref5$withoutMaxSize = _ref5.withoutMaxSize,
1921
- withoutMaxSize = _ref5$withoutMaxSize === void 0 ? false : _ref5$withoutMaxSize,
1922
- _ref5$landscapeMinHei = _ref5.landscapeMinHeight,
1923
- landscapeMinHeight = _ref5$landscapeMinHei === void 0 ? 600 : _ref5$landscapeMinHei,
1924
- _ref5$menuAlwaysOverS = _ref5.menuAlwaysOverScreen,
1925
- menuAlwaysOverScreen = _ref5$menuAlwaysOverS === void 0 ? true : _ref5$menuAlwaysOverS,
1926
- _ref5$landscapeMinRat = _ref5.landscapeMinRatio,
1927
- landscapeMinRatio = _ref5$landscapeMinRat === void 0 ? 2 / 3 : _ref5$landscapeMinRat,
1928
- _ref5$withoutScale = _ref5.withoutScale,
1929
- withoutScale = _ref5$withoutScale === void 0 ? false : _ref5$withoutScale;
1930
-
1708
+ _ref5$screenWidth = _ref5.screenWidth,
1709
+ screenWidth = _ref5$screenWidth === void 0 ? 320 : _ref5$screenWidth,
1710
+ _ref5$screenHeight = _ref5.screenHeight,
1711
+ screenHeight = _ref5$screenHeight === void 0 ? 480 : _ref5$screenHeight,
1712
+ _ref5$withoutMaxSize = _ref5.withoutMaxSize,
1713
+ withoutMaxSize = _ref5$withoutMaxSize === void 0 ? false : _ref5$withoutMaxSize,
1714
+ _ref5$landscapeMinHei = _ref5.landscapeMinHeight,
1715
+ landscapeMinHeight = _ref5$landscapeMinHei === void 0 ? 600 : _ref5$landscapeMinHei,
1716
+ _ref5$menuAlwaysOverS = _ref5.menuAlwaysOverScreen,
1717
+ menuAlwaysOverScreen = _ref5$menuAlwaysOverS === void 0 ? true : _ref5$menuAlwaysOverS,
1718
+ _ref5$landscapeMinRat = _ref5.landscapeMinRatio,
1719
+ landscapeMinRatio = _ref5$landscapeMinRat === void 0 ? 2 / 3 : _ref5$landscapeMinRat,
1720
+ _ref5$withoutScale = _ref5.withoutScale,
1721
+ withoutScale = _ref5$withoutScale === void 0 ? false : _ref5$withoutScale;
1931
1722
  var screenRatio = screenWidth / screenHeight;
1932
1723
  var elementRatio = fullWidth / fullHeight;
1933
1724
  var landscape = fullHeight > 0 && elementRatio > (landscapeMinRatio || screenRatio);
@@ -1935,25 +1726,20 @@ var useScreenSizeFromElement = function useScreenSizeFromElement() {
1935
1726
  var finalWidth = fullWidth;
1936
1727
  var finalHeight = fullHeight;
1937
1728
  var menuOverScreen = !landscape;
1938
-
1939
1729
  if (landscapeWithMaxSize) {
1940
1730
  if (fullHeight < landscapeMinHeight || menuAlwaysOverScreen) {
1941
1731
  menuOverScreen = true;
1942
1732
  } else {
1943
1733
  finalHeight = fullHeight - 100;
1944
1734
  }
1945
-
1946
1735
  finalWidth = Math.round(finalHeight * screenRatio);
1947
1736
  }
1948
-
1949
1737
  if (finalWidth % 2 === 1) {
1950
1738
  finalWidth -= 1;
1951
1739
  }
1952
-
1953
1740
  if (finalHeight % 2 === 1) {
1954
1741
  finalHeight -= 1;
1955
1742
  }
1956
-
1957
1743
  var scale = finalWidth > 0 ? finalWidth / screenWidth : null;
1958
1744
  var screenSize = useScreenSize(_objectSpread({
1959
1745
  width: withoutScale || scale === null ? finalWidth : screenWidth,
@@ -1971,29 +1757,24 @@ var useScreenSizeFromElement = function useScreenSizeFromElement() {
1971
1757
  resolution: !withoutScale ? scale * devicePixelRatio : devicePixelRatio
1972
1758
  };
1973
1759
  };
1974
-
1975
1760
  var getWindowSize = function getWindowSize() {
1976
1761
  return {
1977
1762
  width: typeof window !== 'undefined' ? window.innerWidth : null,
1978
1763
  height: typeof window !== 'undefined' ? window.innerHæeight : null
1979
1764
  };
1980
1765
  };
1981
-
1982
1766
  var useScreenSizeFromWindow = function useScreenSizeFromWindow(opts) {
1983
1767
  var _useState = useState(getWindowSize()),
1984
- _useState2 = _slicedToArray(_useState, 2),
1985
- windowSize = _useState2[0],
1986
- setWindowSize = _useState2[1];
1987
-
1768
+ _useState2 = _slicedToArray(_useState, 2),
1769
+ windowSize = _useState2[0],
1770
+ setWindowSize = _useState2[1];
1988
1771
  useEffect(function () {
1989
1772
  var onResize = function onResize() {
1990
1773
  return setWindowSize(getWindowSize());
1991
1774
  };
1992
-
1993
1775
  if (typeof window !== 'undefined') {
1994
1776
  window.addEventListener('resize', onResize);
1995
1777
  }
1996
-
1997
1778
  return function () {
1998
1779
  if (typeof window !== 'undefined') {
1999
1780
  window.removeEventListener('resize', onResize);
@@ -2005,21 +1786,17 @@ var useScreenSizeFromWindow = function useScreenSizeFromWindow(opts) {
2005
1786
 
2006
1787
  var getValueFromSpring = function getValueFromSpring(s) {
2007
1788
  var _ref = s || {},
2008
- _ref$value = _ref.value,
2009
- v = _ref$value === void 0 ? null : _ref$value;
2010
-
1789
+ _ref$value = _ref.value,
1790
+ v = _ref$value === void 0 ? null : _ref$value;
2011
1791
  var _ref2 = v || {},
2012
- p = _ref2.progress;
2013
-
1792
+ p = _ref2.progress;
2014
1793
  return p;
2015
1794
  };
2016
-
2017
1795
  function useSpringValue(wantedProgress, immediate, params) {
2018
1796
  var _useState = useState(wantedProgress),
2019
- _useState2 = _slicedToArray(_useState, 2),
2020
- progress = _useState2[0],
2021
- setProgress = _useState2[1];
2022
-
1797
+ _useState2 = _slicedToArray(_useState, 2),
1798
+ progress = _useState2[0],
1799
+ setProgress = _useState2[1];
2023
1800
  var onChange = useCallback(function (spring) {
2024
1801
  return setProgress(getValueFromSpring(spring));
2025
1802
  }, [setProgress]);
@@ -2033,29 +1810,28 @@ function useSpringValue(wantedProgress, immediate, params) {
2033
1810
 
2034
1811
  var useSwipe = function useSwipe() {
2035
1812
  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
2036
- _ref$width = _ref.width,
2037
- width = _ref$width === void 0 ? null : _ref$width,
2038
- _ref$items = _ref.items,
2039
- items = _ref$items === void 0 ? [] : _ref$items,
2040
- _ref$withSpring = _ref.withSpring,
2041
- withSpring = _ref$withSpring === void 0 ? true : _ref$withSpring,
2042
- _ref$swipeWidthThresh = _ref.swipeWidthThreshold,
2043
- swipeWidthThreshold = _ref$swipeWidthThresh === void 0 ? 3 : _ref$swipeWidthThresh,
2044
- _ref$animateScale = _ref.animateScale,
2045
- animateScale = _ref$animateScale === void 0 ? false : _ref$animateScale,
2046
- _ref$disabled = _ref.disabled,
2047
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
2048
- _ref$lockAxis = _ref.lockAxis,
2049
- lockAxis = _ref$lockAxis === void 0 ? false : _ref$lockAxis,
2050
- _ref$onSwipeStart = _ref.onSwipeStart,
2051
- onSwipeStart = _ref$onSwipeStart === void 0 ? null : _ref$onSwipeStart,
2052
- _ref$onSwipeEnd = _ref.onSwipeEnd,
2053
- onSwipeEnd = _ref$onSwipeEnd === void 0 ? null : _ref$onSwipeEnd,
2054
- _ref$onSwipeCancel = _ref.onSwipeCancel,
2055
- onSwipeCancel = _ref$onSwipeCancel === void 0 ? null : _ref$onSwipeCancel,
2056
- _ref$onTap = _ref.onTap,
2057
- onTap = _ref$onTap === void 0 ? null : _ref$onTap;
2058
-
1813
+ _ref$width = _ref.width,
1814
+ width = _ref$width === void 0 ? null : _ref$width,
1815
+ _ref$items = _ref.items,
1816
+ items = _ref$items === void 0 ? [] : _ref$items,
1817
+ _ref$withSpring = _ref.withSpring,
1818
+ withSpring = _ref$withSpring === void 0 ? true : _ref$withSpring,
1819
+ _ref$swipeWidthThresh = _ref.swipeWidthThreshold,
1820
+ swipeWidthThreshold = _ref$swipeWidthThresh === void 0 ? 3 : _ref$swipeWidthThresh,
1821
+ _ref$animateScale = _ref.animateScale,
1822
+ animateScale = _ref$animateScale === void 0 ? false : _ref$animateScale,
1823
+ _ref$disabled = _ref.disabled,
1824
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
1825
+ _ref$lockAxis = _ref.lockAxis,
1826
+ lockAxis = _ref$lockAxis === void 0 ? false : _ref$lockAxis,
1827
+ _ref$onSwipeStart = _ref.onSwipeStart,
1828
+ onSwipeStart = _ref$onSwipeStart === void 0 ? null : _ref$onSwipeStart,
1829
+ _ref$onSwipeEnd = _ref.onSwipeEnd,
1830
+ onSwipeEnd = _ref$onSwipeEnd === void 0 ? null : _ref$onSwipeEnd,
1831
+ _ref$onSwipeCancel = _ref.onSwipeCancel,
1832
+ onSwipeCancel = _ref$onSwipeCancel === void 0 ? null : _ref$onSwipeCancel,
1833
+ _ref$onTap = _ref.onTap,
1834
+ onTap = _ref$onTap === void 0 ? null : _ref$onTap;
2059
1835
  var swipingIndex = useRef(null);
2060
1836
  var index = useRef(0);
2061
1837
  var lockedAxis = useRef(null);
@@ -2075,55 +1851,52 @@ var useSwipe = function useSwipe() {
2075
1851
  });
2076
1852
  var getItems = useCallback(function () {
2077
1853
  var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
2078
- _ref2$down = _ref2.down,
2079
- down = _ref2$down === void 0 ? false : _ref2$down,
2080
- _ref2$mx = _ref2.mx,
2081
- mx = _ref2$mx === void 0 ? 0 : _ref2$mx;
2082
-
1854
+ _ref2$down = _ref2.down,
1855
+ down = _ref2$down === void 0 ? false : _ref2$down,
1856
+ _ref2$mx = _ref2.mx,
1857
+ mx = _ref2$mx === void 0 ? 0 : _ref2$mx;
2083
1858
  return items.map(function (item, i) {
2084
1859
  var x = disabled ? 0 : (i - index.current) * currentWidth + (down ? mx : 0);
2085
1860
  var scale = !animateScale || disabled || !down ? 1 : 1 - Math.abs(mx) / currentWidth / 2;
2086
1861
  return getItem(x, i, scale);
2087
1862
  });
2088
- }, [disabled, items, index, currentWidth, animateScale]); // Initial items state
1863
+ }, [disabled, items, index, currentWidth, animateScale]);
2089
1864
 
1865
+ // Initial items state
2090
1866
  var _useSprings = useSprings(items.length, function (i) {
2091
- return {
2092
- x: disabled ? 0 : i * currentWidth,
2093
- y: 0,
2094
- zIndex: i,
2095
- config: _objectSpread({}, !withSpring ? {
2096
- duration: 1
2097
- } : null)
2098
- };
2099
- }),
2100
- _useSprings2 = _slicedToArray(_useSprings, 2),
2101
- itemsWithProps = _useSprings2[0],
2102
- set = _useSprings2[1];
2103
-
1867
+ return {
1868
+ x: disabled ? 0 : i * currentWidth,
1869
+ y: 0,
1870
+ zIndex: i,
1871
+ config: _objectSpread({}, !withSpring ? {
1872
+ duration: 1
1873
+ } : null)
1874
+ };
1875
+ }),
1876
+ _useSprings2 = _slicedToArray(_useSprings, 2),
1877
+ itemsWithProps = _useSprings2[0],
1878
+ set = _useSprings2[1];
2104
1879
  var bind = useDrag(function (_ref3) {
2105
1880
  var down = _ref3.down,
2106
- _ref3$movement = _slicedToArray(_ref3.movement, 2),
2107
- mx = _ref3$movement[0],
2108
- my = _ref3$movement[1],
2109
- _ref3$direction = _slicedToArray(_ref3.direction, 1),
2110
- xDir = _ref3$direction[0],
2111
- cancel = _ref3.cancel,
2112
- tap = _ref3.tap;
2113
-
1881
+ _ref3$movement = _slicedToArray(_ref3.movement, 2),
1882
+ mx = _ref3$movement[0],
1883
+ my = _ref3$movement[1],
1884
+ _ref3$direction = _slicedToArray(_ref3.direction, 1),
1885
+ xDir = _ref3$direction[0],
1886
+ cancel = _ref3.cancel,
1887
+ tap = _ref3.tap;
2114
1888
  if (disabled) {
2115
1889
  cancel();
2116
1890
  return;
2117
1891
  }
2118
-
2119
1892
  if (!down && swipingIndex.current === index.current) {
2120
1893
  lockedAxis.current = null;
2121
-
2122
1894
  if (onSwipeCancel !== null) {
2123
1895
  onSwipeCancel(index.current);
2124
1896
  }
2125
- } // Block first and last moves
1897
+ }
2126
1898
 
1899
+ // Block first and last moves
2127
1900
  /*
2128
1901
  if (down && index.current === items.length - 1 && xDir < 0) {
2129
1902
  cancel();
@@ -2135,55 +1908,48 @@ var useSwipe = function useSwipe() {
2135
1908
  }
2136
1909
  */
2137
1910
 
2138
-
2139
1911
  var movementX = !lockAxis || lockedAxis.current === 'x' ? mx : 0;
2140
1912
  var movementY = !lockAxis || lockedAxis.current === 'y' ? my : 0;
2141
-
2142
1913
  if (down) {
2143
1914
  // Snap to next slide
2144
1915
  if (Math.abs(movementX) > currentWidth / swipeWidthThreshold) {
2145
1916
  index.current = clamp(index.current + (xDir > 0 ? -1 : 1), 0, count - 1);
2146
1917
  lockedAxis.current = null;
2147
1918
  cancel();
2148
-
2149
1919
  if (onSwipeEnd !== null) {
2150
1920
  onSwipeEnd(index.current);
2151
1921
  }
2152
-
2153
1922
  return;
2154
1923
  }
2155
1924
  }
2156
-
2157
1925
  set(getItems({
2158
1926
  down: down,
2159
1927
  mx: movementX,
2160
1928
  my: movementY
2161
- })); // saving current swiping index in a ref in order to have a section called only once when swipe just started or a tap was detected
1929
+ }));
2162
1930
 
1931
+ // saving current swiping index in a ref in order to have a section called only once when swipe just started or a tap was detected
2163
1932
  if (swipingIndex.current !== index.current) {
2164
1933
  if (down && !tap) {
2165
1934
  if (onSwipeStart !== null) {
2166
1935
  onSwipeStart(index.current);
2167
1936
  }
2168
1937
  }
2169
-
2170
1938
  if (!down && tap) {
2171
1939
  if (onTap !== null) {
2172
1940
  onTap();
2173
1941
  }
2174
1942
  }
2175
- } // lock swiping on axis from initial 3 pixels distance (Y axis requires to swipe down)
2176
-
1943
+ }
2177
1944
 
1945
+ // lock swiping on axis from initial 3 pixels distance (Y axis requires to swipe down)
2178
1946
  if (lockAxis && down && lockedAxis.current === null) {
2179
1947
  var distanceX = Math.abs(mx);
2180
1948
  var distanceY = Math.abs(my);
2181
-
2182
1949
  if (distanceX !== distanceY && (distanceY > 2 || distanceX > 2)) {
2183
1950
  lockedAxis.current = distanceY > distanceX ? 'y' : 'x';
2184
1951
  }
2185
1952
  }
2186
-
2187
1953
  swipingIndex.current = down && !tap ? index.current : null;
2188
1954
  }, {
2189
1955
  filterTaps: true
@@ -2194,8 +1960,9 @@ var useSwipe = function useSwipe() {
2194
1960
  var setIndex = useCallback(function (idx) {
2195
1961
  index.current = idx;
2196
1962
  reset();
2197
- }, [reset]); // Reset on resize or others
1963
+ }, [reset]);
2198
1964
 
1965
+ // Reset on resize or others
2199
1966
  useEffect(function () {
2200
1967
  set(getItems());
2201
1968
  }, [items, width, set, disabled]);
@@ -2222,20 +1989,17 @@ var useThemeParser = function useThemeParser() {
2222
1989
 
2223
1990
  var getScreenOptions = function getScreenOptions(screenContext, opts) {
2224
1991
  var _ref = screenContext || {},
2225
- _ref$data = _ref.data,
2226
- ctxData = _ref$data === void 0 ? null : _ref$data;
2227
-
1992
+ _ref$data = _ref.data,
1993
+ ctxData = _ref$data === void 0 ? null : _ref$data;
2228
1994
  var _ref2 = ctxData || {},
2229
- _ref2$id = _ref2.id,
2230
- ctxScreenId = _ref2$id === void 0 ? null : _ref2$id,
2231
- ctxScreenType = _ref2.type;
2232
-
1995
+ _ref2$id = _ref2.id,
1996
+ ctxScreenId = _ref2$id === void 0 ? null : _ref2$id,
1997
+ ctxScreenType = _ref2.type;
2233
1998
  var _ref3 = opts || {},
2234
- _ref3$screenId = _ref3.screenId,
2235
- optsScreenId = _ref3$screenId === void 0 ? null : _ref3$screenId,
2236
- _ref3$screenType = _ref3.screenType,
2237
- optsScreenType = _ref3$screenType === void 0 ? null : _ref3$screenType;
2238
-
1999
+ _ref3$screenId = _ref3.screenId,
2000
+ optsScreenId = _ref3$screenId === void 0 ? null : _ref3$screenId,
2001
+ _ref3$screenType = _ref3.screenType,
2002
+ optsScreenType = _ref3$screenType === void 0 ? null : _ref3$screenType;
2239
2003
  var screenId = ctxScreenId !== null ? ctxScreenId : optsScreenId;
2240
2004
  var screenType = ctxScreenType !== null ? ctxScreenType : optsScreenType;
2241
2005
  return {
@@ -2243,22 +2007,17 @@ var getScreenOptions = function getScreenOptions(screenContext, opts) {
2243
2007
  screenType: screenType
2244
2008
  };
2245
2009
  };
2246
-
2247
2010
  var hasTracking = function hasTracking(tracking) {
2248
2011
  return typeof tracking !== 'undefined';
2249
2012
  };
2250
-
2251
2013
  var useTrackScreenView = function useTrackScreenView() {
2252
2014
  var tracking = useTracking();
2253
-
2254
2015
  if (!hasTracking(tracking)) {
2255
2016
  return function () {};
2256
2017
  }
2257
-
2258
2018
  return useCallback(function () {
2259
2019
  var screen = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
2260
2020
  var index = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
2261
-
2262
2021
  if (screen !== null && index !== null) {
2263
2022
  tracking.trackScreenView(screen, index);
2264
2023
  }
@@ -2267,22 +2026,17 @@ var useTrackScreenView = function useTrackScreenView() {
2267
2026
  var useTrackScreenEvent = function useTrackScreenEvent() {
2268
2027
  var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
2269
2028
  var tracking = useTracking();
2270
-
2271
2029
  if (!hasTracking(tracking)) {
2272
2030
  return function () {};
2273
2031
  }
2274
-
2275
2032
  var screenContext = useScreen();
2276
-
2277
2033
  if (screenContext.renderContext !== 'view') {
2278
2034
  return function () {};
2279
2035
  }
2280
-
2281
2036
  return useCallback(function () {
2282
2037
  var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
2283
2038
  var label = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
2284
2039
  var opts = arguments.length > 2 ? arguments[2] : undefined;
2285
-
2286
2040
  if (type !== null && action !== null) {
2287
2041
  tracking.trackEvent("screen_".concat(type), action, label, _objectSpread(_objectSpread({}, opts), getScreenOptions(screenContext, opts)));
2288
2042
  }
@@ -2291,22 +2045,17 @@ var useTrackScreenEvent = function useTrackScreenEvent() {
2291
2045
  var useTrackScreenMedia = function useTrackScreenMedia() {
2292
2046
  var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
2293
2047
  var tracking = useTracking();
2294
-
2295
2048
  if (!hasTracking(tracking)) {
2296
2049
  return function () {};
2297
2050
  }
2298
-
2299
2051
  var screenContext = useScreen();
2300
-
2301
2052
  if (screenContext.renderContext !== 'view') {
2302
2053
  return function () {};
2303
2054
  }
2304
-
2305
2055
  return useCallback(function () {
2306
2056
  var media = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
2307
2057
  var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
2308
2058
  var opts = arguments.length > 2 ? arguments[2] : undefined;
2309
-
2310
2059
  if (type !== null && media !== null && action !== null) {
2311
2060
  tracking.trackMedia("screen_".concat(type), media, action, _objectSpread(_objectSpread({}, opts), getScreenOptions(screenContext, opts)));
2312
2061
  }
@@ -2314,17 +2063,14 @@ var useTrackScreenMedia = function useTrackScreenMedia() {
2314
2063
  };
2315
2064
  var useTrackEvent = function useTrackEvent() {
2316
2065
  var tracking = useTracking();
2317
-
2318
2066
  if (!hasTracking(tracking)) {
2319
2067
  return function () {};
2320
2068
  }
2321
-
2322
2069
  return useCallback(function () {
2323
2070
  var category = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
2324
2071
  var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
2325
2072
  var label = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
2326
2073
  var opts = arguments.length > 3 ? arguments[3] : undefined;
2327
-
2328
2074
  if (category !== null && action !== null) {
2329
2075
  tracking.trackEvent(category, action, label, opts);
2330
2076
  }
@@ -2333,16 +2079,13 @@ var useTrackEvent = function useTrackEvent() {
2333
2079
  var useTrackMedia = function useTrackMedia() {
2334
2080
  var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
2335
2081
  var tracking = useTracking();
2336
-
2337
2082
  if (!hasTracking(tracking)) {
2338
2083
  return function () {};
2339
2084
  }
2340
-
2341
2085
  return useCallback(function () {
2342
2086
  var media = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
2343
2087
  var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
2344
2088
  var opts = arguments.length > 2 ? arguments[2] : undefined;
2345
-
2346
2089
  if (type !== null && media !== null && action !== null) {
2347
2090
  tracking.trackMedia(type, media, action, opts);
2348
2091
  }