pds-dev-kit-web 2.2.178 → 2.2.179

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.
@@ -23,6 +23,7 @@ export declare const MOCK_VIDEO_CB: {
23
23
  CB_CONTENT_PROP_VIDEO_SPEC_THUMB: string;
24
24
  CB_CONTENT_PROP_VIDEO_SPEC_TYPE: string;
25
25
  CB_CONTENT_PROP_VIDEO_SPEC_VALUETYPE: string;
26
+ CB_CONTENT_PROP_VIDEO_SPEC_AUTOPLAY: boolean;
26
27
  };
27
28
  CB_CONTENT_PROP_VISIBILITY: {
28
29
  CB_CONTENT_PROP_VISIBILITY_SPEC_DESKTOP: boolean;
@@ -18,14 +18,15 @@ exports.MOCK_VIDEO_CB = {
18
18
  },
19
19
  CB_CONTENT_PROP_VIDEO: {
20
20
  CB_CONTENT_PROP_VIDEO_SPEC_CONNECTDATA: 'NONE',
21
- CB_CONTENT_PROP_VIDEO_SPEC_ENDTIME: 5,
21
+ CB_CONTENT_PROP_VIDEO_SPEC_ENDTIME: 10,
22
22
  CB_CONTENT_PROP_VIDEO_SPEC_MPLAY: true,
23
23
  CB_CONTENT_PROP_VIDEO_SPEC_REPLAY: true,
24
- CB_CONTENT_PROP_VIDEO_SPEC_SELECTOR: 'http://publ-upload-local.s3.ap-northeast-2.amazonaws.com/dd7418e3-b4fb-4be4-86c0-f582c80d4986.mov',
25
- CB_CONTENT_PROP_VIDEO_SPEC_STARTTIME: 0,
24
+ CB_CONTENT_PROP_VIDEO_SPEC_SELECTOR: 'http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4',
25
+ CB_CONTENT_PROP_VIDEO_SPEC_STARTTIME: 5,
26
26
  CB_CONTENT_PROP_VIDEO_SPEC_THUMB: '',
27
27
  CB_CONTENT_PROP_VIDEO_SPEC_TYPE: 'FILE',
28
- CB_CONTENT_PROP_VIDEO_SPEC_VALUETYPE: 'VALUE'
28
+ CB_CONTENT_PROP_VIDEO_SPEC_VALUETYPE: 'VALUE',
29
+ CB_CONTENT_PROP_VIDEO_SPEC_AUTOPLAY: true
29
30
  },
30
31
  CB_CONTENT_PROP_VISIBILITY: {
31
32
  CB_CONTENT_PROP_VISIBILITY_SPEC_DESKTOP: true,
@@ -26,6 +26,7 @@ export declare const MOCK_SECTIONS: {
26
26
  CB_CONTENT_PROP_VIDEO_SPEC_THUMB: string;
27
27
  CB_CONTENT_PROP_VIDEO_SPEC_TYPE: string;
28
28
  CB_CONTENT_PROP_VIDEO_SPEC_VALUETYPE: string;
29
+ CB_CONTENT_PROP_VIDEO_SPEC_AUTOPLAY: boolean;
29
30
  };
30
31
  CB_CONTENT_PROP_VISIBILITY: {
31
32
  CB_CONTENT_PROP_VISIBILITY_SPEC_DESKTOP: boolean;
@@ -53,7 +53,7 @@ function VideoPlayer(props) {
53
53
  : CB_EFFECT_PROP_ENTANIM['CB_EFFECT_PROP_ENTANIM_SPEC_TYPE:MOBILE'] === 'NONE';
54
54
  var hasEffect = !isNoneEffectType;
55
55
  var effectVisibleStyle = hasEffect ? { opacity: isVisible ? 1 : 0 } : {};
56
- var 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_THUMB = CB_CONTENT_PROP_VIDEO.CB_CONTENT_PROP_VIDEO_SPEC_THUMB, CB_CONTENT_PROP_VIDEO_SPEC_MAUTOPLAY = CB_CONTENT_PROP_VIDEO.CB_CONTENT_PROP_VIDEO_SPEC_MAUTOPLAY, CB_CONTENT_PROP_VIDEO_SPEC_AUTOPLAY = CB_CONTENT_PROP_VIDEO.CB_CONTENT_PROP_VIDEO_SPEC_AUTOPLAY;
56
+ var 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_THUMB = CB_CONTENT_PROP_VIDEO.CB_CONTENT_PROP_VIDEO_SPEC_THUMB, CB_CONTENT_PROP_VIDEO_SPEC_MAUTOPLAY = CB_CONTENT_PROP_VIDEO.CB_CONTENT_PROP_VIDEO_SPEC_MAUTOPLAY, CB_CONTENT_PROP_VIDEO_SPEC_AUTOPLAY = CB_CONTENT_PROP_VIDEO.CB_CONTENT_PROP_VIDEO_SPEC_AUTOPLAY, CB_CONTENT_PROP_VIDEO_SPEC_REPLAY = CB_CONTENT_PROP_VIDEO.CB_CONTENT_PROP_VIDEO_SPEC_REPLAY, CB_CONTENT_PROP_VIDEO_SPEC_ENDTIME = CB_CONTENT_PROP_VIDEO.CB_CONTENT_PROP_VIDEO_SPEC_ENDTIME;
57
57
  var shouldAutoplay = (CB_CONTENT_PROP_VIDEO_SPEC_AUTOPLAY && device === 'DESKTOP') ||
58
58
  (CB_CONTENT_PROP_VIDEO_SPEC_MAUTOPLAY && device === 'MOBILE');
59
59
  var videoRef = (0, react_1.useRef)(null);
@@ -115,6 +115,31 @@ function VideoPlayer(props) {
115
115
  (0, react_1.useEffect)(function () {
116
116
  setVideoURL((0, helper_1.parseTargetUrl)(CB_CONTENT_PROP_VIDEO_SPEC_SELECTOR).encodedURL);
117
117
  }, [CB_CONTENT_PROP_VIDEO_SPEC_SELECTOR]);
118
+ var onTimeUpdate = function () {
119
+ var video = videoRef.current;
120
+ if (!video) {
121
+ return;
122
+ }
123
+ var currentTimeFloor = Math.floor(video.currentTime);
124
+ if (typeof CB_CONTENT_PROP_VIDEO_SPEC_ENDTIME === 'number' &&
125
+ currentTimeFloor === CB_CONTENT_PROP_VIDEO_SPEC_ENDTIME) {
126
+ if (CB_CONTENT_PROP_VIDEO_SPEC_REPLAY) {
127
+ video.currentTime = CB_CONTENT_PROP_VIDEO_SPEC_STARTTIME;
128
+ return;
129
+ }
130
+ video.pause();
131
+ return;
132
+ }
133
+ };
134
+ var onEnded = function () {
135
+ var video = videoRef.current;
136
+ if (!video || !CB_CONTENT_PROP_VIDEO_SPEC_REPLAY) {
137
+ return;
138
+ }
139
+ video.currentTime = CB_CONTENT_PROP_VIDEO_SPEC_STARTTIME;
140
+ video.play();
141
+ return;
142
+ };
118
143
  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.jsxs)(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: [isEditMode && ((0, jsx_runtime_1.jsx)("div", __assign({ style: {
119
144
  position: 'absolute',
120
145
  top: '50%',
@@ -125,7 +150,7 @@ function VideoPlayer(props) {
125
150
  alignItems: 'center',
126
151
  justifyContent: 'center',
127
152
  transform: 'translate(-50%, -50%)'
128
- } }, { children: (0, jsx_runtime_1.jsx)(Icon_1.Icon, { iconName: "ic_video_play_circle", fillType: "fill", colorKey: "ui_cpnt_icon_sys_white", size: 48 }) }))), (0, jsx_runtime_1.jsxs)(S_Video, __assign({ muted: true, playsInline: true, controls: !isEditMode, isEditMode: isEditMode, ref: videoRef, poster: CB_CONTENT_PROP_VIDEO_SPEC_THUMB, onLoadedMetadata: onLoadedMetadata, onPlay: onPlay, onError: onVideoError, "data-src": CB_CONTENT_PROP_VIDEO_SPEC_SELECTOR }, { children: [(0, jsx_runtime_1.jsx)("source", { src: videoURL }), "Your browser does not support the video tag."] }), videoURL + CB_CONTENT_PROP_VIDEO_SPEC_THUMB)] })) }))] }));
153
+ } }, { children: (0, jsx_runtime_1.jsx)(Icon_1.Icon, { iconName: "ic_video_play_circle", fillType: "fill", colorKey: "ui_cpnt_icon_sys_white", size: 48 }) }))), (0, jsx_runtime_1.jsxs)(S_Video, __assign({ muted: true, playsInline: true, controls: !isEditMode, isEditMode: isEditMode, ref: videoRef, "data-src": CB_CONTENT_PROP_VIDEO_SPEC_SELECTOR, poster: CB_CONTENT_PROP_VIDEO_SPEC_THUMB, onPlay: onPlay, onEnded: onEnded, onError: onVideoError, onTimeUpdate: onTimeUpdate, onLoadedMetadata: onLoadedMetadata }, { children: [(0, jsx_runtime_1.jsx)("source", { src: videoURL }), "Your browser does not support the video tag."] }), videoURL + CB_CONTENT_PROP_VIDEO_SPEC_THUMB)] })) }))] }));
129
154
  }
