docusaurus-theme-openapi-docs 1.0.2 → 1.0.5

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.
Files changed (59) hide show
  1. package/lib/theme/ApiDemoPanel/Body/index.js +11 -9
  2. package/lib/theme/ApiDemoPanel/Body/json2xml.js +43 -0
  3. package/lib/theme/ApiDemoPanel/CodeTabs/index.js +188 -0
  4. package/lib/theme/ApiDemoPanel/CodeTabs/styles.module.css +11 -0
  5. package/lib/theme/ApiDemoPanel/Curl/index.js +41 -110
  6. package/lib/theme/ApiDemoPanel/LiveEditor/index.js +61 -0
  7. package/lib/theme/ApiDemoPanel/LiveEditor/styles.module.css +34 -0
  8. package/lib/theme/ApiDemoPanel/MethodEndpoint/index.js +9 -6
  9. package/lib/theme/ApiDemoPanel/SecuritySchemes/index.js +7 -2
  10. package/lib/theme/ApiDemoPanel/index.js +3 -7
  11. package/lib/theme/ApiItem/icons/bash-original.svg +1 -0
  12. package/lib/theme/ApiItem/icons/go-original-wordmark.svg +1 -0
  13. package/lib/theme/ApiItem/icons/javascript-original.svg +1 -0
  14. package/lib/theme/ApiItem/icons/linux-original.svg +1 -0
  15. package/lib/theme/ApiItem/icons/python-original.svg +1 -0
  16. package/lib/theme/ApiItem/index.js +2 -1
  17. package/lib/theme/ApiItem/styles.module.css +89 -0
  18. package/lib-next/theme/ApiDemoPanel/Body/index.js +11 -15
  19. package/lib-next/theme/ApiDemoPanel/Body/json2xml.js +43 -0
  20. package/lib-next/theme/ApiDemoPanel/CodeTabs/index.js +214 -0
  21. package/lib-next/theme/ApiDemoPanel/CodeTabs/styles.module.css +11 -0
  22. package/lib-next/theme/ApiDemoPanel/Curl/index.js +46 -135
  23. package/lib-next/theme/ApiDemoPanel/LiveEditor/index.js +49 -0
  24. package/lib-next/theme/ApiDemoPanel/LiveEditor/styles.module.css +34 -0
  25. package/lib-next/theme/ApiDemoPanel/MethodEndpoint/index.js +9 -6
  26. package/lib-next/theme/ApiDemoPanel/SecuritySchemes/index.js +6 -2
  27. package/lib-next/theme/ApiDemoPanel/index.js +2 -7
  28. package/lib-next/theme/ApiItem/icons/bash-original.svg +1 -0
  29. package/lib-next/theme/ApiItem/icons/go-original-wordmark.svg +1 -0
  30. package/lib-next/theme/ApiItem/icons/javascript-original.svg +1 -0
  31. package/lib-next/theme/ApiItem/icons/linux-original.svg +1 -0
  32. package/lib-next/theme/ApiItem/icons/python-original.svg +1 -0
  33. package/lib-next/theme/ApiItem/index.js +2 -1
  34. package/lib-next/theme/ApiItem/styles.module.css +89 -0
  35. package/package.json +7 -9
  36. package/src/theme/ApiDemoPanel/Body/index.tsx +9 -13
  37. package/src/theme/ApiDemoPanel/Body/json2xml.js +43 -0
  38. package/src/theme/ApiDemoPanel/CodeTabs/index.tsx +237 -0
  39. package/src/theme/ApiDemoPanel/CodeTabs/styles.module.css +11 -0
  40. package/src/theme/ApiDemoPanel/Curl/index.tsx +45 -124
  41. package/src/theme/ApiDemoPanel/LiveEditor/index.tsx +59 -0
  42. package/src/theme/ApiDemoPanel/LiveEditor/styles.module.css +34 -0
  43. package/src/theme/ApiDemoPanel/MethodEndpoint/index.tsx +6 -4
  44. package/src/theme/ApiDemoPanel/SecuritySchemes/index.tsx +7 -2
  45. package/src/theme/ApiDemoPanel/index.tsx +8 -7
  46. package/src/theme/ApiItem/icons/bash-original.svg +1 -0
  47. package/src/theme/ApiItem/icons/go-original-wordmark.svg +1 -0
  48. package/src/theme/ApiItem/icons/javascript-original.svg +1 -0
  49. package/src/theme/ApiItem/icons/linux-original.svg +1 -0
  50. package/src/theme/ApiItem/icons/python-original.svg +1 -0
  51. package/src/theme/ApiItem/index.tsx +9 -5
  52. package/src/theme/ApiItem/styles.module.css +89 -0
  53. package/src/types.ts +112 -0
  54. package/lib/theme/ApiDemoPanel/VSCode/index.js +0 -252
  55. package/lib/theme/ApiDemoPanel/VSCode/styles.module.css +0 -19
  56. package/lib-next/theme/ApiDemoPanel/VSCode/index.js +0 -265
  57. package/lib-next/theme/ApiDemoPanel/VSCode/styles.module.css +0 -19
  58. package/src/theme/ApiDemoPanel/VSCode/index.tsx +0 -205
  59. package/src/theme/ApiDemoPanel/VSCode/styles.module.css +0 -19
