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/pb-ui.js CHANGED
@@ -704,7 +704,6 @@
704
704
  const [chatlabsId, setChatlabsId] = React.useState();
705
705
  const finalPageData = React.useMemo(() => pageData !== null && pageData !== void 0 ? pageData : data, [pageData, data]);
706
706
  const pixelPvStatusRef = React.useRef(false);
707
- const fbcRef = React.useRef('');
708
707
  const isShowConsent = React.useMemo(() => {
709
708
  var _a, _b, _c, _d;
710
709
  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) &&
@@ -765,23 +764,7 @@
765
764
  var _a;
766
765
  return ((_a = bffDataSource === null || bffDataSource === void 0 ? void 0 : bffDataSource.headers) === null || _a === void 0 ? void 0 : _a['x-app-id']) + storeAndLoadFeUserId();
767
766
  }, [bffDataSource]);
768
- React.useEffect(() => {
769
- if (!(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enableCookieSetting))
770
- return;
771
- fbcRef.current = getCookie('_fbc');
772
- window.OptanonWrapper = function () {
773
- const activeGroups = window === null || window === void 0 ? void 0 : window.OnetrustActiveGroups;
774
- if (!activeGroups)
775
- return;
776
- if (!(activeGroups === null || activeGroups === void 0 ? void 0 : activeGroups.includes('4'))) {
777
- deleteCookie('_fbc');
778
- }
779
- else if (fbcRef.current) {
780
- setCookie('_fbc', fbcRef.current, 90);
781
- }
782
- };
783
- }, [globalConfig]);
784
- const isActiveTargetingCookie = React.useMemo(() => {
767
+ const getTargetingCookie = () => {
785
768
  var _a;
786
769
  function getCookie(name) {
787
770
  var _a;
@@ -792,11 +775,12 @@
792
775
  return '';
793
776
  }
794
777
  decodeURIComponent((_a = getCookie('OptanonConsent')) !== null && _a !== void 0 ? _a : '');
795
- 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')))) {
778
+ console.log('OptanonConsent:', window === null || window === void 0 ? void 0 : window.OnetrustActiveGroups);
779
+ if (((window === null || window === void 0 ? void 0 : window.OnetrustActiveGroups) && !(window === null || window === void 0 ? void 0 : window.OnetrustActiveGroups.includes('4')))) {
796
780
  return true;
797
781
  }
798
782
  return false;
799
- }, [globalConfig]);
783
+ };
800
784
  // bff API 请求方法
801
785
  const bffFetch = React.useCallback((path, options, isBota = true) => {
802
786
  var _a;
@@ -823,7 +807,7 @@
823
807
  }, [bffDataSource, fakeUserId]);
824
808
  const bffCollectEvent = React.useCallback((params) => {
825
809
  var _a;
826
- if (isActiveTargetingCookie)
810
+ if (getTargetingCookie())
827
811
  return Promise.resolve();
828
812
  const body = {
829
813
  eventName: params === null || params === void 0 ? void 0 : params.eventName,
@@ -835,7 +819,7 @@
835
819
  body,
836
820
  type: 'beacon'
837
821
  }, false);
838
- }, [bffFetch, bffDataSource, isActiveTargetingCookie]);
822
+ }, [bffFetch, bffDataSource]);
839
823
  React.useEffect(() => {
840
824
  // if (typeof (window as any)?.fbq === 'function') {
841
825
  const OriginalImage = window.Image;
@@ -845,7 +829,7 @@
845
829
  const originalSrcDescriptor = Object.getOwnPropertyDescriptor(HTMLImageElement.prototype, 'src');
846
830
  Object.defineProperty(img, 'src', {
847
831
  set(value) {
848
- if (isActiveTargetingCookie && (value.includes('https://www.facebook.com/privacy_sandbox/pixel/register/trigger/') || value.includes('https://www.facebook.com/tr'))) {
832
+ if (getTargetingCookie() && (value.includes('https://www.facebook.com/privacy_sandbox/pixel/register/trigger/') || value.includes('https://www.facebook.com/tr'))) {
849
833
  return;
850
834
  }
851
835
  // 继续正常设置 src
@@ -870,7 +854,7 @@
870
854
  return img;
871
855
  };
872
856
  // }
873
- }, [bffCollectEvent, isActiveTargetingCookie]);
857
+ }, [bffCollectEvent]);
874
858
  React.useEffect(() => {
875
859
  // 类型安全声明
876
860
  const navigatorWithBeacon = navigator;
@@ -883,7 +867,7 @@
883
867
  // 覆盖方法
884
868
  navigatorWithBeacon.sendBeacon = function (url, data) {
885
869
  const urlString = url instanceof URL ? url.href : url.toString();
886
- if (isActiveTargetingCookie && (urlString.includes('https://tr.snapchat.com/p') || urlString.includes('https://analytics.tiktok.com/api/v2/pixel'))) {
870
+ if (getTargetingCookie() && (urlString.includes('https://tr.snapchat.com/p') || urlString.includes('https://analytics.tiktok.com/api/v2/pixel'))) {
887
871
  return true;
888
872
  }
889
873
  const success = originalSendBeacon(url, data);
@@ -935,7 +919,7 @@
935
919
  return () => {
936
920
  navigatorWithBeacon.sendBeacon = originalSendBeacon;
937
921
  };
938
- }, [bffCollectEvent, isActiveTargetingCookie]);
922
+ }, [bffCollectEvent]);
939
923
  React.useEffect(() => {
940
924
  const _originalFetch = window.fetch;
941
925
  // 覆盖 fetch 方法
@@ -957,7 +941,7 @@
957
941
  return _originalFetch.apply(this, arguments_1);
958
942
  }
959
943
  try {
960
- if (isActiveTargetingCookie && (url.includes('https://www.google-analytics.com/g/collect') || url.includes('https://arms-retcode.aliyuncs.com/r.png'))) {
944
+ if (getTargetingCookie() && (url.includes('https://www.google-analytics.com/g/collect') || url.includes('https://arms-retcode.aliyuncs.com/r.png'))) {
961
945
  return Promise.resolve(new Response(''));
962
946
  }
963
947
  // 1. 先执行原始请求
@@ -1003,7 +987,7 @@
1003
987
  }
1004
988
  });
1005
989
  };
