pb-sxp-ui 1.0.37 → 1.0.39
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 +125 -452
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +1 -6
- package/dist/index.js +125 -451
- package/dist/index.js.map +1 -1
- package/dist/index.min.cjs +3 -3
- package/dist/index.min.cjs.map +1 -1
- package/dist/index.min.js +3 -3
- package/dist/index.min.js.map +1 -1
- package/dist/pb-ui.js +129 -455
- package/dist/pb-ui.js.map +1 -1
- package/dist/pb-ui.min.js +3 -3
- package/dist/pb-ui.min.js.map +1 -1
- package/es/core/components/SxpPageRender/VideoWidget/index.js +79 -46
- package/es/core/components/SxpPageRender/WaterFall/index.js +1 -1
- package/es/core/components/SxpPageRender/index.js +7 -7
- package/es/core/context/SxpDataSourceProvider.js +1 -1
- package/es/core/hooks/useEventReport.js +4 -4
- package/es/index.d.ts +0 -1
- package/es/index.js +0 -1
- package/es/materials/sxp/popup/CommodityDetail/index.js +6 -6
- package/es/materials/sxp/popup/CommodityDetailDiroNew/index.js +9 -9
- package/lib/core/components/SxpPageRender/VideoWidget/index.js +79 -46
- package/lib/core/components/SxpPageRender/WaterFall/index.js +1 -1
- package/lib/core/components/SxpPageRender/index.js +7 -7
- package/lib/core/context/SxpDataSourceProvider.js +1 -1
- package/lib/core/hooks/useEventReport.js +4 -4
- package/lib/index.d.ts +0 -1
- package/lib/index.js +1 -3
- package/lib/materials/sxp/popup/CommodityDetail/index.js +6 -6
- package/lib/materials/sxp/popup/CommodityDetailDiroNew/index.js +9 -9
- package/package.json +1 -2
- package/es/core/components/DiyPortalPreview/PictureGroup.d.ts +0 -13
- package/es/core/components/DiyPortalPreview/PictureGroup.js +0 -11
- package/es/core/components/DiyPortalPreview/VideoWidget.d.ts +0 -15
- package/es/core/components/DiyPortalPreview/VideoWidget.js +0 -236
- package/es/core/components/DiyPortalPreview/index.d.ts +0 -6
- package/es/core/components/DiyPortalPreview/index.js +0 -112
- package/lib/core/components/DiyPortalPreview/PictureGroup.d.ts +0 -13
- package/lib/core/components/DiyPortalPreview/PictureGroup.js +0 -14
- package/lib/core/components/DiyPortalPreview/VideoWidget.d.ts +0 -15
- package/lib/core/components/DiyPortalPreview/VideoWidget.js +0 -239
- package/lib/core/components/DiyPortalPreview/index.d.ts +0 -6
- package/lib/core/components/DiyPortalPreview/index.js +0 -115
package/dist/index.cjs
CHANGED
@@ -11,7 +11,6 @@ var css = require('@emotion/css');
|
|
11
11
|
var proComponents = require('@ant-design/pro-components');
|
12
12
|
var ReactDOM = require('react-dom');
|
13
13
|
var EventEmitter = require('eventemitter3');
|
14
|
-
var Hls = require('hls.js');
|
15
14
|
|
16
15
|
function _interopNamespaceDefault(e) {
|
17
16
|
var n = Object.create(null);
|
@@ -578,7 +577,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
|
|
578
577
|
fromKName = 'imagePage';
|
579
578
|
}
|
580
579
|
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
581
|
-
eventInfo: Object.assign(Object.assign({}, eventInfo), { ctaId: (_h = cta === null || cta === void 0 ? void 0 : cta.itemId) !== null && _h !== void 0 ? _h : '', ctaName: (_j = cta === null || cta === void 0 ? void 0 : cta.title) !== null && _j !== void 0 ? _j : '', contentTags: JSON.stringify(cta === null || cta === void 0 ? void 0 : cta.tags), position: position + '',
|
580
|
+
eventInfo: Object.assign(Object.assign({}, eventInfo), { ctaId: (_h = cta === null || cta === void 0 ? void 0 : cta.itemId) !== null && _h !== void 0 ? _h : '', ctaName: (_j = cta === null || cta === void 0 ? void 0 : cta.title) !== null && _j !== void 0 ? _j : '', contentTags: JSON.stringify(cta === null || cta === void 0 ? void 0 : cta.tags), position: position + '', relatedContentId: (_l = (_k = rec === null || rec === void 0 ? void 0 : rec.video) === null || _k === void 0 ? void 0 : _k.itemId) !== null && _l !== void 0 ? _l : '', relatedProductId: isProd ? product === null || product === void 0 ? void 0 : product.itemId : '', traceInfo: (_m = cta === null || cta === void 0 ? void 0 : cta.traceInfo) !== null && _m !== void 0 ? _m : '', fromKName })
|
582
581
|
});
|
583
582
|
}, [bffEventReport, isFromHashtag]);
|
584
583
|
React.useEffect(() => {
|
@@ -865,7 +864,7 @@ const EditorCore = React.forwardRef(({ children, resolver, isSsr, schema, enable
|
|
865
864
|
React.createElement(DataSourceProvider$1, { isSsr: isSsr, enable: enableDataSource }, children)));
|
866
865
|
});
|
867
866
|
|
868
|
-
var index$
|
867
|
+
var index$1 = /*#__PURE__*/Object.freeze({
|
869
868
|
__proto__: null,
|
870
869
|
EditorCore: EditorCore
|
871
870
|
});
|
@@ -8151,8 +8150,8 @@ function useEventReport() {
|
|
8151
8150
|
fromKPage: location === null || location === void 0 ? void 0 : location.href,
|
8152
8151
|
contentTags: (product === null || product === void 0 ? void 0 : product.tags) ? JSON.stringify(product === null || product === void 0 ? void 0 : product.tags) : '',
|
8153
8152
|
position: position + '',
|
8154
|
-
|
8155
|
-
|
8153
|
+
relatedContentId: (_m = (_l = data === null || data === void 0 ? void 0 : data.video) === null || _l === void 0 ? void 0 : _l.itemId) !== null && _m !== void 0 ? _m : '',
|
8154
|
+
relatedCtatId: (_o = cta === null || cta === void 0 ? void 0 : cta.itemId) !== null && _o !== void 0 ? _o : '',
|
8156
8155
|
traceInfo: (_p = product === null || product === void 0 ? void 0 : product.traceInfo) !== null && _p !== void 0 ? _p : ''
|
8157
8156
|
}
|
8158
8157
|
});
|
@@ -8176,8 +8175,8 @@ function useEventReport() {
|
|
8176
8175
|
fromKPage: location === null || location === void 0 ? void 0 : location.href,
|
8177
8176
|
contentTags: JSON.stringify(product === null || product === void 0 ? void 0 : product.tags),
|
8178
8177
|
position: position + '',
|
8179
|
-
|
8180
|
-
|
8178
|
+
relatedContentId: (_d = data === null || data === void 0 ? void 0 : data.video) === null || _d === void 0 ? void 0 : _d.itemId,
|
8179
|
+
relatedCtatId: cta === null || cta === void 0 ? void 0 : cta.itemId,
|
8181
8180
|
traceInfo: product === null || product === void 0 ? void 0 : product.traceInfo,
|
8182
8181
|
timeOnSite: Math.floor((new Date() - viewTime) / 1000) + '',
|
8183
8182
|
eventSubject: 'productView',
|
@@ -8340,7 +8339,7 @@ const FormatImage = React.forwardRef((props, ref) => {
|
|
8340
8339
|
var FormatImage$1 = React.memo(FormatImage);
|
8341
8340
|
|
8342
8341
|
const CommodityDetail$1 = (_a) => {
|
8343
|
-
var _b, _c, _d, _e, _f, _g, _h, _j
|
8342
|
+
var _b, _c, _d, _e, _f, _g, _h, _j;
|
8344
8343
|
var { content, style, bgImg, onClick, schema, isDefault, bottom_image, tipText, isPost, viewTime, rec, swiper, commodityStyles, buttonStyle, index } = _a, props = __rest(_a, ["content", "style", "bgImg", "onClick", "schema", "isDefault", "bottom_image", "tipText", "isPost", "viewTime", "rec", "swiper", "commodityStyles", "buttonStyle", "index"]);
|
8345
8344
|
const { sxpParameter } = useSxpDataSource();
|
8346
8345
|
const { popupDetailData, bffEventReport, isPreview, waterFallData } = useSxpDataSource();
|
@@ -8381,7 +8380,7 @@ const CommodityDetail$1 = (_a) => {
|
|
8381
8380
|
return '$7,000';
|
8382
8381
|
}
|
8383
8382
|
}, [product === null || product === void 0 ? void 0 : product.price, product === null || product === void 0 ? void 0 : product.currency]);
|
8384
|
-
const width = isPreview ? 375 :
|
8383
|
+
const width = isPreview ? 375 : window.innerWidth;
|
8385
8384
|
const renderContent = ({ isPost }) => {
|
8386
8385
|
var _a, _b, _c;
|
8387
8386
|
return (React.createElement("div", null,
|
@@ -8401,7 +8400,7 @@ const CommodityDetail$1 = (_a) => {
|
|
8401
8400
|
};
|
8402
8401
|
return (React.createElement("div", { className: 'pb-commondity' },
|
8403
8402
|
React.createElement("div", Object.assign({ className: css.css(Object.assign({}, style)) }, props),
|
8404
|
-
product && ((
|
8403
|
+
product && ((_f = product === null || product === void 0 ? void 0 : product.homePage) === null || _f === void 0 ? void 0 : _f.length) > 0 && (React.createElement(Swiper, { height: width, modules: [Pagination, Autoplay], pagination: {
|
8405
8404
|
clickable: true,
|
8406
8405
|
bulletActiveClass: 'swipe-item-active-bullet',
|
8407
8406
|
clickableClass: (swiper === null || swiper === void 0 ? void 0 : swiper.dotsAlign) === 'left'
|
@@ -8409,7 +8408,7 @@ const CommodityDetail$1 = (_a) => {
|
|
8409
8408
|
: 'commondityDetail-swiper-clickable-center'
|
8410
8409
|
}, loop: true, autoplay: {
|
8411
8410
|
delay: (swiper === null || swiper === void 0 ? void 0 : swiper.delay) * 1000
|
8412
|
-
} }, (
|
8411
|
+
} }, (_g = product === null || product === void 0 ? void 0 : product.homePage) === null || _g === void 0 ? void 0 : _g.map((src) => {
|
8413
8412
|
return (React.createElement(SwiperSlide, { key: src },
|
8414
8413
|
React.createElement("div", { style: {
|
8415
8414
|
overflow: 'hidden',
|
@@ -8418,7 +8417,7 @@ const CommodityDetail$1 = (_a) => {
|
|
8418
8417
|
} },
|
8419
8418
|
React.createElement(FormatImage$1, { style: { height: '100%', width: '100%', objectFit: 'cover', display: 'block' }, src: src }))));
|
8420
8419
|
}))),
|
8421
|
-
!((
|
8420
|
+
!((_h = product === null || product === void 0 ? void 0 : product.homePage) === null || _h === void 0 ? void 0 : _h.length) && (React.createElement("div", { className: css.css({
|
8422
8421
|
position: 'relative',
|
8423
8422
|
height: 0,
|
8424
8423
|
width: '100%',
|
@@ -8431,7 +8430,7 @@ const CommodityDetail$1 = (_a) => {
|
|
8431
8430
|
top: 0,
|
8432
8431
|
objectFit: 'cover',
|
8433
8432
|
width: '100%'
|
8434
|
-
}), src: (
|
8433
|
+
}), src: (_j = sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _j !== void 0 ? _j : bottom_image, alt: '' }))),
|
8435
8434
|
React.createElement("div", { className: 'pb-commondity-content' }, renderContent({ isPost }))),
|
8436
8435
|
renderBtn(),
|
8437
8436
|
React.createElement(Modal$1, { visible: showModal, onClose: () => setShowModal(false) },
|
@@ -8791,7 +8790,7 @@ var settingRender$2 = [
|
|
8791
8790
|
];
|
8792
8791
|
|
8793
8792
|
const CommodityDetailDiroNew$1 = (_a) => {
|
8794
|
-
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m
|
8793
|
+
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
8795
8794
|
var { style, isDefault, rec, viewTime, isPost, bottom_image, tipText, swiper, commodityStyles, buttonStyle, index } = _a, props = __rest(_a, ["style", "isDefault", "rec", "viewTime", "isPost", "bottom_image", "tipText", "swiper", "commodityStyles", "buttonStyle", "index"]);
|
8796
8795
|
React.useState(true);
|
8797
8796
|
const { sxpParameter } = useSxpDataSource();
|
@@ -8839,7 +8838,7 @@ const CommodityDetailDiroNew$1 = (_a) => {
|
|
8839
8838
|
return '£102,300.00';
|
8840
8839
|
}
|
8841
8840
|
}, [product === null || product === void 0 ? void 0 : product.price, product === null || product === void 0 ? void 0 : product.currency]);
|
8842
|
-
const width = isPreview ? 375 :
|
8841
|
+
const width = isPreview ? 375 : window.innerWidth;
|
8843
8842
|
const productInfoText = ({ isPost }) => {
|
8844
8843
|
return (React.createElement("div", { hidden: !!product && (!(product === null || product === void 0 ? void 0 : product.info) || (product === null || product === void 0 ? void 0 : product.info) === '') },
|
8845
8844
|
React.createElement(ExpandableText$1, { isPost: isPost, onClick: () => setShowModal(true), className: 'pb-commondityDiroNew-info', style: commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.info, foldText: tipText === null || tipText === void 0 ? void 0 : tipText.foldText, unfoldText: tipText === null || tipText === void 0 ? void 0 : tipText.unfoldText, text: (product === null || product === void 0 ? void 0 : product.info) ||
|
@@ -8848,7 +8847,7 @@ Made in Italy` })));
|
|
8848
8847
|
};
|
8849
8848
|
return (React.createElement("div", { className: 'pb-commondityDiroNew' },
|
8850
8849
|
React.createElement("div", Object.assign({ ref: scrollRef, className: css.css(Object.assign({}, style)) }, props),
|
8851
|
-
product && ((
|
8850
|
+
product && ((_f = product === null || product === void 0 ? void 0 : product.homePage) === null || _f === void 0 ? void 0 : _f.length) > 0 && (React.createElement(Swiper, { height: width, modules: [Pagination, Autoplay], pagination: {
|
8852
8851
|
clickable: true,
|
8853
8852
|
bulletActiveClass: 'commondityDiroNew-swipe-item-active-bullet',
|
8854
8853
|
clickableClass: (swiper === null || swiper === void 0 ? void 0 : swiper.dotsAlign) === 'left'
|
@@ -8856,7 +8855,7 @@ Made in Italy` })));
|
|
8856
8855
|
: 'commondityDiroNew-swiper-clickable-center'
|
8857
8856
|
}, loop: true, autoplay: {
|
8858
8857
|
delay: (swiper === null || swiper === void 0 ? void 0 : swiper.delay) * 1000
|
8859
|
-
} }, (
|
8858
|
+
} }, (_g = product === null || product === void 0 ? void 0 : product.homePage) === null || _g === void 0 ? void 0 : _g.map((src) => {
|
8860
8859
|
return (React.createElement(SwiperSlide, { key: src },
|
8861
8860
|
React.createElement("div", { style: {
|
8862
8861
|
overflow: 'hidden',
|
@@ -8865,7 +8864,7 @@ Made in Italy` })));
|
|
8865
8864
|
} },
|
8866
8865
|
React.createElement(FormatImage$1, { style: { height: '100%', width: '100%', objectFit: 'cover', display: 'block' }, src: src }))));
|
8867
8866
|
}))),
|
8868
|
-
!((
|
8867
|
+
!((_h = product === null || product === void 0 ? void 0 : product.homePage) === null || _h === void 0 ? void 0 : _h.length) && (React.createElement("div", { className: css.css({
|
8869
8868
|
position: 'relative',
|
8870
8869
|
height: 0,
|
8871
8870
|
width: '100%',
|
@@ -8878,16 +8877,16 @@ Made in Italy` })));
|
|
8878
8877
|
top: 0,
|
8879
8878
|
objectFit: 'cover',
|
8880
8879
|
width: '100%'
|
8881
|
-
}), src: (
|
8880
|
+
}), src: (_j = sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _j !== void 0 ? _j : bottom_image, alt: '' }))),
|
8882
8881
|
React.createElement("div", { className: 'pb-commondityDiroNew-content' },
|
8883
8882
|
React.createElement("div", { className: 'pb-commondityDiroNew-content-top' },
|
8884
8883
|
React.createElement("div", { className: 'pb-commondityDiroNew-content-top-left' },
|
8885
|
-
React.createElement("div", { className: 'pb-commondityDiroNew-content-top-left-title', style: commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.title }, (
|
8884
|
+
React.createElement("div", { className: 'pb-commondityDiroNew-content-top-left-title', style: commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.title }, (_k = product === null || product === void 0 ? void 0 : product.title) !== null && _k !== void 0 ? _k : 'Large Dior Toujours Bag'),
|
8886
8885
|
React.createElement("div", { className: 'pb-commondityDiroNew-content-collection', hidden: !!product && (!(product === null || product === void 0 ? void 0 : product.collection) || (product === null || product === void 0 ? void 0 : product.collection) === ''), style: commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.collection }, (product === null || product === void 0 ? void 0 : product.collection) || 'Black Macrocannage Calfskin')),
|
8887
8886
|
React.createElement("div", { className: 'pb-commondityDiroNew-content-top-right' },
|
8888
8887
|
React.createElement("div", { className: 'pb-commondityDiroNew-content-top-right-price', hidden: !!product && !(product === null || product === void 0 ? void 0 : product.price), style: commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.price }, priceText),
|
8889
|
-
React.createElement("div", { className: 'pb-commondityDiroNew-content-top-right-price', hidden: !!product && !(product === null || product === void 0 ? void 0 : product.taxInfo), style: commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.taxInfo }, (
|
8890
|
-
(!product || (product === null || product === void 0 ? void 0 : product.link)) && (React.createElement("button", { onClick: handleLink, className: 'pb-commondityDiroNew-btn', style: buttonStyle }, (
|
8888
|
+
React.createElement("div", { className: 'pb-commondityDiroNew-content-top-right-price', hidden: !!product && !(product === null || product === void 0 ? void 0 : product.taxInfo), style: commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.taxInfo }, (_l = product === null || product === void 0 ? void 0 : product.taxInfo) !== null && _l !== void 0 ? _l : '税费'))),
|
8889
|
+
(!product || (product === null || product === void 0 ? void 0 : product.link)) && (React.createElement("button", { onClick: handleLink, className: 'pb-commondityDiroNew-btn', style: buttonStyle }, (_m = cta === null || cta === void 0 ? void 0 : cta.enTitle) !== null && _m !== void 0 ? _m : 'Shop now')),
|
8891
8890
|
productInfoText({ isPost }))),
|
8892
8891
|
React.createElement(Modal$1, { visible: showModal, onClose: () => setShowModal(false) }, productInfoText({ isPost: false }))));
|
8893
8892
|
};
|
@@ -11795,7 +11794,7 @@ const WaterFall = (props) => {
|
|
11795
11794
|
}
|
11796
11795
|
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
11797
11796
|
eventInfo: {
|
11798
|
-
|
11797
|
+
relatedContentId: (_d = rec === null || rec === void 0 ? void 0 : rec.video) === null || _d === void 0 ? void 0 : _d.itemId,
|
11799
11798
|
position: cacheActiveIndex + '',
|
11800
11799
|
contentTags: JSON.stringify((_e = rec === null || rec === void 0 ? void 0 : rec.video) === null || _e === void 0 ? void 0 : _e.tags),
|
11801
11800
|
traceInfo: (_f = rec === null || rec === void 0 ? void 0 : rec.video) === null || _f === void 0 ? void 0 : _f.traceInfo,
|
@@ -11928,14 +11927,14 @@ var _materials_ = /*#__PURE__*/Object.freeze({
|
|
11928
11927
|
Prompt: Prompt
|
11929
11928
|
});
|
11930
11929
|
|
11931
|
-
const defaultUnLikeIconPath
|
11932
|
-
const defaultLikeIconPath
|
11930
|
+
const defaultUnLikeIconPath = '/pb_static/f71266d2c64446c5ae6a5a7f5489cc0a.png';
|
11931
|
+
const defaultLikeIconPath = '/pb_static/f07900fe3f0f4ae188ea1611d4801a44.png';
|
11933
11932
|
const LikeButton = (_a) => {
|
11934
11933
|
var { active, activeIcon, unActicveIcon, recData, position } = _a, props = __rest(_a, ["active", "activeIcon", "unActicveIcon", "recData", "position"]);
|
11935
11934
|
const { mutateLike, mutateUnlike, bffEventReport } = useSxpDataSource();
|
11936
11935
|
const [state, setState] = React.useState(active);
|
11937
|
-
const likeIcon = useIconLink(defaultLikeIconPath
|
11938
|
-
const unlikeIcon = useIconLink(defaultUnLikeIconPath
|
11936
|
+
const likeIcon = useIconLink(defaultLikeIconPath);
|
11937
|
+
const unlikeIcon = useIconLink(defaultUnLikeIconPath);
|
11939
11938
|
const handleClick = lodash.debounce(() => __awaiter(void 0, void 0, void 0, function* () {
|
11940
11939
|
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
|
11941
11940
|
if (state) {
|
@@ -11991,7 +11990,7 @@ var SXP_EVENT_TYPE;
|
|
11991
11990
|
SXP_EVENT_TYPE["PAGE_DID_HIDE"] = "pageDidHide";
|
11992
11991
|
})(SXP_EVENT_TYPE || (SXP_EVENT_TYPE = {}));
|
11993
11992
|
|
11994
|
-
const VideoWidget
|
11993
|
+
const VideoWidget = ({ rec, index, height, data, muted, activeIndex, videoPostConfig }) => {
|
11995
11994
|
const [isPauseVideo, setIsPauseVideo] = React.useState(false);
|
11996
11995
|
const videoRef = React.useRef(null);
|
11997
11996
|
const { bffEventReport, sxpParameter, waterFallData, openHashtag } = useSxpDataSource();
|
@@ -12001,12 +12000,13 @@ const VideoWidget$2 = ({ rec, index, height, data, muted, activeIndex, videoPost
|
|
12001
12000
|
const { isActive } = useSwiperSlide();
|
12002
12001
|
const canvasRef = React.useRef(null);
|
12003
12002
|
const [firstFrameSrc, setFirstFrameSrc] = React.useState('');
|
12003
|
+
const videoId = `pb-video-${index}`;
|
12004
12004
|
React.useEffect(() => {
|
12005
12005
|
if (!videoRef.current)
|
12006
12006
|
return;
|
12007
|
-
videoRef.current.muted
|
12007
|
+
videoRef.current.muted(muted);
|
12008
12008
|
}, [muted]);
|
12009
|
-
const
|
12009
|
+
const handleEnded = React.useCallback(() => {
|
12010
12010
|
var _a;
|
12011
12011
|
(_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.play();
|
12012
12012
|
}, []);
|
@@ -12015,10 +12015,10 @@ const VideoWidget$2 = ({ rec, index, height, data, muted, activeIndex, videoPost
|
|
12015
12015
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
12016
12016
|
setIsPauseVideo(false);
|
12017
12017
|
const item = data[index];
|
12018
|
-
if (item && ((_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.duration)) {
|
12019
|
-
videoStartTime.current = ((_b = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _b === void 0 ? void 0 : _b.currentTime) || 0;
|
12020
|
-
const videoDuration = ((_d = (_c = videoRef.current) === null || _c === void 0 ? void 0 : _c.duration) !== null && _d !== void 0 ? _d : 0).toFixed(2);
|
12021
|
-
const videoCurrentTime = ((_f = (_e = videoRef.current) === null || _e === void 0 ? void 0 : _e.currentTime) !== null && _f !== void 0 ? _f : 0).toFixed(2);
|
12018
|
+
if (item && ((_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.duration())) {
|
12019
|
+
videoStartTime.current = ((_b = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _b === void 0 ? void 0 : _b.currentTime()) || 0;
|
12020
|
+
const videoDuration = ((_d = (_c = videoRef.current) === null || _c === void 0 ? void 0 : _c.duration()) !== null && _d !== void 0 ? _d : 0).toFixed(2);
|
12021
|
+
const videoCurrentTime = ((_f = (_e = videoRef.current) === null || _e === void 0 ? void 0 : _e.currentTime()) !== null && _f !== void 0 ? _f : 0).toFixed(2);
|
12022
12022
|
const playType = isFirstPlay ? '0' : '1';
|
12023
12023
|
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
12024
12024
|
eventInfo: {
|
@@ -12038,14 +12038,15 @@ const VideoWidget$2 = ({ rec, index, height, data, muted, activeIndex, videoPost
|
|
12038
12038
|
setIsFirstPlay(false);
|
12039
12039
|
}
|
12040
12040
|
}, [bffEventReport, data, index, isFirstPlay]);
|
12041
|
-
const
|
12041
|
+
const handleCanplay = React.useCallback(() => {
|
12042
|
+
handLoadeddata();
|
12042
12043
|
setIsLoadFinish(true);
|
12043
12044
|
}, []);
|
12044
12045
|
const handleClickVideo = React.useCallback((type) => () => {
|
12045
12046
|
var _a, _b, _c, _d, _e;
|
12046
12047
|
if (!isLoadFinish)
|
12047
12048
|
return;
|
12048
|
-
const isPause = (_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.paused;
|
12049
|
+
const isPause = (_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.paused();
|
12049
12050
|
switch (type) {
|
12050
12051
|
case 'start':
|
12051
12052
|
if (!isPause)
|
@@ -12070,13 +12071,13 @@ const VideoWidget$2 = ({ rec, index, height, data, muted, activeIndex, videoPost
|
|
12070
12071
|
break;
|
12071
12072
|
}
|
12072
12073
|
}, [isLoadFinish]);
|
12073
|
-
const
|
12074
|
+
const handlePause = React.useCallback(() => {
|
12074
12075
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
12075
12076
|
const item = data[index];
|
12076
|
-
const videoDuration = ((_b = (_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.duration) !== null && _b !== void 0 ? _b : 0).toFixed(2);
|
12077
|
-
const videoCurrentTime = ((_d = (_c = videoRef.current) === null || _c === void 0 ? void 0 : _c.currentTime) !== null && _d !== void 0 ? _d : 0).toFixed(2);
|
12078
|
-
if ((_e = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _e === void 0 ? void 0 : _e.duration) {
|
12079
|
-
const playDuration = (((_f = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _f === void 0 ? void 0 : _f.currentTime) - videoStartTime.current).toFixed(2);
|
12077
|
+
const videoDuration = ((_b = (_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.duration()) !== null && _b !== void 0 ? _b : 0).toFixed(2);
|
12078
|
+
const videoCurrentTime = ((_d = (_c = videoRef.current) === null || _c === void 0 ? void 0 : _c.currentTime()) !== null && _d !== void 0 ? _d : 0).toFixed(2);
|
12079
|
+
if ((_e = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _e === void 0 ? void 0 : _e.duration()) {
|
12080
|
+
const playDuration = (((_f = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _f === void 0 ? void 0 : _f.currentTime()) - videoStartTime.current).toFixed(2);
|
12080
12081
|
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
12081
12082
|
eventInfo: {
|
12082
12083
|
eventSubject: 'playOverVideo',
|
@@ -12108,56 +12109,66 @@ const VideoWidget$2 = ({ rec, index, height, data, muted, activeIndex, videoPost
|
|
12108
12109
|
return ((_a = rec === null || rec === void 0 ? void 0 : rec.video) === null || _a === void 0 ? void 0 : _a.cover) || firstFrameSrc;
|
12109
12110
|
}, [firstFrameSrc, rec]);
|
12110
12111
|
const handLoadeddata = React.useCallback(() => {
|
12111
|
-
|
12112
|
+
var _a;
|
12113
|
+
const videoDomRef = document.getElementById(`${videoId}_html5_api`);
|
12114
|
+
if (((_a = rec === null || rec === void 0 ? void 0 : rec.video) === null || _a === void 0 ? void 0 : _a.cover) || !canvasRef || !videoDomRef || !canvasRef.current)
|
12112
12115
|
return;
|
12113
|
-
const
|
12114
|
-
|
12115
|
-
|
12116
|
-
|
12117
|
-
|
12118
|
-
|
12119
|
-
|
12120
|
-
|
12121
|
-
|
12116
|
+
const setFrameImg = () => {
|
12117
|
+
const video = videoDomRef;
|
12118
|
+
const canvas = canvasRef === null || canvasRef === void 0 ? void 0 : canvasRef.current;
|
12119
|
+
const ctx = canvas.getContext('2d');
|
12120
|
+
const targetWidth = window === null || window === void 0 ? void 0 : window.innerWidth;
|
12121
|
+
const targetHeight = window === null || window === void 0 ? void 0 : window.innerHeight;
|
12122
|
+
canvas.height = targetHeight;
|
12123
|
+
canvas.width = targetWidth;
|
12124
|
+
ctx === null || ctx === void 0 ? void 0 : ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
|
12125
|
+
setFirstFrameSrc(canvas.toDataURL());
|
12126
|
+
};
|
12127
|
+
setFrameImg();
|
12128
|
+
setTimeout(() => {
|
12129
|
+
setFrameImg();
|
12130
|
+
}, 500);
|
12122
12131
|
}, []);
|
12123
12132
|
React.useEffect(() => {
|
12124
|
-
var _a, _b, _c, _d;
|
12125
|
-
if (!videoRef.current)
|
12126
|
-
return;
|
12133
|
+
var _a, _b, _c, _d, _e;
|
12127
12134
|
setIsPauseVideo(false);
|
12128
|
-
|
12129
|
-
|
12130
|
-
|
12131
|
-
|
12132
|
-
|
12133
|
-
|
12134
|
-
|
12135
|
-
|
12136
|
-
|
12137
|
-
|
12138
|
-
|
12139
|
-
|
12140
|
-
|
12141
|
-
|
12142
|
-
|
12143
|
-
|
12144
|
-
|
12145
|
-
|
12146
|
-
videoRef.current.
|
12147
|
-
|
12148
|
-
|
12149
|
-
(
|
12150
|
-
(
|
12151
|
-
|
12152
|
-
(_d = videoRef.current) === null || _d === void 0 ? void 0 : _d.
|
12135
|
+
const videoSrc = rec.video.url;
|
12136
|
+
if (videoSrc && typeof TCPlayer === 'function') {
|
12137
|
+
videoRef.current = TCPlayer(videoId, {
|
12138
|
+
sources: [
|
12139
|
+
{
|
12140
|
+
src: videoSrc // 播放地址
|
12141
|
+
}
|
12142
|
+
],
|
12143
|
+
licenseUrl: 'https://license.vod2.myqcloud.com/license/v2/1325816236_1/v_cube.license', // license 地址,参考准备工作部分,在视立方控制台申请 license 后可获得 licenseUrl
|
12144
|
+
controls: false,
|
12145
|
+
autoplay: false,
|
12146
|
+
loop: false,
|
12147
|
+
muted: true,
|
12148
|
+
preload: 'auto',
|
12149
|
+
posterImage: false,
|
12150
|
+
bigPlayButton: true
|
12151
|
+
});
|
12152
|
+
videoRef.current.play();
|
12153
|
+
videoRef.current.pause();
|
12154
|
+
}
|
12155
|
+
(_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.on('loadedmetadata', handleCanplay);
|
12156
|
+
(_b = videoRef.current) === null || _b === void 0 ? void 0 : _b.on('canplay', handleCanplay);
|
12157
|
+
(_c = videoRef.current) === null || _c === void 0 ? void 0 : _c.on('playing', handlePlaying);
|
12158
|
+
// videoRef.current?.on('loadeddata', handLoadeddata);
|
12159
|
+
(_d = videoRef.current) === null || _d === void 0 ? void 0 : _d.on('pause', handlePause);
|
12160
|
+
(_e = videoRef.current) === null || _e === void 0 ? void 0 : _e.on('ended', handleEnded);
|
12153
12161
|
return () => {
|
12154
|
-
var _a, _b, _c, _d;
|
12155
|
-
(_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.
|
12156
|
-
(_b = videoRef.current) === null || _b === void 0 ? void 0 : _b.
|
12157
|
-
(_c = videoRef.current) === null || _c === void 0 ? void 0 : _c.
|
12158
|
-
|
12162
|
+
var _a, _b, _c, _d, _e;
|
12163
|
+
(_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.off('loadedmetadata', handleCanplay);
|
12164
|
+
(_b = videoRef.current) === null || _b === void 0 ? void 0 : _b.off('canplay', handleCanplay);
|
12165
|
+
(_c = videoRef.current) === null || _c === void 0 ? void 0 : _c.off('playing', handlePlaying);
|
12166
|
+
// videoRef.current?.off('loadeddata', handLoadeddata);
|
12167
|
+
(_d = videoRef.current) === null || _d === void 0 ? void 0 : _d.off('pause', handlePause);
|
12168
|
+
(_e = videoRef.current) === null || _e === void 0 ? void 0 : _e.off('ended', handleEnded);
|
12169
|
+
videoRef.current.dispose();
|
12159
12170
|
};
|
12160
|
-
}, [
|
12171
|
+
}, []);
|
12161
12172
|
React.useEffect(() => {
|
12162
12173
|
var _a;
|
12163
12174
|
if (!(videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) || !isLoadFinish)
|
@@ -12243,23 +12254,31 @@ const VideoWidget$2 = ({ rec, index, height, data, muted, activeIndex, videoPost
|
|
12243
12254
|
right: 0
|
12244
12255
|
} },
|
12245
12256
|
React.createElement("div", { style: { position: 'relative', width: '100%', height: '100%' } },
|
12246
|
-
React.createElement("video", { id: `pb-video-${index}`,
|
12257
|
+
React.createElement("video", { id: `pb-video-${index}`, playsInline: true, crossOrigin: 'anonymous', style: {
|
12247
12258
|
width: '100%',
|
12248
12259
|
height: '100%',
|
12249
|
-
objectFit: 'contain'
|
12260
|
+
objectFit: 'contain',
|
12261
|
+
backgroundColor: 'transparent',
|
12262
|
+
pointerEvents: 'none'
|
12250
12263
|
} }),
|
12251
12264
|
React.createElement("img", { hidden: !isPauseVideo, className: 'clc-pb-video-pause', src: PAUSE_ICON }))),
|
12252
|
-
renderPoster)) : (React.createElement("div", { className: 'video-container', key: rec.video.itemId,
|
12265
|
+
renderPoster)) : (React.createElement("div", { className: 'video-container', key: rec.video.itemId, style: {
|
12253
12266
|
position: 'relative',
|
12254
12267
|
width: '100%',
|
12255
12268
|
height,
|
12256
12269
|
overflow: 'hidden'
|
12257
|
-
} },
|
12258
|
-
React.createElement("video", { id: `pb-video-${index}`,
|
12270
|
+
}, onClick: handleClickVideo() },
|
12271
|
+
React.createElement("video", { id: `pb-video-${index}`, playsInline: true, crossOrigin: 'anonymous', style: {
|
12272
|
+
backgroundColor: 'transparent',
|
12273
|
+
width: '100%',
|
12274
|
+
height: '100%',
|
12275
|
+
objectFit: 'cover',
|
12276
|
+
pointerEvents: 'none'
|
12277
|
+
} }),
|
12259
12278
|
renderPoster,
|
12260
12279
|
React.createElement("img", { hidden: !isPauseVideo, className: 'clc-pb-video-pause', src: PAUSE_ICON })))));
|
12261
12280
|
};
|
12262
|
-
var VideoWidget$
|
12281
|
+
var VideoWidget$1 = React.memo(VideoWidget);
|
12263
12282
|
|
12264
12283
|
/*
|
12265
12284
|
* @Author: binruan@chatlabs.com
|
@@ -12358,7 +12377,7 @@ const Picture = (props) => {
|
|
12358
12377
|
* @LastEditTime: 2024-04-18 19:56:22
|
12359
12378
|
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\PictureGroup\index.tsx
|
12360
12379
|
*/
|
12361
|
-
const PictureGroup
|
12380
|
+
const PictureGroup = ({ imgUrls, width, height, rec, index, onReportViewImageEnd, onViewImageStartEvent, imgUrlsPostConfig }) => {
|
12362
12381
|
var _a;
|
12363
12382
|
const ref = React.useRef();
|
12364
12383
|
const { isActive } = useSwiperSlide();
|
@@ -12387,7 +12406,7 @@ const PictureGroup$2 = ({ imgUrls, width, height, rec, index, onReportViewImageE
|
|
12387
12406
|
React.createElement(Picture, { src: url, height: height, imgUrlsPostConfig: imgUrlsPostConfig })));
|
12388
12407
|
})));
|
12389
12408
|
};
|
12390
|
-
var PictureGroup$
|
12409
|
+
var PictureGroup$1 = React.memo(PictureGroup);
|
12391
12410
|
|
12392
12411
|
/*
|
12393
12412
|
* @Author: binruan@chatlabs.com
|
@@ -12566,7 +12585,7 @@ const Nudge = ({ nudge }) => {
|
|
12566
12585
|
* @Author: binruan@chatlabs.com
|
12567
12586
|
* @Date: 2024-01-15 19:03:09
|
12568
12587
|
* @LastEditors: binruan@chatlabs.com
|
12569
|
-
* @LastEditTime: 2024-04-
|
12588
|
+
* @LastEditTime: 2024-04-18 19:27:03
|
12570
12589
|
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\index.tsx
|
12571
12590
|
*
|
12572
12591
|
*/
|
@@ -12648,8 +12667,8 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
12648
12667
|
// sessionDuration: Math.floor(((new Date() as any) - curTime) / 1000) + '',
|
12649
12668
|
// eventSubject: 'sessionCompleted',
|
12650
12669
|
// eventDescription: 'Session completed',
|
12651
|
-
//
|
12652
|
-
//
|
12670
|
+
// relatedContentId: item?.video?.itemId,
|
12671
|
+
// relatedProductId: item?.product?.itemId,
|
12653
12672
|
// position: item?.position
|
12654
12673
|
// }
|
12655
12674
|
// });
|
@@ -12693,12 +12712,12 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
12693
12712
|
sessionDuration: Math.floor((new Date() - curTime.current) / 1000) + '',
|
12694
12713
|
eventSubject: 'sessionCompleted',
|
12695
12714
|
eventDescription: 'Session completed',
|
12696
|
-
|
12697
|
-
|
12715
|
+
relatedContentId: (_l = item === null || item === void 0 ? void 0 : item.video) === null || _l === void 0 ? void 0 : _l.itemId,
|
12716
|
+
relatedProductId: (_m = item === null || item === void 0 ? void 0 : item.product) === null || _m === void 0 ? void 0 : _m.itemId,
|
12698
12717
|
position: activeIndex + '',
|
12699
12718
|
fromKName,
|
12700
12719
|
fromKPage: location === null || location === void 0 ? void 0 : location.href,
|
12701
|
-
|
12720
|
+
relatedCtatId: (_q = (_p = (_o = item.video) === null || _o === void 0 ? void 0 : _o.bindCta) === null || _p === void 0 ? void 0 : _p.itemId) !== null && _q !== void 0 ? _q : ''
|
12702
12721
|
}
|
12703
12722
|
});
|
12704
12723
|
}
|
@@ -12727,10 +12746,10 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
12727
12746
|
const renderContent = React.useCallback((rec, index) => {
|
12728
12747
|
var _a, _b, _c, _d;
|
12729
12748
|
if ((_a = rec.video) === null || _a === void 0 ? void 0 : _a.url) {
|
12730
|
-
return (React.createElement(VideoWidget$
|
12749
|
+
return (React.createElement(VideoWidget$1, { rec: rec, index: index, muted: isMuted, data: data, height: height, activeIndex: activeIndex, videoPostConfig: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.videoPost }));
|
12731
12750
|
}
|
12732
12751
|
if ((_b = rec.video) === null || _b === void 0 ? void 0 : _b.imgUrls) {
|
12733
|
-
return (React.createElement(PictureGroup$
|
12752
|
+
return (React.createElement(PictureGroup$1, { key: rec.video.itemId, imgUrls: rec.video.imgUrls, width: containerWidth, height: height, rec: rec, index: index, onReportViewImageEnd: handleReportViewImageEnd, onViewImageStartEvent: handleViewImageStartEvent, imgUrlsPostConfig: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.imgUrlsPost }));
|
12734
12753
|
}
|
12735
12754
|
if (rec.product && Array.isArray(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.productPost) && ((_c = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.productPost) === null || _c === void 0 ? void 0 : _c.length) > 0) {
|
12736
12755
|
return (_d = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.productPost) === null || _d === void 0 ? void 0 : _d.map((value, idx) => {
|
@@ -12832,8 +12851,8 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
12832
12851
|
eventInfo: {
|
12833
12852
|
eventSubject: 'scrollDown',
|
12834
12853
|
eventDescription: 'User scroll down',
|
12835
|
-
|
12836
|
-
|
12854
|
+
relatedContentId: (_b = (_a = item.video) === null || _a === void 0 ? void 0 : _a.itemId) !== null && _b !== void 0 ? _b : '',
|
12855
|
+
relatedProductId: (_d = (_c = item.product) === null || _c === void 0 ? void 0 : _c.itemId) !== null && _d !== void 0 ? _d : '',
|
12837
12856
|
requestId: null
|
12838
12857
|
}
|
12839
12858
|
});
|
@@ -12845,8 +12864,8 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
12845
12864
|
eventInfo: {
|
12846
12865
|
eventSubject: 'scrollUp',
|
12847
12866
|
eventDescription: 'User scroll up',
|
12848
|
-
|
12849
|
-
|
12867
|
+
relatedContentId: (_f = (_e = item.video) === null || _e === void 0 ? void 0 : _e.itemId) !== null && _f !== void 0 ? _f : '',
|
12868
|
+
relatedProductId: (_h = (_g = item.product) === null || _g === void 0 ? void 0 : _g.itemId) !== null && _h !== void 0 ? _h : '',
|
12850
12869
|
requestId: null
|
12851
12870
|
}
|
12852
12871
|
});
|
@@ -12969,351 +12988,6 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
12969
12988
|
React.createElement(WaterFall$1, Object.assign({}, (_g = (_f = (_e = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.hashTag) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.item) === null || _g === void 0 ? void 0 : _g.props))));
|
12970
12989
|
};
|
12971
12990
|
|
12972
|
-
const PictureGroup = ({ imgUrls, width, height, imgUrlsPostConfig, rec, index }) => {
|
12973
|
-
return (React.createElement(Swiper, { defaultValue: 0, direction: 'horizontal', modules: [Pagination, Autoplay], pagination: { clickable: true, bulletActiveClass: 'swipe-item-active-bullet' }, height: height, style: { width }, loop: true, autoplay: false }, imgUrls === null || imgUrls === void 0 ? void 0 : imgUrls.map((url) => {
|
12974
|
-
return (React.createElement(SwiperSlide, { key: url },
|
12975
|
-
React.createElement(Picture, { src: url, height: height, imgUrlsPostConfig: imgUrlsPostConfig })));
|
12976
|
-
})));
|
12977
|
-
};
|
12978
|
-
var PictureGroup$1 = React.memo(PictureGroup);
|
12979
|
-
|
12980
|
-
const VideoWidget = ({ rec, index, height, data, muted, activeIndex, videoPostConfig, width }) => {
|
12981
|
-
const [isPauseVideo, setIsPauseVideo] = React.useState(false);
|
12982
|
-
const videoRef = React.useRef(null);
|
12983
|
-
const { bffEventReport, sxpParameter, waterFallData, openHashtag } = useSxpDataSource();
|
12984
|
-
const videoStartTime = React.useRef(0);
|
12985
|
-
const [isLoadFinish, setIsLoadFinish] = React.useState(false);
|
12986
|
-
const [isFirstPlay, setIsFirstPlay] = React.useState(true);
|
12987
|
-
const canvasRef = React.useRef(null);
|
12988
|
-
const [firstFrameSrc, setFirstFrameSrc] = React.useState('');
|
12989
|
-
React.useEffect(() => {
|
12990
|
-
if (!videoRef.current)
|
12991
|
-
return;
|
12992
|
-
videoRef.current.muted = muted;
|
12993
|
-
}, [muted]);
|
12994
|
-
const handleVideoStart = React.useCallback(() => {
|
12995
|
-
var _a;
|
12996
|
-
(_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.play();
|
12997
|
-
}, []);
|
12998
|
-
const PAUSE_ICON = useIconLink('/pb_static/06f28a2025c74c1cb49be6767316d827.png');
|
12999
|
-
const handlePlaying = React.useCallback(() => {
|
13000
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
13001
|
-
setIsPauseVideo(false);
|
13002
|
-
const item = data[index];
|
13003
|
-
if (item && ((_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.duration)) {
|
13004
|
-
videoStartTime.current = ((_b = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _b === void 0 ? void 0 : _b.currentTime) || 0;
|
13005
|
-
const videoDuration = ((_d = (_c = videoRef.current) === null || _c === void 0 ? void 0 : _c.duration) !== null && _d !== void 0 ? _d : 0).toFixed(2);
|
13006
|
-
const videoCurrentTime = ((_f = (_e = videoRef.current) === null || _e === void 0 ? void 0 : _e.currentTime) !== null && _f !== void 0 ? _f : 0).toFixed(2);
|
13007
|
-
const playType = isFirstPlay ? '0' : '1';
|
13008
|
-
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
13009
|
-
eventInfo: {
|
13010
|
-
eventSubject: 'playVideo',
|
13011
|
-
eventDescription: 'User played the video',
|
13012
|
-
contentId: (_h = (_g = item.video) === null || _g === void 0 ? void 0 : _g.itemId) !== null && _h !== void 0 ? _h : '',
|
13013
|
-
contentName: (_k = (_j = item.video) === null || _j === void 0 ? void 0 : _j.title) !== null && _k !== void 0 ? _k : '',
|
13014
|
-
playType,
|
13015
|
-
startTime: videoCurrentTime,
|
13016
|
-
videoDuration,
|
13017
|
-
contentTags: JSON.stringify((_m = (_l = item.video) === null || _l === void 0 ? void 0 : _l.tags) !== null && _m !== void 0 ? _m : []),
|
13018
|
-
position: index + '',
|
13019
|
-
contentFormat: 'video',
|
13020
|
-
traceInfo: (_o = item.video) === null || _o === void 0 ? void 0 : _o.traceInfo
|
13021
|
-
}
|
13022
|
-
});
|
13023
|
-
setIsFirstPlay(false);
|
13024
|
-
}
|
13025
|
-
}, [bffEventReport, data, index, isFirstPlay]);
|
13026
|
-
const handleLoadedMetadata = React.useCallback(() => {
|
13027
|
-
setIsLoadFinish(true);
|
13028
|
-
}, []);
|
13029
|
-
const handleClickVideo = React.useCallback((type) => () => {
|
13030
|
-
var _a, _b, _c, _d, _e;
|
13031
|
-
if (!isLoadFinish)
|
13032
|
-
return;
|
13033
|
-
const isPause = (_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.paused;
|
13034
|
-
switch (type) {
|
13035
|
-
case 'start':
|
13036
|
-
if (!isPause)
|
13037
|
-
return;
|
13038
|
-
(_b = videoRef.current) === null || _b === void 0 ? void 0 : _b.play();
|
13039
|
-
setIsPauseVideo(false);
|
13040
|
-
break;
|
13041
|
-
case 'pause':
|
13042
|
-
if (isPause)
|
13043
|
-
return;
|
13044
|
-
(_c = videoRef.current) === null || _c === void 0 ? void 0 : _c.pause();
|
13045
|
-
setIsPauseVideo(true);
|
13046
|
-
break;
|
13047
|
-
default:
|
13048
|
-
if (isPause) {
|
13049
|
-
(_d = videoRef.current) === null || _d === void 0 ? void 0 : _d.play();
|
13050
|
-
}
|
13051
|
-
else {
|
13052
|
-
(_e = videoRef.current) === null || _e === void 0 ? void 0 : _e.pause();
|
13053
|
-
}
|
13054
|
-
setIsPauseVideo(!isPause);
|
13055
|
-
break;
|
13056
|
-
}
|
13057
|
-
}, [isLoadFinish]);
|
13058
|
-
const onPause = React.useCallback(() => {
|
13059
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
13060
|
-
const item = data[index];
|
13061
|
-
const videoDuration = ((_b = (_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.duration) !== null && _b !== void 0 ? _b : 0).toFixed(2);
|
13062
|
-
const videoCurrentTime = ((_d = (_c = videoRef.current) === null || _c === void 0 ? void 0 : _c.currentTime) !== null && _d !== void 0 ? _d : 0).toFixed(2);
|
13063
|
-
if ((_e = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _e === void 0 ? void 0 : _e.duration) {
|
13064
|
-
const playDuration = (((_f = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _f === void 0 ? void 0 : _f.currentTime) - videoStartTime.current).toFixed(2);
|
13065
|
-
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
13066
|
-
eventInfo: {
|
13067
|
-
eventSubject: 'playOverVideo',
|
13068
|
-
eventDescription: 'User finished playing the video',
|
13069
|
-
contentId: (_h = (_g = item.video) === null || _g === void 0 ? void 0 : _g.itemId) !== null && _h !== void 0 ? _h : '',
|
13070
|
-
contentName: (_k = (_j = item.video) === null || _j === void 0 ? void 0 : _j.title) !== null && _k !== void 0 ? _k : '',
|
13071
|
-
endTime: videoCurrentTime,
|
13072
|
-
videoDuration,
|
13073
|
-
playDuration,
|
13074
|
-
contentTags: JSON.stringify((_m = (_l = item.video) === null || _l === void 0 ? void 0 : _l.tags) !== null && _m !== void 0 ? _m : []),
|
13075
|
-
position: index + '',
|
13076
|
-
contentFormat: 'video',
|
13077
|
-
traceInfo: (_o = item.video) === null || _o === void 0 ? void 0 : _o.traceInfo
|
13078
|
-
}
|
13079
|
-
});
|
13080
|
-
}
|
13081
|
-
}, [data, index, bffEventReport]);
|
13082
|
-
const blur = React.useMemo(() => {
|
13083
|
-
return (videoPostConfig === null || videoPostConfig === void 0 ? void 0 : videoPostConfig.mode) === '2';
|
13084
|
-
}, [videoPostConfig]);
|
13085
|
-
const translateY = React.useMemo(() => {
|
13086
|
-
var _a;
|
13087
|
-
return (videoPostConfig === null || videoPostConfig === void 0 ? void 0 : videoPostConfig.mode) === '2'
|
13088
|
-
? `translateY(-${50 + ((_a = videoPostConfig === null || videoPostConfig === void 0 ? void 0 : videoPostConfig.offsetTop) !== null && _a !== void 0 ? _a : 0)}%) translate3d(0px, 0px, 0px)`
|
13089
|
-
: 'translateY(-50%)';
|
13090
|
-
}, [videoPostConfig]);
|
13091
|
-
const blurBgSrc = React.useMemo(() => {
|
13092
|
-
var _a;
|
13093
|
-
return ((_a = rec === null || rec === void 0 ? void 0 : rec.video) === null || _a === void 0 ? void 0 : _a.cover) || firstFrameSrc;
|
13094
|
-
}, [firstFrameSrc, rec]);
|
13095
|
-
const handLoadeddata = React.useCallback(() => {
|
13096
|
-
if (!canvasRef || !videoRef || !videoRef.current || !canvasRef.current)
|
13097
|
-
return;
|
13098
|
-
const video = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current;
|
13099
|
-
const canvas = canvasRef === null || canvasRef === void 0 ? void 0 : canvasRef.current;
|
13100
|
-
const ctx = canvas.getContext('2d');
|
13101
|
-
const targetWidth = window === null || window === void 0 ? void 0 : window.innerWidth;
|
13102
|
-
const targetHeight = window === null || window === void 0 ? void 0 : window.innerHeight;
|
13103
|
-
canvas.height = targetHeight;
|
13104
|
-
canvas.width = targetWidth;
|
13105
|
-
ctx === null || ctx === void 0 ? void 0 : ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
|
13106
|
-
setFirstFrameSrc(canvas.toDataURL());
|
13107
|
-
}, []);
|
13108
|
-
React.useEffect(() => {
|
13109
|
-
var _a, _b, _c, _d;
|
13110
|
-
if (!videoRef.current)
|
13111
|
-
return;
|
13112
|
-
setIsPauseVideo(false);
|
13113
|
-
if (!videoRef.current.src) {
|
13114
|
-
const videoSrc = rec.video.url;
|
13115
|
-
if (videoSrc.includes('.m3u8')) {
|
13116
|
-
if (Hls.isSupported()) {
|
13117
|
-
const hls = new Hls();
|
13118
|
-
hls.loadSource(videoSrc);
|
13119
|
-
hls.attachMedia(videoRef.current);
|
13120
|
-
}
|
13121
|
-
else if (videoRef.current.canPlayType('application/vnd.apple.mpegurl')) {
|
13122
|
-
videoRef.current.src = videoSrc;
|
13123
|
-
}
|
13124
|
-
else {
|
13125
|
-
videoRef.current.src = videoSrc;
|
13126
|
-
}
|
13127
|
-
}
|
13128
|
-
else {
|
13129
|
-
videoRef.current.src = videoSrc;
|
13130
|
-
}
|
13131
|
-
videoRef.current.setAttribute('x5-playsinline', 'true');
|
13132
|
-
videoRef.current.setAttribute('webkit-playsinline', 'true');
|
13133
|
-
}
|
13134
|
-
(_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener('loadedmetadata', handleLoadedMetadata);
|
13135
|
-
(_b = videoRef.current) === null || _b === void 0 ? void 0 : _b.addEventListener('canplay', handleLoadedMetadata);
|
13136
|
-
(_c = videoRef.current) === null || _c === void 0 ? void 0 : _c.addEventListener('playing', handlePlaying);
|
13137
|
-
(_d = videoRef.current) === null || _d === void 0 ? void 0 : _d.addEventListener('loadeddata', handLoadeddata);
|
13138
|
-
return () => {
|
13139
|
-
var _a, _b, _c, _d;
|
13140
|
-
(_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('loadedmetadata', handleLoadedMetadata);
|
13141
|
-
(_b = videoRef.current) === null || _b === void 0 ? void 0 : _b.removeEventListener('canplay', handleLoadedMetadata);
|
13142
|
-
(_c = videoRef.current) === null || _c === void 0 ? void 0 : _c.removeEventListener('playing', handlePlaying);
|
13143
|
-
(_d = videoRef.current) === null || _d === void 0 ? void 0 : _d.removeEventListener('loadeddata', handLoadeddata);
|
13144
|
-
};
|
13145
|
-
}, [handleLoadedMetadata, handlePlaying, rec.video, handLoadeddata]);
|
13146
|
-
const renderPoster = React.useMemo(() => {
|
13147
|
-
if (!(sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.placeholder_image) || isLoadFinish) {
|
13148
|
-
return null;
|
13149
|
-
}
|
13150
|
-
return (React.createElement("img", { style: { position: 'absolute', left: 0, top: 0, width: '100%', height: '100%', objectFit: 'cover' }, src: sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.placeholder_image }));
|
13151
|
-
}, [isLoadFinish, sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.placeholder_image]);
|
13152
|
-
React.useEffect(() => {
|
13153
|
-
const handleBeforeUnload = () => {
|
13154
|
-
var _a, _b;
|
13155
|
-
if (activeIndex === index && ((_a = rec === null || rec === void 0 ? void 0 : rec.video) === null || _a === void 0 ? void 0 : _a.url) && ((_b = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _b === void 0 ? void 0 : _b.src) && !isPauseVideo) {
|
13156
|
-
handleClickVideo('pause')();
|
13157
|
-
}
|
13158
|
-
};
|
13159
|
-
window.addEventListener('beforeunload', handleBeforeUnload);
|
13160
|
-
return () => {
|
13161
|
-
window.removeEventListener('beforeunload', handleBeforeUnload);
|
13162
|
-
};
|
13163
|
-
}, [activeIndex, index, rec, videoRef, handleClickVideo, isPauseVideo]);
|
13164
|
-
const blurStyle = React.useMemo(() => {
|
13165
|
-
return blur
|
13166
|
-
? {
|
13167
|
-
filter: 'blur(10px)',
|
13168
|
-
transform: 'translate3d(0px, 0px, 0px) scale(1.2)'
|
13169
|
-
}
|
13170
|
-
: {};
|
13171
|
-
}, [blur]);
|
13172
|
-
if (!rec.video) {
|
13173
|
-
return null;
|
13174
|
-
}
|
13175
|
-
return (React.createElement(React.Fragment, null, blur ? (React.createElement("div", { className: 'video-container', key: rec.video.itemId, onClick: handleClickVideo(), style: {
|
13176
|
-
position: 'relative',
|
13177
|
-
width,
|
13178
|
-
height,
|
13179
|
-
overflow: 'hidden'
|
13180
|
-
} },
|
13181
|
-
React.createElement(FormatImage$1, { src: blurBgSrc, style: Object.assign({ height,
|
13182
|
-
width, objectFit: 'cover' }, blurStyle) }),
|
13183
|
-
React.createElement("canvas", { ref: canvasRef, style: { display: 'none' } }),
|
13184
|
-
React.createElement("div", { style: {
|
13185
|
-
position: 'absolute',
|
13186
|
-
width,
|
13187
|
-
height,
|
13188
|
-
top: '50%',
|
13189
|
-
transform: translateY,
|
13190
|
-
left: 0,
|
13191
|
-
right: 0
|
13192
|
-
} },
|
13193
|
-
React.createElement("div", { style: { position: 'relative', width, height: '100%' } },
|
13194
|
-
React.createElement("video", { id: `pb-video-${index}`, className: 'clc-pb-video', ref: videoRef, crossOrigin: 'anonymous', muted: true, controls: false, playsInline: true, preload: 'auto', onPause: onPause, onEnded: handleVideoStart, style: {
|
13195
|
-
width: '100%',
|
13196
|
-
height,
|
13197
|
-
objectFit: 'contain'
|
13198
|
-
} }),
|
13199
|
-
React.createElement("img", { hidden: !isPauseVideo, className: 'clc-pb-video-pause', src: PAUSE_ICON }))),
|
13200
|
-
renderPoster)) : (React.createElement("div", { className: 'video-container', key: rec.video.itemId, onClick: handleClickVideo(), style: {
|
13201
|
-
position: 'relative',
|
13202
|
-
width,
|
13203
|
-
height,
|
13204
|
-
overflow: 'hidden'
|
13205
|
-
} },
|
13206
|
-
React.createElement("video", { id: `pb-video-${index}`, className: 'clc-pb-video', ref: videoRef, crossOrigin: 'anonymous', muted: true, controls: false, playsInline: true, preload: 'auto', onPause: onPause, onEnded: handleVideoStart }),
|
13207
|
-
renderPoster,
|
13208
|
-
React.createElement("img", { hidden: !isPauseVideo, className: 'clc-pb-video-pause', src: PAUSE_ICON })))));
|
13209
|
-
};
|
13210
|
-
var VideoWidget$1 = React.memo(VideoWidget);
|
13211
|
-
|
13212
|
-
const RESOLVER$1 = {};
|
13213
|
-
Object.values(_materials_).forEach((v) => {
|
13214
|
-
RESOLVER$1[v.extend.type] = v;
|
13215
|
-
});
|
13216
|
-
const defaultUnLikeIconPath = '/pb_static/f71266d2c64446c5ae6a5a7f5489cc0a.png';
|
13217
|
-
const defaultLikeIconPath = '/pb_static/f07900fe3f0f4ae188ea1611d4801a44.png';
|
13218
|
-
const DiyPortalPreview = ({ data, globalConfig, tipText, nudge, tempMap, descStyle, hashTagStyle, containerHeight = 664, containerWidth = 375, appDomain }) => {
|
13219
|
-
const height = React.useMemo(() => {
|
13220
|
-
return (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.logoUrl) && (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowLogo) ? containerHeight - 45 : containerHeight;
|
13221
|
-
}, [globalConfig, containerHeight]);
|
13222
|
-
const renderContent = (rec, index) => {
|
13223
|
-
var _a, _b, _c, _d;
|
13224
|
-
if ((_a = rec.video) === null || _a === void 0 ? void 0 : _a.url) {
|
13225
|
-
return (React.createElement(VideoWidget$1, { rec: rec, index: index, muted: true, width: containerWidth, data: data !== null && data !== void 0 ? data : [], height: height, activeIndex: index, videoPostConfig: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.videoPost }));
|
13226
|
-
}
|
13227
|
-
if ((_b = rec.video) === null || _b === void 0 ? void 0 : _b.imgUrls) {
|
13228
|
-
return (React.createElement(PictureGroup$1, { key: rec.video.itemId, imgUrls: rec.video.imgUrls, width: containerWidth, height: height, rec: rec, index: index, imgUrlsPostConfig: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.imgUrlsPost }));
|
13229
|
-
}
|
13230
|
-
if (rec.product) {
|
13231
|
-
if (rec.product && Array.isArray(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.productPost) && ((_c = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.productPost) === null || _c === void 0 ? void 0 : _c.length) > 0) {
|
13232
|
-
return (_d = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.productPost) === null || _d === void 0 ? void 0 : _d.map((value, idx) => {
|
13233
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
13234
|
-
const t = RESOLVER$1[(_a = value === null || value === void 0 ? void 0 : value.item) === null || _a === void 0 ? void 0 : _a.type];
|
13235
|
-
const Component = withBindDataSource(t);
|
13236
|
-
const defaulSetting = (_b = t === null || t === void 0 ? void 0 : t.extend) === null || _b === void 0 ? void 0 : _b.defaulSetting;
|
13237
|
-
return (React.createElement(Component, Object.assign({ key: `${index}${idx}`, textStyle: Object.assign(Object.assign({}, defaulSetting === null || defaulSetting === void 0 ? void 0 : defaulSetting.textStyle), (_c = value === null || value === void 0 ? void 0 : value.item) === null || _c === void 0 ? void 0 : _c.textStyle), bindDatas: (_e = (_d = value === null || value === void 0 ? void 0 : value.item) === null || _d === void 0 ? void 0 : _d.bindDatas) !== null && _e !== void 0 ? _e : [] }, defaulSetting === null || defaulSetting === void 0 ? void 0 : defaulSetting.props, (_f = value === null || value === void 0 ? void 0 : value.item) === null || _f === void 0 ? void 0 : _f.props, { event: ((_g = value === null || value === void 0 ? void 0 : value.item) === null || _g === void 0 ? void 0 : _g.event) || {},
|
13238
|
-
// schema={schema}
|
13239
|
-
id: value === null || value === void 0 ? void 0 : value.id,
|
13240
|
-
// viewTime={viewTime.current}
|
13241
|
-
rec: rec, isPost: true, tipText: tipText, style: Object.assign(Object.assign(Object.assign({}, defaulSetting === null || defaulSetting === void 0 ? void 0 : defaulSetting.style), (_h = value === null || value === void 0 ? void 0 : value.item) === null || _h === void 0 ? void 0 : _h.style), { width: containerWidth, height, overflow: 'auto' }), index: index })));
|
13242
|
-
});
|
13243
|
-
}
|
13244
|
-
}
|
13245
|
-
};
|
13246
|
-
const renderLogo = React.useMemo(() => {
|
13247
|
-
if ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.logoUrl) && (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowLogo)) {
|
13248
|
-
return (React.createElement("div", { className: 'clc-sxp-logo-banner', style: { backgroundColor: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.color } },
|
13249
|
-
React.createElement("img", { src: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.logoUrl, alt: 'logo' })));
|
13250
|
-
}
|
13251
|
-
return null;
|
13252
|
-
}, [globalConfig]);
|
13253
|
-
const renderBottom = (rec, index) => {
|
13254
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
13255
|
-
if (rec.video) {
|
13256
|
-
return (React.createElement(React.Fragment, null,
|
13257
|
-
((_a = rec.video) === null || _a === void 0 ? void 0 : _a.title) && React.createElement("div", { className: 'clc-sxp-bottom-shadow' }),
|
13258
|
-
React.createElement("div", { className: 'clc-sxp-bottom' },
|
13259
|
-
React.createElement(Nudge, { nudge: nudge }),
|
13260
|
-
React.createElement("div", { className: 'clc-sxp-bottom-card' },
|
13261
|
-
React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$1 })),
|
13262
|
-
React.createElement("div", null,
|
13263
|
-
React.createElement(ExpandableText$1, { className: 'clc-sxp-bottom-text', isPost: true, foldText: tipText === null || tipText === void 0 ? void 0 : tipText.foldText, unfoldText: tipText === null || tipText === void 0 ? void 0 : tipText.unfoldText, text: (_c = (_b = rec.video) === null || _b === void 0 ? void 0 : _b.title) !== null && _c !== void 0 ? _c : '', style: Object.assign(Object.assign({}, descStyle), { textShadow: (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isOpenTextShadow) ? '2px 2px 4px rgba(0, 0, 0, 0.5)' : 'none' }) })),
|
13264
|
-
React.createElement(Hashtag$1, { index: index, tags: (_e = (_d = rec === null || rec === void 0 ? void 0 : rec.video) === null || _d === void 0 ? void 0 : _d.hashTags) !== null && _e !== void 0 ? _e : [], itemId: (_f = rec === null || rec === void 0 ? void 0 : rec.video) === null || _f === void 0 ? void 0 : _f.itemId, itemType: ((_g = rec.video) === null || _g === void 0 ? void 0 : _g.itemId) ? 'VIDEO' : null, rec: rec, hashTagStyle: hashTagStyle }))));
|
13265
|
-
}
|
13266
|
-
return null;
|
13267
|
-
};
|
13268
|
-
const likeIcon = useIconLink(defaultLikeIconPath, appDomain);
|
13269
|
-
const unlikeIcon = useIconLink(defaultUnLikeIconPath, appDomain);
|
13270
|
-
const renderLikeButton = (rec, index) => {
|
13271
|
-
var _a, _b, _c, _d;
|
13272
|
-
if (!(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowLike))
|
13273
|
-
return;
|
13274
|
-
let top = (_a = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.likeIconY) !== null && _a !== void 0 ? _a : 400;
|
13275
|
-
if (top < 40) {
|
13276
|
-
top += 40;
|
13277
|
-
}
|
13278
|
-
if (rec.video) {
|
13279
|
-
return (React.createElement(LikeButton$1, { key: rec.position, activeIcon: (_b = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.likeIcon) !== null && _b !== void 0 ? _b : likeIcon, unActicveIcon: (_c = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.unlikeIcon) !== null && _c !== void 0 ? _c : unlikeIcon, position: index, active: rec.isCollected, recData: rec, className: 'clc-sxp-like-button', style: {
|
13280
|
-
top,
|
13281
|
-
right: (_d = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.likeIconX) !== null && _d !== void 0 ? _d : 0
|
13282
|
-
} }));
|
13283
|
-
}
|
13284
|
-
return null;
|
13285
|
-
};
|
13286
|
-
const mutedIcon = useIconLink('/pb_static/5beaaa5ce7f3477b99db3838619cc471.png', appDomain);
|
13287
|
-
const unmutedIcon = useIconLink('/pb_static/fea8668a8a894e4aa3a86bcc775e895e.png', appDomain);
|
13288
|
-
const renderView = (rec, index) => {
|
13289
|
-
var _a, _b, _c, _d;
|
13290
|
-
return (React.createElement("div", { style: { position: 'relative' } },
|
13291
|
-
renderLogo,
|
13292
|
-
React.createElement(ToggleButton$1, { style: {
|
13293
|
-
position: 'absolute',
|
13294
|
-
right: (_a = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconX) !== null && _a !== void 0 ? _a : 0,
|
13295
|
-
visibility: ((_c = (_b = data === null || data === void 0 ? void 0 : data[index]) === null || _b === void 0 ? void 0 : _b.video) === null || _c === void 0 ? void 0 : _c.url) ? 'visible' : 'hidden',
|
13296
|
-
bottom: (_d = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconY) !== null && _d !== void 0 ? _d : 23,
|
13297
|
-
zIndex: 999
|
13298
|
-
}, defaultValue: true, activeIcon: (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.unMuteIcon) ? globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.unMuteIcon : mutedIcon, unactiveIcon: (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIcon) ? globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIcon : unmutedIcon }),
|
13299
|
-
renderContent(rec, index),
|
13300
|
-
renderBottom(rec, index),
|
13301
|
-
renderLikeButton(rec, index)));
|
13302
|
-
};
|
13303
|
-
return (React.createElement("div", { style: {
|
13304
|
-
width: '100%',
|
13305
|
-
height: containerHeight,
|
13306
|
-
display: 'flex',
|
13307
|
-
boxSizing: 'border-box',
|
13308
|
-
gap: 16,
|
13309
|
-
pointerEvents: 'none',
|
13310
|
-
userSelect: 'none'
|
13311
|
-
} }, data === null || data === void 0 ? void 0 : data.map((rec, index) => {
|
13312
|
-
return renderView(rec, index);
|
13313
|
-
})));
|
13314
|
-
};
|
13315
|
-
var index$1 = React.memo(DiyPortalPreview);
|
13316
|
-
|
13317
12991
|
/*
|
13318
12992
|
* @Author: binruan@chatlabs.com
|
13319
12993
|
* @Date: 2023-10-31 10:56:01
|
@@ -13454,13 +13128,12 @@ function useEditorDataProvider() {
|
|
13454
13128
|
* @FilePath: \pb-sxp-ui\src\index.ts
|
13455
13129
|
*/
|
13456
13130
|
|
13457
|
-
exports.DiyPortalPreview = index$1;
|
13458
13131
|
exports.EditorDataProvider = EditorDataProvider;
|
13459
13132
|
exports.Modal = Modal$1;
|
13460
13133
|
exports.SxpDataSourceProvider = SxpDataSourceProvider$1;
|
13461
13134
|
exports.SxpPageCore = index;
|
13462
13135
|
exports.SxpPageRender = SxpPageRender;
|
13463
|
-
exports.core = index$
|
13136
|
+
exports.core = index$1;
|
13464
13137
|
exports.default = Pagebuilder;
|
13465
13138
|
exports.defaultSetting = defaultSetting;
|
13466
13139
|
exports.materials = _materials_;
|