芝麻web文件管理V1.00
编辑当前文件:/home/freeclou/app.optimyar.com/backend/node_modules/react-select/src/internal/ScrollManager.js
// @flow /** @jsx jsx */ import { jsx } from '@emotion/react'; import React, { type Element } from 'react'; import useScrollCapture from './useScrollCapture'; import useScrollLock from './useScrollLock'; type RefCallback
= (T | null) => void; type Props = { children: (RefCallback
) => Element<*>, lockEnabled: boolean, captureEnabled: boolean, onBottomArrive?: (event: SyntheticEvent
) => void, onBottomLeave?: (event: SyntheticEvent
) => void, onTopArrive?: (event: SyntheticEvent
) => void, onTopLeave?: (event: SyntheticEvent
) => void, }; const blurSelectInput = () => document.activeElement && document.activeElement.blur(); export default function ScrollManager({ children, lockEnabled, captureEnabled = true, onBottomArrive, onBottomLeave, onTopArrive, onTopLeave, }: Props) { const setScrollCaptureTarget = useScrollCapture({ isEnabled: captureEnabled, onBottomArrive, onBottomLeave, onTopArrive, onTopLeave, }); const setScrollLockTarget = useScrollLock({ isEnabled: lockEnabled }); const targetRef = element => { setScrollCaptureTarget(element); setScrollLockTarget(element); }; return (
{lockEnabled && (
)} {children(targetRef)}
); }