@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.
48 lines (35 loc) • 1.61 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
exports.__esModule = true;
exports.default = void 0;
var _styledComponents = require("styled-components");
var _getSpacing = _interopRequireDefault(require("./getSpacing"));
var _rtl = require("../../utils/rtl");
var _consts = require("../../utils/layout/consts");
var _isMobileViewport = _interopRequireDefault(require("./isMobileViewport"));
var _getProperty = _interopRequireDefault(require("./getProperty"));
var _consts2 = require("../../utils/mediaQuery/consts");
var _getDirectionSpacingTemplate = _interopRequireDefault(require("./getDirectionSpacingTemplate"));
const getChildrenMargin = ({
viewport,
index,
devices
}) => props => {
if (props[viewport] || viewport === _consts2.QUERIES.DESKTOP) {
const spacing = (0, _getProperty.default)("spacing", {
index,
devices
}, props);
if (spacing === _consts.SPACINGS.NONE) return false;
const isMobile = (0, _isMobileViewport.default)(viewport);
const direction = (0, _getProperty.default)("direction", {
index,
devices
}, props);
const margin = spacing && direction && String((0, _getDirectionSpacingTemplate.default)(direction)).replace("__spacing__", (0, _getSpacing.default)(props)[spacing]);
return (0, _styledComponents.css)(["& > *{margin:", "!important;", ";}"], margin && (0, _rtl.rtlSpacing)(margin), isMobile && (0, _styledComponents.css)(["&:last-child{margin:0 !important;}"]));
}
return false;
};
var _default = getChildrenMargin;
exports.default = _default;