docusaurus-theme-openapi-docs 3.0.0-beta.3 → 3.0.0-beta.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 (115) hide show
  1. package/lib/markdown/utils.d.ts +2 -1
  2. package/lib/theme/ApiDemoPanel/ApiCodeBlock/ExpandButton/index.d.ts +13 -0
  3. package/lib/theme/ApiDemoPanel/ApiCodeBlock/ExpandButton/index.js +199 -124
  4. package/lib/theme/ApiExplorer/Accept/index.d.ts +2 -2
  5. package/lib/theme/ApiExplorer/ApiCodeBlock/Container/index.d.ts +4 -0
  6. package/lib/theme/ApiExplorer/ApiCodeBlock/Container/index.js +25 -19
  7. package/lib/theme/ApiExplorer/ApiCodeBlock/Content/Element.d.ts +4 -0
  8. package/lib/theme/ApiExplorer/ApiCodeBlock/Content/Element.js +27 -16
  9. package/lib/theme/ApiExplorer/ApiCodeBlock/Content/String.d.ts +4 -0
  10. package/lib/theme/ApiExplorer/ApiCodeBlock/Content/String.js +115 -96
  11. package/lib/theme/ApiExplorer/ApiCodeBlock/CopyButton/index.d.ts +3 -0
  12. package/lib/theme/ApiExplorer/ApiCodeBlock/CopyButton/index.js +115 -54
  13. package/lib/theme/ApiExplorer/ApiCodeBlock/ExitButton/index.d.ts +6 -0
  14. package/lib/theme/ApiExplorer/ApiCodeBlock/ExitButton/index.js +41 -30
  15. package/lib/theme/ApiExplorer/ApiCodeBlock/ExpandButton/index.d.ts +14 -0
  16. package/lib/theme/ApiExplorer/ApiCodeBlock/ExpandButton/index.js +200 -120
  17. package/lib/theme/ApiExplorer/ApiCodeBlock/Line/index.d.ts +3 -0
  18. package/lib/theme/ApiExplorer/ApiCodeBlock/Line/index.js +36 -24
  19. package/lib/theme/ApiExplorer/ApiCodeBlock/WordWrapButton/index.d.ts +7 -0
  20. package/lib/theme/ApiExplorer/ApiCodeBlock/WordWrapButton/index.js +35 -28
  21. package/lib/theme/ApiExplorer/ApiCodeBlock/index.d.ts +3 -0
  22. package/lib/theme/ApiExplorer/ApiCodeBlock/index.js +72 -14
  23. package/lib/theme/ApiExplorer/Authorization/index.d.ts +2 -2
  24. package/lib/theme/ApiExplorer/Body/index.d.ts +2 -2
  25. package/lib/theme/ApiExplorer/Body/index.js +8 -1
  26. package/lib/theme/ApiExplorer/CodeSnippets/code-snippets-types.d.ts +21 -0
  27. package/lib/theme/ApiExplorer/CodeSnippets/code-snippets-types.js +8 -0
  28. package/lib/theme/ApiExplorer/CodeSnippets/index.d.ts +4 -14
  29. package/lib/theme/ApiExplorer/CodeSnippets/index.js +87 -8
  30. package/lib/theme/ApiExplorer/CodeSnippets/languages.d.ts +2 -0
  31. package/lib/theme/ApiExplorer/CodeSnippets/languages.js +32 -0
  32. package/lib/theme/ApiExplorer/CodeSnippets/languages.json +0 -96
  33. package/lib/theme/ApiExplorer/CodeTabs/_CodeTabs.scss +14 -0
  34. package/lib/theme/ApiExplorer/CodeTabs/index.d.ts +14 -0
  35. package/lib/theme/ApiExplorer/CodeTabs/index.js +130 -78
  36. package/lib/theme/ApiExplorer/ContentType/index.d.ts +2 -2
  37. package/lib/theme/ApiExplorer/Export/index.d.ts +2 -2
  38. package/lib/theme/ApiExplorer/FloatingButton/index.d.ts +1 -1
  39. package/lib/theme/ApiExplorer/FormFileUpload/index.d.ts +2 -2
  40. package/lib/theme/ApiExplorer/FormItem/index.d.ts +1 -1
  41. package/lib/theme/ApiExplorer/FormMultiSelect/index.d.ts +1 -1
  42. package/lib/theme/ApiExplorer/FormSelect/index.d.ts +1 -1
  43. package/lib/theme/ApiExplorer/FormTextInput/index.d.ts +1 -1
  44. package/lib/theme/ApiExplorer/MethodEndpoint/index.d.ts +2 -2
  45. package/lib/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamArrayFormItem.d.ts +2 -2
  46. package/lib/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamBooleanFormItem.d.ts +2 -2
  47. package/lib/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamMultiSelectFormItem.d.ts +2 -2
  48. package/lib/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamSelectFormItem.d.ts +2 -2
  49. package/lib/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamTextFormItem.d.ts +2 -2
  50. package/lib/theme/ApiExplorer/ParamOptions/index.d.ts +2 -2
  51. package/lib/theme/ApiExplorer/Request/index.d.ts +2 -2
  52. package/lib/theme/ApiExplorer/Response/index.d.ts +2 -2
  53. package/lib/theme/ApiExplorer/SecuritySchemes/index.d.ts +2 -2
  54. package/lib/theme/ApiExplorer/Server/index.d.ts +2 -2
  55. package/lib/theme/ApiExplorer/index.d.ts +2 -2
  56. package/lib/theme/ApiExplorer/index.js +1 -1
  57. package/lib/theme/ApiItem/index.d.ts +2 -2
  58. package/lib/theme/ApiItem/index.js +4 -3
  59. package/lib/theme/ApiItem/store.d.ts +4 -4
  60. package/lib/theme/ApiLogo/index.d.ts +2 -2
  61. package/lib/theme/ApiTabs/index.d.ts +7 -0
  62. package/lib/theme/ApiTabs/index.js +155 -97
  63. package/lib/theme/DiscriminatorTabs/index.d.ts +3 -0
  64. package/lib/theme/DiscriminatorTabs/index.js +146 -94
  65. package/lib/theme/Markdown/index.js +37 -0
  66. package/lib/theme/MimeTabs/index.d.ts +6 -0
  67. package/lib/theme/MimeTabs/index.js +163 -114
  68. package/lib/theme/OperationTabs/_OperationTabs.scss +68 -0
  69. package/lib/theme/OperationTabs/index.d.ts +3 -0
  70. package/lib/theme/OperationTabs/index.js +232 -0
  71. package/lib/theme/ParamsItem/index.d.ts +22 -0
  72. package/lib/theme/ParamsItem/index.js +154 -109
  73. package/lib/theme/ResponseSamples/index.d.ts +8 -0
  74. package/lib/theme/ResponseSamples/index.js +18 -13
  75. package/lib/theme/SchemaItem/index.d.ts +12 -0
  76. package/lib/theme/SchemaItem/index.js +123 -89
  77. package/lib/theme/SchemaTabs/index.d.ts +3 -0
  78. package/lib/theme/SchemaTabs/index.js +142 -91
  79. package/lib/theme/styles.scss +1 -0
  80. package/package.json +4 -4
  81. package/src/markdown/utils.ts +4 -2
  82. package/src/theme/ApiDemoPanel/ApiCodeBlock/ExpandButton/{index.js → index.tsx} +21 -8
  83. package/src/theme/ApiExplorer/ApiCodeBlock/Container/{index.js → index.tsx} +6 -3
  84. package/src/theme/ApiExplorer/ApiCodeBlock/Content/{Element.js → Element.tsx} +5 -1
  85. package/src/theme/ApiExplorer/ApiCodeBlock/Content/{String.js → String.tsx} +4 -4
  86. package/src/theme/ApiExplorer/ApiCodeBlock/CopyButton/{index.js → index.tsx} +8 -3
  87. package/src/theme/ApiExplorer/ApiCodeBlock/ExitButton/{index.js → index.tsx} +9 -1
  88. package/src/theme/ApiExplorer/ApiCodeBlock/ExpandButton/{index.js → index.tsx} +12 -2
  89. package/src/theme/ApiExplorer/ApiCodeBlock/Line/{index.js → index.tsx} +2 -1
  90. package/src/theme/ApiExplorer/ApiCodeBlock/WordWrapButton/{index.js → index.tsx} +11 -1
  91. package/src/theme/ApiExplorer/ApiCodeBlock/{index.js → index.tsx} +10 -5
  92. package/src/theme/ApiExplorer/Body/index.tsx +3 -1
  93. package/src/theme/ApiExplorer/CodeSnippets/code-snippets-types.ts +55 -0
  94. package/src/theme/ApiExplorer/CodeSnippets/index.tsx +94 -21
  95. package/src/theme/ApiExplorer/CodeSnippets/languages.json +0 -96
  96. package/src/theme/ApiExplorer/CodeSnippets/languages.ts +37 -0
  97. package/src/theme/ApiExplorer/CodeTabs/_CodeTabs.scss +14 -0
  98. package/src/theme/ApiExplorer/CodeTabs/{index.js → index.tsx} +57 -25
  99. package/src/theme/ApiExplorer/index.tsx +1 -1
  100. package/src/theme/ApiItem/index.tsx +3 -4
  101. package/src/theme/ApiLogo/index.tsx +1 -1
  102. package/src/theme/ApiTabs/{index.js → index.tsx} +63 -25
  103. package/src/theme/DiscriminatorTabs/{index.js → index.tsx} +57 -24
  104. package/src/theme/Markdown/index.js +37 -0
  105. package/src/theme/MimeTabs/{index.js → index.tsx} +58 -26
  106. package/src/theme/OperationTabs/_OperationTabs.scss +68 -0
  107. package/src/theme/OperationTabs/index.tsx +216 -0
  108. package/src/theme/ParamsItem/{index.js → index.tsx} +28 -13
  109. package/src/theme/ResponseSamples/{index.js → index.tsx} +10 -1
  110. package/src/theme/SchemaItem/{index.js → index.tsx} +18 -9
  111. package/src/theme/SchemaTabs/{index.js → index.tsx} +56 -25
  112. package/src/theme/styles.scss +1 -0
  113. package/src/theme-classic.d.ts +69 -2
  114. package/src/theme-openapi.d.ts +4 -0
  115. package/tsconfig.json +4 -1
