mirror of
https://github.com/hanzoai/shadcn.git
synced 2026-11-03 03:18:52 +00:00
- Enable all 15 finance component docs (from .disabled → .mdx) - Create stock-market.mdx, 8 chart docs, 8 block docs, 2 framework docs - Add direction.tsx component (RTL/LTR support from upstream shadcn) - Add xs/icon-xs button sizes, data-variant/data-size attributes - Fix build-registry.mts to handle default exports in namespace re-exports - Add default props to order-entry, positions-list, orders-history, trading-panel - Fix 18 navigation stubs → re-export from root implementations - Add 44 orphaned MDX files to nav (installation, dark-mode, desktop, guides, etc) - Migrate 6 framer-motion imports → motion/react - Bump React 19.2.0→19.2.4, Next.js 16.0.1→16.1.6, motion→12.34.0 - Align lucide-react, sonner v2, tailwind-merge v3, postcss-selector-parser v7 - Remove framer-motion dep (superseded by motion) - Fix @types/react-dom, TypeScript versions across workspaces
274 lines
8.3 KiB
TypeScript
274 lines
8.3 KiB
TypeScript
/**
|
|
* Hanzo UI - Finance Components Registry
|
|
*
|
|
* Financial components including TradingView widgets, screeners,
|
|
* trading interfaces, and portfolio management.
|
|
*/
|
|
|
|
import { type Registry, type RegistryItem } from "../schema"
|
|
|
|
const finance: RegistryItem[] = [
|
|
// TradingView Chart Widgets
|
|
{
|
|
name: "advanced-chart",
|
|
type: "registry:finance",
|
|
title: "Advanced Chart",
|
|
description:
|
|
"Full-featured TradingView chart with symbol switching and timeframes",
|
|
dependencies: ["@hanzo/ui"],
|
|
files: [{ path: "finance/advanced-chart.tsx", type: "registry:finance" }],
|
|
category: "finance",
|
|
subcategory: "charts",
|
|
},
|
|
{
|
|
name: "market-overview",
|
|
type: "registry:finance",
|
|
title: "Market Overview",
|
|
description:
|
|
"Multi-asset market overview with tabs for indices, futures, bonds, and forex",
|
|
dependencies: ["@hanzo/ui"],
|
|
files: [{ path: "finance/market-overview.tsx", type: "registry:finance" }],
|
|
category: "finance",
|
|
subcategory: "charts",
|
|
},
|
|
{
|
|
name: "ticker-tape",
|
|
type: "registry:finance",
|
|
title: "Ticker Tape",
|
|
description: "Scrolling ticker tape with major market indices and stocks",
|
|
dependencies: ["@hanzo/ui"],
|
|
files: [{ path: "finance/ticker-tape.tsx", type: "registry:finance" }],
|
|
category: "finance",
|
|
subcategory: "charts",
|
|
},
|
|
{
|
|
name: "mini-chart",
|
|
type: "registry:finance",
|
|
title: "Mini Chart",
|
|
description: "Compact chart for dashboards and cards",
|
|
dependencies: ["@hanzo/ui"],
|
|
files: [{ path: "finance/mini-chart.tsx", type: "registry:finance" }],
|
|
category: "finance",
|
|
subcategory: "charts",
|
|
},
|
|
|
|
// Market Screeners
|
|
{
|
|
name: "stock-screener",
|
|
type: "registry:finance",
|
|
title: "Stock Screener",
|
|
description:
|
|
"Stock market screener with filtering and sorting capabilities",
|
|
dependencies: ["@hanzo/ui"],
|
|
files: [{ path: "finance/stock-screener.tsx", type: "registry:finance" }],
|
|
category: "finance",
|
|
subcategory: "screeners",
|
|
},
|
|
{
|
|
name: "crypto-screener",
|
|
type: "registry:finance",
|
|
title: "Crypto Screener",
|
|
description: "Cryptocurrency market screener for digital assets",
|
|
dependencies: ["@hanzo/ui"],
|
|
files: [{ path: "finance/crypto-screener.tsx", type: "registry:finance" }],
|
|
category: "finance",
|
|
subcategory: "screeners",
|
|
},
|
|
{
|
|
name: "forex-screener",
|
|
type: "registry:finance",
|
|
title: "Forex Screener",
|
|
description: "Foreign exchange market screener for currency pairs",
|
|
dependencies: ["@hanzo/ui"],
|
|
files: [{ path: "finance/forex-screener.tsx", type: "registry:finance" }],
|
|
category: "finance",
|
|
subcategory: "screeners",
|
|
},
|
|
|
|
// Symbol Analysis Widgets
|
|
{
|
|
name: "symbol-info",
|
|
type: "registry:finance",
|
|
title: "Symbol Info",
|
|
description: "Real-time symbol information with price and basic details",
|
|
dependencies: ["@hanzo/ui"],
|
|
files: [{ path: "finance/symbol-info.tsx", type: "registry:finance" }],
|
|
category: "finance",
|
|
subcategory: "analysis",
|
|
},
|
|
{
|
|
name: "company-profile",
|
|
type: "registry:finance",
|
|
title: "Company Profile",
|
|
description:
|
|
"Company profile with business description and key information",
|
|
dependencies: ["@hanzo/ui"],
|
|
files: [{ path: "finance/company-profile.tsx", type: "registry:finance" }],
|
|
category: "finance",
|
|
subcategory: "analysis",
|
|
},
|
|
{
|
|
name: "financials",
|
|
type: "registry:finance",
|
|
title: "Financials",
|
|
description: "Financial statements and fundamental data visualization",
|
|
dependencies: ["@hanzo/ui"],
|
|
files: [{ path: "finance/financials.tsx", type: "registry:finance" }],
|
|
category: "finance",
|
|
subcategory: "analysis",
|
|
},
|
|
{
|
|
name: "technical-analysis",
|
|
type: "registry:finance",
|
|
title: "Technical Analysis",
|
|
description: "Technical indicator summary with configurable intervals",
|
|
dependencies: ["@hanzo/ui"],
|
|
files: [
|
|
{ path: "finance/technical-analysis.tsx", type: "registry:finance" },
|
|
],
|
|
category: "finance",
|
|
subcategory: "analysis",
|
|
},
|
|
|
|
// News and Information
|
|
{
|
|
name: "news-timeline",
|
|
type: "registry:finance",
|
|
title: "News Timeline",
|
|
description: "Financial news timeline widget with real-time updates",
|
|
dependencies: ["@hanzo/ui"],
|
|
files: [{ path: "finance/news-timeline.tsx", type: "registry:finance" }],
|
|
category: "finance",
|
|
subcategory: "news",
|
|
},
|
|
{
|
|
name: "economic-calendar",
|
|
type: "registry:finance",
|
|
title: "Economic Calendar",
|
|
description: "Economic events calendar with impact levels",
|
|
dependencies: ["@hanzo/ui"],
|
|
files: [
|
|
{ path: "finance/economic-calendar.tsx", type: "registry:finance" },
|
|
],
|
|
category: "finance",
|
|
subcategory: "news",
|
|
},
|
|
|
|
// Trading Interface
|
|
{
|
|
name: "trading-panel",
|
|
type: "registry:finance",
|
|
title: "Trading Panel",
|
|
description:
|
|
"Demo trading panel with buy/sell functionality and portfolio tracking",
|
|
dependencies: ["@hanzo/ui"],
|
|
registryDependencies: ["button", "input", "tabs"],
|
|
files: [{ path: "finance/trading-panel.tsx", type: "registry:finance" }],
|
|
category: "finance",
|
|
subcategory: "trading",
|
|
},
|
|
{
|
|
name: "order-entry",
|
|
type: "registry:finance",
|
|
title: "Order Entry",
|
|
description:
|
|
"Order entry form with buy/sell toggle and market/limit orders",
|
|
dependencies: ["@hanzo/ui"],
|
|
registryDependencies: ["button", "input", "select", "toggle-group"],
|
|
files: [{ path: "finance/order-entry.tsx", type: "registry:finance" }],
|
|
category: "finance",
|
|
subcategory: "trading",
|
|
},
|
|
{
|
|
name: "positions-list",
|
|
type: "registry:finance",
|
|
title: "Positions List",
|
|
description:
|
|
"Real-time positions list with P&L tracking and percentage changes",
|
|
dependencies: ["@hanzo/ui"],
|
|
registryDependencies: ["table", "badge"],
|
|
files: [{ path: "finance/positions-list.tsx", type: "registry:finance" }],
|
|
category: "finance",
|
|
subcategory: "trading",
|
|
},
|
|
{
|
|
name: "orders-history",
|
|
type: "registry:finance",
|
|
title: "Orders History",
|
|
description:
|
|
"Order history view with status badges and cancel functionality",
|
|
dependencies: ["@hanzo/ui"],
|
|
registryDependencies: ["table", "badge", "button"],
|
|
files: [{ path: "finance/orders-history.tsx", type: "registry:finance" }],
|
|
category: "finance",
|
|
subcategory: "trading",
|
|
},
|
|
|
|
// Portfolio
|
|
{
|
|
name: "portfolio-overview",
|
|
type: "registry:finance",
|
|
title: "Portfolio Overview",
|
|
description: "Portfolio summary with total value and allocation",
|
|
dependencies: ["@hanzo/ui"],
|
|
registryDependencies: ["card", "chart"],
|
|
files: [
|
|
{ path: "finance/portfolio-overview.tsx", type: "registry:finance" },
|
|
],
|
|
category: "finance",
|
|
subcategory: "portfolio",
|
|
},
|
|
{
|
|
name: "watchlist",
|
|
type: "registry:finance",
|
|
title: "Watchlist",
|
|
description: "Customizable watchlist with price alerts",
|
|
dependencies: ["@hanzo/ui"],
|
|
registryDependencies: ["table", "button"],
|
|
files: [{ path: "finance/watchlist.tsx", type: "registry:finance" }],
|
|
category: "finance",
|
|
subcategory: "portfolio",
|
|
},
|
|
{
|
|
name: "asset-allocation",
|
|
type: "registry:finance",
|
|
title: "Asset Allocation",
|
|
description: "Asset allocation visualization with pie chart",
|
|
dependencies: ["@hanzo/ui"],
|
|
registryDependencies: ["chart", "card"],
|
|
files: [{ path: "finance/asset-allocation.tsx", type: "registry:finance" }],
|
|
category: "finance",
|
|
subcategory: "portfolio",
|
|
},
|
|
|
|
// Crypto-specific
|
|
{
|
|
name: "token-swap",
|
|
type: "registry:finance",
|
|
title: "Token Swap",
|
|
description: "Token swap interface for DeFi",
|
|
dependencies: ["@hanzo/ui"],
|
|
registryDependencies: ["button", "input", "select"],
|
|
files: [{ path: "finance/token-swap.tsx", type: "registry:finance" }],
|
|
category: "finance",
|
|
subcategory: "crypto",
|
|
},
|
|
{
|
|
name: "wallet-connect",
|
|
type: "registry:finance",
|
|
title: "Wallet Connect",
|
|
description: "Web3 wallet connection component",
|
|
dependencies: ["@hanzo/ui", "wagmi", "viem"],
|
|
registryDependencies: ["button", "dialog"],
|
|
files: [{ path: "finance/wallet-connect.tsx", type: "registry:finance" }],
|
|
category: "finance",
|
|
subcategory: "crypto",
|
|
},
|
|
]
|
|
|
|
export const hanzoFinanceRegistry: Registry = {
|
|
name: "hanzo/ui/finance",
|
|
homepage: "https://ui.hanzo.ai/finance",
|
|
items: finance,
|
|
}
|