pb-sxp-ui 1.0.100 → 1.0.102

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 (48) hide show
  1. package/dist/index.cjs +188 -139
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.css +10 -3
  4. package/dist/index.js +189 -139
  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 +188 -139
  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/ExpandableText.js +3 -1
  15. package/es/core/components/SxpPageRender/Nudge/index.d.ts +2 -0
  16. package/es/core/components/SxpPageRender/Nudge/index.js +5 -2
  17. package/es/core/components/SxpPageRender/Tagbar.d.ts +1 -0
  18. package/es/core/components/SxpPageRender/Tagbar.js +2 -2
  19. package/es/core/components/SxpPageRender/VideoWidget/VideoPlayer.d.ts +1 -0
  20. package/es/core/components/SxpPageRender/VideoWidget/VideoPlayer.js +22 -0
  21. package/es/core/components/SxpPageRender/VideoWidget/index.d.ts +0 -1
  22. package/es/core/components/SxpPageRender/VideoWidget/index.js +93 -85
  23. package/es/core/components/SxpPageRender/index.js +10 -27
  24. package/es/materials/sxp/popup/AppointForm/settingRender.js +2 -2
  25. package/es/materials/sxp/popup/CommodityDetail/index.js +4 -3
  26. package/es/materials/sxp/popup/CommodityDetailDiroNew/index.js +4 -3
  27. package/es/materials/sxp/popup/Prompt/index.d.ts +1 -0
  28. package/es/materials/sxp/popup/Prompt/index.js +4 -2
  29. package/es/materials/sxp/popup/Prompt/settingRender.d.ts +12 -0
  30. package/es/materials/sxp/popup/Prompt/settingRender.js +33 -4
  31. package/lib/core/components/SxpPageRender/ExpandableText.js +3 -1
  32. package/lib/core/components/SxpPageRender/Nudge/index.d.ts +2 -0
  33. package/lib/core/components/SxpPageRender/Nudge/index.js +5 -2
  34. package/lib/core/components/SxpPageRender/Tagbar.d.ts +1 -0
  35. package/lib/core/components/SxpPageRender/Tagbar.js +2 -2
  36. package/lib/core/components/SxpPageRender/VideoWidget/VideoPlayer.d.ts +1 -0
  37. package/lib/core/components/SxpPageRender/VideoWidget/VideoPlayer.js +26 -0
  38. package/lib/core/components/SxpPageRender/VideoWidget/index.d.ts +0 -1
  39. package/lib/core/components/SxpPageRender/VideoWidget/index.js +93 -85
  40. package/lib/core/components/SxpPageRender/index.js +10 -27
  41. package/lib/materials/sxp/popup/AppointForm/settingRender.js +2 -2
  42. package/lib/materials/sxp/popup/CommodityDetail/index.js +4 -3
  43. package/lib/materials/sxp/popup/CommodityDetailDiroNew/index.js +4 -3
  44. package/lib/materials/sxp/popup/Prompt/index.d.ts +1 -0
  45. package/lib/materials/sxp/popup/Prompt/index.js +4 -2
  46. package/lib/materials/sxp/popup/Prompt/settingRender.d.ts +12 -0
  47. package/lib/materials/sxp/popup/Prompt/settingRender.js +33 -4
  48. package/package.json +1 -1
package/dist/index.cjs CHANGED
@@ -1113,7 +1113,7 @@ var interactionRender$8 = [
1113
1113
  * @Author: binruan@chatlabs.com
1114
1114
  * @Date: 2023-07-28 18:29:57
1115
1115
  * @LastEditors: binruan@chatlabs.com
1116
- * @LastEditTime: 2024-06-27 09:50:07
1116
+ * @LastEditTime: 2024-07-02 10:01:21
1117
1117
  * @FilePath: \pb-sxp-ui\src\materials\sxp\popup\AppointForm\settingRender.tsx
1118
1118
  *
1119
1119
  */
@@ -1137,12 +1137,12 @@ var settingRender$6 = [
1137
1137
  child: [
1138
1138
  {
1139
1139
  type: 'Select',
1140
- name: ['testStyle', 'fontFamily-cn'],
1140
+ name: ['textStyle', 'fontFamily-cn'],
1141
1141
  bottomText: '中文字体'
1142
1142
  },
1143
1143
  {
1144
1144
  type: 'Select',
1145
- name: ['testStyle', 'fontFamily-en'],
1145
+ name: ['textStyle', 'fontFamily-en'],
1146
1146
  bottomText: '英文/其他字体'
1147
1147
  }
1148
1148
  ]
@@ -1369,7 +1369,7 @@ function useEventReport() {
1369
1369
  * @Author: binruan@chatlabs.com
1370
1370
  * @Date: 2024-06-27 16:22:34
1371
1371
  * @LastEditors: binruan@chatlabs.com
1372
- * @LastEditTime: 2024-06-27 18:27:11
1372
+ * @LastEditTime: 2024-07-02 10:34:34
1373
1373
  * @FilePath: \pb-sxp-ui\src\materials\sxp\popup\AppointForm\Form.tsx
1374
1374
  *
1375
1375
  */
@@ -8608,7 +8608,7 @@ var Modal$1 = React.memo(Modal);
8608
8608
  * @Author: binruan@chatlabs.com
8609
8609
  * @Date: 2023-12-26 16:11:34
8610
8610
  * @LastEditors: binruan@chatlabs.com
8611
- * @LastEditTime: 2024-06-26 18:22:30
8611
+ * @LastEditTime: 2024-06-28 15:17:10
8612
8612
  * @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\ExpandableText.tsx
8613
8613
  *
8614
8614
  */
@@ -8663,7 +8663,9 @@ const ExpandableText = ({ text, maxStr = 108, style, className, onClick, foldTex
8663
8663
  wordBreak: 'break-word'
8664
8664
  }, dangerouslySetInnerHTML: { __html: setFontForText(text === null || text === void 0 ? void 0 : text.replace(/\n/g, '</br>'), style) } }),
8665
8665
  React.createElement("div", { ref: multiRowCopy, dangerouslySetInnerHTML: { __html: setFontForText(text === null || text === void 0 ? void 0 : text.replace(/\n/g, '</br>'), style) } }),
8666
- text && isPost && isShow && (React.createElement("span", { style: { textDecoration: 'underline', cursor: 'pointer' }, onClick: onClick !== null && onClick !== void 0 ? onClick : handleClick }, isShowMore ? unfoldText || 'show less' : foldText || 'show more'))));
8666
+ text && isPost && isShow && (React.createElement("span", { style: { textDecoration: 'underline', cursor: 'pointer' }, onClick: onClick !== null && onClick !== void 0 ? onClick : handleClick, dangerouslySetInnerHTML: {
8667
+ __html: setFontForText(isShowMore ? unfoldText || 'show less' : foldText || 'show more', style)
8668
+ } }))));
8667
8669
  };
8668
8670
  var ExpandableText$1 = React.memo(ExpandableText);
8669
8671
 
@@ -8793,9 +8795,10 @@ const CommodityDetail$1 = (_a) => {
8793
8795
  };
