You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
NewEduCoderBuild/66628.async.js

784 lines
30 KiB

"use strict";
(self["webpackChunk"] = self["webpackChunk"] || []).push([[66628],{
/***/ 509:
/*!*********************************************************************!*\
!*** ./node_modules/@ant-design/icons-svg/es/asn/SearchOutlined.js ***!
\*********************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__) {
// This icon file is generated automatically.
var SearchOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0011.6 0l43.6-43.5a8.2 8.2 0 000-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z" } }] }, "name": "search", "theme": "outlined" };
/* harmony default export */ __webpack_exports__["Z"] = (SearchOutlined);
/***/ }),
/***/ 62986:
/*!*********************************************************!*\
!*** ./node_modules/antd/es/empty/index.js + 2 modules ***!
\*********************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"Z": function() { return /* binding */ es_empty; }
});
// 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/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/antd/es/locale-provider/LocaleReceiver.js + 1 modules
var LocaleReceiver = __webpack_require__(23715);
;// CONCATENATED MODULE: ./node_modules/antd/es/empty/empty.js
var Empty = function Empty() {
var _React$useContext = react.useContext(context/* ConfigContext */.E_),
getPrefixCls = _React$useContext.getPrefixCls;
var prefixCls = getPrefixCls('empty-img-default');
return /*#__PURE__*/react.createElement("svg", {
className: prefixCls,
width: "184",
height: "152",
viewBox: "0 0 184 152",
xmlns: "http://www.w3.org/2000/svg"
}, /*#__PURE__*/react.createElement("g", {
fill: "none",
fillRule: "evenodd"
}, /*#__PURE__*/react.createElement("g", {
transform: "translate(24 31.67)"
}, /*#__PURE__*/react.createElement("ellipse", {
className: "".concat(prefixCls, "-ellipse"),
cx: "67.797",
cy: "106.89",
rx: "67.797",
ry: "12.668"
}), /*#__PURE__*/react.createElement("path", {
className: "".concat(prefixCls, "-path-1"),
d: "M122.034 69.674L98.109 40.229c-1.148-1.386-2.826-2.225-4.593-2.225h-51.44c-1.766 0-3.444.839-4.592 2.225L13.56 69.674v15.383h108.475V69.674z"
}), /*#__PURE__*/react.createElement("path", {
className: "".concat(prefixCls, "-path-2"),
d: "M101.537 86.214L80.63 61.102c-1.001-1.207-2.507-1.867-4.048-1.867H31.724c-1.54 0-3.047.66-4.048 1.867L6.769 86.214v13.792h94.768V86.214z",
transform: "translate(13.56)"
}), /*#__PURE__*/react.createElement("path", {
className: "".concat(prefixCls, "-path-3"),
d: "M33.83 0h67.933a4 4 0 0 1 4 4v93.344a4 4 0 0 1-4 4H33.83a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z"
}), /*#__PURE__*/react.createElement("path", {
className: "".concat(prefixCls, "-path-4"),
d: "M42.678 9.953h50.237a2 2 0 0 1 2 2V36.91a2 2 0 0 1-2 2H42.678a2 2 0 0 1-2-2V11.953a2 2 0 0 1 2-2zM42.94 49.767h49.713a2.262 2.262 0 1 1 0 4.524H42.94a2.262 2.262 0 0 1 0-4.524zM42.94 61.53h49.713a2.262 2.262 0 1 1 0 4.525H42.94a2.262 2.262 0 0 1 0-4.525zM121.813 105.032c-.775 3.071-3.497 5.36-6.735 5.36H20.515c-3.238 0-5.96-2.29-6.734-5.36a7.309 7.309 0 0 1-.222-1.79V69.675h26.318c2.907 0 5.25 2.448 5.25 5.42v.04c0 2.971 2.37 5.37 5.277 5.37h34.785c2.907 0 5.277-2.421 5.277-5.393V75.1c0-2.972 2.343-5.426 5.25-5.426h26.318v33.569c0 .617-.077 1.216-.221 1.789z"
})), /*#__PURE__*/react.createElement("path", {
className: "".concat(prefixCls, "-path-5"),
d: "M149.121 33.292l-6.83 2.65a1 1 0 0 1-1.317-1.23l1.937-6.207c-2.589-2.944-4.109-6.534-4.109-10.408C138.802 8.102 148.92 0 161.402 0 173.881 0 184 8.102 184 18.097c0 9.995-10.118 18.097-22.599 18.097-4.528 0-8.744-1.066-12.28-2.902z"
}), /*#__PURE__*/react.createElement("g", {
className: "".concat(prefixCls, "-g"),
transform: "translate(149.65 15.383)"
}, /*#__PURE__*/react.createElement("ellipse", {
cx: "20.654",
cy: "3.167",
rx: "2.849",
ry: "2.815"
}), /*#__PURE__*/react.createElement("path", {
d: "M5.698 5.63H0L2.898.704zM9.259.704h4.985V5.63H9.259z"
}))));
};
/* harmony default export */ var empty = (Empty);
;// CONCATENATED MODULE: ./node_modules/antd/es/empty/simple.js
var Simple = function Simple() {
var _React$useContext = react.useContext(context/* ConfigContext */.E_),
getPrefixCls = _React$useContext.getPrefixCls;
var prefixCls = getPrefixCls('empty-img-simple');
return /*#__PURE__*/react.createElement("svg", {
className: prefixCls,
width: "64",
height: "41",
viewBox: "0 0 64 41",
xmlns: "http://www.w3.org/2000/svg"
}, /*#__PURE__*/react.createElement("g", {
transform: "translate(0 1)",
fill: "none",
fillRule: "evenodd"
}, /*#__PURE__*/react.createElement("ellipse", {
className: "".concat(prefixCls, "-ellipse"),
cx: "32",
cy: "33",
rx: "32",
ry: "7"
}), /*#__PURE__*/react.createElement("g", {
className: "".concat(prefixCls, "-g"),
fillRule: "nonzero"
}, /*#__PURE__*/react.createElement("path", {
d: "M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"
}), /*#__PURE__*/react.createElement("path", {
d: "M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z",
className: "".concat(prefixCls, "-path")
}))));
};
/* harmony default export */ var simple = (Simple);
;// CONCATENATED MODULE: ./node_modules/antd/es/empty/index.js
var __rest = undefined && undefined.__rest || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
}
return t;
};
var defaultEmptyImg = /*#__PURE__*/react.createElement(empty, null);
var simpleEmptyImg = /*#__PURE__*/react.createElement(simple, null);
var empty_Empty = function Empty(_a) {
var className = _a.className,
customizePrefixCls = _a.prefixCls,
_a$image = _a.image,
image = _a$image === void 0 ? defaultEmptyImg : _a$image,
description = _a.description,
children = _a.children,
imageStyle = _a.imageStyle,
restProps = __rest(_a, ["className", "prefixCls", "image", "description", "children", "imageStyle"]);
var _React$useContext = react.useContext(context/* ConfigContext */.E_),
getPrefixCls = _React$useContext.getPrefixCls,
direction = _React$useContext.direction;
return /*#__PURE__*/react.createElement(LocaleReceiver/* default */.Z, {
componentName: "Empty"
}, function (contextLocale) {
var _classNames;
var prefixCls = getPrefixCls('empty', customizePrefixCls);
var des = typeof description !== 'undefined' ? description : contextLocale.description;
var alt = typeof des === 'string' ? des : 'empty';
var imageNode = null;
if (typeof image === 'string') {
imageNode = /*#__PURE__*/react.createElement("img", {
alt: alt,
src: image
});
} else {
imageNode = image;
}
return /*#__PURE__*/react.createElement("div", (0,esm_extends/* default */.Z)({
className: classnames_default()(prefixCls, (_classNames = {}, (0,defineProperty/* default */.Z)(_classNames, "".concat(prefixCls, "-normal"), image === simpleEmptyImg), (0,defineProperty/* default */.Z)(_classNames, "".concat(prefixCls, "-rtl"), direction === 'rtl'), _classNames), className)
}, restProps), /*#__PURE__*/react.createElement("div", {
className: "".concat(prefixCls, "-image"),
style: imageStyle
}, imageNode), des && /*#__PURE__*/react.createElement("div", {
className: "".concat(prefixCls, "-description")
}, des), children && /*#__PURE__*/react.createElement("div", {
className: "".concat(prefixCls, "-footer")
}, children));
});
};
empty_Empty.PRESENTED_IMAGE_DEFAULT = defaultEmptyImg;
empty_Empty.PRESENTED_IMAGE_SIMPLE = simpleEmptyImg;
/* harmony default export */ var es_empty = (empty_Empty);
/***/ }),
/***/ 81151:
/*!***************************************************************!*\
!*** ./node_modules/antd/es/empty/style/index.js + 1 modules ***!
\***************************************************************/
/***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
// EXTERNAL MODULE: ./node_modules/antd/es/style/default.less
var style_default = __webpack_require__(43146);
;// CONCATENATED MODULE: ./node_modules/antd/es/empty/style/index.less
// extracted by mini-css-extract-plugin
;// CONCATENATED MODULE: ./node_modules/antd/es/empty/style/index.js
/***/ }),
/***/ 25783:
/*!*************************************************************************************!*\
!*** ./node_modules/antd/node_modules/@ant-design/icons/es/icons/SearchOutlined.js ***!
\*************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
/* harmony import */ var _babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectSpread2 */ 1413);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 67294);
/* harmony import */ var _ant_design_icons_svg_es_asn_SearchOutlined__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @ant-design/icons-svg/es/asn/SearchOutlined */ 509);
/* harmony import */ var _components_AntdIcon__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../components/AntdIcon */ 93771);
// GENERATE BY ./scripts/generate.ts
// DON NOT EDIT IT MANUALLY
var SearchOutlined = function SearchOutlined(props, ref) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_AntdIcon__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z)((0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z)({}, props), {}, {
ref: ref,
icon: _ant_design_icons_svg_es_asn_SearchOutlined__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z
}));
};
SearchOutlined.displayName = 'SearchOutlined';
/* harmony default export */ __webpack_exports__["Z"] = (/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(SearchOutlined));
/***/ }),
/***/ 34243:
/*!**********************************************************!*\
!*** ./node_modules/rc-overflow/es/index.js + 4 modules ***!
\**********************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"Z": function() { return /* binding */ rc_overflow_es; }
});
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
var esm_extends = __webpack_require__(87462);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectSpread2.js
var objectSpread2 = __webpack_require__(1413);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 1 modules
var slicedToArray = __webpack_require__(97685);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
var objectWithoutProperties = __webpack_require__(45987);
// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(67294);
// EXTERNAL MODULE: ./node_modules/classnames/index.js
var classnames = __webpack_require__(94184);
var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
// EXTERNAL MODULE: ./node_modules/rc-resize-observer/es/index.js + 4 modules
var es = __webpack_require__(48555);
// EXTERNAL MODULE: ./node_modules/rc-util/es/hooks/useLayoutEffect.js
var useLayoutEffect = __webpack_require__(8410);
;// CONCATENATED MODULE: ./node_modules/rc-overflow/es/Item.js
var _excluded = ["prefixCls", "invalidate", "item", "renderItem", "responsive", "responsiveDisabled", "registerSize", "itemKey", "className", "style", "children", "display", "order", "component"];
// Use shared variable to save bundle size
var UNDEFINED = undefined;
function InternalItem(props, ref) {
var prefixCls = props.prefixCls,
invalidate = props.invalidate,
item = props.item,
renderItem = props.renderItem,
responsive = props.responsive,
responsiveDisabled = props.responsiveDisabled,
registerSize = props.registerSize,
itemKey = props.itemKey,
className = props.className,
style = props.style,
children = props.children,
display = props.display,
order = props.order,
_props$component = props.component,
Component = _props$component === void 0 ? 'div' : _props$component,
restProps = (0,objectWithoutProperties/* default */.Z)(props, _excluded);
var mergedHidden = responsive && !display; // ================================ Effect ================================
function internalRegisterSize(width) {
registerSize(itemKey, width);
}
react.useEffect(function () {
return function () {
internalRegisterSize(null);
};
}, []); // ================================ Render ================================
var childNode = renderItem && item !== UNDEFINED ? renderItem(item) : children;
var overflowStyle;
if (!invalidate) {
overflowStyle = {
opacity: mergedHidden ? 0 : 1,
height: mergedHidden ? 0 : UNDEFINED,
overflowY: mergedHidden ? 'hidden' : UNDEFINED,
order: responsive ? order : UNDEFINED,
pointerEvents: mergedHidden ? 'none' : UNDEFINED,
position: mergedHidden ? 'absolute' : UNDEFINED
};
}
var overflowProps = {};
if (mergedHidden) {
overflowProps['aria-hidden'] = true;
}
var itemNode = /*#__PURE__*/react.createElement(Component, (0,esm_extends/* default */.Z)({
className: classnames_default()(!invalidate && prefixCls, className),
style: (0,objectSpread2/* default */.Z)((0,objectSpread2/* default */.Z)({}, overflowStyle), style)
}, overflowProps, restProps, {
ref: ref
}), childNode);
if (responsive) {
itemNode = /*#__PURE__*/react.createElement(es/* default */.Z, {
onResize: function onResize(_ref) {
var offsetWidth = _ref.offsetWidth;
internalRegisterSize(offsetWidth);
},
disabled: responsiveDisabled
}, itemNode);
}
return itemNode;
}
var Item = /*#__PURE__*/react.forwardRef(InternalItem);
Item.displayName = 'Item';
/* harmony default export */ var es_Item = (Item);
// EXTERNAL MODULE: ./node_modules/rc-util/es/raf.js
var raf = __webpack_require__(75164);
// EXTERNAL MODULE: ./node_modules/rc-util/es/hooks/useState.js
var useState = __webpack_require__(30470);
;// CONCATENATED MODULE: ./node_modules/rc-overflow/es/hooks/useBatchFrameState.js
/**
* State generate. Return a `setState` but it will flush all state with one render to save perf.
* This is not a realization of `unstable_batchedUpdates`.
*/
function useBatchFrameState() {
var _useState = (0,useState/* default */.Z)({}),
_useState2 = (0,slicedToArray/* default */.Z)(_useState, 2),
forceUpdate = _useState2[1];
var statesRef = (0,react.useRef)([]);
var walkingIndex = 0;
var beforeFrameId = 0;
function createState(defaultValue) {
var myIndex = walkingIndex;
walkingIndex += 1; // Fill value if not exist yet
if (statesRef.current.length < myIndex + 1) {
statesRef.current[myIndex] = defaultValue;
} // Return filled as `setState`
var value = statesRef.current[myIndex];
function setValue(val) {
statesRef.current[myIndex] = typeof val === 'function' ? val(statesRef.current[myIndex]) : val;
raf/* default.cancel */.Z.cancel(beforeFrameId); // Flush with batch
beforeFrameId = (0,raf/* default */.Z)(function () {
forceUpdate({}, true);
});
}
return [value, setValue];
}
return createState;
}
;// CONCATENATED MODULE: ./node_modules/rc-overflow/es/RawItem.js
var RawItem_excluded = ["component"],
_excluded2 = ["className"],
_excluded3 = ["className"];
var InternalRawItem = function InternalRawItem(props, ref) {
var context = react.useContext(OverflowContext); // Render directly when context not provided
if (!context) {
var _props$component = props.component,
Component = _props$component === void 0 ? 'div' : _props$component,
_restProps = (0,objectWithoutProperties/* default */.Z)(props, RawItem_excluded);
return /*#__PURE__*/react.createElement(Component, (0,esm_extends/* default */.Z)({}, _restProps, {
ref: ref
}));
}
var contextClassName = context.className,
restContext = (0,objectWithoutProperties/* default */.Z)(context, _excluded2);
var className = props.className,
restProps = (0,objectWithoutProperties/* default */.Z)(props, _excluded3); // Do not pass context to sub item to avoid multiple measure
return /*#__PURE__*/react.createElement(OverflowContext.Provider, {
value: null
}, /*#__PURE__*/react.createElement(es_Item, (0,esm_extends/* default */.Z)({
ref: ref,
className: classnames_default()(contextClassName, className)
}, restContext, restProps)));
};
var RawItem = /*#__PURE__*/react.forwardRef(InternalRawItem);
RawItem.displayName = 'RawItem';
/* harmony default export */ var es_RawItem = (RawItem);
;// CONCATENATED MODULE: ./node_modules/rc-overflow/es/Overflow.js
var Overflow_excluded = ["prefixCls", "data", "renderItem", "renderRawItem", "itemKey", "itemWidth", "ssr", "style", "className", "maxCount", "renderRest", "renderRawRest", "suffix", "component", "itemComponent", "onVisibleChange"];
var OverflowContext = /*#__PURE__*/react.createContext(null);
var RESPONSIVE = 'responsive';
var INVALIDATE = 'invalidate';
function defaultRenderRest(omittedItems) {
return "+ ".concat(omittedItems.length, " ...");
}
function Overflow(props, ref) {
var _props$prefixCls = props.prefixCls,
prefixCls = _props$prefixCls === void 0 ? 'rc-overflow' : _props$prefixCls,
_props$data = props.data,
data = _props$data === void 0 ? [] : _props$data,
renderItem = props.renderItem,
renderRawItem = props.renderRawItem,
itemKey = props.itemKey,
_props$itemWidth = props.itemWidth,
itemWidth = _props$itemWidth === void 0 ? 10 : _props$itemWidth,
ssr = props.ssr,
style = props.style,
className = props.className,
maxCount = props.maxCount,
renderRest = props.renderRest,
renderRawRest = props.renderRawRest,
suffix = props.suffix,
_props$component = props.component,
Component = _props$component === void 0 ? 'div' : _props$component,
itemComponent = props.itemComponent,
onVisibleChange = props.onVisibleChange,
restProps = (0,objectWithoutProperties/* default */.Z)(props, Overflow_excluded);
var createUseState = useBatchFrameState();
var fullySSR = ssr === 'full';
var _createUseState = createUseState(null),
_createUseState2 = (0,slicedToArray/* default */.Z)(_createUseState, 2),
containerWidth = _createUseState2[0],
setContainerWidth = _createUseState2[1];
var mergedContainerWidth = containerWidth || 0;
var _createUseState3 = createUseState(new Map()),
_createUseState4 = (0,slicedToArray/* default */.Z)(_createUseState3, 2),
itemWidths = _createUseState4[0],
setItemWidths = _createUseState4[1];
var _createUseState5 = createUseState(0),
_createUseState6 = (0,slicedToArray/* default */.Z)(_createUseState5, 2),
prevRestWidth = _createUseState6[0],
setPrevRestWidth = _createUseState6[1];
var _createUseState7 = createUseState(0),
_createUseState8 = (0,slicedToArray/* default */.Z)(_createUseState7, 2),
restWidth = _createUseState8[0],
setRestWidth = _createUseState8[1];
var _createUseState9 = createUseState(0),
_createUseState10 = (0,slicedToArray/* default */.Z)(_createUseState9, 2),
suffixWidth = _createUseState10[0],
setSuffixWidth = _createUseState10[1];
var _useState = (0,react.useState)(null),
_useState2 = (0,slicedToArray/* default */.Z)(_useState, 2),
suffixFixedStart = _useState2[0],
setSuffixFixedStart = _useState2[1];
var _useState3 = (0,react.useState)(null),
_useState4 = (0,slicedToArray/* default */.Z)(_useState3, 2),
displayCount = _useState4[0],
setDisplayCount = _useState4[1];
var mergedDisplayCount = react.useMemo(function () {
if (displayCount === null && fullySSR) {
return Number.MAX_SAFE_INTEGER;
}
return displayCount || 0;
}, [displayCount, containerWidth]);
var _useState5 = (0,react.useState)(false),
_useState6 = (0,slicedToArray/* default */.Z)(_useState5, 2),
restReady = _useState6[0],
setRestReady = _useState6[1];
var itemPrefixCls = "".concat(prefixCls, "-item"); // Always use the max width to avoid blink
var mergedRestWidth = Math.max(prevRestWidth, restWidth); // ================================= Data =================================
var isResponsive = maxCount === RESPONSIVE;
var shouldResponsive = data.length && isResponsive;
var invalidate = maxCount === INVALIDATE;
/**
* When is `responsive`, we will always render rest node to get the real width of it for calculation
*/
var showRest = shouldResponsive || typeof maxCount === 'number' && data.length > maxCount;
var mergedData = (0,react.useMemo)(function () {
var items = data;
if (shouldResponsive) {
if (containerWidth === null && fullySSR) {
items = data;
} else {
items = data.slice(0, Math.min(data.length, mergedContainerWidth / itemWidth));
}
} else if (typeof maxCount === 'number') {
items = data.slice(0, maxCount);
}
return items;
}, [data, itemWidth, containerWidth, maxCount, shouldResponsive]);
var omittedItems = (0,react.useMemo)(function () {
if (shouldResponsive) {
return data.slice(mergedDisplayCount + 1);
}
return data.slice(mergedData.length);
}, [data, mergedData, shouldResponsive, mergedDisplayCount]); // ================================= Item =================================
var getKey = (0,react.useCallback)(function (item, index) {
var _ref;
if (typeof itemKey === 'function') {
return itemKey(item);
}
return (_ref = itemKey && (item === null || item === void 0 ? void 0 : item[itemKey])) !== null && _ref !== void 0 ? _ref : index;
}, [itemKey]);
var mergedRenderItem = (0,react.useCallback)(renderItem || function (item) {
return item;
}, [renderItem]);
function updateDisplayCount(count, suffixFixedStartVal, notReady) {
// React 18 will sync render even when the value is same in some case.
// We take `mergedData` as deps which may cause dead loop if it's dynamic generate.
// ref: https://github.com/ant-design/ant-design/issues/36559
if (displayCount === count && (suffixFixedStartVal === undefined || suffixFixedStartVal === suffixFixedStart)) {
return;
}
setDisplayCount(count);
if (!notReady) {
setRestReady(count < data.length - 1);
onVisibleChange === null || onVisibleChange === void 0 ? void 0 : onVisibleChange(count);
}
if (suffixFixedStartVal !== undefined) {
setSuffixFixedStart(suffixFixedStartVal);
}
} // ================================= Size =================================
function onOverflowResize(_, element) {
setContainerWidth(element.clientWidth);
}
function registerSize(key, width) {
setItemWidths(function (origin) {
var clone = new Map(origin);
if (width === null) {
clone.delete(key);
} else {
clone.set(key, width);
}
return clone;
});
}
function registerOverflowSize(_, width) {
setRestWidth(width);
setPrevRestWidth(restWidth);
}
function registerSuffixSize(_, width) {
setSuffixWidth(width);
} // ================================ Effect ================================
function getItemWidth(index) {
return itemWidths.get(getKey(mergedData[index], index));
}
(0,useLayoutEffect/* default */.Z)(function () {
if (mergedContainerWidth && mergedRestWidth && mergedData) {
var totalWidth = suffixWidth;
var len = mergedData.length;
var lastIndex = len - 1; // When data count change to 0, reset this since not loop will reach
if (!len) {
updateDisplayCount(0, null);
return;
}
for (var i = 0; i < len; i += 1) {
var currentItemWidth = getItemWidth(i); // Fully will always render
if (fullySSR) {
currentItemWidth = currentItemWidth || 0;
} // Break since data not ready
if (currentItemWidth === undefined) {
updateDisplayCount(i - 1, undefined, true);
break;
} // Find best match
totalWidth += currentItemWidth;
if ( // Only one means `totalWidth` is the final width
lastIndex === 0 && totalWidth <= mergedContainerWidth || // Last two width will be the final width
i === lastIndex - 1 && totalWidth + getItemWidth(lastIndex) <= mergedContainerWidth) {
// Additional check if match the end
updateDisplayCount(lastIndex, null);
break;
} else if (totalWidth + mergedRestWidth > mergedContainerWidth) {
// Can not hold all the content to show rest
updateDisplayCount(i - 1, totalWidth - currentItemWidth - suffixWidth + restWidth);
break;
}
}
if (suffix && getItemWidth(0) + suffixWidth > mergedContainerWidth) {
setSuffixFixedStart(null);
}
}
}, [mergedContainerWidth, itemWidths, restWidth, suffixWidth, getKey, mergedData]); // ================================ Render ================================
var displayRest = restReady && !!omittedItems.length;
var suffixStyle = {};
if (suffixFixedStart !== null && shouldResponsive) {
suffixStyle = {
position: 'absolute',
left: suffixFixedStart,
top: 0
};
}
var itemSharedProps = {
prefixCls: itemPrefixCls,
responsive: shouldResponsive,
component: itemComponent,
invalidate: invalidate
}; // >>>>> Choice render fun by `renderRawItem`
var internalRenderItemNode = renderRawItem ? function (item, index) {
var key = getKey(item, index);
return /*#__PURE__*/react.createElement(OverflowContext.Provider, {
key: key,
value: (0,objectSpread2/* default */.Z)((0,objectSpread2/* default */.Z)({}, itemSharedProps), {}, {
order: index,
item: item,
itemKey: key,
registerSize: registerSize,
display: index <= mergedDisplayCount
})
}, renderRawItem(item, index));
} : function (item, index) {
var key = getKey(item, index);
return /*#__PURE__*/react.createElement(es_Item, (0,esm_extends/* default */.Z)({}, itemSharedProps, {
order: index,
key: key,
item: item,
renderItem: mergedRenderItem,
itemKey: key,
registerSize: registerSize,
display: index <= mergedDisplayCount
}));
}; // >>>>> Rest node
var restNode;
var restContextProps = {
order: displayRest ? mergedDisplayCount : Number.MAX_SAFE_INTEGER,
className: "".concat(itemPrefixCls, "-rest"),
registerSize: registerOverflowSize,
display: displayRest
};
if (!renderRawRest) {
var mergedRenderRest = renderRest || defaultRenderRest;
restNode = /*#__PURE__*/react.createElement(es_Item, (0,esm_extends/* default */.Z)({}, itemSharedProps, restContextProps), typeof mergedRenderRest === 'function' ? mergedRenderRest(omittedItems) : mergedRenderRest);
} else if (renderRawRest) {
restNode = /*#__PURE__*/react.createElement(OverflowContext.Provider, {
value: (0,objectSpread2/* default */.Z)((0,objectSpread2/* default */.Z)({}, itemSharedProps), restContextProps)
}, renderRawRest(omittedItems));
}
var overflowNode = /*#__PURE__*/react.createElement(Component, (0,esm_extends/* default */.Z)({
className: classnames_default()(!invalidate && prefixCls, className),
style: style,
ref: ref
}, restProps), mergedData.map(internalRenderItemNode), showRest ? restNode : null, suffix && /*#__PURE__*/react.createElement(es_Item, (0,esm_extends/* default */.Z)({}, itemSharedProps, {
responsive: isResponsive,
responsiveDisabled: !shouldResponsive,
order: mergedDisplayCount,
className: "".concat(itemPrefixCls, "-suffix"),
registerSize: registerSuffixSize,
display: true,
style: suffixStyle
}), suffix));
if (isResponsive) {
overflowNode = /*#__PURE__*/react.createElement(es/* default */.Z, {
onResize: onOverflowResize,
disabled: !shouldResponsive
}, overflowNode);
}
return overflowNode;
}
var ForwardOverflow = /*#__PURE__*/react.forwardRef(Overflow);
ForwardOverflow.displayName = 'Overflow';
ForwardOverflow.Item = es_RawItem;
ForwardOverflow.RESPONSIVE = RESPONSIVE;
ForwardOverflow.INVALIDATE = INVALIDATE; // Convert to generic type
/* harmony default export */ var es_Overflow = (ForwardOverflow);
;// CONCATENATED MODULE: ./node_modules/rc-overflow/es/index.js
/* harmony default export */ var rc_overflow_es = (es_Overflow);
/***/ })
}]);