130
155
  function getBGColorStyles(props, device) {
131
156
  var availableSpecCodes = [
@@ -108,4 +108,6 @@ export type CB_CONTENT_PROP_VIDEO = {
108
108
  CB_CONTENT_PROP_VIDEO_SPEC_STARTTIME: number;
109
109
  CB_CONTENT_PROP_VIDEO_SPEC_THUMB: string;
110
110
  CB_CONTENT_PROP_VIDEO_SPEC_TYPE: 'FILE' | 'URL';
111
+ CB_CONTENT_PROP_VIDEO_SPEC_ENDTIME: number;
112
+ CB_CONTENT_PROP_VIDEO_SPEC_REPLAY: boolean;
111
113
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pds-dev-kit-web",
3
- "version": "2.2.178",
3
+ "version": "2.2.179",
4
4
  "license": "MIT",
5
5
  "private": false,
6
6
  "main": "dist/index.js",
package/release-note.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # PDS-DEV-KIT-WEB Release Notes
2
- ## [v2.2.178]
2
+ ## [v2.2.179]
3
3
  ## daily|https://design.storybook.publ.biz/
4
4
 
5
5
  ### 업데이트 사항
6
- * [FIX- BGMEDIA 영상fallbackurl적용]
6
+ * [PDS-1310] VIDEO: replay & endtime