@sheinx/hooks 3.5.1 → 3.5.2-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 (39) hide show
  1. package/cjs/common/use-input-able/use-Input-able.d.ts.map +1 -1
  2. package/cjs/common/use-input-able/use-Input-able.js +5 -1
  3. package/cjs/common/use-input-able/use-Input-able.type.d.ts +1 -0
  4. package/cjs/common/use-input-able/use-Input-able.type.d.ts.map +1 -1
  5. package/cjs/common/use-list-select/use-list-select-multiple.js +1 -1
  6. package/cjs/components/use-form/use-form-control/use-form-control.d.ts.map +1 -1
  7. package/cjs/components/use-form/use-form-control/use-form-control.js +6 -0
  8. package/cjs/components/use-form/use-form.d.ts.map +1 -1
  9. package/cjs/components/use-form/use-form.js +5 -3
  10. package/cjs/components/use-select/use-select.d.ts +2 -2
  11. package/cjs/components/use-select/use-select.d.ts.map +1 -1
  12. package/cjs/components/use-select/use-select.js +2 -0
  13. package/cjs/components/use-select/use-select.type.d.ts +3 -0
  14. package/cjs/components/use-select/use-select.type.d.ts.map +1 -1
  15. package/cjs/utils/dom/element.d.ts +1 -0
  16. package/cjs/utils/dom/element.d.ts.map +1 -1
  17. package/cjs/utils/dom/element.js +20 -0
  18. package/cjs/utils/lazyload.d.ts.map +1 -1
  19. package/cjs/utils/lazyload.js +4 -1
  20. package/esm/common/use-input-able/use-Input-able.d.ts.map +1 -1
  21. package/esm/common/use-input-able/use-Input-able.js +5 -1
  22. package/esm/common/use-input-able/use-Input-able.type.d.ts +1 -0
  23. package/esm/common/use-input-able/use-Input-able.type.d.ts.map +1 -1
  24. package/esm/common/use-list-select/use-list-select-multiple.js +1 -1
  25. package/esm/components/use-form/use-form-control/use-form-control.d.ts.map +1 -1
  26. package/esm/components/use-form/use-form-control/use-form-control.js +6 -0
  27. package/esm/components/use-form/use-form.d.ts.map +1 -1
  28. package/esm/components/use-form/use-form.js +5 -3
  29. package/esm/components/use-select/use-select.d.ts +2 -2
  30. package/esm/components/use-select/use-select.d.ts.map +1 -1
  31. package/esm/components/use-select/use-select.js +2 -0
  32. package/esm/components/use-select/use-select.type.d.ts +3 -0
  33. package/esm/components/use-select/use-select.type.d.ts.map +1 -1
  34. package/esm/utils/dom/element.d.ts +1 -0
  35. package/esm/utils/dom/element.d.ts.map +1 -1
  36. package/esm/utils/dom/element.js +19 -0
  37. package/esm/utils/lazyload.d.ts.map +1 -1
  38. package/esm/utils/lazyload.js +4 -1
  39. package/package.json +1 -1
