pb-sxp-ui 1.18.2 → 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 (74) hide show
  1. package/dist/index.cjs +364 -252
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.css +7 -15
  4. package/dist/index.js +364 -252
  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 +364 -252
  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.d.ts +1 -0
  19. package/es/core/components/SxpPageRender/index.js +98 -64
  20. package/es/core/context/SxpDataSourceProvider.d.ts +2 -0
  21. package/es/core/context/SxpDataSourceProvider.js +71 -27
  22. package/es/core/utils/tool.d.ts +3 -1
  23. package/es/core/utils/tool.js +29 -1
  24. package/es/materials/sxp/consentPopup/Display/index.js +1 -1
  25. package/es/materials/sxp/cta/AniLinkPopup/material.js +3 -2
  26. package/es/materials/sxp/popup/CommodityDetail/material.js +2 -1
  27. package/es/materials/sxp/popup/CommodityList/index.js +5 -4
  28. package/es/materials/sxp/popup/CommodityList/material.js +1 -1
  29. package/es/materials/sxp/popup/CommodityList/settingRender.js +1 -1
  30. package/es/materials/sxp/template/Appoint/material.js +2 -1
  31. package/es/materials/sxp/template/Commodity/material.js +3 -2
  32. package/es/materials/sxp/template/CommodityDiro/material.js +3 -2
  33. package/es/materials/sxp/template/CommodityDiroNew/material.js +4 -2
  34. package/es/materials/sxp/template/Link/material.js +4 -2
  35. package/es/materials/sxp/template/MultiCommodity/index.js +2 -2
  36. package/es/materials/sxp/template/MultiCommodity/material.js +2 -1
  37. package/es/materials/sxp/template/MultiCommodityDiro/index.js +2 -2
  38. package/es/materials/sxp/template/MultiCommodityDiro/material.js +3 -2
  39. package/es/materials/sxp/template/MultiCommodityDiroNew/index.js +2 -2
  40. package/es/materials/sxp/template/MultiCommodityDiroNew/material.js +4 -2
  41. package/es/materials/sxp/template/NineCommodity/material.js +3 -2
  42. package/es/materials/sxp/template/components/CommodityGroup.js +1 -1
  43. package/es/materials/sxp/template/components/settingRender.js +1 -1
  44. package/lib/core/components/DiyPortalPreview/index.js +3 -5
  45. package/lib/core/components/DiyStoryPreview/index.js +18 -7
  46. package/lib/core/components/SxpPageRender/RenderCard.d.ts +1 -0
  47. package/lib/core/components/SxpPageRender/RenderCard.js +2 -14
  48. package/lib/core/components/SxpPageRender/index.d.ts +1 -0
  49. package/lib/core/components/SxpPageRender/index.js +98 -64
  50. package/lib/core/context/SxpDataSourceProvider.d.ts +2 -0
  51. package/lib/core/context/SxpDataSourceProvider.js +71 -27
  52. package/lib/core/utils/tool.d.ts +3 -1
  53. package/lib/core/utils/tool.js +31 -1
  54. package/lib/materials/sxp/consentPopup/Display/index.js +1 -1
  55. package/lib/materials/sxp/cta/AniLinkPopup/material.js +2 -1
  56. package/lib/materials/sxp/popup/CommodityDetail/material.js +2 -1
  57. package/lib/materials/sxp/popup/CommodityList/index.js +5 -4
  58. package/lib/materials/sxp/popup/CommodityList/material.js +1 -1
  59. package/lib/materials/sxp/popup/CommodityList/settingRender.js +1 -1
  60. package/lib/materials/sxp/template/Appoint/material.js +2 -1
  61. package/lib/materials/sxp/template/Commodity/material.js +3 -2
  62. package/lib/materials/sxp/template/CommodityDiro/material.js +3 -2
  63. package/lib/materials/sxp/template/CommodityDiroNew/material.js +4 -2
  64. package/lib/materials/sxp/template/Link/material.js +4 -2
  65. package/lib/materials/sxp/template/MultiCommodity/index.js +2 -2
  66. package/lib/materials/sxp/template/MultiCommodity/material.js +2 -1
  67. package/lib/materials/sxp/template/MultiCommodityDiro/index.js +2 -2
  68. package/lib/materials/sxp/template/MultiCommodityDiro/material.js +3 -2
  69. package/lib/materials/sxp/template/MultiCommodityDiroNew/index.js +2 -2
  70. package/lib/materials/sxp/template/MultiCommodityDiroNew/material.js +4 -2
  71. package/lib/materials/sxp/template/NineCommodity/material.js +3 -2
  72. package/lib/materials/sxp/template/components/CommodityGroup.js +1 -1
  73. package/lib/materials/sxp/template/components/settingRender.js +1 -1
  74. package/package.json +1 -1
package/dist/pb-ui.js CHANGED
@@ -291,6 +291,42 @@
291
291
  });
292
292
  return splitList !== null && splitList !== void 0 ? splitList : [];
293
293
  }
294
+ function deleteCookie(name, path = '/', domain = '') {
295
+ // 设置过期时间为过去的时间
296
+ const expiration = 'expires=Thu, 01 Jan 1970 00:00:00 GMT';
297
+ const pathPart = path ? `; path=${path}` : '';
298
+ const domainPart = domain ? `; domain=${domain}` : '';
299
+ // 设置Cookie值为空,过期时间设为过去
300
+ document.cookie = `${name}=; ${expiration}${pathPart}${domainPart}`;
301
+ console.log(`已尝试删除Cookie: ${name}`);
302
+ }
303
+ function setCookie(name, value, days = 0, path = '/', domain = '', secure = false, sameSite = 'Lax') {
304
+ let cookieString = `${encodeURIComponent(name)}=${encodeURIComponent(value)}`;
305
+ // 设置过期时间
306
+ if (days) {
307
+ const date = new Date();
308
+ date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);
309
+ cookieString += `; expires=${date.toUTCString()}`;
310
+ }
311
+ // 设置路径
312
+ if (path) {
313
+ cookieString += `; path=${path}`;
314
+ }
315
+ // 设置域名
316
+ if (domain) {
317
+ cookieString += `; domain=${domain}`;
318
+ }
319
+ // 设置Secure标志
320
+ if (secure) {
321
+ cookieString += '; secure';
322
+ }
323
+ // 设置SameSite属性
324
+ if (sameSite) {
325
+ cookieString += `; samesite=${sameSite}`;
326
+ }
327
+ // 设置Cookie
328
+ document.cookie = cookieString;
329
+ }
294
330
 
