Temuulen Ankhbayar c8d0dfe230
Some checks failed
Pull Request Checks / Code Quality & Security (push) Has been cancelled
Security Audit / Security Vulnerability Audit (push) Has been cancelled
Security Audit / Dependency Review (push) Has been cancelled
Security Audit / CodeQL Security Analysis (push) Has been cancelled
Security Audit / Check Outdated Dependencies (push) Has been cancelled
refactor: migrate atom components to shadcn/ui primitives
Introduce a dual-layer component architecture:
- `components/ui/` contains raw shadcn/ui primitives (button, badge, input,
  checkbox, label, skeleton, alert, toggle, toggle-group, input-otp)
- `components/atoms/` wraps these primitives with enhanced APIs (loading
  states, semantic variants, polymorphic props) for backward compatibility

Migrated atoms: badge, button, checkbox, input, label, skeleton,
view-toggle, error-message, inline-toast, error-state.

Legacy backups preserved as .legacy.tsx files for reference.
Added barrel export for ui/ and updated components/index.ts.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 13:25:18 +09:00

23 lines
540 B
TypeScript

/**
* Skeleton — now powered by shadcn/ui
*
* Uses the standard shadcn animate-pulse pattern instead of the custom
* cp-skeleton-shimmer animation.
*/
import { cn } from "@/shared/utils";
interface SkeletonProps extends React.ComponentProps<"div"> {
animate?: boolean;
}
export function Skeleton({ className, animate = true, ...props }: SkeletonProps) {
return (
<div
data-slot="skeleton"
className={cn("rounded-md", animate ? "animate-pulse bg-accent" : "bg-muted", className)}
{...props}
/>
);
}