1006
- }, [bffCollectEvent, isActiveTargetingCookie]);
990
+ }, [bffCollectEvent]);
1007
991
  React.useEffect(() => {
1008
992
  const originalOpen = XMLHttpRequest.prototype.open;
1009
993
  const originalSend = XMLHttpRequest.prototype.send;
@@ -1013,7 +997,7 @@
1013
997
  };
1014
998
  XMLHttpRequest.prototype.send = function (body) {
1015
999
  var _a;
1016
- 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'))) {
1000
+ 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'))) {
1017
1001
  return;
1018
1002
  }
1019
1003
  if (this._url && typeof this._url === 'string' && this._url.includes('https://i.giesswein.com/nb-collector')) {
@@ -1041,7 +1025,7 @@
1041
1025
  XMLHttpRequest.prototype.open = originalOpen;
1042
1026
  XMLHttpRequest.prototype.send = originalSend;
1043
1027
  };
1044
- }, [bffCollectEvent, isActiveTargetingCookie]);
1028
+ }, [bffCollectEvent]);
1045
1029
  React.useEffect(() => {
1046
1030
  if (typeof (window === null || window === void 0 ? void 0 : window.fbq) === 'function') {
1047
1031
  window === null || window === void 0 ? void 0 : window.fbq('track', 'PageView');
@@ -1168,10 +1152,10 @@
1168
1152
  }
1169
1153
  return expire;
1170
1154
  }, [data]);
1171
- const bffEventReport = React.useCallback(({ userInfo, eventInfo, reportLayId = true }) => {
1155
+ const bffEventReport = React.useCallback(({ userInfo, eventInfo, reportLayId = true, isActiveTargetingCookie = true }) => {
1172
1156
  var _a, _b;
1173
1157
  // 关闭 BFF 事件上报
1174
- if (!enableReportEvent || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview) || isActiveTargetingCookie) {
1158
+ if (!enableReportEvent || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview) || (isActiveTargetingCookie && getTargetingCookie())) {
1175
1159
  return;
1176
1160
  }
1177
1161
  // 用户信息都是公共的
@@ -1212,8 +1196,7 @@
1212
1196
  layoutVariantId,
1213
1197
  globalConfig,
1214
1198
  playbookType,
1215
- bffDataSource,
1216
- isActiveTargetingCookie
1199
+ bffDataSource
1217
1200
  ]);
1218
1201
  const getEventParamsByJson = React.useCallback((json, product) => {
1219
1202
  var _a, _b, _c;
@@ -1278,7 +1261,7 @@
1278
1261
  }, [fakeUserId]);
1279
1262
  const bffFbReport = React.useCallback(({ eventName, product }) => {
1280
1263
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
1281
- if (!enableReportEvent || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview) || isActiveTargetingCookie) {
1264
+ if (!enableReportEvent || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview) || getTargetingCookie()) {
1282
1265
  return;
1283
1266
  }
1284
1267
  let isPushState = false;
@@ -1344,7 +1327,7 @@
1344
1327
  type: 'beacon'
1345
1328
  });
1346
1329
  }
1347
- }, [bffFetch, enableReportEvent, enabledMetaConversionApi, globalConfig, bffDataSource, getEventParamsByJson, isActiveTargetingCookie]);
1330
+ }, [bffFetch, enableReportEvent, enabledMetaConversionApi, globalConfig, bffDataSource, getEventParamsByJson]);
1348
1331
  const bffMutateLike = React.useCallback((body) => __awaiter(void 0, void 0, void 0, function* () {
1349
1332
  const res = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('v1/recommend/like', { method: 'POST', body }));
1350
1333
  return res === null || res === void 0 ? void 0 : res.success;
@@ -2716,35 +2699,6 @@
2716
2699
  }
2717
2700
  ];
2718
2701
 
