@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.
93 lines (76 loc) • 4.38 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
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 _isDefined = _interopRequireDefault(require("../../Stack/helpers/isDefined"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
var StyledGrid = (0, _styledComponents.default)(function (_ref) {
var className = _ref.className,
children = _ref.children,
dataTest = _ref.dataTest;
return React.createElement("div", {
className: className,
"data-test": dataTest
}, children);
}).withConfig({
displayName: "Grid__StyledGrid",
componentId: "cj22hw-0"
})(["", ";& > *{display:block;}"], function (props) {
return _consts.DEVICES.map(function (viewport, index, devices) {
return viewport in _mediaQuery.default ? _mediaQuery.default[viewport]((0, _styledComponents.css)(["", ";"], (0, _isDefined.default)(props[viewport]) && (0, _getViewportGridStyles.default)({
viewport: viewport,
index: index,
devices: devices
}))) : viewport === "smallMobile" && (0, _styledComponents.css)(["", ";"], (0, _getViewportGridStyles.default)({
viewport: viewport,
index: index,
devices: devices
}));
});
});
StyledGrid.defaultProps = {
theme: _defaultTheme.default
};
var Grid = function Grid(_ref2) {
var inline = _ref2.inline,
_ref2$rows = _ref2.rows,
rows = _ref2$rows === void 0 ? "1fr" : _ref2$rows,
_ref2$columns = _ref2.columns,
columns = _ref2$columns === void 0 ? "1fr" : _ref2$columns,
gap = _ref2.gap,
rowGap = _ref2.rowGap,
columnGap = _ref2.columnGap,
maxWidth = _ref2.maxWidth,
children = _ref2.children,
dataTest = _ref2.dataTest,
_ref2$element = _ref2.element,
element = _ref2$element === void 0 ? "div" : _ref2$element,
props = _objectWithoutProperties(_ref2, ["inline", "rows", "columns", "gap", "rowGap", "columnGap", "maxWidth", "children", "dataTest", "element"]);
var smallMobile = {
inline: inline,
rows: rows,
columns: columns,
gap: gap,
rowGap: rowGap,
columnGap: columnGap,
maxWidth: maxWidth
};
return React.createElement(StyledGrid, _extends({
smallMobile: smallMobile,
"data-test": dataTest,
as: element
}, props), children);
};
var _default = Grid;
exports.default = _default;