@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.
98 lines (82 loc) • 3.37 kB
JavaScript
"use strict";
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 _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");
var StyledGrid = (0, _styledComponents.default)(function (_ref) {
var className = _ref.className,
children = _ref.children,
dataTest = _ref.dataTest;
return /*#__PURE__*/React.createElement("div", {
className: className,
"data-test": dataTest
}, children);
}).withConfig({
displayName: "Grid__StyledGrid",
componentId: "cj22hw-0"
})(["", ";& > *{display:block;}"], function (_ref2) {
var theme = _ref2.theme,
spaceAfter = _ref2.spaceAfter,
props = (0, _objectWithoutProperties2.default)(_ref2, ["theme", "spaceAfter"]);
return _consts.DEVICES.map(function (viewport, index, devices) {
return viewport in _mediaQuery.default ? _mediaQuery.default[viewport]((0, _styledComponents.css)(["", ";"], (0, _layout.isDefined)(props[viewport]) && (0, _getViewportGridStyles.default)({
viewport: viewport,
index: index,
theme: theme,
devices: devices
}))) : viewport === "smallMobile" && (0, _styledComponents.css)(["", ";"], (0, _getViewportGridStyles.default)({
viewport: viewport,
index: index,
devices: devices,
theme: theme
}));
});
}); // $FlowFixMe: https://github.com/flow-typed/flow-typed/issues/3653#issuecomment-568539198
StyledGrid.defaultProps = {
theme: _defaultTheme.default
};
var Grid = function Grid(_ref3) {
var inline = _ref3.inline,
_ref3$rows = _ref3.rows,
rows = _ref3$rows === void 0 ? "1fr" : _ref3$rows,
_ref3$columns = _ref3.columns,
columns = _ref3$columns === void 0 ? "1fr" : _ref3$columns,
gap = _ref3.gap,
rowGap = _ref3.rowGap,
columnGap = _ref3.columnGap,
maxWidth = _ref3.maxWidth,
width = _ref3.width,
children = _ref3.children,
dataTest = _ref3.dataTest,
_ref3$as = _ref3.as,
as = _ref3$as === void 0 ? "div" : _ref3$as,
props = (0, _objectWithoutProperties2.default)(_ref3, ["inline", "rows", "columns", "gap", "rowGap", "columnGap", "maxWidth", "width", "children", "dataTest", "as"]);
var smallMobile = {
inline: inline,
rows: rows,
columns: columns,
gap: gap,
rowGap: rowGap,
columnGap: columnGap,
maxWidth: maxWidth,
width: width
};
return /*#__PURE__*/React.createElement(StyledGrid, (0, _extends2.default)({}, props, {
smallMobile: smallMobile,
"data-test": dataTest,
as: as
}), children);
};
var _default = Grid;
exports.default = _default;