pb-sxp-ui 1.2.0 → 1.2.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 (52) hide show
  1. package/dist/index.cjs +127 -83
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.css +63 -31
  4. package/dist/index.js +127 -83
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.min.cjs +3 -3
  7. package/dist/index.min.cjs.map +1 -1
  8. package/dist/index.min.js +3 -3
  9. package/dist/index.min.js.map +1 -1
  10. package/dist/pb-ui.js +127 -83
  11. package/dist/pb-ui.js.map +1 -1
  12. package/dist/pb-ui.min.js +3 -3
  13. package/dist/pb-ui.min.js.map +1 -1
  14. package/es/core/components/SxpPageRender/FingerSwipeTip/index.d.ts +1 -0
  15. package/es/core/components/SxpPageRender/FingerSwipeTip/index.js +3 -3
  16. package/es/core/components/SxpPageRender/Hashtag/index.js +3 -1
  17. package/es/core/components/SxpPageRender/Navbar.js +1 -1
  18. package/es/core/components/SxpPageRender/VideoWidget/index.js +13 -10
  19. package/es/core/components/SxpPageRender/WaterFall/List.js +1 -1
  20. package/es/core/components/SxpPageRender/WaterFall/WaterfallList.js +1 -1
  21. package/es/core/components/SxpPageRender/index.d.ts +3 -0
  22. package/es/core/components/SxpPageRender/index.js +8 -8
  23. package/es/core/context/SxpDataSourceProvider.js +2 -3
  24. package/es/materials/sxp/HashTag/material.js +2 -1
  25. package/es/materials/sxp/cta/AniLink/index.js +29 -12
  26. package/es/materials/sxp/cta/AniLinkPopup/index.js +41 -23
  27. package/es/materials/sxp/popup/CommodityDetail/index.js +1 -1
  28. package/es/materials/sxp/popup/CommodityDetailDiroNew/index.js +1 -1
  29. package/es/materials/sxp/popup/CommodityList/index.js +10 -10
  30. package/es/materials/sxp/template/Link/index.js +2 -2
  31. package/es/materials/sxp/template/components/Img.js +1 -1
  32. package/es/materials/sxp/template/components/settingRender.js +5 -0
  33. package/lib/core/components/SxpPageRender/FingerSwipeTip/index.d.ts +1 -0
  34. package/lib/core/components/SxpPageRender/FingerSwipeTip/index.js +3 -3
  35. package/lib/core/components/SxpPageRender/Hashtag/index.js +3 -1
  36. package/lib/core/components/SxpPageRender/Navbar.js +1 -1
  37. package/lib/core/components/SxpPageRender/VideoWidget/index.js +13 -10
  38. package/lib/core/components/SxpPageRender/WaterFall/List.js +1 -1
  39. package/lib/core/components/SxpPageRender/WaterFall/WaterfallList.js +1 -1
  40. package/lib/core/components/SxpPageRender/index.d.ts +3 -0
  41. package/lib/core/components/SxpPageRender/index.js +8 -8
  42. package/lib/core/context/SxpDataSourceProvider.js +2 -3
  43. package/lib/materials/sxp/HashTag/material.js +2 -1
  44. package/lib/materials/sxp/cta/AniLink/index.js +28 -11
  45. package/lib/materials/sxp/cta/AniLinkPopup/index.js +40 -22
  46. package/lib/materials/sxp/popup/CommodityDetail/index.js +1 -1
  47. package/lib/materials/sxp/popup/CommodityDetailDiroNew/index.js +1 -1
  48. package/lib/materials/sxp/popup/CommodityList/index.js +9 -9
  49. package/lib/materials/sxp/template/Link/index.js +2 -2
  50. package/lib/materials/sxp/template/components/Img.js +1 -1
  51. package/lib/materials/sxp/template/components/settingRender.js +5 -0
  52. package/package.json +1 -1
package/dist/pb-ui.js CHANGED
@@ -546,7 +546,6 @@
546
546
  (function (DataSourceType) {
547
547
  DataSourceType[DataSourceType["BFF"] = 5] = "BFF";
548
548
  })(DataSourceType || (DataSourceType = {}));
549
- const UTM_KEYS = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_id', 'utm_content', 'cl_source'];
550
549
  const DEFAULT_TAG = 'FOR U';
551
550
  const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent = true, maxSize, defaultSize, isPreview = false, sxpParameter, appDomain, hashTagSize, loadingImage, isOpenHashTag = false, enabledMetaConversionApi = false, consentHeight, consentWidth, isShowTag = true, isOpenConsent = false, globalConfig, isEditor = false }) => {
552
551
  var _a, _b, _c;
@@ -630,7 +629,7 @@
630
629
  const val = (_h = (_g = (_f = utmVal === null || utmVal === void 0 ? void 0 : utmVal.split('&')) === null || _f === void 0 ? void 0 : _f.filter((val) => {
631
630
  var _a, _b;
632
631
  const key = val.split('=')[0];
633
- return (_b = ((_a = sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.channels) !== null && _a !== void 0 ? _a : UTM_KEYS)) === null || _b === void 0 ? void 0 : _b.includes(key);
632
+ return (_b = ((_a = sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.channels) !== null && _a !== void 0 ? _a : [])) === null || _b === void 0 ? void 0 : _b.includes(key);
634
633
  })) === null || _g === void 0 ? void 0 : _g.join('&')) !== null && _h !== void 0 ? _h : '';
635
634
  query = Object.assign(Object.assign({}, query), { channel: decodeURIComponent(val) });
636
635
  }
@@ -725,7 +724,7 @@
725
724
  const val = (_o = (_m = (_l = utmVal === null || utmVal === void 0 ? void 0 : utmVal.split('&')) === null || _l === void 0 ? void 0 : _l.filter((val) => {
726
725
  var _a, _b;
727
726
  const key = val.split('=')[0];
728
- return (_b = ((_a = sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.channels) !== null && _a !== void 0 ? _a : UTM_KEYS)) === null || _b === void 0 ? void 0 : _b.includes(key);
727
+ return (_b = ((_a = sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.channels) !== null && _a !== void 0 ? _a : [])) === null || _b === void 0 ? void 0 : _b.includes(key);
729
728
  })) === null || _m === void 0 ? void 0 : _m.join('&')) !== null && _o !== void 0 ? _o : '';
730
729
  const result = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('/tag/list', { method: 'GET', query: { channel: decodeURIComponent(val) } }));
731
730
  setTagList((_q = (_p = result === null || result === void 0 ? void 0 : result.data) === null || _p === void 0 ? void 0 : _p.tags) !== null && _q !== void 0 ? _q : []);
@@ -8982,7 +8981,7 @@
8982
8981
  width: '100%',
