{ "$schema": "https://ui.shadcn.com/schema/registry.json", "name": "wireframe-ui", "homepage": "https://wireframe-ui.vercel.app", "items": [ { "name": "accordion", "type": "registry:ui", "title": "Accordion", "description": "A vertically stacked set of interactive headings that each reveal a section of content.", "dependencies": ["@radix-ui/react-accordion", "@heroicons/react"], "registryDependencies": ["text"], "files": [ { "path": "registry/new-york/ui/accordion.tsx", "type": "registry:ui" } ] }, { "name": "alert", "type": "registry:ui", "title": "Alert", "description": "Displays a callout for user attention with optional icon and variant styles.", "dependencies": ["class-variance-authority", "@heroicons/react"], "registryDependencies": [], "files": [ { "path": "registry/new-york/ui/alert.tsx", "type": "registry:ui" } ] }, { "name": "avatar", "type": "registry:ui", "title": "Avatar", "description": "An image element with a fallback for representing the user.", "dependencies": ["@radix-ui/react-avatar", "@heroicons/react"], "registryDependencies": [], "files": [ { "path": "registry/new-york/ui/avatar.tsx", "type": "registry:ui" } ] }, { "name": "badge", "type": "registry:ui", "title": "Badge", "description": "Displays a badge or a component that looks like a badge with multiple variants.", "dependencies": ["@radix-ui/react-slot", "class-variance-authority", "@heroicons/react"], "registryDependencies": [], "files": [ { "path": "registry/new-york/ui/badge.tsx", "type": "registry:ui" } ] }, { "name": "breadcrumb", "type": "registry:ui", "title": "Breadcrumb", "description": "Displays the path to the current resource using a hierarchy of links.", "dependencies": ["@radix-ui/react-slot", "@heroicons/react"], "registryDependencies": [], "files": [ { "path": "registry/new-york/ui/breadcrumb.tsx", "type": "registry:ui" } ] }, { "name": "button", "type": "registry:ui", "title": "Button", "description": "Displays a button or a component that looks like a button with multiple variants and sizes.", "dependencies": ["@radix-ui/react-slot", "class-variance-authority"], "registryDependencies": [], "files": [ { "path": "registry/new-york/ui/button.tsx", "type": "registry:ui" } ] }, { "name": "card", "type": "registry:ui", "title": "Card", "description": "A container for displaying content with header, footer, and action sections.", "dependencies": [], "registryDependencies": [], "files": [ { "path": "registry/new-york/ui/card.tsx", "type": "registry:ui" } ] }, { "name": "checkbox", "type": "registry:ui", "title": "Checkbox", "description": "A control that allows the user to toggle between checked and not checked.", "dependencies": ["@radix-ui/react-checkbox", "@heroicons/react"], "registryDependencies": [], "files": [ { "path": "registry/new-york/ui/checkbox.tsx", "type": "registry:ui" } ] }, { "name": "collapsible", "type": "registry:ui", "title": "Collapsible", "description": "An interactive component which expands/collapses a panel.", "dependencies": ["@radix-ui/react-collapsible", "@heroicons/react"], "registryDependencies": [], "files": [ { "path": "registry/new-york/ui/collapsible.tsx", "type": "registry:ui" } ] }, { "name": "dialog", "type": "registry:ui", "title": "Dialog", "description": "A modal dialog that interrupts the user with important content and expects a response.", "dependencies": ["@radix-ui/react-dialog", "@heroicons/react"], "registryDependencies": [], "files": [ { "path": "registry/new-york/ui/dialog.tsx", "type": "registry:ui" } ] }, { "name": "drawer", "type": "registry:ui", "title": "Drawer", "description": "A panel that slides out from the edge of the screen with support for multiple directions.", "dependencies": ["vaul", "@heroicons/react"], "registryDependencies": [], "files": [ { "path": "registry/new-york/ui/drawer.tsx", "type": "registry:ui" } ] }, { "name": "hover-card", "type": "registry:ui", "title": "Hover Card", "description": "For sighted users to preview content available behind a link.", "dependencies": ["@radix-ui/react-hover-card", "@heroicons/react"], "registryDependencies": [], "files": [ { "path": "registry/new-york/ui/hover-card.tsx", "type": "registry:ui" } ] }, { "name": "input", "type": "registry:ui", "title": "Input", "description": "A text input field with support for various types and validation states.", "dependencies": ["@heroicons/react"], "registryDependencies": [], "files": [ { "path": "registry/new-york/ui/input.tsx", "type": "registry:ui" } ] }, { "name": "media", "type": "registry:ui", "title": "Media", "description": "A container for displaying images and videos with loading states and fallback placeholders.", "dependencies": ["@heroicons/react"], "registryDependencies": [], "files": [ { "path": "registry/new-york/ui/media.tsx", "type": "registry:ui" } ] }, { "name": "kbd", "type": "registry:ui", "title": "Kbd", "description": "Displays keyboard shortcuts or keys with proper styling.", "dependencies": [], "registryDependencies": [], "files": [ { "path": "registry/new-york/ui/kbd.tsx", "type": "registry:ui" } ] }, { "name": "label", "type": "registry:ui", "title": "Label", "description": "Renders an accessible label associated with form controls.", "dependencies": ["@radix-ui/react-label"], "registryDependencies": [], "files": [ { "path": "registry/new-york/ui/label.tsx", "type": "registry:ui" } ] }, { "name": "menubar", "type": "registry:ui", "title": "Menubar", "description": "A visually persistent menu common in desktop applications with nested menus and items.", "dependencies": ["@radix-ui/react-menubar", "@heroicons/react"], "registryDependencies": [], "files": [ { "path": "registry/new-york/ui/menubar.tsx", "type": "registry:ui" } ] }, { "name": "pagination", "type": "registry:ui", "title": "Pagination", "description": "Pagination with page navigation, next and previous links.", "dependencies": ["@heroicons/react"], "registryDependencies": ["button"], "files": [ { "path": "registry/new-york/ui/pagination.tsx", "type": "registry:ui" } ] }, { "name": "select", "type": "registry:ui", "title": "Select", "description": "Displays a list of options for the user to pick from with keyboard navigation support.", "dependencies": ["@radix-ui/react-select", "@heroicons/react"], "registryDependencies": [], "files": [ { "path": "registry/new-york/ui/select.tsx", "type": "registry:ui" } ] }, { "name": "separator", "type": "registry:ui", "title": "Separator", "description": "Visually or semantically separates content with horizontal or vertical orientation.", "dependencies": ["@radix-ui/react-separator"], "registryDependencies": [], "files": [ { "path": "registry/new-york/ui/separator.tsx", "type": "registry:ui" } ] }, { "name": "slider", "type": "registry:ui", "title": "Slider", "description": "An input where the user selects a value from within a given range.", "dependencies": ["@radix-ui/react-slider"], "registryDependencies": [], "files": [ { "path": "registry/new-york/ui/slider.tsx", "type": "registry:ui" } ] }, { "name": "text", "type": "registry:ui", "title": "Text", "description": "A skeleton text placeholder component that renders thin animated lines for text content.", "dependencies": ["class-variance-authority"], "registryDependencies": ["wireframe-types", "wireframe-utils", "wireframe"], "files": [ { "path": "registry/new-york/ui/text.tsx", "type": "registry:ui" } ] }, { "name": "sonner", "type": "registry:ui", "title": "Sonner", "description": "An opinionated toast component for React with beautiful animations and icons.", "dependencies": ["sonner", "next-themes", "@heroicons/react"], "registryDependencies": [], "files": [ { "path": "registry/new-york/ui/sonner.tsx", "type": "registry:ui" } ] }, { "name": "switch", "type": "registry:ui", "title": "Switch", "description": "A control that allows the user to toggle between checked and unchecked states.", "dependencies": ["@radix-ui/react-switch"], "registryDependencies": [], "files": [ { "path": "registry/new-york/ui/switch.tsx", "type": "registry:ui" } ] }, { "name": "tabs", "type": "registry:ui", "title": "Tabs", "description": "A set of layered sections of content with tab triggers for switching between them.", "dependencies": ["@radix-ui/react-tabs"], "registryDependencies": [], "files": [ { "path": "registry/new-york/ui/tabs.tsx", "type": "registry:ui" } ] }, { "name": "textarea", "type": "registry:ui", "title": "Textarea", "description": "A multi-line text input field with auto-resizing support.", "dependencies": [], "registryDependencies": [], "files": [ { "path": "registry/new-york/ui/textarea.tsx", "type": "registry:ui" } ] }, { "name": "toggle", "type": "registry:ui", "title": "Toggle", "description": "A two-state button that can be either on or off with multiple variants.", "dependencies": ["@radix-ui/react-toggle", "class-variance-authority"], "registryDependencies": [], "files": [ { "path": "registry/new-york/ui/toggle.tsx", "type": "registry:ui" } ] }, { "name": "tooltip", "type": "registry:ui", "title": "Tooltip", "description": "A popup that displays information related to an element when focused or hovered.", "dependencies": ["@radix-ui/react-tooltip", "@heroicons/react"], "registryDependencies": [], "files": [ { "path": "registry/new-york/ui/tooltip.tsx", "type": "registry:ui" } ] }, { "name": "wireframe", "type": "registry:lib", "title": "Wireframe CSS Utilities", "description": "CSS utility classes for wireframe components including patterns, animations, and emphasis levels.", "dependencies": [], "registryDependencies": [], "files": [ { "path": "registry/new-york/lib/wireframe.css", "type": "registry:lib" } ] }, { "name": "wireframe-types", "type": "registry:lib", "title": "Wireframe Types", "description": "TypeScript type definitions for wireframe components.", "dependencies": ["class-variance-authority"], "registryDependencies": [], "files": [ { "path": "registry/new-york/lib/wireframe-types.ts", "type": "registry:lib" } ] }, { "name": "wireframe-utils", "type": "registry:lib", "title": "Wireframe Utilities", "description": "Utility functions for wireframe components including responsive class generation and visibility helpers.", "dependencies": [], "registryDependencies": ["wireframe-types"], "files": [ { "path": "registry/new-york/lib/wireframe-utils.ts", "type": "registry:lib" } ] }, { "name": "paragraph", "type": "registry:ui", "title": "Paragraph", "description": "A composition component that renders multiple Text lines to simulate paragraph content.", "dependencies": [], "registryDependencies": ["text"], "files": [ { "path": "registry/new-york/ui/paragraph.tsx", "type": "registry:ui" } ] }, { "name": "heading", "type": "registry:ui", "title": "Heading", "description": "A composition component that renders appropriately sized Text based on heading level (1-6).", "dependencies": [], "registryDependencies": ["text"], "files": [ { "path": "registry/new-york/ui/heading.tsx", "type": "registry:ui" } ] }, { "name": "list-group", "type": "registry:ui", "title": "ListGroup", "description": "A composition component that renders list items with Text placeholders for wireframe prototyping.", "dependencies": [], "registryDependencies": ["text"], "files": [ { "path": "registry/new-york/ui/list-group.tsx", "type": "registry:ui" } ] }, { "name": "stack", "type": "registry:ui", "title": "Stack", "description": "A layout primitive for arranging wireframe elements with configurable spacing and direction.", "dependencies": [], "registryDependencies": [], "files": [ { "path": "registry/new-york/ui/stack.tsx", "type": "registry:ui" } ] }, { "name": "section", "type": "registry:ui", "title": "Section", "description": "A composition component with preset variants for common layout patterns (hero, content-two-column, feature-grid).", "dependencies": [], "registryDependencies": ["text", "paragraph", "heading"], "files": [ { "path": "registry/new-york/ui/section.tsx", "type": "registry:ui" } ] }, { "name": "table", "type": "registry:ui", "title": "Table", "description": "A data table component with wireframe helpers for headers and cells.", "dependencies": [], "registryDependencies": ["text"], "files": [ { "path": "registry/new-york/ui/table.tsx", "type": "registry:ui" } ] }, { "name": "item", "type": "registry:ui", "title": "Item", "description": "A flexible item component for lists with wireframe helpers for titles, descriptions, and media.", "dependencies": ["@radix-ui/react-slot", "class-variance-authority", "@heroicons/react"], "registryDependencies": ["separator", "text"], "files": [ { "path": "registry/new-york/ui/item.tsx", "type": "registry:ui" } ] }, { "name": "context-menu", "type": "registry:ui", "title": "Context Menu", "description": "A context menu component with wireframe helpers for menu items and labels.", "dependencies": ["@radix-ui/react-context-menu", "@heroicons/react"], "registryDependencies": ["text"], "files": [ { "path": "registry/new-york/ui/context-menu.tsx", "type": "registry:ui" } ] }, { "name": "file", "type": "registry:ui", "title": "Field Components", "description": "Form field components with wireframe helpers for labels and descriptions.", "dependencies": ["class-variance-authority"], "registryDependencies": ["label", "separator", "text"], "files": [ { "path": "registry/new-york/ui/file.tsx", "type": "registry:ui" } ] }, { "name": "carousel", "type": "registry:ui", "title": "Carousel", "description": "A carousel component with wireframe helper for slide content.", "dependencies": ["embla-carousel-react", "@heroicons/react"], "registryDependencies": ["button", "text"], "files": [ { "path": "registry/new-york/ui/carousel.tsx", "type": "registry:ui" } ] }, { "name": "button-group", "type": "registry:ui", "title": "Button Group", "description": "A button group component with wireframe helper for text labels.", "dependencies": ["@radix-ui/react-slot", "class-variance-authority"], "registryDependencies": ["separator", "text"], "files": [ { "path": "registry/new-york/ui/button-group.tsx", "type": "registry:ui" } ] }, { "name": "input-group", "type": "registry:ui", "title": "Input Group", "description": "An input group component for combining inputs with addons and buttons.", "dependencies": ["class-variance-authority"], "registryDependencies": ["button", "input", "textarea"], "files": [ { "path": "registry/new-york/ui/input-group.tsx", "type": "registry:ui" } ] }, { "name": "form", "type": "registry:ui", "title": "Form", "description": "Form components built on top of react-hook-form for managing form state.", "dependencies": ["@radix-ui/react-label", "@radix-ui/react-slot", "react-hook-form"], "registryDependencies": ["label"], "files": [ { "path": "registry/new-york/ui/form.tsx", "type": "registry:ui" } ] }, { "name": "sheet", "type": "registry:ui", "title": "Sheet", "description": "A slide-out panel component with wireframe helpers for titles and descriptions.", "dependencies": ["@radix-ui/react-dialog", "@heroicons/react"], "registryDependencies": ["text"], "files": [ { "path": "registry/new-york/ui/sheet.tsx", "type": "registry:ui" } ] }, { "name": "sidebar", "type": "registry:ui", "title": "Sidebar", "description": "A collapsible sidebar component with wireframe helpers for menu items and labels.", "dependencies": ["@radix-ui/react-slot", "class-variance-authority", "@heroicons/react"], "registryDependencies": ["button", "input", "separator", "sheet", "text", "tooltip"], "files": [ { "path": "registry/new-york/ui/sidebar.tsx", "type": "registry:ui" } ] }, { "name": "chart", "type": "registry:ui", "title": "Chart", "description": "Chart components built on recharts with wireframe placeholder helper.", "dependencies": ["recharts"], "registryDependencies": ["text"], "files": [ { "path": "registry/new-york/ui/chart.tsx", "type": "registry:ui" } ] }, { "name": "empty", "type": "registry:ui", "title": "Empty State", "description": "An empty state component with wireframe helpers for titles, descriptions, and media.", "dependencies": ["class-variance-authority", "@heroicons/react"], "registryDependencies": ["text"], "files": [ { "path": "registry/new-york/ui/empty.tsx", "type": "registry:ui" } ] }, { "name": "hero-section", "type": "registry:block", "title": "Hero Section", "description": "Landing page hero with badge, heading, CTA buttons, and feature list", "dependencies": ["@heroicons/react"], "registryDependencies": ["button", "text", "heading", "badge", "media", "stack"], "files": [ { "path": "registry/new-york/blocks/hero-section.tsx", "type": "registry:block", "target": "components/blocks/hero-section.tsx" } ] }, { "name": "login-form", "type": "registry:block", "title": "Login Form", "description": "Authentication form with email/password inputs and social login options", "dependencies": ["@heroicons/react"], "registryDependencies": ["button", "card", "input", "label", "text", "separator", "checkbox"], "files": [ { "path": "registry/new-york/blocks/login-form.tsx", "type": "registry:block", "target": "components/blocks/login-form.tsx" } ] }, { "name": "register-form", "type": "registry:block", "title": "Register Form", "description": "Multi-step registration with tabs for personal and account information", "dependencies": ["@heroicons/react"], "registryDependencies": ["button", "card", "input", "label", "text", "checkbox", "tabs"], "files": [ { "path": "registry/new-york/blocks/register-form.tsx", "type": "registry:block", "target": "components/blocks/register-form.tsx" } ] }, { "name": "contact-form", "type": "registry:block", "title": "Contact Form", "description": "Professional contact form with name, email, subject, and message fields", "dependencies": ["@heroicons/react"], "registryDependencies": ["button", "card", "input", "label", "text", "textarea", "select"], "files": [ { "path": "registry/new-york/blocks/contact-form.tsx", "type": "registry:block", "target": "components/blocks/contact-form.tsx" } ] }, { "name": "dashboard", "type": "registry:block", "title": "Dashboard", "description": "Admin dashboard with stat cards, charts, recent activity, and data table", "dependencies": ["@heroicons/react"], "registryDependencies": ["card", "text", "chart", "badge", "table", "avatar"], "files": [ { "path": "registry/new-york/blocks/dashboard.tsx", "type": "registry:block", "target": "components/blocks/dashboard.tsx" } ] }, { "name": "pricing", "type": "registry:block", "title": "Pricing", "description": "Three-tier pricing cards with features and highlighted popular plan", "dependencies": ["@heroicons/react"], "registryDependencies": ["button", "card", "text", "badge", "separator", "heading"], "files": [ { "path": "registry/new-york/blocks/pricing.tsx", "type": "registry:block", "target": "components/blocks/pricing.tsx" } ] }, { "name": "product-grid", "type": "registry:block", "title": "Product Grid", "description": "E-commerce product listing with search, filters, and product cards", "dependencies": ["@heroicons/react"], "registryDependencies": [ "card", "text", "badge", "button", "media", "heading", "select", "input" ], "files": [ { "path": "registry/new-york/blocks/product-grid.tsx", "type": "registry:block", "target": "components/blocks/product-grid.tsx" } ] }, { "name": "profile-page", "type": "registry:block", "title": "Profile Page", "description": "User profile with avatar, bio, stats, and tabbed content", "dependencies": ["@heroicons/react"], "registryDependencies": [ "card", "text", "badge", "button", "avatar", "separator", "tabs", "media", "item" ], "files": [ { "path": "registry/new-york/blocks/profile-page.tsx", "type": "registry:block", "target": "components/blocks/profile-page.tsx" } ] }, { "name": "settings-page", "type": "registry:block", "title": "Settings Page", "description": "Multi-tab settings interface for profile, account, and notifications", "dependencies": ["@heroicons/react"], "registryDependencies": [ "button", "card", "input", "label", "text", "separator", "switch", "tabs", "avatar", "textarea", "select" ], "files": [ { "path": "registry/new-york/blocks/settings-page.tsx", "type": "registry:block", "target": "components/blocks/settings-page.tsx" } ] } ] }