flex-area-grid
Version:
27 lines • 1.78 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.FlexGrid = void 0;
var react_1 = __importDefault(require("react"));
var lodash_es_1 = require("lodash-es");
var flexGris_styles_1 = require("./flexGris.styles");
var utils_1 = require("./utils");
var drawUtilities_1 = require("./drawUtilities");
var FlexGrid = function (_a) {
var showGrid = _a.showGrid, cellHeight = _a.cellHeight, columns = _a.columns, columnsWidthInPercent = _a.columnsWidthInPercent, _b = _a.cellAlign, cellAlign = _b === void 0 ? "unset" : _b, _c = _a.cellJustify, cellJustify = _c === void 0 ? "unset" : _c, _d = _a.gridRowGap, gridRowGap = _d === void 0 ? 0 : _d, _e = _a.gridColumnGap, gridColumnGap = _e === void 0 ? 0 : _e, children = _a.children;
var childrenArray = lodash_es_1.isArray(children) ? children : [children];
var filteredChildren = childrenArray.filter(function (child) {
return Boolean(child);
});
var matrix = utils_1.generateMatrix(columns, filteredChildren);
var realColumnsNumber = matrix[0].length;
var rows = drawUtilities_1.getTableRows(matrix, filteredChildren, gridRowGap, cellAlign, cellJustify, cellHeight);
var align = drawUtilities_1.getTableCol(realColumnsNumber, columnsWidthInPercent);
return (react_1.default.createElement(flexGris_styles_1.TableStyled, { showGrid: showGrid, gridRowGap: gridRowGap, gridColumnGap: gridColumnGap },
react_1.default.createElement("colgroup", null, align),
react_1.default.createElement("tbody", null, rows)));
};
exports.FlexGrid = FlexGrid;
//# sourceMappingURL=FlexGrid.js.map