@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.
91 lines (74 loc) • 3.03 kB
JavaScript
;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var React = _interopRequireWildcard(require("react"));
var _styledComponents = _interopRequireWildcard(require("styled-components"));
var _defaultTheme = _interopRequireDefault(require("../defaultTheme"));
var _mediaQuery = _interopRequireDefault(require("../utils/mediaQuery"));
var _consts = require("../utils/mediaQuery/consts");
var _normalize = _interopRequireDefault(require("./normalize"));
var StyledBox = (0, _styledComponents.default)(function (_ref) {
var className = _ref.className,
Element = _ref.asComponent,
children = _ref.children,
dataTest = _ref.dataTest;
return /*#__PURE__*/React.createElement(Element, {
className: className,
"data-test": dataTest
}, children);
}).withConfig({
displayName: "Box__StyledBox",
componentId: "sc-1cj4adb-0"
})(["font-family:", ";box-sizing:border-box;", ""], function (_ref2) {
var theme = _ref2.theme;
return theme.orbit.fontFamily;
}, function (_ref3) {
var viewports = _ref3.viewports;
return Object.entries(viewports).map(function (_ref4) {
var _ref5 = (0, _slicedToArray2.default)(_ref4, 2),
query = _ref5[0],
value = _ref5[1];
if (query !== _consts.DEVICES[0] && typeof value !== "undefined") {
return _mediaQuery.default[query]((0, _styledComponents.css)(["", ""], (0, _normalize.default)(value)));
}
return (0, _normalize.default)(value);
});
}); // $FlowFixMe: https://github.com/flow-typed/flow-typed/issues/3653#issuecomment-568539198
StyledBox.defaultProps = {
theme: _defaultTheme.default
};
var Box = function Box(_ref6) {
var _ref6$as = _ref6.as,
as = _ref6$as === void 0 ? "div" : _ref6$as,
mediumMobile = _ref6.mediumMobile,
largeMobile = _ref6.largeMobile,
tablet = _ref6.tablet,
desktop = _ref6.desktop,
largeDesktop = _ref6.largeDesktop,
children = _ref6.children,
dataTest = _ref6.dataTest,
className = _ref6.className,
smallMobile = (0, _objectWithoutProperties2.default)(_ref6, ["as", "mediumMobile", "largeMobile", "tablet", "desktop", "largeDesktop", "children", "dataTest", "className"]);
var viewports = {
smallMobile: smallMobile,
mediumMobile: mediumMobile,
largeMobile: largeMobile,
tablet: tablet,
desktop: desktop,
largeDesktop: largeDesktop
};
return /*#__PURE__*/React.createElement(StyledBox, {
asComponent: as,
dataTest: dataTest,
className: className,
viewports: viewports
}, children);
};
var _default = Box;
exports.default = _default;