pb-sxp-ui 1.3.0 → 1.3.1

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 (63) hide show
  1. package/dist/index.cjs +207 -78
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.js +207 -78
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.min.cjs +3 -3
  6. package/dist/index.min.cjs.map +1 -1
  7. package/dist/index.min.js +3 -3
  8. package/dist/index.min.js.map +1 -1
  9. package/dist/pb-ui.js +207 -78
  10. package/dist/pb-ui.js.map +1 -1
  11. package/dist/pb-ui.min.js +3 -3
  12. package/dist/pb-ui.min.js.map +1 -1
  13. package/es/core/components/SxpPageRender/Modal/index.js +3 -2
  14. package/es/core/components/SxpPageRender/WaterFall/List.js +8 -4
  15. package/es/core/components/SxpPageRender/WaterFall/WaterfallList.js +7 -3
  16. package/es/core/components/SxpPageRender/index.js +29 -21
  17. package/es/core/context/EditorContext.js +2 -0
  18. package/es/core/context/SxpDataSourceProvider.js +33 -10
  19. package/es/core/hooks/useEventReport.d.ts +1 -1
  20. package/es/core/hooks/useEventReport.js +2 -2
  21. package/es/materials/sxp/HashTag/settingRender.d.ts +6 -7
  22. package/es/materials/sxp/HashTag/settingRender.js +9 -0
  23. package/es/materials/sxp/cta/AniLink/settingRender.d.ts +5 -0
  24. package/es/materials/sxp/cta/AniLink/settingRender.js +4 -0
  25. package/es/materials/sxp/popup/AppointForm/settingRender.d.ts +8 -5
  26. package/es/materials/sxp/popup/AppointForm/settingRender.js +12 -0
  27. package/es/materials/sxp/popup/CommodityDetail/index.d.ts +3 -1
  28. package/es/materials/sxp/popup/CommodityDetail/index.js +21 -13
  29. package/es/materials/sxp/popup/CommodityDetail/settingRender.d.ts +13 -0
  30. package/es/materials/sxp/popup/CommodityDetail/settingRender.js +15 -0
  31. package/es/materials/sxp/popup/CommodityDetailDiroNew/index.d.ts +3 -1
  32. package/es/materials/sxp/popup/CommodityDetailDiroNew/index.js +24 -16
  33. package/es/materials/sxp/popup/CommodityDetailDiroNew/settingRender.d.ts +13 -0
  34. package/es/materials/sxp/popup/CommodityDetailDiroNew/settingRender.js +15 -0
  35. package/es/materials/sxp/popup/CommodityList/settingRender.js +4 -0
  36. package/es/materials/sxp/popup/Prompt/settingRender.js +10 -0
  37. package/es/materials/sxp/template/Link/settingRender.js +5 -0
  38. package/lib/core/components/SxpPageRender/Modal/index.js +3 -2
  39. package/lib/core/components/SxpPageRender/WaterFall/List.js +8 -4
  40. package/lib/core/components/SxpPageRender/WaterFall/WaterfallList.js +7 -3
  41. package/lib/core/components/SxpPageRender/index.js +28 -20
  42. package/lib/core/context/EditorContext.js +2 -0
  43. package/lib/core/context/SxpDataSourceProvider.js +33 -10
  44. package/lib/core/hooks/useEventReport.d.ts +1 -1
  45. package/lib/core/hooks/useEventReport.js +2 -2
  46. package/lib/materials/sxp/HashTag/settingRender.d.ts +6 -7
  47. package/lib/materials/sxp/HashTag/settingRender.js +9 -0
  48. package/lib/materials/sxp/cta/AniLink/settingRender.d.ts +5 -0
  49. package/lib/materials/sxp/cta/AniLink/settingRender.js +4 -0
  50. package/lib/materials/sxp/popup/AppointForm/settingRender.d.ts +8 -5
  51. package/lib/materials/sxp/popup/AppointForm/settingRender.js +12 -0
  52. package/lib/materials/sxp/popup/CommodityDetail/index.d.ts +3 -1
  53. package/lib/materials/sxp/popup/CommodityDetail/index.js +21 -13
  54. package/lib/materials/sxp/popup/CommodityDetail/settingRender.d.ts +13 -0
  55. package/lib/materials/sxp/popup/CommodityDetail/settingRender.js +15 -0
  56. package/lib/materials/sxp/popup/CommodityDetailDiroNew/index.d.ts +3 -1
  57. package/lib/materials/sxp/popup/CommodityDetailDiroNew/index.js +24 -16
  58. package/lib/materials/sxp/popup/CommodityDetailDiroNew/settingRender.d.ts +13 -0
  59. package/lib/materials/sxp/popup/CommodityDetailDiroNew/settingRender.js +15 -0
  60. package/lib/materials/sxp/popup/CommodityList/settingRender.js +4 -0
  61. package/lib/materials/sxp/popup/Prompt/settingRender.js +10 -0
  62. package/lib/materials/sxp/template/Link/settingRender.js +5 -0
  63. package/package.json +1 -1
package/dist/pb-ui.js CHANGED
@@ -711,7 +711,7 @@
711
711
  }, [bffDataSource]);
712
712
  // 获取推荐视频数据
713
713
  const getRecommendVideos = React.useCallback((query) => __awaiter(void 0, void 0, void 0, function* () {
714
- var _d, _e, _f, _g, _h;
714
+ var _d, _e, _f, _g, _h, _j, _k;
715
715
  query = Object.assign(Object.assign({ maxSize: (_d = query === null || query === void 0 ? void 0 : query.maxSize) !== null && _d !== void 0 ? _d : maxSize, defaultSize: (_e = query === null || query === void 0 ? void 0 : query.defaultSize) !== null && _e !== void 0 ? _e : defaultSize, hashTag: query === null || query === void 0 ? void 0 : query.hashTag, traceInfo: query === null || query === void 0 ? void 0 : query.traceInfo, themeTag: query === null || query === void 0 ? void 0 : query.themeTag }, ((query === null || query === void 0 ? void 0 : query.contentFilter) && { contentFilter: `[${query === null || query === void 0 ? void 0 : query.contentFilter}]` })), ((query === null || query === void 0 ? void 0 : query.productFilter) && { productFilter: `[${query === null || query === void 0 ? void 0 : query.productFilter}]` }));
716
716
  if (utmVal) {
717
717
  const val = (_h = (_g = (_f = utmVal === null || utmVal === void 0 ? void 0 : utmVal.split('&')) === null || _f === void 0 ? void 0 : _f.filter((val) => {
@@ -722,7 +722,30 @@
722
722
  query = Object.assign(Object.assign({}, query), { channel: decodeURIComponent(val) });
723
723
  }
724
724
  if ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview) || isEditor) {
725
- query = Object.assign(Object.assign(Object.assign({}, query), { directPage: true, level: 1, pageNum: 1 }), (!utmVal && channelQueryList && (channelQueryList === null || channelQueryList === void 0 ? void 0 : channelQueryList.length) > 0 && { channel: channelQueryList === null || channelQueryList === void 0 ? void 0 : channelQueryList.join('&') }));
725
+ query = Object.assign(Object.assign(Object.assign({}, query), { directPage: true, level: 1 }), (!utmVal && channelQueryList && (channelQueryList === null || channelQueryList === void 0 ? void 0 : channelQueryList.length) > 0 && { channel: channelQueryList === null || channelQueryList === void 0 ? void 0 : channelQueryList[0] }));
726
+ if (!(query === null || query === void 0 ? void 0 : query.channel))
727
+ return;
728
+ let list = [];
729
+ let result = null;
730
+ let pageNum = 1;
731
+ const recurveRecList = (query) => __awaiter(void 0, void 0, void 0, function* () {
732
+ var _l, _m, _o, _p;
733
+ query.pageNum = pageNum;
734
+ result = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('/recommend/list', { method: 'GET', query }));
735
+ if (!(result === null || result === void 0 ? void 0 : result.success)) {
736
+ return undefined;
737
+ }
738
+ const rec = (_m = (_l = result === null || result === void 0 ? void 0 : result.data) === null || _l === void 0 ? void 0 : _l.recList) === null || _m === void 0 ? void 0 : _m[0];
739
+ list = list.concat((_p = (_o = result === null || result === void 0 ? void 0 : result.data) === null || _o === void 0 ? void 0 : _o.recList) !== null && _p !== void 0 ? _p : []);
740
+ if ((rec === null || rec === void 0 ? void 0 : rec.product) || (rec === null || rec === void 0 ? void 0 : rec.video)) {
741
+ pageNum = pageNum + 1;
742
+ yield recurveRecList(query);
743
+ }
744
+ });
745
+ yield recurveRecList(query);
746
+ if (!(query === null || query === void 0 ? void 0 : query.hashTag) && result)
747
+ setCurReqInfo({ rtc: (_j = result === null || result === void 0 ? void 0 : result.data) === null || _j === void 0 ? void 0 : _j.rtc, requestId: (_k = result === null || result === void 0 ? void 0 : result.data) === null || _k === void 0 ? void 0 : _k.requestId });
748
+ return Object.assign(Object.assign({}, result.data), { recList: list });
726
749
  }
727
750
  const result = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('/recommend/list', { method: 'GET', query }));
728
751
  if (!(result === null || result === void 0 ? void 0 : result.success)) {
@@ -733,12 +756,12 @@
733
756
  return result === null || result === void 0 ? void 0 : result.data;
734
757
  }), [bffFetch, utmVal, maxSize, defaultSize, globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview, channelQueryList, isEditor]);
735
758
  const loadVideos = React.useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
736
- var _j, _k, _l, _m;
759
+ var _q, _r, _s, _t;
737
760
  if (rtcList.length <= 0) {
738
761
  return;
739
762
  }
740
763
  const lastItem = rtcList === null || rtcList === void 0 ? void 0 : rtcList[(rtcList === null || rtcList === void 0 ? void 0 : rtcList.length) - 1];
741
- const data = yield getRecommendVideos(Object.assign(Object.assign(Object.assign({ hashTag: waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.hashTag }, (((_j = lastItem === null || lastItem === void 0 ? void 0 : lastItem.product) === null || _j === void 0 ? void 0 : _j.itemId) && { productFilter: (_k = lastItem === null || lastItem === void 0 ? void 0 : lastItem.product) === null || _k === void 0 ? void 0 : _k.itemId })), (((_l = lastItem === null || lastItem === void 0 ? void 0 : lastItem.video) === null || _l === void 0 ? void 0 : _l.itemId) && { contentFilter: (_m = lastItem === null || lastItem === void 0 ? void 0 : lastItem.video) === null || _m === void 0 ? void 0 : _m.itemId })), { themeTag: themeTag.current }));
764
+ const data = yield getRecommendVideos(Object.assign(Object.assign(Object.assign({ hashTag: waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.hashTag }, (((_q = lastItem === null || lastItem === void 0 ? void 0 : lastItem.product) === null || _q === void 0 ? void 0 : _q.itemId) && { productFilter: (_r = lastItem === null || lastItem === void 0 ? void 0 : lastItem.product) === null || _r === void 0 ? void 0 : _r.itemId })), (((_s = lastItem === null || lastItem === void 0 ? void 0 : lastItem.video) === null || _s === void 0 ? void 0 : _s.itemId) && { contentFilter: (_t = lastItem === null || lastItem === void 0 ? void 0 : lastItem.video) === null || _t === void 0 ? void 0 : _t.itemId })), { themeTag: themeTag.current }));
742
765
  setRtcList(rtcList.concat(getFilterRecList(data)));
743
766
  setCacheRtcList(cacheRtcList.concat(getFilterRecList(data)));
744
767
  }), [getRecommendVideos, rtcList, waterFallData, cacheRtcList]);