2719
- /*
2720
- * @Author: binruan@chatlabs.com
2721
- * @Date: 2024-07-09 14:35:10
2722
- * @LastEditors: binruan@chatlabs.com
2723
- * @LastEditTime: 2024-07-12 17:53:02
2724
- * @FilePath: \pb-sxp-ui\src\materials\sxp\popup\CommodityDetail\interactionRender.tsx
2725
- *
2726
- */
2727
- /*
2728
- * @Author: binruan@chatlabs.com
2729
- * @Date: 2024-07-05 14:08:41
2730
- * @LastEditors: binruan@chatlabs.com
2731
- * @LastEditTime: 2024-07-09 14:34:49
2732
- * @FilePath: \pb-sxp-ui\src\materials\sxp\cta\AniLink\interactionRender.tsx
2733
- *
2734
- */
2735
- var interactionRender$g = [
2736
- {
2737
- title: '滑动事件',
2738
- child: [
2739
- {
2740
- type: 'Switch',
2741
- label: '滑动铺满全屏',
2742
- name: ['isScrollFullScreen']
2743
- }
2744
- ]
2745
- }
2746
- ];
2747
-
2748
2702
  /**
2749
2703
  * SSR Window 4.0.2
2750
2704
  * Better handling for window object in SSR environment
@@ -10323,7 +10277,7 @@
10323
10277
  return (React.createElement(React.Fragment, null, (item === null || item === void 0 ? void 0 : item.bindCta) ? (React.createElement(SwiperSlide, { className: css.css({
10324
10278
  width: '50px',
10325
10279
  height: '50px',
10326
- marginInlineEnd: '10px'
10280
+ marginRight: '10px'
10327
10281
  }), onClick: () => {
10328
10282
  handleClick(item, index);
10329
10283
  }, key: index },
@@ -10922,6 +10876,35 @@
10922
10876
  };
10923
10877
  var CommodityDetailComponent = React.memo(CommodityDetail$1);
10924
10878
 
10879
+ /*
10880
+ * @Author: binruan@chatlabs.com
10881
+ * @Date: 2024-07-09 14:35:10
10882
+ * @LastEditors: binruan@chatlabs.com
10883
+ * @LastEditTime: 2024-07-12 17:53:02
10884
+ * @FilePath: \pb-sxp-ui\src\materials\sxp\popup\CommodityDetail\interactionRender.tsx
10885
+ *
10886
+ */
10887
+ /*
10888
+ * @Author: binruan@chatlabs.com
10889
+ * @Date: 2024-07-05 14:08:41
10890
+ * @LastEditors: binruan@chatlabs.com
10891
+ * @LastEditTime: 2024-07-09 14:34:49
10892
+ * @FilePath: \pb-sxp-ui\src\materials\sxp\cta\AniLink\interactionRender.tsx
10893
+ *
10894
+ */
10895
+ var interactionRender$g = [
10896
+ {
10897
+ title: '滑动事件',
10898
+ child: [
10899
+ {
10900
+ type: 'Switch',
10901
+ label: '滑动铺满全屏',
10902
+ name: ['isScrollFullScreen']
10903
+ }
10904
+ ]
10905
+ }
10906
+ ];
10907
+
10925
10908
  /*
10926
10909
  * @Author: binruan@chatlabs.com
10927
10910
  * @Date: 2023-07-28 18:29:57
@@ -10968,6 +10951,7 @@
10968
10951
  taxInfo: {
10969
10952
  color: '#000',
10970
10953
  fontSize: 13,
10954
+ textAlign: 'left',
10971
10955
  marginBottom: '10px'
10972
10956
  }
10973
10957
  },
@@ -12059,7 +12043,7 @@ Made in Italy` })));
12059
12043
  type: 'Number',
12060
12044
  label: '与右侧边距',
12061
12045
  addonAfter: 'px',
12062
- name: ['props', 'commodityPicture', 'marginInlineEnd']
12046
+ name: ['props', 'commodityPicture', 'marginRight']
12063
12047
  },
12064
12048
  {
12065
12049
  label: '居中垂直偏移',
@@ -12345,11 +12329,12 @@ Made in Italy` })));
12345
12329
  React.createElement("button", Object.assign({ role: 'button', "aria-label": item === null || item === void 0 ? void 0 : item.title, tabIndex: 0, className: css.css({
12346
12330
  display: 'flex',
12347
12331
  alignItems: 'normal',
12348
- width: '100%'
12332
+ width: '100%',
12333
+ textAlign: 'left'
12349
12334
  }) }, props),
12350
12335
  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 }),
12351
12336
  React.createElement("div", { style: {
12352
- 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)`,
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.marginRight) !== null && _f !== void 0 ? _f : 0}px)`,
12353
12338
  display: 'flex',
12354
12339
  flexDirection: 'column',
12355
12340
  justifyContent: 'space-between'
@@ -12430,7 +12415,7 @@ Made in Italy` })));
12430
12415
  commodityPicture: {
12431
12416
  width: 100,
12432
12417
  height: 100,
12433
- marginInlineEnd: 10
12418
+ marginRight: 10
12434
12419
  },
12435
12420
  commodityStyles: {
12436
12421
  price: {
@@ -12676,7 +12661,7 @@ Made in Italy` })));
12676
12661
  type: 'Number',
12677
12662
  label: '与右侧边距',
12678
12663
  addonAfter: 'px',
12679
- name: ['props', 'ctaTempStyles', 'img', 'marginInlineEnd']
12664
+ name: ['props', 'ctaTempStyles', 'img', 'marginRight']
12680
12665
  },
12681
12666
  {
12682
12667
  label: '居中垂直偏移',
@@ -12937,11 +12922,12 @@ Made in Italy` })));
12937
12922
  borderRadius: 3,
12938
12923
  width: 60,
12939
12924
  height: 60,
12940
- marginInlineEnd: 8
12925
+ marginRight: 8
12941
12926
  },
12942
12927
  title: {
12943
12928
  fontSize: 12,
12944
- color: '#fff'
12929
+ color: '#fff',
12930
+ textAlign: 'left'
12945
12931
  },
12946
12932
  ctaTitle: {
12947
12933
  fontSize: 10,
@@ -13019,11 +13005,12 @@ Made in Italy` })));
13019
13005
  borderRadius: 3,
13020
13006
  width: 30,
13021
13007
  height: 30,
13022
- marginInlineEnd: 8
13008
+ marginRight: 8
13023
13009
  },
13024
13010
  ctaTitle: {
13025
13011
  fontSize: 12,
13026
13012
  color: '#fff',
13013
+ textAlign: 'left',
13027
13014
  width: 130,
13028
13015
  height: 20
13029
13016
  }
@@ -13159,27 +13146,6 @@ Made in Italy` })));
13159
13146
  }
13160
13147
  ];
13161
13148
 
13162
- /*
13163
- * @Author: binruan@chatlabs.com
13164
- * @Date: 2024-08-09 16:59:38
13165
- * @LastEditors: binruan@chatlabs.com
13166
- * @LastEditTime: 2024-09-09 13:59:50
13167
- * @FilePath: \pb-sxp-ui\src\materials\sxp\template\Link\interactionRender.tsx
13168
- *
13169
- */
13170
- var interactionRender$a = [
13171
- {
13172
- title: '点击事件',
13173
- child: [
13174
- {
13175
- type: 'link',
13176
- name: 'onClick',
13177
- hiddenUrl: true
13178
- }
13179
- ]
13180
- }
13181
- ];
13182
-
13183
13149
  var styles$8 = {"tow-line-ellipsis":"index-module_tow-line-ellipsis__nkBlU","one-line-ellipsis":"index-module_one-line-ellipsis__buFw1"};
