UNPKG

22.1 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5Object.defineProperty(exports, "__esModule", {
6 value: true
7});
8exports.ProLayout = void 0;
9var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
11var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
14var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
15var _jsxRuntime = require("react/jsx-runtime");
16var _proProvider = require("@ant-design/pro-provider");
17var _proUtils = require("@ant-design/pro-utils");
18var _routeUtils = require("@umijs/route-utils");
19var _antd = require("antd");
20var _classnames = _interopRequireDefault(require("classnames"));
21var _omit = _interopRequireDefault(require("omit.js"));
22var _useMergedState3 = _interopRequireDefault(require("rc-util/lib/hooks/useMergedState"));
23var _warning = _interopRequireDefault(require("rc-util/lib/warning"));
24var _react = require("react");
25var _swr = _interopRequireWildcard(require("swr"));
26var _useMediaAntdQuery = _interopRequireDefault(require("use-media-antd-query"));
27var _Logo = require("./assert/Logo");
28var _Footer = require("./components/Footer");
29var _Header = require("./components/Header");
30var _PageLoading = require("./components/PageLoading");
31var _SiderMenu = require("./components/SiderMenu");
32var _RouteContext = require("./context/RouteContext");
33var _defaultSettings = require("./defaultSettings");
34var _getPageTitle = require("./getPageTitle");
35var _locales = require("./locales");
36var _style = require("./style");
37var _getBreadcrumbProps = require("./utils/getBreadcrumbProps");
38var _getMenuData = require("./utils/getMenuData");
39var _useCurrentMenuLayoutProps = require("./utils/useCurrentMenuLayoutProps");
40var _utils = require("./utils/utils");
41var _WrapContent = require("./WrapContent");
42var _excluded = ["id", "defaultMessage"],
43 _excluded2 = ["fixSiderbar", "navTheme", "layout"];
44var layoutIndex = 0;
45var headerRender = function headerRender(props, matchMenuKeys) {
46 var _props$stylish;
47 if (props.headerRender === false || props.pure) {
48 return null;
49 }
50 return (0, _jsxRuntime.jsx)(_Header.DefaultHeader, (0, _objectSpread2.default)((0, _objectSpread2.default)({
51 matchMenuKeys: matchMenuKeys
52 }, props), {}, {
53 stylish: (_props$stylish = props.stylish) === null || _props$stylish === void 0 ? void 0 : _props$stylish.header
54 }));
55};
56var footerRender = function footerRender(props) {
57 if (props.footerRender === false || props.pure) {
58 return null;
59 }
60 if (props.footerRender) {
61 return props.footerRender((0, _objectSpread2.default)({}, props), (0, _jsxRuntime.jsx)(_Footer.DefaultFooter, {}));
62 }
63 return null;
64};
65var renderSiderMenu = function renderSiderMenu(props, matchMenuKeys) {
66 var _props$stylish3;
67 var layout = props.layout,
68 isMobile = props.isMobile,
69 selectedKeys = props.selectedKeys,
70 openKeys = props.openKeys,
71 splitMenus = props.splitMenus,
72 menuRender = props.menuRender;
73 if (props.menuRender === false || props.pure) {
74 return null;
75 }
76 var menuData = props.menuData;
77 /** 如果是分割菜单模式,需要专门实现一下 */
78 if (splitMenus && (openKeys !== false || layout === 'mix') && !isMobile) {
79 var _ref = selectedKeys || matchMenuKeys,
80 _ref2 = (0, _slicedToArray2.default)(_ref, 1),
81 key = _ref2[0];
82 if (key) {
83 var _props$menuData, _props$menuData$find;
84 menuData = ((_props$menuData = props.menuData) === null || _props$menuData === void 0 ? void 0 : (_props$menuData$find = _props$menuData.find(function (item) {
85 return item.key === key;
86 })) === null || _props$menuData$find === void 0 ? void 0 : _props$menuData$find.children) || [];
87 } else {
88 menuData = [];
89 }
90 }
91 // 这里走了可以少一次循环
92 var clearMenuData = (0, _utils.clearMenuItem)(menuData || []);
93 if (clearMenuData && (clearMenuData === null || clearMenuData === void 0 ? void 0 : clearMenuData.length) < 1 && splitMenus) {
94 return null;
95 }
96 if (layout === 'top' && !isMobile) {
97 var _props$stylish2;
98 return (0, _jsxRuntime.jsx)(_SiderMenu.SiderMenu, (0, _objectSpread2.default)((0, _objectSpread2.default)({
99 matchMenuKeys: matchMenuKeys
100 }, props), {}, {
101 hide: true,
102 stylish: (_props$stylish2 = props.stylish) === null || _props$stylish2 === void 0 ? void 0 : _props$stylish2.sider
103 }));
104 }
105 var defaultDom = (0, _jsxRuntime.jsx)(_SiderMenu.SiderMenu, (0, _objectSpread2.default)((0, _objectSpread2.default)({
106 matchMenuKeys: matchMenuKeys
107 }, props), {}, {
108 // 这里走了可以少一次循环
109 menuData: clearMenuData,
110 stylish: (_props$stylish3 = props.stylish) === null || _props$stylish3 === void 0 ? void 0 : _props$stylish3.sider
111 }));
112 if (menuRender) {
113 return menuRender(props, defaultDom);
114 }
115 return defaultDom;
116};
117var defaultPageTitleRender = function defaultPageTitleRender(pageProps, props) {
118 var pageTitleRender = props.pageTitleRender;
119 var pageTitleInfo = (0, _getPageTitle.getPageTitleInfo)(pageProps);
120 if (pageTitleRender === false) {
121 return {
122 title: props.title || '',
123 id: '',
124 pageName: ''
125 };
126 }
127 if (pageTitleRender) {
128 var title = pageTitleRender(pageProps, pageTitleInfo.title, pageTitleInfo);
129 if (typeof title === 'string') {
130 return (0, _getPageTitle.getPageTitleInfo)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, pageTitleInfo), {}, {
131 title: title
132 }));
133 }
134 (0, _warning.default)(typeof title === 'string', 'pro-layout: renderPageTitle return value should be a string');
135 }
136 return pageTitleInfo;
137};
138var getpaddingInlineStart = function getpaddingInlineStart(hasLeftPadding, collapsed, siderWidth) {
139 if (hasLeftPadding) {
140 return collapsed ? 60 : siderWidth;
141 }
142 return 0;
143};
144/**
145 * 🌃 Powerful and easy to use beautiful layout 🏄‍ Support multiple topics and layout types
146 *
147 * @param props
148 */
149var BaseProLayout = function BaseProLayout(props) {
150 var _props$prefixCls, _classNames, _location$pathname, _token$layout, _token$layout$pageCon;
151 var _ref3 = props || {},
152 children = _ref3.children,
153 propsOnCollapse = _ref3.onCollapse,
154 _ref3$location = _ref3.location,
155 location = _ref3$location === void 0 ? {
156 pathname: '/'
157 } : _ref3$location,
158 contentStyle = _ref3.contentStyle,
159 route = _ref3.route,
160 defaultCollapsed = _ref3.defaultCollapsed,
161 style = _ref3.style,
162 propsSiderWidth = _ref3.siderWidth,
163 menu = _ref3.menu,
164 siderMenuType = _ref3.siderMenuType,
165 propsIsChildrenLayout = _ref3.isChildrenLayout,
166 menuDataRender = _ref3.menuDataRender,
167 actionRef = _ref3.actionRef,
168 bgLayoutImgList = _ref3.bgLayoutImgList,
169 propsFormatMessage = _ref3.formatMessage,
170 loading = _ref3.loading;
171 var siderWidth = (0, _react.useMemo)(function () {
172 if (propsSiderWidth) return propsSiderWidth;
173 if (props.layout === 'mix') return 215;
174 return 256;
175 }, [props.layout, propsSiderWidth]);
176 var context = (0, _react.useContext)(_antd.ConfigProvider.ConfigContext);
177 var prefixCls = (_props$prefixCls = props.prefixCls) !== null && _props$prefixCls !== void 0 ? _props$prefixCls : context.getPrefixCls('pro');
178 var _useMountMergeState = (0, _proUtils.useMountMergeState)(false, {
179 value: menu === null || menu === void 0 ? void 0 : menu.loading,
180 onChange: menu === null || menu === void 0 ? void 0 : menu.onLoadingChange
181 }),
182 _useMountMergeState2 = (0, _slicedToArray2.default)(_useMountMergeState, 2),
183 menuLoading = _useMountMergeState2[0],
184 setMenuLoading = _useMountMergeState2[1];
185 // give a default key for swr
186 var _useState = (0, _react.useState)(function () {
187 layoutIndex += 1;
188 return "pro-layout-".concat(layoutIndex);
189 }),
190 _useState2 = (0, _slicedToArray2.default)(_useState, 1),
191 defaultId = _useState2[0];
192 /**
193 * 处理国际化相关 formatMessage
194 * 如果有用户配置的以用户为主
195 * 如果没有用自己实现的
196 */
197 var formatMessage = (0, _react.useCallback)(function (_ref4) {
198 var id = _ref4.id,
199 defaultMessage = _ref4.defaultMessage,
200 restParams = (0, _objectWithoutProperties2.default)(_ref4, _excluded);
201 if (propsFormatMessage) {
202 return propsFormatMessage((0, _objectSpread2.default)({
203 id: id,
204 defaultMessage: defaultMessage
205 }, restParams));
206 }
207 var locales = (0, _locales.gLocaleObject)();
208 return locales[id] ? locales[id] : defaultMessage;
209 }, [propsFormatMessage]);
210 var _useSWR = (0, _swr.default)([defaultId, menu === null || menu === void 0 ? void 0 : menu.params], /*#__PURE__*/function () {
211 var _ref6 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(_ref5) {
212 var _menu$request;
213 var _ref7, params, menuDataItems;
214 return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
215 while (1) switch (_context.prev = _context.next) {
216 case 0:
217 _ref7 = (0, _slicedToArray2.default)(_ref5, 2), params = _ref7[1];
218 setMenuLoading(true);
219 _context.next = 4;
220 return menu === null || menu === void 0 ? 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) || []);
221 case 4:
222 menuDataItems = _context.sent;
223 setMenuLoading(false);
224 return _context.abrupt("return", menuDataItems);
225 case 7:
226 case "end":
227 return _context.stop();
228 }
229 }, _callee);
230 }));
231 return function (_x) {
232 return _ref6.apply(this, arguments);
233 };
234 }(), {
235 revalidateOnFocus: false,
236 shouldRetryOnError: false,
237 revalidateOnReconnect: false
238 }),
239 data = _useSWR.data,
240 mutate = _useSWR.mutate;
241 var _useSWRConfig = (0, _swr.useSWRConfig)(),
242 cache = _useSWRConfig.cache;
243 (0, _react.useEffect)(function () {
244 return function () {
245 if (cache instanceof Map) cache.clear();
246 };
247 // eslint-disable-next-line react-hooks/exhaustive-deps
248 }, []);
249 var menuInfoData = (0, _react.useMemo)(function () {
250 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);
251 }, [formatMessage, menu, menuDataRender, data, route === null || route === void 0 ? void 0 : route.children, route === null || route === void 0 ? void 0 : route.routes]);
252 var _ref8 = menuInfoData || {},
253 _ref8$breadcrumb = _ref8.breadcrumb,
254 breadcrumb = _ref8$breadcrumb === void 0 ? {} : _ref8$breadcrumb,
255 breadcrumbMap = _ref8.breadcrumbMap,
256 _ref8$menuData = _ref8.menuData,
257 menuData = _ref8$menuData === void 0 ? [] : _ref8$menuData;
258 if (actionRef && (menu === null || menu === void 0 ? void 0 : menu.request)) {
259 actionRef.current = {
260 reload: function reload() {
261 mutate();
262 }
263 };
264 }
265 var matchMenus = (0, _react.useMemo)(function () {
266 return (0, _routeUtils.getMatchMenu)(location.pathname || '/', menuData || [], true);
267 }, [location.pathname, menuData]);
268 var matchMenuKeys = (0, _react.useMemo)(function () {
269 return Array.from(new Set(matchMenus.map(function (item) {
270 return item.key || item.path || '';
271 })));
272 }, [matchMenus]);
273 // 当前选中的menu,一般不会为空
274 var currentMenu = matchMenus[matchMenus.length - 1] || {};
275 var currentMenuLayoutProps = (0, _useCurrentMenuLayoutProps.useCurrentMenuLayoutProps)(currentMenu);
276 var _props$currentMenuLay = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), currentMenuLayoutProps),
277 fixSiderbar = _props$currentMenuLay.fixSiderbar,
278 navTheme = _props$currentMenuLay.navTheme,
279 propsLayout = _props$currentMenuLay.layout,
280 rest = (0, _objectWithoutProperties2.default)(_props$currentMenuLay, _excluded2);
281 var colSize = (0, _useMediaAntdQuery.default)();
282 var isMobile = (colSize === 'sm' || colSize === 'xs') && !props.disableMobile;
283 // If it is a fix menu, calculate padding
284 // don't need padding in phone mode
285 /* Checking if the menu is loading and if it is, it will return a skeleton loading screen. */
286 var hasLeftPadding = propsLayout !== 'top' && !isMobile;
287 var _useMergedState = (0, _useMergedState3.default)(function () {
288 if (defaultCollapsed !== undefined) return defaultCollapsed;
289 if (process.env.NODE_ENV === 'TEST') return false;
290 if (isMobile) return true;
291 if (colSize === 'md') return true;
292 return false;
293 }, {
294 value: props.collapsed,
295 onChange: propsOnCollapse
296 }),
297 _useMergedState2 = (0, _slicedToArray2.default)(_useMergedState, 2),
298 collapsed = _useMergedState2[0],
299 onCollapse = _useMergedState2[1];
300 // Splicing parameters, adding menuData and formatMessage in props
301 var defaultProps = (0, _omit.default)((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({
302 prefixCls: prefixCls
303 }, props), {}, {
304 siderWidth: siderWidth
305 }, currentMenuLayoutProps), {}, {
306 formatMessage: formatMessage,
307 breadcrumb: breadcrumb,
308 menu: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, menu), {}, {
309 type: siderMenuType || (menu === null || menu === void 0 ? void 0 : menu.type),
310 loading: menuLoading
311 }),
312 layout: propsLayout
313 }), ['className', 'style', 'breadcrumbRender']);
314 // gen page title
315 var pageTitleInfo = defaultPageTitleRender((0, _objectSpread2.default)((0, _objectSpread2.default)({
316 pathname: location.pathname
317 }, defaultProps), {}, {
318 breadcrumbMap: breadcrumbMap
319 }), props);
320 // gen breadcrumbProps, parameter for pageHeader
321 var breadcrumbProps = (0, _getBreadcrumbProps.getBreadcrumbProps)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, defaultProps), {}, {
322 breadcrumbRender: props.breadcrumbRender,
323 breadcrumbMap: breadcrumbMap
324 }), props);
325 // render sider dom
326 var siderMenuDom = renderSiderMenu((0, _objectSpread2.default)((0, _objectSpread2.default)({}, defaultProps), {}, {
327 menuData: menuData,
328 onCollapse: onCollapse,
329 isMobile: isMobile,
330 collapsed: collapsed
331 }), matchMenuKeys);
332 // render header dom
333 var headerDom = headerRender((0, _objectSpread2.default)((0, _objectSpread2.default)({}, defaultProps), {}, {
334 children: null,
335 hasSiderMenu: !!siderMenuDom,
336 menuData: menuData,
337 isMobile: isMobile,
338 collapsed: collapsed,
339 onCollapse: onCollapse
340 }), matchMenuKeys);
341 // render footer dom
342 var footerDom = footerRender((0, _objectSpread2.default)({
343 isMobile: isMobile,
344 collapsed: collapsed
345 }, defaultProps));
346 var _useContext = (0, _react.useContext)(_RouteContext.RouteContext),
347 contextIsChildrenLayout = _useContext.isChildrenLayout;
348 // 如果 props 中定义,以 props 为准
349 var isChildrenLayout = propsIsChildrenLayout !== undefined ? propsIsChildrenLayout : contextIsChildrenLayout;
350 var proLayoutClassName = "".concat(prefixCls, "-layout");
351 var _useStyle = (0, _style.useStyle)(proLayoutClassName),
352 wrapSSR = _useStyle.wrapSSR,
353 hashId = _useStyle.hashId;
354 // gen className
355 var className = (0, _classnames.default)(props.className, hashId, 'ant-design-pro', proLayoutClassName, (_classNames = {}, (0, _defineProperty2.default)(_classNames, "screen-".concat(colSize), colSize), (0, _defineProperty2.default)(_classNames, "".concat(proLayoutClassName, "-top-menu"), propsLayout === 'top'), (0, _defineProperty2.default)(_classNames, "".concat(proLayoutClassName, "-is-children"), isChildrenLayout), (0, _defineProperty2.default)(_classNames, "".concat(proLayoutClassName, "-fix-siderbar"), fixSiderbar), (0, _defineProperty2.default)(_classNames, "".concat(proLayoutClassName, "-").concat(propsLayout), propsLayout), _classNames));
356 /** 计算 slider 的宽度 */
357 var leftSiderWidth = getpaddingInlineStart(!!hasLeftPadding, collapsed, siderWidth);
358 // siderMenuDom 为空的时候,不需要 padding
359 var genLayoutStyle = {
360 position: 'relative'
361 };
362 // if is some layout children, don't need min height
363 if (isChildrenLayout || contentStyle && contentStyle.minHeight) {
364 genLayoutStyle.minHeight = 0;
365 }
366 /** 页面切换的时候触发 */
367 (0, _react.useEffect)(function () {
368 var _props$onPageChange;
369 (_props$onPageChange = props.onPageChange) === null || _props$onPageChange === void 0 ? void 0 : _props$onPageChange.call(props, props.location);
370 // eslint-disable-next-line react-hooks/exhaustive-deps
371 }, [location.pathname, (_location$pathname = location.pathname) === null || _location$pathname === void 0 ? void 0 : _location$pathname.search]);
372 var _useState3 = (0, _react.useState)(false),
373 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
374 hasFooterToolbar = _useState4[0],
375 setHasFooterToolbar = _useState4[1];
376 /**
377 * 使用number是因为多标签页的时候有多个 PageContainer,只有有任意一个就应该展示这个className
378 */
379 var _useState5 = (0, _react.useState)(0),
380 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
381 hasPageContainer = _useState6[0],
382 setHasPageContainer = _useState6[1];
383 (0, _proUtils.useDocumentTitle)(pageTitleInfo, props.title || false);
384 var bgImgStyleList = (0, _react.useMemo)(function () {
385 if (bgLayoutImgList && bgLayoutImgList.length > 0) {
386 return bgLayoutImgList.map(function (item, index) {
387 return (0, _jsxRuntime.jsx)("img", {
388 src: item.src,
389 style: (0, _objectSpread2.default)({
390 position: 'absolute'
391 }, item)
392 }, index);
393 });
394 }
395 return null;
396 }, [bgLayoutImgList]);
397 var _useContext2 = (0, _react.useContext)(_proProvider.ProProvider),
398 token = _useContext2.token;
399 return wrapSSR((0, _jsxRuntime.jsx)(_RouteContext.RouteContext.Provider, {
400 value: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, defaultProps), {}, {
401 breadcrumb: breadcrumbProps,
402 menuData: menuData,
403 isMobile: isMobile,
404 collapsed: collapsed,
405 hasPageContainer: hasPageContainer,
406 setHasPageContainer: setHasPageContainer,
407 isChildrenLayout: true,
408 title: pageTitleInfo.pageName,
409 hasSiderMenu: !!siderMenuDom,
410 hasHeader: !!headerDom,
411 siderWidth: leftSiderWidth,
412 hasFooter: !!footerDom,
413 hasFooterToolbar: hasFooterToolbar,
414 setHasFooterToolbar: setHasFooterToolbar,
415 pageTitleInfo: pageTitleInfo,
416 matchMenus: matchMenus,
417 matchMenuKeys: matchMenuKeys,
418 currentMenu: currentMenu
419 }),
420 children: props.pure ? (0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
421 children: children
422 }) : (0, _jsxRuntime.jsxs)("div", {
423 className: className,
424 children: [(0, _jsxRuntime.jsx)("div", {
425 className: "".concat(proLayoutClassName, "-bg-list ").concat(hashId),
426 children: bgImgStyleList
427 }), (0, _jsxRuntime.jsxs)(_antd.Layout, {
428 style: (0, _objectSpread2.default)({
429 minHeight: '100%',
430 // hack style
431 flexDirection: siderMenuDom ? 'row' : undefined
432 }, style),
433 children: [siderMenuDom, (0, _jsxRuntime.jsxs)("div", {
434 style: genLayoutStyle,
435 className: "".concat(proLayoutClassName, "-container ").concat(hashId),
436 children: [headerDom, (0, _jsxRuntime.jsx)(_WrapContent.WrapContent, (0, _objectSpread2.default)((0, _objectSpread2.default)({
437 hasPageContainer: hasPageContainer,
438 isChildrenLayout: isChildrenLayout
439 }, rest), {}, {
440 hasHeader: !!headerDom,
441 prefixCls: proLayoutClassName,
442 style: contentStyle,
443 children: loading ? (0, _jsxRuntime.jsx)(_PageLoading.PageLoading, {}) : children
444 })), footerDom, hasFooterToolbar && (0, _jsxRuntime.jsx)("div", {
445 className: "".concat(proLayoutClassName, "-has-footer"),
446 style: {
447 height: 64,
448 marginBlockStart: token === null || token === void 0 ? void 0 : (_token$layout = token.layout) === null || _token$layout === void 0 ? void 0 : (_token$layout$pageCon = _token$layout.pageContainer) === null || _token$layout$pageCon === void 0 ? void 0 : _token$layout$pageCon.paddingBlockPageContainerContent
449 }
450 })]
451 })]
452 })]
453 })
454 }));
455};
456BaseProLayout.defaultProps = (0, _objectSpread2.default)((0, _objectSpread2.default)({
457 logo: (0, _jsxRuntime.jsx)(_Logo.Logo, {})
458}, _defaultSettings.defaultSettings), {}, {
459 location: (0, _proUtils.isBrowser)() ? window.location : undefined
460});
461var ProLayout = function ProLayout(props) {
462 var colorPrimary = props.colorPrimary;
463 var darkProps = props.navTheme !== undefined ? {
464 dark: props.navTheme === 'realDark'
465 } : {};
466 return (0, _jsxRuntime.jsx)(_antd.ConfigProvider, {
467 theme: colorPrimary ? {
468 token: {
469 colorPrimary: colorPrimary
470 }
471 } : undefined,
472 children: (0, _jsxRuntime.jsx)(_proProvider.ProConfigProvider, (0, _objectSpread2.default)((0, _objectSpread2.default)({
473 autoClearCache: true
474 }, darkProps), {}, {
475 token: props.token,
476 prefixCls: props.prefixCls,
477 children: (0, _jsxRuntime.jsx)(BaseProLayout, (0, _objectSpread2.default)({}, props))
478 }))
479 });
480};
481exports.ProLayout = ProLayout;
\No newline at end of file