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.cjs CHANGED
@@ -711,7 +711,6 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
711
711
  const [chatlabsId, setChatlabsId] = React.useState();
712
712
  const finalPageData = React.useMemo(() => pageData !== null && pageData !== void 0 ? pageData : data, [pageData, data]);
713
713
  const pixelPvStatusRef = React.useRef(false);
714
- const fbcRef = React.useRef('');
715
714
  const isShowConsent = React.useMemo(() => {
716
715
  var _a, _b, _c, _d;
717
716
  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) &&
@@ -772,23 +771,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
772
771
  var _a;
773
772
  return ((_a = bffDataSource === null || bffDataSource === void 0 ? void 0 : bffDataSource.headers) === null || _a === void 0 ? void 0 : _a['x-app-id']) + storeAndLoadFeUserId();
774
773
  }, [bffDataSource]);
775
- React.useEffect(() => {
776
- if (!(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enableCookieSetting))
777
- return;
778
- fbcRef.current = getCookie('_fbc');
779
- window.OptanonWrapper = function () {
780
- const activeGroups = window === null || window === void 0 ? void 0 : window.OnetrustActiveGroups;
781
- if (!activeGroups)
782
- return;
783
- if (!(activeGroups === null || activeGroups === void 0 ? void 0 : activeGroups.includes('4'))) {
784
- deleteCookie('_fbc');
785
- }
786
- else if (fbcRef.current) {
787
- setCookie('_fbc', fbcRef.current, 90);
788
- }
789
- };
790
- }, [globalConfig]);
791
- const isActiveTargetingCookie = React.useMemo(() => {
774
+ const getTargetingCookie = () => {
792
775
  var _a;
793
776
  function getCookie(name) {
794
777
  var _a;
@@ -799,11 +782,12 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
799
782
  return '';
800
783
  }
801
784
  decodeURIComponent((_a = getCookie('OptanonConsent')) !== null && _a !== void 0 ? _a : '');
802
- 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')))) {
785
+ console.log('OptanonConsent:', window === null || window === void 0 ? void 0 : window.OnetrustActiveGroups);
786
+ if (((window === null || window === void 0 ? void 0 : window.OnetrustActiveGroups) && !(window === null || window === void 0 ? void 0 : window.OnetrustActiveGroups.includes('4')))) {
803
787
  return true;
804
788
  }
805
789
  return false;
806
- }, [globalConfig]);
790
+ };
807
791
  // bff API 请求方法
808
792
  const bffFetch = React.useCallback((path, options, isBota = true) => {
809
793
  var _a;
@@ -830,7 +814,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
830
814
  }, [bffDataSource, fakeUserId]);
831
815
  const bffCollectEvent = React.useCallback((params) => {
832
816
  var _a;
833
- if (isActiveTargetingCookie)
817
+ if (getTargetingCookie())
834
818
  return Promise.resolve();
835
819
  const body = {
836
820
  eventName: params === null || params === void 0 ? void 0 : params.eventName,
@@ -842,7 +826,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
842
826
  body,
843
827
  type: 'beacon'
844
828
  }, false);
845
- }, [bffFetch, bffDataSource, isActiveTargetingCookie]);
829
+ }, [bffFetch, bffDataSource]);
846
830
  React.useEffect(() => {
847
831
  // if (typeof (window as any)?.fbq === 'function') {
848
832
  const OriginalImage = window.Image;
@@ -852,7 +836,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
852
836
  const originalSrcDescriptor = Object.getOwnPropertyDescriptor(HTMLImageElement.prototype, 'src');
853
837
  Object.defineProperty(img, 'src', {
854
838
  set(value) {
855
- if (isActiveTargetingCookie && (value.includes('https://www.facebook.com/privacy_sandbox/pixel/register/trigger/') || value.includes('https://www.facebook.com/tr'))) {
839
+ if (getTargetingCookie() && (value.includes('https://www.facebook.com/privacy_sandbox/pixel/register/trigger/') || value.includes('https://www.facebook.com/tr'))) {
856
840
  return;
857
841
  }
858
842
  // 继续正常设置 src
@@ -877,7 +861,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
877
861
  return img;
878
862
  };
879
863
  // }
880
- }, [bffCollectEvent, isActiveTargetingCookie]);
864
+ }, [bffCollectEvent]);
881
865
  React.useEffect(() => {
882
866
  // 类型安全声明
883
867
  const navigatorWithBeacon = navigator;
@@ -890,7 +874,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
890
874
  // 覆盖方法
891
875
  navigatorWithBeacon.sendBeacon = function (url, data) {
892
876
  const urlString = url instanceof URL ? url.href : url.toString();
893
- if (isActiveTargetingCookie && (urlString.includes('https://tr.snapchat.com/p') || urlString.includes('https://analytics.tiktok.com/api/v2/pixel'))) {
877
+ if (getTargetingCookie() && (urlString.includes('https://tr.snapchat.com/p') || urlString.includes('https://analytics.tiktok.com/api/v2/pixel'))) {
894
878
  return true;
895
879
  }
896
880
  const success = originalSendBeacon(url, data);
@@ -942,7 +926,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
942
926
  return () => {
943
927
  navigatorWithBeacon.sendBeacon = originalSendBeacon;
944
928
  };
945
- }, [bffCollectEvent, isActiveTargetingCookie]);
929
+ }, [bffCollectEvent]);
946
930
  React.useEffect(() => {
947
931
  const _originalFetch = window.fetch;
948
932
  // 覆盖 fetch 方法
@@ -964,7 +948,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
964
948
  return _originalFetch.apply(this, arguments_1);
965
949
  }
966
950
  try {
967
- if (isActiveTargetingCookie && (url.includes('https://www.google-analytics.com/g/collect') || url.includes('https://arms-retcode.aliyuncs.com/r.png'))) {
951
+ if (getTargetingCookie() && (url.includes('https://www.google-analytics.com/g/collect') || url.includes('https://arms-retcode.aliyuncs.com/r.png'))) {
968
952
  return Promise.resolve(new Response(''));
969
953
  }
970
954
  // 1. 先执行原始请求
@@ -1010,7 +994,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
1010
994
  }
1011
995
  });
1012
996
  };
