pb-sxp-ui 1.19.18 → 1.19.20

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,126 @@
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;
10368
+ const finalHeight = isRatio ? Math.round(h) : visibleHeight;
10369
+ const b = screenHeight - Math.round(h);
10370
+ if (isRatio) {
10371
+ const banner = document.querySelector('#onetrust-banner-sdk');
10372
+ if (banner) {
10373
+ banner.style.bottom = `${b}px`;
10374
+ }
10375
+ const styleElement = document.createElement('style');
10376
+ styleElement.id = 'onetrust-pc-sdk';
10377
+ styleElement.setAttribute('type', 'text/css');
10378
+ document.head.appendChild(styleElement);
10379
+ const css = `
10380
+ #onetrust-pc-sdk {
10381
+ height: ${finalHeight}px !important;
10382
+ }
10383
+ #onetrust-pc-sdk #ot-pc-content{
10384
+ bottom: ${b}px !important;
10385
+ }
10386
+ `;
10387
+ styleElement.textContent = css;
10388
+ }
10389
+ if (isRatio) {
10390
+ setBottomHeight(b);
10391
+ }
10392
+ else {
10393
+ setBottomHeight(0);
10394
+ }
10395
+ if ('fundebug' in window) {
10396
+ const systemInfo = {
10397
+ ratio,
10398
+ h,
10399
+ finalHeight,
10400
+ visibleHeight,
10401
+ screenHeight,
10402
+ isInstagram,
10403
+ isFacebook,
10404
+ ua
10405
+ };
10406
+ window === null || window === void 0 ? void 0 : window.fundebug.notify('Collect_Info', 'resize', { metaData: { systemInfo, otherInfo: {} } });
10407
+ }
10408
+ setVisibleHeight(finalHeight);
10409
+ }, [getVisibleContentHeight]);
10410
+ React.useEffect(() => {
10411
+ // 初始计算
10412
+ updateHeight();
10413
+ // 事件监听
10414
+ const events = ['resize', 'orientationchange', 'load', 'DOMContentLoaded'];
10415
+ events.forEach((event) => {
10416
+ window.addEventListener(event, updateHeight);
10417
+ });
10418
+ // visualViewport 监听(最重要)
10419
+ if (window.visualViewport) {
10420
+ window.visualViewport.addEventListener('resize', updateHeight);
10421
+ window.visualViewport.addEventListener('scroll', updateHeight);
10422
+ }
10423
+ // 键盘弹出/收起监听(移动端重要)
10424
+ if ('virtualKeyboard' in navigator) {
10425
+ navigator.virtualKeyboard.addEventListener('geometrychange', updateHeight);
10426
+ }
10427
+ return () => {
10428
+ events.forEach((event) => {
10429
+ window.removeEventListener(event, updateHeight);
10430
+ });
10431
+ if (window.visualViewport) {
10432
+ window.visualViewport.removeEventListener('resize', updateHeight);
10433
+ window.visualViewport.removeEventListener('scroll', updateHeight);
10434
+ }
10435
+ if ('virtualKeyboard' in navigator) {
10436
+ navigator.virtualKeyboard.removeEventListener('geometrychange', updateHeight);
10437
+ }
10438
+ };
10439
+ }, [updateHeight]);
10440
+ return { visibleHeight, bottomHeight };
10441
+ }
10442
+
10323
10443
  /*
10324
10444
  * @Author: binruan@chatlabs.com
10325
10445
  * @Date: 2023-11-02 18:34:34
@@ -10329,15 +10449,17 @@
10329
10449
  *
10330
10450
  */
10331
10451
  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 }) => {
10452
+ const Modal = ({ visible, onClose, children, modalStyle, padding, popup, schema, fullHeight, isFullScreen = false, openState }) => {
10333
10453
  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;
10454
+ const { visibleHeight, bottomHeight } = useVisibleHeight();
10334
10455
  const touchRef = React.useRef(null);
10335
10456
  const fTouchRef = React.useRef(null);
10336
10457
  const touchMoveRef = React.useRef(null);
10337
10458
  const ref = React.useRef(null);
10338
10459
  const modalRef = React.useRef(null);
10339
- const MODAL_DEF_TRANS = fullHeight * 0.2;
10340
- const MODAL_DEF_CON_H = isFullScreen ? fullHeight : fullHeight * 0.8;
10460
+ const modalHeight = fullHeight || visibleHeight;
10461
+ const MODAL_DEF_TRANS = modalHeight * 0.2;
10462
+ const MODAL_DEF_CON_H = isFullScreen ? modalHeight : modalHeight * 0.8;
10341
10463
  const [modalTrans, setModalTrans] = React.useState(MODAL_DEF_TRANS);
10342
10464
  const [isShow, setIsShow] = React.useState(false);
10343
10465
  const modalEleRef = React.useRef(null);
@@ -10385,17 +10507,17 @@
10385
10507
  }, [_popup, openState, globalConfig, schema]);
