pb-sxp-ui 1.15.40 → 1.15.42

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.
Files changed (33) hide show
  1. package/dist/index.cjs +108 -53
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.js +108 -53
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.min.cjs +6 -6
  6. package/dist/index.min.cjs.map +1 -1
  7. package/dist/index.min.js +6 -6
  8. package/dist/index.min.js.map +1 -1
  9. package/dist/pb-ui.js +108 -53
  10. package/dist/pb-ui.js.map +1 -1
  11. package/dist/pb-ui.min.js +6 -6
  12. package/dist/pb-ui.min.js.map +1 -1
  13. package/es/core/components/SxpPageRender/PictureGroup/index.d.ts +5 -0
  14. package/es/core/components/SxpPageRender/PictureGroup/index.js +37 -13
  15. package/es/core/components/SxpPageRender/VideoWidget/index.js +27 -38
  16. package/es/core/components/SxpPageRender/index.js +4 -2
  17. package/es/materials/sxp/popup/CommodityDetail/material.js +2 -1
  18. package/es/materials/sxp/popup/CommodityDetail/settingRender.d.ts +16 -0
  19. package/es/materials/sxp/popup/CommodityDetail/settingRender.js +19 -0
  20. package/es/materials/sxp/popup/CommodityDetailDiroNew/material.js +2 -1
  21. package/es/materials/sxp/popup/CommodityDetailDiroNew/settingRender.d.ts +16 -0
  22. package/es/materials/sxp/popup/CommodityDetailDiroNew/settingRender.js +19 -0
  23. package/lib/core/components/SxpPageRender/PictureGroup/index.d.ts +5 -0
  24. package/lib/core/components/SxpPageRender/PictureGroup/index.js +36 -12
  25. package/lib/core/components/SxpPageRender/VideoWidget/index.js +27 -38
  26. package/lib/core/components/SxpPageRender/index.js +4 -2
  27. package/lib/materials/sxp/popup/CommodityDetail/material.js +2 -1
  28. package/lib/materials/sxp/popup/CommodityDetail/settingRender.d.ts +16 -0
  29. package/lib/materials/sxp/popup/CommodityDetail/settingRender.js +19 -0
  30. package/lib/materials/sxp/popup/CommodityDetailDiroNew/material.js +2 -1
  31. package/lib/materials/sxp/popup/CommodityDetailDiroNew/settingRender.d.ts +16 -0
  32. package/lib/materials/sxp/popup/CommodityDetailDiroNew/settingRender.js +19 -0
  33. package/package.json +1 -1
