iglooform 2.4.9 → 2.4.13

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 (208) hide show
  1. package/es/admin-upload/index.d.ts +2 -0
  2. package/es/admin-upload/index.js +25 -11
  3. package/es/admin-upload/job-list.js +2 -2
  4. package/es/alert-message/index.js +2 -2
  5. package/es/amount/index.js +2 -2
  6. package/es/back-top/index.js +2 -2
  7. package/es/button/index.js +2 -2
  8. package/es/button/style/index.less +23 -19
  9. package/es/card-detail/card-item.js +1 -1
  10. package/es/card-detail/card.js +2 -2
  11. package/es/card-detail/utils.js +3 -3
  12. package/es/checkbox/index.js +2 -2
  13. package/es/claim-list/index.js +2 -2
  14. package/es/confirmation/index.js +2 -2
  15. package/es/date-picker/buddhist.js +2 -2
  16. package/es/date-picker/index.js +2 -2
  17. package/es/declaration/index.js +2 -2
  18. package/es/detail-panel/index.js +2 -2
  19. package/es/example/index.js +6 -7
  20. package/es/filter/index.d.ts +1 -0
  21. package/es/filter/index.js +10 -6
  22. package/es/form/addable-section/index.d.ts +19 -0
  23. package/es/form/addable-section/index.js +211 -0
  24. package/es/form/addable-section/style/index.d.ts +1 -0
  25. package/es/form/addable-section/style/index.js +1 -0
  26. package/es/form/addable-section/style/index.less +22 -0
  27. package/es/form/divider/index.js +2 -2
  28. package/es/form/element/index.js +30 -11
  29. package/es/form/element/style/index.less +5 -0
  30. package/es/form/index.js +7 -5
  31. package/es/form/login/index.js +1 -1
  32. package/es/form/page/index.js +1 -1
  33. package/es/form/page/style/index.less +1 -1
  34. package/es/form/pages/index.js +2 -3
  35. package/es/form/pages/style/index.less +3 -1
  36. package/es/form/render/index.js +1 -1
  37. package/es/form/section/index.js +4 -4
  38. package/es/form/step/index.js +1 -1
  39. package/es/form/steps/index.js +2 -3
  40. package/es/{form/context.d.ts → form-context.d.ts} +1 -0
  41. package/es/{form/context.js → form-context.js} +0 -0
  42. package/es/free-form/addable-section/index.d.ts +18 -0
  43. package/es/free-form/addable-section/index.js +286 -0
  44. package/es/free-form/addable-section/style/index.d.ts +1 -0
  45. package/es/free-form/addable-section/style/index.js +1 -0
  46. package/es/free-form/addable-section/style/index.less +22 -0
  47. package/es/free-form/element/index.js +22 -14
  48. package/es/free-form/element/style/index.less +8 -2
  49. package/es/free-form/index.d.ts +5 -1
  50. package/es/free-form/index.js +8 -5
  51. package/es/free-form/page/index.js +8 -7
  52. package/es/free-form/page/style/index.less +3 -1
  53. package/es/free-form/pages/index.js +2 -2
  54. package/es/free-form/section/index.js +10 -9
  55. package/es/free-form/section/style/index.less +4 -0
  56. package/es/free-form/step/index.js +7 -6
  57. package/es/free-form/steps/index.js +2 -2
  58. package/es/global-message/index.js +1 -1
  59. package/es/index.d.ts +1 -0
  60. package/es/index.js +2 -1
  61. package/es/input/amount.js +2 -2
  62. package/es/input/credit-card.js +2 -2
  63. package/es/input/email.js +2 -2
  64. package/es/input/expiry-date.js +2 -2
  65. package/es/input/input-number.js +2 -2
  66. package/es/input/input.js +2 -2
  67. package/es/input/otp.js +2 -2
  68. package/es/input/password.js +2 -2
  69. package/es/input/style/index.less +9 -1
  70. package/es/input/text-area.js +2 -2
  71. package/es/layout/header.js +3 -3
  72. package/es/layout/index.js +2 -2
  73. package/es/locale/en-US/messages.json +2 -0
  74. package/es/locale/id-ID/messages.json +2 -0
  75. package/es/locale/locale-provider.js +2 -2
  76. package/es/locale/th-TH/messages.json +2 -0
  77. package/es/locale/vi-VN/messages.json +2 -0
  78. package/es/locale/zh-CN/messages.json +2 -0
  79. package/es/media/preview.js +2 -2
  80. package/es/mobile-insurer-detail/index.js +2 -2
  81. package/es/mobile-insurer-list/index.js +2 -2
  82. package/es/modal/index.d.ts +4 -3
  83. package/es/modal/index.js +6 -3
  84. package/es/modal/style/index.less +24 -5
  85. package/es/policy-list/index.js +2 -2
  86. package/es/policy-list/policy-card.js +2 -2
  87. package/es/radio/index.js +2 -2
  88. package/es/select/attached-select.js +2 -2
  89. package/es/select/select.js +2 -2
  90. package/es/select/style/index.less +1 -1
  91. package/es/status-box/index.js +2 -2
  92. package/es/table/index.js +3 -3
  93. package/es/tabs/index.js +2 -2
  94. package/es/tabs/style/index.less +1 -1
  95. package/es/types.d.ts +5 -2
  96. package/es/upload/index.d.ts +2 -1
  97. package/es/upload/index.js +121 -77
  98. package/es/upload-photo/index.d.ts +2 -1
  99. package/es/upload-photo/index.js +123 -79
  100. package/es/utils/form-utils.d.ts +1 -0
  101. package/es/utils/form-utils.js +34 -12
  102. package/lib/admin-upload/index.d.ts +2 -0
  103. package/lib/admin-upload/index.js +25 -11
  104. package/lib/admin-upload/job-list.js +2 -2
  105. package/lib/alert-message/index.js +2 -2
  106. package/lib/amount/index.js +2 -2
  107. package/lib/back-top/index.js +2 -2
  108. package/lib/button/index.js +2 -2
  109. package/lib/button/style/index.less +23 -19
  110. package/lib/card-detail/card-item.js +1 -1
  111. package/lib/card-detail/card.js +2 -2
  112. package/lib/card-detail/utils.js +3 -3
  113. package/lib/checkbox/index.js +2 -2
  114. package/lib/claim-list/index.js +2 -2
  115. package/lib/confirmation/index.js +2 -2
  116. package/lib/date-picker/buddhist.js +2 -2
  117. package/lib/date-picker/index.js +2 -2
  118. package/lib/declaration/index.js +2 -2
  119. package/lib/detail-panel/index.js +2 -2
  120. package/lib/example/index.js +7 -8
  121. package/lib/filter/index.d.ts +1 -0
  122. package/lib/filter/index.js +10 -6
  123. package/lib/form/addable-section/index.d.ts +19 -0
  124. package/lib/form/addable-section/index.js +232 -0
  125. package/lib/form/addable-section/style/index.d.ts +1 -0
  126. package/lib/form/addable-section/style/index.js +3 -0
  127. package/lib/form/addable-section/style/index.less +22 -0
  128. package/lib/form/divider/index.js +2 -2
  129. package/lib/form/element/index.js +32 -12
  130. package/lib/form/element/style/index.less +5 -0
  131. package/lib/form/elements.js +1 -1
  132. package/lib/form/index.js +8 -6
  133. package/lib/form/login/index.js +2 -2
  134. package/lib/form/page/index.js +2 -2
  135. package/lib/form/page/style/index.less +1 -1
  136. package/lib/form/pages/index.js +3 -4
  137. package/lib/form/pages/style/index.less +3 -1
  138. package/lib/form/render/index.js +2 -2
  139. package/lib/form/section/index.js +5 -5
  140. package/lib/form/step/index.js +2 -2
  141. package/lib/form/steps/index.js +3 -4
  142. package/lib/{form/context.d.ts → form-context.d.ts} +1 -0
  143. package/lib/{form/context.js → form-context.js} +0 -0
  144. package/lib/free-form/addable-section/index.d.ts +18 -0
  145. package/lib/free-form/addable-section/index.js +306 -0
  146. package/lib/free-form/addable-section/style/index.d.ts +1 -0
  147. package/lib/free-form/addable-section/style/index.js +3 -0
  148. package/lib/free-form/addable-section/style/index.less +22 -0
  149. package/lib/free-form/element/index.js +23 -15
  150. package/lib/free-form/element/style/index.less +8 -2
  151. package/lib/free-form/index.d.ts +5 -1
  152. package/lib/free-form/index.js +9 -6
  153. package/lib/free-form/page/index.js +9 -8
  154. package/lib/free-form/page/style/index.less +3 -1
  155. package/lib/free-form/pages/index.js +2 -2
  156. package/lib/free-form/section/index.js +11 -10
  157. package/lib/free-form/section/style/index.less +4 -0
  158. package/lib/free-form/step/index.js +8 -7
  159. package/lib/free-form/steps/index.js +3 -3
  160. package/lib/global-message/index.js +1 -1
  161. package/lib/index.d.ts +1 -0
  162. package/lib/index.js +11 -2
  163. package/lib/input/amount.js +2 -2
  164. package/lib/input/credit-card.js +2 -2
  165. package/lib/input/email.js +2 -2
  166. package/lib/input/expiry-date.js +2 -2
  167. package/lib/input/input-number.js +2 -2
  168. package/lib/input/input.js +2 -2
  169. package/lib/input/otp.js +2 -2
  170. package/lib/input/password.js +2 -2
  171. package/lib/input/style/index.less +9 -1
  172. package/lib/input/text-area.js +2 -2
  173. package/lib/layout/header.js +3 -3
  174. package/lib/layout/index.js +2 -2
  175. package/lib/locale/en-US/messages.json +2 -0
  176. package/lib/locale/id-ID/messages.json +2 -0
  177. package/lib/locale/locale-provider.js +2 -2
  178. package/lib/locale/th-TH/messages.json +2 -0
  179. package/lib/locale/vi-VN/messages.json +2 -0
  180. package/lib/locale/zh-CN/messages.json +2 -0
  181. package/lib/media/preview.js +2 -2
  182. package/lib/mobile-insurer-detail/index.js +2 -2
  183. package/lib/mobile-insurer-list/index.js +2 -2
  184. package/lib/modal/index.d.ts +4 -3
  185. package/lib/modal/index.js +6 -3
  186. package/lib/modal/style/index.less +24 -5
  187. package/lib/policy-list/index.js +2 -2
  188. package/lib/policy-list/policy-card.js +2 -2
  189. package/lib/radio/index.js +2 -2
  190. package/lib/select/attached-select.js +2 -2
  191. package/lib/select/select.js +2 -2
  192. package/lib/select/style/index.less +1 -1
  193. package/lib/status-box/index.js +2 -2
  194. package/lib/table/index.js +3 -3
  195. package/lib/tabs/index.js +2 -2
  196. package/lib/tabs/style/index.less +1 -1
  197. package/lib/types.d.ts +5 -2
  198. package/lib/upload/index.d.ts +2 -1
  199. package/lib/upload/index.js +122 -77
  200. package/lib/upload-photo/index.d.ts +2 -1
  201. package/lib/upload-photo/index.js +124 -79
  202. package/lib/utils/form-utils.d.ts +1 -0
  203. package/lib/utils/form-utils.js +33 -12
  204. package/package.json +1 -1
  205. package/es/free-form/context.d.ts +0 -19
  206. package/es/free-form/context.js +0 -7
  207. package/lib/free-form/context.d.ts +0 -19
  208. package/lib/free-form/context.js +0 -19
