"use client"
import { ReactNode } from "react"
import { cn } from "../utils/cn"
interface ContentLoadingContainerProps {
/**
* Whether the content is currently loading
*/
isLoading: boolean
/**
* The actual content to display when not loading
*/
children: ReactNode
/**
* The skeleton component to show during loading
*/
skeletonComponent: ReactNode
/**
* Additional CSS classes
*/
className?: string
/**
* Minimum height to prevent layout jumps
*/
minHeight?: string
/**
* Loading overlay opacity (0-1)
*/
loadingOpacity?: number
/**
* Transition duration in milliseconds
*/
transitionDuration?: number
}
/**
* ContentLoadingContainer
*
* A unified loading container that wraps card grids and manages loading states
* while keeping UI controls persistent. This component:
*
* - Shows skeleton loading only in content area
* - Maintains consistent layout dimensions during loading
* - Provides smooth transitions between loading and loaded states
* - Prevents layout jumps by preserving container height
* - Supports customizable skeleton components for different content types
*
* Usage:
* ```tsx
*