@sheinx/hooks 3.9.14-beta.7 → 3.9.14-beta.9

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":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAa,MAAM,OAAO,CAAC;AAI7C,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;AAElD,MAAM,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;AACnD,wBAAgB,YAAY,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,EAAE,MAAM,EAAE;IAE5D,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAE9B,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/B,KAAK,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC;CAC/B,QAqCA;AAED,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAa,MAAM,OAAO,CAAC;AAI7C,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;AAElD,MAAM,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;AACnD,wBAAgB,YAAY,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,EAAE,MAAM,EAAE;IAE5D,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAE9B,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/B,KAAK,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC;CAC/B,QAsCA;AAED,eAAe,YAAY,CAAC"}
@@ -22,10 +22,13 @@ function useClickAway(params) {
22
22
  });
23
23
  var target = Array.isArray(t) ? t : [t];
24
24
  var handleClickAway = (0, _usePersistFn.default)(function (event) {
25
- // @ts-ignore
25
+ var _composedPath, _composedPath2, _ref;
26
+ // composedPath() 兼容 Shadow DOM,包含事件传播路径上的所有元素
27
+ var path = (_composedPath = (_composedPath2 = (_ref = event).composedPath) === null || _composedPath2 === void 0 ? void 0 : _composedPath2.call(_ref)) !== null && _composedPath !== void 0 ? _composedPath : [event.target];
26
28
  if (target.findIndex(function (t) {
27
- var _t$current;
28
- return (_t$current = t.current) === null || _t$current === void 0 ? void 0 : _t$current.contains(event.target);
29
+ return t.current && path.some(function (n) {
30
+ return n instanceof Node && t.current.contains(n);
31
+ });
29
32
  }) > -1) {
30
33
  return;
31
34
  }
@@ -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;;;;;;;;CA2L/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;;;;;;;;CA6L/C,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -54,10 +54,12 @@ var useNumberFormat = function useNumberFormat(props) {
54
54
  setInternalInputValue = _React$useState2[1];
55
55
  var focusedRef = _react.default.useRef(false);
56
56
  (0, _react.useEffect)(function () {
57
+ // 将外部值转为字符串后再比较,避免 number 5 vs string "5" 的类型不匹配误判
58
+ var stringValue = getStringValue(props.value);
57
59
  // 聚焦编辑期间不同步外部值,避免 form 回填 defaultValue 覆盖用户输入
58
60
  // 但当外部值被清空时(如 clearable 触发),即使聚焦也需要同步
59
- if (props.value !== inernalInputValue && (!focusedRef.current || props.value == null || props.value === '')) {
60
- setInternalInputValue(getStringValue(props.value));
61
+ if (stringValue !== inernalInputValue && (!focusedRef.current || props.value == null || props.value === '')) {
62
+ setInternalInputValue(stringValue);
61
63
  }
62
64
  }, [props.value]);
63
65
  var getNumberValue = function getNumberValue(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAa,MAAM,OAAO,CAAC;AAI7C,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;AAElD,MAAM,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;AACnD,wBAAgB,YAAY,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,EAAE,MAAM,EAAE;IAE5D,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAE9B,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/B,KAAK,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC;CAC/B,QAqCA;AAED,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAa,MAAM,OAAO,CAAC;AAI7C,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;AAElD,MAAM,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;AACnD,wBAAgB,YAAY,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,EAAE,MAAM,EAAE;IAE5D,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAE9B,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/B,KAAK,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC;CAC/B,QAsCA;AAED,eAAe,YAAY,CAAC"}
@@ -14,10 +14,13 @@ export function useClickAway(params) {
14
14
  });
15
15
  var target = Array.isArray(t) ? t : [t];
16
16
  var handleClickAway = usePersistFn(function (event) {
17
- // @ts-ignore
17
+ var _composedPath, _composedPath2, _ref;
18
+ // composedPath() 兼容 Shadow DOM,包含事件传播路径上的所有元素
19
+ var path = (_composedPath = (_composedPath2 = (_ref = event).composedPath) === null || _composedPath2 === void 0 ? void 0 : _composedPath2.call(_ref)) !== null && _composedPath !== void 0 ? _composedPath : [event.target];
18
20
  if (target.findIndex(function (t) {
19
- var _t$current;
20
- return (_t$current = t.current) === null || _t$current === void 0 ? void 0 : _t$current.contains(event.target);
21
+ return t.current && path.some(function (n) {
22
+ return n instanceof Node && t.current.contains(n);
23
+ });
21
24
  }) > -1) {
22
25
  return;
23
26
  }
@@ -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;;;;;;;;CA2L/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;;;;;;;;CA6L/C,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -45,10 +45,12 @@ var useNumberFormat = function useNumberFormat(props) {
45
45
  setInternalInputValue = _React$useState2[1];
46
46
  var focusedRef = React.useRef(false);
47
47
  useEffect(function () {
48
+ // 将外部值转为字符串后再比较,避免 number 5 vs string "5" 的类型不匹配误判
49
+ var stringValue = getStringValue(props.value);
48
50
  // 聚焦编辑期间不同步外部值,避免 form 回填 defaultValue 覆盖用户输入
49
51
  // 但当外部值被清空时(如 clearable 触发),即使聚焦也需要同步
50
- if (props.value !== inernalInputValue && (!focusedRef.current || props.value == null || props.value === '')) {
51
- setInternalInputValue(getStringValue(props.value));
52
+ if (stringValue !== inernalInputValue && (!focusedRef.current || props.value == null || props.value === '')) {
53
+ setInternalInputValue(stringValue);
52
54
  }
53
55
  }, [props.value]);
54
56
  var getNumberValue = function getNumberValue(value) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sheinx/hooks",
3
- "version": "3.9.14-beta.7",
3
+ "version": "3.9.14-beta.9",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "license": "MIT",