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.
Files changed (37) hide show
  1. package/dist/index.cjs +356 -48
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.js +354 -46
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.min.cjs +6 -6
  6. package/dist/index.min.cjs.map +1 -1
  7. package/dist/index.min.js +6 -6
  8. package/dist/index.min.js.map +1 -1
  9. package/dist/pb-ui.js +356 -48
  10. package/dist/pb-ui.js.map +1 -1
  11. package/dist/pb-ui.min.js +6 -6
  12. package/dist/pb-ui.min.js.map +1 -1
  13. package/es/core/components/DiyStoryPreview/VideoWidget.js +5 -2
  14. package/es/core/components/DiyStoryPreview/index.d.ts +3 -0
  15. package/es/core/components/DiyStoryPreview/index.js +288 -22
  16. package/es/core/components/SxpPageCore/index.d.ts +1 -0
  17. package/es/core/components/SxpPageCore/index.js +3 -3
  18. package/es/core/components/SxpPageRender/ExpandableText.js +10 -2
  19. package/es/core/components/SxpPageRender/RenderCard.js +4 -4
  20. package/es/core/context/SxpDataSourceProvider.js +3 -3
  21. package/es/materials/sxp/template/MultiCommodity/index.js +1 -1
  22. package/es/materials/sxp/template/MultiCommodityDiro/index.js +2 -1
  23. package/es/materials/sxp/template/MultiCommodityDiroNew/index.js +2 -1
  24. package/es/materials/sxp/template/components/EventProvider.js +2 -2
  25. package/lib/core/components/DiyStoryPreview/VideoWidget.js +5 -2
  26. package/lib/core/components/DiyStoryPreview/index.d.ts +3 -0
  27. package/lib/core/components/DiyStoryPreview/index.js +287 -21
  28. package/lib/core/components/SxpPageCore/index.d.ts +1 -0
  29. package/lib/core/components/SxpPageCore/index.js +3 -3
  30. package/lib/core/components/SxpPageRender/ExpandableText.js +10 -2
  31. package/lib/core/components/SxpPageRender/RenderCard.js +4 -4
  32. package/lib/core/context/SxpDataSourceProvider.js +3 -3
  33. package/lib/materials/sxp/template/MultiCommodity/index.js +1 -1
  34. package/lib/materials/sxp/template/MultiCommodityDiro/index.js +2 -1
  35. package/lib/materials/sxp/template/MultiCommodityDiroNew/index.js +2 -1
  36. package/lib/materials/sxp/template/components/EventProvider.js +2 -2
  37. 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 (_b = ((_a = utmParameter === null || utmParameter === void 0 ? void 0 : utmParameter.channels) !== null && _a !== void 0 ? _a : [])) === null || _b === void 0 ? void 0 : _b.includes(key);
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('v1/recommend/list', { method: 'POST', body: query }));
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: { textDecoration: 'underline', cursor: 'pointer' }, onClick: onClick !== null && onClick !== void 0 ? onClick : handleClick, dangerouslySetInnerHTML: {
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 ? 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;
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: 2024-10-31 10:30:55
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
- //如果includesCtaType有值,则只渲染includesCtaType包含的cta类型组件,用于在页面某处只显示某一组件
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
- //默认不渲染category为cta类型的组件,该类型的组件只用于某一处
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
- let style = lodash.cloneDeep((_y = value === null || value === void 0 ? void 0 : value.item) === null || _y === void 0 ? void 0 : _y.style);
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
- let sbf = style['backdropFilter'];
18340
- style['backdropFilter'] = `blur(${sbf !== null && sbf !== void 0 ? sbf : 0}px)`;
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 SxpPageRender$1 = React.memo(SxpPageRender);
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$2 = React.memo(DiyPortalPreview);
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-26 15:01:42
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: 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: 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
- useIconLink(defaultLikeIconPath, appDomain);
19723
- useIconLink(defaultUnLikeIconPath, appDomain);
19724
- useIconLink('/pb_static/5beaaa5ce7f3477b99db3838619cc471.png', appDomain);
19725
- useIconLink('/pb_static/fea8668a8a894e4aa3a86bcc775e895e.png', appDomain);
19726
- const renderView = (rec, index) => {
19727
- return (React.createElement(SwiperSlide, { key: index, virtualIndex: index, style: { overflow: 'hidden', position: 'relative' } }, renderContent(rec, index)));
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(Swiper, { ref: swiperRef, allowTouchMove: false, onActiveIndexChange: (swiper) => {
19742
- // setActiveIndex(swiper.activeIndex);
19743
- onActiveChange === null || onActiveChange === void 0 ? void 0 : onActiveChange(swiper.activeIndex);
19744
- }, direction: 'vertical', style: { overflow: 'hidden', height: containerHeight } }, scenes === null || scenes === void 0 ? void 0 : scenes.map((rec, index) => {
19745
- return renderView(rec, index);
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 index$1 = React.memo(DiyStoryPreview);
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-01-15 19:03:09
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: 2023-12-26 10:24:42
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(SxpPageRender$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, data: rtcList, resolver: RESOLVER })),
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$2;
19892
- exports.DiyStoryPreview = index$1;
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 = SxpPageRender$1;
20205
+ exports.SxpPageRender = index$2;
19898
20206
  exports.core = index$3;
19899
20207
  exports.default = Pagebuilder;
19900
20208
  exports.materials = _materials_;