Merge branch 'next' into svelte-on-init

This commit is contained in:
moklick
2024-01-23 15:49:34 +01:00
41 changed files with 270 additions and 287 deletions
@@ -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);
+1 -1
View File
@@ -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!);
-2
View File
@@ -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,
-18
View File
@@ -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));
}
+2 -12
View File
@@ -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));
}
+7 -7
View File
@@ -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;
+7 -1
View File
@@ -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
>;
+8 -4
View File
@@ -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;
+2 -2
View File
@@ -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 = {