Merge branch 'next' into svelte-on-init
This commit is contained in:
@@ -186,6 +186,7 @@ export function EdgeWrapper({
|
||||
animated: edge.animated,
|
||||
inactive: !isSelectable && !onClick,
|
||||
updating: updateHover,
|
||||
selectable: isSelectable,
|
||||
},
|
||||
])}
|
||||
onClick={onEdgeClick}
|
||||
|
||||
@@ -22,7 +22,7 @@ import { useStore, useStoreApi } from '../../hooks/useStore';
|
||||
import { useNodeId } from '../../contexts/NodeIdContext';
|
||||
import { type ReactFlowState } from '../../types';
|
||||
|
||||
export type HandleComponentProps = HandleProps & Omit<HTMLAttributes<HTMLDivElement>, 'id'>;
|
||||
export interface HandleComponentProps extends HandleProps, Omit<HTMLAttributes<HTMLDivElement>, 'id'> {}
|
||||
|
||||
const selector = (s: ReactFlowState) => ({
|
||||
connectOnClick: s.connectOnClick,
|
||||
@@ -221,4 +221,7 @@ const HandleComponent = forwardRef<HTMLDivElement, HandleComponentProps>(
|
||||
|
||||
HandleComponent.displayName = 'Handle';
|
||||
|
||||
/**
|
||||
* The Handle component is the part of a node that can be used to connect nodes.
|
||||
*/
|
||||
export const Handle = memo(HandleComponent);
|
||||
|
||||
@@ -203,7 +203,7 @@ export function useReactFlow<NodeType extends Node = Node, EdgeType extends Edge
|
||||
const node = isRect ? null : (store.getState().nodeLookup.get(nodeOrRect.id) as NodeType);
|
||||
|
||||
if (!isRect && !node) {
|
||||
[null, null, isRect];
|
||||
return [null, null, isRect];
|
||||
}
|
||||
|
||||
const nodeRect = isRect ? nodeOrRect : nodeToRect(node!);
|
||||
|
||||
@@ -67,7 +67,6 @@ export {
|
||||
type OnError,
|
||||
type NodeProps,
|
||||
type NodeOrigin,
|
||||
type OnNodeDrag,
|
||||
type OnSelectionDrag,
|
||||
Position,
|
||||
type XYPosition,
|
||||
@@ -80,7 +79,6 @@ export {
|
||||
type ColorMode,
|
||||
type ColorModeClass,
|
||||
type HandleType,
|
||||
type OnBeforeDelete,
|
||||
type ShouldResize,
|
||||
type OnResizeStart,
|
||||
type OnResize,
|
||||
|
||||
@@ -1,21 +1,3 @@
|
||||
/* this will be exported as base.css and can be used for a basic styling */
|
||||
@import '../../../system/src/styles/init.css';
|
||||
@import '../../../system/src/styles/base.css';
|
||||
|
||||
.react-flow {
|
||||
--edge-label-background-color-default: #ffffff;
|
||||
--edge-label-color-default: inherit;
|
||||
}
|
||||
|
||||
.react-flow.dark {
|
||||
--edge-label-background-color-default: #141414;
|
||||
--edge-label-color-default: #f8f8f8;
|
||||
}
|
||||
|
||||
.react-flow__edge-textbg {
|
||||
fill: var(--edge-label-background-color, var(--edge-label-background-color-default));
|
||||
}
|
||||
|
||||
.react-flow__edge-text {
|
||||
fill: var(--edge-label-color, var(--edge-label-color-default));
|
||||
}
|
||||
|
||||
@@ -3,20 +3,10 @@
|
||||
@import '../../../system/src/styles/style.css';
|
||||
@import '../../../system/src/styles/node-resizer.css';
|
||||
|
||||
.react-flow {
|
||||
--edge-label-background-color-default: #ffffff;
|
||||
--edge-label-color-default: inherit;
|
||||
}
|
||||
|
||||
.react-flow.dark {
|
||||
--edge-label-background-color-default: #141414;
|
||||
--edge-label-color-default: #f8f8f8;
|
||||
}
|
||||
|
||||
.react-flow__edge-textbg {
|
||||
fill: var(--edge-label-background-color, var(--edge-label-background-color-default));
|
||||
fill: var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default));
|
||||
}
|
||||
|
||||
.react-flow__edge-text {
|
||||
fill: var(--edge-label-color, var(--edge-label-color-default));
|
||||
fill: var(--xy-edge-label-color, var(--xy-edge-label-color-default));
|
||||
}
|
||||
|
||||
@@ -21,7 +21,6 @@ import type {
|
||||
IsValidConnection,
|
||||
ColorMode,
|
||||
SnapGrid,
|
||||
OnBeforeDelete,
|
||||
} from '@xyflow/system';
|
||||
|
||||
import type {
|
||||
@@ -40,17 +39,18 @@ import type {
|
||||
OnDelete,
|
||||
OnNodesChange,
|
||||
OnEdgesChange,
|
||||
NodeDragHandler,
|
||||
NodeMouseHandler,
|
||||
SelectionDragHandler,
|
||||
EdgeMouseHandler,
|
||||
OnNodeDrag,
|
||||
OnBeforeDelete,
|
||||
} from '.';
|
||||
|
||||
/**
|
||||
* ReactFlow component props.
|
||||
* @public
|
||||
*/
|
||||
export type ReactFlowProps = Omit<HTMLAttributes<HTMLDivElement>, 'onError'> & {
|
||||
export interface ReactFlowProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onError'> {
|
||||
/** An array of nodes to render in a controlled flow.
|
||||
* @example
|
||||
* const nodes = [
|
||||
@@ -111,11 +111,11 @@ export type ReactFlowProps = Omit<HTMLAttributes<HTMLDivElement>, 'onError'> & {
|
||||
/** This event handler is called when a user right clicks on a node */
|
||||
onNodeContextMenu?: NodeMouseHandler;
|
||||
/** This event handler is called when a user starts to drag a node */
|
||||
onNodeDragStart?: NodeDragHandler;
|
||||
onNodeDragStart?: OnNodeDrag;
|
||||
/** This event handler is called when a user drags a node */
|
||||
onNodeDrag?: NodeDragHandler;
|
||||
onNodeDrag?: OnNodeDrag;
|
||||
/** This event handler is called when a user stops dragging a node */
|
||||
onNodeDragStop?: NodeDragHandler;
|
||||
onNodeDragStop?: OnNodeDrag;
|
||||
/** This event handler is called when a user clicks on an edge */
|
||||
onEdgeClick?: (event: ReactMouseEvent, edge: Edge) => void;
|
||||
/** This event handler is called when a user right clicks on an edge */
|
||||
@@ -502,6 +502,6 @@ export type ReactFlowProps = Omit<HTMLAttributes<HTMLDivElement>, 'onError'> & {
|
||||
* @example 'system' | 'light' | 'dark'
|
||||
*/
|
||||
colorMode?: ColorMode;
|
||||
};
|
||||
}
|
||||
|
||||
export type ReactFlowRefType = HTMLDivElement;
|
||||
|
||||
@@ -11,6 +11,7 @@ import {
|
||||
FitBounds,
|
||||
XYPosition,
|
||||
NodeProps,
|
||||
OnBeforeDeleteBase,
|
||||
} from '@xyflow/system';
|
||||
|
||||
import type { NodeChange, EdgeChange, Node, Edge, ReactFlowInstance, EdgeProps } from '.';
|
||||
@@ -19,7 +20,7 @@ import { ComponentType } from 'react';
|
||||
export type OnNodesChange<NodeType extends Node = Node> = (changes: NodeChange<NodeType>[]) => void;
|
||||
export type OnEdgesChange<EdgeType extends Edge = Edge> = (changes: EdgeChange<EdgeType>[]) => void;
|
||||
|
||||
export type OnNodesDelete = (nodes: Node[]) => void;
|
||||
export type OnNodesDelete<NodeType extends Node = Node> = (nodes: NodeType[]) => void;
|
||||
export type OnEdgesDelete = (edges: Edge[]) => void;
|
||||
export type OnDelete = (params: { nodes: Node[]; edges: Edge[] }) => void;
|
||||
|
||||
@@ -59,3 +60,8 @@ export type ViewportHelperFunctions = {
|
||||
flowToScreenPosition: (position: XYPosition) => XYPosition;
|
||||
viewportInitialized: boolean;
|
||||
};
|
||||
|
||||
export type OnBeforeDelete<NodeType extends Node = Node, EdgeType extends Edge = Edge> = OnBeforeDeleteBase<
|
||||
NodeType,
|
||||
EdgeType
|
||||
>;
|
||||
|
||||
@@ -3,11 +3,11 @@ import type { CoordinateExtent, NodeBase, NodeOrigin, OnError } from '@xyflow/sy
|
||||
|
||||
import { NodeTypes } from './general';
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
/**
|
||||
* The node data structure that gets used for the nodes prop.
|
||||
* @public
|
||||
*/
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
export type Node<NodeData = any, NodeType extends string | undefined = string | undefined> = NodeBase<
|
||||
NodeData,
|
||||
NodeType
|
||||
@@ -18,9 +18,13 @@ export type Node<NodeData = any, NodeType extends string | undefined = string |
|
||||
focusable?: boolean;
|
||||
};
|
||||
|
||||
export type NodeMouseHandler = (event: ReactMouseEvent, node: Node) => void;
|
||||
export type NodeDragHandler = (event: ReactMouseEvent, node: Node, nodes: Node[]) => void;
|
||||
export type SelectionDragHandler = (event: ReactMouseEvent, nodes: Node[]) => void;
|
||||
export type NodeMouseHandler<NodeType extends Node = Node> = (event: ReactMouseEvent, node: NodeType) => void;
|
||||
export type SelectionDragHandler<NodeType extends Node = Node> = (event: ReactMouseEvent, nodes: NodeType[]) => void;
|
||||
export type OnNodeDrag<NodeType extends Node = Node> = (
|
||||
event: ReactMouseEvent,
|
||||
node: NodeType,
|
||||
nodes: NodeType[]
|
||||
) => void;
|
||||
|
||||
export type NodeWrapperProps = {
|
||||
id: string;
|
||||
|
||||
@@ -17,7 +17,6 @@ import {
|
||||
type PanBy,
|
||||
type OnConnectStart,
|
||||
type OnConnectEnd,
|
||||
type OnNodeDrag,
|
||||
type OnSelectionDrag,
|
||||
type OnMoveStart,
|
||||
type OnMove,
|
||||
@@ -27,7 +26,6 @@ import {
|
||||
type EdgeLookup,
|
||||
type ConnectionLookup,
|
||||
type NodeLookup,
|
||||
OnBeforeDelete,
|
||||
} from '@xyflow/system';
|
||||
|
||||
import type {
|
||||
@@ -43,6 +41,8 @@ import type {
|
||||
OnSelectionChangeFunc,
|
||||
UnselectNodesAndEdgesParams,
|
||||
OnDelete,
|
||||
OnNodeDrag,
|
||||
OnBeforeDelete,
|
||||
} from '.';
|
||||
|
||||
export type ReactFlowStore = {
|
||||
|
||||
Reference in New Issue
Block a user