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
@@ -53,13 +53,15 @@ var _tools = require("../utils/tools");
53
53
 
54
54
  var _media2 = _interopRequireDefault(require("./media"));
55
55
 
56
+ var _formContext = _interopRequireDefault(require("../form-context"));
57
+
56
58
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
57
59
 
58
- 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); }
60
+ 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); }
59
61
 
60
- 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; }
62
+ 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; }
61
63
 
62
- 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; }
64
+ 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; }
63
65
 
64
66
  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; }
65
67
 
@@ -71,10 +73,6 @@ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symb
71
73
 
72
74
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
73
75
 
74
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
75
-
76
- 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); }); }; }
77
-
78
76
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
79
77
 
80
78
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
@@ -89,31 +87,79 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
89
87
 
90
88
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
91
89
 
90
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
91
+
92
+ 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); }); }; }
93
+
92
94
  var useBreakpoint = _grid.default.useBreakpoint;
93
95
  var prefix = 'igloo-upload-photo';
94
96
 
95
- var UploadPhoto = function UploadPhoto(_ref) {
97
+ var UploadPhoto = function UploadPhoto(props) {
96
98
  var _classnames3, _classnames4;
97
99
 
98
- var _ref$value = _ref.value,
99
- value = _ref$value === void 0 ? [] : _ref$value,
100
- limit = _ref.limit,
101
- limitErrorMessage = _ref.limitErrorMessage,
102
- descriptions = _ref.descriptions,
103
- buttonText = _ref.buttonText,
104
- _ref$samples = _ref.samples,
105
- samples = _ref$samples === void 0 ? [] : _ref$samples,
106
- onChange = _ref.onChange,
107
- handleUpload = _ref.handleUpload,
108
- setFieldError = _ref.setFieldError,
109
- className = _ref.className,
110
- id = _ref.id,
111
- validateField = _ref.validateField;
112
100
  var limitNumError = (0, _react.useRef)();
113
101
  var DomRef = (0, _react.useRef)();
114
102
 
115
- var _useContext = (0, _react.useContext)(_locale.LocaleContext),
116
- formatMessage = _useContext.formatMessage;
103
+ var _useContext = (0, _react.useContext)(_formContext.default),
104
+ uploadApi = _useContext.uploadApi;
105
+
106
+ (0, _invariant.default)(typeof props.handleUpload === 'function' || uploadApi, '"handleUpload" should be a function. Or uploadApi should be set at Form/FreeForm');
107
+ (0, _invariant.default)(!uploadApi || props.bizKey, '"bizKey" should be set if Upload is used with uploadApi');
108
+ var _props$value = props.value,
109
+ value = _props$value === void 0 ? [] : _props$value,
110
+ limit = props.limit,
111
+ limitErrorMessage = props.limitErrorMessage,
112
+ descriptions = props.descriptions,
113
+ buttonText = props.buttonText,
114
+ _props$samples = props.samples,
115
+ samples = _props$samples === void 0 ? [] : _props$samples,
116
+ onChange = props.onChange,
117
+ bizKey = props.bizKey,
118
+ _props$handleUpload = props.handleUpload,
119
+ handleUpload = _props$handleUpload === void 0 ? /*#__PURE__*/function () {
120
+ var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(file) {
121
+ var formData, response, rst;
122
+ return regeneratorRuntime.wrap(function _callee$(_context) {
123
+ while (1) {
124
+ switch (_context.prev = _context.next) {
125
+ case 0:
126
+ formData = new FormData();
127
+ formData.append('file', file);
128
+ formData.append('biz_key', bizKey);
129
+ _context.next = 5;
130
+ return fetch(uploadApi, {
131
+ method: 'post',
132
+ body: formData
133
+ });
134
+
135
+ case 5:
136
+ response = _context.sent;
137
+ _context.next = 8;
138
+ return response.json();
139
+
140
+ case 8:
141
+ rst = _context.sent;
142
+ return _context.abrupt("return", rst.url);
143
+
144
+ case 10:
145
+ case "end":
146
+ return _context.stop();
147
+ }
148
+ }
149
+ }, _callee);
150
+ }));
151
+
152
+ return function (_x) {
153
+ return _ref.apply(this, arguments);
154
+ };
155
+ }() : _props$handleUpload,
156
+ setFieldError = props.setFieldError,
157
+ className = props.className,
158
+ id = props.id,
159
+ validateField = props.validateField;
160
+
161
+ var _useContext2 = (0, _react.useContext)(_locale.LocaleContext),
162
+ formatMessage = _useContext2.formatMessage;
117
163
 
