@hi-ui/form 4.0.0-alpha.1 → 4.0.0-alpha.10
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/README.md +174 -7
- package/lib/cjs/Form.js +27 -9
- 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 +19 -35
- package/lib/cjs/use-form-field.js.map +1 -1
- package/lib/cjs/use-form.js +135 -58
- 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 +28 -10
- 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 +19 -36
- package/lib/esm/use-form-field.js.map +1 -1
- package/lib/esm/use-form.js +136 -60
- 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 +32 -18
- package/lib/types/index.d.ts +2 -0
- package/lib/types/types.d.ts +34 -12
- package/lib/types/use-form-field.d.ts +10 -6
- package/lib/types/use-form.d.ts +16 -9
- package/lib/types/utils/index.d.ts +3 -0
- package/package.json +13 -13
package/lib/esm/Form.js
CHANGED
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
* LICENSE file in the root directory of this source tree.
|
|
9
9
|
*/
|
|
10
10
|
import { __rest } from 'tslib';
|
|
11
|
-
import React, { forwardRef, useMemo } from 'react';
|
|
11
|
+
import React, { forwardRef, useImperativeHandle, useMemo } from 'react';
|
|
12
12
|
import { getPrefixCls, cx } from '@hi-ui/classname';
|
|
13
|
-
import { __DEV__ } from '@hi-ui/env';
|
|
13
|
+
import { __DEV__, invariant } from '@hi-ui/env';
|
|
14
14
|
import { FormProvider } from './context.js';
|
|
15
15
|
import { useForm } from './use-form.js';
|
|
16
16
|
var _role = 'form';
|
|
@@ -30,23 +30,43 @@ var Form = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
|
30
30
|
role = _a$role === void 0 ? _role : _a$role,
|
|
31
31
|
className = _a.className,
|
|
32
32
|
children = _a.children,
|
|
33
|
+
innerRef = _a.innerRef,
|
|
33
34
|
labelWidth = _a.labelWidth,
|
|
34
35
|
_a$labelPlacement = _a.labelPlacement,
|
|
35
36
|
labelPlacement = _a$labelPlacement === void 0 ? 'right' : _a$labelPlacement,
|
|
37
|
+
_a$placement = _a.placement,
|
|
38
|
+
placement = _a$placement === void 0 ? 'vertical' : _a$placement,
|
|
36
39
|
colon = _a.colon,
|
|
37
40
|
rest = __rest(_a, ["prefixCls", "role", "className", "children", "innerRef", "labelWidth", "labelPlacement", "placement", "verticalAlign", "colon"]);
|
|
38
41
|
|
|
39
42
|
var formContext = useForm(rest);
|
|
40
|
-
var getRootProps = formContext.getRootProps; //
|
|
43
|
+
var getRootProps = formContext.getRootProps; // @ts-ignore
|
|
41
44
|
|
|
45
|
+
useImperativeHandle(innerRef, function () {
|
|
46
|
+
return {
|
|
47
|
+
validate: formContext.submitForm,
|
|
48
|
+
reset: formContext.resetForm,
|
|
49
|
+
validateField: formContext.validateFieldState,
|
|
50
|
+
// validateFields: formContext.va,
|
|
51
|
+
setFieldValue: formContext.setFieldValue,
|
|
52
|
+
setFieldsValue: formContext.setFieldsValue,
|
|
53
|
+
getFieldValue: formContext.getFieldValue,
|
|
54
|
+
getFieldsValue: formContext.getFieldsValue,
|
|
55
|
+
getFieldError: formContext.getFieldError,
|
|
56
|
+
getFieldsError: formContext.getFieldsError,
|
|
57
|
+
clearValidates: formContext.resetErrors
|
|
58
|
+
};
|
|
59
|
+
});
|
|
42
60
|
var providedValue = useMemo(function () {
|
|
43
|
-
return Object.assign({
|
|
61
|
+
return Object.assign(Object.assign({
|
|
44
62
|
labelWidth: labelWidth,
|
|
45
63
|
labelPlacement: labelPlacement,
|
|
46
64
|
colon: colon
|
|
47
|
-
}, formContext)
|
|
48
|
-
|
|
49
|
-
|
|
65
|
+
}, formContext), {
|
|
66
|
+
prefixCls: prefixCls
|
|
67
|
+
});
|
|
68
|
+
}, [labelWidth, formContext, labelPlacement, colon, prefixCls]);
|
|
69
|
+
var cls = cx(prefixCls, className, placement && prefixCls + "--placement-" + placement);
|
|
50
70
|
return (
|
|
51
71
|
/*#__PURE__*/
|
|
52
72
|
// @ts-ignore
|
|
@@ -70,9 +90,7 @@ var formExtends = function formExtends(model) {
|
|
|
70
90
|
// @ts-ignore
|
|
71
91
|
FORM_REGISTER_TABLE[model.name] = model;
|
|
72
92
|
} else {
|
|
73
|
-
|
|
74
|
-
console.log('WARNING: the name should be unique string and not empty.');
|
|
75
|
-
}
|
|
93
|
+
invariant(true, 'The name should be unique string and not empty.');
|
|
76
94
|
}
|
|
77
95
|
};
|
|
78
96
|
|
package/lib/esm/Form.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Form.js","sources":["../../src/Form.tsx"],"sourcesContent":[null],"names":["_role","_prefix","getPrefixCls","FORM_REGISTER_TABLE","Form","forwardRef","_a","ref","prefixCls","role","className","children","labelWidth","labelPlacement","colon","rest","formContext","useForm","getRootProps","providedValue","useMemo","cls","cx","React","FormProvider","value","__DEV__","displayName","formExtends","model","name","
|
|
1
|
+
{"version":3,"file":"Form.js","sources":["../../src/Form.tsx"],"sourcesContent":[null],"names":["_role","_prefix","getPrefixCls","FORM_REGISTER_TABLE","Form","forwardRef","_a","ref","prefixCls","role","className","children","innerRef","labelWidth","labelPlacement","placement","colon","rest","formContext","useForm","getRootProps","useImperativeHandle","validate","submitForm","reset","resetForm","validateField","validateFieldState","setFieldValue","setFieldsValue","getFieldValue","getFieldsValue","getFieldError","getFieldsError","clearValidates","resetErrors","providedValue","useMemo","cls","cx","React","FormProvider","value","__DEV__","displayName","formExtends","model","name","invariant","Object","assign","extends"],"mappings":";;;;;;;;;;;;;;;AAQA,IAAMA,KAAK,GAAG,MAAd;;AACA,IAAMC,OAAO,GAAGC,YAAY,CAACF,KAAD,CAA5B;;;IAGaG,mBAAmB,GAAkC;AAElE;;;;IAGaC,IAAI,gBAAGC,UAAU,CAC5B,UACEC,EADF,EAcEC,GAdF;wBAEIC;MAAAA,sCAAYP;mBACZQ;MAAAA,4BAAOT;MACPU,eAAAA;MACAC,cAAAA;MACAC,cAAAA;MACAC,gBAAAA;6BACAC;MAAAA,gDAAiB;wBACjBC;MAAAA,sCAAY;MAEZC,WAAAA;MACGC,kBAXL,YAAA,QAAA,aAAA,YAAA,YAAA,cAAA,kBAAA,aAAA,iBAAA,SAAA;;MAeMC,WAAW,GAAGC,OAAO,CAACF,IAAD;MAEnBG,YAAR,GAAyBF,WAAzB,CAAQE;;AAGRC,EAAAA,mBAAmB,CAACT,QAAD,EAAW;WACrB;AACLU,MAAAA,QAAQ,EAAEJ,WAAW,CAACK,UADjB;AAELC,MAAAA,KAAK,EAAEN,WAAW,CAACO,SAFd;AAGLC,MAAAA,aAAa,EAAER,WAAW,CAACS,kBAHtB;;AAKLC,MAAAA,aAAa,EAAEV,WAAW,CAACU,aALtB;AAMLC,MAAAA,cAAc,EAAEX,WAAW,CAACW,cANvB;AAOLC,MAAAA,aAAa,EAAEZ,WAAW,CAACY,aAPtB;AAQLC,MAAAA,cAAc,EAAEb,WAAW,CAACa,cARvB;AASLC,MAAAA,aAAa,EAAEd,WAAW,CAACc,aATtB;AAULC,MAAAA,cAAc,EAAEf,WAAW,CAACe,cAVvB;AAWLC,MAAAA,cAAc,EAAEhB,WAAW,CAACiB;AAXvB;AADU,GAAA,CAAnBd;MAgBMe,aAAa,GAAGC,OAAO,CAAC;;AAE1BxB,MAAAA,UAAU,EAAVA;AACAC,MAAAA,cAAc,EAAdA;AACAE,MAAAA,KAAK,EAALA;OACGE;AACHV,MAAAA,SAAS,EAATA;;AANyB,GAAA,EAQ1B,CAACK,UAAD,EAAaK,WAAb,EAA0BJ,cAA1B,EAA0CE,KAA1C,EAAiDR,SAAjD,CAR0B;MAUvB8B,GAAG,GAAGC,EAAE,CAAC/B,SAAD,EAAYE,SAAZ,EAAuBK,SAAS,IAAOP,SAAP,iBAAOA,GAAwBO,SAA/D;;;;AAIZyB,IAAAA,mBAAAA,CAACC,YAADD;AAAcE,MAAAA,KAAK,EAAEN;KAArBI,eACEA,mBAAAA,OAAAA;AAAMjC,MAAAA,GAAG,EAAEA;AAAKE,MAAAA,IAAI,EAAEA;AAAMC,MAAAA,SAAS,EAAE4B;OAASlB,YAAY,GAA5DoB,EACG7B,QADH6B,CADFA;;AApDwB,CAAA;;AA0F9B,IAAIG,OAAJ,EAAa;AACXvC,EAAAA,IAAI,CAACwC,WAALxC,GAAmB,MAAnBA;;;AAGF,IAAMyC,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD;;MAEd,OAAOA,KAAK,CAACC,IAAb,KAAsB,UAAU;;AAElC5C,IAAAA,mBAAmB,CAAC2C,KAAK,CAACC,IAAP,CAAnB5C,GAAkC2C,KAAlC3C;AAFF,SAGO;AACL6C,IAAAA,SAAS,CAAC,IAAD,EAAO,iDAAP,CAATA;;AANJ,CAAA;;AAUAC,MAAM,CAACC,MAAPD,CAAc7C,IAAd6C,EAAoB;AAAEE,aAASN;AAAX,CAApBI;"}
|
package/lib/esm/FormItem.js
CHANGED
|
@@ -13,21 +13,43 @@ import { __DEV__ } from '@hi-ui/env';
|
|
|
13
13
|
import { FormLabel } from './FormLabel.js';
|
|
14
14
|
import { FormMessage } from './FormMessage.js';
|
|
15
15
|
import { FormField } from './FormField.js';
|
|
16
|
+
import { useFormContext } from './context.js';
|
|
17
|
+
import { cx } from '@hi-ui/classname';
|
|
16
18
|
/**
|
|
17
19
|
* TODO: What is FormItem
|
|
18
20
|
*/
|
|
19
21
|
|
|
20
22
|
var FormItem = function FormItem(_a) {
|
|
21
|
-
var
|
|
23
|
+
var className = _a.className,
|
|
22
24
|
children = _a.children,
|
|
25
|
+
field = _a.field,
|
|
23
26
|
valueType = _a.valueType,
|
|
24
|
-
|
|
27
|
+
rules = _a.rules,
|
|
28
|
+
valuePropName = _a.valuePropName,
|
|
29
|
+
valueCollectPropName = _a.valueCollectPropName,
|
|
30
|
+
valueCollectPipe = _a.valueCollectPipe,
|
|
31
|
+
valueSyncPipe = _a.valueSyncPipe,
|
|
32
|
+
validateTrigger = _a.validateTrigger,
|
|
33
|
+
rest = __rest(_a, ["className", "children", "field", "valueType", "rules", "valuePropName", "valueCollectPropName", "valueCollectPipe", "valueSyncPipe", "validateTrigger"]); // @ts-ignore
|
|
25
34
|
|
|
26
|
-
|
|
35
|
+
|
|
36
|
+
var _useFormContext = useFormContext(),
|
|
37
|
+
prefixCls = _useFormContext.prefixCls;
|
|
38
|
+
|
|
39
|
+
return /*#__PURE__*/React.createElement(FormLabel, Object.assign({}, rest, {
|
|
40
|
+
className: cx(prefixCls + "-item", className)
|
|
41
|
+
}), /*#__PURE__*/React.createElement(FormField, {
|
|
27
42
|
field: field,
|
|
28
|
-
valueType: valueType
|
|
43
|
+
valueType: valueType,
|
|
44
|
+
rules: rules,
|
|
45
|
+
valuePropName: valuePropName,
|
|
46
|
+
valueCollectPropName: valueCollectPropName,
|
|
47
|
+
valueCollectPipe: valueCollectPipe,
|
|
48
|
+
valueSyncPipe: valueSyncPipe,
|
|
49
|
+
validateTrigger: validateTrigger
|
|
29
50
|
}, children), /*#__PURE__*/React.createElement(FormMessage, {
|
|
30
|
-
field: field
|
|
51
|
+
field: field,
|
|
52
|
+
className: prefixCls + "-item__message"
|
|
31
53
|
}));
|
|
32
54
|
};
|
|
33
55
|
|
package/lib/esm/FormItem.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormItem.js","sources":["../../src/FormItem.tsx"],"sourcesContent":[null],"names":["FormItem","_a","
|
|
1
|
+
{"version":3,"file":"FormItem.js","sources":["../../src/FormItem.tsx"],"sourcesContent":[null],"names":["FormItem","_a","className","children","field","valueType","rules","valuePropName","valueCollectPropName","valueCollectPipe","valueSyncPipe","validateTrigger","rest","useFormContext","prefixCls","React","FormLabel","cx","FormField","FormMessage","__DEV__","displayName"],"mappings":";;;;;;;;;;;;;;;;;AASA;;;;IAGaA,QAAQ,GAA4B,SAApCA,QAAoC,CAACC,EAAD;MAC/CC,eAAAA;MACAC,cAAAA;MACAC,WAAAA;MACAC,eAAAA;MACAC,WAAAA;MACAC,mBAAAA;MACAC,0BAAAA;MACAC,sBAAAA;MACAC,mBAAAA;MACAC,qBAAAA;MACGC,kBAX6C,YAAA,YAAA,SAAA,aAAA,SAAA,iBAAA,wBAAA,oBAAA,iBAAA,mBAAA;;;wBAc1BC,cAAc;MAA5BC,SAAR,mBAAQA;;sBAGNC,mBAAAA,CAACC,SAADD,oBAAeH;AAAMV,IAAAA,SAAS,EAAEe,EAAE,CAAIH,SAAJ,UAAA,EAAsBZ,SAAtB;IAAlCa,eACEA,mBAAAA,CAACG,SAADH;AACEX,IAAAA,KAAK,EAAEA;AACPC,IAAAA,SAAS,EAAEA;AACXC,IAAAA,KAAK,EAAEA;AACPC,IAAAA,aAAa,EAAEA;AACfC,IAAAA,oBAAoB,EAAEA;AACtBC,IAAAA,gBAAgB,EAAEA;AAClBC,IAAAA,aAAa,EAAEA;AACfC,IAAAA,eAAe,EAAEA;GARnBI,EAUGZ,QAVHY,CADFA,eAcEA,mBAAAA,CAACI,WAADJ;AAAaX,IAAAA,KAAK,EAAEA;AAAOF,IAAAA,SAAS,EAAKY,SAAL;GAApCC,CAdFA;;;AA0BJ,IAAIK,OAAJ,EAAa;AACXpB,EAAAA,QAAQ,CAACqB,WAATrB,GAAuB,UAAvBA;;;"}
|
package/lib/esm/FormLabel.js
CHANGED
|
@@ -74,7 +74,7 @@ var FormLabel = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
74
74
|
}
|
|
75
75
|
}, [contentPosition]);
|
|
76
76
|
var colonMemo = useMemo(function () {
|
|
77
|
-
return colon
|
|
77
|
+
return colon || ':';
|
|
78
78
|
}, [colon]);
|
|
79
79
|
var cls = cx(prefixCls, className, required && prefixCls + "--required", labelPlacement && prefixCls + "--placement-" + labelPlacement // error && `${prefixCls}--error`,
|
|
80
80
|
// validating && `${prefixCls}--validating`
|
package/lib/esm/FormLabel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormLabel.js","sources":["../../src/FormLabel.tsx"],"sourcesContent":[null],"names":["_role","_prefix","getPrefixCls","FormLabel","forwardRef","props","ref","useFormContext","labelWidthContext","labelWidth","labelPlacement","colonContext","colon","contentPositionContext","contentPosition","prefixCls","role","className","styleProp","style","children","label","required","labelWidthProp","rest","useMemo","controlWidth","isNumeric","Number","contentPositionMemo","colonMemo","cls","cx","alignItems","React","width","__DEV__","displayName"],"mappings":";;;;;;;;;;;;;;;AAOA,IAAMA,KAAK,GAAG,YAAd;;AACA,IAAMC,OAAO,GAAGC,YAAY,CAACF,KAAD,CAA5B;AAEA;;;;;IAGaG,SAAS,gBAAGC,UAAU,CAAwC,UAACC,KAAD,EAAQC,GAAR;wBAUrEC,cAAc;MAPJC,iBAFd,mBAEEC;MAEAC,cAJF,mBAIEA;MAEOC,YANT,mBAMEC;MAEiBC,sBARnB,mBAQEC;;yBAmBET,KAhBJ,CACEU;MAAAA,SADF,iCACcd;oBAeVI,KAhBJ,CAEEW;MAAAA,IAFF,4BAEShB;MACPiB,SAHF,GAgBIZ,KAhBJ,CAGEY;MACOC,SAJT,GAgBIb,KAhBJ,CAIEc;MACAC,QALF,GAgBIf,KAhBJ,CAKEe;MACAC,KANF,GAgBIhB,KAhBJ,CAMEgB;wBAUEhB,KAhBJ,CASEiB;MAAAA,QATF,gCASa;0BAOTjB,KAhBJ,CAWEI;MAAYc,cAXd,kCAW+Bf;qBAK3BH,KAhBJ,CAYEO;MAAAA,KAZF,6BAYUD;8BAINN,KAhBJ,CAcES;MAAAA,eAdF,sCAcoBD;MACfW,IAfL,UAgBInB,OAhBE,YAAA,QAAA,aAAA,SAAA,YAAA,SAAA,SAAA,YAAA,cAAA,SAAA,mBAAA;;iBAkB+BoB,OAAO,CAAC;QACvCf,cAAc,KAAK,OACrB,OAAO;AACLD,MAAAA,UAAU,EAAE,MADP;AAELiB,MAAAA,YAAY,EAAE;AAFT,KAAP;QAKIjB,UAAU,GAAGkB,SAAS,CAACJ,cAAD,CAATI,GAA4BC,MAAM,CAACL,cAAD,CAAlCI,GAAqDJ;WAEjE;AACLd,MAAAA,UAAU,EAAVA,UADK;AAELiB,MAAAA,YAAY,mBAAiBjB;AAFxB;AATmC,GAAA,EAazC,CAACC,cAAD,EAAiBa,cAAjB,CAbyC;MAApCd,UAAR,YAAQA;MAAYiB,YAApB,YAAoBA;;;MAgBdG,mBAAmB,GAAGJ,OAAO,CAAC;YAC1BX;WACD;eACI;;WACJ;eACI;;;eAEA;;AAPsB,GAAA,EAShC,CAACA,eAAD,CATgC;MAW7BgB,SAAS,GAAGL,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"FormLabel.js","sources":["../../src/FormLabel.tsx"],"sourcesContent":[null],"names":["_role","_prefix","getPrefixCls","FormLabel","forwardRef","props","ref","useFormContext","labelWidthContext","labelWidth","labelPlacement","colonContext","colon","contentPositionContext","contentPosition","prefixCls","role","className","styleProp","style","children","label","required","labelWidthProp","rest","useMemo","controlWidth","isNumeric","Number","contentPositionMemo","colonMemo","cls","cx","alignItems","React","width","__DEV__","displayName"],"mappings":";;;;;;;;;;;;;;;AAOA,IAAMA,KAAK,GAAG,YAAd;;AACA,IAAMC,OAAO,GAAGC,YAAY,CAACF,KAAD,CAA5B;AAEA;;;;;IAGaG,SAAS,gBAAGC,UAAU,CAAwC,UAACC,KAAD,EAAQC,GAAR;wBAUrEC,cAAc;MAPJC,iBAFd,mBAEEC;MAEAC,cAJF,mBAIEA;MAEOC,YANT,mBAMEC;MAEiBC,sBARnB,mBAQEC;;yBAmBET,KAhBJ,CACEU;MAAAA,SADF,iCACcd;oBAeVI,KAhBJ,CAEEW;MAAAA,IAFF,4BAEShB;MACPiB,SAHF,GAgBIZ,KAhBJ,CAGEY;MACOC,SAJT,GAgBIb,KAhBJ,CAIEc;MACAC,QALF,GAgBIf,KAhBJ,CAKEe;MACAC,KANF,GAgBIhB,KAhBJ,CAMEgB;wBAUEhB,KAhBJ,CASEiB;MAAAA,QATF,gCASa;0BAOTjB,KAhBJ,CAWEI;MAAYc,cAXd,kCAW+Bf;qBAK3BH,KAhBJ,CAYEO;MAAAA,KAZF,6BAYUD;8BAINN,KAhBJ,CAcES;MAAAA,eAdF,sCAcoBD;MACfW,IAfL,UAgBInB,OAhBE,YAAA,QAAA,aAAA,SAAA,YAAA,SAAA,SAAA,YAAA,cAAA,SAAA,mBAAA;;iBAkB+BoB,OAAO,CAAC;QACvCf,cAAc,KAAK,OACrB,OAAO;AACLD,MAAAA,UAAU,EAAE,MADP;AAELiB,MAAAA,YAAY,EAAE;AAFT,KAAP;QAKIjB,UAAU,GAAGkB,SAAS,CAACJ,cAAD,CAATI,GAA4BC,MAAM,CAACL,cAAD,CAAlCI,GAAqDJ;WAEjE;AACLd,MAAAA,UAAU,EAAVA,UADK;AAELiB,MAAAA,YAAY,mBAAiBjB;AAFxB;AATmC,GAAA,EAazC,CAACC,cAAD,EAAiBa,cAAjB,CAbyC;MAApCd,UAAR,YAAQA;MAAYiB,YAApB,YAAoBA;;;MAgBdG,mBAAmB,GAAGJ,OAAO,CAAC;YAC1BX;WACD;eACI;;WACJ;eACI;;;eAEA;;AAPsB,GAAA,EAShC,CAACA,eAAD,CATgC;MAW7BgB,SAAS,GAAGL,OAAO,CAAC;WAAMb,KAAK,IAAI;AAAhB,GAAA,EAAqB,CAACA,KAAD,CAArB;MAEnBmB,GAAG,GAAGC,EAAE,CACZjB,SADY,EAEZE,SAFY,EAGZK,QAAQ,IAAOP,SAAP,eAHI,EAIZL,cAAc,IAAOK,SAAP,iBAAOA,GAAwBL,cAJjC;;AAAA;MASRS,KAAK,mCAAQD;AAAWe,IAAAA,UAAU,EAAEJ;;sBAGxCK,mBAAAA,MAAAA;AAAK5B,IAAAA,GAAG,EAAEA;AAAKU,IAAAA,IAAI,EAAEA;AAAMC,IAAAA,SAAS,EAAEc;AAAKZ,IAAAA,KAAK,EAAEA;KAAWK,KAA7DU,EACGb,KAAK,gBACJa,mBAAAA,QAAAA;AAAOjB,IAAAA,SAAS,EAAKF,SAAL;AAAwBI,IAAAA,KAAK,EAAE;AAAEgB,MAAAA,KAAK,EAAE1B;AAAT;GAA/CyB,EACGb,KADHa,EAEGJ,SAFHI,CADI,gBAMJA,mBAAAA,OAAAA;AAAMjB,IAAAA,SAAS,EAAKF,SAAL;AAA0BI,IAAAA,KAAK,EAAE;AAAEgB,MAAAA,KAAK,EAAE1B;AAAT;GAAhDyB,CAPJA,eASEA,mBAAAA,MAAAA;AAAKjB,IAAAA,SAAS,EAAKF,SAAL;AAA2BI,IAAAA,KAAK,EAAE;AAAEgB,MAAAA,KAAK,EAAET;AAAT;GAAhDQ,EACGd,QADHc,CATFA;AAvE+B,CAAA;;AA8GnC,IAAIE,OAAJ,EAAa;AACXjC,EAAAA,SAAS,CAACkC,WAAVlC,GAAwB,WAAxBA;;;"}
|
package/lib/esm/FormList.js
CHANGED
|
@@ -35,8 +35,8 @@ var FormList = function FormList(_ref) {
|
|
|
35
35
|
|
|
36
36
|
var updateFormList = React.useCallback(function (stateFunc, alterTouched, alterErrors) {
|
|
37
37
|
setFormState(function (prev) {
|
|
38
|
-
var values = setNested(prev.values, name, stateFunc(getNested(prev.values, name)));
|
|
39
|
-
|
|
38
|
+
var values = setNested(prev.values, name, stateFunc(getNested(prev.values, name))); // console.log(values, stateFunc(getNested(prev.values, name)))
|
|
39
|
+
|
|
40
40
|
var updateErrors = typeof alterErrors === 'function' ? alterErrors : stateFunc;
|
|
41
41
|
var updateTouched = typeof alterTouched === 'function' ? alterTouched : stateFunc;
|
|
42
42
|
var fieldError = alterErrors ? updateErrors(getNested(prev.errors, name)) : undefined;
|
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,9 +9,10 @@
|
|
|
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
|
+
import { stringify } from './utils/index.js';
|
|
15
16
|
|
|
16
17
|
var useFormField = function useFormField(props) {
|
|
17
18
|
var field = props.field,
|
|
@@ -30,25 +31,7 @@ var useFormField = function useFormField(props) {
|
|
|
30
31
|
|
|
31
32
|
var fieldRules = useMemo(function () {
|
|
32
33
|
// @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
|
-
|
|
34
|
+
var rules = toArray(rulesProp !== null && rulesProp !== void 0 ? rulesProp : getFieldRules(field));
|
|
52
35
|
return rules.map(function (rule) {
|
|
53
36
|
return Object.assign({
|
|
54
37
|
type: valueType
|
|
@@ -64,27 +47,27 @@ var useFormField = function useFormField(props) {
|
|
|
64
47
|
} // TODO: rules 处理成 Async Validate 的指定结构
|
|
65
48
|
|
|
66
49
|
|
|
67
|
-
|
|
68
|
-
var validater = new Validater((_Validater = {}, _Validater[
|
|
69
|
-
|
|
70
|
-
return validater.validate((_validater$validate = {}, _validater$validate[field] = value, _validater$validate), {
|
|
50
|
+
var fieldMD5 = stringify(field);
|
|
51
|
+
var validater = new Validater((_Validater = {}, _Validater[fieldMD5] = fieldRules, _Validater));
|
|
52
|
+
return validater.validate((_validater$validate = {}, _validater$validate[fieldMD5] = value, _validater$validate), {
|
|
71
53
|
firstFields: true
|
|
72
|
-
}
|
|
54
|
+
});
|
|
73
55
|
}, [fieldRules, field]); // 注入当前 field 及其验证规则到 Form
|
|
74
56
|
|
|
75
57
|
useEffect(function () {
|
|
76
|
-
if (field)
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
58
|
+
if (isNullish(field) || field === '') return;
|
|
59
|
+
if (isArray(field) && field.every(function (item) {
|
|
60
|
+
return isNullish(item) || item === '';
|
|
61
|
+
})) return;
|
|
62
|
+
registerField(field, {
|
|
63
|
+
validate: fieldValidate
|
|
64
|
+
});
|
|
83
65
|
return function () {
|
|
84
|
-
if (field)
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
}
|
|
66
|
+
if (isNullish(field) || field === '') return;
|
|
67
|
+
if (isArray(field) && field.every(function (item) {
|
|
68
|
+
return isNullish(item) || item === '';
|
|
69
|
+
})) return;
|
|
70
|
+
unregisterField(field);
|
|
88
71
|
};
|
|
89
72
|
}, [registerField, unregisterField, field, fieldValidate]);
|
|
90
73
|
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","fieldMD5","stringify","validater","Validater","validate","firstFields","useEffect","isNullish","isArray","every","item"],"mappings":";;;;;;;;;;;;;;;;IASaA,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,GAAYC,OAAO,CAAC;;QAE5BR,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;AAH0B,GAAA,EAIhC,CAACD,SAAD,EAAYD,KAAZ,EAAmBK,aAAnB,EAAkCF,SAAlC,CAJgC;;MAO7BY,aAAa,GAAGC,WAAW,CAC/B,UAACC,KAAD;;;QACM,CAACC,eAAe,CAACT,UAAD,GAAc;aACzBU,OAAO,CAACC,OAARD,CAAgB,IAAhBA;;;;QAIHE,QAAQ,GAAGC,SAAS,CAACtB,KAAD;QAEpBuB,SAAS,GAAG,IAAIC,SAAJ,8BAAiBH,YAAWZ,sBAA5B;WACXc,SAAS,CAACE,QAAVF,gDAAsBF,YAAWJ,0BAAjCM,GAA0C;AAAEG,MAAAA,WAAW,EAAE;AAAf,KAA1CH;AAVsB,GAAA,EAY/B,CAACd,UAAD,EAAaT,KAAb,CAZ+B;;AAgBjC2B,EAAAA,SAAS,CAAC;QACJC,SAAS,CAAC5B,KAAD,CAAT4B,IAAoB5B,KAAK,KAAK,IAAI;QAClC6B,OAAO,CAAC7B,KAAD,CAAP6B,IAAkB7B,KAAK,CAAC8B,KAAN9B,CAAY,UAAC+B,IAAD;aAAUH,SAAS,CAACG,IAAD,CAATH,IAAmBG,IAAI,KAAK;AAAlD,KAAA/B,GAAuD;AAE7EO,IAAAA,aAAa,CAACP,KAAD,EAAQ;AACnByB,MAAAA,QAAQ,EAAEV;AADS,KAAR,CAAbR;WAIO;UACDqB,SAAS,CAAC5B,KAAD,CAAT4B,IAAoB5B,KAAK,KAAK,IAAI;UAClC6B,OAAO,CAAC7B,KAAD,CAAP6B,IAAkB7B,KAAK,CAAC8B,KAAN9B,CAAY,UAAC+B,IAAD;eAAUH,SAAS,CAACG,IAAD,CAATH,IAAmBG,IAAI,KAAK;AAAlD,OAAA/B,GAAuD;AAE7EQ,MAAAA,eAAe,CAACR,KAAD,CAAfQ;AAJF;AARO,GAAA,EAcN,CAACD,aAAD,EAAgBC,eAAhB,EAAiCR,KAAjC,EAAwCe,aAAxC,CAdM,CAATY;SAgBOrB,aAAa,CAACP,KAAD;;;"}
|