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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/README.md +175 -7
  2. package/lib/cjs/Form.js +27 -9
  3. package/lib/cjs/Form.js.map +1 -1
  4. package/lib/cjs/FormItem.js +29 -5
  5. package/lib/cjs/FormItem.js.map +1 -1
  6. package/lib/cjs/FormLabel.js +5 -1
  7. package/lib/cjs/FormLabel.js.map +1 -1
  8. package/lib/cjs/FormList.js +2 -2
  9. package/lib/cjs/FormList.js.map +1 -1
  10. package/lib/cjs/FormMessage.js +3 -3
  11. package/lib/cjs/FormMessage.js.map +1 -1
  12. package/lib/cjs/FormReset.js +76 -0
  13. package/lib/cjs/FormReset.js.map +1 -0
  14. package/lib/cjs/FormSubmit.js +87 -0
  15. package/lib/cjs/FormSubmit.js.map +1 -0
  16. package/lib/cjs/index.js +6 -0
  17. package/lib/cjs/index.js.map +1 -1
  18. package/lib/cjs/styles/index.scss.js +1 -1
  19. package/lib/cjs/use-form-field.js +19 -35
  20. package/lib/cjs/use-form-field.js.map +1 -1
  21. package/lib/cjs/use-form.js +135 -58
  22. package/lib/cjs/use-form.js.map +1 -1
  23. package/lib/cjs/utils/index.js +26 -0
  24. package/lib/cjs/utils/index.js.map +1 -0
  25. package/lib/esm/Form.js +28 -10
  26. package/lib/esm/Form.js.map +1 -1
  27. package/lib/esm/FormItem.js +27 -5
  28. package/lib/esm/FormItem.js.map +1 -1
  29. package/lib/esm/FormLabel.js +5 -1
  30. package/lib/esm/FormLabel.js.map +1 -1
  31. package/lib/esm/FormList.js +2 -2
  32. package/lib/esm/FormList.js.map +1 -1
  33. package/lib/esm/FormMessage.js +3 -3
  34. package/lib/esm/FormMessage.js.map +1 -1
  35. package/lib/esm/FormReset.js +52 -0
  36. package/lib/esm/FormReset.js.map +1 -0
  37. package/lib/esm/FormSubmit.js +63 -0
  38. package/lib/esm/FormSubmit.js.map +1 -0
  39. package/lib/esm/index.js +2 -0
  40. package/lib/esm/index.js.map +1 -1
  41. package/lib/esm/styles/index.scss.js +1 -1
  42. package/lib/esm/use-form-field.js +19 -36
  43. package/lib/esm/use-form-field.js.map +1 -1
  44. package/lib/esm/use-form.js +136 -60
  45. package/lib/esm/use-form.js.map +1 -1
  46. package/lib/esm/utils/index.js +19 -0
  47. package/lib/esm/utils/index.js.map +1 -0
  48. package/lib/types/FormReset.d.ts +2 -1
  49. package/lib/types/FormSubmit.d.ts +3 -2
  50. package/lib/types/context.d.ts +32 -18
  51. package/lib/types/index.d.ts +2 -0
  52. package/lib/types/types.d.ts +34 -12
  53. package/lib/types/use-form-field.d.ts +10 -6
  54. package/lib/types/use-form.d.ts +16 -9
  55. package/lib/types/utils/index.d.ts +3 -0
  56. package/package.json +13 -13
package/README.md CHANGED
@@ -1,11 +1,179 @@
1
- # `@hi-ui/form`
1
+ # Form 表单
2
2
 
3
- > TODO: description
3
+ 用来收集数据的组件集合
4
4
 
5
- ## Usage
5
+ ## 何时使用
6
6
 
