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

133 lines
3.6 KiB
TypeScript

/**
* Hanzo UI - 3D Components Registry
*
* 3D and WebGL components using Three.js and React Three Fiber.
* These are Hanzo-exclusive extensions for immersive experiences.
*/
import { type Registry, type RegistryItem } from "../schema"
const threeD: RegistryItem[] = [
{
name: "3d-button",
type: "registry:3d",
title: "3D Button",
description: "Interactive 3D button with depth effects",
dependencies: ["@hanzo/ui", "motion", "three"],
files: [{ path: "3d/3d-button.tsx", type: "registry:3d" }],
category: "3d",
subcategory: "interactive",
},
{
name: "3d-card",
type: "registry:3d",
title: "3D Card",
description: "Card with 3D tilt effect on hover",
dependencies: ["@hanzo/ui", "motion"],
files: [{ path: "3d/3d-card.tsx", type: "registry:3d" }],
category: "3d",
subcategory: "interactive",
},
{
name: "3d-carousel",
type: "registry:3d",
title: "3D Carousel",
description: "3D carousel with perspective rotation",
dependencies: ["@hanzo/ui", "motion", "three"],
files: [{ path: "3d/3d-carousel.tsx", type: "registry:3d" }],
category: "3d",
subcategory: "layout",
},
{
name: "3d-grid",
type: "registry:3d",
title: "3D Grid",
description: "Interactive 3D grid layout",
dependencies: ["@hanzo/ui", "motion", "three"],
files: [{ path: "3d/3d-grid.tsx", type: "registry:3d" }],
category: "3d",
subcategory: "layout",
},
{
name: "3d-model-viewer",
type: "registry:3d",
title: "3D Model Viewer",
description: "3D model viewer with orbit controls and lighting",
dependencies: [
"@hanzo/ui",
"three",
"@react-three/fiber",
"@react-three/drei",
],
files: [{ path: "3d/3d-model-viewer.tsx", type: "registry:3d" }],
category: "3d",
subcategory: "viewer",
},
{
name: "3d-scene",
type: "registry:3d",
title: "3D Scene",
description: "Complete 3D scene with canvas, camera, and lighting",
dependencies: [
"@hanzo/ui",
"three",
"@react-three/fiber",
"@react-three/drei",
],
files: [{ path: "3d/3d-scene.tsx", type: "registry:3d" }],
category: "3d",
subcategory: "viewer",
},
{
name: "3d-text",
type: "registry:3d",
title: "3D Text",
description: "3D text with depth and lighting effects",
dependencies: ["@hanzo/ui", "motion", "three", "@react-three/drei"],
files: [{ path: "3d/3d-text.tsx", type: "registry:3d" }],
category: "3d",
subcategory: "typography",
},
{
name: "3d-globe",
type: "registry:3d",
title: "3D Globe",
description: "Interactive 3D globe with markers and connections",
dependencies: [
"@hanzo/ui",
"three",
"@react-three/fiber",
"@react-three/drei",
],
files: [{ path: "3d/3d-globe.tsx", type: "registry:3d" }],
category: "3d",
subcategory: "visualization",
},
{
name: "3d-particles",
type: "registry:3d",
title: "3D Particles",
description: "WebGL particle system with physics",
dependencies: ["@hanzo/ui", "three", "@react-three/fiber"],
files: [{ path: "3d/3d-particles.tsx", type: "registry:3d" }],
category: "3d",
subcategory: "effects",
},
{
name: "3d-background",
type: "registry:3d",
title: "3D Background",
description: "Animated 3D background with shaders",
dependencies: ["@hanzo/ui", "three", "@react-three/fiber"],
files: [{ path: "3d/3d-background.tsx", type: "registry:3d" }],
category: "3d",
subcategory: "effects",
},
]
export const hanzo3DRegistry: Registry = {
name: "hanzo/ui/3d",
homepage: "https://ui.hanzo.ai/3d",
items: threeD,
}