pb-sxp-ui 1.19.0-alpha.1 → 1.19.0-alpha.2

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 (68) hide show
  1. package/dist/index.cjs +220 -195
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.css +7 -15
  4. package/dist/index.js +220 -195
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.min.cjs +6 -6
  7. package/dist/index.min.cjs.map +1 -1
  8. package/dist/index.min.js +6 -6
  9. package/dist/index.min.js.map +1 -1
  10. package/dist/pb-ui.js +220 -195
  11. package/dist/pb-ui.js.map +1 -1
  12. package/dist/pb-ui.min.js +6 -6
  13. package/dist/pb-ui.min.js.map +1 -1
  14. package/es/core/components/DiyPortalPreview/index.js +3 -5
  15. package/es/core/components/DiyStoryPreview/index.js +18 -7
  16. package/es/core/components/SxpPageRender/RenderCard.d.ts +1 -0
  17. package/es/core/components/SxpPageRender/RenderCard.js +2 -14
  18. package/es/core/components/SxpPageRender/index.js +35 -4
  19. package/es/core/context/SxpDataSourceProvider.d.ts +2 -0
  20. package/es/core/context/SxpDataSourceProvider.js +20 -37
  21. package/es/materials/sxp/consentPopup/Display/index.js +1 -1
  22. package/es/materials/sxp/cta/AniLinkPopup/material.js +3 -2
  23. package/es/materials/sxp/popup/CommodityDetail/material.js +2 -1
  24. package/es/materials/sxp/popup/CommodityList/index.js +5 -4
  25. package/es/materials/sxp/popup/CommodityList/material.js +1 -1
  26. package/es/materials/sxp/popup/CommodityList/settingRender.js +1 -1
  27. package/es/materials/sxp/template/Appoint/material.js +2 -1
  28. package/es/materials/sxp/template/Commodity/material.js +3 -2
  29. package/es/materials/sxp/template/CommodityDiro/material.js +3 -2
  30. package/es/materials/sxp/template/CommodityDiroNew/material.js +4 -2
  31. package/es/materials/sxp/template/Link/material.js +4 -2
  32. package/es/materials/sxp/template/MultiCommodity/index.js +2 -2
  33. package/es/materials/sxp/template/MultiCommodity/material.js +2 -1
  34. package/es/materials/sxp/template/MultiCommodityDiro/index.js +2 -2
  35. package/es/materials/sxp/template/MultiCommodityDiro/material.js +3 -2
  36. package/es/materials/sxp/template/MultiCommodityDiroNew/index.js +2 -2
  37. package/es/materials/sxp/template/MultiCommodityDiroNew/material.js +4 -2
  38. package/es/materials/sxp/template/NineCommodity/material.js +3 -2
  39. package/es/materials/sxp/template/components/CommodityGroup.js +1 -1
  40. package/es/materials/sxp/template/components/settingRender.js +1 -1
  41. package/lib/core/components/DiyPortalPreview/index.js +3 -5
  42. package/lib/core/components/DiyStoryPreview/index.js +18 -7
  43. package/lib/core/components/SxpPageRender/RenderCard.d.ts +1 -0
  44. package/lib/core/components/SxpPageRender/RenderCard.js +2 -14
  45. package/lib/core/components/SxpPageRender/index.js +35 -4
  46. package/lib/core/context/SxpDataSourceProvider.d.ts +2 -0
  47. package/lib/core/context/SxpDataSourceProvider.js +19 -36
  48. package/lib/materials/sxp/consentPopup/Display/index.js +1 -1
  49. package/lib/materials/sxp/cta/AniLinkPopup/material.js +2 -1
  50. package/lib/materials/sxp/popup/CommodityDetail/material.js +2 -1
  51. package/lib/materials/sxp/popup/CommodityList/index.js +5 -4
  52. package/lib/materials/sxp/popup/CommodityList/material.js +1 -1
  53. package/lib/materials/sxp/popup/CommodityList/settingRender.js +1 -1
  54. package/lib/materials/sxp/template/Appoint/material.js +2 -1
  55. package/lib/materials/sxp/template/Commodity/material.js +3 -2
  56. package/lib/materials/sxp/template/CommodityDiro/material.js +3 -2
  57. package/lib/materials/sxp/template/CommodityDiroNew/material.js +4 -2
  58. package/lib/materials/sxp/template/Link/material.js +4 -2
  59. package/lib/materials/sxp/template/MultiCommodity/index.js +2 -2
  60. package/lib/materials/sxp/template/MultiCommodity/material.js +2 -1
  61. package/lib/materials/sxp/template/MultiCommodityDiro/index.js +2 -2
  62. package/lib/materials/sxp/template/MultiCommodityDiro/material.js +3 -2
  63. package/lib/materials/sxp/template/MultiCommodityDiroNew/index.js +2 -2
  64. package/lib/materials/sxp/template/MultiCommodityDiroNew/material.js +4 -2
  65. package/lib/materials/sxp/template/NineCommodity/material.js +3 -2
  66. package/lib/materials/sxp/template/components/CommodityGroup.js +1 -1
  67. package/lib/materials/sxp/template/components/settingRender.js +1 -1
  68. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -689,7 +689,6 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
689
689
  const [chatlabsId, setChatlabsId] = useState();
690
690
  const finalPageData = useMemo(() => pageData !== null && pageData !== void 0 ? pageData : data, [pageData, data]);
691
691
  const pixelPvStatusRef = useRef(false);