@@ -807,17 +830,17 @@
807
830
  }), [bffFetch]);
808
831
  // 获取 Tag
809
832
  const bffGetTagList = React.useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
810
- var _o, _p, _q, _r, _s;
833
+ var _u, _v, _w, _x, _y;
811
834
  if (!utmVal || !isShowTag)
812
835
  return;
813
836
  try {
814
- const val = (_q = (_p = (_o = utmVal === null || utmVal === void 0 ? void 0 : utmVal.split('&')) === null || _o === void 0 ? void 0 : _o.filter((val) => {
837
+ const val = (_w = (_v = (_u = utmVal === null || utmVal === void 0 ? void 0 : utmVal.split('&')) === null || _u === void 0 ? void 0 : _u.filter((val) => {
815
838
  var _a, _b;
816
839
  const key = val.split('=')[0];
817
840
  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);
818
- })) === null || _p === void 0 ? void 0 : _p.join('&')) !== null && _q !== void 0 ? _q : '';
841
+ })) === null || _v === void 0 ? void 0 : _v.join('&')) !== null && _w !== void 0 ? _w : '';
819
842
  const result = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('/tag/list', { method: 'GET', query: { channel: decodeURIComponent(val) } }));
820
- setTagList((_s = (_r = result === null || result === void 0 ? void 0 : result.data) === null || _r === void 0 ? void 0 : _r.tags) !== null && _s !== void 0 ? _s : []);
843
+ setTagList((_y = (_x = result === null || result === void 0 ? void 0 : result.data) === null || _x === void 0 ? void 0 : _x.tags) !== null && _y !== void 0 ? _y : []);
821
844
  }
822
845
  catch (e) {
823
846
  console.log('e', e);
@@ -894,7 +917,7 @@
894
917
  });
895
918
  }, [isShowConsent]);
896
919
  React.useEffect(() => {
897
- if (!isInit.current)
920
+ if (!isInit.current && !isEditor)
898
921
  return;
899
922
  setLoading(true);
900
923
  bffGetTagList();
@@ -906,7 +929,7 @@
906
929
  .finally(() => {
907
930
  setLoading(false);
908
931
  });
909
- }, [getRecommendVideos, bffGetTagList]);
932
+ }, [bffGetTagList, isEditor, getRecommendVideos]);
910
933
  const defaultLoadingImage = useIconLink('/pb_static/a65d23c5893c49d7aaaa81681d3179e2.gif', appDomain);