13184
13150
 
13185
13151
  const Link$1 = (_a) => {
@@ -13207,6 +13173,27 @@ Made in Italy` })));
13207
13173
  };
13208
13174
  var LinkComponent = React.memo(Link$1);
13209
13175
 
13176
+ /*
13177
+ * @Author: binruan@chatlabs.com
13178
+ * @Date: 2024-08-09 16:59:38
13179
+ * @LastEditors: binruan@chatlabs.com
13180
+ * @LastEditTime: 2024-09-09 13:59:50
13181
+ * @FilePath: \pb-sxp-ui\src\materials\sxp\template\Link\interactionRender.tsx
13182
+ *
13183
+ */
13184
+ var interactionRender$a = [
13185
+ {
13186
+ title: '点击事件',
13187
+ child: [
13188
+ {
13189
+ type: 'link',
13190
+ name: 'onClick',
13191
+ hiddenUrl: true
13192
+ }
13193
+ ]
13194
+ }
13195
+ ];
13196
+
13210
13197
  var _a;
13211
13198
  const Link = createMaterial(LinkComponent, {
13212
13199
  displayName: '普通CTA',
@@ -13225,17 +13212,19 @@ Made in Italy` })));
13225
13212
  borderRadius: 3,
13226
13213
  width: 60,
13227
13214
  height: 60,
13228
- marginInlineEnd: 8
13215
+ marginRight: 8
13229
13216
  },
13230
13217
  ctaTitle: {
13231
13218
  fontSize: 12,
13232
13219
  color: '#fff',
13220
+ textAlign: 'left',
13233
13221
  width: 130,
13234
13222
  height: 20
13235
13223
  }
13236
13224
  },
13237
13225
  customTitle: {
13238
13226
  style: {
13227
+ textAlign: 'left',
13239
13228
  textDecoration: 'underline',
13240
13229
  fontWeight: 'bold',
13241
13230
  width: 130,
@@ -13325,11 +13314,12 @@ Made in Italy` })));
13325
13314
  borderRadius: 3,
13326
13315
  width: 60,
13327
13316
  height: 60,
13328
- marginInlineEnd: 8
13317
+ marginRight: 8
13329
13318
  },
13330
13319
  title: {
13331
13320
  fontSize: 12,
13332
- color: '#000'
13321
+ color: '#000',
13322
+ textAlign: 'left'
13333
13323
  },
13334
13324
  ctaTitle: {
13335
13325
  fontSize: 10,
@@ -13420,17 +13410,19 @@ Made in Italy` })));
13420
13410
  borderRadius: 8,
13421
13411
  width: 78,
13422
13412
  height: 78,
13423
- marginInlineEnd: 16
13413
+ marginRight: 16
13424
13414
  },
13425
13415
  title: {
13426
13416
  fontSize: 13,
13427
- color: '#000'
13417
+ color: '#000',
13418
+ textAlign: 'left'
13428
13419
  },
13429
13420
  ctaTitle: {
13430
13421
  textDecoration: 'underline',
13431
13422
  fontSize: 14,
13432
13423
  fontWeight: 'bold',
13433
13424
  color: '#000',
13425
+ textAlign: 'left',
13434
13426
  width: 150,
13435
13427
  height: 20
13436
13428
  }