8983
8982
  objectFit: 'cover',
8984
8983
  display: 'block',
8985
- objectPosition: `50% ${(swiper === null || swiper === void 0 ? void 0 : swiper.translateY) ? -(swiper === null || swiper === void 0 ? void 0 : swiper.translateY) + 50 : 50}%`
8984
+ objectPosition: `50% ${(swiper === null || swiper === void 0 ? void 0 : swiper.translateY) ? (swiper === null || swiper === void 0 ? void 0 : swiper.translateY) + 50 : 50}%`
8986
8985
  }, src: src }))));
8987
8986
  }))))),
8988
8987
  !((_j = product === null || product === void 0 ? void 0 : product.homePage) === null || _j === void 0 ? void 0 : _j.length) && (React.createElement("div", { className: css.css({
@@ -9710,7 +9709,7 @@ Made in Italy` })));
9710
9709
  width: '100%',
9711
9710
  objectFit: 'cover',
9712
9711
  display: 'block',
9713
- objectPosition: `50% ${(swiper === null || swiper === void 0 ? void 0 : swiper.translateY) ? -(swiper === null || swiper === void 0 ? void 0 : swiper.translateY) + 50 : 50}%`
9712
+ objectPosition: `50% ${(swiper === null || swiper === void 0 ? void 0 : swiper.translateY) ? (swiper === null || swiper === void 0 ? void 0 : swiper.translateY) + 50 : 50}%`
9714
9713
  }, src: src }))));
9715
9714
  }))),
9716
9715
  !((_j = product === null || product === void 0 ? void 0 : product.homePage) === null || _j === void 0 ? void 0 : _j.length) && (React.createElement("div", { className: css.css({
@@ -10096,7 +10095,7 @@ Made in Italy` })));
10096
10095
  * @Author: binruan@chatlabs.com
10097
10096
  * @Date: 2024-01-16 14:50:13
10098
10097
  * @LastEditors: binruan@chatlabs.com
10099
- * @LastEditTime: 2024-06-24 18:13:14
10098
+ * @LastEditTime: 2024-07-04 18:13:23
10100
10099
  * @FilePath: \pb-sxp-ui\src\materials\sxp\template\components\Img.tsx
10101
10100
  *
10102
10101
  */
@@ -10117,7 +10116,7 @@ Made in Italy` })));
10117
10116
  }, [src]);
10118
10117
  return (React.createElement("div", { className: css.css(Object.assign({ overflow: 'hidden', flexShrink: 0, backgroundColor: '#f2f2f2' }, imgStyle)) },
10119
10118
  React.createElement("div", { ref: ref, hidden: !src, className: css.css({ width: '100%', height: '100%' }) },
10120
- React.createElement(FormatImage$1, { className: css.css(Object.assign({ width: '100%', objectFit: 'cover', height: '100%', display: 'block', objectPosition: `50% ${translateY ? -translateY + 50 : 50}%` }, style)), src: src }))));
10119
+ React.createElement(FormatImage$1, { className: css.css(Object.assign({ width: '100%', objectFit: 'cover', height: '100%', display: 'block', objectPosition: `50% ${translateY ? translateY + 50 : 50}%` }, style)), src: src }))));
10121
10120
  };
10122
10121
  var Img$1 = React.memo(Img);
10123
10122
 
@@ -10156,7 +10155,6 @@ Made in Italy` })));
10156
10155
  var { style, isDefault, rec, viewTime, isPost, bottom_image, commodityStyles, buttonStyle, index, translateY = 0, commodityPicture, isExternalLink } = _a, props = __rest(_a, ["style", "isDefault", "rec", "viewTime", "isPost", "bottom_image", "commodityStyles", "buttonStyle", "index", "translateY", "commodityPicture", "isExternalLink"]);
10157
10156
  const { sxpParameter } = useSxpDataSource();
10158
10157
  const { popupDetailData, bffEventReport, isPreview, swiperRef, bffFbReport } = useSxpDataSource();
10159
- React.useRef(null);
10160
10158
  const recData = isPost ? rec : popupDetailData;
10161
10159
  const product = (_c = (_b = recData === null || recData === void 0 ? void 0 : recData.video) === null || _b === void 0 ? void 0 : _b.bindProducts) !== null && _c !== void 0 ? _c : [null, null, null, null];
10162
10160
  const priceText = React.useCallback((product) => {
@@ -10176,13 +10174,14 @@ Made in Italy` })));
10176
10174
  display: 'flex'
10177
10175
  }) }),
10178
10176
  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 }),
10179
- React.createElement("div", null,
10180
- React.createElement("div", { style: commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.title, hidden: !!item && !(item === null || item === void 0 ? void 0 : item.title), dangerouslySetInnerHTML: {
10181
- __html: setFontForText((_e = item === null || item === void 0 ? void 0 : item.title) !== null && _e !== void 0 ? _e : 'Pendant in Yellow Gold with Diamonds, Medium', commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.title)
10182
- } }),
10183
- React.createElement("div", { style: commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.collection, hidden: !!item && (!(item === null || item === void 0 ? void 0 : item.collection) || (item === null || item === void 0 ? void 0 : item.collection) === ''), dangerouslySetInnerHTML: {
10184
- __html: setFontForText((_f = item === null || item === void 0 ? void 0 : item.collection) !== null && _f !== void 0 ? _f : 'Tiffany Lock', commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.collection)
10185
- } }),
10177
+ React.createElement("div", { style: { flex: 1, display: 'flex', flexDirection: 'column', justifyContent: 'space-between' } },
10178
+ React.createElement("div", null,
10179
+ React.createElement("div", { style: commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.title, hidden: !!item && !(item === null || item === void 0 ? void 0 : item.title), dangerouslySetInnerHTML: {
10180
+ __html: setFontForText((_e = item === null || item === void 0 ? void 0 : item.title) !== null && _e !== void 0 ? _e : 'Pendant in Yellow Gold with Diamonds, Medium', commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.title)
10181
+ } }),
10182
+ React.createElement("div", { style: commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.collection, hidden: !!item && (!(item === null || item === void 0 ? void 0 : item.collection) || (item === null || item === void 0 ? void 0 : item.collection) === ''), dangerouslySetInnerHTML: {
10183
+ __html: setFontForText((_f = item === null || item === void 0 ? void 0 : item.collection) !== null && _f !== void 0 ? _f : 'Tiffany Lock', commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.collection)
10184
+ } })),
10186
10185
  React.createElement("div", { className: css.css({
10187
10186
  display: 'flex',
10188
10187
  alignItems: 'flex-end',
@@ -10193,7 +10192,7 @@ Made in Italy` })));
10193
10192
  React.createElement("div", { style: commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.price, hidden: !!item && !(item === null || item === void 0 ? void 0 : item.price), dangerouslySetInnerHTML: {
10194
10193
  __html: setFontForText(priceText(item), commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.price)
10195
10194
  } }),
