@hi-ui/form 4.0.0-alpha.1 → 4.0.0-alpha.6

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 (55) hide show
  1. package/lib/cjs/Form.js +26 -6
  2. package/lib/cjs/Form.js.map +1 -1
  3. package/lib/cjs/FormItem.js +29 -5
  4. package/lib/cjs/FormItem.js.map +1 -1
  5. package/lib/cjs/FormLabel.js +1 -1
  6. package/lib/cjs/FormLabel.js.map +1 -1
  7. package/lib/cjs/FormList.js +2 -2
  8. package/lib/cjs/FormList.js.map +1 -1
  9. package/lib/cjs/FormMessage.js +3 -3
  10. package/lib/cjs/FormMessage.js.map +1 -1
  11. package/lib/cjs/FormReset.js +76 -0
  12. package/lib/cjs/FormReset.js.map +1 -0
  13. package/lib/cjs/FormSubmit.js +87 -0
  14. package/lib/cjs/FormSubmit.js.map +1 -0
  15. package/lib/cjs/index.js +6 -0
  16. package/lib/cjs/index.js.map +1 -1
  17. package/lib/cjs/styles/index.scss.js +1 -1
  18. package/lib/cjs/use-form-field.js +14 -32
  19. package/lib/cjs/use-form-field.js.map +1 -1
  20. package/lib/cjs/use-form.js +130 -57
  21. package/lib/cjs/use-form.js.map +1 -1
  22. package/lib/cjs/utils/index.js +26 -0
  23. package/lib/cjs/utils/index.js.map +1 -0
  24. package/lib/esm/Form.js +26 -6
  25. package/lib/esm/Form.js.map +1 -1
  26. package/lib/esm/FormItem.js +27 -5
  27. package/lib/esm/FormItem.js.map +1 -1
  28. package/lib/esm/FormLabel.js +1 -1
  29. package/lib/esm/FormLabel.js.map +1 -1
  30. package/lib/esm/FormList.js +2 -2
  31. package/lib/esm/FormList.js.map +1 -1
  32. package/lib/esm/FormMessage.js +3 -3
  33. package/lib/esm/FormMessage.js.map +1 -1
  34. package/lib/esm/FormReset.js +52 -0
  35. package/lib/esm/FormReset.js.map +1 -0
  36. package/lib/esm/FormSubmit.js +63 -0
  37. package/lib/esm/FormSubmit.js.map +1 -0
  38. package/lib/esm/index.js +2 -0
  39. package/lib/esm/index.js.map +1 -1
  40. package/lib/esm/styles/index.scss.js +1 -1
  41. package/lib/esm/use-form-field.js +15 -33
  42. package/lib/esm/use-form-field.js.map +1 -1
  43. package/lib/esm/use-form.js +131 -59
  44. package/lib/esm/use-form.js.map +1 -1
  45. package/lib/esm/utils/index.js +19 -0
  46. package/lib/esm/utils/index.js.map +1 -0
  47. package/lib/types/FormReset.d.ts +2 -1
  48. package/lib/types/FormSubmit.d.ts +3 -2
  49. package/lib/types/context.d.ts +30 -16
  50. package/lib/types/index.d.ts +2 -0
  51. package/lib/types/types.d.ts +34 -12
  52. package/lib/types/use-form-field.d.ts +9 -5
  53. package/lib/types/use-form.d.ts +15 -8
  54. package/lib/types/utils/index.d.ts +3 -0
  55. package/package.json +11 -11
