Files
xyflow/packages/react/src/hooks/useViewport.ts
T
2024-01-08 11:59:01 +01:00

24 lines
557 B
TypeScript

import { shallow } from 'zustand/shallow';
import type { Viewport } from '@xyflow/system';
import { useStore } from '../hooks/useStore';
import type { ReactFlowState } from '../types';
const viewportSelector = (state: ReactFlowState) => ({
x: state.transform[0],
y: state.transform[1],
zoom: state.transform[2],
});
/**
* Hook for getting the current viewport from the store.
*
* @public
* @returns The current viewport
*/
export function useViewport(): Viewport {
const viewport = useStore(viewportSelector, shallow);
return viewport;
}