shineout 3.8.0-beta.23 → 3.8.0-beta.25
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 +1 -1
- package/dist/shineout.js +79 -4
- package/dist/shineout.js.map +1 -1
- package/dist/shineout.min.js +1 -1
- package/dist/shineout.min.js.map +1 -1
- package/esm/index.js +1 -1
- package/package.json +5 -5
package/cjs/index.js
CHANGED
|
@@ -522,5 +522,5 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
522
522
|
// 此文件由脚本自动生成,请勿直接修改。
|
|
523
523
|
// This file was generated automatically by a script. Please do not modify it directly.
|
|
524
524
|
var _default = exports.default = {
|
|
525
|
-
version: '3.8.0-beta.
|
|
525
|
+
version: '3.8.0-beta.25'
|
|
526
526
|
};
|
package/dist/shineout.js
CHANGED
|
@@ -12386,7 +12386,7 @@ var handleStyle = function handleStyle(style) {
|
|
|
12386
12386
|
};
|
|
12387
12387
|
/* harmony default export */ var jss_style_handleStyle = (handleStyle);
|
|
12388
12388
|
;// CONCATENATED MODULE: ../shineout-style/src/version.ts
|
|
12389
|
-
/* harmony default export */ var version = ('3.8.0-beta.
|
|
12389
|
+
/* harmony default export */ var version = ('3.8.0-beta.25');
|
|
12390
12390
|
;// CONCATENATED MODULE: ../shineout-style/src/jss-style/index.tsx
|
|
12391
12391
|
|
|
12392
12392
|
|
|
@@ -35500,6 +35500,34 @@ function removeStack(id, removeListener) {
|
|
|
35500
35500
|
}
|
|
35501
35501
|
delete components[id];
|
|
35502
35502
|
}
|
|
35503
|
+
|
|
35504
|
+
// 检测容器是否高度受限
|
|
35505
|
+
var isRootHeightConstrained = function isRootHeightConstrained(root, targetElement) {
|
|
35506
|
+
if (!root || root === document.body) {
|
|
35507
|
+
var bodyRect = document.body.getBoundingClientRect();
|
|
35508
|
+
var _targetRect = targetElement.getBoundingClientRect();
|
|
35509
|
+
// body的底部和targetElement的顶部永远不可能有相交,则是受限的
|
|
35510
|
+
if (bodyRect.bottom < _targetRect.top) {
|
|
35511
|
+
return true;
|
|
35512
|
+
} else {
|
|
35513
|
+
return false;
|
|
35514
|
+
}
|
|
35515
|
+
}
|
|
35516
|
+
|
|
35517
|
+
// 当root的overflow是auto或hidden,则认为不是受限的
|
|
35518
|
+
var rootStyle = window.getComputedStyle(root);
|
|
35519
|
+
if (rootStyle.overflow === 'auto' || rootStyle.overflow === 'hidden') {
|
|
35520
|
+
return false;
|
|
35521
|
+
}
|
|
35522
|
+
|
|
35523
|
+
// 当root的底部与targetElement的顶部永远不可能有相交,则是受限的
|
|
35524
|
+
var rootRect = root.getBoundingClientRect();
|
|
35525
|
+
var targetRect = targetElement.getBoundingClientRect();
|
|
35526
|
+
if (rootRect.top > targetRect.bottom || rootRect.bottom < targetRect.top) {
|
|
35527
|
+
return true;
|
|
35528
|
+
}
|
|
35529
|
+
return false;
|
|
35530
|
+
};
|
|
35503
35531
|
function getObserver(obj, id) {
|
|
35504
35532
|
var _obj$container = obj.container,
|
|
35505
35533
|
container = _obj$container === void 0 ? null : _obj$container,
|
|
@@ -35509,6 +35537,10 @@ function getObserver(obj, id) {
|
|
|
35509
35537
|
offscreen = obj.offscreen,
|
|
35510
35538
|
noRemove = obj.noRemove;
|
|
35511
35539
|
var fixedContainer = getClosestPositionedContainer(element, ['fixed', 'absolute']);
|
|
35540
|
+
|
|
35541
|
+
// 获取最优的观察器配置
|
|
35542
|
+
var candidateRoot = fixedContainer || container;
|
|
35543
|
+
var observerRoot = isRootHeightConstrained(candidateRoot, element) ? null : candidateRoot;
|
|
35512
35544
|
var observer = new IntersectionObserver(function (entries) {
|
|
35513
35545
|
entries.forEach(function (en) {
|
|
35514
35546
|
if (en.isIntersecting || en.intersectionRatio > 0) {
|
|
@@ -35520,7 +35552,7 @@ function getObserver(obj, id) {
|
|
|
35520
35552
|
}
|
|
35521
35553
|
});
|
|
35522
35554
|
}, {
|
|
35523
|
-
root:
|
|
35555
|
+
root: observerRoot,
|
|
35524
35556
|
rootMargin: "".concat(offset, "px")
|
|
35525
35557
|
});
|
|
35526
35558
|
obj.observer = observer;
|
|
@@ -52290,6 +52322,7 @@ var useFormFieldSet = function useFormFieldSet(props) {
|
|
|
52290
52322
|
|
|
52291
52323
|
|
|
52292
52324
|
|
|
52325
|
+
|
|
52293
52326
|
var form_fieldset_produce = utils_immer_produce;
|
|
52294
52327
|
var FormFieldSet = function FormFieldSet(props) {
|
|
52295
52328
|
var children = props.children,
|
|
@@ -52348,6 +52381,48 @@ var FormFieldSet = function FormFieldSet(props) {
|
|
|
52348
52381
|
// }
|
|
52349
52382
|
|
|
52350
52383
|
return valueArr.map(function (v, i) {
|
|
52384
|
+
// 创建一个代理对象,让 {...value} 操作能获取最新值
|
|
52385
|
+
// 确保 target 是一个对象,避免 Proxy 报错
|
|
52386
|
+
var target = v && typeof_default()(v) === 'object' ? v : {};
|
|
52387
|
+
var valueProxy = new Proxy(target, {
|
|
52388
|
+
get: function get(target, prop) {
|
|
52389
|
+
var currentValue = formFunc === null || formFunc === void 0 ? void 0 : formFunc.getValue(name);
|
|
52390
|
+
var latestItem = Array.isArray(currentValue) ? currentValue[i] : v;
|
|
52391
|
+
|
|
52392
|
+
// 如果最新值是对象,返回对象的属性
|
|
52393
|
+
if (latestItem && typeof_default()(latestItem) === 'object') {
|
|
52394
|
+
return latestItem[prop];
|
|
52395
|
+
}
|
|
52396
|
+
|
|
52397
|
+
// 如果最新值是基本类型,但原始target是对象,从target获取
|
|
52398
|
+
if (target && typeof_default()(target) === 'object' && prop in target) {
|
|
52399
|
+
return target[prop];
|
|
52400
|
+
}
|
|
52401
|
+
|
|
52402
|
+
// 其他情况返回undefined
|
|
52403
|
+
return undefined;
|
|
52404
|
+
},
|
|
52405
|
+
ownKeys: function ownKeys(target) {
|
|
52406
|
+
var currentValue = formFunc === null || formFunc === void 0 ? void 0 : formFunc.getValue(name);
|
|
52407
|
+
var latestItem = Array.isArray(currentValue) ? currentValue[i] : v;
|
|
52408
|
+
if (latestItem && typeof_default()(latestItem) === 'object') {
|
|
52409
|
+
return Object.keys(latestItem);
|
|
52410
|
+
}
|
|
52411
|
+
return Object.keys(target || {});
|
|
52412
|
+
},
|
|
52413
|
+
getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, prop) {
|
|
52414
|
+
var currentValue = formFunc === null || formFunc === void 0 ? void 0 : formFunc.getValue(name);
|
|
52415
|
+
var latestItem = Array.isArray(currentValue) ? currentValue[i] : v;
|
|
52416
|
+
if (latestItem && typeof_default()(latestItem) === 'object' && prop in latestItem) {
|
|
52417
|
+
return {
|
|
52418
|
+
enumerable: true,
|
|
52419
|
+
configurable: true,
|
|
52420
|
+
value: latestItem[prop]
|
|
52421
|
+
};
|
|
52422
|
+
}
|
|
52423
|
+
return Object.getOwnPropertyDescriptor(target || {}, prop);
|
|
52424
|
+
}
|
|
52425
|
+
});
|
|
52351
52426
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(Provider, {
|
|
52352
52427
|
value: {
|
|
52353
52428
|
path: "".concat(ProviderValue.path, "[").concat(i, "]"),
|
|
@@ -52355,7 +52430,7 @@ var FormFieldSet = function FormFieldSet(props) {
|
|
|
52355
52430
|
},
|
|
52356
52431
|
children: children({
|
|
52357
52432
|
list: valueArr,
|
|
52358
|
-
value:
|
|
52433
|
+
value: valueProxy,
|
|
52359
52434
|
index: i,
|
|
52360
52435
|
error: errorList,
|
|
52361
52436
|
onChange: function onChange(val, options) {
|
|
@@ -72659,7 +72734,7 @@ var upload_interface = __webpack_require__(8821);
|
|
|
72659
72734
|
|
|
72660
72735
|
|
|
72661
72736
|
/* harmony default export */ var src_0 = ({
|
|
72662
|
-
version: '3.8.0-beta.
|
|
72737
|
+
version: '3.8.0-beta.25'
|
|
72663
72738
|
});
|
|
72664
72739
|
}();
|
|
72665
72740
|
/******/ return __webpack_exports__;
|