692
- const fbcRef = useRef('');
693
692
  const isShowConsent = useMemo(() => {
694
693
  var _a, _b, _c, _d;
695
694
  return (((((_d = (_c = (_b = (_a = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.consent) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.item) === null || _c === void 0 ? void 0 : _c.props) === null || _d === void 0 ? void 0 : _d.privacy_necessity) && !isAgreePolicy && !isEditor) || isOpenConsent) &&
@@ -750,23 +749,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
750
749
  var _a;
751
750
  return ((_a = bffDataSource === null || bffDataSource === void 0 ? void 0 : bffDataSource.headers) === null || _a === void 0 ? void 0 : _a['x-app-id']) + storeAndLoadFeUserId();
752
751
  }, [bffDataSource]);
753
- useEffect(() => {
754
- if (!(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enableCookieSetting))
755
- return;
756
- fbcRef.current = getCookie('_fbc');
757
- window.OptanonWrapper = function () {
758
- const activeGroups = window === null || window === void 0 ? void 0 : window.OnetrustActiveGroups;
759
- if (!activeGroups)
760
- return;
761
- if (!(activeGroups === null || activeGroups === void 0 ? void 0 : activeGroups.includes('4'))) {
762
- deleteCookie('_fbc');
763
- }
764
- else if (fbcRef.current) {
765
- setCookie('_fbc', fbcRef.current, 90);
766
- }
767
- };
768
- }, [globalConfig]);
769
- const isActiveTargetingCookie = useMemo(() => {
752
+ const getTargetingCookie = () => {
770
753
  var _a;
771
754
  function getCookie(name) {
772
755
  var _a;
@@ -777,11 +760,12 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
777
760
  return '';
778
761
  }
779
762
  decodeURIComponent((_a = getCookie('OptanonConsent')) !== null && _a !== void 0 ? _a : '');
780
- if (((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enableCookieSetting) && (window === null || window === void 0 ? void 0 : window.OnetrustActiveGroups) && !(window === null || window === void 0 ? void 0 : window.OnetrustActiveGroups.includes('4')))) {
763
+ console.log('OptanonConsent:', window === null || window === void 0 ? void 0 : window.OnetrustActiveGroups);
764
+ if (((window === null || window === void 0 ? void 0 : window.OnetrustActiveGroups) && !(window === null || window === void 0 ? void 0 : window.OnetrustActiveGroups.includes('4')))) {
781
765
  return true;
782
766
  }
783
767
  return false;
784
- }, [globalConfig]);
768
+ };
785
769
  // bff API 请求方法
786
770
  const bffFetch = useCallback((path, options, isBota = true) => {
787
771
  var _a;
@@ -808,7 +792,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
808
792
  }, [bffDataSource, fakeUserId]);
809
793
  const bffCollectEvent = useCallback((params) => {
810
794
  var _a;
811
- if (isActiveTargetingCookie)
795
+ if (getTargetingCookie())
812
796
  return Promise.resolve();
813
797
  const body = {
814
798
  eventName: params === null || params === void 0 ? void 0 : params.eventName,
@@ -820,7 +804,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
820
804
  body,
821
805
  type: 'beacon'
822
806
  }, false);
823
- }, [bffFetch, bffDataSource, isActiveTargetingCookie]);
807
+ }, [bffFetch, bffDataSource]);
824
808
  useEffect(() => {
825
809
  // if (typeof (window as any)?.fbq === 'function') {
826
810
  const OriginalImage = window.Image;
@@ -830,7 +814,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
830
814
  const originalSrcDescriptor = Object.getOwnPropertyDescriptor(HTMLImageElement.prototype, 'src');
831
815
  Object.defineProperty(img, 'src', {
832
816
  set(value) {
833
- if (isActiveTargetingCookie && (value.includes('https://www.facebook.com/privacy_sandbox/pixel/register/trigger/') || value.includes('https://www.facebook.com/tr'))) {
817
+ if (getTargetingCookie() && (value.includes('https://www.facebook.com/privacy_sandbox/pixel/register/trigger/') || value.includes('https://www.facebook.com/tr'))) {
834
818
  return;
835
819
  }
836
820
  // 继续正常设置 src
@@ -855,7 +839,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
855
839
  return img;
856
840
  };
857
841
  // }
858
- }, [bffCollectEvent, isActiveTargetingCookie]);
842
+ }, [bffCollectEvent]);
859
843
  useEffect(() => {
860
844
  // 类型安全声明
861
845
  const navigatorWithBeacon = navigator;
@@ -868,7 +852,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
868
852
  // 覆盖方法
869
853
  navigatorWithBeacon.sendBeacon = function (url, data) {
870
854
  const urlString = url instanceof URL ? url.href : url.toString();
871
- if (isActiveTargetingCookie && (urlString.includes('https://tr.snapchat.com/p') || urlString.includes('https://analytics.tiktok.com/api/v2/pixel'))) {
855
+ if (getTargetingCookie() && (urlString.includes('https://tr.snapchat.com/p') || urlString.includes('https://analytics.tiktok.com/api/v2/pixel'))) {
872
856
  return true;
873
857
  }
874
858
  const success = originalSendBeacon(url, data);
@@ -920,7 +904,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
920
904
  return () => {
921
905
  navigatorWithBeacon.sendBeacon = originalSendBeacon;
922
906
  };
923
- }, [bffCollectEvent, isActiveTargetingCookie]);
907
+ }, [bffCollectEvent]);
924
908
  useEffect(() => {
925
909
  const _originalFetch = window.fetch;
926
910
  // 覆盖 fetch 方法
@@ -942,7 +926,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
942
926
  return _originalFetch.apply(this, arguments_1);
943
927
  }
944
928
  try {
945
- if (isActiveTargetingCookie && (url.includes('https://www.google-analytics.com/g/collect') || url.includes('https://arms-retcode.aliyuncs.com/r.png'))) {
929
+ if (getTargetingCookie() && (url.includes('https://www.google-analytics.com/g/collect') || url.includes('https://arms-retcode.aliyuncs.com/r.png'))) {
946
930
  return Promise.resolve(new Response(''));
947
931
  }
948
932
  // 1. 先执行原始请求
@@ -988,7 +972,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
988
972
  }
989
973
  });
990
974
  };
991
- }, [bffCollectEvent, isActiveTargetingCookie]);
975
+ }, [bffCollectEvent]);
992
976
  useEffect(() => {
993
977
  const originalOpen = XMLHttpRequest.prototype.open;
994
978
  const originalSend = XMLHttpRequest.prototype.send;
@@ -998,7 +982,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
998
982
  };
999
983
  XMLHttpRequest.prototype.send = function (body) {
1000
984
  var _a;
1001
- if (isActiveTargetingCookie && this._url && typeof this._url === 'string' && (this._url.includes('https://rumcollector.uptime.com') || this._url.includes('https://arms-retcode.aliyuncs.com/r.png') || this._url.includes('https://i.giesswein.com/nb-collector'))) {
985
+ if (getTargetingCookie() && this._url && typeof this._url === 'string' && (this._url.includes('https://rumcollector.uptime.com') || this._url.includes('https://arms-retcode.aliyuncs.com/r.png') || this._url.includes('https://i.giesswein.com/nb-collector'))) {
1002
986
  return;
1003
987
  }
1004
988
  if (this._url && typeof this._url === 'string' && this._url.includes('https://i.giesswein.com/nb-collector')) {
@@ -1026,7 +1010,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
1026
1010
  XMLHttpRequest.prototype.open = originalOpen;
1027
1011
  XMLHttpRequest.prototype.send = originalSend;
1028
1012
  };
1029
- }, [bffCollectEvent, isActiveTargetingCookie]);
1013
+ }, [bffCollectEvent]);
1030
1014
  useEffect(() => {
1031
1015
  if (typeof (window === null || window === void 0 ? void 0 : window.fbq) === 'function') {
1032
1016
  window === null || window === void 0 ? void 0 : window.fbq('track', 'PageView');
@@ -1153,10 +1137,10 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
1153
1137
  }
1154
1138
  return expire;
1155
1139
  }, [data]);
1156
- const bffEventReport = useCallback(({ userInfo, eventInfo, reportLayId = true }) => {
1140
+ const bffEventReport = useCallback(({ userInfo, eventInfo, reportLayId = true, isActiveTargetingCookie = true }) => {
1157
1141
  var _a, _b;
1158
1142
  // 关闭 BFF 事件上报
1159
- if (!enableReportEvent || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview) || isActiveTargetingCookie) {
1143
+ if (!enableReportEvent || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview) || (isActiveTargetingCookie && getTargetingCookie())) {
1160
1144
  return;
1161
1145
  }
1162
1146
  // 用户信息都是公共的
@@ -1197,8 +1181,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
1197
1181
  layoutVariantId,
1198
1182
  globalConfig,
1199
1183
  playbookType,
1200
- bffDataSource,
1201
- isActiveTargetingCookie
1184
+ bffDataSource
1202
1185
  ]);
1203
1186
  const getEventParamsByJson = useCallback((json, product) => {
1204
1187
  var _a, _b, _c;
@@ -1263,7 +1246,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
1263
1246
  }, [fakeUserId]);
1264
1247
  const bffFbReport = useCallback(({ eventName, product }) => {
1265
1248
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
1266
- if (!enableReportEvent || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview) || isActiveTargetingCookie) {
1249
+ if (!enableReportEvent || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview) || getTargetingCookie()) {
1267
1250
  return;
1268
1251
  }
1269
1252
  let isPushState = false;
@@ -1329,7 +1312,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
1329
1312
  type: 'beacon'
1330
1313
  });
