pb-sxp-ui 1.15.13-alpha.1 → 1.15.13-alpha.3
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 +356 -48
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +354 -46
- package/dist/index.js.map +1 -1
- package/dist/index.min.cjs +6 -6
- package/dist/index.min.cjs.map +1 -1
- package/dist/index.min.js +6 -6
- package/dist/index.min.js.map +1 -1
- package/dist/pb-ui.js +356 -48
- package/dist/pb-ui.js.map +1 -1
- package/dist/pb-ui.min.js +6 -6
- package/dist/pb-ui.min.js.map +1 -1
- package/es/core/components/DiyStoryPreview/VideoWidget.js +5 -2
- package/es/core/components/DiyStoryPreview/index.d.ts +3 -0
- package/es/core/components/DiyStoryPreview/index.js +288 -22
- package/es/core/components/SxpPageCore/index.d.ts +1 -0
- package/es/core/components/SxpPageCore/index.js +3 -3
- package/es/core/components/SxpPageRender/ExpandableText.js +10 -2
- package/es/core/components/SxpPageRender/RenderCard.js +4 -4
- package/es/core/context/SxpDataSourceProvider.js +3 -3
- package/es/materials/sxp/template/MultiCommodity/index.js +1 -1
- package/es/materials/sxp/template/MultiCommodityDiro/index.js +2 -1
- package/es/materials/sxp/template/MultiCommodityDiroNew/index.js +2 -1
- package/es/materials/sxp/template/components/EventProvider.js +2 -2
- package/lib/core/components/DiyStoryPreview/VideoWidget.js +5 -2
- package/lib/core/components/DiyStoryPreview/index.d.ts +3 -0
- package/lib/core/components/DiyStoryPreview/index.js +287 -21
- package/lib/core/components/SxpPageCore/index.d.ts +1 -0
- package/lib/core/components/SxpPageCore/index.js +3 -3
- package/lib/core/components/SxpPageRender/ExpandableText.js +10 -2
- package/lib/core/components/SxpPageRender/RenderCard.js +4 -4
- package/lib/core/context/SxpDataSourceProvider.js +3 -3
- package/lib/materials/sxp/template/MultiCommodity/index.js +1 -1
- package/lib/materials/sxp/template/MultiCommodityDiro/index.js +2 -1
- package/lib/materials/sxp/template/MultiCommodityDiroNew/index.js +2 -1
- package/lib/materials/sxp/template/components/EventProvider.js +2 -2
- package/package.json +1 -1
package/dist/pb-ui.js
CHANGED
@@ -779,9 +779,8 @@
|
|
779
779
|
}
|
780
780
|
else if (utmVal) {
|
781
781
|
const val = (_k = (_j = (_h = splitUrlParams(utmVal)) === null || _h === void 0 ? void 0 : _h.filter((val) => {
|
782
|
-
var _a, _b;
|
783
782
|
const key = val.split('=')[0];
|
784
|
-
return
|
783
|
+
return key;
|
785
784
|
})) === null || _j === void 0 ? void 0 : _j.join('&')) !== null && _k !== void 0 ? _k : '';
|
786
785
|
if (val)
|
787
786
|
query = Object.assign(Object.assign({}, query), { channel: decodeURIComponent(val) });
|
@@ -822,7 +821,7 @@
|
|
822
821
|
if (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview) {
|
823
822
|
query = Object.assign(Object.assign({}, query), { directPage: true, level: 1, pageNum: (_o = query === null || query === void 0 ? void 0 : query.pageNum) !== null && _o !== void 0 ? _o : 1 });
|
824
823
|
}
|
825
|
-
const result = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('
|
824
|
+
const result = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('v3/recommend/direct', { method: 'POST', body: query }));
|
826
825
|
if (!(result === null || result === void 0 ? void 0 : result.success)) {
|
827
826
|
return undefined;
|
828
827
|
}
|
@@ -1099,6 +1098,7 @@
|
|
1099
1098
|
if (!isShowConsent)
|
1100
1099
|
h5EnterLink();
|
1101
1100
|
}, [isShowConsent]);
|
1101
|
+
console.log(data, '111');
|
1102
1102
|
React.useEffect(() => {
|
1103
1103
|
if (isShowConsent || isPreview)
|
1104
1104
|
return;
|
@@ -10099,7 +10099,15 @@
|
|
10099
10099
|
wordBreak: 'break-word'
|
10100
10100
|
}, dangerouslySetInnerHTML: { __html: setFontForText(text === null || text === void 0 ? void 0 : text.replace(/\n/g, '</br>'), style) } }),
|
10101
10101
|
React.createElement("div", { ref: multiRowCopy, dangerouslySetInnerHTML: { __html: setFontForText(text === null || text === void 0 ? void 0 : text.replace(/\n/g, '</br>'), style) } }),
|
10102
|
-
text && isPost && isShow && (React.createElement("button", { "aria-label": isShowMore ? unfoldText || 'show less' : foldText || 'show more', style: {
|
10102
|
+
text && isPost && isShow && (React.createElement("button", { "aria-label": isShowMore ? unfoldText || 'show less' : foldText || 'show more', style: {
|
10103
|
+
textDecoration: 'underline',
|
10104
|
+
cursor: 'pointer',
|
10105
|
+
outline: 'none',
|
10106
|
+
border: 'none',
|
10107
|
+
boxSizing: 'content-box',
|
10108
|
+
padding: 0,
|
10109
|
+
background: 'transparent'
|
10110
|
+
}, onClick: onClick !== null && onClick !== void 0 ? onClick : handleClick, dangerouslySetInnerHTML: {
|
10103
10111
|
__html: setFontForText(isShowMore ? unfoldText || 'show less' : foldText || 'show more', style)
|
10104
10112
|
} }))));
|
10105
10113
|
};
|
@@ -12457,7 +12465,7 @@ Made in Italy` })));
|
|
12457
12465
|
const handleClick = lodash.throttle((e) => {
|
12458
12466
|
var _a, _b, _c, _d, _e, _f;
|
12459
12467
|
e.preventDefault();
|
12460
|
-
const item = multItem
|
12468
|
+
const item = multItem || ((_b = (_a = rec === null || rec === void 0 ? void 0 : rec.video) === null || _a === void 0 ? void 0 : _a.bindProduct) !== null && _b !== void 0 ? _b : rec === null || rec === void 0 ? void 0 : rec.video);
|
12461
12469
|
ctaEvent === null || ctaEvent === void 0 ? void 0 : ctaEvent({
|
12462
12470
|
eventSubject: 'clickCta',
|
12463
12471
|
eventDescription: 'User clicked the CTA'
|
@@ -12484,7 +12492,7 @@ Made in Italy` })));
|
|
12484
12492
|
setElement(null);
|
12485
12493
|
}
|
12486
12494
|
}, [element, popup]);
|
12487
|
-
return (React.createElement("button", { ref: ref, className: className, style: Object.assign({ display: 'flex', alignItems: 'normal' }, style), onClick: handleClick, role: 'button', "aria-label": 'CTA', tabIndex: 0 }, children));
|
12495
|
+
return (React.createElement("button", { ref: ref, className: className, style: Object.assign({ outline: 'none', border: 'none', boxSizing: 'content-box', padding: 0, background: 'transparent', display: 'flex', alignItems: 'normal' }, style), onClick: handleClick, role: 'button', "aria-label": 'CTA', tabIndex: 0 }, children));
|
12488
12496
|
};
|
12489
12497
|
var EventProvider$1 = React.memo(EventProvider);
|
12490
12498
|
|
@@ -13080,6 +13088,7 @@ Made in Italy` })));
|
|
13080
13088
|
var { content, style, bgImg, recData, bottom_image, ctaTempStyles, translateY = 0, isActive, index } = _a, props = __rest(_a, ["content", "style", "bgImg", "recData", "bottom_image", "ctaTempStyles", "translateY", "isActive", "index"]);
|
13081
13089
|
const { sxpParameter } = useSxpDataSource();
|
13082
13090
|
const [products] = React.useState((_c = (_b = recData === null || recData === void 0 ? void 0 : recData.video) === null || _b === void 0 ? void 0 : _b.bindProducts) !== null && _c !== void 0 ? _c : [1, 2]);
|
13091
|
+
console.log(recData, '222');
|
13083
13092
|
return (React.createElement(Scroll$1, { isPadding: !!recData }, products === null || products === void 0 ? void 0 : products.map((item, itemIndex) => {
|
13084
13093
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
13085
13094
|
return (React.createElement(React.Fragment, null, recData && !(item === null || item === void 0 ? void 0 : item.bindCta) ? null : (React.createElement(SwiperSlide, { key: itemIndex, className: css.css(Object.assign(Object.assign({}, style), { flexShrink: 0, marginLeft: 0, marginRight: '8px' })), tag: 'li', role: 'listitem' },
|
@@ -13286,6 +13295,7 @@ Made in Italy` })));
|
|
13286
13295
|
var { content, style, bgImg, recData, bottom_image, ctaTempStyles, translateY = 0, isActive, index } = _a, props = __rest(_a, ["content", "style", "bgImg", "recData", "bottom_image", "ctaTempStyles", "translateY", "isActive", "index"]);
|
13287
13296
|
const { sxpParameter } = useSxpDataSource();
|
13288
13297
|
const [products] = React.useState((_c = (_b = recData === null || recData === void 0 ? void 0 : recData.video) === null || _b === void 0 ? void 0 : _b.bindProducts) !== null && _c !== void 0 ? _c : [1, 2]);
|
13298
|
+
console.log(recData, '333');
|
13289
13299
|
return (React.createElement(Scroll$1, { isPadding: !!recData }, products === null || products === void 0 ? void 0 : products.map((item, itemIndex) => {
|
13290
13300
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
13291
13301
|
return (React.createElement(React.Fragment, null, recData && !(item === null || item === void 0 ? void 0 : item.bindCta) ? null : (React.createElement(SwiperSlide, { key: itemIndex, className: css.css(Object.assign(Object.assign({}, style), { flexShrink: 0, marginLeft: 0, marginRight: '8px' })), tag: 'li', role: 'listitem' },
|
@@ -18304,7 +18314,7 @@ Made in Italy` })));
|
|
18304
18314
|
* @Author: binruan@chatlabs.com
|
18305
18315
|
* @Date: 2023-12-26 16:11:34
|
18306
18316
|
* @LastEditors: binruan@chatlabs.com
|
18307
|
-
* @LastEditTime:
|
18317
|
+
* @LastEditTime: 2025-03-26 19:32:00
|
18308
18318
|
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\RenderCard.tsx
|
18309
18319
|
*
|
18310
18320
|
*/
|
@@ -18314,10 +18324,10 @@ Made in Italy` })));
|
|
18314
18324
|
return null;
|
18315
18325
|
const renderComp = React.useMemo(() => {
|
18316
18326
|
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, _1, _2, _3;
|
18317
|
-
|
18327
|
+
// 如果includesCtaType有值,则只渲染includesCtaType包含的cta类型组件,用于在页面某处只显示某一组件
|
18318
18328
|
if (includesCtaType && !(includesCtaType === null || includesCtaType === void 0 ? void 0 : includesCtaType.includes((_a = value === null || value === void 0 ? void 0 : value.item) === null || _a === void 0 ? void 0 : _a.type)))
|
18319
18329
|
return;
|
18320
|
-
|
18330
|
+
// 默认不渲染category为cta类型的组件,该类型的组件只用于某一处
|
18321
18331
|
if (!includesCtaType && ((_b = value === null || value === void 0 ? void 0 : value.item) === null || _b === void 0 ? void 0 : _b.category) === 'cta')
|
18322
18332
|
return;
|
18323
18333
|
if ((((_c = value === null || value === void 0 ? void 0 : value.item) === null || _c === void 0 ? void 0 : _c.type) === 'CommodityDiro' && !((_d = rec === null || rec === void 0 ? void 0 : rec.video) === null || _d === void 0 ? void 0 : _d.bindProduct)) ||
|
@@ -18334,10 +18344,10 @@ Made in Italy` })));
|
|
18334
18344
|
const Component = withBindDataSource(t);
|
18335
18345
|
const defaulSetting = (_u = t === null || t === void 0 ? void 0 : t.extend) === null || _u === void 0 ? void 0 : _u.defaulSetting;
|
18336
18346
|
const isExternalLink = ((_x = (_w = (_v = value === null || value === void 0 ? void 0 : value.item) === null || _v === void 0 ? void 0 : _v.event) === null || _w === void 0 ? void 0 : _w.onClick) === null || _x === void 0 ? void 0 : _x.linkType) === 'externalLink';
|
18337
|
-
|
18347
|
+
const style = lodash.cloneDeep((_y = value === null || value === void 0 ? void 0 : value.item) === null || _y === void 0 ? void 0 : _y.style);
|
18338
18348
|
if (style.hasOwnProperty('backdropFilter')) {
|
18339
|
-
|
18340
|
-
style
|
18349
|
+
const sbf = style.backdropFilter;
|
18350
|
+
style.backdropFilter = `blur(${sbf !== null && sbf !== void 0 ? sbf : 0}px)`;
|
18341
18351
|
}
|
18342
18352
|
return (React.createElement(Component, Object.assign({ style: Object.assign(Object.assign(Object.assign({}, defaulSetting === null || defaulSetting === void 0 ? void 0 : defaulSetting.style), style), { zIndex: 50, marginLeft: '20px', boxSizing: 'border-box', transform: 'translate3d(0px, 0px, 0px)' }), textStyle: Object.assign(Object.assign({}, defaulSetting === null || defaulSetting === void 0 ? void 0 : defaulSetting.textStyle), (_z = value === null || value === void 0 ? void 0 : value.item) === null || _z === void 0 ? void 0 : _z.textStyle), bindDatas: (_1 = (_0 = value === null || value === void 0 ? void 0 : value.item) === null || _0 === void 0 ? void 0 : _0.bindDatas) !== null && _1 !== void 0 ? _1 : [] }, defaulSetting === null || defaulSetting === void 0 ? void 0 : defaulSetting.props, (_2 = value === null || value === void 0 ? void 0 : value.item) === null || _2 === void 0 ? void 0 : _2.props, { event: ((_3 = value === null || value === void 0 ? void 0 : value.item) === null || _3 === void 0 ? void 0 : _3.event) || {}, schema: schema, id: value === null || value === void 0 ? void 0 : value.id, key: value === null || value === void 0 ? void 0 : value.id, recData: rec, isExternalLink: isExternalLink, index: index, isActive: isActive })));
|
18343
18353
|
}
|
@@ -19069,7 +19079,7 @@ Made in Italy` })));
|
|
19069
19079
|
React.createElement(ConsentPopup, { resolver: resolver, globalConfig: globalConfig }),
|
19070
19080
|
openMultiPosts && (React.createElement(MultiPosts$2, Object.assign({}, (_x = (_w = (_v = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.multiPosts) === null || _v === void 0 ? void 0 : _v[0]) === null || _w === void 0 ? void 0 : _w.item) === null || _x === void 0 ? void 0 : _x.props, (_0 = (_z = (_y = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.multiPosts) === null || _y === void 0 ? void 0 : _y[0]) === null || _z === void 0 ? void 0 : _z.item) === null || _0 === void 0 ? void 0 : _0.event, { style: { position: 'fixed', top: 0, left: 0, right: 0 } })))))));
|
19071
19081
|
};
|
19072
|
-
var
|
19082
|
+
var index$2 = React.memo(SxpPageRender);
|
19073
19083
|
|
19074
19084
|
const PictureGroup$2 = ({ imgUrls, width, height, imgUrlsPostConfig, rec, index }) => {
|
19075
19085
|
return (React.createElement(Swiper, { defaultValue: 0, direction: 'horizontal', modules: [Pagination, Autoplay], pagination: {
|
@@ -19433,7 +19443,7 @@ Made in Italy` })));
|
|
19433
19443
|
return renderView(rec, index);
|
19434
19444
|
})));
|
19435
19445
|
};
|
19436
|
-
var index$
|
19446
|
+
var index$1 = React.memo(DiyPortalPreview);
|
19437
19447
|
|
19438
19448
|
const PictureGroup = ({ imgUrls, width, height, imgUrlsPostConfig, rec, index, swiperRef, data = [], loopPlay }) => {
|
19439
19449
|
const { isActive } = useSwiperSlide();
|
@@ -19501,6 +19511,7 @@ Made in Italy` })));
|
|
19501
19511
|
}, [bffEventReport, data, index, isFirstPlay]);
|
19502
19512
|
const handleLoadedMetadata = React.useCallback(() => {
|
19503
19513
|
var _a;
|
19514
|
+
videoRef.current.currentTime = rec === null || rec === void 0 ? void 0 : rec.startTime;
|
19504
19515
|
(_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.play();
|
19505
19516
|
setIsLoadFinish(true);
|
19506
19517
|
}, []);
|
@@ -19574,6 +19585,8 @@ Made in Italy` })));
|
|
19574
19585
|
}, []);
|
19575
19586
|
const handlePause = () => {
|
19576
19587
|
var _a, _b, _c, _d, _e, _f;
|
19588
|
+
if (!videoRef.current || !isActive)
|
19589
|
+
return;
|
19577
19590
|
if (!loopPlay)
|
19578
19591
|
return;
|
19579
19592
|
if (index === (data === null || data === void 0 ? void 0 : data.length) - 1) {
|
@@ -19585,6 +19598,7 @@ Made in Italy` })));
|
|
19585
19598
|
}
|
19586
19599
|
};
|
19587
19600
|
// useEffect(() => {
|
19601
|
+
// if (!videoRef.current) return;
|
19588
19602
|
// if (!isActive) return;
|
19589
19603
|
// if (!loopPlay) {
|
19590
19604
|
// videoRef?.current?.pause();
|
@@ -19604,7 +19618,6 @@ Made in Italy` })));
|
|
19604
19618
|
if (!videoPlayerWrapperNode)
|
19605
19619
|
return;
|
19606
19620
|
videoRef.current = mountVideoPlayerAtNode === null || mountVideoPlayerAtNode === void 0 ? void 0 : mountVideoPlayerAtNode(videoPlayerWrapperNode);
|
19607
|
-
videoRef.current.currentTime = rec === null || rec === void 0 ? void 0 : rec.startTime;
|
19608
19621
|
if (!(videoRef === null || videoRef === void 0 ? void 0 : videoRef.current))
|
19609
19622
|
return;
|
19610
19623
|
const Hls = window === null || window === void 0 ? void 0 : window.Hls;
|
@@ -19615,6 +19628,7 @@ Made in Italy` })));
|
|
19615
19628
|
hls === null || hls === void 0 ? void 0 : hls.attachMedia(videoRef === null || videoRef === void 0 ? void 0 : videoRef.current);
|
19616
19629
|
hls === null || hls === void 0 ? void 0 : hls.on(Hls.Events.MANIFEST_PARSED, function () {
|
19617
19630
|
var _a;
|
19631
|
+
videoRef.current.currentTime = rec === null || rec === void 0 ? void 0 : rec.startTime;
|
19618
19632
|
(_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.play();
|
19619
19633
|
});
|
19620
19634
|
}
|
@@ -19637,7 +19651,7 @@ Made in Italy` })));
|
|
19637
19651
|
(_c = videoRef.current) === null || _c === void 0 ? void 0 : _c.removeEventListener('pause', handlePause);
|
19638
19652
|
(_d = videoRef.current) === null || _d === void 0 ? void 0 : _d.removeEventListener('timeupdate', handleTimeUpload);
|
19639
19653
|
};
|
19640
|
-
}, [handleLoadedMetadata, handlePlaying, rec, handLoadeddata, isActive]);
|
19654
|
+
}, [handleLoadedMetadata, handlePlaying, rec, handLoadeddata, isActive, loopPlay]);
|
19641
19655
|
React.useMemo(() => {
|
19642
19656
|
if (!(sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.placeholder_image) || isLoadFinish) {
|
19643
19657
|
return null;
|
@@ -19670,17 +19684,196 @@ Made in Italy` })));
|
|
19670
19684
|
* @Author: binruan@chatlabs.com
|
19671
19685
|
* @Date: 2025-03-25 13:54:27
|
19672
19686
|
* @LastEditors: binruan@chatlabs.com
|
19673
|
-
* @LastEditTime: 2025-03-
|
19687
|
+
* @LastEditTime: 2025-03-27 17:20:34
|
19674
19688
|
* @FilePath: \pb-sxp-ui\src\core\components\DiyStoryPreview\index.tsx
|
19675
19689
|
*
|
19676
19690
|
*/
|
19691
|
+
const recData = {
|
19692
|
+
position: 0,
|
19693
|
+
isCollected: false,
|
19694
|
+
product: null,
|
19695
|
+
video: {
|
19696
|
+
appId: null,
|
19697
|
+
itemId: 'VIDEOSsRgI1695278974368',
|
19698
|
+
title: '8张尺寸不一样的图片8张尺寸不一样的图片8张尺寸不一样的图片8张尺寸不一样的图片8张尺寸不一样的图片8张尺寸不一样的图片8张尺寸不一样的图片8张尺寸不一样的图片8张尺寸不一样的图片8张尺寸不一样的图片8张尺寸不一样的图片',
|
19699
|
+
enTitle: null,
|
19700
|
+
icon: null,
|
19701
|
+
cover: 'https://graff-cdn.chatlabs.net/dev/img/8922b5b8-a954-4a61-9ffc-80edebdf02b4/sxp-portal/20231017/fsJFWmW1dGyW7XmDspbJPTn5esL3U1697538777398.png',
|
19702
|
+
link: null,
|
19703
|
+
linkTitle: null,
|
19704
|
+
linkType: null,
|
19705
|
+
menuCategoryId: null,
|
19706
|
+
remark: null,
|
19707
|
+
tags: [
|
19708
|
+
'Gift-Giving',
|
19709
|
+
'Daily Wear',
|
19710
|
+
'Business Formal',
|
19711
|
+
'Sports/Casual',
|
19712
|
+
'Anniversary Gifts',
|
19713
|
+
'Wedding/Engagement',
|
19714
|
+
'Formal Dinner/Party'
|
19715
|
+
],
|
19716
|
+
traceInfo: ':VIDEO:VIDEOSsRgI1695278974368:regular:1:VPRHSkRS1697701789894:main::0:EXPMW20250305155940:COMBTh20250305160047:',
|
19717
|
+
value: 385,
|
19718
|
+
weight: null,
|
19719
|
+
bindCta: null,
|
19720
|
+
bindProduct: null,
|
19721
|
+
bindProducts: [
|
19722
|
+
{
|
19723
|
+
appId: 'wx448578f8851f3dce',
|
19724
|
+
itemId: 'test02178888',
|
19725
|
+
title: 'christian dior小包包 新CDN',
|
19726
|
+
enTitle: null,
|
19727
|
+
icon: null,
|
19728
|
+
cover: 'https://graff-cdn.chatlabs.net/dev/img/8922b5b8-a954-4a61-9ffc-80edebdf02b4/sxp-portal/20240913/fs2jqiurjftpoaba67iiwr9jt5sc31726213277754.avif',
|
19729
|
+
link: '/pages/details/index?spu_id=1702262707659534338',
|
19730
|
+
linkTitle: '',
|
19731
|
+
linkType: 'MP',
|
19732
|
+
menuCategoryId: null,
|
19733
|
+
remark: null,
|
19734
|
+
tags: [],
|
19735
|
+
traceInfo: ':PRODUCT:test02178888:regular:1:VPRHSkRS1697701789894:main::0:EXPMW20250305155940:COMBTh20250305160047:',
|
19736
|
+
value: null,
|
19737
|
+
weight: null,
|
19738
|
+
bindCta: {
|
19739
|
+
appId: 'wx448578f8851f3dce',
|
19740
|
+
itemId: 'CTA3KofE1716186622249',
|
19741
|
+
title: 'SHOP NOW 立即购买',
|
19742
|
+
enTitle: 'BUY NOW立即购买,选择你所喜爱的;',
|
19743
|
+
icon: 'https://graff-cdn.chatlabs.net/dev/img/8922b5b8-a954-4a61-9ffc-80edebdf02b4/sxp-portal/20240520/fssfxbmiwghixmgblz9uriwennd2r1716186615574.avif',
|
19744
|
+
cover: null,
|
19745
|
+
link: '/pages/details/index?spu_id=1702262707659534338',
|
19746
|
+
linkTitle: '',
|
19747
|
+
linkType: 'MP',
|
19748
|
+
menuCategoryId: '64b60b202caf0e1c1ce1e17d',
|
19749
|
+
remark: null,
|
19750
|
+
tags: [
|
19751
|
+
"Woman's Perfumes",
|
19752
|
+
'Plates & Bowls',
|
19753
|
+
'Glasses',
|
19754
|
+
'Multicolor',
|
19755
|
+
'Carafes',
|
19756
|
+
'Tea & Coffee',
|
19757
|
+
'Green',
|
19758
|
+
'Grey',
|
19759
|
+
'Cutlery'
|
19760
|
+
],
|
19761
|
+
traceInfo: ':CTA:CTA3KofE1716186622249:regular:1:VPRHSkRS1697701789894:main::0:EXPMW20250305155940:COMBTh20250305160047:',
|
19762
|
+
value: null,
|
19763
|
+
weight: null
|
19764
|
+
},
|
19765
|
+
collection: 'Ricco',
|
19766
|
+
currency: 'INR-₹',
|
19767
|
+
homePage: [
|
19768
|
+
'https://graff-cdn.chatlabs.net/dev/img/8922b5b8-a954-4a61-9ffc-80edebdf02b4/sxp-portal/20240913/fs2jqiurjftpoaba67iiwr9jt5sc31726213277754.avif',
|
19769
|
+
'https://graff-cdn.chatlabs.net/dev/img/8922b5b8-a954-4a61-9ffc-80edebdf02b4/sxp-portal/20240913/fsr9ttuzuljs85smqi6lsidovnyoy1726213285994.avif',
|
19770
|
+
'https://graff-cdn.chatlabs.net/dev/img/8922b5b8-a954-4a61-9ffc-80edebdf02b4/sxp-portal/20240913/fsknmfhx2lxukxews05guwwxr8rju1726213281108.avif',
|
19771
|
+
'https://graff-cdn.chatlabs.net/dev/img/8922b5b8-a954-4a61-9ffc-80edebdf02b4/sxp-portal/20240913/fs0acnua4f1clamdpwdsrh0v5dgc61726213289247.avif'
|
19772
|
+
],
|
19773
|
+
info: 'test',
|
19774
|
+
price: 53200,
|
19775
|
+
shippingInfo: null,
|
19776
|
+
taxInfo: null
|
19777
|
+
},
|
19778
|
+
{
|
19779
|
+
appId: null,
|
19780
|
+
itemId: '113J631A0684_C520',
|
19781
|
+
title: 'Sweatshirt à capuche Dior Oblique, coupe relax',
|
19782
|
+
enTitle: null,
|
19783
|
+
icon: null,
|
19784
|
+
cover: 'https://graff-cdn.chatlabs.net/dev/img/8922b5b8-a954-4a61-9ffc-80edebdf02b4/sxp-portal/20241115/fsaf0xq8vx8gkkl30y1h1swpinmbt1731661943891.avif',
|
19785
|
+
link: 'https://www.dior.com/fr_fr/fashion/products/113J631A0684_C520',
|
19786
|
+
linkTitle: null,
|
19787
|
+
linkType: 'WEB',
|
19788
|
+
menuCategoryId: null,
|
19789
|
+
remark: null,
|
19790
|
+
tags: [],
|
19791
|
+
traceInfo: ':PRODUCT:113J631A0684_C520:regular:1:VPRHSkRS1697701789894:main::0:EXPMW20250305155940:COMBTh20250305160047:',
|
19792
|
+
value: null,
|
19793
|
+
weight: null,
|
19794
|
+
bindCta: {
|
19795
|
+
appId: null,
|
19796
|
+
itemId: 'CTAAfaKf1730796437032',
|
19797
|
+
title: 'test',
|
19798
|
+
enTitle: 'test',
|
19799
|
+
icon: 'https://graff-cdn.chatlabs.net/dev/img/8922b5b8-a954-4a61-9ffc-80edebdf02b4/sxp-portal/20241105/fsjblxoud2tmehpiqqomh0oktwqrd1730796431496.avif',
|
19800
|
+
cover: null,
|
19801
|
+
link: null,
|
19802
|
+
linkTitle: null,
|
19803
|
+
linkType: null,
|
19804
|
+
menuCategoryId: '64b60b202caf0e1c1ce1e17d',
|
19805
|
+
remark: '',
|
19806
|
+
tags: [],
|
19807
|
+
traceInfo: ':CTA:CTAAfaKf1730796437032:regular:1:VPRHSkRS1697701789894:main::0:EXPMW20250305155940:COMBTh20250305160047:',
|
19808
|
+
value: null,
|
19809
|
+
weight: null
|
19810
|
+
},
|
19811
|
+
collection: 'Jacquard de coton éponge bleu',
|
19812
|
+
currency: 'EUR-€',
|
19813
|
+
homePage: [
|
19814
|
+
'https://graff-cdn.chatlabs.net/dev/img/8922b5b8-a954-4a61-9ffc-80edebdf02b4/sxp-portal/20241115/fsaf0xq8vx8gkkl30y1h1swpinmbt1731661943891.avif',
|
19815
|
+
'https://graff-cdn.chatlabs.net/dev/img/8922b5b8-a954-4a61-9ffc-80edebdf02b4/sxp-portal/20241115/fszxkdcjfjql2oiy90ffbal5tsfd81731661964913.avif',
|
19816
|
+
'https://graff-cdn.chatlabs.net/dev/img/8922b5b8-a954-4a61-9ffc-80edebdf02b4/sxp-portal/20241115/fs1jhd9jwxvfqmrbjwy5abfzb0fde1731661994996.avif'
|
19817
|
+
],
|
19818
|
+
info: "Le sweatshirt à capuche bleu met à l'honneur l'emblématique motif dior oblique. Confectionné en jacquard de coton éponge bleu, il présente une coupe relax très confortable. Doté de poches latérales fendues, ce sweatshirt à capuche s'associera à tous vos jeans ou pantalons de survêtement pour un look décontracté.. Sweatshirt à capuche dior oblique, coupe relax Jacquard de coton éponge bleu",
|
19819
|
+
price: 1800,
|
19820
|
+
shippingInfo: null,
|
19821
|
+
taxInfo: null
|
19822
|
+
},
|
19823
|
+
{
|
19824
|
+
appId: null,
|
19825
|
+
itemId: 'S5573CRIW_M928',
|
19826
|
+
title: 'Mini Dior Book Tote',
|
19827
|
+
enTitle: null,
|
19828
|
+
icon: null,
|
19829
|
+
cover: 'https://graff-cdn.chatlabs.net/dev/img/8922b5b8-a954-4a61-9ffc-80edebdf02b4/sxp-portal/20250213/fsvewk9etrawxrzznmvvewgt1bctu1739415576729.avif',
|
19830
|
+
link: 'https://www.dior.com/en_gb/fashion/products/S5573CRIW_M928',
|
19831
|
+
linkTitle: null,
|
19832
|
+
linkType: 'WEB',
|
19833
|
+
menuCategoryId: null,
|
19834
|
+
remark: null,
|
19835
|
+
tags: ['ダイヤモンド'],
|
19836
|
+
traceInfo: ':PRODUCT:S5573CRIW_M928:regular:1:VPRHSkRS1697701789894:main::0:EXPMW20250305155940:COMBTh20250305160047:',
|
19837
|
+
value: null,
|
19838
|
+
weight: null,
|
19839
|
+
bindCta: null,
|
19840
|
+
collection: null,
|
19841
|
+
currency: 'GBP-£',
|
19842
|
+
homePage: [
|
19843
|
+
'https://graff-cdn.chatlabs.net/dev/img/8922b5b8-a954-4a61-9ffc-80edebdf02b4/sxp-portal/20250213/fsvewk9etrawxrzznmvvewgt1bctu1739415576729.avif',
|
19844
|
+
'https://graff-cdn.chatlabs.net/dev/img/8922b5b8-a954-4a61-9ffc-80edebdf02b4/sxp-portal/20250213/fsngtlvhid7xwt5if0viw7vqanm831739415582147.avif',
|
19845
|
+
'https://graff-cdn.chatlabs.net/dev/img/8922b5b8-a954-4a61-9ffc-80edebdf02b4/sxp-portal/20250213/fs4hotdvyzjtnqb9vszlynuzplddc1739415586910.avif',
|
19846
|
+
'https://graff-cdn.chatlabs.net/dev/img/8922b5b8-a954-4a61-9ffc-80edebdf02b4/sxp-portal/20250213/fswffx9kwexf3z3vcnxisut1qxtez1739415591629.avif',
|
19847
|
+
'https://graff-cdn.chatlabs.net/dev/img/8922b5b8-a954-4a61-9ffc-80edebdf02b4/sxp-portal/20250213/fsbfsi7tttx1hnzldoiw7eoea7fvh1739415597388.avif'
|
19848
|
+
],
|
19849
|
+
info: "The Dior Book Tote is a House classic and original design by Maria Grazia Chiuri, Creative Director of Christian Dior. The style is fully embroidered with the House's hallmark blue Dior Oblique motif and showcases the Christian Dior Paris signature. Exemplifying House savoir-faire, the miniature style features an adjustable and removable strap that allows it to be carried by hand, worn over the shoulder or crossbody.",
|
19850
|
+
price: 1950,
|
19851
|
+
shippingInfo: null,
|
19852
|
+
taxInfo: null
|
19853
|
+
}
|
19854
|
+
],
|
19855
|
+
url: null,
|
19856
|
+
blockCta: 1,
|
19857
|
+
blockProduct: 1,
|
19858
|
+
hashTags: [
|
19859
|
+
'Sports/Casual',
|
19860
|
+
'Formal Dinner/Party',
|
19861
|
+
'Business Formal',
|
19862
|
+
'Wedding/Engagement',
|
19863
|
+
'Gift-Giving',
|
19864
|
+
'Daily Wear',
|
19865
|
+
'Anniversary Gifts'
|
19866
|
+
]
|
19867
|
+
}
|
19868
|
+
};
|
19677
19869
|
const RESOLVER$1 = {};
|
19678
19870
|
Object.values(_materials_).forEach((v) => {
|
19679
19871
|
RESOLVER$1[v.extend.type] = v;
|
19680
19872
|
});
|
19681
19873
|
const defaultUnLikeIconPath = '/pb_static/f71266d2c64446c5ae6a5a7f5489cc0a.png';
|
19682
19874
|
const defaultLikeIconPath = '/pb_static/f07900fe3f0f4ae188ea1611d4801a44.png';
|
19683
|
-
const DiyStoryPreview = ({ data = [], globalConfig, tipText, nudge, tempMap, descStyle, hashTagStyle, containerHeight = 664, containerWidth = 375, appDomain, tagList = [], scenes, onActiveChange, activeIndex, loopPlay = false }) => {
|
19875
|
+
const DiyStoryPreview = ({ data = [], globalConfig, tipText, nudge, tempMap, descStyle, hashTagStyle, containerHeight = 664, containerWidth = 375, appDomain, tagList = [], scenes, onActiveChange, activeIndex, loopPlay = false, pointerEvents = 'none' }) => {
|
19876
|
+
const [loopPlaySwiper, setLooPlaySwiper] = React.useState(loopPlay);
|
19684
19877
|
const swiperRef = React.useRef(null);
|
19685
19878
|
React.useMemo(() => {
|
19686
19879
|
let minusHeight = 0;
|
@@ -19706,10 +19899,10 @@ Made in Italy` })));
|
|
19706
19899
|
const renderContent = (rec, index) => {
|
19707
19900
|
const isVideo = isVideoUrl(rec === null || rec === void 0 ? void 0 : rec.mediaUrl);
|
19708
19901
|
if (isVideo) {
|
19709
|
-
return (React.createElement(VideoWidget$1, { rec: rec, index: index, muted: true, width: containerWidth, data: scenes !== null && scenes !== void 0 ? scenes : [], height: containerHeight, activeIndex: index, videoPostConfig: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.videoPost, swiperRef: swiperRef, loopPlay:
|
19902
|
+
return (React.createElement(VideoWidget$1, { rec: rec, index: index, muted: true, width: containerWidth, data: scenes !== null && scenes !== void 0 ? scenes : [], height: containerHeight, activeIndex: index, videoPostConfig: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.videoPost, swiperRef: swiperRef, loopPlay: loopPlaySwiper }));
|
19710
19903
|
}
|
19711
19904
|
else {
|
19712
|
-
return (React.createElement(PictureGroup$1, { key: rec.itemId, imgUrls: [rec === null || rec === void 0 ? void 0 : rec.mediaUrl], width: containerWidth, height: containerHeight, rec: rec, index: index, imgUrlsPostConfig: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.imgUrlsPost, data: scenes !== null && scenes !== void 0 ? scenes : [], swiperRef: swiperRef, loopPlay:
|
19905
|
+
return (React.createElement(PictureGroup$1, { key: rec.itemId, imgUrls: [rec === null || rec === void 0 ? void 0 : rec.mediaUrl], width: containerWidth, height: containerHeight, rec: rec, index: index, imgUrlsPostConfig: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.imgUrlsPost, data: scenes !== null && scenes !== void 0 ? scenes : [], swiperRef: swiperRef, loopPlay: loopPlaySwiper }));
|
19713
19906
|
}
|
19714
19907
|
};
|
19715
19908
|
React.useMemo(() => {
|
@@ -19719,12 +19912,126 @@ Made in Italy` })));
|
|
19719
19912
|
}
|
19720
19913
|
return null;
|
19721
19914
|
}, [globalConfig]);
|
19722
|
-
|
19723
|
-
|
19724
|
-
|
19725
|
-
|
19726
|
-
|
19727
|
-
|
19915
|
+
const renderBottom = (rec, index) => {
|
19916
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
19917
|
+
if (rec === null || rec === void 0 ? void 0 : rec.video) {
|
19918
|
+
let cta = null;
|
19919
|
+
if ((_b = (_a = rec === null || rec === void 0 ? void 0 : rec.video) === null || _a === void 0 ? void 0 : _a.bindProducts) === null || _b === void 0 ? void 0 : _b.length) {
|
19920
|
+
cta = '多商品CTA';
|
19921
|
+
}
|
19922
|
+
else if ((_c = rec === null || rec === void 0 ? void 0 : rec.video) === null || _c === void 0 ? void 0 : _c.bindProduct) {
|
19923
|
+
cta = '商品CTA';
|
19924
|
+
}
|
19925
|
+
else {
|
19926
|
+
cta = (_e = (_d = rec === null || rec === void 0 ? void 0 : rec.video) === null || _d === void 0 ? void 0 : _d.bindCta) === null || _e === void 0 ? void 0 : _e.itemId;
|
19927
|
+
}
|
19928
|
+
const value = tempMap === null || tempMap === void 0 ? void 0 : tempMap[cta];
|
19929
|
+
return (React.createElement(React.Fragment, null,
|
19930
|
+
((_f = rec === null || rec === void 0 ? void 0 : rec.video) === null || _f === void 0 ? void 0 : _f.title) && (React.createElement("div", { style: {
|
19931
|
+
background: 'repeating-linear-gradient(0deg, rgba(26, 26, 25, 0.7), hsla(0, 0%, 100%, 0))',
|
19932
|
+
height: '130px',
|
19933
|
+
position: 'absolute',
|
19934
|
+
bottom: 0,
|
19935
|
+
width: '100%',
|
19936
|
+
willChange: 'transform',
|
19937
|
+
zIndex: 2,
|
19938
|
+
pointerEvents
|
19939
|
+
} })),
|
19940
|
+
React.createElement("div", { style: {
|
19941
|
+
marginBottom: `${(_g = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.bottomInfoDist) !== null && _g !== void 0 ? _g : 40}px`,
|
19942
|
+
zIndex: 999,
|
19943
|
+
position: 'absolute',
|
19944
|
+
bottom: 0,
|
19945
|
+
left: 0,
|
19946
|
+
right: 0,
|
19947
|
+
paddingTop: '20px'
|
19948
|
+
} },
|
19949
|
+
(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowCTA) === undefined || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowCTA) ? (React.createElement("div", { style: {} },
|
19950
|
+
React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$1, isActive: index === activeIndex, value: value }))) : null,
|
19951
|
+
React.createElement("div", null,
|
19952
|
+
React.createElement(ExpandableText$1
|
19953
|
+
// className='clc-sxp-bottom-text'
|
19954
|
+
, {
|
19955
|
+
// className='clc-sxp-bottom-text'
|
19956
|
+
isPost: true, foldText: tipText === null || tipText === void 0 ? void 0 : tipText.foldText, unfoldText: tipText === null || tipText === void 0 ? void 0 : tipText.unfoldText, text: (_j = (_h = rec === null || rec === void 0 ? void 0 : rec.video) === null || _h === void 0 ? void 0 : _h.title) !== null && _j !== void 0 ? _j : '', 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', padding: '0 20px', fontSize: '12px' }) }),
|
19957
|
+
React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$1, includesCtaType: ['AniLink'], isActive: index === activeIndex, value: value }))),
|
19958
|
+
React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$1, includesCtaType: ['AniLinkPopup'], isActive: index === activeIndex, value: value })));
|
19959
|
+
}
|
19960
|
+
return null;
|
19961
|
+
};
|
19962
|
+
const likeIcon = useIconLink(defaultLikeIconPath, appDomain);
|
19963
|
+
const unlikeIcon = useIconLink(defaultUnLikeIconPath, appDomain);
|
19964
|
+
const renderLikeButton = (rec, index) => {
|
19965
|
+
var _a, _b, _c, _d;
|
19966
|
+
if (!(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowLike))
|
19967
|
+
return;
|
19968
|
+
let top = (_a = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.likeIconY) !== null && _a !== void 0 ? _a : 400;
|
19969
|
+
if (top < 40) {
|
19970
|
+
top += 40;
|
19971
|
+
}
|
19972
|
+
if (rec === null || rec === void 0 ? void 0 : rec.video) {
|
19973
|
+
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,
|
19974
|
+
// className={style['clc-sxp-like-button']}
|
19975
|
+
style: {
|
19976
|
+
top,
|
19977
|
+
right: (_d = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.likeIconX) !== null && _d !== void 0 ? _d : 0,
|
19978
|
+
position: 'absolute',
|
19979
|
+
zIndex: 999,
|
19980
|
+
backgroundColor: 'transparent',
|
19981
|
+
width: '50px',
|
19982
|
+
height: '50px',
|
19983
|
+
outline: 'none',
|
19984
|
+
border: 'none',
|
19985
|
+
boxSizing: 'content-box',
|
19986
|
+
padding: 0,
|
19987
|
+
transform: 'translate3d(0px, 0px, 0px)'
|
19988
|
+
} }));
|
19989
|
+
}
|
19990
|
+
return null;
|
19991
|
+
};
|
19992
|
+
const mutedIcon = useIconLink('/pb_static/5beaaa5ce7f3477b99db3838619cc471.png', appDomain);
|
19993
|
+
const unmutedIcon = useIconLink('/pb_static/fea8668a8a894e4aa3a86bcc775e895e.png', appDomain);
|
19994
|
+
const renderToggleButton = (visible) => {
|
19995
|
+
var _a, _b, _c, _d;
|
19996
|
+
if (!visible)
|
19997
|
+
return;
|
19998
|
+
let top = (_a = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconY) !== null && _a !== void 0 ? _a : 23;
|
19999
|
+
if ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconYPosit) === 'top') {
|
20000
|
+
top += 45;
|
20001
|
+
}
|
20002
|
+
return (((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowMute) === undefined || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowMute) === true) && (React.createElement(ToggleButton$1, { style: {
|
20003
|
+
position: 'absolute',
|
20004
|
+
visibility: 'visible',
|
20005
|
+
zIndex: 999,
|
20006
|
+
transform: 'translate3d(0px,0px,0px)',
|
20007
|
+
[(_b = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconXPosit) !== null && _b !== void 0 ? _b : 'right']: (_c = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconX) !== null && _c !== void 0 ? _c : 0,
|
20008
|
+
[(_d = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconYPosit) !== null && _d !== void 0 ? _d : 'bottom']: top,
|
20009
|
+
backgroundColor: 'transparent',
|
20010
|
+
width: '50px',
|
20011
|
+
height: '50px',
|
20012
|
+
outline: 'none',
|
20013
|
+
border: 'none',
|
20014
|
+
boxSizing: 'content-box',
|
20015
|
+
padding: 0
|
20016
|
+
}, 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 })));
|
20017
|
+
};
|
20018
|
+
const renderView = (item, index) => {
|
20019
|
+
var _a, _b, _c, _d;
|
20020
|
+
const rec = lodash.cloneDeep(recData);
|
20021
|
+
rec.video.bindProducts = item === null || item === void 0 ? void 0 : item.bindProducts;
|
20022
|
+
return (React.createElement("div", { style: { position: 'relative' } },
|
20023
|
+
React.createElement(SwiperSlide, { key: index, virtualIndex: index, style: { overflow: 'hidden', position: 'relative' } },
|
20024
|
+
renderBottom(rec, index),
|
20025
|
+
renderLikeButton(rec, index),
|
20026
|
+
renderToggleButton(!(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconFixed)),
|
20027
|
+
React.createElement(ToggleButton$1, { style: {
|
20028
|
+
position: 'absolute',
|
20029
|
+
right: (_a = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconX) !== null && _a !== void 0 ? _a : 0,
|
20030
|
+
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',
|
20031
|
+
bottom: (_d = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconY) !== null && _d !== void 0 ? _d : 23,
|
20032
|
+
zIndex: 999
|
20033
|
+
}, 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 }),
|
20034
|
+
renderContent(item, index))));
|
19728
20035
|
};
|
19729
20036
|
React.useEffect(() => {
|
19730
20037
|
var _a, _b;
|
@@ -19738,14 +20045,23 @@ Made in Italy` })));
|
|
19738
20045
|
return;
|
19739
20046
|
(_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(0);
|
19740
20047
|
}, [loopPlay]);
|
19741
|
-
return (React.createElement(
|
19742
|
-
|
19743
|
-
|
19744
|
-
|
19745
|
-
|
19746
|
-
|
20048
|
+
return (React.createElement("div", { id: 'sxp-render',
|
20049
|
+
// className={style['clc-sxp-container']}
|
20050
|
+
style: { height: containerHeight, position: 'relative', pointerEvents } },
|
20051
|
+
React.createElement(Swiper, { ref: swiperRef, allowTouchMove: pointerEvents !== 'none', onSlideChange: () => {
|
20052
|
+
setLooPlaySwiper(false);
|
20053
|
+
swiperRef.current.swiper.allowTouchMove = false;
|
20054
|
+
setTimeout(() => {
|
20055
|
+
swiperRef.current.swiper.allowTouchMove = true;
|
20056
|
+
}, 500);
|
20057
|
+
}, onActiveIndexChange: (swiper) => {
|
20058
|
+
// setActiveIndex(swiper.activeIndex);
|
20059
|
+
onActiveChange === null || onActiveChange === void 0 ? void 0 : onActiveChange(swiper.activeIndex);
|
20060
|
+
}, direction: 'vertical', style: { overflow: 'hidden', height: containerHeight }, height: containerHeight }, scenes === null || scenes === void 0 ? void 0 : scenes.map((rec, index) => {
|
20061
|
+
return renderView(rec, index);
|
20062
|
+
}))));
|
19747
20063
|
};
|
19748
|
-
var
|
20064
|
+
var DiyStoryPreview$1 = React.memo(DiyStoryPreview);
|
19749
20065
|
|
19750
20066
|
/*
|
19751
20067
|
* @Author: binruan@chatlabs.com
|
@@ -19843,17 +20159,9 @@ Made in Italy` })));
|
|
19843
20159
|
|
19844
20160
|
/*
|
19845
20161
|
* @Author: binruan@chatlabs.com
|
19846
|
-
* @Date: 2024-
|
19847
|
-
* @LastEditors: binruan@chatlabs.com
|
19848
|
-
* @LastEditTime: 2025-02-24 15:47:44
|
19849
|
-
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageCore\index.tsx
|
19850
|
-
*
|
19851
|
-
*/
|
19852
|
-
/*
|
19853
|
-
* @Author: binruan@chatlabs.com
|
19854
|
-
* @Date: 2023-11-24 15:58:00
|
20162
|
+
* @Date: 2024-03-20 10:27:31
|
19855
20163
|
* @LastEditors: binruan@chatlabs.com
|
19856
|
-
* @LastEditTime:
|
20164
|
+
* @LastEditTime: 2025-03-27 17:17:56
|
19857
20165
|
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageCore\index.tsx
|
19858
20166
|
*
|
19859
20167
|
*/
|
@@ -19861,7 +20169,7 @@ Made in Italy` })));
|
|
19861
20169
|
Object.values(_materials_).forEach((v) => {
|
19862
20170
|
RESOLVER[v.extend.type] = v;
|
19863
20171
|
});
|
19864
|
-
const SxpPageCore = ({ data, maxSize = 10, defaultSize = 10, hashTagSize = 20, loadingImage, appDomain, enabledMetaConversionApi, dataList }) => {
|
20172
|
+
const SxpPageCore = ({ data, maxSize = 10, defaultSize = 10, hashTagSize = 20, loadingImage, appDomain, enabledMetaConversionApi, dataList, pointerEvents }) => {
|
19865
20173
|
var _a, _b, _c, _d, _e, _f;
|
19866
20174
|
const utmVal = React.useMemo(() => {
|
19867
20175
|
var _a;
|
@@ -19874,7 +20182,7 @@ Made in Italy` })));
|
|
19874
20182
|
React.createElement(SxpDataSourceProvider$1, { utmVal: utmVal, dataSources: data === null || data === void 0 ? void 0 : data.data_sources, sxpParameter: data === null || data === void 0 ? void 0 : data.sxp_parameter, maxSize: (_b = (_a = data === null || data === void 0 ? void 0 : data.sxp_parameter) === null || _a === void 0 ? void 0 : _a.personalized_recommend) !== null && _b !== void 0 ? _b : maxSize, defaultSize: (_d = (_c = data === null || data === void 0 ? void 0 : data.sxp_parameter) === null || _c === void 0 ? void 0 : _c.default_recommend) !== null && _d !== void 0 ? _d : defaultSize, hashTagSize: (_f = (_e = data === null || data === void 0 ? void 0 : data.sxp_parameter) === null || _e === void 0 ? void 0 : _e.hash_tag_size) !== null && _f !== void 0 ? _f : hashTagSize, loadingImage: loadingImage, appDomain: appDomain, enabledMetaConversionApi: enabledMetaConversionApi, utmParameter: data === null || data === void 0 ? void 0 : data.utm_parameter, data: data, dataList: dataList, onUpdateSchema: (d) => setSchema(d), onUpdateChannel: (d) => setChannel(d), render: ({ rtcList, tagList, pageData }) => {
|
19875
20183
|
var _a;
|
19876
20184
|
return (React.createElement(React.Fragment, null,
|
19877
|
-
React.createElement(
|
20185
|
+
React.createElement(DiyStoryPreview$1, Object.assign({ defaultData: data }, (_a = pageData === null || pageData === void 0 ? void 0 : pageData.data) === null || _a === void 0 ? void 0 : _a.sxpPageConf, { tagList: tagList, scenes: rtcList, resolver: RESOLVER, containerHeight: window === null || window === void 0 ? void 0 : window.innerHeight, pointerEvents: pointerEvents })),
|
19878
20186
|
React.createElement(Popup, null)));
|
19879
20187
|
} })));
|
19880
20188
|
};
|
@@ -19888,13 +20196,13 @@ Made in Italy` })));
|
|
19888
20196
|
* @FilePath: \pb-sxp-ui\src\index.ts
|
19889
20197
|
*/
|
19890
20198
|
|
19891
|
-
exports.DiyPortalPreview = index$
|
19892
|
-
exports.DiyStoryPreview =
|
20199
|
+
exports.DiyPortalPreview = index$1;
|
20200
|
+
exports.DiyStoryPreview = DiyStoryPreview$1;
|
19893
20201
|
exports.EditorDataProvider = EditorDataProvider;
|
19894
20202
|
exports.Modal = Modal$1;
|
19895
20203
|
exports.SxpDataSourceProvider = SxpDataSourceProvider$1;
|
19896
20204
|
exports.SxpPageCore = index;
|
19897
|
-
exports.SxpPageRender =
|
20205
|
+
exports.SxpPageRender = index$2;
|
19898
20206
|
exports.core = index$3;
|
19899
20207
|
exports.default = Pagebuilder;
|
19900
20208
|
exports.materials = _materials_;
|