mui-custom-form 1.1.3 → 1.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/CustomForm.js +16 -1
  2. package/package.json +1 -1
@@ -135,8 +135,23 @@ var CustomForm = function (_a) {
135
135
  };
136
136
  var submitButtonProps = submitButton && submitButton !== true ? submitButton : {};
137
137
  var resetButtonProps = resetButton && resetButton !== true ? resetButton : {};
138
+ // Function to calculate spans dynamically
139
+ var calculateSpan = function (fields) {
140
+ var totalDefinedSpan = fields.reduce(function (acc, field) { return acc + (field.span || 0); }, 0);
141
+ var autoSpanFields = fields.filter(function (field) { return !field.span; }).length;
142
+ var remainingSpan = 12 - totalDefinedSpan;
143
+ var calculatedSpan = autoSpanFields > 0 ? Math.floor(remainingSpan / autoSpanFields) : 12;
144
+ return { calculatedSpan: calculatedSpan, autoSpanFields: autoSpanFields };
145
+ };
138
146
  return (react_1.default.createElement(material_1.Stack, __assign({ component: "form", onSubmit: formControl.handleSubmit(onSubmit[0], onSubmit[1]), noValidate: true, direction: layout }, otherProps, { spacing: 3 }),
139
- fieldsGroups.map(function (fields, rowIndex) { return (react_1.default.createElement(material_1.Grid2, { container: true, key: rowIndex, spacing: 2, className: "debug" }, fields.map(function (field, fieldIndex) { return (react_1.default.createElement(material_1.Grid2, { key: fieldIndex, size: field.span || 12 }, renderField(field))); }))); }),
147
+ fieldsGroups.map(function (fields, rowIndex) {
148
+ var _a = calculateSpan(fields), calculatedSpan = _a.calculatedSpan, autoSpanFields = _a.autoSpanFields;
149
+ return (react_1.default.createElement(material_1.Grid2, { container: true, key: rowIndex, spacing: 2, className: "debug" }, fields.map(function (field, fieldIndex) { return (react_1.default.createElement(material_1.Grid2, { key: fieldIndex, size: field.span
150
+ ? field.span
151
+ : autoSpanFields > 0
152
+ ? calculatedSpan
153
+ : 12 }, renderField(field))); })));
154
+ }),
140
155
  react_1.default.createElement(material_1.Stack, { direction: "row", justifyContent: actionButtonsPlacement || "flex-end", spacing: 2 },
141
156
  resetButton && (react_1.default.createElement(material_1.Button, __assign({ type: "reset", variant: "contained", onClick: function () { return reset(); } }, resetButtonProps), "Reset")),
142
157
  submitButton && (react_1.default.createElement(material_1.Button, __assign({ type: "submit", variant: "contained" }, submitButtonProps), "Submit")))));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mui-custom-form",
3
- "version": "1.1.3",
3
+ "version": "1.1.4",
4
4
  "description": "A versatile React form component utilizing MUI components and react-hook-form.",
5
5
  "main": "dist/CustomForm.js",
6
6
  "types": "dist/CustomForm.d.ts",