911
934
  return (React.createElement(SxpDataSourceContext.Provider, { value: {
912
935
  rtcList,
@@ -1109,6 +1132,7 @@
1109
1132
  });
1110
1133
  typeof window !== 'undefined' &&
1111
1134
  (window.getJointUtmLink = (url) => {
1135
+ setSlideSkipState();
1112
1136
  if ((url === null || url === void 0 ? void 0 : url.indexOf('?')) !== -1) {
1113
1137
  return url + (utmVal ? '&' + utmVal : '');
1114
1138
  }
@@ -1281,6 +1305,11 @@
1281
1305
  type: 'TextAlign',
1282
1306
  name: ['textStyle']
1283
1307
  },
1308
+ {
1309
+ label: '标题间距',
1310
+ type: 'TextSpace',
1311
+ name: ['textStyle']
1312
+ },
1284
1313
  {
1285
1314
  label: '表单布局',
1286
1315
  type: 'Radius',
@@ -1339,10 +1368,12 @@
1339
1368
  ]
1340
1369
  },
1341
1370
  {
1371
+ label: '提交按钮文本样式',
1342
1372
  type: 'TextStyle',
1343
1373
  name: ['props', 'submitButtonStyle']
1344
1374
  },
1345
1375
  {
1376
+ label: '提交按钮对齐',
1346
1377
  type: 'TextAlign',
1347
1378
  name: ['props', 'submitButtonStyle']
1348
1379
  },
@@ -1350,6 +1381,11 @@
1350
1381
  label: '提交按钮颜色',
1351
1382
  type: 'Color',
1352
1383
  name: ['props', 'submitBgColor']
1384
+ },
1385
+ {
1386
+ label: '提交按钮间距',
1387
+ type: 'TextSpace',
1388
+ name: ['props', 'submitButtonStyle']
1353
1389
  }
1354
1390
  // {
1355
1391
  // label: '接收内容接口地址',
@@ -1390,7 +1426,7 @@
1390
1426
  */
1391
1427
  function useEventReport() {
1392
1428
  const { bffEventReport, popupDetailData, waterFallData, isFromHashtag } = useSxpDataSource();
1393
- const jumpToWeb = React.useCallback((data, product, cta, position) => {
1429
+ const jumpToWeb = React.useCallback((data, product, cta, position, traceInfo) => {
1394
1430
  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, _4, _5, _6, _7, _8, _9;
1395
1431
  let fromKName = '';
1396
1432
  if (popupDetailData && (((_b = (_a = data === null || data === void 0 ? void 0 : data.video) === null || _a === void 0 ? void 0 : _a.bindProducts) === null || _b === void 0 ? void 0 : _b.length) || ((_c = data === null || data === void 0 ? void 0 : data.video) === null || _c === void 0 ? void 0 : _c.bindProduct))) {
@@ -1423,7 +1459,7 @@
1423
1459
  position: position + '',
1424
1460
  contentId: (_v = (_u = data === null || data === void 0 ? void 0 : data.video) === null || _u === void 0 ? void 0 : _u.itemId) !== null && _v !== void 0 ? _v : '',
1425
1461
  ctatId: (_w = cta === null || cta === void 0 ? void 0 : cta.itemId) !== null && _w !== void 0 ? _w : '',
1426
- traceInfo: (_9 = (_6 = (_4 = (_0 = (_x = product === null || product === void 0 ? void 0 : product.traceInfo) !== null && _x !== void 0 ? _x : (_z = (_y = data === null || data === void 0 ? void 0 : data.video) === null || _y === void 0 ? void 0 : _y.bindProduct) === null || _z === void 0 ? void 0 : _z.traceInfo) !== null && _0 !== void 0 ? _0 : (_3 = (_2 = (_1 = data === null || data === void 0 ? void 0 : data.video) === null || _1 === void 0 ? void 0 : _1.bindProducts) === null || _2 === void 0 ? void 0 : _2[0]) === null || _3 === void 0 ? void 0 : _3.traceInfo) !== null && _4 !== void 0 ? _4 : (_5 = data === null || data === void 0 ? void 0 : data.product) === null || _5 === void 0 ? void 0 : _5.traceInfo) !== null && _6 !== void 0 ? _6 : (_8 = (_7 = data === null || data === void 0 ? void 0 : data.video) === null || _7 === void 0 ? void 0 : _7.bindCta) === null || _8 === void 0 ? void 0 : _8.traceInfo) !== null && _9 !== void 0 ? _9 : ''
1462
+ traceInfo: (_9 = (_6 = (_4 = (_0 = (_x = traceInfo !== null && traceInfo !== void 0 ? traceInfo : product === null || product === void 0 ? void 0 : product.traceInfo) !== null && _x !== void 0 ? _x : (_z = (_y = data === null || data === void 0 ? void 0 : data.video) === null || _y === void 0 ? void 0 : _y.bindProduct) === null || _z === void 0 ? void 0 : _z.traceInfo) !== null && _0 !== void 0 ? _0 : (_3 = (_2 = (_1 = data === null || data === void 0 ? void 0 : data.video) === null || _1 === void 0 ? void 0 : _1.bindProducts) === null || _2 === void 0 ? void 0 : _2[0]) === null || _3 === void 0 ? void 0 : _3.traceInfo) !== null && _4 !== void 0 ? _4 : (_5 = data === null || data === void 0 ? void 0 : data.product) === null || _5 === void 0 ? void 0 : _5.traceInfo) !== null && _6 !== void 0 ? _6 : (_8 = (_7 = data === null || data === void 0 ? void 0 : data.video) === null || _7 === void 0 ? void 0 : _7.bindCta) === null || _8 === void 0 ? void 0 : _8.traceInfo) !== null && _9 !== void 0 ? _9 : ''
1427
1463
  }
1428
1464
  });
1429
1465
  }, [bffEventReport, popupDetailData, isFromHashtag]);
@@ -1828,6 +1864,16 @@
1828
1864
  label: '默认行数',
1829
1865
  type: 'Number',
1830
1866
  name: ['lineClamp']
1867
+ },
1868
+ {
1869
+ label: '间距',
1870
+ type: 'TextSpace'
1871
+ },
1872
+ {
1873
+ label: '价格千分符展示',
1874
+ type: 'Switch',
1875
+ name: ['enableFormattedPrice'],
1876
+ initialValue: true
1831
1877
  }
1832
1878
  ]
1833
1879
  }
@@ -1913,6 +1959,11 @@
1913
1959
  {
1914
1960
  type: 'TextAlign',
1915
1961
  name: ['props', 'buttonStyle']
1962
+ },
1963
+ {
1964
+ label: '间距',
1965
+ type: 'TextSpace',
1966
+ name: ['props', 'buttonStyle']
1916
1967
  }
1917
1968
  ]
1918
1969
  },
@@ -8755,13 +8806,13 @@
8755
8806
  * @Author: binruan@chatlabs.com
8756
8807
  * @Date: 2023-11-02 18:34:34
8757
8808
  * @LastEditors: binruan@chatlabs.com
8758
- * @LastEditTime: 2024-08-06 16:35:43
8809
+ * @LastEditTime: 2024-08-16 17:58:56
8759
8810
  * @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\Modal\index.tsx
8760
8811
  *
8761
8812
  */
8762
8813
  const closeIcon$1 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAjhJREFUWEfFlztOw0AQhmeWiJ4CCmpQ5DiRQsIJyAWg5A0lR0AIChDiCJS8ER0cADgBeRSxt4CCDgkaKiq8i+zYeWx2413HEWmiJJv9v535Z2aN8M8vFPT9z3zETD0aAUChUJjwvPFHAJhBhB3Hqd6OAsK2yyucwykAvP38eJX398Z3AJDLlVYR8ToU9Rhj25TWr9KEsKy5dULIGQCMtfZly45TvwsAstm56UwG6wA4FUFwzrdctxZBDcWSy5XWEPG8I84/GcMipdWPtgcsaz5PCHtKG0IuTiqUvjT9U/WYMG2IOPE+AP+LtCB0xKUAAyA2Xbd2o2OG0NQXvTnvhL17D7EPtH9TRCIWwkRcGYGIQgYBABuqPuHXOQBc6pw80lBGwBQiiXhsBHQhkoprA6iM6acjhDQKu5YJZW6XeOI3XJdpvfsdTu52VfXEekD8owQiXGIubpSCbhDbLu8DwKEAd+A41SOdPpE4BS0viFOtvV2iKWqUgn5x/tmS70xR01GuDSCKc86/OCcLgTyyZ0ScDGNhFAktAJV4NFJ9YyaFiAWIE+9uVkkgBgLoig8DMWAa9ro9ynkUdlW5maZDCmB6clmz0k1HH4Cs1Ezbq2p2yEpUuBOKTSZZex00RUWIrltxuuK6EOGDSbGIOPZicpMx6fny650377qNRgBgWeVFQuA+6UjVgREhGIMlSqsPUQqIbZdOOIdZQmCv2axRnU1N1+TzJYsxOEaEV8ep7frPZ7Gd0FTEdP0ft0/kMNdg0eoAAAAASUVORK5CYII=';
8763
8814
  const Modal = ({ visible, onClose, children, modalStyle, padding, popup, schema, fullHeight = window.innerHeight, isFullScreen = false }) => {
8764
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
8815
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
8765
8816
  const touchRef = React.useRef(null);
8766
8817
  const fTouchRef = React.useRef(null);
8767
8818
  const touchMoveRef = React.useRef(null);
@@ -8886,7 +8937,8 @@
8886
8937
  React.createElement("div", { onClick: onClose, className: 'modal-icon-wrapper' },
8887
8938
  React.createElement("img", { src: (_t = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.popupCloseIcon) !== null && _t !== void 0 ? _t : closeIcon$1, alt: 'close', className: 'modal-icon' })),
8888
8939
  React.createElement("div", { ref: ref, style: {
8889
- height: isScrollFullScreen ? fullHeight : MODAL_DEF_CON_H,
8940
+ height: (isScrollFullScreen ? fullHeight : MODAL_DEF_CON_H) -
8941
+ ((_w = (_v = (_u = getPopupById === null || getPopupById === void 0 ? void 0 : getPopupById.item) === null || _u === void 0 ? void 0 : _u.props) === null || _v === void 0 ? void 0 : _v.popupBg) === null || _w === void 0 ? void 0 : _w.bottomMargin),
8890
8942
  overflow: (isScrollFullScreen && modalTrans <= 0) || !isScrollFullScreen ? 'auto' : 'hidden'
8891
8943
  } }, children)))))), modalEleRef.current);
8892
8944
  };
@@ -9054,7 +9106,7 @@
9054
9106
  var CommodityGroup$1 = React.memo(CommodityGroup);
9055
9107
 
