UNPKG

@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.

36 lines (33 loc) 1.44 kB
import { css } from "styled-components"; import getDesktopSpacing from "./getDesktopSpacing"; import { rtlSpacing } from "../../utils/rtl"; import { SPACINGS } from "../consts"; import isMobileViewport from "./isMobileViewport"; import getMobileSpacing from "./getMobileSpacing"; import getProperty from "./getProperty"; import { QUERIES } from "../../utils/mediaQuery/consts"; import getDirectionSpacingTemplate from "./getDirectionSpacingTemplate"; var getChildrenMargin = function getChildrenMargin(_ref) { var viewport = _ref.viewport, index = _ref.index, devices = _ref.devices; return function (props) { if (props[viewport] || viewport === QUERIES.DESKTOP) { var spacing = getProperty("spacing", { index: index, devices: devices }, props); if (spacing === SPACINGS.NONE) return false; var isMobile = isMobileViewport(viewport); var spacingTokens = isMobile ? getMobileSpacing() : getDesktopSpacing(); var direction = getProperty("direction", { index: index, devices: devices }, props); var margin = spacing && direction && String(getDirectionSpacingTemplate(direction)).replace("__spacing__", spacingTokens[spacing]); return css(["& > *{margin:", "!important;", ";}"], margin && rtlSpacing(margin), isMobile && css(["&:last-child{margin:0 !important;}"])); } return false; }; }; export default getChildrenMargin;