@@ -0,0 +1,286 @@
1
+ import "antd/es/row/style";
2
+ import _Row from "antd/es/row";
3
+ import "antd/es/col/style";
4
+ import _Col from "antd/es/col";
5
+
6
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7
+
8
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
9
+
10
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
+
12
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
13
+
14
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
15
+
16
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
17
+
18
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
19
+
20
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
21
+
22
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
23
+
24
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
25
+
26
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
27
+
28
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
29
+
30
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
31
+
32
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
33
+
34
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
35
+ import { useReducer, useContext, useEffect, useCallback, cloneElement, isValidElement } from 'react';
36
+ import FormContext from '../../form-context';
37
+ import { calcNamePath, calcFormItemProps } from '../../utils/form-utils';
38
+ import Typography from '../../typography';
39
+ import Button from '../../button';
40
+ import { LocaleContext } from '../../locale';
41
+ import './style/index.less';
42
+
43
+ var AddableSection = function AddableSection(props) {
44
+ var name = props.name,
45
+ _props$label = props.label,
46
+ label = _props$label === void 0 ? '' : _props$label,
47
+ _props$labelProps = props.labelProps,
48
+ labelProps = _props$labelProps === void 0 ? {} : _props$labelProps,
49
+ _props$contentProps = props.contentProps,
50
+ contentProps = _props$contentProps === void 0 ? {} : _props$contentProps,
51
+ _props$max = props.max,
52
+ max = _props$max === void 0 ? Number.MAX_SAFE_INTEGER : _props$max,
53
+ _props$initCount = props.initCount,
54
+ initCount = _props$initCount === void 0 ? 1 : _props$initCount,
55
+ _props$min = props.min,
56
+ min = _props$min === void 0 ? initCount : _props$min,
57
+ parentName = props.parentName,
58
+ preview = props.preview,
59
+ disabledFromParent = props.disabledFromParent,
60
+ setShowStepButton = props.setShowStepButton,
61
+ addButtonText = props.addButtonText,
62
+ addButtonIcon = props.addButtonIcon,
63
+ children = props.children;
64
+
65
+ var _useReducer = useReducer(function (r) {
66
+ return r + 1;
67
+ }, 0),
68
+ _useReducer2 = _slicedToArray(_useReducer, 2),
69
+ _ = _useReducer2[0],
70
+ dispatch = _useReducer2[1];
71
+
72
+ var _useContext = useContext(LocaleContext),
73
+ formatMessage = _useContext.formatMessage;
74
+
75
+ var _useContext2 = useContext(FormContext),
76
+ form = _useContext2.form,
77
+ requiredMark = _useContext2.requiredMark,
78
+ registerDependencies = _useContext2.registerDependencies;
79
+
80
+ var namePath = calcNamePath(parentName, name);
81
+ var reducer = useCallback(function (state, action) {
82
+ if (action.type === 'add') {
83
+ return [].concat(_toConsumableArray(state), [action.key]);
84
+ }
85
+
86
+ var found = false;
87
+ return state.filter(function (key, index) {
88
+ if (key === action.key) {
89
+ found = true;
90
+ }
91
+
92
+ if (found) {
93
+ if (index === state.length - 1) {
94
+ form === null || form === void 0 ? void 0 : form.setFields([{
95
+ name: calcNamePath(namePath, index),
96
+ value: undefined
97
+ }]);
98
+ } else {
99
+ form === null || form === void 0 ? void 0 : form.setFields([{
100
+ name: calcNamePath(namePath, index),
101
+ value: form.getFieldValue(calcNamePath(namePath, index + 1))
102
+ }]);
103
+ }
104
+ }
105
+
106
+ return key !== action.key;
107
+ });
108
+ }, []);
109
+
110
+ var _useReducer3 = useReducer(reducer, function () {
111
+ var init = [];
112
+ var value = (form === null || form === void 0 ? void 0 : form.getFieldValue(namePath)) || [];
113
+
114
+ for (var i = 0; i < Math.max(min, value.length, initCount); i++) {
115
+ init.push(Date.now() + Math.random());
116
+ }
117
+
118
+ return init;
119
+ }()),
120
+ _useReducer4 = _slicedToArray(_useReducer3, 2),
121
+ groupKeys = _useReducer4[0],
122
+ dispath = _useReducer4[1];
123
+
124
+ useEffect(function () {
125
+ var dependencies = props.dependencies,
126
+ asserts = props.asserts,
127
+ copyValue = props.copyValue,
128
+ selectValue = props.selectValue,
129
+ shouldRender = props.shouldRender,
130
+ subscribedFields = props.subscribedFields,
131
+ disabled = props.disabled;
132
+ var dependentField = dependencies || [];
133
+
134
+ if (Array.isArray(subscribedFields)) {
135
+ dependentField.push.apply(dependentField, _toConsumableArray(subscribedFields));
136
+ }
137
+
138
+ if (asserts && asserts.length) {
139
+ asserts.forEach(function (_ref) {
140
+ var field = _ref.field;
141
+ return dependentField.push(field);
142
+ });
143
+ }
144
+
145
+ if (copyValue) {
146
+ dependentField.push(copyValue.assert.field);
147
+ }
148
+
149
+ if (selectValue && selectValue.length) {
150
+ selectValue.forEach(function (_ref2) {
151
+ var assert = _ref2.assert;
152
+ return dependentField.push(assert.field);
153
+ });
154
+ }
155
+
156
+ if (shouldRender && !Array.isArray(subscribedFields)) {
157
+ dependentField.push('SUBSCRIBE_ALL');
158
+ }
159
+
160
+ if (Array.isArray(disabled)) {
161
+ disabled.forEach(function (_ref3) {
162
+ var field = _ref3.field;
163
+ return dependentField.push(field);
164
+ });
165
+ } else if (_typeof(disabled) === 'object') {
166
+ dependentField.push(disabled.field);
167
+ }
168
+
169
+ registerDependencies(dependentField, dispatch);
170
+ }, []);
171
+
172
+ var _calcFormItemProps = calcFormItemProps(props, {
173
+ requiredMark: requiredMark
174
+ }, form, parentName),
175
+ formItemProps = _calcFormItemProps.formItemProps,
176
+ elementProps = _calcFormItemProps.elementProps,
177
+ display = _calcFormItemProps.display;
178
+
179
+ if (formItemProps.copiedValue.copied) {
180
+ var currentValue = form === null || form === void 0 ? void 0 : form.getFieldValue(namePath);
181
+
182
+ var value = _objectSpread(_objectSpread({}, currentValue), formItemProps.copiedValue.value);
183
+
184
+ form === null || form === void 0 ? void 0 : form.setFields([{
185
+ name: namePath,
186
+ value: value,
187
+ errors: []
188
+ }]);
189
+ }
190
+
191
+ var transformChildren = function transformChildren(parentName) {
192
+ if (Array.isArray(children)) {
193
+ return children.map(function (c, index) {
194
+ var _c$type;
195
+
196
+ if (['Igloo_Free_Form_Item', 'Igloo_Free_Form_Section', 'Igloo_Free_Form_AddabledSection'].includes(c === null || c === void 0 ? void 0 : (_c$type = c.type) === null || _c$type === void 0 ? void 0 : _c$type.displayName)) {
197
+ return /*#__PURE__*/cloneElement(c, _objectSpread(_objectSpread({
198
+ key: index
199
+ }, c.props), {}, {
200
+ parentName: parentName,
201
+ setShowStepButton: setShowStepButton,
202
+ preview: preview,
203
+ disabledFromParent: elementProps.disabled || disabledFromParent
204
+ }));
205
+ }
206
+
207
+ return c;
208
+ });
209
+ }
210
+
211
+ return /*#__PURE__*/isValidElement(children) ? /*#__PURE__*/cloneElement(children, _objectSpread(_objectSpread({}, children.props), {}, {
212
+ parentName: parentName,
213
+ setShowStepButton: setShowStepButton,
214
+ preview: preview,
215
+ disabledFromParent: elementProps.disabled
216
+ })) : children;
217
+ };
218
+
219
+ if (!display) {
220
+ return null;
221
+ }
222
+
223
+ var groups = groupKeys.map(function (key, index) {
224
+ var parentName = calcNamePath(namePath, index);
225
+ return _jsxs(_Col, {
226
+ span: 24,
227
+ className: 'igloo-addable-section',
228
+ children: [(groupKeys.length > min && !preview || label) && _jsxs(_Row, {
229
+ justify: "space-between",
230
+ className: 'igloo-addable-section-label',
231
+ children: [label ? _jsxs(Typography, _objectSpread(_objectSpread({}, labelProps), {}, {
232
+ level: "h4",
233
+ wrapElement: "div",
234
+ children: [label, " ", index + 1]
235
+ }), void 0) : _jsx("div", {}, void 0), groupKeys.length > min && !preview && _jsx(Button, {
236
+ type: "link",
237
+ className: "igloo-addable-section-label-remove",
238
+ onClick: function onClick() {
239
+ return dispath({
240
+ type: 'remove',
241
+ key: key
242
+ });
243
+ },
244
+ children: formatMessage({
245
+ id: 'Remove'
246
+ })
247
+ }, void 0)]
248
+ }, void 0), _jsx("div", _objectSpread(_objectSpread({
249
+ className: 'igloo-addable-section-content'
250
+ }, contentProps), {}, {
251
+ children: _jsx(_Row, {
252
+ gutter: [32, preview ? 16 : 24],
253
+ children: transformChildren(parentName)
254
+ }, void 0)
255
+ }), void 0)]
256
+ }, key);
257
+ });
258
+ return _jsxs("div", {
259
+ className: "igloo-addable-section-container",
260
+ style: {
261
+ width: '100%'
262
+ },
263
+ children: [groups, groupKeys.length < max && !preview && _jsx(_Col, {
264
+ span: 24,
265
+ style: {
266
+ marginTop: 16
267
+ },
268
+ children: _jsx(Button, {
269
+ onClick: function onClick() {
270
+ return dispath({
271
+ type: 'add',
272
+ key: Date.now()
273
+ });
274
+ },
275
+ className: "igloo-addable-section-button",
276
+ icon: addButtonIcon,
277
+ children: addButtonText || "".concat(formatMessage({
278
+ id: 'Add'
279
+ }), " ").concat(label)
280
+ }, void 0)
281
+ }, void 0)]
282
+ }, void 0);
283
+ };
284
+
285
+ export default AddableSection;
286
+ AddableSection.displayName = 'Igloo_Free_Form_AddableSection';
@@ -0,0 +1 @@
1
+ import './index.less';
@@ -0,0 +1 @@
1
+ import './index.less';
@@ -0,0 +1,22 @@
1
+ .igloo-addable-section-container {
2
+ .igloo-addable-section {
3
+ .igloo-addable-section-label {
4
+ .igloo-addable-section-label-remove {
5
+ height: auto;
6
+ border: none;
7
+ }
8
+ }
9
+
10
+ .igloo-addable-section-content {
11
+ margin-top: 16px;
12
+ }
13
+
14
+ & + .igloo-addable-section {
15
+ margin-top: 24px;
16
+ }
17
+ }
18
+
19
+ .igloo-addable-section-button {
20
+ min-width: 221px;
21
+ }
22
+ }
@@ -6,16 +6,16 @@ import "antd/es/col/style";
6
6
  import _Col from "antd/es/col";