10196
- React.createElement("div", { style: Object.assign(Object.assign({}, buttonStyle), { padding: '0 15px' }), dangerouslySetInnerHTML: {
10195
+ React.createElement("div", { className: 'one-line-ellipsis', style: Object.assign(Object.assign({}, buttonStyle), { padding: '0 15px', maxWidth: '100px' }), dangerouslySetInnerHTML: {
10197
10196
  __html: setFontForText((_h = (_g = item === null || item === void 0 ? void 0 : item.bindCta) === null || _g === void 0 ? void 0 : _g.enTitle) !== null && _h !== void 0 ? _h : 'Shop Now', buttonStyle)
10198
10197
  } })))));
10199
10198
  })));
@@ -10287,7 +10286,7 @@ Made in Italy` })));
10287
10286
  * @Author: binruan@chatlabs.com
10288
10287
  * @Date: 2024-03-26 16:50:25
10289
10288
  * @LastEditors: binruan@chatlabs.com
10290
- * @LastEditTime: 2024-06-27 09:55:59
10289
+ * @LastEditTime: 2024-07-04 17:47:52
10291
10290
  * @FilePath: \pb-sxp-ui\src\materials\sxp\template\components\settingRender.tsx
10292
10291
  *
10293
10292
  */
@@ -10532,6 +10531,11 @@ Made in Italy` })));
10532
10531
  label: '对齐',
10533
10532
  type: 'TextAlign',
10534
10533
  name: ['props', 'ctaTempStyles', 'ctaTitle']
10534
+ },
10535
+ {
10536
+ label: '间距',
10537
+ type: 'TextSpace',
10538
+ name: ['props', 'ctaTempStyles', 'ctaTitle']
10535
10539
  }
10536
10540
  ]
10537
10541
  }
@@ -10844,7 +10848,7 @@ Made in Italy` })));
10844
10848
  overflow: 'hidden'
10845
10849
  }) },
10846
10850
  React.createElement("div", null,
10847
- React.createElement("div", { className: (customTitle === null || customTitle === void 0 ? void 0 : customTitle.display) ? styles$7['one-line-ellipsis'] : styles$7['tow-line-ellipsis'], style: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.ctaTitle, dangerouslySetInnerHTML: {
10851
+ React.createElement("div", { className: styles$7['tow-line-ellipsis'], style: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.ctaTitle, dangerouslySetInnerHTML: {
10848
10852
  __html: setFontForText((_h = cta === null || cta === void 0 ? void 0 : cta.enTitle) !== null && _h !== void 0 ? _h : 'Product Name', ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.ctaTitle)
10849
10853
  } }),
10850
10854
  (customTitle === null || customTitle === void 0 ? void 0 : customTitle.display) && (React.createElement("div", { style: Object.assign(Object.assign({}, customTitle === null || customTitle === void 0 ? void 0 : customTitle.style), { lineHeight: ((_j = customTitle === null || customTitle === void 0 ? void 0 : customTitle.style) === null || _j === void 0 ? void 0 : _j.height) + 'px' }), className: styles$7['one-line-ellipsis'], dangerouslySetInnerHTML: {
@@ -11672,7 +11676,7 @@ Made in Italy` })));
11672
11676
  * @Author: binruan@chatlabs.com
11673
11677
  * @Date: 2023-12-26 16:11:34
11674
11678
  * @LastEditors: binruan@chatlabs.com
11675
- * @LastEditTime: 2024-06-27 10:19:28
11679
+ * @LastEditTime: 2024-07-04 18:34:18
11676
11680
  * @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\Navbar.tsx
11677
11681
  *
11678
11682
  */
@@ -11681,7 +11685,7 @@ Made in Italy` })));
11681
11685
  const { waterFallData, setOpenHashtag } = useSxpDataSource();
11682
11686
  return (React.createElement("div", { className: 'clc-sxp-nav', style: styles },
11683
11687
  React.createElement("img", { className: 'clc-sxp-nav-left', src: icon, alt: 'back button', onClick: onClose }),
11684
- React.createElement("div", { className: 'clc-sxp-nav-title', style: textStyle, dangerouslySetInnerHTML: {
11688
+ React.createElement("div", { className: 'clc-sxp-nav-title', style: Object.assign(Object.assign({}, textStyle), { paddingLeft: (textStyle === null || textStyle === void 0 ? void 0 : textStyle.textAlign) === 'left' ? '35px' : 0 }), dangerouslySetInnerHTML: {
11685
11689
  __html: setFontForText(`#${(_a = waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.hashTag) !== null && _a !== void 0 ? _a : '标题'}`, textStyle)
11686
11690
  } })));
11687
11691
  };
@@ -13276,7 +13280,7 @@ Made in Italy` })));
13276
13280
  var _a, _b;
13277
13281
  if ((_a = data === null || data === void 0 ? void 0 : data.tag) === null || _a === void 0 ? void 0 : _a.link) {
13278
13282
  reportTagsView();
13279
- window.location.href = (_b = data === null || data === void 0 ? void 0 : data.tag) === null || _b === void 0 ? void 0 : _b.link;
13283
+ window.location.href = window.getJointUtmLink((_b = data === null || data === void 0 ? void 0 : data.tag) === null || _b === void 0 ? void 0 : _b.link);
13280
13284
  }
13281
13285
  };
13282
13286
  return (React.createElement(React.Fragment, null, isLoadingData ? (React.createElement("div", { style: { height: '100%', width: '100%', display: 'flex', justifyContent: 'center', alignItems: 'center' } },
@@ -13511,7 +13515,7 @@ Made in Italy` })));
13511
13515
  var _a, _b;
13512
13516
  if ((_a = data === null || data === void 0 ? void 0 : data.tag) === null || _a === void 0 ? void 0 : _a.link) {
13513
13517
  reportTagsView();
13514
- window.location.href = (_b = data === null || data === void 0 ? void 0 : data.tag) === null || _b === void 0 ? void 0 : _b.link;
13518
+ window.location.href = window.getJointUtmLink((_b = data === null || data === void 0 ? void 0 : data.tag) === null || _b === void 0 ? void 0 : _b.link);
13515
13519
  }
13516
13520
  };
