import PropTypes from 'prop-types'; /** * Card — glass-morphism container with optional hover and glow effects. * @param {Object} props * @param {React.ReactNode} props.children - Card content * @param {string} [props.className=''] - Additional CSS classes * @param {boolean} [props.hover=false] - Enable hover animation * @param {boolean} [props.glow=false] - Enable eco glow effect * @returns {JSX.Element} */ export default function Card({ children, className = '', hover = false, glow = false, ...props }) { return (
{children}
); } Card.propTypes = { children: PropTypes.node.isRequired, className: PropTypes.string, hover: PropTypes.bool, glow: PropTypes.bool, }; /** * CardHeader — header section inside a Card. * @param {Object} props * @param {React.ReactNode} props.children - Header content * @param {string} [props.className=''] - Additional CSS classes * @returns {JSX.Element} */ export function CardHeader({ children, className = '' }) { return
{children}
; } CardHeader.propTypes = { children: PropTypes.node.isRequired, className: PropTypes.string, }; /** * CardTitle — heading element inside a CardHeader. * @param {Object} props * @param {React.ReactNode} props.children - Title text * @param {string} [props.className=''] - Additional CSS classes * @returns {JSX.Element} */ export function CardTitle({ children, className = '' }) { return

{children}

; } CardTitle.propTypes = { children: PropTypes.node.isRequired, className: PropTypes.string, }; /** * CardBody — body section inside a Card. * @param {Object} props * @param {React.ReactNode} props.children - Body content * @param {string} [props.className=''] - Additional CSS classes * @returns {JSX.Element} */ export function CardBody({ children, className = '' }) { return
{children}
; } CardBody.propTypes = { children: PropTypes.node.isRequired, className: PropTypes.string, };