{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "transaction-flow", "title": "Transaction flow", "description": "Responsive Bitcoin input and output flow.", "dependencies": [ "lucide-react" ], "registryDependencies": [ "dennisonbertram/bitcoin-ui/bitcoin-amount", "dennisonbertram/bitcoin-ui/hash-display", "dennisonbertram/bitcoin-ui/protocol-badges" ], "files": [ { "path": "components/bitcoin/transaction-flow.tsx", "content": "import { ArrowDown, ArrowRight } from \"lucide-react\";\nimport type { ComponentProps } from \"react\";\n\nimport type { TransactionEndpoint } from \"@/lib/bitcoin\";\nimport { componentClasses } from \"@/lib/utils\";\n\nimport { BitcoinAmount } from \"./bitcoin-amount\";\nimport { HashDisplay } from \"./hash-display\";\nimport { ScriptBadge } from \"./script-badge\";\nimport { panelStyles, type BitcoinVisualProps } from \"./shared\";\n\nexport type TransactionFlowProps = Omit<\n ComponentProps<\"section\">,\n \"children\"\n> &\n BitcoinVisualProps & {\n inputs: TransactionEndpoint[];\n outputs: TransactionEndpoint[];\n fee?: bigint | number | string;\n };\n\nexport function TransactionFlow({\n inputs,\n outputs,\n fee,\n unstyled,\n className,\n ...props\n}: TransactionFlowProps) {\n return (\n \n \n \n \n \n \n \n {fee !== undefined ? (\n \n \n Miner fee\n \n \n \n ) : null}\n \n );\n}\n\nfunction EndpointGroup({\n label,\n endpoints,\n unstyled,\n}: {\n label: string;\n endpoints: TransactionEndpoint[];\n unstyled?: boolean;\n}) {\n return (\n
\n \n {label}\n \n \n {endpoints.map((endpoint) => (\n \n
\n {endpoint.coinbase ? (\n \n Coinbase\n \n ) : endpoint.address ? (\n \n ) : (\n \n {endpoint.label ?? \"Unknown\"}\n \n )}\n {endpoint.scriptType ? (\n
\n \n
\n ) : null}\n
\n \n \n ))}\n \n
\n );\n}\n", "type": "registry:component" } ], "type": "registry:component" }