7
7
  import "antd/es/grid/style";
8
8
  import _Grid from "antd/es/grid";
9
- var _excluded = ["parentName", "preview", "disabled", "disabledFromParent", "children"],
9
+ var _excluded = ["parentName", "preview", "disabledFromParent", "children"],
10
10
  _excluded2 = ["halfRow"];
11
11
 
12
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
12
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
13
13
 
14
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
14
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
15
15
 
16
16
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
17
17
 
18
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
18
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
19
19
 
20
20
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
21
21
 
@@ -43,9 +43,9 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
43
43
 
44
44
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
45
45
  import { useContext, useEffect, useRef, useReducer, isValidElement, cloneElement, useMemo } from 'react';
46
- import { CloseCircleFilled } from '@ant-design/icons';
46
+ import { AlertFilled } from 'iglooicon';
47
47
  import { calcFormItemProps } from '../../utils/form-utils';
48
- import FormContext from '../context';
48
+ import FormContext from '../../form-context';
49
49
  import omit from 'omit.js';
50
50
  import classNames from 'classnames';
51
51
  import './style/index.less';
@@ -55,7 +55,6 @@ var useBreakpoint = _Grid.useBreakpoint;
55
55
  var Element = function Element(props) {
56
56
  var parentName = props.parentName,
57
57
  preview = props.preview,
58
- disabled = props.disabled,
59
58
  disabledFromParent = props.disabledFromParent,
60
59
  children = props.children,
61
60
  rest = _objectWithoutProperties(props, _excluded);
@@ -83,7 +82,9 @@ var Element = function Element(props) {
83
82
  dependField = props.dependField,
84
83
  getOptions = props.getOptions,
85
84
  subscribedFields = props.subscribedFields,
86
- extraLabel = props.extraLabel;
85
+ extraLabel = props.extraLabel,
86
+ disabled = props.disabled,
87
+ requiredAsserts = props.requiredAsserts;
87
88
  var dependentField = dependencies || [];
88
89
 
89
90
  if (Array.isArray(subscribedFields)) {
@@ -97,13 +98,20 @@ var Element = function Element(props) {
97
98
  });
98
99
  }
99
100
 
101
+ if (requiredAsserts && requiredAsserts.length) {
102
+ requiredAsserts.forEach(function (_ref2) {
103
+ var field = _ref2.field;
104
+ return dependentField.push(field);
105
+ });
106
+ }
107
+
100
108
  if (copyValue) {
101
109
  dependentField.push(copyValue.assert.field);
102
110
  }
103
111
 
104
112
  if (selectValue && selectValue.length) {
105
- selectValue.forEach(function (_ref2) {
106
- var assert = _ref2.assert;
113
+ selectValue.forEach(function (_ref3) {
114
+ var assert = _ref3.assert;
107
115
  return dependentField.push(assert.field);
108
116
  });
109
117
  }
@@ -117,8 +125,8 @@ var Element = function Element(props) {
117
125
  }
118
126
 
119
127
  if (Array.isArray(disabled)) {
120
- disabled.forEach(function (_ref3) {
121
- var field = _ref3.field;
128
+ disabled.forEach(function (_ref4) {
129
+ var field = _ref4.field;
122
130
  return dependentField.push(field);
123
131
  });
124
132
  } else if (_typeof(disabled) === 'object') {
@@ -206,7 +214,7 @@ var Element = function Element(props) {
206
214
  var transformChildren = function transformChildren() {
207
215
  if (! /*#__PURE__*/isValidElement(children)) return children;
208
216
  return /*#__PURE__*/cloneElement(children, _objectSpread(_objectSpread(_objectSpread({}, children.props), elementProps), {}, {
209
- disabled: elementProps.disabled || disabledFromParent,
217
+ disabled: children.props.disabled || elementProps.disabled || disabledFromParent,
210
218
  containerRef: ref,
211
219
  setFieldError: setFieldError,
212
220
  setFieldValue: setFieldValue,
@@ -252,7 +260,7 @@ var Element = function Element(props) {
252
260
  sm: 24,
253
261
  xs: 24,
254
262
  className: "igloo-freeform-element-preview-value",
255
- children: [error && !!error.length && _jsx(CloseCircleFilled, {
263
+ children: [error && !!error.length && _jsx(AlertFilled, {
256
264
  className: "igloo-freeform-element-preview-value-icon"
257
265
  }, void 0), previewFormater ? previewFormater(value, form) : value || '-']
258
266
  }, void 0)]
@@ -20,12 +20,17 @@
20
20
  white-space: pre-wrap;
21
21
  word-break: break-word;
22
22
  line-height: 24px;
23
+
24
+ .igloo-freeform-element-preview-value-icon {
25
+ color: @error-color;
26
+ margin-right: 8px;
27
+ }
23
28
  }
24
29
  }
25
30
 
26
31
  .ant-form-item-explain-error {
27
32
  margin-top: 0;
28
- margin-left: 50%;
33
+ margin-left: calc(~'50%' + 16px);
29
34
  }
30
35
 
31
36
  .ant-form-item-extra,
@@ -33,7 +38,8 @@
33
38
  display: none;
34
39
  }
35
40
 
36
- .ant-form-item-explain-error {
41
+ .ant-form-item-explain-error,
42
+ .ant-form-item-explain-connected {
37
43
  display: block;
38
44
  }
39
45
  }
@@ -1,7 +1,11 @@
1
1
  import { FC } from 'react';
2
+ import { Form } from 'antd';
2
3
  import { FormBasicConfig } from '../types';
3
4
  import './style/index.less';
4
5
  interface FreeFormProps extends Omit<FormBasicConfig, 'config'> {
5
6
  }
6
- declare const FreeForm: FC<FreeFormProps>;
7
+ interface FreeFormType extends FC<FreeFormProps> {
8
+ useForm: typeof Form.useForm;
9
+ }
10
+ declare const FreeForm: FreeFormType;
7
11
  export default FreeForm;
@@ -2,9 +2,9 @@ import "antd/es/form/style";
2
2
  import _Form from "antd/es/form";
3
3
  var _excluded = ["validateMessages"];
4
4
 
5
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
5
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6
6
 
7
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
7
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
8
8
 
9
9
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
10
10
 
@@ -30,7 +30,7 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
30
30
 
31
31
  import { jsx as _jsx } from "react/jsx-runtime";
32
32
  import { useState } from 'react';
33
- import FormContext from './context';
33
+ import FormContext from '../form-context';
34
34
  import messages from './messages';
35
35
  import './style/index.less';
36
36
  import classNames from 'classnames';
@@ -54,7 +54,8 @@ var FreeForm = function FreeForm(props) {
54
54
  return window;
55
55
  } : _props$getScrollConta,
56
56
  _props$onFirstModifie = props.onFirstModified,
57
- onFirstModified = _props$onFirstModifie === void 0 ? function () {} : _props$onFirstModifie;
57
+ onFirstModified = _props$onFirstModifie === void 0 ? function () {} : _props$onFirstModifie,
58
+ uploadApi = props.uploadApi;
58
59
 
59
60
  var _Form$useForm = _Form.useForm(),
60
61
  _Form$useForm2 = _slicedToArray(_Form$useForm, 1),
@@ -194,7 +195,8 @@ var FreeForm = function FreeForm(props) {
194
195
  requiredMark: requiredMark,
195
196
  showSubmitButton: showSubmitButton,
196
197
  getScrollContainer: getScrollContainer,
197
- registerDependencies: registerDependencies
198
+ registerDependencies: registerDependencies,
199
+ uploadApi: uploadApi
198
200
  }, locales),
199
201
  children: _jsx(_Form, {
200
202
  form: form,
@@ -210,4 +212,5 @@ var FreeForm = function FreeForm(props) {
210
212
  }, void 0);
211
213
  };
212
214
 
215
+ FreeForm.useForm = _Form.useForm;
213
216
  export default FreeForm;
@@ -7,9 +7,9 @@ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try
7
7
 
8
8
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
9
9
 
10
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
10
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
11
11
 
12
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
12
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
13
13
 
14
14
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
15
15
 
@@ -29,7 +29,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
29
29
  import { useContext, useEffect, cloneElement, isValidElement, useMemo, useReducer } from 'react';
30
30
  import Button from '../../button';
31
31
  import { calcNamePath } from '../../utils/form-utils';
32
- import FormContext from '../context';
32
+ import FormContext from '../../form-context';
33
33
  import { LocaleContext } from '../../locale';
34
34
  import Typography from '../../typography';
35
35
  import './style/index.less';
@@ -93,10 +93,11 @@ var Page = function Page(_ref) {
93
93
  return children.map(function (c, index) {
94
94
  var _c$type;
95
95
 
96
- if (['Igloo_Free_Form_Item', 'Igloo_Free_Form_Section'].includes(c === null || c === void 0 ? void 0 : (_c$type = c.type) === null || _c$type === void 0 ? void 0 : _c$type.displayName)) {
97
- return /*#__PURE__*/cloneElement(c, _objectSpread(_objectSpread({}, c.props), {}, {
98
- parentName: pName,
99
- key: c.props.key || index
96
+ if (['Igloo_Free_Form_Item', 'Igloo_Free_Form_Section', 'Igloo_Free_Form_AddabledSection'].includes(c === null || c === void 0 ? void 0 : (_c$type = c.type) === null || _c$type === void 0 ? void 0 : _c$type.displayName)) {
97
+ return /*#__PURE__*/cloneElement(c, _objectSpread(_objectSpread({
98
+ key: index
99
+ }, c.props), {}, {
100
+ parentName: pName
100
101
  }));
101
102
  }
102
103
 
@@ -47,21 +47,23 @@
47
47
  .igloo-freeform-page-footer {
48
48
  display: flex;
49
49
  flex-direction: column-reverse;
50
- row-gap: 16px;
51
50
 
52
51
  .igloo-freeform-page-preview-button {
53
52
  min-width: none;
54
53
  width: 100%;
54
+ margin-top: 16px;
55
55
  }
56
56
 
57
57
  .igloo-freeform-page-next-button {
58
58
  min-width: none;
59
59
  width: 100%;
60
+ margin-top: 16px;
60
61
  }
61
62
 
62
63
  .igloo-freeform-page-cancel-button {
63
64
  min-width: none;
64
65
  width: 100%;
66
+ margin-top: 16px;
65
67
  }
66
68
 
67
69
  .igloo-freeform-page-submit-button {
@@ -1,6 +1,6 @@
1
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
1
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2
2
 
3
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
3
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
4
 
5
5
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
6
 
@@ -4,13 +4,13 @@ import "antd/es/col/style";
4
4
  import _Col from "antd/es/col";
5
5
  var _excluded = ["parentName", "name", "label", "labelProps", "contentProps", "style", "preview", "disabledFromParent", "setShowStepButton", "children"];
6
6
 
7
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
7
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
8
8
 
9
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
9
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
10
10
 
11
11
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
12
12
 
13
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
13
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
14
14
 
15
15
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
16
16
 
@@ -38,7 +38,7 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
38
38
 
39
39
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
40
40
  import { useContext, useMemo, useReducer, useEffect, cloneElement, isValidElement } from 'react';
41
- import FormContext from '../context';
41
+ import FormContext from '../../form-context';
42
42
  import { calcNamePath, calcFormItemProps } from '../../utils/form-utils';
43
43
  import Typography from '../../typography';
44
44
  import './style/index.less';
@@ -143,13 +143,14 @@ var Section = function Section(props) {
143
143
 
144
144
  var transformChildren = function transformChildren() {
145
145
  if (Array.isArray(children)) {
146
- return children.map(function (c, index) {
146
+ return children.flat().map(function (c, index) {
147
147
  var _c$type;
148
148
 
149
- if (['Igloo_Free_Form_Item', 'Igloo_Free_Form_Section'].includes(c === null || c === void 0 ? void 0 : (_c$type = c.type) === null || _c$type === void 0 ? void 0 : _c$type.displayName)) {
150
- return /*#__PURE__*/cloneElement(c, _objectSpread(_objectSpread({}, c.props), {}, {
149
+ if (['Igloo_Free_Form_Item', 'Igloo_Free_Form_Section', 'Igloo_Free_Form_AddableSection'].includes(c === null || c === void 0 ? void 0 : (_c$type = c.type) === null || _c$type === void 0 ? void 0 : _c$type.displayName)) {
150
+ return /*#__PURE__*/cloneElement(c, _objectSpread(_objectSpread({
151
+ key: index
152
+ }, c.props), {}, {
151
153
  parentName: namePath,
152
- key: c.props.key || index,
153
154
  setShowStepButton: setShowStepButton,
154
155
  preview: preview,
155
156
  disabledFromParent: elementProps.disabled || disabledFromParent
@@ -182,7 +183,7 @@ var Section = function Section(props) {
182
183
  className: 'igloo-freeform-section-content'
183
184
  }, contentProps), {}, {
184
185
  children: _jsx(_Row, {
185
- gutter: [32, 24],
186
+ gutter: [32, preview ? 16 : 24],
186
187
  children: transformChildren()
187
188
  }, void 0)
188
189
  }), void 0)]
@@ -2,4 +2,8 @@
2
2
  .igloo-freeform-section-content {
3
3
  margin-top: 16px;
4
4
  }
5
+
6
+ & + .igloo-freeform-section {
7
+ margin-top: 24px;
8
+ }
5
9
  }