@hw-component/form 1.9.12 → 1.9.14
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/es/Input/InputNumberGroup.js +50 -22
- package/es/index.css +13 -0
- package/lib/Input/InputNumberGroup.js +49 -21
- package/lib/index.css +13 -0
- package/package.json +1 -1
- package/src/components/Input/InputNumberGroup.tsx +18 -4
- package/src/components/Input/index.less +7 -0
- package/src/pages/Form/index.tsx +0 -5
- package/src/pages/InputNumberGroup/index.tsx +15 -0
- package/src/routes.tsx +6 -0
|
@@ -3,7 +3,7 @@ import _typeof from '@babel/runtime-corejs3/helpers/typeof';
|
|
|
3
3
|
import _objectWithoutProperties from '@babel/runtime-corejs3/helpers/objectWithoutProperties';
|
|
4
4
|
import _defineProperty from '@babel/runtime-corejs3/helpers/defineProperty';
|
|
5
5
|
import _slicedToArray from '@babel/runtime-corejs3/helpers/slicedToArray';
|
|
6
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
6
|
+
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
7
7
|
import { Input, InputNumber } from 'antd';
|
|
8
8
|
import { SwapRightOutlined } from '@ant-design/icons';
|
|
9
9
|
import React, { useState, useMemo } from 'react';
|
|
@@ -22,24 +22,47 @@ var useArrayProps = function useArrayProps(props) {
|
|
|
22
22
|
return [props, props];
|
|
23
23
|
}, [props]);
|
|
24
24
|
};
|
|
25
|
-
var
|
|
26
|
-
var
|
|
27
|
-
value = _ref
|
|
28
|
-
|
|
29
|
-
|
|
25
|
+
var Addon = function Addon(_ref) {
|
|
26
|
+
var children = _ref.children,
|
|
27
|
+
value = _ref.value,
|
|
28
|
+
onChange = _ref.onChange;
|
|
29
|
+
var addonClassname = useClassName(["hw-input-group-addon"]);
|
|
30
|
+
if (!children) {
|
|
31
|
+
return jsx(Fragment, {});
|
|
32
|
+
}
|
|
33
|
+
if (/*#__PURE__*/React.isValidElement(children)) {
|
|
34
|
+
return jsx("div", {
|
|
35
|
+
className: addonClassname,
|
|
36
|
+
children: /*#__PURE__*/React.cloneElement(children, {
|
|
37
|
+
value: value,
|
|
38
|
+
onChange: onChange
|
|
39
|
+
})
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
return jsx("div", {
|
|
43
|
+
className: addonClassname,
|
|
44
|
+
children: children
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
var InputNumberGroup = function InputNumberGroup(_ref2) {
|
|
48
|
+
var _ref2$value = _ref2.value,
|
|
49
|
+
value = _ref2$value === void 0 ? {} : _ref2$value,
|
|
50
|
+
_ref2$valueMap = _ref2.valueMap,
|
|
51
|
+
valueMap = _ref2$valueMap === void 0 ? {
|
|
30
52
|
min: "min",
|
|
31
53
|
max: "max"
|
|
32
|
-
} :
|
|
33
|
-
onChange =
|
|
34
|
-
|
|
35
|
-
placeholder =
|
|
36
|
-
|
|
37
|
-
inputNumberProps =
|
|
38
|
-
addonAfter =
|
|
39
|
-
|
|
40
|
-
noHandlerWrap =
|
|
41
|
-
addFormat =
|
|
42
|
-
disabled =
|
|
54
|
+
} : _ref2$valueMap,
|
|
55
|
+
onChange = _ref2.onChange,
|
|
56
|
+
_ref2$placeholder = _ref2.placeholder,
|
|
57
|
+
placeholder = _ref2$placeholder === void 0 ? ["请输入", "请输入"] : _ref2$placeholder,
|
|
58
|
+
_ref2$inputNumberProp = _ref2.inputNumberProps,
|
|
59
|
+
inputNumberProps = _ref2$inputNumberProp === void 0 ? {} : _ref2$inputNumberProp,
|
|
60
|
+
addonAfter = _ref2.addonAfter,
|
|
61
|
+
_ref2$noHandlerWrap = _ref2.noHandlerWrap,
|
|
62
|
+
noHandlerWrap = _ref2$noHandlerWrap === void 0 ? true : _ref2$noHandlerWrap,
|
|
63
|
+
addFormat = _ref2.addFormat,
|
|
64
|
+
disabled = _ref2.disabled,
|
|
65
|
+
addonBefore = _ref2.addonBefore;
|
|
43
66
|
var min = valueMap.min,
|
|
44
67
|
max = valueMap.max;
|
|
45
68
|
var minVal = value[min],
|
|
@@ -99,10 +122,11 @@ var InputNumberGroup = function InputNumberGroup(_ref) {
|
|
|
99
122
|
return jsxs(Input.Group, {
|
|
100
123
|
compact: true,
|
|
101
124
|
className: contentClassname,
|
|
102
|
-
children: [
|
|
125
|
+
children: [jsx(Addon, {
|
|
103
126
|
value: value,
|
|
104
|
-
onChange: onChange
|
|
105
|
-
|
|
127
|
+
onChange: onChange,
|
|
128
|
+
children: addonBefore
|
|
129
|
+
}), jsxs("div", {
|
|
106
130
|
className: "".concat(bodyClassname, " \n ").concat(focus ? activeClassname : "", " \n ").concat(noHandlerWrap ? noHandlerWrapClassname : "", "\n ").concat(disabled ? disabledClassname : notDisabledClassname, "\n "),
|
|
107
131
|
children: [jsx("span", {
|
|
108
132
|
className: borderClassname
|
|
@@ -145,14 +169,18 @@ var InputNumberGroup = function InputNumberGroup(_ref) {
|
|
|
145
169
|
}, edProps), {}, {
|
|
146
170
|
disabled: disabled
|
|
147
171
|
}))]
|
|
172
|
+
}), jsx(Addon, {
|
|
173
|
+
value: value,
|
|
174
|
+
onChange: onChange,
|
|
175
|
+
children: addonAfter
|
|
148
176
|
})]
|
|
149
177
|
});
|
|
150
178
|
};
|
|
151
179
|
var Index = HFormConnect(InputNumberGroup);
|
|
152
180
|
var HInputNumberGroup = {
|
|
153
181
|
Component: Index,
|
|
154
|
-
placeholder: function placeholder(
|
|
155
|
-
var label =
|
|
182
|
+
placeholder: function placeholder(_ref5) {
|
|
183
|
+
var label = _ref5.label;
|
|
156
184
|
return ["\u8BF7\u8F93\u5165".concat(label, "\u6700\u5C0F\u503C"), "\u8BF7\u8F93\u5165".concat(label, "\u6700\u5927\u503C")];
|
|
157
185
|
}
|
|
158
186
|
};
|
package/es/index.css
CHANGED
|
@@ -148,6 +148,19 @@
|
|
|
148
148
|
border-color: #40a9ff;
|
|
149
149
|
box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
|
|
150
150
|
}
|
|
151
|
+
.ant-hw-input-group .ant-hw-input-group-addon {
|
|
152
|
+
padding: 0 11px;
|
|
153
|
+
background-color: #fafafa;
|
|
154
|
+
border: 1px solid #d9d9d9;
|
|
155
|
+
display: -webkit-box !important;
|
|
156
|
+
display: -webkit-flex !important;
|
|
157
|
+
display: -ms-flexbox !important;
|
|
158
|
+
display: flex !important;
|
|
159
|
+
-webkit-box-align: center;
|
|
160
|
+
-webkit-align-items: center;
|
|
161
|
+
-ms-flex-align: center;
|
|
162
|
+
align-items: center;
|
|
163
|
+
}
|
|
151
164
|
.ant-hw-color-box {
|
|
152
165
|
width: 22px;
|
|
153
166
|
height: 22px;
|
|
@@ -25,24 +25,47 @@ var useArrayProps = function useArrayProps(props) {
|
|
|
25
25
|
return [props, props];
|
|
26
26
|
}, [props]);
|
|
27
27
|
};
|
|
28
|
-
var
|
|
29
|
-
var
|
|
30
|
-
value = _ref
|
|
31
|
-
|
|
32
|
-
|
|
28
|
+
var Addon = function Addon(_ref) {
|
|
29
|
+
var children = _ref.children,
|
|
30
|
+
value = _ref.value,
|
|
31
|
+
onChange = _ref.onChange;
|
|
32
|
+
var addonClassname = index.useClassName(["hw-input-group-addon"]);
|
|
33
|
+
if (!children) {
|
|
34
|
+
return jsxRuntime.jsx(jsxRuntime.Fragment, {});
|
|
35
|
+
}
|
|
36
|
+
if (/*#__PURE__*/React.isValidElement(children)) {
|
|
37
|
+
return jsxRuntime.jsx("div", {
|
|
38
|
+
className: addonClassname,
|
|
39
|
+
children: /*#__PURE__*/React.cloneElement(children, {
|
|
40
|
+
value: value,
|
|
41
|
+
onChange: onChange
|
|
42
|
+
})
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
return jsxRuntime.jsx("div", {
|
|
46
|
+
className: addonClassname,
|
|
47
|
+
children: children
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
var InputNumberGroup = function InputNumberGroup(_ref2) {
|
|
51
|
+
var _ref2$value = _ref2.value,
|
|
52
|
+
value = _ref2$value === void 0 ? {} : _ref2$value,
|
|
53
|
+
_ref2$valueMap = _ref2.valueMap,
|
|
54
|
+
valueMap = _ref2$valueMap === void 0 ? {
|
|
33
55
|
min: "min",
|
|
34
56
|
max: "max"
|
|
35
|
-
} :
|
|
36
|
-
onChange =
|
|
37
|
-
|
|
38
|
-
placeholder =
|
|
39
|
-
|
|
40
|
-
inputNumberProps =
|
|
41
|
-
addonAfter =
|
|
42
|
-
|
|
43
|
-
noHandlerWrap =
|
|
44
|
-
addFormat =
|
|
45
|
-
disabled =
|
|
57
|
+
} : _ref2$valueMap,
|
|
58
|
+
onChange = _ref2.onChange,
|
|
59
|
+
_ref2$placeholder = _ref2.placeholder,
|
|
60
|
+
placeholder = _ref2$placeholder === void 0 ? ["请输入", "请输入"] : _ref2$placeholder,
|
|
61
|
+
_ref2$inputNumberProp = _ref2.inputNumberProps,
|
|
62
|
+
inputNumberProps = _ref2$inputNumberProp === void 0 ? {} : _ref2$inputNumberProp,
|
|
63
|
+
addonAfter = _ref2.addonAfter,
|
|
64
|
+
_ref2$noHandlerWrap = _ref2.noHandlerWrap,
|
|
65
|
+
noHandlerWrap = _ref2$noHandlerWrap === void 0 ? true : _ref2$noHandlerWrap,
|
|
66
|
+
addFormat = _ref2.addFormat,
|
|
67
|
+
disabled = _ref2.disabled,
|
|
68
|
+
addonBefore = _ref2.addonBefore;
|
|
46
69
|
var min = valueMap.min,
|
|
47
70
|
max = valueMap.max;
|
|
48
71
|
var minVal = value[min],
|
|
@@ -102,10 +125,11 @@ var InputNumberGroup = function InputNumberGroup(_ref) {
|
|
|
102
125
|
return jsxRuntime.jsxs(antd.Input.Group, {
|
|
103
126
|
compact: true,
|
|
104
127
|
className: contentClassname,
|
|
105
|
-
children: [
|
|
128
|
+
children: [jsxRuntime.jsx(Addon, {
|
|
106
129
|
value: value,
|
|
107
|
-
onChange: onChange
|
|
108
|
-
|
|
130
|
+
onChange: onChange,
|
|
131
|
+
children: addonBefore
|
|
132
|
+
}), jsxRuntime.jsxs("div", {
|
|
109
133
|
className: "".concat(bodyClassname, " \n ").concat(focus ? activeClassname : "", " \n ").concat(noHandlerWrap ? noHandlerWrapClassname : "", "\n ").concat(disabled ? disabledClassname : notDisabledClassname, "\n "),
|
|
110
134
|
children: [jsxRuntime.jsx("span", {
|
|
111
135
|
className: borderClassname
|
|
@@ -148,14 +172,18 @@ var InputNumberGroup = function InputNumberGroup(_ref) {
|
|
|
148
172
|
}, edProps), {}, {
|
|
149
173
|
disabled: disabled
|
|
150
174
|
}))]
|
|
175
|
+
}), jsxRuntime.jsx(Addon, {
|
|
176
|
+
value: value,
|
|
177
|
+
onChange: onChange,
|
|
178
|
+
children: addonAfter
|
|
151
179
|
})]
|
|
152
180
|
});
|
|
153
181
|
};
|
|
154
182
|
var Index = HFormConnect.default(InputNumberGroup);
|
|
155
183
|
var HInputNumberGroup = {
|
|
156
184
|
Component: Index,
|
|
157
|
-
placeholder: function placeholder(
|
|
158
|
-
var label =
|
|
185
|
+
placeholder: function placeholder(_ref5) {
|
|
186
|
+
var label = _ref5.label;
|
|
159
187
|
return ["\u8BF7\u8F93\u5165".concat(label, "\u6700\u5C0F\u503C"), "\u8BF7\u8F93\u5165".concat(label, "\u6700\u5927\u503C")];
|
|
160
188
|
}
|
|
161
189
|
};
|
package/lib/index.css
CHANGED
|
@@ -148,6 +148,19 @@
|
|
|
148
148
|
border-color: #40a9ff;
|
|
149
149
|
box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
|
|
150
150
|
}
|
|
151
|
+
.ant-hw-input-group .ant-hw-input-group-addon {
|
|
152
|
+
padding: 0 11px;
|
|
153
|
+
background-color: #fafafa;
|
|
154
|
+
border: 1px solid #d9d9d9;
|
|
155
|
+
display: -webkit-box !important;
|
|
156
|
+
display: -webkit-flex !important;
|
|
157
|
+
display: -ms-flexbox !important;
|
|
158
|
+
display: flex !important;
|
|
159
|
+
-webkit-box-align: center;
|
|
160
|
+
-webkit-align-items: center;
|
|
161
|
+
-ms-flex-align: center;
|
|
162
|
+
align-items: center;
|
|
163
|
+
}
|
|
151
164
|
.ant-hw-color-box {
|
|
152
165
|
width: 22px;
|
|
153
166
|
height: 22px;
|
package/package.json
CHANGED
|
@@ -19,6 +19,7 @@ interface IProps<T = any> {
|
|
|
19
19
|
addFormat?: (config: Record<string, addFormatItemModal>) => void;
|
|
20
20
|
noHandlerWrap?: boolean;
|
|
21
21
|
disabled?: boolean;
|
|
22
|
+
addonBefore?:React.ReactNode
|
|
22
23
|
}
|
|
23
24
|
const useArrayProps = (props: any) => {
|
|
24
25
|
return useMemo(() => {
|
|
@@ -28,6 +29,20 @@ const useArrayProps = (props: any) => {
|
|
|
28
29
|
return [props, props];
|
|
29
30
|
}, [props]);
|
|
30
31
|
};
|
|
32
|
+
const Addon:React.FC<IProps>=({children,value,onChange})=>{
|
|
33
|
+
const addonClassname=useClassName(["hw-input-group-addon"])
|
|
34
|
+
if (!children){
|
|
35
|
+
return <></>
|
|
36
|
+
}
|
|
37
|
+
if (React.isValidElement(children)){
|
|
38
|
+
return <div className={addonClassname}>
|
|
39
|
+
{ React.cloneElement(children as any, { value, onChange })}
|
|
40
|
+
</div>
|
|
41
|
+
}
|
|
42
|
+
return <div className={addonClassname}>
|
|
43
|
+
{children}
|
|
44
|
+
</div>
|
|
45
|
+
}
|
|
31
46
|
const InputNumberGroup = ({
|
|
32
47
|
value = {},
|
|
33
48
|
valueMap = { min: "min", max: "max" },
|
|
@@ -38,6 +53,7 @@ const InputNumberGroup = ({
|
|
|
38
53
|
noHandlerWrap = true,
|
|
39
54
|
addFormat,
|
|
40
55
|
disabled,
|
|
56
|
+
addonBefore,
|
|
41
57
|
}: IProps) => {
|
|
42
58
|
const { min, max } = valueMap;
|
|
43
59
|
const { [min]: minVal, [max]: maxVal } = value;
|
|
@@ -52,7 +68,6 @@ const InputNumberGroup = ({
|
|
|
52
68
|
const iconClassname = useClassName(["hw-input-group-icon"]);
|
|
53
69
|
const disabledClassname = useClassName(["hw-input-group-disabled"]);
|
|
54
70
|
const notDisabledClassname = useClassName(["hw-input-group-not-disabled"]);
|
|
55
|
-
|
|
56
71
|
const noHandlerWrapClassname = useClassName([
|
|
57
72
|
"hw-input-group-no-handler-wrap",
|
|
58
73
|
]);
|
|
@@ -96,9 +111,7 @@ const InputNumberGroup = ({
|
|
|
96
111
|
};
|
|
97
112
|
return (
|
|
98
113
|
<Input.Group compact className={contentClassname}>
|
|
99
|
-
{
|
|
100
|
-
? React.cloneElement(addonAfter as any, { value, onChange })
|
|
101
|
-
: addonAfter}
|
|
114
|
+
<Addon value={value} onChange={onChange}>{addonBefore}</Addon>
|
|
102
115
|
<div
|
|
103
116
|
className={`${bodyClassname}
|
|
104
117
|
${focus ? activeClassname : ""}
|
|
@@ -148,6 +161,7 @@ const InputNumberGroup = ({
|
|
|
148
161
|
disabled={disabled}
|
|
149
162
|
/>
|
|
150
163
|
</div>
|
|
164
|
+
<Addon value={value} onChange={onChange}>{addonAfter}</Addon>
|
|
151
165
|
</Input.Group>
|
|
152
166
|
);
|
|
153
167
|
};
|
|
@@ -51,6 +51,13 @@
|
|
|
51
51
|
border-color: #40a9ff;
|
|
52
52
|
box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
|
|
53
53
|
}
|
|
54
|
+
.@{all-input-group}-addon{
|
|
55
|
+
padding: 0 11px;
|
|
56
|
+
background-color: #fafafa;
|
|
57
|
+
border: 1px solid #d9d9d9;
|
|
58
|
+
display: flex !important;
|
|
59
|
+
align-items: center;
|
|
60
|
+
}
|
|
54
61
|
}
|
|
55
62
|
|
|
56
63
|
.@{ant-prefix}-hw-color-box {
|
package/src/pages/Form/index.tsx
CHANGED
|
@@ -134,13 +134,8 @@ export default () => {
|
|
|
134
134
|
>
|
|
135
135
|
<HForm
|
|
136
136
|
configData={formData(options)}
|
|
137
|
-
labelWidth={300}
|
|
138
137
|
dismissOnPressEnter={false}
|
|
139
138
|
form={form}
|
|
140
|
-
layout={"vertical"}
|
|
141
|
-
itemSpan={{
|
|
142
|
-
span: 12,
|
|
143
|
-
}}
|
|
144
139
|
labelAlign={"left"}
|
|
145
140
|
onFinish={(value) => {
|
|
146
141
|
console.log(value, "onFinish");
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import {HInputNumberGroup} from '@/components';
|
|
2
|
+
import {Col, Row} from 'antd';
|
|
3
|
+
const Test=({value,onChange})=>{
|
|
4
|
+
console.log(value)
|
|
5
|
+
return <div onClick={()=>{
|
|
6
|
+
onChange(1);
|
|
7
|
+
}}>1231</div>
|
|
8
|
+
}
|
|
9
|
+
export default ()=>{
|
|
10
|
+
return <Row style={{marginTop:20,marginLeft:20}}>
|
|
11
|
+
<Col span={10}>
|
|
12
|
+
<HInputNumberGroup addonBefore={<Test/>} />
|
|
13
|
+
</Col>
|
|
14
|
+
</Row>
|
|
15
|
+
}
|
package/src/routes.tsx
CHANGED
|
@@ -10,6 +10,7 @@ import Upload from "./pages/Upload";
|
|
|
10
10
|
import Form from "./pages/Form";
|
|
11
11
|
import ModalForm from "./pages/ModalForm";
|
|
12
12
|
import DrawerForm from "./pages/DrawerForm";
|
|
13
|
+
import InputNumberGroup from "./pages/InputNumberGroup";
|
|
13
14
|
|
|
14
15
|
export interface RouteModal {
|
|
15
16
|
path?: string;
|
|
@@ -75,6 +76,11 @@ const routes: RouteModal[] = [
|
|
|
75
76
|
name: "抽屉表单",
|
|
76
77
|
element: <DrawerForm />,
|
|
77
78
|
},
|
|
79
|
+
{
|
|
80
|
+
path: "/inputNumberGroup",
|
|
81
|
+
name: "数字输入框",
|
|
82
|
+
element:<InputNumberGroup/>,
|
|
83
|
+
},
|
|
78
84
|
];
|
|
79
85
|
|
|
80
86
|
export default routes;
|