"use client"; import React, { forwardRef } from "react"; import { BaseComponentProps } from "../../types"; export interface LoadingProps extends BaseComponentProps { size?: "xs" | "sm" | "md" | "lg" | "xl"; variant?: "spinner" | "dots" | "pulse" | "bars" | "ring"; text?: string; center?: boolean; color?: "primary" | "secondary" | "muted"; overlay?: boolean; } export const Loading = forwardRef( ( { className = "", size = "md", variant = "spinner", text, center = false, color = "primary", overlay = false, ...props }, ref ) => { const sizeClasses = { xs: "w-3 h-3", sm: "w-4 h-4", md: "w-8 h-8", lg: "w-12 h-12", xl: "w-16 h-16", }; const colorClasses = { primary: "text-primary", secondary: "text-secondary", muted: "text-muted-foreground", }; const containerClasses = [ center ? "flex items-center justify-center" : "inline-flex items-center", overlay ? "fixed inset-0 bg-background/80 backdrop-blur-sm z-50" : "", colorClasses[color], ] .filter(Boolean) .join(" "); const renderSpinner = () => ( ); const renderDots = () => (