8794
8796
  const renderBtn = () => {
8795
8797
  var _a, _b;
8796
- return (React.createElement(React.Fragment, null, (isDefault || (product === null || product === void 0 ? void 0 : product.link)) && (React.createElement("button", { "aria-label": (_a = cta === null || cta === void 0 ? void 0 : cta.enTitle) !== null && _a !== void 0 ? _a : 'Purchase on Website', onClick: handleLink, className: 'pb-commondity-btn', style: buttonStyle, dangerouslySetInnerHTML: {
8797
- __html: setFontForText((_b = cta === null || cta === void 0 ? void 0 : cta.enTitle) !== null && _b !== void 0 ? _b : 'Purchase on Website', buttonStyle)
8798
- } }))));
8798
+ return (React.createElement(React.Fragment, null, (isDefault || (product === null || product === void 0 ? void 0 : product.link)) && (React.createElement("button", { "aria-label": (_a = cta === null || cta === void 0 ? void 0 : cta.enTitle) !== null && _a !== void 0 ? _a : 'Purchase on Website', onClick: handleLink, className: 'pb-commondity-btn', style: buttonStyle },
8799
+ React.createElement("span", { dangerouslySetInnerHTML: {
8800
+ __html: setFontForText((_b = cta === null || cta === void 0 ? void 0 : cta.enTitle) !== null && _b !== void 0 ? _b : 'Purchase on Website', buttonStyle)
8801
+ } })))));
8799
8802
  };
