@goldenpine/react-form-builder2 0.20.3-build.3 → 0.20.3-build.5

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.
@@ -13,17 +13,30 @@ var ComponentLabel = function ComponentLabel(props) {
13
13
  if (!labelText) {
14
14
  return null;
15
15
  }
16
+
17
+ // Since we use <div> to replace <span> in the label in form-elements-edit.jsx to support multiple-line labels,
18
+ // we need to ensure that the required label, *, is inserted correctly.
19
+ // If it's simply appended the label string, it will show on a new line.
20
+ // The workaround is to insert it before the first closing </div> or </li> tag if it exists,
21
+ // so it appears at the end of the first line of the label.
22
+ var updatedLabel = labelText;
23
+ if (hasRequiredLabel) {
24
+ var insertSpan = '<span class="label-required" style="color:red;">*</span>';
25
+ var closingTagRegex = /<\/(div|li)>/i; // case-insensitive match for </div> or </li>
26
+
27
+ if (closingTagRegex.test(labelText)) {
28
+ updatedLabel = labelText.replace(closingTagRegex, "".concat(insertSpan, "</$1>"));
29
+ } else {
30
+ // Neither </div> nor </li> found — append at the end
31
+ updatedLabel = labelText + insertSpan;
32
+ }
33
+ }
16
34
  return /*#__PURE__*/_react["default"].createElement("label", {
17
35
  className: props.className || 'form-label'
18
36
  }, /*#__PURE__*/_react["default"].createElement("span", {
19
37
  dangerouslySetInnerHTML: {
20
- __html: labelText
21
- }
22
- }), hasRequiredLabel && /*#__PURE__*/_react["default"].createElement("span", {
23
- className: "label-required",
24
- style: {
25
- color: "red"
38
+ __html: updatedLabel
26
39
  }
27
- }, "*"));
40
+ }));
28
41
  };
29
42
  var _default = exports["default"] = ComponentLabel;
@@ -1057,9 +1057,9 @@ var Range = /*#__PURE__*/function (_React$Component19) {
1057
1057
  }, /*#__PURE__*/_react["default"].createElement("div", {
1058
1058
  className: "clearfix"
1059
1059
  }, /*#__PURE__*/_react["default"].createElement("span", {
1060
- className: "float-left"
1060
+ className: "float-start"
1061
1061
  }, this.props.data.min_label), /*#__PURE__*/_react["default"].createElement("span", {
1062
- className: "float-right"
1062
+ className: "float-end"
1063
1063
  }, this.props.data.max_label)), /*#__PURE__*/_react["default"].createElement(_reactBootstrapSlider["default"], props)), /*#__PURE__*/_react["default"].createElement("div", {
1064
1064
  className: "visible_marks"
1065
1065
  }, visible_marks), /*#__PURE__*/_react["default"].createElement("input", {
@@ -164,9 +164,9 @@ var FormElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Compon
164
164
  return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
165
165
  className: "clearfix"
166
166
  }, /*#__PURE__*/_react["default"].createElement("h4", {
167
- className: "float-left"
167
+ className: "float-start"
168
168
  }, this.props.element.text), /*#__PURE__*/_react["default"].createElement("i", {
169
- className: "float-right fas fa-times dismiss-edit",
169
+ className: "float-end fas fa-times dismiss-edit",
170
170
  onClick: this.props.manualEditModeOff
171
171
  })), this.props.element.hasOwnProperty('content') && /*#__PURE__*/_react["default"].createElement("div", {
172
172
  className: "form-group"
@@ -85,13 +85,13 @@ var FormValidator = exports["default"] = /*#__PURE__*/function (_React$Component
85
85
  }, /*#__PURE__*/_react["default"].createElement("div", {
86
86
  className: "clearfix"
87
87
  }, /*#__PURE__*/_react["default"].createElement("i", {
88
- className: "fas fa-exclamation-triangle float-left"
88
+ className: "fas fa-exclamation-triangle float-start"
89
89
  }), /*#__PURE__*/_react["default"].createElement("ul", {
90
- className: "float-left"
90
+ className: "float-start"
91
91
  }, errors)), /*#__PURE__*/_react["default"].createElement("div", {
92
92
  className: "clearfix"
93
93
  }, /*#__PURE__*/_react["default"].createElement("a", {
94
- className: "float-right btn btn-default btn-sm btn-danger",
94
+ className: "float-end btn btn-default btn-sm btn-danger",
95
95
  onClick: this.dismissModal.bind(this)
96
96
  }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
97
97
  id: "dismiss"
@@ -61,7 +61,9 @@ function isContainer(item) {
61
61
  return true;
62
62
  }
63
63
  if (data.field_name) {
64
- return data.field_name.indexOf('_col_row') > -1;
64
+ // Check if the field name indicates a container
65
+ // Fix a runtime error when dropping a fieldset inside a multi-column row - which dropping seems not supported
66
+ return data.field_name.indexOf('_col_row') > -1 || data.field_name.indexOf('fieldset') > -1;
65
67
  }
66
68
  }
67
69
  }
package/lib/preview.js CHANGED
@@ -381,7 +381,7 @@ Preview.defaultProps = {
381
381
  files: [],
382
382
  editMode: false,
383
383
  editElement: null,
384
- className: 'col-md-9 react-form-builder-preview float-left',
384
+ className: 'col-md-9 react-form-builder-preview float-start',
385
385
  renderEditForm: function renderEditForm(props) {
386
386
  return /*#__PURE__*/_react["default"].createElement(_formDynamicEdit["default"], props);
387
387
  }
package/lib/toolbar.js CHANGED
@@ -588,7 +588,7 @@ var Toolbar = /*#__PURE__*/function (_React$Component) {
588
588
  grouped = _buildGroupItems.grouped,
589
589
  groupKeys = _buildGroupItems.groupKeys;
590
590
  return /*#__PURE__*/_react["default"].createElement("div", {
591
- className: "col-md-3 react-form-builder-toolbar float-right",
591
+ className: "col-md-3 react-form-builder-toolbar float-end",
592
592
  style: {
593
593
  position: this.state.isPinned ? 'fixed' : '',
594
594
  // set up the vertical boundary by top/bottom,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@goldenpine/react-form-builder2",
3
- "version": "0.20.3-build.3",
3
+ "version": "0.20.3-build.5",
4
4
  "description": "A complete form builder for react.",
5
5
  "main": "lib/index.js",
6
6
  "types": "types/index.d.ts",