ComponentVault

Examples

Example projects and templates using ComponentVault components.

Examples

Get started quickly with our example projects and templates.

Starter Templates

Code Examples

Basic Card Grid

A responsive grid of animated cards:

import { AnimatedCard } from '@/components/ui/animated-card';

export function CardGrid() {
  const items = [
    { title: 'Analytics', description: 'Track your metrics' },
    { title: 'Reports', description: 'Generate insights' },
    { title: 'Settings', description: 'Configure your app' },
  ];

  return (
    <div className="grid gap-4 md:grid-cols-3">
      {items.map((item) => (
        <AnimatedCard key={item.title} variant="hover">
          <h3 className="font-semibold">{item.title}</h3>
          <p className="text-muted-foreground">{item.description}</p>
        </AnimatedCard>
      ))}
    </div>
  );
}

Search with Results

Search input with live filtering:

import { useState } from 'react';
import { SearchInput } from '@/components/ui/search-input';

export function SearchWithResults() {
  const [results, setResults] = useState<string[]>([]);

  const handleSearch = (query: string) => {
    // Filter your data here
    const filtered = allItems.filter((item) =>
      item.toLowerCase().includes(query.toLowerCase())
    );
    setResults(filtered);
  };

  return (
    <div className="space-y-4">
      <SearchInput
        placeholder="Search items..."
        onSearch={handleSearch}
      />
      <ul className="space-y-2">
        {results.map((result) => (
          <li key={result}>{result}</li>
        ))}
      </ul>
    </div>
  );
}

Status Dashboard

Real-time status indicators:

import { StatusBadge } from '@/components/ui/status-badge';

const services = [
  { name: 'API', status: 'online' },
  { name: 'Database', status: 'online' },
  { name: 'Cache', status: 'away' },
  { name: 'Queue', status: 'offline' },
];

export function StatusDashboard() {
  return (
    <div className="space-y-2">
      {services.map((service) => (
        <div key={service.name} className="flex items-center justify-between">
          <span>{service.name}</span>
          <StatusBadge status={service.status} />
        </div>
      ))}
    </div>
  );
}

Command Menu

Keyboard-driven command palette:

import { useState, useEffect } from 'react';
import { CommandPalette } from '@/components/ui/command-palette';

export function AppCommandMenu() {
  const [open, setOpen] = useState(false);

  useEffect(() => {
    const handleKeyDown = (e: KeyboardEvent) => {
      if (e.key === 'k' && (e.metaKey || e.ctrlKey)) {
        e.preventDefault();
        setOpen(true);
      }
    };
    document.addEventListener('keydown', handleKeyDown);
    return () => document.removeEventListener('keydown', handleKeyDown);
  }, []);

  return (
    <CommandPalette
      open={open}
      onOpenChange={setOpen}
      commands={[
        { id: 'home', label: 'Go Home', action: () => router.push('/') },
        { id: 'settings', label: 'Settings', action: () => router.push('/settings') },
      ]}
    />
  );
}

Full Project Examples

E-commerce Dashboard

Complete dashboard using multiple ComponentVault components:

  • Sidebar Pro for navigation
  • Data Table Pro for product listing
  • Status Badge for order status
  • Kanban Board for order fulfillment

View on GitHub →

Project Management App

Full-featured project management tool:

  • Kanban Board for task management
  • Multi-Step Form for project creation
  • Notification Center for updates
  • Command Palette for quick actions

View on GitHub →

On this page