@@ -13472,7 +13464,7 @@ Made in Italy` })));
13472
13464
  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]);
13473
13465
  return (React.createElement(Scroll$1, { isPadding: !!recData }, products === null || products === void 0 ? void 0 : products.map((item, itemIndex) => {
13474
13466
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
13475
- 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' },
13467
+ 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' },
13476
13468
  React.createElement(EventProvider$1, Object.assign({ rec: recData, multItem: item, multiCheckIndex: itemIndex, index: index }, props),
13477
13469
  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 }),
13478
13470
  React.createElement("div", { className: css.css({
@@ -13518,11 +13510,12 @@ Made in Italy` })));
13518
13510
  borderRadius: 3,
13519
13511
  width: 60,
13520
13512
  height: 60,
13521
- marginInlineEnd: 8
13513
+ marginRight: 8
13522
13514
  },
13523
13515
  title: {
13524
13516
  fontSize: 12,
13525
- color: '#000'
13517
+ color: '#000',
13518
+ textAlign: 'left'
13526
13519
  },
13527
13520
  ctaTitle: {
13528
13521
  fontSize: 10,
@@ -13570,7 +13563,7 @@ Made in Italy` })));
13570
13563
  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]);
13571
13564
  return (React.createElement(Scroll$1, { isPadding: !!recData }, products === null || products === void 0 ? void 0 : products.map((item, itemIndex) => {
13572
13565
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
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, marginInlineStart: 0, marginInlineEnd: '8px' })), tag: 'li', role: 'listitem' },
13566
+ 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' },
13574
13567
  React.createElement(EventProvider$1, Object.assign({ rec: recData, multItem: item, multiCheckIndex: itemIndex, index: index }, props),
13575
13568
  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 }),
13576
13569
  React.createElement("div", { className: css.css({
@@ -13616,11 +13609,12 @@ Made in Italy` })));
13616
13609
  borderRadius: 3,
13617
13610
  width: 60,
13618
13611
  height: 60,
13619
- marginInlineEnd: 8
13612
+ marginRight: 8
13620
13613
  },
13621
13614
  title: {
13622
13615
  fontSize: 12,
13623
13616
  color: '#fff',
13617
+ textAlign: 'left'
13624
13618
  },
13625
13619
  ctaTitle: {
13626
13620
  fontSize: 10,
@@ -13676,7 +13670,7 @@ Made in Italy` })));
13676
13670
  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]);
13677
13671
  return (React.createElement(Scroll$1, { isPadding: !!recData }, products === null || products === void 0 ? void 0 : products.map((item, itemIndex) => {
13678
13672
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
13679
- 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' },
13673
+ 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' },
13680
13674
  React.createElement(EventProvider$1, Object.assign({ rec: recData, multItem: item, multiCheckIndex: itemIndex, index: index }, props),
13681
13675
  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 }),
13682
13676
  React.createElement("div", { className: css.css({
@@ -13723,17 +13717,19 @@ Made in Italy` })));
13723
13717
  borderRadius: 8,
13724
13718
  width: 78,
13725
13719
  height: 78,
13726
- marginInlineEnd: 16
13720
+ marginRight: 16
13727
13721
  },
13728
13722
  title: {
13729
13723
  fontSize: 12,
13730
- color: '#000'
13724
+ color: '#000',
13725
+ textAlign: 'left'
13731
13726
  },
13732
13727
  ctaTitle: {
13733
13728
  textDecoration: 'underline',
13734
13729
  fontSize: 12,
13735
13730
  fontWeight: 'bold',
13736
13731
  color: '#000',
13732
+ textAlign: 'left',
13737
13733
  width: 150,
13738
13734
  height: 20
13739
13735
  }
@@ -13828,11 +13824,12 @@ Made in Italy` })));
13828
13824
  borderRadius: 3,
13829
13825
  width: 60,
13830
13826
  height: 60,
13831
- marginInlineEnd: 8
13827
+ marginRight: 8
13832
13828
  },
13833
13829
  title: {
13834
13830
  fontSize: 12,
13835
- color: '#fff'
13831
+ color: '#fff',
13832
+ textAlign: 'left'
13836
13833
  },
13837
13834
  ctaTitle: {
13838
13835
  fontSize: 10,
@@ -16752,60 +16749,6 @@ Made in Italy` })));
16752
16749
  }
16753
16750
  ];
16754
16751
 
