pb-sxp-ui 1.19.18 → 1.19.19

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.
package/dist/pb-ui.js CHANGED
@@ -10320,6 +10320,106 @@
10320
10320
  };
10321
10321
  var CommodityGroup$1 = React.memo(CommodityGroup);
10322
10322
 
10323
+ function useVisibleHeight() {
10324
+ const [visibleHeight, setVisibleHeight] = React.useState(0);
10325
+ const [bottomHeight, setBottomHeight] = React.useState(0);
10326
+ const getVisibleContentHeight = () => {
10327
+ // 方法优先级:
10328
+ // 1. visualViewport.height (最准确)
10329
+ // 2. window.innerHeight (次之)
10330
+ // 3. document.documentElement.clientHeight (fallback)
10331
+ if (typeof window === 'undefined')
10332
+ return 0;
10333
+ let height = window.innerHeight;
10334
+ // 优先使用 visualViewport
10335
+ if (window.visualViewport) {
10336
+ height = window.visualViewport.height;
10337
+ }
10338
+ // 验证高度合理性
10339
+ if (height <= 0 || height > window.screen.height) {
10340
+ height = window.innerHeight;
10341
+ }
10342
+ // 最终 fallback
10343
+ if (height <= 0) {
10344
+ height = document.documentElement.clientHeight;
10345
+ }
10346
+ return height;
10347
+ };
10348
+ const updateHeight = React.useCallback(() => {
10349
+ var _a;
10350
+ const visibleHeight = getVisibleContentHeight();
10351
+ const screenHeight = (_a = window.screen) === null || _a === void 0 ? void 0 : _a.height;
10352
+ const ua = navigator.userAgent;
10353
+ // Instagram 检测
10354
+ const isInstagram = /Instagram/i.test(ua);
10355
+ // Facebook 检测
10356
+ const isFacebook = /FBAV|FBAN|FBSN/i.test(ua);
10357
+ // 安全检查
10358
+ if (!screenHeight || visibleHeight <= 0 || (!isInstagram && !isFacebook)) {
10359
+ setVisibleHeight(visibleHeight);
10360
+ return;
10361
+ }
10362
+ const ratio = visibleHeight / screenHeight;
10363
+ const threshold = 0.9;
10364
+ const h = screenHeight >= 900 ? screenHeight * 0.8 : screenHeight * 0.79;
10365
+ // 当内容高度占屏幕高度90%以上时,使用按比例计算的高度
10366
+ // 否则使用实际内容高度
10367
+ const isRatio = ratio >= threshold && ratio !== 1;
10368
+ const finalHeight = isRatio ? Math.round(h) : visibleHeight;
10369
+ if (isRatio) {
10370
+ setBottomHeight(screenHeight - Math.round(h));
10371
+ }
10372
+ else {
10373
+ setBottomHeight(0);
10374
+ }
10375
+ if ('fundebug' in window) {
10376
+ const systemInfo = {
10377
+ ratio,
10378
+ h,
10379
+ finalHeight,
10380
+ visibleHeight,
10381
+ screenHeight,
10382
+ isInstagram,
10383
+ isFacebook,
10384
+ ua
10385
+ };
10386
+ window === null || window === void 0 ? void 0 : window.fundebug.notify('Collect_Info', 'resize', { metaData: { systemInfo, otherInfo: {} } });
10387
+ }
10388
+ setVisibleHeight(finalHeight);
10389
+ }, [getVisibleContentHeight]);
10390
+ React.useEffect(() => {
10391
+ // 初始计算
10392
+ updateHeight();
10393
+ // 事件监听
10394
+ const events = ['resize', 'orientationchange', 'load', 'DOMContentLoaded'];
10395
+ events.forEach((event) => {
10396
+ window.addEventListener(event, updateHeight);
10397
+ });
10398
+ // visualViewport 监听(最重要)
10399
+ if (window.visualViewport) {
10400
+ window.visualViewport.addEventListener('resize', updateHeight);
10401
+ window.visualViewport.addEventListener('scroll', updateHeight);
10402
+ }
10403
+ // 键盘弹出/收起监听(移动端重要)
10404
+ if ('virtualKeyboard' in navigator) {
10405
+ navigator.virtualKeyboard.addEventListener('geometrychange', updateHeight);
10406
+ }
10407
+ return () => {
10408
+ events.forEach((event) => {
10409
+ window.removeEventListener(event, updateHeight);
10410
+ });
10411
+ if (window.visualViewport) {
10412
+ window.visualViewport.removeEventListener('resize', updateHeight);
10413
+ window.visualViewport.removeEventListener('scroll', updateHeight);
10414
+ }
10415
+ if ('virtualKeyboard' in navigator) {
10416
+ navigator.virtualKeyboard.removeEventListener('geometrychange', updateHeight);
10417
+ }
10418
+ };
10419
+ }, [updateHeight]);
10420
+ return { visibleHeight, bottomHeight };
10421
+ }
10422
+
10323
10423
  /*
10324
10424
  * @Author: binruan@chatlabs.com
10325
10425
  * @Date: 2023-11-02 18:34:34
@@ -10329,15 +10429,17 @@
10329
10429
  *
10330
10430
  */
