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
@@ -33,7 +33,7 @@ var _element = _interopRequireDefault(require("../element"));
33
33
 
34
34
  var _formUtils = require("../../utils/form-utils");
35
35
 
36
- var _context = _interopRequireDefault(require("../context"));
36
+ var _formContext = _interopRequireDefault(require("../../form-context"));
37
37
 
38
38
  require("./style/index.less");
39
39
 
@@ -79,7 +79,7 @@ var Step = function Step(_ref) {
79
79
  var _useContext = (0, _react.useContext)(_locale.LocaleContext),
80
80
  formatMessage = _useContext.formatMessage;
81
81
 
82
- var _useContext2 = (0, _react.useContext)(_context.default),
82
+ var _useContext2 = (0, _react.useContext)(_formContext.default),
83
83
  continueText = _useContext2.continueText,
84
84
  submitText = _useContext2.submitText,
85
85
  submitting = _useContext2.submitting,
@@ -13,7 +13,7 @@ var _step = _interopRequireDefault(require("../step"));
13
13
 
14
14
  var _formUtils = require("../../utils/form-utils");
15
15
 
16
- var _context2 = _interopRequireDefault(require("../context"));
16
+ var _formContext = _interopRequireDefault(require("../../form-context"));
17
17
 
18
18
  require("./style/index.less");
19
19
 
@@ -72,7 +72,7 @@ var Steps = function Steps(_ref) {
72
72
  _ = _useReducer2[0],
73
73
  dispatch = _useReducer2[1];
74
74
 
75
- var _useContext = (0, _react.useContext)(_context2.default),
75
+ var _useContext = (0, _react.useContext)(_formContext.default),
76
76
  form = _useContext.form,
77
77
  registerDependencies = _useContext.registerDependencies;
78
78
 
@@ -92,7 +92,6 @@ var Steps = function Steps(_ref) {
92
92
  setCurrent(currentStep);
93
93
  }, [currentStep]);
94
94
  var renderElements = elements.filter(function (step) {
95
- step.key = step.name || step.key;
96
95
  return typeof step.shouldRender !== 'function' || step.shouldRender(form);
97
96
  });
98
97
 
@@ -201,7 +200,7 @@ var Steps = function Steps(_ref) {
201
200
  handleEdit: handleEdit,
202
201
  showLastIndex: showLastIndex,
203
202
  shouldScroll: shouldScroll
204
- }, child.key);
203
+ }, child.key || child.name);
205
204
  })
206
205
  }, void 0)
207
206
  }, void 0);
@@ -15,5 +15,6 @@ declare const _default: React.Context<{
15
15
  showSubmitButton?: boolean | undefined;
16
16
  getScrollContainer: () => HTMLElement | Window | null;
17
17
  registerDependencies: (name: FormItemName | FormItemName[], updater: Function) => void;
18
+ uploadApi?: string | undefined;
18
19
  }>;
19
20
  export default _default;
