UNPKG

@engie-group/fluid-design-system-react

Version:

Fluid Design System React

18 lines (15 loc) 2.25 kB
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 };