docusaurus-theme-openapi-docs 3.0.2 → 4.0.0

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.
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
2
  import { ApiItem } from "docusaurus-plugin-openapi-docs/src/types";
3
3
  declare function Request({ item }: {
4
- item: NonNullable<ApiItem>;
4
+ item: ApiItem;
5
5
  }): React.JSX.Element | null;
6
6
  export default Request;
@@ -57,7 +57,7 @@ var __importDefault =
57
57
  Object.defineProperty(exports, "__esModule", { value: true });
58
58
  // @ts-nocheck
59
59
  const react_1 = __importStar(require("react"));
60
- const internal_1 = require("@docusaurus/theme-common/internal");
60
+ const client_1 = require("@docusaurus/plugin-content-docs/client");
61
61
  const Accept_1 = __importDefault(require("@theme/ApiExplorer/Accept"));
62
62
  const Authorization_1 = __importDefault(
63
63
  require("@theme/ApiExplorer/Authorization")
@@ -80,7 +80,7 @@ const react_hook_form_1 = require("react-hook-form");
80
80
  const makeRequest_1 = __importDefault(require("./makeRequest"));
81
81
  function Request({ item }) {
82
82
  const postman = new postman_collection_1.default.Request(item.postman);
83
- const metadata = (0, internal_1.useDoc)();
83
+ const metadata = (0, client_1.useDoc)();
84
84
  const { proxy, hide_send_button: hideSendButton } = metadata.frontMatter;
85
85
  const pathParams = (0, hooks_1.useTypedSelector)(
86
86
  (state) => state.params.path
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
2
  import { ApiItem } from "docusaurus-plugin-openapi-docs/src/types";
3
3
  declare function Response({ item }: {
4
- item: NonNullable<ApiItem>;
4
+ item: ApiItem;
5
5
  }): React.JSX.Element | null;
6
6
  export default Response;
@@ -12,8 +12,9 @@ var __importDefault =
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
14
  const react_1 = __importDefault(require("react"));
15
+ // @ts-ignore
16
+ const client_1 = require("@docusaurus/plugin-content-docs/client");
15
17
  const theme_common_1 = require("@docusaurus/theme-common");
16
- const internal_1 = require("@docusaurus/theme-common/internal");
17
18
  const ApiCodeBlock_1 = __importDefault(
18
19
  require("@theme/ApiExplorer/ApiCodeBlock")
19
20
  );
@@ -41,7 +42,7 @@ function formatXml(xml) {
41
42
  return formatted.substring(1, formatted.length - 3);
42
43
  }
43
44
  function Response({ item }) {
44
- const metadata = (0, internal_1.useDoc)();
45
+ const metadata = (0, client_1.useDoc)();
45
46
  const hideSendButton = metadata.frontMatter.hide_send_button;
46
47
  const prismTheme = (0, theme_common_1.usePrismTheme)();
47
48
  const code = (0, hooks_1.useTypedSelector)((state) => state.response.code);
@@ -17,15 +17,15 @@ const BrowserOnly_1 = __importDefault(require("@docusaurus/BrowserOnly"));
17
17
  const ExecutionEnvironment_1 = __importDefault(
18
18
  require("@docusaurus/ExecutionEnvironment")
19
19
  );
20
+ const client_1 = require("@docusaurus/plugin-content-docs/client");
20
21
  const theme_common_1 = require("@docusaurus/theme-common");
21
- const internal_1 = require("@docusaurus/theme-common/internal");
22
22
  const useDocusaurusContext_1 = __importDefault(
23
23
  require("@docusaurus/useDocusaurusContext")
24
24
  );
25
25
  const useIsBrowser_1 = __importDefault(require("@docusaurus/useIsBrowser"));
26
26
  const slice_1 = require("@theme/ApiExplorer/Authorization/slice");
27
27
  const persistanceMiddleware_1 = require("@theme/ApiExplorer/persistanceMiddleware");
28
- const Layout_1 = __importDefault(require("@theme/ApiItem/Layout"));
28
+ const Layout_1 = __importDefault(require("@theme/DocItem/Layout"));
29
29
  const Metadata_1 = __importDefault(require("@theme/DocItem/Metadata"));
30
30
  const clsx_1 = __importDefault(require("clsx"));
31
31
  const react_redux_1 = require("react-redux");
@@ -122,7 +122,7 @@ function ApiItem(props) {
122
122
  }
123
123
  if (api) {
124
124
  return react_1.default.createElement(
125
- internal_1.DocProvider,
125
+ client_1.DocProvider,
126
126
  { content: props.content },
127
127
  react_1.default.createElement(
128
128
  theme_common_1.HtmlClassNameProvider,
@@ -169,7 +169,7 @@ function ApiItem(props) {
169
169
  );
170
170
  } else if (schema) {
171
171
  return react_1.default.createElement(
172
- internal_1.DocProvider,
172
+ client_1.DocProvider,
173
173
  { content: props.content },
174
174
  react_1.default.createElement(
175
175
  theme_common_1.HtmlClassNameProvider,
@@ -193,7 +193,7 @@ function ApiItem(props) {
193
193
  }
194
194
  // Non-API docs
195
195
  return react_1.default.createElement(
196
- internal_1.DocProvider,
196
+ client_1.DocProvider,
197
197
  { content: props.content },
198
198
  react_1.default.createElement(
199
199
  theme_common_1.HtmlClassNameProvider,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "docusaurus-theme-openapi-docs",
3
3
  "description": "OpenAPI theme for Docusaurus.",
4
- "version": "3.0.2",
4
+ "version": "4.0.0",
5
5
  "license": "MIT",
6
6
  "keywords": [
7
7
  "openapi",
@@ -42,7 +42,7 @@
42
42
  "clsx": "^1.1.1",
43
43
  "copy-text-to-clipboard": "^3.1.0",
44
44
  "crypto-js": "^4.1.1",
45
- "docusaurus-plugin-openapi-docs": "^3.0.2",
45
+ "docusaurus-plugin-openapi-docs": "^4.0.0",
46
46
  "docusaurus-plugin-sass": "^0.2.3",
47
47
  "file-saver": "^2.0.5",
48
48
  "lodash": "^4.17.20",
@@ -69,5 +69,5 @@
69
69
  "engines": {
70
70
  "node": ">=14"
71
71
  },
72
- "gitHead": "071a66e28184054dde1df825509c731bf819a3ed"
72
+ "gitHead": "79d74177cfd54d2750dde1e15c6ea166f9ca4be9"
73
73
  }
@@ -0,0 +1,18 @@
1
+ /* ============================================================================
2
+ * Copyright (c) Palo Alto Networks
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ * ========================================================================== */
7
+
8
+ /// <reference types="@docusaurus/theme-classic" />
9
+
10
+ declare module "@docusaurus/plugin-content-docs/client" {
11
+ export function DocProvider({
12
+ children,
13
+ content,
14
+ }: {
15
+ children: ReactNode;
16
+ content: PropDocContent;
17
+ });
18
+ }
@@ -8,7 +8,7 @@
8
8
  // @ts-nocheck
9
9
  import React, { useState } from "react";
10
10
 
11
- import { useDoc } from "@docusaurus/theme-common/internal";
11
+ import { useDoc } from "@docusaurus/plugin-content-docs/client";
12
12
  import Accept from "@theme/ApiExplorer/Accept";
13
13
  import Authorization from "@theme/ApiExplorer/Authorization";
14
14
  import Body from "@theme/ApiExplorer/Body";
@@ -31,7 +31,7 @@ import { FormProvider, useForm } from "react-hook-form";
31
31
 
32
32
  import makeRequest from "./makeRequest";
33
33
 
34
- function Request({ item }: { item: NonNullable<ApiItem> }) {
34
+ function Request({ item }: { item: ApiItem }) {
35
35
  const postman = new sdk.Request(item.postman);
36
36
  const metadata = useDoc();
37
37
  const { proxy, hide_send_button: hideSendButton } = metadata.frontMatter;
@@ -7,8 +7,9 @@
7
7
 
8
8
  import React from "react";
9
9
 
10
+ // @ts-ignore
11
+ import { useDoc } from "@docusaurus/plugin-content-docs/client";
10
12
  import { usePrismTheme } from "@docusaurus/theme-common";
11
- import { useDoc } from "@docusaurus/theme-common/internal";
12
13
  import ApiCodeBlock from "@theme/ApiExplorer/ApiCodeBlock";
13
14
  import { useTypedDispatch, useTypedSelector } from "@theme/ApiItem/hooks";
14
15
  import SchemaTabs from "@theme/SchemaTabs";
@@ -38,7 +39,7 @@ function formatXml(xml: string) {
38
39
  return formatted.substring(1, formatted.length - 3);
39
40
  }
40
41
 
41
- function Response({ item }: { item: NonNullable<ApiItem> }) {
42
+ function Response({ item }: { item: ApiItem }) {
42
43
  const metadata = useDoc();
43
44
  const hideSendButton = metadata.frontMatter.hide_send_button;
44
45
  const prismTheme = usePrismTheme();
@@ -11,14 +11,14 @@ import React from "react";
11
11
 
12
12
  import BrowserOnly from "@docusaurus/BrowserOnly";
13
13
  import ExecutionEnvironment from "@docusaurus/ExecutionEnvironment";
14
+ import { DocProvider } from "@docusaurus/plugin-content-docs/client";
14
15
  import { HtmlClassNameProvider } from "@docusaurus/theme-common";
15
- import { DocProvider } from "@docusaurus/theme-common/internal";
16
16
  import useDocusaurusContext from "@docusaurus/useDocusaurusContext";
17
17
  import useIsBrowser from "@docusaurus/useIsBrowser";
18
18
  import { createAuth } from "@theme/ApiExplorer/Authorization/slice";
19
19
  import { createPersistanceMiddleware } from "@theme/ApiExplorer/persistanceMiddleware";
20
- import DocItemLayout from "@theme/ApiItem/Layout";
21
20
  import type { Props } from "@theme/DocItem";
21
+ import DocItemLayout from "@theme/DocItem/Layout";
22
22
  import DocItemMetadata from "@theme/DocItem/Metadata";
23
23
  import clsx from "clsx";
24
24
  import { ServerObject } from "docusaurus-plugin-openapi-docs/src/openapi/types";
@@ -1,4 +0,0 @@
1
- /// <reference types="@docusaurus/theme-classic" />
2
- /// <reference types="react" />
3
- import type { Props } from "@theme/DocItem/Layout";
4
- export default function DocItemLayout({ children }: Props): JSX.Element;
@@ -1,114 +0,0 @@
1
- "use strict";
2
- /* ============================================================================
3
- * Copyright (c) Palo Alto Networks
4
- *
5
- * This source code is licensed under the MIT license found in the
6
- * LICENSE file in the root directory of this source tree.
7
- * ========================================================================== */
8
- var __importDefault =
9
- (this && this.__importDefault) ||
10
- function (mod) {
11
- return mod && mod.__esModule ? mod : { default: mod };
12
- };
13
- Object.defineProperty(exports, "__esModule", { value: true });
14
- const react_1 = __importDefault(require("react"));
15
- const theme_common_1 = require("@docusaurus/theme-common");
16
- const internal_1 = require("@docusaurus/theme-common/internal");
17
- const DocBreadcrumbs_1 = __importDefault(require("@theme/DocBreadcrumbs"));
18
- const Content_1 = __importDefault(require("@theme/DocItem/Content"));
19
- const Footer_1 = __importDefault(require("@theme/DocItem/Footer"));
20
- const Paginator_1 = __importDefault(require("@theme/DocItem/Paginator"));
21
- const Desktop_1 = __importDefault(require("@theme/DocItem/TOC/Desktop"));
22
- const Mobile_1 = __importDefault(require("@theme/DocItem/TOC/Mobile"));
23
- const DocVersionBadge_1 = __importDefault(require("@theme/DocVersionBadge"));
24
- const DocVersionBanner_1 = __importDefault(require("@theme/DocVersionBanner"));
25
- const Unlisted_1 = __importDefault(require("@theme/Unlisted"));
26
- const clsx_1 = __importDefault(require("clsx"));
27
- const styles_module_css_1 = __importDefault(require("./styles.module.css"));
28
- /**
29
- * Decide if the toc should be rendered, on mobile or desktop viewports
30
- */
31
- function useDocTOC() {
32
- const { frontMatter, toc } = (0, internal_1.useDoc)();
33
- const windowSize = (0, theme_common_1.useWindowSize)();
34
- const hidden = frontMatter.hide_table_of_contents;
35
- const canRender = !hidden && toc.length > 0;
36
- const mobile = canRender
37
- ? react_1.default.createElement(Mobile_1.default, null)
38
- : undefined;
39
- const desktop =
40
- canRender && (windowSize === "desktop" || windowSize === "ssr")
41
- ? react_1.default.createElement(Desktop_1.default, null)
42
- : undefined;
43
- return {
44
- hidden,
45
- mobile,
46
- desktop,
47
- };
48
- }
49
- function DocItemLayout({ children }) {
50
- const docTOC = useDocTOC();
51
- const {
52
- metadata: { unlisted },
53
- frontMatter: { api },
54
- } = (0, internal_1.useDoc)();
55
- return react_1.default.createElement(
56
- "div",
57
- { className: "row" },
58
- react_1.default.createElement(
59
- "div",
60
- {
61
- className: (0, clsx_1.default)(
62
- "col",
63
- !docTOC.hidden && styles_module_css_1.default.docItemCol
64
- ),
65
- },
66
- unlisted && react_1.default.createElement(Unlisted_1.default, null),
67
- react_1.default.createElement(DocVersionBanner_1.default, null),
68
- react_1.default.createElement(
69
- "div",
70
- { className: styles_module_css_1.default.docItemContainer },
71
- react_1.default.createElement(
72
- "article",
73
- null,
74
- react_1.default.createElement(DocBreadcrumbs_1.default, null),
75
- react_1.default.createElement(DocVersionBadge_1.default, null),
76
- docTOC.mobile,
77
- react_1.default.createElement(Content_1.default, null, children),
78
- react_1.default.createElement(
79
- "div",
80
- { className: "row" },
81
- react_1.default.createElement(
82
- "div",
83
- {
84
- className: (0, clsx_1.default)(
85
- "col",
86
- api ? "col--7" : "col--12"
87
- ),
88
- },
89
- react_1.default.createElement(Footer_1.default, null)
90
- )
91
- )
92
- ),
93
- react_1.default.createElement(
94
- "div",
95
- { className: "row" },
96
- react_1.default.createElement(
97
- "div",
98
- {
99
- className: (0, clsx_1.default)("col", api ? "col--7" : "col--12"),
100
- },
101
- react_1.default.createElement(Paginator_1.default, null)
102
- )
103
- )
104
- )
105
- ),
106
- docTOC.desktop &&
107
- react_1.default.createElement(
108
- "div",
109
- { className: "col col--3" },
110
- docTOC.desktop
111
- )
112
- );
113
- }
114
- exports.default = DocItemLayout;
@@ -1,17 +0,0 @@
1
- /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
-
8
- .docItemContainer header + *,
9
- .docItemContainer article > *:first-child {
10
- margin-top: 0;
11
- }
12
-
13
- @media (min-width: 997px) {
14
- .docItemCol {
15
- max-width: 75% !important;
16
- }
17
- }
@@ -1,84 +0,0 @@
1
- /* ============================================================================
2
- * Copyright (c) Palo Alto Networks
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- * ========================================================================== */
7
-
8
- import React from "react";
9
-
10
- import { useWindowSize } from "@docusaurus/theme-common";
11
- import { useDoc } from "@docusaurus/theme-common/internal";
12
- import DocBreadcrumbs from "@theme/DocBreadcrumbs";
13
- import DocItemContent from "@theme/DocItem/Content";
14
- import DocItemFooter from "@theme/DocItem/Footer";
15
- import type { Props } from "@theme/DocItem/Layout";
16
- import DocItemPaginator from "@theme/DocItem/Paginator";
17
- import DocItemTOCDesktop from "@theme/DocItem/TOC/Desktop";
18
- import DocItemTOCMobile from "@theme/DocItem/TOC/Mobile";
19
- import DocVersionBadge from "@theme/DocVersionBadge";
20
- import DocVersionBanner from "@theme/DocVersionBanner";
21
- import Unlisted from "@theme/Unlisted";
22
- import clsx from "clsx";
23
-
24
- import styles from "./styles.module.css";
25
-
26
- /**
27
- * Decide if the toc should be rendered, on mobile or desktop viewports
28
- */
29
- function useDocTOC() {
30
- const { frontMatter, toc } = useDoc();
31
- const windowSize = useWindowSize();
32
-
33
- const hidden = frontMatter.hide_table_of_contents;
34
- const canRender = !hidden && toc.length > 0;
35
-
36
- const mobile = canRender ? <DocItemTOCMobile /> : undefined;
37
-
38
- const desktop =
39
- canRender && (windowSize === "desktop" || windowSize === "ssr") ? (
40
- <DocItemTOCDesktop />
41
- ) : undefined;
42
-
43
- return {
44
- hidden,
45
- mobile,
46
- desktop,
47
- };
48
- }
49
-
50
- export default function DocItemLayout({ children }: Props): JSX.Element {
51
- const docTOC = useDocTOC();
52
- const {
53
- metadata: { unlisted },
54
- frontMatter: { api },
55
- } = useDoc();
56
-
57
- return (
58
- <div className="row">
59
- <div className={clsx("col", !docTOC.hidden && styles.docItemCol)}>
60
- {unlisted && <Unlisted />}
61
- <DocVersionBanner />
62
- <div className={styles.docItemContainer}>
63
- <article>
64
- <DocBreadcrumbs />
65
- <DocVersionBadge />
66
- {docTOC.mobile}
67
- <DocItemContent>{children}</DocItemContent>
68
- <div className="row">
69
- <div className={clsx("col", api ? "col--7" : "col--12")}>
70
- <DocItemFooter />
71
- </div>
72
- </div>
73
- </article>
74
- <div className="row">
75
- <div className={clsx("col", api ? "col--7" : "col--12")}>
76
- <DocItemPaginator />
77
- </div>
78
- </div>
79
- </div>
80
- </div>
81
- {docTOC.desktop && <div className="col col--3">{docTOC.desktop}</div>}
82
- </div>
83
- );
84
- }
@@ -1,17 +0,0 @@
1
- /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
-
8
- .docItemContainer header + *,
9
- .docItemContainer article > *:first-child {
10
- margin-top: 0;
11
- }
12
-
13
- @media (min-width: 997px) {
14
- .docItemCol {
15
- max-width: 75% !important;
16
- }
17
- }