text-input-node-demo
simple-ai/text-input-node-demoFreeExample
simple-ai publishes no description for this item.
Live preview
live · rendered by the registry
Rendered by simple-ai on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://simple-ai.dev/r/text-input-node-demo.jsonSource
1"use client";23import "@xyflow/react/dist/style.css";45import {6 addEdge,7 applyEdgeChanges,8 applyNodeChanges,9 Background,10 type Connection,11 type EdgeChange,12 type Node,13 type NodeChange,14 type NodeProps,15 type NodeTypes,16 ReactFlow,17 ReactFlowProvider,18} from "@xyflow/react";1920import { useCallback, useState } from "react";21import { TextInputNode } from "@/registry/ui/flow/text-input-node";2223const TextInputNodeController = ({ id, data, ...props }: NodeProps<Node>) => {24 const [value, setValue] = useState("Hello World!");2526 return (27 <TextInputNode28 id={id}29 data={{30 status: "idle",31 config: { value },32 }}33 {...props}34 type="text-input"35 onTextChange={(value) => setValue(value)}36 onDeleteNode={() => {}}37 />38 );39};4041const nodeTypes: NodeTypes = {42 "text-input": TextInputNodeController,43};4445const initialNodes = [46 {47 id: "node-1",48 type: "text-input",49 position: { x: 0, y: -50 },50 data: {},51 },52];5354export default function ResizableNodeDemo() {55 const [nodes, setNodes] = useState<Node[]>(initialNodes);56 const [edges, setEdges] = useState([]);5758 // Add default viewport configuration59 const defaultViewport = { x: 100, y: 120, zoom: 1.2 };6061 const onNodesChange = useCallback(62 (changes: NodeChange<Node>[]) =>63 setNodes((nds) => applyNodeChanges(changes, nds)),64 [],65 );66 const onEdgesChange = useCallback(67 (changes: EdgeChange<never>[]) =>68 setEdges((eds) => applyEdgeChanges(changes, eds)),69 [],70 );71 const onConnect = useCallback(72 (connection: Connection) => setEdges((eds) => addEdge(connection, eds)),73 [],74 );75 return (76 <div className="w-full h-full">77 <ReactFlowProvider>78 <ReactFlow79 nodes={nodes}80 edges={edges}81 onNodesChange={onNodesChange}82 onEdgesChange={onEdgesChange}83 onConnect={onConnect}84 nodeTypes={nodeTypes}85 defaultViewport={defaultViewport}86 /* fitView */87 >88 <Background />89 </ReactFlow>90 </ReactFlowProvider>91 </div>92 );93}
Files it writes
More from simple-ai
All 77 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| chat-input-demo-mentionschat-input-demo-mentions | simple-ai | Examples | Free | no deps | |
| chat-input-demo-simplechat-input-demo-simple | simple-ai | Examples | Free | no deps | |
| chat-input-with-addonschat-input-with-addons | simple-ai | Examples | Free | no deps | |
| chat-message-area-demochat-message-area-demo | simple-ai | Examples | Free | no deps | |
| chat-message-area-demo-alignmentchat-message-area-demo-alignment | simple-ai | Examples | Free | no deps | |
| chat-message-area-demo-streamingchat-message-area-demo-streaming | simple-ai | Examples | Free | no deps | |
| chat-message-demochat-message-demo | simple-ai | Examples | Free | no deps | |
| chat-message-demo-avatar-imagechat-message-demo-avatar-image | simple-ai | Examples | Free | no deps |
