Node Status Indicator
A node wrapper that has multiple states for indicating the status of a node. Status can be one of the following: "success", "loading", "error" and "initial".
Additionally, the NodeStatusIndicator component supports different loading variants: "border" and "overlay", which can be set using the loadingVariant prop.
- The
"border"variant is the default and shows a spinning border around the node when it is in loading state. - The
"overlay"variant shows a full overlay, with an animated spinner on the node when it is in loading state.
Dependencies:
@xyflow/reactInstallation
Make sure to follow the prerequisites before installing the component.
npx shadcn@latest add https://ui.reactflow.dev/node-status-indicatorUsage
1. Copy the component into your app
import { BaseNode, BaseNodeContent } from "@/components/base-node"; import { NodeStatusIndicator } from "@/components/node-status-indicator"; export const LoadingNode = () => { return ( <NodeStatusIndicator status="loading" variant="border"> <BaseNode> <BaseNodeContent>This node is loading...</BaseNodeContent> </BaseNode> </NodeStatusIndicator> ); };2. Connect the component with your React Flow application.
import { Background, ReactFlow } from "@xyflow/react"; import { LoadingNode } from "./component-example"; const defaultNodes = [ { id: "1", position: { x: 120, y: 160 }, type: "loadingNode", data: {}, }, ]; const nodeTypes = { loadingNode: LoadingNode, }; export default function App() { return ( <div className="h-full w-full"> <ReactFlow defaultNodes={defaultNodes} nodeTypes={nodeTypes} fitView> <Background /> </ReactFlow> </div> ); }Examples
Last updated on