13517
13521
  return (React.createElement(React.Fragment, null, isLoadingData ? (React.createElement("div", { style: { height: '100%', width: '100%', display: 'flex', justifyContent: 'center', alignItems: 'center' } },
@@ -13664,7 +13668,7 @@ Made in Italy` })));
13664
13668
  * @Author: binruan@chatlabs.com
13665
13669
  * @Date: 2023-07-28 18:29:57
13666
13670
  * @LastEditors: binruan@chatlabs.com
13667
- * @LastEditTime: 2024-04-30 10:13:13
13671
+ * @LastEditTime: 2024-07-04 18:38:10
13668
13672
  * @FilePath: \pb-sxp-ui\src\materials\sxp\HashTag\material.tsx
13669
13673
  *
13670
13674
  */
@@ -13684,7 +13688,8 @@ Made in Italy` })));
13684
13688
  textStyles: {
13685
13689
  hashTagTitle: {
13686
13690
  fontSize: 16,
13687
- color: '#000'
13691
+ color: '#000',
13692
+ textAlign: 'center'
13688
13693
  },
13689
13694
  hashTagDesc: {
13690
13695
  fontSize: 12,
@@ -13924,28 +13929,36 @@ Made in Italy` })));
13924
13929
  var styles$1 = {"animated-button":"index-module_animated-button__lqTbg","gradientCover":"index-module_gradientCover__5iUag"};
13925
13930
 
13926
13931
  const AniLink$1 = (_a) => {
13927
- var _b, _c, _d, _e, _f, _g, _h, _j, _k;
13932
+ var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
13928
13933
  var { style, recData, ctaTempStyles, index, event, onClick, isExternalLink = false } = _a, props = __rest(_a, ["style", "recData", "ctaTempStyles", "index", "event", "onClick", "isExternalLink"]);
13929
- const { ctaEvent } = useSxpDataSource();
13934
+ const { ctaEvent, setPopupDetailData } = useSxpDataSource();
13930
13935
  const { jumpToWeb } = useEventReport();
13936
+ const [visible, setVisible] = React.useState(false);
13931
13937
  const ref = React.useRef(null);
13932
13938
  const isOnScreen = useOnScreen(ref);
13933
13939
  const cta = ((_d = (_c = (_b = recData === null || recData === void 0 ? void 0 : recData.video) === null || _b === void 0 ? void 0 : _b.bindProducts) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.bindCta) || ((_f = (_e = recData === null || recData === void 0 ? void 0 : recData.video) === null || _e === void 0 ? void 0 : _e.bindProduct) === null || _f === void 0 ? void 0 : _f.bindCta) || ((_g = recData === null || recData === void 0 ? void 0 : recData.video) === null || _g === void 0 ? void 0 : _g.bindCta);
13934
13940
  const product = ((_j = (_h = recData === null || recData === void 0 ? void 0 : recData.video) === null || _h === void 0 ? void 0 : _h.bindProducts) === null || _j === void 0 ? void 0 : _j[0]) || ((_k = recData === null || recData === void 0 ? void 0 : recData.video) === null || _k === void 0 ? void 0 : _k.bindProduct);
13935
13941
  const handleTo = () => {
13936
- var _a, _b, _c;
13942
+ var _a, _b, _c, _d;
13937
13943
  const item = ((_b = (_a = recData === null || recData === void 0 ? void 0 : recData.video) === null || _a === void 0 ? void 0 : _a.bindProducts) === null || _b === void 0 ? void 0 : _b[0]) || ((_c = recData === null || recData === void 0 ? void 0 : recData.video) === null || _c === void 0 ? void 0 : _c.bindProduct) || (recData === null || recData === void 0 ? void 0 : recData.video);
13938
13944
  ctaEvent === null || ctaEvent === void 0 ? void 0 : ctaEvent({
13939
13945
  eventSubject: 'clickCta',
13940
13946
  eventDescription: 'User clicked the CTA'
13941
13947
  }, recData, item, index);
13948
+ setPopupDetailData === null || setPopupDetailData === void 0 ? void 0 : setPopupDetailData(Object.assign(Object.assign({}, recData), { index }));
13942
13949
  if (isExternalLink) {
13943
- jumpToWeb(recData, product, cta, index);
13950
+ const link = (product === null || product === void 0 ? void 0 : product.link) || ((_d = item === null || item === void 0 ? void 0 : item.bindCta) === null || _d === void 0 ? void 0 : _d.link);
13951
+ if (link) {
13952
+ jumpToWeb(recData, product, cta, index);
13953
+ window.location.href = window.getJointUtmLink(link);
13954
+ }
13955
+ }
13956
+ else {
13957
+ onClick === null || onClick === void 0 ? void 0 : onClick();
13944
13958
  }
13945
- onClick === null || onClick === void 0 ? void 0 : onClick();
13946
13959
  };
13947
- const title = (cta === null || cta === void 0 ? void 0 : cta.title) || '查看详情 >';
13948
- const aniStyle = React.useMemo(() => {
13960
+ const title = (cta === null || cta === void 0 ? void 0 : cta.enTitle) || '查看详情 >';
13961
+ const aniTimStyle = React.useMemo(() => {
13949
13962
  var _a, _b;
13950
13963
  const ani = event === null || event === void 0 ? void 0 : event.animation;
13951
13964
  if (ani) {
@@ -13967,10 +13980,19 @@ Made in Italy` })));
13967
13980
  }, recData, product, index);
13968
13981
  }
13969
13982
  }, [isOnScreen]);
13970
- return (React.createElement("div", Object.assign({ ref: ref, style: Object.assign(Object.assign({}, style), { display: 'flex', alignItems: 'center' }) }, props, { className: `${styles$1['animated-button']} ${css.css(aniStyle)}`, onClick: handleTo }),
13971
- React.createElement("div", { className: 'one-line-ellipsis', style: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.ctaTitle, dangerouslySetInnerHTML: {
13972
- __html: setFontForText(title, ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.ctaTitle)
13973
- } })));
13983
+ React.useEffect(() => {
13984
+ if (isOnScreen) {
13985
+ setVisible(true);
13986
+ }
13987
+ }, [isOnScreen]);
13988
+ const aniNamStyle = React.useMemo(() => {
13989
+ if (!visible)
13990
+ return null;
13991
+ return styles$1['animated-button'];
13992
+ }, [visible]);
13993
+ return (React.createElement("div", Object.assign({ ref: ref, style: Object.assign(Object.assign(Object.assign({}, style), ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.ctaTitle), { lineHeight: `${(_l = style === null || style === void 0 ? void 0 : style.height) !== null && _l !== void 0 ? _l : 0}px` }) }, props, { className: `${aniNamStyle} ${css.css(aniTimStyle)} one-line-ellipsis`, onClick: handleTo, dangerouslySetInnerHTML: {
13994
+ __html: setFontForText(title, ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.ctaTitle)
13995
+ } })));
13974
13996
  };
13975
13997
  var AniLinkComponent = React.memo(AniLink$1);
13976
13998
 