295
331
  function unzip(b64Data) {
296
332
  const strData = atob(b64Data);
@@ -728,6 +764,23 @@
728
764
  var _a;
729
765
  return ((_a = bffDataSource === null || bffDataSource === void 0 ? void 0 : bffDataSource.headers) === null || _a === void 0 ? void 0 : _a['x-app-id']) + storeAndLoadFeUserId();
730
766
  }, [bffDataSource]);
767
+ const getTargetingCookie = () => {
768
+ var _a;
769
+ function getCookie(name) {
770
+ var _a;
771
+ const value = `; ${document.cookie}`;
772
+ const parts = value.split(`; ${name}=`);
773
+ if (parts.length === 2)
774
+ return (_a = parts.pop()) === null || _a === void 0 ? void 0 : _a.split(';').shift();
775
+ return '';
776
+ }
777
+ decodeURIComponent((_a = getCookie('OptanonConsent')) !== null && _a !== void 0 ? _a : '');
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')))) {
780
+ return true;
781
+ }
782
+ return false;
783
+ };
731
784
  // bff API 请求方法
732
785
  const bffFetch = React.useCallback((path, options, isBota = true) => {
733
786
  var _a;
@@ -754,6 +807,8 @@
754
807
  }, [bffDataSource, fakeUserId]);
755
808
  const bffCollectEvent = React.useCallback((params) => {
756
809
  var _a;
810
+ if (getTargetingCookie())
811
+ return Promise.resolve();
757
812
  const body = {
758
813
  eventName: params === null || params === void 0 ? void 0 : params.eventName,
759
814
  eventSource: params === null || params === void 0 ? void 0 : params.eventSource
@@ -766,36 +821,39 @@
766
821
  }, false);
767
822
  }, [bffFetch, bffDataSource]);
