@gravity-ui/page-constructor 1.8.2-alpha.0 → 1.8.2-alpha.1

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.
@@ -31,15 +31,16 @@ const Video = (props) => {
31
31
  }, [playVideo, video, setHasVideoFallback]);
32
32
  const reactPlayerBlock = (0, react_1.useMemo)(() => {
33
33
  const { src, loop, controls, muted, autoplay = true, elapsedTime, playButton } = video;
34
- return (react_1.default.createElement(ReactPlayer_1.default, { className: b('react-player', videoClassName), src: src, previewImgUrl: previewImg, loop: Boolean(loop), controls: controls, muted: muted, autoplay: autoplay && playVideo, elapsedTime: elapsedTime, playButton: playButton || commonPlayButton, customBarControlsClassName: customBarControlsClassName, metrika: metrika }));
34
+ return (react_1.default.createElement(ReactPlayer_1.default, { className: b('react-player', videoClassName), src: src, previewImgUrl: previewImg, loop: Boolean(loop), controls: controls, muted: muted, autoplay: autoplay && playVideo, elapsedTime: elapsedTime, playButton: playButton || commonPlayButton, customBarControlsClassName: customBarControlsClassName, metrika: metrika, height: height }));
35
35
  }, [
36
36
  video,
37
- metrika,
37
+ height,
38
+ videoClassName,
38
39
  previewImg,
39
40
  playVideo,
40
- videoClassName,
41
41
  commonPlayButton,
42
42
  customBarControlsClassName,
43
+ metrika,
43
44
  ]);
