@hi-ui/form 4.1.2 → 4.1.4
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/CHANGELOG.md +35 -0
- package/lib/cjs/Form.js +26 -44
- package/lib/cjs/FormField.js +0 -16
- package/lib/cjs/FormItem.js +15 -37
- package/lib/cjs/FormLabel.js +44 -67
- package/lib/cjs/FormList.js +11 -37
- package/lib/cjs/FormMessage.js +10 -29
- package/lib/cjs/FormReset.js +11 -30
- package/lib/cjs/FormSubmit.js +13 -34
- package/lib/cjs/context.js +0 -6
- package/lib/cjs/index.js +0 -7
- package/lib/cjs/styles/index.scss.js +2 -5
- package/lib/cjs/use-form-field.js +16 -35
- package/lib/cjs/use-form.js +67 -153
- package/lib/cjs/utils/index.js +1 -8
- package/lib/esm/Form.js +24 -32
- package/lib/esm/FormField.js +0 -11
- package/lib/esm/FormItem.js +13 -22
- package/lib/esm/FormLabel.js +42 -54
- package/lib/esm/FormList.js +9 -26
- package/lib/esm/FormMessage.js +8 -18
- package/lib/esm/FormReset.js +8 -16
- package/lib/esm/FormSubmit.js +10 -20
- package/lib/esm/context.js +0 -4
- package/lib/esm/index.js +2 -6
- package/lib/esm/styles/index.scss.js +2 -4
- package/lib/esm/use-form-field.js +14 -24
- package/lib/esm/use-form.js +64 -136
- package/lib/esm/utils/index.js +1 -6
- package/lib/types/Form.d.ts +1 -1
- package/lib/types/FormField.d.ts +0 -3
- package/lib/types/FormItem.d.ts +0 -3
- package/lib/types/FormLabel.d.ts +0 -3
- package/lib/types/FormList.d.ts +0 -3
- package/lib/types/FormMessage.d.ts +0 -3
- package/lib/types/FormReset.d.ts +0 -3
- package/lib/types/FormSubmit.d.ts +0 -3
- package/package.json +13 -14
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,40 @@
|
|
|
1
1
|
# @hi-ui/form
|
|
2
2
|
|
|
3
|
+
## 4.1.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- fix: 修复 rollup3 打包 cjs 模块问题
|
|
8
|
+
- Updated dependencies
|
|
9
|
+
- @hi-ui/env@4.0.3
|
|
10
|
+
- @hi-ui/core@4.0.7
|
|
11
|
+
- @hi-ui/use-latest@4.0.3
|
|
12
|
+
- @hi-ui/button@4.0.8
|
|
13
|
+
- @hi-ui/array-utils@4.0.3
|
|
14
|
+
- @hi-ui/classname@4.0.3
|
|
15
|
+
- @hi-ui/dom-utils@4.0.6
|
|
16
|
+
- @hi-ui/func-utils@4.0.3
|
|
17
|
+
- @hi-ui/object-utils@4.0.3
|
|
18
|
+
- @hi-ui/type-assertion@4.0.3
|
|
19
|
+
|
|
20
|
+
## 4.1.3
|
|
21
|
+
|
|
22
|
+
### Patch Changes
|
|
23
|
+
|
|
24
|
+
- [#2672](https://github.com/XiaoMi/hiui/pull/2672) [`1ebe27830`](https://github.com/XiaoMi/hiui/commit/1ebe2783098b3a8cd980bd10076d67635463800e) Thanks [@zyprepare](https://github.com/zyprepare)! - build: 升级到 rollup3,重新构建发布组件
|
|
25
|
+
|
|
26
|
+
- Updated dependencies [[`1ebe27830`](https://github.com/XiaoMi/hiui/commit/1ebe2783098b3a8cd980bd10076d67635463800e)]:
|
|
27
|
+
- @hi-ui/core@4.0.6
|
|
28
|
+
- @hi-ui/use-latest@4.0.2
|
|
29
|
+
- @hi-ui/button@4.0.7
|
|
30
|
+
- @hi-ui/array-utils@4.0.2
|
|
31
|
+
- @hi-ui/classname@4.0.2
|
|
32
|
+
- @hi-ui/dom-utils@4.0.5
|
|
33
|
+
- @hi-ui/env@4.0.2
|
|
34
|
+
- @hi-ui/func-utils@4.0.2
|
|
35
|
+
- @hi-ui/object-utils@4.0.2
|
|
36
|
+
- @hi-ui/type-assertion@4.0.2
|
|
37
|
+
|
|
3
38
|
## 4.1.2
|
|
4
39
|
|
|
5
40
|
### Patch Changes
|
package/lib/cjs/Form.js
CHANGED
|
@@ -10,65 +10,51 @@
|
|
|
10
10
|
'use strict';
|
|
11
11
|
|
|
12
12
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
13
|
-
|
|
14
13
|
Object.defineProperty(exports, '__esModule', {
|
|
15
14
|
value: true
|
|
16
15
|
});
|
|
17
|
-
|
|
18
16
|
var tslib = require('tslib');
|
|
19
|
-
|
|
20
17
|
var React = require('react');
|
|
21
|
-
|
|
22
18
|
var classname = require('@hi-ui/classname');
|
|
23
|
-
|
|
24
19
|
var env = require('@hi-ui/env');
|
|
25
|
-
|
|
26
20
|
var context = require('./context.js');
|
|
27
|
-
|
|
28
21
|
var useForm = require('./use-form.js');
|
|
29
|
-
|
|
30
|
-
function _interopDefaultLegacy(e) {
|
|
22
|
+
function _interopDefaultCompat(e) {
|
|
31
23
|
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
32
24
|
'default': e
|
|
33
25
|
};
|
|
34
26
|
}
|
|
35
|
-
|
|
36
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
37
|
-
|
|
27
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
38
28
|
var _role = 'form';
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
29
|
+
var _prefix = classname.getPrefixCls(_role);
|
|
30
|
+
// form 注册表
|
|
43
31
|
var FORM_REGISTER_TABLE = {};
|
|
44
32
|
/**
|
|
45
|
-
*
|
|
33
|
+
* 表单
|
|
46
34
|
*/
|
|
47
|
-
|
|
48
35
|
var Form = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
49
36
|
var _a$prefixCls = _a.prefixCls,
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
37
|
+
prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
|
|
38
|
+
_a$role = _a.role,
|
|
39
|
+
role = _a$role === void 0 ? _role : _a$role,
|
|
40
|
+
className = _a.className,
|
|
41
|
+
children = _a.children,
|
|
42
|
+
innerRef = _a.innerRef,
|
|
43
|
+
labelWidth = _a.labelWidth,
|
|
44
|
+
_a$labelPlacement = _a.labelPlacement,
|
|
45
|
+
labelPlacement = _a$labelPlacement === void 0 ? 'right' : _a$labelPlacement,
|
|
46
|
+
_a$placement = _a.placement,
|
|
47
|
+
placement = _a$placement === void 0 ? 'vertical' : _a$placement,
|
|
48
|
+
_a$contentPosition = _a.contentPosition,
|
|
49
|
+
contentPosition = _a$contentPosition === void 0 ? 'center' : _a$contentPosition,
|
|
50
|
+
_a$showRequiredOnVali = _a.showRequiredOnValidateRequired,
|
|
51
|
+
showRequiredOnValidateRequired = _a$showRequiredOnVali === void 0 ? false : _a$showRequiredOnVali,
|
|
52
|
+
_a$showColon = _a.showColon,
|
|
53
|
+
showColon = _a$showColon === void 0 ? true : _a$showColon,
|
|
54
|
+
rest = tslib.__rest(_a, ["prefixCls", "role", "className", "children", "innerRef", "labelWidth", "labelPlacement", "placement", "contentPosition", "showRequiredOnValidateRequired", "showColon"]);
|
|
69
55
|
var formContext = useForm.useForm(rest);
|
|
70
|
-
var getRootProps = formContext.getRootProps;
|
|
71
|
-
|
|
56
|
+
var getRootProps = formContext.getRootProps;
|
|
57
|
+
// @ts-ignore
|
|
72
58
|
React.useImperativeHandle(innerRef, function () {
|
|
73
59
|
return {
|
|
74
60
|
validate: formContext.submitForm,
|
|
@@ -96,8 +82,7 @@ var Form = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
|
96
82
|
});
|
|
97
83
|
}, [labelWidth, formContext, labelPlacement, showColon, prefixCls, contentPosition, showRequiredOnValidateRequired]);
|
|
98
84
|
var cls = classname.cx(prefixCls, className, placement && prefixCls + "--placement-" + placement);
|
|
99
|
-
return (
|
|
100
|
-
/*#__PURE__*/
|
|
85
|
+
return /*#__PURE__*/(
|
|
101
86
|
// @ts-ignore
|
|
102
87
|
React__default["default"].createElement(context.FormProvider, {
|
|
103
88
|
value: providedValue
|
|
@@ -108,11 +93,9 @@ var Form = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
|
108
93
|
}, getRootProps()), children))
|
|
109
94
|
);
|
|
110
95
|
});
|
|
111
|
-
|
|
112
96
|
if (env.__DEV__) {
|
|
113
97
|
Form.displayName = 'Form';
|
|
114
98
|
}
|
|
115
|
-
|
|
116
99
|
var formExtends = function formExtends(model) {
|
|
117
100
|
// @ts-ignore
|
|
118
101
|
if (typeof model.name === 'string') {
|
|
@@ -122,7 +105,6 @@ var formExtends = function formExtends(model) {
|
|
|
122
105
|
env.invariant(false, 'The name should be unique string and not empty.');
|
|
123
106
|
}
|
|
124
107
|
};
|
|
125
|
-
|
|
126
108
|
Object.assign(Form, {
|
|
127
109
|
"extends": formExtends
|
|
128
110
|
});
|
package/lib/cjs/FormField.js
CHANGED
|
@@ -12,42 +12,26 @@
|
|
|
12
12
|
Object.defineProperty(exports, '__esModule', {
|
|
13
13
|
value: true
|
|
14
14
|
});
|
|
15
|
-
|
|
16
15
|
var React = require('react');
|
|
17
|
-
|
|
18
16
|
var env = require('@hi-ui/env');
|
|
19
|
-
|
|
20
17
|
var useFormField = require('./use-form-field.js');
|
|
21
|
-
|
|
22
18
|
var typeAssertion = require('@hi-ui/type-assertion');
|
|
23
|
-
/**
|
|
24
|
-
* TODO: What is FormField
|
|
25
|
-
*/
|
|
26
|
-
|
|
27
|
-
|
|
28
19
|
var FormField = function FormField(props) {
|
|
29
20
|
var _a;
|
|
30
|
-
|
|
31
21
|
var fieldProps = useFormField.useFormField(props);
|
|
32
|
-
|
|
33
22
|
if (typeAssertion.isFunction(props.render)) {
|
|
34
23
|
return props.render(fieldProps);
|
|
35
24
|
}
|
|
36
|
-
|
|
37
25
|
if (typeAssertion.isFunction(props.children)) {
|
|
38
26
|
return props.children(fieldProps);
|
|
39
27
|
}
|
|
40
|
-
|
|
41
28
|
if (! /*#__PURE__*/React.isValidElement(props.children)) {
|
|
42
29
|
console.warn('FormField must pass a valid element as children.');
|
|
43
30
|
return (_a = props.children) !== null && _a !== void 0 ? _a : null;
|
|
44
31
|
}
|
|
45
|
-
|
|
46
32
|
return /*#__PURE__*/React.cloneElement(props.children, Object.assign({}, fieldProps));
|
|
47
33
|
};
|
|
48
|
-
|
|
49
34
|
if (env.__DEV__) {
|
|
50
35
|
FormField.displayName = 'FormField';
|
|
51
36
|
}
|
|
52
|
-
|
|
53
37
|
exports.FormField = FormField;
|
package/lib/cjs/FormItem.js
CHANGED
|
@@ -10,59 +10,40 @@
|
|
|
10
10
|
'use strict';
|
|
11
11
|
|
|
12
12
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
13
|
-
|
|
14
13
|
Object.defineProperty(exports, '__esModule', {
|
|
15
14
|
value: true
|
|
16
15
|
});
|
|
17
|
-
|
|
18
16
|
var tslib = require('tslib');
|
|
19
|
-
|
|
20
17
|
var React = require('react');
|
|
21
|
-
|
|
22
18
|
var env = require('@hi-ui/env');
|
|
23
|
-
|
|
24
19
|
var useFormField = require('./use-form-field.js');
|
|
25
|
-
|
|
26
20
|
var FormLabel = require('./FormLabel.js');
|
|
27
|
-
|
|
28
21
|
var FormMessage = require('./FormMessage.js');
|
|
29
|
-
|
|
30
22
|
var FormField = require('./FormField.js');
|
|
31
|
-
|
|
32
23
|
var context = require('./context.js');
|
|
33
|
-
|
|
34
24
|
var classname = require('@hi-ui/classname');
|
|
35
|
-
|
|
36
|
-
function _interopDefaultLegacy(e) {
|
|
25
|
+
function _interopDefaultCompat(e) {
|
|
37
26
|
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
38
27
|
'default': e
|
|
39
28
|
};
|
|
40
29
|
}
|
|
41
|
-
|
|
42
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
43
|
-
/**
|
|
44
|
-
* TODO: What is FormItem
|
|
45
|
-
*/
|
|
46
|
-
|
|
47
|
-
|
|
30
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
48
31
|
var FormItem = function FormItem(_a) {
|
|
49
32
|
var className = _a.className,
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
33
|
+
children = _a.children,
|
|
34
|
+
field = _a.field,
|
|
35
|
+
valueType = _a.valueType,
|
|
36
|
+
rules = _a.rules,
|
|
37
|
+
valuePropName = _a.valuePropName,
|
|
38
|
+
valueChangeFuncPropName = _a.valueChangeFuncPropName,
|
|
39
|
+
valueDispatchTransform = _a.valueDispatchTransform,
|
|
40
|
+
valueConnectTransform = _a.valueConnectTransform,
|
|
41
|
+
validateTrigger = _a.validateTrigger,
|
|
42
|
+
render = _a.render,
|
|
43
|
+
rest = tslib.__rest(_a, ["className", "children", "field", "valueType", "rules", "valuePropName", "valueChangeFuncPropName", "valueDispatchTransform", "valueConnectTransform", "validateTrigger", "render"]);
|
|
62
44
|
var _useFormContext = context.useFormContext(),
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
45
|
+
prefixCls = _useFormContext.prefixCls,
|
|
46
|
+
showRequiredOnValidateRequired = _useFormContext.showRequiredOnValidateRequired;
|
|
66
47
|
var fieldRules = useFormField.useFiledRules({
|
|
67
48
|
field: field,
|
|
68
49
|
rules: rules,
|
|
@@ -75,7 +56,6 @@ var FormItem = function FormItem(_a) {
|
|
|
75
56
|
return item.required;
|
|
76
57
|
});
|
|
77
58
|
}
|
|
78
|
-
|
|
79
59
|
return required;
|
|
80
60
|
}, [required, showRequiredOnValidateRequired, fieldRules]);
|
|
81
61
|
return /*#__PURE__*/React__default["default"].createElement(FormLabel.FormLabel, Object.assign({}, rest, {
|
|
@@ -98,9 +78,7 @@ var FormItem = function FormItem(_a) {
|
|
|
98
78
|
render: render
|
|
99
79
|
}, children));
|
|
100
80
|
};
|
|
101
|
-
|
|
102
81
|
if (env.__DEV__) {
|
|
103
82
|
FormItem.displayName = 'FormItem';
|
|
104
83
|
}
|
|
105
|
-
|
|
106
84
|
exports.FormItem = FormItem;
|
package/lib/cjs/FormLabel.js
CHANGED
|
@@ -10,102 +10,81 @@
|
|
|
10
10
|
'use strict';
|
|
11
11
|
|
|
12
12
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
13
|
-
|
|
14
13
|
Object.defineProperty(exports, '__esModule', {
|
|
15
14
|
value: true
|
|
16
15
|
});
|
|
17
|
-
|
|
18
16
|
var tslib = require('tslib');
|
|
19
|
-
|
|
20
17
|
var React = require('react');
|
|
21
|
-
|
|
22
18
|
var classname = require('@hi-ui/classname');
|
|
23
|
-
|
|
24
19
|
var env = require('@hi-ui/env');
|
|
25
|
-
|
|
26
20
|
var context = require('./context.js');
|
|
27
|
-
|
|
28
21
|
var typeAssertion = require('@hi-ui/type-assertion');
|
|
29
|
-
|
|
30
22
|
var core = require('@hi-ui/core');
|
|
31
|
-
|
|
32
|
-
function _interopDefaultLegacy(e) {
|
|
23
|
+
function _interopDefaultCompat(e) {
|
|
33
24
|
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
34
25
|
'default': e
|
|
35
26
|
};
|
|
36
27
|
}
|
|
37
|
-
|
|
38
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
39
|
-
|
|
28
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
40
29
|
var _role = 'form-label';
|
|
41
|
-
|
|
42
30
|
var _prefix = classname.getPrefixCls(_role);
|
|
43
|
-
/**
|
|
44
|
-
* TODO: What is FormLabel
|
|
45
|
-
*/
|
|
46
|
-
|
|
47
|
-
|
|
48
31
|
var FormLabel = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
49
32
|
var i18n = core.useLocaleContext();
|
|
50
|
-
|
|
51
33
|
var _useFormContext = context.useFormContext(),
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
34
|
+
labelWidthContext = _useFormContext.labelWidth,
|
|
35
|
+
labelPlacementContext = _useFormContext.labelPlacement,
|
|
36
|
+
showColonContext = _useFormContext.showColon,
|
|
37
|
+
contentPositionContext = _useFormContext.contentPosition;
|
|
57
38
|
var _props$prefixCls = props.prefixCls,
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
39
|
+
prefixCls = _props$prefixCls === void 0 ? _prefix : _props$prefixCls,
|
|
40
|
+
_props$role = props.role,
|
|
41
|
+
role = _props$role === void 0 ? _role : _props$role,
|
|
42
|
+
className = props.className,
|
|
43
|
+
styleProp = props.style,
|
|
44
|
+
children = props.children,
|
|
45
|
+
label = props.label,
|
|
46
|
+
_props$required = props.required,
|
|
47
|
+
required = _props$required === void 0 ? false : _props$required,
|
|
48
|
+
_props$labelWidth = props.labelWidth,
|
|
49
|
+
labelWidthProp = _props$labelWidth === void 0 ? labelWidthContext : _props$labelWidth,
|
|
50
|
+
_props$showColon = props.showColon,
|
|
51
|
+
showColon = _props$showColon === void 0 ? showColonContext : _props$showColon,
|
|
52
|
+
_props$contentPositio = props.contentPosition,
|
|
53
|
+
contentPosition = _props$contentPositio === void 0 ? contentPositionContext : _props$contentPositio,
|
|
54
|
+
_props$labelPlacement = props.labelPlacement,
|
|
55
|
+
labelPlacement = _props$labelPlacement === void 0 ? labelPlacementContext : _props$labelPlacement,
|
|
56
|
+
formMessage = props.formMessage,
|
|
57
|
+
rest = tslib.__rest(props, ["prefixCls", "role", "className", "style", "children", "label", "required", "labelWidth", "showColon", "contentPosition", "labelPlacement", "formMessage"]);
|
|
78
58
|
var _useMemo = React.useMemo(function () {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
59
|
+
if (labelPlacement === 'top') return {
|
|
60
|
+
labelWidth: '100%',
|
|
61
|
+
controlWidth: '100%'
|
|
62
|
+
};
|
|
63
|
+
var labelWidth = typeAssertion.isNumeric(labelWidthProp) ? Number(labelWidthProp) : labelWidthProp;
|
|
64
|
+
return {
|
|
65
|
+
labelWidth: labelWidth,
|
|
66
|
+
controlWidth: "calc(100% - " + labelWidth + "px)"
|
|
67
|
+
};
|
|
68
|
+
}, [labelPlacement, labelWidthProp]),
|
|
69
|
+
labelWidth = _useMemo.labelWidth,
|
|
70
|
+
controlWidth = _useMemo.controlWidth;
|
|
71
|
+
// 指定子元素位置
|
|
93
72
|
var contentPositionMemo = React.useMemo(function () {
|
|
94
73
|
switch (contentPosition) {
|
|
95
74
|
case 'top':
|
|
96
75
|
return 'flex-start';
|
|
97
|
-
|
|
98
76
|
case 'bottom':
|
|
99
77
|
return 'flex-end';
|
|
100
|
-
|
|
101
78
|
default:
|
|
102
79
|
return 'center';
|
|
103
80
|
}
|
|
104
81
|
}, [contentPosition]);
|
|
105
82
|
var colon = showColon ? i18n.get('form.colon') : null;
|
|
106
|
-
var cls = classname.cx(prefixCls, className, required && prefixCls + "--required", labelPlacement && prefixCls + "--placement-" + labelPlacement
|
|
83
|
+
var cls = classname.cx(prefixCls, className, required && prefixCls + "--required", labelPlacement && prefixCls + "--placement-" + labelPlacement
|
|
84
|
+
// error && `${prefixCls}--error`,
|
|
107
85
|
// validating && `${prefixCls}--validating`
|
|
108
86
|
);
|
|
87
|
+
|
|
109
88
|
var style = Object.assign({}, styleProp);
|
|
110
89
|
return /*#__PURE__*/React__default["default"].createElement("div", Object.assign({
|
|
111
90
|
ref: ref,
|
|
@@ -117,17 +96,17 @@ var FormLabel = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
117
96
|
style: {
|
|
118
97
|
alignItems: contentPositionMemo
|
|
119
98
|
}
|
|
120
|
-
}, label ? /*#__PURE__*/React__default["default"].createElement("label", {
|
|
99
|
+
}, label ? ( /*#__PURE__*/React__default["default"].createElement("label", {
|
|
121
100
|
className: prefixCls + "__content__text",
|
|
122
101
|
style: {
|
|
123
102
|
width: labelWidth
|
|
124
103
|
}
|
|
125
|
-
}, label, colon) : /*#__PURE__*/React__default["default"].createElement("span", {
|
|
104
|
+
}, label, colon)) : ( /*#__PURE__*/React__default["default"].createElement("span", {
|
|
126
105
|
className: prefixCls + "__content__indent",
|
|
127
106
|
style: {
|
|
128
107
|
width: labelWidth
|
|
129
108
|
}
|
|
130
|
-
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
109
|
+
})), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
131
110
|
className: prefixCls + "__content__control",
|
|
132
111
|
style: {
|
|
133
112
|
width: controlWidth
|
|
@@ -138,9 +117,7 @@ var FormLabel = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
138
117
|
}
|
|
139
118
|
}, formMessage));
|
|
140
119
|
});
|
|
141
|
-
|
|
142
120
|
if (env.__DEV__) {
|
|
143
121
|
FormLabel.displayName = 'FormLabel';
|
|
144
122
|
}
|
|
145
|
-
|
|
146
123
|
exports.FormLabel = FormLabel;
|
package/lib/cjs/FormList.js
CHANGED
|
@@ -10,51 +10,35 @@
|
|
|
10
10
|
'use strict';
|
|
11
11
|
|
|
12
12
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
13
|
-
|
|
14
13
|
Object.defineProperty(exports, '__esModule', {
|
|
15
14
|
value: true
|
|
16
15
|
});
|
|
17
|
-
|
|
18
16
|
var React = require('react');
|
|
19
|
-
|
|
20
17
|
var env = require('@hi-ui/env');
|
|
21
|
-
|
|
22
18
|
var context = require('./context.js');
|
|
23
|
-
|
|
24
19
|
var objectUtils = require('@hi-ui/object-utils');
|
|
25
|
-
|
|
26
20
|
var typeAssertion = require('@hi-ui/type-assertion');
|
|
27
|
-
|
|
28
|
-
function _interopDefaultLegacy(e) {
|
|
21
|
+
function _interopDefaultCompat(e) {
|
|
29
22
|
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
30
23
|
'default': e
|
|
31
24
|
};
|
|
32
25
|
}
|
|
33
|
-
|
|
34
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
35
|
-
|
|
26
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
36
27
|
var fieldListSymbol = Symbol('field-list');
|
|
37
|
-
/**
|
|
38
|
-
* TODO: What is FormList
|
|
39
|
-
*/
|
|
40
|
-
|
|
41
28
|
var FormList = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
42
29
|
var children = _ref.children,
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
30
|
+
nameProp = _ref.name,
|
|
31
|
+
innerRef = _ref.innerRef;
|
|
46
32
|
var _useFormContext = context.useFormContext(),
|
|
47
|
-
|
|
48
|
-
|
|
33
|
+
values = _useFormContext.values,
|
|
34
|
+
setFormState = _useFormContext.setFormState;
|
|
35
|
+
// 唯一 id 生成器
|
|
49
36
|
// const listCountRef = React.useRef(0)
|
|
50
37
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
51
|
-
|
|
52
|
-
|
|
53
38
|
var name = typeAssertion.isArray(nameProp) ? nameProp : [nameProp];
|
|
54
39
|
/**
|
|
55
40
|
* form List 动态字段更新器
|
|
56
41
|
*/
|
|
57
|
-
|
|
58
42
|
var updateFormList = React__default["default"].useCallback(function (stateFunc, alterTouched, alterErrors) {
|
|
59
43
|
setFormState(function (prev) {
|
|
60
44
|
var values = objectUtils.setNested(prev.values, name, stateFunc(objectUtils.getNested(prev.values, name)));
|
|
@@ -62,15 +46,12 @@ var FormList = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
62
46
|
var updateTouched = typeof alterTouched === 'function' ? alterTouched : stateFunc;
|
|
63
47
|
var fieldError = alterErrors ? updateErrors(objectUtils.getNested(prev.errors, name)) : undefined;
|
|
64
48
|
var fieldTouched = alterTouched ? updateTouched(objectUtils.getNested(prev.touched, name)) : undefined;
|
|
65
|
-
|
|
66
49
|
if (!typeAssertion.isArrayNonEmpty(fieldError)) {
|
|
67
50
|
fieldError = undefined;
|
|
68
51
|
}
|
|
69
|
-
|
|
70
52
|
if (!typeAssertion.isArrayNonEmpty(fieldTouched)) {
|
|
71
53
|
fieldTouched = undefined;
|
|
72
54
|
}
|
|
73
|
-
|
|
74
55
|
return {
|
|
75
56
|
values: values,
|
|
76
57
|
errors: alterErrors ? objectUtils.setNested(prev.errors, name, fieldError) : prev.errors,
|
|
@@ -119,8 +100,8 @@ var FormList = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
119
100
|
}, true, true);
|
|
120
101
|
}, [updateFormList]);
|
|
121
102
|
var listFields = React__default["default"].useMemo(function () {
|
|
122
|
-
var list = objectUtils.getNested(values, name) || [];
|
|
123
|
-
|
|
103
|
+
var list = objectUtils.getNested(values, name) || [];
|
|
104
|
+
// @ts-ignore
|
|
124
105
|
return list.map(function (value, index) {
|
|
125
106
|
return {
|
|
126
107
|
name: '' + index,
|
|
@@ -129,8 +110,8 @@ var FormList = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
129
110
|
value: value
|
|
130
111
|
};
|
|
131
112
|
});
|
|
132
|
-
}, [values, name]);
|
|
133
|
-
|
|
113
|
+
}, [values, name]);
|
|
114
|
+
// @ts-ignore
|
|
134
115
|
React.useImperativeHandle(innerRef, function () {
|
|
135
116
|
return {
|
|
136
117
|
add: add,
|
|
@@ -140,15 +121,12 @@ var FormList = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
140
121
|
move: move
|
|
141
122
|
};
|
|
142
123
|
});
|
|
143
|
-
|
|
144
124
|
if (typeof children !== 'function') {
|
|
145
125
|
if (env.__DEV__) {
|
|
146
126
|
console.warn(false, 'FormList only accepts a render function as children.');
|
|
147
127
|
}
|
|
148
|
-
|
|
149
128
|
return null;
|
|
150
129
|
}
|
|
151
|
-
|
|
152
130
|
return children(listFields, {
|
|
153
131
|
add: add,
|
|
154
132
|
remove: remove,
|
|
@@ -157,19 +135,15 @@ var FormList = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
157
135
|
move: move
|
|
158
136
|
});
|
|
159
137
|
});
|
|
160
|
-
|
|
161
138
|
if (env.__DEV__) {
|
|
162
139
|
FormList.displayName = 'FormList';
|
|
163
140
|
}
|
|
164
|
-
|
|
165
141
|
var insert = function insert(arr, index, value) {
|
|
166
142
|
arr = [].concat(arr);
|
|
167
143
|
arr.splice(index, 0, value);
|
|
168
144
|
return arr;
|
|
169
145
|
};
|
|
170
|
-
|
|
171
146
|
var asArray = function asArray(arr) {
|
|
172
147
|
return typeAssertion.isArray(arr) ? arr : [];
|
|
173
148
|
};
|
|
174
|
-
|
|
175
149
|
exports.FormList = FormList;
|
package/lib/cjs/FormMessage.js
CHANGED
|
@@ -10,51 +10,34 @@
|
|
|
10
10
|
'use strict';
|
|
11
11
|
|
|
12
12
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
13
|
-
|
|
14
13
|
Object.defineProperty(exports, '__esModule', {
|
|
15
14
|
value: true
|
|
16
15
|
});
|
|
17
|
-
|
|
18
16
|
var tslib = require('tslib');
|
|
19
|
-
|
|
20
17
|
var React = require('react');
|
|
21
|
-
|
|
22
18
|
var classname = require('@hi-ui/classname');
|
|
23
|
-
|
|
24
19
|
var env = require('@hi-ui/env');
|
|
25
|
-
|
|
26
20
|
var context = require('./context.js');
|
|
27
|
-
|
|
28
|
-
function _interopDefaultLegacy(e) {
|
|
21
|
+
function _interopDefaultCompat(e) {
|
|
29
22
|
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
30
23
|
'default': e
|
|
31
24
|
};
|
|
32
25
|
}
|
|
33
|
-
|
|
34
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
35
|
-
|
|
26
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
36
27
|
var _role = 'form-message';
|
|
37
|
-
|
|
38
28
|
var _prefix = classname.getPrefixCls(_role);
|
|
39
|
-
/**
|
|
40
|
-
* TODO: What is FormMessage
|
|
41
|
-
*/
|
|
42
|
-
|
|
43
|
-
|
|
44
29
|
var FormMessage = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
45
30
|
var _a$prefixCls = _a.prefixCls,
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
31
|
+
prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
|
|
32
|
+
_a$role = _a.role,
|
|
33
|
+
role = _a$role === void 0 ? _role : _a$role,
|
|
34
|
+
className = _a.className,
|
|
35
|
+
field = _a.field,
|
|
36
|
+
rest = tslib.__rest(_a, ["prefixCls", "role", "className", "children", "field"]);
|
|
53
37
|
var _useFormContext = context.useFormContext(),
|
|
54
|
-
|
|
38
|
+
getFieldError = _useFormContext.getFieldError;
|
|
39
|
+
// field 支持数组,递归去设置或者获取对象中的属性值
|
|
55
40
|
// 如何变成映射的 key,特殊处理化
|
|
56
|
-
|
|
57
|
-
|
|
58
41
|
var message = field ? getFieldError(field) : null;
|
|
59
42
|
var cls = classname.cx(prefixCls, className, message && prefixCls + "--show");
|
|
60
43
|
return /*#__PURE__*/React__default["default"].createElement("span", Object.assign({
|
|
@@ -63,9 +46,7 @@ var FormMessage = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
|
63
46
|
className: cls
|
|
64
47
|
}, rest), message);
|
|
65
48
|
});
|
|
66
|
-
|
|
67
49
|
if (env.__DEV__) {
|
|
68
50
|
FormMessage.displayName = 'FormMessage';
|
|
69
51
|
}
|
|
70
|
-
|
|
71
52
|
exports.FormMessage = FormMessage;
|