@@ -1 +1 @@
1
- {"version":3,"file":"FormList.js","sources":["../../src/FormList.tsx"],"sourcesContent":[null],"names":["fieldListSymbol","Symbol","FormList","children","nameProp","name","useFormContext","values","setFormState","isArray","updateFormList","React","useCallback","stateFunc","alterTouched","alterErrors","prev","setNested","getNested","console","log","updateErrors","updateTouched","fieldError","errors","undefined","fieldTouched","touched","isArrayNonEmpty","add","value","asArray","remove","index","filter","_","idx","insertBefore","insert","swap","aIndex","bIndex","copy","temp","move","fromIndex","toIndex","splice","listFields","useMemo","list","map","symbol","__DEV__","warn","displayName","arr"],"mappings":"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"}
1
+ {"version":3,"file":"FormList.js","sources":["../../src/FormList.tsx"],"sourcesContent":[null],"names":["fieldListSymbol","Symbol","FormList","children","nameProp","name","useFormContext","values","setFormState","isArray","updateFormList","React","useCallback","stateFunc","alterTouched","alterErrors","prev","setNested","getNested","updateErrors","updateTouched","fieldError","errors","undefined","fieldTouched","touched","isArrayNonEmpty","add","value","asArray","remove","index","filter","_","idx","insertBefore","insert","swap","aIndex","bIndex","copy","temp","move","fromIndex","toIndex","splice","listFields","useMemo","list","map","symbol","__DEV__","console","warn","displayName","arr"],"mappings":"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"}
@@ -35,12 +35,12 @@ var FormMessage = /*#__PURE__*/forwardRef(function (_a, ref) {
35
35
 
36
36
 
37
37
  var message = field ? getFieldError(field) : null;
38
- var cls = cx(prefixCls, className);
39
- return message ? /*#__PURE__*/React.createElement("span", Object.assign({
38
+ var cls = cx(prefixCls, className, message && prefixCls + "--show");
39
+ return /*#__PURE__*/React.createElement("span", Object.assign({
40
40
  ref: ref,
41
41
  role: role,
42
42
  className: cls
43
- }, rest), message) : null;
43
+ }, rest), message);
44
44
  });
45
45
 