9056
9108
  const CommodityDetail$1 = (_a) => {
9057
- var _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, _4;
9109
+ var _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, _4, _5;
9058
9110
  var { content, style, bgImg, onClick, schema, isDefault, bottom_image, tipText, isPost, viewTime, rec, swiper, commodityStyles, buttonStyle, index, commodityGroup, popupBg, iframeIcon, commodityImgRatio } = _a, props = __rest(_a, ["content", "style", "bgImg", "onClick", "schema", "isDefault", "bottom_image", "tipText", "isPost", "viewTime", "rec", "swiper", "commodityStyles", "buttonStyle", "index", "commodityGroup", "popupBg", "iframeIcon", "commodityImgRatio"]);
9059
9111
  const { sxpParameter, popupDetailData, isPreview, bffFbReport, popupCurTimeRef, checkCommodityIndexRef } = useSxpDataSource();
9060
9112
  const { jumpToWeb, productView } = useEventReport();
@@ -9062,6 +9114,7 @@
9062
9114
  const [showModal, setShowModal] = React.useState(false);
9063
9115
  const [show3DModal, setShow3DModal] = React.useState(false);
9064
9116
  const [checkCommodityIndex, setCheckCommodityIndex] = React.useState((_b = popupDetailData === null || popupDetailData === void 0 ? void 0 : popupDetailData.multiCheckIndex) !== null && _b !== void 0 ? _b : 0);
9117
+ const ref = React.useRef();
9065
9118
  const data = isPost ? rec : popupDetailData;
9066
9119
  let product = isPost ? data === null || data === void 0 ? void 0 : data.product : (_d = (_c = data === null || data === void 0 ? void 0 : data.video) === null || _c === void 0 ? void 0 : _c.bindProduct) !== null && _d !== void 0 ? _d : (_f = (_e = data === null || data === void 0 ? void 0 : data.video) === null || _e === void 0 ? void 0 : _e.bindProducts) === null || _f === void 0 ? void 0 : _f[0];
9067
9120
  let cta = isPost
@@ -9101,17 +9154,20 @@
9101
9154
  };
9102
9155
  }, []);
9103
9156
  const priceText = React.useMemo(() => {
9104
- var _a, _b, _c, _d, _e;
9157
+ var _a, _b, _c, _d, _e, _f, _g;
9158
+ const isToLocStr = ((_a = commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.price) === null || _a === void 0 ? void 0 : _a.enableFormattedPrice) === undefined || ((_b = commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.price) === null || _b === void 0 ? void 0 : _b.enableFormattedPrice);
9105
9159
  if ((product === null || product === void 0 ? void 0 : product.currency) && (product === null || product === void 0 ? void 0 : product.price)) {
9106
- return `${(_c = (_b = (_a = product === null || product === void 0 ? void 0 : product.currency) === null || _a === void 0 ? void 0 : _a.split('-')[1]) === null || _b === void 0 ? void 0 : _b.toUpperCase()) !== null && _c !== void 0 ? _c : ''}${(_e = (_d = product === null || product === void 0 ? void 0 : product.price) === null || _d === void 0 ? void 0 : _d.toLocaleString('zh', {
9107
- minimumFractionDigits: 0
9108
- })) !== null && _e !== void 0 ? _e : ''}`;
9160
+ return `${(_e = (_d = (_c = product === null || product === void 0 ? void 0 : product.currency) === null || _c === void 0 ? void 0 : _c.split('-')[1]) === null || _d === void 0 ? void 0 : _d.toUpperCase()) !== null && _e !== void 0 ? _e : ''}${isToLocStr
9161
+ ? (_g = (_f = product === null || product === void 0 ? void 0 : product.price) === null || _f === void 0 ? void 0 : _f.toLocaleString('zh', {
9162
+ minimumFractionDigits: 0
9163
+ })) !== null && _g !== void 0 ? _g : ''
9164
+ : product === null || product === void 0 ? void 0 : product.price}`;
9109
9165
  }
9110
9166
  else {
9111
9167
  return '$7,000';
9112
9168
  }
9113
- }, [product === null || product === void 0 ? void 0 : product.price, product === null || product === void 0 ? void 0 : product.currency]);
9114
- const width = (isPreview ? 375 : (_t = style === null || style === void 0 ? void 0 : style.width) !== null && _t !== void 0 ? _t : window.innerWidth) - ((_u = popupBg === null || popupBg === void 0 ? void 0 : popupBg.horizontalMargin) !== null && _u !== void 0 ? _u : 0) * 2;
9169
+ }, [product === null || product === void 0 ? void 0 : product.price, product === null || product === void 0 ? void 0 : product.currency, (_t = commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.price) === null || _t === void 0 ? void 0 : _t.enableFormattedPrice]);
9170
+ const width = (isPreview ? 375 : (_u = style === null || style === void 0 ? void 0 : style.width) !== null && _u !== void 0 ? _u : window.innerWidth) - ((_v = popupBg === null || popupBg === void 0 ? void 0 : popupBg.horizontalMargin) !== null && _v !== void 0 ? _v : 0) * 2;
9115
9171
  const height = commodityImgRatio ? width * (commodityImgRatio.h / commodityImgRatio.w) : width;
9116
9172
  const renderContent = ({ isPost }) => {
9117
9173
  var _a, _b, _c, _d;
@@ -9152,6 +9208,10 @@
9152
9208
  popupCurTimeRef.current = new Date();
9153
9209
  setCheckCommodityIndex(index);
9154
9210
  checkCommodityIndexRef.current = index;
9211
+ if (ref === null || ref === void 0 ? void 0 : ref.current) {
9212
+ ref.current.swiper.slideTo(0);
9213
+ ref.current.swiper.autoplay.start();
9214
+ }
9155
9215
  }, []);
9156
9216
  const renderCommodityGroup = React.useCallback(() => {
9157
9217
  var _a, _b, _c;
@@ -9167,18 +9227,18 @@
9167
9227
  };
9168
9228
  return dotsAlignClass === null || dotsAlignClass === void 0 ? void 0 : dotsAlignClass[swiper === null || swiper === void 0 ? void 0 : swiper.dotsAlign];
9169
9229
  }, [swiper === null || swiper === void 0 ? void 0 : swiper.dotsAlign]);