10331
10431
  const closeIcon$1 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAjhJREFUWEfFlztOw0AQhmeWiJ4CCmpQ5DiRQsIJyAWg5A0lR0AIChDiCJS8ER0cADgBeRSxt4CCDgkaKiq8i+zYeWx2413HEWmiJJv9v535Z2aN8M8vFPT9z3zETD0aAUChUJjwvPFHAJhBhB3Hqd6OAsK2yyucwykAvP38eJX398Z3AJDLlVYR8ToU9Rhj25TWr9KEsKy5dULIGQCMtfZly45TvwsAstm56UwG6wA4FUFwzrdctxZBDcWSy5XWEPG8I84/GcMipdWPtgcsaz5PCHtKG0IuTiqUvjT9U/WYMG2IOPE+AP+LtCB0xKUAAyA2Xbd2o2OG0NQXvTnvhL17D7EPtH9TRCIWwkRcGYGIQgYBABuqPuHXOQBc6pw80lBGwBQiiXhsBHQhkoprA6iM6acjhDQKu5YJZW6XeOI3XJdpvfsdTu52VfXEekD8owQiXGIubpSCbhDbLu8DwKEAd+A41SOdPpE4BS0viFOtvV2iKWqUgn5x/tmS70xR01GuDSCKc86/OCcLgTyyZ0ScDGNhFAktAJV4NFJ9YyaFiAWIE+9uVkkgBgLoig8DMWAa9ro9ynkUdlW5maZDCmB6clmz0k1HH4Cs1Ezbq2p2yEpUuBOKTSZZex00RUWIrltxuuK6EOGDSbGIOPZicpMx6fny650377qNRgBgWeVFQuA+6UjVgREhGIMlSqsPUQqIbZdOOIdZQmCv2axRnU1N1+TzJYsxOEaEV8ep7frPZ7Gd0FTEdP0ft0/kMNdg0eoAAAAASUVORK5CYII=';
10332
- const Modal = ({ visible, onClose, children, modalStyle, padding, popup, schema, fullHeight = window.innerHeight, isFullScreen = false, openState }) => {
10432
+ const Modal = ({ visible, onClose, children, modalStyle, padding, popup, schema, fullHeight, isFullScreen = false, openState }) => {
10333
10433
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z;
10434
+ const { visibleHeight, bottomHeight } = useVisibleHeight();
10334
10435
  const touchRef = React.useRef(null);
10335
10436
  const fTouchRef = React.useRef(null);
10336
10437
  const touchMoveRef = React.useRef(null);
10337
10438
  const ref = React.useRef(null);
10338
10439
  const modalRef = React.useRef(null);
10339
- const MODAL_DEF_TRANS = fullHeight * 0.2;
10340
- const MODAL_DEF_CON_H = isFullScreen ? fullHeight : fullHeight * 0.8;
10440
+ const modalHeight = fullHeight || visibleHeight;
10441
+ const MODAL_DEF_TRANS = modalHeight * 0.2;
10442
+ const MODAL_DEF_CON_H = isFullScreen ? modalHeight : modalHeight * 0.8;
10341
10443
  const [modalTrans, setModalTrans] = React.useState(MODAL_DEF_TRANS);
10342
10444
  const [isShow, setIsShow] = React.useState(false);
10343
10445
  const modalEleRef = React.useRef(null);
@@ -10385,17 +10487,17 @@
10385
10487
  }, [_popup, openState, globalConfig, schema]);