File without changes
@@ -0,0 +1,18 @@
1
+ import { FC, ReactNode } from 'react';
2
+ import { FormItemProps } from 'antd/es/form';
3
+ import { FormItemConfig, FormItemName } from '../../types';
4
+ import './style/index.less';
5
+ export interface AddableSectionProps extends FormItemConfig {
6
+ parentName?: FormItemName;
7
+ formItemProps?: FormItemProps;
8
+ preview?: boolean;
9
+ disabledFromParent?: boolean;
10
+ setShowStepButton?: (showButton: boolean) => void;
11
+ max?: number;
12
+ min?: number;
13
+ initCount?: number;
14
+ addButtonText?: string;
15
+ addButtonIcon?: ReactNode;
16
+ }
17
+ declare const AddableSection: FC<AddableSectionProps>;
18
+ export default AddableSection;
@@ -0,0 +1,306 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ require("antd/es/row/style");
9
+
10
+ var _row = _interopRequireDefault(require("antd/es/row"));
11
+
12
+ require("antd/es/col/style");
13
+
14
+ var _col = _interopRequireDefault(require("antd/es/col"));
15
+
16
+ var _jsxRuntime = require("react/jsx-runtime");
17
+
18
+ var _react = require("react");
19
+
20
+ var _formContext = _interopRequireDefault(require("../../form-context"));
21
+
22
+ var _formUtils = require("../../utils/form-utils");
23
+
24
+ var _typography = _interopRequireDefault(require("../../typography"));
25
+
26
+ var _button = _interopRequireDefault(require("../../button"));
27
+
28
+ var _locale = require("../../locale");
29
+
30
+ require("./style/index.less");
31
+
32
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33
+
34
+ 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; }
35
+
36
+ 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; }
37
+
38
+ 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; }
39
+
40
+ 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); }
41
+
42
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
43
+
44
+ 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."); }
45
+
46
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
47
+
48
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
49
+
50
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
51
+
52
+ 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."); }
53
+
54
+ 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); }
55
+
56
+ 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; }
57
+
58
+ 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; }
59
+
60
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
61
+
62
+ var AddableSection = function AddableSection(props) {
63
+ var name = props.name,
64
+ _props$label = props.label,
65
+ label = _props$label === void 0 ? '' : _props$label,
66
+ _props$labelProps = props.labelProps,
67
+ labelProps = _props$labelProps === void 0 ? {} : _props$labelProps,
68
+ _props$contentProps = props.contentProps,
69
+ contentProps = _props$contentProps === void 0 ? {} : _props$contentProps,
70
+ _props$max = props.max,
71
+ max = _props$max === void 0 ? Number.MAX_SAFE_INTEGER : _props$max,
72
+ _props$initCount = props.initCount,
73
+ initCount = _props$initCount === void 0 ? 1 : _props$initCount,
74
+ _props$min = props.min,
75
+ min = _props$min === void 0 ? initCount : _props$min,
76
+ parentName = props.parentName,
77
+ preview = props.preview,
78
+ disabledFromParent = props.disabledFromParent,
79
+ setShowStepButton = props.setShowStepButton,
80
+ addButtonText = props.addButtonText,
81
+ addButtonIcon = props.addButtonIcon,
82
+ children = props.children;
83
+
84
+ var _useReducer = (0, _react.useReducer)(function (r) {
85
+ return r + 1;
86
+ }, 0),
87
+ _useReducer2 = _slicedToArray(_useReducer, 2),
88
+ _ = _useReducer2[0],
89
+ dispatch = _useReducer2[1];
90
+
91
+ var _useContext = (0, _react.useContext)(_locale.LocaleContext),
92
+ formatMessage = _useContext.formatMessage;
93
+
94
+ var _useContext2 = (0, _react.useContext)(_formContext.default),
95
+ form = _useContext2.form,
96
+ requiredMark = _useContext2.requiredMark,
97
+ registerDependencies = _useContext2.registerDependencies;
98
+
99
+ var namePath = (0, _formUtils.calcNamePath)(parentName, name);
100
+ var reducer = (0, _react.useCallback)(function (state, action) {
101
+ if (action.type === 'add') {
102
+ return [].concat(_toConsumableArray(state), [action.key]);
103
+ }
104
+
105
+ var found = false;
106
+ return state.filter(function (key, index) {
107
+ if (key === action.key) {
108
+ found = true;
109
+ }
110
+
111
+ if (found) {
112
+ if (index === state.length - 1) {
113
+ form === null || form === void 0 ? void 0 : form.setFields([{
114
+ name: (0, _formUtils.calcNamePath)(namePath, index),
115
+ value: undefined
116
+ }]);
117
+ } else {
118
+ form === null || form === void 0 ? void 0 : form.setFields([{
119
+ name: (0, _formUtils.calcNamePath)(namePath, index),
120
+ value: form.getFieldValue((0, _formUtils.calcNamePath)(namePath, index + 1))
121
+ }]);
122
+ }
123
+ }
124
+
125
+ return key !== action.key;
126
+ });
127
+ }, []);
128
+
129
+ var _useReducer3 = (0, _react.useReducer)(reducer, function () {
130
+ var init = [];
131
+ var value = (form === null || form === void 0 ? void 0 : form.getFieldValue(namePath)) || [];
132
+
133
+ for (var i = 0; i < Math.max(min, value.length, initCount); i++) {
134
+ init.push(Date.now() + Math.random());
135
+ }
136
+
137
+ return init;
138
+ }()),
139
+ _useReducer4 = _slicedToArray(_useReducer3, 2),
140
+ groupKeys = _useReducer4[0],
141
+ dispath = _useReducer4[1];
142
+
143
+ (0, _react.useEffect)(function () {
144
+ var dependencies = props.dependencies,
145
+ asserts = props.asserts,
146
+ copyValue = props.copyValue,
147
+ selectValue = props.selectValue,
148
+ shouldRender = props.shouldRender,
149
+ subscribedFields = props.subscribedFields,
150
+ disabled = props.disabled;
151
+ var dependentField = dependencies || [];
152
+
153
+ if (Array.isArray(subscribedFields)) {
154
+ dependentField.push.apply(dependentField, _toConsumableArray(subscribedFields));
155
+ }
156
+
157
+ if (asserts && asserts.length) {
158
+ asserts.forEach(function (_ref) {
159
+ var field = _ref.field;
160
+ return dependentField.push(field);
161
+ });
162
+ }
163
+
164
+ if (copyValue) {
165
+ dependentField.push(copyValue.assert.field);
166
+ }
167
+
168
+ if (selectValue && selectValue.length) {
169
+ selectValue.forEach(function (_ref2) {
170
+ var assert = _ref2.assert;
171
+ return dependentField.push(assert.field);
172
+ });
173
+ }
174
+
175
+ if (shouldRender && !Array.isArray(subscribedFields)) {
176
+ dependentField.push('SUBSCRIBE_ALL');
177
+ }
178
+
179
+ if (Array.isArray(disabled)) {
180
+ disabled.forEach(function (_ref3) {
181
+ var field = _ref3.field;
182
+ return dependentField.push(field);
183
+ });
184
+ } else if (_typeof(disabled) === 'object') {
185
+ dependentField.push(disabled.field);
186
+ }
187
+
188
+ registerDependencies(dependentField, dispatch);
189
+ }, []);
190
+
191
+ var _calcFormItemProps = (0, _formUtils.calcFormItemProps)(props, {
192
+ requiredMark: requiredMark
193
+ }, form, parentName),
194
+ formItemProps = _calcFormItemProps.formItemProps,
195
+ elementProps = _calcFormItemProps.elementProps,
196
+ display = _calcFormItemProps.display;
197
+
198
+ if (formItemProps.copiedValue.copied) {
199
+ var currentValue = form === null || form === void 0 ? void 0 : form.getFieldValue(namePath);
200
+
201
+ var value = _objectSpread(_objectSpread({}, currentValue), formItemProps.copiedValue.value);
202
+
203
+ form === null || form === void 0 ? void 0 : form.setFields([{
204
+ name: namePath,
205
+ value: value,
206
+ errors: []
207
+ }]);
208
+ }
209
+
210
+ var transformChildren = function transformChildren(parentName) {
211
+ if (Array.isArray(children)) {
212
+ return children.map(function (c, index) {
213
+ var _c$type;
214
+
215
+ 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)) {
216
+ return /*#__PURE__*/(0, _react.cloneElement)(c, _objectSpread(_objectSpread({
217
+ key: index
218
+ }, c.props), {}, {
219
+ parentName: parentName,
220
+ setShowStepButton: setShowStepButton,
221
+ preview: preview,
222
+ disabledFromParent: elementProps.disabled || disabledFromParent
223
+ }));
224
+ }
225
+
226
+ return c;
227
+ });
228
+ }
229
+
230
+ return /*#__PURE__*/(0, _react.isValidElement)(children) ? /*#__PURE__*/(0, _react.cloneElement)(children, _objectSpread(_objectSpread({}, children.props), {}, {
231
+ parentName: parentName,
232
+ setShowStepButton: setShowStepButton,
233
+ preview: preview,
234
+ disabledFromParent: elementProps.disabled
235
+ })) : children;
236
+ };
237
+
238
+ if (!display) {
239
+ return null;
240
+ }
241
+
242
+ var groups = groupKeys.map(function (key, index) {
243
+ var parentName = (0, _formUtils.calcNamePath)(namePath, index);
244
+ return (0, _jsxRuntime.jsxs)(_col.default, {
245
+ span: 24,
246
+ className: 'igloo-addable-section',
247
+ children: [(groupKeys.length > min && !preview || label) && (0, _jsxRuntime.jsxs)(_row.default, {
248
+ justify: "space-between",
249
+ className: 'igloo-addable-section-label',
250
+ children: [label ? (0, _jsxRuntime.jsxs)(_typography.default, _objectSpread(_objectSpread({}, labelProps), {}, {
251
+ level: "h4",
252
+ wrapElement: "div",
253
+ children: [label, " ", index + 1]
254
+ }), void 0) : (0, _jsxRuntime.jsx)("div", {}, void 0), groupKeys.length > min && !preview && (0, _jsxRuntime.jsx)(_button.default, {
255
+ type: "link",
256
+ className: "igloo-addable-section-label-remove",
257
+ onClick: function onClick() {
258
+ return dispath({
259
+ type: 'remove',
260
+ key: key
261
+ });
262
+ },
263
+ children: formatMessage({
264
+ id: 'Remove'
265
+ })
266
+ }, void 0)]
267
+ }, void 0), (0, _jsxRuntime.jsx)("div", _objectSpread(_objectSpread({
268
+ className: 'igloo-addable-section-content'
269
+ }, contentProps), {}, {
270
+ children: (0, _jsxRuntime.jsx)(_row.default, {
271
+ gutter: [32, preview ? 16 : 24],
272
+ children: transformChildren(parentName)
273
+ }, void 0)
274
+ }), void 0)]
275
+ }, key);
276
+ });
277
+ return (0, _jsxRuntime.jsxs)("div", {
278
+ className: "igloo-addable-section-container",
279
+ style: {
280
+ width: '100%'
281
+ },
282
+ children: [groups, groupKeys.length < max && !preview && (0, _jsxRuntime.jsx)(_col.default, {
283
+ span: 24,
284
+ style: {
285
+ marginTop: 16
286
+ },
287
+ children: (0, _jsxRuntime.jsx)(_button.default, {
288
+ onClick: function onClick() {
289
+ return dispath({
290
+ type: 'add',
291
+ key: Date.now()
292
+ });
293
+ },
294
+ className: "igloo-addable-section-button",
295
+ icon: addButtonIcon,
296
+ children: addButtonText || "".concat(formatMessage({
297
+ id: 'Add'
298
+ }), " ").concat(label)
299
+ }, void 0)
300
+ }, void 0)]
301
+ }, void 0);
302
+ };
303
+
304
+ var _default = AddableSection;
305
+ exports.default = _default;
306
+ AddableSection.displayName = 'Igloo_Free_Form_AddableSection';
@@ -0,0 +1 @@
1
+ import './index.less';
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+
3
+ require("./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
+ }
@@ -25,11 +25,11 @@ var _jsxRuntime = require("react/jsx-runtime");
25
25
 
