UNPKG

wix-style-react

Version:
121 lines (120 loc) 4.16 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.default = void 0; var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _Start = _interopRequireDefault(require("./Start")); var _Center = _interopRequireDefault(require("./Center")); var _End = _interopRequireDefault(require("./End")); var _PageFooterSt = require("./PageFooter.st.css"); var _Divider = _interopRequireDefault(require("../Divider")); var _buildChildrenObject = require("../common/utils/buildChildrenObject"); var _jsxFileName = "/home/builduser/work/a9c1ac8876d5057c/packages/wix-style-react/dist/cjs/PageFooter/PageFooter.js"; /** Layout footer component of 3 columns */ var PageFooter = _ref => { var { divider = false, className, children, dataHook } = _ref; var childrenObj = (0, _buildChildrenObject.buildChildrenObject)(children, { Start: /*#__PURE__*/_react.default.createElement(_Start.default, { key: "start", __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 13, columnNumber: 12 } }), Center: /*#__PURE__*/_react.default.createElement(_Center.default, { key: "center", __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 14, columnNumber: 13 } }), End: /*#__PURE__*/_react.default.createElement(_End.default, { key: "end", __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 15, columnNumber: 10 } }) }); return /*#__PURE__*/_react.default.createElement("div", { className: _PageFooterSt.classes.root, __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 18, columnNumber: 5 } }, divider && /*#__PURE__*/_react.default.createElement("div", { className: _PageFooterSt.classes.divider, __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 20, columnNumber: 9 } }, /*#__PURE__*/_react.default.createElement(_Divider.default, { __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 21, columnNumber: 11 } })), /*#__PURE__*/_react.default.createElement("div", { className: (0, _PageFooterSt.st)(_PageFooterSt.classes.container, className), children: Object.values(childrenObj), "data-hook": dataHook, __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 24, columnNumber: 7 } }, Object.values(childrenObj))); }; PageFooter.displayName = 'Page.Footer'; PageFooter.propTypes = { /** Accepts following elements as child items: * - <PageFooter.Start /> * - <PageFooter.Center /> * - <PageFooter.End /> * - <Page.Footer.Start /> * - <Page.Footer.Center /> * - <Page.Footer.End /> <br/> Each of these areas accept any component as their child. */ children: (props, propName) => { var childrenArr = _react.default.Children.toArray(props[propName]); return childrenArr.reduce((err, child) => { if (!err && child.type.displayName !== 'Page.Footer.Start' && child.type.displayName !== 'Page.Footer.Center' && child.type.displayName !== 'Page.Footer.End') { return new Error("Invalid children provided, unknown child <".concat(child.type.displayName || child.type, " /> supplied")); } return err; }, false); }, /** Applies a data-hook HTML attribute to be used in the tests */ dataHook: _propTypes.default.string, /** Applies a CSS class to the component’s root element */ className: _propTypes.default.string, /** Renders a full-width divider at the top of the footer */ divider: _propTypes.default.bool }; PageFooter.Start = _Start.default; PageFooter.Center = _Center.default; PageFooter.End = _End.default; PageFooter.Start.displayName = 'Page.Footer.Start'; PageFooter.Center.displayName = 'Page.Footer.Center'; PageFooter.End.displayName = 'Page.Footer.End'; var _default = exports.default = PageFooter; //# sourceMappingURL=PageFooter.js.map