@gravity-ui/page-constructor 4.24.0 → 4.25.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -14,6 +14,7 @@ unpredictable css rules order in build */
14
14
  bottom: 0;
15
15
  opacity: 0;
16
16
  transition: opacity 300ms ease 3s;
17
+ z-index: 1;
17
18
  }
18
19
  .pc-CustomBarControls__wrapper_shown {
19
20
  opacity: 1;
@@ -38,7 +38,7 @@ exports.ReactPlayerBlock = react_1.default.forwardRef((props, originRef) => {
38
38
  const [started, setStarted] = (0, react_1.useState)(autoPlay);
39
39
  const [ended, setEnded] = (0, react_1.useState)(false);
40
40
  const [isMounted, setIsMounted] = (0, react_1.useState)(false);
41
- const [hovered, setHovered] = (0, react_1.useState)(false);
41
+ const [hovered, setHovered] = (0, react_1.useState)(isMobile);
42
42
  (0, hooks_1.useMount)(() => setIsMounted(true));
43
43
  const videoSrc = (0, react_1.useMemo)(() => (0, utils_2.checkYoutubeVideos)(src), [src]);
44
44
  const eventsArray = (0, react_1.useMemo)(() => {
@@ -213,13 +213,14 @@ exports.ReactPlayerBlock = react_1.default.forwardRef((props, originRef) => {
213
213
  }, [changeMute, customControlsType, muted, onPlayClick]);
214
214
  const onFocusIn = (0, react_1.useCallback)(() => setHovered(true), []);
215
215
  const onFocusOut = (0, react_1.useCallback)(() => setHovered(false), []);
216
+ const pictureInPictureEnabled = !isMobile || !autoPlay;
216
217
  return (react_1.default.createElement("div", { className: b({
217
218
  wrapper: !currentHeight,
218
219
  controls,
219
220
  }, className), ref: ref, onClick: handleClick, onMouseEnter: onFocusIn, onMouseLeave: onFocusOut, onFocus: onFocusIn, onBlur: onFocusOut }, isMounted ? (react_1.default.createElement(react_1.Fragment, null,
220
221
  react_1.default.createElement(react_player_1.default, { className: b('player'), url: videoSrc, muted: muted, controls: controls === models_1.MediaVideoControlsType.Default, height: currentHeight || '100%', width: width || '100%', light: previewImgUrl, playing: isPlaying, playIcon: playIcon, progressInterval: FPS, onClickPreview: handleClickPreview, onStart: onStart, onReady: setPlayerRef, onPlay: onPlay, onPause: autoPlay && customControlsType !== models_1.CustomControlsType.WithMuteButton
221
222
  ? undefined
222
- : onPause, onProgress: onProgress, onEnded: onEnded, "aria-label": ariaLabel }),
223
+ : onPause, onProgress: onProgress, onEnded: onEnded, "aria-label": ariaLabel, pip: pictureInPictureEnabled, playsinline: autoPlay }),
223
224
  controls === models_1.MediaVideoControlsType.Custom && (react_1.default.createElement(CustomBarControls_1.default, { className: customBarControlsClassName, mute: {
224
225
  isMuted: muted,
225
226
  changeMute: (event) => {
@@ -14,6 +14,7 @@ unpredictable css rules order in build */
14
14
  bottom: 0;
15
15
  opacity: 0;
16
16
  transition: opacity 300ms ease 3s;
17
+ z-index: 1;
17
18
  }
18
19
  .pc-CustomBarControls__wrapper_shown {
19
20
  opacity: 1;
@@ -35,7 +35,7 @@ export const ReactPlayerBlock = React.forwardRef((props, originRef) => {
35
35
  const [started, setStarted] = useState(autoPlay);
36
36
  const [ended, setEnded] = useState(false);
37
37
  const [isMounted, setIsMounted] = useState(false);
38
- const [hovered, setHovered] = useState(false);
38
+ const [hovered, setHovered] = useState(isMobile);
39
39
  useMount(() => setIsMounted(true));
40
40
  const videoSrc = useMemo(() => checkYoutubeVideos(src), [src]);
41
41
  const eventsArray = useMemo(() => {
@@ -210,13 +210,14 @@ export const ReactPlayerBlock = React.forwardRef((props, originRef) => {
210
210
  }, [changeMute, customControlsType, muted, onPlayClick]);
211
211
  const onFocusIn = useCallback(() => setHovered(true), []);
212
212
  const onFocusOut = useCallback(() => setHovered(false), []);
213
+ const pictureInPictureEnabled = !isMobile || !autoPlay;
213
214
  return (React.createElement("div", { className: b({
214
215
  wrapper: !currentHeight,
215
216
  controls,
216
217
  }, className), ref: ref, onClick: handleClick, onMouseEnter: onFocusIn, onMouseLeave: onFocusOut, onFocus: onFocusIn, onBlur: onFocusOut }, isMounted ? (React.createElement(Fragment, null,
217
218
  React.createElement(ReactPlayer, { className: b('player'), url: videoSrc, muted: muted, controls: controls === MediaVideoControlsType.Default, height: currentHeight || '100%', width: width || '100%', light: previewImgUrl, playing: isPlaying, playIcon: playIcon, progressInterval: FPS, onClickPreview: handleClickPreview, onStart: onStart, onReady: setPlayerRef, onPlay: onPlay, onPause: autoPlay && customControlsType !== CustomControlsType.WithMuteButton
218
219
  ? undefined
219
- : onPause, onProgress: onProgress, onEnded: onEnded, "aria-label": ariaLabel }),
220
+ : onPause, onProgress: onProgress, onEnded: onEnded, "aria-label": ariaLabel, pip: pictureInPictureEnabled, playsinline: autoPlay }),
220
221
  controls === MediaVideoControlsType.Custom && (React.createElement(CustomBarControls, { className: customBarControlsClassName, mute: {
221
222
  isMuted: muted,
222
223
  changeMute: (event) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gravity-ui/page-constructor",
3
- "version": "4.24.0",
3
+ "version": "4.25.0-alpha.0",
4
4
  "description": "Gravity UI Page Constructor",
5
5
  "license": "MIT",
6
6
  "repository": {