@sheinx/hooks 3.4.0-beta.1 → 3.4.0-beta.10

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.
Files changed (111) hide show
  1. package/cjs/common/use-input-able/use-Input-able.js +2 -2
  2. package/cjs/common/use-position-style/index.d.ts +4 -1
  3. package/cjs/common/use-position-style/index.d.ts.map +1 -1
  4. package/cjs/common/use-position-style/index.js +98 -11
  5. package/cjs/components/use-datepicker/use-date.d.ts +2 -2
  6. package/cjs/components/use-datepicker/use-date.d.ts.map +1 -1
  7. package/cjs/components/use-datepicker/use-date.js +2 -2
  8. package/cjs/components/use-datepicker/use-date.type.d.ts +1 -1
  9. package/cjs/components/use-datepicker/use-date.type.d.ts.map +1 -1
  10. package/cjs/components/use-datepicker/use-datepicker-format.d.ts +1 -1
  11. package/cjs/components/use-datepicker/use-datepicker-format.d.ts.map +1 -1
  12. package/cjs/components/use-datepicker/use-datepicker-format.js +4 -2
  13. package/cjs/components/use-datepicker/use-datepicker-format.type.d.ts +1 -0
  14. package/cjs/components/use-datepicker/use-datepicker-format.type.d.ts.map +1 -1
  15. package/cjs/components/use-datepicker/use-month.d.ts +2 -2
  16. package/cjs/components/use-datepicker/use-month.d.ts.map +1 -1
  17. package/cjs/components/use-datepicker/use-month.js +2 -2
  18. package/cjs/components/use-datepicker/use-month.type.d.ts +1 -1
  19. package/cjs/components/use-datepicker/use-month.type.d.ts.map +1 -1
  20. package/cjs/components/use-datepicker/use-quarter.d.ts +2 -2
  21. package/cjs/components/use-datepicker/use-quarter.d.ts.map +1 -1
  22. package/cjs/components/use-datepicker/use-quarter.js +2 -2
  23. package/cjs/components/use-datepicker/use-year.d.ts +2 -2
  24. package/cjs/components/use-datepicker/use-year.d.ts.map +1 -1
  25. package/cjs/components/use-datepicker/use-year.js +2 -2
  26. package/cjs/components/use-datepicker/use-year.type.d.ts +1 -1
  27. package/cjs/components/use-datepicker/use-year.type.d.ts.map +1 -1
  28. package/cjs/components/use-datepicker/util.d.ts +1 -1
  29. package/cjs/components/use-datepicker/util.d.ts.map +1 -1
  30. package/cjs/components/use-datepicker/util.js +2 -1
  31. package/cjs/components/use-form/use-form-control/use-form-control.js +2 -2
  32. package/cjs/components/use-form/use-form.d.ts.map +1 -1
  33. package/cjs/components/use-form/use-form.js +40 -19
  34. package/cjs/components/use-form/use-form.type.d.ts +11 -6
  35. package/cjs/components/use-form/use-form.type.d.ts.map +1 -1
  36. package/cjs/components/use-input/use-input-format.d.ts +1 -1
  37. package/cjs/components/use-input/use-input-number.d.ts +1 -1
  38. package/cjs/components/use-input/use-input-number.d.ts.map +1 -1
  39. package/cjs/components/use-input/use-input-number.js +37 -5
  40. package/cjs/components/use-popup/use-popup.d.ts +1 -0
  41. package/cjs/components/use-popup/use-popup.d.ts.map +1 -1
  42. package/cjs/components/use-popup/use-popup.js +7 -4
  43. package/cjs/components/use-table/use-table-virtual.d.ts +1 -1
  44. package/cjs/components/use-table/use-table-virtual.d.ts.map +1 -1
  45. package/cjs/components/use-table/use-table-virtual.js +34 -4
  46. package/cjs/components/use-transfer/use-transfer.d.ts +1 -1
  47. package/cjs/components/use-transfer/use-transfer.d.ts.map +1 -1
  48. package/cjs/components/use-transfer/use-transfer.js +8 -17
  49. package/cjs/utils/dom/element.js +1 -1
  50. package/cjs/utils/is.d.ts +1 -0
  51. package/cjs/utils/is.d.ts.map +1 -1
  52. package/cjs/utils/is.js +6 -1
  53. package/cjs/utils/position.d.ts +1 -1
  54. package/cjs/utils/position.d.ts.map +1 -1
  55. package/cjs/utils/position.js +20 -5
  56. package/esm/common/use-input-able/use-Input-able.js +2 -2
  57. package/esm/common/use-position-style/index.d.ts +4 -1
  58. package/esm/common/use-position-style/index.d.ts.map +1 -1
  59. package/esm/common/use-position-style/index.js +99 -12
  60. package/esm/components/use-datepicker/use-date.d.ts +2 -2
  61. package/esm/components/use-datepicker/use-date.d.ts.map +1 -1
  62. package/esm/components/use-datepicker/use-date.js +2 -2
  63. package/esm/components/use-datepicker/use-date.type.d.ts +1 -1
  64. package/esm/components/use-datepicker/use-date.type.d.ts.map +1 -1
  65. package/esm/components/use-datepicker/use-datepicker-format.d.ts +1 -1
  66. package/esm/components/use-datepicker/use-datepicker-format.d.ts.map +1 -1
  67. package/esm/components/use-datepicker/use-datepicker-format.js +4 -2
  68. package/esm/components/use-datepicker/use-datepicker-format.type.d.ts +1 -0
  69. package/esm/components/use-datepicker/use-datepicker-format.type.d.ts.map +1 -1
  70. package/esm/components/use-datepicker/use-month.d.ts +2 -2
  71. package/esm/components/use-datepicker/use-month.d.ts.map +1 -1
  72. package/esm/components/use-datepicker/use-month.js +2 -2
  73. package/esm/components/use-datepicker/use-month.type.d.ts +1 -1
  74. package/esm/components/use-datepicker/use-month.type.d.ts.map +1 -1
  75. package/esm/components/use-datepicker/use-quarter.d.ts +2 -2
  76. package/esm/components/use-datepicker/use-quarter.d.ts.map +1 -1
  77. package/esm/components/use-datepicker/use-quarter.js +2 -2
  78. package/esm/components/use-datepicker/use-year.d.ts +2 -2
  79. package/esm/components/use-datepicker/use-year.d.ts.map +1 -1
  80. package/esm/components/use-datepicker/use-year.js +2 -2
  81. package/esm/components/use-datepicker/use-year.type.d.ts +1 -1
  82. package/esm/components/use-datepicker/use-year.type.d.ts.map +1 -1
  83. package/esm/components/use-datepicker/util.d.ts +1 -1
  84. package/esm/components/use-datepicker/util.d.ts.map +1 -1
  85. package/esm/components/use-datepicker/util.js +2 -1
  86. package/esm/components/use-form/use-form-control/use-form-control.js +2 -2
  87. package/esm/components/use-form/use-form.d.ts.map +1 -1
  88. package/esm/components/use-form/use-form.js +40 -19
  89. package/esm/components/use-form/use-form.type.d.ts +11 -6
  90. package/esm/components/use-form/use-form.type.d.ts.map +1 -1
  91. package/esm/components/use-input/use-input-format.d.ts +1 -1
  92. package/esm/components/use-input/use-input-number.d.ts +1 -1
  93. package/esm/components/use-input/use-input-number.d.ts.map +1 -1
  94. package/esm/components/use-input/use-input-number.js +34 -4
  95. package/esm/components/use-popup/use-popup.d.ts +1 -0
  96. package/esm/components/use-popup/use-popup.d.ts.map +1 -1
  97. package/esm/components/use-popup/use-popup.js +7 -4
  98. package/esm/components/use-table/use-table-virtual.d.ts +1 -1
  99. package/esm/components/use-table/use-table-virtual.d.ts.map +1 -1
  100. package/esm/components/use-table/use-table-virtual.js +34 -4
  101. package/esm/components/use-transfer/use-transfer.d.ts +1 -1
  102. package/esm/components/use-transfer/use-transfer.d.ts.map +1 -1
  103. package/esm/components/use-transfer/use-transfer.js +8 -17
  104. package/esm/utils/dom/element.js +1 -1
  105. package/esm/utils/is.d.ts +1 -0
  106. package/esm/utils/is.d.ts.map +1 -1
  107. package/esm/utils/is.js +3 -0
  108. package/esm/utils/position.d.ts +1 -1
  109. package/esm/utils/position.d.ts.map +1 -1
  110. package/esm/utils/position.js +20 -5
  111. package/package.json +1 -1
