@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.
94 lines (78 loc) • 2.74 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 _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
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 _mediaQuery = _interopRequireDefault(require("../mediaQuery"));
var _consts = require("../mediaQuery/consts");
var _getViewportGridStyles = _interopRequireDefault(require("./helpers/getViewportGridStyles"));
var _layout = require("../layout");
const _excluded = ["theme", "spaceAfter"],
_excluded2 = ["inline", "rows", "columns", "gap", "rowGap", "columnGap", "maxWidth", "width", "children", "dataTest", "as"];
const StyledGrid = (0, _styledComponents.default)(({
className,
children,
dataTest
}) => /*#__PURE__*/React.createElement("div", {
className: className,
"data-test": dataTest
}, children)).withConfig({
displayName: "Grid__StyledGrid",
componentId: "sc-9eqnnl-0"
})(["", ";"], (_ref) => {
let {
theme,
spaceAfter
} = _ref,
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
return _consts.DEVICES.map(viewport => viewport in _mediaQuery.default ? _mediaQuery.default[viewport]((0, _styledComponents.css)(["", ";"], (0, _layout.isDefined)(props[viewport]) && (0, _getViewportGridStyles.default)({
viewport,
theme
}))) : viewport === "smallMobile" && (0, _styledComponents.css)(["", ";"], (0, _getViewportGridStyles.default)({
viewport,
theme
})));
}); // $FlowFixMe: https://github.com/flow-typed/flow-typed/issues/3653#issuecomment-568539198
StyledGrid.defaultProps = {
theme: _defaultTheme.default
};
const Grid = (_ref2) => {
let {
inline,
rows = "1fr",
columns = "1fr",
gap,
rowGap,
columnGap,
maxWidth,
width,
children,
dataTest,
as = "div"
} = _ref2,
props = (0, _objectWithoutProperties2.default)(_ref2, _excluded2);
const smallMobile = {
inline,
rows,
columns,
gap,
rowGap,
columnGap,
maxWidth,
width
};
return /*#__PURE__*/React.createElement(StyledGrid, (0, _extends2.default)({}, props, {
smallMobile: smallMobile,
"data-test": dataTest,
as: as
}), children);
};
var _default = Grid;
exports.default = _default;