shineout 3.5.2-beta.8 → 3.5.2

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.
package/cjs/index.js CHANGED
@@ -500,5 +500,5 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
500
500
  // 此文件由脚本自动生成,请勿直接修改。
501
501
  // This file was generated automatically by a script. Please do not modify it directly.
502
502
  var _default = exports.default = {
503
- version: '3.5.2-beta.8'
503
+ version: '3.5.2'
504
504
  };
package/dist/shineout.js CHANGED
@@ -12002,7 +12002,7 @@ var handleStyle = function handleStyle(style) {
12002
12002
  };
12003
12003
  /* harmony default export */ var jss_style_handleStyle = (handleStyle);
12004
12004
  ;// CONCATENATED MODULE: ../shineout-style/src/version.ts
12005
- /* harmony default export */ var version = ('3.5.2-beta.8');
12005
+ /* harmony default export */ var version = ('3.5.2');
12006
12006
  ;// CONCATENATED MODULE: ../shineout-style/src/jss-style/index.tsx
12007
12007
 
12008
12008
 
@@ -29026,6 +29026,25 @@ function getClosestScrollContainer(element) {
29026
29026
  // 如果没有找到可滚动的祖先,返回 body 或 documentElement
29027
29027
  return document.scrollingElement || document.documentElement;
29028
29028
  }
29029
+ function getClosestFixedContainer(element) {
29030
+ if (!element) {
29031
+ return null;
29032
+ }
29033
+ var isFixable = function isFixable(el) {
29034
+ var style = window.getComputedStyle(el);
29035
+ return style.position === 'fixed';
29036
+ };
29037
+
29038
+ // 遍历父元素
29039
+ var parent = element.parentElement;
29040
+ while (parent) {
29041
+ if (isFixable(parent)) {
29042
+ return parent;
29043
+ }
29044
+ parent = parent.parentElement;
29045
+ }
29046
+ return null;
29047
+ }
29029
29048
  function cssSupport(attr, value) {
29030
29049
  if (is_isBrowser()) {
29031
29050
  var element = document.createElement('div');
@@ -32925,6 +32944,7 @@ function getUidStr() {
32925
32944
  }
32926
32945
  ;// CONCATENATED MODULE: ../hooks/src/utils/lazyload.ts
32927
32946
 
32947
+
32928
32948
  var lazyload_throttle = 80;
32929
32949
  var components = {};
32930
32950
  var timeout = null;
@@ -32984,10 +33004,12 @@ function removeStack(id, removeListener) {
32984
33004
  function getObserver(obj, id) {
32985
33005
  var _obj$container = obj.container,
32986
33006
  container = _obj$container === void 0 ? null : _obj$container,
33007
+ element = obj.element,
32987
33008
  offset = obj.offset,
32988
33009
  render = obj.render,
32989
33010
  offscreen = obj.offscreen,
32990
33011
  noRemove = obj.noRemove;
33012
+ var fixedContainer = getClosestFixedContainer(element);
32991
33013
  var observer = new IntersectionObserver(function (entries) {
32992
33014
  entries.forEach(function (en) {
32993
33015
  if (en.isIntersecting || en.intersectionRatio > 0) {
@@ -32998,7 +33020,7 @@ function getObserver(obj, id) {
32998
33020
  }
32999
33021
  });
33000
33022
  }, {
33001
- root: container,
33023
+ root: fixedContainer || container,
33002
33024
  rootMargin: "".concat(offset, "px")
33003
33025
  });
33004
33026
  obj.observer = observer;
@@ -33246,6 +33268,7 @@ function useInputAble(props) {
33246
33268
  var _props$value;
33247
33269
  var valuePo = props.value,
33248
33270
  onChange = props.onChange,
33271
+ onSameChange = props.onSameChange,
33249
33272
  control = props.control,
33250
33273
  beforeChange = props.beforeChange,
33251
33274
  delay = props.delay;
@@ -33293,7 +33316,10 @@ function useInputAble(props) {
33293
33316
  }
33294
33317
  var vv = v;
33295
33318
  if (other.length === 0 || props.filterSameChange) {
33296
- if (shallowEqual(v, value)) return;
33319
+ if (shallowEqual(v, value)) {
33320
+ if (onSameChange) onSameChange(v);
33321
+ return;
33322
+ }
33297
33323
  }
33298
33324
  if (isFunc(beforeChange)) {
33299
33325
  var temp = beforeChange(v);
@@ -37093,7 +37119,8 @@ var Scroll = function Scroll(props) {
37093
37119
  _props$defaultHeight = props.defaultHeight,
37094
37120
  defaultHeight = _props$defaultHeight === void 0 ? 0 : _props$defaultHeight;
37095
37121
  var _useResize = useResize({
37096
- targetRef: containerRef
37122
+ targetRef: containerRef,
37123
+ timer: 0
37097
37124
  }),
37098
37125
  width = _useResize.width,
37099
37126
  h = _useResize.height;
@@ -50533,6 +50560,7 @@ var useSelect = function useSelect(props) {
50533
50560
  prediction = props.prediction,
50534
50561
  valueProp = props.value,
50535
50562
  onChangeProp = props.onChange,
50563
+ onSameChange = props.onSameChange,
50536
50564
  filterSameChange = props.filterSameChange,
50537
50565
  noCache = props.noCache;
50538
50566
  var _useInputAble = useInputAble({
@@ -50541,6 +50569,7 @@ var useSelect = function useSelect(props) {
50541
50569
  defaultValue: defaultValue,
50542
50570
  beforeChange: beforeChange,
50543
50571
  onChange: onChangeProp,
50572
+ onSameChange: onSameChange,
50544
50573
  filterSameChange: filterSameChange
50545
50574
  }),
50546
50575
  value = _useInputAble.value,
@@ -52491,6 +52520,12 @@ function Select(props0) {
52491
52520
  if (props.absolute === undefined) return;
52492
52521
  setAbsoluteListUpdateKey(value);
52493
52522
  });
52523
+ var handleSameChange = function handleSameChange() {
52524
+ var shouldFocus = showInput && props.reFocus;
52525
+ if (!multiple && !shouldFocus) {
52526
+ closePop();
52527
+ }
52528
+ };
52494
52529
  var _useSelect = use_select({
52495
52530
  value: valueProp,
52496
52531
  data: data,
@@ -52506,6 +52541,7 @@ function Select(props0) {
52506
52541
  prediction: prediction,
52507
52542
  beforeChange: beforeChange,
52508
52543
  onChange: handleSelectChange,
52544
+ onSameChange: handleSameChange,
52509
52545
  filterSameChange: filterSameChange,
52510
52546
  noCache: noCache
52511
52547
  }),
@@ -66432,7 +66468,7 @@ var upload_interface = __webpack_require__(8821);
66432
66468
 
66433
66469
 
66434
66470
  /* harmony default export */ var src_0 = ({
66435
- version: '3.5.2-beta.8'
66471
+ version: '3.5.2'
66436
66472
  });
66437
66473
  }();
66438
66474
  /******/ return __webpack_exports__;