parent
ff628c2284
commit
e3d74df75b
@ -1,4 +1,391 @@
|
||||
(self["webpackChunk"] = self["webpackChunk"] || []).push([[11862],{
|
||||
(self["webpackChunk"] = self["webpackChunk"] || []).push([[1829],{
|
||||
|
||||
/***/ 27666:
|
||||
/*!****************************************************************************!*\
|
||||
!*** ./node_modules/_antd@5.9.0@antd/es/_util/throttleByAnimationFrame.js ***!
|
||||
\****************************************************************************/
|
||||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
/* harmony import */ var _babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/toConsumableArray */ 12101);
|
||||
/* harmony import */ var rc_util_es_raf__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! rc-util/es/raf */ 91659);
|
||||
|
||||
|
||||
function throttleByAnimationFrame(fn) {
|
||||
let requestId;
|
||||
const later = args => () => {
|
||||
requestId = null;
|
||||
fn.apply(void 0, (0,_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z)(args));
|
||||
};
|
||||
const throttled = function () {
|
||||
if (requestId == null) {
|
||||
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
||||
args[_key] = arguments[_key];
|
||||
}
|
||||
requestId = (0,rc_util_es_raf__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(later(args));
|
||||
}
|
||||
};
|
||||
throttled.cancel = () => {
|
||||
rc_util_es_raf__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z.cancel(requestId);
|
||||
requestId = null;
|
||||
};
|
||||
return throttled;
|
||||
}
|
||||
/* harmony default export */ __webpack_exports__.Z = (throttleByAnimationFrame);
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 81228:
|
||||
/*!*********************************************************************!*\
|
||||
!*** ./node_modules/_antd@5.9.0@antd/es/affix/index.js + 2 modules ***!
|
||||
\*********************************************************************/
|
||||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
|
||||
// EXPORTS
|
||||
__webpack_require__.d(__webpack_exports__, {
|
||||
Z: function() { return /* binding */ affix; }
|
||||
});
|
||||
|
||||
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.24.4@@babel/runtime/helpers/esm/classCallCheck.js
|
||||
var classCallCheck = __webpack_require__(70057);
|
||||
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.24.4@@babel/runtime/helpers/esm/createClass.js
|
||||
var createClass = __webpack_require__(3643);
|
||||
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.24.4@@babel/runtime/helpers/esm/inherits.js
|
||||
var inherits = __webpack_require__(61471);
|
||||
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.24.4@@babel/runtime/helpers/esm/createSuper.js + 1 modules
|
||||
var createSuper = __webpack_require__(14385);
|
||||
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
|
||||
var _react_17_0_2_react = __webpack_require__(59301);
|
||||
// EXTERNAL MODULE: ./node_modules/_classnames@2.5.1@classnames/index.js
|
||||
var _classnames_2_5_1_classnames = __webpack_require__(92310);
|
||||
var _classnames_2_5_1_classnames_default = /*#__PURE__*/__webpack_require__.n(_classnames_2_5_1_classnames);
|
||||
// EXTERNAL MODULE: ./node_modules/_rc-resize-observer@1.4.0@rc-resize-observer/es/index.js + 4 modules
|
||||
var es = __webpack_require__(28647);
|
||||
// EXTERNAL MODULE: ./node_modules/_rc-util@5.39.1@rc-util/es/omit.js
|
||||
var omit = __webpack_require__(62805);
|
||||
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/_util/throttleByAnimationFrame.js
|
||||
var throttleByAnimationFrame = __webpack_require__(27666);
|
||||
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/config-provider/context.js
|
||||
var context = __webpack_require__(36355);
|
||||
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/theme/util/genComponentStyleHook.js
|
||||
var genComponentStyleHook = __webpack_require__(83116);
|
||||
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/theme/util/statistic.js
|
||||
var statistic = __webpack_require__(37613);
|
||||
;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/affix/style/index.js
|
||||
|
||||
// ============================== Shared ==============================
|
||||
const genSharedAffixStyle = token => {
|
||||
const {
|
||||
componentCls
|
||||
} = token;
|
||||
return {
|
||||
[componentCls]: {
|
||||
position: 'fixed',
|
||||
zIndex: token.zIndexPopup
|
||||
}
|
||||
};
|
||||
};
|
||||
// ============================== Export ==============================
|
||||
/* harmony default export */ var style = ((0,genComponentStyleHook/* default */.Z)('Affix', token => {
|
||||
const affixToken = (0,statistic/* merge */.TS)(token, {
|
||||
zIndexPopup: token.zIndexBase + 10
|
||||
});
|
||||
return [genSharedAffixStyle(affixToken)];
|
||||
}));
|
||||
;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/affix/utils.js
|
||||
function getTargetRect(target) {
|
||||
return target !== window ? target.getBoundingClientRect() : {
|
||||
top: 0,
|
||||
bottom: window.innerHeight
|
||||
};
|
||||
}
|
||||
function getFixedTop(placeholderRect, targetRect, offsetTop) {
|
||||
if (offsetTop !== undefined && targetRect.top > placeholderRect.top - offsetTop) {
|
||||
return offsetTop + targetRect.top;
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
function getFixedBottom(placeholderRect, targetRect, offsetBottom) {
|
||||
if (offsetBottom !== undefined && targetRect.bottom < placeholderRect.bottom + offsetBottom) {
|
||||
const targetBottomOffset = window.innerHeight - targetRect.bottom;
|
||||
return offsetBottom + targetBottomOffset;
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/affix/index.js
|
||||
"use client";
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
const TRIGGER_EVENTS = ['resize', 'scroll', 'touchstart', 'touchmove', 'touchend', 'pageshow', 'load'];
|
||||
function getDefaultTarget() {
|
||||
return typeof window !== 'undefined' ? window : null;
|
||||
}
|
||||
var AffixStatus;
|
||||
(function (AffixStatus) {
|
||||
AffixStatus[AffixStatus["None"] = 0] = "None";
|
||||
AffixStatus[AffixStatus["Prepare"] = 1] = "Prepare";
|
||||
})(AffixStatus || (AffixStatus = {}));
|
||||
let InternalAffix = /*#__PURE__*/function (_React$Component) {
|
||||
(0,inherits/* default */.Z)(InternalAffix, _React$Component);
|
||||
var _super = (0,createSuper/* default */.Z)(InternalAffix);
|
||||
function InternalAffix() {
|
||||
var _this;
|
||||
(0,classCallCheck/* default */.Z)(this, InternalAffix);
|
||||
_this = _super.apply(this, arguments);
|
||||
_this.state = {
|
||||
status: AffixStatus.None,
|
||||
lastAffix: false,
|
||||
prevTarget: null
|
||||
};
|
||||
_this.placeholderNodeRef = /*#__PURE__*/(0,_react_17_0_2_react.createRef)();
|
||||
_this.fixedNodeRef = /*#__PURE__*/(0,_react_17_0_2_react.createRef)();
|
||||
_this.addListeners = () => {
|
||||
const targetFunc = _this.getTargetFunc();
|
||||
const target = targetFunc === null || targetFunc === void 0 ? void 0 : targetFunc();
|
||||
const {
|
||||
prevTarget
|
||||
} = _this.state;
|
||||
if (prevTarget !== target) {
|
||||
TRIGGER_EVENTS.forEach(eventName => {
|
||||
prevTarget === null || prevTarget === void 0 ? void 0 : prevTarget.removeEventListener(eventName, _this.lazyUpdatePosition);
|
||||
target === null || target === void 0 ? void 0 : target.addEventListener(eventName, _this.lazyUpdatePosition);
|
||||
});
|
||||
_this.updatePosition();
|
||||
_this.setState({
|
||||
prevTarget: target
|
||||
});
|
||||
}
|
||||
};
|
||||
_this.removeListeners = () => {
|
||||
if (_this.timer) {
|
||||
clearTimeout(_this.timer);
|
||||
_this.timer = null;
|
||||
}
|
||||
const {
|
||||
prevTarget
|
||||
} = _this.state;
|
||||
const targetFunc = _this.getTargetFunc();
|
||||
const newTarget = targetFunc === null || targetFunc === void 0 ? void 0 : targetFunc();
|
||||
TRIGGER_EVENTS.forEach(eventName => {
|
||||
newTarget === null || newTarget === void 0 ? void 0 : newTarget.removeEventListener(eventName, _this.lazyUpdatePosition);
|
||||
prevTarget === null || prevTarget === void 0 ? void 0 : prevTarget.removeEventListener(eventName, _this.lazyUpdatePosition);
|
||||
});
|
||||
_this.updatePosition.cancel();
|
||||
// https://github.com/ant-design/ant-design/issues/22683
|
||||
_this.lazyUpdatePosition.cancel();
|
||||
};
|
||||
_this.getOffsetTop = () => {
|
||||
const {
|
||||
offsetBottom,
|
||||
offsetTop
|
||||
} = _this.props;
|
||||
return offsetBottom === undefined && offsetTop === undefined ? 0 : offsetTop;
|
||||
};
|
||||
_this.getOffsetBottom = () => _this.props.offsetBottom;
|
||||
// =================== Measure ===================
|
||||
_this.measure = () => {
|
||||
const {
|
||||
status,
|
||||
lastAffix
|
||||
} = _this.state;
|
||||
const {
|
||||
onChange
|
||||
} = _this.props;
|
||||
const targetFunc = _this.getTargetFunc();
|
||||
if (status !== AffixStatus.Prepare || !_this.fixedNodeRef.current || !_this.placeholderNodeRef.current || !targetFunc) {
|
||||
return;
|
||||
}
|
||||
const offsetTop = _this.getOffsetTop();
|
||||
const offsetBottom = _this.getOffsetBottom();
|
||||
const targetNode = targetFunc();
|
||||
if (targetNode) {
|
||||
const newState = {
|
||||
status: AffixStatus.None
|
||||
};
|
||||
const placeholderRect = getTargetRect(_this.placeholderNodeRef.current);
|
||||
if (placeholderRect.top === 0 && placeholderRect.left === 0 && placeholderRect.width === 0 && placeholderRect.height === 0) {
|
||||
return;
|
||||
}
|
||||
const targetRect = getTargetRect(targetNode);
|
||||
const fixedTop = getFixedTop(placeholderRect, targetRect, offsetTop);
|
||||
const fixedBottom = getFixedBottom(placeholderRect, targetRect, offsetBottom);
|
||||
if (fixedTop !== undefined) {
|
||||
newState.affixStyle = {
|
||||
position: 'fixed',
|
||||
top: fixedTop,
|
||||
width: placeholderRect.width,
|
||||
height: placeholderRect.height
|
||||
};
|
||||
newState.placeholderStyle = {
|
||||
width: placeholderRect.width,
|
||||
height: placeholderRect.height
|
||||
};
|
||||
} else if (fixedBottom !== undefined) {
|
||||
newState.affixStyle = {
|
||||
position: 'fixed',
|
||||
bottom: fixedBottom,
|
||||
width: placeholderRect.width,
|
||||
height: placeholderRect.height
|
||||
};
|
||||
newState.placeholderStyle = {
|
||||
width: placeholderRect.width,
|
||||
height: placeholderRect.height
|
||||
};
|
||||
}
|
||||
newState.lastAffix = !!newState.affixStyle;
|
||||
if (onChange && lastAffix !== newState.lastAffix) {
|
||||
onChange(newState.lastAffix);
|
||||
}
|
||||
_this.setState(newState);
|
||||
}
|
||||
};
|
||||
_this.prepareMeasure = () => {
|
||||
// event param is used before. Keep compatible ts define here.
|
||||
_this.setState({
|
||||
status: AffixStatus.Prepare,
|
||||
affixStyle: undefined,
|
||||
placeholderStyle: undefined
|
||||
});
|
||||
// Test if `updatePosition` called
|
||||
if (false) {}
|
||||
};
|
||||
_this.updatePosition = (0,throttleByAnimationFrame/* default */.Z)(() => {
|
||||
_this.prepareMeasure();
|
||||
});
|
||||
_this.lazyUpdatePosition = (0,throttleByAnimationFrame/* default */.Z)(() => {
|
||||
const targetFunc = _this.getTargetFunc();
|
||||
const {
|
||||
affixStyle
|
||||
} = _this.state;
|
||||
// Check position change before measure to make Safari smooth
|
||||
if (targetFunc && affixStyle) {
|
||||
const offsetTop = _this.getOffsetTop();
|
||||
const offsetBottom = _this.getOffsetBottom();
|
||||
const targetNode = targetFunc();
|
||||
if (targetNode && _this.placeholderNodeRef.current) {
|
||||
const targetRect = getTargetRect(targetNode);
|
||||
const placeholderRect = getTargetRect(_this.placeholderNodeRef.current);
|
||||
const fixedTop = getFixedTop(placeholderRect, targetRect, offsetTop);
|
||||
const fixedBottom = getFixedBottom(placeholderRect, targetRect, offsetBottom);
|
||||
if (fixedTop !== undefined && affixStyle.top === fixedTop || fixedBottom !== undefined && affixStyle.bottom === fixedBottom) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
// Directly call prepare measure since it's already throttled.
|
||||
_this.prepareMeasure();
|
||||
});
|
||||
return _this;
|
||||
}
|
||||
(0,createClass/* default */.Z)(InternalAffix, [{
|
||||
key: "getTargetFunc",
|
||||
value: function getTargetFunc() {
|
||||
const {
|
||||
getTargetContainer
|
||||
} = this.context;
|
||||
const {
|
||||
target
|
||||
} = this.props;
|
||||
if (target !== undefined) {
|
||||
return target;
|
||||
}
|
||||
return getTargetContainer !== null && getTargetContainer !== void 0 ? getTargetContainer : getDefaultTarget;
|
||||
}
|
||||
// Event handler
|
||||
}, {
|
||||
key: "componentDidMount",
|
||||
value: function componentDidMount() {
|
||||
// [Legacy] Wait for parent component ref has its value.
|
||||
// We should use target as directly element instead of function which makes element check hard.
|
||||
this.timer = setTimeout(this.addListeners);
|
||||
}
|
||||
}, {
|
||||
key: "componentDidUpdate",
|
||||
value: function componentDidUpdate(prevProps) {
|
||||
this.addListeners();
|
||||
if (prevProps.offsetTop !== this.props.offsetTop || prevProps.offsetBottom !== this.props.offsetBottom) {
|
||||
this.updatePosition();
|
||||
}
|
||||
this.measure();
|
||||
}
|
||||
}, {
|
||||
key: "componentWillUnmount",
|
||||
value: function componentWillUnmount() {
|
||||
this.removeListeners();
|
||||
}
|
||||
// =================== Render ===================
|
||||
}, {
|
||||
key: "render",
|
||||
value: function render() {
|
||||
const {
|
||||
affixStyle,
|
||||
placeholderStyle
|
||||
} = this.state;
|
||||
const {
|
||||
affixPrefixCls,
|
||||
rootClassName,
|
||||
children
|
||||
} = this.props;
|
||||
const className = _classnames_2_5_1_classnames_default()(affixStyle && rootClassName, {
|
||||
[affixPrefixCls]: !!affixStyle
|
||||
});
|
||||
let props = (0,omit/* default */.Z)(this.props, ['prefixCls', 'offsetTop', 'offsetBottom', 'target', 'onChange', 'affixPrefixCls', 'rootClassName']);
|
||||
// Omit this since `onTestUpdatePosition` only works on test.
|
||||
if (false) {}
|
||||
return /*#__PURE__*/_react_17_0_2_react.createElement(es/* default */.Z, {
|
||||
onResize: this.updatePosition
|
||||
}, /*#__PURE__*/_react_17_0_2_react.createElement("div", Object.assign({}, props, {
|
||||
ref: this.placeholderNodeRef
|
||||
}), affixStyle && /*#__PURE__*/_react_17_0_2_react.createElement("div", {
|
||||
style: placeholderStyle,
|
||||
"aria-hidden": "true"
|
||||
}), /*#__PURE__*/_react_17_0_2_react.createElement("div", {
|
||||
className: className,
|
||||
ref: this.fixedNodeRef,
|
||||
style: affixStyle
|
||||
}, /*#__PURE__*/_react_17_0_2_react.createElement(es/* default */.Z, {
|
||||
onResize: this.updatePosition
|
||||
}, children))));
|
||||
}
|
||||
}]);
|
||||
return InternalAffix;
|
||||
}(_react_17_0_2_react.Component);
|
||||
InternalAffix.contextType = context/* ConfigContext */.E_;
|
||||
const Affix = /*#__PURE__*/(0,_react_17_0_2_react.forwardRef)((props, ref) => {
|
||||
const {
|
||||
prefixCls: customizePrefixCls,
|
||||
rootClassName
|
||||
} = props;
|
||||
const {
|
||||
getPrefixCls
|
||||
} = (0,_react_17_0_2_react.useContext)(context/* ConfigContext */.E_);
|
||||
const affixPrefixCls = getPrefixCls('affix', customizePrefixCls);
|
||||
const [wrapSSR, hashId] = style(affixPrefixCls);
|
||||
const AffixProps = Object.assign(Object.assign({}, props), {
|
||||
affixPrefixCls,
|
||||
rootClassName: _classnames_2_5_1_classnames_default()(rootClassName, hashId)
|
||||
});
|
||||
return wrapSSR( /*#__PURE__*/_react_17_0_2_react.createElement(InternalAffix, Object.assign({}, AffixProps, {
|
||||
ref: ref
|
||||
})));
|
||||
});
|
||||
if (false) {}
|
||||
/* harmony default export */ var affix = (Affix);
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 78673:
|
||||
/*!**********************************************************************!*\
|
||||
@ -1,4 +1,4 @@
|
||||
(self["webpackChunk"] = self["webpackChunk"] || []).push([[28278,11862,84742],{
|
||||
(self["webpackChunk"] = self["webpackChunk"] || []).push([[28278,84742],{
|
||||
|
||||
/***/ 23174:
|
||||
/*!************************************************************************************************************!*\
|
||||
File diff suppressed because one or more lines are too long
Loading…
Reference in new issue