UNPKG

@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
"use strict"; 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;