@wix/design-system
Version:
@wix/design-system
43 lines • 1.93 kB
JavaScript
import React, { useEffect } from 'react';
import PropTypes from 'prop-types';
import Start from './components/Start/Start';
import Center from './components/Center/Center';
import End from './components/End/End';
import { st, classes } from './Footer.st.css.js';
import Divider from '../../../Divider';
import { buildChildrenObject } from '../../../common/utils/buildChildrenObject';
import deprecationLog from '../../../utils/deprecationLog';
/** Layout footer component of 3 columns */
const Footer = ({ divider = false, className, children, dataHook, ...props }) => {
useEffect(() => {
if (divider) {
deprecationLog('<Page.Footer/> - prop "divider" is deprecated and will be removed in next major release, please use "showDivider" property instead.');
}
}, [divider]);
const showDivider = props.showDivider ?? divider;
const childrenObj = buildChildrenObject(children, {
Start: React.createElement(Start, { key: "start" }),
Center: React.createElement(Center, { key: "center" }),
End: React.createElement(End, { key: "end" }),
});
return (React.createElement("div", { className: classes.root },
showDivider && (React.createElement("div", { className: classes.divider },
React.createElement(Divider, null))),
React.createElement("div", { className: st(classes.container, className), "data-hook": dataHook }, Object.values(childrenObj))));
};
Footer.displayName = 'Page.Footer';
Footer.propTypes = {
children: PropTypes.node,
dataHook: PropTypes.string,
className: PropTypes.string,
divider: PropTypes.bool,
showDivider: PropTypes.bool,
};
Footer.Start = Start;
Footer.Center = Center;
Footer.End = End;
Footer.Start.displayName = 'Page.Footer.Start';
Footer.Center.displayName = 'Page.Footer.Center';
Footer.End.displayName = 'Page.Footer.End';
export default Footer;
//# sourceMappingURL=Footer.js.map