UNPKG

@zenkit/layout

Version:

ZenKit components for impliments layout

73 lines (55 loc) 2.07 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var React = _interopRequireWildcard(require("react")); var _classnames = _interopRequireDefault(require("classnames")); var _styles = require("@zenkit/styles"); var _box = _interopRequireDefault(require("./box")); var _gappedItem = _interopRequireDefault(require("./gapped-item")); var styles = {}; exports.styles = styles; function Gapped(props) { var gap = props.gap, classes = props.classes, classNameProps = props.className, children = props.children, otherProps = (0, _objectWithoutProperties2.default)(props, ["gap", "classes", "className", "children"]); return React.createElement(_box.default, (0, _extends2.default)({ position: "realative", display: "inline-block", className: (0, _classnames.default)(classes.root, classNameProps) }, otherProps), React.Children.map(children, function (child, index) { if (!child) { return; } var key = child.key || "gapped-".concat(index); var isFirst = index === 0; var isLast = React.Children.count(children) - 1 === index; if (child.type !== _gappedItem.default) { return React.createElement(_gappedItem.default, { key: key, gap: gap, isFirst: isFirst, isLast: isLast }, child); } return React.cloneElement(child, { key: key, isFirst: isFirst, isLast: isLast, gap: child.props.gap || gap }); })); } Gapped.defaultProps = { gap: '1ch' }; Gapped.Item = _gappedItem.default; var _default = (0, _styles.withStyles)(styles)(Gapped); exports.default = _default;