@teamias/pro-layout 0.0.6 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -17,7 +17,7 @@ export declare class KeepAliveClass {
17
17
  updateAllComponent(type?: 'all' | 'pagesHook' | 'context'): Promise<void>;
18
18
  /** 获取页面数据 */
19
19
  getPages(): (import("react-router-dom").Location & {
20
- pageStatus: 403 | 404 | 200;
20
+ pageStatus: 200 | 403 | 404;
21
21
  pageTitle: string;
22
22
  })[];
23
23
  /** 关闭页面 */
@@ -32,7 +32,7 @@ export declare class KeepAliveClass {
32
32
  useLifeCycle: (callback: IPageLifeCycleCallback) => void;
33
33
  /** 获取缓存页面数组 */
34
34
  useKeepAlivePages: () => (import("react-router-dom").Location & {
35
- pageStatus: 403 | 404 | 200;
35
+ pageStatus: 200 | 403 | 404;
36
36
  pageTitle: string;
37
37
  })[];
38
38
  /** 更新当前路由页面 */
@@ -6,7 +6,7 @@ export declare const keepAliveControl: KeepAliveClass;
6
6
  export declare const useLifeCycle: (callback: import("./types").IPageLifeCycleCallback) => void;
7
7
  /** 获取页面数组 */
8
8
  export declare const useKeepAlivePages: () => (import("react-router-dom").Location & {
9
- pageStatus: 403 | 404 | 200;
9
+ pageStatus: 200 | 403 | 404;
10
10
  pageTitle: string;
11
11
  })[];
12
12
  /** 根 */
@@ -1,6 +1,8 @@
1
1
  import { FC } from 'react';
2
- import { useNavigate } from 'react-router-dom';
2
+ import { TABS_LAYOUT } from '../../constant';
3
3
  export declare const TabItem: FC<{
4
4
  isCurrent: boolean;
5
- linkPage: ReturnType<typeof useNavigate>;
5
+ pageTitle: string;
6
+ pathname: string;
7
+ onClickMenu: (key: TABS_LAYOUT, pathname: string) => void;
6
8
  }>;
@@ -1,67 +1,13 @@
1
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
3
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
4
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
5
- import { useAccessRouter } from "../../hooks";
6
1
  import { SwapOutlined, SyncOutlined } from '@ant-design/icons';
7
- import { useStateData } from '@teamias/rex-design';
8
2
  import { Badge, Dropdown, Space } from 'antd';
9
3
  import { TABS_LAYOUT } from "../../constant";
10
- import { keepAliveControl } from "../KeepAlive";
11
4
  import { jsx as _jsx } from "react/jsx-runtime";
12
5
  import { jsxs as _jsxs } from "react/jsx-runtime";
13
6
  export var TabItem = function TabItem(_ref) {
14
7
  var isCurrent = _ref.isCurrent,
15
- linkPage = _ref.linkPage;
16
- var _useAccessRouter = useAccessRouter(),
17
- _useAccessRouter$loca = _useAccessRouter.location,
18
- pathname = _useAccessRouter$loca.pathname,
19
- pageTitle = _useAccessRouter$loca.pageTitle;
20
- var _useStateData = useStateData(function () {
21
- return {
22
- pathname: pathname,
23
- pageTitle: pageTitle
24
- };
25
- }),
26
- state = _useStateData.state,
27
- update = _useStateData.update;
28
-
29
- /** 点击菜单回调 */
30
- var handleClickMenu = /*#__PURE__*/function () {
31
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(key, pathname) {
32
- return _regeneratorRuntime().wrap(function _callee$(_context) {
33
- while (1) switch (_context.prev = _context.next) {
34
- case 0:
35
- _context.t0 = key;
36
- _context.next = _context.t0 === TABS_LAYOUT.REFRESH ? 3 : _context.t0 === TABS_LAYOUT.OTHERS ? 9 : 14;
37
- break;
38
- case 3:
39
- linkPage(pathname);
40
- _context.next = 6;
41
- return update();
42
- case 6:
43
- _context.next = 8;
44
- return keepAliveControl.refreshPage(pathname);
45
- case 8:
46
- return _context.abrupt("break", 14);
47
- case 9:
48
- linkPage(pathname);
49
- _context.next = 12;
50
- return update();
51
- case 12:
52
- keepAliveControl.closeOtherPage(false, [pathname]);
53
- return _context.abrupt("break", 14);
54
- case 14:
55
- case "end":
56
- return _context.stop();
57
- }
58
- }, _callee);
59
- }));
60
- return function handleClickMenu(_x, _x2) {
61
- return _ref2.apply(this, arguments);
62
- };
63
- }();
64
-
8
+ pageTitle = _ref.pageTitle,
9
+ pathname = _ref.pathname,
10
+ onClickMenu = _ref.onClickMenu;
65
11
  /** 右键菜单配置项 */
66
12
  var renderMenuItem = function renderMenuItem(key, label, icon) {
67
13
  return {
@@ -84,9 +30,9 @@ export var TabItem = function TabItem(_ref) {
84
30
  // {type: 'divider'},
85
31
  // 关闭其它
86
32
  renderMenuItem(TABS_LAYOUT.OTHERS, '关闭其它', /*#__PURE__*/_jsx(SwapOutlined, {}))],
87
- onClick: function onClick(_ref3) {
88
- var key = _ref3.key;
89
- return handleClickMenu(key, state.pathname);
33
+ onClick: function onClick(_ref2) {
34
+ var key = _ref2.key;
35
+ return onClickMenu(key, pathname);
90
36
  }
91
37
  },
92
38
  trigger: ['contextMenu'],
@@ -94,7 +40,7 @@ export var TabItem = function TabItem(_ref) {
94
40
  size: 5,
95
41
  children: [isCurrent && /*#__PURE__*/_jsx(Badge, {
96
42
  status: "processing"
97
- }), state.pageTitle]
43
+ }), pageTitle]
98
44
  })