@@ -0,0 +1,49 @@
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
+ import React from "react";
8
+ import { usePrismTheme } from "@docusaurus/theme-common";
9
+ import useIsBrowser from "@docusaurus/useIsBrowser";
10
+ import { LiveProvider, LiveEditor, withLive } from "react-live";
11
+ import { setStringRawBody } from "../Body/slice";
12
+ import styles from "./styles.module.css";
13
+
14
+ function Live({ onEdit }) {
15
+ const isBrowser = useIsBrowser();
16
+ return (
17
+ <>
18
+ <LiveEditor
19
+ key={String(isBrowser)}
20
+ className={styles.playgroundEditor}
21
+ onChange={onEdit}
22
+ />
23
+ </>
24
+ );
25
+ }
26
+
27
+ const LiveComponent = withLive(Live);
28
+
29
+ function App({ children, transformCode, value, language, action, ...props }) {
30
+ const prismTheme = usePrismTheme();
31
+ const [code, setCode] = React.useState(children);
32
+ action(setStringRawBody(code));
33
+ return (
34
+ <div className={styles.playgroundContainer}>
35
+ <LiveProvider
36
+ code={children.replace(/\n$/, "")}
37
+ transformCode={transformCode ?? ((code) => `${code};`)}
38
+ theme={prismTheme}
39
+ language={language}
40
+ {...props}
41
+ >
42
+ <LiveComponent onEdit={setCode} />
43
+ </LiveProvider>
44
+ </div>
45
+ );
46
+ }
47
+
48
+ const LiveApp = withLive(App);
49
+ export default LiveApp;
@@ -0,0 +1,34 @@
1
+ .playgroundContainer {
2
+ margin-top: 1rem;
3
+ margin-bottom: var(--ifm-leading);
4
+ border-radius: var(--ifm-global-radius);
5
+ box-shadow: var(--ifm-global-shadow-lw);
6
+ overflow: hidden;
7
+ }
8
+
9
+ .playgroundHeader {
10
+ letter-spacing: 0.08rem;
11
+ padding: 0.75rem;
12
+ text-transform: uppercase;
13
+ font-weight: bold;
14
+ background: var(--ifm-color-emphasis-200);
15
+ color: var(--ifm-color-content);
16
+ font-size: var(--ifm-code-font-size);
17
+ }
18
+
19
+ .playgroundHeader:first-of-type {
20
+ background: var(--ifm-color-emphasis-600);
21
+ color: var(--ifm-color-content-inverse);
22
+ }
23
+
24
+ .playgroundEditor {
25
+ font: var(--ifm-code-font-size) / var(--ifm-pre-line-height)
26
+ var(--ifm-font-family-monospace) !important;
27
+ /* rtl:ignore */
28
+ direction: ltr;
29
+ }
30
+
31
+ .playgroundPreview {
32
+ padding: 1rem;
33
+ background-color: var(--ifm-pre-background);
34
+ }
@@ -14,18 +14,21 @@ function colorForMethod(method) {
14
14
  case "get":
15
15
  return "primary";
16
16
 
17
- case "put":
18
- return "warning";
19
-
20
- case "patch":
21
- return "warning";
22
-
23
17
  case "post":
24
18
  return "success";
25
19
 
26
20
  case "delete":
27
21
  return "danger";
28
22
 
23
+ case "put":
24
+ return "info";
25
+
26
+ case "patch":
27
+ return "warning";
28
+
29
+ case "head":
30
+ return "secondary";
31
+
29
32
  default:
30
33
  return undefined;
31
34
  }
@@ -5,11 +5,13 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  * ========================================================================== */
7
7
  import React from "react";
8
+ import Link from "@docusaurus/Link";
8
9
  import { useTypedSelector } from "../hooks";
9
10
 
