UNPKG

@randy.tarampi/jsx

Version:

Some common JSX components for www.randytarampi.ca

65 lines (59 loc) 1.61 kB
import PropTypes from "prop-types"; import React from "react"; import { Row } from "react-materialize"; export var SectionWrapper = (_ref) => { var { printableType, type, hideOnPrint, showOnLetter, showOnA4, showOnLegal, hideOnScreen, verticallyAlignContent, className, children } = _ref; var classNames = ["printable-section", "printable-" + type, "".concat(printableType, "-").concat(type)]; if (hideOnScreen) { classNames.push("hide-on-screen"); } if (showOnA4) { classNames.push("show-on-a4"); } if (showOnLetter) { classNames.push("show-on-letter"); } if (showOnLegal) { classNames.push("show-on-legal"); } if (hideOnPrint && !showOnA4 && !showOnLetter && !showOnLegal) { classNames.push("hide-on-print"); } return /*#__PURE__*/React.createElement("section", { id: type, className: classNames.concat(className).join(" ").trim() }, /*#__PURE__*/React.createElement(Row, { className: verticallyAlignContent ? "valign-wrapper" : null }, children)); }; SectionWrapper.propTypes = { className: PropTypes.string, printableType: PropTypes.string.isRequired, type: PropTypes.string.isRequired, hideOnPrint: PropTypes.bool, hideOnScreen: PropTypes.bool, showOnA4: PropTypes.bool, showOnLegal: PropTypes.bool, showOnLetter: PropTypes.bool, verticallyAlignContent: PropTypes.bool }; SectionWrapper.defaultProps = { hideOnPrint: false, hideOnScreen: false, showOnA4: false, showOnLegal: false, showOnLetter: false, verticallyAlignContent: false }; export default SectionWrapper;