10386
10488
  React.useEffect(() => {
10387
10489
  const trapFocus = (element) => {
10388
- var focusableEls = element === null || element === void 0 ? void 0 : element.querySelectorAll('[role="button"],a, a[href]:not([disabled]), button:not([disabled]), textarea:not([disabled]), input[type="text"]:not([disabled]), input[type="radio"]:not([disabled]), input[type="checkbox"]:not([disabled]), select:not([disabled])');
10389
- var firstFocusableEl = focusableEls === null || focusableEls === void 0 ? void 0 : focusableEls[0];
10390
- var lastFocusableEl = focusableEls === null || focusableEls === void 0 ? void 0 : focusableEls[(focusableEls === null || focusableEls === void 0 ? void 0 : focusableEls.length) - 1];
10391
- var KEYCODE_TAB = 9;
10490
+ const focusableEls = element === null || element === void 0 ? void 0 : element.querySelectorAll('[role="button"],a, a[href]:not([disabled]), button:not([disabled]), textarea:not([disabled]), input[type="text"]:not([disabled]), input[type="radio"]:not([disabled]), input[type="checkbox"]:not([disabled]), select:not([disabled])');
10491
+ const firstFocusableEl = focusableEls === null || focusableEls === void 0 ? void 0 : focusableEls[0];
10492
+ const lastFocusableEl = focusableEls === null || focusableEls === void 0 ? void 0 : focusableEls[(focusableEls === null || focusableEls === void 0 ? void 0 : focusableEls.length) - 1];
10493
+ const KEYCODE_TAB = 9;
10392
10494
  element.addEventListener('keydown', function (e) {
10393
10495
  if (e.key === 'Escape' || e.key === 'Esc') {
10394
10496
  // 在这里执行按下 Esc 键时的操作
10395
10497
  handleClose();
10396
10498
  e.preventDefault();
10397
10499
  }
10398
- var isTabPressed = e.key === 'Tab' || e.keyCode === KEYCODE_TAB;
10500
+ const isTabPressed = e.key === 'Tab' || e.keyCode === KEYCODE_TAB;
10399
10501
  if (!isTabPressed) {
10400
10502
  return;
10401
10503
  }
@@ -10477,12 +10579,12 @@
10477
10579
  }
10478
10580
  touchMoveRef.current = false;
10479
10581
  };
10480
- return ReactDOM__namespace.createPortal(React.createElement(React.Fragment, null, isShow && (React.createElement("div", { className: 'modal-bg', style: Object.assign({ display: 'flex', backgroundColor: isOpen ? 'rgba(0, 0, 0, 0.7)' : 'rgba(0, 0, 0, 0)' }, modalStyle), onClick: handleClose },
10582
+ return ReactDOM__namespace.createPortal(React.createElement(React.Fragment, null, isShow && (React.createElement("div", { className: 'modal-bg', style: Object.assign({ display: 'flex', backgroundColor: isOpen ? 'rgba(0, 0, 0, 0.7)' : 'rgba(0, 0, 0, 0)', bottom: bottomHeight + 'px' }, modalStyle), onClick: handleClose },
10481
10583
  React.createElement("div", { style: {
10482
10584
  position: 'relative',
10483
10585
  left: `${(_d = (_c = (_b = (_a = getPopupById === null || getPopupById === void 0 ? void 0 : getPopupById.item) === null || _a === void 0 ? void 0 : _a.props) === null || _b === void 0 ? void 0 : _b.popupBg) === null || _c === void 0 ? void 0 : _c.horizontalMargin) !== null && _d !== void 0 ? _d : 0}px`,
10484
10586
  right: `${(_h = (_g = (_f = (_e = getPopupById === null || getPopupById === void 0 ? void 0 : getPopupById.item) === null || _e === void 0 ? void 0 : _e.props) === null || _f === void 0 ? void 0 : _f.popupBg) === null || _g === void 0 ? void 0 : _g.horizontalMargin) !== null && _h !== void 0 ? _h : 0}px`,
10485
- bottom: `${(_m = (_l = (_k = (_j = getPopupById === null || getPopupById === void 0 ? void 0 : getPopupById.item) === null || _j === void 0 ? void 0 : _j.props) === null || _k === void 0 ? void 0 : _k.popupBg) === null || _l === void 0 ? void 0 : _l.bottomMargin) !== null && _m !== void 0 ? _m : 0}px`,
10587
+ bottom: `${((_m = (_l = (_k = (_j = getPopupById === null || getPopupById === void 0 ? void 0 : getPopupById.item) === null || _j === void 0 ? void 0 : _j.props) === null || _k === void 0 ? void 0 : _k.popupBg) === null || _l === void 0 ? void 0 : _l.bottomMargin) !== null && _m !== void 0 ? _m : 0) + bottomHeight}px`,
10486
10588
  overflow: 'hidden',
10487
10589
  width: `calc(100% - ${((_r = (_q = (_p = (_o = getPopupById === null || getPopupById === void 0 ? void 0 : getPopupById.item) === null || _o === void 0 ? void 0 : _o.props) === null || _p === void 0 ? void 0 : _p.popupBg) === null || _q === void 0 ? void 0 : _q.horizontalMargin) !== null && _r !== void 0 ? _r : 0) * 2}px)`,
10488
10590
  height: '100%'
@@ -10498,7 +10600,7 @@
10498
10600
  onTouchEnd: handleTouchEnd
10499
10601
  })),
10500
10602
  React.createElement("div", Object.assign({ id: 'modal-content', ref: ref, style: {
10501
- height: isScrollFullScreen ? fullHeight : MODAL_DEF_CON_H,
10603
+ height: isScrollFullScreen ? modalHeight : MODAL_DEF_CON_H,
10502
10604
  overflow: (isScrollFullScreen && modalTrans <= 0) || !isScrollFullScreen ? 'auto' : 'hidden',
10503
10605
  zIndex: 1
10504
10606
  } }, (((_z = (_y = getPopupById === null || getPopupById === void 0 ? void 0 : getPopupById.item) === null || _y === void 0 ? void 0 : _y.props) === null || _z === void 0 ? void 0 : _z.enableFixedCloseButton) && {
@@ -18133,7 +18235,7 @@ Made in Italy` })));
18133
18235
  };
18134
18236
  })();
18135
18237
 
18136
- const VideoWidget$4 = React.forwardRef(({ rec, index, height, data, muted, activeIndex, videoPostConfig, videoPlayIcon, loopPlay, swiperRef }, ref) => {
18238
+ const VideoWidget$4 = React.forwardRef(({ rec, index, height, data, muted, activeIndex, videoPostConfig, videoPlayIcon, loopPlay, swiperRef, visibleHeight }, ref) => {
18137
18239
  var _a, _b;
18138
18240
  const [isPauseVideo, setIsPauseVideo] = React.useState(false);
18139
18241
  const { bffEventReport, sxpParameter, waterFallData, openHashtag, bffFbReport, isDiyH5 } = useSxpDataSource();
@@ -18241,7 +18343,7 @@ Made in Italy` })));
18241
18343
  const canvas = canvasRef === null || canvasRef === void 0 ? void 0 : canvasRef.current;
18242
18344
  const ctx = canvas.getContext('2d');
18243
18345
  const targetWidth = window === null || window === void 0 ? void 0 : window.innerWidth;
18244
- const targetHeight = window === null || window === void 0 ? void 0 : window.innerHeight;
18346
+ const targetHeight = visibleHeight || (window === null || window === void 0 ? void 0 : window.innerHeight);
18245
18347
  canvas.height = targetHeight;
18246
18348
  canvas.width = targetWidth;
18247
18349
  ctx === null || ctx === void 0 ? void 0 : ctx.drawImage(videoRef.current, 0, 0, canvas.width, canvas.height);
@@ -18251,7 +18353,7 @@ Made in Italy` })));
18251
18353
  setTimeout(() => {
18252
18354
  setFrameImg();
18253
18355
  }, 500);
18254
- }, [videoRef.current, isBgColor, rec, firstFrameSrc, blur]);
18356
+ }, [videoRef.current, isBgColor, rec, firstFrameSrc, blur, visibleHeight]);
18255
18357
  const handleLoadedmetadata = React.useCallback(() => {
18256
18358
  if (!videoRef.current)
18257
18359
  return;
@@ -18993,98 +19095,6 @@ Made in Italy` })));
18993
19095
  };
18994
19096
  var NavBack$1 = React.memo(NavBack);
18995
19097
 
18996
- const useVisibleHeight = () => {
18997
- const [visibleHeight, setVisibleHeight] = React.useState(0);
18998
- const getVisibleContentHeight = () => {
18999
- // 方法优先级:
19000
- // 1. visualViewport.height (最准确)
19001
- // 2. window.innerHeight (次之)
19002
- // 3. document.documentElement.clientHeight (fallback)
19003
- if (typeof window === 'undefined')
19004
- return 0;
19005
- let height = window.innerHeight;
19006
- // 优先使用 visualViewport
19007
- if (window.visualViewport) {
19008
- height = window.visualViewport.height;
19009
- }
19010
- // 验证高度合理性
19011
- if (height <= 0 || height > window.screen.height) {
19012
- height = window.innerHeight;
19013
- }
19014
- // 最终 fallback
19015
- if (height <= 0) {
19016
- height = document.documentElement.clientHeight;
19017
- }
19018
- return height;
19019
- };
19020
- const updateHeight = React.useCallback(() => {
19021
- var _a;
19022
- const visibleHeight = getVisibleContentHeight();
19023
- const screenHeight = (_a = window.screen) === null || _a === void 0 ? void 0 : _a.height;
19024
- const ua = navigator.userAgent;
19025
- // Instagram 检测
19026
- const isInstagram = /Instagram/i.test(ua);
19027
- // Facebook 检测
19028
- const isFacebook = /FBAV|FBAN|FBSN/i.test(ua);
19029
- // 安全检查
19030
- if (!screenHeight || visibleHeight <= 0 || (!isInstagram && !isFacebook)) {
19031
- setVisibleHeight(visibleHeight);
19032
- return;
19033
- }
19034
- const ratio = visibleHeight / screenHeight;
19035
- const threshold = 0.9;
19036
- const h = screenHeight >= 900 ? screenHeight * 0.8 : screenHeight * 0.79;
19037
- // 当内容高度占屏幕高度90%以上时,使用按比例计算的高度
19038
- // 否则使用实际内容高度
19039
- const finalHeight = Math.round(ratio >= threshold ? h : visibleHeight);
19040
- if ('fundebug' in window) {
19041
- const systemInfo = {
19042
- ratio,
19043
- h,
19044
- finalHeight,
19045
- visibleHeight,
19046
- screenHeight,
19047
- isInstagram,
19048
- isFacebook,
19049
- ua
19050
- };
19051
- window === null || window === void 0 ? void 0 : window.fundebug.notify('Collect_Info', 'resize', { metaData: { systemInfo, otherInfo: {} } });
19052
- }
19053
- setVisibleHeight(finalHeight);
19054
- }, [getVisibleContentHeight]);
19055
- React.useEffect(() => {
19056
- // 初始计算
19057
- updateHeight();
19058
- // 事件监听
19059
- const events = ['resize', 'orientationchange', 'load', 'DOMContentLoaded'];
19060
- events.forEach((event) => {
19061
- window.addEventListener(event, updateHeight);
19062
- });
19063
- // visualViewport 监听(最重要)
19064
- if (window.visualViewport) {
19065
- window.visualViewport.addEventListener('resize', updateHeight);
19066
- window.visualViewport.addEventListener('scroll', updateHeight);
19067
- }
19068
- // 键盘弹出/收起监听(移动端重要)
19069
- if ('virtualKeyboard' in navigator) {
19070
- navigator.virtualKeyboard.addEventListener('geometrychange', updateHeight);
19071
- }
19072
- return () => {
19073
- events.forEach((event) => {
19074
- window.removeEventListener(event, updateHeight);
19075
- });
19076
- if (window.visualViewport) {
19077
- window.visualViewport.removeEventListener('resize', updateHeight);
19078
- window.visualViewport.removeEventListener('scroll', updateHeight);
19079
- }
19080
- if ('virtualKeyboard' in navigator) {
19081
- navigator.virtualKeyboard.removeEventListener('geometrychange', updateHeight);
19082
- }
19083
- };
19084
- }, [updateHeight]);
19085
- return visibleHeight;
19086
- };
19087
-
19088
19098
  /*
19089
19099
  * @Author: binruan@chatlabs.com
19090
19100
  * @Date: 2024-03-20 10:27:31
@@ -19113,7 +19123,7 @@ Made in Italy` })));
19113
19123
  const fbcRef = React.useRef('');
19114
19124
  const { loadVideos, bffEventReport, loading, setPopupDetailData, ctaEvent, swiperRef, waterFallData, setOpenHashtag, appDomain, openHashtag, loadingImage, isFromHashtag, popupDetailData, bffFbReport, curTime, h5EnterLink, isShowConsent, selectTag, isPreview, isEditor, cacheRtcList, setRtcList, cacheActiveIndex, rtcList, isNoMoreData, channel, refreshFeSession, isDiyH5, pixelPvStatusRef } = useSxpDataSource();
19115
19125
  const { backMainFeed, productView, jumpToWeb } = useEventReport();
19116
- const visibleHeight = useVisibleHeight();
19126
+ const { visibleHeight, bottomHeight } = useVisibleHeight();
19117
19127
  const isShowFingerTip = React.useMemo(() => {
19118
19128
  return data.length > 0 && !loading && (getFeUserState() || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enableSwiperTip));
19119
19129
  }, [data, loading, globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enableSwiperTip]);
@@ -19327,7 +19337,7 @@ Made in Italy` })));
19327
19337
  return (React.createElement(MultiPosts$2, Object.assign({ recData: data === null || data === void 0 ? void 0 : data[1] }, (_c = (_b = (_a = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.multiPosts) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.item) === null || _c === void 0 ? void 0 : _c.props, (_f = (_e = (_d = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.multiPosts) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.item) === null || _f === void 0 ? void 0 : _f.event)));
19328
19338
  }
19329
19339
  if ((_g = rec === null || rec === void 0 ? void 0 : rec.video) === null || _g === void 0 ? void 0 : _g.url) {
19330
- return (React.createElement(VideoWidget$5, Object.assign({ key: isReload }, (activeIndex === index && { ref: videoWidgetRef }), { 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, loopPlay: true, swiperRef: swiperRef })));
19340
+ return (React.createElement(VideoWidget$5, Object.assign({ key: isReload }, (activeIndex === index && { ref: videoWidgetRef }), { 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, loopPlay: true, swiperRef: swiperRef, visibleHeight: visibleHeight })));
19331
19341
  }
19332
19342
  if ((_h = rec === null || rec === void 0 ? void 0 : rec.video) === null || _h === void 0 ? void 0 : _h.imgUrls) {
19333
19343
  return (React.createElement(PictureGroup$5, { 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, onViewImageEndEvent: handleViewImageStartEnd, onViewImageStartEvent: handleViewImageStartEvent, imgUrlsPostConfig: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.imgUrlsPost }));
@@ -19354,7 +19364,8 @@ Made in Italy` })));
19354
19364
  tipText,
19355
19365
  resolver,
19356
19366
  schema,
19357
- isReload
19367
+ isReload,
19368
+ visibleHeight
19358
19369
  ]);
19359
19370
  const onExpandableChange = React.useCallback((v) => {
19360
19371
  setIsShowMore(v);
@@ -19426,6 +19437,9 @@ Made in Italy` })));
19426
19437
  if ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.likeIconYPosit) === 'top') {
19427
19438
  top += minusHeight;
19428
19439
  }
19440
+ if ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.likeIconFixed) && (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.likeIconYPosit) !== 'top') {
19441
+ top += bottomHeight;
19442
+ }
19429
19443
  if (rec === null || rec === void 0 ? void 0 : rec.video) {
19430
19444
  return (React.createElement(LikeButton$1, { key: rec.position, activeIcon: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.likeIcon, unActicveIcon: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.unlikeIcon, active: rec.isCollected, recData: rec, className: 'clc-sxp-like-button', style: {
19431
19445
  position: (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.likeIconFixed) ? 'fixed' : 'absolute',
@@ -19434,7 +19448,7 @@ Made in Italy` })));
19434
19448
  }, position: index }));
19435
19449
  }
19436
19450
  return null;
19437
- }, [globalConfig, waterFallData]);
19451
+ }, [globalConfig, waterFallData, bottomHeight]);
19438
19452
  const handleViewImageStartEnd = (item) => {
19439
19453
  var _a, _b, _c, _d, _e, _f;
19440
19454
  if (!((_a = item === null || item === void 0 ? void 0 : item.video) === null || _a === void 0 ? void 0 : _a.url) && ((_b = item === null || item === void 0 ? void 0 : item.video) === null || _b === void 0 ? void 0 : _b.imgUrls)) {
@@ -19660,6 +19674,9 @@ Made in Italy` })));
19660
19674
  if ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconYPosit) === 'top') {
19661
19675
  top += minusHeight;
19662
19676
  }
19677
+ if ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconFixed) && (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconYPosit) !== 'top') {
19678
+ top += bottomHeight;
19679
+ }
19663
19680
  return (((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: {
19664
19681
  position: (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconFixed) ? 'fixed' : 'absolute',
19665
19682
  visibility: ((_c = (_b = visList === null || visList === void 0 ? void 0 : visList[activeIndex]) === null || _b === void 0 ? void 0 : _b.video) === null || _c === void 0 ? void 0 : _c.url) ? 'visible' : 'hidden',
@@ -19668,7 +19685,7 @@ Made in Italy` })));
19668
19685
  [(_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,
19669
19686
  [(_f = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconYPosit) !== null && _f !== void 0 ? _f : 'bottom']: top
19670
19687
  }, 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 })));
19671
- }, [globalConfig, visList, activeIndex, isMuted, waterFallData]);
19688
+ }, [globalConfig, visList, activeIndex, isMuted, waterFallData, bottomHeight]);
19672
19689
  const renderView = React.useMemo(() => {
19673
19690
  if (loading) {
19674
19691
  return (React.createElement("div", { style: { height, width: containerWidth, display: 'flex', justifyContent: 'center', alignItems: 'center' } },
@@ -19762,10 +19779,10 @@ Made in Italy` })));
19762
19779
  renderToggleButton(!!(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconFixed))),
19763
19780
  React.createElement(WaterFall$1, Object.assign({}, (_u = (_t = (_s = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.hashTag) === null || _s === void 0 ? void 0 : _s[0]) === null || _t === void 0 ? void 0 : _t.item) === null || _u === void 0 ? void 0 : _u.props)),
19764
19781
  React.createElement(ConsentPopup, { resolver: resolver, globalConfig: globalConfig }),
19765
- openMultiPosts && (React.createElement(MultiPosts$2, Object.assign({}, (_x = (_w = (_v = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.multiPosts) === null || _v === void 0 ? void 0 : _v[0]) === null || _w === void 0 ? void 0 : _w.item) === null || _x === void 0 ? void 0 : _x.props, (_0 = (_z = (_y = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.multiPosts) === null || _y === void 0 ? void 0 : _y[0]) === null || _z === void 0 ? void 0 : _z.item) === null || _0 === void 0 ? void 0 : _0.event, { style: { position: 'fixed', top: 0, left: 0, right: 0 } }))))),
19782
+ openMultiPosts && (React.createElement(MultiPosts$2, Object.assign({}, (_x = (_w = (_v = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.multiPosts) === null || _v === void 0 ? void 0 : _v[0]) === null || _w === void 0 ? void 0 : _w.item) === null || _x === void 0 ? void 0 : _x.props, (_0 = (_z = (_y = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.multiPosts) === null || _y === void 0 ? void 0 : _y[0]) === null || _z === void 0 ? void 0 : _z.item) === null || _0 === void 0 ? void 0 : _0.event, { style: { position: 'fixed', top: 0, left: 0, right: 0, bottom: bottomHeight + 'px' } }))))),
19766
19783
  (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enableCookieSetting) && (React.createElement("div", { style: {
19767
19784
  position: 'fixed',
19768
- bottom: 0,
19785
+ bottom: bottomHeight + 'px',
19769
19786
  left: 0,
19770
19787
  right: 0,
19771
19788
  width: '100%',