44
45
  const defaultVideoBlock = (0, react_1.useMemo)(() => {
45
46
  return video.src.length && !hasVideoFallback ? (react_1.default.createElement("div", { className: b('wrap', videoClassName), style: { height } },
@@ -7,6 +7,7 @@ export interface ReactPlayerBlockProps extends Omit<MediaVideoProps, 'loop' | 's
7
7
  customBarControlsClassName?: string;
8
8
  showPreview?: boolean;
9
9
  onClickPreview?: () => void;
10
+ height?: number;
10
11
  children?: React.ReactNode;
11
12
  }
12
13
  export declare const ReactPlayerBlock: React.ForwardRefExoticComponent<ReactPlayerBlockProps & React.RefAttributes<ReactPlayerBlockHandler>>;
@@ -19,7 +19,7 @@ const FPS = 60;
19
19
  exports.ReactPlayerBlock = react_1.default.forwardRef((props, originRef) => {
20
20
  const isMobile = (0, react_1.useContext)(mobileContext_1.MobileContext);
21
21
  const { metrika } = (0, react_1.useContext)(metrikaContext_1.MetrikaContext);
22
- const { src, previewImgUrl, loop = false, controls = models_1.MediaVideoControlsType.Default, muted: initiallyMuted = false, elapsedTime, playButton, className, customBarControlsClassName, showPreview, onClickPreview, metrika: videoMetrika, } = props;
22
+ const { src, previewImgUrl, loop = false, controls = models_1.MediaVideoControlsType.Default, muted: initiallyMuted = false, elapsedTime, playButton, className, customBarControlsClassName, showPreview, onClickPreview, metrika: videoMetrika, height, } = props;
23
23
  const { type = models_1.PlayButtonType.Default, theme = models_1.PlayButtonThemes.Blue, text, className: buttonClassName, } = playButton || {};
24
24
  const autoPlay = Boolean(!isMobile && !previewImgUrl && props.autoplay);
25
25
  const mute = initiallyMuted || autoPlay;
@@ -28,7 +28,7 @@ exports.ReactPlayerBlock = react_1.default.forwardRef((props, originRef) => {
28
28
  const [playerRef, setPlayerRef] = (0, react_1.useState)();
29
29
  const [isPlaying, setIsPlaying] = (0, react_1.useState)(autoPlay);
30
30
  const [playedPercent, setPlayedPercent] = (0, react_1.useState)(0);
31
- const [height, setHeight] = (0, react_1.useState)(0);
31
+ const [currentHeight, setCurrentHeight] = (0, react_1.useState)(height);
32
32
  const [width, setWidth] = (0, react_1.useState)(0);
33
33
  const [muted, setMuted] = (0, react_1.useState)(mute);
34
34
  const [started, setStarted] = (0, react_1.useState)(autoPlay);
@@ -73,7 +73,7 @@ exports.ReactPlayerBlock = react_1.default.forwardRef((props, originRef) => {
73
73
  parseFloat(paddingLeft) -
74
74
  parseFloat(paddingRight);
75
75
  setWidth(newWidth);
76
- setHeight(Math.floor(getHeight(newWidth)));
76
+ setCurrentHeight(Math.floor(getHeight(newWidth)));
77
77
  }
78
78
  }, 200);
79
79
  updateSize();
@@ -179,8 +179,8 @@ exports.ReactPlayerBlock = react_1.default.forwardRef((props, originRef) => {
179
179
  },
180
180
  }, elapsedTimePercent: elapsedTimePercent }));
181
181
  }, [controls, isPlaying, customBarControlsClassName, changeMute]);
182
- return (react_1.default.createElement("div", { className: b({ wrapper: !height }, className), ref: ref, onClick: handleClick },
183
- react_1.default.createElement(react_player_1.default, { className: b('player'), url: src, muted: muted, controls: controls === models_1.MediaVideoControlsType.Default, height: height || '100%', width: width || '100%', light: previewImgUrl, playing: isPlaying, playIcon: playIcon, progressInterval: FPS, onClickPreview: handleClickPreview, onStart: onStart, onReady: setPlayerRef, onPlay: onPlay, onPause: onPause, onProgress: onProgress, onEnded: onEnded }),
182
+ return (react_1.default.createElement("div", { className: b({ wrapper: !currentHeight }, className), ref: ref, onClick: handleClick },
183
+ react_1.default.createElement(react_player_1.default, { className: b('player'), url: src, 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: onPause, onProgress: onProgress, onEnded: onEnded }),
184
184
  renderCustomBarControls(muted, playedPercent)));
185
185
  });
186
186
  function getHeight(width) {
@@ -29,15 +29,16 @@ const Video = (props) => {
29
29
  }, [playVideo, video, setHasVideoFallback]);
30
30
  const reactPlayerBlock = useMemo(() => {
31
31
  const { src, loop, controls, muted, autoplay = true, elapsedTime, playButton } = video;
32
- return (React.createElement(ReactPlayerBlock, { className: b('react-player', videoClassName), src: src, previewImgUrl: previewImg, loop: Boolean(loop), controls: controls, muted: muted, autoplay: autoplay && playVideo, elapsedTime: elapsedTime, playButton: playButton || commonPlayButton, customBarControlsClassName: customBarControlsClassName, metrika: metrika }));
32
+ return (React.createElement(ReactPlayerBlock, { className: b('react-player', videoClassName), src: src, previewImgUrl: previewImg, loop: Boolean(loop), controls: controls, muted: muted, autoplay: autoplay && playVideo, elapsedTime: elapsedTime, playButton: playButton || commonPlayButton, customBarControlsClassName: customBarControlsClassName, metrika: metrika, height: height }));
33
33
  }, [
34
34
  video,
35
- metrika,
35
+ height,
36
+ videoClassName,
36
37
  previewImg,
37
38
  playVideo,
38
- videoClassName,
39
39
  commonPlayButton,
40
40
  customBarControlsClassName,
41
+ metrika,
41
42
  ]);
42
43
  const defaultVideoBlock = useMemo(() => {
43
44
  return video.src.length && !hasVideoFallback ? (React.createElement("div", { className: b('wrap', videoClassName), style: { height } },
@@ -8,6 +8,7 @@ export interface ReactPlayerBlockProps extends Omit<MediaVideoProps, 'loop' | 's
8
8
  customBarControlsClassName?: string;
9
9
  showPreview?: boolean;
10
10
  onClickPreview?: () => void;
11
+ height?: number;
11
12
  children?: React.ReactNode;
12
13
  }
13
14
  export declare const ReactPlayerBlock: React.ForwardRefExoticComponent<ReactPlayerBlockProps & React.RefAttributes<ReactPlayerBlockHandler>>;
@@ -16,7 +16,7 @@ const FPS = 60;
16
16
  export const ReactPlayerBlock = React.forwardRef((props, originRef) => {
17
17
  const isMobile = useContext(MobileContext);
18
18
  const { metrika } = useContext(MetrikaContext);
19
- const { src, previewImgUrl, loop = false, controls = MediaVideoControlsType.Default, muted: initiallyMuted = false, elapsedTime, playButton, className, customBarControlsClassName, showPreview, onClickPreview, metrika: videoMetrika, } = props;
19
+ const { src, previewImgUrl, loop = false, controls = MediaVideoControlsType.Default, muted: initiallyMuted = false, elapsedTime, playButton, className, customBarControlsClassName, showPreview, onClickPreview, metrika: videoMetrika, height, } = props;
20
20
  const { type = PlayButtonType.Default, theme = PlayButtonThemes.Blue, text, className: buttonClassName, } = playButton || {};
21
21
  const autoPlay = Boolean(!isMobile && !previewImgUrl && props.autoplay);
22
22
  const mute = initiallyMuted || autoPlay;
@@ -25,7 +25,7 @@ export const ReactPlayerBlock = React.forwardRef((props, originRef) => {
25
25
  const [playerRef, setPlayerRef] = useState();
26
26
  const [isPlaying, setIsPlaying] = useState(autoPlay);
27
27
  const [playedPercent, setPlayedPercent] = useState(0);
28
- const [height, setHeight] = useState(0);
28
+ const [currentHeight, setCurrentHeight] = useState(height);
29
29
  const [width, setWidth] = useState(0);
30
30
  const [muted, setMuted] = useState(mute);
31
31
  const [started, setStarted] = useState(autoPlay);
@@ -70,7 +70,7 @@ export const ReactPlayerBlock = React.forwardRef((props, originRef) => {
70
70
  parseFloat(paddingLeft) -
71
71
  parseFloat(paddingRight);
72
72
  setWidth(newWidth);
73
- setHeight(Math.floor(getHeight(newWidth)));
73
+ setCurrentHeight(Math.floor(getHeight(newWidth)));
74
74
  }
75
75
  }, 200);
76
76
  updateSize();
@@ -176,8 +176,8 @@ export const ReactPlayerBlock = React.forwardRef((props, originRef) => {
176
176
  },
177
177
  }, elapsedTimePercent: elapsedTimePercent }));
178
178
  }, [controls, isPlaying, customBarControlsClassName, changeMute]);
179
- return (React.createElement("div", { className: b({ wrapper: !height }, className), ref: ref, onClick: handleClick },
180
- React.createElement(ReactPlayer, { className: b('player'), url: src, muted: muted, controls: controls === MediaVideoControlsType.Default, height: height || '100%', width: width || '100%', light: previewImgUrl, playing: isPlaying, playIcon: playIcon, progressInterval: FPS, onClickPreview: handleClickPreview, onStart: onStart, onReady: setPlayerRef, onPlay: onPlay, onPause: onPause, onProgress: onProgress, onEnded: onEnded }),
179
+ return (React.createElement("div", { className: b({ wrapper: !currentHeight }, className), ref: ref, onClick: handleClick },
180
+ React.createElement(ReactPlayer, { className: b('player'), url: src, 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: onPause, onProgress: onProgress, onEnded: onEnded }),
181
181
  renderCustomBarControls(muted, playedPercent)));
182
182
  });
183
183
  function getHeight(width) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gravity-ui/page-constructor",
3
- "version": "1.8.2-alpha.0",
3
+ "version": "1.8.2-alpha.1",
4
4
  "description": "Gravity UI Page Constructor",
5
5
  "license": "MIT",
6
6
  "repository": {