1013
- }, [bffCollectEvent, isActiveTargetingCookie]);
997
+ }, [bffCollectEvent]);
1014
998
  React.useEffect(() => {
1015
999
  const originalOpen = XMLHttpRequest.prototype.open;
1016
1000
  const originalSend = XMLHttpRequest.prototype.send;
@@ -1020,7 +1004,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
1020
1004
  };
1021
1005
  XMLHttpRequest.prototype.send = function (body) {
1022
1006
  var _a;
1023
- 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'))) {
1007
+ 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'))) {
1024
1008
  return;
1025
1009
  }
1026
1010
  if (this._url && typeof this._url === 'string' && this._url.includes('https://i.giesswein.com/nb-collector')) {
@@ -1048,7 +1032,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
1048
1032
  XMLHttpRequest.prototype.open = originalOpen;
1049
1033
  XMLHttpRequest.prototype.send = originalSend;
1050
1034
  };
1051
- }, [bffCollectEvent, isActiveTargetingCookie]);
1035
+ }, [bffCollectEvent]);
1052
1036
  React.useEffect(() => {
1053
1037
  if (typeof (window === null || window === void 0 ? void 0 : window.fbq) === 'function') {
1054
1038
  window === null || window === void 0 ? void 0 : window.fbq('track', 'PageView');
@@ -1175,10 +1159,10 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
1175
1159
  }
1176
1160
  return expire;
1177
1161
  }, [data]);
1178
- const bffEventReport = React.useCallback(({ userInfo, eventInfo, reportLayId = true }) => {
1162
+ const bffEventReport = React.useCallback(({ userInfo, eventInfo, reportLayId = true, isActiveTargetingCookie = true }) => {
1179
1163
  var _a, _b;
1180
1164
  // 关闭 BFF 事件上报
1181
- if (!enableReportEvent || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview) || isActiveTargetingCookie) {
1165
+ if (!enableReportEvent || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview) || (isActiveTargetingCookie && getTargetingCookie())) {
1182
1166
  return;
1183
1167
  }
1184
1168
  // 用户信息都是公共的
@@ -1219,8 +1203,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
1219
1203
  layoutVariantId,
1220
1204
  globalConfig,
1221
1205
  playbookType,
1222
- bffDataSource,
1223
- isActiveTargetingCookie
1206
+ bffDataSource
1224
1207
  ]);
1225
1208
  const getEventParamsByJson = React.useCallback((json, product) => {
1226
1209
  var _a, _b, _c;
@@ -1285,7 +1268,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
1285
1268
  }, [fakeUserId]);
1286
1269
  const bffFbReport = React.useCallback(({ eventName, product }) => {
1287
1270
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
1288
- if (!enableReportEvent || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview) || isActiveTargetingCookie) {
1271
+ if (!enableReportEvent || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview) || getTargetingCookie()) {
1289
1272
  return;
1290
1273
  }
1291
1274
  let isPushState = false;
@@ -1351,7 +1334,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
1351
1334
  type: 'beacon'
1352
1335
  });
1353
1336
  }