10
- function SecuritySchemes() {
11
+ function SecuritySchemes(props) {
11
12
  const options = useTypedSelector((state) => state.auth.options);
12
13
  const selected = useTypedSelector((state) => state.auth.selected);
14
+ const infoAuthPath = `/${props.infoPath}#authentication`;
13
15
  if (selected === undefined) return null;
14
16
  const selectedAuth = options[selected];
15
17
  return (
@@ -27,7 +29,9 @@ function SecuritySchemes() {
27
29
  if (isApiKey || isBearer) {
28
30
  return (
29
31
  <React.Fragment key={selected}>
30
- <b>Authorization: {auth.key}</b>
32
+ <b>
33
+ Authorization: <Link to={infoAuthPath}>{auth.key}</Link>
34
+ </b>
31
35
  <pre
32
36
  style={{
33
37
  display: "flex",
@@ -21,7 +21,7 @@ import Server from "./Server";
21
21
  import { createStoreWithState } from "./store";
22
22
  import styles from "./styles.module.css";
23
23
 
24
- function ApiDemoPanel({ item }) {
24
+ function ApiDemoPanel({ item, infoPath }) {
25
25
  const { siteConfig } = useDocusaurusContext();
26
26
  const themeConfig = siteConfig.themeConfig;
27
27
  const options = themeConfig.api;
@@ -83,9 +83,7 @@ function ApiDemoPanel({ item }) {
83
83
  <Provider store={store2}>
84
84
  <div className={styles.apiDemoPanelContainer}>
85
85
  <MethodEndpoint method={method} path={path} />
86
-
87
- <SecuritySchemes />
88
-
86
+ <SecuritySchemes infoPath={infoPath} />
89
87
  <div className={styles.optionsPanel}>
90
88
  <ParamOptions />
91
89
  <Body
@@ -94,11 +92,8 @@ function ApiDemoPanel({ item }) {
94
92
  />
95
93
  <Accept />
96
94
  </div>
97
-
98
95
  <Server />
99
-
100
96
  <Curl postman={postman} codeSamples={item["x-code-samples"] ?? []} />
101
-
102
97
  <Response />
103
98
  </div>
104
99
  </Provider>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128"><path fill="none" d="M4.24 4.24h119.53v119.53H4.24z"/><path fill="#293138" d="M109.01 28.64L71.28 6.24c-2.25-1.33-4.77-2-7.28-2s-5.03.67-7.28 2.01l-37.74 22.4c-4.5 2.67-7.28 7.61-7.28 12.96v44.8c0 5.35 2.77 10.29 7.28 12.96l37.73 22.4c2.25 1.34 4.76 2 7.28 2 2.51 0 5.03-.67 7.28-2l37.74-22.4c4.5-2.67 7.28-7.62 7.28-12.96V41.6c0-5.34-2.77-10.29-7.28-12.96zM79.79 98.59l.06 3.22c0 .39-.25.83-.55.99l-1.91 1.1c-.3.15-.56-.03-.56-.42l-.03-3.17c-1.63.68-3.29.84-4.34.42-.2-.08-.29-.37-.21-.71l.69-2.91c.06-.23.18-.46.34-.6.06-.06.12-.1.18-.13.11-.06.22-.07.31-.03 1.14.38 2.59.2 3.99-.5 1.78-.9 2.97-2.72 2.95-4.52-.02-1.64-.9-2.31-3.05-2.33-2.74.01-5.3-.53-5.34-4.57-.03-3.32 1.69-6.78 4.43-8.96l-.03-3.25c0-.4.24-.84.55-1l1.85-1.18c.3-.15.56.04.56.43l.03 3.25c1.36-.54 2.54-.69 3.61-.44.23.06.34.38.24.75l-.72 2.88c-.06.22-.18.44-.33.58a.77.77 0 01-.19.14c-.1.05-.19.06-.28.05-.49-.11-1.65-.36-3.48.56-1.92.97-2.59 2.64-2.58 3.88.02 1.48.77 1.93 3.39 1.97 3.49.06 4.99 1.58 5.03 5.09.05 3.44-1.79 7.15-4.61 9.41zm26.34-60.5l-35.7 22.05c-4.45 2.6-7.73 5.52-7.74 10.89v43.99c0 3.21 1.3 5.29 3.29 5.9-.65.11-1.32.19-1.98.19-2.09 0-4.15-.57-5.96-1.64l-37.73-22.4c-3.69-2.19-5.98-6.28-5.98-10.67V41.6c0-4.39 2.29-8.48 5.98-10.67l37.74-22.4c1.81-1.07 3.87-1.64 5.96-1.64s4.15.57 5.96 1.64l37.74 22.4c3.11 1.85 5.21 5.04 5.8 8.63-1.27-2.67-4.09-3.39-7.38-1.47z"/><path fill="#4FA847" d="M99.12 90.73l-9.4 5.62c-.25.15-.43.31-.43.61v2.46c0 .3.2.43.45.28l9.54-5.8c.25-.15.29-.42.29-.72v-2.17c0-.3-.2-.42-.45-.28z"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128"><g fill="#00acd7" fill-rule="evenodd"><path d="M11.156 54.829c-.243 0-.303-.122-.182-.303l1.273-1.637c.12-.182.424-.303.666-.303H34.55c.243 0 .303.182.182.364l-1.03 1.576c-.121.181-.424.363-.606.363zM2.004 60.404c-.242 0-.303-.12-.182-.303l1.273-1.636c.121-.182.424-.303.667-.303h27.636c.242 0 .364.182.303.364l-.485 1.454c-.06.243-.303.364-.545.364zM16.67 65.98c-.242 0-.302-.182-.181-.364l.848-1.515c.122-.182.364-.363.607-.363h12.12c.243 0 .364.181.364.424l-.12 1.454c0 .243-.243.425-.425.425zM79.58 53.738c-3.819.97-6.425 1.697-10.182 2.666-.91.243-.97.303-1.758-.606-.909-1.03-1.576-1.697-2.848-2.303-3.819-1.878-7.516-1.333-10.97.91-4.121 2.666-6.242 6.605-6.182 11.514.06 4.849 3.394 8.849 8.182 9.516 4.121.545 7.576-.91 10.303-4 .545-.667 1.03-1.394 1.636-2.243H56.064c-1.272 0-1.575-.788-1.151-1.818.788-1.879 2.242-5.03 3.09-6.606.183-.364.607-.97 1.516-.97h22.06c-.12 1.637-.12 3.273-.363 4.91-.667 4.363-2.303 8.363-4.97 11.878-4.364 5.758-10.06 9.333-17.273 10.303-5.939.788-11.454-.364-16.302-4-4.485-3.394-7.03-7.879-7.697-13.454-.788-6.606 1.151-12.546 5.151-17.758 4.303-5.636 10-9.212 16.97-10.485 5.697-1.03 11.151-.363 16.06 2.97 3.212 2.121 5.515 5.03 7.03 8.545.364.546.122.849-.606 1.03z"/><path d="M99.64 87.253c-5.515-.122-10.546-1.697-14.788-5.334-3.576-3.09-5.818-7.03-6.545-11.697-1.091-6.848.787-12.909 4.909-18.302 4.424-5.819 9.757-8.849 16.97-10.122 6.181-1.09 12-.484 17.272 3.091 4.788 3.273 7.757 7.697 8.545 13.515 1.03 8.182-1.333 14.849-6.97 20.546-4 4.06-8.909 6.606-14.545 7.757-1.636.303-3.273.364-4.848.546zm14.424-24.485c-.06-.788-.06-1.394-.182-2-1.09-6-6.606-9.394-12.363-8.06-5.637 1.272-9.273 4.848-10.606 10.545-1.091 4.727 1.212 9.515 5.575 11.454 3.334 1.455 6.667 1.273 9.879-.363 4.788-2.485 7.394-6.364 7.697-11.576z" fill-rule="nonzero"/></g></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128"><path fill="#F0DB4F" d="M1.408 1.408h125.184v125.185H1.408z"/><path fill="#323330" d="M116.347 96.736c-.917-5.711-4.641-10.508-15.672-14.981-3.832-1.761-8.104-3.022-9.377-5.926-.452-1.69-.512-2.642-.226-3.665.821-3.32 4.784-4.355 7.925-3.403 2.023.678 3.938 2.237 5.093 4.724 5.402-3.498 5.391-3.475 9.163-5.879-1.381-2.141-2.118-3.129-3.022-4.045-3.249-3.629-7.676-5.498-14.756-5.355l-3.688.477c-3.534.893-6.902 2.748-8.877 5.235-5.926 6.724-4.236 18.492 2.975 23.335 7.104 5.332 17.54 6.545 18.873 11.531 1.297 6.104-4.486 8.08-10.234 7.378-4.236-.881-6.592-3.034-9.139-6.949-4.688 2.713-4.688 2.713-9.508 5.485 1.143 2.499 2.344 3.63 4.26 5.795 9.068 9.198 31.76 8.746 35.83-5.176.165-.478 1.261-3.666.38-8.581zM69.462 58.943H57.753l-.048 30.272c0 6.438.333 12.34-.714 14.149-1.713 3.558-6.152 3.117-8.175 2.427-2.059-1.012-3.106-2.451-4.319-4.485-.333-.584-.583-1.036-.667-1.071l-9.52 5.83c1.583 3.249 3.915 6.069 6.902 7.901 4.462 2.678 10.459 3.499 16.731 2.059 4.082-1.189 7.604-3.652 9.448-7.401 2.666-4.915 2.094-10.864 2.07-17.444.06-10.735.001-21.468.001-32.237z"/></svg>