@rainbow-oh/yee-c 0.15.0 → 0.15.2
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/dist/cjs/InputNumber/demo/basic.js +1 -1
- package/dist/cjs/InputNumber/input-number.js +17 -4
- package/dist/cjs/InputNumber/interface.d.ts +3 -3
- package/dist/cjs/Table/interface.d.ts +3 -1
- package/dist/cjs/Table/theader/filter.js +1 -1
- package/dist/cjs/style/themes.css +1 -1
- package/dist/cjs/style/variables.css +1 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/InputNumber/demo/basic.js +1 -1
- package/dist/esm/InputNumber/input-number.js +20 -4
- package/dist/esm/InputNumber/interface.d.ts +3 -3
- package/dist/esm/Table/interface.d.ts +3 -1
- package/dist/esm/Table/theader/filter.js +5 -1
- package/dist/esm/style/themes.css +1 -1
- package/dist/esm/style/variables.css +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/umd/yee-c.min.js +1 -1
- package/package.json +1 -1
- package/src/InputNumber/demo/basic.tsx +1 -1
- package/src/InputNumber/index.en-US.md +2 -2
- package/src/InputNumber/index.zh-CN.md +2 -2
- package/src/InputNumber/input-number.tsx +27 -6
- package/src/InputNumber/interface.ts +3 -3
- package/src/Table/index.en-US.md +1 -1
- package/src/Table/index.zh-CN.md +1 -1
- package/src/Table/interface.ts +1 -1
- package/src/Table/theader/filter.tsx +1 -1
- package/src/version.ts +1 -1
|
@@ -133,8 +133,14 @@ var InputNumber = (0, import_react.forwardRef)(
|
|
|
133
133
|
});
|
|
134
134
|
const [focused, setFocused] = (0, import_react.useState)(false);
|
|
135
135
|
const inputRef = (0, import_react.useRef)(null);
|
|
136
|
+
function toNumber(val) {
|
|
137
|
+
if (val === null || val === void 0 || val === "")
|
|
138
|
+
return null;
|
|
139
|
+
const n = Number(val);
|
|
140
|
+
return Number.isNaN(n) ? null : n;
|
|
141
|
+
}
|
|
136
142
|
function formatValue(val) {
|
|
137
|
-
if (val === null || val === void 0 || isNaN(val))
|
|
143
|
+
if (val === null || val === void 0 || val === "" || isNaN(val))
|
|
138
144
|
return "";
|
|
139
145
|
let formattedVal = precision !== void 0 ? Number(val).toFixed(precision) : val;
|
|
140
146
|
if (formatter) {
|
|
@@ -199,10 +205,11 @@ var InputNumber = (0, import_react.forwardRef)(
|
|
|
199
205
|
onFocus == null ? void 0 : onFocus(event);
|
|
200
206
|
};
|
|
201
207
|
const handleStep = (type) => {
|
|
208
|
+
var _a2;
|
|
202
209
|
if (disabled || readOnly)
|
|
203
210
|
return;
|
|
204
211
|
const offset = type === "up" ? step : -step;
|
|
205
|
-
const currentValue = mergedValue != null ?
|
|
212
|
+
const currentValue = (_a2 = toNumber(mergedValue)) != null ? _a2 : 0;
|
|
206
213
|
const newValue = currentValue + offset;
|
|
207
214
|
updateValue(newValue);
|
|
208
215
|
onStep == null ? void 0 : onStep(newValue, { offset, type });
|
|
@@ -303,7 +310,10 @@ var InputNumber = (0, import_react.forwardRef)(
|
|
|
303
310
|
`${prefixCls}-handler`,
|
|
304
311
|
`${prefixCls}-handler-up`,
|
|
305
312
|
{
|
|
306
|
-
[`${prefixCls}-handler-disabled`]: disabled ||
|
|
313
|
+
[`${prefixCls}-handler-disabled`]: disabled || (() => {
|
|
314
|
+
const n = toNumber(mergedValue);
|
|
315
|
+
return n !== null && n >= max;
|
|
316
|
+
})()
|
|
307
317
|
}
|
|
308
318
|
),
|
|
309
319
|
onClick: () => handleStep("up")
|
|
@@ -317,7 +327,10 @@ var InputNumber = (0, import_react.forwardRef)(
|
|
|
317
327
|
`${prefixCls}-handler`,
|
|
318
328
|
`${prefixCls}-handler-down`,
|
|
319
329
|
{
|
|
320
|
-
[`${prefixCls}-handler-disabled`]: disabled ||
|
|
330
|
+
[`${prefixCls}-handler-disabled`]: disabled || (() => {
|
|
331
|
+
const n = toNumber(mergedValue);
|
|
332
|
+
return n !== null && n <= min;
|
|
333
|
+
})()
|
|
321
334
|
}
|
|
322
335
|
),
|
|
323
336
|
onClick: () => handleStep("down")
|
|
@@ -26,13 +26,13 @@ export interface InputNumberProps extends Omit<React.InputHTMLAttributes<HTMLInp
|
|
|
26
26
|
*/
|
|
27
27
|
size?: 'small' | 'default' | 'large';
|
|
28
28
|
/**
|
|
29
|
-
* Controlled value
|
|
29
|
+
* Controlled value('' 视为空值,配合 formatter 不会渲染成 0)
|
|
30
30
|
*/
|
|
31
|
-
value?: number | null;
|
|
31
|
+
value?: number | string | null;
|
|
32
32
|
/**
|
|
33
33
|
* Default value
|
|
34
34
|
*/
|
|
35
|
-
defaultValue?: number | null;
|
|
35
|
+
defaultValue?: number | string | null;
|
|
36
36
|
/**
|
|
37
37
|
* Minimum value
|
|
38
38
|
*/
|
|
@@ -150,7 +150,7 @@ var HeaderFilter = import_react.default.memo((props) => {
|
|
|
150
150
|
}
|
|
151
151
|
) : null;
|
|
152
152
|
if (render) {
|
|
153
|
-
popup = render();
|
|
153
|
+
popup = render({ close: () => setOpen(false) });
|
|
154
154
|
} else if (items) {
|
|
155
155
|
let dataSource = [];
|
|
156
156
|
const inputValue = getStrLower(searchValue);
|
package/dist/cjs/version.d.ts
CHANGED
package/dist/cjs/version.js
CHANGED
|
@@ -6,7 +6,7 @@ import { InputNumber } from "../..";
|
|
|
6
6
|
import React from 'react';
|
|
7
7
|
export default (function () {
|
|
8
8
|
return /*#__PURE__*/React.createElement(InputNumber, {
|
|
9
|
-
defaultValue:
|
|
9
|
+
defaultValue: 123,
|
|
10
10
|
placeholder: "Enter a number",
|
|
11
11
|
onChange: function onChange(value) {
|
|
12
12
|
return console.log('value:', value);
|
|
@@ -71,9 +71,18 @@ var InputNumber = /*#__PURE__*/forwardRef(function (baseprops, _ref) {
|
|
|
71
71
|
setFocused = _useState2[1];
|
|
72
72
|
var inputRef = useRef(null);
|
|
73
73
|
|
|
74
|
+
/** 字符串值(表单 store 常见)参与算术/比较前转数字;不可解析返回 null */
|
|
75
|
+
function toNumber(val) {
|
|
76
|
+
if (val === null || val === undefined || val === '') return null;
|
|
77
|
+
var n = Number(val);
|
|
78
|
+
return Number.isNaN(n) ? null : n;
|
|
79
|
+
}
|
|
80
|
+
|
|
74
81
|
// Format value
|
|
75
82
|
function formatValue(val) {
|
|
76
|
-
|
|
83
|
+
// '' 与 null/undefined 同为空值:Number('') === 0,若不拦截会被
|
|
84
|
+
// formatter/precision 格式化成 '0'(如全局千分位 formatter 场景)
|
|
85
|
+
if (val === null || val === undefined || val === '' || isNaN(val)) return '';
|
|
77
86
|
var formattedVal = precision !== undefined ? Number(val).toFixed(precision) : val;
|
|
78
87
|
if (formatter) {
|
|
79
88
|
return formatter(Number(formattedVal));
|
|
@@ -148,9 +157,10 @@ var InputNumber = /*#__PURE__*/forwardRef(function (baseprops, _ref) {
|
|
|
148
157
|
onFocus === null || onFocus === void 0 || onFocus(event);
|
|
149
158
|
};
|
|
150
159
|
var handleStep = function handleStep(type) {
|
|
160
|
+
var _toNumber;
|
|
151
161
|
if (disabled || readOnly) return;
|
|
152
162
|
var offset = type === 'up' ? step : -step;
|
|
153
|
-
var currentValue = mergedValue !== null &&
|
|
163
|
+
var currentValue = (_toNumber = toNumber(mergedValue)) !== null && _toNumber !== void 0 ? _toNumber : 0;
|
|
154
164
|
var newValue = currentValue + offset;
|
|
155
165
|
updateValue(newValue);
|
|
156
166
|
onStep === null || onStep === void 0 || onStep(newValue, {
|
|
@@ -221,7 +231,10 @@ var InputNumber = /*#__PURE__*/forwardRef(function (baseprops, _ref) {
|
|
|
221
231
|
className: clsx("".concat(prefixCls, "-handler-wrap"), classNames === null || classNames === void 0 ? void 0 : classNames.handler),
|
|
222
232
|
style: styles === null || styles === void 0 ? void 0 : styles.handler
|
|
223
233
|
}, /*#__PURE__*/React.createElement("span", {
|
|
224
|
-
className: clsx("".concat(prefixCls, "-handler"), "".concat(prefixCls, "-handler-up"), _defineProperty({}, "".concat(prefixCls, "-handler-disabled"), disabled ||
|
|
234
|
+
className: clsx("".concat(prefixCls, "-handler"), "".concat(prefixCls, "-handler-up"), _defineProperty({}, "".concat(prefixCls, "-handler-disabled"), disabled || function () {
|
|
235
|
+
var n = toNumber(mergedValue);
|
|
236
|
+
return n !== null && n >= max;
|
|
237
|
+
}())),
|
|
225
238
|
onClick: function onClick() {
|
|
226
239
|
return handleStep('up');
|
|
227
240
|
}
|
|
@@ -229,7 +242,10 @@ var InputNumber = /*#__PURE__*/forwardRef(function (baseprops, _ref) {
|
|
|
229
242
|
size: 12,
|
|
230
243
|
strokeWidth: 2
|
|
231
244
|
})), /*#__PURE__*/React.createElement("span", {
|
|
232
|
-
className: clsx("".concat(prefixCls, "-handler"), "".concat(prefixCls, "-handler-down"), _defineProperty({}, "".concat(prefixCls, "-handler-disabled"), disabled ||
|
|
245
|
+
className: clsx("".concat(prefixCls, "-handler"), "".concat(prefixCls, "-handler-down"), _defineProperty({}, "".concat(prefixCls, "-handler-disabled"), disabled || function () {
|
|
246
|
+
var n = toNumber(mergedValue);
|
|
247
|
+
return n !== null && n <= min;
|
|
248
|
+
}())),
|
|
233
249
|
onClick: function onClick() {
|
|
234
250
|
return handleStep('down');
|
|
235
251
|
}
|
|
@@ -26,13 +26,13 @@ export interface InputNumberProps extends Omit<React.InputHTMLAttributes<HTMLInp
|
|
|
26
26
|
*/
|
|
27
27
|
size?: 'small' | 'default' | 'large';
|
|
28
28
|
/**
|
|
29
|
-
* Controlled value
|
|
29
|
+
* Controlled value('' 视为空值,配合 formatter 不会渲染成 0)
|
|
30
30
|
*/
|
|
31
|
-
value?: number | null;
|
|
31
|
+
value?: number | string | null;
|
|
32
32
|
/**
|
|
33
33
|
* Default value
|
|
34
34
|
*/
|
|
35
|
-
defaultValue?: number | null;
|
|
35
|
+
defaultValue?: number | string | null;
|
|
36
36
|
/**
|
|
37
37
|
* Minimum value
|
|
38
38
|
*/
|
|
@@ -165,7 +165,11 @@ var HeaderFilter = /*#__PURE__*/React.memo(function (props) {
|
|
|
165
165
|
ref: inputRef
|
|
166
166
|
}) : null;
|
|
167
167
|
if (render) {
|
|
168
|
-
popup = render(
|
|
168
|
+
popup = render({
|
|
169
|
+
close: function close() {
|
|
170
|
+
return setOpen(false);
|
|
171
|
+
}
|
|
172
|
+
});
|
|
169
173
|
} else if (items) {
|
|
170
174
|
var dataSource = [];
|
|
171
175
|
var inputValue = getStrLower(searchValue);
|
package/dist/esm/version.d.ts
CHANGED
package/dist/esm/version.js
CHANGED