Files
zeekay e0ec477433 feat: full docs modernization — zero 404s, 585 pages, dep updates
- 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
2026-03-03 07:34:51 -08:00

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,
}