768
823
  React.useEffect(() => {
769
- if (typeof (window === null || window === void 0 ? void 0 : window.fbq) === 'function') {
770
- const OriginalImage = window.Image;
771
- window.Image = function () {
772
- const img = new OriginalImage();
773
- // 劫持 src 的 setter
774
- const originalSrcDescriptor = Object.getOwnPropertyDescriptor(HTMLImageElement.prototype, 'src');
775
- Object.defineProperty(img, 'src', {
776
- set(value) {
777
- // 继续正常设置 src
778
- originalSrcDescriptor.set.call(this, value);
779
- // img.onload = function () {
780
- // 检查是否是目标 URL
781
- if (value.includes('https://www.facebook.com/privacy_sandbox/pixel/register/trigger/')) {
782
- // 解析 URL 参数
783
- const url = new URL(value);
784
- const params = Object.fromEntries(url.searchParams.entries());
785
- bffCollectEvent({
786
- eventName: params === null || params === void 0 ? void 0 : params.ev,
787
- eventSource: 'Meta Pixel'
788
- });
789
- // }
790
- }
791
- },
792
- get() {
793
- return originalSrcDescriptor.get.call(this);
824
+ // if (typeof (window as any)?.fbq === 'function') {
825
+ const OriginalImage = window.Image;
826
+ window.Image = function () {
827
+ const img = new OriginalImage();
828
+ // 劫持 src 的 setter
829
+ const originalSrcDescriptor = Object.getOwnPropertyDescriptor(HTMLImageElement.prototype, 'src');
830
+ Object.defineProperty(img, 'src', {
831
+ set(value) {
832
+ if (getTargetingCookie() && (value.includes('https://www.facebook.com/privacy_sandbox/pixel/register/trigger/') || value.includes('https://www.facebook.com/tr'))) {
833
+ return;
794
834
  }
795
- });
796
- return img;
797
- };
798
- }
835
+ // 继续正常设置 src
836
+ originalSrcDescriptor.set.call(this, value);
837
+ // img.onload = function () {
838
+ // 检查是否是目标 URL
839
+ if (value.includes('https://www.facebook.com/privacy_sandbox/pixel/register/trigger/')) {
840
+ // 解析 URL 参数
841
+ const url = new URL(value);
842
+ const params = Object.fromEntries(url.searchParams.entries());
843
+ bffCollectEvent({
844
+ eventName: params === null || params === void 0 ? void 0 : params.ev,
845
+ eventSource: 'Meta Pixel'
846
+ });
847
+ // }
848
+ }
849
+ },
850
+ get() {
851
+ return originalSrcDescriptor.get.call(this);
852
+ }
853
+ });
854
+ return img;
855
+ };
856
+ // }
799
857
  }, [bffCollectEvent]);
800
858
  React.useEffect(() => {
801
859
  // 类型安全声明
@@ -809,6 +867,9 @@
809
867
  // 覆盖方法
810
868
  navigatorWithBeacon.sendBeacon = function (url, data) {
811
869
  const urlString = url instanceof URL ? url.href : url.toString();
870
+ if (getTargetingCookie() && (urlString.includes('https://tr.snapchat.com/p') || urlString.includes('https://analytics.tiktok.com/api/v2/pixel'))) {
871
+ return true;
872
+ }
812
873
  const success = originalSendBeacon(url, data);
813
874
  function parseBeaconData(data) {
814
875
  return __awaiter(this, void 0, void 0, function* () {
@@ -880,6 +941,9 @@
880
941
  return _originalFetch.apply(this, arguments_1);
881
942
  }
882
943
  try {
944
+ if (getTargetingCookie() && (url.includes('https://www.google-analytics.com/g/collect') || url.includes('https://arms-retcode.aliyuncs.com/r.png'))) {
945
+ return Promise.resolve(new Response(''));
946
+ }
883
947
  // 1. 先执行原始请求
884
948
  const response = _originalFetch.apply(this, arguments_1);
885
949
  // 检查是否是 GA4 收集端点
@@ -933,6 +997,9 @@
933
997
  };
934
998
  XMLHttpRequest.prototype.send = function (body) {
935
999
  var _a;
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'))) {
1001
+ return;
1002
+ }
936
1003
  if (this._url && typeof this._url === 'string' && this._url.includes('https://i.giesswein.com/nb-collector')) {
937
1004
  if (body && typeof body === 'string') {
938
1005
  try {
@@ -1085,10 +1152,10 @@
1085
1152
  }
1086
1153
  return expire;
1087
1154
  }, [data]);
1088
- const bffEventReport = React.useCallback(({ userInfo, eventInfo, reportLayId = true }) => {
1155
+ const bffEventReport = React.useCallback(({ userInfo, eventInfo, reportLayId = true, isActiveTargetingCookie = true }) => {
1089
1156
  var _a, _b;
1090
1157
  // 关闭 BFF 事件上报
1091
- if (!enableReportEvent || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview)) {
1158
+ if (!enableReportEvent || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview) || (isActiveTargetingCookie && getTargetingCookie())) {
1092
1159
  return;
1093
1160
  }
1094
1161
  // 用户信息都是公共的
@@ -1194,7 +1261,7 @@
1194
1261
  }, [fakeUserId]);
1195
1262
  const bffFbReport = React.useCallback(({ eventName, product }) => {
1196
1263
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
1197
- if (!enableReportEvent || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview)) {
1264
+ if (!enableReportEvent || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview) || getTargetingCookie()) {
1198
1265
  return;
1199
1266
  }
1200
1267
  let isPushState = false;
@@ -2632,35 +2699,6 @@
2632
2699
  }
2633
2700
  ];
2634
2701
 
2635
- /*
2636
- * @Author: binruan@chatlabs.com
2637
- * @Date: 2024-07-09 14:35:10
2638
- * @LastEditors: binruan@chatlabs.com
2639
- * @LastEditTime: 2024-07-12 17:53:02
2640
- * @FilePath: \pb-sxp-ui\src\materials\sxp\popup\CommodityDetail\interactionRender.tsx
2641
- *
2642
- */
2643
- /*
2644
- * @Author: binruan@chatlabs.com
2645
- * @Date: 2024-07-05 14:08:41
2646
- * @LastEditors: binruan@chatlabs.com
2647
- * @LastEditTime: 2024-07-09 14:34:49
2648
- * @FilePath: \pb-sxp-ui\src\materials\sxp\cta\AniLink\interactionRender.tsx
2649
- *
2650
- */
2651
- var interactionRender$g = [
2652
- {
2653
- title: '滑动事件',
2654
- child: [
2655
- {
2656
- type: 'Switch',
2657
- label: '滑动铺满全屏',
2658
- name: ['isScrollFullScreen']
2659
- }
2660
- ]
2661
- }
2662
- ];
2663
-
2664
2702
  /**
2665
2703
  * SSR Window 4.0.2
2666
2704
  * Better handling for window object in SSR environment
@@ -10239,7 +10277,7 @@
10239
10277
  return (React.createElement(React.Fragment, null, (item === null || item === void 0 ? void 0 : item.bindCta) ? (React.createElement(SwiperSlide, { className: css.css({
10240
10278
  width: '50px',
10241
10279
  height: '50px',
10242
- marginInlineEnd: '10px'
10280
+ marginRight: '10px'
10243
10281
  }), onClick: () => {
10244
10282
  handleClick(item, index);
10245
10283
  }, key: index },
@@ -10838,6 +10876,35 @@
10838
10876
  };
10839
10877
  var CommodityDetailComponent = React.memo(CommodityDetail$1);
10840
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
+
10841
10908
  /*
10842
10909
  * @Author: binruan@chatlabs.com
10843
10910
  * @Date: 2023-07-28 18:29:57
@@ -10884,6 +10951,7 @@
10884
10951
  taxInfo: {
10885
10952
  color: '#000',
10886
10953
  fontSize: 13,
10954
+ textAlign: 'left',
10887
10955
  marginBottom: '10px'
10888
10956
  }
10889
10957
  },
@@ -11975,7 +12043,7 @@ Made in Italy` })));
11975
12043
  type: 'Number',
11976
12044
  label: '与右侧边距',
11977
12045
  addonAfter: 'px',
11978
- name: ['props', 'commodityPicture', 'marginInlineEnd']
12046
+ name: ['props', 'commodityPicture', 'marginRight']
11979
12047
  },
11980
12048
  {
11981
12049
  label: '居中垂直偏移',
@@ -12261,11 +12329,12 @@ Made in Italy` })));
12261
12329
  React.createElement("button", Object.assign({ role: 'button', "aria-label": item === null || item === void 0 ? void 0 : item.title, tabIndex: 0, className: css.css({
12262
12330
  display: 'flex',
12263
12331
  alignItems: 'normal',
12264
- width: '100%'
12332
+ width: '100%',
12333
+ textAlign: 'left'
12265
12334
  }) }, props),
12266
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 }),
12267
12336
  React.createElement("div", { style: {
12268
- 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)`,
12269
12338
  display: 'flex',
12270
12339
  flexDirection: 'column',
12271
12340
  justifyContent: 'space-between'
@@ -12346,7 +12415,7 @@ Made in Italy` })));
12346
12415
  commodityPicture: {
12347
12416
  width: 100,
12348
12417
  height: 100,
12349
- marginInlineEnd: 10
12418
+ marginRight: 10
12350
12419
  },
12351
12420
  commodityStyles: {
12352
12421
  price: {
@@ -12592,7 +12661,7 @@ Made in Italy` })));
12592
12661
  type: 'Number',
12593
12662
  label: '与右侧边距',
12594
12663
  addonAfter: 'px',
12595
- name: ['props', 'ctaTempStyles', 'img', 'marginInlineEnd']
12664
+ name: ['props', 'ctaTempStyles', 'img', 'marginRight']
12596
12665
  },
12597
12666
  {
12598
12667
  label: '居中垂直偏移',
@@ -12853,11 +12922,12 @@ Made in Italy` })));
12853
12922
  borderRadius: 3,
12854
12923
  width: 60,
12855
12924
  height: 60,
12856
- marginInlineEnd: 8
12925
+ marginRight: 8
12857
12926
  },
12858
12927
  title: {
12859
12928
  fontSize: 12,
12860
- color: '#fff'
12929
+ color: '#fff',
12930
+ textAlign: 'left'
12861
12931
  },
12862
12932
  ctaTitle: {
12863
12933
  fontSize: 10,
@@ -12935,11 +13005,12 @@ Made in Italy` })));
12935
13005
  borderRadius: 3,
12936
13006
  width: 30,
12937
13007
  height: 30,
12938
- marginInlineEnd: 8
13008
+ marginRight: 8
12939
13009
  },
12940
13010
  ctaTitle: {
12941
13011
  fontSize: 12,
12942
13012
  color: '#fff',
13013
+ textAlign: 'left',
12943
13014
  width: 130,
12944
13015
  height: 20
12945
13016
  }
@@ -13075,27 +13146,6 @@ Made in Italy` })));
13075
13146
  }
13076
13147
  ];
13077
13148
 
13078
- /*
13079
- * @Author: binruan@chatlabs.com
13080
- * @Date: 2024-08-09 16:59:38
13081
- * @LastEditors: binruan@chatlabs.com
13082
- * @LastEditTime: 2024-09-09 13:59:50
13083
- * @FilePath: \pb-sxp-ui\src\materials\sxp\template\Link\interactionRender.tsx
13084
- *
13085
- */
13086
- var interactionRender$a = [
13087
- {
13088
- title: '点击事件',
13089
- child: [
13090
- {
13091
- type: 'link',
13092
- name: 'onClick',
13093
- hiddenUrl: true
13094
- }
13095
- ]
13096
- }
13097
- ];
13098
-
13099
13149
  var styles$8 = {"tow-line-ellipsis":"index-module_tow-line-ellipsis__nkBlU","one-line-ellipsis":"index-module_one-line-ellipsis__buFw1"};
13100
13150
 
13101
13151
  const Link$1 = (_a) => {
@@ -13123,6 +13173,27 @@ Made in Italy` })));
13123
13173
  };
13124
13174
  var LinkComponent = React.memo(Link$1);
13125
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
+
13126
13197
  var _a;
13127
13198
  const Link = createMaterial(LinkComponent, {
13128
13199
  displayName: '普通CTA',
@@ -13141,17 +13212,19 @@ Made in Italy` })));
13141
13212
  borderRadius: 3,
13142
13213
  width: 60,
13143
13214
  height: 60,
13144
- marginInlineEnd: 8
13215
+ marginRight: 8
13145
13216
  },
13146
13217
  ctaTitle: {
13147
13218
  fontSize: 12,
13148
13219
  color: '#fff',
13220
+ textAlign: 'left',
13149
13221
  width: 130,
13150
13222
  height: 20
13151
13223
  }
13152
13224
  },
13153
13225
  customTitle: {
13154
13226
  style: {
13227
+ textAlign: 'left',
13155
13228
  textDecoration: 'underline',
13156
13229
  fontWeight: 'bold',
13157
13230
  width: 130,
@@ -13241,11 +13314,12 @@ Made in Italy` })));
13241
13314
  borderRadius: 3,
13242
13315
  width: 60,
13243
13316
  height: 60,
13244
- marginInlineEnd: 8
13317
+ marginRight: 8
13245
13318
  },
13246
13319
  title: {
13247
13320
  fontSize: 12,
13248
- color: '#000'
13321
+ color: '#000',
13322
+ textAlign: 'left'
13249
13323
  },
13250
13324
  ctaTitle: {
13251
13325
  fontSize: 10,
@@ -13336,17 +13410,19 @@ Made in Italy` })));
13336
13410
  borderRadius: 8,