16755
- /*
16756
- * @Author: binruan@chatlabs.com
16757
- * @Date: 2024-07-24 14:58:40
16758
- * @LastEditors: binruan@chatlabs.com
16759
- * @LastEditTime: 2024-09-09 13:54:35
16760
- * @FilePath: \pb-sxp-ui\src\materials\sxp\cta\AniLinkPopup\interactionRender.tsx
16761
- *
16762
- */
16763
- var interactionRender$2 = [
16764
- {
16765
- title: '点击事件',
16766
- child: [
16767
- {
16768
- type: 'link',
16769
- name: 'onClick',
16770
- hiddenUrl: true
16771
- }
16772
- ]
16773
- },
16774
- {
16775
- title: '动画效果',
16776
- child: [
16777
- {
16778
- type: 'Select',
16779
- name: ['animation', 'name'],
16780
- label: '动画',
16781
- options: [
16782
- {
16783
- label: '默认',
16784
- value: 1
16785
- }
16786
- ],
16787
- fieldProps: {
16788
- style: {
16789
- width: '100%'
16790
- }
16791
- }
16792
- },
16793
- {
16794
- type: 'Number',
16795
- label: '动画启动时间',
16796
- name: ['animation', 'delay'],
16797
- addonAfter: 'ms'
16798
- },
16799
- {
16800
- type: 'Number',
16801
- label: '动画持续时间',
16802
- name: ['animation', 'duration'],
16803
- addonAfter: 'ms'
16804
- }
16805
- ]
16806
- }
16807
- ];
16808
-
16809
16752
  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"};
16810
16753
 
16811
16754
  const closeIcon = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAjhJREFUWEfFlztOw0AQhmeWiJ4CCmpQ5DiRQsIJyAWg5A0lR0AIChDiCJS8ER0cADgBeRSxt4CCDgkaKiq8i+zYeWx2413HEWmiJJv9v535Z2aN8M8vFPT9z3zETD0aAUChUJjwvPFHAJhBhB3Hqd6OAsK2yyucwykAvP38eJX398Z3AJDLlVYR8ToU9Rhj25TWr9KEsKy5dULIGQCMtfZly45TvwsAstm56UwG6wA4FUFwzrdctxZBDcWSy5XWEPG8I84/GcMipdWPtgcsaz5PCHtKG0IuTiqUvjT9U/WYMG2IOPE+AP+LtCB0xKUAAyA2Xbd2o2OG0NQXvTnvhL17D7EPtH9TRCIWwkRcGYGIQgYBABuqPuHXOQBc6pw80lBGwBQiiXhsBHQhkoprA6iM6acjhDQKu5YJZW6XeOI3XJdpvfsdTu52VfXEekD8owQiXGIubpSCbhDbLu8DwKEAd+A41SOdPpE4BS0viFOtvV2iKWqUgn5x/tmS70xR01GuDSCKc86/OCcLgTyyZ0ScDGNhFAktAJV4NFJ9YyaFiAWIE+9uVkkgBgLoig8DMWAa9ro9ynkUdlW5maZDCmB6clmz0k1HH4Cs1Ezbq2p2yEpUuBOKTSZZex00RUWIrltxuuK6EOGDSbGIOPZicpMx6fny650377qNRgBgWeVFQuA+6UjVgREhGIMlSqsPUQqIbZdOOIdZQmCv2axRnU1N1+TzJYsxOEaEV8ep7frPZ7Gd0FTEdP0ft0/kMNdg0eoAAAAASUVORK5CYII=';
@@ -16878,6 +16821,60 @@ Made in Italy` })));
16878
16821
  };
16879
16822
  var AniLinkPopupComponent = React.memo(AniLinkPopup$1);
16880
16823
 
16824
+ /*
16825
+ * @Author: binruan@chatlabs.com
16826
+ * @Date: 2024-07-24 14:58:40
16827
+ * @LastEditors: binruan@chatlabs.com
16828
+ * @LastEditTime: 2024-09-09 13:54:35
16829
+ * @FilePath: \pb-sxp-ui\src\materials\sxp\cta\AniLinkPopup\interactionRender.tsx
16830
+ *
16831
+ */
16832
+ var interactionRender$2 = [
16833
+ {
16834
+ title: '点击事件',
16835
+ child: [
16836
+ {
16837
+ type: 'link',
16838
+ name: 'onClick',
16839
+ hiddenUrl: true
16840
+ }
16841
+ ]
16842
+ },
16843
+ {
16844
+ title: '动画效果',
16845
+ child: [
16846
+ {
16847
+ type: 'Select',
16848
+ name: ['animation', 'name'],
16849
+ label: '动画',
16850
+ options: [
16851
+ {
16852
+ label: '默认',
16853
+ value: 1
16854
+ }
16855
+ ],
16856
+ fieldProps: {
16857
+ style: {
16858
+ width: '100%'
16859
+ }
16860
+ }
16861
+ },
16862
+ {
16863
+ type: 'Number',
16864
+ label: '动画启动时间',
16865
+ name: ['animation', 'delay'],
16866
+ addonAfter: 'ms'
16867
+ },
16868
+ {
16869
+ type: 'Number',
16870
+ label: '动画持续时间',
16871
+ name: ['animation', 'duration'],
16872
+ addonAfter: 'ms'
16873
+ }
16874
+ ]
16875
+ }
16876
+ ];
16877
+
16881
16878
  /*
16882
16879
  * @Author: binruan@chatlabs.com
16883
16880
  * @Date: 2024-07-24 14:58:40
@@ -16916,6 +16913,7 @@ Made in Italy` })));
16916
16913
  title: {
16917
16914
  fontSize: 14,
16918
16915
  color: '#000',
16916
+ textAlign: 'left',
16919
16917
  lineHeight: 2.6
16920
16918
  },