1331
1314
  }
1332
- }, [bffFetch, enableReportEvent, enabledMetaConversionApi, globalConfig, bffDataSource, getEventParamsByJson, isActiveTargetingCookie]);
1315
+ }, [bffFetch, enableReportEvent, enabledMetaConversionApi, globalConfig, bffDataSource, getEventParamsByJson]);
1333
1316
  const bffMutateLike = useCallback((body) => __awaiter(void 0, void 0, void 0, function* () {
1334
1317
  const res = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('v1/recommend/like', { method: 'POST', body }));
1335
1318
  return res === null || res === void 0 ? void 0 : res.success;
@@ -2701,35 +2684,6 @@ var settingRender$e = [
2701
2684
  }
2702
2685
  ];
2703
2686
 
2704
- /*
2705
- * @Author: binruan@chatlabs.com
2706
- * @Date: 2024-07-09 14:35:10
2707
- * @LastEditors: binruan@chatlabs.com
2708
- * @LastEditTime: 2024-07-12 17:53:02
2709
- * @FilePath: \pb-sxp-ui\src\materials\sxp\popup\CommodityDetail\interactionRender.tsx
2710
- *
2711
- */
2712
- /*
2713
- * @Author: binruan@chatlabs.com
2714
- * @Date: 2024-07-05 14:08:41
2715
- * @LastEditors: binruan@chatlabs.com
2716
- * @LastEditTime: 2024-07-09 14:34:49
2717
- * @FilePath: \pb-sxp-ui\src\materials\sxp\cta\AniLink\interactionRender.tsx
2718
- *
2719
- */
2720
- var interactionRender$g = [
2721
- {
2722
- title: '滑动事件',
2723
- child: [
2724
- {
2725
- type: 'Switch',
2726
- label: '滑动铺满全屏',
2727
- name: ['isScrollFullScreen']
2728
- }
2729
- ]
2730
- }
2731
- ];
2732
-
2733
2687
  /**
2734
2688
  * SSR Window 4.0.2
2735
2689
  * Better handling for window object in SSR environment
@@ -10308,7 +10262,7 @@ const CommodityGroup = ({ products, data, defImg, style, onCLick, popupDetailDat
10308
10262
  return (React.createElement(React.Fragment, null, (item === null || item === void 0 ? void 0 : item.bindCta) ? (React.createElement(SwiperSlide, { className: css({
10309
10263
  width: '50px',
10310
10264
  height: '50px',
10311
- marginInlineEnd: '10px'
10265
+ marginRight: '10px'
10312
10266
  }), onClick: () => {
10313
10267
  handleClick(item, index);
10314
10268
  }, key: index },
@@ -10907,6 +10861,35 @@ const CommodityDetail$1 = (_a) => {
10907
10861
  };
10908
10862
  var CommodityDetailComponent = memo(CommodityDetail$1);
10909
10863
 
10864
+ /*
10865
+ * @Author: binruan@chatlabs.com
10866
+ * @Date: 2024-07-09 14:35:10
10867
+ * @LastEditors: binruan@chatlabs.com
10868
+ * @LastEditTime: 2024-07-12 17:53:02
10869
+ * @FilePath: \pb-sxp-ui\src\materials\sxp\popup\CommodityDetail\interactionRender.tsx
10870
+ *
10871
+ */
10872
+ /*
10873
+ * @Author: binruan@chatlabs.com
10874
+ * @Date: 2024-07-05 14:08:41
10875
+ * @LastEditors: binruan@chatlabs.com
10876
+ * @LastEditTime: 2024-07-09 14:34:49
10877
+ * @FilePath: \pb-sxp-ui\src\materials\sxp\cta\AniLink\interactionRender.tsx
10878
+ *
10879
+ */
10880
+ var interactionRender$g = [
10881
+ {
10882
+ title: '滑动事件',
10883
+ child: [
10884
+ {
10885
+ type: 'Switch',
10886
+ label: '滑动铺满全屏',
10887
+ name: ['isScrollFullScreen']
10888
+ }
10889
+ ]
10890
+ }
10891
+ ];
10892
+
10910
10893
  /*
10911
10894
  * @Author: binruan@chatlabs.com
10912
10895
  * @Date: 2023-07-28 18:29:57
@@ -10953,6 +10936,7 @@ const CommodityDetail = createMaterial(CommodityDetailComponent, {
10953
10936
  taxInfo: {
10954
10937
  color: '#000',
10955
10938
  fontSize: 13,
10939
+ textAlign: 'left',
10956
10940
  marginBottom: '10px'
10957
10941
  }
10958
10942
  },
@@ -12044,7 +12028,7 @@ var settingRender$b = [
12044
12028
  type: 'Number',
12045
12029
  label: '与右侧边距',
12046
12030
  addonAfter: 'px',
12047
- name: ['props', 'commodityPicture', 'marginInlineEnd']
12031
+ name: ['props', 'commodityPicture', 'marginRight']
12048
12032
  },
12049
12033
  {
12050
12034
  label: '居中垂直偏移',
@@ -12330,11 +12314,12 @@ const CommodityList$1 = (_a) => {
12330
12314
  React.createElement("button", Object.assign({ role: 'button', "aria-label": item === null || item === void 0 ? void 0 : item.title, tabIndex: 0, className: css({
12331
12315
  display: 'flex',
12332
12316
  alignItems: 'normal',
12333
- width: '100%'
12317
+ width: '100%',
12318
+ textAlign: 'left'
12334
12319
  }) }, props),
12335
12320
  React.createElement(Img$1, { src: (_d = (_c = (_a = item === null || item === void 0 ? void 0 : item.cover) !== null && _a !== void 0 ? _a : (_b = item === null || item === void 0 ? void 0 : item.homePage) === null || _b === void 0 ? void 0 : _b[0]) !== null && _c !== void 0 ? _c : sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _d !== void 0 ? _d : bottom_image, rec: recData, item: item, index: index, translateY: translateY, imgStyle: commodityPicture, enableEventReport: false }),
12336
12321
  React.createElement("div", { style: {
12337
- width: `calc(100% - ${(_e = commodityPicture === null || commodityPicture === void 0 ? void 0 : commodityPicture.width) !== null && _e !== void 0 ? _e : 0}px - ${(_f = commodityPicture === null || commodityPicture === void 0 ? void 0 : commodityPicture.marginInlineEnd) !== null && _f !== void 0 ? _f : 0}px)`,
12322
+ width: `calc(100% - ${(_e = commodityPicture === null || commodityPicture === void 0 ? void 0 : commodityPicture.width) !== null && _e !== void 0 ? _e : 0}px - ${(_f = commodityPicture === null || commodityPicture === void 0 ? void 0 : commodityPicture.marginRight) !== null && _f !== void 0 ? _f : 0}px)`,
12338
12323
  display: 'flex',
12339
12324
  flexDirection: 'column',
12340
12325
  justifyContent: 'space-between'
@@ -12415,7 +12400,7 @@ const CommodityList = createMaterial(CommodityListComponent, {
12415
12400
  commodityPicture: {
12416
12401
  width: 100,
12417
12402
  height: 100,
12418
- marginInlineEnd: 10
12403
+ marginRight: 10
12419
12404
  },
12420
12405
  commodityStyles: {
12421
12406
  price: {
@@ -12661,7 +12646,7 @@ var settingRender$8 = [
12661
12646
  type: 'Number',
12662
12647
  label: '与右侧边距',
12663
12648
  addonAfter: 'px',
12664
- name: ['props', 'ctaTempStyles', 'img', 'marginInlineEnd']
12649
+ name: ['props', 'ctaTempStyles', 'img', 'marginRight']
12665
12650
  },
12666
12651
  {
12667
12652
  label: '居中垂直偏移',
@@ -12922,11 +12907,12 @@ const Commodity = createMaterial(CommodityComponent, {
12922
12907
  borderRadius: 3,
12923
12908
  width: 60,
12924
12909
  height: 60,
12925
- marginInlineEnd: 8
12910
+ marginRight: 8
12926
12911
  },
12927
12912
  title: {
12928
12913
  fontSize: 12,
12929
- color: '#fff'
12914
+ color: '#fff',
12915
+ textAlign: 'left'
12930
12916
  },
12931
12917
  ctaTitle: {
12932
12918
  fontSize: 10,
@@ -13004,11 +12990,12 @@ const Appoint = createMaterial(AppointComponent, {
13004
12990
  borderRadius: 3,
13005
12991
  width: 30,
13006
12992
  height: 30,
13007
- marginInlineEnd: 8
12993
+ marginRight: 8
13008
12994
  },
13009
12995
  ctaTitle: {
13010
12996
  fontSize: 12,
13011
12997
  color: '#fff',
12998
+ textAlign: 'left',
13012
12999
  width: 130,
13013
13000
  height: 20
13014
13001
  }
@@ -13144,27 +13131,6 @@ var linkSettingRender = [
13144
13131
  }
13145
13132
  ];
13146
13133
 
13147
- /*
13148
- * @Author: binruan@chatlabs.com
13149
- * @Date: 2024-08-09 16:59:38
13150
- * @LastEditors: binruan@chatlabs.com
13151
- * @LastEditTime: 2024-09-09 13:59:50
13152
- * @FilePath: \pb-sxp-ui\src\materials\sxp\template\Link\interactionRender.tsx
13153
- *
13154
- */
13155
- var interactionRender$a = [
13156
- {
13157
- title: '点击事件',
13158
- child: [
13159
- {
13160
- type: 'link',
13161
- name: 'onClick',
13162
- hiddenUrl: true
13163
- }
13164
- ]
13165
- }
13166
- ];
13167
-
13168
13134
  var styles$8 = {"tow-line-ellipsis":"index-module_tow-line-ellipsis__nkBlU","one-line-ellipsis":"index-module_one-line-ellipsis__buFw1"};
13169
13135
 
13170
13136
  const Link$1 = (_a) => {
@@ -13192,6 +13158,27 @@ const Link$1 = (_a) => {
13192
13158
  };
13193
13159
  var LinkComponent = memo(Link$1);
13194
13160
 
13161
+ /*
13162
+ * @Author: binruan@chatlabs.com
13163
+ * @Date: 2024-08-09 16:59:38
13164
+ * @LastEditors: binruan@chatlabs.com
13165
+ * @LastEditTime: 2024-09-09 13:59:50
13166
+ * @FilePath: \pb-sxp-ui\src\materials\sxp\template\Link\interactionRender.tsx
13167
+ *
13168
+ */
13169
+ var interactionRender$a = [
13170
+ {
13171
+ title: '点击事件',
13172
+ child: [
13173
+ {
13174
+ type: 'link',
13175
+ name: 'onClick',
13176
+ hiddenUrl: true
13177
+ }
13178
+ ]
13179
+ }
13180
+ ];
13181
+
13195
13182
  var _a;
13196
13183
  const Link = createMaterial(LinkComponent, {
13197
13184
  displayName: '普通CTA',
@@ -13210,17 +13197,19 @@ const Link = createMaterial(LinkComponent, {
13210
13197
  borderRadius: 3,
13211
13198
  width: 60,
13212
13199
  height: 60,
13213
- marginInlineEnd: 8
13200
+ marginRight: 8
13214
13201
  },
13215
13202
  ctaTitle: {
13216
13203
  fontSize: 12,
13217
13204
  color: '#fff',
13205
+ textAlign: 'left',
13218
13206
  width: 130,
13219
13207
  height: 20
13220
13208
  }
13221
13209
  },
13222
13210
  customTitle: {
13223
13211
  style: {
13212
+ textAlign: 'left',
13224
13213
  textDecoration: 'underline',
13225
13214
  fontWeight: 'bold',
13226
13215
  width: 130,
@@ -13310,11 +13299,12 @@ const CommodityDiro = createMaterial(CommodityDiroComponent, {
13310
13299
  borderRadius: 3,
13311
13300
  width: 60,
13312
13301
  height: 60,
13313
- marginInlineEnd: 8
13302
+ marginRight: 8
13314
13303
  },
13315
13304
  title: {
13316
13305
  fontSize: 12,
13317
- color: '#000'
13306
+ color: '#000',
13307
+ textAlign: 'left'
13318
13308
  },
13319
13309
  ctaTitle: {
13320
13310
  fontSize: 10,
@@ -13405,17 +13395,19 @@ const CommodityDiroNew = createMaterial(CommodityDiroNewComponent, {
13405
13395
  borderRadius: 8,
13406
13396
  width: 78,
13407
13397
  height: 78,
13408
- marginInlineEnd: 16
13398
+ marginRight: 16
13409
13399
  },
13410
13400
  title: {
13411
13401
  fontSize: 13,
13412
- color: '#000'
13402
+ color: '#000',
13403
+ textAlign: 'left'
13413
13404
  },
13414
13405
  ctaTitle: {
13415
13406
  textDecoration: 'underline',
13416
13407
  fontSize: 14,
13417
13408
  fontWeight: 'bold',
13418
13409
  color: '#000',
13410
+ textAlign: 'left',
13419
13411
  width: 150,
13420
13412
  height: 20
13421
13413
  }
@@ -13457,7 +13449,7 @@ const MultiCommodityDiro$1 = (_a) => {
13457
13449
  const [products] = 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]);
13458
13450
  return (React.createElement(Scroll$1, { isPadding: !!recData }, products === null || products === void 0 ? void 0 : products.map((item, itemIndex) => {
13459
13451
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
13460
- return (React.createElement(React.Fragment, null, recData && !(item === null || item === void 0 ? void 0 : item.bindCta) ? null : (React.createElement(SwiperSlide, { key: itemIndex, className: css(Object.assign(Object.assign({}, style), { flexShrink: 0, marginInlineStart: 0, marginInlineEnd: '8px' })), tag: 'li', role: 'listitem' },
13452
+ return (React.createElement(React.Fragment, null, recData && !(item === null || item === void 0 ? void 0 : item.bindCta) ? null : (React.createElement(SwiperSlide, { key: itemIndex, className: css(Object.assign(Object.assign({}, style), { flexShrink: 0, marginLeft: 0, marginRight: '8px' })), tag: 'li', role: 'listitem' },
13461
13453
  React.createElement(EventProvider$1, Object.assign({ rec: recData, multItem: item, multiCheckIndex: itemIndex, index: index }, props),
13462
13454
  React.createElement(Img$1, { src: (_d = (_c = (_a = item === null || item === void 0 ? void 0 : item.cover) !== null && _a !== void 0 ? _a : (_b = item === null || item === void 0 ? void 0 : item.homePage) === null || _b === void 0 ? void 0 : _b[0]) !== null && _c !== void 0 ? _c : sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _d !== void 0 ? _d : bottom_image, rec: recData, item: item, index: index, translateY: translateY, imgStyle: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.img, isActive: isActive }),
13463
13455
  React.createElement("div", { className: css({
@@ -13503,11 +13495,12 @@ const MultiCommodityDiro = createMaterial(MultiCommodityDiroComponent, {
13503
13495
  borderRadius: 3,
13504
13496
  width: 60,
13505
13497
  height: 60,
13506
- marginInlineEnd: 8
13498
+ marginRight: 8
13507
13499
  },
13508
13500
  title: {
13509
13501
  fontSize: 12,
13510
- color: '#000'
13502
+ color: '#000',
13503
+ textAlign: 'left'
13511
13504
  },
13512
13505
  ctaTitle: {
13513
13506
  fontSize: 10,
@@ -13555,7 +13548,7 @@ const MultiCommodity$1 = (_a) => {
13555
13548
  const [products] = 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]);
13556
13549
  return (React.createElement(Scroll$1, { isPadding: !!recData }, products === null || products === void 0 ? void 0 : products.map((item, itemIndex) => {
13557
13550
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
13558
- return (React.createElement(React.Fragment, null, recData && !(item === null || item === void 0 ? void 0 : item.bindCta) ? null : (React.createElement(SwiperSlide, { key: itemIndex, className: css(Object.assign(Object.assign({}, style), { flexShrink: 0, marginInlineStart: 0, marginInlineEnd: '8px' })), tag: 'li', role: 'listitem' },
13551
+ return (React.createElement(React.Fragment, null, recData && !(item === null || item === void 0 ? void 0 : item.bindCta) ? null : (React.createElement(SwiperSlide, { key: itemIndex, className: css(Object.assign(Object.assign({}, style), { flexShrink: 0, marginLeft: 0, marginRight: '8px' })), tag: 'li', role: 'listitem' },
13559
13552
  React.createElement(EventProvider$1, Object.assign({ rec: recData, multItem: item, multiCheckIndex: itemIndex, index: index }, props),
13560
13553
  React.createElement(Img$1, { src: (_d = (_c = (_a = item === null || item === void 0 ? void 0 : item.cover) !== null && _a !== void 0 ? _a : (_b = item === null || item === void 0 ? void 0 : item.homePage) === null || _b === void 0 ? void 0 : _b[0]) !== null && _c !== void 0 ? _c : sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _d !== void 0 ? _d : bottom_image, rec: recData, item: item, index: index, translateY: translateY, imgStyle: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.img, isActive: isActive }),
13561
13554
  React.createElement("div", { className: css({
@@ -13601,11 +13594,12 @@ const MultiCommodity = createMaterial(MultiCommodityComponent, {
13601
13594
  borderRadius: 3,
13602
13595
  width: 60,
13603
13596
  height: 60,
13604
- marginInlineEnd: 8
13597
+ marginRight: 8
13605
13598
  },
13606
13599
  title: {
13607
13600
  fontSize: 12,
13608
13601
  color: '#fff',
13602
+ textAlign: 'left'
13609
13603
  },
13610
13604
  ctaTitle: {
13611
13605
  fontSize: 10,
@@ -13661,7 +13655,7 @@ const MultiCommodityDiroNew$1 = (_a) => {
13661
13655
  const [products] = 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]);
13662
13656
  return (React.createElement(Scroll$1, { isPadding: !!recData }, products === null || products === void 0 ? void 0 : products.map((item, itemIndex) => {
13663
13657
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
13664
- return (React.createElement(React.Fragment, null, recData && !(item === null || item === void 0 ? void 0 : item.bindCta) ? null : (React.createElement(SwiperSlide, { key: itemIndex, className: css(Object.assign(Object.assign({}, style), { flexShrink: 0, marginInlineStart: 0, marginInlineEnd: '8px' })), tag: 'li', role: 'listitem' },
13658
+ return (React.createElement(React.Fragment, null, recData && !(item === null || item === void 0 ? void 0 : item.bindCta) ? null : (React.createElement(SwiperSlide, { key: itemIndex, className: css(Object.assign(Object.assign({}, style), { flexShrink: 0, marginLeft: 0, marginRight: '8px' })), tag: 'li', role: 'listitem' },
13665
13659
  React.createElement(EventProvider$1, Object.assign({ rec: recData, multItem: item, multiCheckIndex: itemIndex, index: index }, props),
13666
13660
  React.createElement(Img$1, { src: (_d = (_c = (_a = item === null || item === void 0 ? void 0 : item.cover) !== null && _a !== void 0 ? _a : (_b = item === null || item === void 0 ? void 0 : item.homePage) === null || _b === void 0 ? void 0 : _b[0]) !== null && _c !== void 0 ? _c : sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _d !== void 0 ? _d : bottom_image, rec: recData, item: item, index: index, translateY: translateY, imgStyle: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.img, isActive: isActive }),
13667
13661
  React.createElement("div", { className: css({
@@ -13708,17 +13702,19 @@ const MultiCommodityDiroNew = createMaterial(MultiCommodityDiroNewComponent, {
13708
13702
  borderRadius: 8,
13709
13703
  width: 78,
13710
13704
  height: 78,
13711
- marginInlineEnd: 16
13705
+ marginRight: 16
13712
13706
  },
13713
13707
  title: {
13714
13708
  fontSize: 12,
13715
- color: '#000'
13709
+ color: '#000',
13710
+ textAlign: 'left'
13716
13711
  },
13717
13712
  ctaTitle: {
13718
13713
  textDecoration: 'underline',
13719
13714
  fontSize: 12,
13720
13715
  fontWeight: 'bold',
13721
13716
  color: '#000',
13717
+ textAlign: 'left',
13722
13718
  width: 150,
13723
13719
  height: 20
13724
13720
  }
@@ -13813,11 +13809,12 @@ const NineCommodity = createMaterial(NineCommodityComponent, {
13813
13809
  borderRadius: 3,
13814
13810
  width: 60,
13815
13811
  height: 60,
13816
- marginInlineEnd: 8
13812
+ marginRight: 8
13817
13813
  },
13818
13814
  title: {
13819
13815
  fontSize: 12,
13820
- color: '#fff'
13816
+ color: '#fff',
13817
+ textAlign: 'left'
13821
13818
  },
13822
13819
  ctaTitle: {
13823
13820
  fontSize: 10,
@@ -16737,60 +16734,6 @@ var settingRender$4 = [
16737
16734
  }
16738
16735
  ];
16739
16736
 
16740
- /*
16741
- * @Author: binruan@chatlabs.com
16742
- * @Date: 2024-07-24 14:58:40
16743
- * @LastEditors: binruan@chatlabs.com
16744
- * @LastEditTime: 2024-09-09 13:54:35
16745
- * @FilePath: \pb-sxp-ui\src\materials\sxp\cta\AniLinkPopup\interactionRender.tsx
16746
- *
16747
- */
16748
- var interactionRender$2 = [
16749
- {
16750
- title: '点击事件',
16751
- child: [
16752
- {
16753
- type: 'link',
16754
- name: 'onClick',
16755
- hiddenUrl: true
16756
- }
16757
- ]
16758
- },
16759
- {
16760
- title: '动画效果',
16761
- child: [
16762
- {
16763
- type: 'Select',
16764
- name: ['animation', 'name'],
16765
- label: '动画',
16766
- options: [
16767
- {
16768
- label: '默认',
16769
- value: 1
16770
- }
16771
- ],
16772
- fieldProps: {
16773
- style: {
16774
- width: '100%'
16775
- }
16776
- }
16777
- },
16778
- {
16779
- type: 'Number',
16780
- label: '动画启动时间',
16781
- name: ['animation', 'delay'],
16782
- addonAfter: 'ms'
16783
- },
16784
- {
16785
- type: 'Number',
16786
- label: '动画持续时间',
16787
- name: ['animation', 'duration'],
16788
- addonAfter: 'ms'
16789
- }
16790
- ]
16791
- }
16792
- ];
16793
-
16794
16737
  var styles = {"aniLinkPopup":"index-module_aniLinkPopup__YT7kj","animated-fadeIn":"index-module_animated-fadeIn__8ZCbq","fadeIn":"index-module_fadeIn__2E-dk","animated-fadeOut":"index-module_animated-fadeOut__iK4oc","fadeOut":"index-module_fadeOut__MgevT","one-line-ellipsis":"index-module_one-line-ellipsis__NRiVV","two-line-ellipsis":"index-module_two-line-ellipsis__k-YGB","modal-icon-wrapper":"index-module_modal-icon-wrapper__tu3BY","modal-icon-wrapper-img":"index-module_modal-icon-wrapper-img__4b7qZ"};
16795
16738
 
16796
16739
  const closeIcon = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAjhJREFUWEfFlztOw0AQhmeWiJ4CCmpQ5DiRQsIJyAWg5A0lR0AIChDiCJS8ER0cADgBeRSxt4CCDgkaKiq8i+zYeWx2413HEWmiJJv9v535Z2aN8M8vFPT9z3zETD0aAUChUJjwvPFHAJhBhB3Hqd6OAsK2yyucwykAvP38eJX398Z3AJDLlVYR8ToU9Rhj25TWr9KEsKy5dULIGQCMtfZly45TvwsAstm56UwG6wA4FUFwzrdctxZBDcWSy5XWEPG8I84/GcMipdWPtgcsaz5PCHtKG0IuTiqUvjT9U/WYMG2IOPE+AP+LtCB0xKUAAyA2Xbd2o2OG0NQXvTnvhL17D7EPtH9TRCIWwkRcGYGIQgYBABuqPuHXOQBc6pw80lBGwBQiiXhsBHQhkoprA6iM6acjhDQKu5YJZW6XeOI3XJdpvfsdTu52VfXEekD8owQiXGIubpSCbhDbLu8DwKEAd+A41SOdPpE4BS0viFOtvV2iKWqUgn5x/tmS70xR01GuDSCKc86/OCcLgTyyZ0ScDGNhFAktAJV4NFJ9YyaFiAWIE+9uVkkgBgLoig8DMWAa9ro9ynkUdlW5maZDCmB6clmz0k1HH4Cs1Ezbq2p2yEpUuBOKTSZZex00RUWIrltxuuK6EOGDSbGIOPZicpMx6fny650377qNRgBgWeVFQuA+6UjVgREhGIMlSqsPUQqIbZdOOIdZQmCv2axRnU1N1+TzJYsxOEaEV8ep7frPZ7Gd0FTEdP0ft0/kMNdg0eoAAAAASUVORK5CYII=';
@@ -16863,6 +16806,60 @@ const AniLinkPopup$1 = (_a) => {
16863
16806
  };
16864
16807
  var AniLinkPopupComponent = memo(AniLinkPopup$1);
16865
16808
 
16809
+ /*
16810
+ * @Author: binruan@chatlabs.com
16811
+ * @Date: 2024-07-24 14:58:40
16812
+ * @LastEditors: binruan@chatlabs.com
16813
+ * @LastEditTime: 2024-09-09 13:54:35
16814
+ * @FilePath: \pb-sxp-ui\src\materials\sxp\cta\AniLinkPopup\interactionRender.tsx
16815
+ *
16816
+ */
16817
+ var interactionRender$2 = [
16818
+ {
16819
+ title: '点击事件',
16820
+ child: [
16821
+ {
16822
+ type: 'link',
16823
+ name: 'onClick',
16824
+ hiddenUrl: true
16825
+ }
16826
+ ]
16827
+ },
16828
+ {
16829
+ title: '动画效果',
16830
+ child: [
16831
+ {
16832
+ type: 'Select',
16833
+ name: ['animation', 'name'],
16834
+ label: '动画',
16835
+ options: [
16836
+ {
16837
+ label: '默认',
16838
+ value: 1
16839
+ }
16840
+ ],
16841
+ fieldProps: {
16842
+ style: {
16843
+ width: '100%'
16844
+ }
16845
+ }
16846
+ },
16847
+ {
16848
+ type: 'Number',
16849
+ label: '动画启动时间',
16850
+ name: ['animation', 'delay'],
16851
+ addonAfter: 'ms'
16852
+ },
16853
+ {
16854
+ type: 'Number',
16855
+ label: '动画持续时间',
16856
+ name: ['animation', 'duration'],
16857
+ addonAfter: 'ms'
16858
+ }
16859
+ ]
16860
+ }
16861
+ ];
16862
+
16866
16863
  /*
16867
16864
  * @Author: binruan@chatlabs.com
16868
16865
  * @Date: 2024-07-24 14:58:40
@@ -16901,6 +16898,7 @@ const AniLinkPopup = createMaterial(AniLinkPopupComponent, {
16901
16898
  title: {
16902
16899
  fontSize: 14,
16903
16900
  color: '#000',
16901
+ textAlign: 'left',
16904
16902
  lineHeight: 2.6
16905
16903
  },
16906
16904
  ctaTitle: {
@@ -17129,7 +17127,7 @@ const Display$1 = (_a) => {
17129
17127
  React.createElement("span", { style: content === null || content === void 0 ? void 0 : content.style, dangerouslySetInnerHTML: {
17130
17128
  __html: setFontForText((_b = content === null || content === void 0 ? void 0 : content.text) === null || _b === void 0 ? void 0 : _b.replace(/\n/g, '</br>'), content === null || content === void 0 ? void 0 : content.style)
17131
17129
  } }),
17132
- React.createElement("span", { style: Object.assign(Object.assign({}, interaction === null || interaction === void 0 ? void 0 : interaction.style), { marginInlineStart: '5px' }), dangerouslySetInnerHTML: {
17130
+ React.createElement("span", { style: Object.assign(Object.assign({}, interaction === null || interaction === void 0 ? void 0 : interaction.style), { marginLeft: '5px' }), dangerouslySetInnerHTML: {
17133
17131
  __html: setFontForText((_c = interaction === null || interaction === void 0 ? void 0 : interaction.text) === null || _c === void 0 ? void 0 : _c.replace(/\n/g, '</br>'), interaction === null || interaction === void 0 ? void 0 : interaction.style)
17134
17132
  }, onClick: handleClick })),
17135
17133
  isShowClose && (React.createElement("button", { "aria-label": 'close', className: 'consentPopupDisplay-close', onClick: handleClickClose },
@@ -18829,22 +18827,10 @@ function withBindDataSource(Component) {
18829
18827
  * @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\RenderCard.tsx
18830
18828
  *
18831
18829
  */
18832
- const RenderCard = ({ rec, index, tempMap, resolver, includesCtaType, isActive, isNineProduct }) => {
18833
- var _a, _b, _c, _d, _e;
18830
+ const RenderCard = ({ rec, index, tempMap, resolver, includesCtaType, isActive, value, isNineProduct }) => {
18834
18831
  const { schema } = useEditor();
18835
18832
  if (!(rec === null || rec === void 0 ? void 0 : rec.video))
18836
18833
  return null;
18837
- let cta = null;
18838
- 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) {
18839
- cta = '多商品CTA';
18840
- }
18841
- else if ((_c = rec === null || rec === void 0 ? void 0 : rec.video) === null || _c === void 0 ? void 0 : _c.bindProduct) {
18842
- cta = '商品CTA';
18843
- }
18844
- else {
18845
- 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;
18846
- }
18847
- const value = tempMap === null || tempMap === void 0 ? void 0 : tempMap[cta];
18848
18834
  const renderComp = useMemo(() => {
18849
18835
  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;
18850
18836
  // 如果includesCtaType有值,则只渲染includesCtaType包含的cta类型组件,用于在页面某处只显示某一组件
@@ -18872,7 +18858,7 @@ const RenderCard = ({ rec, index, tempMap, resolver, includesCtaType, isActive,
18872
18858
  const sbf = style.backdropFilter;
18873
18859
  style.backdropFilter = `blur(${sbf !== null && sbf !== void 0 ? sbf : 0}px)`;
18874
18860
  }
18875
- 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, marginInlineStart: '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 })));
18861
+ 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 })));
18876
18862
  }
18877
18863
  else {
18878
18864
  return null;
@@ -19020,6 +19006,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
19020
19006
  const skipLinkRef = useRef(false);
19021
19007
  const [pageNum, setPageNum] = useState(2);
19022
19008
  const videoWidgetRef = useRef(null);
19009
+ const fbcRef = useRef('');
19023
19010
  const { loadVideos, bffEventReport, loading, setPopupDetailData, ctaEvent, swiperRef, waterFallData, setOpenHashtag, appDomain, openHashtag, loadingImage, isFromHashtag, popupDetailData, bffFbReport, curTime, h5EnterLink, isShowConsent, selectTag, isPreview, isEditor, cacheRtcList, setRtcList, cacheActiveIndex, rtcList, isNoMoreData, channel, refreshFeSession, isDiyH5 } = useSxpDataSource();
19024
19011
  const { backMainFeed, productView, jumpToWeb } = useEventReport();
19025
19012
  const isShowFingerTip = useMemo(() => {
@@ -19295,17 +19282,17 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
19295
19282
  index === ((rtcList === null || rtcList === void 0 ? void 0 : rtcList[0]) === 'organic menu' ? 2 : 1) &&
19296
19283
  ((_f = ['MultiCommodity', 'MultiCommodityDiro', 'MultiCommodityDiroNew']) === null || _f === void 0 ? void 0 : _f.includes((_g = value === null || value === void 0 ? void 0 : value.item) === null || _g === void 0 ? void 0 : _g.type));
19297
19284
  return (React.createElement(React.Fragment, null,
19298
- isNineProduct && (React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, isActive: index === activeIndex, isNineProduct: isNineProduct })),
19285
+ isNineProduct && (React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, isActive: index === activeIndex, value: value, isNineProduct: isNineProduct })),
19299
19286
  ((_h = rec === null || rec === void 0 ? void 0 : rec.video) === null || _h === void 0 ? void 0 : _h.title) && !isShowMore && React.createElement("div", { className: 'clc-sxp-bottom-shadow' }),
19300
19287
  React.createElement("div", { className: 'clc-sxp-bottom', style: { marginBottom: `${(_j = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.bottomInfoDist) !== null && _j !== void 0 ? _j : 40}px` } },
19301
19288
  React.createElement(Nudge, { nudge: nudge }),
19302
19289
  ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowCTA) === undefined || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowCTA)) && !isNineProduct ? (React.createElement("div", { className: 'clc-sxp-bottom-card' },
19303
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, isActive: index === activeIndex }))) : null,
19290
+ React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, isActive: index === activeIndex, value: value }))) : null,
19304
19291
  React.createElement("div", { style: { display: 'flex', flexDirection: 'column' } },
19305
19292
  React.createElement(ExpandableText$1, { className: 'clc-sxp-bottom-text', isPost: true, foldText: tipText === null || tipText === void 0 ? void 0 : tipText.foldText, unfoldText: tipText === null || tipText === void 0 ? void 0 : tipText.unfoldText, text: (_l = (_k = rec === null || rec === void 0 ? void 0 : rec.video) === null || _k === void 0 ? void 0 : _k.title) !== null && _l !== void 0 ? _l : '', 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' }), onChange: onExpandableChange }),
19306
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, includesCtaType: ['AniLink'], isActive: index === activeIndex }),
19293
+ React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, includesCtaType: ['AniLink'], isActive: index === activeIndex, value: value }),
19307
19294
  React.createElement(Hashtag$1, { index: activeIndex, tags: (_o = (_m = rec === null || rec === void 0 ? void 0 : rec.video) === null || _m === void 0 ? void 0 : _m.hashTags) !== null && _o !== void 0 ? _o : [], itemId: (_p = rec === null || rec === void 0 ? void 0 : rec.video) === null || _p === void 0 ? void 0 : _p.itemId, itemType: ((_q = rec === null || rec === void 0 ? void 0 : rec.video) === null || _q === void 0 ? void 0 : _q.itemId) ? 'VIDEO' : null, rec: rec, hashTagStyle: hashTagStyle, hashTagRightMargin: containerWidth - (hashTagRightMargin !== null && hashTagRightMargin !== void 0 ? hashTagRightMargin : 0) }))),
19308
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, includesCtaType: ['AniLinkPopup'], isActive: index === activeIndex })));
19295
+ React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, includesCtaType: ['AniLinkPopup'], isActive: index === activeIndex, value: value })));
19309
19296
  }
19310
19297
  return null;
19311
19298
  }, [
@@ -19463,6 +19450,35 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
19463
19450
  viewTime.current = new Date();
19464
19451
  }
19465
19452
  }, [openHashtag, data, activeIndex]);
19453
+ useEffect(() => {
19454
+ if (!(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enableCookieSetting))
19455
+ return;
19456
+ window.OptanonWrapper = function () {
19457
+ var _a, _b;
19458
+ const activeGroups = window === null || window === void 0 ? void 0 : window.OnetrustActiveGroups;
19459
+ if (!activeGroups)
19460
+ return;
19461
+ if (activeGroups === null || activeGroups === void 0 ? void 0 : activeGroups.includes('4')) {
19462
+ if (fbcRef.current) {
19463
+ setCookie('_fbc', fbcRef.current, 90);
19464
+ }
19465
+ }
19466
+ else {
19467
+ fbcRef.current = getCookie('_fbc');
19468
+ deleteCookie('_fbc');
19469
+ const item = data[activeIndex];
19470
+ const traceInfo = ((_a = item === null || item === void 0 ? void 0 : item.video) === null || _a === void 0 ? void 0 : _a.traceInfo) || ((_b = item === null || item === void 0 ? void 0 : item.product) === null || _b === void 0 ? void 0 : _b.traceInfo) || '';
19471
+ bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
19472
+ eventInfo: {
19473
+ eventSubject: 'refuseCookie',
19474
+ eventDescription: 'refuseCookie',
19475
+ traceInfo
19476
+ },
19477
+ isActiveTargetingCookie: false
19478
+ });
19479
+ }
19480
+ };
19481
+ }, [globalConfig, bffEventReport, data, activeIndex]);
19466
19482
  const handleViewImageStartEvent = (activeIndex, imgInfo, enableCapi) => {
19467
19483
  var _a, _b, _c, _d, _e, _f, _g, _h;
19468
19484
  const item = data[activeIndex];
@@ -19910,7 +19926,7 @@ const DiyPortalPreview = ({ data = [], globalConfig, tipText, nudge, tempMap, de
19910
19926
  const CTA = (rec, index) => {
19911
19927
  if ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowCTA) === undefined || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowCTA)) {
19912
19928
  return (React.createElement("div", { className: 'clc-sxp-bottom-card' },
19913
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$2, isActive: true })));
19929
+ React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$2 })));
19914
19930
  }
19915
19931
  return null;
19916
19932
  };
@@ -19923,10 +19939,8 @@ const DiyPortalPreview = ({ data = [], globalConfig, tipText, nudge, tempMap, de
19923
19939
  React.createElement(Nudge, { nudge: nudge }),
19924
19940
  CTA(rec, index),
19925
19941
  React.createElement("div", null,
19926
- React.createElement(ExpandableText$1, { className: 'clc-sxp-bottom-text', isPost: true, foldText: tipText === null || tipText === void 0 ? void 0 : tipText.foldText, unfoldText: tipText === null || tipText === void 0 ? void 0 : tipText.unfoldText, text: (_c = (_b = rec === null || rec === void 0 ? void 0 : rec.video) === null || _b === void 0 ? void 0 : _b.title) !== null && _c !== void 0 ? _c : '', style: Object.assign(Object.assign({}, descStyle), { textShadow: (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isOpenTextShadow) ? '2px 2px 4px rgba(0, 0, 0, 0.5)' : 'none' }) }),
19927
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$2, includesCtaType: ['AniLink'], isActive: true })),
19928
- React.createElement(Hashtag$1, { index: index, tags: (_e = (_d = rec === null || rec === void 0 ? void 0 : rec.video) === null || _d === void 0 ? void 0 : _d.hashTags) !== null && _e !== void 0 ? _e : [], itemId: (_f = rec === null || rec === void 0 ? void 0 : rec.video) === null || _f === void 0 ? void 0 : _f.itemId, itemType: ((_g = rec === null || rec === void 0 ? void 0 : rec.video) === null || _g === void 0 ? void 0 : _g.itemId) ? 'VIDEO' : null, rec: rec, hashTagStyle: hashTagStyle })),
19929
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$2, includesCtaType: ['AniLinkPopup'], isActive: true })));
19942
+ React.createElement(ExpandableText$1, { className: 'clc-sxp-bottom-text', isPost: true, foldText: tipText === null || tipText === void 0 ? void 0 : tipText.foldText, unfoldText: tipText === null || tipText === void 0 ? void 0 : tipText.unfoldText, text: (_c = (_b = rec === null || rec === void 0 ? void 0 : rec.video) === null || _b === void 0 ? void 0 : _b.title) !== null && _c !== void 0 ? _c : '', style: Object.assign(Object.assign({}, descStyle), { textShadow: (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isOpenTextShadow) ? '2px 2px 4px rgba(0, 0, 0, 0.5)' : 'none' }) })),
19943
+ React.createElement(Hashtag$1, { index: index, tags: (_e = (_d = rec === null || rec === void 0 ? void 0 : rec.video) === null || _d === void 0 ? void 0 : _d.hashTags) !== null && _e !== void 0 ? _e : [], itemId: (_f = rec === null || rec === void 0 ? void 0 : rec.video) === null || _f === void 0 ? void 0 : _f.itemId, itemType: ((_g = rec === null || rec === void 0 ? void 0 : rec.video) === null || _g === void 0 ? void 0 : _g.itemId) ? 'VIDEO' : null, rec: rec, hashTagStyle: hashTagStyle }))));
19930
19944
  }
19931
19945
  return null;
19932
19946
  };
@@ -20316,10 +20330,21 @@ const DiyStoryPreview = forwardRef(({ data = [], globalConfig, tipText, nudge, t
20316
20330
  return null;
20317
20331
  }, [globalConfig]);
20318
20332
  const renderBottom = (rec, index) => {
20319
- var _a, _b, _c, _d;
20333
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
20320
20334
  if (rec === null || rec === void 0 ? void 0 : rec.video) {
20335
+ let cta = null;
20336
+ 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) {
20337
+ cta = '多商品CTA';
20338
+ }
20339
+ else if ((_c = rec === null || rec === void 0 ? void 0 : rec.video) === null || _c === void 0 ? void 0 : _c.bindProduct) {
20340
+ cta = '商品CTA';
20341
+ }
20342
+ else {
20343
+ 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;
20344
+ }
20345
+ const value = tempMap === null || tempMap === void 0 ? void 0 : tempMap[cta];
20321
20346
  return (React.createElement(React.Fragment, null,
20322
- ((_a = rec === null || rec === void 0 ? void 0 : rec.video) === null || _a === void 0 ? void 0 : _a.title) && (React.createElement("div", { style: {
20347
+ ((_f = rec === null || rec === void 0 ? void 0 : rec.video) === null || _f === void 0 ? void 0 : _f.title) && (React.createElement("div", { style: {
20323
20348
  background: 'repeating-linear-gradient(0deg, rgba(26, 26, 25, 0.7), hsla(0, 0%, 100%, 0))',
20324
20349
  height: '130px',
20325
20350
  position: 'absolute',
@@ -20330,7 +20355,7 @@ const DiyStoryPreview = forwardRef(({ data = [], globalConfig, tipText, nudge, t
20330
20355
  pointerEvents
20331
20356
  } })),
20332
20357
  React.createElement("div", { style: {
20333
- marginBottom: `${(_b = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.bottomInfoDist) !== null && _b !== void 0 ? _b : 40}px`,
20358
+ marginBottom: `${(_g = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.bottomInfoDist) !== null && _g !== void 0 ? _g : 40}px`,
20334
20359
  zIndex: 999,
20335
20360
  position: 'absolute',
20336
20361
  bottom: 0,
@@ -20339,15 +20364,15 @@ const DiyStoryPreview = forwardRef(({ data = [], globalConfig, tipText, nudge, t
20339
20364
  paddingTop: '20px'
20340
20365
  } },
20341
20366
  (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowCTA) === undefined || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowCTA) ? (React.createElement("div", { style: {} },
20342
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$1, isActive: index === activeIndex }))) : null,
20367
+ React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$1, isActive: index === activeIndex, value: value }))) : null,
20343
20368
  React.createElement("div", null,
20344
20369
  React.createElement(ExpandableText$1
20345
20370
  // className='clc-sxp-bottom-text'
20346
20371
  , {
20347
20372
  // className='clc-sxp-bottom-text'
20348
- isPost: true, foldText: tipText === null || tipText === void 0 ? void 0 : tipText.foldText, unfoldText: tipText === null || tipText === void 0 ? void 0 : tipText.unfoldText, text: (_d = (_c = rec === null || rec === void 0 ? void 0 : rec.video) === null || _c === void 0 ? void 0 : _c.title) !== null && _d !== void 0 ? _d : '', 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' }) }),
20349
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$1, includesCtaType: ['AniLink'], isActive: index === activeIndex }))),
20350
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$1, includesCtaType: ['AniLinkPopup'], isActive: index === activeIndex })));
20373
+ 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' }) }),
20374
+ React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$1, includesCtaType: ['AniLink'], isActive: index === activeIndex, value: value }))),
20375
+ React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$1, includesCtaType: ['AniLinkPopup'], isActive: index === activeIndex, value: value })));
20351
20376
  }
20352
20377
  return null;
20353
20378
  };