99
45
  });
100
46
  };
@@ -7,6 +7,7 @@ import { Tabs, message } from 'antd';
7
7
  import { eq } from 'lodash-es';
8
8
  import { useEffect } from 'react';
9
9
  import { useNavigate } from 'react-router-dom';
10
+ import { TABS_LAYOUT } from "../../constant";
10
11
  import { useAccessRouter } from "../../hooks";
11
12
  import { keepAliveControl, useKeepAlivePages } from "../KeepAlive";
12
13
  import { TabItem } from "./TabItem";
@@ -39,6 +40,42 @@ export var TabsLayout = function TabsLayout() {
39
40
  navigate(to);
40
41
  }
41
42
  };
43
+
44
+ /** 点击菜单回调 */
45
+ var handleClickMenu = /*#__PURE__*/function () {
46
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(key, pathname) {
47
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
48
+ while (1) switch (_context.prev = _context.next) {
49
+ case 0:
50
+ _context.t0 = key;
51
+ _context.next = _context.t0 === TABS_LAYOUT.REFRESH ? 3 : _context.t0 === TABS_LAYOUT.OTHERS ? 9 : 14;
52
+ break;
53
+ case 3:
54
+ linkPage(pathname);
55
+ _context.next = 6;
56
+ return update();
57
+ case 6:
58
+ _context.next = 8;
59
+ return keepAliveControl.refreshPage(pathname);
60
+ case 8:
61
+ return _context.abrupt("break", 14);
62
+ case 9:
63
+ linkPage(pathname);
64
+ _context.next = 12;
65
+ return update();
66
+ case 12:
67
+ keepAliveControl.closeOtherPage(false, [pathname]);
68
+ return _context.abrupt("break", 14);
69
+ case 14:
70
+ case "end":
71
+ return _context.stop();
72
+ }
73
+ }, _callee);
74
+ }));
75
+ return function handleClickMenu(_x, _x2) {
76
+ return _ref.apply(this, arguments);
77
+ };
78
+ }();
42
79
  useEffect(function () {
43
80
  state.activeKey = pathname;
44
81
  update();
@@ -49,17 +86,17 @@ export var TabsLayout = function TabsLayout() {
49
86
  activeKey: state.activeKey,
50
87
  type: "editable-card",
51
88
  onEdit: ( /*#__PURE__*/function () {
52
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(targetKey) {
89
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(targetKey) {
53
90
  var oldIndex, _pathNameList$oldInde;
54
- return _regeneratorRuntime().wrap(function _callee$(_context) {
55
- while (1) switch (_context.prev = _context.next) {
91
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
92
+ while (1) switch (_context2.prev = _context2.next) {
56
93
  case 0:
57
94
  if (!(pathNameList.length <= 1)) {
58
- _context.next = 3;
95
+ _context2.next = 3;
59
96
  break;
60
97
  }
61
98
  message.info('至少要保留一个窗口');
62
- return _context.abrupt("return");
99
+ return _context2.abrupt("return");
63
100
  case 3:
64
101
  // 获取关闭 tab 的索引
65
102
  oldIndex = pathNameList.findIndex(function (ii) {
@@ -81,23 +118,24 @@ export var TabsLayout = function TabsLayout() {
81
118
  }
82
119
  case 6:
83
120
  case "end":
84
- return _context.stop();
121
+ return _context2.stop();
85
122
  }
86
- }, _callee);
123
+ }, _callee2);
87
124
  }));
88
- return function (_x) {
89
- return _ref.apply(this, arguments);
125
+ return function (_x3) {
126
+ return _ref2.apply(this, arguments);
90
127
  };
91
128
  }()),
92
- items: pathNameList.map(function (_ref2) {
93
- var pathname = _ref2.pathname;
129
+ items: pathNameList.map(function (item) {
94
130
  // 判断是否当前活跃标签
95
- var isCurrent = eq(state.activeKey, pathname);
131
+ var isCurrent = eq(state.activeKey, item.pathname);
96
132
  return {
97
- key: pathname,
133
+ key: item.pathname,
98
134
  label: /*#__PURE__*/_jsx(TabItem, {
99
- linkPage: linkPage,
100
- isCurrent: isCurrent
135
+ pageTitle: item.pageTitle,
136
+ pathname: item.pathname,
137
+ isCurrent: isCurrent,
138
+ onClickMenu: handleClickMenu
101
139
  })
102
140
  };
103
141
  }),
@@ -30,7 +30,7 @@ export var LayoutContextProvide = function LayoutContextProvide(_ref) {
30
30
  /** 有部分保护字段 */
31
31
  var getRetainField = function getRetainField() {
32
32
  /** 几个 ui 相关字段 */
33
- var keys = ['collapsed', 'asideWidth'];
33
+ var keys = ['collapsed', 'asideWidth', 'hideMenu'];
34
34
  var retainField = {};
35
35
  keys.forEach(function (key) {
36
36
  if (state.value[key] !== undefined) {
@@ -34,6 +34,7 @@ var InlineProLayout = function InlineProLayout(_ref) {
34
34
  childrens = _ref.childrens,
35
35
  projectTitle = _ref.projectTitle,
36
36
  loginBgImg = _ref.loginBgImg,
37
+ coverPageContent = _ref.coverPageContent,
37
38
  renderTopRightContent = _ref.renderTopRightContent,
38
39
  requestUserInfoMenuData = _ref.requestUserInfoMenuData,
39
40
  renderSelectLang = _ref.renderSelectLang,
@@ -105,6 +106,7 @@ var InlineProLayout = function InlineProLayout(_ref) {
105
106
  wait: 0
106
107
  });
107
108
  if (pageLoading) return /*#__PURE__*/_jsx(PageLoading, {});
109
+ if (coverPageContent) return coverPageContent;
108
110
  return /*#__PURE__*/_jsxs(_Fragment, {
109
111
  children: [layoutContext.token ? /*#__PURE__*/_jsxs(_Fragment, {
110
112
  children: [/*#__PURE__*/_jsx(DocumentTitle, {}), /*#__PURE__*/_jsxs(Layout, {
@@ -205,6 +207,8 @@ export var ProLayout = function ProLayout(_ref4) {
205
207
  pageComponentMap = _ref4.pageComponentMap,
206
208
  access = _ref4.access,
207
209
  placeholderElement = _ref4.placeholderElement,
210
+ coverPageContent = _ref4.coverPageContent,
211
+ hideMenu = _ref4.hideMenu,
208
212
  renderTopRightContent = _ref4.renderTopRightContent,
209
213
  renderSelectLang = _ref4.renderSelectLang,
210
214
  requestUserInfoMenuData = _ref4.requestUserInfoMenuData,
@@ -223,6 +227,7 @@ export var ProLayout = function ProLayout(_ref4) {
223
227
  access: access,
224
228
  basename: basename,
225
229
  placeholderElement: placeholderElement,
230
+ hideMenu: hideMenu,
226
231
  children: /*#__PURE__*/_jsx(InlineProLayout, {
227
232
  renderSelectLang: renderSelectLang,
228
233
  renderTopRightContent: renderTopRightContent,
@@ -231,6 +236,7 @@ export var ProLayout = function ProLayout(_ref4) {
231
236
  loginBgImg: loginBgImg,
232
237
  requestUserInfoMenuData: requestUserInfoMenuData,
233
238
  childrens: childrens,
239
+ coverPageContent: coverPageContent,
234
240
  onLogin: onLogin,
235
241
  onLogout: onLogout
236
242
  })
@@ -1,5 +1,5 @@
1
1
  import { FC, ReactNode } from 'react';
2
- export interface IProLayoutProps extends Pick<TLayoutContext, 'projectId' | 'pageComponentMap' | 'access' | 'basename' | 'placeholderElement'> {
2
+ export interface IProLayoutProps extends Pick<TLayoutContext, 'hideMenu' | 'projectId' | 'pageComponentMap' | 'access' | 'basename' | 'placeholderElement'> {
3
3
  /** title */
4
4
  projectTitle?: string;
5
5
  /** logo img */
@@ -35,6 +35,8 @@ export interface IProLayoutProps extends Pick<TLayoutContext, 'projectId' | 'pag
35
35
  /** 公共内容 */
36
36
  common?: ReactNode;
37
37
  };
38
+ /** 覆盖页面内容 */
39
+ coverPageContent?: ReactNode;
38
40
  /** 渲染多语言选择控件 */
39
41
  renderSelectLang?: () => ReactNode;
40
42
  /** 渲染左上角内容 */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@teamias/pro-layout",
3
- "version": "0.0.6",
3
+ "version": "0.0.8",
4
4
  "description": "A react library developed with dumi",
5
5
  "license": "MIT",
6
6
  "module": "dist/index.js",