diff --git a/.changeset/proud-stingrays-run.md b/.changeset/proud-stingrays-run.md new file mode 100644 index 00000000..8b835138 --- /dev/null +++ b/.changeset/proud-stingrays-run.md @@ -0,0 +1,7 @@ +--- +'@xyflow/react': patch +'@xyflow/svelte': patch +'@xyflow/system': patch +--- + +Add missing type exports diff --git a/packages/react/src/index.ts b/packages/react/src/index.ts index 305acea7..0b67466e 100644 --- a/packages/react/src/index.ts +++ b/packages/react/src/index.ts @@ -109,6 +109,9 @@ export { type NodeConnection, type OnReconnect, type AriaLabelConfig, + type SetCenter, + type SetViewport, + type FitBounds, } from '@xyflow/system'; // we need this workaround to prevent a duplicate identifier error diff --git a/packages/svelte/src/lib/index.ts b/packages/svelte/src/lib/index.ts index 2fc0befc..3c16faca 100644 --- a/packages/svelte/src/lib/index.ts +++ b/packages/svelte/src/lib/index.ts @@ -105,6 +105,9 @@ export { type OnResizeStart, type OnResize, type OnResizeEnd, + type OnReconnect, + type OnReconnectStart, + type OnReconnectEnd, type ControlPosition, type ControlLinePosition, ResizeControlVariant, @@ -113,7 +116,10 @@ export { type ResizeDragEvent, type IsValidConnection, type NodeConnection, - type AriaLabelConfig + type AriaLabelConfig, + type SetCenter, + type SetViewport, + type FitBounds } from '@xyflow/system'; // system utils diff --git a/packages/system/src/types/general.ts b/packages/system/src/types/general.ts index 4e7cf910..367ca1d8 100644 --- a/packages/system/src/types/general.ts +++ b/packages/system/src/types/general.ts @@ -21,8 +21,33 @@ export type ZoomInOut = (options?: ViewportHelperFunctionOptions) => Promise Promise; export type GetZoom = () => number; export type GetViewport = () => Viewport; + +/** + * The `SetViewport` function is used to set the viewport of the flow. + * + * @inline + * @param viewport - The viewport to set. + * @param options - Optional parameters to control the animation and easing of the viewport change. + */ export type SetViewport = (viewport: Viewport, options?: ViewportHelperFunctionOptions) => Promise; + +/** + * The `SetCenter` function is used to set the center of the flow viewport to a specific position + * + * @inline + * @param x - x coordinate + * @param y - y coordinate + * @param options - Optional parameters to control the animation and easing of the viewport change. + */ export type SetCenter = (x: number, y: number, options?: SetCenterOptions) => Promise; + +/** + * The `FitBounds` function is used to fit the flow viewport to the bounds of the nodes. + * + * @inline + * @param bounds - The bounds to fit the viewport to. + * @param options - Optional parameters to control the animation and easing of the viewport change. + */ export type FitBounds = (bounds: Rect, options?: FitBoundsOptions) => Promise; /** @@ -179,10 +204,16 @@ export type ViewportHelperFunctionOptions = { interpolate?: 'smooth' | 'linear'; }; +/** + * @inline + */ export type SetCenterOptions = ViewportHelperFunctionOptions & { zoom?: number; }; +/** + * @inline + */ export type FitBoundsOptions = ViewportHelperFunctionOptions & { padding?: number; };