46
46
  if (__DEV__) {
@@ -1 +1 @@
1
- {"version":3,"file":"FormMessage.js","sources":["../../src/FormMessage.tsx"],"sourcesContent":[null],"names":["_role","_prefix","getPrefixCls","FormMessage","forwardRef","_a","ref","prefixCls","role","className","field","rest","useFormContext","getFieldError","message","cls","cx","React","__DEV__","displayName"],"mappings":";;;;;;;;;;;;;;AAKA,IAAMA,KAAK,GAAG,cAAd;;AACA,IAAMC,OAAO,GAAGC,YAAY,CAACF,KAAD,CAA5B;AAEA;;;;;IAGaG,WAAW,gBAAGC,UAAU,CACnC,UAACC,EAAD,EAA6EC,GAA7E;wBAAGC;MAAAA,sCAAYN;mBAASO;MAAAA,4BAAOR;MAAOS,eAAAA;MAAqBC,WAAAA;MAAUC,kBAApE,YAAA,QAAA,aAAA,YAAA,SAAA;;wBAC2BC,cAAc;MAAhCC,aAAR,mBAAQA;;;;MAIFC,OAAO,GAAGJ,KAAK,GAAGG,aAAa,CAACH,KAAD,CAAhB,GAA0B;MACzCK,GAAG,GAAGC,EAAE,CAACT,SAAD,EAAYE,SAAZ;SAEPK,OAAO,gBACZG,mBAAAA,OAAAA;AAAMX,IAAAA,GAAG,EAAEA;AAAKE,IAAAA,IAAI,EAAEA;AAAMC,IAAAA,SAAS,EAAEM;KAASJ,KAAhDM,EAEGH,OAFHG,CADY,GAKV;AAd6B,CAAA;;AAyCrC,IAAIC,OAAJ,EAAa;AACXf,EAAAA,WAAW,CAACgB,WAAZhB,GAA0B,aAA1BA;;;"}
1
+ {"version":3,"file":"FormMessage.js","sources":["../../src/FormMessage.tsx"],"sourcesContent":[null],"names":["_role","_prefix","getPrefixCls","FormMessage","forwardRef","_a","ref","prefixCls","role","className","field","rest","useFormContext","getFieldError","message","cls","cx","React","__DEV__","displayName"],"mappings":";;;;;;;;;;;;;;AAKA,IAAMA,KAAK,GAAG,cAAd;;AACA,IAAMC,OAAO,GAAGC,YAAY,CAACF,KAAD,CAA5B;AAEA;;;;;IAGaG,WAAW,gBAAGC,UAAU,CACnC,UAACC,EAAD,EAA6EC,GAA7E;wBAAGC;MAAAA,sCAAYN;mBAASO;MAAAA,4BAAOR;MAAOS,eAAAA;MAAqBC,WAAAA;MAAUC,kBAApE,YAAA,QAAA,aAAA,YAAA,SAAA;;wBAC2BC,cAAc;MAAhCC,aAAR,mBAAQA;;;;MAIFC,OAAO,GAAQJ,KAAK,GAAGG,aAAa,CAACH,KAAD,CAAhB,GAA0B;MAE9CK,GAAG,GAAGC,EAAE,CAACT,SAAD,EAAYE,SAAZ,EAAuBK,OAAO,IAAOP,SAAP,WAA9B;sBAGZU,mBAAAA,OAAAA;AAAMX,IAAAA,GAAG,EAAEA;AAAKE,IAAAA,IAAI,EAAEA;AAAMC,IAAAA,SAAS,EAAEM;KAASJ,KAAhDM,EAEGH,OAFHG;AAX+B,CAAA;;AA0CrC,IAAIC,OAAJ,EAAa;AACXf,EAAAA,WAAW,CAACgB,WAAZhB,GAA0B,aAA1BA;;;"}
@@ -0,0 +1,52 @@
1
+ /** @LICENSE
2
+ * @hi-ui/form
3
+ * https://github.com/XiaoMi/hiui/tree/master/packages/ui/form#readme
4
+ *
5
+ * Copyright (c) HIUI <mi-hiui@xiaomi.com>.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
10
+ import { __rest } from 'tslib';
11
+ import React, { forwardRef } from 'react';
12
+ import { getPrefixCls, cx } from '@hi-ui/classname';
13
+ import { __DEV__ } from '@hi-ui/env';
14
+ import { useFormContext } from './context.js';
15
+ import Button from '@hi-ui/button';
16
+ var FORM_RESET_PREFIX = getPrefixCls('form-reset');
17
+ /**
18
+ * TODO: What is FormReset
19
+ */
20
+
21
+ var FormReset = /*#__PURE__*/forwardRef(function (_a, ref) {
22
+ var _a$prefixCls = _a.prefixCls,
23
+ prefixCls = _a$prefixCls === void 0 ? FORM_RESET_PREFIX : _a$prefixCls,
24
+ className = _a.className,
25
+ children = _a.children,
26
+ _a$type = _a.type,
27
+ type = _a$type === void 0 ? 'secondary' : _a$type,
28
+ _onClick = _a.onClick,
29
+ rest = __rest(_a, ["prefixCls", "className", "children", "type", "onClick"]);
30
+
31
+ var _useFormContext = useFormContext(),
32
+ resetForm = _useFormContext.resetForm;
33
+
34
+ var cls = cx(prefixCls, className);
35
+ return /*#__PURE__*/React.createElement(Button, Object.assign({
36
+ ref: ref,
37
+ className: cls,
38
+ type: type
39
+ }, rest, {
40
+ onClick: function onClick() {
41
+ resetForm();
42
+ _onClick === null || _onClick === void 0 ? void 0 : _onClick();
43
+ }
44
+ }), children);
45
+ });
46
+
47
+ if (__DEV__) {
48
+ FormReset.displayName = 'FormReset';
49
+ }
50
+
51
+ export { FormReset };
52
+ //# sourceMappingURL=FormReset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormReset.js","sources":["../../src/FormReset.tsx"],"sourcesContent":[null],"names":["FORM_RESET_PREFIX","getPrefixCls","FormReset","forwardRef","_a","ref","prefixCls","className","children","type","onClick","rest","useFormContext","resetForm","cls","cx","React","Button","__DEV__","displayName"],"mappings":";;;;;;;;;;;;;;;AAMA,IAAMA,iBAAiB,GAAGC,YAAY,CAAC,YAAD,CAAtC;AAEA;;;;IAGaC,SAAS,gBAAGC,UAAU,CACjC,UACEC,EADF,EAEEC,GAFF;wBACIC;MAAAA,sCAAYN;MAAmBO,eAAAA;MAAWC,cAAAA;mBAAUC;MAAAA,4BAAO;MAAaC,cAAAA;MAAYC,kBAAtF,YAAA,aAAA,YAAA,QAAA,WAAA;;wBAGsBC,cAAc;MAA5BC,SAAR,mBAAQA;;MAEFC,GAAG,GAAGC,EAAE,CAACT,SAAD,EAAYC,SAAZ;sBAEZS,mBAAAA,CAACC,MAADD;AACEX,IAAAA,GAAG,EAAEA;AACLE,IAAAA,SAAS,EAAEO;AACXL,IAAAA,IAAI,EAAEA;KACFE;AACJD,IAAAA,OAAO,EAAE,gBAAA;AACPG,MAAAA,SAAS;AACTH,MAAAA,QAAO,SAAPA,IAAAA,QAAO,WAAPA,SAAAA,GAAAA,QAAO,EAAPA;;IAPJM,EAUGR,QAVHQ;AAT6B,CAAA;;AA6BnC,IAAIE,OAAJ,EAAa;AACXhB,EAAAA,SAAS,CAACiB,WAAVjB,GAAwB,WAAxBA;;;"}
@@ -0,0 +1,63 @@
1
+ /** @LICENSE
2
+ * @hi-ui/form
3
+ * https://github.com/XiaoMi/hiui/tree/master/packages/ui/form#readme
4
+ *
5
+ * Copyright (c) HIUI <mi-hiui@xiaomi.com>.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
10
+ import { __rest } from 'tslib';
11
+ import React, { forwardRef } from 'react';
12
+ import { getPrefixCls, cx } from '@hi-ui/classname';
13
+ import { __DEV__ } from '@hi-ui/env';
14
+ import { useFormContext } from './context.js';
15
+ import Button from '@hi-ui/button';
16
+ var _role = 'form-submit';
17
+
18
+ var _prefix = getPrefixCls(_role);
19
+ /**
20
+ * TODO: What is FormSubmit
21
+ */
22
+
23
+
24
+ var FormSubmit = /*#__PURE__*/forwardRef(function (_a, ref) {
25
+ var _a$prefixCls = _a.prefixCls,
26
+ prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
27
+ _a$role = _a.role,
28
+ role = _a$role === void 0 ? _role : _a$role,
29
+ className = _a.className,
30
+ children = _a.children,
31
+ _a$type = _a.type,
32
+ type = _a$type === void 0 ? 'primary' : _a$type,
33
+ _onClick = _a.onClick,
34
+ rest = __rest(_a, ["prefixCls", "role", "className", "children", "type", "onClick"]);
35
+
36
+ var _useFormContext = useFormContext(),
37
+ submitForm = _useFormContext.submitForm;
38
+
39
+ var cls = cx(prefixCls, className);
40
+ return /*#__PURE__*/React.createElement(Button, Object.assign({
41
+ ref: ref,
42
+ role: role,
43
+ className: cls,
44
+ type: type
45
+ }, rest, {
46
+ onClick: function onClick(evt) {
47
+ evt.preventDefault();
48
+ evt.stopPropagation();
49
+ submitForm().then(function (result) {
50
+ _onClick === null || _onClick === void 0 ? void 0 : _onClick(result, null);
51
+ })["catch"](function (error) {
52
+ _onClick === null || _onClick === void 0 ? void 0 : _onClick(null, error);
53
+ });
54
+ }
55
+ }), children);
56
+ });
57
+
58
+ if (__DEV__) {
59
+ FormSubmit.displayName = 'FormSubmit';
60
+ }
61
+
62
+ export { FormSubmit };
63
+ //# sourceMappingURL=FormSubmit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormSubmit.js","sources":["../../src/FormSubmit.tsx"],"sourcesContent":[null],"names":["_role","_prefix","getPrefixCls","FormSubmit","forwardRef","_a","ref","prefixCls","role","className","children","type","onClick","rest","useFormContext","submitForm","cls","cx","React","Button","evt","preventDefault","stopPropagation","then","result","error","__DEV__","displayName"],"mappings":";;;;;;;;;;;;;;;AAMA,IAAMA,KAAK,GAAG,aAAd;;AACA,IAAMC,OAAO,GAAGC,YAAY,CAACF,KAAD,CAA5B;AAEA;;;;;IAGaG,UAAU,gBAAGC,UAAU,CAClC,UACEC,EADF,EAEEC,GAFF;wBACIC;MAAAA,sCAAYN;mBAASO;MAAAA,4BAAOR;MAAOS,eAAAA;MAAWC,cAAAA;mBAAUC;MAAAA,4BAAO;MAAWC,cAAAA;MAAYC,kBAAxF,YAAA,QAAA,aAAA,YAAA,QAAA,WAAA;;wBAGuBC,cAAc;MAA7BC,UAAR,mBAAQA;;MAEFC,GAAG,GAAGC,EAAE,CAACV,SAAD,EAAYE,SAAZ;sBAGZS,mBAAAA,CAACC,MAADD;AACEZ,IAAAA,GAAG,EAAEA;AACLE,IAAAA,IAAI,EAAEA;AACNC,IAAAA,SAAS,EAAEO;AACXL,IAAAA,IAAI,EAAEA;KACFE;AACJD,IAAAA,OAAO,EAAE,gBAAA,CAACQ,GAAD;AACPA,MAAAA,GAAG,CAACC,cAAJD;AACAA,MAAAA,GAAG,CAACE,eAAJF;AAEAL,MAAAA,UAAU,GACPQ,IADHR,CACQ,UAACS,MAAD;AACJZ,QAAAA,QAAO,SAAPA,IAAAA,QAAO,WAAPA,SAAAA,GAAAA,QAAO,CAAGY,MAAH,EAAW,IAAX,CAAPZ;AAFJ,OAAAG,WAIS,UAACU,KAAD;AACLb,QAAAA,QAAO,SAAPA,IAAAA,QAAO,WAAPA,SAAAA,GAAAA,QAAO,CAAG,IAAH,EAASa,KAAT,CAAPb;AALJ,OAAAG;;IAVJG,EAmBGR,QAnBHQ;AAV8B,CAAA;;AAwCpC,IAAIQ,OAAJ,EAAa;AACXvB,EAAAA,UAAU,CAACwB,WAAXxB,GAAyB,YAAzBA;;;"}
package/lib/esm/index.js CHANGED
@@ -11,4 +11,6 @@ import './styles/index.scss.js';
11
11
  export { FORM_REGISTER_TABLE, Form, Form as default } from './Form.js';
12
12
  export { FormItem } from './FormItem.js';
13
13
  export { FormList } from './FormList.js';
14
+ export { FormSubmit } from './FormSubmit.js';
15
+ export { FormReset } from './FormReset.js';
14
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
@@ -7,7 +7,7 @@
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
9
9
  */
10
- var css_248z = "@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n.hi-v4-form {\n max-width: 100%;\n position: relative; }\n.hi-v4-form fieldset {\n margin: 0;\n padding: 0;\n border: 0; }\n.hi-v4-form fieldset + fieldset {\n margin-top: 16px; }\n.hi-v4-form legend {\n margin: 0 0 16px;\n color: #1f2937;\n color: var(--hi-v4-color-gray-800, #1f2937); }\n.hi-v4-form--inline {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap; }\n.hi-v4-form--inline .hi-v4-form-label__indent {\n min-height: 32px; }\n.hi-v4-form-label {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n font-size: 0.875rem;\n font-size: var(--hi-v4-text-size-normal, 0.875rem);\n margin-right: 8px;\n margin-right: var(--hi-v4-spacing-4, 8px);\n margin-bottom: 24px; }\n.hi-v4-form-label__text, .hi-v4-form-label__indent {\n -ms-flex-negative: 0;\n flex-shrink: 0;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n vertical-align: top;\n color: #1f2937;\n color: var(--hi-v4-color-gray-800, #1f2937);\n overflow-wrap: break-word; }\n.hi-v4-form-label__text {\n margin-top: 5px;\n min-height: 22px;\n padding-right: 8px;\n padding-right: var(--hi-v4-spacing-4, 8px);\n line-height: 22px; }\n.hi-v4-form-label--placement-left .hi-v4-form-label__text {\n text-align: left; }\n.hi-v4-form-label--placement-right .hi-v4-form-label__text {\n text-align: right; }\n.hi-v4-form-label--placement-top .hi-v4-form-label__text {\n height: 22px;\n padding-right: 8px;\n margin-bottom: 8px; }\n.hi-v4-form-label--required .hi-v4-form-label__text::after {\n margin-right: 4px;\n margin-right: var(--hi-v4-spacing-2, 4px);\n content: '*';\n color: #237ffa;\n color: var(--hi-v4-color-brandblue-500, #237ffa); }\n.hi-v4-form-label .hi-v4-form-label--placement-top {\n padding-right: 0;\n text-align: left;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n margin-bottom: 20px; }\n.hi-v4-form-label__content {\n -webkit-box-flex: 1;\n -ms-flex: 1 1;\n flex: 1 1;\n position: relative;\n vertical-align: top;\n min-height: 32px;\n -ms-flex-negative: 0;\n flex-shrink: 0; }\n.hi-v4-form-message {\n font-size: 0.875rem;\n font-size: var(--hi-v4-text-size-normal, 0.875rem);\n min-height: 24px;\n padding: 2px 0;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n line-height: 20px;\n -webkit-transition: all 0.3s;\n transition: all 0.3s;\n -webkit-transform: translateY(-10%);\n transform: translateY(-10%);\n color: #ff5959;\n color: var(--hi-v4-color-red-500, #ff5959); }\n";
10
+ var css_248z = "@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n.hi-v4-form {\n max-width: 100%;\n position: relative; }\n.hi-v4-form fieldset {\n margin: 0;\n padding: 0;\n border: 0; }\n.hi-v4-form fieldset + fieldset {\n margin-top: 16px; }\n.hi-v4-form legend {\n margin: 0 0 16px;\n color: #1f2937;\n color: var(--hi-v4-color-gray-800, #1f2937); }\n.hi-v4-form--placement-horizontal {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap; }\n.hi-v4-form--placement-horizontal .hi-v4-form-label__indent {\n min-height: 32px; }\n.hi-v4-form-label {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n font-size: 0.875rem;\n font-size: var(--hi-v4-text-size-normal, 0.875rem);\n margin-right: 8px;\n margin-right: var(--hi-v4-spacing-4, 8px);\n margin-bottom: 24px; }\n.hi-v4-form-label__text, .hi-v4-form-label__indent {\n -ms-flex-negative: 0;\n flex-shrink: 0;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n vertical-align: top;\n color: #1f2937;\n color: var(--hi-v4-color-gray-800, #1f2937);\n overflow-wrap: break-word; }\n.hi-v4-form-label__text {\n padding-right: 8px;\n padding-right: var(--hi-v4-spacing-4, 8px);\n min-height: 22px;\n line-height: 22px; }\n.hi-v4-form-label--placement-left .hi-v4-form-label__text {\n text-align: left; }\n.hi-v4-form-label--placement-right .hi-v4-form-label__text {\n text-align: right; }\n.hi-v4-form-label--placement-top .hi-v4-form-label__text {\n height: 22px;\n padding-right: 8px;\n margin-bottom: 8px; }\n.hi-v4-form-label--required .hi-v4-form-label__text::before {\n margin-right: 4px;\n margin-right: var(--hi-v4-spacing-2, 4px);\n content: '*';\n color: #ff5959;\n color: var(--hi-v4-color-red-500, #ff5959); }\n.hi-v4-form-label--placement-top {\n text-align: left;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n margin-bottom: 20px;\n margin-bottom: var(--hi-v4-spacing-10, 20px);\n padding-right: 0; }\n.hi-v4-form-label__content {\n -webkit-box-flex: 1;\n -ms-flex: 1 1;\n flex: 1 1;\n position: relative;\n vertical-align: top;\n min-height: 32px;\n -ms-flex-negative: 0;\n flex-shrink: 0; }\n.hi-v4-form-message {\n display: block;\n font-size: 0.875rem;\n font-size: var(--hi-v4-text-size-normal, 0.875rem);\n min-height: 24px;\n padding: 2px 0;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n line-height: 20px;\n -webkit-transform: translateY(-10%);\n transform: translateY(-10%);\n opacity: 0;\n color: #ff5959;\n color: var(--hi-v4-color-red-500, #ff5959);\n -webkit-transition: all 0.3s;\n transition: all 0.3s; }\n.hi-v4-form-message--show {\n opacity: 1;\n -webkit-transform: translateY(0);\n transform: translateY(0); }\n.hi-v4-form-item {\n position: relative; }\n.hi-v4-form-item__message {\n position: absolute; }\n";
11
11
 
12
12
  var __styleInject__ = require('style-inject/dist/style-inject.es.js')["default"];
13
13
 
@@ -9,7 +9,7 @@
9
9
  */
10
10
  import { useMemo, useCallback, useEffect } from 'react';
11
11
  import { useFormContext } from './context.js';
12
- import { isArrayNonEmpty } from '@hi-ui/type-assertion';
12
+ import { isArrayNonEmpty, isNullish, isArray } from '@hi-ui/type-assertion';
13
13
  import Validater from 'async-validator';
14
14
  import { toArray } from '@hi-ui/func-utils';
15
15
 
@@ -30,25 +30,7 @@ var useFormField = function useFormField(props) {
30
30
 
31
31
  var fieldRules = useMemo(function () {
32
32
  // @ts-ignore
33
- var rules = toArray(rulesProp !== null && rulesProp !== void 0 ? rulesProp : getFieldRules(field)); // switch(valueType) {
34
- // case: 'string':
35
- // const scheme = yup.string()
36
- // rules.reduce((scheme, { name, strategy, validator, message, transform }) => {
37
- // if (typeof name === 'string' && name in scheme) {
38
- // if (isFunction(transform)) {
39
- // scheme = scheme.transform(transform)
40
- // }
41
- // // @ts-ignore
42
- // return scheme[name](message)
43
- // }
44
- // }, scheme)
45
- // case: 'number':
46
- // case: 'boolean':
47
- // case: 'array':
48
- // case: 'object':
49
- // case: 'date':
50
- // }
51
-
33
+ var rules = toArray(rulesProp !== null && rulesProp !== void 0 ? rulesProp : getFieldRules(field));
52
34
  return rules.map(function (rule) {
53
35
  return Object.assign({
54
36
  type: valueType
@@ -64,27 +46,27 @@ var useFormField = function useFormField(props) {
64
46
  } // TODO: rules 处理成 Async Validate 的指定结构
65
47
 
66
48
 
67
- console.log('fieldRules', fieldRules, 'value:', value);
68
49
  var validater = new Validater((_Validater = {}, _Validater[field] = fieldRules, _Validater)); // @ts-ignore
69
50
 
70
51
  return validater.validate((_validater$validate = {}, _validater$validate[field] = value, _validater$validate), {
71
52
  firstFields: true
72
- }, console.log);
53
+ });
73
54
  }, [fieldRules, field]); // 注入当前 field 及其验证规则到 Form
74
55
 
75
56
  useEffect(function () {
76
- if (field) {
77
- // @ts-ignore
78
- registerField(field, {
79
- validate: fieldValidate
80
- });
81
- }
82
-
57
+ if (isNullish(field) || field === '') return;
58
+ if (isArray(field) && field.every(function (item) {
59
+ return isNullish(item) || item === '';
60
+ })) return;
61
+ registerField(field, {
62
+ validate: fieldValidate
63
+ });
83
64
  return function () {
84
- if (field) {
85
- // @ts-ignore
86
- unregisterField(field);
87
- }
65
+ if (isNullish(field) || field === '') return;
66
+ if (isArray(field) && field.every(function (item) {
67
+ return isNullish(item) || item === '';
68
+ })) return;
69
+ unregisterField(field);
88
70
  };
89
71
  }, [registerField, unregisterField, field, fieldValidate]);
90
72
  return getFieldProps(props);
@@ -1 +1 @@
1
- {"version":3,"file":"use-form-field.js","sources":["../../src/use-form-field.ts"],"sourcesContent":[null],"names":["useFormField","props","field","rulesProp","rules","valueType","useFormContext","getFieldRules","getFieldProps","registerField","unregisterField","fieldRules","useMemo","toArray","map","rule","type","fieldValidate","useCallback","value","isArrayNonEmpty","Promise","resolve","console","log","validater","Validater","validate","firstFields","useEffect"],"mappings":";;;;;;;;;;;;;;;IAQaA,YAAY,GAAG,SAAfA,YAAe,CAAeC,KAAf;MAClBC,KAAR,GAA+CD,KAA/C,CAAQC;MAAcC,SAAtB,GAA+CF,KAA/C,CAAeG;MAAkBC,SAAjC,GAA+CJ,KAA/C,CAAiCI;;wBAW7BC,cAAc;MAJhBC,aALF,mBAKEA;MACAC,aANF,mBAMEA;MACAC,aAPF,mBAOEA;MACAC,eARF,mBAQEA;;;;;;MAMIC,UAAU,GAAGC,OAAO,CAAC;;QAEnBR,KAAK,GAAGS,OAAO,CAACV,SAAS,SAATA,IAAAA,SAAS,WAATA,GAAAA,SAAAA,GAAaI,aAAa,CAACL,KAAD,CAA3B;;;;;;;;;;;;;;;;;;;WAqBdE,KAAK,CAACU,GAANV,CAAU,UAACW,IAAD;;AAAaC,QAAAA,IAAI,EAAEX;SAAcU;AAA3C,KAAAX;AAvBiB,GAAA,EAwBvB,CAACD,SAAD,EAAYD,KAAZ,EAAmBK,aAAnB,EAAkCF,SAAlC,CAxBuB;;MA2BpBY,aAAa,GAAGC,WAAW,CAC/B,UAACC,KAAD;;;QACM,CAACC,eAAe,CAACT,UAAD,GAAc;aACzBU,OAAO,CAACC,OAARD,CAAgB,IAAhBA;;;;AAITE,IAAAA,OAAO,CAACC,GAARD,CAAY,YAAZA,EAA0BZ,UAA1BY,EAAsC,QAAtCA,EAAgDJ,KAAhDI;QAEME,SAAS,GAAG,IAAIC,SAAJ,8BAEfxB,SAAQS,sBAFO;;WAKXc,SAAS,CAACE,QAAVF,gDAAsBvB,SAAQiB,0BAA9BM,GAAuC;AAAEG,MAAAA,WAAW,EAAE;AAAf,KAAvCH,EAA8DF,OAAO,CAACC,GAAtEC;AAdsB,GAAA,EAgB/B,CAACd,UAAD,EAAaT,KAAb,CAhB+B;;AAoBjC2B,EAAAA,SAAS,CAAC;QACJ3B,OAAO;;AAETO,MAAAA,aAAa,CAACP,KAAD,EAAQ;AACnByB,QAAAA,QAAQ,EAAEV;AADS,OAAR,CAAbR;;;WAKK;UACDP,OAAO;;AAETQ,QAAAA,eAAe,CAACR,KAAD,CAAfQ;;AAHJ;AARO,GAAA,EAcN,CAACD,aAAD,EAAgBC,eAAhB,EAAiCR,KAAjC,EAAwCe,aAAxC,CAdM,CAATY;SAgBOrB,aAAa,CAACP,KAAD;;;"}
1
+ {"version":3,"file":"use-form-field.js","sources":["../../src/use-form-field.ts"],"sourcesContent":[null],"names":["useFormField","props","field","rulesProp","rules","valueType","useFormContext","getFieldRules","getFieldProps","registerField","unregisterField","fieldRules","useMemo","toArray","map","rule","type","fieldValidate","useCallback","value","isArrayNonEmpty","Promise","resolve","validater","Validater","validate","firstFields","useEffect","isNullish","isArray","every","item"],"mappings":";;;;;;;;;;;;;;;IAQaA,YAAY,GAAG,SAAfA,YAAe,CAAeC,KAAf;MAClBC,KAAR,GAA+CD,KAA/C,CAAQC;MAAcC,SAAtB,GAA+CF,KAA/C,CAAeG;MAAkBC,SAAjC,GAA+CJ,KAA/C,CAAiCI;;wBAEwCC,cAAc;MAA/EC,aAAR,mBAAQA;MAAeC,aAAvB,mBAAuBA;MAAeC,aAAtC,mBAAsCA;MAAeC,eAArD,mBAAqDA;;;;;;MAK/CC,UAAU,GAAGC,OAAO,CAAC;;QAEnBR,KAAK,GAAGS,OAAO,CAACV,SAAS,SAATA,IAAAA,SAAS,WAATA,GAAAA,SAAAA,GAAaI,aAAa,CAACL,KAAD,CAA3B;WACdE,KAAK,CAACU,GAANV,CAAU,UAACW,IAAD;;AAAkBC,QAAAA,IAAI,EAAEX;SAAcU;AAAhD,KAAAX;AAHiB,GAAA,EAIvB,CAACD,SAAD,EAAYD,KAAZ,EAAmBK,aAAnB,EAAkCF,SAAlC,CAJuB;;MAOpBY,aAAa,GAAGC,WAAW,CAC/B,UAACC,KAAD;;;QACM,CAACC,eAAe,CAACT,UAAD,GAAc;aACzBU,OAAO,CAACC,OAARD,CAAgB,IAAhBA;;;;QAKHE,SAAS,GAAG,IAAIC,SAAJ,8BAEftB,SAAQS,sBAFO;;WAMXY,SAAS,CAACE,QAAVF,gDAAsBrB,SAAQiB,0BAA9BI,GAAuC;AAAEG,MAAAA,WAAW,EAAE;AAAf,KAAvCH;AAdsB,GAAA,EAgB/B,CAACZ,UAAD,EAAaT,KAAb,CAhB+B;;AAoBjCyB,EAAAA,SAAS,CAAC;QACJC,SAAS,CAAC1B,KAAD,CAAT0B,IAAoB1B,KAAK,KAAK,IAAI;QAClC2B,OAAO,CAAC3B,KAAD,CAAP2B,IAAkB3B,KAAK,CAAC4B,KAAN5B,CAAY,UAAC6B,IAAD;aAAUH,SAAS,CAACG,IAAD,CAATH,IAAmBG,IAAI,KAAK;AAAlD,KAAA7B,GAAuD;AAE7EO,IAAAA,aAAa,CAACP,KAAD,EAAQ;AACnBuB,MAAAA,QAAQ,EAAER;AADS,KAAR,CAAbR;WAIO;UACDmB,SAAS,CAAC1B,KAAD,CAAT0B,IAAoB1B,KAAK,KAAK,IAAI;UAClC2B,OAAO,CAAC3B,KAAD,CAAP2B,IAAkB3B,KAAK,CAAC4B,KAAN5B,CAAY,UAAC6B,IAAD;eAAUH,SAAS,CAACG,IAAD,CAATH,IAAmBG,IAAI,KAAK;AAAlD,OAAA7B,GAAuD;AAE7EQ,MAAAA,eAAe,CAACR,KAAD,CAAfQ;AAJF;AARO,GAAA,EAcN,CAACD,aAAD,EAAgBC,eAAhB,EAAiCR,KAAjC,EAAwCe,aAAxC,CAdM,CAATU;SAgBOnB,aAAa,CAACP,KAAD;;;"}