@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.
77 lines (60 loc) • 2.27 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var React = _interopRequireWildcard(require("react"));
var _styledComponents = _interopRequireWildcard(require("styled-components"));
var _defaultTheme = _interopRequireDefault(require("../defaultTheme"));
var _consts = require("../utils/mediaQuery/consts");
var _mediaQuery = _interopRequireDefault(require("../utils/mediaQuery"));
var _helpers = require("./helpers");
const _excluded = ["as", "mediumMobile", "largeMobile", "className", "tablet", "desktop", "largeDesktop", "children", "dataTest"];
const StyledInlineInner = _styledComponents.default.div.withConfig({
displayName: "Inline__StyledInlineInner",
componentId: "sc-1ct8nhm-0"
})(["display:flex;flex-direction:row;flex-wrap:wrap;", ""], ({
viewportSizes
}) => {
return Object.entries(viewportSizes).map(([query, value]) => {
if (query !== _consts.DEVICES[0] && typeof value !== "undefined") {
return _mediaQuery.default[query]((0, _styledComponents.css)(["", ""], (0, _helpers.normalize)(value)));
}
return (0, _helpers.normalize)(value);
});
}); // $FlowFixMe: https://github.com/flow-typed/flow-typed/issues/3653#issuecomment-568539198
StyledInlineInner.defaultProps = {
theme: _defaultTheme.default
};
const Inline = (_ref) => {
let {
as: Component = "div",
mediumMobile,
largeMobile,
className,
tablet,
desktop,
largeDesktop,
children,
dataTest
} = _ref,
smallMobile = (0, _objectWithoutProperties2.default)(_ref, _excluded);
const viewportSizes = {
smallMobile,
mediumMobile,
largeMobile,
tablet,
desktop
};
return /*#__PURE__*/React.createElement(Component, {
className: className,
"data-test": dataTest
}, /*#__PURE__*/React.createElement(StyledInlineInner, {
viewportSizes: viewportSizes
}, children));
};
var _default = Inline;
exports.default = _default;