9170
- const iframeUrl = ((_w = (_v = data === null || data === void 0 ? void 0 : data.video) === null || _v === void 0 ? void 0 : _v.bindProduct) === null || _w === void 0 ? void 0 : _w.remark) || ((_z = (_y = (_x = data === null || data === void 0 ? void 0 : data.video) === null || _x === void 0 ? void 0 : _x.bindProducts) === null || _y === void 0 ? void 0 : _y[0]) === null || _z === void 0 ? void 0 : _z.remark) || ((_0 = data === null || data === void 0 ? void 0 : data.product) === null || _0 === void 0 ? void 0 : _0.remark);
9230
+ const iframeUrl = ((_x = (_w = data === null || data === void 0 ? void 0 : data.video) === null || _w === void 0 ? void 0 : _w.bindProduct) === null || _x === void 0 ? void 0 : _x.remark) || ((_0 = (_z = (_y = data === null || data === void 0 ? void 0 : data.video) === null || _y === void 0 ? void 0 : _y.bindProducts) === null || _z === void 0 ? void 0 : _z[0]) === null || _0 === void 0 ? void 0 : _0.remark) || ((_1 = data === null || data === void 0 ? void 0 : data.product) === null || _1 === void 0 ? void 0 : _1.remark);
9171
9231
  return (React.createElement(React.Fragment, null,
9172
9232
  React.createElement("div", Object.assign({ className: css.css(Object.assign({}, style)) }, props),
9173
9233
  React.createElement("div", { style: { position: 'relative' } },
9174
- product && ((_1 = product === null || product === void 0 ? void 0 : product.homePage) === null || _1 === void 0 ? void 0 : _1.length) > 0 && (React.createElement(Swiper, { height: height, modules: [Pagination, Autoplay], pagination: {
9234
+ product && ((_2 = product === null || product === void 0 ? void 0 : product.homePage) === null || _2 === void 0 ? void 0 : _2.length) > 0 && (React.createElement(Swiper, { height: height, modules: [Pagination, Autoplay], pagination: {
9175
9235
  clickable: true,
9176
9236
  bulletActiveClass: 'swipe-item-active-bullet',
9177
9237
  clickableClass: getDotsAlign
9178
9238
  }, loop: true, autoplay: {
9179
9239
  delay: (swiper === null || swiper === void 0 ? void 0 : swiper.delay) * 1000
9180
- } },
9181
- React.createElement(React.Fragment, null, (_2 = product === null || product === void 0 ? void 0 : product.homePage) === null || _2 === void 0 ? void 0 : _2.map((src) => {
9240
+ }, ref: ref },
9241
+ React.createElement(React.Fragment, null, (_3 = product === null || product === void 0 ? void 0 : product.homePage) === null || _3 === void 0 ? void 0 : _3.map((src) => {
9182
9242
  var _a;
9183
9243
  return (React.createElement(SwiperSlide, { key: src },
9184
9244
  React.createElement("div", { style: {
@@ -9194,7 +9254,7 @@
9194
9254
  objectPosition: `50% ${(swiper === null || swiper === void 0 ? void 0 : swiper.translateY) ? (swiper === null || swiper === void 0 ? void 0 : swiper.translateY) + 50 : 50}%`
9195
9255
  }, src: (_a = src !== null && src !== void 0 ? src : sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _a !== void 0 ? _a : bottom_image }))));
9196
9256
  })))),
9197
- !((_3 = product === null || product === void 0 ? void 0 : product.homePage) === null || _3 === void 0 ? void 0 : _3.length) && (React.createElement("div", { className: css.css({
9257
+ !((_4 = product === null || product === void 0 ? void 0 : product.homePage) === null || _4 === void 0 ? void 0 : _4.length) && (React.createElement("div", { className: css.css({
9198
9258
  height,
9199
9259
  width
9200
9260
  }) },
@@ -9202,7 +9262,7 @@
9202
9262
  objectFit: 'cover',
9203
9263
  width: '100%',
9204
9264
  height: '100%'
9205
- }), src: (_4 = sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _4 !== void 0 ? _4 : bottom_image, alt: 'pdp image' }))),
9265
+ }), src: (_5 = sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _5 !== void 0 ? _5 : bottom_image, alt: 'pdp image' }))),
9206
9266
  (iframeUrl && iframeIcon) ||
9207
9267
  (!product && iframeIcon && (React.createElement("div", { style: {
9208
9268
  padding: '5px 10px',
@@ -9348,7 +9408,7 @@
9348
9408
  * @Author: binruan@chatlabs.com
9349
9409
  * @Date: 2023-10-27 14:06:35
9350
9410
  * @LastEditors: binruan@chatlabs.com
9351
- * @LastEditTime: 2024-08-06 16:15:08
9411
+ * @LastEditTime: 2024-08-20 14:01:21
9352
9412
  * @FilePath: \pb-sxp-ui\src\materials\sxp\popup\Prompt\settingRender.tsx
9353
9413
  *
9354
9414
  */
@@ -9415,6 +9475,11 @@
9415
9475
  }
9416
9476
  ]
9417
9477
  },
9478
+ {
9479
+ label: '内容字体间距',
9480
+ type: 'TextSpace',
9481
+ name: ['props', 'contentStyle']
9482
+ },
9418
9483
  {
9419
9484
  type: 'Group',
9420
9485
  label: '提交按钮字体',
@@ -9448,6 +9513,11 @@
9448
9513
  }
9449
9514
  ]
9450
9515
  },
9516
+ {
9517
+ label: '提交按钮间距',
9518
+ type: 'TextSpace',
9519
+ name: ['props', 'submitButtonStyle']
9520
+ },
9451
9521
  {
9452
9522
  type: 'TextStyle',
9453
9523
  name: ['props', 'submitButtonStyle']
@@ -9558,7 +9628,7 @@
9558
9628
  * @Author: binruan@chatlabs.com
9559
9629
  * @Date: 2024-03-26 16:50:25
9560
9630
  * @LastEditors: binruan@chatlabs.com
9561
- * @LastEditTime: 2024-08-08 18:34:06
9631
+ * @LastEditTime: 2024-08-20 15:50:06
9562
9632
  * @FilePath: \pb-sxp-ui\src\materials\sxp\popup\CommodityDetailDiroNew\settingRender.tsx
9563
9633
  *
9564
9634
  */
@@ -9755,6 +9825,16 @@
9755
9825
  label: '默认行数',
9756
9826
  type: 'Number',
9757
9827
  name: ['lineClamp']
9828
+ },
9829
+ {
9830
+ label: '间距',
9831
+ type: 'TextSpace'
9832
+ },
9833
+ {
9834
+ label: '价格千分符展示',
9835
+ type: 'Switch',
9836
+ name: ['enableFormattedPrice'],
9837
+ initialValue: true
9758
9838
  }
9759
9839
  ]
9760
9840
  }
@@ -9840,6 +9920,11 @@
9840
9920
  {
9841
9921
  type: 'TextAlign',
9842
9922
  name: ['props', 'buttonStyle']
9923
+ },
9924
+ {
9925
+ label: '间距',
9926
+ type: 'TextSpace',
9927
+ name: ['props', 'buttonStyle']
9843
9928
  }
9844
9929
  ]
9845
9930
  },
@@ -9857,7 +9942,7 @@
9857
9942
  ];
9858
9943
 
9859
9944
  const CommodityDetailDiroNew$1 = (_a) => {
9860
- var _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, _4, _5, _6, _7, _8;
9945
+ var _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, _4, _5, _6, _7, _8, _9;
9861
9946
  var { style, isDefault, rec, viewTime, isPost, bottom_image, tipText, swiper, commodityStyles, buttonStyle, index, commodityGroup, popupBg, iframeIcon, commodityImgRatio } = _a, props = __rest(_a, ["style", "isDefault", "rec", "viewTime", "isPost", "bottom_image", "tipText", "swiper", "commodityStyles", "buttonStyle", "index", "commodityGroup", "popupBg", "iframeIcon", "commodityImgRatio"]);
9862
9947
  React.useState(true);
9863
9948
  const { sxpParameter, popupCurTimeRef, popupDetailData, isPreview, bffFbReport, checkCommodityIndexRef } = useSxpDataSource();
@@ -9869,6 +9954,7 @@
9869
9954
  const curTimeRef = React.useRef(null);
9870
9955
  const [show3DModal, setShow3DModal] = React.useState(false);
9871
9956
  const [checkCommodityIndex, setCheckCommodityIndex] = React.useState((_b = popupDetailData === null || popupDetailData === void 0 ? void 0 : popupDetailData.multiCheckIndex) !== null && _b !== void 0 ? _b : 0);
9957
+ const ref = React.useRef();
9872
9958
  const data = isPost ? rec : popupDetailData;
9873
9959
  let product = isPost ? data === null || data === void 0 ? void 0 : data.product : (_d = (_c = data === null || data === void 0 ? void 0 : data.video) === null || _c === void 0 ? void 0 : _c.bindProduct) !== null && _d !== void 0 ? _d : (_f = (_e = data === null || data === void 0 ? void 0 : data.video) === null || _e === void 0 ? void 0 : _e.bindProducts) === null || _f === void 0 ? void 0 : _f[0];
9874
9960
  let cta = isPost
@@ -9908,17 +9994,20 @@
9908
9994
  };
9909
9995
  }, []);
9910
9996
  const priceText = React.useMemo(() => {
9911
- var _a, _b, _c, _d, _e;
9997
+ var _a, _b, _c, _d, _e, _f, _g;
9998
+ const isToLocStr = ((_a = commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.price) === null || _a === void 0 ? void 0 : _a.enableFormattedPrice) === undefined || ((_b = commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.price) === null || _b === void 0 ? void 0 : _b.enableFormattedPrice);
9912
9999
  if ((product === null || product === void 0 ? void 0 : product.currency) && (product === null || product === void 0 ? void 0 : product.price)) {
9913
- return `${(_c = (_b = (_a = product === null || product === void 0 ? void 0 : product.currency) === null || _a === void 0 ? void 0 : _a.split('-')[1]) === null || _b === void 0 ? void 0 : _b.toUpperCase()) !== null && _c !== void 0 ? _c : ''}${(_e = (_d = product === null || product === void 0 ? void 0 : product.price) === null || _d === void 0 ? void 0 : _d.toLocaleString('zh', {
9914
- minimumFractionDigits: 0
9915
- })) !== null && _e !== void 0 ? _e : ''}`;
10000
+ return `${(_e = (_d = (_c = product === null || product === void 0 ? void 0 : product.currency) === null || _c === void 0 ? void 0 : _c.split('-')[1]) === null || _d === void 0 ? void 0 : _d.toUpperCase()) !== null && _e !== void 0 ? _e : ''}${isToLocStr
10001
+ ? (_g = (_f = product === null || product === void 0 ? void 0 : product.price) === null || _f === void 0 ? void 0 : _f.toLocaleString('zh', {
10002
+ minimumFractionDigits: 0
10003
+ })) !== null && _g !== void 0 ? _g : ''
10004
+ : product === null || product === void 0 ? void 0 : product.price}`;
9916
10005
  }
9917
10006
  else {
9918
10007
  return '£102,300.00';
9919
10008
  }
9920
- }, [product === null || product === void 0 ? void 0 : product.price, product === null || product === void 0 ? void 0 : product.currency]);
9921
- const width = (isPreview ? 375 : (_t = style === null || style === void 0 ? void 0 : style.width) !== null && _t !== void 0 ? _t : window.innerWidth) - ((_u = popupBg === null || popupBg === void 0 ? void 0 : popupBg.horizontalMargin) !== null && _u !== void 0 ? _u : 0) * 2;
10009
+ }, [product === null || product === void 0 ? void 0 : product.price, product === null || product === void 0 ? void 0 : product.currency, (_t = commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.price) === null || _t === void 0 ? void 0 : _t.enableFormattedPrice]);
10010
+ const width = (isPreview ? 375 : (_u = style === null || style === void 0 ? void 0 : style.width) !== null && _u !== void 0 ? _u : window.innerWidth) - ((_v = popupBg === null || popupBg === void 0 ? void 0 : popupBg.horizontalMargin) !== null && _v !== void 0 ? _v : 0) * 2;
9922
10011
  const height = commodityImgRatio ? width * (commodityImgRatio.h / commodityImgRatio.w) : width;
