Files
copilot-toolbox-template-123/node_modules/@ant-design/pro-layout/lib/ProLayout.js
2026-01-09 14:52:46 +00:00

533 lines
26 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.ProLayout = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _proProvider = require("@ant-design/pro-provider");
var _proUtils = require("@ant-design/pro-utils");
var _routeUtils = require("@umijs/route-utils");
var _antd = require("antd");
var _classnames = _interopRequireDefault(require("classnames"));
var _useMergedState3 = _interopRequireDefault(require("rc-util/lib/hooks/useMergedState"));
var _omit = _interopRequireDefault(require("rc-util/lib/omit"));
var _warning = _interopRequireDefault(require("rc-util/lib/warning"));
var _react = _interopRequireWildcard(require("react"));
var _swr = _interopRequireWildcard(require("swr"));
var _WrapContent = require("./WrapContent");
var _Logo = require("./assert/Logo");
var _Footer = require("./components/Footer");
var _Header = require("./components/Header");
var _PageLoading = require("./components/PageLoading");
var _SiderMenu = require("./components/SiderMenu");
var _RouteContext = require("./context/RouteContext");
var _defaultSettings = require("./defaultSettings");
var _getPageTitle = require("./getPageTitle");
var _locales = require("./locales");
var _style = require("./style");
var _getBreadcrumbProps = require("./utils/getBreadcrumbProps");
var _getMenuData = require("./utils/getMenuData");
var _useCurrentMenuLayoutProps = require("./utils/useCurrentMenuLayoutProps");
var _utils = require("./utils/utils");
var _jsxRuntime = require("react/jsx-runtime");
var _excluded = ["id", "defaultMessage"],
_excluded2 = ["fixSiderbar", "navTheme", "layout"];
var layoutIndex = 0;
var headerRender = function headerRender(props, matchMenuKeys) {
var _props$stylish;
if (props.headerRender === false || props.pure) {
return null;
}
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Header.DefaultHeader, (0, _objectSpread2.default)((0, _objectSpread2.default)({
matchMenuKeys: matchMenuKeys
}, props), {}, {
stylish: (_props$stylish = props.stylish) === null || _props$stylish === void 0 ? void 0 : _props$stylish.header
}));
};
var footerRender = function footerRender(props) {
if (props.footerRender === false || props.pure) {
return null;
}
if (props.footerRender) {
return props.footerRender((0, _objectSpread2.default)({}, props), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Footer.DefaultFooter, {}));
}
return null;
};
var renderSiderMenu = function renderSiderMenu(props, matchMenuKeys) {
var _props$stylish3;
var layout = props.layout,
isMobile = props.isMobile,
selectedKeys = props.selectedKeys,
openKeys = props.openKeys,
splitMenus = props.splitMenus,
suppressSiderWhenMenuEmpty = props.suppressSiderWhenMenuEmpty,
menuRender = props.menuRender;
if (props.menuRender === false || props.pure) {
return null;
}
var menuData = props.menuData;
/** 如果是分割菜单模式,需要专门实现一下 */
if (splitMenus && (openKeys !== false || layout === 'mix') && !isMobile) {
var _ref = selectedKeys || matchMenuKeys,
_ref2 = (0, _slicedToArray2.default)(_ref, 1),
key = _ref2[0];
if (key) {
var _props$menuData;
menuData = ((_props$menuData = props.menuData) === null || _props$menuData === void 0 || (_props$menuData = _props$menuData.find(function (item) {
return item.key === key;
})) === null || _props$menuData === void 0 ? void 0 : _props$menuData.children) || [];
} else {
menuData = [];
}
}
// 这里走了可以少一次循环
var clearMenuData = (0, _utils.clearMenuItem)(menuData || []);
if (clearMenuData && (clearMenuData === null || clearMenuData === void 0 ? void 0 : clearMenuData.length) < 1 && (splitMenus || suppressSiderWhenMenuEmpty)) {
return null;
}
if (layout === 'top' && !isMobile) {
var _props$stylish2;
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_SiderMenu.SiderMenu, (0, _objectSpread2.default)((0, _objectSpread2.default)({
matchMenuKeys: matchMenuKeys
}, props), {}, {
hide: true,
stylish: (_props$stylish2 = props.stylish) === null || _props$stylish2 === void 0 ? void 0 : _props$stylish2.sider
}));
}
var defaultDom = /*#__PURE__*/(0, _jsxRuntime.jsx)(_SiderMenu.SiderMenu, (0, _objectSpread2.default)((0, _objectSpread2.default)({
matchMenuKeys: matchMenuKeys
}, props), {}, {
// 这里走了可以少一次循环
menuData: clearMenuData,
stylish: (_props$stylish3 = props.stylish) === null || _props$stylish3 === void 0 ? void 0 : _props$stylish3.sider
}));
if (menuRender) {
return menuRender(props, defaultDom);
}
return defaultDom;
};
var defaultPageTitleRender = function defaultPageTitleRender(pageProps, props) {
var pageTitleRender = props.pageTitleRender;
var pageTitleInfo = (0, _getPageTitle.getPageTitleInfo)(pageProps);
if (pageTitleRender === false) {
return {
title: props.title || '',
id: '',
pageName: ''
};
}
if (pageTitleRender) {
var title = pageTitleRender(pageProps, pageTitleInfo.title, pageTitleInfo);
if (typeof title === 'string') {
return (0, _getPageTitle.getPageTitleInfo)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, pageTitleInfo), {}, {
title: title
}));
}
(0, _warning.default)(typeof title === 'string', 'pro-layout: renderPageTitle return value should be a string');
}
return pageTitleInfo;
};
var getPaddingInlineStart = function getPaddingInlineStart(hasLeftPadding, collapsed, siderWidth) {
if (hasLeftPadding) {
return collapsed ? 64 : siderWidth;
}
return 0;
};
/**
* 🌃 Powerful and easy to use beautiful layout 🏄‍ Support multiple topics and layout types
*
* @param props
*/
var BaseProLayout = function BaseProLayout(props) {
var _props$prefixCls, _location$pathname, _token$layout, _token$layout2, _token$layout3, _token$layout4, _token$layout5, _token$layout6, _token$layout7, _token$layout8, _token$layout9, _token$layout10, _token$layout11, _token$layout12;
var _ref3 = props || {},
children = _ref3.children,
propsOnCollapse = _ref3.onCollapse,
_ref3$location = _ref3.location,
location = _ref3$location === void 0 ? {
pathname: '/'
} : _ref3$location,
contentStyle = _ref3.contentStyle,
route = _ref3.route,
defaultCollapsed = _ref3.defaultCollapsed,
style = _ref3.style,
propsSiderWidth = _ref3.siderWidth,
menu = _ref3.menu,
siderMenuType = _ref3.siderMenuType,
propsIsChildrenLayout = _ref3.isChildrenLayout,
menuDataRender = _ref3.menuDataRender,
actionRef = _ref3.actionRef,
bgLayoutImgList = _ref3.bgLayoutImgList,
propsFormatMessage = _ref3.formatMessage,
loading = _ref3.loading;
var siderWidth = (0, _react.useMemo)(function () {
if (propsSiderWidth) return propsSiderWidth;
if (props.layout === 'mix') return 215;
return 256;
}, [props.layout, propsSiderWidth]);
var context = (0, _react.useContext)(_antd.ConfigProvider.ConfigContext);
var prefixCls = (_props$prefixCls = props.prefixCls) !== null && _props$prefixCls !== void 0 ? _props$prefixCls : context.getPrefixCls('pro');
var _useMountMergeState = (0, _proUtils.useMountMergeState)(false, {
value: menu === null || menu === void 0 ? void 0 : menu.loading,
onChange: menu === null || menu === void 0 ? void 0 : menu.onLoadingChange
}),
_useMountMergeState2 = (0, _slicedToArray2.default)(_useMountMergeState, 2),
menuLoading = _useMountMergeState2[0],
setMenuLoading = _useMountMergeState2[1];
// give a default key for swr
var _useState = (0, _react.useState)(function () {
layoutIndex += 1;
return "pro-layout-".concat(layoutIndex);
}),
_useState2 = (0, _slicedToArray2.default)(_useState, 1),
defaultId = _useState2[0];
/**
* 处理国际化相关 formatMessage
* 如果有用户配置的以用户为主
* 如果没有用自己实现的
*/
var formatMessage = (0, _react.useCallback)(function (_ref4) {
var id = _ref4.id,
defaultMessage = _ref4.defaultMessage,
restParams = (0, _objectWithoutProperties2.default)(_ref4, _excluded);
if (propsFormatMessage) {
return propsFormatMessage((0, _objectSpread2.default)({
id: id,
defaultMessage: defaultMessage
}, restParams));
}
var locales = (0, _locales.gLocaleObject)();
return locales[id] ? locales[id] : defaultMessage;
}, [propsFormatMessage]);
var _useSWR = (0, _swr.default)([defaultId, menu === null || menu === void 0 ? void 0 : menu.params], /*#__PURE__*/function () {
var _ref6 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(_ref5) {
var _menu$request;
var _ref7, params, menuDataItems;
return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_ref7 = (0, _slicedToArray2.default)(_ref5, 2), params = _ref7[1];
setMenuLoading(true);
_context.next = 4;
return menu === null || menu === void 0 || (_menu$request = menu.request) === null || _menu$request === void 0 ? void 0 : _menu$request.call(menu, params || {}, (route === null || route === void 0 ? void 0 : route.children) || (route === null || route === void 0 ? void 0 : route.routes) || []);
case 4:
menuDataItems = _context.sent;
setMenuLoading(false);
return _context.abrupt("return", menuDataItems);
case 7:
case "end":
return _context.stop();
}
}, _callee);
}));
return function (_x) {
return _ref6.apply(this, arguments);
};
}(), {
revalidateOnFocus: false,
shouldRetryOnError: false,
revalidateOnReconnect: false
}),
data = _useSWR.data,
mutate = _useSWR.mutate,
isLoading = _useSWR.isLoading;
(0, _react.useEffect)(function () {
setMenuLoading(isLoading);
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [isLoading]);
var _useSWRConfig = (0, _swr.useSWRConfig)(),
cache = _useSWRConfig.cache;
(0, _react.useEffect)(function () {
return function () {
if (cache instanceof Map) cache.delete(defaultId);
};
// eslint-disable-next-line react-hooks/exhaustive-deps
}, []);
var menuInfoData = (0, _react.useMemo)(function () {
return (0, _getMenuData.getMenuData)(data || (route === null || route === void 0 ? void 0 : route.children) || (route === null || route === void 0 ? void 0 : route.routes) || [], menu, formatMessage, menuDataRender);
}, [formatMessage, menu, menuDataRender, data, route === null || route === void 0 ? void 0 : route.children, route === null || route === void 0 ? void 0 : route.routes]);
var _ref8 = menuInfoData || {},
breadcrumb = _ref8.breadcrumb,
breadcrumbMap = _ref8.breadcrumbMap,
_ref8$menuData = _ref8.menuData,
menuData = _ref8$menuData === void 0 ? [] : _ref8$menuData;
if (actionRef && menu !== null && menu !== void 0 && menu.request) {
actionRef.current = {
reload: function reload() {
mutate();
}
};
}
var matchMenus = (0, _react.useMemo)(function () {
return (0, _routeUtils.getMatchMenu)(location.pathname || '/', menuData || [], true);
}, [location.pathname, menuData]);
var matchMenuKeys = (0, _react.useMemo)(function () {
return Array.from(new Set(matchMenus.map(function (item) {
return item.key || item.path || '';
})));
}, [matchMenus]);
// 当前选中的menu一般不会为空
var currentMenu = matchMenus[matchMenus.length - 1] || {};
var currentMenuLayoutProps = (0, _useCurrentMenuLayoutProps.useCurrentMenuLayoutProps)(currentMenu);
var _props$currentMenuLay = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), currentMenuLayoutProps),
fixSiderbar = _props$currentMenuLay.fixSiderbar,
navTheme = _props$currentMenuLay.navTheme,
propsLayout = _props$currentMenuLay.layout,
rest = (0, _objectWithoutProperties2.default)(_props$currentMenuLay, _excluded2);
var colSize = (0, _proUtils.useBreakpoint)();
var isMobile = (0, _react.useMemo)(function () {
return (colSize === 'sm' || colSize === 'xs') && !props.disableMobile;
}, [colSize, props.disableMobile]);
// If it is a fix menu, calculate padding
// don't need padding in phone mode
/* Checking if the menu is loading and if it is, it will return a skeleton loading screen. */
var hasLeftPadding = propsLayout !== 'top' && !isMobile;
var _useMergedState = (0, _useMergedState3.default)(function () {
if (defaultCollapsed !== undefined) return defaultCollapsed;
if (process.env.NODE_ENV === 'TEST') return false;
if (isMobile) return true;
if (colSize === 'md') return true;
return false;
}, {
value: props.collapsed,
onChange: propsOnCollapse
}),
_useMergedState2 = (0, _slicedToArray2.default)(_useMergedState, 2),
collapsed = _useMergedState2[0],
onCollapse = _useMergedState2[1];
// Splicing parameters, adding menuData and formatMessage in props
var defaultProps = (0, _omit.default)((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({
prefixCls: prefixCls
}, props), {}, {
siderWidth: siderWidth
}, currentMenuLayoutProps), {}, {
formatMessage: formatMessage,
breadcrumb: breadcrumb,
menu: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, menu), {}, {
type: siderMenuType || (menu === null || menu === void 0 ? void 0 : menu.type),
loading: menuLoading
}),
layout: propsLayout
}), ['className', 'style', 'breadcrumbRender']);
// gen page title
var pageTitleInfo = defaultPageTitleRender((0, _objectSpread2.default)((0, _objectSpread2.default)({
pathname: location.pathname
}, defaultProps), {}, {
breadcrumbMap: breadcrumbMap
}), props);
// gen breadcrumbProps, parameter for pageHeader
var breadcrumbProps = (0, _getBreadcrumbProps.getBreadcrumbProps)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, defaultProps), {}, {
breadcrumbRender: props.breadcrumbRender,
breadcrumbMap: breadcrumbMap
}), props);
// render sider dom
var siderMenuDom = renderSiderMenu((0, _objectSpread2.default)((0, _objectSpread2.default)({}, defaultProps), {}, {
menuData: menuData,
onCollapse: onCollapse,
isMobile: isMobile,
collapsed: collapsed
}), matchMenuKeys);
// render header dom
var headerDom = headerRender((0, _objectSpread2.default)((0, _objectSpread2.default)({}, defaultProps), {}, {
children: null,
hasSiderMenu: !!siderMenuDom,
menuData: menuData,
isMobile: isMobile,
collapsed: collapsed,
onCollapse: onCollapse
}), matchMenuKeys);
// render footer dom
var footerDom = footerRender((0, _objectSpread2.default)({
isMobile: isMobile,
collapsed: collapsed
}, defaultProps));
var _useContext = (0, _react.useContext)(_RouteContext.RouteContext),
contextIsChildrenLayout = _useContext.isChildrenLayout;
// 如果 props 中定义,以 props 为准
var isChildrenLayout = propsIsChildrenLayout !== undefined ? propsIsChildrenLayout : contextIsChildrenLayout;
var proLayoutClassName = "".concat(prefixCls, "-layout");
var _useStyle = (0, _style.useStyle)(proLayoutClassName),
wrapSSR = _useStyle.wrapSSR,
hashId = _useStyle.hashId;
// gen className
var className = (0, _classnames.default)(props.className, hashId, 'ant-design-pro', proLayoutClassName, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, "screen-".concat(colSize), colSize), "".concat(proLayoutClassName, "-top-menu"), propsLayout === 'top'), "".concat(proLayoutClassName, "-is-children"), isChildrenLayout), "".concat(proLayoutClassName, "-fix-siderbar"), fixSiderbar), "".concat(proLayoutClassName, "-").concat(propsLayout), propsLayout));
/** 计算 slider 的宽度 */
var leftSiderWidth = getPaddingInlineStart(!!hasLeftPadding, collapsed, siderWidth);
// siderMenuDom 为空的时候,不需要 padding
var genLayoutStyle = {
position: 'relative'
};
// if is some layout children, don't need min height
if (isChildrenLayout || contentStyle && contentStyle.minHeight) {
genLayoutStyle.minHeight = 0;
}
/** 页面切换的时候触发 */
(0, _react.useEffect)(function () {
var _props$onPageChange;
(_props$onPageChange = props.onPageChange) === null || _props$onPageChange === void 0 || _props$onPageChange.call(props, props.location);
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [location.pathname, (_location$pathname = location.pathname) === null || _location$pathname === void 0 ? void 0 : _location$pathname.search]);
var _useState3 = (0, _react.useState)(false),
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
hasFooterToolbar = _useState4[0],
setHasFooterToolbar = _useState4[1];
/**
* 使用number是因为多标签页的时候有多个 PageContainer只有有任意一个就应该展示这个className
*/
var _useState5 = (0, _react.useState)(0),
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
hasPageContainer = _useState6[0],
setHasPageContainer = _useState6[1];
(0, _proUtils.useDocumentTitle)(pageTitleInfo, props.title || false);
var _useContext2 = (0, _react.useContext)(_proProvider.ProProvider),
token = _useContext2.token;
var bgImgStyleList = (0, _react.useMemo)(function () {
if (bgLayoutImgList && bgLayoutImgList.length > 0) {
return bgLayoutImgList === null || bgLayoutImgList === void 0 ? void 0 : bgLayoutImgList.map(function (item, index) {
return /*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
src: item.src,
style: (0, _objectSpread2.default)({
position: 'absolute'
}, item)
}, index);
});
}
return null;
}, [bgLayoutImgList]);
return wrapSSR( /*#__PURE__*/(0, _jsxRuntime.jsx)(_RouteContext.RouteContext.Provider, {
value: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, defaultProps), {}, {
breadcrumb: breadcrumbProps,
menuData: menuData,
isMobile: isMobile,
collapsed: collapsed,
hasPageContainer: hasPageContainer,
setHasPageContainer: setHasPageContainer,
isChildrenLayout: true,
title: pageTitleInfo.pageName,
hasSiderMenu: !!siderMenuDom,
hasHeader: !!headerDom,
siderWidth: leftSiderWidth,
hasFooter: !!footerDom,
hasFooterToolbar: hasFooterToolbar,
setHasFooterToolbar: setHasFooterToolbar,
pageTitleInfo: pageTitleInfo,
matchMenus: matchMenus,
matchMenuKeys: matchMenuKeys,
currentMenu: currentMenu
}),
children: props.pure ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
children: children
}) : /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
className: className,
children: [bgImgStyleList || (_token$layout = token.layout) !== null && _token$layout !== void 0 && _token$layout.bgLayout ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
className: (0, _classnames.default)("".concat(proLayoutClassName, "-bg-list"), hashId),
children: bgImgStyleList
}) : null, /*#__PURE__*/(0, _jsxRuntime.jsxs)(_antd.Layout, {
style: (0, _objectSpread2.default)({
minHeight: '100%',
// hack style
flexDirection: siderMenuDom ? 'row' : undefined
}, style),
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.ConfigProvider
// @ts-ignore
, {
theme: {
hashed: (0, _proProvider.isNeedOpenHash)(),
token: {
controlHeightLG: ((_token$layout2 = token.layout) === null || _token$layout2 === void 0 || (_token$layout2 = _token$layout2.sider) === null || _token$layout2 === void 0 ? void 0 : _token$layout2.menuHeight) || (token === null || token === void 0 ? void 0 : token.controlHeightLG)
},
components: {
Menu: (0, _proUtils.coverToNewToken)({
colorItemBg: ((_token$layout3 = token.layout) === null || _token$layout3 === void 0 || (_token$layout3 = _token$layout3.sider) === null || _token$layout3 === void 0 ? void 0 : _token$layout3.colorMenuBackground) || 'transparent',
colorSubItemBg: ((_token$layout4 = token.layout) === null || _token$layout4 === void 0 || (_token$layout4 = _token$layout4.sider) === null || _token$layout4 === void 0 ? void 0 : _token$layout4.colorMenuBackground) || 'transparent',
radiusItem: token.borderRadius,
colorItemBgSelected: ((_token$layout5 = token.layout) === null || _token$layout5 === void 0 || (_token$layout5 = _token$layout5.sider) === null || _token$layout5 === void 0 ? void 0 : _token$layout5.colorBgMenuItemSelected) || (token === null || token === void 0 ? void 0 : token.colorBgTextHover),
colorItemBgHover: ((_token$layout6 = token.layout) === null || _token$layout6 === void 0 || (_token$layout6 = _token$layout6.sider) === null || _token$layout6 === void 0 ? void 0 : _token$layout6.colorBgMenuItemHover) || (token === null || token === void 0 ? void 0 : token.colorBgTextHover),
colorItemBgActive: ((_token$layout7 = token.layout) === null || _token$layout7 === void 0 || (_token$layout7 = _token$layout7.sider) === null || _token$layout7 === void 0 ? void 0 : _token$layout7.colorBgMenuItemActive) || (token === null || token === void 0 ? void 0 : token.colorBgTextActive),
colorItemBgSelectedHorizontal: ((_token$layout8 = token.layout) === null || _token$layout8 === void 0 || (_token$layout8 = _token$layout8.sider) === null || _token$layout8 === void 0 ? void 0 : _token$layout8.colorBgMenuItemSelected) || (token === null || token === void 0 ? void 0 : token.colorBgTextHover),
colorActiveBarWidth: 0,
colorActiveBarHeight: 0,
colorActiveBarBorderSize: 0,
colorItemText: ((_token$layout9 = token.layout) === null || _token$layout9 === void 0 || (_token$layout9 = _token$layout9.sider) === null || _token$layout9 === void 0 ? void 0 : _token$layout9.colorTextMenu) || (token === null || token === void 0 ? void 0 : token.colorTextSecondary),
colorItemTextHover: ((_token$layout10 = token.layout) === null || _token$layout10 === void 0 || (_token$layout10 = _token$layout10.sider) === null || _token$layout10 === void 0 ? void 0 : _token$layout10.colorTextMenuItemHover) || 'rgba(0, 0, 0, 0.85)',
// 悬浮态
colorItemTextSelected: ((_token$layout11 = token.layout) === null || _token$layout11 === void 0 || (_token$layout11 = _token$layout11.sider) === null || _token$layout11 === void 0 ? void 0 : _token$layout11.colorTextMenuSelected) || 'rgba(0, 0, 0, 1)',
popupBg: token === null || token === void 0 ? void 0 : token.colorBgElevated,
subMenuItemBg: token === null || token === void 0 ? void 0 : token.colorBgElevated,
darkSubMenuItemBg: 'transparent',
darkPopupBg: token === null || token === void 0 ? void 0 : token.colorBgElevated
})
}
},
children: siderMenuDom
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
style: genLayoutStyle,
className: "".concat(proLayoutClassName, "-container ").concat(hashId).trim(),
children: [headerDom, /*#__PURE__*/(0, _jsxRuntime.jsx)(_WrapContent.WrapContent, (0, _objectSpread2.default)((0, _objectSpread2.default)({
hasPageContainer: hasPageContainer,
isChildrenLayout: isChildrenLayout
}, rest), {}, {
hasHeader: !!headerDom,
prefixCls: proLayoutClassName,
style: contentStyle,
children: loading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_PageLoading.PageLoading, {}) : children
})), footerDom, hasFooterToolbar && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
className: "".concat(proLayoutClassName, "-has-footer"),
style: {
height: 64,
marginBlockStart: (_token$layout12 = token.layout) === null || _token$layout12 === void 0 || (_token$layout12 = _token$layout12.pageContainer) === null || _token$layout12 === void 0 ? void 0 : _token$layout12.paddingBlockPageContainerContent
}
})]
})]
})]
})
}));
};
var ProLayout = exports.ProLayout = function ProLayout(props) {
var colorPrimary = props.colorPrimary;
var darkProps = props.navTheme !== undefined ? {
dark: props.navTheme === 'realDark'
} : {};
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.ConfigProvider, {
theme: colorPrimary ? {
token: {
colorPrimary: colorPrimary
}
} : undefined,
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_proProvider.ProConfigProvider, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, darkProps), {}, {
token: props.token,
prefixCls: props.prefixCls,
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(BaseProLayout, (0, _objectSpread2.default)((0, _objectSpread2.default)({
logo: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Logo.Logo, {})
}, _defaultSettings.defaultSettings), {}, {
location: (0, _proUtils.isBrowser)() ? window.location : undefined
}, props))
}))
});
};