13337
13411
  width: 78,
13338
13412
  height: 78,
13339
- marginInlineEnd: 16
13413
+ marginRight: 16
13340
13414
  },
13341
13415
  title: {
13342
13416
  fontSize: 13,
13343
- color: '#000'
13417
+ color: '#000',
13418
+ textAlign: 'left'
13344
13419
  },
13345
13420
  ctaTitle: {
13346
13421
  textDecoration: 'underline',
13347
13422
  fontSize: 14,
13348
13423
  fontWeight: 'bold',
13349
13424
  color: '#000',
13425
+ textAlign: 'left',
13350
13426
  width: 150,
13351
13427
  height: 20
13352
13428
  }
@@ -13388,7 +13464,7 @@ Made in Italy` })));
13388
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]);
13389
13465
  return (React.createElement(Scroll$1, { isPadding: !!recData }, products === null || products === void 0 ? void 0 : products.map((item, itemIndex) => {
13390
13466
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
13391
- 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' },
13392
13468
  React.createElement(EventProvider$1, Object.assign({ rec: recData, multItem: item, multiCheckIndex: itemIndex, index: index }, props),
13393
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 }),
13394
13470
  React.createElement("div", { className: css.css({
@@ -13434,11 +13510,12 @@ Made in Italy` })));
13434
13510
  borderRadius: 3,
13435
13511
  width: 60,
13436
13512
  height: 60,
13437
- marginInlineEnd: 8
13513
+ marginRight: 8
13438
13514
  },
13439
13515
  title: {
13440
13516
  fontSize: 12,
13441
- color: '#000'
13517
+ color: '#000',
13518
+ textAlign: 'left'
13442
13519
  },
13443
13520
  ctaTitle: {
13444
13521
  fontSize: 10,
@@ -13486,7 +13563,7 @@ Made in Italy` })));
13486
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]);
13487
13564
  return (React.createElement(Scroll$1, { isPadding: !!recData }, products === null || products === void 0 ? void 0 : products.map((item, itemIndex) => {
13488
13565
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
13489
- 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' },
13490
13567
  React.createElement(EventProvider$1, Object.assign({ rec: recData, multItem: item, multiCheckIndex: itemIndex, index: index }, props),
13491
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 }),
13492
13569
  React.createElement("div", { className: css.css({
@@ -13532,11 +13609,12 @@ Made in Italy` })));
13532
13609
  borderRadius: 3,
13533
13610
  width: 60,
13534
13611
  height: 60,
13535
- marginInlineEnd: 8
13612
+ marginRight: 8
13536
13613
  },
13537
13614
  title: {
13538
13615
  fontSize: 12,
13539
13616
  color: '#fff',
13617
+ textAlign: 'left'
13540
13618
  },
13541
13619
  ctaTitle: {
13542
13620
  fontSize: 10,
@@ -13592,7 +13670,7 @@ Made in Italy` })));
13592
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]);
13593
13671
  return (React.createElement(Scroll$1, { isPadding: !!recData }, products === null || products === void 0 ? void 0 : products.map((item, itemIndex) => {
13594
13672
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
13595
- 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' },
13596
13674
  React.createElement(EventProvider$1, Object.assign({ rec: recData, multItem: item, multiCheckIndex: itemIndex, index: index }, props),
13597
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 }),
13598
13676
  React.createElement("div", { className: css.css({
@@ -13639,17 +13717,19 @@ Made in Italy` })));
13639
13717
  borderRadius: 8,
