dumi 2.1.13 → 2.1.14

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.
@@ -90,6 +90,11 @@ export interface IRouteMeta {
90
90
  atomId?: string;
91
91
  filename?: string;
92
92
  debug?: boolean;
93
+ /**
94
+ * Control the display of the sidebar menu.
95
+ * @default true
96
+ */
97
+ sidebar?: boolean;
93
98
  [key: string]: any;
94
99
  };
95
100
  toc: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dumi",
3
- "version": "2.1.13",
3
+ "version": "2.1.14",
4
4
  "description": "📖 Documentation Generator of React Component",
5
5
  "keywords": [
6
6
  "generator",
@@ -86,7 +86,7 @@ var HANDLERS = {
86
86
  },
87
87
  // FIXME: extract real type
88
88
  dom: function dom(prop) {
89
- return "<".concat(prop.$$__body.id, " />");
89
+ return prop.className || 'DOM';
90
90
  },
91
91
  // special handlers
92
92
  enum: function _enum(prop) {
@@ -36,12 +36,13 @@ var DocLayout = function DocLayout() {
36
36
 
37
37
  var _useState = useState(false),
38
38
  _useState2 = _slicedToArray(_useState, 2),
39
- showSidebar = _useState2[0],
40
- setShowSidebar = _useState2[1];
39
+ activateSidebar = _useState2[0],
40
+ updateActivateSidebar = _useState2[1];
41
41
 
42
42
  var _useRouteMeta = useRouteMeta(),
43
- fm = _useRouteMeta.frontmatter; // handle hash change or visit page hash after async chunk loaded
43
+ fm = _useRouteMeta.frontmatter;
44
44
 
45
+ var showSidebar = fm.sidebar !== false && (sidebar === null || sidebar === void 0 ? void 0 : sidebar.length) > 0; // handle hash change or visit page hash after async chunk loaded
45
46
 
46
47
  useEffect(function () {
47
48
  var id = hash.replace('#', '');
@@ -61,9 +62,9 @@ var DocLayout = function DocLayout() {
61
62
  }, [loading, hash]);
62
63
  return /*#__PURE__*/React.createElement("div", {
63
64
  className: "dumi-default-doc-layout",
64
- "data-mobile-sidebar-active": showSidebar || undefined,
65
+ "data-mobile-sidebar-active": activateSidebar || undefined,
65
66
  onClick: function onClick() {
66
- return setShowSidebar(false);
67
+ return updateActivateSidebar(false);
67
68
  }
68
69
  }, /*#__PURE__*/React.createElement(Helmet, null, /*#__PURE__*/React.createElement("html", {
69
70
  lang: intl.locale.replace(/-.+$/, '')
@@ -82,20 +83,20 @@ var DocLayout = function DocLayout() {
82
83
  }), fm.keywords && /*#__PURE__*/React.createElement("meta", {
83
84
  property: "og:keywords",
84
85
  content: fm.keywords.join(',')
85
- })), /*#__PURE__*/React.createElement(Header, null), /*#__PURE__*/React.createElement(Hero, null), /*#__PURE__*/React.createElement(Features, null), sidebar && /*#__PURE__*/React.createElement("div", {
86
+ })), /*#__PURE__*/React.createElement(Header, null), /*#__PURE__*/React.createElement(Hero, null), /*#__PURE__*/React.createElement(Features, null), showSidebar && /*#__PURE__*/React.createElement("div", {
86
87
  className: "dumi-default-doc-layout-mobile-bar"
87
88
  }, /*#__PURE__*/React.createElement("button", {
88
89
  type: "button",
89
90
  className: "dumi-default-sidebar-btn",
90
91
  onClick: function onClick(ev) {
91
92
  ev.stopPropagation();
92
- setShowSidebar(function (v) {
93
+ updateActivateSidebar(function (v) {
93
94
  return !v;
94
95
  });
95
96
  }
96
97
  }, /*#__PURE__*/React.createElement(IconSidebar, null), intl.formatMessage({
97
98
  id: 'layout.sidebar.btn'
98
- }))), /*#__PURE__*/React.createElement("main", null, /*#__PURE__*/React.createElement(Sidebar, null), /*#__PURE__*/React.createElement(Content, null, outlet, /*#__PURE__*/React.createElement(Footer, null)), fm.toc === 'content' && /*#__PURE__*/React.createElement("div", {
99
+ }))), /*#__PURE__*/React.createElement("main", null, showSidebar && /*#__PURE__*/React.createElement(Sidebar, null), /*#__PURE__*/React.createElement(Content, null, outlet, /*#__PURE__*/React.createElement(Footer, null)), fm.toc === 'content' && /*#__PURE__*/React.createElement("div", {
99
100
  className: "dumi-default-doc-layout-toc-wrapper"
100
101
  }, /*#__PURE__*/React.createElement("h4", null, "TABLE OF CONTENTS"), /*#__PURE__*/React.createElement(Toc, null))));
101
102
  };