@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.
40 lines (29 loc) • 1.74 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
var _styledComponents = require("styled-components");
var _applyGap = _interopRequireDefault(require("./applyGap"));
var _lengthOf = _interopRequireDefault(require("./lengthOf"));
var _realCellsCount = _interopRequireDefault(require("./realCellsCount"));
var _calculateColumnPlacement = _interopRequireDefault(require("./calculateColumnPlacement"));
var _calculateRowPlacement = _interopRequireDefault(require("./calculateRowPlacement"));
/*
This functions is applying a proper -ms-grid-column and -ms-grid-row
as IE10+ can't resolve auto placement by itself natively
*/
var autoPlacement = function autoPlacement(childrenCount, columns, rows, columnGap, rowGap) {
var columnsCount = (0, _realCellsCount.default)(!!columnGap, (0, _lengthOf.default)(columns));
var rowsCount = (0, _realCellsCount.default)(!!rowGap, (0, _lengthOf.default)(rows));
return Array.apply(void 0, (0, _toConsumableArray2.default)(Array(childrenCount))).map(function (_, i) {
var index = i + 1;
var columnIndex = (0, _calculateColumnPlacement.default)(index, columnsCount);
var rowIndex = (0, _calculateRowPlacement.default)(index, columnsCount, rowsCount);
return (0, _styledComponents.css)(["& > *:nth-child(", "){-ms-grid-column:", ";-ms-grid-row:", ";}"], index, (0, _applyGap.default)(columnIndex, !!columnGap), (0, _applyGap.default)(rowIndex, !!rowGap));
});
};
var _default = autoPlacement;
exports.default = _default;