@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.
@@ -38,7 +38,7 @@ var basic_default = () => {
38
38
  return /* @__PURE__ */ import_react.default.createElement(
39
39
  import_yee_c.InputNumber,
40
40
  {
41
- defaultValue: 0,
41
+ defaultValue: 123,
42
42
  placeholder: "Enter a number",
43
43
  onChange: (value) => console.log("value:", value)
44
44
  }
@@ -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 ? mergedValue : 0;
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 || mergedValue !== null && mergedValue >= max
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 || mergedValue !== null && mergedValue <= min
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
  */
@@ -205,7 +205,9 @@ export interface ColumnProps {
205
205
  /**
206
206
  * Custom filter function, e.g. custom search
207
207
  */
208
- render?: () => React.ReactNode;
208
+ render?: (ctx: {
209
+ close: () => void;
210
+ }) => React.ReactNode;
209
211
  /**
210
212
  * Filter callback function
211
213
  */
@@ -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);
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * @rainbow-oh/yee-c CSS Variables
3
3
  * Auto-generated, do not edit manually
4
- * Generated on 2026-10-15T09:51:26.325Z
4
+ * Generated on 2026-10-20T02:41:00.650Z
5
5
  */
6
6
 
7
7
  /* ========== color.blue.css ========== */
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * @rainbow-oh/yee-c CSS Variables
3
3
  * Auto-generated, do not edit manually
4
- * Generated on 2026-10-15T09:51:26.325Z
4
+ * Generated on 2026-10-20T02:41:00.650Z
5
5
  */
6
6
 
7
7
  /* ========== color.css ========== */
@@ -3,4 +3,4 @@ declare global {
3
3
  __yee_c_version__: string;
4
4
  }
5
5
  }
6
- export declare const version = "0.15.0";
6
+ export declare const version = "0.15.2";
@@ -22,7 +22,7 @@ __export(version_exports, {
22
22
  version: () => version
23
23
  });
24
24
  module.exports = __toCommonJS(version_exports);
25
- var version = "0.15.0";
25
+ var version = "0.15.2";
26
26
  if (typeof window !== "undefined") {
27
27
  window.__yee_c_version__ = version;
28
28
  }
@@ -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: 0,
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
- if (val === null || val === undefined || isNaN(val)) return '';
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 && mergedValue !== void 0 ? mergedValue : 0;
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 || mergedValue !== null && mergedValue >= max)),
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 || mergedValue !== null && mergedValue <= min)),
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
  */
@@ -205,7 +205,9 @@ export interface ColumnProps {
205
205
  /**
206
206
  * Custom filter function, e.g. custom search
207
207
  */
208
- render?: () => React.ReactNode;
208
+ render?: (ctx: {
209
+ close: () => void;
210
+ }) => React.ReactNode;
209
211
  /**
210
212
  * Filter callback function
211
213
  */
@@ -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);
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * @rainbow-oh/yee-c CSS Variables
3
3
  * Auto-generated, do not edit manually
4
- * Generated on 2026-10-15T09:51:26.325Z
4
+ * Generated on 2026-10-20T02:41:00.650Z
5
5
  */
6
6
 
7
7
  /* ========== color.blue.css ========== */
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * @rainbow-oh/yee-c CSS Variables
3
3
  * Auto-generated, do not edit manually
4
- * Generated on 2026-10-15T09:51:26.325Z
4
+ * Generated on 2026-10-20T02:41:00.650Z
5
5
  */
6
6
 
7
7
  /* ========== color.css ========== */
@@ -3,4 +3,4 @@ declare global {
3
3
  __yee_c_version__: string;
4
4
  }
5
5
  }
6
- export declare const version = "0.15.0";
6
+ export declare const version = "0.15.2";
@@ -1,4 +1,4 @@
1
- export var version = "0.15.0";
1
+ export var version = "0.15.2";
2
2
  if (typeof window !== 'undefined') {
3
3
  window.__yee_c_version__ = version;
4
4
  }