@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.
@@ -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 InputNumberGroup = function InputNumberGroup(_ref) {
26
- var _ref$value = _ref.value,
27
- value = _ref$value === void 0 ? {} : _ref$value,
28
- _ref$valueMap = _ref.valueMap,
29
- valueMap = _ref$valueMap === void 0 ? {
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
- } : _ref$valueMap,
33
- onChange = _ref.onChange,
34
- _ref$placeholder = _ref.placeholder,
35
- placeholder = _ref$placeholder === void 0 ? ["请输入", "请输入"] : _ref$placeholder,
36
- _ref$inputNumberProps = _ref.inputNumberProps,
37
- inputNumberProps = _ref$inputNumberProps === void 0 ? {} : _ref$inputNumberProps,
38
- addonAfter = _ref.addonAfter,
39
- _ref$noHandlerWrap = _ref.noHandlerWrap,
40
- noHandlerWrap = _ref$noHandlerWrap === void 0 ? true : _ref$noHandlerWrap,
41
- addFormat = _ref.addFormat,
42
- disabled = _ref.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: [addonAfter ? /*#__PURE__*/React.cloneElement(addonAfter, {
125
+ children: [jsx(Addon, {
103
126
  value: value,
104
- onChange: onChange
105
- }) : addonAfter, jsxs("div", {
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(_ref4) {
155
- var label = _ref4.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 InputNumberGroup = function InputNumberGroup(_ref) {
29
- var _ref$value = _ref.value,
30
- value = _ref$value === void 0 ? {} : _ref$value,
31
- _ref$valueMap = _ref.valueMap,
32
- valueMap = _ref$valueMap === void 0 ? {
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
- } : _ref$valueMap,
36
- onChange = _ref.onChange,
37
- _ref$placeholder = _ref.placeholder,
38
- placeholder = _ref$placeholder === void 0 ? ["请输入", "请输入"] : _ref$placeholder,
39
- _ref$inputNumberProps = _ref.inputNumberProps,
40
- inputNumberProps = _ref$inputNumberProps === void 0 ? {} : _ref$inputNumberProps,
41
- addonAfter = _ref.addonAfter,
42
- _ref$noHandlerWrap = _ref.noHandlerWrap,
43
- noHandlerWrap = _ref$noHandlerWrap === void 0 ? true : _ref$noHandlerWrap,
44
- addFormat = _ref.addFormat,
45
- disabled = _ref.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: [addonAfter ? /*#__PURE__*/React.cloneElement(addonAfter, {
128
+ children: [jsxRuntime.jsx(Addon, {
106
129
  value: value,
107
- onChange: onChange
108
- }) : addonAfter, jsxRuntime.jsxs("div", {
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(_ref4) {
158
- var label = _ref4.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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hw-component/form",
3
- "version": "1.9.12",
3
+ "version": "1.9.14",
4
4
  "description": "基于antd二次开发",
5
5
  "repository": {
6
6
  "type": "git",
@@ -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
- {addonAfter
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 {
@@ -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;