10386
10508
  React.useEffect(() => {
10387
10509
  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;
10510
+ 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])');
10511
+ const firstFocusableEl = focusableEls === null || focusableEls === void 0 ? void 0 : focusableEls[0];
10512
+ const lastFocusableEl = focusableEls === null || focusableEls === void 0 ? void 0 : focusableEls[(focusableEls === null || focusableEls === void 0 ? void 0 : focusableEls.length) - 1];
10513
+ const KEYCODE_TAB = 9;
10392
10514
  element.addEventListener('keydown', function (e) {
10393
10515
  if (e.key === 'Escape' || e.key === 'Esc') {
10394
10516
  // 在这里执行按下 Esc 键时的操作
10395
10517
  handleClose();
10396
10518
  e.preventDefault();
10397
10519
  }
10398
- var isTabPressed = e.key === 'Tab' || e.keyCode === KEYCODE_TAB;
10520
+ const isTabPressed = e.key === 'Tab' || e.keyCode === KEYCODE_TAB;
10399
10521
  if (!isTabPressed) {
10400
10522
  return;
10401
10523
  }
@@ -10477,12 +10599,12 @@
10477
10599
  }
10478
10600
  touchMoveRef.current = false;
10479
10601
  };
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 },
10602
+ 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
10603
  React.createElement("div", { style: {
10482
10604
  position: 'relative',
10483
10605
  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
10606
  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`,
10607
+ 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
10608
  overflow: 'hidden',
10487
10609
  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
10610
  height: '100%'
@@ -10498,7 +10620,7 @@
10498
10620
  onTouchEnd: handleTouchEnd
10499
10621
  })),
10500
10622
  React.createElement("div", Object.assign({ id: 'modal-content', ref: ref, style: {
10501
- height: isScrollFullScreen ? fullHeight : MODAL_DEF_CON_H,
10623
+ height: isScrollFullScreen ? modalHeight : MODAL_DEF_CON_H,
10502
10624
  overflow: (isScrollFullScreen && modalTrans <= 0) || !isScrollFullScreen ? 'auto' : 'hidden',
10503
10625
  zIndex: 1
10504
10626
  } }, (((_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 +18255,7 @@ Made in Italy` })));
18133
18255
  };
18134
18256
  })();
18135
18257
 
18136
- const VideoWidget$4 = React.forwardRef(({ rec, index, height, data, muted, activeIndex, videoPostConfig, videoPlayIcon, loopPlay, swiperRef }, ref) => {
18258
+ const VideoWidget$4 = React.forwardRef(({ rec, index, height, data, muted, activeIndex, videoPostConfig, videoPlayIcon, loopPlay, swiperRef, visibleHeight }, ref) => {
18137
18259
  var _a, _b;
18138
18260
  const [isPauseVideo, setIsPauseVideo] = React.useState(false);
18139
18261
  const { bffEventReport, sxpParameter, waterFallData, openHashtag, bffFbReport, isDiyH5 } = useSxpDataSource();
@@ -18241,7 +18363,7 @@ Made in Italy` })));
18241
18363
  const canvas = canvasRef === null || canvasRef === void 0 ? void 0 : canvasRef.current;
18242
18364
  const ctx = canvas.getContext('2d');
18243
18365
  const targetWidth = window === null || window === void 0 ? void 0 : window.innerWidth;
18244
- const targetHeight = window === null || window === void 0 ? void 0 : window.innerHeight;
18366
+ const targetHeight = visibleHeight || (window === null || window === void 0 ? void 0 : window.innerHeight);
18245
18367
  canvas.height = targetHeight;
18246
18368
  canvas.width = targetWidth;
18247
18369
  ctx === null || ctx === void 0 ? void 0 : ctx.drawImage(videoRef.current, 0, 0, canvas.width, canvas.height);
@@ -18251,7 +18373,7 @@ Made in Italy` })));
18251
18373
  setTimeout(() => {
18252
18374
  setFrameImg();
18253
18375
  }, 500);
