UNPKG

@schema-render/core-react

Version:

Through a set of simple JSON Schema, efficiently build a set of forms.

55 lines (54 loc) 1.84 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { LAYOUT_MIN_MAX: function() { return LAYOUT_MIN_MAX; }, /** * 计算 grid 布局样式值 * @returns 根节点样式值 */ default: function() { return useLayoutStyle; } }); var _react = require("react"); var _constants = require("../constants"); var _misc = require("../utils/misc"); var LAYOUT_MIN_MAX = [ '320px', '1fr' ]; function useLayoutStyle(param) { var layout = param.layout, layoutMinMax = param.layoutMinMax, layoutColumnGap = param.layoutColumnGap, layoutRowGap = param.layoutRowGap; var min = layoutMinMax === null || layoutMinMax === void 0 ? void 0 : layoutMinMax[0]; var max = layoutMinMax === null || layoutMinMax === void 0 ? void 0 : layoutMinMax[1]; var gridTemplateColumns = (0, _react.useMemo)(function() { if (layout === _constants.ELayout.normal) { return 'repeat(24, 1fr)'; } var autoMode = layout === _constants.ELayout.autoFill ? 'auto-fill' : 'auto-fit'; var minValue = (0, _misc.normalizeStyleValue)(min !== null && min !== void 0 ? min : LAYOUT_MIN_MAX[0]); var maxValue = (0, _misc.normalizeStyleValue)(max !== null && max !== void 0 ? max : LAYOUT_MIN_MAX[1]); return "repeat(".concat(autoMode, ", minmax(").concat(minValue, ", ").concat(maxValue, "))"); }, [ layout, min, max ]); // 设置布局样式 var layoutStyle = { display: 'grid', gridTemplateColumns: gridTemplateColumns, columnGap: layoutColumnGap, rowGap: layoutRowGap }; return layoutStyle; }