/** * LoadingSpinner - Configurable loading indicator. * * Sizes: sm | md | lg | xl * Can display an optional message below the spinner. * Supports full-screen overlay mode. */ import PropTypes from "prop-types"; const SIZE_MAP = { sm: "h-5 w-5", md: "h-8 w-8", lg: "h-12 w-12", xl: "h-16 w-16", }; function LoadingSpinner({ size = "md", message, fullScreen = false, className = "", }) { const spinner = (
{message && (

{message}

)}
); if (fullScreen) { return (
{spinner}
); } return spinner; } LoadingSpinner.propTypes = { size: PropTypes.oneOf(["sm", "md", "lg", "xl"]), message: PropTypes.string, fullScreen: PropTypes.bool, className: PropTypes.string, }; export default LoadingSpinner;