pb-sxp-ui 1.10.6 → 1.10.8
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/index.cjs +49 -87
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +49 -87
- package/dist/index.js.map +1 -1
- package/dist/index.min.cjs +4 -4
- package/dist/index.min.cjs.map +1 -1
- package/dist/index.min.js +4 -4
- package/dist/index.min.js.map +1 -1
- package/dist/pb-ui.js +49 -87
- package/dist/pb-ui.js.map +1 -1
- package/dist/pb-ui.min.js +4 -4
- package/dist/pb-ui.min.js.map +1 -1
- package/es/core/components/SxpPageRender/FingerSwipeTip/index.js +1 -2
- package/es/core/components/SxpPageRender/FormatImage.js +7 -9
- package/es/core/components/SxpPageRender/LikeButton/index.js +1 -2
- package/es/core/components/SxpPageRender/Modal/index.js +1 -2
- package/es/core/components/SxpPageRender/NavBack.js +1 -2
- package/es/core/components/SxpPageRender/Nudge/index.js +2 -2
- package/es/core/components/SxpPageRender/ToggleButton/index.js +1 -2
- package/es/core/components/SxpPageRender/VideoWidget/index.js +1 -3
- package/es/core/components/SxpPageRender/WaterFall/WaterfallList.js +1 -1
- package/es/core/components/SxpPageRender/WaterFall/index.js +1 -2
- package/es/core/components/SxpPageRender/index.js +9 -8
- package/es/core/context/EditorDataProvider.d.ts +3 -2
- package/es/core/context/SxpDataSourceProvider.d.ts +1 -0
- package/es/core/context/SxpDataSourceProvider.js +11 -9
- package/es/core/utils/tool.d.ts +1 -2
- package/es/core/utils/tool.js +1 -14
- package/es/materials/sxp/MultiPosts/index.js +7 -10
- package/es/materials/sxp/cta/AniLinkPopup/index.js +2 -2
- package/lib/core/components/SxpPageRender/FingerSwipeTip/index.js +1 -2
- package/lib/core/components/SxpPageRender/FormatImage.js +7 -9
- package/lib/core/components/SxpPageRender/LikeButton/index.js +1 -2
- package/lib/core/components/SxpPageRender/Modal/index.js +1 -2
- package/lib/core/components/SxpPageRender/NavBack.js +1 -2
- package/lib/core/components/SxpPageRender/Nudge/index.js +1 -1
- package/lib/core/components/SxpPageRender/ToggleButton/index.js +1 -2
- package/lib/core/components/SxpPageRender/VideoWidget/index.js +1 -3
- package/lib/core/components/SxpPageRender/WaterFall/WaterfallList.js +1 -1
- package/lib/core/components/SxpPageRender/WaterFall/index.js +1 -2
- package/lib/core/components/SxpPageRender/index.js +9 -8
- package/lib/core/context/EditorDataProvider.d.ts +3 -2
- package/lib/core/context/SxpDataSourceProvider.d.ts +1 -0
- package/lib/core/context/SxpDataSourceProvider.js +11 -9
- package/lib/core/utils/tool.d.ts +1 -2
- package/lib/core/utils/tool.js +1 -15
- package/lib/materials/sxp/MultiPosts/index.js +7 -10
- package/lib/materials/sxp/cta/AniLinkPopup/index.js +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
@@ -331,19 +331,6 @@ function getScreenReader() {
|
|
331
331
|
/JAWS/i.test(userAgent) ||
|
332
332
|
/ChromeVox/i.test(userAgent));
|
333
333
|
}
|
334
|
-
const getSpliceQueryUrl = (url) => {
|
335
|
-
if (!url)
|
336
|
-
return '';
|
337
|
-
if ((url === null || url === void 0 ? void 0 : url.indexOf('http')) === -1)
|
338
|
-
return url;
|
339
|
-
let query = 'x-im-piez=on';
|
340
|
-
if ((url === null || url === void 0 ? void 0 : url.indexOf('?')) !== -1) {
|
341
|
-
return url + ('&' + query );
|
342
|
-
}
|
343
|
-
else {
|
344
|
-
return url + ('?' + query );
|
345
|
-
}
|
346
|
-
};
|
347
334
|
|
348
335
|
function unzip(b64Data) {
|
349
336
|
const strData = atob(b64Data);
|
@@ -685,6 +672,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
|
|
685
672
|
const [videoRef, setVideoRef] = React.useState(null);
|
686
673
|
const themeTag = React.useRef();
|
687
674
|
const curTime = React.useRef();
|
675
|
+
const multiPostTimeRef = React.useRef();
|
688
676
|
const [selectTag, setSelectTag] = React.useState(DEFAULT_TAG);
|
689
677
|
const checkCommodityIndexRef = React.useRef(-1);
|
690
678
|
const popupCurTimeRef = React.useRef(null);
|
@@ -883,7 +871,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
|
|
883
871
|
};
|
884
872
|
}
|
885
873
|
const sessionID = storeAndLoadFeSessionId();
|
886
|
-
const ef = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ sessionID, rtc: curReqInfo.rtc, requestId: curReqInfo.requestId }, { playbookType }), eventInfo), (getDevice$1() && { sxpDevice: getDevice$1() })), (getSystem() && { sxpSystem: getSystem() })), (getBrowserInfo() && { sxpBrowser: getBrowserInfo() })), (
|
874
|
+
const ef = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ sessionID, rtc: curReqInfo.rtc, requestId: curReqInfo.requestId }, { playbookType }), (layoutVariantId && reportLayId && { layoutVariantId })), eventInfo), (getDevice$1() && { sxpDevice: getDevice$1() })), (getSystem() && { sxpSystem: getSystem() })), (getBrowserInfo() && { sxpBrowser: getBrowserInfo() })), ((eventInfo === null || eventInfo === void 0 ? void 0 : eventInfo.position) && channel && { position: Number(eventInfo === null || eventInfo === void 0 ? void 0 : eventInfo.position) + 1 + '' }));
|
887
875
|
const realUserInfo = Object.entries(userInfo).map(([k, v]) => ({ name: k, value: v }));
|
888
876
|
const realEventInfo = Object.entries(ef)
|
889
877
|
.map(([k, v]) => v && { name: k, value: v })
|
@@ -1061,7 +1049,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
|
|
1061
1049
|
let pbType;
|
1062
1050
|
getRecommendVideos()
|
1063
1051
|
.then((data) => {
|
1064
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l
|
1052
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
1065
1053
|
if (data) {
|
1066
1054
|
const list = getFilterRecList(data);
|
1067
1055
|
let curData;
|
@@ -1104,13 +1092,13 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
|
|
1104
1092
|
setCacheRtcList(list);
|
1105
1093
|
bffGetTagList(curData !== null && curData !== void 0 ? curData : finalPageData);
|
1106
1094
|
if (channel) {
|
1095
|
+
const item = list === null || list === void 0 ? void 0 : list[0];
|
1096
|
+
const traceInfo = ((_k = item === null || item === void 0 ? void 0 : item.video) === null || _k === void 0 ? void 0 : _k.traceInfo) || ((_l = item === null || item === void 0 ? void 0 : item.product) === null || _l === void 0 ? void 0 : _l.traceInfo) || '';
|
1107
1097
|
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
1108
|
-
eventInfo: {
|
1109
|
-
|
1110
|
-
|
1111
|
-
|
1112
|
-
branchfeed: channel
|
1113
|
-
}
|
1098
|
+
eventInfo: Object.assign({ eventSubject: 'multiPostClick', eventDescription: 'multiPostClick', traceInfo, branchfeed: channel }, (layId && { layoutVariantId: layId }))
|
1099
|
+
});
|
1100
|
+
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
1101
|
+
eventInfo: Object.assign({ eventSubject: 'endMultiPost', eventDescription: 'endMultiPost', contentFormat: 'image', position: '0', traceInfo, nextStep: 'multipostClick', timeOnSite: Math.floor((new Date() - (multiPostTimeRef === null || multiPostTimeRef === void 0 ? void 0 : multiPostTimeRef.current)) / 1000) + '' }, (layId && { layoutVariantId: layId }))
|
1114
1102
|
});
|
1115
1103
|
}
|
1116
1104
|
}
|
@@ -1195,7 +1183,8 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
|
|
1195
1183
|
updateChannel,
|
1196
1184
|
channel,
|
1197
1185
|
eventTimeList,
|
1198
|
-
setEventTimeList
|
1186
|
+
setEventTimeList,
|
1187
|
+
multiPostTimeRef
|
1199
1188
|
} }, isShowConsent ? (React.createElement(Consent$4, Object.assign({}, (_e = (_d = (_c = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.consent) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.item) === null || _e === void 0 ? void 0 : _e.props))) : (render({
|
1200
1189
|
rtcList,
|
1201
1190
|
mutateLike: bffMutateLike,
|
@@ -9800,7 +9789,7 @@ SwiperSlide.displayName = 'SwiperSlide';
|
|
9800
9789
|
* @Author: binruan@chatlabs.com
|
9801
9790
|
* @Date: 2023-11-02 18:34:34
|
9802
9791
|
* @LastEditors: binruan@chatlabs.com
|
9803
|
-
* @LastEditTime: 2024-
|
9792
|
+
* @LastEditTime: 2024-11-20 18:37:10
|
9804
9793
|
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\Modal\index.tsx
|
9805
9794
|
*
|
9806
9795
|
*/
|
@@ -9984,7 +9973,7 @@ const Modal = ({ visible, onClose, children, modalStyle, padding, popup, schema,
|
|
9984
9973
|
}
|
9985
9974
|
})), child()),
|
9986
9975
|
React.createElement("button", { className: 'modal-icon-wrapper', role: 'button', "aria-label": 'close button', onClick: onClose, style: { top: scrollTop } },
|
9987
|
-
React.createElement("img", { src:
|
9976
|
+
React.createElement("img", { src: (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.popupCloseIcon) || closeIcon$1, alt: 'close button', className: 'modal-icon' }))))))), modalEleRef.current);
|
9988
9977
|
};
|
9989
9978
|
var Modal$1 = React.memo(Modal);
|
9990
9979
|
|
@@ -10057,20 +10046,19 @@ var ExpandableText$1 = React.memo(ExpandableText);
|
|
10057
10046
|
|
10058
10047
|
const FormatImage = React.forwardRef((props, ref) => {
|
10059
10048
|
const { src, onLoad, style, className, loading, alt = 'image' } = props;
|
10060
|
-
const
|
10061
|
-
const [imgSrc, setImgSrc] = React.useState(querySrc);
|
10049
|
+
const [imgSrc, setImgSrc] = React.useState(src);
|
10062
10050
|
const imgRef = React.useRef(null);
|
10063
10051
|
const [visible, setVisible] = React.useState(false);
|
10064
10052
|
React.useImperativeHandle(ref, () => ({
|
10065
10053
|
setSrc: (v) => {
|
10066
10054
|
if (v)
|
10067
|
-
setImgSrc(
|
10055
|
+
setImgSrc(v);
|
10068
10056
|
}
|
10069
10057
|
}));
|
10070
10058
|
React.useEffect(() => {
|
10071
|
-
if (
|
10072
|
-
setImgSrc(
|
10073
|
-
}, [
|
10059
|
+
if (src)
|
10060
|
+
setImgSrc(src);
|
10061
|
+
}, [src]);
|
10074
10062
|
React.useEffect(() => {
|
10075
10063
|
const onShow = () => {
|
10076
10064
|
if (src && !visible && imgRef.current) {
|
@@ -10087,8 +10075,8 @@ const FormatImage = React.forwardRef((props, ref) => {
|
|
10087
10075
|
!visible && !imgSrc && React.createElement("div", { style: { width: '100%', height: '100%', zIndex: 1, backgroundColor: '#fff' } }),
|
10088
10076
|
(imgSrc === null || imgSrc === void 0 ? void 0 : imgSrc.includes('.avif')) ? (React.createElement("picture", null,
|
10089
10077
|
React.createElement("source", { type: 'image/avif', srcSet: imgSrc }),
|
10090
|
-
React.createElement("source", { type: 'image/webp', srcSet: `${imgSrc}
|
10091
|
-
React.createElement("source", { type: 'image/jpeg', srcSet: `${imgSrc}
|
10078
|
+
React.createElement("source", { type: 'image/webp', srcSet: `${imgSrc}?imageMogr2/format/webp` }),
|
10079
|
+
React.createElement("source", { type: 'image/jpeg', srcSet: `${imgSrc}?imageMogr2/format/jpg` }),
|
10092
10080
|
React.createElement("img", { ref: imgRef, className: className, src: imgSrc, style: Object.assign({}, style), loading: loading, onLoad: (e) => {
|
10093
10081
|
setVisible(true);
|
10094
10082
|
onLoad === null || onLoad === void 0 ? void 0 : onLoad(e.target);
|
@@ -14934,7 +14922,7 @@ const WaterfallFlowItem$1 = (props) => {
|
|
14934
14922
|
const imgLoad = React.useCallback((img) => {
|
14935
14923
|
setTimeout(() => {
|
14936
14924
|
var _a;
|
14937
|
-
const height = (_a = pictRef === null || pictRef === void 0 ? void 0 : pictRef.current) === null || _a === void 0 ? void 0 : _a.offsetHeight;
|
14925
|
+
const height = (img === null || img === void 0 ? void 0 : img.clientHeight) || ((_a = pictRef === null || pictRef === void 0 ? void 0 : pictRef.current) === null || _a === void 0 ? void 0 : _a.offsetHeight);
|
14938
14926
|
// 加56是因为下方文字部分高度为56,可以自己设置
|
14939
14927
|
sizeChange(height + 56 + space, index);
|
14940
14928
|
}, 0);
|
@@ -15424,7 +15412,7 @@ function WaterfallList(_a) {
|
|
15424
15412
|
* @Author: binruan@chatlabs.com
|
15425
15413
|
* @Date: 2024-01-10 10:58:24
|
15426
15414
|
* @LastEditors: binruan@chatlabs.com
|
15427
|
-
* @LastEditTime: 2024-
|
15415
|
+
* @LastEditTime: 2024-12-09 11:18:32
|
15428
15416
|
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\WaterFall\index.tsx
|
15429
15417
|
*
|
15430
15418
|
*/
|
@@ -15432,7 +15420,6 @@ const WaterFall = (props) => {
|
|
15432
15420
|
var _a;
|
15433
15421
|
const { waterFallData, setOpenHashtag, openHashtag, swiperRef, setWaterFallData, cacheRtcList, setRtcList, cacheActiveIndex, rtcList, setCacheRtcList, setIsFromHashtag, isFromHashtag, bffEventReport, themeTag, selectTag, bffFbReport } = useSxpDataSource();
|
15434
15422
|
const { backMainFeed } = useEventReport();
|
15435
|
-
React.useRef(null);
|
15436
15423
|
const modalEleRef = React.useRef(null);
|
15437
15424
|
const [viewTime, setViewTime] = React.useState();
|
15438
15425
|
React.useEffect(() => {
|
@@ -15449,20 +15436,12 @@ const WaterFall = (props) => {
|
|
15449
15436
|
}, []);
|
15450
15437
|
const handleClose = () => {
|
15451
15438
|
var _a, _b;
|
15452
|
-
// const isEq = isEqual(rtcList, cacheRtcList);
|
15453
|
-
// if (!isEq && cacheRtcList && cacheRtcList?.length) {
|
15454
|
-
// setRtcList?.(cacheRtcList);
|
15455
|
-
// }
|
15456
15439
|
backMainFeed('branch', selectTag, undefined, waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.hashTag);
|
15457
15440
|
reportTagsView();
|
15458
15441
|
setWaterFallData === null || setWaterFallData === void 0 ? void 0 : setWaterFallData(undefined);
|
15459
15442
|
setIsFromHashtag === null || setIsFromHashtag === void 0 ? void 0 : setIsFromHashtag(false);
|
15460
|
-
// setTimeout(() => {
|
15461
|
-
// if (!isEq) {
|
15462
15443
|
(_b = (_a = swiperRef === null || swiperRef === void 0 ? void 0 : swiperRef.current) === null || _a === void 0 ? void 0 : _a.swiper) === null || _b === void 0 ? void 0 : _b.slideTo(cacheActiveIndex, 0, false);
|
15463
|
-
// }
|
15464
15444
|
setOpenHashtag === null || setOpenHashtag === void 0 ? void 0 : setOpenHashtag(false);
|
15465
|
-
// }, 0);
|
15466
15445
|
};
|
15467
15446
|
const [recData, setRecData] = React.useState();
|
15468
15447
|
React.useEffect(() => {
|
@@ -15527,7 +15506,7 @@ const WaterFall = (props) => {
|
|
15527
15506
|
display: openHashtag ? 'block' : 'none'
|
15528
15507
|
} },
|
15529
15508
|
React.createElement(Navbar$1, { icon: img$4, styles: { top: '32px' }, textStyle: (_a = props === null || props === void 0 ? void 0 : props.textStyles) === null || _a === void 0 ? void 0 : _a.hashTagTitle, onClose: handleClose }),
|
15530
|
-
(props === null || props === void 0 ? void 0 : props.openFixedSize) === true || (props === null || props === void 0 ? void 0 : props.openFixedSize) === undefined ? (React.createElement(WaterfallList, Object.assign({ reportTagsView: reportTagsView }, props))) : (React.createElement(WaterfallList$1, Object.assign({ reportTagsView: reportTagsView }, props)))), modalEleRef.current);
|
15509
|
+
(props === null || props === void 0 ? void 0 : props.openFixedSize) === true || (props === null || props === void 0 ? void 0 : props.openFixedSize) === undefined ? (React.createElement(WaterfallList, Object.assign({ key: waterFallData, reportTagsView: reportTagsView }, props))) : (React.createElement(WaterfallList$1, Object.assign({ key: waterFallData, reportTagsView: reportTagsView }, props)))), modalEleRef.current);
|
15531
15510
|
};
|
15532
15511
|
var WaterFall$1 = React.memo(WaterFall);
|
15533
15512
|
|
@@ -16323,7 +16302,7 @@ const AniLinkPopup$1 = (_a) => {
|
|
16323
16302
|
paddingLeft: '6px'
|
16324
16303
|
} }, "Cta Title")) : (React.createElement("div", Object.assign({}, props, { className: `${css.css(Object.assign(Object.assign({}, style), { '--transY': `translateY(calc(100% + ${(_r = style === null || style === void 0 ? void 0 : style.margin) !== null && _r !== void 0 ? _r : 0}px))` }))} ${styles['aniLinkPopup']} ${aniNamStyle} ${css.css(aniTimStyle)}`, onClick: handleTo }),
|
16325
16304
|
React.createElement("div", { onClick: onClose, className: styles['modal-icon-wrapper'], style: { padding: (_s = style === null || style === void 0 ? void 0 : style['padding']) !== null && _s !== void 0 ? _s : 0 } },
|
16326
|
-
React.createElement("img", { src:
|
16305
|
+
React.createElement("img", { src: (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.popupCloseIcon) || closeIcon, alt: 'close', className: styles['modal-icon-wrapper-img'] })),
|
16327
16306
|
React.createElement(Img$1, { src: src, rec: recData, item: (_x = (_v = (_u = (_t = recData === null || recData === void 0 ? void 0 : recData.video) === null || _t === void 0 ? void 0 : _t.bindProducts) === null || _u === void 0 ? void 0 : _u[0]) !== null && _v !== void 0 ? _v : (_w = recData === null || recData === void 0 ? void 0 : recData.video) === null || _w === void 0 ? void 0 : _w.bindProduct) !== null && _x !== void 0 ? _x : recData === null || recData === void 0 ? void 0 : recData.video, index: index, translateY: translateY, imgStyle: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.img, isActive: isActive }),
|
16328
16307
|
(!recData || (product === null || product === void 0 ? void 0 : product.title)) && (React.createElement("div", { className: styles['one-line-ellipsis'], style: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.title, dangerouslySetInnerHTML: {
|
16329
16308
|
__html: setFontForText((_y = product === null || product === void 0 ? void 0 : product.title) !== null && _y !== void 0 ? _y : 'Product Name', ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.title)
|
@@ -16634,7 +16613,7 @@ var settingRender$1 = [
|
|
16634
16613
|
* @Author: binruan@chatlabs.com
|
16635
16614
|
* @Date: 2023-12-26 10:38:53
|
16636
16615
|
* @LastEditors: binruan@chatlabs.com
|
16637
|
-
* @LastEditTime: 2024-
|
16616
|
+
* @LastEditTime: 2024-10-29 18:04:27
|
16638
16617
|
* @FilePath: \pb-sxp-ui\src\core\context\EditorDataProvider.tsx
|
16639
16618
|
*
|
16640
16619
|
*/
|
@@ -16889,11 +16868,10 @@ var settingRender = [
|
|
16889
16868
|
const MultiPosts$1 = (_a) => {
|
16890
16869
|
var _b, _c;
|
16891
16870
|
var { bgImgUrl, style, recData } = _a, props = __rest(_a, ["bgImgUrl", "style", "recData"]);
|
16892
|
-
const { bffEventReport, curTime, updateChannel } = useSxpDataSource();
|
16871
|
+
const { bffEventReport, curTime, updateChannel, multiPostTimeRef } = useSxpDataSource();
|
16893
16872
|
const { isActive } = useSwiperSlide() || {};
|
16894
16873
|
const initRef = React.useRef(false);
|
16895
|
-
const
|
16896
|
-
const traceInfo = (_c = (_b = recData === null || recData === void 0 ? void 0 : recData.video) === null || _b === void 0 ? void 0 : _b.traceInfo) !== null && _c !== void 0 ? _c : '';
|
16874
|
+
const traceInfo = ((_b = recData === null || recData === void 0 ? void 0 : recData.video) === null || _b === void 0 ? void 0 : _b.traceInfo) || ((_c = recData === null || recData === void 0 ? void 0 : recData.product) === null || _c === void 0 ? void 0 : _c.traceInfo) || '';
|
16897
16875
|
const getPropsVal = React.useCallback((index, str) => {
|
16898
16876
|
try {
|
16899
16877
|
return new Function('props', 'str', `if (str) {
|
@@ -16910,7 +16888,6 @@ const MultiPosts$1 = (_a) => {
|
|
16910
16888
|
if (!value)
|
16911
16889
|
return;
|
16912
16890
|
if ((v === null || v === void 0 ? void 0 : v.linkType) === 'recommendFlow') {
|
16913
|
-
endMultiPost('multipostClick');
|
16914
16891
|
updateChannel === null || updateChannel === void 0 ? void 0 : updateChannel(value);
|
16915
16892
|
curTime.current = new Date();
|
16916
16893
|
}
|
@@ -16919,12 +16896,12 @@ const MultiPosts$1 = (_a) => {
|
|
16919
16896
|
}
|
16920
16897
|
}, [props]);
|
16921
16898
|
const startMultiPost = React.useCallback(() => {
|
16922
|
-
|
16899
|
+
multiPostTimeRef.current = new Date();
|
16923
16900
|
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
16924
16901
|
eventInfo: {
|
16925
16902
|
eventSubject: 'startMultiPost',
|
16926
16903
|
eventDescription: 'startMultiPost',
|
16927
|
-
contentFormat: '
|
16904
|
+
contentFormat: 'image',
|
16928
16905
|
position: '0',
|
16929
16906
|
traceInfo
|
16930
16907
|
}
|
@@ -16936,11 +16913,11 @@ const MultiPosts$1 = (_a) => {
|
|
16936
16913
|
eventInfo: {
|
16937
16914
|
eventSubject: 'endMultiPost',
|
16938
16915
|
eventDescription: 'endMultiPost',
|
16939
|
-
contentFormat: '
|
16916
|
+
contentFormat: 'image',
|
16940
16917
|
position: '0',
|
16941
16918
|
traceInfo,
|
16942
16919
|
nextStep: nextStep || 'others',
|
16943
|
-
timeOnSite: Math.floor((new Date() - (
|
16920
|
+
timeOnSite: Math.floor((new Date() - (multiPostTimeRef === null || multiPostTimeRef === void 0 ? void 0 : multiPostTimeRef.current)) / 1000) + ''
|
16944
16921
|
}
|
16945
16922
|
});
|
16946
16923
|
}, []);
|
@@ -16967,7 +16944,7 @@ const MultiPosts$1 = (_a) => {
|
|
16967
16944
|
}, [isActive]);
|
16968
16945
|
return (React.createElement("div", { className: 'multiposts', style: Object.assign(Object.assign({}, style), getBgStyle(bgImgUrl)) }, Array.from({ length: 4 }, (_, index) => {
|
16969
16946
|
return (React.createElement("button", { hidden: !getPropsVal(index, 'Url'), className: 'multiposts-btn', role: 'button', "aria-label": `multiposts-${index + 1}`, onClick: () => handleClick(index) },
|
16970
|
-
React.createElement("img", { className: 'multiposts-btn-img', src:
|
16947
|
+
React.createElement("img", { className: 'multiposts-btn-img', src: getPropsVal(index, 'Url'), alt: `multiposts-img-${index + 1}` })));
|
16971
16948
|
})));
|
16972
16949
|
};
|
16973
16950
|
var MultiPosts$2 = React.memo(MultiPosts$1);
|
@@ -17154,7 +17131,7 @@ const LikeButton = (_a) => {
|
|
17154
17131
|
}
|
17155
17132
|
}), 200);
|
17156
17133
|
return (React.createElement("button", Object.assign({}, props, { "aria-label": 'like', onClick: handleClick }),
|
17157
|
-
React.createElement("img", { style: { width: '100%', height: '100%', objectFit: 'contain' }, src:
|
17134
|
+
React.createElement("img", { style: { width: '100%', height: '100%', objectFit: 'contain' }, src: state ? activeIcon || likeIcon : unActicveIcon || unlikeIcon, alt: 'icon' })));
|
17158
17135
|
};
|
17159
17136
|
var LikeButton$1 = React.memo(LikeButton);
|
17160
17137
|
|
@@ -17368,10 +17345,9 @@ const VideoWidget$2 = ({ rec, index, height, data, muted, activeIndex, videoPost
|
|
17368
17345
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
17369
17346
|
if (!isActive)
|
17370
17347
|
return;
|
17371
|
-
|
17348
|
+
const videoSrc = rec === null || rec === void 0 ? void 0 : rec.video.url;
|
17372
17349
|
if (!videoSrc)
|
17373
17350
|
return;
|
17374
|
-
videoSrc = getSpliceQueryUrl(videoSrc);
|
17375
17351
|
const videoPlayerWrapperNode = document.querySelector(`#${videoId}`);
|
17376
17352
|
if (!videoPlayerWrapperNode)
|
17377
17353
|
return;
|
@@ -17555,7 +17531,7 @@ const ToggleButton = ({ defaultValue, activeIcon, unactiveIcon, onChange, style
|
|
17555
17531
|
setIsTure(defaultValue);
|
17556
17532
|
}, [defaultValue]);
|
17557
17533
|
return (React.createElement("button", { style: style, "aria-label": 'toggle button', className: 'pb-toggle-button', onClick: handleClick },
|
17558
|
-
React.createElement("img", { className: 'pb-toggle-button-icon', alt: 'toggle image', src:
|
17534
|
+
React.createElement("img", { className: 'pb-toggle-button-icon', alt: 'toggle image', src: isTrue ? activeIcon : unactiveIcon })));
|
17559
17535
|
};
|
17560
17536
|
var ToggleButton$1 = React.memo(ToggleButton);
|
17561
17537
|
|
@@ -17563,7 +17539,7 @@ var ToggleButton$1 = React.memo(ToggleButton);
|
|
17563
17539
|
* @Author: binruan@chatlabs.com
|
17564
17540
|
* @Date: 2024-01-15 19:03:09
|
17565
17541
|
* @LastEditors: binruan@chatlabs.com
|
17566
|
-
* @LastEditTime: 2024-
|
17542
|
+
* @LastEditTime: 2024-07-11 18:19:29
|
17567
17543
|
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\FingerSwipeTip\index.tsx
|
17568
17544
|
*
|
17569
17545
|
*/
|
@@ -17580,7 +17556,7 @@ const FingerSwipeTip = ({ imageUrl, style, duration = 2000 }) => {
|
|
17580
17556
|
return show ? 'pb-fadeIn' : 'pb-fadeOut';
|
17581
17557
|
}, [show]);
|
17582
17558
|
return (React.createElement("div", { hidden: !show, className: `pb-finger-wrap ${animationCls}`, style: Object.assign(Object.assign({}, style), { animationDuration: `${duration / 1000}s` }) },
|
17583
|
-
React.createElement("img", { src:
|
17559
|
+
React.createElement("img", { src: imageUrl || FINGER_SWIPE_ICON, alt: 'finger swiper' })));
|
17584
17560
|
};
|
17585
17561
|
|
17586
17562
|
/*
|
@@ -17887,7 +17863,7 @@ var RenderCard$1 = React.memo(RenderCard);
|
|
17887
17863
|
* @Author: binruan@chatlabs.com
|
17888
17864
|
* @Date: 2024-03-26 10:07:41
|
17889
17865
|
* @LastEditors: binruan@chatlabs.com
|
17890
|
-
* @LastEditTime: 2024-
|
17866
|
+
* @LastEditTime: 2024-07-03 10:07:29
|
17891
17867
|
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\Nudge\index.tsx
|
17892
17868
|
*
|
17893
17869
|
*/
|
@@ -17900,7 +17876,7 @@ const Nudge = ({ nudge }) => {
|
|
17900
17876
|
backgroundColor: nudge === null || nudge === void 0 ? void 0 : nudge.backgroundColor,
|
17901
17877
|
borderRadius: (_f = nudge === null || nudge === void 0 ? void 0 : nudge.borderRadius) !== null && _f !== void 0 ? _f : 4
|
17902
17878
|
} },
|
17903
|
-
(nudge === null || nudge === void 0 ? void 0 : nudge.icon) ? (React.createElement("img", { src:
|
17879
|
+
(nudge === null || nudge === void 0 ? void 0 : nudge.icon) ? (React.createElement("img", { src: nudge.icon, alt: 'nudge icon', style: { height: '100%', objectFit: 'cover', flexShrink: 0 } })) : null,
|
17904
17880
|
React.createElement("p", { style: Object.assign(Object.assign({}, nudge === null || nudge === void 0 ? void 0 : nudge.textStyle), { textWrap: 'nowrap', textOverflow: 'ellipsis', overflow: 'hidden', whiteSpace: 'nowrap', flex: 1, marginBottom: 0, marginTop: 0 }), dangerouslySetInnerHTML: {
|
17905
17881
|
__html: setFontForText(nudge === null || nudge === void 0 ? void 0 : nudge.content, nudge === null || nudge === void 0 ? void 0 : nudge.textStyle)
|
17906
17882
|
} })))));
|
@@ -17993,26 +17969,10 @@ const NavBack = ({ data, minusHeight, tagHeight, onClick }) => {
|
|
17993
17969
|
padding: 0,
|
17994
17970
|
background: 'transparent'
|
17995
17971
|
}, role: 'button', "aria-label": 'back button', onClick: onClick },
|
17996
|
-
React.createElement("img", { src:
|
17972
|
+
React.createElement("img", { src: (data === null || data === void 0 ? void 0 : data.icon) || img, alt: 'back button', width: 100, style: { objectFit: 'cover' } })));
|
17997
17973
|
};
|
17998
17974
|
var NavBack$1 = React.memo(NavBack);
|
17999
17975
|
|
18000
|
-
/*
|
18001
|
-
* @Author: binruan@chatlabs.com
|
18002
|
-
* @Date: 2024-03-20 10:27:31
|
18003
|
-
* @LastEditors: binruan@chatlabs.com
|
18004
|
-
* @LastEditTime: 2024-12-04 16:13:02
|
18005
|
-
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\index.tsx
|
18006
|
-
*
|
18007
|
-
*/
|
18008
|
-
/*
|
18009
|
-
* @Author: binruan@chatlabs.com
|
18010
|
-
* @Date: 2024-03-20 10:27:31
|
18011
|
-
* @LastEditors: binruan@chatlabs.com
|
18012
|
-
* @LastEditTime: 2024-12-03 15:27:20
|
18013
|
-
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\index.tsx
|
18014
|
-
*
|
18015
|
-
*/
|
18016
17976
|
const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.innerHeight, containerWidth = window.innerWidth, tempMap, resolver, data = [], ctaType, tipText, nudge, _schema, hashTagStyle, hashTagRightMargin, tagList = [], licenseUrl }) => {
|
18017
17977
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0;
|
18018
17978
|
const mutedIcon = useIconLink('/pb_static/5beaaa5ce7f3477b99db3838619cc471.png');
|
@@ -18101,7 +18061,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
18101
18061
|
else if (item === null || item === void 0 ? void 0 : item.product) {
|
18102
18062
|
fromKName = 'productPage';
|
18103
18063
|
}
|
18104
|
-
if ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.playbook) !== 'organic menu' || activeIndex !== 0) {
|
18064
|
+
if ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.playbook) !== 'organic menu' || activeIndex !== 0 || channel) {
|
18105
18065
|
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
18106
18066
|
eventInfo: {
|
18107
18067
|
sessionDuration: Math.floor((new Date() - curTime.current) / 1000) + '',
|
@@ -18147,7 +18107,8 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
18147
18107
|
backMainFeed,
|
18148
18108
|
openHashtag,
|
18149
18109
|
isShowConsent,
|
18150
|
-
selectTag
|
18110
|
+
selectTag,
|
18111
|
+
channel
|
18151
18112
|
]);
|
18152
18113
|
const tagHeight = React.useMemo(() => {
|
18153
18114
|
let h = 0;
|
@@ -18200,7 +18161,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
18200
18161
|
new Function(link)();
|
18201
18162
|
}
|
18202
18163
|
})),
|
18203
|
-
React.createElement("img", { src:
|
18164
|
+
React.createElement("img", { src: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.logoUrl, alt: 'logo' })));
|
18204
18165
|
}
|
18205
18166
|
return null;
|
18206
18167
|
}, [globalConfig, activeIndex, visList]);
|
@@ -18490,7 +18451,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
18490
18451
|
const renderView = React.useMemo(() => {
|
18491
18452
|
if (loading) {
|
18492
18453
|
return (React.createElement("div", { style: { height, width: containerWidth, display: 'flex', justifyContent: 'center', alignItems: 'center' } },
|
18493
|
-
React.createElement("img", { width: 64, height: 64, src:
|
18454
|
+
React.createElement("img", { width: 64, height: 64, src: loadingImage, alt: 'loading...', style: { objectFit: 'contain' } })));
|
18494
18455
|
}
|
18495
18456
|
return visList === null || visList === void 0 ? void 0 : visList.map((rec, index) => {
|
18496
18457
|
return (React.createElement(SwiperSlide, { key: index, virtualIndex: index, style: { overflow: 'hidden' } }, rec && (React.createElement(React.Fragment, null, (rec === null || rec === void 0 ? void 0 : rec.loading) ? (React.createElement("div", { style: {
|
@@ -18500,7 +18461,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
18500
18461
|
justifyContent: 'center',
|
18501
18462
|
alignItems: 'center'
|
18502
18463
|
} },
|
18503
|
-
React.createElement("img", { width: 64, height: 64, src:
|
18464
|
+
React.createElement("img", { width: 64, height: 64, src: loadingImage, alt: 'loading...', style: { objectFit: 'contain' } }))) : (React.createElement(React.Fragment, null,
|
18504
18465
|
renderBottom(rec, index),
|
18505
18466
|
renderLikeButton(rec, index, !(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.likeIconFixed)),
|
18506
18467
|
renderToggleButton(!(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconFixed)),
|
@@ -18533,12 +18494,13 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
18533
18494
|
((_f = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.backButton) === null || _f === void 0 ? void 0 : _f.enable) && !channel && !openMultiPosts && !waterFallData && (React.createElement(NavBack$1, { data: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.backButton, minusHeight: minusHeight, tagHeight: tagHeight, onClick: () => history === null || history === void 0 ? void 0 : history.back() })),
|
18534
18495
|
((((_l = (_k = (_j = (_h = (_g = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.multiPosts) === null || _g === void 0 ? void 0 : _g[0]) === null || _h === void 0 ? void 0 : _h.item) === null || _j === void 0 ? void 0 : _j.props) === null || _k === void 0 ? void 0 : _k.backButton) === null || _l === void 0 ? void 0 : _l.enable) && channel) || openMultiPosts) &&
|
18535
18496
|
!waterFallData && (React.createElement(NavBack$1, { data: (_q = (_p = (_o = (_m = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.multiPosts) === null || _m === void 0 ? void 0 : _m[0]) === null || _o === void 0 ? void 0 : _o.item) === null || _p === void 0 ? void 0 : _p.props) === null || _q === void 0 ? void 0 : _q.backButton, minusHeight: minusHeight, tagHeight: tagHeight, onClick: () => {
|
18536
|
-
var _a, _b
|
18497
|
+
var _a, _b;
|
18498
|
+
const item = visList === null || visList === void 0 ? void 0 : visList[activeIndex];
|
18537
18499
|
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
18538
18500
|
eventInfo: {
|
18539
18501
|
eventSubject: 'backMultiPostClick',
|
18540
18502
|
eventDescription: 'backMultiPostClick',
|
18541
|
-
traceInfo: (
|
18503
|
+
traceInfo: ((_a = item === null || item === void 0 ? void 0 : item.video) === null || _a === void 0 ? void 0 : _a.traceInfo) || ((_b = item === null || item === void 0 ? void 0 : item.product) === null || _b === void 0 ? void 0 : _b.traceInfo) || ''
|
18542
18504
|
}
|
18543
18505
|
});
|
18544
18506
|
location === null || location === void 0 ? void 0 : location.reload();
|