diff --git a/packages/core/src/components/Nodes/NodeWrapper.ts b/packages/core/src/components/Nodes/NodeWrapper.ts index b778be93..600c1a89 100644 --- a/packages/core/src/components/Nodes/NodeWrapper.ts +++ b/packages/core/src/components/Nodes/NodeWrapper.ts @@ -213,7 +213,7 @@ const NodeWrapper = defineComponent({ events: { ...node.events, ...on }, selected: !!node.selected, resizing: !!node.resizing, - dragging: dragging?.value, + dragging: dragging.value, connectable: props.connectable, position: node.position, dimensions: node.dimensions, diff --git a/packages/core/src/types/edge.ts b/packages/core/src/types/edge.ts index 41645fc7..e989f006 100644 --- a/packages/core/src/types/edge.ts +++ b/packages/core/src/types/edge.ts @@ -152,7 +152,7 @@ export type GraphEdge< CustomEvents extends Record = any, Type extends string = string, > = Edge & { - selected?: boolean + selected: boolean sourceNode: GraphNode targetNode: GraphNode data: Data @@ -169,7 +169,7 @@ export interface EdgeProps | Object style?: CSSProperties selected?: boolean diff --git a/packages/core/src/types/flow.ts b/packages/core/src/types/flow.ts index 4470b97c..450ffb74 100644 --- a/packages/core/src/types/flow.ts +++ b/packages/core/src/types/flow.ts @@ -6,7 +6,7 @@ import type { Connection, ConnectionLineOptions, ConnectionLineType, ConnectionM import type { PanOnScrollMode, ViewportTransform } from './zoom' import type { EdgeTypesObject, NodeTypesObject } from './components' import type { CustomEvent } from './hooks' -import type { ValidConnectionFunc } from '~/types/handle' +import type { ValidConnectionFunc } from './handle' export type ElementData = any @@ -87,7 +87,7 @@ export interface Box extends XYPosition { export interface Rect extends Dimensions, XYPosition {} -export type SnapGrid = [number, number] +export type SnapGrid = [x: number, y: number] export interface SelectionRect extends Rect { startX: number @@ -102,7 +102,7 @@ export enum SelectionMode { export interface FlowExportObject { nodes: Node[] edges: Edge[] - position: [number, number] + position: [x: number, y: number] zoom: number } diff --git a/packages/core/src/types/node.ts b/packages/core/src/types/node.ts index 41243941..006e306a 100644 --- a/packages/core/src/types/node.ts +++ b/packages/core/src/types/node.ts @@ -5,13 +5,18 @@ import type { HandleConnectable, HandleElement, ValidConnectionFunc } from './ha import type { CustomEvent, NodeEventsHandler, NodeEventsOn } from './hooks' export interface ExtendedParentExtent { + // todo: can we allow more ranges? range: 'parent' /** Values are top, right, bottom, left, you can use these the same as CSS padding */ - padding: [number] | [number, number] | [number, number, number] | [number, number, number, number] + padding: + | [padding: number] + | [paddingY: number, paddingX: number] + | [paddingTop: number, paddingX: number, paddingBottom: number] + | [paddingTop: number, paddingRight: number, paddingBottom: number, paddingLeft: number] } /** Defined as [[x-from, y-from], [x-to, y-to]] **/ -export type CoordinateExtent = [[number, number], [number, number]] +export type CoordinateExtent = [extentFrom: [fromX: number, fromY: number], extentTo: [toX: number, toY: number]] export interface NodeHandleBounds { source?: HandleElement[] @@ -82,10 +87,7 @@ export interface Node> zIndex?: number ariaLabel?: string @@ -107,7 +109,6 @@ export interface GraphNode< dragging: boolean initialized: boolean data: Data - /** @deprecated will be removed in next major release */ events: Partial> type: Type }