18254
- }, [videoRef.current, isBgColor, rec, firstFrameSrc, blur]);
18376
+ }, [videoRef.current, isBgColor, rec, firstFrameSrc, blur, visibleHeight]);
18255
18377
  const handleLoadedmetadata = React.useCallback(() => {
18256
18378
  if (!videoRef.current)
18257
18379
  return;
@@ -18993,98 +19115,6 @@ Made in Italy` })));
18993
19115
  };
18994
19116
  var NavBack$1 = React.memo(NavBack);
18995
19117
 
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
19118
  /*
19089
19119
  * @Author: binruan@chatlabs.com
19090
19120
  * @Date: 2024-03-20 10:27:31
@@ -19113,7 +19143,7 @@ Made in Italy` })));
19113
19143
  const fbcRef = React.useRef('');
19114
19144
  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
19145
  const { backMainFeed, productView, jumpToWeb } = useEventReport();
19116
- const visibleHeight = useVisibleHeight();
19146
+ const { visibleHeight, bottomHeight } = useVisibleHeight();
19117
19147
  const isShowFingerTip = React.useMemo(() => {
19118
19148
  return data.length > 0 && !loading && (getFeUserState() || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enableSwiperTip));
19119
19149
  }, [data, loading, globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enableSwiperTip]);
@@ -19327,7 +19357,7 @@ Made in Italy` })));
19327
19357
  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
19358
  }
19329
19359
  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 })));
19360
+ 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
19361
  }
19332
19362
  if ((_h = rec === null || rec === void 0 ? void 0 : rec.video) === null || _h === void 0 ? void 0 : _h.imgUrls) {
19333
19363
  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 +19384,8 @@ Made in Italy` })));
19354
19384
  tipText,
19355
19385
  resolver,
19356
19386
  schema,
19357
- isReload
19387
+ isReload,
19388
+ visibleHeight
19358
19389
  ]);
19359
19390
  const onExpandableChange = React.useCallback((v) => {
19360
19391
  setIsShowMore(v);
@@ -19426,6 +19457,9 @@ Made in Italy` })));
19426
19457
  if ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.likeIconYPosit) === 'top') {
19427
19458
  top += minusHeight;
19428
19459
  }
19460
+ if ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.likeIconFixed) && (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.likeIconYPosit) !== 'top') {
19461
+ top += bottomHeight;
19462
+ }
19429
19463
  if (rec === null || rec === void 0 ? void 0 : rec.video) {
19430
19464
  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
19465
  position: (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.likeIconFixed) ? 'fixed' : 'absolute',
@@ -19434,7 +19468,7 @@ Made in Italy` })));
19434
19468
  }, position: index }));
19435
19469
  }
19436
19470
  return null;
19437
- }, [globalConfig, waterFallData]);
19471
+ }, [globalConfig, waterFallData, bottomHeight]);
19438
19472
  const handleViewImageStartEnd = (item) => {
19439
19473
  var _a, _b, _c, _d, _e, _f;
19440
19474
  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 +19694,9 @@ Made in Italy` })));
19660
19694
  if ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconYPosit) === 'top') {
19661
19695
  top += minusHeight;
19662
19696
  }
19697
+ if ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconFixed) && (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconYPosit) !== 'top') {
19698
+ top += bottomHeight;
19699
+ }
19663
19700
  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
19701
  position: (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconFixed) ? 'fixed' : 'absolute',
19665
19702
  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 +19705,7 @@ Made in Italy` })));
19668
19705
  [(_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
19706
  [(_f = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconYPosit) !== null && _f !== void 0 ? _f : 'bottom']: top
19670
19707
  }, 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]);
19708
+ }, [globalConfig, visList, activeIndex, isMuted, waterFallData, bottomHeight]);
19672
19709
  const renderView = React.useMemo(() => {
19673
19710
  if (loading) {
19674
19711
  return (React.createElement("div", { style: { height, width: containerWidth, display: 'flex', justifyContent: 'center', alignItems: 'center' } },
@@ -19762,10 +19799,10 @@ Made in Italy` })));
19762
19799
  renderToggleButton(!!(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconFixed))),
19763
19800
  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
19801
  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 } }))))),
19802
+ 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
19803
  (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enableCookieSetting) && (React.createElement("div", { style: {
19767
19804
  position: 'fixed',
19768
- bottom: 0,
19805
+ bottom: bottomHeight + 'px',
19769
19806
  left: 0,
19770
19807
  right: 0,
19771
19808
  width: '100%',