@@ -0,0 +1,22 @@
1
+ import React from "react";
2
+ interface Map<T> {
3
+ [key: string]: T;
4
+ }
5
+ export interface ExampleObject {
6
+ summary?: string;
7
+ description?: string;
8
+ value?: any;
9
+ externalValue?: string;
10
+ }
11
+ export interface Props {
12
+ param: {
13
+ description: string;
14
+ example: any;
15
+ examples: Map<ExampleObject>;
16
+ name: string;
17
+ required: boolean;
18
+ schema: any;
19
+ };
20
+ }
21
+ declare function ParamsItem({ param: { description, example, examples, name, required, schema }, }: Props): React.JSX.Element;
22
+ export default ParamsItem;
@@ -1,136 +1,181 @@
1
+ "use strict";
1
2
  /* ============================================================================
2
3
  * Copyright (c) Palo Alto Networks
3
4
  *
4
5
  * This source code is licensed under the MIT license found in the
5
6
  * LICENSE file in the root directory of this source tree.
6
7
  * ========================================================================== */
7
-
8
- import React from "react";
9
-
10
- import CodeBlock from "@theme/CodeBlock";
11
- import SchemaTabs from "@theme/SchemaTabs";
12
- import TabItem from "@theme/TabItem";
13
- /* eslint-disable import/no-extraneous-dependencies*/
14
- import { createDescription } from "docusaurus-theme-openapi-docs/lib/markdown/createDescription";
15
- /* eslint-disable import/no-extraneous-dependencies*/
16
- import {
17
- getQualifierMessage,
18
- getSchemaName,
19
- } from "docusaurus-theme-openapi-docs/lib/markdown/schema";
20
- /* eslint-disable import/no-extraneous-dependencies*/
21
- import {
22
- guard,
23
- toString,
24
- } from "docusaurus-theme-openapi-docs/lib/markdown/utils";
25
- import ReactMarkdown from "react-markdown";
26
- import rehypeRaw from "rehype-raw";
27
-
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 CodeBlock_1 = __importDefault(require("@theme/CodeBlock"));
16
+ const SchemaTabs_1 = __importDefault(require("@theme/SchemaTabs"));
17
+ const TabItem_1 = __importDefault(require("@theme/TabItem"));
18
+ const react_markdown_1 = __importDefault(require("react-markdown"));
19
+ const rehype_raw_1 = __importDefault(require("rehype-raw"));
20
+ const createDescription_1 = require("../../markdown/createDescription");
21
+ const schema_1 = require("../../markdown/schema");
22
+ const utils_1 = require("../../markdown/utils");
28
23
  function ParamsItem({
29
24
  param: { description, example, examples, name, required, schema },
30
25
  }) {
31
26
  if (!schema || !schema?.type) {
32
27
  schema = { type: "any" };
33
28
  }
34
-
35
- const renderSchemaName = guard(schema, (schema) => (
36
- <span className="openapi-schema__type"> {getSchemaName(schema)}</span>
37
- ));
38
-
39
- const renderSchemaRequired = guard(required, () => (
40
- <span className="openapi-schema__required">required</span>
41
- ));
42
-
43
- const renderSchema = guard(getQualifierMessage(schema), (message) => (
44
- <div>
45
- <ReactMarkdown
46
- children={createDescription(message)}
47
- rehypePlugins={[rehypeRaw]}
48
- />
49
- </div>
50
- ));
51
-
52
- const renderDescription = guard(description, (description) => (
53
- <div>
54
- <ReactMarkdown
55
- children={createDescription(description)}
56
- components={{
29
+ const renderSchemaName = (0, utils_1.guard)(schema, (schema) =>
30
+ react_1.default.createElement(
31
+ "span",
32
+ { className: "openapi-schema__type" },
33
+ " ",
34
+ (0, schema_1.getSchemaName)(schema)
35
+ )
36
+ );
37
+ const renderSchemaRequired = (0, utils_1.guard)(required, () =>
38
+ react_1.default.createElement(
39
+ "span",
40
+ { className: "openapi-schema__required" },
41
+ "required"
42
+ )
43
+ );
44
+ const renderSchema = (0, utils_1.guard)(
45
+ (0, schema_1.getQualifierMessage)(schema),
46
+ (message) =>
47
+ react_1.default.createElement(
48
+ "div",
49
+ null,
50
+ react_1.default.createElement(react_markdown_1.default, {
51
+ children: (0, createDescription_1.createDescription)(message),
52
+ rehypePlugins: [rehype_raw_1.default],
53
+ })
54
+ )
55
+ );
56
+ const renderDescription = (0, utils_1.guard)(description, (description) =>
57
+ react_1.default.createElement(
58
+ "div",
59
+ null,
60
+ react_1.default.createElement(react_markdown_1.default, {
61
+ children: (0, createDescription_1.createDescription)(description),
62
+ components: {
57
63
  pre: "div",
58
64
  code({ node, inline, className, children, ...props }) {
59
65
  const match = /language-(\w+)/.exec(className || "");
60
- if (inline) return <code>{children}</code>;
61
- return !inline && match ? (
62
- <CodeBlock className={className}>{children}</CodeBlock>
63
- ) : (
64
- <CodeBlock>{children}</CodeBlock>
65
- );
66
+ if (inline)
67
+ return react_1.default.createElement("code", null, children);
68
+ return !inline && match
69
+ ? react_1.default.createElement(
70
+ CodeBlock_1.default,
71
+ { className: className },
72
+ children
73
+ )
74
+ : react_1.default.createElement(
75
+ CodeBlock_1.default,
76
+ null,
77
+ children
78
+ );
66
79
  },
67
- }}
68
- rehypePlugins={[rehypeRaw]}
69
- />
70
- </div>
71
- ));
72
-
73
- const renderDefaultValue = guard(
80
+ },
81
+ rehypePlugins: [rehype_raw_1.default],
82
+ })
83
+ )
84
+ );
85
+ const renderDefaultValue = (0, utils_1.guard)(
74
86
  schema && schema.items
75
87
  ? schema.items.default
76
88
  : schema
77
89
  ? schema.default
78
90
  : undefined,
79
- (value) => (
80
- <div>
81
- <ReactMarkdown children={`**Default value:** \`${value}\``} />
82
- </div>
83
- )
91
+ (value) =>
92
+ react_1.default.createElement(
93
+ "div",
94
+ null,
95
+ react_1.default.createElement(react_markdown_1.default, {
96
+ children: `**Default value:** \`${value}\``,
97
+ })
98
+ )
99
+ );
100
+ const renderExample = (0, utils_1.guard)(
101
+ (0, utils_1.toString)(example),
102
+ (example) =>
103
+ react_1.default.createElement(
104
+ "div",
105
+ null,
106
+ react_1.default.createElement("strong", null, "Example: "),
107
+ example
108
+ )
84
109
  );
85
-
86
- const renderExample = guard(toString(example), (example) => (
87
- <div>
88
- <strong>Example: </strong>
89
- {example}
90
- </div>
91
- ));
92
-
93
- const renderExamples = guard(examples, (examples) => {
110
+ const renderExamples = (0, utils_1.guard)(examples, (examples) => {
94
111
  const exampleEntries = Object.entries(examples);
95
- return (
96
- <>
97
- <strong>Examples:</strong>
98
- <SchemaTabs>
99
- {exampleEntries.map(([exampleName, exampleProperties]) => (
100
- <TabItem value={exampleName} label={exampleName}>
101
- {exampleProperties.summary && <p>{exampleProperties.summary}</p>}
102
- {exampleProperties.description && (
103
- <p>
104
- <strong>Description: </strong>
105
- <span>{exampleProperties.description}</span>
106
- </p>
107
- )}
108
- <p>
109
- <strong>Example: </strong>
110
- <code>{exampleProperties.value}</code>
111
- </p>
112
- </TabItem>
113
- ))}
114
- </SchemaTabs>
115
- </>
112
+ return react_1.default.createElement(
113
+ react_1.default.Fragment,
114
+ null,
115
+ react_1.default.createElement("strong", null, "Examples:"),
116
+ react_1.default.createElement(
117
+ SchemaTabs_1.default,
118
+ null,
119
+ exampleEntries.map(([exampleName, exampleProperties]) =>
120
+ // @ts-ignore
121
+ react_1.default.createElement(
122
+ TabItem_1.default,
123
+ { value: exampleName, label: exampleName },
124
+ exampleProperties.summary &&
125
+ react_1.default.createElement(
126
+ "p",
127
+ null,
128
+ exampleProperties.summary
129
+ ),
130
+ exampleProperties.description &&
131
+ react_1.default.createElement(
132
+ "p",
133
+ null,
134
+ react_1.default.createElement("strong", null, "Description: "),
135
+ react_1.default.createElement(
136
+ "span",
137
+ null,
138
+ exampleProperties.description
139
+ )
140
+ ),
141
+ react_1.default.createElement(
142
+ "p",
143
+ null,
144
+ react_1.default.createElement("strong", null, "Example: "),
145
+ react_1.default.createElement(
146
+ "code",
147
+ null,
148
+ exampleProperties.value
149
+ )
150
+ )
151
+ )
152
+ )
153
+ )
116
154
  );
117
155
  });
118
-
119
- return (
120
- <div className="openapi-params__list-item">
121
- <span className="openapi-schema__container">
122
- <strong className="openapi-schema__property">{name}</strong>
123
- {renderSchemaName}
124
- {required && <span className="openapi-schema__divider"></span>}
125
- {renderSchemaRequired}
126
- </span>
127
- {renderSchema}
128
- {renderDefaultValue}
129
- {renderDescription}
130
- {renderExample}
131
- {renderExamples}
132
- </div>
156
+ return react_1.default.createElement(
157
+ "div",
158
+ { className: "openapi-params__list-item" },
159
+ react_1.default.createElement(
160
+ "span",
161
+ { className: "openapi-schema__container" },
162
+ react_1.default.createElement(
163
+ "strong",
164
+ { className: "openapi-schema__property" },
165
+ name
166
+ ),
167
+ renderSchemaName,
168
+ required &&
169
+ react_1.default.createElement("span", {
170
+ className: "openapi-schema__divider",
171
+ }),
172
+ renderSchemaRequired
173
+ ),
174
+ renderSchema,
175
+ renderDefaultValue,
176
+ renderDescription,
177
+ renderExample,
178
+ renderExamples
133
179
  );
134
180
  }
135
-
136
- export default ParamsItem;
181
+ exports.default = ParamsItem;
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import { Language } from "prism-react-renderer";
3
+ export interface Props {
4
+ readonly responseExample: string;
5
+ readonly language: Language;
6
+ }
7
+ declare function ResponseSamples({ responseExample, language, }: Props): React.JSX.Element;
8
+ export default ResponseSamples;
@@ -1,22 +1,27 @@
1
+ "use strict";
1
2
  /* ============================================================================
2
3
  * Copyright (c) Palo Alto Networks
3
4
  *
4
5
  * This source code is licensed under the MIT license found in the
5
6
  * LICENSE file in the root directory of this source tree.
6
7
  * ========================================================================== */
7
-
8
- import React from "react";
9
-
10
- import CodeBlock from "@theme/CodeBlock";
11
-
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 CodeBlock_1 = __importDefault(require("@theme/CodeBlock"));
12
16
  function ResponseSamples({ responseExample, language }) {
13
- return (
14
- <div className="openapi-code__response-samples-container">
15
- <CodeBlock language={language ? language : "json"}>
16
- {responseExample}
17
- </CodeBlock>
18
- </div>
17
+ return react_1.default.createElement(
18
+ "div",
19
+ { className: "openapi-code__response-samples-container" },
20
+ react_1.default.createElement(
21
+ CodeBlock_1.default,
22
+ { language: language ? language : "json" },
23
+ responseExample
24
+ )
19
25
  );
20
26
  }
21
-
22
- export default ResponseSamples;
27
+ exports.default = ResponseSamples;
@@ -0,0 +1,12 @@
1
+ import React, { ReactNode } from "react";
2
+ export interface Props {
3
+ children: ReactNode;
4
+ collapsible: boolean;
5
+ name: string;
6
+ qualifierMessage: string | undefined;
7
+ required: boolean;
8
+ schemaName: string;
9
+ schema: any;
10
+ discriminator: boolean;
11
+ }
12
+ export default function SchemaItem({ children: collapsibleSchemaContent, collapsible, name, qualifierMessage, required, schemaName, schema, }: Props): React.JSX.Element;
@@ -1,21 +1,23 @@
1
+ "use strict";
1
2
  /* ============================================================================
2
3
  * Copyright (c) Palo Alto Networks
3
4
  *
4
5
  * This source code is licensed under the MIT license found in the
5
6
  * LICENSE file in the root directory of this source tree.
6
7
  * ========================================================================== */
7
-
8
- import React from "react";
9
-
10
- import CodeBlock from "@theme/CodeBlock";
11
- /* eslint-disable import/no-extraneous-dependencies*/
12
- import clsx from "clsx";
13
- import { createDescription } from "docusaurus-theme-openapi-docs/lib/markdown/createDescription";
14
- /* eslint-disable import/no-extraneous-dependencies*/
15
- import { guard } from "docusaurus-theme-openapi-docs/lib/markdown/utils";
16
- import ReactMarkdown from "react-markdown";
17
- import rehypeRaw from "rehype-raw";
18
-
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 CodeBlock_1 = __importDefault(require("@theme/CodeBlock"));
16
+ const clsx_1 = __importDefault(require("clsx"));
17
+ const react_markdown_1 = __importDefault(require("react-markdown"));
18
+ const rehype_raw_1 = __importDefault(require("rehype-raw"));
19
+ const createDescription_1 = require("../../markdown/createDescription");
20
+ const utils_1 = require("../../markdown/utils");
19
21
  function SchemaItem({
20
22
  children: collapsibleSchemaContent,
21
23
  collapsible,
@@ -35,89 +37,121 @@ function SchemaItem({
35
37
  defaultValue = schema.default;
36
38
  nullable = schema.nullable;
37
39
  }
38
-
39
- const renderRequired = guard(
40
+ const renderRequired = (0, utils_1.guard)(
40
41
  Array.isArray(required) ? required.includes(name) : required,
41
- () => <span className="openapi-schema__required">required</span>
42
+ () =>
43
+ react_1.default.createElement(
44
+ "span",
45
+ { className: "openapi-schema__required" },
46
+ "required"
47
+ )
42
48
  );
43
-
44
- const renderDeprecated = guard(deprecated, () => (
45
- <span className="openapi-schema__deprecated">deprecated</span>
46
- ));
47
-
48
- const renderNullable = guard(nullable, () => (
49
- <span className="openapi-schema__nullable">nullable</span>
50
- ));
51
-
52
- const renderSchemaDescription = guard(schemaDescription, (description) => (
53
- <div>
54
- <ReactMarkdown
55
- children={createDescription(description)}
56
- components={{
57
- pre: "div",
58
- code({ node, inline, className, children, ...props }) {
59
- const match = /language-(\w+)/.exec(className || "");
60
- if (inline) return <code>{children}</code>;
61
- return !inline && match ? (
62
- <CodeBlock className={className}>{children}</CodeBlock>
63
- ) : (
64
- <CodeBlock>{children}</CodeBlock>
65
- );
49
+ const renderDeprecated = (0, utils_1.guard)(deprecated, () =>
50
+ react_1.default.createElement(
51
+ "span",
52
+ { className: "openapi-schema__deprecated" },
53
+ "deprecated"
54
+ )
55
+ );
56
+ const renderNullable = (0, utils_1.guard)(nullable, () =>
57
+ react_1.default.createElement(
58
+ "span",
59
+ { className: "openapi-schema__nullable" },
60
+ "nullable"
61
+ )
62
+ );
63
+ const renderSchemaDescription = (0, utils_1.guard)(
64
+ schemaDescription,
65
+ (description) =>
66
+ react_1.default.createElement(
67
+ "div",
68
+ null,
69
+ react_1.default.createElement(react_markdown_1.default, {
70
+ children: (0, createDescription_1.createDescription)(description),
71
+ components: {
72
+ pre: "div",
73
+ code({ node, inline, className, children, ...props }) {
74
+ const match = /language-(\w+)/.exec(className || "");
75
+ if (inline)
76
+ return react_1.default.createElement("code", null, children);
77
+ return !inline && match
78
+ ? react_1.default.createElement(
79
+ CodeBlock_1.default,
80
+ { className: className },
81
+ children
82
+ )
83
+ : react_1.default.createElement(
84
+ CodeBlock_1.default,
85
+ null,
86
+ children
87
+ );
88
+ },
66
89
  },
67
- }}
68
- rehypePlugins={[rehypeRaw]}
69
- />
70
- </div>
71
- ));
72
-
73
- const renderQualifierMessage = guard(qualifierMessage, (message) => (
74
- <div>
75
- <ReactMarkdown
76
- children={createDescription(message)}
77
- rehypePlugins={[rehypeRaw]}
78
- />
79
- </div>
80
- ));
81
-
82
- const renderDefaultValue = guard(
90
+ rehypePlugins: [rehype_raw_1.default],
91
+ })
92
+ )
93
+ );
94
+ const renderQualifierMessage = (0, utils_1.guard)(
95
+ qualifierMessage,
96
+ (message) =>
97
+ react_1.default.createElement(
98
+ "div",
99
+ null,
100
+ react_1.default.createElement(react_markdown_1.default, {
101
+ children: (0, createDescription_1.createDescription)(message),
102
+ rehypePlugins: [rehype_raw_1.default],
103
+ })
104
+ )
105
+ );
106
+ const renderDefaultValue = (0, utils_1.guard)(
83
107
  typeof defaultValue === "boolean" ? defaultValue.toString() : defaultValue,
84
- (value) => (
85
- <div className="">
86
- <ReactMarkdown children={`**Default value:** \`${value}\``} />
87
- </div>
88
- )
108
+ (value) =>
109
+ react_1.default.createElement(
110
+ "div",
111
+ { className: "" },
112
+ react_1.default.createElement(react_markdown_1.default, {
113
+ children: `**Default value:** \`${value}\``,
114
+ })
115
+ )
89
116
  );
90
-
91
- const schemaContent = (
92
- <div>
93
- <span className="openapi-schema__container">
94
- <strong
95
- className={clsx("openapi-schema__property", {
117
+ const schemaContent = react_1.default.createElement(
118
+ "div",
119
+ null,
120
+ react_1.default.createElement(
121
+ "span",
122
+ { className: "openapi-schema__container" },
123
+ react_1.default.createElement(
124
+ "strong",
125
+ {
126
+ className: (0, clsx_1.default)("openapi-schema__property", {
96
127
  "openapi-schema__strikethrough": deprecated,
97
- })}
98
- >
99
- {name}
100
- </strong>
101
- <span className="openapi-schema__name"> {schemaName}</span>
102
- {(nullable || required || deprecated) && (
103
- <span className="openapi-schema__divider"></span>
104
- )}
105
- {renderNullable}
106
- {!deprecated && renderRequired}
107
- {renderDeprecated}
108
- </span>
109
- {renderQualifierMessage}
110
- {renderDefaultValue}
111
- {renderSchemaDescription}
112
- {collapsibleSchemaContent ?? collapsibleSchemaContent}
113
- </div>
128
+ }),
129
+ },
130
+ name
131
+ ),
132
+ react_1.default.createElement(
133
+ "span",
134
+ { className: "openapi-schema__name" },
135
+ " ",
136
+ schemaName
137
+ ),
138
+ (nullable || required || deprecated) &&
139
+ react_1.default.createElement("span", {
140
+ className: "openapi-schema__divider",
141
+ }),
142
+ renderNullable,
143
+ !deprecated && renderRequired,
144
+ renderDeprecated
145
+ ),
146
+ renderQualifierMessage,
147
+ renderDefaultValue,
148
+ renderSchemaDescription,
149
+ collapsibleSchemaContent ?? collapsibleSchemaContent
114
150
  );
115
-
116
- return (
117
- <div className="openapi-schema__list-item">
118
- {collapsible ? collapsibleSchemaContent : schemaContent}
119
- </div>
151
+ return react_1.default.createElement(
152
+ "div",
153
+ { className: "openapi-schema__list-item" },
154
+ collapsible ? collapsibleSchemaContent : schemaContent
120
155
  );
121
156
  }
122
-
123
- export default SchemaItem;
157
+ exports.default = SchemaItem;
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ import { TabProps } from "@docusaurus/theme-common/internal";
3
+ export default function SchemaTabs(props: TabProps): React.JSX.Element;