@@ -78,6 +78,26 @@ const VideoWidget = (0, react_1.forwardRef)(({ rec, index, height, data, muted,
78
78
  return;
79
79
  (_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.play();
80
80
  }, [videoRef === null || videoRef === void 0 ? void 0 : videoRef.current]);
81
+ const handleEnd = () => {
82
+ var _a, _b, _c, _d, _e, _f, _g, _h;
83
+ if (!videoRef.current)
84
+ return;
85
+ if (isDiyH5) {
86
+ (_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.pause();
87
+ if (!loopPlayRef.current)
88
+ return;
89
+ if (index === (data === null || data === void 0 ? void 0 : data.length) - 1) {
90
+ (_c = (_b = swiperRef === null || swiperRef === void 0 ? void 0 : swiperRef.current) === null || _b === void 0 ? void 0 : _b.swiper) === null || _c === void 0 ? void 0 : _c.slideTo(0);
91
+ }
92
+ else {
93
+ const i = (_e = (_d = swiperRef === null || swiperRef === void 0 ? void 0 : swiperRef.current) === null || _d === void 0 ? void 0 : _d.swiper) === null || _e === void 0 ? void 0 : _e.activeIndex;
94
+ (_g = (_f = swiperRef === null || swiperRef === void 0 ? void 0 : swiperRef.current) === null || _f === void 0 ? void 0 : _f.swiper) === null || _g === void 0 ? void 0 : _g.slideTo(i + 1);
95
+ }
96
+ }
97
+ else {
98
+ (_h = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _h === void 0 ? void 0 : _h.play();
99
+ }
100
+ };
81
101
  const PAUSE_ICON = (0, useIconLink_1.useIconLink)('/pb_static/06f28a2025c74c1cb49be6767316d827.png');
82
102
  const handlePlaying = (0, react_1.useCallback)(() => {
83
103
  if (!(videoRef === null || videoRef === void 0 ? void 0 : videoRef.current))
@@ -102,11 +122,6 @@ const VideoWidget = (0, react_1.forwardRef)(({ rec, index, height, data, muted,
102
122
  isFirstPlayRef.current = false;
103
123
  }
104
124
  }), [bffEventReport, data, index, isFirstPlayRef, videoRef === null || videoRef === void 0 ? void 0 : videoRef.current]);
105
- const setCurrentTimeByStartTime = (0, react_1.useCallback)(() => {
106
- if (isDiyH5) {
107
- videoRef.current.currentTime = scene === null || scene === void 0 ? void 0 : scene.startTime;
108
- }
109
- }, []);
110
125
  const handLoadeddata = (0, react_1.useCallback)(() => {
111
126
  if (!(videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) || firstFrameSrc || !blur)
112
127
  return;
@@ -131,13 +146,12 @@ const VideoWidget = (0, react_1.forwardRef)(({ rec, index, height, data, muted,
131
146
  const handleLoadedmetadata = (0, react_1.useCallback)(() => {
132
147
  if (!videoRef.current)
133
148
  return;
134
- setCurrentTimeByStartTime();
135
149
  loadedTimeRef.current = new Date();
136
150
  handleStartPlay();
137
151
  handLoadeddata();
138
152
  }, [videoRef.current, handLoadeddata, handleStartPlay]);
139
153
  const handleClickVideo = (0, react_1.useCallback)((type) => () => {
140
- var _a, _b, _c, _d, _e, _f;
154
+ var _a, _b, _c, _d, _e;
141
155
  if (!videoRef.current)
142
156
  return;
143
157
  if (!isLoadFinish)
@@ -158,13 +172,10 @@ const VideoWidget = (0, react_1.forwardRef)(({ rec, index, height, data, muted,
158
172
  break;
159
173
  default:
160
174
  if (isPause) {
161
- if (isDiyH5 && Math.round((_d = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _d === void 0 ? void 0 : _d.currentTime) >= (scene === null || scene === void 0 ? void 0 : scene.endTime)) {
162
- videoRef.current.currentTime = scene === null || scene === void 0 ? void 0 : scene.startTime;
163
- }
164
- (_e = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _e === void 0 ? void 0 : _e.play();
175
+ (_d = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _d === void 0 ? void 0 : _d.play();
165
176
  }
166
177
  else {
167
- (_f = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _f === void 0 ? void 0 : _f.pause();
178
+ (_e = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _e === void 0 ? void 0 : _e.pause();
168
179
  }
169
180
  setIsPauseVideo(!isPause);
170
181
  break;
@@ -202,27 +213,8 @@ const VideoWidget = (0, react_1.forwardRef)(({ rec, index, height, data, muted,
202
213
  const handleWaiting = (0, react_1.useCallback)(() => {
203
214
  setWaiting(true);
204
215
  }, []);
205
- const handleTimeUpload = () => {
206
- if (!videoRef.current || !isDiyH5)
207
- return;
208
- setTimeout(() => {
209
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
210
- if (Math.round((_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.currentTime) >= ((_b = scene === null || scene === void 0 ? void 0 : scene.endTime) !== null && _b !== void 0 ? _b : 0)) {
211
- (_c = videoRef.current) === null || _c === void 0 ? void 0 : _c.pause();
212
- if (!loopPlayRef.current)
213
- return;
214
- if (index === (data === null || data === void 0 ? void 0 : data.length) - 1) {
215
- (_e = (_d = swiperRef === null || swiperRef === void 0 ? void 0 : swiperRef.current) === null || _d === void 0 ? void 0 : _d.swiper) === null || _e === void 0 ? void 0 : _e.slideTo(0);
216
- }
217
- else {
218
- const i = (_g = (_f = swiperRef === null || swiperRef === void 0 ? void 0 : swiperRef.current) === null || _f === void 0 ? void 0 : _f.swiper) === null || _g === void 0 ? void 0 : _g.activeIndex;
219
- (_j = (_h = swiperRef === null || swiperRef === void 0 ? void 0 : swiperRef.current) === null || _h === void 0 ? void 0 : _h.swiper) === null || _j === void 0 ? void 0 : _j.slideTo(i + 1);
220
- }
221
- }
222
- });
223
- };
224
216
  (0, react_1.useEffect)(() => {
225
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
217
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
226
218
  if (!isActive)
227
219
  return;
228
220
  const videoSrc = videoUrl;
@@ -243,7 +235,6 @@ const VideoWidget = (0, react_1.forwardRef)(({ rec, index, height, data, muted,
243
235
  hls === null || hls === void 0 ? void 0 : hls.attachMedia(videoRef === null || videoRef === void 0 ? void 0 : videoRef.current);
244
236
  hls === null || hls === void 0 ? void 0 : hls.on(Hls.Events.MANIFEST_PARSED, function () {
245
237
  var _a;
246
- setCurrentTimeByStartTime();
247
238
  (_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.play();
248
239
  });
249
240
  }
@@ -257,12 +248,11 @@ const VideoWidget = (0, react_1.forwardRef)(({ rec, index, height, data, muted,
257
248
  (_e = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _e === void 0 ? void 0 : _e.addEventListener('play', handleStartPlay);
258
249
  (_f = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _f === void 0 ? void 0 : _f.addEventListener('playing', handlePlaying);
259
250
  (_g = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _g === void 0 ? void 0 : _g.addEventListener('pause', handlePause);
260
- (_h = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _h === void 0 ? void 0 : _h.addEventListener('ended', handlePlay);
251
+ (_h = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _h === void 0 ? void 0 : _h.addEventListener('ended', handleEnd);
261
252
  (_j = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _j === void 0 ? void 0 : _j.addEventListener('canplay', handlePlay);
262
253
  (_k = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _k === void 0 ? void 0 : _k.addEventListener('waiting', handleWaiting);
263
- (_l = videoRef.current) === null || _l === void 0 ? void 0 : _l.addEventListener('timeupdate', handleTimeUpload);
264
254
  return () => {
265
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
255
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
266
256
  const isPause = (_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.paused;
267
257
  if (!isPause)
268
258
  handlePause();
@@ -274,10 +264,9 @@ const VideoWidget = (0, react_1.forwardRef)(({ rec, index, height, data, muted,
274
264
  (_e = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _e === void 0 ? void 0 : _e.removeEventListener('play', handleStartPlay);
275
265
  (_f = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _f === void 0 ? void 0 : _f.removeEventListener('playing', handlePlaying);
276
266
  (_g = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _g === void 0 ? void 0 : _g.removeEventListener('pause', handlePause);
277
- (_h = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _h === void 0 ? void 0 : _h.removeEventListener('ended', handlePlay);
267
+ (_h = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _h === void 0 ? void 0 : _h.removeEventListener('ended', handleEnd);
278
268
  (_j = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _j === void 0 ? void 0 : _j.removeEventListener('canplay', handlePlay);
279
269
  (_k = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _k === void 0 ? void 0 : _k.removeEventListener('waiting', handleWaiting);
280
- (_l = videoRef.current) === null || _l === void 0 ? void 0 : _l.removeEventListener('timeupdate', handleTimeUpload);
281
270
  };
282
271
  }, [isActive]);
283
272
  (0, react_1.useEffect)(() => {
@@ -45,6 +45,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
45
45
  const skipLinkRef = (0, react_1.useRef)(false);
46
46
  const [pageNum, setPageNum] = (0, react_1.useState)(2);
47
47
  const videoWidgetRef = (0, react_1.useRef)(null);
48
+ const pictureGroupRef = (0, react_1.useRef)(null);
48
49
  const { loadVideos, bffEventReport, loading, setPopupDetailData, ctaEvent, swiperRef, waterFallData, setOpenHashtag, appDomain, openHashtag, loadingImage, isFromHashtag, popupDetailData, bffFbReport, curTime, h5EnterLink, isShowConsent, selectTag, isPreview, isEditor, cacheRtcList, setRtcList, cacheActiveIndex, rtcList, isNoMoreData, channel, refreshFeSession, isDiyH5 } = (0, hooks_1.useSxpDataSource)();
49
50
  const { backMainFeed, productView, jumpToWeb } = (0, useEventReport_1.useEventReport)();
50
51
  const isShowFingerTip = (0, react_1.useMemo)(() => {
@@ -180,8 +181,9 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
180
181
  refreshFeSession
181
182
  ]);
182
183
  const handleSessionExpire = (0, react_1.useCallback)((0, lodash_1.debounce)(() => {
183
- var _a;
184
+ var _a, _b;
184
185
  (_a = videoWidgetRef.current) === null || _a === void 0 ? void 0 : _a.setLoopPlay(false);
186
+ (_b = pictureGroupRef.current) === null || _b === void 0 ? void 0 : _b.setLoopPlay(false);
185
187
  refreshFeSession === null || refreshFeSession === void 0 ? void 0 : refreshFeSession(false, handleSessionCompleted);
186
188
  }, 1000), [handleSessionCompleted, refreshFeSession]);
187
189
  (0, react_1.useEffect)(() => {
@@ -259,7 +261,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
259
261
  return (react_1.default.createElement(VideoWidget_1.default, Object.assign({ key: isReload }, (activeIndex === index && { ref: videoWidgetRef }), { rec: rec, index: index, muted: isMuted, data: data, height: height, activeIndex: activeIndex, videoPostConfig: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.videoPost, videoPlayIcon: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.videoPlayIcon, loopPlay: true, swiperRef: swiperRef })));
260
262
  }
261
263
  if ((_h = rec === null || rec === void 0 ? void 0 : rec.video) === null || _h === void 0 ? void 0 : _h.imgUrls) {
262
- return (react_1.default.createElement(PictureGroup_1.default, { key: rec === null || rec === void 0 ? void 0 : rec.video.itemId, imgUrls: rec === null || rec === void 0 ? void 0 : rec.video.imgUrls, width: containerWidth, height: height, rec: rec, index: index, onViewImageEndEvent: handleViewImageStartEnd, onViewImageStartEvent: handleViewImageStartEvent, imgUrlsPostConfig: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.imgUrlsPost }));
264
+ return (react_1.default.createElement(PictureGroup_1.default, Object.assign({ data: data }, (activeIndex === index && { ref: pictureGroupRef }), { key: rec === null || rec === void 0 ? void 0 : rec.video.itemId, imgUrls: rec === null || rec === void 0 ? void 0 : rec.video.imgUrls, width: containerWidth, height: height, rec: rec, index: index, onViewImageEndEvent: handleViewImageStartEnd, onViewImageStartEvent: handleViewImageStartEvent, imgUrlsPostConfig: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.imgUrlsPost, swiperRef: swiperRef })));
263
265
  }
264
266
  if (rec.product && Array.isArray(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.productPost) && ((_j = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.productPost) === null || _j === void 0 ? void 0 : _j.length) > 0) {
265
267
  return (_k = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.productPost) === null || _k === void 0 ? void 0 : _k.map((value, idx) => {
@@ -54,7 +54,8 @@ const CommodityDetail = (0, create_1.createMaterial)(_1.default, {
54
54
  height: 45,
55
55
  fontWeight: 'bold',
56
56
  textAlign: 'center',
57
- color: 'rgba(255, 255, 255, 0.9)'
57
+ color: 'rgba(255, 255, 255, 0.9)',
58
+ textTransform: 'unset'
58
59
  },
59
60
  commodityImgRatio: {
60
61
  w: 1,
@@ -166,10 +166,21 @@ declare const _default: ({
166
166
  } | {
167
167
  title: string;
168
168
  child: ({
169
+ label: string;
170
+ type: string;
171
+ name: string[];
172
+ options: {
173
+ label: string;
174
+ value: string;
175
+ }[];
176
+ initialValue?: undefined;
177
+ child?: undefined;
178
+ } | {
169
179
  type: string;
170
180
  label: string;
171
181
  name: string[];
172
182
  initialValue: string;
183
+ options?: undefined;
173
184
  child?: undefined;
174
185
  } | {
175
186
  type: string;
@@ -186,11 +197,13 @@ declare const _default: ({
186
197
  max: number;
187
198
  })[];
188
199
  name?: undefined;
200
+ options?: undefined;
189
201
  initialValue?: undefined;
190
202
  } | {
191
203
  type: string;
192
204
  name: string[];
193
205
  label?: undefined;
206
+ options?: undefined;
194
207
  initialValue?: undefined;
195
208
  child?: undefined;
196
209
  } | {
@@ -202,6 +215,7 @@ declare const _default: ({
202
215
  bottomText: string;
203
216
  }[];
204
217
  name?: undefined;
218
+ options?: undefined;
205
219
  initialValue?: undefined;
206
220
  } | {
207
221
  type: string;
@@ -218,11 +232,13 @@ declare const _default: ({
218
232
  initialValue?: undefined;
219
233
  })[];
220
234
  name?: undefined;
235
+ options?: undefined;
221
236
  initialValue?: undefined;
222
237
  } | {
223
238
  label: string;
224
239
  type: string;
225
240
  name: string[];
241
+ options?: undefined;
226
242
  initialValue?: undefined;
227
243
  child?: undefined;
228
244
  })[];
@@ -246,6 +246,25 @@ exports.default = [
246
246
  {
247
247
  title: '购买按钮样式',
248
248
  child: [
249
+ {
250
+ label: '英文大小写',
251
+ type: 'Select',
252
+ name: ['props', 'buttonStyle', 'textTransform'],
253
+ options: [
254
+ {
255
+ label: '默认',
256
+ value: 'unset'
257
+ },
258
+ {
259
+ label: '小写',
260
+ value: 'lowercase'
261
+ },
262
+ {
263
+ label: '大写',
264
+ value: 'uppercase'
265
+ }
266
+ ]
267
+ },
249
268
  {
250
269
  type: 'Color',
251
270
  label: '背景色',
@@ -54,7 +54,8 @@ const CommodityDetailDiroNew = (0, create_1.createMaterial)(_1.default, {
54
54
  color: '#fff',
55
55
  borderRadius: 25,
56
56
  marginTop: 16,
57
- marginBottom: 16
57
+ marginBottom: 16,
58
+ textTransform: 'unset'
58
59
  },
59
60
  commodityImgRatio: {
60
61
  w: 1,
@@ -153,10 +153,21 @@ declare const _default: ({
153
153
  } | {
154
154
  title: string;
155
155
  child: ({
156
+ label: string;
157
+ type: string;
158
+ name: string[];
159
+ options: {
160
+ label: string;
161
+ value: string;
162
+ }[];
163
+ initialValue?: undefined;
164
+ child?: undefined;
165
+ } | {
156
166
  type: string;
157
167
  label: string;
158
168
  name: string[];
159
169
  initialValue: string;
170
+ options?: undefined;
160
171
  child?: undefined;
161
172
  } | {
162
173
  type: string;
@@ -173,11 +184,13 @@ declare const _default: ({
173
184
  max: number;
174
185
  })[];
175
186
  name?: undefined;
187
+ options?: undefined;
176
188
  initialValue?: undefined;
177
189
  } | {
178
190
  type: string;
179
191
  name: string[];
180
192
  label?: undefined;
193
+ options?: undefined;
181
194
  initialValue?: undefined;
182
195
  child?: undefined;
183
196
  } | {
@@ -189,6 +202,7 @@ declare const _default: ({
189
202
  bottomText: string;
190
203
  }[];
191
204
  name?: undefined;
205
+ options?: undefined;
192
206
  initialValue?: undefined;
193
207
  } | {
194
208
  type: string;
@@ -205,11 +219,13 @@ declare const _default: ({
205
219
  initialValue?: undefined;
206
220
  })[];
207
221
  name?: undefined;
222
+ options?: undefined;
208
223
  initialValue?: undefined;
209
224
  } | {
210
225
  label: string;
211
226
  type: string;
212
227
  name: string[];
228
+ options?: undefined;
213
229
  initialValue?: undefined;
214
230
  child?: undefined;
215
231
  })[];
@@ -229,6 +229,25 @@ exports.default = [
229
229
  {
230
230
  title: '购买按钮样式',
231
231
  child: [
232
+ {
233
+ label: '英文大小写',
234
+ type: 'Select',
235
+ name: ['props', 'buttonStyle', 'textTransform'],
236
+ options: [
237
+ {
238
+ label: '默认',
239
+ value: 'unset'
240
+ },
241
+ {
242
+ label: '小写',
243
+ value: 'lowercase'
244
+ },
245
+ {
246
+ label: '大写',
247
+ value: 'uppercase'
248
+ }
249
+ ]
250
+ },
232
251
  {
233
252
  type: 'Color',
234
253
  label: '背景色',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pb-sxp-ui",
3
- "version": "1.15.40",
3
+ "version": "1.15.42",
4
4
  "description": "React enterprise-class UI components",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.js",