9923
10012
  // useEffect(() => {
9924
10013
  // console.log(scrollRef?.current?.scrollHeight, window.innerHeight);
@@ -9986,6 +10075,10 @@ Made in Italy` })));
9986
10075
  popupCurTimeRef.current = new Date();
9987
10076
  setCheckCommodityIndex(index);
9988
10077
  checkCommodityIndexRef.current = index;
10078
+ if (ref === null || ref === void 0 ? void 0 : ref.current) {
10079
+ ref.current.swiper.slideTo(0);
10080
+ ref.current.swiper.autoplay.start();
10081
+ }
9989
10082
  }, []);
9990
10083
  const renderCommodityGroup = React.useCallback(() => {
9991
10084
  var _a, _b, _c;
@@ -10001,17 +10094,17 @@ Made in Italy` })));
10001
10094
  };
10002
10095
  return dotsAlignClass === null || dotsAlignClass === void 0 ? void 0 : dotsAlignClass[swiper === null || swiper === void 0 ? void 0 : swiper.dotsAlign];
10003
10096
  }, [swiper === null || swiper === void 0 ? void 0 : swiper.dotsAlign]);
10004
- const iframeUrl = ((_w = (_v = data === null || data === void 0 ? void 0 : data.video) === null || _v === void 0 ? void 0 : _v.bindProduct) === null || _w === void 0 ? void 0 : _w.remark) || ((_z = (_y = (_x = data === null || data === void 0 ? void 0 : data.video) === null || _x === void 0 ? void 0 : _x.bindProducts) === null || _y === void 0 ? void 0 : _y[0]) === null || _z === void 0 ? void 0 : _z.remark) || ((_0 = data === null || data === void 0 ? void 0 : data.product) === null || _0 === void 0 ? void 0 : _0.remark);
10097
+ const iframeUrl = ((_x = (_w = data === null || data === void 0 ? void 0 : data.video) === null || _w === void 0 ? void 0 : _w.bindProduct) === null || _x === void 0 ? void 0 : _x.remark) || ((_0 = (_z = (_y = data === null || data === void 0 ? void 0 : data.video) === null || _y === void 0 ? void 0 : _y.bindProducts) === null || _z === void 0 ? void 0 : _z[0]) === null || _0 === void 0 ? void 0 : _0.remark) || ((_1 = data === null || data === void 0 ? void 0 : data.product) === null || _1 === void 0 ? void 0 : _1.remark);
10005
10098
  return (React.createElement("div", { className: 'pb-commondityDiroNew' },
10006
10099
  React.createElement("div", Object.assign({ className: css.css(Object.assign(Object.assign({}, style), { transform: 'translate3d(0px, 0px, 0px)' })) }, props),
10007
10100
  React.createElement("div", { style: { position: 'relative' } },
10008
- product && ((_1 = product === null || product === void 0 ? void 0 : product.homePage) === null || _1 === void 0 ? void 0 : _1.length) > 0 && (React.createElement(Swiper, { height: height, modules: [Pagination, Autoplay], pagination: {
10101
+ product && ((_2 = product === null || product === void 0 ? void 0 : product.homePage) === null || _2 === void 0 ? void 0 : _2.length) > 0 && (React.createElement(Swiper, { height: height, modules: [Pagination, Autoplay], pagination: {
10009
10102
  clickable: true,
10010
10103
  bulletActiveClass: 'commondityDiroNew-swipe-item-active-bullet',
10011
10104
  clickableClass: getDotsAlign
10012
10105
  }, loop: true, autoplay: {
10013
10106
  delay: (swiper === null || swiper === void 0 ? void 0 : swiper.delay) * 1000
10014
- } }, (_2 = product === null || product === void 0 ? void 0 : product.homePage) === null || _2 === void 0 ? void 0 : _2.map((src) => {
10107
+ }, ref: ref }, (_3 = product === null || product === void 0 ? void 0 : product.homePage) === null || _3 === void 0 ? void 0 : _3.map((src) => {
10015
10108
  var _a;
10016
10109
  return (React.createElement(SwiperSlide, { key: src },
10017
10110
  React.createElement("div", { style: {
@@ -10027,7 +10120,7 @@ Made in Italy` })));
10027
10120
  objectPosition: `50% ${(swiper === null || swiper === void 0 ? void 0 : swiper.translateY) ? (swiper === null || swiper === void 0 ? void 0 : swiper.translateY) + 50 : 50}%`
10028
10121
  }, src: (_a = src !== null && src !== void 0 ? src : sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _a !== void 0 ? _a : bottom_image }))));
10029
10122
  }))),
10030
- !((_3 = product === null || product === void 0 ? void 0 : product.homePage) === null || _3 === void 0 ? void 0 : _3.length) && (React.createElement("div", { className: css.css({
10123
+ !((_4 = product === null || product === void 0 ? void 0 : product.homePage) === null || _4 === void 0 ? void 0 : _4.length) && (React.createElement("div", { className: css.css({
10031
10124
  height,
10032
10125
  width
10033
10126
  }) },
@@ -10035,7 +10128,7 @@ Made in Italy` })));
10035
10128
  objectFit: 'cover',
10036
10129
  width: '100%',
10037
10130
  height: '100%'
10038
- }), src: (_4 = sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _4 !== void 0 ? _4 : bottom_image, alt: 'pdp image' }))),
10131
+ }), src: (_5 = sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _5 !== void 0 ? _5 : bottom_image, alt: 'pdp image' }))),
10039
10132
  (iframeUrl && iframeIcon) ||
10040
10133
  (!product && iframeIcon && (React.createElement("div", { style: {
10041
10134
  padding: '5px 10px',
@@ -10055,7 +10148,7 @@ Made in Italy` })));
10055
10148
  React.createElement("div", { className: 'pb-commondityDiroNew-content-top' },
10056
10149
  React.createElement("div", { className: 'pb-commondityDiroNew-content-top-left' },
10057
10150
  React.createElement("div", { className: 'pb-commondityDiroNew-content-top-left-title', style: getStyle(commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.title), dangerouslySetInnerHTML: {
10058
- __html: setFontForText((_5 = product === null || product === void 0 ? void 0 : product.title) !== null && _5 !== void 0 ? _5 : 'Large Dior Toujours BagLarge', commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.title)
10151
+ __html: setFontForText((_6 = product === null || product === void 0 ? void 0 : product.title) !== null && _6 !== void 0 ? _6 : 'Large Dior Toujours BagLarge', commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.title)
10059
10152
  } }),
10060
10153
  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: getStyle(commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.collection), dangerouslySetInnerHTML: {
10061
10154
  __html: setFontForText((product === null || product === void 0 ? void 0 : product.collection) || 'Black Macrocannage CalfskinLarge', commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.collection)
@@ -10065,11 +10158,11 @@ Made in Italy` })));
10065
10158
  __html: setFontForText(priceText, commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.price)
10066
10159
  } }),
10067
10160
  React.createElement("div", { className: 'pb-commondityDiroNew-content-top-right-price', hidden: !!product && !(product === null || product === void 0 ? void 0 : product.taxInfo), style: getStyle(commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.taxInfo), dangerouslySetInnerHTML: {
10068
- __html: setFontForText((_6 = product === null || product === void 0 ? void 0 : product.taxInfo) !== null && _6 !== void 0 ? _6 : '税费', commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.taxInfo)
10161
+ __html: setFontForText((_7 = product === null || product === void 0 ? void 0 : product.taxInfo) !== null && _7 !== void 0 ? _7 : '税费', commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.taxInfo)
10069
10162
  } }))),
