(self["webpackChunk"] = self["webpackChunk"] || []).push([[55806],{ /***/ 73481: /*!*************************************************************!*\ !*** ./node_modules/antd/es/skeleton/index.js + 11 modules ***! \*************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { "Z": function() { return /* binding */ skeleton; } }); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js var defineProperty = __webpack_require__(4942); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js var esm_extends = __webpack_require__(87462); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/typeof.js var esm_typeof = __webpack_require__(71002); // EXTERNAL MODULE: ./node_modules/classnames/index.js var classnames = __webpack_require__(94184); var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames); // EXTERNAL MODULE: ./node_modules/react/index.js var react = __webpack_require__(67294); // EXTERNAL MODULE: ./node_modules/antd/es/config-provider/context.js var context = __webpack_require__(53124); // EXTERNAL MODULE: ./node_modules/rc-util/es/omit.js var omit = __webpack_require__(98423); ;// CONCATENATED MODULE: ./node_modules/antd/es/skeleton/Element.js var Element = function Element(props) { var _classNames, _classNames2; var prefixCls = props.prefixCls, className = props.className, style = props.style, size = props.size, shape = props.shape; var sizeCls = classnames_default()((_classNames = {}, (0,defineProperty/* default */.Z)(_classNames, "".concat(prefixCls, "-lg"), size === 'large'), (0,defineProperty/* default */.Z)(_classNames, "".concat(prefixCls, "-sm"), size === 'small'), _classNames)); var shapeCls = classnames_default()((_classNames2 = {}, (0,defineProperty/* default */.Z)(_classNames2, "".concat(prefixCls, "-circle"), shape === 'circle'), (0,defineProperty/* default */.Z)(_classNames2, "".concat(prefixCls, "-square"), shape === 'square'), (0,defineProperty/* default */.Z)(_classNames2, "".concat(prefixCls, "-round"), shape === 'round'), _classNames2)); var sizeStyle = react.useMemo(function () { return typeof size === 'number' ? { width: size, height: size, lineHeight: "".concat(size, "px") } : {}; }, [size]); return /*#__PURE__*/react.createElement("span", { className: classnames_default()(prefixCls, sizeCls, shapeCls, className), style: (0,esm_extends/* default */.Z)((0,esm_extends/* default */.Z)({}, sizeStyle), style) }); }; /* harmony default export */ var skeleton_Element = (Element); ;// CONCATENATED MODULE: ./node_modules/antd/es/skeleton/Avatar.js var SkeletonAvatar = function SkeletonAvatar(props) { var customizePrefixCls = props.prefixCls, className = props.className, active = props.active, _props$shape = props.shape, shape = _props$shape === void 0 ? 'circle' : _props$shape, _props$size = props.size, size = _props$size === void 0 ? 'default' : _props$size; var _React$useContext = react.useContext(context/* ConfigContext */.E_), getPrefixCls = _React$useContext.getPrefixCls; var prefixCls = getPrefixCls('skeleton', customizePrefixCls); var otherProps = (0,omit/* default */.Z)(props, ['prefixCls', 'className']); var cls = classnames_default()(prefixCls, "".concat(prefixCls, "-element"), (0,defineProperty/* default */.Z)({}, "".concat(prefixCls, "-active"), active), className); return /*#__PURE__*/react.createElement("div", { className: cls }, /*#__PURE__*/react.createElement(skeleton_Element, (0,esm_extends/* default */.Z)({ prefixCls: "".concat(prefixCls, "-avatar"), shape: shape, size: size }, otherProps))); }; /* harmony default export */ var Avatar = (SkeletonAvatar); ;// CONCATENATED MODULE: ./node_modules/antd/es/skeleton/Button.js var SkeletonButton = function SkeletonButton(props) { var _classNames; var customizePrefixCls = props.prefixCls, className = props.className, active = props.active, _props$block = props.block, block = _props$block === void 0 ? false : _props$block, _props$size = props.size, size = _props$size === void 0 ? 'default' : _props$size; var _React$useContext = react.useContext(context/* ConfigContext */.E_), getPrefixCls = _React$useContext.getPrefixCls; var prefixCls = getPrefixCls('skeleton', customizePrefixCls); var otherProps = (0,omit/* default */.Z)(props, ['prefixCls']); var cls = classnames_default()(prefixCls, "".concat(prefixCls, "-element"), (_classNames = {}, (0,defineProperty/* default */.Z)(_classNames, "".concat(prefixCls, "-active"), active), (0,defineProperty/* default */.Z)(_classNames, "".concat(prefixCls, "-block"), block), _classNames), className); return /*#__PURE__*/react.createElement("div", { className: cls }, /*#__PURE__*/react.createElement(skeleton_Element, (0,esm_extends/* default */.Z)({ prefixCls: "".concat(prefixCls, "-button"), size: size }, otherProps))); }; /* harmony default export */ var Button = (SkeletonButton); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectSpread2.js var objectSpread2 = __webpack_require__(1413); ;// CONCATENATED MODULE: ./node_modules/@ant-design/icons-svg/es/asn/DotChartOutlined.js // This icon file is generated automatically. var DotChartOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM288 604a64 64 0 10128 0 64 64 0 10-128 0zm118-224a48 48 0 1096 0 48 48 0 10-96 0zm158 228a96 96 0 10192 0 96 96 0 10-192 0zm148-314a56 56 0 10112 0 56 56 0 10-112 0z" } }] }, "name": "dot-chart", "theme": "outlined" }; /* harmony default export */ var asn_DotChartOutlined = (DotChartOutlined); // EXTERNAL MODULE: ./node_modules/antd/node_modules/@ant-design/icons/es/components/AntdIcon.js + 3 modules var AntdIcon = __webpack_require__(93771); ;// CONCATENATED MODULE: ./node_modules/antd/node_modules/@ant-design/icons/es/icons/DotChartOutlined.js // GENERATE BY ./scripts/generate.ts // DON NOT EDIT IT MANUALLY var DotChartOutlined_DotChartOutlined = function DotChartOutlined(props, ref) { return /*#__PURE__*/react.createElement(AntdIcon/* default */.Z, (0,objectSpread2/* default */.Z)((0,objectSpread2/* default */.Z)({}, props), {}, { ref: ref, icon: asn_DotChartOutlined })); }; DotChartOutlined_DotChartOutlined.displayName = 'DotChartOutlined'; /* harmony default export */ var icons_DotChartOutlined = (/*#__PURE__*/react.forwardRef(DotChartOutlined_DotChartOutlined)); ;// CONCATENATED MODULE: ./node_modules/antd/es/skeleton/Node.js var SkeletonNode = function SkeletonNode(props) { var customizePrefixCls = props.prefixCls, className = props.className, style = props.style, active = props.active, children = props.children; var _React$useContext = react.useContext(context/* ConfigContext */.E_), getPrefixCls = _React$useContext.getPrefixCls; var prefixCls = getPrefixCls('skeleton', customizePrefixCls); var cls = classnames_default()(prefixCls, "".concat(prefixCls, "-element"), (0,defineProperty/* default */.Z)({}, "".concat(prefixCls, "-active"), active), className); var content = children !== null && children !== void 0 ? children : /*#__PURE__*/react.createElement(icons_DotChartOutlined, null); return /*#__PURE__*/react.createElement("div", { className: cls }, /*#__PURE__*/react.createElement("div", { className: classnames_default()("".concat(prefixCls, "-image"), className), style: style }, content)); }; /* harmony default export */ var Node = (SkeletonNode); ;// CONCATENATED MODULE: ./node_modules/antd/es/skeleton/Image.js var path = 'M365.714286 329.142857q0 45.714286-32.036571 77.677714t-77.677714 32.036571-77.677714-32.036571-32.036571-77.677714 32.036571-77.677714 77.677714-32.036571 77.677714 32.036571 32.036571 77.677714zM950.857143 548.571429l0 256-804.571429 0 0-109.714286 182.857143-182.857143 91.428571 91.428571 292.571429-292.571429zM1005.714286 146.285714l-914.285714 0q-7.460571 0-12.873143 5.412571t-5.412571 12.873143l0 694.857143q0 7.460571 5.412571 12.873143t12.873143 5.412571l914.285714 0q7.460571 0 12.873143-5.412571t5.412571-12.873143l0-694.857143q0-7.460571-5.412571-12.873143t-12.873143-5.412571zM1097.142857 164.571429l0 694.857143q0 37.741714-26.843429 64.585143t-64.585143 26.843429l-914.285714 0q-37.741714 0-64.585143-26.843429t-26.843429-64.585143l0-694.857143q0-37.741714 26.843429-64.585143t64.585143-26.843429l914.285714 0q37.741714 0 64.585143 26.843429t26.843429 64.585143z'; var SkeletonImage = function SkeletonImage(props) { var customizePrefixCls = props.prefixCls, className = props.className, style = props.style, active = props.active; var _React$useContext = react.useContext(context/* ConfigContext */.E_), getPrefixCls = _React$useContext.getPrefixCls; var prefixCls = getPrefixCls('skeleton', customizePrefixCls); var cls = classnames_default()(prefixCls, "".concat(prefixCls, "-element"), (0,defineProperty/* default */.Z)({}, "".concat(prefixCls, "-active"), active), className); return /*#__PURE__*/react.createElement("div", { className: cls }, /*#__PURE__*/react.createElement("div", { className: classnames_default()("".concat(prefixCls, "-image"), className), style: style }, /*#__PURE__*/react.createElement("svg", { viewBox: "0 0 1098 1024", xmlns: "http://www.w3.org/2000/svg", className: "".concat(prefixCls, "-image-svg") }, /*#__PURE__*/react.createElement("path", { d: path, className: "".concat(prefixCls, "-image-path") })))); }; /* harmony default export */ var Image = (SkeletonImage); ;// CONCATENATED MODULE: ./node_modules/antd/es/skeleton/Input.js var SkeletonInput = function SkeletonInput(props) { var _classNames; var customizePrefixCls = props.prefixCls, className = props.className, active = props.active, block = props.block, _props$size = props.size, size = _props$size === void 0 ? 'default' : _props$size; var _React$useContext = react.useContext(context/* ConfigContext */.E_), getPrefixCls = _React$useContext.getPrefixCls; var prefixCls = getPrefixCls('skeleton', customizePrefixCls); var otherProps = (0,omit/* default */.Z)(props, ['prefixCls']); var cls = classnames_default()(prefixCls, "".concat(prefixCls, "-element"), (_classNames = {}, (0,defineProperty/* default */.Z)(_classNames, "".concat(prefixCls, "-active"), active), (0,defineProperty/* default */.Z)(_classNames, "".concat(prefixCls, "-block"), block), _classNames), className); return /*#__PURE__*/react.createElement("div", { className: cls }, /*#__PURE__*/react.createElement(skeleton_Element, (0,esm_extends/* default */.Z)({ prefixCls: "".concat(prefixCls, "-input"), size: size }, otherProps))); }; /* harmony default export */ var Input = (SkeletonInput); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 2 modules var toConsumableArray = __webpack_require__(74902); ;// CONCATENATED MODULE: ./node_modules/antd/es/skeleton/Paragraph.js var Paragraph = function Paragraph(props) { var getWidth = function getWidth(index) { var width = props.width, _props$rows = props.rows, rows = _props$rows === void 0 ? 2 : _props$rows; if (Array.isArray(width)) { return width[index]; } // last paragraph if (rows - 1 === index) { return width; } return undefined; }; var prefixCls = props.prefixCls, className = props.className, style = props.style, rows = props.rows; var rowList = (0,toConsumableArray/* default */.Z)(Array(rows)).map(function (_, index) { return ( /*#__PURE__*/ // eslint-disable-next-line react/no-array-index-key react.createElement("li", { key: index, style: { width: getWidth(index) } }) ); }); return /*#__PURE__*/react.createElement("ul", { className: classnames_default()(prefixCls, className), style: style }, rowList); }; /* harmony default export */ var skeleton_Paragraph = (Paragraph); ;// CONCATENATED MODULE: ./node_modules/antd/es/skeleton/Title.js /* eslint-disable jsx-a11y/heading-has-content */ var Title = function Title(_ref) { var prefixCls = _ref.prefixCls, className = _ref.className, width = _ref.width, style = _ref.style; return /*#__PURE__*/react.createElement("h3", { className: classnames_default()(prefixCls, className), style: (0,esm_extends/* default */.Z)({ width: width }, style) }); }; /* harmony default export */ var skeleton_Title = (Title); ;// CONCATENATED MODULE: ./node_modules/antd/es/skeleton/Skeleton.js function getComponentProps(prop) { if (prop && (0,esm_typeof/* default */.Z)(prop) === 'object') { return prop; } return {}; } function getAvatarBasicProps(hasTitle, hasParagraph) { if (hasTitle && !hasParagraph) { // Square avatar return { size: 'large', shape: 'square' }; } return { size: 'large', shape: 'circle' }; } function getTitleBasicProps(hasAvatar, hasParagraph) { if (!hasAvatar && hasParagraph) { return { width: '38%' }; } if (hasAvatar && hasParagraph) { return { width: '50%' }; } return {}; } function getParagraphBasicProps(hasAvatar, hasTitle) { var basicProps = {}; // Width if (!hasAvatar || !hasTitle) { basicProps.width = '61%'; } // Rows if (!hasAvatar && hasTitle) { basicProps.rows = 3; } else { basicProps.rows = 2; } return basicProps; } var Skeleton = function Skeleton(props) { var customizePrefixCls = props.prefixCls, loading = props.loading, className = props.className, style = props.style, children = props.children, _props$avatar = props.avatar, avatar = _props$avatar === void 0 ? false : _props$avatar, _props$title = props.title, title = _props$title === void 0 ? true : _props$title, _props$paragraph = props.paragraph, paragraph = _props$paragraph === void 0 ? true : _props$paragraph, active = props.active, round = props.round; var _React$useContext = react.useContext(context/* ConfigContext */.E_), getPrefixCls = _React$useContext.getPrefixCls, direction = _React$useContext.direction; var prefixCls = getPrefixCls('skeleton', customizePrefixCls); if (loading || !('loading' in props)) { var _classNames; var hasAvatar = !!avatar; var hasTitle = !!title; var hasParagraph = !!paragraph; // Avatar var avatarNode; if (hasAvatar) { var avatarProps = (0,esm_extends/* default */.Z)((0,esm_extends/* default */.Z)({ prefixCls: "".concat(prefixCls, "-avatar") }, getAvatarBasicProps(hasTitle, hasParagraph)), getComponentProps(avatar)); // We direct use SkeletonElement as avatar in skeleton internal. avatarNode = /*#__PURE__*/react.createElement("div", { className: "".concat(prefixCls, "-header") }, /*#__PURE__*/react.createElement(skeleton_Element, (0,esm_extends/* default */.Z)({}, avatarProps))); } var contentNode; if (hasTitle || hasParagraph) { // Title var $title; if (hasTitle) { var titleProps = (0,esm_extends/* default */.Z)((0,esm_extends/* default */.Z)({ prefixCls: "".concat(prefixCls, "-title") }, getTitleBasicProps(hasAvatar, hasParagraph)), getComponentProps(title)); $title = /*#__PURE__*/react.createElement(skeleton_Title, (0,esm_extends/* default */.Z)({}, titleProps)); } // Paragraph var paragraphNode; if (hasParagraph) { var paragraphProps = (0,esm_extends/* default */.Z)((0,esm_extends/* default */.Z)({ prefixCls: "".concat(prefixCls, "-paragraph") }, getParagraphBasicProps(hasAvatar, hasTitle)), getComponentProps(paragraph)); paragraphNode = /*#__PURE__*/react.createElement(skeleton_Paragraph, (0,esm_extends/* default */.Z)({}, paragraphProps)); } contentNode = /*#__PURE__*/react.createElement("div", { className: "".concat(prefixCls, "-content") }, $title, paragraphNode); } var cls = classnames_default()(prefixCls, (_classNames = {}, (0,defineProperty/* default */.Z)(_classNames, "".concat(prefixCls, "-with-avatar"), hasAvatar), (0,defineProperty/* default */.Z)(_classNames, "".concat(prefixCls, "-active"), active), (0,defineProperty/* default */.Z)(_classNames, "".concat(prefixCls, "-rtl"), direction === 'rtl'), (0,defineProperty/* default */.Z)(_classNames, "".concat(prefixCls, "-round"), round), _classNames), className); return /*#__PURE__*/react.createElement("div", { className: cls, style: style }, avatarNode, contentNode); } return typeof children !== 'undefined' ? children : null; }; Skeleton.Button = Button; Skeleton.Avatar = Avatar; Skeleton.Input = Input; Skeleton.Image = Image; Skeleton.Node = Node; /* harmony default export */ var skeleton_Skeleton = (Skeleton); ;// CONCATENATED MODULE: ./node_modules/antd/es/skeleton/index.js /* harmony default export */ var skeleton = (skeleton_Skeleton); /***/ }), /***/ 61099: /*!******************************************************************!*\ !*** ./node_modules/antd/es/skeleton/style/index.js + 1 modules ***! \******************************************************************/ /***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) { "use strict"; // EXTERNAL MODULE: ./node_modules/antd/es/style/default.less var style_default = __webpack_require__(43146); ;// CONCATENATED MODULE: ./node_modules/antd/es/skeleton/style/index.less // extracted by mini-css-extract-plugin ;// CONCATENATED MODULE: ./node_modules/antd/es/skeleton/style/index.js /***/ }), /***/ 74763: /*!*************************************************************!*\ !*** ./node_modules/antd/es/statistic/index.js + 4 modules ***! \*************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { "Z": function() { return /* binding */ statistic; } }); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js var esm_extends = __webpack_require__(87462); // EXTERNAL MODULE: ./node_modules/react/index.js var react = __webpack_require__(67294); // EXTERNAL MODULE: ./node_modules/antd/es/_util/hooks/useForceUpdate.js var useForceUpdate = __webpack_require__(57838); // EXTERNAL MODULE: ./node_modules/antd/es/_util/reactNode.js var reactNode = __webpack_require__(96159); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js var defineProperty = __webpack_require__(4942); // EXTERNAL MODULE: ./node_modules/classnames/index.js var classnames = __webpack_require__(94184); var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames); // EXTERNAL MODULE: ./node_modules/antd/es/config-provider/context.js var context = __webpack_require__(53124); // EXTERNAL MODULE: ./node_modules/antd/es/skeleton/index.js + 11 modules var skeleton = __webpack_require__(73481); // EXTERNAL MODULE: ./node_modules/lodash/padEnd.js var padEnd = __webpack_require__(71211); var padEnd_default = /*#__PURE__*/__webpack_require__.n(padEnd); ;// CONCATENATED MODULE: ./node_modules/antd/es/statistic/Number.js var StatisticNumber = function StatisticNumber(props) { var value = props.value, formatter = props.formatter, precision = props.precision, decimalSeparator = props.decimalSeparator, _props$groupSeparator = props.groupSeparator, groupSeparator = _props$groupSeparator === void 0 ? '' : _props$groupSeparator, prefixCls = props.prefixCls; var valueNode; if (typeof formatter === 'function') { // Customize formatter valueNode = formatter(value); } else { // Internal formatter var val = String(value); var cells = val.match(/^(-?)(\d*)(\.(\d+))?$/); // Process if illegal number if (!cells || val === '-') { valueNode = val; } else { var negative = cells[1]; var int = cells[2] || '0'; var decimal = cells[4] || ''; int = int.replace(/\B(?=(\d{3})+(?!\d))/g, groupSeparator); if (typeof precision === 'number') { decimal = padEnd_default()(decimal, precision, '0').slice(0, precision > 0 ? precision : 0); } if (decimal) { decimal = "".concat(decimalSeparator).concat(decimal); } valueNode = [/*#__PURE__*/react.createElement("span", { key: "int", className: "".concat(prefixCls, "-content-value-int") }, negative, int), decimal && /*#__PURE__*/react.createElement("span", { key: "decimal", className: "".concat(prefixCls, "-content-value-decimal") }, decimal)]; } } return /*#__PURE__*/react.createElement("span", { className: "".concat(prefixCls, "-content-value") }, valueNode); }; /* harmony default export */ var statistic_Number = (StatisticNumber); ;// CONCATENATED MODULE: ./node_modules/antd/es/statistic/Statistic.js var Statistic = function Statistic(props) { var prefixCls = props.prefixCls, className = props.className, style = props.style, valueStyle = props.valueStyle, _props$value = props.value, value = _props$value === void 0 ? 0 : _props$value, title = props.title, valueRender = props.valueRender, prefix = props.prefix, suffix = props.suffix, _props$loading = props.loading, loading = _props$loading === void 0 ? false : _props$loading, direction = props.direction, onMouseEnter = props.onMouseEnter, onMouseLeave = props.onMouseLeave, _props$decimalSeparat = props.decimalSeparator, decimalSeparator = _props$decimalSeparat === void 0 ? '.' : _props$decimalSeparat, _props$groupSeparator = props.groupSeparator, groupSeparator = _props$groupSeparator === void 0 ? ',' : _props$groupSeparator; var valueNode = /*#__PURE__*/react.createElement(statistic_Number, (0,esm_extends/* default */.Z)({ decimalSeparator: decimalSeparator, groupSeparator: groupSeparator }, props, { value: value })); var cls = classnames_default()(prefixCls, (0,defineProperty/* default */.Z)({}, "".concat(prefixCls, "-rtl"), direction === 'rtl'), className); return /*#__PURE__*/react.createElement("div", { className: cls, style: style, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave }, title && /*#__PURE__*/react.createElement("div", { className: "".concat(prefixCls, "-title") }, title), /*#__PURE__*/react.createElement(skeleton/* default */.Z, { paragraph: false, loading: loading, className: "".concat(prefixCls, "-skeleton") }, /*#__PURE__*/react.createElement("div", { style: valueStyle, className: "".concat(prefixCls, "-content") }, prefix && /*#__PURE__*/react.createElement("span", { className: "".concat(prefixCls, "-content-prefix") }, prefix), valueRender ? valueRender(valueNode) : valueNode, suffix && /*#__PURE__*/react.createElement("span", { className: "".concat(prefixCls, "-content-suffix") }, suffix)))); }; var WrapperStatistic = (0,context/* withConfigConsumer */.PG)({ prefixCls: 'statistic' })(Statistic); /* harmony default export */ var statistic_Statistic = (WrapperStatistic); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 1 modules var slicedToArray = __webpack_require__(97685); // EXTERNAL MODULE: ./node_modules/lodash/padStart.js var padStart = __webpack_require__(32475); var padStart_default = /*#__PURE__*/__webpack_require__.n(padStart); ;// CONCATENATED MODULE: ./node_modules/antd/es/statistic/utils.js // Countdown var 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) { var leftDuration = duration; var escapeRegex = /\[[^\]]*]/g; var keepList = (format.match(escapeRegex) || []).map(function (str) { return str.slice(1, -1); }); var templateText = format.replace(escapeRegex, '[]'); var replacedText = timeUnits.reduce(function (current, _ref) { var _ref2 = (0,slicedToArray/* default */.Z)(_ref, 2), name = _ref2[0], unit = _ref2[1]; if (current.includes(name)) { var value = Math.floor(leftDuration / unit); leftDuration -= value * unit; return current.replace(new RegExp("".concat(name, "+"), 'g'), function (match) { var len = match.length; return padStart_default()(value.toString(), len, '0'); }); } return current; }, templateText); var index = 0; return replacedText.replace(escapeRegex, function () { var match = keepList[index]; index += 1; return match; }); } function formatCountdown(value, config) { var _config$format = config.format, format = _config$format === void 0 ? '' : _config$format; var target = new Date(value).getTime(); var current = Date.now(); var diff = Math.max(target - current, 0); return formatTimeStr(diff, format); } ;// CONCATENATED MODULE: ./node_modules/antd/es/statistic/Countdown.js var REFRESH_INTERVAL = 1000 / 30; function getTime(value) { return new Date(value).getTime(); } var Countdown = function Countdown(props) { var value = props.value, _props$format = props.format, format = _props$format === void 0 ? 'HH:mm:ss' : _props$format, onChange = props.onChange, onFinish = props.onFinish; var forceUpdate = (0,useForceUpdate/* default */.Z)(); var countdown = react.useRef(null); var stopTimer = function stopTimer() { onFinish === null || onFinish === void 0 ? void 0 : onFinish(); if (countdown.current) { clearInterval(countdown.current); countdown.current = null; } }; var syncTimer = function syncTimer() { var timestamp = getTime(value); if (timestamp >= Date.now()) { countdown.current = setInterval(function () { forceUpdate(); onChange === null || onChange === void 0 ? void 0 : onChange(timestamp - Date.now()); if (timestamp < Date.now()) { stopTimer(); } }, REFRESH_INTERVAL); } }; react.useEffect(function () { syncTimer(); return function () { if (countdown.current) { clearInterval(countdown.current); countdown.current = null; } }; }, [value]); var formatter = function formatter(formatValue, config) { return formatCountdown(formatValue, (0,esm_extends/* default */.Z)((0,esm_extends/* default */.Z)({}, config), { format: format })); }; var valueRender = function valueRender(node) { return (0,reactNode/* cloneElement */.Tm)(node, { title: undefined }); }; return /*#__PURE__*/react.createElement(statistic_Statistic, (0,esm_extends/* default */.Z)({}, props, { valueRender: valueRender, formatter: formatter })); }; /* harmony default export */ var statistic_Countdown = (/*#__PURE__*/react.memo(Countdown)); ;// CONCATENATED MODULE: ./node_modules/antd/es/statistic/index.js statistic_Statistic.Countdown = statistic_Countdown; /* harmony default export */ var statistic = (statistic_Statistic); /***/ }), /***/ 14558: /*!*******************************************************************!*\ !*** ./node_modules/antd/es/statistic/style/index.js + 1 modules ***! \*******************************************************************/ /***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) { "use strict"; // EXTERNAL MODULE: ./node_modules/antd/es/style/default.less var style_default = __webpack_require__(43146); ;// CONCATENATED MODULE: ./node_modules/antd/es/statistic/style/index.less // extracted by mini-css-extract-plugin // EXTERNAL MODULE: ./node_modules/antd/es/skeleton/style/index.js + 1 modules var style = __webpack_require__(61099); ;// CONCATENATED MODULE: ./node_modules/antd/es/statistic/style/index.js // style dependencies /***/ }), /***/ 29932: /*!******************************************!*\ !*** ./node_modules/lodash/_arrayMap.js ***! \******************************************/ /***/ (function(module) { /** * A specialized version of `_.map` for arrays without support for iteratee * shorthands. * * @private * @param {Array} [array] The array to iterate over. * @param {Function} iteratee The function invoked per iteration. * @returns {Array} Returns the new mapped array. */ function arrayMap(array, iteratee) { var index = -1, length = array == null ? 0 : array.length, result = Array(length); while (++index < length) { result[index] = iteratee(array[index], index, array); } return result; } module.exports = arrayMap; /***/ }), /***/ 48983: /*!*******************************************!*\ !*** ./node_modules/lodash/_asciiSize.js ***! \*******************************************/ /***/ (function(module, __unused_webpack_exports, __webpack_require__) { var baseProperty = __webpack_require__(/*! ./_baseProperty */ 40371); /** * Gets the size of an ASCII `string`. * * @private * @param {string} string The string inspect. * @returns {number} Returns the string size. */ var asciiSize = baseProperty('length'); module.exports = asciiSize; /***/ }), /***/ 44286: /*!**********************************************!*\ !*** ./node_modules/lodash/_asciiToArray.js ***! \**********************************************/ /***/ (function(module) { /** * Converts an ASCII `string` to an array. * * @private * @param {string} string The string to convert. * @returns {Array} Returns the converted array. */ function asciiToArray(string) { return string.split(''); } module.exports = asciiToArray; /***/ }), /***/ 40371: /*!**********************************************!*\ !*** ./node_modules/lodash/_baseProperty.js ***! \**********************************************/ /***/ (function(module) { /** * The base implementation of `_.property` without support for deep paths. * * @private * @param {string} key The key of the property to get. * @returns {Function} Returns the new accessor function. */ function baseProperty(key) { return function(object) { return object == null ? undefined : object[key]; }; } module.exports = baseProperty; /***/ }), /***/ 18190: /*!********************************************!*\ !*** ./node_modules/lodash/_baseRepeat.js ***! \********************************************/ /***/ (function(module) { /** Used as references for various `Number` constants. */ var MAX_SAFE_INTEGER = 9007199254740991; /* Built-in method references for those with the same name as other `lodash` methods. */ var nativeFloor = Math.floor; /** * The base implementation of `_.repeat` which doesn't coerce arguments. * * @private * @param {string} string The string to repeat. * @param {number} n The number of times to repeat the string. * @returns {string} Returns the repeated string. */ function baseRepeat(string, n) { var result = ''; if (!string || n < 1 || n > MAX_SAFE_INTEGER) { return result; } // Leverage the exponentiation by squaring algorithm for a faster repeat. // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details. do { if (n % 2) { result += string; } n = nativeFloor(n / 2); if (n) { string += string; } } while (n); return result; } module.exports = baseRepeat; /***/ }), /***/ 14259: /*!*******************************************!*\ !*** ./node_modules/lodash/_baseSlice.js ***! \*******************************************/ /***/ (function(module) { /** * The base implementation of `_.slice` without an iteratee call guard. * * @private * @param {Array} array The array to slice. * @param {number} [start=0] The start position. * @param {number} [end=array.length] The end position. * @returns {Array} Returns the slice of `array`. */ function baseSlice(array, start, end) { var index = -1, length = array.length; if (start < 0) { start = -start > length ? 0 : (length + start); } end = end > length ? length : end; if (end < 0) { end += length; } length = start > end ? 0 : ((end - start) >>> 0); start >>>= 0; var result = Array(length); while (++index < length) { result[index] = array[index + start]; } return result; } module.exports = baseSlice; /***/ }), /***/ 80531: /*!**********************************************!*\ !*** ./node_modules/lodash/_baseToString.js ***! \**********************************************/ /***/ (function(module, __unused_webpack_exports, __webpack_require__) { var Symbol = __webpack_require__(/*! ./_Symbol */ 62705), arrayMap = __webpack_require__(/*! ./_arrayMap */ 29932), isArray = __webpack_require__(/*! ./isArray */ 1469), isSymbol = __webpack_require__(/*! ./isSymbol */ 33448); /** Used as references for various `Number` constants. */ var INFINITY = 1 / 0; /** Used to convert symbols to primitives and strings. */ var symbolProto = Symbol ? Symbol.prototype : undefined, symbolToString = symbolProto ? symbolProto.toString : undefined; /** * The base implementation of `_.toString` which doesn't convert nullish * values to empty strings. * * @private * @param {*} value The value to process. * @returns {string} Returns the string. */ function baseToString(value) { // Exit early for strings to avoid a performance hit in some environments. if (typeof value == 'string') { return value; } if (isArray(value)) { // Recursively convert values (susceptible to call stack limits). return arrayMap(value, baseToString) + ''; } if (isSymbol(value)) { return symbolToString ? symbolToString.call(value) : ''; } var result = (value + ''); return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; } module.exports = baseToString; /***/ }), /***/ 40180: /*!*******************************************!*\ !*** ./node_modules/lodash/_castSlice.js ***! \*******************************************/ /***/ (function(module, __unused_webpack_exports, __webpack_require__) { var baseSlice = __webpack_require__(/*! ./_baseSlice */ 14259); /** * Casts `array` to a slice if it's needed. * * @private * @param {Array} array The array to inspect. * @param {number} start The start position. * @param {number} [end=array.length] The end position. * @returns {Array} Returns the cast slice. */ function castSlice(array, start, end) { var length = array.length; end = end === undefined ? length : end; return (!start && end >= length) ? array : baseSlice(array, start, end); } module.exports = castSlice; /***/ }), /***/ 78302: /*!***********************************************!*\ !*** ./node_modules/lodash/_createPadding.js ***! \***********************************************/ /***/ (function(module, __unused_webpack_exports, __webpack_require__) { var baseRepeat = __webpack_require__(/*! ./_baseRepeat */ 18190), baseToString = __webpack_require__(/*! ./_baseToString */ 80531), castSlice = __webpack_require__(/*! ./_castSlice */ 40180), hasUnicode = __webpack_require__(/*! ./_hasUnicode */ 62689), stringSize = __webpack_require__(/*! ./_stringSize */ 88016), stringToArray = __webpack_require__(/*! ./_stringToArray */ 83140); /* Built-in method references for those with the same name as other `lodash` methods. */ var nativeCeil = Math.ceil; /** * Creates the padding for `string` based on `length`. The `chars` string * is truncated if the number of characters exceeds `length`. * * @private * @param {number} length The padding length. * @param {string} [chars=' '] The string used as padding. * @returns {string} Returns the padding for `string`. */ function createPadding(length, chars) { chars = chars === undefined ? ' ' : baseToString(chars); var charsLength = chars.length; if (charsLength < 2) { return charsLength ? baseRepeat(chars, length) : chars; } var result = baseRepeat(chars, nativeCeil(length / stringSize(chars))); return hasUnicode(chars) ? castSlice(stringToArray(result), 0, length).join('') : result.slice(0, length); } module.exports = createPadding; /***/ }), /***/ 62689: /*!********************************************!*\ !*** ./node_modules/lodash/_hasUnicode.js ***! \********************************************/ /***/ (function(module) { /** Used to compose unicode character classes. */ var rsAstralRange = '\\ud800-\\udfff', rsComboMarksRange = '\\u0300-\\u036f', reComboHalfMarksRange = '\\ufe20-\\ufe2f', rsComboSymbolsRange = '\\u20d0-\\u20ff', rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, rsVarRange = '\\ufe0e\\ufe0f'; /** Used to compose unicode capture groups. */ var rsZWJ = '\\u200d'; /** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */ var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']'); /** * Checks if `string` contains Unicode symbols. * * @private * @param {string} string The string to inspect. * @returns {boolean} Returns `true` if a symbol is found, else `false`. */ function hasUnicode(string) { return reHasUnicode.test(string); } module.exports = hasUnicode; /***/ }), /***/ 88016: /*!********************************************!*\ !*** ./node_modules/lodash/_stringSize.js ***! \********************************************/ /***/ (function(module, __unused_webpack_exports, __webpack_require__) { var asciiSize = __webpack_require__(/*! ./_asciiSize */ 48983), hasUnicode = __webpack_require__(/*! ./_hasUnicode */ 62689), unicodeSize = __webpack_require__(/*! ./_unicodeSize */ 21903); /** * Gets the number of symbols in `string`. * * @private * @param {string} string The string to inspect. * @returns {number} Returns the string size. */ function stringSize(string) { return hasUnicode(string) ? unicodeSize(string) : asciiSize(string); } module.exports = stringSize; /***/ }), /***/ 83140: /*!***********************************************!*\ !*** ./node_modules/lodash/_stringToArray.js ***! \***********************************************/ /***/ (function(module, __unused_webpack_exports, __webpack_require__) { var asciiToArray = __webpack_require__(/*! ./_asciiToArray */ 44286), hasUnicode = __webpack_require__(/*! ./_hasUnicode */ 62689), unicodeToArray = __webpack_require__(/*! ./_unicodeToArray */ 676); /** * Converts `string` to an array. * * @private * @param {string} string The string to convert. * @returns {Array} Returns the converted array. */ function stringToArray(string) { return hasUnicode(string) ? unicodeToArray(string) : asciiToArray(string); } module.exports = stringToArray; /***/ }), /***/ 21903: /*!*********************************************!*\ !*** ./node_modules/lodash/_unicodeSize.js ***! \*********************************************/ /***/ (function(module) { /** Used to compose unicode character classes. */ var rsAstralRange = '\\ud800-\\udfff', rsComboMarksRange = '\\u0300-\\u036f', reComboHalfMarksRange = '\\ufe20-\\ufe2f', rsComboSymbolsRange = '\\u20d0-\\u20ff', rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, rsVarRange = '\\ufe0e\\ufe0f'; /** Used to compose unicode capture groups. */ var rsAstral = '[' + rsAstralRange + ']', rsCombo = '[' + rsComboRange + ']', rsFitz = '\\ud83c[\\udffb-\\udfff]', rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')', rsNonAstral = '[^' + rsAstralRange + ']', rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}', rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]', rsZWJ = '\\u200d'; /** Used to compose unicode regexes. */ var reOptMod = rsModifier + '?', rsOptVar = '[' + rsVarRange + ']?', rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*', rsSeq = rsOptVar + reOptMod + rsOptJoin, rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')'; /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */ var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g'); /** * Gets the size of a Unicode `string`. * * @private * @param {string} string The string inspect. * @returns {number} Returns the string size. */ function unicodeSize(string) { var result = reUnicode.lastIndex = 0; while (reUnicode.test(string)) { ++result; } return result; } module.exports = unicodeSize; /***/ }), /***/ 676: /*!************************************************!*\ !*** ./node_modules/lodash/_unicodeToArray.js ***! \************************************************/ /***/ (function(module) { /** Used to compose unicode character classes. */ var rsAstralRange = '\\ud800-\\udfff', rsComboMarksRange = '\\u0300-\\u036f', reComboHalfMarksRange = '\\ufe20-\\ufe2f', rsComboSymbolsRange = '\\u20d0-\\u20ff', rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, rsVarRange = '\\ufe0e\\ufe0f'; /** Used to compose unicode capture groups. */ var rsAstral = '[' + rsAstralRange + ']', rsCombo = '[' + rsComboRange + ']', rsFitz = '\\ud83c[\\udffb-\\udfff]', rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')', rsNonAstral = '[^' + rsAstralRange + ']', rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}', rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]', rsZWJ = '\\u200d'; /** Used to compose unicode regexes. */ var reOptMod = rsModifier + '?', rsOptVar = '[' + rsVarRange + ']?', rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*', rsSeq = rsOptVar + reOptMod + rsOptJoin, rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')'; /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */ var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g'); /** * Converts a Unicode `string` to an array. * * @private * @param {string} string The string to convert. * @returns {Array} Returns the converted array. */ function unicodeToArray(string) { return string.match(reUnicode) || []; } module.exports = unicodeToArray; /***/ }), /***/ 71211: /*!***************************************!*\ !*** ./node_modules/lodash/padEnd.js ***! \***************************************/ /***/ (function(module, __unused_webpack_exports, __webpack_require__) { var createPadding = __webpack_require__(/*! ./_createPadding */ 78302), stringSize = __webpack_require__(/*! ./_stringSize */ 88016), toInteger = __webpack_require__(/*! ./toInteger */ 40554), toString = __webpack_require__(/*! ./toString */ 79833); /** * Pads `string` on the right side if it's shorter than `length`. Padding * characters are truncated if they exceed `length`. * * @static * @memberOf _ * @since 4.0.0 * @category String * @param {string} [string=''] The string to pad. * @param {number} [length=0] The padding length. * @param {string} [chars=' '] The string used as padding. * @returns {string} Returns the padded string. * @example * * _.padEnd('abc', 6); * // => 'abc ' * * _.padEnd('abc', 6, '_-'); * // => 'abc_-_' * * _.padEnd('abc', 3); * // => 'abc' */ function padEnd(string, length, chars) { string = toString(string); length = toInteger(length); var strLength = length ? stringSize(string) : 0; return (length && strLength < length) ? (string + createPadding(length - strLength, chars)) : string; } module.exports = padEnd; /***/ }), /***/ 32475: /*!*****************************************!*\ !*** ./node_modules/lodash/padStart.js ***! \*****************************************/ /***/ (function(module, __unused_webpack_exports, __webpack_require__) { var createPadding = __webpack_require__(/*! ./_createPadding */ 78302), stringSize = __webpack_require__(/*! ./_stringSize */ 88016), toInteger = __webpack_require__(/*! ./toInteger */ 40554), toString = __webpack_require__(/*! ./toString */ 79833); /** * Pads `string` on the left side if it's shorter than `length`. Padding * characters are truncated if they exceed `length`. * * @static * @memberOf _ * @since 4.0.0 * @category String * @param {string} [string=''] The string to pad. * @param {number} [length=0] The padding length. * @param {string} [chars=' '] The string used as padding. * @returns {string} Returns the padded string. * @example * * _.padStart('abc', 6); * // => ' abc' * * _.padStart('abc', 6, '_-'); * // => '_-_abc' * * _.padStart('abc', 3); * // => 'abc' */ function padStart(string, length, chars) { string = toString(string); length = toInteger(length); var strLength = length ? stringSize(string) : 0; return (length && strLength < length) ? (createPadding(length - strLength, chars) + string) : string; } module.exports = padStart; /***/ }), /***/ 18601: /*!*****************************************!*\ !*** ./node_modules/lodash/toFinite.js ***! \*****************************************/ /***/ (function(module, __unused_webpack_exports, __webpack_require__) { var toNumber = __webpack_require__(/*! ./toNumber */ 14841); /** Used as references for various `Number` constants. */ var INFINITY = 1 / 0, MAX_INTEGER = 1.7976931348623157e+308; /** * Converts `value` to a finite number. * * @static * @memberOf _ * @since 4.12.0 * @category Lang * @param {*} value The value to convert. * @returns {number} Returns the converted number. * @example * * _.toFinite(3.2); * // => 3.2 * * _.toFinite(Number.MIN_VALUE); * // => 5e-324 * * _.toFinite(Infinity); * // => 1.7976931348623157e+308 * * _.toFinite('3.2'); * // => 3.2 */ function toFinite(value) { if (!value) { return value === 0 ? value : 0; } value = toNumber(value); if (value === INFINITY || value === -INFINITY) { var sign = (value < 0 ? -1 : 1); return sign * MAX_INTEGER; } return value === value ? value : 0; } module.exports = toFinite; /***/ }), /***/ 40554: /*!******************************************!*\ !*** ./node_modules/lodash/toInteger.js ***! \******************************************/ /***/ (function(module, __unused_webpack_exports, __webpack_require__) { var toFinite = __webpack_require__(/*! ./toFinite */ 18601); /** * Converts `value` to an integer. * * **Note:** This method is loosely based on * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger). * * @static * @memberOf _ * @since 4.0.0 * @category Lang * @param {*} value The value to convert. * @returns {number} Returns the converted integer. * @example * * _.toInteger(3.2); * // => 3 * * _.toInteger(Number.MIN_VALUE); * // => 0 * * _.toInteger(Infinity); * // => 1.7976931348623157e+308 * * _.toInteger('3.2'); * // => 3 */ function toInteger(value) { var result = toFinite(value), remainder = result % 1; return result === result ? (remainder ? result - remainder : result) : 0; } module.exports = toInteger; /***/ }), /***/ 79833: /*!*****************************************!*\ !*** ./node_modules/lodash/toString.js ***! \*****************************************/ /***/ (function(module, __unused_webpack_exports, __webpack_require__) { var baseToString = __webpack_require__(/*! ./_baseToString */ 80531); /** * Converts `value` to a string. An empty string is returned for `null` * and `undefined` values. The sign of `-0` is preserved. * * @static * @memberOf _ * @since 4.0.0 * @category Lang * @param {*} value The value to convert. * @returns {string} Returns the converted string. * @example * * _.toString(null); * // => '' * * _.toString(-0); * // => '-0' * * _.toString([1, 2, 3]); * // => '1,2,3' */ function toString(value) { return value == null ? '' : baseToString(value); } module.exports = toString; /***/ }) }]);