13640
13718
  width: 78,
13641
13719
  height: 78,
13642
- marginInlineEnd: 16
13720
+ marginRight: 16
13643
13721
  },
13644
13722
  title: {
13645
13723
  fontSize: 12,
13646
- color: '#000'
13724
+ color: '#000',
13725
+ textAlign: 'left'
13647
13726
  },
13648
13727
  ctaTitle: {
13649
13728
  textDecoration: 'underline',
13650
13729
  fontSize: 12,
13651
13730
  fontWeight: 'bold',
13652
13731
  color: '#000',
13732
+ textAlign: 'left',
13653
13733
  width: 150,
13654
13734
  height: 20
13655
13735
  }
@@ -13744,11 +13824,12 @@ Made in Italy` })));
13744
13824
  borderRadius: 3,
13745
13825
  width: 60,
13746
13826
  height: 60,
13747
- marginInlineEnd: 8
13827
+ marginRight: 8
13748
13828
  },
13749
13829
  title: {
13750
13830
  fontSize: 12,
13751
- color: '#fff'
13831
+ color: '#fff',
13832
+ textAlign: 'left'
13752
13833
  },
13753
13834
  ctaTitle: {
13754
13835
  fontSize: 10,
@@ -16668,60 +16749,6 @@ Made in Italy` })));
16668
16749
  }
16669
16750
  ];
16670
16751
 
16671
- /*
16672
- * @Author: binruan@chatlabs.com
16673
- * @Date: 2024-07-24 14:58:40
16674
- * @LastEditors: binruan@chatlabs.com
16675
- * @LastEditTime: 2024-09-09 13:54:35
16676
- * @FilePath: \pb-sxp-ui\src\materials\sxp\cta\AniLinkPopup\interactionRender.tsx
16677
- *
16678
- */
16679
- var interactionRender$2 = [
16680
- {
16681
- title: '点击事件',
16682
- child: [
16683
- {
16684
- type: 'link',
16685
- name: 'onClick',
16686
- hiddenUrl: true
16687
- }
16688
- ]
16689
- },
16690
- {
16691
- title: '动画效果',
16692
- child: [
16693
- {
16694
- type: 'Select',
16695
- name: ['animation', 'name'],
16696
- label: '动画',
16697
- options: [
16698
- {
16699
- label: '默认',
16700
- value: 1
16701
- }
16702
- ],
16703
- fieldProps: {
16704
- style: {
16705
- width: '100%'
16706
- }
16707
- }
16708
- },
16709
- {
16710
- type: 'Number',
16711
- label: '动画启动时间',
16712
- name: ['animation', 'delay'],
16713
- addonAfter: 'ms'
16714
- },
16715
- {
16716
- type: 'Number',
16717
- label: '动画持续时间',
16718
- name: ['animation', 'duration'],
16719
- addonAfter: 'ms'
16720
- }
16721
- ]
16722
- }
16723
- ];
16724
-
16725
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"};
16726
16753
 
16727
16754
  const closeIcon = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAjhJREFUWEfFlztOw0AQhmeWiJ4CCmpQ5DiRQsIJyAWg5A0lR0AIChDiCJS8ER0cADgBeRSxt4CCDgkaKiq8i+zYeWx2413HEWmiJJv9v535Z2aN8M8vFPT9z3zETD0aAUChUJjwvPFHAJhBhB3Hqd6OAsK2yyucwykAvP38eJX398Z3AJDLlVYR8ToU9Rhj25TWr9KEsKy5dULIGQCMtfZly45TvwsAstm56UwG6wA4FUFwzrdctxZBDcWSy5XWEPG8I84/GcMipdWPtgcsaz5PCHtKG0IuTiqUvjT9U/WYMG2IOPE+AP+LtCB0xKUAAyA2Xbd2o2OG0NQXvTnvhL17D7EPtH9TRCIWwkRcGYGIQgYBABuqPuHXOQBc6pw80lBGwBQiiXhsBHQhkoprA6iM6acjhDQKu5YJZW6XeOI3XJdpvfsdTu52VfXEekD8owQiXGIubpSCbhDbLu8DwKEAd+A41SOdPpE4BS0viFOtvV2iKWqUgn5x/tmS70xR01GuDSCKc86/OCcLgTyyZ0ScDGNhFAktAJV4NFJ9YyaFiAWIE+9uVkkgBgLoig8DMWAa9ro9ynkUdlW5maZDCmB6clmz0k1HH4Cs1Ezbq2p2yEpUuBOKTSZZex00RUWIrltxuuK6EOGDSbGIOPZicpMx6fny650377qNRgBgWeVFQuA+6UjVgREhGIMlSqsPUQqIbZdOOIdZQmCv2axRnU1N1+TzJYsxOEaEV8ep7frPZ7Gd0FTEdP0ft0/kMNdg0eoAAAAASUVORK5CYII=';
@@ -16794,6 +16821,60 @@ Made in Italy` })));
16794
16821
  };
16795
16822
  var AniLinkPopupComponent = React.memo(AniLinkPopup$1);
16796
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
+
16797
16878
  /*
16798
16879
  * @Author: binruan@chatlabs.com
16799
16880
  * @Date: 2024-07-24 14:58:40
@@ -16832,6 +16913,7 @@ Made in Italy` })));
16832
16913
  title: {
16833
16914
  fontSize: 14,
16834
16915
  color: '#000',
16916
+ textAlign: 'left',
16835
16917
  lineHeight: 2.6
16836
16918
  },
16837
16919
  ctaTitle: {
@@ -17060,7 +17142,7 @@ Made in Italy` })));
17060
17142
  React.createElement("span", { style: content === null || content === void 0 ? void 0 : content.style, dangerouslySetInnerHTML: {
17061
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)
17062
17144
  } }),
17063
- 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: {
17064
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)
17065
17147
  }, onClick: handleClick })),
17066
17148
  isShowClose && (React.createElement("button", { "aria-label": 'close', className: 'consentPopupDisplay-close', onClick: handleClickClose },
@@ -18760,22 +18842,10 @@ Made in Italy` })));
18760
18842
  * @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\RenderCard.tsx
18761
18843
  *
18762
18844
  */
