pds-dev-kit-web-test 2.5.359 → 2.5.361
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/src/sub/DynamicLayout/components/Section/components/CustomSectionBackgroundMedia.js +11 -9
- package/dist/src/sub/DynamicLayout/components/Section/components/VideoBGMedia.d.ts +8 -0
- package/dist/src/sub/DynamicLayout/components/Section/components/VideoBGMedia.js +61 -0
- package/dist/src/sub/DynamicLayout/mocks.js +1 -1
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/VideoPlayer/VideoPlayer.js +27 -27
- package/package.json +1 -1
package/dist/src/sub/DynamicLayout/components/Section/components/CustomSectionBackgroundMedia.js
CHANGED
@@ -37,6 +37,9 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
37
37
|
__setModuleDefault(result, mod);
|
38
38
|
return result;
|
39
39
|
};
|
40
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
41
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
42
|
+
};
|
40
43
|
Object.defineProperty(exports, "__esModule", { value: true });
|
41
44
|
exports.CustomSectionBackgroundMedia = void 0;
|
42
45
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
@@ -45,6 +48,7 @@ var utils_1 = require("../../../../DynamicLayout/utils");
|
|
45
48
|
var styled_components_1 = __importStar(require("styled-components"));
|
46
49
|
var YouTubeIframe_1 = require("../../YouTubeIframe");
|
47
50
|
var util_1 = require("../util");
|
51
|
+
var VideoBGMedia_1 = __importDefault(require("./VideoBGMedia"));
|
48
52
|
function CustomSectionBackgroundMedia(_a) {
|
49
53
|
var specs = _a.specs, playerId = _a.playerId, mediaType = _a.mediaType, componentStyle = _a.componentStyle, device = _a.device, backgroundRef = _a.backgroundRef;
|
50
54
|
var _b = (0, util_1.parseSectionBackgroundMediaData)(specs, device), CB_STYLE_PROP_BGMEDIA_SPEC_YSRC = _b.CB_STYLE_PROP_BGMEDIA_SPEC_YSRC, CB_STYLE_PROP_BGMEDIA_SPEC_REPLAY = _b.CB_STYLE_PROP_BGMEDIA_SPEC_REPLAY, CB_STYLE_PROP_BGMEDIA_SPEC_STARTTIME = _b.CB_STYLE_PROP_BGMEDIA_SPEC_STARTTIME, CB_STYLE_PROP_BGMEDIA_SPEC_ENDTIME = _b.CB_STYLE_PROP_BGMEDIA_SPEC_ENDTIME, CB_STYLE_PROP_BGMEDIA_SPEC_IMAGESELECTOR = _b.CB_STYLE_PROP_BGMEDIA_SPEC_IMAGESELECTOR, CB_STYLE_PROP_BGMEDIA_SPEC_VIDEOSELECTOR = _b.CB_STYLE_PROP_BGMEDIA_SPEC_VIDEOSELECTOR;
|
@@ -99,38 +103,36 @@ function CustomSectionBackgroundMedia(_a) {
|
|
99
103
|
if ('background' in componentStyle) {
|
100
104
|
delete componentStyle.background;
|
101
105
|
}
|
102
|
-
console.log('media type', mediaType);
|
103
106
|
switch (mediaType) {
|
104
107
|
case 'IMAGE':
|
105
108
|
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: CB_STYLE_PROP_BGMEDIA_SPEC_IMAGESELECTOR && ((0, jsx_runtime_1.jsx)(S_Image, __assign({ src: String(CB_STYLE_PROP_BGMEDIA_SPEC_IMAGESELECTOR), normalStyle: componentStyle }, { children: (0, jsx_runtime_1.jsx)("img", { src: String(CB_STYLE_PROP_BGMEDIA_SPEC_IMAGESELECTOR), style: { visibility: 'hidden', width: '100%', height: '100%' } }) }))) }));
|
106
109
|
case 'YOUTUBE':
|
107
110
|
return ((0, jsx_runtime_1.jsx)(S_YoutubeContainer, __assign({}, youtubeSize, { children: youtubeSize.height > 0 && youtubeSize.width > 0 && ((0, jsx_runtime_1.jsx)(YouTubeIframe_1.YouTubeIframe, { src: String(CB_STYLE_PROP_BGMEDIA_SPEC_YSRC), id: playerId, loopMode: CB_STYLE_PROP_BGMEDIA_SPEC_REPLAY ? 'use' : 'none', startSeconds: Number(CB_STYLE_PROP_BGMEDIA_SPEC_STARTTIME), endSeconds: Number(CB_STYLE_PROP_BGMEDIA_SPEC_ENDTIME), customHeight: youtubeSize.height, customWidth: youtubeSize.width }, youTubeIframeKey)) })));
|
108
|
-
case 'NONE':
|
109
111
|
case 'VIDEO':
|
110
|
-
return ((0, jsx_runtime_1.jsx)(
|
112
|
+
return ((0, jsx_runtime_1.jsx)(VideoBGMedia_1.default, { src: String(CB_STYLE_PROP_BGMEDIA_SPEC_VIDEOSELECTOR), startTime: Number(CB_STYLE_PROP_BGMEDIA_SPEC_STARTTIME), endTime: Number(CB_STYLE_PROP_BGMEDIA_SPEC_ENDTIME), loop: !!CB_STYLE_PROP_BGMEDIA_SPEC_REPLAY }));
|
113
|
+
case 'NONE':
|
111
114
|
default:
|
112
115
|
return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
|
113
116
|
}
|
114
117
|
}
|
115
118
|
exports.CustomSectionBackgroundMedia = CustomSectionBackgroundMedia;
|
116
|
-
var
|
117
|
-
var S_Image = styled_components_1.default.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n background-image: ", ";\n background-repeat: no-repeat;\n height: 100%;\n width: 100%;\n\n ", ";\n\n & img {\n ", ";\n }\n"], ["\n background-image: ", ";\n background-repeat: no-repeat;\n height: 100%;\n width: 100%;\n\n ", ";\n\n & img {\n ", ";\n }\n"])), function (_a) {
|
119
|
+
var S_Image = styled_components_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n background-image: ", ";\n background-repeat: no-repeat;\n height: 100%;\n width: 100%;\n\n ", ";\n\n & img {\n ", ";\n }\n"], ["\n background-image: ", ";\n background-repeat: no-repeat;\n height: 100%;\n width: 100%;\n\n ", ";\n\n & img {\n ", ";\n }\n"])), function (_a) {
|
118
120
|
var src = _a.src;
|
119
121
|
return "url(".concat(src, ")");
|
120
122
|
}, function (_a) {
|
121
123
|
var normalStyle = _a.normalStyle;
|
122
124
|
var isContain = normalStyle.backgroundSize === 'contain';
|
123
|
-
return (0, styled_components_1.css)(
|
125
|
+
return (0, styled_components_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n ", "\n "], ["\n ", "\n "])), __assign(__assign({}, normalStyle), { backgroundPosition: isContain ? 'center' : normalStyle.backgroundPosition }));
|
124
126
|
}, function (_a) {
|
125
127
|
var normalStyle = _a.normalStyle;
|
126
128
|
var isContain = normalStyle.backgroundSize === 'contain';
|
127
|
-
return (0, styled_components_1.css)(
|
129
|
+
return (0, styled_components_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n object-fit: ", ";\n "], ["\n object-fit: ", ";\n "])), isContain ? 'contain' : 'cover');
|
128
130
|
});
|
129
|
-
var S_YoutubeContainer = styled_components_1.default.div(
|
131
|
+
var S_YoutubeContainer = styled_components_1.default.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n height: ", ";\n width: ", ";\n"], ["\n height: ", ";\n width: ", ";\n"])), function (_a) {
|
130
132
|
var height = _a.height;
|
131
133
|
return "".concat(height, "px");
|
132
134
|
}, function (_a) {
|
133
135
|
var width = _a.width;
|
134
136
|
return "".concat(width, "px");
|
135
137
|
});
|
136
|
-
var templateObject_1, templateObject_2, templateObject_3, templateObject_4
|
138
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4;
|
@@ -0,0 +1,61 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
3
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
4
|
+
return cooked;
|
5
|
+
};
|
6
|
+
var __assign = (this && this.__assign) || function () {
|
7
|
+
__assign = Object.assign || function(t) {
|
8
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
9
|
+
s = arguments[i];
|
10
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
11
|
+
t[p] = s[p];
|
12
|
+
}
|
13
|
+
return t;
|
14
|
+
};
|
15
|
+
return __assign.apply(this, arguments);
|
16
|
+
};
|
17
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
18
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
19
|
+
};
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
21
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
22
|
+
var react_1 = require("react");
|
23
|
+
var styled_components_1 = __importDefault(require("styled-components"));
|
24
|
+
function VideoBGMedia(_a) {
|
25
|
+
var src = _a.src, startTime = _a.startTime, endTime = _a.endTime, loop = _a.loop;
|
26
|
+
var videoRef = (0, react_1.useRef)(null);
|
27
|
+
(0, react_1.useEffect)(function () {
|
28
|
+
var video = videoRef.current;
|
29
|
+
if (!video)
|
30
|
+
return;
|
31
|
+
// 시작 시간으로 이동
|
32
|
+
var handleLoadedMetadata = function () {
|
33
|
+
if (typeof startTime === 'number') {
|
34
|
+
video.currentTime = startTime;
|
35
|
+
video.play();
|
36
|
+
}
|
37
|
+
};
|
38
|
+
// 구간 반복
|
39
|
+
var handleTimeUpdate = function () {
|
40
|
+
if (typeof startTime === 'number' && typeof endTime === 'number') {
|
41
|
+
if (video.currentTime < startTime) {
|
42
|
+
video.currentTime = startTime;
|
43
|
+
}
|
44
|
+
if (video.currentTime >= endTime) {
|
45
|
+
video.currentTime = startTime;
|
46
|
+
video.play();
|
47
|
+
}
|
48
|
+
}
|
49
|
+
};
|
50
|
+
video.addEventListener('loadedmetadata', handleLoadedMetadata);
|
51
|
+
video.addEventListener('timeupdate', handleTimeUpdate);
|
52
|
+
return function () {
|
53
|
+
video.removeEventListener('loadedmetadata', handleLoadedMetadata);
|
54
|
+
video.removeEventListener('timeupdate', handleTimeUpdate);
|
55
|
+
};
|
56
|
+
}, [startTime, loop, endTime]);
|
57
|
+
return ((0, jsx_runtime_1.jsx)(S_Video, __assign({ ref: videoRef, autoPlay: true, muted: true, playsInline: true }, { children: (0, jsx_runtime_1.jsx)("source", { src: src, type: "video/mp4" }) }), src));
|
58
|
+
}
|
59
|
+
var S_Video = styled_components_1.default.video(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n height: 100%;\n left: 0;\n object-fit: cover;\n position: absolute;\n top: 0;\n width: 100%;\n z-index: -9999;\n"], ["\n height: 100%;\n left: 0;\n object-fit: cover;\n position: absolute;\n top: 0;\n width: 100%;\n z-index: -9999;\n"])));
|
60
|
+
exports.default = VideoBGMedia;
|
61
|
+
var templateObject_1;
|
@@ -4360,7 +4360,7 @@ exports.MOCK_SECTIONS = [
|
|
4360
4360
|
CB_STYLE_PROP_BGMEDIA_SPEC_REPLAY: true,
|
4361
4361
|
'CB_STYLE_PROP_BGMEDIA_SPEC_REPLAY:MOBILE': null,
|
4362
4362
|
'CB_STYLE_PROP_BGMEDIA_SPEC_ENDTIME:HOVER': null,
|
4363
|
-
CB_STYLE_PROP_BGMEDIA_SPEC_ENDTIME:
|
4363
|
+
CB_STYLE_PROP_BGMEDIA_SPEC_ENDTIME: 10,
|
4364
4364
|
CB_STYLE_PROP_BGMEDIA_SPEC_IMAGEFIT: 'COVER',
|
4365
4365
|
'CB_STYLE_PROP_BGMEDIA_SPEC_TYPE:HOVER': null,
|
4366
4366
|
'CB_STYLE_PROP_BGMEDIA_SPEC_STARTTIME:MOBILE': null,
|
@@ -53,16 +53,6 @@ function VideoPlayer(props) {
|
|
53
53
|
var hasEffect = !isNoneEffectType;
|
54
54
|
var effectVisibleStyle = hasEffect ? { opacity: isVisible ? 1 : 0 } : {};
|
55
55
|
var CB_CONTENT_PROP_VIDEO_SPEC_CONNECTDATA = CB_CONTENT_PROP_VIDEO.CB_CONTENT_PROP_VIDEO_SPEC_CONNECTDATA, CB_CONTENT_PROP_VIDEO_SPEC_MPLAY = CB_CONTENT_PROP_VIDEO.CB_CONTENT_PROP_VIDEO_SPEC_MPLAY, CB_CONTENT_PROP_VIDEO_SPEC_REPLAY = CB_CONTENT_PROP_VIDEO.CB_CONTENT_PROP_VIDEO_SPEC_REPLAY, CB_CONTENT_PROP_VIDEO_SPEC_SELECTOR = CB_CONTENT_PROP_VIDEO.CB_CONTENT_PROP_VIDEO_SPEC_SELECTOR, CB_CONTENT_PROP_VIDEO_SPEC_STARTTIME = CB_CONTENT_PROP_VIDEO.CB_CONTENT_PROP_VIDEO_SPEC_STARTTIME, CB_CONTENT_PROP_VIDEO_SPEC_ENDTIME = CB_CONTENT_PROP_VIDEO.CB_CONTENT_PROP_VIDEO_SPEC_ENDTIME, CB_CONTENT_PROP_VIDEO_SPEC_THUMB = CB_CONTENT_PROP_VIDEO.CB_CONTENT_PROP_VIDEO_SPEC_THUMB, CB_CONTENT_PROP_VIDEO_SPEC_TYPE = CB_CONTENT_PROP_VIDEO.CB_CONTENT_PROP_VIDEO_SPEC_TYPE, CB_CONTENT_PROP_VIDEO_SPEC_VALUETYPE = CB_CONTENT_PROP_VIDEO.CB_CONTENT_PROP_VIDEO_SPEC_VALUETYPE;
|
56
|
-
var getTimeHash = function () {
|
57
|
-
if (typeof CB_CONTENT_PROP_VIDEO_SPEC_STARTTIME === 'number' &&
|
58
|
-
typeof CB_CONTENT_PROP_VIDEO_SPEC_ENDTIME === 'number') {
|
59
|
-
return "#t=".concat(CB_CONTENT_PROP_VIDEO_SPEC_STARTTIME, ",").concat(CB_CONTENT_PROP_VIDEO_SPEC_ENDTIME);
|
60
|
-
}
|
61
|
-
if (typeof CB_CONTENT_PROP_VIDEO_SPEC_STARTTIME === 'number') {
|
62
|
-
return "#t=".concat(CB_CONTENT_PROP_VIDEO_SPEC_STARTTIME);
|
63
|
-
}
|
64
|
-
return '';
|
65
|
-
};
|
66
56
|
var getVideoSrc = function () {
|
67
57
|
if (CB_CONTENT_PROP_VIDEO_SPEC_VALUETYPE === 'DATA') {
|
68
58
|
if (!(queryContext === null || queryContext === void 0 ? void 0 : queryContext.queryData)) {
|
@@ -74,32 +64,42 @@ function VideoPlayer(props) {
|
|
74
64
|
return CB_CONTENT_PROP_VIDEO_SPEC_SELECTOR;
|
75
65
|
};
|
76
66
|
var videoRef = (0, react_1.useRef)(null);
|
77
|
-
var containerRef = (0, react_1.useRef)(null);
|
78
|
-
// viewport 진입 시 자동재생
|
79
67
|
(0, react_1.useEffect)(function () {
|
80
68
|
var video = videoRef.current;
|
81
|
-
// const container = containerRef.current;
|
82
69
|
if (!video)
|
83
70
|
return;
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
71
|
+
// 시작 시간으로 이동
|
72
|
+
var handleLoadedMetadata = function () {
|
73
|
+
if (typeof CB_CONTENT_PROP_VIDEO_SPEC_STARTTIME === 'number') {
|
74
|
+
video.currentTime = CB_CONTENT_PROP_VIDEO_SPEC_STARTTIME;
|
75
|
+
video.play();
|
76
|
+
}
|
77
|
+
};
|
78
|
+
// 구간 반복
|
79
|
+
var handleTimeUpdate = function () {
|
80
|
+
if (typeof CB_CONTENT_PROP_VIDEO_SPEC_STARTTIME === 'number' &&
|
81
|
+
typeof CB_CONTENT_PROP_VIDEO_SPEC_ENDTIME === 'number') {
|
82
|
+
if (video.currentTime < CB_CONTENT_PROP_VIDEO_SPEC_STARTTIME) {
|
83
|
+
video.currentTime = CB_CONTENT_PROP_VIDEO_SPEC_STARTTIME;
|
88
84
|
}
|
89
|
-
|
90
|
-
video.
|
85
|
+
if (video.currentTime >= CB_CONTENT_PROP_VIDEO_SPEC_ENDTIME) {
|
86
|
+
video.currentTime = CB_CONTENT_PROP_VIDEO_SPEC_STARTTIME;
|
87
|
+
video.play();
|
91
88
|
}
|
92
|
-
}
|
89
|
+
}
|
93
90
|
};
|
94
|
-
|
95
|
-
|
96
|
-
});
|
97
|
-
observer.observe(video);
|
91
|
+
video.addEventListener('loadedmetadata', handleLoadedMetadata);
|
92
|
+
video.addEventListener('timeupdate', handleTimeUpdate);
|
98
93
|
return function () {
|
99
|
-
|
94
|
+
video.removeEventListener('loadedmetadata', handleLoadedMetadata);
|
95
|
+
video.removeEventListener('timeupdate', handleTimeUpdate);
|
100
96
|
};
|
101
|
-
}, [
|
102
|
-
|
97
|
+
}, [
|
98
|
+
CB_CONTENT_PROP_VIDEO_SPEC_STARTTIME,
|
99
|
+
CB_CONTENT_PROP_VIDEO_SPEC_ENDTIME,
|
100
|
+
CB_CONTENT_PROP_VIDEO_SPEC_SELECTOR
|
101
|
+
]);
|
102
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [isEditModeAndHidden && (0, jsx_runtime_1.jsx)(S_HiddenCover_1.S_HiddenCover, {}), (0, jsx_runtime_1.jsx)(S_CB_AnimationObserverBox_1.S_CB_AnimationObserverBox, __assign({ ref: hasEffect ? cbRef : null, effectVisibleStyle: effectVisibleStyle }, { children: (0, jsx_runtime_1.jsx)(S_CB_BoxWithShadow_1.S_CB_BoxWithShadow, __assign({ className: "cb-layout-box", normalStyle: __assign(__assign(__assign(__assign({}, propsStyle), layoutStyle), effectCssProperties), bgColorStyle), hoverStyle: __assign(__assign({}, propsHoverStyle), bgColorHoverStyle), cbStylePropsShadowSpecs: CB_STYLE_PROP_SHADOW, device: device }, { children: (0, jsx_runtime_1.jsxs)(S_Video, __assign({ isEditMode: isEditMode, ref: videoRef, controls: !isEditMode, poster: CB_CONTENT_PROP_VIDEO_SPEC_THUMB, preload: "auto", loop: false, muted: true }, { children: [(0, jsx_runtime_1.jsx)("source", { src: getVideoSrc(), type: "video/mp4" }), "Your browser does not support the video tag."] }), CB_CONTENT_PROP_VIDEO_SPEC_SELECTOR) })) }))] }));
|
103
103
|
}
|
104
104
|
function getBGColorStyles(props, device) {
|
105
105
|
var availableSpecCodes = [
|