@folklore/hooks 0.0.21 → 0.0.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs.js +118 -24
- package/dist/es.js +115 -23
- package/package.json +2 -2
package/dist/cjs.js
CHANGED
|
@@ -192,6 +192,7 @@ var useDailymotionPlayer = function useDailymotionPlayer() {
|
|
|
192
192
|
var canceled = false;
|
|
193
193
|
|
|
194
194
|
if (!apiLoaded && videoId !== null) {
|
|
195
|
+
debug$3('Load API');
|
|
195
196
|
services.loadDailymotion().then(function (api) {
|
|
196
197
|
if (!canceled) {
|
|
197
198
|
apiRef.current = api;
|
|
@@ -232,9 +233,10 @@ var useDailymotionPlayer = function useDailymotionPlayer() {
|
|
|
232
233
|
var player = currentPlayer;
|
|
233
234
|
|
|
234
235
|
if (player !== null) {
|
|
235
|
-
player.load(
|
|
236
|
+
player.load(videoId, {
|
|
236
237
|
params: playerParams
|
|
237
238
|
});
|
|
239
|
+
debug$3('Load video [ID: %s]', videoId);
|
|
238
240
|
} else {
|
|
239
241
|
player = DM.player(element, {
|
|
240
242
|
video: videoId,
|
|
@@ -242,6 +244,7 @@ var useDailymotionPlayer = function useDailymotionPlayer() {
|
|
|
242
244
|
height: height,
|
|
243
245
|
params: playerParams
|
|
244
246
|
});
|
|
247
|
+
debug$3('Create player [ID: %s]', videoId);
|
|
245
248
|
}
|
|
246
249
|
|
|
247
250
|
if (!playerReady) {
|
|
@@ -264,6 +267,7 @@ var useDailymotionPlayer = function useDailymotionPlayer() {
|
|
|
264
267
|
|
|
265
268
|
function onPlaybackReady() {
|
|
266
269
|
setLoaded(true);
|
|
270
|
+
debug$3('onPlaybackReady [ID: %s]', videoId);
|
|
267
271
|
}
|
|
268
272
|
|
|
269
273
|
function onLoadedMetadata() {
|
|
@@ -271,6 +275,7 @@ var useDailymotionPlayer = function useDailymotionPlayer() {
|
|
|
271
275
|
duration: player.duration
|
|
272
276
|
});
|
|
273
277
|
setMetadata(currentMetadata);
|
|
278
|
+
debug$3('onLoadedMetadata [ID: %s]', videoId);
|
|
274
279
|
}
|
|
275
280
|
|
|
276
281
|
function onDurationChange() {
|
|
@@ -278,11 +283,13 @@ var useDailymotionPlayer = function useDailymotionPlayer() {
|
|
|
278
283
|
duration: player.duration
|
|
279
284
|
});
|
|
280
285
|
setMetadata(currentMetadata);
|
|
286
|
+
debug$3('onDurationChange [ID: %s]', videoId);
|
|
281
287
|
}
|
|
282
288
|
|
|
283
289
|
function onVolumeChange() {
|
|
284
290
|
setMuted(player.muted);
|
|
285
291
|
setVolumeState(player.volume);
|
|
292
|
+
debug$3('onVolumeChange [ID: %s]', videoId);
|
|
286
293
|
}
|
|
287
294
|
|
|
288
295
|
function onPlay() {
|
|
@@ -292,6 +299,7 @@ var useDailymotionPlayer = function useDailymotionPlayer() {
|
|
|
292
299
|
ended: false
|
|
293
300
|
});
|
|
294
301
|
setPlayState(currentPlayState);
|
|
302
|
+
debug$3('onPlay [ID: %s]', videoId);
|
|
295
303
|
}
|
|
296
304
|
|
|
297
305
|
function onPause() {
|
|
@@ -301,6 +309,7 @@ var useDailymotionPlayer = function useDailymotionPlayer() {
|
|
|
301
309
|
ended: false
|
|
302
310
|
});
|
|
303
311
|
setPlayState(currentPlayState);
|
|
312
|
+
debug$3('onPause [ID: %s]', videoId);
|
|
304
313
|
}
|
|
305
314
|
|
|
306
315
|
function onEnd() {
|
|
@@ -310,6 +319,7 @@ var useDailymotionPlayer = function useDailymotionPlayer() {
|
|
|
310
319
|
ended: true
|
|
311
320
|
});
|
|
312
321
|
setPlayState(currentPlayState);
|
|
322
|
+
debug$3('onEnd [ID: %s]', videoId);
|
|
313
323
|
}
|
|
314
324
|
|
|
315
325
|
function onPlaying() {
|
|
@@ -317,6 +327,7 @@ var useDailymotionPlayer = function useDailymotionPlayer() {
|
|
|
317
327
|
buffering: false
|
|
318
328
|
});
|
|
319
329
|
setPlayState(currentPlayState);
|
|
330
|
+
debug$3('onPlaying [ID: %s]', videoId);
|
|
320
331
|
}
|
|
321
332
|
|
|
322
333
|
function onWaiting() {
|
|
@@ -324,6 +335,7 @@ var useDailymotionPlayer = function useDailymotionPlayer() {
|
|
|
324
335
|
buffering: true
|
|
325
336
|
});
|
|
326
337
|
setPlayState(currentPlayState);
|
|
338
|
+
debug$3('onWaiting [ID: %s]', videoId);
|
|
327
339
|
}
|
|
328
340
|
|
|
329
341
|
function onAdStart() {
|
|
@@ -331,6 +343,7 @@ var useDailymotionPlayer = function useDailymotionPlayer() {
|
|
|
331
343
|
adPlaying: true
|
|
332
344
|
});
|
|
333
345
|
setPlayState(currentPlayState);
|
|
346
|
+
debug$3('onAdStart [ID: %s]', videoId);
|
|
334
347
|
}
|
|
335
348
|
|
|
336
349
|
function onAdEnd() {
|
|
@@ -338,6 +351,7 @@ var useDailymotionPlayer = function useDailymotionPlayer() {
|
|
|
338
351
|
adPlaying: false
|
|
339
352
|
});
|
|
340
353
|
setPlayState(currentPlayState);
|
|
354
|
+
debug$3('onAdEnd [ID: %s]', videoId);
|
|
341
355
|
}
|
|
342
356
|
|
|
343
357
|
player.addEventListener('playback_ready', onPlaybackReady);
|
|
@@ -413,33 +427,19 @@ var useDailymotionPlayer = function useDailymotionPlayer() {
|
|
|
413
427
|
}, metadata), playState);
|
|
414
428
|
};
|
|
415
429
|
|
|
416
|
-
var
|
|
430
|
+
var documentEventsManager = typeof document !== 'undefined' ? new EventsManager__default["default"](document) : null;
|
|
417
431
|
|
|
418
|
-
var
|
|
419
|
-
react.useEffect(function () {
|
|
420
|
-
if (eventsManager$1 !== null && callback !== null) {
|
|
421
|
-
eventsManager$1.subscribe(event, callback);
|
|
422
|
-
}
|
|
423
|
-
|
|
424
|
-
return function () {
|
|
425
|
-
if (eventsManager$1 !== null && callback !== null) {
|
|
426
|
-
eventsManager$1.unsubscribe(event, callback);
|
|
427
|
-
}
|
|
428
|
-
};
|
|
429
|
-
}, [event, callback]);
|
|
430
|
-
};
|
|
431
|
-
|
|
432
|
-
var eventsManager = typeof window !== 'undefined' ? new EventsManager__default["default"](window) : null;
|
|
432
|
+
var windowEventsManager = typeof window !== 'undefined' ? new EventsManager__default["default"](window) : null;
|
|
433
433
|
|
|
434
434
|
var useWindowEvent = function useWindowEvent(event, callback) {
|
|
435
435
|
react.useEffect(function () {
|
|
436
|
-
if (
|
|
437
|
-
|
|
436
|
+
if (windowEventsManager !== null && callback !== null) {
|
|
437
|
+
windowEventsManager.subscribe(event, callback);
|
|
438
438
|
}
|
|
439
439
|
|
|
440
440
|
return function () {
|
|
441
|
-
if (
|
|
442
|
-
|
|
441
|
+
if (windowEventsManager !== null && callback !== null) {
|
|
442
|
+
windowEventsManager.unsubscribe(event, callback);
|
|
443
443
|
}
|
|
444
444
|
};
|
|
445
445
|
}, [event, callback]);
|
|
@@ -994,6 +994,7 @@ function useYouTubePlayer(id) {
|
|
|
994
994
|
var canceled = false;
|
|
995
995
|
|
|
996
996
|
if (!apiLoaded && videoId !== null) {
|
|
997
|
+
debug$1('Load API');
|
|
997
998
|
services.loadYouTube().then(function (api) {
|
|
998
999
|
if (!canceled) {
|
|
999
1000
|
apiRef.current = api;
|
|
@@ -1266,6 +1267,7 @@ var useVimeoPlayer = function useVimeoPlayer(id) {
|
|
|
1266
1267
|
var canceled = false;
|
|
1267
1268
|
|
|
1268
1269
|
if (!apiLoaded && id !== null) {
|
|
1270
|
+
debug('Load API');
|
|
1269
1271
|
services.loadVimeo().then(function (api) {
|
|
1270
1272
|
if (!canceled) {
|
|
1271
1273
|
apiRef.current = api;
|
|
@@ -1435,7 +1437,8 @@ var useVimeoPlayer = function useVimeoPlayer(id) {
|
|
|
1435
1437
|
|
|
1436
1438
|
var onVolumeChange = function onVolumeChange(_ref4) {
|
|
1437
1439
|
var newVolume = _ref4.volume;
|
|
1438
|
-
|
|
1440
|
+
setVolumeState(newVolume);
|
|
1441
|
+
debug('onVolumeChange [ID: %s]', videoId);
|
|
1439
1442
|
};
|
|
1440
1443
|
|
|
1441
1444
|
var onEnded = function onEnded() {
|
|
@@ -1445,6 +1448,7 @@ var useVimeoPlayer = function useVimeoPlayer(id) {
|
|
|
1445
1448
|
ended: true,
|
|
1446
1449
|
buffering: false
|
|
1447
1450
|
});
|
|
1451
|
+
debug('onEnded [ID: %s]', videoId);
|
|
1448
1452
|
};
|
|
1449
1453
|
|
|
1450
1454
|
var onBufferStart = function onBufferStart() {
|
|
@@ -1614,9 +1618,97 @@ function useVideoPlayer(params) {
|
|
|
1614
1618
|
return player;
|
|
1615
1619
|
}
|
|
1616
1620
|
|
|
1621
|
+
var getWindowScroll = function getWindowScroll() {
|
|
1622
|
+
return {
|
|
1623
|
+
x: typeof window !== 'undefined' ? window.scrollX || 0 : 0,
|
|
1624
|
+
y: typeof window !== 'undefined' ? window.scrollY || 0 : 0
|
|
1625
|
+
};
|
|
1626
|
+
};
|
|
1627
|
+
|
|
1628
|
+
var currentScroll = getWindowScroll();
|
|
1629
|
+
|
|
1630
|
+
var useWindowScroll = function useWindowScroll() {
|
|
1631
|
+
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
1632
|
+
var _opts$onChange = opts.onChange,
|
|
1633
|
+
onChange = _opts$onChange === void 0 ? null : _opts$onChange;
|
|
1634
|
+
|
|
1635
|
+
var _useState = react.useState(currentScroll),
|
|
1636
|
+
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
1637
|
+
scroll = _useState2[0],
|
|
1638
|
+
setScroll = _useState2[1];
|
|
1639
|
+
|
|
1640
|
+
var updateScroll = react.useCallback(function () {
|
|
1641
|
+
var newScroll = getWindowScroll();
|
|
1642
|
+
|
|
1643
|
+
if (currentScroll.x !== newScroll.x || currentScroll.y !== newScroll.y) {
|
|
1644
|
+
currentScroll.x = newScroll.x;
|
|
1645
|
+
currentScroll.y = newScroll.y;
|
|
1646
|
+
setScroll(newScroll);
|
|
1647
|
+
return newScroll;
|
|
1648
|
+
}
|
|
1649
|
+
|
|
1650
|
+
return null;
|
|
1651
|
+
}, [setScroll]);
|
|
1652
|
+
var onScroll = react.useCallback(function () {
|
|
1653
|
+
var newScroll = updateScroll();
|
|
1654
|
+
|
|
1655
|
+
if (newScroll !== null && onChange !== null) {
|
|
1656
|
+
onChange(newScroll);
|
|
1657
|
+
}
|
|
1658
|
+
}, [updateScroll, onChange]);
|
|
1659
|
+
useWindowEvent('scroll', onScroll);
|
|
1660
|
+
react.useEffect(function () {
|
|
1661
|
+
onScroll();
|
|
1662
|
+
}, []);
|
|
1663
|
+
return scroll;
|
|
1664
|
+
};
|
|
1665
|
+
|
|
1666
|
+
var getWindowSize = function getWindowSize() {
|
|
1667
|
+
return {
|
|
1668
|
+
width: typeof window !== 'undefined' ? window.innerWidth || 0 : 0,
|
|
1669
|
+
height: typeof window !== 'undefined' ? window.innerHeight || 0 : 0
|
|
1670
|
+
};
|
|
1671
|
+
};
|
|
1672
|
+
var currentSize = getWindowSize();
|
|
1673
|
+
|
|
1674
|
+
function useWindowSize() {
|
|
1675
|
+
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
1676
|
+
_ref$onChange = _ref.onChange,
|
|
1677
|
+
onChange = _ref$onChange === void 0 ? null : _ref$onChange;
|
|
1678
|
+
|
|
1679
|
+
var _useState = react.useState(currentSize),
|
|
1680
|
+
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
1681
|
+
size = _useState2[0],
|
|
1682
|
+
setSize = _useState2[1];
|
|
1683
|
+
|
|
1684
|
+
var updateSize = react.useCallback(function () {
|
|
1685
|
+
var newSize = getWindowSize();
|
|
1686
|
+
|
|
1687
|
+
if (currentSize.width !== newSize.width || currentSize.height !== newSize.height) {
|
|
1688
|
+
currentSize = newSize;
|
|
1689
|
+
setSize(newSize);
|
|
1690
|
+
return newSize;
|
|
1691
|
+
}
|
|
1692
|
+
|
|
1693
|
+
return null;
|
|
1694
|
+
}, [setSize]);
|
|
1695
|
+
var onResize = react.useCallback(function () {
|
|
1696
|
+
var newSize = updateSize();
|
|
1697
|
+
|
|
1698
|
+
if (newSize !== null && onChange !== null) {
|
|
1699
|
+
onChange(newSize);
|
|
1700
|
+
}
|
|
1701
|
+
}, [onChange]);
|
|
1702
|
+
useWindowEvent('resize', onResize);
|
|
1703
|
+
react.useEffect(function () {
|
|
1704
|
+
onResize();
|
|
1705
|
+
}, []);
|
|
1706
|
+
return size;
|
|
1707
|
+
}
|
|
1708
|
+
|
|
1709
|
+
exports.documentEventsManager = documentEventsManager;
|
|
1617
1710
|
exports.getObserver = getObserver;
|
|
1618
1711
|
exports.useDailymotionPlayer = useDailymotionPlayer;
|
|
1619
|
-
exports.useDocumentEvent = useDocumentEvent;
|
|
1620
1712
|
exports.useIntersectionObserver = useIntersectionObserver;
|
|
1621
1713
|
exports.useKeyboard = useKeyboard;
|
|
1622
1714
|
exports.useNativeVideoPlayer = useNativeVideoPlayer;
|
|
@@ -1625,5 +1717,7 @@ exports.usePlayerCurrentTime = usePlayerCurrentTime;
|
|
|
1625
1717
|
exports.useResizeObserver = useResizeObserver;
|
|
1626
1718
|
exports.useVideoPlayer = useVideoPlayer;
|
|
1627
1719
|
exports.useVimeoPlayer = useVimeoPlayer;
|
|
1628
|
-
exports.
|
|
1720
|
+
exports.useWindowScroll = useWindowScroll;
|
|
1721
|
+
exports.useWindowSize = useWindowSize;
|
|
1629
1722
|
exports.useYouTubePlayer = useYouTubePlayer;
|
|
1723
|
+
exports.windowEventsManager = windowEventsManager;
|
package/dist/es.js
CHANGED
|
@@ -180,6 +180,7 @@ var useDailymotionPlayer = function useDailymotionPlayer() {
|
|
|
180
180
|
var canceled = false;
|
|
181
181
|
|
|
182
182
|
if (!apiLoaded && videoId !== null) {
|
|
183
|
+
debug$3('Load API');
|
|
183
184
|
loadDailymotion().then(function (api) {
|
|
184
185
|
if (!canceled) {
|
|
185
186
|
apiRef.current = api;
|
|
@@ -220,9 +221,10 @@ var useDailymotionPlayer = function useDailymotionPlayer() {
|
|
|
220
221
|
var player = currentPlayer;
|
|
221
222
|
|
|
222
223
|
if (player !== null) {
|
|
223
|
-
player.load(
|
|
224
|
+
player.load(videoId, {
|
|
224
225
|
params: playerParams
|
|
225
226
|
});
|
|
227
|
+
debug$3('Load video [ID: %s]', videoId);
|
|
226
228
|
} else {
|
|
227
229
|
player = DM.player(element, {
|
|
228
230
|
video: videoId,
|
|
@@ -230,6 +232,7 @@ var useDailymotionPlayer = function useDailymotionPlayer() {
|
|
|
230
232
|
height: height,
|
|
231
233
|
params: playerParams
|
|
232
234
|
});
|
|
235
|
+
debug$3('Create player [ID: %s]', videoId);
|
|
233
236
|
}
|
|
234
237
|
|
|
235
238
|
if (!playerReady) {
|
|
@@ -252,6 +255,7 @@ var useDailymotionPlayer = function useDailymotionPlayer() {
|
|
|
252
255
|
|
|
253
256
|
function onPlaybackReady() {
|
|
254
257
|
setLoaded(true);
|
|
258
|
+
debug$3('onPlaybackReady [ID: %s]', videoId);
|
|
255
259
|
}
|
|
256
260
|
|
|
257
261
|
function onLoadedMetadata() {
|
|
@@ -259,6 +263,7 @@ var useDailymotionPlayer = function useDailymotionPlayer() {
|
|
|
259
263
|
duration: player.duration
|
|
260
264
|
});
|
|
261
265
|
setMetadata(currentMetadata);
|
|
266
|
+
debug$3('onLoadedMetadata [ID: %s]', videoId);
|
|
262
267
|
}
|
|
263
268
|
|
|
264
269
|
function onDurationChange() {
|
|
@@ -266,11 +271,13 @@ var useDailymotionPlayer = function useDailymotionPlayer() {
|
|
|
266
271
|
duration: player.duration
|
|
267
272
|
});
|
|
268
273
|
setMetadata(currentMetadata);
|
|
274
|
+
debug$3('onDurationChange [ID: %s]', videoId);
|
|
269
275
|
}
|
|
270
276
|
|
|
271
277
|
function onVolumeChange() {
|
|
272
278
|
setMuted(player.muted);
|
|
273
279
|
setVolumeState(player.volume);
|
|
280
|
+
debug$3('onVolumeChange [ID: %s]', videoId);
|
|
274
281
|
}
|
|
275
282
|
|
|
276
283
|
function onPlay() {
|
|
@@ -280,6 +287,7 @@ var useDailymotionPlayer = function useDailymotionPlayer() {
|
|
|
280
287
|
ended: false
|
|
281
288
|
});
|
|
282
289
|
setPlayState(currentPlayState);
|
|
290
|
+
debug$3('onPlay [ID: %s]', videoId);
|
|
283
291
|
}
|
|
284
292
|
|
|
285
293
|
function onPause() {
|
|
@@ -289,6 +297,7 @@ var useDailymotionPlayer = function useDailymotionPlayer() {
|
|
|
289
297
|
ended: false
|
|
290
298
|
});
|
|
291
299
|
setPlayState(currentPlayState);
|
|
300
|
+
debug$3('onPause [ID: %s]', videoId);
|
|
292
301
|
}
|
|
293
302
|
|
|
294
303
|
function onEnd() {
|
|
@@ -298,6 +307,7 @@ var useDailymotionPlayer = function useDailymotionPlayer() {
|
|
|
298
307
|
ended: true
|
|
299
308
|
});
|
|
300
309
|
setPlayState(currentPlayState);
|
|
310
|
+
debug$3('onEnd [ID: %s]', videoId);
|
|
301
311
|
}
|
|
302
312
|
|
|
303
313
|
function onPlaying() {
|
|
@@ -305,6 +315,7 @@ var useDailymotionPlayer = function useDailymotionPlayer() {
|
|
|
305
315
|
buffering: false
|
|
306
316
|
});
|
|
307
317
|
setPlayState(currentPlayState);
|
|
318
|
+
debug$3('onPlaying [ID: %s]', videoId);
|
|
308
319
|
}
|
|
309
320
|
|
|
310
321
|
function onWaiting() {
|
|
@@ -312,6 +323,7 @@ var useDailymotionPlayer = function useDailymotionPlayer() {
|
|
|
312
323
|
buffering: true
|
|
313
324
|
});
|
|
314
325
|
setPlayState(currentPlayState);
|
|
326
|
+
debug$3('onWaiting [ID: %s]', videoId);
|
|
315
327
|
}
|
|
316
328
|
|
|
317
329
|
function onAdStart() {
|
|
@@ -319,6 +331,7 @@ var useDailymotionPlayer = function useDailymotionPlayer() {
|
|
|
319
331
|
adPlaying: true
|
|
320
332
|
});
|
|
321
333
|
setPlayState(currentPlayState);
|
|
334
|
+
debug$3('onAdStart [ID: %s]', videoId);
|
|
322
335
|
}
|
|
323
336
|
|
|
324
337
|
function onAdEnd() {
|
|
@@ -326,6 +339,7 @@ var useDailymotionPlayer = function useDailymotionPlayer() {
|
|
|
326
339
|
adPlaying: false
|
|
327
340
|
});
|
|
328
341
|
setPlayState(currentPlayState);
|
|
342
|
+
debug$3('onAdEnd [ID: %s]', videoId);
|
|
329
343
|
}
|
|
330
344
|
|
|
331
345
|
player.addEventListener('playback_ready', onPlaybackReady);
|
|
@@ -401,33 +415,19 @@ var useDailymotionPlayer = function useDailymotionPlayer() {
|
|
|
401
415
|
}, metadata), playState);
|
|
402
416
|
};
|
|
403
417
|
|
|
404
|
-
var
|
|
418
|
+
var documentEventsManager = typeof document !== 'undefined' ? new EventsManager(document) : null;
|
|
405
419
|
|
|
406
|
-
var
|
|
407
|
-
useEffect(function () {
|
|
408
|
-
if (eventsManager$1 !== null && callback !== null) {
|
|
409
|
-
eventsManager$1.subscribe(event, callback);
|
|
410
|
-
}
|
|
411
|
-
|
|
412
|
-
return function () {
|
|
413
|
-
if (eventsManager$1 !== null && callback !== null) {
|
|
414
|
-
eventsManager$1.unsubscribe(event, callback);
|
|
415
|
-
}
|
|
416
|
-
};
|
|
417
|
-
}, [event, callback]);
|
|
418
|
-
};
|
|
419
|
-
|
|
420
|
-
var eventsManager = typeof window !== 'undefined' ? new EventsManager(window) : null;
|
|
420
|
+
var windowEventsManager = typeof window !== 'undefined' ? new EventsManager(window) : null;
|
|
421
421
|
|
|
422
422
|
var useWindowEvent = function useWindowEvent(event, callback) {
|
|
423
423
|
useEffect(function () {
|
|
424
|
-
if (
|
|
425
|
-
|
|
424
|
+
if (windowEventsManager !== null && callback !== null) {
|
|
425
|
+
windowEventsManager.subscribe(event, callback);
|
|
426
426
|
}
|
|
427
427
|
|
|
428
428
|
return function () {
|
|
429
|
-
if (
|
|
430
|
-
|
|
429
|
+
if (windowEventsManager !== null && callback !== null) {
|
|
430
|
+
windowEventsManager.unsubscribe(event, callback);
|
|
431
431
|
}
|
|
432
432
|
};
|
|
433
433
|
}, [event, callback]);
|
|
@@ -982,6 +982,7 @@ function useYouTubePlayer(id) {
|
|
|
982
982
|
var canceled = false;
|
|
983
983
|
|
|
984
984
|
if (!apiLoaded && videoId !== null) {
|
|
985
|
+
debug$1('Load API');
|
|
985
986
|
loadYouTube().then(function (api) {
|
|
986
987
|
if (!canceled) {
|
|
987
988
|
apiRef.current = api;
|
|
@@ -1254,6 +1255,7 @@ var useVimeoPlayer = function useVimeoPlayer(id) {
|
|
|
1254
1255
|
var canceled = false;
|
|
1255
1256
|
|
|
1256
1257
|
if (!apiLoaded && id !== null) {
|
|
1258
|
+
debug('Load API');
|
|
1257
1259
|
loadVimeo().then(function (api) {
|
|
1258
1260
|
if (!canceled) {
|
|
1259
1261
|
apiRef.current = api;
|
|
@@ -1423,7 +1425,8 @@ var useVimeoPlayer = function useVimeoPlayer(id) {
|
|
|
1423
1425
|
|
|
1424
1426
|
var onVolumeChange = function onVolumeChange(_ref4) {
|
|
1425
1427
|
var newVolume = _ref4.volume;
|
|
1426
|
-
|
|
1428
|
+
setVolumeState(newVolume);
|
|
1429
|
+
debug('onVolumeChange [ID: %s]', videoId);
|
|
1427
1430
|
};
|
|
1428
1431
|
|
|
1429
1432
|
var onEnded = function onEnded() {
|
|
@@ -1433,6 +1436,7 @@ var useVimeoPlayer = function useVimeoPlayer(id) {
|
|
|
1433
1436
|
ended: true,
|
|
1434
1437
|
buffering: false
|
|
1435
1438
|
});
|
|
1439
|
+
debug('onEnded [ID: %s]', videoId);
|
|
1436
1440
|
};
|
|
1437
1441
|
|
|
1438
1442
|
var onBufferStart = function onBufferStart() {
|
|
@@ -1602,4 +1606,92 @@ function useVideoPlayer(params) {
|
|
|
1602
1606
|
return player;
|
|
1603
1607
|
}
|
|
1604
1608
|
|
|
1605
|
-
|
|
1609
|
+
var getWindowScroll = function getWindowScroll() {
|
|
1610
|
+
return {
|
|
1611
|
+
x: typeof window !== 'undefined' ? window.scrollX || 0 : 0,
|
|
1612
|
+
y: typeof window !== 'undefined' ? window.scrollY || 0 : 0
|
|
1613
|
+
};
|
|
1614
|
+
};
|
|
1615
|
+
|
|
1616
|
+
var currentScroll = getWindowScroll();
|
|
1617
|
+
|
|
1618
|
+
var useWindowScroll = function useWindowScroll() {
|
|
1619
|
+
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
1620
|
+
var _opts$onChange = opts.onChange,
|
|
1621
|
+
onChange = _opts$onChange === void 0 ? null : _opts$onChange;
|
|
1622
|
+
|
|
1623
|
+
var _useState = useState(currentScroll),
|
|
1624
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
1625
|
+
scroll = _useState2[0],
|
|
1626
|
+
setScroll = _useState2[1];
|
|
1627
|
+
|
|
1628
|
+
var updateScroll = useCallback(function () {
|
|
1629
|
+
var newScroll = getWindowScroll();
|
|
1630
|
+
|
|
1631
|
+
if (currentScroll.x !== newScroll.x || currentScroll.y !== newScroll.y) {
|
|
1632
|
+
currentScroll.x = newScroll.x;
|
|
1633
|
+
currentScroll.y = newScroll.y;
|
|
1634
|
+
setScroll(newScroll);
|
|
1635
|
+
return newScroll;
|
|
1636
|
+
}
|
|
1637
|
+
|
|
1638
|
+
return null;
|
|
1639
|
+
}, [setScroll]);
|
|
1640
|
+
var onScroll = useCallback(function () {
|
|
1641
|
+
var newScroll = updateScroll();
|
|
1642
|
+
|
|
1643
|
+
if (newScroll !== null && onChange !== null) {
|
|
1644
|
+
onChange(newScroll);
|
|
1645
|
+
}
|
|
1646
|
+
}, [updateScroll, onChange]);
|
|
1647
|
+
useWindowEvent('scroll', onScroll);
|
|
1648
|
+
useEffect(function () {
|
|
1649
|
+
onScroll();
|
|
1650
|
+
}, []);
|
|
1651
|
+
return scroll;
|
|
1652
|
+
};
|
|
1653
|
+
|
|
1654
|
+
var getWindowSize = function getWindowSize() {
|
|
1655
|
+
return {
|
|
1656
|
+
width: typeof window !== 'undefined' ? window.innerWidth || 0 : 0,
|
|
1657
|
+
height: typeof window !== 'undefined' ? window.innerHeight || 0 : 0
|
|
1658
|
+
};
|
|
1659
|
+
};
|
|
1660
|
+
var currentSize = getWindowSize();
|
|
1661
|
+
|
|
1662
|
+
function useWindowSize() {
|
|
1663
|
+
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
1664
|
+
_ref$onChange = _ref.onChange,
|
|
1665
|
+
onChange = _ref$onChange === void 0 ? null : _ref$onChange;
|
|
1666
|
+
|
|
1667
|
+
var _useState = useState(currentSize),
|
|
1668
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
1669
|
+
size = _useState2[0],
|
|
1670
|
+
setSize = _useState2[1];
|
|
1671
|
+
|
|
1672
|
+
var updateSize = useCallback(function () {
|
|
1673
|
+
var newSize = getWindowSize();
|
|
1674
|
+
|
|
1675
|
+
if (currentSize.width !== newSize.width || currentSize.height !== newSize.height) {
|
|
1676
|
+
currentSize = newSize;
|
|
1677
|
+
setSize(newSize);
|
|
1678
|
+
return newSize;
|
|
1679
|
+
}
|
|
1680
|
+
|
|
1681
|
+
return null;
|
|
1682
|
+
}, [setSize]);
|
|
1683
|
+
var onResize = useCallback(function () {
|
|
1684
|
+
var newSize = updateSize();
|
|
1685
|
+
|
|
1686
|
+
if (newSize !== null && onChange !== null) {
|
|
1687
|
+
onChange(newSize);
|
|
1688
|
+
}
|
|
1689
|
+
}, [onChange]);
|
|
1690
|
+
useWindowEvent('resize', onResize);
|
|
1691
|
+
useEffect(function () {
|
|
1692
|
+
onResize();
|
|
1693
|
+
}, []);
|
|
1694
|
+
return size;
|
|
1695
|
+
}
|
|
1696
|
+
|
|
1697
|
+
export { documentEventsManager, getObserver, useDailymotionPlayer, useIntersectionObserver, useKeyboard, useNativeVideoPlayer, useObserver, usePlayerCurrentTime, useResizeObserver, useVideoPlayer, useVimeoPlayer, useWindowScroll, useWindowSize, useYouTubePlayer, windowEventsManager };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@folklore/hooks",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.24",
|
|
4
4
|
"description": "React hooks",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"javascript",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"publishConfig": {
|
|
49
49
|
"access": "public"
|
|
50
50
|
},
|
|
51
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "0a4dfa874995de462b43cf1e0f215b3fb40e0a99",
|
|
52
52
|
"dependencies": {
|
|
53
53
|
"@folklore/events": "^0.0.3",
|
|
54
54
|
"@folklore/services": "^0.1.36",
|