18763
- const RenderCard = ({ rec, index, tempMap, resolver, includesCtaType, isActive, isNineProduct }) => {
18764
- var _a, _b, _c, _d, _e;
18845
+ const RenderCard = ({ rec, index, tempMap, resolver, includesCtaType, isActive, value, isNineProduct }) => {
18765
18846
  const { schema } = useEditor();
18766
18847
  if (!(rec === null || rec === void 0 ? void 0 : rec.video))
18767
18848
  return null;
18768
- let cta = null;
18769
- 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) {
18770
- cta = '多商品CTA';
18771
- }
18772
- else if ((_c = rec === null || rec === void 0 ? void 0 : rec.video) === null || _c === void 0 ? void 0 : _c.bindProduct) {
18773
- cta = '商品CTA';
18774
- }
18775
- else {
18776
- 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;
18777
- }
18778
- const value = tempMap === null || tempMap === void 0 ? void 0 : tempMap[cta];
18779
18849
  const renderComp = React.useMemo(() => {
18780
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;
18781
18851
  // 如果includesCtaType有值,则只渲染includesCtaType包含的cta类型组件,用于在页面某处只显示某一组件
@@ -18803,7 +18873,7 @@ Made in Italy` })));
18803
18873
  const sbf = style.backdropFilter;
18804
18874
  style.backdropFilter = `blur(${sbf !== null && sbf !== void 0 ? sbf : 0}px)`;
18805
18875
  }
18806
- 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 })));
18807
18877
  }
18808
18878
  else {
18809
18879
  return null;
@@ -18951,6 +19021,7 @@ Made in Italy` })));
18951
19021
  const skipLinkRef = React.useRef(false);
18952
19022
  const [pageNum, setPageNum] = React.useState(2);
18953
19023
  const videoWidgetRef = React.useRef(null);
19024
+ const fbcRef = React.useRef('');
18954
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();
18955
19026
  const { backMainFeed, productView, jumpToWeb } = useEventReport();
18956
19027
  const isShowFingerTip = React.useMemo(() => {
@@ -19226,17 +19297,17 @@ Made in Italy` })));
19226
19297
  index === ((rtcList === null || rtcList === void 0 ? void 0 : rtcList[0]) === 'organic menu' ? 2 : 1) &&
19227
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));
19228
19299
  return (React.createElement(React.Fragment, null,
19229
- 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 })),
19230
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' }),
19231
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` } },
19232
19303
  React.createElement(Nudge, { nudge: nudge }),
19233
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' },
19234
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, isActive: index === activeIndex }))) : null,
19235
- React.createElement("div", null,
19305
+ React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, isActive: index === activeIndex, value: value }))) : null,
19306
+ React.createElement("div", { style: { display: 'flex', flexDirection: 'column' } },
19236
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 }),
19237
- 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 }),
19238
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) }))),
19239
- 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 })));
19240
19311
  }
19241
19312
  return null;
19242
19313
  }, [
@@ -19394,6 +19465,35 @@ Made in Italy` })));
19394
19465
  viewTime.current = new Date();
19395
19466
  }
19396
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]);
19397
19497
  const handleViewImageStartEvent = (activeIndex, imgInfo, enableCapi) => {
19398
19498
  var _a, _b, _c, _d, _e, _f, _g, _h;
19399
19499
  const item = data[activeIndex];
@@ -19478,68 +19578,71 @@ Made in Italy` })));
19478
19578
  isReload,
19479
19579
  renderToggleButton
19480
19580
  ]);