7
- ```
8
- const Form = require('@hi-ui/form');
7
+ 当系统需要收集、录入时
9
8
 
10
- // TODO: DEMONSTRATE API
11
- ```
9
+ 常见于调查问卷、登录、新建/编辑、设置等场景
10
+
11
+ ## 使用示例
12
+
13
+ <!-- Inject Stories -->
14
+
15
+ ## Props
16
+
17
+ ### Form
18
+
19
+ | 参数 | 说明 | 类型 | 可选值 | 默认值 |
20
+ | -------------- | ---------------------------------------------------------------------------------------- | ------------------------------------ | -------------------------- | ---------- |
21
+ | initialValues | 表单默认值,只有初始化以及重置时生效;该值是不受控的,和表单中的 defaultValue 的作用相同 | object | - | - |
22
+ | rules | 表单验证规则,用法参考 [async-validator](https://github.com/yiminghe/async-validator) | object | - | - |
23
+ | labelWidth | label 宽度,可用任意 CSS 长度单位 | string | |
24
+ | labelPlacement | label 放置的位置 | string | 'right' \| 'left' \| 'top' | 'left' |
25
+ | placement | 是否横向排列 | string | 'horizontal' \| 'vertical' | 'vertical' |
26
+ | showColon | 是否显示冒号 | boolean | true \| false | true |
27
+ | innerRef | 提供辅助方法的内部引用 | React.RefObject<FormHelpers<Values>> | - | - |
28
+
29
+ ## Events
30
+
31
+ | 名称 | 说明 | 类型 | 参数 | 返回值 |
32
+ | -------------- | ------------------------ | -------------------------------------------------- | ------------------------------------------------------------- | ------ |
33
+ | onValuesChange | 字段值更新时触发回调事件 | (changedValues: object, allValues: object) => void | changedValues: 改变的表单对象 <br/> allValues: 所有表单项对象 | - |
34
+
35
+ ## SchemaForm
36
+
37
+ > 继承 Form API
38
+
39
+ | 参数 | 说明 | 类型 | 可选值 | 默认值 |
40
+ | ------ | -------------------- | ------------ | ------ | ------ |
41
+ | schema | 通过 schema 渲染表单 | SchemaItem[] | - | - |
42
+ | submit | 继承 Form.Submit API | Object | - | - |
43
+ | reset | 继承 Form.Reset API | Object | - | - |
44
+
45
+ ## FormList
46
+
47
+ | 参数 | 说明 | 类型 | 可选值 | 默认值 |
48
+ | -------- | -------- | ---------------------------------------------------------------- | ------ | ------ |
49
+ | name | 列表名称 | String | - | - |
50
+ | children | 渲染函数 | (fields: Field[], operation: { add, remove }) => React.ReactNode | - | - |
51
+
52
+ ## Form.Item
53
+
54
+ | 参数 | 说明 | 类型 | 可选值 | 默认值 |
55
+ | --------------- | --------------------------------------------------------------------------------------------------------------- | ------- | ---------------------------- | -------- |
56
+ | field | 字段名,支持数组 | string | (string)[] | - | - |
57
+ | name | 在`Form.List`的嵌套表单中;表示该项的属性名称 | string | - | - | - |
58
+ | row | 在`Form.List` 表示列表的第几行, 设置指定列表表单项时有用 | any | - | - | - |
59
+ | label | 标签文本,默认自动添加冒号 | string | - | - |
60
+ | labelWidth | label 宽度,可用任意 CSS 长度单位,优先级高于 Form 设置的 labelWidth | string | |
61
+ | required | 是否必填 | boolean | true \| false | false |
62
+ | showColon | 是否显示冒号 | boolean | true \| false | - |
63
+ | rules | 表单验证规则,会覆盖 Form 设置的 rules,用法参考 [async-validator](https://github.com/yiminghe/async-validator) | object | - | - |
64
+ | valuePropName | 子节点的值的属性,如 Switch Radio Checkbox 的是 'checked' | string | - | 'value' |
65
+ | contentPosition | 指定显示内容的位置的位置,对一些非 HiUI 表单组件进行设置 | string | 'top' \| 'center' \|'bottom' | 'center' |
66
+
67
+ ## SchemaItem
68
+
69
+ > 继承 Form.Item API
70
+
71
+ | 参数 | 说明 | 类型 | 可选值 | 默认值 |
72
+ | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------- | ------ | ------ |
73
+ | component | 用于渲染的组件名称(现在组件名称,只限于 HiUI 中的组件名);如果传入 **ReactNode** 的情况下,**componentProps** 属性失效,同时也会默认控制组件 **value** 属性 | string \| ReactNode | - | - |
74
+ | componentProps | 组件的属性 | string | - | - |
75
+
76
+ ## Form.Submit
77
+
78
+ > 继承 Button API
79
+
80
+ | 参数 | 说明 | 类型 | 可选值 | 默认值 |
81
+ | ------- | -------------------------------------------------------------- | -------- | ------ | --------- |
82
+ | onClick | 点击提交后触发 Function(value: Object, errors: Object) => void | Function | - | func.noop |
83
+ | fields | 需要校验的 field 字段,不传入的话就是默认全部校验 | Array | - | - |
84
+
85
+ ## Form.Reset
86
+
87
+ > 继承 Button API
88
+
89
+ | 参数 | 说明 | 类型 | 默认值 |
90
+ | --------- | ------------------------------------------------- | -------- | --------- |
91
+ | onClick | 点击提交后触发 () => void | Function | func.noop |
92
+ | fields | 需要重置的 field 字段,不传入的话就是默认全部重置 | Array | - |
93
+ | toDefault | 返回默认值 | Boolean | true |
94
+
95
+ ## Methods
96
+
97
+ | 方法名 | 说明 |
98
+ | ------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------- |
99
+ | validate(callback: (fields: Object, errors: Object) => void, fields:Array) | 对整个表单进行校验, 对应 [Form.Submit](#Form.Submit)中的 API |
100
+ | validateField(fields: []string, callback: errors => void) | 对指定表单字段进行校验 |
101
+ | resetValidates(callback:() => void, fields:Array, toDefault:boolean) | 重置整个表单的验证,对应 [Form.Reset](#Form.Reset)中的 API |
102
+ | setFieldsValue(field: Object) | 设置表单的值,在异步获取的数据回显的时候,使用该方法 |
103
+ | setListItemFieldsValue(ListItemInfo: Object) | 设置表单中 From.List 的指定项的值 [ListItemInfo](#ListItemInfo) |
104
+ | getFieldsValue( fields: Object ) => Object | 获取一组字段名对应的 Values 返回为数组形式, 不传入 fields;默认返回全部信息, 不会触发表单校验 |
105
+ | getFieldsError( fields: []string ) => Object | 获取一组字段名对应的错误信息,返回为数组形式, 不传入 fields;默认返回全部信息 |
106
+ | clearValidates( fields: []string ) => void | 移除表单项的校验结果。传入待移除的表单项的 field 属性组成的数组,如不传则移除整个表单的校验结果 |
107
+ | updateFormSchema( schemaData: {fileName: [SchemaItem](#SchemaItem) } ) => void | 当 **SchemaItem** 中对应的 **schema** 数据更新时,请调用该方法更新 |
108
+
109
+ ## ListItemInfo
110
+
111
+ | 参数 | 说明 | 类型 | 可选值 | 默认值 |
112
+ | -------- | ------------------------------------------------ | ------ | ------ | ------ |
113
+ | name | 对应 `Form.Item` 中的 name,在列表项中的属性名称 | string | - | - |
114
+ | listname | 需要更新的列表名称 | string | - | - |
115
+ | row | 对应 `Form.Item` 中的 row,表示列表的第几行 | string | - | - |
116
+ | value | 需要更新的值 | any | - | - |
117
+
118
+ ## Rules
119
+
120
+ > [更多规则](https://github.com/yiminghe/async-validator)
121
+
122
+ | 名称 | 说明 | 类型 |
123
+ | ---------- | --------------------------------------------------------------------------------------------------------------------------- | ----------------------------- |
124
+ | enum | 是否匹配枚举中的值 | any[] |
125
+ | len | string 类型时为字符串长度;number 类型时为确定数字; array 类型时为数组长度 | number |
126
+ | max | 必须设置 `type`:string 类型为字符串最大长度;number 类型时为最大值;array 类型时为数组最大长度 | number |
127
+ | message | 错误信息 | string |
128
+ | min | 必须设置 `type`:string 类型为字符串最小长度;number 类型时为最小值;array 类型时为数组最小长度 | number |
129
+ | pattern | 正则表达式匹配 | RegExp |
130
+ | required | 是否为必选字段 | boolean |
131
+ | transform | 将字段值转换成目标值后进行校验 | (value) => any |
132
+ | type | 类型,常见有 `string` \|`number` \|`boolean` \| `email`。更多请参考[此处](https://github.com/yiminghe/async-validator#type) | string |
133
+ | validator | 自定义校验 | (rule,value,callback) => void |
134
+ | whitespace | 如果字段仅包含空格则校验不通过 | boolean |
135
+
136
+ ## CHANGELOG
137
+
138
+ ### Form
139
+
140
+ | 参数 | 变更类型 | 变更内容 | 解决的问题 |
141
+ | -------------------- | ------------------------------- | --------------------------------------------------- | ----------------------------------------------------------------- |
142
+ | propName | feature \| deprecated \| update | 变更了什么 | 之前是什么样子,解决什么问题 |
143
+ | ---- | ---- | ---- | ---- |
144
+ | colon | feature | 字段:showColon -> colon 类型:boolean -> ReactText | 强化支持自定义 colon |
145
+ | innerRef | update | ref -> innerRef | 解决名字占用,ref 功能作为 dom 引用获取,回调方法写法支持 Promise |
146
+ | initialErrors | feature | - | 强化功能 |
147
+ | initialTouched | feature | - | 强化功能 |
148
+ | validateTrigger | feature | - | 强化功能 |
149
+ | validateAfterTouched | feature | - | 强化功能 |
150
+ | lazyValidate | feature | - | 强化功能 |
151
+ | onSubmit | feature | - | 强化功能 |
152
+ | onReset | feature | - | 强化功能 |
153
+
154
+ ### FormItem
155
+
156
+ | 参数 | 变更类型 | 变更内容 | 解决的问题 |
157
+ | -------------------- | ------------------------------- | --------------------------------------------------- | ---------------------------- |
158
+ | propName | feature \| deprecated \| update | 变更了什么 | 之前是什么样子,解决什么问题 |
159
+ | ---- | ---- | ---- | ---- |
160
+ | colon | feature | 字段:showColon -> colon 类型:boolean -> ReactText | 强化支持自定义 colon |
161
+ | required | update | 定义:只做展示,不做校验 | 优化功能 |
162
+ | valueType | feature | - | 强化功能 |
163
+ | valueCollectPropName | feature | - | 强化功能 |
164
+ | valueCollectPipe | feature | - | 强化功能 |
165
+ | valueSyncPipe | feature | - | 强化功能 |
166
+ | validateTrigger | feature | - | 强化功能 |
167
+ | children | feature | 支持函数自定义渲染表单控件 | 强化功能 |
168
+
169
+ ### FormList
170
+
171
+ | 参数 | 变更类型 | 变更内容 | 解决的问题 |
172
+ | -------- | ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- |
173
+ | propName | feature \| deprecated \| update | 变更了什么 | 之前是什么样子,解决什么问题 |
174
+ | ---- | ---- | ---- | ---- |
175
+ | children | feature | (fields: Field[], operation: { add, remove }) => React.ReactNode -> (fields: Field[], operation: { add, remove, swap, insertBefore, move }) => React.ReactNode | 强化支持 |
176
+
177
+ ### SchemeForm
178
+
179
+ > SchemaItem 内部废弃,作为物料高级组件进行扩展
package/lib/cjs/Form.js CHANGED
@@ -52,23 +52,43 @@ var Form = /*#__PURE__*/React.forwardRef(function (_a, ref) {
52
52
  role = _a$role === void 0 ? _role : _a$role,
53
53
  className = _a.className,
54
54
  children = _a.children,
55
+ innerRef = _a.innerRef,
55
56
  labelWidth = _a.labelWidth,
56
57
  _a$labelPlacement = _a.labelPlacement,
57
58
  labelPlacement = _a$labelPlacement === void 0 ? 'right' : _a$labelPlacement,
59
+ _a$placement = _a.placement,
60
+ placement = _a$placement === void 0 ? 'vertical' : _a$placement,
58
61
  colon = _a.colon,
59
62
  rest = tslib.__rest(_a, ["prefixCls", "role", "className", "children", "innerRef", "labelWidth", "labelPlacement", "placement", "verticalAlign", "colon"]);
60
63
 
61
64
  var formContext = useForm.useForm(rest);
62
- var getRootProps = formContext.getRootProps; // useImperativeHandle(innerRef, () => formContext)
63
-
65
+ var getRootProps = formContext.getRootProps; // @ts-ignore
66
+
67
+ React.useImperativeHandle(innerRef, function () {
68
+ return {
69
+ validate: formContext.submitForm,
70
+ reset: formContext.resetForm,
71
+ validateField: formContext.validateFieldState,
72
+ // validateFields: formContext.va,
73
+ setFieldValue: formContext.setFieldValue,
74
+ setFieldsValue: formContext.setFieldsValue,
75
+ getFieldValue: formContext.getFieldValue,
76
+ getFieldsValue: formContext.getFieldsValue,
77
+ getFieldError: formContext.getFieldError,
78
+ getFieldsError: formContext.getFieldsError,
79
+ clearValidates: formContext.resetErrors
80
+ };
81
+ });
64
82
  var providedValue = React.useMemo(function () {
65
- return Object.assign({
83
+ return Object.assign(Object.assign({
66
84
  labelWidth: labelWidth,
67
85
  labelPlacement: labelPlacement,
68
86
  colon: colon
69
- }, formContext);
70
- }, [labelWidth, formContext, labelPlacement, colon]);
71
- var cls = classname.cx(prefixCls, className);
87
+ }, formContext), {
88
+ prefixCls: prefixCls
89
+ });
90
+ }, [labelWidth, formContext, labelPlacement, colon, prefixCls]);
91
+ var cls = classname.cx(prefixCls, className, placement && prefixCls + "--placement-" + placement);
72
92
  return (
73
93
  /*#__PURE__*/
74
94
  // @ts-ignore
@@ -92,9 +112,7 @@ var formExtends = function formExtends(model) {
92
112
  // @ts-ignore
93
113
  FORM_REGISTER_TABLE[model.name] = model;
94
114
  } else {
95
- if (env.__DEV__) {
96
- console.log('WARNING: the name should be unique string and not empty.');
97
- }
115
+ env.invariant(true, 'The name should be unique string and not empty.');
98
116
  }
99
117
  };
100
118
 
@@ -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","console","log","Object","assign","extends"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,IAAMA,KAAK,GAAG,MAAd;;AACA,IAAMC,OAAO,GAAGC,sBAAAA,CAAaF,KAAbE,CAAhB;;;IAGaC,mBAAmB,GAAkC;AAElE;;;;IAGaC,IAAI,gBAAGC,gBAAAA,CAClB,UACEC,EADF,EAcEC,GAdF;wBAEIC;MAAAA,sCAAYP;mBACZQ;MAAAA,4BAAOT;MACPU,eAAAA;MACAC,cAAAA;MAEAC,gBAAAA;6BACAC;MAAAA,gDAAiB;MAGjBC,WAAAA;MACGC,wBAXL,YAAA,QAAA,aAAA,YAAA,YAAA,cAAA,kBAAA,aAAA,iBAAA,SAAA;;MAeMC,WAAW,GAAGC,eAAAA,CAAQF,IAARE;MAEZC,YAAR,GAAyBF,WAAzB,CAAQE;;MAGFC,aAAa,GAAGC,aAAAA,CAAQ;;AAE1BR,MAAAA,UAAU,EAAVA;AACAC,MAAAA,cAAc,EAAdA;AACAC,MAAAA,KAAK,EAALA;OACGE;AALsB,GAAPI,EAOnB,CAACR,UAAD,EAAaI,WAAb,EAA0BH,cAA1B,EAA0CC,KAA1C,CAPmBM;MAShBC,GAAG,GAAGC,YAAAA,CAAGd,SAAHc,EAAcZ,SAAdY;;;;AAIVC,IAAAA,yBAAAA,cAAAA,CAACC,oBAADD;AAAcE,MAAAA,KAAK,EAAEN;KAArBI,eACEA,yBAAAA,cAAAA,OAAAA;AAAMhB,MAAAA,GAAG,EAAEA;AAAKE,MAAAA,IAAI,EAAEA;AAAMC,MAAAA,SAAS,EAAEW;OAASH,YAAY,GAA5DK,EACGZ,QADHY,CADFA;;AAnCwB,CAAVlB;;AAyEpB,IAAIqB,WAAJ,EAAa;AACXtB,EAAAA,IAAI,CAACuB,WAALvB,GAAmB,MAAnBA;;;AAGF,IAAMwB,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD;;MAEd,OAAOA,KAAK,CAACC,IAAb,KAAsB,UAAU;;AAElC3B,IAAAA,mBAAmB,CAAC0B,KAAK,CAACC,IAAP,CAAnB3B,GAAkC0B,KAAlC1B;AAFF,SAGO;QACDuB,aAAS;AACXK,MAAAA,OAAO,CAACC,GAARD,CAAY,0DAAZA;;;AAPN,CAAA;;AAYAE,MAAM,CAACC,MAAPD,CAAc7B,IAAd6B,EAAoB;AAAEE,aAASP;AAAX,CAApBK;;"}
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,sBAAAA,CAAaF,KAAbE,CAAhB;;;IAGaC,mBAAmB,GAAkC;AAElE;;;;IAGaC,IAAI,gBAAGC,gBAAAA,CAClB,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,wBAXL,YAAA,QAAA,aAAA,YAAA,YAAA,cAAA,kBAAA,aAAA,iBAAA,SAAA;;MAeMC,WAAW,GAAGC,eAAAA,CAAQF,IAARE;MAEZC,YAAR,GAAyBF,WAAzB,CAAQE;;AAGRC,EAAAA,yBAAAA,CAAoBT,QAApBS,EAA8B;WACrB;AACLC,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,GAAnBd;MAgBMe,aAAa,GAAGC,aAAAA,CAAQ;;AAE1BxB,MAAAA,UAAU,EAAVA;AACAC,MAAAA,cAAc,EAAdA;AACAE,MAAAA,KAAK,EAALA;OACGE;AACHV,MAAAA,SAAS,EAATA;;AANyB,GAAP6B,EAQnB,CAACxB,UAAD,EAAaK,WAAb,EAA0BJ,cAA1B,EAA0CE,KAA1C,EAAiDR,SAAjD,CARmB6B;MAUhBC,GAAG,GAAGC,YAAAA,CAAG/B,SAAH+B,EAAc7B,SAAd6B,EAAyBxB,SAAS,IAAOP,SAAP,iBAAOA,GAAwBO,SAAjEwB;;;;AAIVC,IAAAA,yBAAAA,cAAAA,CAACC,oBAADD;AAAcE,MAAAA,KAAK,EAAEN;KAArBI,eACEA,yBAAAA,cAAAA,OAAAA;AAAMjC,MAAAA,GAAG,EAAEA;AAAKE,MAAAA,IAAI,EAAEA;AAAMC,MAAAA,SAAS,EAAE4B;OAASlB,YAAY,GAA5DoB,EACG7B,QADH6B,CADFA;;AApDwB,CAAVnC;;AA0FpB,IAAIsC,WAAJ,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,aAAAA,CAAU,IAAVA,EAAgB,iDAAhBA;;AANJ,CAAA;;AAUAC,MAAM,CAACC,MAAPD,CAAc7C,IAAd6C,EAAoB;AAAEE,aAASN;AAAX,CAApBI;;"}
@@ -27,6 +27,10 @@ var FormMessage = require('./FormMessage.js');
27
27
 
28
28
  var FormField = require('./FormField.js');
29
29
 
30
+ var context = require('./context.js');
31
+
32
+ var classname = require('@hi-ui/classname');
33
+
30
34
  function _interopDefaultLegacy(e) {
31
35
  return e && _typeof(e) === 'object' && 'default' in e ? e : {
32
36
  'default': e
@@ -40,16 +44,36 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
40
44
 
41
45
 
42
46
  var FormItem = function FormItem(_a) {
43
- var field = _a.field,
47
+ var className = _a.className,
44
48
  children = _a.children,
49
+ field = _a.field,
45
50
  valueType = _a.valueType,
46
- rest = tslib.__rest(_a, ["field", "children", "valueType"]);
51
+ rules = _a.rules,
52
+ valuePropName = _a.valuePropName,
53
+ valueCollectPropName = _a.valueCollectPropName,
54
+ valueCollectPipe = _a.valueCollectPipe,
55
+ valueSyncPipe = _a.valueSyncPipe,
56
+ validateTrigger = _a.validateTrigger,
57
+ rest = tslib.__rest(_a, ["className", "children", "field", "valueType", "rules", "valuePropName", "valueCollectPropName", "valueCollectPipe", "valueSyncPipe", "validateTrigger"]); // @ts-ignore
58
+
47
59
 
48
- return /*#__PURE__*/React__default['default'].createElement(FormLabel.FormLabel, Object.assign({}, rest), /*#__PURE__*/React__default['default'].createElement(FormField.FormField, {
60
+ var _useFormContext = context.useFormContext(),
61
+ prefixCls = _useFormContext.prefixCls;
62
+
63
+ return /*#__PURE__*/React__default['default'].createElement(FormLabel.FormLabel, Object.assign({}, rest, {
64
+ className: classname.cx(prefixCls + "-item", className)
65
+ }), /*#__PURE__*/React__default['default'].createElement(FormField.FormField, {
49
66
  field: field,
50
- valueType: valueType
67
+ valueType: valueType,
68
+ rules: rules,
69
+ valuePropName: valuePropName,
70
+ valueCollectPropName: valueCollectPropName,
71
+ valueCollectPipe: valueCollectPipe,
72
+ valueSyncPipe: valueSyncPipe,
73
+ validateTrigger: validateTrigger
51
74
  }, children), /*#__PURE__*/React__default['default'].createElement(FormMessage.FormMessage, {
52
- field: field
75
+ field: field,
76
+ className: prefixCls + "-item__message"
53
77
  }));
54
78
  };
55
79
 
@@ -1 +1 @@
1
- {"version":3,"file":"FormItem.js","sources":["../../src/FormItem.tsx"],"sourcesContent":[null],"names":["FormItem","_a","field","children","valueType","rest","React","FormLabel","FormField","FormMessage","__DEV__","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA;;;;;IAGaA,QAAQ,GAA4B,SAApCA,QAAoC,CAACC,EAAD;MAAGC,WAAAA;MAAOC,cAAAA;MAAUC,eAAAA;MAAcC,wBAAjC,QAAA,YAAA,aAAA;;sBAE9CC,yBAAAA,cAAAA,CAACC,mBAADD,oBAAeD,KAAfC,eACEA,yBAAAA,cAAAA,CAACE,mBAADF;AAAWJ,IAAAA,KAAK,EAAEA;AAAOE,IAAAA,SAAS,EAAEA;GAApCE,EACGH,QADHG,CADFA,eAKEA,yBAAAA,cAAAA,CAACG,uBAADH;AAAaJ,IAAAA,KAAK,EAAEA;GAApBI,CALFA;;;AAiBJ,IAAII,WAAJ,EAAa;AACXV,EAAAA,QAAQ,CAACW,WAATX,GAAuB,UAAvBA;;;"}
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,wBAX6C,YAAA,YAAA,SAAA,aAAA,SAAA,iBAAA,wBAAA,oBAAA,iBAAA,mBAAA;;;wBAc1BC,sBAAAA;MAAdC,SAAR,mBAAQA;;sBAGNC,yBAAAA,cAAAA,CAACC,mBAADD,oBAAeH;AAAMV,IAAAA,SAAS,EAAEe,YAAAA,CAAMH,SAAJ,UAAFG,EAAwBf,SAAxBe;IAAhCF,eACEA,yBAAAA,cAAAA,CAACG,mBAADH;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,yBAAAA,cAAAA,CAACI,uBAADJ;AAAaX,IAAAA,KAAK,EAAEA;AAAOF,IAAAA,SAAS,EAAKY,SAAL;GAApCC,CAdFA;;;AA0BJ,IAAIK,WAAJ,EAAa;AACXpB,EAAAA,QAAQ,CAACqB,WAATrB,GAAuB,UAAvBA;;;"}
@@ -96,7 +96,11 @@ var FormLabel = /*#__PURE__*/React.forwardRef(function (props, ref) {
96
96
  }
97
97
  }, [contentPosition]);
98
98
  var colonMemo = React.useMemo(function () {
99
- return colon ? ':' : null;
99
+ if (typeof colon === 'boolean') {
100
+ return colon ? ':' : '';
101
+ }
102
+
103
+ return colon !== null && colon !== void 0 ? colon : ':';
100
104
  }, [colon]);
101
105
  var cls = classname.cx(prefixCls, className, required && prefixCls + "--required", labelPlacement && prefixCls + "--placement-" + labelPlacement // error && `${prefixCls}--error`,
102
106
  // validating && `${prefixCls}--validating`
@@ -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":"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"}
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":"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"}
@@ -56,8 +56,8 @@ var FormList = function FormList(_ref) {
56
56
 
57
57
  var updateFormList = React__default['default'].useCallback(function (stateFunc, alterTouched, alterErrors) {
58
58
  setFormState(function (prev) {
59
- var values = funcUtils.setNested(prev.values, name, stateFunc(funcUtils.getNested(prev.values, name)));
60
- console.log(values, stateFunc(funcUtils.getNested(prev.values, name)));
59
+ var values = funcUtils.setNested(prev.values, name, stateFunc(funcUtils.getNested(prev.values, name))); // console.log(values, stateFunc(getNested(prev.values, name)))
60
+
61
61
  var updateErrors = typeof alterErrors === 'function' ? alterErrors : stateFunc;
62
62
  var updateTouched = typeof alterTouched === 'function' ? alterTouched : stateFunc;
63
63
  var fieldError = alterErrors ? updateErrors(funcUtils.getNested(prev.errors, name)) : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"FormList.js","sources":["../../src/FormList.tsx"],"sourcesContent":[null],"names":["fieldListSymbol","Symbol","FormList","children","nameProp","name","useFormContext","values","setFormState","isArray","updateFormList","React","useCallback","stateFunc","alterTouched","alterErrors","prev","setNested","getNested","console","log","updateErrors","updateTouched","fieldError","errors","undefined","fieldTouched","touched","isArrayNonEmpty","add","value","asArray","remove","index","filter","_","idx","insertBefore","insert","swap","aIndex","bIndex","copy","temp","move","fromIndex","toIndex","splice","listFields","useMemo","list","map","symbol","__DEV__","warn","displayName","arr"],"mappings":"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"}
1
+ {"version":3,"file":"FormList.js","sources":["../../src/FormList.tsx"],"sourcesContent":[null],"names":["fieldListSymbol","Symbol","FormList","children","nameProp","name","useFormContext","values","setFormState","isArray","updateFormList","React","useCallback","stateFunc","alterTouched","alterErrors","prev","setNested","getNested","updateErrors","updateTouched","fieldError","errors","undefined","fieldTouched","touched","isArrayNonEmpty","add","value","asArray","remove","index","filter","_","idx","insertBefore","insert","swap","aIndex","bIndex","copy","temp","move","fromIndex","toIndex","splice","listFields","useMemo","list","map","symbol","__DEV__","console","warn","displayName","arr"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,IAAMA,eAAe,GAAGC,MAAM,CAAC,YAAD,CAA9B;AAEA;;;;IAGaC,QAAQ,GAA4B,SAApCA,QAAoC,KAAA;MAAGC,gBAAAA;MAAgBC,gBAANC;;wBAC3BC,sBAAAA;MAAzBC,MAAR,mBAAQA;MAAQC,YAAhB,mBAAgBA;;;;;MAMVH,IAAI,GAAGI,qBAAAA,CAAQL,QAARK,IAAoBL,QAApBK,GAA+B,CAACL,QAAD;;;;;MAKtCM,cAAc,GAAGC,yBAAAA,CAAMC,WAAND,CACrB,UAACE,SAAD,EAAsBC,YAAtB,EAAwDC,WAAxD;AACEP,IAAAA,YAAY,CAAC,UAACQ,IAAD;UACLT,MAAM,GAAGU,mBAAAA,CAAUD,IAAI,CAACT,MAAfU,EAAuBZ,IAAvBY,EAA6BJ,SAAS,CAACK,mBAAAA,CAAUF,IAAI,CAACT,MAAfW,EAAuBb,IAAvBa,CAAD,CAAtCD;;UAGTE,YAAY,GAAG,OAAOJ,WAAP,KAAuB,UAAvB,GAAoCA,WAApC,GAAkDF;UACjEO,aAAa,GAAG,OAAON,YAAP,KAAwB,UAAxB,GAAqCA,YAArC,GAAoDD;UAEtEQ,UAAU,GAAGN,WAAW,GAAGI,YAAY,CAACD,mBAAAA,CAAUF,IAAI,CAACM,MAAfJ,EAAuBb,IAAvBa,CAAD,CAAf,GAAgDK;UACxEC,YAAY,GAAGV,YAAY,GAAGM,aAAa,CAACF,mBAAAA,CAAUF,IAAI,CAACS,OAAfP,EAAwBb,IAAxBa,CAAD,CAAhB,GAAkDK;;UAE7E,CAACG,6BAAAA,CAAgBL,UAAhBK,GAA6B;AAChCL,QAAAA,UAAU,GAAGE,SAAbF;;;UAGE,CAACK,6BAAAA,CAAgBF,YAAhBE,GAA+B;AAClCF,QAAAA,YAAY,GAAGD,SAAfC;;;aAGK;AACLjB,QAAAA,MAAM,EAANA,MADK;AAELe,QAAAA,MAAM,EAAEP,WAAW,GAAGE,mBAAAA,CAAUD,IAAI,CAACM,MAAfL,EAAuBZ,IAAvBY,EAA6BI,UAA7BJ,CAAH,GAA8CD,IAAI,CAACM,MAFjE;AAGLG,QAAAA,OAAO,EAAEX,YAAY,GAAGG,mBAAAA,CAAUD,IAAI,CAACS,OAAfR,EAAwBZ,IAAxBY,EAA8BO,YAA9BP,CAAH,GAAiDD,IAAI,CAACS;AAHtE;AAlBG,KAAA,CAAZjB;AAFmB,GAAAG,EA2BrB,CAACN,IAAD,EAAOG,YAAP,CA3BqBG;MA8BjBgB,GAAG,GAAGhB,yBAAAA,CAAMC,WAAND,CACV,UAACiB,KAAD;;AAEElB,IAAAA,cAAc,CAAC,UAACM,IAAD;uBAAmBa,OAAO,CAACb,IAAD,IAAQY;AAAnC,KAAA,EAA2C,KAA3C,EAAkD,KAAlD,CAAdlB;AAHQ,GAAAC,EAKV,CAACD,cAAD,CALUC;MAQNmB,MAAM,GAAGnB,yBAAAA,CAAMC,WAAND,CACb,UAACoB,KAAD;AACErB,IAAAA,cAAc,CAAC,UAACM,IAAD;aAAea,OAAO,CAACb,IAAD,CAAPa,CAAcG,MAAdH,CAAqB,UAACI,CAAD,EAAIC,GAAJ;eAAYA,GAAG,KAAKH;AAAzC,OAAAF;AAAhB,KAAA,EAAiE,IAAjE,EAAuE,IAAvE,CAAdnB;AAFW,GAAAC,EAIb,CAACD,cAAD,CAJaC;MAOTwB,YAAY,GAAGxB,yBAAAA,CAAMC,WAAND,CACnB,UAACoB,KAAD,EAAgBH,KAAhB;AACElB,IAAAA,cAAc,CACZ,UAACM,IAAD;aAAiBoB,MAAM,CAACP,OAAO,CAACb,IAAD,CAAR,EAAgBe,KAAhB,EAAuBH,KAAvB;AADX,KAAA,EAEZ,UAACZ,IAAD;aAAiBoB,MAAM,CAACP,OAAO,CAACb,IAAD,CAAR,EAAgBe,KAAhB,EAAuB,IAAvB;AAFX,KAAA,EAGZ,UAACf,IAAD;aAAiBoB,MAAM,CAACP,OAAO,CAACb,IAAD,CAAR,EAAgBe,KAAhB,EAAuB,IAAvB;AAHX,KAAA,CAAdrB;AAFiB,GAAAC,EAQnB,CAACD,cAAD,CARmBC;MAWf0B,IAAI,GAAG1B,yBAAAA,CAAMC,WAAND,CACX,UAAC2B,MAAD,EAAiBC,MAAjB;AACE7B,IAAAA,cAAc,CACZ,UAACM,IAAD;UACQwB,IAAI,aAAOX,OAAO,CAACb,IAAD;UAClByB,IAAI,GAAGD,IAAI,CAACF,MAAD;AACjBE,MAAAA,IAAI,CAACF,MAAD,CAAJE,GAAeA,IAAI,CAACD,MAAD,CAAnBC;AACAA,MAAAA,IAAI,CAACD,MAAD,CAAJC,GAAeC,IAAfD;aACOA;AANG,KAAA,EAQZ,IARY,EASZ,IATY,CAAd9B;AAFS,GAAAC,EAcX,CAACD,cAAD,CAdWC;MAiBP+B,IAAI,GAAG/B,yBAAAA,CAAMC,WAAND,CACX,UAACgC,SAAD,EAAoBC,OAApB;AACElC,IAAAA,cAAc,CACZ,UAACM,IAAD;UACQwB,IAAI,aAAOX,OAAO,CAACb,IAAD;UAClByB,IAAI,GAAGD,IAAI,CAACG,SAAD;AAEjBH,MAAAA,IAAI,CAACK,MAALL,CAAYG,SAAZH,EAAuB,CAAvBA;AACAA,MAAAA,IAAI,CAACK,MAALL,CAAYI,OAAZJ,EAAqB,CAArBA,EAAwBC,IAAxBD;aACOA;AAPG,KAAA,EASZ,IATY,EAUZ,IAVY,CAAd9B;AAFS,GAAAC,EAeX,CAACD,cAAD,CAfWC;MAkBPmC,UAAU,GAAGnC,yBAAAA,CAAMoC,OAANpC,CAAc;QACzBqC,IAAI,GAAG9B,mBAAAA,CAAUX,MAAVW,EAAkBb,IAAlBa,KAA2B;;WAGjC8B,IAAI,CAACC,GAALD,CAAS,UAACpB,KAAD,EAAQG,KAAR;aACP;AACL1B,QAAAA,IAAI,EAAE,KAAK0B,KADN;;AAGLmB,QAAAA,MAAM,EAAElD,eAHH;AAIL4B,QAAAA,KAAK,EAAEA;AAJF;AADF,KAAAoB;AAJU,GAAArC,EAYhB,CAACJ,MAAD,EAASF,IAAT,CAZgBM;;MAcf,OAAOR,QAAP,KAAoB,YAAY;QAC9BgD,aAAS;AACXC,MAAAA,OAAO,CAACC,IAARD,CAAa,KAAbA,EAAoB,sDAApBA;;;WAEK;;;SAGFjD,QAAQ,CAAC2C,UAAD,EAAa;AAAEnB,IAAAA,GAAG,EAAHA,GAAF;AAAOG,IAAAA,MAAM,EAANA,MAAP;AAAeO,IAAAA,IAAI,EAAJA,IAAf;AAAqBF,IAAAA,YAAY,EAAZA,YAArB;AAAmCO,IAAAA,IAAI,EAAJA;AAAnC,GAAb;;;AAcjB,IAAIS,WAAJ,EAAa;AACXjD,EAAAA,QAAQ,CAACoD,WAATpD,GAAuB,UAAvBA;;;AAGF,IAAMkC,MAAM,GAAG,SAATA,MAAS,CAACmB,GAAD,EAAaxB,KAAb,EAA4BH,KAA5B;AACb2B,EAAAA,GAAG,aAAOA,IAAVA;AACAA,EAAAA,GAAG,CAACV,MAAJU,CAAWxB,KAAXwB,EAAkB,CAAlBA,EAAqB3B,KAArB2B;SACOA;AAHT,CAAA;;AAMA,IAAM1B,OAAO,GAAG,SAAVA,OAAU,CAAC0B,GAAD;SACP9C,qBAAAA,CAAQ8C,GAAR9C,IAAe8C,GAAf9C,GAAqB;AAD9B,CAAA;;"}
@@ -56,12 +56,12 @@ var FormMessage = /*#__PURE__*/React.forwardRef(function (_a, ref) {
56
56
 
57
57
 
58
58
  var message = field ? getFieldError(field) : null;
59
- var cls = classname.cx(prefixCls, className);
60
- return message ? /*#__PURE__*/React__default['default'].createElement("span", Object.assign({
59
+ var cls = classname.cx(prefixCls, className, message && prefixCls + "--show");
60
+ return /*#__PURE__*/React__default['default'].createElement("span", Object.assign({
61
61
  ref: ref,
62
62
  role: role,
63
63
  className: cls
64
- }, rest), message) : null;
64
+ }, rest), message);
65
65
  });
66
66
 
67
67
  if (env.__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,sBAAAA,CAAaF,KAAbE,CAAhB;AAEA;;;;;IAGaC,WAAW,gBAAGC,gBAAAA,CACzB,UAACC,EAAD,EAA6EC,GAA7E;wBAAGC;MAAAA,sCAAYN;mBAASO;MAAAA,4BAAOR;MAAOS,eAAAA;MAAqBC,WAAAA;MAAUC,wBAApE,YAAA,QAAA,aAAA,YAAA,SAAA;;wBAC2BC,sBAAAA;MAAlBC,aAAR,mBAAQA;;;;MAIFC,OAAO,GAAGJ,KAAK,GAAGG,aAAa,CAACH,KAAD,CAAhB,GAA0B;MACzCK,GAAG,GAAGC,YAAAA,CAAGT,SAAHS,EAAcP,SAAdO;SAELF,OAAO,gBACZG,yBAAAA,cAAAA,OAAAA;AAAMX,IAAAA,GAAG,EAAEA;AAAKE,IAAAA,IAAI,EAAEA;AAAMC,IAAAA,SAAS,EAAEM;KAASJ,KAAhDM,EAEGH,OAFHG,CADY,GAKV;AAd6B,CAAVb;;AAyC3B,IAAIc,WAAJ,EAAa;AACXf,EAAAA,WAAW,CAACgB,WAAZhB,GAA0B,aAA1BA;;;"}
1
+ {"version":3,"file":"FormMessage.js","sources":["../../src/FormMessage.tsx"],"sourcesContent":[null],"names":["_role","_prefix","getPrefixCls","FormMessage","forwardRef","_a","ref","prefixCls","role","className","field","rest","useFormContext","getFieldError","message","cls","cx","React","__DEV__","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,IAAMA,KAAK,GAAG,cAAd;;AACA,IAAMC,OAAO,GAAGC,sBAAAA,CAAaF,KAAbE,CAAhB;AAEA;;;;;IAGaC,WAAW,gBAAGC,gBAAAA,CACzB,UAACC,EAAD,EAA6EC,GAA7E;wBAAGC;MAAAA,sCAAYN;mBAASO;MAAAA,4BAAOR;MAAOS,eAAAA;MAAqBC,WAAAA;MAAUC,wBAApE,YAAA,QAAA,aAAA,YAAA,SAAA;;wBAC2BC,sBAAAA;MAAlBC,aAAR,mBAAQA;;;;MAIFC,OAAO,GAAQJ,KAAK,GAAGG,aAAa,CAACH,KAAD,CAAhB,GAA0B;MAE9CK,GAAG,GAAGC,YAAAA,CAAGT,SAAHS,EAAcP,SAAdO,EAAyBF,OAAO,IAAOP,SAAP,WAAhCS;sBAGVC,yBAAAA,cAAAA,OAAAA;AAAMX,IAAAA,GAAG,EAAEA;AAAKE,IAAAA,IAAI,EAAEA;AAAMC,IAAAA,SAAS,EAAEM;KAASJ,KAAhDM,EAEGH,OAFHG;AAX+B,CAAVb;;AA0C3B,IAAIc,WAAJ,EAAa;AACXf,EAAAA,WAAW,CAACgB,WAAZhB,GAA0B,aAA1BA;;;"}
@@ -0,0 +1,76 @@
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
+ 'use strict';
11
+
12
+ var _typeof = require("@babel/runtime/helpers/typeof");
13
+
14
+ Object.defineProperty(exports, '__esModule', {
15
+ value: true
16
+ });
17
+
18
+ var tslib = require('tslib');
19
+
20
+ var React = require('react');
21
+
22
+ var classname = require('@hi-ui/classname');
23
+
24
+ var env = require('@hi-ui/env');
25
+
26
+ var context = require('./context.js');
27
+
28
+ var Button = require('@hi-ui/button');
29
+
30
+ function _interopDefaultLegacy(e) {
31
+ return e && _typeof(e) === 'object' && 'default' in e ? e : {
32
+ 'default': e
33
+ };
34
+ }
35
+
36
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
37
+
38
+ var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
39
+
40
+ var FORM_RESET_PREFIX = classname.getPrefixCls('form-reset');
41
+ /**
42
+ * TODO: What is FormReset
43
+ */
44
+
45
+ var FormReset = /*#__PURE__*/React.forwardRef(function (_a, ref) {
46
+ var _a$prefixCls = _a.prefixCls,
47
+ prefixCls = _a$prefixCls === void 0 ? FORM_RESET_PREFIX : _a$prefixCls,
48
+ className = _a.className,
49
+ children = _a.children,
50
+ _a$type = _a.type,
51
+ type = _a$type === void 0 ? 'secondary' : _a$type,
52
+ _onClick = _a.onClick,
53
+ rest = tslib.__rest(_a, ["prefixCls", "className", "children", "type", "onClick"]);
54
+
55
+ var _useFormContext = context.useFormContext(),
56
+ resetForm = _useFormContext.resetForm;
57
+
58
+ var cls = classname.cx(prefixCls, className);
59
+ return /*#__PURE__*/React__default['default'].createElement(Button__default['default'], Object.assign({
60
+ ref: ref,
61
+ className: cls,
62
+ type: type
63
+ }, rest, {
64
+ onClick: function onClick() {
65
+ resetForm();
66
+ _onClick === null || _onClick === void 0 ? void 0 : _onClick();
67
+ }
68
+ }), children);
69
+ });
70
+
71
+ if (env.__DEV__) {
72
+ FormReset.displayName = 'FormReset';
73
+ }
74
+
75
+ exports.FormReset = FormReset;
76
+ //# 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,sBAAAA,CAAa,YAAbA,CAA1B;AAEA;;;;IAGaC,SAAS,gBAAGC,gBAAAA,CACvB,UACEC,EADF,EAEEC,GAFF;wBACIC;MAAAA,sCAAYN;MAAmBO,eAAAA;MAAWC,cAAAA;mBAAUC;MAAAA,4BAAO;MAAaC,cAAAA;MAAYC,wBAAtF,YAAA,aAAA,YAAA,QAAA,WAAA;;wBAGsBC,sBAAAA;MAAdC,SAAR,mBAAQA;;MAEFC,GAAG,GAAGC,YAAAA,CAAGT,SAAHS,EAAcR,SAAdQ;sBAEVC,yBAAAA,cAAAA,CAACC,0BAADD;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,CAAVb;;AA6BzB,IAAIe,WAAJ,EAAa;AACXhB,EAAAA,SAAS,CAACiB,WAAVjB,GAAwB,WAAxBA;;;"}
@@ -0,0 +1,87 @@
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
+ 'use strict';
11
+
12
+ var _typeof = require("@babel/runtime/helpers/typeof");
13
+
14
+ Object.defineProperty(exports, '__esModule', {
15
+ value: true
16
+ });
17
+
18
+ var tslib = require('tslib');
19
+
20
+ var React = require('react');
21
+
22
+ var classname = require('@hi-ui/classname');
23
+
24
+ var env = require('@hi-ui/env');
25
+
26
+ var context = require('./context.js');
27
+
28
+ var Button = require('@hi-ui/button');
29
+
30
+ function _interopDefaultLegacy(e) {
31
+ return e && _typeof(e) === 'object' && 'default' in e ? e : {
32
+ 'default': e
33
+ };
34
+ }
35
+
36
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
37
+
38
+ var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
39
+
40
+ var _role = 'form-submit';
41
+
42
+ var _prefix = classname.getPrefixCls(_role);
43
+ /**
44
+ * TODO: What is FormSubmit
45
+ */
46
+
47
+
48
+ var FormSubmit = /*#__PURE__*/React.forwardRef(function (_a, ref) {
49
+ var _a$prefixCls = _a.prefixCls,
50
+ prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
51
+ _a$role = _a.role,
52
+ role = _a$role === void 0 ? _role : _a$role,
53
+ className = _a.className,
54
+ children = _a.children,
55
+ _a$type = _a.type,
56
+ type = _a$type === void 0 ? 'primary' : _a$type,
57
+ _onClick = _a.onClick,
58
+ rest = tslib.__rest(_a, ["prefixCls", "role", "className", "children", "type", "onClick"]);
59
+
60
+ var _useFormContext = context.useFormContext(),
61
+ submitForm = _useFormContext.submitForm;
62
+
63
+ var cls = classname.cx(prefixCls, className);
64
+ return /*#__PURE__*/React__default['default'].createElement(Button__default['default'], Object.assign({
65
+ ref: ref,
66
+ role: role,
67
+ className: cls,
68
+ type: type
69
+ }, rest, {
70
+ onClick: function onClick(evt) {
71
+ evt.preventDefault();
72
+ evt.stopPropagation();
73
+ submitForm().then(function (result) {
74
+ _onClick === null || _onClick === void 0 ? void 0 : _onClick(result, null);
75
+ })["catch"](function (error) {
76
+ _onClick === null || _onClick === void 0 ? void 0 : _onClick(null, error);
77
+ });
78
+ }
79
+ }), children);
80
+ });
81
+
82
+ if (env.__DEV__) {
83
+ FormSubmit.displayName = 'FormSubmit';
84
+ }
85
+
86
+ exports.FormSubmit = FormSubmit;
87
+ //# 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,sBAAAA,CAAaF,KAAbE,CAAhB;AAEA;;;;;IAGaC,UAAU,gBAAGC,gBAAAA,CACxB,UACEC,EADF,EAEEC,GAFF;wBACIC;MAAAA,sCAAYN;mBAASO;MAAAA,4BAAOR;MAAOS,eAAAA;MAAWC,cAAAA;mBAAUC;MAAAA,4BAAO;MAAWC,cAAAA;MAAYC,wBAAxF,YAAA,QAAA,aAAA,YAAA,QAAA,WAAA;;wBAGuBC,sBAAAA;MAAfC,UAAR,mBAAQA;;MAEFC,GAAG,GAAGC,YAAAA,CAAGV,SAAHU,EAAcR,SAAdQ;sBAGVC,yBAAAA,cAAAA,CAACC,0BAADD;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,CAAVd;;AAwC1B,IAAIsB,WAAJ,EAAa;AACXvB,EAAAA,UAAU,CAACwB,WAAXxB,GAAyB,YAAzBA;;;"}
package/lib/cjs/index.js CHANGED
@@ -21,9 +21,15 @@ var FormItem = require('./FormItem.js');
21
21
 
22
22
  var FormList = require('./FormList.js');
23
23
 
24
+ var FormSubmit = require('./FormSubmit.js');
25
+
26
+ var FormReset = require('./FormReset.js');
27
+
24
28
  exports.FORM_REGISTER_TABLE = Form.FORM_REGISTER_TABLE;
25
29
  exports.Form = Form.Form;
26
30
  exports["default"] = Form.Form;
27
31
  exports.FormItem = FormItem.FormItem;
28
32
  exports.FormList = FormList.FormList;
33
+ exports.FormSubmit = FormSubmit.FormSubmit;
34
+ exports.FormReset = FormReset.FormReset;
29
35
  //# sourceMappingURL=index.js.map