UNPKG

@orca-fe/pocket

Version:

UI components by orca-team

63 lines (62 loc) 1.95 kB
import type { ReactElement, RefObject } from 'react'; import React from 'react'; import type { UseViewportType, Viewport } from './useViewport'; import useViewport from './useViewport'; export declare const ViewportSensorContext: React.Context<Viewport>; export declare const GetViewportContext: React.Context<() => { viewport: Viewport; mousePoint: [number, number]; }>; export interface ViewportSensorProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> { /** * 中心点位置 */ center?: [number, number]; /** * 缩放级别 */ zoom?: number; /** * 鼠标按下事件之前,允许 `return false` 终止拖拽行为 */ beforePointerDown?: UseViewportType['onPointerDown']; /** * center/zoom 发生变化时触发 */ onPropsChange?: (viewport: Viewport) => void; /** * 最大缩放级别 */ maxZoom?: UseViewportType['maxZoom']; /** * 最大缩放步进(防止触摸板滚动过快) */ maxZoomStep?: UseViewportType['maxZoomStep']; /** * 缩放步进 */ zoomStep?: UseViewportType['zoomStep']; /** * 最小缩放级别 */ minZoom?: UseViewportType['minZoom']; /** * 当触发鼠标滚轮时,实际的行为 */ wheelMode?: UseViewportType['wheelMode']; /** * 允许传入回调函数进行渲染 * 如果是传入回调函数的方式,则表示手动处理其 refs */ children?: React.HTMLAttributes<HTMLDivElement>['children'] | ((ref: RefObject<Element>) => ReactElement); } declare const ViewportSensor: { (props: ViewportSensorProps): import("react/jsx-runtime").JSX.Element; GetViewportContext: React.Context<() => { viewport: Viewport; mousePoint: [number, number]; }>; ViewportSensorContext: React.Context<Viewport>; useViewport: typeof useViewport; }; export default ViewportSensor;