19481
- return (React.createElement("div", { id: 'sxp-render', className: 'clc-sxp-container' }, (data === null || data === void 0 ? void 0 : data.length) < 1 && loading ? (React.createElement("div", { style: { height, width: containerWidth, display: 'flex', justifyContent: 'center', alignItems: 'center' } },
19482
- React.createElement("img", { width: 64, height: 64, src: loadingImage, alt: 'loading...', style: { objectFit: 'contain' } }))) : (React.createElement("div", { style: Object.assign({}, ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.textUnderlineOffset) && { textUnderlineOffset: `${globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.textUnderlineOffset}px` })) },
19483
- waterFallData && (React.createElement(Navbar$1, { icon: img, styles: { background: 'rgba(0,0,0,.3)', color: '#fff', top: `${minusHeight}px` }, textStyle: Object.assign(Object.assign({}, (_e = (_d = (_c = (_b = (_a = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.hashTag) === 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.textStyles) === null || _e === void 0 ? void 0 : _e.hashTagTitle), { color: '#fff' }), onClose: () => {
19484
- const isEq = lodash.isEqual(rtcList, cacheRtcList);
19485
- if (!isEq && cacheRtcList && (cacheRtcList === null || cacheRtcList === void 0 ? void 0 : cacheRtcList.length)) {
19486
- setRtcList === null || setRtcList === void 0 ? void 0 : setRtcList(cacheRtcList);
19487
- }
19488
- setOpenHashtag === null || setOpenHashtag === void 0 ? void 0 : setOpenHashtag(true);
19489
- } })),
19490
- renderLogo,
19491
- React.createElement(Tagbar$1, { tagList: tagList, setActiveIndex: setActiveIndex, style: {
19492
- top: minusHeight
19493
- } }),
19494
- ((_f = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.backButton) === null || _f === void 0 ? void 0 : _f.enable) && !channel && !openMultiPosts && !waterFallData && (React.createElement(NavBack$1, { data: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.backButton, minusHeight: minusHeight, tagHeight: tagHeight, onClick: () => history === null || history === void 0 ? void 0 : history.back() })),
19495
- ((((_l = (_k = (_j = (_h = (_g = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.multiPosts) === null || _g === void 0 ? void 0 : _g[0]) === null || _h === void 0 ? void 0 : _h.item) === null || _j === void 0 ? void 0 : _j.props) === null || _k === void 0 ? void 0 : _k.backButton) === null || _l === void 0 ? void 0 : _l.enable) && channel) || openMultiPosts) &&
19496
- !waterFallData && (React.createElement(NavBack$1, { data: (_q = (_p = (_o = (_m = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.multiPosts) === null || _m === void 0 ? void 0 : _m[0]) === null || _o === void 0 ? void 0 : _o.item) === null || _p === void 0 ? void 0 : _p.props) === null || _q === void 0 ? void 0 : _q.backButton, minusHeight: minusHeight, tagHeight: tagHeight, onClick: () => {
19497
- var _a, _b;
19498
- const item = visList === null || visList === void 0 ? void 0 : visList[activeIndex];
19499
- bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
19500
- eventInfo: {
19501
- eventSubject: 'backMultiPostClick',
19502
- eventDescription: 'backMultiPostClick',
19503
- 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) || ''
19581
+ return (React.createElement("div", { id: 'sxp-render', className: 'clc-sxp-container' },
19582
+ (data === null || data === void 0 ? void 0 : data.length) < 1 && loading ? (React.createElement("div", { style: { height, width: containerWidth, display: 'flex', justifyContent: 'center', alignItems: 'center' } },
19583
+ React.createElement("img", { width: 64, height: 64, src: loadingImage, alt: 'loading...', style: { objectFit: 'contain' } }))) : (React.createElement("div", { style: Object.assign({}, ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.textUnderlineOffset) && { textUnderlineOffset: `${globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.textUnderlineOffset}px` })) },
19584
+ waterFallData && (React.createElement(Navbar$1, { icon: img, styles: { background: 'rgba(0,0,0,.3)', color: '#fff', top: `${minusHeight}px` }, textStyle: Object.assign(Object.assign({}, (_e = (_d = (_c = (_b = (_a = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.hashTag) === 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.textStyles) === null || _e === void 0 ? void 0 : _e.hashTagTitle), { color: '#fff' }), onClose: () => {
19585
+ const isEq = lodash.isEqual(rtcList, cacheRtcList);
19586
+ if (!isEq && cacheRtcList && (cacheRtcList === null || cacheRtcList === void 0 ? void 0 : cacheRtcList.length)) {
19587
+ setRtcList === null || setRtcList === void 0 ? void 0 : setRtcList(cacheRtcList);
19504
19588
  }
19505
- });
19506
- location === null || location === void 0 ? void 0 : location.reload();
19507
- } })),
19508
- isShowFingerTip ? (React.createElement(FingerSwipeTip, { imageUrl: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.swipeTipIcon, style: { top: `${50 - ((_r = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.swipeTipOffset) !== null && _r !== void 0 ? _r : 0)}%` }, duration: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.swiperTipAniDur })) : null,
19509
- React.createElement(Swiper, { style: {
19510
- marginTop: tagHeight
19511
- }, ref: swiperRef, onSlideChange: () => {
19512
- swiperRef.current.swiper.allowTouchMove = false;
19513
- setTimeout(() => {
19514
- swiperRef.current.swiper.allowTouchMove = true;
19515
- }, 500);
19516
- }, onActiveIndexChange: (swiper) => {
19517
- setActiveIndex(swiper.activeIndex);
19518
- if (openHashtag)
19519
- return;
19520
- // 处理上滑下滑事件
19521
- handleScrollEvent(swiper);
19522
- if (waterFallData || isEditor || isDiyH5)
19523
- return;
19524
- if ((swiper === null || swiper === void 0 ? void 0 : swiper.activeIndex) + 1 >= (data === null || data === void 0 ? void 0 : data.length)) {
19525
- if (!isLoadMore) {
19526
- setIsLoadMore(true);
19527
- loadVideos === null || loadVideos === void 0 ? void 0 : loadVideos(pageNum).then((res) => {
19528
- var _a;
19529
- setIsLoadMore(false);
19530
- if (res && ((_a = res === null || res === void 0 ? void 0 : res.recList) === null || _a === void 0 ? void 0 : _a.length) > 0) {
19531
- setPageNum(pageNum + 1);
19532
- }
19533
- });
19589
+ setOpenHashtag === null || setOpenHashtag === void 0 ? void 0 : setOpenHashtag(true);
19590
+ } })),
19591
+ renderLogo,
19592
+ React.createElement(Tagbar$1, { tagList: tagList, setActiveIndex: setActiveIndex, style: {
19593
+ top: minusHeight
19594
+ } }),
19595
+ ((_f = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.backButton) === null || _f === void 0 ? void 0 : _f.enable) && !channel && !openMultiPosts && !waterFallData && (React.createElement(NavBack$1, { data: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.backButton, minusHeight: minusHeight, tagHeight: tagHeight, onClick: () => history === null || history === void 0 ? void 0 : history.back() })),
19596
+ ((((_l = (_k = (_j = (_h = (_g = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.multiPosts) === null || _g === void 0 ? void 0 : _g[0]) === null || _h === void 0 ? void 0 : _h.item) === null || _j === void 0 ? void 0 : _j.props) === null || _k === void 0 ? void 0 : _k.backButton) === null || _l === void 0 ? void 0 : _l.enable) && channel) || openMultiPosts) &&
19597
+ !waterFallData && (React.createElement(NavBack$1, { data: (_q = (_p = (_o = (_m = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.multiPosts) === null || _m === void 0 ? void 0 : _m[0]) === null || _o === void 0 ? void 0 : _o.item) === null || _p === void 0 ? void 0 : _p.props) === null || _q === void 0 ? void 0 : _q.backButton, minusHeight: minusHeight, tagHeight: tagHeight, onClick: () => {
19598
+ var _a, _b;
19599
+ const item = visList === null || visList === void 0 ? void 0 : visList[activeIndex];
19600
+ bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
19601
+ eventInfo: {
19602
+ eventSubject: 'backMultiPostClick',
19603
+ eventDescription: 'backMultiPostClick',
19604
+ 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) || ''
19605
+ }
19606
+ });
19607
+ location === null || location === void 0 ? void 0 : location.reload();
19608
+ } })),
19609
+ isShowFingerTip ? (React.createElement(FingerSwipeTip, { imageUrl: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.swipeTipIcon, style: { top: `${50 - ((_r = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.swipeTipOffset) !== null && _r !== void 0 ? _r : 0)}%` }, duration: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.swiperTipAniDur })) : null,
19610
+ React.createElement(Swiper, { style: {
19611
+ marginTop: tagHeight
19612
+ }, ref: swiperRef, onSlideChange: () => {
19613
+ swiperRef.current.swiper.allowTouchMove = false;
19614
+ setTimeout(() => {
19615
+ swiperRef.current.swiper.allowTouchMove = true;
19616
+ }, 500);
19617
+ }, onActiveIndexChange: (swiper) => {
19618
+ setActiveIndex(swiper.activeIndex);
19619
+ if (openHashtag)
19620
+ return;
19621
+ // 处理上滑下滑事件
19622
+ handleScrollEvent(swiper);
19623
+ if (waterFallData || isEditor || isDiyH5)
19624
+ return;
19625
+ if ((swiper === null || swiper === void 0 ? void 0 : swiper.activeIndex) + 1 >= (data === null || data === void 0 ? void 0 : data.length)) {
19626
+ if (!isLoadMore) {
19627
+ setIsLoadMore(true);
19628
+ loadVideos === null || loadVideos === void 0 ? void 0 : loadVideos(pageNum).then((res) => {
19629
+ var _a;
19630
+ setIsLoadMore(false);
19631
+ if (res && ((_a = res === null || res === void 0 ? void 0 : res.recList) === null || _a === void 0 ? void 0 : _a.length) > 0) {
19632
+ setPageNum(pageNum + 1);
19633
+ }
19634
+ });
19635
+ }
19534
19636
  }
19535
- }
19536
- }, direction: 'vertical', height: height },
19537
- renderView,
19538
- renderLikeButton(visList[activeIndex], activeIndex, !!(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.likeIconFixed)),
19539
- renderToggleButton(!!(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconFixed))),
19540
- React.createElement(WaterFall$1, Object.assign({}, (_u = (_t = (_s = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.hashTag) === null || _s === void 0 ? void 0 : _s[0]) === null || _t === void 0 ? void 0 : _t.item) === null || _u === void 0 ? void 0 : _u.props)),
19541
- React.createElement(ConsentPopup, { resolver: resolver, globalConfig: globalConfig }),
19542
- openMultiPosts && (React.createElement(MultiPosts$2, Object.assign({}, (_x = (_w = (_v = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.multiPosts) === null || _v === void 0 ? void 0 : _v[0]) === null || _w === void 0 ? void 0 : _w.item) === null || _x === void 0 ? void 0 : _x.props, (_0 = (_z = (_y = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.multiPosts) === null || _y === void 0 ? void 0 : _y[0]) === null || _z === void 0 ? void 0 : _z.item) === null || _0 === void 0 ? void 0 : _0.event, { style: { position: 'fixed', top: 0, left: 0, right: 0 } })))))));
19637
+ }, direction: 'vertical', height: height },
19638
+ renderView,
19639
+ renderLikeButton(visList[activeIndex], activeIndex, !!(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.likeIconFixed)),
19640
+ renderToggleButton(!!(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconFixed))),
19641
+ React.createElement(WaterFall$1, Object.assign({}, (_u = (_t = (_s = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.hashTag) === null || _s === void 0 ? void 0 : _s[0]) === null || _t === void 0 ? void 0 : _t.item) === null || _u === void 0 ? void 0 : _u.props)),
19642
+ React.createElement(ConsentPopup, { resolver: resolver, globalConfig: globalConfig }),
19643
+ openMultiPosts && (React.createElement(MultiPosts$2, Object.assign({}, (_x = (_w = (_v = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.multiPosts) === null || _v === void 0 ? void 0 : _v[0]) === null || _w === void 0 ? void 0 : _w.item) === null || _x === void 0 ? void 0 : _x.props, (_0 = (_z = (_y = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.multiPosts) === null || _y === void 0 ? void 0 : _y[0]) === null || _z === void 0 ? void 0 : _z.item) === null || _0 === void 0 ? void 0 : _0.event, { style: { position: 'fixed', top: 0, left: 0, right: 0 } }))))),
19644
+ (window === null || window === void 0 ? void 0 : window.OnetrustActiveGroups) && (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enableCookieSetting) && (React.createElement("div", { style: { position: 'fixed', bottom: 0, left: 0, right: 0, width: '100%', zIndex: 10, backgroundColor: '#000', fontSize: 0 } },
19645
+ React.createElement("button", { id: 'ot-sdk-btn', className: 'ot-sdk-show-settings', style: { textDecoration: 'underline', width: 'fit-content', border: 'none', lineHeight: '24px', fontSize: '10px', color: '#fff', padding: '0 20px' } }, "Cookie settings")))));
19543
19646
  };
