@kiwicom/orbit-components
Version:
Orbit-components is a React component library which provides developers with the easiest possible way of building Kiwi.com’s products.
62 lines (43 loc) • 2.18 kB
JavaScript
;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
exports.__esModule = true;
exports.default = exports.LayoutColumn = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var React = _interopRequireWildcard(require("react"));
var _styledComponents = _interopRequireWildcard(require("styled-components"));
var _defaultTheme = _interopRequireDefault(require("../defaultTheme"));
var _Grid = _interopRequireDefault(require("../utils/Grid"));
var _consts = require("./consts");
var _mediaQuery = _interopRequireDefault(require("../utils/mediaQuery"));
var _LayoutColumn = _interopRequireDefault(require("./LayoutColumn"));
exports.LayoutColumn = _LayoutColumn.default;
const getChildrenProps = (type, key) => {
if (_consts.LAYOUT_SETTINGS[type].layoutColumns && _consts.LAYOUT_SETTINGS[type].layoutColumns[key]) {
return _consts.LAYOUT_SETTINGS[type].layoutColumns[key];
}
return null;
};
const StyledLayout = (0, _styledComponents.default)(_Grid.default).withConfig({
displayName: "Layout__StyledLayout",
componentId: "sc-2e7ifp-0"
})(["box-sizing:border-box;margin:0 auto;width:100%;padding:0 ", ";", ";"], ({
theme
}) => theme.orbit.spaceMedium, _mediaQuery.default.desktop((0, _styledComponents.css)(["padding:", ";"], ({
theme
}) => theme.orbit.spaceLarge))); // $FlowFixMe: https://github.com/flow-typed/flow-typed/issues/3653#issuecomment-568539198
StyledLayout.defaultProps = {
theme: _defaultTheme.default
};
const Layout = ({
children,
type,
dataTest
}) => /*#__PURE__*/React.createElement(StyledLayout, (0, _extends2.default)({}, _consts.LAYOUT_SETTINGS[type], {
dataTest: dataTest
}), React.Children.map(children, (item, key) => {
return /*#__PURE__*/React.cloneElement(item, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, getChildrenProps(type, key)), item.props));
}));
var _default = Layout;
exports.default = _default;