@sheinx/hooks 3.4.6-beta.2 → 3.4.6-fix.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"use-Input-able.d.ts","sourceRoot":"","sources":["use-Input-able.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEnE,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC;;;;EAwE3F"}
1
+ {"version":3,"file":"use-Input-able.d.ts","sourceRoot":"","sources":["use-Input-able.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEnE,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC;;;;EAuE3F"}
@@ -45,19 +45,18 @@ function useInputAble(props) {
45
45
  var render = (0, _useRender.useRender)(syncValue);
46
46
  var shouldUseState = delay || !control;
47
47
  var value = shouldUseState ? stateValue : valuePo;
48
- (0, _react.useEffect)(function () {
49
- if (context.timer) {
50
- clearTimeout(context.timer);
51
- context.timer = null;
52
- }
48
+ (0, _react.useLayoutEffect)(function () {
53
49
  if (delay && control && props.value !== stateValue) {
54
50
  changeStateValue(props.value);
51
+ } else if (context.timer) {
52
+ clearTimeout(context.timer);
53
+ context.timer = null;
55
54
  }
56
55
  }, [props.value, delay, control]);
57
56
  var forceDelayChange = (0, _usePersistFn.default)(function () {
58
- if (context.timer && context.delayChange) {
57
+ if (context.delayChange) context.delayChange();
58
+ if (context.timer) {
59
59
  clearTimeout(context.timer);
60
- context.delayChange();
61
60
  context.timer = null;
62
61
  context.delayChange = null;
63
62
  }
@@ -1 +1 @@
1
- {"version":3,"file":"use-input-number.d.ts","sourceRoot":"","sources":["use-input-number.ts"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAK3D,QAAA,MAAM,eAAe,UAAW,gBAAgB;;;;;;;;CAkJ/C,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"use-input-number.d.ts","sourceRoot":"","sources":["use-input-number.ts"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAK3D,QAAA,MAAM,eAAe,UAAW,gBAAgB;;;;;;;;CAuJ/C,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -76,6 +76,11 @@ var useNumberFormat = function useNumberFormat(props) {
76
76
  setInternalInputValue(getStringValue(val));
77
77
  if (typeof val === 'string') {
78
78
  var num = parseFloat(val);
79
+ if (val === '') {
80
+ // 如果允许空值,则返回 null,否则返回 undefined
81
+ onChange === null || onChange === void 0 || onChange(allowNull ? null : undefined);
82
+ return;
83
+ }
79
84
  if (isNaN(num)) return;
80
85
  onChange === null || onChange === void 0 || onChange(num);
81
86
  } else {
@@ -1 +1 @@
1
- {"version":3,"file":"use-Input-able.d.ts","sourceRoot":"","sources":["use-Input-able.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEnE,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC;;;;EAwE3F"}
1
+ {"version":3,"file":"use-Input-able.d.ts","sourceRoot":"","sources":["use-Input-able.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEnE,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC;;;;EAuE3F"}
@@ -4,7 +4,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
4
4
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
5
5
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
6
6
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
- import { useEffect, useRef, useState } from 'react';
7
+ import { useLayoutEffect, useRef, useState } from 'react';
8
8
  import { isFunc } from "../../utils/is";
9
9
  import { shallowEqual } from "../../utils/shallow-equal";
10
10
  import usePersistFn from "../use-persist-fn";
@@ -38,19 +38,18 @@ export default function useInputAble(props) {
38
38
  var render = useRender(syncValue);
39
39
  var shouldUseState = delay || !control;
40
40
  var value = shouldUseState ? stateValue : valuePo;
41
- useEffect(function () {
42
- if (context.timer) {
43
- clearTimeout(context.timer);
44
- context.timer = null;
45
- }
41
+ useLayoutEffect(function () {
46
42
  if (delay && control && props.value !== stateValue) {
47
43
  changeStateValue(props.value);
44
+ } else if (context.timer) {
45
+ clearTimeout(context.timer);
46
+ context.timer = null;
48
47
  }
49
48
  }, [props.value, delay, control]);
50
49
  var forceDelayChange = usePersistFn(function () {
51
- if (context.timer && context.delayChange) {
50
+ if (context.delayChange) context.delayChange();
51
+ if (context.timer) {
52
52
  clearTimeout(context.timer);
53
- context.delayChange();
54
53
  context.timer = null;
55
54
  context.delayChange = null;
56
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"use-input-number.d.ts","sourceRoot":"","sources":["use-input-number.ts"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAK3D,QAAA,MAAM,eAAe,UAAW,gBAAgB;;;;;;;;CAkJ/C,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"use-input-number.d.ts","sourceRoot":"","sources":["use-input-number.ts"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAK3D,QAAA,MAAM,eAAe,UAAW,gBAAgB;;;;;;;;CAuJ/C,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -67,6 +67,11 @@ var useNumberFormat = function useNumberFormat(props) {
67
67
  setInternalInputValue(getStringValue(val));
68
68
  if (typeof val === 'string') {
69
69
  var num = parseFloat(val);
70
+ if (val === '') {
71
+ // 如果允许空值,则返回 null,否则返回 undefined
72
+ onChange === null || onChange === void 0 || onChange(allowNull ? null : undefined);
73
+ return;
74
+ }
70
75
  if (isNaN(num)) return;
71
76
  onChange === null || onChange === void 0 || onChange(num);
72
77
  } else {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sheinx/hooks",
3
- "version": "3.4.6-beta.2",
3
+ "version": "3.4.6-fix.1",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "license": "MIT",