19544
19647
  var SxpPageRender$1 = React.memo(SxpPageRender);
19545
19648
 
@@ -19838,7 +19941,7 @@ Made in Italy` })));
19838
19941
  const CTA = (rec, index) => {
19839
19942
  if ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowCTA) === undefined || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowCTA)) {
19840
19943
  return (React.createElement("div", { className: 'clc-sxp-bottom-card' },
19841
- 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 })));
19842
19945
  }
19843
19946
  return null;
19844
19947
  };
@@ -19851,10 +19954,8 @@ Made in Italy` })));
19851
19954
  React.createElement(Nudge, { nudge: nudge }),
19852
19955
  CTA(rec, index),
19853
19956
  React.createElement("div", null,
19854
- 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' }) }),
19855
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$2, includesCtaType: ['AniLink'], isActive: true })),
19856
- 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 })),
19857
- 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 }))));
19858
19959
  }
19859
19960
  return null;
19860
19961
  };
@@ -20244,10 +20345,21 @@ Made in Italy` })));
20244
20345
  return null;
20245
20346
  }, [globalConfig]);
20246
20347
  const renderBottom = (rec, index) => {
20247
- var _a, _b, _c, _d;
20348
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
20248
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];
20249
20361
  return (React.createElement(React.Fragment, null,
20250
- ((_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: {
20251
20363
  background: 'repeating-linear-gradient(0deg, rgba(26, 26, 25, 0.7), hsla(0, 0%, 100%, 0))',
20252
20364
  height: '130px',
20253
20365
  position: 'absolute',
@@ -20258,7 +20370,7 @@ Made in Italy` })));
20258
20370
  pointerEvents
20259
20371
  } })),
20260
20372
  React.createElement("div", { style: {
20261
- 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`,
20262
20374
  zIndex: 999,
20263
20375
  position: 'absolute',
20264
20376
  bottom: 0,
@@ -20267,15 +20379,15 @@ Made in Italy` })));
20267
20379
  paddingTop: '20px'
20268
20380
  } },
20269
20381
  (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowCTA) === undefined || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowCTA) ? (React.createElement("div", { style: {} },
20270
- 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,
20271
20383
  React.createElement("div", null,
20272
20384
  React.createElement(ExpandableText$1
20273
20385
  // className='clc-sxp-bottom-text'
20274
20386
  , {
20275
20387
  // className='clc-sxp-bottom-text'
20276
- 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' }) }),
20277
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$1, includesCtaType: ['AniLink'], isActive: index === activeIndex }))),
20278
- 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 })));
20279
20391
  }
20280
20392
  return null;
20281
20393
  };