@@ -74,8 +74,10 @@ var useForm = function useForm(props) {
74
74
  var _context$flowMap$glob;
75
75
  if (!name) {
76
76
  Object.keys(context.updateMap).forEach(function (key) {
77
- var _context$updateMap$ke, _context$updateMap;
78
- (_context$updateMap$ke = (_context$updateMap = context.updateMap)[key]) === null || _context$updateMap$ke === void 0 || _context$updateMap$ke.call(_context$updateMap, context.value, context.errors, context.serverErrors);
77
+ var _context$updateMap$ke;
78
+ (_context$updateMap$ke = context.updateMap[key]) === null || _context$updateMap$ke === void 0 || _context$updateMap$ke.forEach(function (update) {
79
+ update(context.value, context.errors, context.serverErrors);
80
+ });
79
81
  });
80
82
  Object.keys(context.flowMap).forEach(function (key) {
81
83
  context.flowMap[key].forEach(function (update) {
@@ -85,8 +87,10 @@ var useForm = function useForm(props) {
85
87
  } else {
86
88
  var names = (0, _utils.isArray)(name) ? name : [name];
87
89
  names.forEach(function (key) {
88
- var _context$updateMap$ke2, _context$updateMap2, _context$flowMap$key;
89
- (_context$updateMap$ke2 = (_context$updateMap2 = context.updateMap)[key]) === null || _context$updateMap$ke2 === void 0 || _context$updateMap$ke2.call(_context$updateMap2, context.value, context.errors, context.serverErrors);
90
+ var _context$updateMap$ke2, _context$flowMap$key;
91
+ (_context$updateMap$ke2 = context.updateMap[key]) === null || _context$updateMap$ke2 === void 0 || _context$updateMap$ke2.forEach(function (update) {
92
+ update(context.value, context.errors, context.serverErrors);
93
+ });
90
94
  (_context$flowMap$key = context.flowMap[key]) === null || _context$flowMap$key === void 0 || _context$flowMap$key.forEach(function (update) {
91
95
  update();
92
96
  });
@@ -142,9 +146,11 @@ var useForm = function useForm(props) {
142
146
  }) : Object.keys(context.validateMap);
143
147
  var validates = files2.map(function (key) {
144
148
  var validateField = context.validateMap[key];
145
- return validateField(key, (0, _utils.deepGet)(context.value, key), context.value, config);
149
+ return Array.from(validateField).map(function (validate) {
150
+ return validate(key, (0, _utils.deepGet)(context.value, key), context.value, config);
151
+ });
146
152
  });
147
- Promise.all(validates).then(function (results) {
153
+ Promise.all(validates.flat()).then(function (results) {
148
154
  var error = results.find(function (n) {
149
155
  return n !== true;
150
156
  });
@@ -189,8 +195,10 @@ var useForm = function useForm(props) {
189
195
  Object.keys(vals).forEach(function (key) {
190
196
  (0, _utils.deepSet)(draft, key, vals[key], deepSetOptions);
191
197
  if (option.validate) {
192
- var _context$validateMap$, _context$validateMap;
193
- (_context$validateMap$ = (_context$validateMap = context.validateMap)[key]) === null || _context$validateMap$ === void 0 || _context$validateMap$.call(_context$validateMap, key, vals[key], (0, _immer.current)(draft));
198
+ var _context$validateMap$;
199
+ (_context$validateMap$ = context.validateMap[key]) === null || _context$validateMap$ === void 0 || _context$validateMap$.forEach(function (validate) {
200
+ validate(key, vals[key], (0, _immer.current)(draft));
201
+ });
194
202
  }
195
203
  });
196
204
  });
@@ -334,12 +342,17 @@ var useForm = function useForm(props) {
334
342
  var controlFunc = (0, _useLatestObj.default)({
335
343
  bind: function bind(n, df, validate, updateFn) {
336
344
  if (context.names.has(n)) {
337
- console.error("name \"".concat(n, "\" already exist"));
338
- return;
345
+ console.warn("name \"".concat(n, "\" already exist"));
339
346
  }
340
347
  context.names.add(n);
341
- context.validateMap[n] = validate;
342
- context.updateMap[n] = updateFn;
348
+ if (!context.validateMap[n]) {
349
+ context.validateMap[n] = new Set();
350
+ }
351
+ context.validateMap[n].add(validate);
352
+ if (!context.updateMap[n]) {
353
+ context.updateMap[n] = new Set();
354
+ }
355
+ context.updateMap[n].add(updateFn);
343
356
  context.removeArr.delete(n);
344
357
  if (df !== undefined && (0, _utils.deepGet)(context.value, n) === undefined) {
345
358
  if (!context.mounted) context.defaultValues[n] = df;
@@ -349,11 +362,19 @@ var useForm = function useForm(props) {
349
362
  }
350
363
  update(n);
351
364
  },
352
- unbind: function unbind(n, reserveAble) {
353
- delete context.validateMap[n];
354
- delete context.defaultValues[n];
355
- delete context.updateMap[n];
356
- context.names.delete(n);
365
+ unbind: function unbind(n, reserveAble, validateFiled, update) {
366
+ var validateFieldSet = context.validateMap[n];
367
+ if (validateFiled && validateFieldSet.has(validateFiled)) {
368
+ validateFieldSet.delete(validateFiled);
369
+ }
370
+ var updateFieldSet = context.updateMap[n];
371
+ if (update && updateFieldSet.has(update)) {
372
+ updateFieldSet.delete(update);
373
+ }
374
+ if (validateFieldSet.size === 0 && updateFieldSet.size === 0) {
375
+ context.names.delete(n);
376
+ delete context.defaultValues[n];
377
+ }
357
378
  if (!reserveAble && !context.removeLock) {
358
379
  addRemove(n);
359
380
  }
@@ -428,12 +449,12 @@ var useForm = function useForm(props) {
428
449
  React.useEffect(function () {
429
450
  // 服务端错误更新
430
451
  if (!props.error) context.serverErrors = {};else {
431
- var _errors = Object.keys(props.error).reduce(function (prev, cur) {
452
+ var errors = Object.keys(props.error).reduce(function (prev, cur) {
432
453
  var item = props.error[cur];
433
454
  var error = item instanceof Error ? item : new Error(item);
434
455
  return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, cur, error));
435
456
  }, {});
436
- context.serverErrors = _errors;
457
+ context.serverErrors = errors;
437
458
  }
438
459
  update();
439
460
  }, [props.error]);
@@ -2,12 +2,15 @@
2
2
  import { ReactNode } from 'react';
3
3
  import { AddNoProps, ObjectType } from '../../common/type';
4
4
  import { FormItemRule } from '../../utils/rule/rule.type';
5
+ import { FormError } from '../../utils';
6
+ export type ValidateFn = (name: string, value: any, formData: ObjectType, config?: {
7
+ ignoreBind?: boolean;
8
+ }) => Promise<boolean | FormError>;
9
+ export type UpdateFn = (formValue: ObjectType, errors: ObjectType<Error | undefined>, serverErrors: ObjectType<Error | undefined>) => void;
5
10
  export interface FormContextValueType {
6
11
  func?: {
7
- unbind: (n: string, reserveAble?: boolean) => void;
8
- bind: (n: string, df: any, validate: (name: string, value: any, formData: ObjectType, config: {
9
- ignoreBind?: boolean;
10
- }) => void, update: (formValue: ObjectType, errors: ObjectType<Error>, serverErrors: ObjectType<Error>) => void) => void;
12
+ unbind: (n: string, reserveAble?: boolean, validate?: ValidateFn, update?: UpdateFn) => void;
13
+ bind: (n: string, df: any, validate: ValidateFn, update: UpdateFn) => void;
11
14
  combineRules: <ValueItem>(name: string, propRules: FormItemRule<ValueItem>) => FormItemRule<ValueItem>;
12
15
  watch: (names: string[] | undefined, update: () => void) => void;
13
16
  unWatch: (names: string[] | undefined, update: () => void) => void;
@@ -149,7 +152,9 @@ export interface BaseFormProps<T> extends FormCommonConfig {
149
152
  export type UseFormProps<T> = BaseFormProps<T>;
150
153
  export type FormContext = {
151
154
  defaultValues: ObjectType;
152
- validateMap: ObjectType;
155
+ validateMap: ObjectType<Set<(name: string, v: any, formValue: ObjectType, config?: {
156
+ ignoreBind?: boolean;
157
+ }) => Promise<boolean | FormError>>>;
153
158
  removeArr: Set<string>;
154
159
  removeTimer?: number | NodeJS.Timeout;
155
160
  names: Set<string>;
@@ -157,7 +162,7 @@ export type FormContext = {
157
162
  lastValue: ObjectType | undefined;
158
163
  resetTime: number;
159
164
  mounted: boolean;
160
- updateMap: ObjectType;
165
+ updateMap: ObjectType<Set<(formValue: ObjectType, errors: ObjectType<Error | undefined>, serverErrors: ObjectType<Error | undefined>) => void>>;
161
166
  flowMap: ObjectType<Set<() => void>>;
162
167
  value: ObjectType;
163
168
  errors: ObjectType<Error | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"use-form.type.d.ts","sourceRoot":"","sources":["use-form.type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-form.type.d.ts","sourceRoot":"","sources":["use-form.type.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ declare const useInputFormat: (props: InputFormatProps) => {
5
5
  onBlur: (e: React.FocusEvent) => void;
6
6
  onFocus: (e: React.FocusEvent) => void;
7
7
  value: string | undefined;
8
- type: "search" | "color" | "button" | "time" | "image" | "text" | "reset" | "submit" | "email" | "url" | "range" | "tel" | (string & {}) | "hidden" | "checkbox" | "date" | "datetime-local" | "file" | "month" | "password" | "radio" | "week" | undefined;
8
+ type: "search" | "color" | "button" | "time" | "image" | "text" | "reset" | "submit" | "email" | "url" | "range" | "tel" | (string & {}) | "checkbox" | "radio" | "hidden" | "date" | "datetime-local" | "file" | "month" | "password" | "week" | undefined;
9
9
  };
10
10
  export default useInputFormat;
11
11
  //# sourceMappingURL=use-input-format.d.ts.map
@@ -7,7 +7,7 @@ declare const useNumberFormat: (props: InputNumberProps) => {
7
7
  onBlur: (e: React.FocusEvent<Element, Element>) => void;
8
8
  onFocus: (e: React.FocusEvent<Element, Element>) => void;
9
9
  value: string | undefined;
10
- type: "search" | "color" | "button" | "time" | "image" | "text" | "reset" | "submit" | "email" | "url" | "range" | "tel" | (string & {}) | "hidden" | "checkbox" | "date" | "datetime-local" | "file" | "month" | "password" | "radio" | "week" | undefined;
10
+ type: "search" | "color" | "button" | "time" | "image" | "text" | "reset" | "submit" | "email" | "url" | "range" | "tel" | (string & {}) | "checkbox" | "radio" | "hidden" | "date" | "datetime-local" | "file" | "month" | "password" | "week" | undefined;
11
11
  };
12
12
  export default useNumberFormat;
13
13
  //# sourceMappingURL=use-input-number.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-input-number.d.ts","sourceRoot":"","sources":["use-input-number.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAK3D,QAAA,MAAM,eAAe,UAAW,gBAAgB;;;;;;;;CA6H/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;;;;;;;;CAkJ/C,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -1,20 +1,29 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.default = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
7
9
  var _usePersistFn = _interopRequireDefault(require("../../common/use-persist-fn"));
8
10
  var _useInputFormat = _interopRequireDefault(require("./use-input-format"));
9
11
  var _number = require("../../utils/number");
10
12
  var _is = require("../../utils/is");
11
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
14
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
15
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
16
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
14
17
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
15
18
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
16
19
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
17
20
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
21
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
22
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
23
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
24
+ 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; }
25
+ 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; } }
26
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
18
27
  var useNumberFormat = function useNumberFormat(props) {
19
28
  var onChange = props.onChange,
20
29
  value = props.value,
@@ -37,6 +46,15 @@ var useNumberFormat = function useNumberFormat(props) {
37
46
  }
38
47
  return value || '';
39
48
  };
49
+ var _React$useState = _react.default.useState(getStringValue(props.value)),
50
+ _React$useState2 = _slicedToArray(_React$useState, 2),
51
+ inernalInputValue = _React$useState2[0],
52
+ setInternalInputValue = _React$useState2[1];
53
+ (0, _react.useEffect)(function () {
54
+ if (props.value !== inernalInputValue) {
55
+ setInternalInputValue(getStringValue(props.value));
56
+ }
57
+ }, [props.value]);
40
58
  var getNumberValue = function getNumberValue(value) {
41
59
  if (isNaN(value)) return 0;
42
60
  if (typeof value === 'number') {
@@ -54,6 +72,17 @@ var useNumberFormat = function useNumberFormat(props) {
54
72
  }
55
73
  return num;
56
74
  };
75
+ var onInnerChange = (0, _usePersistFn.default)(function (val) {
76
+ setInternalInputValue(getStringValue(val));
77
+ if (typeof val === 'string') {
78
+ var num = parseFloat(val);
79
+ if (isNaN(num)) return;
80
+ onChange === null || onChange === void 0 || onChange(num);
81
+ } else {
82
+ onChange === null || onChange === void 0 || onChange(val);
83
+ }
84
+ ;
85
+ });
57
86
  var onNumberBlur = (0, _usePersistFn.default)(function (e) {
58
87
  var target = e.target;
59
88
  var newValue = target.value;
@@ -64,7 +93,7 @@ var useNumberFormat = function useNumberFormat(props) {
64
93
  return;
65
94
  }
66
95
  if (newValue === '' && allowNull) {
67
- onChange === null || onChange === void 0 || onChange(null);
96
+ onInnerChange(null);
68
97
  onBlur === null || onBlur === void 0 || onBlur(e);
69
98
  return;
70
99
  }
@@ -79,15 +108,18 @@ var useNumberFormat = function useNumberFormat(props) {
79
108
  num = parseFloat(num.toFixed(digits));
80
109
  }
81
110
  num = commonFormat(num);
111
+
112
+ // 失焦时,将非法值转换为合法值
113
+ setInternalInputValue(getStringValue(num));
82
114
  if (num !== value) {
83
115
  target.value = typeof num === 'number' ? String(num) : '';
84
- if (!cancelBlurChange) onChange === null || onChange === void 0 || onChange(num);
116
+ if (!cancelBlurChange) onInnerChange(num);
85
117
  }
86
118
  onBlur === null || onBlur === void 0 || onBlur(e);
87
119
  });
88
120
  var onNumberChange = (0, _usePersistFn.default)(function (value) {
89
121
  var result = value;
90
- onChange === null || onChange === void 0 || onChange(result);
122
+ onInnerChange(result);
91
123
  });
92
124
  var changeValue = function changeValue(mod) {
93
125
  var num = getNumberValue(props.value);
@@ -113,7 +145,7 @@ var useNumberFormat = function useNumberFormat(props) {
113
145
  changeValue(-step);
114
146
  });
115
147
  return _objectSpread(_objectSpread({}, (0, _useInputFormat.default)({
116
- value: getStringValue(props.value),
148
+ value: inernalInputValue,
117
149
  type: 'number',
118
150
  numType: numType,
119
151
  integerLimit: integerLimit,
@@ -5,6 +5,7 @@ declare const usePopup: (props: BasePopupProps) => {
5
5
  position: PositionType;
6
6
  targetRef: React.MutableRefObject<HTMLDivElement | null>;
7
7
  popupRef: React.MutableRefObject<HTMLDivElement | null>;
8
+ arrowRef: React.MutableRefObject<HTMLSpanElement | null>;
8
9
  getTargetProps: () => {
9
10
  onMouseEnter: (e: {
10
11
  target: EventTarget | null;
@@ -1 +1 @@
1
- {"version":3,"file":"use-popup.d.ts","sourceRoot":"","sources":["use-popup.ts"],"names":[],"mappings":"AAAA,OAAO,KAA2D,MAAM,OAAO,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAMhE,QAAA,MAAM,QAAQ,UAAW,cAAc;;;;;;0BAoHK;YAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAAA;SAAE;0BAM9B;YAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAAA;SAAE;;;;;qBA5B7B;YAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;;;;;;2BA6ElD,MAAM,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC;6BAGxC,MAAM,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC;;CAqBpE,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"use-popup.d.ts","sourceRoot":"","sources":["use-popup.ts"],"names":[],"mappings":"AAAA,OAAO,KAA2D,MAAM,OAAO,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAMhE,QAAA,MAAM,QAAQ,UAAW,cAAc;;;;;;;0BA2HK;YAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAAA;SAAE;0BAM9B;YAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAAA;SAAE;;;;;qBA5B7B;YAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;;;;;;2BA6ElD,MAAM,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC;6BAGxC,MAAM,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC;;CAsBpE,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -37,6 +37,7 @@ var usePopup = function usePopup(props) {
37
37
  removeChild = _useContext.removeChild;
38
38
  var targetRef = (0, _react.useRef)(null);
39
39
  var popupRef = (0, _react.useRef)(null);
40
+ var arrowRef = (0, _react.useRef)(null);
40
41
  (0, _react.useEffect)(function () {
41
42
  bindChild(popupRef);
42
43
  return function () {
@@ -68,11 +69,12 @@ var usePopup = function usePopup(props) {
68
69
  setPositionState = _useState4[1];
69
70
  var position = isPositionControl ? props.position : positionState;
70
71
  var updatePosition = (0, _usePersistFn.default)(function () {
71
- if (isPositionControl) return;
72
- if (props.position === 'auto' || !props.position) {
73
- var newPosition = (0, _position.getPosition)(targetRef.current, props.priorityDirection, autoMode);
72
+ // if (isPositionControl) return;
73
+ // if (props.position === 'auto' || !props.position) {
74
+ setTimeout(function () {
75
+ var newPosition = (0, _position.getPosition)(targetRef.current, props.priorityDirection, autoMode, popupRef.current || undefined);
74
76
  if (newPosition !== position) setPositionState(newPosition);
75
- }
77
+ }, 10);
76
78
  });
77
79
  (0, _react.useEffect)(function () {
78
80
  if (props.open) {
@@ -201,6 +203,7 @@ var usePopup = function usePopup(props) {
201
203
  position: position,
202
204
  targetRef: targetRef,
203
205
  popupRef: popupRef,
206
+ arrowRef: arrowRef,
204
207
  getTargetProps: getTargetProps,
205
208
  openPop: openPop,
206
209
  closePop: closePop,
@@ -26,7 +26,7 @@ declare const useTableVirtual: (props: UseTableVirtualProps) => {
26
26
  }) => void;
27
27
  setRowHeight: (index: number, height: number) => void;
28
28
  getTranslate: (left?: number, top?: number) => string;
29
- scrollToIndex: (index: number) => void;
29
+ scrollToIndex: (index: number, callback?: () => void) => void;
30
30
  };
31
31
  export default useTableVirtual;
32
32
  //# sourceMappingURL=use-table-virtual.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-table-virtual.d.ts","sourceRoot":"","sources":["use-table-virtual.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,UAAU,oBAAoB;IAC5B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC3C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;CACnC;AACD,QAAA,MAAM,eAAe,UAAW,oBAAoB;;;;;;;oBAiLpC,MAAM;mBACP,MAAM;WACd,MAAM;gBACD,MAAM;kBACJ,OAAO;;0BAnFuB,MAAM,UAAU,MAAM;0BAxBtB,MAAM,QAAQ,MAAM;2BA+InB,MAAM;CAmElD,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"use-table-virtual.d.ts","sourceRoot":"","sources":["use-table-virtual.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD,UAAU,oBAAoB;IAC5B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC3C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;CACnC;AACD,QAAA,MAAM,eAAe,UAAW,oBAAoB;;;;;;;oBAqLpC,MAAM;mBACP,MAAM;WACd,MAAM;gBACD,MAAM;kBACJ,OAAO;;0BAzFuB,MAAM,UAAU,MAAM;0BAxBtB,MAAM,QAAQ,MAAM;2BAqJnB,MAAM,aAAa,MAAM,IAAI;CA8FzE,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -16,6 +16,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
16
16
  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; }
17
17
  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; } }
18
18
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
19
+ var MAX_ROW_SPAN = 200;
19
20
  var useTableVirtual = function useTableVirtual(props) {
20
21
  var _useState = (0, _react.useState)(0),
21
22
  _useState2 = _slicedToArray(_useState, 2),
@@ -98,7 +99,9 @@ var useTableVirtual = function useTableVirtual(props) {
98
99
  topTimer: null,
99
100
  controlScrollRate: null,
100
101
  heightCallback: null,
101
- preIndex: null
102
+ preIndex: null,
103
+ rowSpanRows: 0,
104
+ autoAddRows: 0
102
105
  }),
103
106
  context = _useRef.current;
104
107
  var getTranslate = (0, _usePersistFn.usePersistFn)(function (left, top) {
@@ -149,17 +152,20 @@ var useTableVirtual = function useTableVirtual(props) {
149
152
  var top = 0;
150
153
  var maxIndex = Math.max(props.data.length - rowsInView, 0);
151
154
  for (var i = 0; i <= maxIndex; i++) {
155
+ context.rowSpanRows = 0;
152
156
  sum += context.cachedHeight[i] || props.rowHeight;
153
157
  var rowSpanHeight = 0;
154
158
  if (rowSpanInfos) {
159
+ var maxRowSpanLenth = Math.min(rowSpanInfos.length, props.rowsInView > MAX_ROW_SPAN ? props.rowsInView : props.rowsInView || MAX_ROW_SPAN);
155
160
  var siblingsIndexs = [];
156
- for (var k = 0; k < rowSpanInfos.length; k++) {
161
+ for (var k = 0; k < maxRowSpanLenth; k++) {
157
162
  if (rowSpanInfos[k] <= i && k > i) {
158
163
  siblingsIndexs.push(k);
159
164
  }
160
165
  }
161
166
  for (var j = 0; j < siblingsIndexs.length; j++) {
162
167
  var index = siblingsIndexs[j];
168
+ context.rowSpanRows += 1;
163
169
  rowSpanHeight += context.cachedHeight[index] || props.rowHeight;
164
170
  }
165
171
  }
@@ -235,7 +241,7 @@ var useTableVirtual = function useTableVirtual(props) {
235
241
  updateIndexAndTopFromTop(scrollTop);
236
242
  }
237
243
  };
238
- var scrollToIndex = (0, _usePersistFn.usePersistFn)(function (index) {
244
+ var scrollToIndex = (0, _usePersistFn.usePersistFn)(function (index, callback) {
239
245
  if (props.disabled) return;
240
246
  if (props.scrollRef.current) {
241
247
  context.shouldUpdateHeight = true;
@@ -246,16 +252,39 @@ var useTableVirtual = function useTableVirtual(props) {
246
252
  if (beforeHeight2 !== beforeHeight) {
247
253
  scrollToIndex(index);
248
254
  }
255
+ if (callback && typeof callback === 'function') {
256
+ callback();
257
+ }
249
258
  };
250
259
  props.scrollRef.current.scrollTop = beforeHeight;
251
260
  }
252
261
  });
262
+ (0, _react.useEffect)(function () {
263
+ var scrollRefHeight = props.scrollRef.current ? props.scrollRef.current.clientHeight : 0;
264
+ var tableRefHeight = props.innerRef.current ? props.innerRef.current.clientHeight : 0;
265
+ var remainHeight = scrollRefHeight - tableRefHeight;
266
+ if (remainHeight > 0) {
267
+ var addonHeight = 0;
268
+ var addonCount = 0;
269
+ for (var i = startIndex + rowsInView; i < props.data.length; i++) {
270
+ var height = context.cachedHeight[i] || props.rowHeight;
271
+ addonHeight += height;
272
+ addonCount += 1;
273
+ if (addonHeight >= remainHeight + context.cachedHeight[0]) break;
274
+ }
275
+ if (addonCount > 0) {
276
+ context.autoAddRows = addonCount;
277
+ }
278
+ }
279
+ }, []);
253
280
  (0, _react.useEffect)(function () {
254
281
  // 记录preIndex
255
282
  context.preIndex = startIndex;
256
283
  }, [startIndex]);
257
284
  (0, _react.useEffect)(function () {
258
285
  // 数据变化的时候清空掉 preIndex, 如果之前有缓存的index, setRowHeight 会有问题
286
+ setTop(0);
287
+ setStartIndex(0);
259
288
  return function () {
260
289
  context.preIndex = null;
261
290
  };
@@ -284,7 +313,8 @@ var useTableVirtual = function useTableVirtual(props) {
284
313
  cb();
285
314
  }
286
315
  }, [scrollHeight]);
287
- var renderData = props.disabled ? props.data : _toConsumableArray(props.data).slice(startIndex, startIndex + rowsInView);
316
+ var finalRowsInView = rowsInView + context.rowSpanRows + context.autoAddRows;
317
+ var renderData = props.disabled ? props.data : _toConsumableArray(props.data).slice(startIndex, startIndex + finalRowsInView);
288
318
  return {
289
319
  scrollHeight: scrollHeight,
290
320
  startIndex: startIndex,
@@ -87,7 +87,7 @@ declare const useTransfer: <DataItem, Value extends KeygenResult[]>(props: BaseT
87
87
  filterTargetText: string;
88
88
  sourceSelectedKeys: KeygenResult[];
89
89
  targetSelectedKeys: KeygenResult[];
90
- onSelectChange: ((sourceKeys: KeygenResult[], targetKeys?: KeygenResult[] | undefined) => void) | ((selectKeys: KeygenResult[]) => void);
90
+ onSelectChange: (_value: KeygenResult[], source: KeygenResult[], target: KeygenResult[]) => void;
91
91
  onFilter: (text: string, listType: TransferListType) => void;
92
92
  };
93
93
  export default useTransfer;
@@ -1 +1 @@
1
- {"version":3,"file":"use-transfer.d.ts","sourceRoot":"","sources":["use-transfer.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE1E,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAqHa,MAAM,YAAY,gBAAgB;CAsB/D,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"use-transfer.d.ts","sourceRoot":"","sources":["use-transfer.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE1E,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BA0BL,YAAY,EAAE,UACd,YAAY,EAAE,UACd,YAAY,EAAE;qBAqFI,MAAM,YAAY,gBAAgB;CAsB/D,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -43,12 +43,15 @@ var useTransfer = function useTransfer(props) {
43
43
  _useState4 = _slicedToArray(_useState3, 2),
44
44
  filterTargetText = _useState4[0],
45
45
  setFilterTargetText = _useState4[1];
46
+ var handleSelectedChange = function handleSelectedChange(_value, source, target) {
47
+ onSelectChangeProp === null || onSelectChangeProp === void 0 || onSelectChangeProp(source, target);
48
+ };
46
49
  var _useInputAble = (0, _useInputAble3.useInputAble)({
47
50
  value: selectValue,
48
51
  defaultValue: defaultSelectValue,
49
52
  control: selectControl,
50
53
  beforeChange: undefined,
51
- onChange: onSelectChangeProp
54
+ onChange: handleSelectedChange
52
55
  }),
53
56
  selectedKeys = _useInputAble.value,
54
57
  onSelectChange = _useInputAble.onChange;
@@ -105,24 +108,12 @@ var useTransfer = function useTransfer(props) {
105
108
  return keygen;
106
109
  };
107
110
  var handleSourceSelectedChange = function handleSourceSelectedChange(value) {
108
- if (selectControl) {
109
- // 受控情况下整合工作交给用户处理
110
- onSelectChange === null || onSelectChange === void 0 || onSelectChange(value, targetSelectedKeys);
111
- } else {
112
- // 非受控内部直接整合 source target
113
- var next = [].concat(_toConsumableArray(value), _toConsumableArray(targetSelectedKeys));
114
- onSelectChange === null || onSelectChange === void 0 || onSelectChange(next);
115
- }
111
+ var next = [].concat(_toConsumableArray(value), _toConsumableArray(targetSelectedKeys));
112
+ onSelectChange === null || onSelectChange === void 0 || onSelectChange(next, value, targetSelectedKeys);
116
113
  };
117
114
  var handleTargetSelectedChange = function handleTargetSelectedChange(value) {
118
- if (selectControl) {
119
- // 受控情况下整合工作交给用户处理
120
- onSelectChange === null || onSelectChange === void 0 || onSelectChange(sourceSelectedKeys, value);
121
- } else {
122
- // 非受控内部直接整合 source target
123
- var next = [].concat(_toConsumableArray(sourceSelectedKeys), _toConsumableArray(value));
124
- onSelectChange === null || onSelectChange === void 0 || onSelectChange(next);
125
- }
115
+ var next = [].concat(_toConsumableArray(sourceSelectedKeys), _toConsumableArray(value));
116
+ onSelectChange === null || onSelectChange === void 0 || onSelectChange(next, sourceSelectedKeys, value);
126
117
  };
127
118
  var sourceDatum = (0, _useListSelect.useListSelectMultiple)({
128
119
  value: sourceSelectedKeys,
@@ -82,7 +82,7 @@ var addResizeObserver = exports.addResizeObserver = function addResizeObserver(e
82
82
  if (height && lastHeight !== height) {
83
83
  debounceHandler(entry);
84
84
  }
85
- } else if (width && height) {
85
+ } else if (lastWidth !== width || lastHeight !== height) {
86
86
  debounceHandler(entry, {
87
87
  x: lastWidth !== width,
88
88
  y: lastHeight !== height
package/cjs/utils/is.d.ts CHANGED
@@ -21,6 +21,7 @@ export declare const isPromise: (p: unknown) => unknown;
21
21
  export declare const isNan: (a: unknown) => boolean;
22
22
  export declare const isEmpty: (val: unknown) => boolean;
23
23
  export declare const isLink: (el: unknown) => el is React.ReactElement<any, string | React.JSXElementConstructor<any>>;
24
+ export declare function isNamedComponent(type: any): type is React.ForwardRefExoticComponent<unknown>;
24
25
  export declare const isMacOS: () => boolean;
25
26
  export declare const isFirefox: () => boolean;
26
27
  export declare const isChromeLowerThan: (version: number) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"is.d.ts","sourceRoot":"","sources":["is.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,wBAAgB,SAAS,YAExB;AASD,eAAO,MAAM,OAAO,4BAAgB,CAAC;AACrC,eAAO,MAAM,QAAQ,QAAS,OAAO,sBACc,CAAC;AACpD,eAAO,MAAM,MAAM,QAAS,OAAO,gBAAqC,CAAC;AACzE,eAAO,MAAM,SAAS,QAAS,OAAO,mBAA2C,CAAC;AAClF,eAAO,MAAM,OAAO,QAAS,OAAO,KAAG,OAA+B,CAAC;AACvE,eAAO,MAAM,QAAQ,MAAO,OAAO,gBAAuC,CAAC;AAC3E,eAAO,MAAM,QAAQ,QAAS,OAAO,KAAG,OAAgC,CAAC;AACzE,eAAO,MAAM,QAAQ,MAAO,OAAO,gBAAuC,CAAC;AAC3E,eAAO,MAAM,WAAW,QAAS,GAAG,qBAAwC,CAAC;AAC7E,eAAO,MAAM,KAAK,QAjBsB,OAAO,mBAiBb,CAAC;AACnC,eAAO,MAAM,KAAK,QAlBsB,OAAO,mBAkBb,CAAC;AACnC,eAAO,MAAM,QAAQ,QAAS,OAAO,KAAG,OAUvC,CAAC;AACF,eAAO,MAAM,eAAe,QAAS,OAAO,yBAE3C,CAAC;AACF,eAAO,MAAM,WAAW,QAAS,OAAO,KAAG,OAS1C,CAAC;AAEF,eAAO,MAAM,MAAM,MAAO,OAAO,kBAA2C,CAAC;AAE7E,eAAO,MAAM,SAAS,MAAO,OAAO,YACiC,CAAC;AAGtE,eAAO,MAAM,KAAK,MAAO,OAAO,KAAG,OAAkB,CAAC;AAEtD,eAAO,MAAM,OAAO,QAAS,OAAO,KAAG,OActC,CAAC;AAEF,eAAO,MAAM,MAAM,OAAQ,OAAO,6EASjC,CAAC;AAEF,eAAO,MAAM,OAAO,QAAO,OACqC,CAAC;AAEjE,eAAO,MAAM,SAAS,QAAO,OAG5B,CAAC;AAEF,eAAO,MAAM,iBAAiB,YAAa,MAAM,KAAG,OASnD,CAAC;AAEF,wBAAgB,YAAY,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,IAAI,WAAW,CAQjE"}
1
+ {"version":3,"file":"is.d.ts","sourceRoot":"","sources":["is.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,wBAAgB,SAAS,YAExB;AASD,eAAO,MAAM,OAAO,4BAAgB,CAAC;AACrC,eAAO,MAAM,QAAQ,QAAS,OAAO,sBACc,CAAC;AACpD,eAAO,MAAM,MAAM,QAAS,OAAO,gBAAqC,CAAC;AACzE,eAAO,MAAM,SAAS,QAAS,OAAO,mBAA2C,CAAC;AAClF,eAAO,MAAM,OAAO,QAAS,OAAO,KAAG,OAA+B,CAAC;AACvE,eAAO,MAAM,QAAQ,MAAO,OAAO,gBAAuC,CAAC;AAC3E,eAAO,MAAM,QAAQ,QAAS,OAAO,KAAG,OAAgC,CAAC;AACzE,eAAO,MAAM,QAAQ,MAAO,OAAO,gBAAuC,CAAC;AAC3E,eAAO,MAAM,WAAW,QAAS,GAAG,qBAAwC,CAAC;AAC7E,eAAO,MAAM,KAAK,QAjBsB,OAAO,mBAiBb,CAAC;AACnC,eAAO,MAAM,KAAK,QAlBsB,OAAO,mBAkBb,CAAC;AACnC,eAAO,MAAM,QAAQ,QAAS,OAAO,KAAG,OAUvC,CAAC;AACF,eAAO,MAAM,eAAe,QAAS,OAAO,yBAE3C,CAAC;AACF,eAAO,MAAM,WAAW,QAAS,OAAO,KAAG,OAS1C,CAAC;AAEF,eAAO,MAAM,MAAM,MAAO,OAAO,kBAA2C,CAAC;AAE7E,eAAO,MAAM,SAAS,MAAO,OAAO,YACiC,CAAC;AAGtE,eAAO,MAAM,KAAK,MAAO,OAAO,KAAG,OAAkB,CAAC;AAEtD,eAAO,MAAM,OAAO,QAAS,OAAO,KAAG,OActC,CAAC;AAEF,eAAO,MAAM,MAAM,OAAQ,OAAO,6EASjC,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,IAAI,KAAK,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAE5F;AAED,eAAO,MAAM,OAAO,QAAO,OACqC,CAAC;AAEjE,eAAO,MAAM,SAAS,QAAO,OAG5B,CAAC;AAEF,eAAO,MAAM,iBAAiB,YAAa,MAAM,KAAG,OASnD,CAAC;AAEF,wBAAgB,YAAY,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,IAAI,WAAW,CAQjE"}
package/cjs/utils/is.js CHANGED
@@ -7,7 +7,9 @@ exports.isBoolean = exports.isArray = void 0;
7
7
  exports.isBrowser = isBrowser;
8
8
  exports.isDate = exports.isChromeLowerThan = exports.isBuffer = void 0;
9
9
  exports.isDomElement = isDomElement;
10
- exports.isUndefined = exports.isUnMatchedData = exports.isString = exports.isSet = exports.isRegexp = exports.isPromise = exports.isObject = exports.isNumber = exports.isNan = exports.isMergeable = exports.isMap = exports.isMacOS = exports.isLink = exports.isFunc = exports.isFirefox = exports.isError = exports.isEmpty = void 0;
10
+ exports.isMergeable = exports.isMap = exports.isMacOS = exports.isLink = exports.isFunc = exports.isFirefox = exports.isError = exports.isEmpty = void 0;
11
+ exports.isNamedComponent = isNamedComponent;
12
+ exports.isUndefined = exports.isUnMatchedData = exports.isString = exports.isSet = exports.isRegexp = exports.isPromise = exports.isObject = exports.isNumber = exports.isNan = void 0;
11
13
  var _react = _interopRequireDefault(require("react"));
12
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
15
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
@@ -96,6 +98,9 @@ var isLink = exports.isLink = function isLink(el) {
96
98
  }
97
99
  return false;
98
100
  };
101
+ function isNamedComponent(type) {
102
+ return (isObject(type) || isFunc(type)) && type.hasOwnProperty('displayName');
103
+ }
99
104
  var isMacOS = exports.isMacOS = function isMacOS() {
100
105
  return isBrowser() && /macintosh|mac os x/i.test(navigator.userAgent);
101
106
  };
@@ -1,2 +1,2 @@
1
- export declare const getPosition: (target: HTMLElement | null, priorityDirection: "vertical" | "horizontal" | "auto" | undefined, mode: 'popover' | 'menu' | 'list') => "bottom" | "left" | "right" | "top" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom";
1
+ export declare const getPosition: (target: HTMLElement | null, priorityDirection: "vertical" | "horizontal" | "auto" | undefined, mode: 'popover' | 'menu' | 'list', popup?: HTMLElement) => "bottom" | "left" | "right" | "top" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom";
2
2
  //# sourceMappingURL=position.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"position.d.ts","sourceRoot":"","sources":["position.ts"],"names":[],"mappings":"AAgFA,eAAO,MAAM,WAAW,WACd,WAAW,GAAG,IAAI,2EAEpB,SAAS,GAAG,MAAM,GAAG,MAAM,gKAKlC,CAAC"}
1
+ {"version":3,"file":"position.d.ts","sourceRoot":"","sources":["position.ts"],"names":[],"mappings":"AAiGA,eAAO,MAAM,WAAW,WACd,WAAW,GAAG,IAAI,2EAEpB,SAAS,GAAG,MAAM,GAAG,MAAM,UACzB,WAAW,gKAKpB,CAAC"}