/* istanbul ignore file */
/**
* Component Showcase
* Comprehensive display of all design system components with copy-paste code
* This file is excluded from coverage as it's a demo/showcase page
*/
'use client';
import { useState } from 'react';
import {
Mail, User,
Settings, LogOut, Shield, AlertCircle, Info,
Trash2
} from 'lucide-react';
import { Button } from '@/components/ui/button';
import {
Card,
CardContent,
CardDescription,
CardFooter,
CardHeader,
CardTitle,
} from '@/components/ui/card';
import { Input } from '@/components/ui/input';
import { Label } from '@/components/ui/label';
import { Textarea } from '@/components/ui/textarea';
import { Checkbox } from '@/components/ui/checkbox';
import { Badge } from '@/components/ui/badge';
import { Avatar, AvatarFallback } from '@/components/ui/avatar';
import { Separator } from '@/components/ui/separator';
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs';
import {
Select,
SelectContent,
SelectItem,
SelectTrigger,
SelectValue,
} from '@/components/ui/select';
import {
DropdownMenu,
DropdownMenuContent,
DropdownMenuItem,
DropdownMenuLabel,
DropdownMenuSeparator,
DropdownMenuTrigger,
} from '@/components/ui/dropdown-menu';
import {
Dialog,
DialogContent,
DialogDescription,
DialogFooter,
DialogHeader,
DialogTitle,
DialogTrigger,
} from '@/components/ui/dialog';
import { Alert, AlertDescription, AlertTitle } from '@/components/ui/alert';
import { Skeleton } from '@/components/ui/skeleton';
import {
Table,
TableBody,
TableCaption,
TableCell,
TableHead,
TableHeader,
TableRow,
} from '@/components/ui/table';
import { Example, ExampleGrid, ExampleSection } from './Example';
/**
* Component showcase
*/
export function ComponentShowcase() {
const [checked, setChecked] = useState(false);
return (
{/* Content */}
{/* Colors */}
{/* Buttons */}
Primary
Secondary
Outline
Ghost
Destructive
Link `}
>
Primary
Secondary
Outline
Ghost
Destructive
Link
Small
Default
Large
`}
>
Small
Default
Large
Email
Profile
`}
>
Email
Profile
Delete
Normal
Disabled `}
>
Normal
Disabled
{/* Form Inputs */}
Email
Message
Country
United States
United Kingdom
Accept terms
`}
>
Email
Message
Country
United States
United Kingdom
Canada
setChecked(value as boolean)} />
Accept terms and conditions
{/* Cards */}
Card Title
Card description
Card content goes here.
`}
>
Simple Card
Basic card with title and description
This is the card content area. You can put any content here.
Card with Actions
Card content here.
Cancel
Save
`}
>
Card with Footer
Card with action buttons
Cards can have footers with actions.
Cancel
Save
{/* Badges */}
Default
Secondary
Outline
Destructive `}
>
Default
Secondary
Outline
Destructive
{/* Avatars */}
AB
CD
EF
`}
>
{/* Alerts */}
Information
This is an informational alert.
Error
Something went wrong.
`}
>
Information
This is an informational alert message.
Error
Something went wrong. Please try again.
{/* Dropdown Menu */}
Open Menu
My Account
Profile
Settings
Log out
`}
centered
>
Open Menu
My Account
Profile
Settings
Security
Log out
{/* Dialog */}
Open Dialog
Are you sure?
This action cannot be undone.
Cancel
Delete
`}
centered
>
Open Dialog
Are you sure?
This action cannot be undone. This will permanently delete your account
and remove your data from our servers.
Cancel
Delete
{/* Tabs */}
Account
Password
Account content
Password content
`}
>
Account
Password
Make changes to your account here.
Name
Change your password here.
Current Password
{/* Table */}
Invoice
Status
Amount
INV001
Paid
$250.00
`}
>
A list of recent invoices.
Invoice
Status
Method
Amount
INV001
Paid
Credit Card
$250.00
INV002
Pending
PayPal
$150.00
INV003
Unpaid
Bank Transfer
$350.00
{/* Skeletons */}
`}
>
{/* Separator */}
Section 1
Section 2
`}
>
{/* Footer */}
);
}