@@ -14333,61 +14355,78 @@ Made in Italy` })));
14333
14355
  }
14334
14356
  ];
14335
14357
 
14336
- var styles = {"animated-button":"index-module_animated-button__qI1lz","gradientCover":"index-module_gradientCover__nD6d9","tow-line-ellipsis":"index-module_tow-line-ellipsis__GKFXr","modal-icon-wrapper":"index-module_modal-icon-wrapper__tu3BY","modal-icon-wrapper-img":"index-module_modal-icon-wrapper-img__4b7qZ"};
14358
+ 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","tow-line-ellipsis":"index-module_tow-line-ellipsis__GKFXr","modal-icon-wrapper":"index-module_modal-icon-wrapper__tu3BY","modal-icon-wrapper-img":"index-module_modal-icon-wrapper-img__4b7qZ"};
14337
14359
 
14338
14360
  const closeIcon = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAjhJREFUWEfFlztOw0AQhmeWiJ4CCmpQ5DiRQsIJyAWg5A0lR0AIChDiCJS8ER0cADgBeRSxt4CCDgkaKiq8i+zYeWx2413HEWmiJJv9v535Z2aN8M8vFPT9z3zETD0aAUChUJjwvPFHAJhBhB3Hqd6OAsK2yyucwykAvP38eJX398Z3AJDLlVYR8ToU9Rhj25TWr9KEsKy5dULIGQCMtfZly45TvwsAstm56UwG6wA4FUFwzrdctxZBDcWSy5XWEPG8I84/GcMipdWPtgcsaz5PCHtKG0IuTiqUvjT9U/WYMG2IOPE+AP+LtCB0xKUAAyA2Xbd2o2OG0NQXvTnvhL17D7EPtH9TRCIWwkRcGYGIQgYBABuqPuHXOQBc6pw80lBGwBQiiXhsBHQhkoprA6iM6acjhDQKu5YJZW6XeOI3XJdpvfsdTu52VfXEekD8owQiXGIubpSCbhDbLu8DwKEAd+A41SOdPpE4BS0viFOtvV2iKWqUgn5x/tmS70xR01GuDSCKc86/OCcLgTyyZ0ScDGNhFAktAJV4NFJ9YyaFiAWIE+9uVkkgBgLoig8DMWAa9ro9ynkUdlW5maZDCmB6clmz0k1HH4Cs1Ezbq2p2yEpUuBOKTSZZex00RUWIrltxuuK6EOGDSbGIOPZicpMx6fny650377qNRgBgWeVFQuA+6UjVgREhGIMlSqsPUQqIbZdOOIdZQmCv2axRnU1N1+TzJYsxOEaEV8ep7frPZ7Gd0FTEdP0ft0/kMNdg0eoAAAAASUVORK5CYII=';
14339
14361
  const AniLinkPopup$1 = (_a) => {
14340
- var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z;
14362
+ var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0;
14341
14363
  var { style, recData, ctaTempStyles, index, event, bottom_image, translateY, isTel, onClick, isExternalLink = false } = _a, props = __rest(_a, ["style", "recData", "ctaTempStyles", "index", "event", "bottom_image", "translateY", "isTel", "onClick", "isExternalLink"]);
14342
- const { sxpParameter, globalConfig, ctaEvent } = useSxpDataSource();
14364
+ style === null || style === void 0 ? true : delete style.transform;
14365
+ const { sxpParameter, globalConfig, ctaEvent, setPopupDetailData } = useSxpDataSource();
14343
14366
  const { jumpToWeb } = useEventReport();
14344
- const [visible, setVisible] = React.useState(true);
14367
+ const ref = React.useRef(null);
14368
+ const isOnScreen = useOnScreen(ref);
14369
+ const [visible, setVisible] = React.useState(false);
14370
+ const [startAni, setStartAni] = React.useState(true);
14345
14371
  const cta = ((_d = (_c = (_b = recData === null || recData === void 0 ? void 0 : recData.video) === null || _b === void 0 ? void 0 : _b.bindProducts) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.bindCta) || ((_f = (_e = recData === null || recData === void 0 ? void 0 : recData.video) === null || _e === void 0 ? void 0 : _e.bindProduct) === null || _f === void 0 ? void 0 : _f.bindCta) || ((_g = recData === null || recData === void 0 ? void 0 : recData.video) === null || _g === void 0 ? void 0 : _g.bindCta);
14346
14372
  const product = ((_j = (_h = recData === null || recData === void 0 ? void 0 : recData.video) === null || _h === void 0 ? void 0 : _h.bindProducts) === null || _j === void 0 ? void 0 : _j[0]) || ((_k = recData === null || recData === void 0 ? void 0 : recData.video) === null || _k === void 0 ? void 0 : _k.bindProduct);
14347
14373
  const handleTo = () => {
14348
- var _a, _b, _c;
14374
+ var _a, _b, _c, _d;
14349
14375
  const item = ((_b = (_a = recData === null || recData === void 0 ? void 0 : recData.video) === null || _a === void 0 ? void 0 : _a.bindProducts) === null || _b === void 0 ? void 0 : _b[0]) || ((_c = recData === null || recData === void 0 ? void 0 : recData.video) === null || _c === void 0 ? void 0 : _c.bindProduct) || (recData === null || recData === void 0 ? void 0 : recData.video);
14350
14376
  ctaEvent === null || ctaEvent === void 0 ? void 0 : ctaEvent({
14351
14377
  eventSubject: 'clickCta',
14352
14378
  eventDescription: 'User clicked the CTA'
14353
14379
  }, recData, item, index);
14380
+ setPopupDetailData === null || setPopupDetailData === void 0 ? void 0 : setPopupDetailData(Object.assign(Object.assign({}, recData), { index }));
14354
14381
  if (isExternalLink) {
14355
- jumpToWeb(recData, product, cta, index);
14382
+ const link = (product === null || product === void 0 ? void 0 : product.link) || ((_d = item === null || item === void 0 ? void 0 : item.bindCta) === null || _d === void 0 ? void 0 : _d.link);
14383
+ if (link) {
14384
+ jumpToWeb(recData, product, cta, index);
14385
+ window.location.href = window.getJointUtmLink(link);
14386
+ }
14387
+ }
14388
+ else {
14389
+ onClick === null || onClick === void 0 ? void 0 : onClick();
14356
14390
  }
14357
- onClick === null || onClick === void 0 ? void 0 : onClick();
14358
14391
  };
14359
- const title = (cta === null || cta === void 0 ? void 0 : cta.title) || '查看详情 >';
14360
- const aniStyle = React.useMemo(() => {
14361
- var _a, _b;
14392
+ const title = (cta === null || cta === void 0 ? void 0 : cta.enTitle) || '查看详情 >';
14393
+ const aniTimStyle = React.useMemo(() => {
14362
14394
  const ani = event === null || event === void 0 ? void 0 : event.animation;
14363
14395
  if (ani) {
14364
- const { delay, duration, backgroundColor } = ani;
14396
+ const { delay, duration } = ani;
14365
14397
  return {
14366
- ':after': {
14367
- animationDelay: `${(_a = delay / 1000) !== null && _a !== void 0 ? _a : 0}s`,
14368
- animationDuration: `${(_b = duration / 1000) !== null && _b !== void 0 ? _b : 0}s`,
14369
- backgroundColor: `${backgroundColor !== null && backgroundColor !== void 0 ? backgroundColor : 'transparent'}`
14370
- }
14398
+ animationDelay: `${delay ? delay / 1000 : 0}s`,
14399
+ animationDuration: `${duration ? duration / 1000 : 0}s`
14371
14400
  };
14372
14401
  }
14373
14402
  }, [event === null || event === void 0 ? void 0 : event.animation]);
14374
14403
  const src = (_q = (_p = (_o = (_l = product === null || product === void 0 ? void 0 : product.cover) !== null && _l !== void 0 ? _l : (_m = product === null || product === void 0 ? void 0 : product.homePage) === null || _m === void 0 ? void 0 : _m[0]) !== null && _o !== void 0 ? _o : cta === null || cta === void 0 ? void 0 : cta.icon) !== null && _p !== void 0 ? _p : sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _q !== void 0 ? _q : bottom_image;
14375
14404
  const onClose = (event) => {
14376
14405
  event.stopPropagation();
14377
- setVisible(false);
14406
+ setStartAni(false);
14378
14407
  };
14408
+ React.useEffect(() => {
14409
+ if (isOnScreen) {
14410
+ setVisible(true);
14411
+ }
14412
+ }, [isOnScreen]);
14413
+ const aniNamStyle = React.useMemo(() => {
14414
+ if (!visible)
14415
+ return null;
14416
+ return startAni ? styles['animated-fadeIn'] : styles['animated-fadeOut'];
14417
+ }, [visible, startAni]);
14379
14418
  return (React.createElement(React.Fragment, null, isTel ? (React.createElement("div", { style: {
14380
14419
  height: '40px',
14381
14420
  lineHeight: '40px',
14382
14421
  paddingLeft: '6px'
14383
- } }, "Cta Title")) : (React.createElement("div", Object.assign({ style: Object.assign(Object.assign({}, style), { position: 'fixed', right: 0, bottom: 0, zIndex: 1000, display: visible ? 'block' : 'none' }) }, props, { className: `${styles['animated-button']} ${css.css(aniStyle)}`, onClick: handleTo }),
14384
- React.createElement("div", { onClick: onClose, className: styles['modal-icon-wrapper'], style: { padding: (_r = style === null || style === void 0 ? void 0 : style['padding']) !== null && _r !== void 0 ? _r : 0 } },
14385
- React.createElement("img", { src: (_s = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.popupCloseIcon) !== null && _s !== void 0 ? _s : closeIcon, alt: 'close', className: styles['modal-icon-wrapper-img'] })),
14386
- React.createElement(Img$1, { src: src, rec: recData, item: (_x = (_v = (_u = (_t = recData === null || recData === void 0 ? void 0 : recData.video) === null || _t === void 0 ? void 0 : _t.bindProducts) === null || _u === void 0 ? void 0 : _u[0]) !== null && _v !== void 0 ? _v : (_w = recData === null || recData === void 0 ? void 0 : recData.video) === null || _w === void 0 ? void 0 : _w.bindProduct) !== null && _x !== void 0 ? _x : recData === null || recData === void 0 ? void 0 : recData.video, index: index, translateY: translateY, imgStyle: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.img }),
14422
+ } }, "Cta Title")) : (React.createElement("div", Object.assign({ ref: ref }, props, { className: `${css.css(Object.assign(Object.assign({}, style), { '--transY': `translateY(calc(100% + ${(_r = style === null || style === void 0 ? void 0 : style.margin) !== null && _r !== void 0 ? _r : 0}px))` }))} ${styles['aniLinkPopup']} ${aniNamStyle} ${css.css(aniTimStyle)}`, onClick: handleTo }),
14423
+ React.createElement("div", { onClick: onClose, className: styles['modal-icon-wrapper'], style: { padding: (_s = style === null || style === void 0 ? void 0 : style['padding']) !== null && _s !== void 0 ? _s : 0 } },
14424
+ React.createElement("img", { src: (_t = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.popupCloseIcon) !== null && _t !== void 0 ? _t : closeIcon, alt: 'close', className: styles['modal-icon-wrapper-img'] })),
14425
+ React.createElement(Img$1, { src: src, rec: recData, item: (_y = (_w = (_v = (_u = recData === null || recData === void 0 ? void 0 : recData.video) === null || _u === void 0 ? void 0 : _u.bindProducts) === null || _v === void 0 ? void 0 : _v[0]) !== null && _w !== void 0 ? _w : (_x = recData === null || recData === void 0 ? void 0 : recData.video) === null || _x === void 0 ? void 0 : _x.bindProduct) !== null && _y !== void 0 ? _y : recData === null || recData === void 0 ? void 0 : recData.video, index: index, translateY: translateY, imgStyle: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.img }),
14387
14426
  React.createElement("div", { hidden: !!recData && !(product === null || product === void 0 ? void 0 : product.title), className: styles['tow-line-ellipsis'], style: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.title, dangerouslySetInnerHTML: {
14388
- __html: setFontForText((_y = product === null || product === void 0 ? void 0 : product.title) !== null && _y !== void 0 ? _y : 'Product Name', ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.title)
14427
+ __html: setFontForText((_z = product === null || product === void 0 ? void 0 : product.title) !== null && _z !== void 0 ? _z : 'Product Name', ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.title)
14389
14428
  } }),
14390
- React.createElement("div", { className: 'one-line-ellipsis', style: Object.assign(Object.assign({}, ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.ctaTitle), { lineHeight: ((_z = ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.ctaTitle) === null || _z === void 0 ? void 0 : _z.height) + 'px' }), dangerouslySetInnerHTML: {
14429
+ React.createElement("div", { className: 'one-line-ellipsis', style: Object.assign(Object.assign({}, ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.ctaTitle), { lineHeight: ((_0 = ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.ctaTitle) === null || _0 === void 0 ? void 0 : _0.height) + 'px' }), dangerouslySetInnerHTML: {
14391
14430
  __html: setFontForText(title, ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.ctaTitle)
14392
14431
  } })))));
14393
14432
  };
@@ -14833,20 +14872,23 @@ Made in Italy` })));
14833
14872
  (_j = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _j === void 0 ? void 0 : _j.addEventListener('canplay', handlePlay);
14834
14873
  (_k = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _k === void 0 ? void 0 : _k.addEventListener('waiting', handleWaiting);
14835
14874
  return () => {
14836
- var _a, _b, _c, _d, _e, _f, _g, _h;
14875
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
14876
+ const isPause = (_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.paused;
14877
+ if (!isPause)
14878
+ handlePause();
14837
14879
  if (hls)
14838
14880
  hls === null || hls === void 0 ? void 0 : hls.destroy();
14839
14881
  setIsLoadFinish(false);
14840
- (_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('loadedmetadata', handleLoadedmetadata);
14841
- (_b = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _b === void 0 ? void 0 : _b.removeEventListener('loadeddata', handLoadeddata);
14842
- (_c = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _c === void 0 ? void 0 : _c.removeEventListener('play', handleStartPlay);
14843
- (_d = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _d === void 0 ? void 0 : _d.removeEventListener('playing', handlePlaying);
14844
- (_e = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _e === void 0 ? void 0 : _e.removeEventListener('pause', handlePause);
14845
- (_f = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _f === void 0 ? void 0 : _f.removeEventListener('ended', handlePlay);
14846
- (_g = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _g === void 0 ? void 0 : _g.removeEventListener('canplay', handlePlay);
14847
- (_h = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _h === void 0 ? void 0 : _h.removeEventListener('waiting', handleWaiting);
14882
+ (_b = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _b === void 0 ? void 0 : _b.removeEventListener('loadedmetadata', handleLoadedmetadata);
14883
+ (_c = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _c === void 0 ? void 0 : _c.removeEventListener('loadeddata', handLoadeddata);
14884
+ (_d = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _d === void 0 ? void 0 : _d.removeEventListener('play', handleStartPlay);
14885
+ (_e = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _e === void 0 ? void 0 : _e.removeEventListener('playing', handlePlaying);
14886
+ (_f = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _f === void 0 ? void 0 : _f.removeEventListener('pause', handlePause);
14887
+ (_g = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _g === void 0 ? void 0 : _g.removeEventListener('ended', handlePlay);
14888
+ (_h = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _h === void 0 ? void 0 : _h.removeEventListener('canplay', handlePlay);
14889
+ (_j = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _j === void 0 ? void 0 : _j.removeEventListener('waiting', handleWaiting);
14848
14890
  };
14849
- }, [isActive, videoId, rec]);
14891
+ }, [isActive, videoId, rec, handlePause]);
14850
14892
  React.useEffect(() => {
14851
14893
  var _a, _b;
14852
14894
  if (!(videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) || !isLoadFinish)
@@ -14992,23 +15034,23 @@ Made in Italy` })));
14992
15034
  * @Author: binruan@chatlabs.com
14993
15035
  * @Date: 2024-01-15 19:03:09
14994
15036
  * @LastEditors: binruan@chatlabs.com
14995
- * @LastEditTime: 2024-03-13 10:53:56
15037
+ * @LastEditTime: 2024-07-11 18:19:29
14996
15038
  * @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\FingerSwipeTip\index.tsx
14997
15039
  *
14998
15040
  */
14999
- const FingerSwipeTip = ({ imageUrl, style }) => {
15041
+ const FingerSwipeTip = ({ imageUrl, style, duration = 2000 }) => {
15000
15042
  const [show, setShow] = React.useState(true);
15001
15043
  useEditor();
15002
15044
  React.useEffect(() => {
15003
15045
  setTimeout(() => {
15004
15046
  setShow(false);
15005
- }, 2000);
15047
+ }, duration);
15006
15048
  }, []);
15007
15049
  const FINGER_SWIPE_ICON = useIconLink('/pb_static/finger-swipe-tip.29dc3a48a3c746c906ea..png');
15008
15050
  const animationCls = React.useMemo(() => {
15009
15051
  return show ? 'pb-fadeIn' : 'pb-fadeOut';
15010
15052
  }, [show]);
15011
- return (React.createElement("div", { hidden: !show, className: `pb-finger-wrap ${animationCls}`, style: style },
15053
+ return (React.createElement("div", { hidden: !show, className: `pb-finger-wrap ${animationCls}`, style: Object.assign(Object.assign({}, style), { animationDuration: `${duration / 1000}s` }) },
15012
15054
  React.createElement("img", { src: imageUrl || FINGER_SWIPE_ICON, alt: 'finger swiper' })));
15013
15055
  };
15014
15056
 
@@ -15112,11 +15154,12 @@ Made in Italy` })));
15112
15154
  * @Author: binruan@chatlabs.com
15113
15155
  * @Date: 2024-01-15 19:03:09
15114
15156
  * @LastEditors: binruan@chatlabs.com
15115
- * @LastEditTime: 2024-06-26 18:52:46
15157
+ * @LastEditTime: 2024-07-09 18:47:05
15116
15158
  * @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\Hashtag\index.tsx
15117
15159
  *
15118
15160
  */
15119
15161
  const Hashtag = ({ tags, itemId, itemType, index, rec, hashTagStyle }) => {
15162
+ var _a;
15120
15163
  const [isShowMore, setIsShowMore] = React.useState(false);
15121
15164
  const { setWaterFallData, setOpenHashtag, setCacheActiveIndex, waterFallData, setIsFromHashtag } = useSxpDataSource();
15122
15165
  const handleClickTag = (data) => {
@@ -15148,7 +15191,8 @@ Made in Italy` })));
15148
15191
  }
15149
15192
  return (React.createElement("span", { style: { textDecoration: 'underline', cursor: 'pointer', color: '#fff' }, onClick: () => setIsShowMore(!isShowMore) }, isShowMore ? 'show less' : 'show more'));
15150
15193
  }, [isShowMore, tags]);
15151
- return (React.createElement("div", { className: 'clc-sxp-bottom-hashtag' },
15194
+ console.log(hashTagStyle, '111');
15195
+ return (React.createElement("div", { className: 'clc-sxp-bottom-hashtag', style: { marginTop: `${(_a = hashTagStyle === null || hashTagStyle === void 0 ? void 0 : hashTagStyle.marginTop) !== null && _a !== void 0 ? _a : 16}px` } },
15152
15196
  React.createElement(Scroll$1, null, tags === null || tags === void 0 ? void 0 : tags.map((item, index) => (React.createElement(SwiperSlide, { key: index, hidden: !isShowMore ? index >= 6 : false, className: 'clc-sxp-bottom-hashtag-item', style: hashTagStyle, onClick: () => handleClickTag(item) },
15153
15197
  React.createElement("div", { dangerouslySetInnerHTML: { __html: setFontForText(`#${item}`, hashTagStyle) } })))))));
15154
15198
  };
@@ -15352,7 +15396,7 @@ Made in Italy` })));
15352
15396
  * @Author: binruan@chatlabs.com
15353
15397
  * @Date: 2024-01-15 19:03:09
15354
15398
  * @LastEditors: binruan@chatlabs.com
15355
- * @LastEditTime: 2024-07-22 15:57:31
15399
+ * @LastEditTime: 2024-07-24 14:59:23
15356
15400
  * @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\index.tsx
15357
15401
  *
15358
15402
  */
@@ -15558,18 +15602,18 @@ Made in Italy` })));
15558
15602
  };
15559
15603
  }, [isShowMore]);
15560
15604
  const renderBottom = React.useCallback((rec, index) => {
15561
- var _a, _b, _c, _d, _e, _f, _g;
15605
+ var _a, _b, _c, _d, _e, _f, _g, _h;
15562
15606
  if (rec === null || rec === void 0 ? void 0 : rec.video) {
15563
15607
  return (React.createElement(React.Fragment, null,
15564
15608
  ((_a = rec === null || rec === void 0 ? void 0 : rec.video) === null || _a === void 0 ? void 0 : _a.title) && !isShowMore && React.createElement("div", { className: 'clc-sxp-bottom-shadow' }),
15565
- React.createElement("div", { className: 'clc-sxp-bottom' },
15609
+ React.createElement("div", { className: 'clc-sxp-bottom', style: { paddingBottom: `${(_b = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.bottomInfoDist) !== null && _b !== void 0 ? _b : 40}px` } },
15566
15610
  React.createElement(Nudge, { nudge: nudge }),
15567
15611
  (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowCTA) === undefined || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowCTA) ? (React.createElement("div", { className: 'clc-sxp-bottom-card' },
15568
15612
  React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver }))) : null,
15569
15613
  React.createElement("div", null,
15570
- 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' }), onChange: onExpandableChange }),
15614
+ 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: (_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' }), onChange: onExpandableChange }),
15571
15615
  React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, includesCtaType: ['AniLink'] }),
15572
- React.createElement(Hashtag$1, { index: activeIndex, 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 }))),
15616
+ React.createElement(Hashtag$1, { index: activeIndex, tags: (_f = (_e = rec === null || rec === void 0 ? void 0 : rec.video) === null || _e === void 0 ? void 0 : _e.hashTags) !== null && _f !== void 0 ? _f : [], itemId: (_g = rec === null || rec === void 0 ? void 0 : rec.video) === null || _g === void 0 ? void 0 : _g.itemId, itemType: ((_h = rec === null || rec === void 0 ? void 0 : rec.video) === null || _h === void 0 ? void 0 : _h.itemId) ? 'VIDEO' : null, rec: rec, hashTagStyle: hashTagStyle }))),
15573
15617
  React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, includesCtaType: ['AniLinkPopup'] })));
15574
15618
  }
15575
15619
  return null;
@@ -15751,7 +15795,7 @@ Made in Italy` })));
15751
15795
  React.createElement("img", { width: 64, height: 64, src: loadingImage, alt: 'loading...', style: { objectFit: 'contain' } })));
15752
15796
  }
15753
15797
  return visList === null || visList === void 0 ? void 0 : visList.map((rec, index) => {
15754
- return (React.createElement(SwiperSlide, { key: index, virtualIndex: index }, rec && (React.createElement(React.Fragment, null, (rec === null || rec === void 0 ? void 0 : rec.loading) ? (React.createElement("div", { style: {
15798
+ return (React.createElement(SwiperSlide, { key: index, virtualIndex: index, style: { overflow: 'hidden' } }, rec && (React.createElement(React.Fragment, null, (rec === null || rec === void 0 ? void 0 : rec.loading) ? (React.createElement("div", { style: {
15755
15799
  height,
15756
15800
  width: containerWidth,
15757
15801
  display: 'flex',
@@ -15774,7 +15818,7 @@ Made in Italy` })));
15774
15818
  React.createElement(Tagbar$1, { tagList: tagList, setActiveIndex: setActiveIndex, style: {
15775
15819
  top: minusHeight
15776
15820
  } }),