10070
- (!product || (product === null || product === void 0 ? void 0 : product.link)) && (React.createElement("button", { "aria-label": (_7 = cta === null || cta === void 0 ? void 0 : cta.enTitle) !== null && _7 !== void 0 ? _7 : 'Shop now', onClick: handleLink, className: 'pb-commondityDiroNew-btn', style: buttonStyle },
10163
+ (!product || (product === null || product === void 0 ? void 0 : product.link)) && (React.createElement("button", { "aria-label": (_8 = cta === null || cta === void 0 ? void 0 : cta.enTitle) !== null && _8 !== void 0 ? _8 : 'Shop now', onClick: handleLink, className: 'pb-commondityDiroNew-btn', style: buttonStyle },
10071
10164
  React.createElement("span", { dangerouslySetInnerHTML: {
10072
- __html: setFontForText((_8 = cta === null || cta === void 0 ? void 0 : cta.enTitle) !== null && _8 !== void 0 ? _8 : 'Shop now', buttonStyle)
10165
+ __html: setFontForText((_9 = cta === null || cta === void 0 ? void 0 : cta.enTitle) !== null && _9 !== void 0 ? _9 : 'Shop now', buttonStyle)
10073
10166
  } }))),
10074
10167
  productInfoText({ isPost }))),
10075
10168
  React.createElement(Modal$1, { visible: showModal, onClose: () => setShowModal(false) }, productInfoText({ isPost: false })),
@@ -10187,7 +10280,7 @@ Made in Italy` })));
10187
10280
  * @Author: binruan@chatlabs.com
10188
10281
  * @Date: 2024-03-26 16:50:25
10189
10282
  * @LastEditors: binruan@chatlabs.com
10190
- * @LastEditTime: 2024-07-09 10:37:45
10283
+ * @LastEditTime: 2024-08-06 14:09:52
10191
10284
  * @FilePath: \pb-sxp-ui\src\materials\sxp\popup\CommodityList\settingRender.tsx
10192
10285
  *
10193
10286
  */
@@ -10324,6 +10417,10 @@ Made in Italy` })));
10324
10417
  {
10325
10418
  label: '标题对齐',
10326
10419
  type: 'TextAlign'
10420
+ },
10421
+ {
10422
+ label: '间距',
10423
+ type: 'TextSpace'
10327
10424
  }
10328
10425
  ]
10329
10426
  }
@@ -11149,7 +11246,7 @@ Made in Italy` })));
11149
11246
  * @Author: binruan@chatlabs.com
11150
11247
  * @Date: 2024-07-02 14:51:32
11151
11248
  * @LastEditors: binruan@chatlabs.com
11152
- * @LastEditTime: 2024-07-02 16:44:34
11249
+ * @LastEditTime: 2024-08-06 14:51:18
11153
11250
  * @FilePath: \pb-sxp-ui\src\materials\sxp\template\Link\settingRender.tsx
11154
11251
  *
11155
11252
  */
@@ -11246,6 +11343,11 @@ Made in Italy` })));
11246
11343
  type: 'TextAlign',
11247
11344
  name: ['props', 'customTitle', 'style']
11248
11345
  },
11346
+ {
11347
+ label: '间距',
11348
+ type: 'TextSpace',
11349
+ name: ['props', 'customTitle', 'style']
11350
+ },
11249
11351
  {
11250
11352
  label: '上边距',
11251
11353
  type: 'Number',
@@ -11903,7 +12005,7 @@ Made in Italy` })));
11903
12005
  * @Author: binruan@chatlabs.com
11904
12006
  * @Date: 2024-04-07 14:07:12
11905
12007
  * @LastEditors: binruan@chatlabs.com
11906
- * @LastEditTime: 2024-06-27 09:49:19
12008
+ * @LastEditTime: 2024-08-06 14:00:36
11907
12009
  * @FilePath: \pb-sxp-ui\src\materials\sxp\HashTag\settingRender.tsx
11908
12010
  *
11909
12011
  */
@@ -12008,6 +12110,10 @@ Made in Italy` })));
12008
12110
  {
12009
12111
  label: '标题对齐',
12010
12112
  type: 'TextAlign'
12113
+ },
12114
+ {
12115
+ label: '间距',
12116
+ type: 'TextSpace'
12011
12117
  }
12012
12118
  ]
12013
12119
  }
@@ -12093,6 +12199,11 @@ Made in Italy` })));
12093
12199
  {
12094
12200
  type: 'TextAlign',
12095
12201
  name: ['props', 'buttonStyle']
12202
+ },
12203
+ {
12204
+ label: '间距',
12205
+ type: 'TextSpace',
12206
+ name: ['props', 'buttonStyle']
12096
12207
  }
12097
12208
  ]
12098
12209
  },
@@ -13532,7 +13643,8 @@ Made in Italy` })));
13532
13643
  function WaterfallList$1(_a) {
13533
13644
  var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y;
13534
13645
  var { reportTagsView, showBanner } = _a, props = __rest(_a, ["reportTagsView", "showBanner"]);
13535
- const { waterFallData, getRecommendVideos, hashTagSize, loadingImage, isOpenHashTag } = useSxpDataSource();
13646
+ const { waterFallData, getRecommendVideos, hashTagSize, loadingImage, isOpenHashTag, cacheActiveIndex } = useSxpDataSource();
13647
+ const { jumpToWeb } = useEventReport();
13536
13648
  /** 滚动的父元素 */
13537
13649
  const scrollParent = React.useRef(null);
13538
13650
  /** 向上滚动的距离 */
@@ -13716,10 +13828,12 @@ Made in Italy` })));
13716
13828
  };
13717
13829
  }, [onScroll, scrollParent]);
13718
13830
  const handleClickLink = () => {
13719
- var _a, _b;
13831
+ var _a, _b, _c, _d, _e;
13720
13832
  if ((_a = data === null || data === void 0 ? void 0 : data.tag) === null || _a === void 0 ? void 0 : _a.link) {
13721
13833
  reportTagsView();
13722
- window.location.href = window.getJointUtmLink((_b = data === null || data === void 0 ? void 0 : data.tag) === null || _b === void 0 ? void 0 : _b.link);
13834
+ const rec = waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.rec;
13835
+ jumpToWeb(rec, (_b = rec === null || rec === void 0 ? void 0 : rec.video) === null || _b === void 0 ? void 0 : _b.bindProduct, (_c = rec === null || rec === void 0 ? void 0 : rec.video) === null || _c === void 0 ? void 0 : _c.bindCta, cacheActiveIndex, (_d = rec === null || rec === void 0 ? void 0 : rec.video) === null || _d === void 0 ? void 0 : _d.traceInfo);
13836
+ window.location.href = window.getJointUtmLink((_e = data === null || data === void 0 ? void 0 : data.tag) === null || _e === void 0 ? void 0 : _e.link);
13723
13837
  }
13724
13838
  };
13725
13839
  return (React.createElement(React.Fragment, null, isLoadingData ? (React.createElement("div", { style: { height: '100%', width: '100%', display: 'flex', justifyContent: 'center', alignItems: 'center' } },
@@ -13762,7 +13876,7 @@ Made in Italy` })));
13762
13876
 
13763
13877
  const WaterfallFlowItem = (props) => {
13764
13878
  const { rec, index, list, reportTagsView, textStyles, space } = props;
13765
- const { swiperRef, setRtcList, setOpenHashtag, bffEventReport, sxpParameter } = useSxpDataSource();
13879
+ const { swiperRef, setRtcList, setOpenHashtag, sxpParameter } = useSxpDataSource();
13766
13880
  const [showVideo, setShowVideo] = React.useState(false);
13767
13881
  const imgDom = React.useRef(null);
13768
13882
  const ref = React.useRef(null);
@@ -13890,7 +14004,8 @@ Made in Italy` })));
13890
14004
  function WaterfallList(_a) {
13891
14005
  var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
13892
14006
  var { reportTagsView, showBanner } = _a, props = __rest(_a, ["reportTagsView", "showBanner"]);
13893
- const { waterFallData, getRecommendVideos, hashTagSize, loadingImage, isOpenHashTag } = useSxpDataSource();
14007
+ const { waterFallData, getRecommendVideos, hashTagSize, loadingImage, isOpenHashTag, cacheActiveIndex } = useSxpDataSource();
14008
+ const { jumpToWeb } = useEventReport();
13894
14009
  const [list, setList] = React.useState();
13895
14010
  const [data, setData] = React.useState();
13896
14011
  const [isLoadingData, setIsLoadingData] = React.useState(false);
@@ -13942,10 +14057,12 @@ Made in Italy` })));
13942
14057
  // };
13943
14058
  // }, [isLoadingData, containerRef, loadMoreData]);
