@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.
- package/build/cjs/components/Media/Video/Video.js +4 -3
- package/build/cjs/components/ReactPlayer/ReactPlayer.d.ts +1 -0
- package/build/cjs/components/ReactPlayer/ReactPlayer.js +5 -5
- package/build/esm/components/Media/Video/Video.js +4 -3
- package/build/esm/components/ReactPlayer/ReactPlayer.d.ts +1 -0
- package/build/esm/components/ReactPlayer/ReactPlayer.js +5 -5
- package/package.json +1 -1
|
@@ -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
|
-
|
|
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 [
|
|
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
|
-
|
|
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: !
|
|
183
|
-
react_1.default.createElement(react_player_1.default, { className: b('player'), url: src, muted: muted, controls: controls === models_1.MediaVideoControlsType.Default, height:
|
|
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
|
-
|
|
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 [
|
|
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
|
-
|
|
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: !
|
|
180
|
-
React.createElement(ReactPlayer, { className: b('player'), url: src, muted: muted, controls: controls === MediaVideoControlsType.Default, height:
|
|
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) {
|