118
164
  var _useState = (0, _react.useState)((0, _agentDetect.isMobileAgent)()),
119
165
  _useState2 = _slicedToArray(_useState, 1),
@@ -156,7 +202,7 @@ var UploadPhoto = function UploadPhoto(_ref) {
156
202
  }, []);
157
203
  (0, _react.useEffect)(function () {
158
204
  var removeLimitMsg = function removeLimitMsg(e) {
159
- if (!DomRef.current.contains(e.target) && limitNumError.current) {
205
+ if (DomRef.current && !DomRef.current.contains(e.target) && limitNumError.current) {
160
206
  limitNumError.current = undefined;
161
207
 
162
208
  if (files && files.length) {
@@ -197,7 +243,6 @@ var UploadPhoto = function UploadPhoto(_ref) {
197
243
  sampleSpan = _useMemo.sampleSpan,
198
244
  descriptionSpan = _useMemo.descriptionSpan;
199
245
 
200
- (0, _invariant.default)(typeof handleUpload === 'function', '"handleUpload" should be a function.');
201
246
  (0, _invariant.default)(limit === undefined || limit > 0, "\"limit\" should be a pasitive number.");
202
247
 
203
248
  var onUpload = function onUpload(e) {
@@ -220,12 +265,12 @@ var UploadPhoto = function UploadPhoto(_ref) {
220
265
  };
221
266
 
222
267
  var uploadFile = /*#__PURE__*/function () {
223
- var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(file, currentIndex) {
268
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(file, currentIndex) {
224
269
  var uid, dataUrl, name, size, mimeType, type, errorMsg, _errorMsg;
225
270
 
226
- return regeneratorRuntime.wrap(function _callee$(_context) {
271
+ return regeneratorRuntime.wrap(function _callee2$(_context2) {
227
272
  while (1) {
228
- switch (_context.prev = _context.next) {
273
+ switch (_context2.prev = _context2.next) {
229
274
  case 0:
230
275
  uid = ++uploadIndex.current;
231
276
  dataUrl = URL.createObjectURL(file);
@@ -233,7 +278,7 @@ var UploadPhoto = function UploadPhoto(_ref) {
233
278
  type = (0, _tools.classifyType)(mimeType);
234
279
 
235
280
  if (!(type === 'unknown')) {
236
- _context.next = 9;
281
+ _context2.next = 9;
237
282
  break;
238
283
  }
239
284
 
@@ -242,11 +287,11 @@ var UploadPhoto = function UploadPhoto(_ref) {
242
287
  });
243
288
  limitNumError.current = errorMsg;
244
289
  setFieldError && setFieldError(errorMsg);
245
- return _context.abrupt("return", Promise.reject(errorMsg));
290
+ return _context2.abrupt("return", Promise.reject(errorMsg));
246
291
 
247
292
  case 9:
248
293
  if (!(limit && currentIndex > limit)) {
249
- _context.next = 14;
294
+ _context2.next = 14;
250
295
  break;
251
296
  }
252
297
 
@@ -258,7 +303,7 @@ var UploadPhoto = function UploadPhoto(_ref) {
258
303
  });
259
304
  limitNumError.current = _errorMsg;
260
305
  setFieldError && setFieldError(_errorMsg);
261
- return _context.abrupt("return", Promise.reject(_errorMsg));
306
+ return _context2.abrupt("return", Promise.reject(_errorMsg));
262
307
 
263
308
  case 14:
264
309
  limitNumError.current = undefined;
@@ -273,7 +318,7 @@ var UploadPhoto = function UploadPhoto(_ref) {
273
318
  uid: uid
274
319
  }]);
275
320
  });
276
- return _context.abrupt("return", handleUploadPromise(file, function (url) {
321
+ return _context2.abrupt("return", handleUploadPromise(file, function (url) {
277
322
  var urls = [];
278
323
  setFiles(function (files) {
279
324
  return files.map(function (f) {
@@ -336,63 +381,63 @@ var UploadPhoto = function UploadPhoto(_ref) {
336
381
 
337
382
  case 17:
338
383
  case "end":
339
- return _context.stop();
384
+ return _context2.stop();
340
385
  }
341
386
  }
342
- }, _callee);
387
+ }, _callee2);
343
388
  }));
344
389
 
345
- return function uploadFile(_x, _x2) {
390
+ return function uploadFile(_x2, _x3) {
346
391
  return _ref3.apply(this, arguments);
347
392
  };
348
393
  }();
349
394
 
350
395
  var handleUploadPromise = /*#__PURE__*/function () {
351
- var _ref4 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(file, onSuccess, onFailed) {
396
+ var _ref4 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(file, onSuccess, onFailed) {
352
397
  var rst, errorMsg;
353
- return regeneratorRuntime.wrap(function _callee2$(_context2) {
398
+ return regeneratorRuntime.wrap(function _callee3$(_context3) {
354
399
  while (1) {
355
- switch (_context2.prev = _context2.next) {
400
+ switch (_context3.prev = _context3.next) {
356
401
  case 0:
357
- _context2.prev = 0;
358
- _context2.next = 3;
402
+ _context3.prev = 0;
403
+ _context3.next = 3;
359
404
  return handleUpload(file);
360
405
 
361
406
  case 3:
362
- rst = _context2.sent;
407
+ rst = _context3.sent;
363
408
  onSuccess(rst);
364
- return _context2.abrupt("return", Promise.resolve(rst));
409
+ return _context3.abrupt("return", Promise.resolve(rst));
365
410
 
366
411
  case 8:
367
- _context2.prev = 8;
368
- _context2.t0 = _context2["catch"](0);
369
- errorMsg = _typeof(_context2.t0) === 'object' ? _context2.t0.message : _context2.t0;
412
+ _context3.prev = 8;
413
+ _context3.t0 = _context3["catch"](0);
414
+ errorMsg = _typeof(_context3.t0) === 'object' ? _context3.t0.message : _context3.t0;
370
415
  onFailed(errorMsg);
371
- return _context2.abrupt("return", Promise.reject(errorMsg));
416
+ return _context3.abrupt("return", Promise.reject(errorMsg));
372
417
 
373
418
  case 13:
374
419
  case "end":
375
- return _context2.stop();
420
+ return _context3.stop();
376
421
  }
377
422
  }
378
- }, _callee2, null, [[0, 8]]);
423
+ }, _callee3, null, [[0, 8]]);
379
424
  }));
380
425
 
381
- return function handleUploadPromise(_x3, _x4, _x5) {
426
+ return function handleUploadPromise(_x4, _x5, _x6) {
382
427
  return _ref4.apply(this, arguments);
383
428
  };
384
429
  }();
385
430
 
386
431
  var handleDelete = /*#__PURE__*/function () {
387
- var _ref5 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(index) {
432
+ var _ref5 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4(index) {
388
433
  var arr, hasError, rst;
389
- return regeneratorRuntime.wrap(function _callee3$(_context3) {
434
+ return regeneratorRuntime.wrap(function _callee4$(_context4) {
390
435
  while (1) {
391
- switch (_context3.prev = _context3.next) {
436
+ switch (_context4.prev = _context4.next) {
392
437
  case 0:
393
438
  limitNumError.current = null;
394
439
  arr = files;
395
- _context3.next = 4;
440
+ _context4.next = 4;
396
441
  return setFiles(function (files) {
397
442
  var newArr = files.filter(function (_, i) {
398
443
  return i !== index;
@@ -402,7 +447,7 @@ var UploadPhoto = function UploadPhoto(_ref) {
402
447
  });
403
448
 
404
449
  case 4:
405
- _context3.next = 6;
450
+ _context4.next = 6;
406
451
  return setMasks(function (masks) {
407
452
  return masks.filter(function (_, i) {
408
453
  return i !== index;
@@ -416,7 +461,7 @@ var UploadPhoto = function UploadPhoto(_ref) {
416
461
  });
417
462
 
418
463
  if (!hasError) {
419
- _context3.next = 10;
464
+ _context4.next = 10;
420
465
  break;
421
466
  }
422
467
 
@@ -429,7 +474,7 @@ var UploadPhoto = function UploadPhoto(_ref) {
429
474
 
430
475
  return f.url;
431
476
  });
432
- return _context3.abrupt("return", typeof onChange === 'function' && onChange(rst));
477
+ return _context4.abrupt("return", typeof onChange === 'function' && onChange(rst));
433
478
 
434
479
  case 10:
435
480
  typeof onChange === 'function' && onChange(arr.map(function (_ref6) {
@@ -439,36 +484,36 @@ var UploadPhoto = function UploadPhoto(_ref) {
439
484
 
440
485
  case 11:
441
486
  case "end":
442
- return _context3.stop();
487
+ return _context4.stop();
443
488
  }
444
489
  }
445
- }, _callee3);
490
+ }, _callee4);
446
491
  }));
447
492
 
448
- return function handleDelete(_x6) {
493
+ return function handleDelete(_x7) {
449
494
  return _ref5.apply(this, arguments);
450
495
  };
451
496
  }();
452
497
 
453
498
  var handleReUpload = /*#__PURE__*/function () {
454
- var _ref7 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4(index) {
499
+ var _ref7 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5(index) {
455
500
  var _files$index, originFile, reUpUid, rst, latestFiles, fileListWithError, newList, _rst;
456
501
 
457
- return regeneratorRuntime.wrap(function _callee4$(_context4) {
502
+ return regeneratorRuntime.wrap(function _callee5$(_context5) {
458
503
  while (1) {
459
- switch (_context4.prev = _context4.next) {
504
+ switch (_context5.prev = _context5.next) {
460
505
  case 0:
461
506
  _files$index = files[index], originFile = _files$index.originFile, reUpUid = _files$index.uid;
462
507
 
463
508
  if (originFile) {
464
- _context4.next = 3;
509
+ _context5.next = 3;
465
510
  break;
466
511
  }
467
512
 
468
- return _context4.abrupt("return");
513
+ return _context5.abrupt("return");
469
514
 
470
515
  case 3:
471
- _context4.next = 5;
516
+ _context5.next = 5;
472
517
  return setFiles(function (files) {
473
518
  var newFiles = _toConsumableArray(files);
474
519
 
@@ -477,14 +522,14 @@ var UploadPhoto = function UploadPhoto(_ref) {
477
522
  });
478
523
 
479
524
  case 5:
480
- _context4.prev = 5;
481
- _context4.next = 8;
525
+ _context5.prev = 5;
526
+ _context5.next = 8;
482
527
  return handleUpload(originFile);
483
528
 
484
529
  case 8:
485
- rst = _context4.sent;
530
+ rst = _context5.sent;
486
531
  latestFiles = [];
487
- _context4.next = 12;
532
+ _context5.next = 12;
488
533
  return setFiles(function (files) {
489
534
  var newFiles = _toConsumableArray(files);
490
535
 
@@ -512,19 +557,19 @@ var UploadPhoto = function UploadPhoto(_ref) {
512
557
  return url;
513
558
  });
514
559
  onChange && onChange(fileListWithError);
515
- _context4.next = 23;
560
+ _context5.next = 23;
516
561
  break;
517
562
 
518
563
  case 16:
519
- _context4.prev = 16;
520
- _context4.t0 = _context4["catch"](5);
564
+ _context5.prev = 16;
565
+ _context5.t0 = _context5["catch"](5);
521
566
  newList = [];
522
- _context4.next = 21;
567
+ _context5.next = 21;
523
568
  return setFiles(function (files) {
524
569
  var newFiles = _toConsumableArray(files);
525
570
 
526
571
  newFiles[index].status = 'failed';
527
- newFiles[index].errorMsg = _context4.t0;
572
+ newFiles[index].errorMsg = _context5.t0;
528
573
  newList = newFiles;
529
574
  return newFiles;
530
575
  });
@@ -555,13 +600,13 @@ var UploadPhoto = function UploadPhoto(_ref) {
555
600
 
556
601
  case 24:
557
602
  case "end":
558
- return _context4.stop();
603
+ return _context5.stop();
559
604
  }
560
605
  }
561
- }, _callee4, null, [[5, 16]]);
606
+ }, _callee5, null, [[5, 16]]);
562
607
  }));
563
608
 
564
- return function handleReUpload(_x7) {
609
+ return function handleReUpload(_x8) {
565
610
  return _ref7.apply(this, arguments);
566
611
  };
567
612
  }();
@@ -45,6 +45,7 @@ export declare const calcFormItemProps: (config: FormItemConfig, extraProps: For
45
45
  messageVariables: {
46
46
  label: string;
47
47
  };
48
+ dependencies: NamePath[] | undefined;
48
49
  };
49
50
  elementProps: {
50
51
  [key: string]: any;
@@ -13,16 +13,16 @@ var _typography = _interopRequireDefault(require("../typography"));
13
13
 
14
14
  var _formattedMessage = _interopRequireDefault(require("../locale/formatted-message"));
15
15
 
16
- var _excluded = ["type", "name", "required", "showOptional", "rules", "initialValue", "normalize", "mergeRules", "getValueFromEvent", "getValueProps", "extra", "help", "label", "previewLabel", "extraLabel", "copyValue", "selectValue", "span", "halfRow", "fullRow", "valuePropName", "dependencies", "asserts", "messageVariables", "requiredMessage", "previewFormater", "disabled", "ignore", "shouldRender", "valueFormater"],
16
+ var _excluded = ["type", "name", "required", "requiredAsserts", "showOptional", "rules", "initialValue", "normalize", "mergeRules", "getValueFromEvent", "getValueProps", "extra", "help", "label", "previewLabel", "extraLabel", "copyValue", "selectValue", "span", "halfRow", "fullRow", "valuePropName", "dependencies", "asserts", "messageVariables", "requiredMessage", "previewFormater", "disabled", "ignore", "shouldRender", "valueFormater", "antdDependencies"],
17
17
  _excluded2 = ["initialValue", "normalize", "rules", "extra", "help", "getValueFromEvent", "span", "valuePropName", "fullRow", "halfRow", "messageVariables", "requiredMessage", "previewFormater", "valueFormater", "required", "requiredMark", "className"];
18
18
 
19
19
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
20
 
21
21
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
22
22
 
23
- 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; }
23
+ 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; }
24
24
 
25
- 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; }
25
+ 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; }
26
26
 
27
27
  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; }
28
28
 
@@ -49,7 +49,7 @@ var calcNamePath = function calcNamePath(parentName, name) {
49
49
  names.push(parentName);
50
50
  }
51
51
 
52
- if (name) {
52
+ if (name !== undefined) {
53
53
  names.push(name);
54
54
  }
55
55
 
@@ -61,9 +61,8 @@ exports.calcNamePath = calcNamePath;
61
61
  var testAssert = function testAssert(form, assert) {
62
62
  var field = assert.field,
63
63
  value = assert.value,
64
- _assert$operation = assert.operation,
65
- operation = _assert$operation === void 0 ? 'eq' : _assert$operation;
66
- var v = form.getFieldValue(field);
64
+ operation = assert.operation;
65
+ var v = form.getFieldValue(typeof field === 'string' ? field.split('.') : field);
67
66
 
68
67
  switch (operation) {
69
68
  case 'ne':
@@ -102,9 +101,15 @@ var testAssert = function testAssert(form, assert) {
102
101
  if (v === undefined || v < value) return false;
103
102
  break;
104
103
 
104
+ case 'filled':
105
+ return v !== undefined;
106
+
105
107
  case 'eq':
108
+ return v === value;
109
+
106
110
  default:
107
- if (v !== value) return false;
111
+ if (value !== undefined) return v === value;
112
+ return v !== undefined;
108
113
  }
109
114
 
110
115
  return true;
@@ -112,11 +117,25 @@ var testAssert = function testAssert(form, assert) {
112
117
 
113
118
  exports.testAssert = testAssert;
114
119
 
120
+ var calcRequired = function calcRequired() {
121
+ var required = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
122
+ var form = arguments.length > 1 ? arguments[1] : undefined;
123
+ var requiredAsserts = arguments.length > 2 ? arguments[2] : undefined;
124
+
125
+ if (Array.isArray(requiredAsserts)) {
126
+ return requiredAsserts.every(function (assert) {
127
+ return form && testAssert(form, assert);
128
+ });
129
+ }
130
+
131
+ return required;
132
+ };
133
+
115
134
  var calcFormItemProps = function calcFormItemProps(config, extraProps, form, parentName) {
116
135
  var type = config.type,
117
136
  nameProp = config.name,
118
- _config$required = config.required,
119
- required = _config$required === void 0 ? true : _config$required,
137
+ required = config.required,
138
+ requiredAsserts = config.requiredAsserts,
120
139
  _config$showOptional = config.showOptional,
121
140
  showOptional = _config$showOptional === void 0 ? false : _config$showOptional,
122
141
  _config$rules = config.rules,
@@ -149,6 +168,7 @@ var calcFormItemProps = function calcFormItemProps(config, extraProps, form, par
149
168
  ignore = config.ignore,
150
169
  shouldRender = config.shouldRender,
151
170
  valueFormater = config.valueFormater,
171
+ antdDependencies = config.antdDependencies,
152
172
  rest = _objectWithoutProperties(config, _excluded);
153
173
 
154
174
  (0, _invariant.default)(nameProp || type === 'Divider' || type === 'Section' || !type, "name property is required for form item config (type: ".concat(type, ")"));
@@ -180,7 +200,7 @@ var calcFormItemProps = function calcFormItemProps(config, extraProps, form, par
180
200
  className = extraProps.className,
181
201
  extraRest = _objectWithoutProperties(extraProps, _excluded2);
182
202
 
183
- var rules = required === true && extraRequired ? [{
203
+ var rules = calcRequired(required, form, requiredAsserts) ? [{
184
204
  required: true,
185
205
  message: requiredMessage || extraRequiredMessage
186
206
  }].concat(_toConsumableArray(propsRules)) : _toConsumableArray(propsRules);
@@ -256,7 +276,8 @@ var calcFormItemProps = function calcFormItemProps(config, extraProps, form, par
256
276
  valuePropName: valuePropName || extraValuePropName,
257
277
  messageVariables: _objectSpread({
258
278
  label: label
259
- }, messageVariables || extraMessageVariables)
279
+ }, messageVariables || extraMessageVariables),
280
+ dependencies: antdDependencies
260
281
  },
261
282
  elementProps: elementProps,
262
283
  display: !ignore && calcShouldRender(dependencies, asserts, shouldRender, form),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iglooform",
3
- "version": "2.4.9",
3
+ "version": "2.4.13",
4
4
  "scripts": {
5
5
  "start": "dumi dev",
6
6
  "build-dev": "dumi build",
@@ -1,19 +0,0 @@
1
- import React from 'react';
2
- import { FormInstance } from 'antd/es/form';
3
- import { FormItemName } from '@/types';
4
- declare const _default: React.Context<{
5
- form?: FormInstance<any> | undefined;
6
- onCancel?(): void;
7
- cancelText?: string | undefined;
8
- submitText?: string | undefined;
9
- previewText?: string | undefined;
10
- nextText?: string | undefined;
11
- continueText?: string | undefined;
12
- validateMessages?: Object | undefined;
13
- submitting?: boolean | undefined;
14
- requiredMark?: boolean | undefined;
15
- showSubmitButton?: boolean | undefined;
16
- getScrollContainer: () => HTMLElement | Window | null;
17
- registerDependencies: (name: FormItemName | FormItemName[], updater: Function) => void;
18
- }>;
19
- export default _default;
@@ -1,7 +0,0 @@
1
- import React from 'react';
2
- export default /*#__PURE__*/React.createContext({
3
- getScrollContainer: function getScrollContainer() {
4
- return window;
5
- },
6
- registerDependencies: function registerDependencies() {}
7
- });
@@ -1,19 +0,0 @@
1
- import React from 'react';
2
- import { FormInstance } from 'antd/es/form';
3
- import { FormItemName } from '@/types';
4
- declare const _default: React.Context<{
5
- form?: FormInstance<any> | undefined;
6
- onCancel?(): void;
7
- cancelText?: string | undefined;
8
- submitText?: string | undefined;
9
- previewText?: string | undefined;
10
- nextText?: string | undefined;
11
- continueText?: string | undefined;
12
- validateMessages?: Object | undefined;
13
- submitting?: boolean | undefined;
14
- requiredMark?: boolean | undefined;
15
- showSubmitButton?: boolean | undefined;
16
- getScrollContainer: () => HTMLElement | Window | null;
17
- registerDependencies: (name: FormItemName | FormItemName[], updater: Function) => void;
18
- }>;
19
- export default _default;
@@ -1,19 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _react = _interopRequireDefault(require("react"));
9
-
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
-
12
- var _default = /*#__PURE__*/_react.default.createContext({
13
- getScrollContainer: function getScrollContainer() {
14
- return window;
15
- },
16
- registerDependencies: function registerDependencies() {}
17
- });
18
-
19
- exports.default = _default;