13944
14059
  const handleClickLink = () => {
13945
- var _a, _b;
14060
+ var _a, _b, _c, _d, _e;
13946
14061
  if ((_a = data === null || data === void 0 ? void 0 : data.tag) === null || _a === void 0 ? void 0 : _a.link) {
13947
14062
  reportTagsView();
13948
- window.location.href = window.getJointUtmLink((_b = data === null || data === void 0 ? void 0 : data.tag) === null || _b === void 0 ? void 0 : _b.link);
14063
+ const rec = waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.rec;
14064
+ jumpToWeb(rec, (_b = rec === null || rec === void 0 ? void 0 : rec.video) === null || _b === void 0 ? void 0 : _b.bindProduct, (_c = rec === null || rec === void 0 ? void 0 : rec.video) === null || _c === void 0 ? void 0 : _c.bindCta, cacheActiveIndex, (_d = rec === null || rec === void 0 ? void 0 : rec.video) === null || _d === void 0 ? void 0 : _d.traceInfo);
14065
+ window.location.href = window.getJointUtmLink((_e = data === null || data === void 0 ? void 0 : data.tag) === null || _e === void 0 ? void 0 : _e.link);
13949
14066
  }
13950
14067
  };
13951
14068
  return (React.createElement(React.Fragment, null, isLoadingData ? (React.createElement("div", { style: { height: '100%', width: '100%', display: 'flex', justifyContent: 'center', alignItems: 'center' } },
@@ -14248,7 +14365,7 @@ Made in Italy` })));
14248
14365
  * @Author: binruan@chatlabs.com
14249
14366
  * @Date: 2024-07-02 14:51:32
14250
14367
  * @LastEditors: binruan@chatlabs.com
14251
- * @LastEditTime: 2024-07-05 19:09:41
14368
+ * @LastEditTime: 2024-08-06 14:28:34
14252
14369
  * @FilePath: \pb-sxp-ui\src\materials\sxp\cta\AniLink\settingRender.tsx
14253
14370
  *
14254
14371
  */
@@ -14351,6 +14468,10 @@ Made in Italy` })));
14351
14468
  label: '对齐',
14352
14469
  type: 'TextAlign',
14353
14470
  name: ['props', 'ctaTempStyles', 'ctaTitle']
14471
+ },
14472
+ {
14473
+ type: 'TextSpace',
14474
+ name: ['props', 'ctaTempStyles', 'ctaTitle']
14354
14475
  }
14355
14476
  ]
14356
14477
  }
@@ -15856,7 +15977,7 @@ Made in Italy` })));
15856
15977
  * @Author: binruan@chatlabs.com
15857
15978
  * @Date: 2024-01-15 19:03:09
15858
15979
  * @LastEditors: binruan@chatlabs.com
15859
- * @LastEditTime: 2024-08-14 19:09:32
15980
+ * @LastEditTime: 2024-08-16 11:47:58
15860
15981
  * @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\index.tsx
15861
15982
  *
15862
15983
  */
@@ -15874,8 +15995,7 @@ Made in Italy` })));
15874
15995
  const [isReload, setIsReload] = React.useState(new Date().getTime());
15875
15996
  const skipLinkRef = React.useRef(false);
15876
15997
  const { loadVideos, bffEventReport, loading, setPopupDetailData, ctaEvent, swiperRef, waterFallData, setOpenHashtag, appDomain, openHashtag, loadingImage, isFromHashtag, popupDetailData, bffFbReport, curTime, h5EnterLink, isShowConsent, selectTag, isPreview } = useSxpDataSource();
15877
- const { backMainFeed } = useEventReport();
15878
- const { productView } = useEventReport();
15998
+ const { backMainFeed, productView, jumpToWeb } = useEventReport();
15879
15999
  const isShowFingerTip = React.useMemo(() => {
15880
16000
  return data.length > 0 && !loading && (getFeUserId() || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enableSwiperTip));
15881
16001
  }, [data, loading, globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enableSwiperTip]);
@@ -16018,15 +16138,39 @@ Made in Italy` })));
16018
16138
  const height = React.useMemo(() => {
16019
16139
  return containerHeight - minusHeight - tagHeight;
16020
16140
  }, [globalConfig, containerHeight, tagHeight]);
16141
+ const visList = React.useMemo(() => {
16142
+ var _a;
16143
+ const list = activeIndex === 0 && !waterFallData
16144
+ ? [(_a = data === null || data === void 0 ? void 0 : data[0]) !== null && _a !== void 0 ? _a : null]
16145
+ : data === null || data === void 0 ? void 0 : data.map((item, index) => {
16146
+ if (activeIndex === index || index - 1 === activeIndex || index + 1 === activeIndex) {
16147
+ return item;
16148
+ }
16149
+ else {
16150
+ return null;
16151
+ }
16152
+ });
16153
+ return !waterFallData ? list.concat([{ loading: true }]) : list;
16154
+ }, [data, activeIndex, waterFallData]);
16021
16155
  const renderLogo = React.useMemo(() => {
16022
- var _a, _b;
16156
+ var _a, _b, _c, _d;
16023
16157
  if ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.logoUrl) && (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowLogo)) {
16024
16158
  const link = (_b = (_a = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.logoBar) === null || _a === void 0 ? void 0 : _a.onClick) === null || _b === void 0 ? void 0 : _b.value;
16025
- return (React.createElement("div", Object.assign({ className: 'clc-sxp-logo-banner', style: { backgroundColor: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.color } }, (link && { onClick: () => new Function(link)() })),
16159
+ const isExternalLink = ((_d = (_c = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.logoBar) === null || _c === void 0 ? void 0 : _c.onClick) === null || _d === void 0 ? void 0 : _d.linkType) === 'externalLink';
16160
+ const rec = visList[activeIndex];
16161
+ return (React.createElement("div", Object.assign({ className: 'clc-sxp-logo-banner', style: { backgroundColor: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.color } }, (link && {
16162
+ onClick: () => {
16163
+ var _a, _b, _c, _d;
16164
+ if (isExternalLink) {
16165
+ jumpToWeb(rec, (_a = rec === null || rec === void 0 ? void 0 : rec.video) === null || _a === void 0 ? void 0 : _a.bindProduct, (_b = rec === null || rec === void 0 ? void 0 : rec.video) === null || _b === void 0 ? void 0 : _b.bindCta, activeIndex, ((_c = rec === null || rec === void 0 ? void 0 : rec.product) === null || _c === void 0 ? void 0 : _c.traceInfo) || ((_d = rec === null || rec === void 0 ? void 0 : rec.video) === null || _d === void 0 ? void 0 : _d.traceInfo));
16166
+ }
16167
+ new Function(link)();
16168
+ }
16169
+ })),
16026
16170
  React.createElement("img", { src: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.logoUrl, alt: 'logo' })));
16027
16171
  }
16028
16172
  return null;
16029
- }, [globalConfig]);
16173
+ }, [globalConfig, activeIndex, visList]);
16030
16174
  const renderContent = React.useCallback((rec, index) => {
16031
16175
  var _a, _b, _c, _d;
16032
16176
  if ((_a = rec === null || rec === void 0 ? void 0 : rec.video) === null || _a === void 0 ? void 0 : _a.url) {
@@ -16163,7 +16307,6 @@ Made in Italy` })));
16163
16307
  traceInfo: (_u = (_s = (_r = item === null || item === void 0 ? void 0 : item.video) === null || _r === void 0 ? void 0 : _r.traceInfo) !== null && _s !== void 0 ? _s : (_t = item === null || item === void 0 ? void 0 : item.product) === null || _t === void 0 ? void 0 : _t.traceInfo) !== null && _u !== void 0 ? _u : ''
16164
16308
  }
16165
16309
  });
16166
- setSlideSkipState();
16167
16310
  skipLinkRef.current = true;
16168
16311
  window.location.href = window.getJointUtmLink(link);
16169
16312
  }
@@ -16249,20 +16392,6 @@ Made in Italy` })));
16249
16392
  });
16250
16393
  }
16251
16394
  };
16252
- const visList = React.useMemo(() => {
16253
- var _a;
16254
- const list = activeIndex === 0 && !waterFallData
16255
- ? [(_a = data === null || data === void 0 ? void 0 : data[0]) !== null && _a !== void 0 ? _a : null]
16256
- : data === null || data === void 0 ? void 0 : data.map((item, index) => {
16257
- if (activeIndex === index || index - 1 === activeIndex || index + 1 === activeIndex) {
16258
- return item;
16259
- }
16260
- else {
16261
- return null;
16262
- }
16263
- });
16264
- return !waterFallData ? list.concat([{ loading: true }]) : list;
16265
- }, [data, activeIndex, waterFallData]);
16266
16395
  const renderToggleButton = React.useCallback((visible) => {
16267
16396
  var _a, _b, _c, _d, _e, _f;
16268
16397
  if (!visible)