16921
16919
  ctaTitle: {
@@ -17144,7 +17142,7 @@ Made in Italy` })));
17144
17142
  React.createElement("span", { style: content === null || content === void 0 ? void 0 : content.style, dangerouslySetInnerHTML: {
17145
17143
  __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)
17146
17144
  } }),
17147
- React.createElement("span", { style: Object.assign(Object.assign({}, interaction === null || interaction === void 0 ? void 0 : interaction.style), { marginInlineStart: '5px' }), dangerouslySetInnerHTML: {
17145
+ React.createElement("span", { style: Object.assign(Object.assign({}, interaction === null || interaction === void 0 ? void 0 : interaction.style), { marginLeft: '5px' }), dangerouslySetInnerHTML: {
17148
17146
  __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)
17149
17147
  }, onClick: handleClick })),
17150
17148
  isShowClose && (React.createElement("button", { "aria-label": 'close', className: 'consentPopupDisplay-close', onClick: handleClickClose },
@@ -18844,22 +18842,10 @@ Made in Italy` })));
18844
18842
  * @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\RenderCard.tsx
18845
18843
  *
18846
18844
  */
18847
- const RenderCard = ({ rec, index, tempMap, resolver, includesCtaType, isActive, isNineProduct }) => {
18848
- var _a, _b, _c, _d, _e;
18845
+ const RenderCard = ({ rec, index, tempMap, resolver, includesCtaType, isActive, value, isNineProduct }) => {
18849
18846
  const { schema } = useEditor();
18850
18847
  if (!(rec === null || rec === void 0 ? void 0 : rec.video))
18851
18848
  return null;
18852
- let cta = null;
18853
- 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) {
18854
- cta = '多商品CTA';
18855
- }
18856
- else if ((_c = rec === null || rec === void 0 ? void 0 : rec.video) === null || _c === void 0 ? void 0 : _c.bindProduct) {
18857
- cta = '商品CTA';
18858
- }
18859
- else {
18860
- 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;
18861
- }
18862
- const value = tempMap === null || tempMap === void 0 ? void 0 : tempMap[cta];
18863
18849
  const renderComp = React.useMemo(() => {
18864
18850
  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;
18865
18851
  // 如果includesCtaType有值,则只渲染includesCtaType包含的cta类型组件,用于在页面某处只显示某一组件
@@ -18887,7 +18873,7 @@ Made in Italy` })));
18887
18873
  const sbf = style.backdropFilter;
18888
18874
  style.backdropFilter = `blur(${sbf !== null && sbf !== void 0 ? sbf : 0}px)`;
18889
18875
  }
18890
- 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 })));
18876
+ 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 })));
18891
18877
  }
18892
18878
  else {
18893
18879
  return null;
@@ -19035,6 +19021,7 @@ Made in Italy` })));
19035
19021
  const skipLinkRef = React.useRef(false);
19036
19022
  const [pageNum, setPageNum] = React.useState(2);
19037
19023
  const videoWidgetRef = React.useRef(null);
19024
+ const fbcRef = React.useRef('');
19038
19025
  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();
19039
19026
  const { backMainFeed, productView, jumpToWeb } = useEventReport();
19040
19027
  const isShowFingerTip = React.useMemo(() => {
@@ -19310,17 +19297,17 @@ Made in Italy` })));
19310
19297
  index === ((rtcList === null || rtcList === void 0 ? void 0 : rtcList[0]) === 'organic menu' ? 2 : 1) &&
19311
19298
  ((_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));
19312
19299
  return (React.createElement(React.Fragment, null,
19313
- isNineProduct && (React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, isActive: index === activeIndex, isNineProduct: isNineProduct })),
19300
+ isNineProduct && (React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, isActive: index === activeIndex, value: value, isNineProduct: isNineProduct })),
19314
19301
  ((_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' }),
19315
19302
  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` } },
19316
19303
  React.createElement(Nudge, { nudge: nudge }),
19317
19304
  ((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' },
19318
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, isActive: index === activeIndex }))) : null,
19305
+ React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, isActive: index === activeIndex, value: value }))) : null,
19319
19306
  React.createElement("div", { style: { display: 'flex', flexDirection: 'column' } },
19320
19307
  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 }),
19321
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, includesCtaType: ['AniLink'], isActive: index === activeIndex }),
19308
+ React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, includesCtaType: ['AniLink'], isActive: index === activeIndex, value: value }),
19322
19309
  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) }))),
19323
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, includesCtaType: ['AniLinkPopup'], isActive: index === activeIndex })));
19310
+ React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, includesCtaType: ['AniLinkPopup'], isActive: index === activeIndex, value: value })));
19324
19311
  }
19325
19312
  return null;