8800
8803
  const getStyle = React.useCallback((style) => {
8801
8804
  if (style === null || style === void 0 ? void 0 : style.lineClamp) {
@@ -8925,7 +8928,7 @@ var interactionRender$7 = [
8925
8928
  * @Author: binruan@chatlabs.com
8926
8929
  * @Date: 2023-10-27 14:06:35
8927
8930
  * @LastEditors: binruan@chatlabs.com
8928
- * @LastEditTime: 2024-06-27 09:57:31
8931
+ * @LastEditTime: 2024-07-02 09:58:06
8929
8932
  * @FilePath: \pb-sxp-ui\src\materials\sxp\popup\Prompt\settingRender.tsx
8930
8933
  *
8931
8934
  */
@@ -8945,9 +8948,37 @@ var settingRender$4 = [
8945
8948
  name: ['props', 'content']
8946
8949
  },
8947
8950
  {
8948
- type: 'Text',
8949
- label: '按钮文案',
8950
- name: ['props', 'btnText']
8951
+ type: 'Group',
8952
+ label: '内容字体',
8953
+ child: [
8954
+ {
8955
+ type: 'Select',
8956
+ name: ['props', 'contentStyle', 'fontFamily-cn'],
8957
+ bottomText: '中文字体'
8958
+ },
8959
+ {
8960
+ type: 'Select',
8961
+ name: ['props', 'contentStyle', 'fontFamily-en'],
8962
+ bottomText: '英文/其他字体'
8963
+ }
8964
+ ]
8965
+ },
8966
+ {
8967
+ type: 'Group',
8968
+ label: '',
8969
+ child: [
8970
+ {
8971
+ type: 'Color',
8972
+ name: ['props', 'contentStyle', 'color'],
8973
+ initialValue: '#000'
8974
+ },
8975
+ {
8976
+ type: 'Number',
8977
+ name: ['props', 'contentStyle', 'fontSize'],
8978
+ addonAfter: 'px',
8979
+ initialValue: 14
8980
+ }
8981
+ ]
8951
8982
  },
8952
8983
  {
8953
8984
  type: 'Group',
@@ -8993,7 +9024,8 @@ var settingRender$4 = [
8993
9024
  {
8994
9025
  label: '提交按钮颜色',
8995
9026
  type: 'Color',
8996
- name: ['props', 'submitButtonStyle', 'backgroundColor']
9027
+ name: ['props', 'submitButtonStyle', 'backgroundColor'],
9028
+ initialValue: '#000'
8997
9029
  }
8998
9030
  ]
8999
9031
  }
@@ -9034,7 +9066,7 @@ const getMediaValueByMode = (obj) => {
9034
9066
  };
9035
9067
 
9036
9068
  const Prompt$1 = (_a) => {
9037
- var { content, btnText, style, icon, isPopup, isExternalLink, onClose, onClick, submitButtonStyle } = _a, props = __rest(_a, ["content", "btnText", "style", "icon", "isPopup", "isExternalLink", "onClose", "onClick", "submitButtonStyle"]);
9069
+ var { content, btnText, style, icon, isPopup, isExternalLink, onClose, onClick, submitButtonStyle, contentStyle } = _a, props = __rest(_a, ["content", "btnText", "style", "icon", "isPopup", "isExternalLink", "onClose", "onClick", "submitButtonStyle", "contentStyle"]);
9038
9070
  const { popupDetailData } = useSxpDataSource();
9039
9071
  const { jumpToWeb } = useEventReport();
9040
9072
  const iconSrc = typeof icon === 'string' ? icon : getMediaValueByMode(icon);
@@ -9055,7 +9087,9 @@ const Prompt$1 = (_a) => {
9055
9087
  return (React.createElement("div", Object.assign({ className: `pb-prompt ${css.css(Object.assign({}, style))}` }, props),
9056
9088
  React.createElement("div", { className: 'pb-prompt-icon' },
9057
9089
  React.createElement("img", { width: '100%', src: iconSrc !== null && iconSrc !== void 0 ? iconSrc : img$3, alt: 'success image' })),
9058
- React.createElement("div", { className: 'pb-prompt-content' }, content),
9090
+ React.createElement("div", { className: 'pb-prompt-content', style: contentStyle, dangerouslySetInnerHTML: {
9091
+ __html: setFontForText(content, contentStyle)
9092
+ } }),
9059
9093
  React.createElement("button", { "aria-label": btnText, className: 'pb-prompt-btn', style: submitButtonStyle, onClick: handleOk, dangerouslySetInnerHTML: {
9060
9094
  __html: setFontForText(btnText, submitButtonStyle)
9061
9095
  } })));
@@ -9424,9 +9458,10 @@ Made in Italy` })));
9424
9458
  React.createElement("div", { className: 'pb-commondityDiroNew-content-top-right-price', hidden: !!product && !(product === null || product === void 0 ? void 0 : product.taxInfo), style: getStyle(commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.taxInfo), dangerouslySetInnerHTML: {
9425
9459
  __html: setFontForText((_m = product === null || product === void 0 ? void 0 : product.taxInfo) !== null && _m !== void 0 ? _m : '税费', commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.taxInfo)
9426
9460
  } }))),
9427
- (!product || (product === null || product === void 0 ? void 0 : product.link)) && (React.createElement("button", { "aria-label": (_o = cta === null || cta === void 0 ? void 0 : cta.enTitle) !== null && _o !== void 0 ? _o : 'Shop now', onClick: handleLink, className: 'pb-commondityDiroNew-btn', style: buttonStyle, dangerouslySetInnerHTML: {
9428
- __html: setFontForText((_p = cta === null || cta === void 0 ? void 0 : cta.enTitle) !== null && _p !== void 0 ? _p : 'Shop now', buttonStyle)
9429
- } })),
9461
+ (!product || (product === null || product === void 0 ? void 0 : product.link)) && (React.createElement("button", { "aria-label": (_o = cta === null || cta === void 0 ? void 0 : cta.enTitle) !== null && _o !== void 0 ? _o : 'Shop now', onClick: handleLink, className: 'pb-commondityDiroNew-btn', style: buttonStyle },
9462
+ React.createElement("span", { dangerouslySetInnerHTML: {
9463
+ __html: setFontForText((_p = cta === null || cta === void 0 ? void 0 : cta.enTitle) !== null && _p !== void 0 ? _p : 'Shop now', buttonStyle)
9464
+ } }))),
9430
9465
  productInfoText({ isPost }))),
9431
9466
  React.createElement(Modal$1, { visible: showModal, onClose: () => setShowModal(false) }, productInfoText({ isPost: false }))));
9432
9467
  };
@@ -13079,7 +13114,29 @@ var LikeButton$1 = React.memo(LikeButton);
13079
13114
 
13080
13115
  var img$1 = "data:image/gif;base64,R0lGODlhlgCWAPf/AAAAAICAgMzMzMzMzNXV1dXV1dXV1dfX19jOztjY2NvOztvb29zc3N/Pz9/V1d/f3+Pj4+bm5ubm5ujR0ejg4Ojo6Onp6erj4+rj4+rl5evr6+vr6+3k5O3t7e3t7e7u7u7u7u/v7/Dw8PDw8PHx8fHx8fHx8fLs7PLu7vLu7vLy8vPu7vPz8/Tp6fTx8fTx8fT09PT09PT09PXw8Pbx8fbz8/b29vb29vb29vb29vb29vf09Pf39/f39/f39/f39/f39/f39/f39/f39/f39/j09Pj09Pj19fj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pn29vn39/n5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fr09Pr4+Pr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vv39/v39/v4+Pv5+fv5+fv6+vv7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/z4+Pz5+fz5+fz5+fz6+vz6+vz6+vz6+vz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/P36+v36+v36+v37+/37+/37+/37+/38/P38/P38/P38/P39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f78/P78/P78/P78/P7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v/V1f/39//4+P/6+v/7+//8/P/8/P/9/f/9/f/9/f/9/f/+/v/+/v/+/v/+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD/ACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAwBLACxFABcADwAMAIYAAACAgIDMzMzV1dXX19fYzs7Y2Njbzs7b29vc3Nzfz8/f1dXf39/j4+Pm5ubo0dHo4ODo6Ojp6enq4+Pq5eXr6+vt5OTt7e3u7u7v7+/w8PDx8fHy7Ozy7u7y8vLz7u7z8/P06en08fH09PT18PD28fH28/P29vb39PT39/f49PT49fX4+Pj59vb59/f5+fn69PT6+Pj6+vr79/f7+Pj7+fn7+vr7+/v8+Pj8+fn8+vr8/Pz9+vr9+/v9/Pz9/f3+/Pz+/v7/1dX/9/f/+Pj/+vr/+/v//Pz//f3//v7///8A/wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8IUgCXCNzxI8gOJQV3CFy4RIkMJTccQnQYZCGShAgNZiS45MfDiB8lglzSQyPGk0FCqpwY8iBKlyZFyly5xKRNmAJrzGQJcWFJmDB1MBQ4MwnDgAAAIfkECQQA/wAsRwAXAA8ADAAACFMA/wkslAhcqWKJsLkRyPAfODfgujyM+LAYQ4QGMR4sWGrhRIkQQVJcyFGjyYJrRqoU2aXYxowlS7L8SBNiIZg4XwqcGfIjw5g5G/6zUROcDYYBAQAh+QQJAwD/ACxIABcAEAAMAAAIWwD/CfzXqVSxRNgSlRrIEAm4LuDcPIz4sBNDcAYTYTy4MVEigRMlQhRJsYvAjB1TGuxio6RLkhJDaURJk+PCkDhHTvxXc6bNgzxh5ow40E3Pjm4Y/lszNKnAgAAAIfkECQMA/wAsSgAXABEADQAACGUA/wn856YLtkSlBioceAScG3BdHEJ0uLBLsUTgSl3MuLFUooESIz4UOfHhvzYYNabs2PFflJIwSUZcU0olx5U4SyEJyXNkyH84bwotFepfzJ4TB7IMqrGLwlIyeUZZuNAjR4UBAQAh+QQJBAD/ACxMABcAEgAOAAAIaAD/CRTYpdTAgwgFgusCzs1CcGvAJfwXBVypYoksYtSYqNjBhw4Zhmy4kJvAUhczpuTIEds/kSBjwiy4caXNmhhH6pRJEiVOlT8t/iM5kyhRk0NvAgX6cWfRKBNLLdXYZiLCiEhCHQwIACH5BAkDAP8ALE4AGAATAA4AAAhkAP8JBOcGXBeCxQQqXCiwWCJwpRxClMhwYMGDFwka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";
13081
13116
 
13082
- const VideoWidget$2 = ({ rec, index, height, data, muted, activeIndex, videoPostConfig, videoRef, videoPlayIcon }) => {
13117
+ const mountVideoPlayerAtNode = (() => {
13118
+ if (typeof document === 'undefined')
13119
+ return;
13120
+ const playerContainer = document.createElement('div');
13121
+ const dom = ReactDOM.render(React.createElement("video", { id: 'player-container-id', playsInline: true, crossOrigin: 'anonymous', preload: 'auto', controls: false, muted: true, style: {
13122
+ backgroundColor: 'transparent',
13123
+ width: '100%',
13124
+ height: '100%',
13125
+ objectFit: 'cover',
13126
+ pointerEvents: 'none'
13127
+ } }), playerContainer);
13128
+ // 播放器的挂载节点
13129
+ return (domNode) => {
13130
+ if (!domNode)
13131
+ return;
13132
+ domNode.innerHTML = '';
13133
+ domNode.appendChild(dom);
13134
+ const videoPlayerWrapperNode = document.querySelector(`#player-container-id`);
13135
+ return videoPlayerWrapperNode;
13136
+ };
13137
+ })();
13138
+
13139
+ const VideoWidget$2 = ({ rec, index, height, data, muted, activeIndex, videoPostConfig, videoPlayIcon }) => {
13083
13140
  const [isPauseVideo, setIsPauseVideo] = React.useState(false);
13084
13141
  const { bffEventReport, sxpParameter, waterFallData, openHashtag, bffFbReport } = useSxpDataSource();
13085
13142
  const videoStartTime = React.useRef(0);
@@ -13089,6 +13146,7 @@ const VideoWidget$2 = ({ rec, index, height, data, muted, activeIndex, videoPost
13089
13146
  const canvasRef = React.useRef(null);
13090
13147
  const [firstFrameSrc, setFirstFrameSrc] = React.useState('');
13091
13148
  const [waiting, setWaiting] = React.useState(false);
13149
+ const videoRef = React.useRef();
13092
13150
  const videoId = `pb-cache-video-${index}`;
13093
13151
  const videoEleRef = React.useRef(null);
13094
13152
  const blur = React.useMemo(() => {
@@ -13119,56 +13177,57 @@ const VideoWidget$2 = ({ rec, index, height, data, muted, activeIndex, videoPost
13119
13177
  return isBgColor && (videoPostConfig === null || videoPostConfig === void 0 ? void 0 : videoPostConfig.bgColor) ? { backgroundColor: videoPostConfig === null || videoPostConfig === void 0 ? void 0 : videoPostConfig.bgColor } : {};
13120
13178
  }, [videoPostConfig, isBgColor]);
13121
13179
  React.useEffect(() => {
13122
- if (!videoRef)
13180
+ if (!(videoRef === null || videoRef === void 0 ? void 0 : videoRef.current))
13123
13181
  return;
13124
- videoRef.muted = muted;
13125
- }, [muted, videoRef]);
13182
+ videoRef.current.muted = muted;
13183
+ }, [muted, videoRef === null || videoRef === void 0 ? void 0 : videoRef.current]);
13126
13184
  const handlePlay = React.useCallback(() => {
13127
- if (!videoRef)
13185
+ var _a;
13186
+ if (!(videoRef === null || videoRef === void 0 ? void 0 : videoRef.current))
13128
13187
  return;
13129
- videoRef === null || videoRef === void 0 ? void 0 : videoRef.play();
13130
- }, [videoRef]);
13188
+ (_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.play();
13189
+ }, [videoRef === null || videoRef === void 0 ? void 0 : videoRef.current]);
13131
13190
  const PAUSE_ICON = useIconLink('/pb_static/06f28a2025c74c1cb49be6767316d827.png');
13132
13191
  const handlePlaying = React.useCallback(() => {
13133
- if (!videoRef)
13192
+ if (!(videoRef === null || videoRef === void 0 ? void 0 : videoRef.current))
13134
13193
  return;
13135
13194
  setWaiting(false);
13136
13195
  setIsLoadFinish(true);
13137
13196
  }, []);
13138
13197
  const handleStartPlay = React.useCallback(() => {
13139
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
13140
- if (!videoRef)
13198
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
13199
+ if (!(videoRef === null || videoRef === void 0 ? void 0 : videoRef.current))
13141
13200
  return;
13142
13201
  setIsPauseVideo(false);
13143
13202
  const item = data[index];
13144
- if (item && (videoRef === null || videoRef === void 0 ? void 0 : videoRef.duration)) {
13145
- videoStartTime.current = (videoRef === null || videoRef === void 0 ? void 0 : videoRef.currentTime) || 0;
13146
- const videoDuration = ((_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.duration) !== null && _a !== void 0 ? _a : 0).toFixed(2);
13147
- const videoCurrentTime = ((_b = videoRef === null || videoRef === void 0 ? void 0 : videoRef.currentTime) !== null && _b !== void 0 ? _b : 0).toFixed(2);
13203
+ if (item && ((_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.duration)) {
13204
+ videoStartTime.current = ((_b = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _b === void 0 ? void 0 : _b.currentTime) || 0;
13205
+ const videoDuration = ((_d = (_c = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _c === void 0 ? void 0 : _c.duration) !== null && _d !== void 0 ? _d : 0).toFixed(2);
13206
+ const videoCurrentTime = ((_f = (_e = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _e === void 0 ? void 0 : _e.currentTime) !== null && _f !== void 0 ? _f : 0).toFixed(2);
13148
13207
  const playType = isFirstPlay ? '0' : '1';
13149
13208
  bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
13150
13209
  eventInfo: {
13151
13210
  eventSubject: 'playVideo',
13152
13211
  eventDescription: 'User played the video',
13153
- contentId: (_d = (_c = item === null || item === void 0 ? void 0 : item.video) === null || _c === void 0 ? void 0 : _c.itemId) !== null && _d !== void 0 ? _d : '',
13154
- contentName: (_f = (_e = item === null || item === void 0 ? void 0 : item.video) === null || _e === void 0 ? void 0 : _e.title) !== null && _f !== void 0 ? _f : '',
13212
+ contentId: (_h = (_g = item === null || item === void 0 ? void 0 : item.video) === null || _g === void 0 ? void 0 : _g.itemId) !== null && _h !== void 0 ? _h : '',
13213
+ contentName: (_k = (_j = item === null || item === void 0 ? void 0 : item.video) === null || _j === void 0 ? void 0 : _j.title) !== null && _k !== void 0 ? _k : '',
13155
13214
  playType,
13156
13215
  startTime: videoCurrentTime,
13157
13216
  videoDuration,
13158
- contentTags: JSON.stringify((_h = (_g = item === null || item === void 0 ? void 0 : item.video) === null || _g === void 0 ? void 0 : _g.tags) !== null && _h !== void 0 ? _h : []),
13217
+ contentTags: JSON.stringify((_m = (_l = item === null || item === void 0 ? void 0 : item.video) === null || _l === void 0 ? void 0 : _l.tags) !== null && _m !== void 0 ? _m : []),
13159
13218
  position: index + '',
13160
13219
  contentFormat: 'video',
13161
- traceInfo: (_j = item === null || item === void 0 ? void 0 : item.video) === null || _j === void 0 ? void 0 : _j.traceInfo
13220
+ traceInfo: (_o = item === null || item === void 0 ? void 0 : item.video) === null || _o === void 0 ? void 0 : _o.traceInfo
13162
13221
  }
13163
13222
  });
13164
13223
  setIsFirstPlay(false);
13165
13224
  }
13166
- }, [bffEventReport, data, index, isFirstPlay, videoRef]);
13225
+ }, [bffEventReport, data, index, isFirstPlay, videoRef === null || videoRef === void 0 ? void 0 : videoRef.current]);
13167
13226
  const handLoadeddata = React.useCallback(() => {
13168
13227
  var _a;
13169
- if (!videoRef || firstFrameSrc || !blur)
13228
+ if (!(videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) || firstFrameSrc || !blur)
13170
13229
  return;
13171
- videoRef.style.objectFit = 'contain';
13230
+ videoRef.current.style.objectFit = 'contain';
13172
13231
  if (((_a = rec === null || rec === void 0 ? void 0 : rec.video) === null || _a === void 0 ? void 0 : _a.cover) || !canvasRef || !canvasRef.current || isBgColor)
13173
13232
  return;
13174
13233
  const setFrameImg = () => {
@@ -13178,158 +13237,163 @@ const VideoWidget$2 = ({ rec, index, height, data, muted, activeIndex, videoPost
13178
13237
  const targetHeight = window === null || window === void 0 ? void 0 : window.innerHeight;
13179
13238
  canvas.height = targetHeight;
13180
13239
  canvas.width = targetWidth;
13181
- ctx === null || ctx === void 0 ? void 0 : ctx.drawImage(videoRef, 0, 0, canvas.width, canvas.height);
13240
+ ctx === null || ctx === void 0 ? void 0 : ctx.drawImage(videoRef.current, 0, 0, canvas.width, canvas.height);
13182
13241
  setFirstFrameSrc(canvas.toDataURL());
13183
13242
  };
13184
13243
  setFrameImg();
13185
13244
  setTimeout(() => {
13186
13245
  setFrameImg();
13187
13246
  }, 500);
13188
- }, [videoRef, isBgColor, rec, firstFrameSrc, blur]);
13247
+ }, [videoRef.current, isBgColor, rec, firstFrameSrc, blur]);
13189
13248
  const handleLoadedmetadata = React.useCallback(() => {
13190
- if (!videoRef)
13249
+ if (!videoRef.current)
13191
13250
  return;
13192
13251
  handleStartPlay();
13193
13252
  handLoadeddata();
13194
- }, [videoRef, handLoadeddata, handleStartPlay]);
13253
+ }, [videoRef.current, handLoadeddata, handleStartPlay]);
13195
13254
  const handleClickVideo = React.useCallback((type) => () => {
13196
- if (!videoRef)
13255
+ var _a, _b, _c, _d, _e;
13256
+ if (!videoRef.current)
13197
13257
  return;
13198
13258
  if (!isLoadFinish)
13199
13259
  return;
13200
- const isPause = videoRef === null || videoRef === void 0 ? void 0 : videoRef.paused;
13260
+ const isPause = (_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.paused;
13201
13261
  switch (type) {
13202
13262
  case 'start':
13203
13263
  if (!isPause)
13204
13264
  return;
13205
- videoRef === null || videoRef === void 0 ? void 0 : videoRef.play();
13265
+ (_b = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _b === void 0 ? void 0 : _b.play();
13206
13266
  setIsPauseVideo(false);
13207
13267
  break;
13208
13268
  case 'pause':
13209
13269
  if (isPause)
13210
13270
  return;
13211
- videoRef === null || videoRef === void 0 ? void 0 : videoRef.pause();
13271
+ (_c = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _c === void 0 ? void 0 : _c.pause();
13212
13272
  setIsPauseVideo(true);
13213
13273
  break;
13214
13274
  default:
13215
13275
  if (isPause) {
13216
- videoRef === null || videoRef === void 0 ? void 0 : videoRef.play();
13276
+ (_d = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _d === void 0 ? void 0 : _d.play();
13217
13277
  }
13218
13278
  else {
13219
- videoRef === null || videoRef === void 0 ? void 0 : videoRef.pause();
13279
+ (_e = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _e === void 0 ? void 0 : _e.pause();
13220
13280
  }
13221
13281
  setIsPauseVideo(!isPause);
13222
13282
  break;
13223
13283
  }
13224
- }, [isLoadFinish, videoRef]);
13284
+ }, [isLoadFinish, videoRef === null || videoRef === void 0 ? void 0 : videoRef.current]);
13225
13285
  const handlePause = React.useCallback(() => {
13226
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
13227
- if (!videoRef)
13286
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
13287
+ if (!(videoRef === null || videoRef === void 0 ? void 0 : videoRef.current))
13228
13288
  return;
13229
13289
  if (activeIndex !== index)
13230
13290
  return;
13231
13291
  const item = data[index];
13232
- const videoDuration = ((_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.duration) !== null && _a !== void 0 ? _a : 0).toFixed(2);
13233
- const videoCurrentTime = ((_b = videoRef === null || videoRef === void 0 ? void 0 : videoRef.currentTime) !== null && _b !== void 0 ? _b : 0).toFixed(2);
13234
- if (videoRef === null || videoRef === void 0 ? void 0 : videoRef.duration) {
13235
- const playDuration = ((videoRef === null || videoRef === void 0 ? void 0 : videoRef.currentTime) - videoStartTime.current).toFixed(2);
13292
+ const videoDuration = ((_b = (_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.duration) !== null && _b !== void 0 ? _b : 0).toFixed(2);
13293
+ const videoCurrentTime = ((_d = (_c = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _c === void 0 ? void 0 : _c.currentTime) !== null && _d !== void 0 ? _d : 0).toFixed(2);
13294
+ if ((_e = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _e === void 0 ? void 0 : _e.duration) {
13295
+ const playDuration = (((_f = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _f === void 0 ? void 0 : _f.currentTime) - videoStartTime.current).toFixed(2);
13236
13296
  bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
13237
13297
  eventInfo: {
13238
13298
  eventSubject: 'playOverVideo',
13239
13299
  eventDescription: 'User finished playing the video',
13240
- contentId: (_d = (_c = item === null || item === void 0 ? void 0 : item.video) === null || _c === void 0 ? void 0 : _c.itemId) !== null && _d !== void 0 ? _d : '',
13241
- contentName: (_f = (_e = item === null || item === void 0 ? void 0 : item.video) === null || _e === void 0 ? void 0 : _e.title) !== null && _f !== void 0 ? _f : '',
13300
+ contentId: (_h = (_g = item === null || item === void 0 ? void 0 : item.video) === null || _g === void 0 ? void 0 : _g.itemId) !== null && _h !== void 0 ? _h : '',
13301
+ contentName: (_k = (_j = item === null || item === void 0 ? void 0 : item.video) === null || _j === void 0 ? void 0 : _j.title) !== null && _k !== void 0 ? _k : '',
13242
13302
  endTime: videoCurrentTime,
13243
13303
  videoDuration,
13244
13304
  playDuration,
13245
- contentTags: JSON.stringify((_h = (_g = item === null || item === void 0 ? void 0 : item.video) === null || _g === void 0 ? void 0 : _g.tags) !== null && _h !== void 0 ? _h : []),
13305
+ contentTags: JSON.stringify((_m = (_l = item === null || item === void 0 ? void 0 : item.video) === null || _l === void 0 ? void 0 : _l.tags) !== null && _m !== void 0 ? _m : []),
13246
13306
  position: index + '',
13247
13307
  contentFormat: 'video',
13248
- traceInfo: (_j = item === null || item === void 0 ? void 0 : item.video) === null || _j === void 0 ? void 0 : _j.traceInfo
13308
+ traceInfo: (_o = item === null || item === void 0 ? void 0 : item.video) === null || _o === void 0 ? void 0 : _o.traceInfo
13249
13309
  }
13250
13310
  });
13251
13311
  }
13252
- }, [data, index, bffEventReport, videoRef, activeIndex]);
13312
+ }, [data, index, bffEventReport, videoRef === null || videoRef === void 0 ? void 0 : videoRef.current, activeIndex]);
13253
13313
  const handleWaiting = React.useCallback(() => {
13254
13314
  setWaiting(true);
13255
13315
  }, []);
13256
13316
  React.useEffect(() => {
13257
- if (!isActive || !videoRef)
13317
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
13318
+ if (!isActive)
13258
13319
  return;
13259
13320
  const videoSrc = rec === null || rec === void 0 ? void 0 : rec.video.url;
13260
13321
  if (!videoSrc)
13261
13322
  return;
13323
+ const videoPlayerWrapperNode = document.querySelector(`#${videoId}`);
13324
+ if (!videoPlayerWrapperNode)
13325
+ return;
13326
+ videoRef.current = mountVideoPlayerAtNode === null || mountVideoPlayerAtNode === void 0 ? void 0 : mountVideoPlayerAtNode(videoPlayerWrapperNode);
13327
+ if (!(videoRef === null || videoRef === void 0 ? void 0 : videoRef.current))
13328
+ return;
13262
13329
  const Hls = window === null || window === void 0 ? void 0 : window.Hls;
13263
13330
  let hls = null;
13264
13331
  if (videoSrc.includes('.m3u8') && Hls && Hls.isSupported()) {
13265
13332
  hls = new Hls();
13266
13333
  hls.loadSource(videoSrc);
13267
- hls.attachMedia(videoRef);
13334
+ hls.attachMedia(videoRef === null || videoRef === void 0 ? void 0 : videoRef.current);
13268
13335
  hls.on(Hls.Events.MANIFEST_PARSED, function () {
13269
- videoRef === null || videoRef === void 0 ? void 0 : videoRef.play();
13336
+ var _a;
13337
+ (_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.play();
13270
13338
  });
13271
13339
  }
13272
13340
  else {
13273
- videoRef.src = videoSrc;
13274
- }
13275
- const videoPlayerWrapperNode = document.querySelector(`#${videoId}`);
13276
- const dom = document.querySelector('#player-container-id');
13277
- const dom2 = document.querySelector('#player-container-id-copy');
13278
- if (!dom && !dom2)
13279
- return;
13280
- videoPlayerWrapperNode === null || videoPlayerWrapperNode === void 0 ? void 0 : videoPlayerWrapperNode.appendChild(dom || dom2);
13281
- videoRef.setAttribute('x5-playsinline', 'true');
13282
- videoRef.setAttribute('webkit-playsinline', 'true');
13283
- videoRef === null || videoRef === void 0 ? void 0 : videoRef.addEventListener('loadedmetadata', handleLoadedmetadata);
13284
- videoRef === null || videoRef === void 0 ? void 0 : videoRef.addEventListener('loadeddata', handLoadeddata);
13285
- videoRef === null || videoRef === void 0 ? void 0 : videoRef.addEventListener('play', handleStartPlay);
13286
- videoRef === null || videoRef === void 0 ? void 0 : videoRef.addEventListener('playing', handlePlaying);
13287
- videoRef === null || videoRef === void 0 ? void 0 : videoRef.addEventListener('pause', handlePause);
13288
- videoRef === null || videoRef === void 0 ? void 0 : videoRef.addEventListener('ended', handlePlay);
13289
- videoRef === null || videoRef === void 0 ? void 0 : videoRef.addEventListener('canplay', handlePlay);
13290
- videoRef === null || videoRef === void 0 ? void 0 : videoRef.addEventListener('waiting', handleWaiting);
13341
+ videoRef.current.src = videoSrc;
13342
+ }
13343
+ (_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.setAttribute('x5-playsinline', 'true');
13344
+ (_b = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _b === void 0 ? void 0 : _b.setAttribute('webkit-playsinline', 'true');
13345
+ (_c = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _c === void 0 ? void 0 : _c.addEventListener('loadedmetadata', handleLoadedmetadata);
13346
+ (_d = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _d === void 0 ? void 0 : _d.addEventListener('loadeddata', handLoadeddata);
13347
+ (_e = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _e === void 0 ? void 0 : _e.addEventListener('play', handleStartPlay);
13348
+ (_f = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _f === void 0 ? void 0 : _f.addEventListener('playing', handlePlaying);
13349
+ (_g = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _g === void 0 ? void 0 : _g.addEventListener('pause', handlePause);
13350
+ (_h = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _h === void 0 ? void 0 : _h.addEventListener('ended', handlePlay);
13351
+ (_j = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _j === void 0 ? void 0 : _j.addEventListener('canplay', handlePlay);
13352
+ (_k = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _k === void 0 ? void 0 : _k.addEventListener('waiting', handleWaiting);
13291
13353
  return () => {
13354
+ var _a, _b, _c, _d, _e, _f, _g, _h;
13292
13355
  if (hls)
13293
13356
  hls === null || hls === void 0 ? void 0 : hls.destroy();
13294
13357
  setIsLoadFinish(false);
13295
- dom2 === null || dom2 === void 0 ? void 0 : dom2.appendChild(dom);
13296
- videoRef === null || videoRef === void 0 ? void 0 : videoRef.removeEventListener('loadedmetadata', handleLoadedmetadata);
13297
- videoRef === null || videoRef === void 0 ? void 0 : videoRef.removeEventListener('loadeddata', handLoadeddata);
13298
- videoRef === null || videoRef === void 0 ? void 0 : videoRef.removeEventListener('play', handleStartPlay);
13299
- videoRef === null || videoRef === void 0 ? void 0 : videoRef.removeEventListener('playing', handlePlaying);
13300
- videoRef === null || videoRef === void 0 ? void 0 : videoRef.removeEventListener('pause', handlePause);
13301
- videoRef === null || videoRef === void 0 ? void 0 : videoRef.removeEventListener('ended', handlePlay);
13302
- videoRef === null || videoRef === void 0 ? void 0 : videoRef.removeEventListener('canplay', handlePlay);
13303
- videoRef === null || videoRef === void 0 ? void 0 : videoRef.removeEventListener('waiting', handleWaiting);
13358
+ (_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('loadedmetadata', handleLoadedmetadata);
13359
+ (_b = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _b === void 0 ? void 0 : _b.removeEventListener('loadeddata', handLoadeddata);
13360
+ (_c = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _c === void 0 ? void 0 : _c.removeEventListener('play', handleStartPlay);
13361
+ (_d = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _d === void 0 ? void 0 : _d.removeEventListener('playing', handlePlaying);
13362
+ (_e = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _e === void 0 ? void 0 : _e.removeEventListener('pause', handlePause);
13363
+ (_f = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _f === void 0 ? void 0 : _f.removeEventListener('ended', handlePlay);
13364
+ (_g = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _g === void 0 ? void 0 : _g.removeEventListener('canplay', handlePlay);
13365
+ (_h = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _h === void 0 ? void 0 : _h.removeEventListener('waiting', handleWaiting);
13304
13366
  };
13305
- }, [isActive, videoId, rec, videoRef]);
13367
+ }, [isActive, videoId, rec]);
13306
13368
  React.useEffect(() => {
13307
- if (!videoRef || !isLoadFinish)
13369
+ var _a, _b;
13370
+ if (!(videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) || !isLoadFinish)
13308
13371
  return;
13309
13372
  if (isActive) {
13310
13373
  bffFbReport === null || bffFbReport === void 0 ? void 0 : bffFbReport({
13311
13374
  eventName: 'ViewContent'
13312
13375
  });
13313
- videoRef === null || videoRef === void 0 ? void 0 : videoRef.play();
13376
+ (_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.play();
13314
13377
  }
13315
13378
  else {
13316
- videoRef === null || videoRef === void 0 ? void 0 : videoRef.pause();
13379
+ (_b = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _b === void 0 ? void 0 : _b.pause();
13317
13380
  }
13318
- }, [isActive, isLoadFinish, videoRef]);
13381
+ }, [isActive, isLoadFinish, videoRef === null || videoRef === void 0 ? void 0 : videoRef.current]);
13319
13382
  /*
13320
13383
  打开/关闭hashtag暂停/播放视频
13321
13384
  */
13322
13385
  React.useEffect(() => {
13323
- if (!isActive || !videoRef)
13386
+ var _a, _b, _c;
13387
+ if (!isActive || !(videoRef === null || videoRef === void 0 ? void 0 : videoRef.current))
13324
13388
  return;
13325
- const isPause = videoRef === null || videoRef === void 0 ? void 0 : videoRef.paused;
13389
+ const isPause = (_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.paused;
13326
13390
  if (!isPause && openHashtag) {
13327
- videoRef === null || videoRef === void 0 ? void 0 : videoRef.pause();
13391
+ (_b = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _b === void 0 ? void 0 : _b.pause();
13328
13392
  }
13329
13393
  else if (!openHashtag) {
13330
- videoRef === null || videoRef === void 0 ? void 0 : videoRef.play();
13394
+ (_c = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _c === void 0 ? void 0 : _c.play();
13331
13395
  }
13332
- }, [openHashtag, isActive, videoRef]);
13396
+ }, [openHashtag, isActive, videoRef === null || videoRef === void 0 ? void 0 : videoRef.current]);
13333
13397
  React.useEffect(() => {
13334
13398
  if (!isActive)
13335
13399
  return;
@@ -13376,11 +13440,11 @@ const VideoWidget$2 = ({ rec, index, height, data, muted, activeIndex, videoPost
13376
13440
  }, src: img$1, alt: 'placeholder image' }));
13377
13441
  }, [waiting, isLoadFinish]);
13378
13442
  React.useEffect(() => {
13379
- if (!videoRef)
13443
+ if (!(videoRef === null || videoRef === void 0 ? void 0 : videoRef.current))
13380
13444
  return;
13381
13445
  const handleBeforeUnload = () => {
13382
13446
  var _a;
13383
- if (activeIndex === index && ((_a = rec === null || rec === void 0 ? void 0 : rec.video) === null || _a === void 0 ? void 0 : _a.url) && videoRef && !isPauseVideo) {
13447
+ if (activeIndex === index && ((_a = rec === null || rec === void 0 ? void 0 : rec.video) === null || _a === void 0 ? void 0 : _a.url) && (videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) && !isPauseVideo) {
13384
13448
  handleClickVideo('pause')();
13385
13449
  }
13386
13450
  };
@@ -13388,7 +13452,7 @@ const VideoWidget$2 = ({ rec, index, height, data, muted, activeIndex, videoPost
13388
13452
  return () => {
13389
13453
  window.removeEventListener('beforeunload', handleBeforeUnload);
13390
13454
  };
13391
- }, [activeIndex, index, rec, videoRef, handleClickVideo, isPauseVideo]);
13455
+ }, [activeIndex, index, rec, videoRef === null || videoRef === void 0 ? void 0 : videoRef.current, handleClickVideo, isPauseVideo]);
13392
13456
  if (!(rec === null || rec === void 0 ? void 0 : rec.video)) {
13393
13457
  return null;
13394
13458
  }
@@ -13713,12 +13777,12 @@ var RenderCard$1 = React.memo(RenderCard);
13713
13777
  * @Author: binruan@chatlabs.com
13714
13778
  * @Date: 2024-03-26 10:07:41
13715
13779
  * @LastEditors: binruan@chatlabs.com
13716
- * @LastEditTime: 2024-05-23 14:31:12
13780
+ * @LastEditTime: 2024-07-01 17:47:33
13717
13781
  * @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\Nudge\index.tsx
13718
13782
  *
13719
13783
  */
13720
13784
  const Nudge = ({ nudge }) => {
13721
- var _a, _b, _c, _d, _e, _f, _g;
13785
+ var _a, _b, _c, _d, _e, _f;
13722
13786
  return (React.createElement(React.Fragment, null, (nudge === null || nudge === void 0 ? void 0 : nudge.isOpen) && (React.createElement("div", { className: 'clc-sxp-bottom-nudge', style: {
13723
13787
  marginBottom: (_a = nudge === null || nudge === void 0 ? void 0 : nudge.marginBottom) !== null && _a !== void 0 ? _a : 5,
13724
13788
  width: (_c = (_b = nudge === null || nudge === void 0 ? void 0 : nudge.size) === null || _b === void 0 ? void 0 : _b.width) !== null && _c !== void 0 ? _c : 212,
@@ -13727,18 +13791,20 @@ const Nudge = ({ nudge }) => {
13727
13791
  borderRadius: (_f = nudge === null || nudge === void 0 ? void 0 : nudge.borderRadius) !== null && _f !== void 0 ? _f : 4
13728
13792
  } },
13729
13793
  (nudge === null || nudge === void 0 ? void 0 : nudge.icon) ? (React.createElement("img", { src: nudge.icon, alt: 'nudge icon', style: { height: '100%', objectFit: 'cover', flexShrink: 0 } })) : null,
13730
- React.createElement("p", { style: Object.assign(Object.assign({}, nudge === null || nudge === void 0 ? void 0 : nudge.textStyle), { textWrap: 'nowrap', textOverflow: 'ellipsis', overflow: 'hidden', whiteSpace: 'nowrap', flex: 1, marginBottom: 0 }) }, (_g = nudge === null || nudge === void 0 ? void 0 : nudge.content) !== null && _g !== void 0 ? _g : '')))));
13794
+ React.createElement("p", { style: Object.assign(Object.assign({}, nudge === null || nudge === void 0 ? void 0 : nudge.textStyle), { textWrap: 'nowrap', textOverflow: 'ellipsis', overflow: 'hidden', whiteSpace: 'nowrap', flex: 1, marginBottom: 0 }), dangerouslySetInnerHTML: {
13795
+ __html: setFontForText(nudge === null || nudge === void 0 ? void 0 : nudge.content, nudge === null || nudge === void 0 ? void 0 : nudge.textStyle)
13796
+ } })))));
13731
13797
  };
13732
13798
 
13733
13799
  /*
13734
13800
  * @Author: binruan@chatlabs.com
13735
13801
  * @Date: 2024-04-29 16:32:21
13736
13802
  * @LastEditors: binruan@chatlabs.com
13737
- * @LastEditTime: 2024-06-20 10:53:08
13803
+ * @LastEditTime: 2024-06-28 18:03:50
13738
13804
  * @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\Tagbar.tsx
13739
13805
  *
13740
13806
  */
13741
- const Tagbar = ({ tagList = [], setActiveIndex }) => {
13807
+ const Tagbar = ({ tagList = [], setActiveIndex, style }) => {
13742
13808
  const { getRecommendVideos, setRtcList, setCacheRtcList, setCacheActiveIndex, setLoading, swiperRef, waterFallData, bffEventReport, selectTag, setSelectTag } = useSxpDataSource();
13743
13809
  const { backMainFeed } = useEventReport();
13744
13810
  const realTagList = React.useMemo(() => {
@@ -13779,7 +13845,7 @@ const Tagbar = ({ tagList = [], setActiveIndex }) => {
13779
13845
  };
13780
13846
  if (waterFallData || tagList.length <= 0)
13781
13847
  return null;
13782
- return (React.createElement("div", { className: 'clc-sxp-tagbar' },
13848
+ return (React.createElement("div", { className: 'clc-sxp-tagbar', style: style },
13783
13849
  React.createElement("ul", { className: 'clc-sxp-tagbar-list', style: { margin: 'auto', gap: 24 } }, realTagList.map((tag) => {
13784
13850
  return (React.createElement("li", { className: `clc-sxp-tagbar-list-item ${tag === selectTag ? 'clc-sxp-tagbar-list-item-active' : ''}`, key: tag, onClick: handleSelectTag(tag) }, tag));
13785
13851
  }))));
@@ -13790,7 +13856,7 @@ var Tagbar$1 = React.memo(Tagbar);
13790
13856
  * @Author: binruan@chatlabs.com
13791
13857
  * @Date: 2024-01-15 19:03:09
13792
13858
  * @LastEditors: binruan@chatlabs.com
13793
- * @LastEditTime: 2024-06-27 15:47:52
13859
+ * @LastEditTime: 2024-07-01 11:49:58
13794
13860
  * @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\index.tsx
13795
13861
  *
13796
13862
  */
@@ -13799,14 +13865,12 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
13799
13865
  const { schema } = useEditor();
13800
13866
  const [activeIndex, setActiveIndex] = React.useState(0);
13801
13867
  const viewImageStartTime = React.useRef(0);
13802
- React.useState(false);
13803
13868
  const [isMuted, setIsMuted] = React.useState(true);
13804
13869
  const viewTime = React.useRef();
13805
13870
  const [isLoadMore, setIsLoadMore] = React.useState(false);
13806
13871
  const [isShowMore, setIsShowMore] = React.useState(false);
13807
13872
  const { loadVideos, bffEventReport, loading, setPopupDetailData, ctaEvent, swiperRef, waterFallData, setOpenHashtag, appDomain, openHashtag, loadingImage, isFromHashtag, popupDetailData, bffFbReport, curTime, h5EnterLink, isShowConsent, selectTag } = useSxpDataSource();
13808
13873
  const { backMainFeed } = useEventReport();
13809
- const videoRef = React.useRef();
13810
13874
  const { productView } = useEventReport();
13811
13875
  const isShowFingerTip = React.useMemo(() => {
13812
13876
  return data.length > 0 && !loading && getFeUserId();
@@ -13834,16 +13898,6 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
13834
13898
  });
13835
13899
  }
13836
13900
  }, [data.length, bffFbReport, h5EnterLink]);
13837
- const firstRef = React.useRef();
13838
- React.useEffect(() => {
13839
- var _a, _b, _c, _d;
13840
- if (!firstRef.current && (videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) && (data === null || data === void 0 ? void 0 : data.length) > 0) {
13841
- firstRef.current = true;
13842
- if ((_b = (_a = data === null || data === void 0 ? void 0 : data[0]) === null || _a === void 0 ? void 0 : _a.video) === null || _b === void 0 ? void 0 : _b.url) {
13843
- videoRef.current.src = (_d = (_c = data === null || data === void 0 ? void 0 : data[0]) === null || _c === void 0 ? void 0 : _c.video) === null || _d === void 0 ? void 0 : _d.url;
13844
- }
13845
- }
13846
- }, [videoRef, data]);
13847
13901
  React.useEffect(() => {
13848
13902
  var _a;
13849
13903
  const index = (data === null || data === void 0 ? void 0 : data.findIndex((item) => {
@@ -13944,11 +13998,14 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
13944
13998
  }
13945
13999
  return h;
13946
14000
  }, [tagList, waterFallData]);
13947
- const height = React.useMemo(() => {
14001
+ const minusHeight = React.useMemo(() => {
13948
14002
  let minusHeight = 0;
13949
14003
  if ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.logoUrl) && (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowLogo)) {
13950
14004
  minusHeight += 45;
13951
14005
  }
14006
+ return minusHeight;
14007
+ }, []);
14008
+ const height = React.useMemo(() => {
13952
14009
  return containerHeight - minusHeight - tagHeight;
13953
14010
  }, [globalConfig, containerHeight, tagHeight]);
13954
14011
  const renderLogo = React.useMemo(() => {
@@ -13961,7 +14018,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
13961
14018
  const renderContent = React.useCallback((rec, index) => {
13962
14019
  var _a, _b, _c, _d;
13963
14020
  if ((_a = rec === null || rec === void 0 ? void 0 : rec.video) === null || _a === void 0 ? void 0 : _a.url) {
13964
- return (React.createElement(VideoWidget$3, { rec: rec, index: index, muted: isMuted, data: data, height: height, activeIndex: activeIndex, videoPostConfig: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.videoPost, videoRef: videoRef.current, videoPlayIcon: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.videoPlayIcon }));
14021
+ return (React.createElement(VideoWidget$3, { rec: rec, index: index, muted: isMuted, data: data, height: height, activeIndex: activeIndex, videoPostConfig: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.videoPost, videoPlayIcon: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.videoPlayIcon }));
13965
14022
  }
13966
14023
  if ((_b = rec === null || rec === void 0 ? void 0 : rec.video) === null || _b === void 0 ? void 0 : _b.imgUrls) {
13967
14024
  return (React.createElement(PictureGroup$3, { key: rec === null || rec === void 0 ? void 0 : rec.video.itemId, imgUrls: rec === null || rec === void 0 ? void 0 : rec.video.imgUrls, width: containerWidth, height: height, rec: rec, index: index, onReportViewImageEnd: handleReportViewImageEnd, onViewImageStartEvent: handleViewImageStartEvent, imgUrlsPostConfig: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.imgUrlsPost }));
@@ -13987,8 +14044,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
13987
14044
  viewTime,
13988
14045
  tipText,
13989
14046
  resolver,
13990
- schema,
13991
- videoRef.current
14047
+ schema
13992
14048
  ]);
13993
14049
  const onExpandableChange = React.useCallback((v) => {
13994
14050
  setIsShowMore(v);
@@ -14185,7 +14241,9 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
14185
14241
  setOpenHashtag === null || setOpenHashtag === void 0 ? void 0 : setOpenHashtag(true);
14186
14242
  } })),
14187
14243
  renderLogo,
14188
- React.createElement(Tagbar$1, { tagList: tagList, setActiveIndex: setActiveIndex }),
14244
+ React.createElement(Tagbar$1, { tagList: tagList, setActiveIndex: setActiveIndex, style: {
14245
+ top: minusHeight
14246
+ } }),
14189
14247
  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,
14190
14248
  React.createElement(Swiper, { style: {
14191
14249
  marginTop: tagHeight
@@ -14219,16 +14277,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
14219
14277
  [(_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
14220
14278
  }, 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 }),
14221
14279
  renderView),
14222
- 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)),
14223
- React.createElement("div", { style: { position: 'absolute', zIndex: -100 } },
14224
- React.createElement("video", { ref: videoRef, id: 'player-container-id', playsInline: true, crossOrigin: 'anonymous', preload: 'auto', controls: false, muted: true, style: {
14225
- backgroundColor: 'transparent',
14226
- width: '100%',
14227
- height: '100%',
14228
- objectFit: 'cover',
14229
- pointerEvents: 'none'
14230
- } }),
14231
- React.createElement("div", { id: 'player-container-id-copy' }))));
14280
+ 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))));
14232
14281
  };
14233
14282
 
14234
14283
  const PictureGroup = ({ imgUrls, width, height, imgUrlsPostConfig, rec, index }) => {