15777
- isShowFingerTip ? (React.createElement(FingerSwipeTip, { imageUrl: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.swipeTipIcon, style: { top: `${50 + ((_a = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.swipeTipOffset) !== null && _a !== void 0 ? _a : 0)}%` } })) : null,
15821
+ isShowFingerTip ? (React.createElement(FingerSwipeTip, { imageUrl: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.swipeTipIcon, style: { top: `${50 - ((_a = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.swipeTipOffset) !== null && _a !== void 0 ? _a : 0)}%` }, duration: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.swiperTipAniDur })) : null,
15778
15822
  React.createElement(Swiper, { style: {
15779
15823
  marginTop: tagHeight
15780
15824
  }, ref: swiperRef, onSlideChange: () => {
@@ -15799,13 +15843,13 @@ Made in Italy` })));
15799
15843
  }
15800
15844
  }
15801
15845
  }, direction: 'vertical', height: height },
15802
- React.createElement(ToggleButton$1, { style: {
15846
+ ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowMute) === undefined || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowMute) === true) && (React.createElement(ToggleButton$1, { style: {
15803
15847
  position: 'fixed',
15804
15848
  visibility: ((_c = (_b = data === null || data === void 0 ? void 0 : data[activeIndex]) === null || _b === void 0 ? void 0 : _b.video) === null || _c === void 0 ? void 0 : _c.url) ? 'visible' : 'hidden',
15805
15849
  zIndex: 999,
15806
15850
  [(_d = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconXPosit) !== null && _d !== void 0 ? _d : 'right']: (_e = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconX) !== null && _e !== void 0 ? _e : 0,
15807
15851
  [(_f = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconYPosit) !== null && _f !== void 0 ? _f : 'bottom']: (_g = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconY) !== null && _g !== void 0 ? _g : 23
15808
- }, defaultValue: isMuted, activeIcon: (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.unMuteIcon) ? globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.unMuteIcon : mutedIcon, unactiveIcon: (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIcon) ? globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIcon : unmutedIcon, onChange: setIsMuted }),
15852
+ }, defaultValue: isMuted, activeIcon: (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.unMuteIcon) ? globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.unMuteIcon : mutedIcon, unactiveIcon: (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIcon) ? globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIcon : unmutedIcon, onChange: setIsMuted })),
15809
15853
  renderView),
15810
15854
  React.createElement(WaterFall$1, Object.assign({}, (_k = (_j = (_h = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.hashTag) === null || _h === void 0 ? void 0 : _h[0]) === null || _j === void 0 ? void 0 : _j.item) === null || _k === void 0 ? void 0 : _k.props))));
15811
15855
  };