analytica-frontend-lib 1.1.86 → 1.1.87
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/VideoPlayer/index.js +41 -4
- package/dist/VideoPlayer/index.js.map +1 -1
- package/dist/VideoPlayer/index.mjs +41 -4
- package/dist/VideoPlayer/index.mjs.map +1 -1
- package/dist/index.js +41 -4
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +41 -4
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -8649,6 +8649,8 @@ var VideoPlayer = ({
|
|
|
8649
8649
|
}
|
|
8650
8650
|
}, [isPlaying, isFullscreen, showControlsWithTimer, clearControlsTimeout]);
|
|
8651
8651
|
useEffect15(() => {
|
|
8652
|
+
const video = videoRef.current;
|
|
8653
|
+
if (!video) return;
|
|
8652
8654
|
const handleFullscreenChange = () => {
|
|
8653
8655
|
const isCurrentlyFullscreen = !!document.fullscreenElement;
|
|
8654
8656
|
setIsFullscreen(isCurrentlyFullscreen);
|
|
@@ -8656,9 +8658,29 @@ var VideoPlayer = ({
|
|
|
8656
8658
|
showControlsWithTimer();
|
|
8657
8659
|
}
|
|
8658
8660
|
};
|
|
8661
|
+
const handleWebkitBeginFullscreen = () => {
|
|
8662
|
+
setIsFullscreen(true);
|
|
8663
|
+
showControlsWithTimer();
|
|
8664
|
+
};
|
|
8665
|
+
const handleWebkitEndFullscreen = () => {
|
|
8666
|
+
setIsFullscreen(false);
|
|
8667
|
+
};
|
|
8659
8668
|
document.addEventListener("fullscreenchange", handleFullscreenChange);
|
|
8669
|
+
video.addEventListener(
|
|
8670
|
+
"webkitbeginfullscreen",
|
|
8671
|
+
handleWebkitBeginFullscreen
|
|
8672
|
+
);
|
|
8673
|
+
video.addEventListener("webkitendfullscreen", handleWebkitEndFullscreen);
|
|
8660
8674
|
return () => {
|
|
8661
8675
|
document.removeEventListener("fullscreenchange", handleFullscreenChange);
|
|
8676
|
+
video.removeEventListener(
|
|
8677
|
+
"webkitbeginfullscreen",
|
|
8678
|
+
handleWebkitBeginFullscreen
|
|
8679
|
+
);
|
|
8680
|
+
video.removeEventListener(
|
|
8681
|
+
"webkitendfullscreen",
|
|
8682
|
+
handleWebkitEndFullscreen
|
|
8683
|
+
);
|
|
8662
8684
|
};
|
|
8663
8685
|
}, [showControlsWithTimer]);
|
|
8664
8686
|
useEffect15(() => {
|
|
@@ -8765,15 +8787,30 @@ var VideoPlayer = ({
|
|
|
8765
8787
|
video.currentTime = newTime;
|
|
8766
8788
|
}
|
|
8767
8789
|
}, []);
|
|
8790
|
+
const isSafariIOS = useCallback3(() => {
|
|
8791
|
+
const ua = navigator.userAgent;
|
|
8792
|
+
const isIOS = /iPad|iPhone|iPod/.test(ua);
|
|
8793
|
+
const isWebKit = /WebKit/.test(ua);
|
|
8794
|
+
const isNotChrome = !/CriOS|Chrome/.test(ua);
|
|
8795
|
+
return isIOS && isWebKit && isNotChrome;
|
|
8796
|
+
}, []);
|
|
8768
8797
|
const toggleFullscreen = useCallback3(() => {
|
|
8769
|
-
const
|
|
8770
|
-
|
|
8771
|
-
if (!
|
|
8798
|
+
const video = videoRef.current;
|
|
8799
|
+
const container = video?.parentElement;
|
|
8800
|
+
if (!video || !container) return;
|
|
8801
|
+
if (isSafariIOS()) {
|
|
8802
|
+
const videoElement = video;
|
|
8803
|
+
if (!isFullscreen && videoElement.webkitEnterFullscreen) {
|
|
8804
|
+
videoElement.webkitEnterFullscreen();
|
|
8805
|
+
} else if (isFullscreen && videoElement.webkitExitFullscreen) {
|
|
8806
|
+
videoElement.webkitExitFullscreen();
|
|
8807
|
+
}
|
|
8808
|
+
} else if (!isFullscreen && container.requestFullscreen) {
|
|
8772
8809
|
container.requestFullscreen();
|
|
8773
8810
|
} else if (isFullscreen && document.exitFullscreen) {
|
|
8774
8811
|
document.exitFullscreen();
|
|
8775
8812
|
}
|
|
8776
|
-
}, [isFullscreen]);
|
|
8813
|
+
}, [isFullscreen, isSafariIOS]);
|
|
8777
8814
|
const handleSpeedChange = useCallback3((speed) => {
|
|
8778
8815
|
if (videoRef.current) {
|
|
8779
8816
|
videoRef.current.playbackRate = speed;
|