19326
19313
  }, [
@@ -19478,6 +19465,35 @@ Made in Italy` })));
19478
19465
  viewTime.current = new Date();
19479
19466
  }
19480
19467
  }, [openHashtag, data, activeIndex]);
19468
+ React.useEffect(() => {
19469
+ if (!(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enableCookieSetting))
19470
+ return;
19471
+ window.OptanonWrapper = function () {
19472
+ var _a, _b;
19473
+ const activeGroups = window === null || window === void 0 ? void 0 : window.OnetrustActiveGroups;
19474
+ if (!activeGroups)
19475
+ return;
19476
+ if (activeGroups === null || activeGroups === void 0 ? void 0 : activeGroups.includes('4')) {
19477
+ if (fbcRef.current) {
19478
+ setCookie('_fbc', fbcRef.current, 90);
19479
+ }
19480
+ }
19481
+ else {
19482
+ fbcRef.current = getCookie('_fbc');
19483
+ deleteCookie('_fbc');
19484
+ const item = data[activeIndex];
19485
+ 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) || '';
19486
+ bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
19487
+ eventInfo: {
19488
+ eventSubject: 'refuseCookie',
19489
+ eventDescription: 'refuseCookie',
19490
+ traceInfo
19491
+ },
19492
+ isActiveTargetingCookie: false
19493
+ });
19494
+ }
19495
+ };
19496
+ }, [globalConfig, bffEventReport, data, activeIndex]);
19481
19497
  const handleViewImageStartEvent = (activeIndex, imgInfo, enableCapi) => {
19482
19498
  var _a, _b, _c, _d, _e, _f, _g, _h;
19483
19499
  const item = data[activeIndex];
@@ -19925,7 +19941,7 @@ Made in Italy` })));
19925
19941
  const CTA = (rec, index) => {
19926
19942
  if ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowCTA) === undefined || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowCTA)) {
19927
19943
  return (React.createElement("div", { className: 'clc-sxp-bottom-card' },
19928
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$2, isActive: true })));
19944
+ React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$2 })));
19929
19945
  }
19930
19946
  return null;
19931
19947
  };
@@ -19938,10 +19954,8 @@ Made in Italy` })));
19938
19954
  React.createElement(Nudge, { nudge: nudge }),
19939
19955
  CTA(rec, index),
19940
19956
  React.createElement("div", null,
19941
- 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' }) }),
19942
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$2, includesCtaType: ['AniLink'], isActive: true })),
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 })),
19944
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$2, includesCtaType: ['AniLinkPopup'], isActive: true })));
19957
+ 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' }) })),
19958
+ 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 }))));
19945
19959
  }
19946
19960
  return null;
19947
19961
  };
@@ -20331,10 +20345,21 @@ Made in Italy` })));
20331
20345
  return null;
20332
20346
  }, [globalConfig]);
20333
20347
  const renderBottom = (rec, index) => {
20334
- var _a, _b, _c, _d;
20348
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
20335
20349
  if (rec === null || rec === void 0 ? void 0 : rec.video) {
20350
+ let cta = null;
20351
+ 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) {
20352
+ cta = '多商品CTA';
20353
+ }
20354
+ else if ((_c = rec === null || rec === void 0 ? void 0 : rec.video) === null || _c === void 0 ? void 0 : _c.bindProduct) {
20355
+ cta = '商品CTA';
20356
+ }
20357
+ else {
20358
+ 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;
20359
+ }
20360
+ const value = tempMap === null || tempMap === void 0 ? void 0 : tempMap[cta];
20336
20361
  return (React.createElement(React.Fragment, null,
20337
- ((_a = rec === null || rec === void 0 ? void 0 : rec.video) === null || _a === void 0 ? void 0 : _a.title) && (React.createElement("div", { style: {
20362
+ ((_f = rec === null || rec === void 0 ? void 0 : rec.video) === null || _f === void 0 ? void 0 : _f.title) && (React.createElement("div", { style: {
20338
20363
  background: 'repeating-linear-gradient(0deg, rgba(26, 26, 25, 0.7), hsla(0, 0%, 100%, 0))',
20339
20364
  height: '130px',
20340
20365
  position: 'absolute',
@@ -20345,7 +20370,7 @@ Made in Italy` })));
20345
20370
  pointerEvents
20346
20371
  } })),
20347
20372
  React.createElement("div", { style: {
20348
- marginBottom: `${(_b = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.bottomInfoDist) !== null && _b !== void 0 ? _b : 40}px`,
20373
+ marginBottom: `${(_g = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.bottomInfoDist) !== null && _g !== void 0 ? _g : 40}px`,
20349
20374
  zIndex: 999,
20350
20375
  position: 'absolute',
20351
20376
  bottom: 0,
@@ -20354,15 +20379,15 @@ Made in Italy` })));
20354
20379
  paddingTop: '20px'
20355
20380
  } },
20356
20381
  (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowCTA) === undefined || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowCTA) ? (React.createElement("div", { style: {} },
20357
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$1, isActive: index === activeIndex }))) : null,
20382
+ React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$1, isActive: index === activeIndex, value: value }))) : null,
20358
20383
  React.createElement("div", null,
20359
20384
  React.createElement(ExpandableText$1
20360
20385
  // className='clc-sxp-bottom-text'
20361
20386
  , {
20362
20387
  // className='clc-sxp-bottom-text'
20363
- 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' }) }),
20364
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$1, includesCtaType: ['AniLink'], isActive: index === activeIndex }))),
20365
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$1, includesCtaType: ['AniLinkPopup'], isActive: index === activeIndex })));
20388
+ 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' }) }),
20389
+ React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$1, includesCtaType: ['AniLink'], isActive: index === activeIndex, value: value }))),
20390
+ React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$1, includesCtaType: ['AniLinkPopup'], isActive: index === activeIndex, value: value })));
20366
20391
  }
20367
20392
  return null;
20368
20393
  };