"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Footer = void 0;
const jsx_runtime_1 = require("react/jsx-runtime");
const react_1 = require("@chakra-ui/react");
const fa_1 = require("react-icons/fa");
const SocialButton = ({ children, label, href, }) => {
    return ((0, jsx_runtime_1.jsxs)(react_1.chakra.button, { bg: (0, react_1.useColorModeValue)('blackAlpha.100', 'whiteAlpha.100'), rounded: 'full', w: 8, h: 8, cursor: 'pointer', as: 'a', href: href, display: 'inline-flex', alignItems: 'center', justifyContent: 'center', transition: 'background 0.3s ease', _hover: {
            bg: (0, react_1.useColorModeValue)('blackAlpha.200', 'whiteAlpha.200'),
        }, children: [(0, jsx_runtime_1.jsx)(react_1.VisuallyHidden, { children: label }), children] }));
};
/**
 * Footer component using Chakra UI components with acui theme customizations
 */
const Footer = ({ logo, sections = [], contactInfo, copyright = '© 2024 Acme Corporation. All rights reserved', socialLinks = [
    { label: 'Twitter', href: '#', icon: fa_1.FaTwitter },
    { label: 'YouTube', href: '#', icon: fa_1.FaYoutube },
    { label: 'Instagram', href: '#', icon: fa_1.FaInstagram },
], ...rest }) => {
    const bg = (0, react_1.useColorModeValue)('gray.50', 'gray.900');
    const borderColor = (0, react_1.useColorModeValue)('gray.200', 'gray.700');
    return ((0, jsx_runtime_1.jsxs)(react_1.Box, { bg: bg, color: (0, react_1.useColorModeValue)('gray.700', 'gray.200'), borderTop: "1px", borderColor: borderColor, ...rest, children: [(0, jsx_runtime_1.jsx)(react_1.Container, { as: react_1.Stack, maxW: '6xl', py: 10, children: (0, jsx_runtime_1.jsxs)(react_1.SimpleGrid, { templateColumns: { sm: '1fr 1fr', md: '2fr 1fr 1fr 1fr 1fr' }, spacing: 8, children: [(0, jsx_runtime_1.jsxs)(react_1.Stack, { spacing: 6, children: [logo, contactInfo && ((0, jsx_runtime_1.jsxs)(react_1.Stack, { direction: 'row', spacing: 6, children: [contactInfo.email && ((0, jsx_runtime_1.jsxs)(react_1.Stack, { direction: 'row', align: 'center', spacing: 2, children: [(0, jsx_runtime_1.jsx)(react_1.Icon, { as: fa_1.FaEnvelope }), (0, jsx_runtime_1.jsx)(react_1.Text, { children: contactInfo.email })] })), contactInfo.phone && ((0, jsx_runtime_1.jsxs)(react_1.Stack, { direction: 'row', align: 'center', spacing: 2, children: [(0, jsx_runtime_1.jsx)(react_1.Icon, { as: fa_1.FaPhone }), (0, jsx_runtime_1.jsx)(react_1.Text, { children: contactInfo.phone })] })), contactInfo.address && ((0, jsx_runtime_1.jsxs)(react_1.Stack, { direction: 'row', align: 'center', spacing: 2, children: [(0, jsx_runtime_1.jsx)(react_1.Icon, { as: fa_1.FaMapMarkerAlt }), (0, jsx_runtime_1.jsx)(react_1.Text, { children: contactInfo.address })] }))] }))] }), sections.map((section, index) => ((0, jsx_runtime_1.jsxs)(react_1.Stack, { align: 'flex-start', children: [(0, jsx_runtime_1.jsx)(react_1.Text, { fontWeight: '500', fontSize: 'lg', mb: 2, children: section.title }), section.links.map((link, linkIndex) => ((0, jsx_runtime_1.jsx)(react_1.Link, { href: link.href, color: (0, react_1.useColorModeValue)('gray.600', 'gray.400'), _hover: {
                                        color: (0, react_1.useColorModeValue)('gray.800', 'white'),
                                        textDecoration: 'none',
                                    }, children: link.label }, linkIndex)))] }, index)))] }) }), (0, jsx_runtime_1.jsx)(react_1.Box, { borderTopWidth: 1, borderStyle: 'solid', borderColor: borderColor, children: (0, jsx_runtime_1.jsxs)(react_1.Container, { as: react_1.Stack, maxW: '6xl', py: 4, direction: { base: 'column', md: 'row' }, spacing: 4, justify: { base: 'center', md: 'space-between' }, align: { base: 'center', md: 'center' }, children: [(0, jsx_runtime_1.jsx)(react_1.Text, { children: copyright }), (0, jsx_runtime_1.jsx)(react_1.Stack, { direction: 'row', spacing: 6, children: socialLinks.map(social => ((0, jsx_runtime_1.jsx)(SocialButton, { label: social.label, href: social.href, children: (0, jsx_runtime_1.jsx)(react_1.Icon, { as: social.icon }) }, social.label))) })] }) })] }));
};
exports.Footer = Footer;
exports.default = exports.Footer;
//# sourceMappingURL=Footer.js.map