1354
- }, [bffFetch, enableReportEvent, enabledMetaConversionApi, globalConfig, bffDataSource, getEventParamsByJson, isActiveTargetingCookie]);
1337
+ }, [bffFetch, enableReportEvent, enabledMetaConversionApi, globalConfig, bffDataSource, getEventParamsByJson]);
1355
1338
  const bffMutateLike = React.useCallback((body) => __awaiter(void 0, void 0, void 0, function* () {
1356
1339
  const res = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('v1/recommend/like', { method: 'POST', body }));
1357
1340
  return res === null || res === void 0 ? void 0 : res.success;
@@ -2723,35 +2706,6 @@ var settingRender$e = [
2723
2706
  }
2724
2707
  ];
2725
2708
 
2726
- /*
2727
- * @Author: binruan@chatlabs.com
2728
- * @Date: 2024-07-09 14:35:10
2729
- * @LastEditors: binruan@chatlabs.com
2730
- * @LastEditTime: 2024-07-12 17:53:02
2731
- * @FilePath: \pb-sxp-ui\src\materials\sxp\popup\CommodityDetail\interactionRender.tsx
2732
- *
2733
- */
2734
- /*
2735
- * @Author: binruan@chatlabs.com
2736
- * @Date: 2024-07-05 14:08:41
2737
- * @LastEditors: binruan@chatlabs.com
2738
- * @LastEditTime: 2024-07-09 14:34:49
2739
- * @FilePath: \pb-sxp-ui\src\materials\sxp\cta\AniLink\interactionRender.tsx
2740
- *
2741
- */
2742
- var interactionRender$g = [
2743
- {
2744
- title: '滑动事件',
2745
- child: [
2746
- {
2747
- type: 'Switch',
2748
- label: '滑动铺满全屏',
2749
- name: ['isScrollFullScreen']
2750
- }
2751
- ]
2752
- }
2753
- ];
2754
-
2755
2709
  /**
2756
2710
  * SSR Window 4.0.2
2757
2711
  * Better handling for window object in SSR environment
@@ -10330,7 +10284,7 @@ const CommodityGroup = ({ products, data, defImg, style, onCLick, popupDetailDat
10330
10284
  return (React.createElement(React.Fragment, null, (item === null || item === void 0 ? void 0 : item.bindCta) ? (React.createElement(SwiperSlide, { className: css.css({
10331
10285
  width: '50px',
10332
10286
  height: '50px',
10333
- marginInlineEnd: '10px'
10287
+ marginRight: '10px'
10334
10288
  }), onClick: () => {
10335
10289
  handleClick(item, index);
10336
10290
  }, key: index },
@@ -10929,6 +10883,35 @@ const CommodityDetail$1 = (_a) => {
10929
10883
  };
10930
10884
  var CommodityDetailComponent = React.memo(CommodityDetail$1);
10931
10885
 
10886
+ /*
10887
+ * @Author: binruan@chatlabs.com
10888
+ * @Date: 2024-07-09 14:35:10
10889
+ * @LastEditors: binruan@chatlabs.com
10890
+ * @LastEditTime: 2024-07-12 17:53:02
10891
+ * @FilePath: \pb-sxp-ui\src\materials\sxp\popup\CommodityDetail\interactionRender.tsx
10892
+ *
10893
+ */
10894
+ /*
10895
+ * @Author: binruan@chatlabs.com
10896
+ * @Date: 2024-07-05 14:08:41
10897
+ * @LastEditors: binruan@chatlabs.com
10898
+ * @LastEditTime: 2024-07-09 14:34:49
10899
+ * @FilePath: \pb-sxp-ui\src\materials\sxp\cta\AniLink\interactionRender.tsx
10900
+ *
10901
+ */
10902
+ var interactionRender$g = [
10903
+ {
10904
+ title: '滑动事件',
10905
+ child: [
10906
+ {
10907
+ type: 'Switch',
10908
+ label: '滑动铺满全屏',
10909
+ name: ['isScrollFullScreen']
10910
+ }
10911
+ ]
10912
+ }
10913
+ ];
10914
+
10932
10915
  /*
10933
10916
  * @Author: binruan@chatlabs.com
10934
10917
  * @Date: 2023-07-28 18:29:57
@@ -10975,6 +10958,7 @@ const CommodityDetail = createMaterial(CommodityDetailComponent, {
10975
10958
  taxInfo: {
10976
10959
  color: '#000',
10977
10960
  fontSize: 13,
10961
+ textAlign: 'left',
10978
10962
  marginBottom: '10px'
10979
10963
  }
10980
10964
  },
@@ -12066,7 +12050,7 @@ var settingRender$b = [
12066
12050
  type: 'Number',
12067
12051
  label: '与右侧边距',
12068
12052
  addonAfter: 'px',
12069
- name: ['props', 'commodityPicture', 'marginInlineEnd']
12053
+ name: ['props', 'commodityPicture', 'marginRight']
12070
12054
  },
12071
12055
  {
12072
12056
  label: '居中垂直偏移',
@@ -12352,11 +12336,12 @@ const CommodityList$1 = (_a) => {
12352
12336
  React.createElement("button", Object.assign({ role: 'button', "aria-label": item === null || item === void 0 ? void 0 : item.title, tabIndex: 0, className: css.css({
12353
12337
  display: 'flex',
12354
12338
  alignItems: 'normal',
12355
- width: '100%'
12339
+ width: '100%',
12340
+ textAlign: 'left'
12356
12341
  }) }, props),
12357
12342
  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 }),
12358
12343
  React.createElement("div", { style: {
12359
- 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)`,
12344
+ 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)`,
12360
12345
  display: 'flex',
12361
12346
  flexDirection: 'column',
12362
12347
  justifyContent: 'space-between'
@@ -12437,7 +12422,7 @@ const CommodityList = createMaterial(CommodityListComponent, {
12437
12422
  commodityPicture: {
12438
12423
  width: 100,
12439
12424
  height: 100,
12440
- marginInlineEnd: 10
12425
+ marginRight: 10
12441
12426
  },
12442
12427
  commodityStyles: {
12443
12428
  price: {
@@ -12683,7 +12668,7 @@ var settingRender$8 = [
12683
12668
  type: 'Number',
12684
12669
  label: '与右侧边距',
12685
12670
  addonAfter: 'px',
12686
- name: ['props', 'ctaTempStyles', 'img', 'marginInlineEnd']
12671
+ name: ['props', 'ctaTempStyles', 'img', 'marginRight']
12687
12672
  },
12688
12673
  {
12689
12674
  label: '居中垂直偏移',
@@ -12944,11 +12929,12 @@ const Commodity = createMaterial(CommodityComponent, {
12944
12929
  borderRadius: 3,
12945
12930
  width: 60,
12946
12931
  height: 60,
12947
- marginInlineEnd: 8
12932
+ marginRight: 8
12948
12933
  },
12949
12934
  title: {
12950
12935
  fontSize: 12,
12951
- color: '#fff'
12936
+ color: '#fff',
12937
+ textAlign: 'left'
12952
12938
  },
12953
12939
  ctaTitle: {
12954
12940
  fontSize: 10,
@@ -13026,11 +13012,12 @@ const Appoint = createMaterial(AppointComponent, {
13026
13012
  borderRadius: 3,
13027
13013
  width: 30,
13028
13014
  height: 30,
13029
- marginInlineEnd: 8
13015
+ marginRight: 8
13030
13016
  },
13031
13017
  ctaTitle: {
13032
13018
  fontSize: 12,
13033
13019
  color: '#fff',
13020
+ textAlign: 'left',
13034
13021
  width: 130,
13035
13022
  height: 20
13036
13023
  }
@@ -13166,27 +13153,6 @@ var linkSettingRender = [
13166
13153
  }
13167
13154
  ];
13168
13155
 
13169
- /*
13170
- * @Author: binruan@chatlabs.com
13171
- * @Date: 2024-08-09 16:59:38
13172
- * @LastEditors: binruan@chatlabs.com
13173
- * @LastEditTime: 2024-09-09 13:59:50
13174
- * @FilePath: \pb-sxp-ui\src\materials\sxp\template\Link\interactionRender.tsx
13175
- *
13176
- */
13177
- var interactionRender$a = [
13178
- {
13179
- title: '点击事件',
13180
- child: [
13181
- {
13182
- type: 'link',
13183
- name: 'onClick',
13184
- hiddenUrl: true
13185
- }
13186
- ]
13187
- }
13188
- ];
13189
-
13190
13156
  var styles$8 = {"tow-line-ellipsis":"index-module_tow-line-ellipsis__nkBlU","one-line-ellipsis":"index-module_one-line-ellipsis__buFw1"};
13191
13157
 
13192
13158
  const Link$1 = (_a) => {
@@ -13214,6 +13180,27 @@ const Link$1 = (_a) => {
13214
13180
  };
13215
13181
  var LinkComponent = React.memo(Link$1);
13216
13182
 
13183
+ /*
13184
+ * @Author: binruan@chatlabs.com
13185
+ * @Date: 2024-08-09 16:59:38
13186
+ * @LastEditors: binruan@chatlabs.com
13187
+ * @LastEditTime: 2024-09-09 13:59:50
13188
+ * @FilePath: \pb-sxp-ui\src\materials\sxp\template\Link\interactionRender.tsx
13189
+ *
13190
+ */
13191
+ var interactionRender$a = [
13192
+ {
13193
+ title: '点击事件',
13194
+ child: [
13195
+ {
13196
+ type: 'link',
13197
+ name: 'onClick',
13198
+ hiddenUrl: true
13199
+ }
13200
+ ]
13201
+ }
13202
+ ];
13203
+
13217
13204
  var _a;
13218
13205
  const Link = createMaterial(LinkComponent, {
13219
13206
  displayName: '普通CTA',
@@ -13232,17 +13219,19 @@ const Link = createMaterial(LinkComponent, {
13232
13219
  borderRadius: 3,
13233
13220
  width: 60,
13234
13221
  height: 60,
13235
- marginInlineEnd: 8
13222
+ marginRight: 8
13236
13223
  },
13237
13224
  ctaTitle: {
13238
13225
  fontSize: 12,
13239
13226
  color: '#fff',
13227
+ textAlign: 'left',
13240
13228
  width: 130,
13241
13229
  height: 20
13242
13230
  }
13243
13231
  },
13244
13232
  customTitle: {
13245
13233
  style: {
13234
+ textAlign: 'left',
13246
13235
  textDecoration: 'underline',
13247
13236
  fontWeight: 'bold',
13248
13237
  width: 130,
@@ -13332,11 +13321,12 @@ const CommodityDiro = createMaterial(CommodityDiroComponent, {
13332
13321
  borderRadius: 3,
13333
13322
  width: 60,
13334
13323
  height: 60,
13335
- marginInlineEnd: 8
13324
+ marginRight: 8
13336
13325
  },
13337
13326
  title: {
13338
13327
  fontSize: 12,
13339
- color: '#000'
13328
+ color: '#000',
13329
+ textAlign: 'left'
13340
13330
  },
13341
13331
  ctaTitle: {
13342
13332
  fontSize: 10,
@@ -13427,17 +13417,19 @@ const CommodityDiroNew = createMaterial(CommodityDiroNewComponent, {
13427
13417
  borderRadius: 8,
13428
13418
  width: 78,
13429
13419
  height: 78,
13430
- marginInlineEnd: 16
13420
+ marginRight: 16
13431
13421
  },
13432
13422
  title: {
13433
13423
  fontSize: 13,
13434
- color: '#000'
13424
+ color: '#000',
13425
+ textAlign: 'left'
13435
13426
  },
13436
13427
  ctaTitle: {
13437
13428
  textDecoration: 'underline',
13438
13429
  fontSize: 14,
13439
13430
  fontWeight: 'bold',
13440
13431
  color: '#000',
13432
+ textAlign: 'left',
13441
13433
  width: 150,
13442
13434
  height: 20
13443
13435
  }
@@ -13479,7 +13471,7 @@ const MultiCommodityDiro$1 = (_a) => {
13479
13471
  const [products] = React.useState((_c = (_b = recData === null || recData === void 0 ? void 0 : recData.video) === null || _b === void 0 ? void 0 : _b.bindProducts) !== null && _c !== void 0 ? _c : [1, 2]);
13480
13472
  return (React.createElement(Scroll$1, { isPadding: !!recData }, products === null || products === void 0 ? void 0 : products.map((item, itemIndex) => {
13481
13473
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
13482
- return (React.createElement(React.Fragment, null, recData && !(item === null || item === void 0 ? void 0 : item.bindCta) ? null : (React.createElement(SwiperSlide, { key: itemIndex, className: css.css(Object.assign(Object.assign({}, style), { flexShrink: 0, marginInlineStart: 0, marginInlineEnd: '8px' })), tag: 'li', role: 'listitem' },
13474
+ return (React.createElement(React.Fragment, null, recData && !(item === null || item === void 0 ? void 0 : item.bindCta) ? null : (React.createElement(SwiperSlide, { key: itemIndex, className: css.css(Object.assign(Object.assign({}, style), { flexShrink: 0, marginLeft: 0, marginRight: '8px' })), tag: 'li', role: 'listitem' },
13483
13475
  React.createElement(EventProvider$1, Object.assign({ rec: recData, multItem: item, multiCheckIndex: itemIndex, index: index }, props),
13484
13476
  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 }),
13485
13477
  React.createElement("div", { className: css.css({
@@ -13525,11 +13517,12 @@ const MultiCommodityDiro = createMaterial(MultiCommodityDiroComponent, {
13525
13517
  borderRadius: 3,
13526
13518
  width: 60,
13527
13519
  height: 60,
13528
- marginInlineEnd: 8
13520
+ marginRight: 8
13529
13521
  },
13530
13522
  title: {
13531
13523
  fontSize: 12,
13532
- color: '#000'
13524
+ color: '#000',
13525
+ textAlign: 'left'
13533
13526
  },
13534
13527
  ctaTitle: {
13535
13528
  fontSize: 10,
@@ -13577,7 +13570,7 @@ const MultiCommodity$1 = (_a) => {
13577
13570
  const [products] = React.useState((_c = (_b = recData === null || recData === void 0 ? void 0 : recData.video) === null || _b === void 0 ? void 0 : _b.bindProducts) !== null && _c !== void 0 ? _c : [1, 2]);
13578
13571
  return (React.createElement(Scroll$1, { isPadding: !!recData }, products === null || products === void 0 ? void 0 : products.map((item, itemIndex) => {
13579
13572
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
13580
- return (React.createElement(React.Fragment, null, recData && !(item === null || item === void 0 ? void 0 : item.bindCta) ? null : (React.createElement(SwiperSlide, { key: itemIndex, className: css.css(Object.assign(Object.assign({}, style), { flexShrink: 0, marginInlineStart: 0, marginInlineEnd: '8px' })), tag: 'li', role: 'listitem' },
13573
+ return (React.createElement(React.Fragment, null, recData && !(item === null || item === void 0 ? void 0 : item.bindCta) ? null : (React.createElement(SwiperSlide, { key: itemIndex, className: css.css(Object.assign(Object.assign({}, style), { flexShrink: 0, marginLeft: 0, marginRight: '8px' })), tag: 'li', role: 'listitem' },
13581
13574
  React.createElement(EventProvider$1, Object.assign({ rec: recData, multItem: item, multiCheckIndex: itemIndex, index: index }, props),
13582
13575
  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 }),
13583
13576
  React.createElement("div", { className: css.css({
@@ -13623,11 +13616,12 @@ const MultiCommodity = createMaterial(MultiCommodityComponent, {
13623
13616
  borderRadius: 3,
13624
13617
  width: 60,
13625
13618
  height: 60,
13626
- marginInlineEnd: 8
13619
+ marginRight: 8
13627
13620
  },
13628
13621
  title: {
13629
13622
  fontSize: 12,
13630
13623
  color: '#fff',
13624
+ textAlign: 'left'
13631
13625
  },
13632
13626
  ctaTitle: {
13633
13627
  fontSize: 10,
@@ -13683,7 +13677,7 @@ const MultiCommodityDiroNew$1 = (_a) => {
13683
13677
  const [products] = React.useState((_c = (_b = recData === null || recData === void 0 ? void 0 : recData.video) === null || _b === void 0 ? void 0 : _b.bindProducts) !== null && _c !== void 0 ? _c : [1, 2]);
13684
13678
  return (React.createElement(Scroll$1, { isPadding: !!recData }, products === null || products === void 0 ? void 0 : products.map((item, itemIndex) => {
13685
13679
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
13686
- return (React.createElement(React.Fragment, null, recData && !(item === null || item === void 0 ? void 0 : item.bindCta) ? null : (React.createElement(SwiperSlide, { key: itemIndex, className: css.css(Object.assign(Object.assign({}, style), { flexShrink: 0, marginInlineStart: 0, marginInlineEnd: '8px' })), tag: 'li', role: 'listitem' },
13680
+ return (React.createElement(React.Fragment, null, recData && !(item === null || item === void 0 ? void 0 : item.bindCta) ? null : (React.createElement(SwiperSlide, { key: itemIndex, className: css.css(Object.assign(Object.assign({}, style), { flexShrink: 0, marginLeft: 0, marginRight: '8px' })), tag: 'li', role: 'listitem' },
13687
13681
  React.createElement(EventProvider$1, Object.assign({ rec: recData, multItem: item, multiCheckIndex: itemIndex, index: index }, props),
13688
13682
  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 }),
13689
13683
  React.createElement("div", { className: css.css({
@@ -13730,17 +13724,19 @@ const MultiCommodityDiroNew = createMaterial(MultiCommodityDiroNewComponent, {
13730
13724
  borderRadius: 8,
13731
13725
  width: 78,
13732
13726
  height: 78,
13733
- marginInlineEnd: 16
13727
+ marginRight: 16
13734
13728
  },
13735
13729
  title: {
13736
13730
  fontSize: 12,
13737
- color: '#000'
13731
+ color: '#000',
13732
+ textAlign: 'left'
13738
13733
  },
13739
13734
  ctaTitle: {
13740
13735
  textDecoration: 'underline',
13741
13736
  fontSize: 12,
13742
13737
  fontWeight: 'bold',
13743
13738
  color: '#000',
13739
+ textAlign: 'left',
13744
13740
  width: 150,
13745
13741
  height: 20
13746
13742
  }
@@ -13835,11 +13831,12 @@ const NineCommodity = createMaterial(NineCommodityComponent, {
13835
13831
  borderRadius: 3,
13836
13832
  width: 60,
13837
13833
  height: 60,
13838
- marginInlineEnd: 8
13834
+ marginRight: 8
13839
13835
  },
13840
13836
  title: {
13841
13837
  fontSize: 12,
13842
- color: '#fff'
13838
+ color: '#fff',
13839
+ textAlign: 'left'
13843
13840
  },
13844
13841
  ctaTitle: {
13845
13842
  fontSize: 10,
@@ -16759,60 +16756,6 @@ var settingRender$4 = [
16759
16756
  }
16760
16757
  ];
16761
16758
 
16762
- /*
16763
- * @Author: binruan@chatlabs.com
16764
- * @Date: 2024-07-24 14:58:40
16765
- * @LastEditors: binruan@chatlabs.com
16766
- * @LastEditTime: 2024-09-09 13:54:35
16767
- * @FilePath: \pb-sxp-ui\src\materials\sxp\cta\AniLinkPopup\interactionRender.tsx
16768
- *
16769
- */
16770
- var interactionRender$2 = [
16771
- {
16772
- title: '点击事件',
16773
- child: [
16774
- {
16775
- type: 'link',
16776
- name: 'onClick',
16777
- hiddenUrl: true
16778
- }
16779
- ]
16780
- },
16781
- {
16782
- title: '动画效果',
16783
- child: [
16784
- {
16785
- type: 'Select',
16786
- name: ['animation', 'name'],
16787
- label: '动画',
16788
- options: [
16789
- {
16790
- label: '默认',
16791
- value: 1
16792
- }
16793
- ],
16794
- fieldProps: {
16795
- style: {
16796
- width: '100%'
16797
- }
16798
- }
16799
- },
16800
- {
16801
- type: 'Number',
16802
- label: '动画启动时间',
16803
- name: ['animation', 'delay'],
16804
- addonAfter: 'ms'
16805
- },
16806
- {
16807
- type: 'Number',
16808
- label: '动画持续时间',
16809
- name: ['animation', 'duration'],
16810
- addonAfter: 'ms'
16811
- }
16812
- ]
16813
- }
16814
- ];
16815
-
16816
16759
  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"};
16817
16760
 
16818
16761
  const closeIcon = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAjhJREFUWEfFlztOw0AQhmeWiJ4CCmpQ5DiRQsIJyAWg5A0lR0AIChDiCJS8ER0cADgBeRSxt4CCDgkaKiq8i+zYeWx2413HEWmiJJv9v535Z2aN8M8vFPT9z3zETD0aAUChUJjwvPFHAJhBhB3Hqd6OAsK2yyucwykAvP38eJX398Z3AJDLlVYR8ToU9Rhj25TWr9KEsKy5dULIGQCMtfZly45TvwsAstm56UwG6wA4FUFwzrdctxZBDcWSy5XWEPG8I84/GcMipdWPtgcsaz5PCHtKG0IuTiqUvjT9U/WYMG2IOPE+AP+LtCB0xKUAAyA2Xbd2o2OG0NQXvTnvhL17D7EPtH9TRCIWwkRcGYGIQgYBABuqPuHXOQBc6pw80lBGwBQiiXhsBHQhkoprA6iM6acjhDQKu5YJZW6XeOI3XJdpvfsdTu52VfXEekD8owQiXGIubpSCbhDbLu8DwKEAd+A41SOdPpE4BS0viFOtvV2iKWqUgn5x/tmS70xR01GuDSCKc86/OCcLgTyyZ0ScDGNhFAktAJV4NFJ9YyaFiAWIE+9uVkkgBgLoig8DMWAa9ro9ynkUdlW5maZDCmB6clmz0k1HH4Cs1Ezbq2p2yEpUuBOKTSZZex00RUWIrltxuuK6EOGDSbGIOPZicpMx6fny650377qNRgBgWeVFQuA+6UjVgREhGIMlSqsPUQqIbZdOOIdZQmCv2axRnU1N1+TzJYsxOEaEV8ep7frPZ7Gd0FTEdP0ft0/kMNdg0eoAAAAASUVORK5CYII=';
@@ -16885,6 +16828,60 @@ const AniLinkPopup$1 = (_a) => {
16885
16828
  };
16886
16829
  var AniLinkPopupComponent = React.memo(AniLinkPopup$1);
16887
16830
 
16831
+ /*
16832
+ * @Author: binruan@chatlabs.com
16833
+ * @Date: 2024-07-24 14:58:40
16834
+ * @LastEditors: binruan@chatlabs.com
16835
+ * @LastEditTime: 2024-09-09 13:54:35
16836
+ * @FilePath: \pb-sxp-ui\src\materials\sxp\cta\AniLinkPopup\interactionRender.tsx
16837
+ *
16838
+ */
16839
+ var interactionRender$2 = [
16840
+ {
16841
+ title: '点击事件',
16842
+ child: [
16843
+ {
16844
+ type: 'link',
16845
+ name: 'onClick',
16846
+ hiddenUrl: true
16847
+ }
16848
+ ]
16849
+ },
16850
+ {
16851
+ title: '动画效果',
16852
+ child: [
16853
+ {
16854
+ type: 'Select',
16855
+ name: ['animation', 'name'],
16856
+ label: '动画',
16857
+ options: [
16858
+ {
16859
+ label: '默认',
16860
+ value: 1
16861
+ }
16862
+ ],
16863
+ fieldProps: {
16864
+ style: {
16865
+ width: '100%'
16866
+ }
16867
+ }
16868
+ },
16869
+ {
16870
+ type: 'Number',
16871
+ label: '动画启动时间',
16872
+ name: ['animation', 'delay'],
16873
+ addonAfter: 'ms'
16874
+ },
16875
+ {
16876
+ type: 'Number',
16877
+ label: '动画持续时间',
16878
+ name: ['animation', 'duration'],
16879
+ addonAfter: 'ms'
16880
+ }
16881
+ ]
16882
+ }
16883
+ ];
16884
+
16888
16885
  /*
16889
16886
  * @Author: binruan@chatlabs.com
16890
16887
  * @Date: 2024-07-24 14:58:40
@@ -16923,6 +16920,7 @@ const AniLinkPopup = createMaterial(AniLinkPopupComponent, {
16923
16920
  title: {
16924
16921
  fontSize: 14,
16925
16922
  color: '#000',
16923
+ textAlign: 'left',
16926
16924
  lineHeight: 2.6
16927
16925
  },
16928
16926
  ctaTitle: {
@@ -17151,7 +17149,7 @@ const Display$1 = (_a) => {
17151
17149
  React.createElement("span", { style: content === null || content === void 0 ? void 0 : content.style, dangerouslySetInnerHTML: {
17152
17150
  __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)
17153
17151
  } }),
17154
- React.createElement("span", { style: Object.assign(Object.assign({}, interaction === null || interaction === void 0 ? void 0 : interaction.style), { marginInlineStart: '5px' }), dangerouslySetInnerHTML: {
17152
+ React.createElement("span", { style: Object.assign(Object.assign({}, interaction === null || interaction === void 0 ? void 0 : interaction.style), { marginLeft: '5px' }), dangerouslySetInnerHTML: {
17155
17153
  __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)
17156
17154
  }, onClick: handleClick })),
17157
17155
  isShowClose && (React.createElement("button", { "aria-label": 'close', className: 'consentPopupDisplay-close', onClick: handleClickClose },
@@ -18851,22 +18849,10 @@ function withBindDataSource(Component) {
18851
18849
  * @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\RenderCard.tsx
18852
18850
  *
18853
18851
  */
18854
- const RenderCard = ({ rec, index, tempMap, resolver, includesCtaType, isActive, isNineProduct }) => {
18855
- var _a, _b, _c, _d, _e;
18852
+ const RenderCard = ({ rec, index, tempMap, resolver, includesCtaType, isActive, value, isNineProduct }) => {
18856
18853
  const { schema } = useEditor();
18857
18854
  if (!(rec === null || rec === void 0 ? void 0 : rec.video))
18858
18855
  return null;
18859
- let cta = null;
18860
- 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) {
18861
- cta = '多商品CTA';
18862
- }
18863
- else if ((_c = rec === null || rec === void 0 ? void 0 : rec.video) === null || _c === void 0 ? void 0 : _c.bindProduct) {
18864
- cta = '商品CTA';
18865
- }
18866
- else {
18867
- 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;
18868
- }
18869
- const value = tempMap === null || tempMap === void 0 ? void 0 : tempMap[cta];
18870
18856
  const renderComp = React.useMemo(() => {
18871
18857
  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;
18872
18858
  // 如果includesCtaType有值,则只渲染includesCtaType包含的cta类型组件,用于在页面某处只显示某一组件
@@ -18894,7 +18880,7 @@ const RenderCard = ({ rec, index, tempMap, resolver, includesCtaType, isActive,
18894
18880
  const sbf = style.backdropFilter;
18895
18881
  style.backdropFilter = `blur(${sbf !== null && sbf !== void 0 ? sbf : 0}px)`;
18896
18882
  }
18897
- 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 })));
18883
+ 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 })));
18898
18884
  }
18899
18885
  else {
18900
18886
  return null;
@@ -19042,6 +19028,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
19042
19028
  const skipLinkRef = React.useRef(false);
19043
19029
  const [pageNum, setPageNum] = React.useState(2);
19044
19030
  const videoWidgetRef = React.useRef(null);
19031
+ const fbcRef = React.useRef('');
19045
19032
  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();
19046
19033
  const { backMainFeed, productView, jumpToWeb } = useEventReport();
19047
19034
  const isShowFingerTip = React.useMemo(() => {
@@ -19317,17 +19304,17 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
19317
19304
  index === ((rtcList === null || rtcList === void 0 ? void 0 : rtcList[0]) === 'organic menu' ? 2 : 1) &&
19318
19305
  ((_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));
19319
19306
  return (React.createElement(React.Fragment, null,
19320
- isNineProduct && (React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, isActive: index === activeIndex, isNineProduct: isNineProduct })),
19307
+ isNineProduct && (React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, isActive: index === activeIndex, value: value, isNineProduct: isNineProduct })),
19321
19308
  ((_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' }),
19322
19309
  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` } },
19323
19310
  React.createElement(Nudge, { nudge: nudge }),
19324
19311
  ((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' },
19325
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, isActive: index === activeIndex }))) : null,
19312
+ React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, isActive: index === activeIndex, value: value }))) : null,
19326
19313
  React.createElement("div", { style: { display: 'flex', flexDirection: 'column' } },
19327
19314
  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 }),
19328
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, includesCtaType: ['AniLink'], isActive: index === activeIndex }),
19315
+ React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, includesCtaType: ['AniLink'], isActive: index === activeIndex, value: value }),
19329
19316
  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) }))),
19330
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, includesCtaType: ['AniLinkPopup'], isActive: index === activeIndex })));
19317
+ React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, includesCtaType: ['AniLinkPopup'], isActive: index === activeIndex, value: value })));
19331
19318
  }
19332
19319
  return null;
19333
19320
  }, [
@@ -19485,6 +19472,35 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
19485
19472
  viewTime.current = new Date();
19486
19473
  }
19487
19474
  }, [openHashtag, data, activeIndex]);
19475
+ React.useEffect(() => {
19476
+ if (!(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enableCookieSetting))
19477
+ return;
19478
+ window.OptanonWrapper = function () {
19479
+ var _a, _b;
19480
+ const activeGroups = window === null || window === void 0 ? void 0 : window.OnetrustActiveGroups;
19481
+ if (!activeGroups)
19482
+ return;
19483
+ if (activeGroups === null || activeGroups === void 0 ? void 0 : activeGroups.includes('4')) {
19484
+ if (fbcRef.current) {
19485
+ setCookie('_fbc', fbcRef.current, 90);
19486
+ }
19487
+ }
19488
+ else {
19489
+ fbcRef.current = getCookie('_fbc');
19490
+ deleteCookie('_fbc');
19491
+ const item = data[activeIndex];
19492
+ 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) || '';
19493
+ bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
19494
+ eventInfo: {
19495
+ eventSubject: 'refuseCookie',
19496
+ eventDescription: 'refuseCookie',
19497
+ traceInfo
19498
+ },
19499
+ isActiveTargetingCookie: false
19500
+ });
19501
+ }
19502
+ };
19503
+ }, [globalConfig, bffEventReport, data, activeIndex]);
19488
19504
  const handleViewImageStartEvent = (activeIndex, imgInfo, enableCapi) => {
19489
19505
  var _a, _b, _c, _d, _e, _f, _g, _h;
19490
19506
  const item = data[activeIndex];
@@ -19932,7 +19948,7 @@ const DiyPortalPreview = ({ data = [], globalConfig, tipText, nudge, tempMap, de
19932
19948
  const CTA = (rec, index) => {
19933
19949
  if ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowCTA) === undefined || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowCTA)) {
19934
19950
  return (React.createElement("div", { className: 'clc-sxp-bottom-card' },
19935
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$2, isActive: true })));
19951
+ React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$2 })));
19936
19952
  }
19937
19953
  return null;
19938
19954
  };
@@ -19945,10 +19961,8 @@ const DiyPortalPreview = ({ data = [], globalConfig, tipText, nudge, tempMap, de
19945
19961
  React.createElement(Nudge, { nudge: nudge }),
19946
19962
  CTA(rec, index),
19947
19963
  React.createElement("div", null,
19948
- 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' }) }),
19949
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$2, includesCtaType: ['AniLink'], isActive: true })),
19950
- 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 })),
19951
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$2, includesCtaType: ['AniLinkPopup'], isActive: true })));
19964
+ 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' }) })),
19965
+ 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 }))));
19952
19966
  }
19953
19967
  return null;
19954
19968
  };
@@ -20338,10 +20352,21 @@ const DiyStoryPreview = React.forwardRef(({ data = [], globalConfig, tipText, nu
20338
20352
  return null;
20339
20353
  }, [globalConfig]);
20340
20354
  const renderBottom = (rec, index) => {
20341
- var _a, _b, _c, _d;
20355
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
20342
20356
  if (rec === null || rec === void 0 ? void 0 : rec.video) {
20357
+ let cta = null;
20358
+ 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) {
20359
+ cta = '多商品CTA';
20360
+ }
20361
+ else if ((_c = rec === null || rec === void 0 ? void 0 : rec.video) === null || _c === void 0 ? void 0 : _c.bindProduct) {
20362
+ cta = '商品CTA';
20363
+ }
20364
+ else {
20365
+ 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;
20366
+ }
20367
+ const value = tempMap === null || tempMap === void 0 ? void 0 : tempMap[cta];
20343
20368
  return (React.createElement(React.Fragment, null,
20344
- ((_a = rec === null || rec === void 0 ? void 0 : rec.video) === null || _a === void 0 ? void 0 : _a.title) && (React.createElement("div", { style: {
20369
+ ((_f = rec === null || rec === void 0 ? void 0 : rec.video) === null || _f === void 0 ? void 0 : _f.title) && (React.createElement("div", { style: {
20345
20370
  background: 'repeating-linear-gradient(0deg, rgba(26, 26, 25, 0.7), hsla(0, 0%, 100%, 0))',
20346
20371
  height: '130px',
20347
20372
  position: 'absolute',
@@ -20352,7 +20377,7 @@ const DiyStoryPreview = React.forwardRef(({ data = [], globalConfig, tipText, nu
20352
20377
  pointerEvents
20353
20378
  } })),
20354
20379
  React.createElement("div", { style: {
20355
- marginBottom: `${(_b = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.bottomInfoDist) !== null && _b !== void 0 ? _b : 40}px`,
20380
+ marginBottom: `${(_g = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.bottomInfoDist) !== null && _g !== void 0 ? _g : 40}px`,
20356
20381
  zIndex: 999,
20357
20382
  position: 'absolute',
20358
20383
  bottom: 0,
@@ -20361,15 +20386,15 @@ const DiyStoryPreview = React.forwardRef(({ data = [], globalConfig, tipText, nu
20361
20386
  paddingTop: '20px'
20362
20387
  } },
20363
20388
  (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowCTA) === undefined || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowCTA) ? (React.createElement("div", { style: {} },
20364
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$1, isActive: index === activeIndex }))) : null,
20389
+ React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$1, isActive: index === activeIndex, value: value }))) : null,
20365
20390
  React.createElement("div", null,
20366
20391
  React.createElement(ExpandableText$1
20367
20392
  // className='clc-sxp-bottom-text'
20368
20393
  , {
20369
20394
  // className='clc-sxp-bottom-text'
20370
- 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' }) }),
20371
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$1, includesCtaType: ['AniLink'], isActive: index === activeIndex }))),
20372
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$1, includesCtaType: ['AniLinkPopup'], isActive: index === activeIndex })));
20395
+ 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' }) }),
20396
+ React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$1, includesCtaType: ['AniLink'], isActive: index === activeIndex, value: value }))),
20397
+ React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$1, includesCtaType: ['AniLinkPopup'], isActive: index === activeIndex, value: value })));
20373
20398
  }
20374
20399
  return null;
20375
20400
  };