26
26
  var _react = require("react");
27
27
 
28
- var _icons = require("@ant-design/icons");
28
+ var _iglooicon = require("iglooicon");
29
29
 
30
30
  var _formUtils = require("../../utils/form-utils");
31
31
 
32
- var _context = _interopRequireDefault(require("../context"));
32
+ var _formContext = _interopRequireDefault(require("../../form-context"));
33
33
 
34
34
  var _omit = _interopRequireDefault(require("omit.js"));
35
35
 
@@ -39,18 +39,18 @@ require("./style/index.less");
39
39
 
40
40
  var _invariant = _interopRequireDefault(require("invariant"));
41
41
 
42
- var _excluded = ["parentName", "preview", "disabled", "disabledFromParent", "children"],
42
+ var _excluded = ["parentName", "preview", "disabledFromParent", "children"],
43
43
  _excluded2 = ["halfRow"];
44
44
 
45
45
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
46
46
 
47
- 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; }
47
+ 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; }
48
48
 
49
- 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; }
49
+ 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; }
50
50
 
51
51
  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; }
52
52
 
53
- 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); }
53
+ 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); }
54
54
 
55
55
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
56
56
 
@@ -81,14 +81,13 @@ var useBreakpoint = _grid.default.useBreakpoint;
81
81
  var Element = function Element(props) {
82
82
  var parentName = props.parentName,
83
83
  preview = props.preview,
84
- disabled = props.disabled,
85
84
  disabledFromParent = props.disabledFromParent,
86
85
  children = props.children,
87
86
  rest = _objectWithoutProperties(props, _excluded);
88
87
 
89
88
  (0, _invariant.default)(!(rest.selectValue || rest.copyValue || rest.initialValue) || rest.name, 'Form item with selectValue/copyValue/initialValue should have a name.');
90
89
 
91
- var _useContext = (0, _react.useContext)(_context.default),
90
+ var _useContext = (0, _react.useContext)(_formContext.default),
92
91
  form = _useContext.form,
93
92
  requiredMark = _useContext.requiredMark,
94
93
  registerDependencies = _useContext.registerDependencies;
@@ -109,7 +108,9 @@ var Element = function Element(props) {
109
108
  dependField = props.dependField,
110
109
  getOptions = props.getOptions,
111
110
  subscribedFields = props.subscribedFields,
112
- extraLabel = props.extraLabel;
111
+ extraLabel = props.extraLabel,
112
+ disabled = props.disabled,
113
+ requiredAsserts = props.requiredAsserts;
113
114
  var dependentField = dependencies || [];
114
115
 
115
116
  if (Array.isArray(subscribedFields)) {
@@ -123,13 +124,20 @@ var Element = function Element(props) {
123
124
  });
124
125
  }
125
126
 
127
+ if (requiredAsserts && requiredAsserts.length) {
128
+ requiredAsserts.forEach(function (_ref2) {
129
+ var field = _ref2.field;
130
+ return dependentField.push(field);
131
+ });
132
+ }
133
+
126
134
  if (copyValue) {
127
135
  dependentField.push(copyValue.assert.field);
128
136
  }
129
137
 
130
138
  if (selectValue && selectValue.length) {
131
- selectValue.forEach(function (_ref2) {
132
- var assert = _ref2.assert;
139
+ selectValue.forEach(function (_ref3) {
140
+ var assert = _ref3.assert;
133
141
  return dependentField.push(assert.field);
134
142
  });
135
143
  }
@@ -143,8 +151,8 @@ var Element = function Element(props) {
143
151
  }
144
152
 
145
153
  if (Array.isArray(disabled)) {
146
- disabled.forEach(function (_ref3) {
147
- var field = _ref3.field;
154
+ disabled.forEach(function (_ref4) {
155
+ var field = _ref4.field;
148
156
  return dependentField.push(field);
149
157
  });
150
158
  } else if (_typeof(disabled) === 'object') {
@@ -232,7 +240,7 @@ var Element = function Element(props) {
232
240
  var transformChildren = function transformChildren() {
233
241
  if (! /*#__PURE__*/(0, _react.isValidElement)(children)) return children;
234
242
  return /*#__PURE__*/(0, _react.cloneElement)(children, _objectSpread(_objectSpread(_objectSpread({}, children.props), elementProps), {}, {
235
- disabled: elementProps.disabled || disabledFromParent,
243
+ disabled: children.props.disabled || elementProps.disabled || disabledFromParent,
236
244
  containerRef: ref,
237
245
  setFieldError: setFieldError,
238
246
  setFieldValue: setFieldValue,
@@ -278,7 +286,7 @@ var Element = function Element(props) {
278
286
  sm: 24,
279
287
  xs: 24,
280
288
  className: "igloo-freeform-element-preview-value",
281
- children: [error && !!error.length && (0, _jsxRuntime.jsx)(_icons.CloseCircleFilled, {
289
+ children: [error && !!error.length && (0, _jsxRuntime.jsx)(_iglooicon.AlertFilled, {
282
290
  className: "igloo-freeform-element-preview-value-icon"
283
291
  }, void 0), previewFormater ? previewFormater(value, form) : value || '-']
284
292
  }, 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;
@@ -13,7 +13,7 @@ var _jsxRuntime = require("react/jsx-runtime");
13
13
 
14
14
  var _react = require("react");
15
15
 
16
- var _context2 = _interopRequireDefault(require("./context"));
16
+ var _formContext = _interopRequireDefault(require("../form-context"));
17
17
 
18
18
  var _messages = _interopRequireDefault(require("./messages"));
19
19
 
@@ -25,9 +25,9 @@ var _excluded = ["validateMessages"];
25
25
 
26
26
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
27
 
28
- 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; }
28
+ 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; }
29
29
 
30
- 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; }
30
+ 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; }
31
31
 
32
32
  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; }
33
33
 
@@ -70,7 +70,8 @@ var FreeForm = function FreeForm(props) {
70
70
  return window;
71
71
  } : _props$getScrollConta,
72
72
  _props$onFirstModifie = props.onFirstModified,
73
- onFirstModified = _props$onFirstModifie === void 0 ? function () {} : _props$onFirstModifie;
73
+ onFirstModified = _props$onFirstModifie === void 0 ? function () {} : _props$onFirstModifie,
74
+ uploadApi = props.uploadApi;
74
75
 
75
76
  var _Form$useForm = _form.default.useForm(),
76
77
  _Form$useForm2 = _slicedToArray(_Form$useForm, 1),
@@ -202,7 +203,7 @@ var FreeForm = function FreeForm(props) {
202
203
  'igloo-freeform-without-button': !showSubmitButton
203
204
  }),
204
205
  style: style,
205
- children: (0, _jsxRuntime.jsx)(_context2.default.Provider, {
206
+ children: (0, _jsxRuntime.jsx)(_formContext.default.Provider, {
206
207
  value: _objectSpread({
207
208
  form: form,
208
209
  onCancel: onCancel,
@@ -210,7 +211,8 @@ var FreeForm = function FreeForm(props) {
210
211
  requiredMark: requiredMark,
211
212
  showSubmitButton: showSubmitButton,
212
213
  getScrollContainer: getScrollContainer,
213
- registerDependencies: registerDependencies
214
+ registerDependencies: registerDependencies,
215
+ uploadApi: uploadApi
214
216
  }, locales),
215
217
  children: (0, _jsxRuntime.jsx)(_form.default, {
216
218
  form: form,
@@ -226,5 +228,6 @@ var FreeForm = function FreeForm(props) {
226
228
  }, void 0);
227
229
  };
228
230
 
231
+ FreeForm.useForm = _form.default.useForm;
229
232
  var _default = FreeForm;
230
233
  exports.default = _default;