@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.
- package/lib/cjs/Form.js +26 -6
- package/lib/cjs/Form.js.map +1 -1
- package/lib/cjs/FormItem.js +29 -5
- package/lib/cjs/FormItem.js.map +1 -1
- package/lib/cjs/FormLabel.js +1 -1
- package/lib/cjs/FormLabel.js.map +1 -1
- package/lib/cjs/FormList.js +2 -2
- package/lib/cjs/FormList.js.map +1 -1
- package/lib/cjs/FormMessage.js +3 -3
- package/lib/cjs/FormMessage.js.map +1 -1
- package/lib/cjs/FormReset.js +76 -0
- package/lib/cjs/FormReset.js.map +1 -0
- package/lib/cjs/FormSubmit.js +87 -0
- package/lib/cjs/FormSubmit.js.map +1 -0
- package/lib/cjs/index.js +6 -0
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/styles/index.scss.js +1 -1
- package/lib/cjs/use-form-field.js +14 -32
- package/lib/cjs/use-form-field.js.map +1 -1
- package/lib/cjs/use-form.js +130 -57
- package/lib/cjs/use-form.js.map +1 -1
- package/lib/cjs/utils/index.js +26 -0
- package/lib/cjs/utils/index.js.map +1 -0
- package/lib/esm/Form.js +26 -6
- package/lib/esm/Form.js.map +1 -1
- package/lib/esm/FormItem.js +27 -5
- package/lib/esm/FormItem.js.map +1 -1
- package/lib/esm/FormLabel.js +1 -1
- package/lib/esm/FormLabel.js.map +1 -1
- package/lib/esm/FormList.js +2 -2
- package/lib/esm/FormList.js.map +1 -1
- package/lib/esm/FormMessage.js +3 -3
- package/lib/esm/FormMessage.js.map +1 -1
- package/lib/esm/FormReset.js +52 -0
- package/lib/esm/FormReset.js.map +1 -0
- package/lib/esm/FormSubmit.js +63 -0
- package/lib/esm/FormSubmit.js.map +1 -0
- package/lib/esm/index.js +2 -0
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/styles/index.scss.js +1 -1
- package/lib/esm/use-form-field.js +15 -33
- package/lib/esm/use-form-field.js.map +1 -1
- package/lib/esm/use-form.js +131 -59
- package/lib/esm/use-form.js.map +1 -1
- package/lib/esm/utils/index.js +19 -0
- package/lib/esm/utils/index.js.map +1 -0
- package/lib/types/FormReset.d.ts +2 -1
- package/lib/types/FormSubmit.d.ts +3 -2
- package/lib/types/context.d.ts +30 -16
- package/lib/types/index.d.ts +2 -0
- package/lib/types/types.d.ts +34 -12
- package/lib/types/use-form-field.d.ts +9 -5
- package/lib/types/use-form.d.ts +15 -8
- package/lib/types/utils/index.d.ts +3 -0
- package/package.json +11 -11
package/lib/esm/FormList.js.map
CHANGED
|
@@ -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","
|
|
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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"}
|
package/lib/esm/FormMessage.js
CHANGED
|
@@ -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
|
|
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)
|
|
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,
|
|
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
|
package/lib/esm/index.js.map
CHANGED
|
@@ -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--
|
|
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));
|
|
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
|
-
}
|
|
53
|
+
});
|
|
73
54
|
}, [fieldRules, field]); // 注入当前 field 及其验证规则到 Form
|
|
74
55
|
|
|
75
56
|
useEffect(function () {
|
|
76
|
-
if (field)
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
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
|
-
|
|
86
|
-
|
|
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","
|
|
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;;;"}
|