(self["webpackChunk"] = self["webpackChunk"] || []).push([[5395],{ /***/ 28783: /*!**********************************************************************************************************!*\ !*** ./node_modules/_@ant-design_icons@5.3.5@@ant-design/icons/es/icons/FileTextOutlined.js + 1 modules ***! \**********************************************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { Z: function() { return /* binding */ icons_FileTextOutlined; } }); // EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.24.1@@babel/runtime/helpers/esm/extends.js var esm_extends = __webpack_require__(66820); // EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js var _react_17_0_2_react = __webpack_require__(59301); ;// CONCATENATED MODULE: ./node_modules/_@ant-design_icons-svg@4.4.2@@ant-design/icons-svg/es/asn/FileTextOutlined.js // This icon file is generated automatically. var FileTextOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494zM504 618H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM312 490v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8z" } }] }, "name": "file-text", "theme": "outlined" }; /* harmony default export */ var asn_FileTextOutlined = (FileTextOutlined); // EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.3.5@@ant-design/icons/es/components/AntdIcon.js + 3 modules var AntdIcon = __webpack_require__(13814); ;// CONCATENATED MODULE: ./node_modules/_@ant-design_icons@5.3.5@@ant-design/icons/es/icons/FileTextOutlined.js // GENERATE BY ./scripts/generate.ts // DON NOT EDIT IT MANUALLY var FileTextOutlined_FileTextOutlined = function FileTextOutlined(props, ref) { return /*#__PURE__*/_react_17_0_2_react.createElement(AntdIcon/* default */.Z, (0,esm_extends/* default */.Z)({}, props, { ref: ref, icon: asn_FileTextOutlined })); }; var RefIcon = /*#__PURE__*/_react_17_0_2_react.forwardRef(FileTextOutlined_FileTextOutlined); if (false) {} /* harmony default export */ var icons_FileTextOutlined = (RefIcon); /***/ }), /***/ 31797: /*!*************************************************************************!*\ !*** ./node_modules/_antd@5.9.0@antd/es/statistic/index.js + 5 modules ***! \*************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { Z: function() { return /* binding */ es_statistic; } }); // EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js var _react_17_0_2_react = __webpack_require__(59301); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/_util/hooks/useForceUpdate.js var useForceUpdate = __webpack_require__(56762); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/_util/reactNode.js var reactNode = __webpack_require__(92343); // 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/_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/skeleton/index.js + 12 modules var skeleton = __webpack_require__(84578); ;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/statistic/Number.js "use client"; const StatisticNumber = props => { const { value, formatter, precision, decimalSeparator, groupSeparator = '', prefixCls } = props; let valueNode; if (typeof formatter === 'function') { // Customize formatter valueNode = formatter(value); } else { // Internal formatter const val = String(value); const cells = val.match(/^(-?)(\d*)(\.(\d+))?$/); // Process if illegal number if (!cells || val === '-') { valueNode = val; } else { const negative = cells[1]; let int = cells[2] || '0'; let decimal = cells[4] || ''; int = int.replace(/\B(?=(\d{3})+(?!\d))/g, groupSeparator); if (typeof precision === 'number') { decimal = decimal.padEnd(precision, '0').slice(0, precision > 0 ? precision : 0); } if (decimal) { decimal = `${decimalSeparator}${decimal}`; } valueNode = [/*#__PURE__*/_react_17_0_2_react.createElement("span", { key: "int", className: `${prefixCls}-content-value-int` }, negative, int), decimal && /*#__PURE__*/_react_17_0_2_react.createElement("span", { key: "decimal", className: `${prefixCls}-content-value-decimal` }, decimal)]; } } return /*#__PURE__*/_react_17_0_2_react.createElement("span", { className: `${prefixCls}-content-value` }, valueNode); }; /* harmony default export */ var statistic_Number = (StatisticNumber); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/style/index.js var style = __webpack_require__(87832); // 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/statistic/style/index.js "use client"; const genStatisticStyle = token => { const { componentCls, marginXXS, padding, colorTextDescription, titleFontSize, colorTextHeading, contentFontSize, fontFamily } = token; return { [`${componentCls}`]: Object.assign(Object.assign({}, (0,style/* resetComponent */.Wf)(token)), { [`${componentCls}-title`]: { marginBottom: marginXXS, color: colorTextDescription, fontSize: titleFontSize }, [`${componentCls}-skeleton`]: { paddingTop: padding }, [`${componentCls}-content`]: { color: colorTextHeading, fontSize: contentFontSize, fontFamily, [`${componentCls}-content-value`]: { display: 'inline-block', direction: 'ltr' }, [`${componentCls}-content-prefix, ${componentCls}-content-suffix`]: { display: 'inline-block' }, [`${componentCls}-content-prefix`]: { marginInlineEnd: marginXXS }, [`${componentCls}-content-suffix`]: { marginInlineStart: marginXXS } } }) }; }; // ============================== Export ============================== /* harmony default export */ var statistic_style = ((0,genComponentStyleHook/* default */.Z)('Statistic', token => { const statisticToken = (0,statistic/* merge */.TS)(token, {}); return [genStatisticStyle(statisticToken)]; }, token => { const { fontSizeHeading3, fontSize } = token; return { titleFontSize: fontSize, contentFontSize: fontSizeHeading3 }; })); ;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/statistic/Statistic.js "use client"; const Statistic = props => { const { prefixCls: customizePrefixCls, className, rootClassName, style, valueStyle, value = 0, title, valueRender, prefix, suffix, loading = false, onMouseEnter, onMouseLeave, decimalSeparator = '.', groupSeparator = ',' } = props; const { getPrefixCls, direction, statistic } = _react_17_0_2_react.useContext(context/* ConfigContext */.E_); const prefixCls = getPrefixCls('statistic', customizePrefixCls); const [wrapSSR, hashId] = statistic_style(prefixCls); const valueNode = /*#__PURE__*/_react_17_0_2_react.createElement(statistic_Number, Object.assign({ decimalSeparator: decimalSeparator, groupSeparator: groupSeparator, prefixCls: prefixCls }, props, { value: value })); const cls = _classnames_2_5_1_classnames_default()(prefixCls, { [`${prefixCls}-rtl`]: direction === 'rtl' }, statistic === null || statistic === void 0 ? void 0 : statistic.className, className, rootClassName, hashId); return wrapSSR( /*#__PURE__*/_react_17_0_2_react.createElement("div", { className: cls, style: Object.assign(Object.assign({}, statistic === null || statistic === void 0 ? void 0 : statistic.style), style), onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave }, title && /*#__PURE__*/_react_17_0_2_react.createElement("div", { className: `${prefixCls}-title` }, title), /*#__PURE__*/_react_17_0_2_react.createElement(skeleton/* default */.Z, { paragraph: false, loading: loading, className: `${prefixCls}-skeleton` }, /*#__PURE__*/_react_17_0_2_react.createElement("div", { style: valueStyle, className: `${prefixCls}-content` }, prefix && /*#__PURE__*/_react_17_0_2_react.createElement("span", { className: `${prefixCls}-content-prefix` }, prefix), valueRender ? valueRender(valueNode) : valueNode, suffix && /*#__PURE__*/_react_17_0_2_react.createElement("span", { className: `${prefixCls}-content-suffix` }, suffix))))); }; if (false) {} /* harmony default export */ var statistic_Statistic = (Statistic); ;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/statistic/utils.js // Countdown const timeUnits = [['Y', 1000 * 60 * 60 * 24 * 365], ['M', 1000 * 60 * 60 * 24 * 30], ['D', 1000 * 60 * 60 * 24], ['H', 1000 * 60 * 60], ['m', 1000 * 60], ['s', 1000], ['S', 1] // million seconds ]; function formatTimeStr(duration, format) { let leftDuration = duration; const escapeRegex = /\[[^\]]*]/g; const keepList = (format.match(escapeRegex) || []).map(str => str.slice(1, -1)); const templateText = format.replace(escapeRegex, '[]'); const replacedText = timeUnits.reduce((current, _ref) => { let [name, unit] = _ref; if (current.includes(name)) { const value = Math.floor(leftDuration / unit); leftDuration -= value * unit; return current.replace(new RegExp(`${name}+`, 'g'), match => { const len = match.length; return value.toString().padStart(len, '0'); }); } return current; }, templateText); let index = 0; return replacedText.replace(escapeRegex, () => { const match = keepList[index]; index += 1; return match; }); } function formatCountdown(value, config) { const { format = '' } = config; const target = new Date(value).getTime(); const current = Date.now(); const diff = Math.max(target - current, 0); return formatTimeStr(diff, format); } ;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/statistic/Countdown.js "use client"; const REFRESH_INTERVAL = 1000 / 30; function getTime(value) { return new Date(value).getTime(); } const Countdown = props => { const { value, format = 'HH:mm:ss', onChange, onFinish } = props; const forceUpdate = (0,useForceUpdate/* default */.Z)(); const countdown = _react_17_0_2_react.useRef(null); const stopTimer = () => { onFinish === null || onFinish === void 0 ? void 0 : onFinish(); if (countdown.current) { clearInterval(countdown.current); countdown.current = null; } }; const syncTimer = () => { const timestamp = getTime(value); if (timestamp >= Date.now()) { countdown.current = setInterval(() => { forceUpdate(); onChange === null || onChange === void 0 ? void 0 : onChange(timestamp - Date.now()); if (timestamp < Date.now()) { stopTimer(); } }, REFRESH_INTERVAL); } }; _react_17_0_2_react.useEffect(() => { syncTimer(); return () => { if (countdown.current) { clearInterval(countdown.current); countdown.current = null; } }; }, [value]); const formatter = (formatValue, config) => formatCountdown(formatValue, Object.assign(Object.assign({}, config), { format })); const valueRender = node => (0,reactNode/* cloneElement */.Tm)(node, { title: undefined }); return /*#__PURE__*/_react_17_0_2_react.createElement(statistic_Statistic, Object.assign({}, props, { valueRender: valueRender, formatter: formatter })); }; /* harmony default export */ var statistic_Countdown = (/*#__PURE__*/_react_17_0_2_react.memo(Countdown)); ;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/statistic/index.js "use client"; statistic_Statistic.Countdown = statistic_Countdown; /* harmony default export */ var es_statistic = (statistic_Statistic); /***/ }), /***/ 51581: /*!****************************************************************************************************!*\ !*** ./node_modules/_react-infinite-scroller@1.2.4@react-infinite-scroller/dist/InfiniteScroll.js ***! \****************************************************************************************************/ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _react = __webpack_require__(/*! react */ 59301); var _react2 = _interopRequireDefault(_react); var _propTypes = __webpack_require__(/*! prop-types */ 12708); var _propTypes2 = _interopRequireDefault(_propTypes); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } var InfiniteScroll = function (_Component) { _inherits(InfiniteScroll, _Component); function InfiniteScroll(props) { _classCallCheck(this, InfiniteScroll); var _this = _possibleConstructorReturn(this, (InfiniteScroll.__proto__ || Object.getPrototypeOf(InfiniteScroll)).call(this, props)); _this.scrollListener = _this.scrollListener.bind(_this); _this.eventListenerOptions = _this.eventListenerOptions.bind(_this); _this.mousewheelListener = _this.mousewheelListener.bind(_this); return _this; } _createClass(InfiniteScroll, [{ key: 'componentDidMount', value: function componentDidMount() { this.pageLoaded = this.props.pageStart; this.options = this.eventListenerOptions(); this.attachScrollListener(); } }, { key: 'componentDidUpdate', value: function componentDidUpdate() { if (this.props.isReverse && this.loadMore) { var parentElement = this.getParentElement(this.scrollComponent); parentElement.scrollTop = parentElement.scrollHeight - this.beforeScrollHeight + this.beforeScrollTop; this.loadMore = false; } this.attachScrollListener(); } }, { key: 'componentWillUnmount', value: function componentWillUnmount() { this.detachScrollListener(); this.detachMousewheelListener(); } }, { key: 'isPassiveSupported', value: function isPassiveSupported() { var passive = false; var testOptions = { get passive() { passive = true; } }; try { document.addEventListener('test', null, testOptions); document.removeEventListener('test', null, testOptions); } catch (e) { // ignore } return passive; } }, { key: 'eventListenerOptions', value: function eventListenerOptions() { var options = this.props.useCapture; if (this.isPassiveSupported()) { options = { useCapture: this.props.useCapture, passive: true }; } return options; } // Set a defaut loader for all your `InfiniteScroll` components }, { key: 'setDefaultLoader', value: function setDefaultLoader(loader) { this.defaultLoader = loader; } }, { key: 'detachMousewheelListener', value: function detachMousewheelListener() { var scrollEl = window; if (this.props.useWindow === false) { scrollEl = this.scrollComponent.parentNode; } scrollEl.removeEventListener('mousewheel', this.mousewheelListener, this.options ? this.options : this.props.useCapture); } }, { key: 'detachScrollListener', value: function detachScrollListener() { var scrollEl = window; if (this.props.useWindow === false) { scrollEl = this.getParentElement(this.scrollComponent); } scrollEl.removeEventListener('scroll', this.scrollListener, this.options ? this.options : this.props.useCapture); scrollEl.removeEventListener('resize', this.scrollListener, this.options ? this.options : this.props.useCapture); } }, { key: 'getParentElement', value: function getParentElement(el) { var scrollParent = this.props.getScrollParent && this.props.getScrollParent(); if (scrollParent != null) { return scrollParent; } return el && el.parentNode; } }, { key: 'filterProps', value: function filterProps(props) { return props; } }, { key: 'attachScrollListener', value: function attachScrollListener() { var parentElement = this.getParentElement(this.scrollComponent); if (!this.props.hasMore || !parentElement) { return; } var scrollEl = window; if (this.props.useWindow === false) { scrollEl = parentElement; } scrollEl.addEventListener('mousewheel', this.mousewheelListener, this.options ? this.options : this.props.useCapture); scrollEl.addEventListener('scroll', this.scrollListener, this.options ? this.options : this.props.useCapture); scrollEl.addEventListener('resize', this.scrollListener, this.options ? this.options : this.props.useCapture); if (this.props.initialLoad) { this.scrollListener(); } } }, { key: 'mousewheelListener', value: function mousewheelListener(e) { // Prevents Chrome hangups // See: https://stackoverflow.com/questions/47524205/random-high-content-download-time-in-chrome/47684257#47684257 if (e.deltaY === 1 && !this.isPassiveSupported()) { e.preventDefault(); } } }, { key: 'scrollListener', value: function scrollListener() { var el = this.scrollComponent; var scrollEl = window; var parentNode = this.getParentElement(el); var offset = void 0; if (this.props.useWindow) { var doc = document.documentElement || document.body.parentNode || document.body; var scrollTop = scrollEl.pageYOffset !== undefined ? scrollEl.pageYOffset : doc.scrollTop; if (this.props.isReverse) { offset = scrollTop; } else { offset = this.calculateOffset(el, scrollTop); } } else if (this.props.isReverse) { offset = parentNode.scrollTop; } else { offset = el.scrollHeight - parentNode.scrollTop - parentNode.clientHeight; } // Here we make sure the element is visible as well as checking the offset if (offset < Number(this.props.threshold) && el && el.offsetParent !== null) { this.detachScrollListener(); this.beforeScrollHeight = parentNode.scrollHeight; this.beforeScrollTop = parentNode.scrollTop; // Call loadMore after detachScrollListener to allow for non-async loadMore functions if (typeof this.props.loadMore === 'function') { this.props.loadMore(this.pageLoaded += 1); this.loadMore = true; } } } }, { key: 'calculateOffset', value: function calculateOffset(el, scrollTop) { if (!el) { return 0; } return this.calculateTopPosition(el) + (el.offsetHeight - scrollTop - window.innerHeight); } }, { key: 'calculateTopPosition', value: function calculateTopPosition(el) { if (!el) { return 0; } return el.offsetTop + this.calculateTopPosition(el.offsetParent); } }, { key: 'render', value: function render() { var _this2 = this; var renderProps = this.filterProps(this.props); var children = renderProps.children, element = renderProps.element, hasMore = renderProps.hasMore, initialLoad = renderProps.initialLoad, isReverse = renderProps.isReverse, loader = renderProps.loader, loadMore = renderProps.loadMore, pageStart = renderProps.pageStart, ref = renderProps.ref, threshold = renderProps.threshold, useCapture = renderProps.useCapture, useWindow = renderProps.useWindow, getScrollParent = renderProps.getScrollParent, props = _objectWithoutProperties(renderProps, ['children', 'element', 'hasMore', 'initialLoad', 'isReverse', 'loader', 'loadMore', 'pageStart', 'ref', 'threshold', 'useCapture', 'useWindow', 'getScrollParent']); props.ref = function (node) { _this2.scrollComponent = node; if (ref) { ref(node); } }; var childrenArray = [children]; if (hasMore) { if (loader) { isReverse ? childrenArray.unshift(loader) : childrenArray.push(loader); } else if (this.defaultLoader) { isReverse ? childrenArray.unshift(this.defaultLoader) : childrenArray.push(this.defaultLoader); } } return _react2.default.createElement(element, props, childrenArray); } }]); return InfiniteScroll; }(_react.Component); InfiniteScroll.propTypes = { children: _propTypes2.default.node.isRequired, element: _propTypes2.default.node, hasMore: _propTypes2.default.bool, initialLoad: _propTypes2.default.bool, isReverse: _propTypes2.default.bool, loader: _propTypes2.default.node, loadMore: _propTypes2.default.func.isRequired, pageStart: _propTypes2.default.number, ref: _propTypes2.default.func, getScrollParent: _propTypes2.default.func, threshold: _propTypes2.default.number, useCapture: _propTypes2.default.bool, useWindow: _propTypes2.default.bool }; InfiniteScroll.defaultProps = { element: 'div', hasMore: false, initialLoad: true, pageStart: 0, ref: null, threshold: 250, useWindow: true, isReverse: false, useCapture: false, loader: null, getScrollParent: null }; exports["default"] = InfiniteScroll; module.exports = exports['default']; /***/ }), /***/ 26724: /*!**************************************************************************************!*\ !*** ./node_modules/_react-infinite-scroller@1.2.4@react-infinite-scroller/index.js ***! \**************************************************************************************/ /***/ (function(module, __unused_webpack_exports, __webpack_require__) { module.exports = __webpack_require__(/*! ./dist/InfiniteScroll */ 51581) /***/ }) }]);