@engie-group/fluid-design-system-react
Version:
Fluid Design System React
18 lines (15 loc) • 2.25 kB
JavaScript
import { jsx, jsxs } from 'react/jsx-runtime';
import React__default from 'react';
import { Utils } from '../../utils/util.js';
import { NJLink } from '../link/NJLink.js';
const FOOTER_CLASSNAME = 'nj-footer-deprecated';
const NJFooter = React__default.forwardRef(({ logoPath = 'https://assets.design.digital.engie.com/brand/logo-engie-blue.svg', logoAlt = 'Engie', sloganText = "L'énergie est notre avenir, économisons-la.", links = [], menuLists, socialLinks = [], className, ...htmlProps }, ref) => {
const classes = Utils.classNames(FOOTER_CLASSNAME, className);
return (jsx("footer", { ...htmlProps, ref: ref, className: classes, role: "contentinfo", children: jsxs("div", { className: "container", children: [jsxs("div", { className: `${FOOTER_CLASSNAME}__baseline`, children: [logoPath && (jsx("img", { src: logoPath, alt: logoAlt, className: `${FOOTER_CLASSNAME}__logo` })), jsx("p", { children: sloganText })] }), menuLists && (jsx("div", { className: `${FOOTER_CLASSNAME}__menu`, children: menuLists &&
menuLists.map(({ title, items }, index) => (jsxs("div", { className: `${FOOTER_CLASSNAME}__menu-section`, children: [jsx("h2", { className: `${FOOTER_CLASSNAME}__links-list-title`, children: title }), jsx("ul", { className: `${FOOTER_CLASSNAME}__links-list`, children: items &&
items.map(({ text, url }, index) => (jsx("li", { children: jsx(NJLink, { href: url ? url : '#', variant: "contextual", children: text }) }, index))) })] }, index))) })), jsx("ul", { className: `${FOOTER_CLASSNAME}__links`, children: links &&
links.map(({ text, url, ...linkProps }, index) => (jsx("li", { children: jsx(NJLink, { ...linkProps, href: url ? url : '#', variant: "contextual", children: text }) }, index))) }), jsx("ul", { className: `${FOOTER_CLASSNAME}__social`, children: socialLinks &&
socialLinks.map(({ url, logo }, index) => (jsx("li", { children: jsx("a", { href: url ? url : '#', className: `${FOOTER_CLASSNAME}__social-link`, children: jsx("img", { src: logo.path, alt: logo.alt, className: `${FOOTER_CLASSNAME}__social-icon` }) }) }, index))) })] }) }));
});
NJFooter.displayName = 'NJFooter';
export { NJFooter };