@@ -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;;;;EA2E3F"}
@@ -21,6 +21,7 @@ function useInputAble(props) {
21
21
  var _props$value;
22
22
  var valuePo = props.value,
23
23
  onChange = props.onChange,
24
+ onSameChange = props.onSameChange,
24
25
  control = props.control,
25
26
  beforeChange = props.beforeChange,
26
27
  delay = props.delay;
@@ -68,7 +69,10 @@ function useInputAble(props) {
68
69
  }
69
70
  var vv = v;
70
71
  if (other.length === 0 || props.filterSameChange) {
71
- if ((0, _shallowEqual.shallowEqual)(v, value)) return;
72
+ if ((0, _shallowEqual.shallowEqual)(v, value)) {
73
+ if (onSameChange) onSameChange(v);
74
+ return;
75
+ }
72
76
  }
73
77
  if ((0, _is.isFunc)(beforeChange)) {
74
78
  var temp = beforeChange(v);
@@ -4,6 +4,7 @@ export interface InputAbleProps<T, V extends ChangeType<T>> {
4
4
  defaultValue: T | undefined;
5
5
  beforeChange: ((value: T) => T | void) | undefined;
6
6
  onChange: V | undefined;
7
+ onSameChange?: V;
7
8
  control: boolean;
8
9
  delay?: number;
9
10
  filterSameChange?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"use-Input-able.type.d.ts","sourceRoot":"","sources":["use-Input-able.type.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AAChE,MAAM,WAAW,cAAc,CAAC,CAAC,EAAE,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC;IACxD,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC;IACrB,YAAY,EAAE,CAAC,GAAG,SAAS,CAAC;IAC5B,YAAY,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;IACnD,QAAQ,EAAE,CAAC,GAAG,SAAS,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IAEjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B"}
1
+ {"version":3,"file":"use-Input-able.type.d.ts","sourceRoot":"","sources":["use-Input-able.type.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AAChE,MAAM,WAAW,cAAc,CAAC,CAAC,EAAE,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC;IACxD,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC;IACrB,YAAY,EAAE,CAAC,GAAG,SAAS,CAAC;IAC5B,YAAY,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;IACnD,QAAQ,EAAE,CAAC,GAAG,SAAS,CAAC;IACxB,YAAY,CAAC,EAAE,CAAC,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IAEjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B"}
@@ -133,7 +133,7 @@ var useListSelectMultiple = function useListSelectMultiple(props) {
133
133
  }
134
134
  });
135
135
  var removeAll = (0, _usePersistFn.default)(function () {
136
- props.onChange([], undefined, false);
136
+ props.onChange(props.separator ? '' : [], undefined, false);
137
137
  });
138
138
 
139
139
  // 删除数据
@@ -1 +1 @@
1
- {"version":3,"file":"use-form-control.d.ts","sourceRoot":"","sources":["use-form-control.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAyB/D,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC;;kBAwJpC,CAAC,YAAY,GAAG,EAAE;;;;;EAkDrD"}
1
+ {"version":3,"file":"use-form-control.d.ts","sourceRoot":"","sources":["use-form-control.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAyB/D,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC;;kBAyJpC,CAAC,YAAY,GAAG,EAAE;;;;;EAkDrD"}
@@ -115,6 +115,9 @@ function useFormControl(props) {
115
115
  }
116
116
  });
117
117
  setValueState(nextValue);
118
+ formFunc === null || formFunc === void 0 || formFunc.setValue(_defineProperty({}, name, nextValue), {
119
+ validate: false
120
+ });
118
121
  } else {
119
122
  var _value2 = getValue(name, formValue);
120
123
  var _error2 = getError(name, errors, severErrors);
@@ -124,6 +127,9 @@ function useFormControl(props) {
124
127
  if (!(0, _shallowEqual.shallowEqual)(_value2, latestInfo.valueState)) {
125
128
  if (_value2 === undefined && defaultValue !== undefined) {
126
129
  setValueState(defaultValue);
130
+ formFunc === null || formFunc === void 0 || formFunc.setValue(_defineProperty({}, name, defaultValue), {
131
+ validate: false
132
+ });
127
133
  } else {
128
134
  setValueState(_value2);
129
135
  }
@@ -1 +1 @@
1
- {"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["use-form.ts"],"names":[],"mappings":";AA0BA,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,gBAAgB,EAGjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI5D,QAAA,MAAM,OAAO;;;;;;;;;wBA0KC;gBAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;gBAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;aAAE;8BAVd,MAAM;oCAkED,OAAO;;6BAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;oCAdrB,MAAM,EAAE;sCAlFN,MAAM,GAAG,MAAM,EAAE,mBAAgB,QAAQ,IAAI,CAAC;qCAgJ5D,MAAM;gCA3CE,MAAM,SAAS,MAAM,UAAU,KAAK;gCAKpC,MAAM,SAAS,MAAM;;;;;;oBAnDjD;YAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE;0BAVd,MAAM;gCAkED,OAAO;;yBAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;gCAdrB,MAAM,EAAE;kCAlFN,MAAM,GAAG,MAAM,EAAE,mBAAgB,QAAQ,IAAI,CAAC;iCAgJ5D,MAAM;4BA3CE,MAAM,SAAS,MAAM,UAAU,KAAK;4BAKpC,MAAM,SAAS,MAAM;;CA2Q9D,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["use-form.ts"],"names":[],"mappings":";AA0BA,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,gBAAgB,EAGjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI5D,QAAA,MAAM,OAAO;;;;;;;;;wBAyKC;gBAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;gBAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;aAAE;8BAVd,MAAM;oCAkED,OAAO;;6BAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;oCAdrB,MAAM,EAAE;sCAlFN,MAAM,GAAG,MAAM,EAAE,mBAAgB,QAAQ,IAAI,CAAC;qCAgJ5D,MAAM;gCA3CE,MAAM,SAAS,MAAM,UAAU,KAAK;gCAKpC,MAAM,SAAS,MAAM;;;;;;oBAnDjD;YAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE;0BAVd,MAAM;gCAkED,OAAO;;yBAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;gCAdrB,MAAM,EAAE;kCAlFN,MAAM,GAAG,MAAM,EAAE,mBAAgB,QAAQ,IAAI,CAAC;iCAgJ5D,MAAM;4BA3CE,MAAM,SAAS,MAAM,UAAU,KAAK;4BAKpC,MAAM,SAAS,MAAM;;CA6Q9D,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -364,11 +364,13 @@ var useForm = function useForm(props) {
364
364
  context.removeArr.delete(n);
365
365
  if (df !== undefined && (0, _utils.deepGet)(context.value, n) === undefined) {
366
366
  if (!context.mounted) context.defaultValues[n] = df;
367
- onChange(function (v) {
368
- (0, _utils.deepSet)(v, n, df, deepSetOptions);
367
+ setTimeout(function () {
368
+ onChange(function (v) {
369
+ (0, _utils.deepSet)(v, n, df, deepSetOptions);
370
+ });
371
+ update(n);
369
372
  });
370
373
  }
371
- update(n);
372
374
  },
373
375
  unbind: function unbind(n, reserveAble, validateFiled, update) {
374
376
  var validateFieldSet = context.validateMap[n];
@@ -1,5 +1,5 @@
1
- import { BaseSelectProps } from './use-select.type';
2
- declare const useSelect: <DataItem, Value>(props: BaseSelectProps<DataItem, Value>) => {
1
+ import { BaseSelectProps, UseSelectProps } from './use-select.type';
2
+ declare const useSelect: <DataItem, Value>(props: BaseSelectProps<DataItem, Value> & UseSelectProps<Value>) => {
3
3
  value: Value | undefined;
4
4
  datum: {
5
5
  add: (data: DataItem | DataItem[], config?: {
@@ -1 +1 @@
1
- {"version":3,"file":"use-select.d.ts","sourceRoot":"","sources":["use-select.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6Cd,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"use-select.d.ts","sourceRoot":"","sources":["use-select.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGpE,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDd,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -20,6 +20,7 @@ var useSelect = function useSelect(props) {
20
20
  prediction = props.prediction,
21
21
  valueProp = props.value,
22
22
  onChangeProp = props.onChange,
23
+ onSameChange = props.onSameChange,
23
24
  filterSameChange = props.filterSameChange,
24
25
  noCache = props.noCache;
25
26
  var _useInputAble = (0, _useInputAble2.useInputAble)({
@@ -28,6 +29,7 @@ var useSelect = function useSelect(props) {
28
29
  defaultValue: defaultValue,
29
30
  beforeChange: beforeChange,
30
31
  onChange: onChangeProp,
32
+ onSameChange: onSameChange,
31
33
  filterSameChange: filterSameChange
32
34
  }),
33
35
  value = _useInputAble.value,
@@ -58,4 +58,7 @@ export interface BaseSelectProps<DataItem, Value> {
58
58
  groupBy?: (item: DataItem, index?: number, data?: DataItem[]) => string;
59
59
  filterSameChange?: boolean;
60
60
  }
61
+ export interface UseSelectProps<Value> {
62
+ onSameChange: (value: Value) => void;
63
+ }
61
64
  //# sourceMappingURL=use-select.type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-select.type.d.ts","sourceRoot":"","sources":["use-select.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,MAAM,WAAW,eAAe,CAAC,QAAQ,EAAE,KAAK;IAC9C,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,QAAQ,CAAC;IAE7B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC;IAEnD;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,EAAE,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC;IAEvF;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAE3F;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,GAAG,CAAC;IAErC;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAEtE;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,MAAM,CAAC;IACxE,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B"}
1
+ {"version":3,"file":"use-select.type.d.ts","sourceRoot":"","sources":["use-select.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,MAAM,WAAW,eAAe,CAAC,QAAQ,EAAE,KAAK;IAC9C,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,QAAQ,CAAC;IAE7B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC;IAEnD;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,EAAE,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC;IAEvF;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAE3F;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,GAAG,CAAC;IAErC;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAEtE;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,MAAM,CAAC;IACxE,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc,CAAC,KAAK;IACnC,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACtC"}
@@ -13,6 +13,7 @@ export declare const addResizeObserver: (el: HTMLElement, handler: any, options?
13
13
  }) => () => void;
14
14
  export declare function getParent(el: HTMLElement | null | Element, target?: string | HTMLElement): Element | null;
15
15
  export declare function getClosestScrollContainer(element: HTMLElement | null): HTMLElement | null;
16
+ export declare function getClosestFixedContainer(element: Element | HTMLElement | null): HTMLElement | null;
16
17
  export declare function cssSupport(attr: keyof CSSStyleDeclaration, value: string): boolean;
17
18
  export declare const parsePxToNumber: (str: string) => number;
18
19
  //# sourceMappingURL=element.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["element.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAa1B;;;;;;GAMG;AACH,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,KAAK,CAAC,SAAS,EACzB,WAAW,UAAQ,EACnB,SAAS,CAAC,EAAE,MAAM,GACjB,KAAK,CAAC,SAAS,CASjB;AAGD,eAAO,MAAM,iBAAiB,OACxB,WAAW,WACN,GAAG;;;gBA4Cb,CAAC;AAEF,wBAAgB,SAAS,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,kBAmBxF;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,GAAG,WAAW,GAAG,IAAI,CA+BzF;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,mBAAmB,EAAE,KAAK,EAAE,MAAM,WAYxE;AAED,eAAO,MAAM,eAAe,QAAS,MAAM,WAAwC,CAAC"}
1
+ {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["element.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAa1B;;;;;;GAMG;AACH,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,KAAK,CAAC,SAAS,EACzB,WAAW,UAAQ,EACnB,SAAS,CAAC,EAAE,MAAM,GACjB,KAAK,CAAC,SAAS,CASjB;AAGD,eAAO,MAAM,iBAAiB,OACxB,WAAW,WACN,GAAG;;;gBA4Cb,CAAC;AAEF,wBAAgB,SAAS,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,kBAmBxF;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,GAAG,WAAW,GAAG,IAAI,CAmCzF;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,sBAqB7E;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,mBAAmB,EAAE,KAAK,EAAE,MAAM,WAYxE;AAED,eAAO,MAAM,eAAe,QAAS,MAAM,WAAwC,CAAC"}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.addResizeObserver = void 0;
7
7
  exports.cssSupport = cssSupport;
8
+ exports.getClosestFixedContainer = getClosestFixedContainer;
8
9
  exports.getClosestScrollContainer = getClosestScrollContainer;
9
10
  exports.getParent = getParent;
10
11
  exports.parsePxToNumber = void 0;
@@ -156,6 +157,25 @@ function getClosestScrollContainer(element) {
156
157
  // 如果没有找到可滚动的祖先,返回 body 或 documentElement
157
158
  return document.scrollingElement || document.documentElement;
158
159
  }
160
+ function getClosestFixedContainer(element) {
161
+ if (!element) {
162
+ return null;
163
+ }
164
+ var isFixable = function isFixable(el) {
165
+ var style = window.getComputedStyle(el);
166
+ return style.position === 'fixed';
167
+ };
168
+
169
+ // 遍历父元素
170
+ var parent = element.parentElement;
171
+ while (parent) {
172
+ if (isFixable(parent)) {
173
+ return parent;
174
+ }
175
+ parent = parent.parentElement;
176
+ }
177
+ return null;
178
+ }
159
179
  function cssSupport(attr, value) {
160
180
  if ((0, _is.isBrowser)()) {
161
181
  var element = document.createElement('div');
@@ -1 +1 @@
1
- {"version":3,"file":"lazyload.d.ts","sourceRoot":"","sources":["lazyload.ts"],"names":[],"mappings":"AAIA,KAAK,UAAU,GAAG;IAChB,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,oBAAoB,CAAC;CACjC,CAAC;AAoBF,wBAAgB,QAAQ,SAgBvB;AAWD,wBAAgB,WAAW,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,QAUvE;AAwBD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,UAAU,iBA4BvC"}
1
+ {"version":3,"file":"lazyload.d.ts","sourceRoot":"","sources":["lazyload.ts"],"names":[],"mappings":"AAKA,KAAK,UAAU,GAAG;IAChB,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,oBAAoB,CAAC;CACjC,CAAC;AAoBF,wBAAgB,QAAQ,SAgBvB;AAWD,wBAAgB,WAAW,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,QAUvE;AAyBD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,UAAU,iBA4BvC"}
@@ -7,6 +7,7 @@ exports.addStack = addStack;
7
7
  exports.dispatch = dispatch;
8
8
  exports.removeStack = removeStack;
9
9
  var _utils = require("../utils");
10
+ var _element = require("./dom/element");
10
11
  var throttle = 80;
11
12
  var components = {};
12
13
  var timeout = null;
@@ -66,10 +67,12 @@ function removeStack(id, removeListener) {
66
67
  function getObserver(obj, id) {
67
68
  var _obj$container = obj.container,
68
69
  container = _obj$container === void 0 ? null : _obj$container,
70
+ element = obj.element,
69
71
  offset = obj.offset,
70
72
  render = obj.render,
71
73
  offscreen = obj.offscreen,
72
74
  noRemove = obj.noRemove;
75
+ var fixedContainer = (0, _element.getClosestFixedContainer)(element);
73
76
  var observer = new IntersectionObserver(function (entries) {
74
77
  entries.forEach(function (en) {
75
78
  if (en.isIntersecting || en.intersectionRatio > 0) {
@@ -80,7 +83,7 @@ function getObserver(obj, id) {
80
83
  }
81
84
  });
82
85
  }, {
83
- root: container,
86
+ root: fixedContainer || container,
84
87
  rootMargin: "".concat(offset, "px")
85
88
  });
86
89
  obj.observer = observer;
@@ -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;;;;EA2E3F"}
@@ -14,6 +14,7 @@ export default function useInputAble(props) {
14
14
  var _props$value;
15
15
  var valuePo = props.value,
16
16
  onChange = props.onChange,
17
+ onSameChange = props.onSameChange,
17
18
  control = props.control,
18
19
  beforeChange = props.beforeChange,
19
20
  delay = props.delay;
@@ -61,7 +62,10 @@ export default function useInputAble(props) {
61
62
  }
62
63
  var vv = v;
63
64
  if (other.length === 0 || props.filterSameChange) {
64
- if (shallowEqual(v, value)) return;
65
+ if (shallowEqual(v, value)) {
66
+ if (onSameChange) onSameChange(v);
67
+ return;
68
+ }
65
69
  }
66
70
  if (isFunc(beforeChange)) {
67
71
  var temp = beforeChange(v);
@@ -4,6 +4,7 @@ export interface InputAbleProps<T, V extends ChangeType<T>> {
4
4
  defaultValue: T | undefined;
5
5
  beforeChange: ((value: T) => T | void) | undefined;
6
6
  onChange: V | undefined;
7
+ onSameChange?: V;
7
8
  control: boolean;
8
9
  delay?: number;
9
10
  filterSameChange?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"use-Input-able.type.d.ts","sourceRoot":"","sources":["use-Input-able.type.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AAChE,MAAM,WAAW,cAAc,CAAC,CAAC,EAAE,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC;IACxD,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC;IACrB,YAAY,EAAE,CAAC,GAAG,SAAS,CAAC;IAC5B,YAAY,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;IACnD,QAAQ,EAAE,CAAC,GAAG,SAAS,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IAEjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B"}
1
+ {"version":3,"file":"use-Input-able.type.d.ts","sourceRoot":"","sources":["use-Input-able.type.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AAChE,MAAM,WAAW,cAAc,CAAC,CAAC,EAAE,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC;IACxD,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC;IACrB,YAAY,EAAE,CAAC,GAAG,SAAS,CAAC;IAC5B,YAAY,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;IACnD,QAAQ,EAAE,CAAC,GAAG,SAAS,CAAC;IACxB,YAAY,CAAC,EAAE,CAAC,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IAEjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B"}
@@ -123,7 +123,7 @@ var useListSelectMultiple = function useListSelectMultiple(props) {
123
123
  }
124
124
  });
125
125
  var removeAll = usePersistFn(function () {
126
- props.onChange([], undefined, false);
126
+ props.onChange(props.separator ? '' : [], undefined, false);
127
127
  });
128
128
 
129
129
  // 删除数据
@@ -1 +1 @@
1
- {"version":3,"file":"use-form-control.d.ts","sourceRoot":"","sources":["use-form-control.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAyB/D,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC;;kBAwJpC,CAAC,YAAY,GAAG,EAAE;;;;;EAkDrD"}
1
+ {"version":3,"file":"use-form-control.d.ts","sourceRoot":"","sources":["use-form-control.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAyB/D,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC;;kBAyJpC,CAAC,YAAY,GAAG,EAAE;;;;;EAkDrD"}
@@ -106,6 +106,9 @@ export default function useFormControl(props) {
106
106
  }
107
107
  });
108
108
  setValueState(nextValue);
109
+ formFunc === null || formFunc === void 0 || formFunc.setValue(_defineProperty({}, name, nextValue), {
110
+ validate: false
111
+ });
109
112
  } else {
110
113
  var _value2 = getValue(name, formValue);
111
114
  var _error2 = getError(name, errors, severErrors);
@@ -115,6 +118,9 @@ export default function useFormControl(props) {
115
118
  if (!shallowEqual(_value2, latestInfo.valueState)) {
116
119
  if (_value2 === undefined && defaultValue !== undefined) {
117
120
  setValueState(defaultValue);
121
+ formFunc === null || formFunc === void 0 || formFunc.setValue(_defineProperty({}, name, defaultValue), {
122
+ validate: false
123
+ });
118
124
  } else {
119
125
  setValueState(_value2);
120
126
  }
@@ -1 +1 @@
1
- {"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["use-form.ts"],"names":[],"mappings":";AA0BA,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,gBAAgB,EAGjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI5D,QAAA,MAAM,OAAO;;;;;;;;;wBA0KC;gBAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;gBAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;aAAE;8BAVd,MAAM;oCAkED,OAAO;;6BAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;oCAdrB,MAAM,EAAE;sCAlFN,MAAM,GAAG,MAAM,EAAE,mBAAgB,QAAQ,IAAI,CAAC;qCAgJ5D,MAAM;gCA3CE,MAAM,SAAS,MAAM,UAAU,KAAK;gCAKpC,MAAM,SAAS,MAAM;;;;;;oBAnDjD;YAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE;0BAVd,MAAM;gCAkED,OAAO;;yBAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;gCAdrB,MAAM,EAAE;kCAlFN,MAAM,GAAG,MAAM,EAAE,mBAAgB,QAAQ,IAAI,CAAC;iCAgJ5D,MAAM;4BA3CE,MAAM,SAAS,MAAM,UAAU,KAAK;4BAKpC,MAAM,SAAS,MAAM;;CA2Q9D,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["use-form.ts"],"names":[],"mappings":";AA0BA,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,gBAAgB,EAGjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI5D,QAAA,MAAM,OAAO;;;;;;;;;wBAyKC;gBAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;gBAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;aAAE;8BAVd,MAAM;oCAkED,OAAO;;6BAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;oCAdrB,MAAM,EAAE;sCAlFN,MAAM,GAAG,MAAM,EAAE,mBAAgB,QAAQ,IAAI,CAAC;qCAgJ5D,MAAM;gCA3CE,MAAM,SAAS,MAAM,UAAU,KAAK;gCAKpC,MAAM,SAAS,MAAM;;;;;;oBAnDjD;YAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE;0BAVd,MAAM;gCAkED,OAAO;;yBAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;gCAdrB,MAAM,EAAE;kCAlFN,MAAM,GAAG,MAAM,EAAE,mBAAgB,QAAQ,IAAI,CAAC;iCAgJ5D,MAAM;4BA3CE,MAAM,SAAS,MAAM,UAAU,KAAK;4BAKpC,MAAM,SAAS,MAAM;;CA6Q9D,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -355,11 +355,13 @@ var useForm = function useForm(props) {
355
355
  context.removeArr.delete(n);
356
356
  if (df !== undefined && deepGet(context.value, n) === undefined) {
357
357
  if (!context.mounted) context.defaultValues[n] = df;
358
- onChange(function (v) {
359
- deepSet(v, n, df, deepSetOptions);
358
+ setTimeout(function () {
359
+ onChange(function (v) {
360
+ deepSet(v, n, df, deepSetOptions);
361
+ });
362
+ update(n);
360
363
  });
361
364
  }
362
- update(n);
363
365
  },
364
366
  unbind: function unbind(n, reserveAble, validateFiled, update) {
365
367
  var validateFieldSet = context.validateMap[n];
@@ -1,5 +1,5 @@
1
- import { BaseSelectProps } from './use-select.type';
2
- declare const useSelect: <DataItem, Value>(props: BaseSelectProps<DataItem, Value>) => {
1
+ import { BaseSelectProps, UseSelectProps } from './use-select.type';
2
+ declare const useSelect: <DataItem, Value>(props: BaseSelectProps<DataItem, Value> & UseSelectProps<Value>) => {
3
3
  value: Value | undefined;
4
4
  datum: {
5
5
  add: (data: DataItem | DataItem[], config?: {
@@ -1 +1 @@
1
- {"version":3,"file":"use-select.d.ts","sourceRoot":"","sources":["use-select.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6Cd,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"use-select.d.ts","sourceRoot":"","sources":["use-select.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGpE,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDd,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -14,6 +14,7 @@ var useSelect = function useSelect(props) {
14
14
  prediction = props.prediction,
15
15
  valueProp = props.value,
16
16
  onChangeProp = props.onChange,
17
+ onSameChange = props.onSameChange,
17
18
  filterSameChange = props.filterSameChange,
18
19
  noCache = props.noCache;
19
20
  var _useInputAble = useInputAble({
@@ -22,6 +23,7 @@ var useSelect = function useSelect(props) {
22
23
  defaultValue: defaultValue,
23
24
  beforeChange: beforeChange,
24
25
  onChange: onChangeProp,
26
+ onSameChange: onSameChange,
25
27
  filterSameChange: filterSameChange
26
28
  }),
27
29
  value = _useInputAble.value,
@@ -58,4 +58,7 @@ export interface BaseSelectProps<DataItem, Value> {
58
58
  groupBy?: (item: DataItem, index?: number, data?: DataItem[]) => string;
59
59
  filterSameChange?: boolean;
60
60
  }
61
+ export interface UseSelectProps<Value> {
62
+ onSameChange: (value: Value) => void;
63
+ }
61
64
  //# sourceMappingURL=use-select.type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-select.type.d.ts","sourceRoot":"","sources":["use-select.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,MAAM,WAAW,eAAe,CAAC,QAAQ,EAAE,KAAK;IAC9C,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,QAAQ,CAAC;IAE7B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC;IAEnD;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,EAAE,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC;IAEvF;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAE3F;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,GAAG,CAAC;IAErC;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAEtE;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,MAAM,CAAC;IACxE,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B"}
1
+ {"version":3,"file":"use-select.type.d.ts","sourceRoot":"","sources":["use-select.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,MAAM,WAAW,eAAe,CAAC,QAAQ,EAAE,KAAK;IAC9C,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,QAAQ,CAAC;IAE7B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC;IAEnD;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,EAAE,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC;IAEvF;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAE3F;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,GAAG,CAAC;IAErC;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAEtE;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,MAAM,CAAC;IACxE,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc,CAAC,KAAK;IACnC,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACtC"}
@@ -13,6 +13,7 @@ export declare const addResizeObserver: (el: HTMLElement, handler: any, options?
13
13
  }) => () => void;
14
14
  export declare function getParent(el: HTMLElement | null | Element, target?: string | HTMLElement): Element | null;
15
15
  export declare function getClosestScrollContainer(element: HTMLElement | null): HTMLElement | null;
16
+ export declare function getClosestFixedContainer(element: Element | HTMLElement | null): HTMLElement | null;
16
17
  export declare function cssSupport(attr: keyof CSSStyleDeclaration, value: string): boolean;
17
18
  export declare const parsePxToNumber: (str: string) => number;
18
19
  //# sourceMappingURL=element.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["element.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAa1B;;;;;;GAMG;AACH,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,KAAK,CAAC,SAAS,EACzB,WAAW,UAAQ,EACnB,SAAS,CAAC,EAAE,MAAM,GACjB,KAAK,CAAC,SAAS,CASjB;AAGD,eAAO,MAAM,iBAAiB,OACxB,WAAW,WACN,GAAG;;;gBA4Cb,CAAC;AAEF,wBAAgB,SAAS,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,kBAmBxF;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,GAAG,WAAW,GAAG,IAAI,CA+BzF;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,mBAAmB,EAAE,KAAK,EAAE,MAAM,WAYxE;AAED,eAAO,MAAM,eAAe,QAAS,MAAM,WAAwC,CAAC"}
1
+ {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["element.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAa1B;;;;;;GAMG;AACH,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,KAAK,CAAC,SAAS,EACzB,WAAW,UAAQ,EACnB,SAAS,CAAC,EAAE,MAAM,GACjB,KAAK,CAAC,SAAS,CASjB;AAGD,eAAO,MAAM,iBAAiB,OACxB,WAAW,WACN,GAAG;;;gBA4Cb,CAAC;AAEF,wBAAgB,SAAS,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,kBAmBxF;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,GAAG,WAAW,GAAG,IAAI,CAmCzF;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,sBAqB7E;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,mBAAmB,EAAE,KAAK,EAAE,MAAM,WAYxE;AAED,eAAO,MAAM,eAAe,QAAS,MAAM,WAAwC,CAAC"}
@@ -145,6 +145,25 @@ export function getClosestScrollContainer(element) {
145
145
  // 如果没有找到可滚动的祖先,返回 body 或 documentElement
146
146
  return document.scrollingElement || document.documentElement;
147
147
  }
148
+ export function getClosestFixedContainer(element) {
149
+ if (!element) {
150
+ return null;
151
+ }
152
+ var isFixable = function isFixable(el) {
153
+ var style = window.getComputedStyle(el);
154
+ return style.position === 'fixed';
155
+ };
156
+
157
+ // 遍历父元素
158
+ var parent = element.parentElement;
159
+ while (parent) {
160
+ if (isFixable(parent)) {
161
+ return parent;
162
+ }
163
+ parent = parent.parentElement;
164
+ }
165
+ return null;
166
+ }
148
167
  export function cssSupport(attr, value) {
149
168
  if (isBrowser()) {
150
169
  var element = document.createElement('div');
@@ -1 +1 @@
1
- {"version":3,"file":"lazyload.d.ts","sourceRoot":"","sources":["lazyload.ts"],"names":[],"mappings":"AAIA,KAAK,UAAU,GAAG;IAChB,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,oBAAoB,CAAC;CACjC,CAAC;AAoBF,wBAAgB,QAAQ,SAgBvB;AAWD,wBAAgB,WAAW,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,QAUvE;AAwBD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,UAAU,iBA4BvC"}
1
+ {"version":3,"file":"lazyload.d.ts","sourceRoot":"","sources":["lazyload.ts"],"names":[],"mappings":"AAKA,KAAK,UAAU,GAAG;IAChB,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,oBAAoB,CAAC;CACjC,CAAC;AAoBF,wBAAgB,QAAQ,SAgBvB;AAWD,wBAAgB,WAAW,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,QAUvE;AAyBD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,UAAU,iBA4BvC"}
@@ -1,4 +1,5 @@
1
1
  import { generateUUID, docSize } from "../utils";
2
+ import { getClosestFixedContainer } from "./dom/element";
2
3
  var throttle = 80;
3
4
  var components = {};
4
5
  var timeout = null;
@@ -58,10 +59,12 @@ export function removeStack(id, removeListener) {
58
59
  function getObserver(obj, id) {
59
60
  var _obj$container = obj.container,
60
61
  container = _obj$container === void 0 ? null : _obj$container,
62
+ element = obj.element,
61
63
  offset = obj.offset,
62
64
  render = obj.render,
63
65
  offscreen = obj.offscreen,
64
66
  noRemove = obj.noRemove;
67
+ var fixedContainer = getClosestFixedContainer(element);
65
68
  var observer = new IntersectionObserver(function (entries) {
66
69
  entries.forEach(function (en) {
67
70
  if (en.isIntersecting || en.intersectionRatio > 0) {
@@ -72,7 +75,7 @@ function getObserver(obj, id) {
72
75
  }
73
76
  });
74
77
  }, {
75
- root: container,
78
+ root: fixedContainer || container,
76
79
  rootMargin: "".concat(offset, "px")
77
80
  });
78
81
  obj.observer = observer;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sheinx/hooks",
3
- "version": "3.5.1",
3
+ "version": "3.5.2-beta.10",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "license": "MIT",