@sheinx/hooks 3.5.2-beta.1 → 3.5.2-beta.11

Sign up to get free protection for your applications and to get access to all the features.
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.2-beta.1",
3
+ "version": "3.5.2-beta.11",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "license": "MIT",