docusaurus-theme-openapi-docs 0.0.0-1056 → 0.0.0-1069

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 (33) hide show
  1. package/lib/theme/ApiExplorer/CodeSnippets/index.js +2 -2
  2. package/lib/theme/ApiExplorer/CodeTabs/index.d.ts +3 -3
  3. package/lib/theme/ApiExplorer/CodeTabs/index.js +2 -2
  4. package/lib/theme/ApiExplorer/FormTextInput/index.d.ts +2 -0
  5. package/lib/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamArrayFormItem.js +5 -4
  6. package/lib/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamBooleanFormItem.js +1 -2
  7. package/lib/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamMultiSelectFormItem.js +2 -3
  8. package/lib/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamSelectFormItem.js +1 -1
  9. package/lib/theme/ApiExplorer/persistanceMiddleware.d.ts +17 -1
  10. package/lib/theme/ApiItem/Layout/index.d.ts +1 -1
  11. package/lib/theme/ApiItem/hooks.d.ts +9 -1
  12. package/lib/theme/ApiItem/store.d.ts +53 -5
  13. package/lib/theme/Schema/index.js +27 -5
  14. package/lib/theme/SchemaTabs/index.js +4 -1
  15. package/package.json +3 -3
  16. package/src/theme/ApiExplorer/Authorization/index.tsx +1 -1
  17. package/src/theme/ApiExplorer/Body/index.tsx +1 -1
  18. package/src/theme/ApiExplorer/Body/json2xml.d.ts +8 -0
  19. package/src/theme/ApiExplorer/CodeSnippets/index.tsx +5 -5
  20. package/src/theme/ApiExplorer/CodeTabs/index.tsx +6 -5
  21. package/src/theme/ApiExplorer/ContentType/index.tsx +1 -1
  22. package/src/theme/ApiExplorer/FormTextInput/index.tsx +2 -0
  23. package/src/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamArrayFormItem.tsx +6 -5
  24. package/src/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamBooleanFormItem.tsx +2 -3
  25. package/src/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamMultiSelectFormItem.tsx +2 -3
  26. package/src/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamSelectFormItem.tsx +2 -2
  27. package/src/theme/ApiExplorer/Server/index.tsx +2 -2
  28. package/src/theme/ApiItem/Layout/index.tsx +1 -1
  29. package/src/theme/Markdown/index.d.ts +8 -0
  30. package/src/theme/Schema/index.tsx +33 -8
  31. package/src/theme/SchemaTabs/index.tsx +4 -1
  32. package/src/theme-openapi.d.ts +7 -275
  33. package/tsconfig.tsbuildinfo +1 -1
@@ -325,7 +325,7 @@ function CodeSnippets({
325
325
  setSelectedSample: setSelectedSample,
326
326
  },
327
327
  includeSample: true,
328
- currentLanguage: lang.language,
328
+ currentLanguage: lang,
329
329
  defaultValue: selectedSample,
330
330
  languageSet: mergedLangs,
331
331
  lazy: true,
@@ -364,7 +364,7 @@ function CodeSnippets({
364
364
  setSelectedVariant: setSelectedVariant,
365
365
  },
366
366
  includeVariant: true,
367
- currentLanguage: lang.language,
367
+ currentLanguage: lang,
368
368
  defaultValue: selectedVariant,
369
369
  languageSet: mergedLangs,
370
370
  lazy: true,
@@ -1,13 +1,13 @@
1
1
  import React from "react";
2
2
  import { type TabProps } from "@docusaurus/theme-common/internal";
3
- import { Language } from "@theme/ApiExplorer/CodeSnippets";
3
+ import { Language } from "../CodeSnippets/code-snippets-types";
4
4
  export interface Props {
5
5
  action: {
6
6
  [key: string]: React.Dispatch<any>;
7
7
  };
8
- currentLanguage: Language;
8
+ currentLanguage?: Language;
9
9
  languageSet: Language[];
10
- includeVariant: boolean;
10
+ includeVariant?: boolean;
11
11
  }
12
12
  export interface CodeTabsProps extends Props, TabProps {
13
13
  includeSample?: boolean;
@@ -122,13 +122,13 @@ function TabList({
122
122
  let newLanguage;
123
123
  if (currentLanguage && includeVariant) {
124
124
  newLanguage = languageSet.filter(
125
- (lang) => lang.language === currentLanguage
125
+ (lang) => lang.language === currentLanguage.language
126
126
  )[0];
127
127
  newLanguage.variant = newTabValue;
128
128
  action.setSelectedVariant(newTabValue.toLowerCase());
129
129
  } else if (currentLanguage && includeSample) {
130
130
  newLanguage = languageSet.filter(
131
- (lang) => lang.language === currentLanguage
131
+ (lang) => lang.language === currentLanguage.language
132
132
  )[0];
133
133
  newLanguage.sample = newTabValue;
134
134
  action.setSelectedSample(newTabValue);
@@ -4,6 +4,8 @@ export interface Props {
4
4
  placeholder?: string;
5
5
  password?: boolean;
6
6
  onChange?: React.ChangeEventHandler<HTMLInputElement>;
7
+ paramName?: string;
8
+ isRequired?: boolean;
7
9
  }
8
10
  declare function FormTextInput({ isRequired, value, placeholder, password, onChange, paramName, }: Props): React.JSX.Element;
9
11
  export default FormTextInput;
@@ -128,14 +128,15 @@ function ParamArrayFormItem({ param }) {
128
128
  // eslint-disable-next-line react-hooks/exhaustive-deps
129
129
  }, [items]);
130
130
  (0, react_1.useEffect)(() => {
131
- if (param.schema?.example?.length > 0) {
132
- const examplesWithIds = param.schema.example.map((item) => ({
131
+ const example = param.schema?.example;
132
+ if (Array.isArray(example) && example.length > 0) {
133
+ const examplesWithIds = example.map((item) => ({
133
134
  id: (0, toolkit_1.nanoid)(),
134
135
  value: item.toString(),
135
136
  }));
136
137
  setItems(examplesWithIds);
137
138
  }
138
- }, [param.schema.example, param.schema.length]);
139
+ }, [param.schema?.example]);
139
140
  function handleDeleteItem(itemToDelete) {
140
141
  return () => {
141
142
  const newItems = items.filter((i) => i.id !== itemToDelete.id);
@@ -168,7 +169,7 @@ function ParamArrayFormItem({ param }) {
168
169
  : false,
169
170
  },
170
171
  name: "paramArray",
171
- render: ({ field: { onChange, name } }) =>
172
+ render: ({ field: { onChange } }) =>
172
173
  react_1.default.createElement(
173
174
  react_1.default.Fragment,
174
175
  null,
@@ -41,9 +41,8 @@ function ParamBooleanFormItem({ param }) {
41
41
  : false,
42
42
  },
43
43
  name: "paramBoolean",
44
- render: ({ field: { onChange, name } }) =>
44
+ render: ({ field: { onChange } }) =>
45
45
  react_1.default.createElement(FormSelect_1.default, {
46
- name: name,
47
46
  options: ["---", "true", "false"],
48
47
  onChange: (e) => {
49
48
  const val = e.target.value;
@@ -75,12 +75,11 @@ function ParamMultiSelectFormItem({ param }) {
75
75
  : false,
76
76
  },
77
77
  name: "paramMultiSelect",
78
- render: ({ field: { onChange, name } }) =>
78
+ render: ({ field: { onChange } }) =>
79
79
  react_1.default.createElement(FormMultiSelect_1.default, {
80
80
  options: options,
81
- name: name,
82
81
  onChange: (e) => handleChange(e, onChange),
83
- showErrors: showErrorMessage,
82
+ showErrors: !!showErrorMessage,
84
83
  }),
85
84
  }),
86
85
  showErrorMessage &&
@@ -42,7 +42,7 @@ function ParamSelectFormItem({ param }) {
42
42
  : false,
43
43
  },
44
44
  name: "paramSelect",
45
- render: ({ field: { onChange, name } }) =>
45
+ render: ({ field: { onChange } }) =>
46
46
  react_1.default.createElement(FormSelect_1.default, {
47
47
  options: ["---", ...options],
48
48
  onChange: (e) => {
@@ -1,3 +1,19 @@
1
1
  import { Middleware } from "@reduxjs/toolkit";
2
2
  import { ThemeConfig } from "docusaurus-theme-openapi-docs/src/types";
3
- export declare function createPersistanceMiddleware(options: ThemeConfig["api"]): Middleware<{}, RootState, AppDispatch>;
3
+ export declare function createPersistanceMiddleware(options: ThemeConfig["api"]): Middleware<{}, {
4
+ accept: import("./Accept/slice").State;
5
+ contentType: import("./ContentType/slice").State;
6
+ response: import("./Response/slice").State;
7
+ server: import("./Server/slice").State;
8
+ body: import("./Body/slice").FormBody | import("./Body/slice").RawBody | import("./Body/slice").EmptyBody;
9
+ params: import("./ParamOptions/slice").State;
10
+ auth: import("@theme/ApiExplorer/Authorization/slice").AuthState;
11
+ }, import("redux-thunk").ThunkDispatch<{
12
+ accept: import("./Accept/slice").State;
13
+ contentType: import("./ContentType/slice").State;
14
+ response: import("./Response/slice").State;
15
+ server: import("./Server/slice").State;
16
+ body: import("./Body/slice").FormBody | import("./Body/slice").RawBody | import("./Body/slice").EmptyBody;
17
+ params: import("./ParamOptions/slice").State;
18
+ auth: import("@theme/ApiExplorer/Authorization/slice").AuthState;
19
+ }, undefined, import("redux").UnknownAction> & import("redux").Dispatch<import("redux").UnknownAction>>;
@@ -1,3 +1,3 @@
1
1
  import { type JSX } from "react";
2
- import type { Props } from "@theme/ApiItem/Layout";
2
+ import type { Props } from "@theme/DocItem/Layout";
3
3
  export default function DocItemLayout({ children }: Props): JSX.Element;
@@ -1,4 +1,12 @@
1
1
  import { TypedUseSelectorHook } from "react-redux";
2
2
  import type { RootState } from "./store";
3
- export declare const useTypedDispatch: () => import("redux-thunk").ThunkDispatch<any, undefined, import("redux").UnknownAction> & import("redux").Dispatch<import("redux").UnknownAction>;
3
+ export declare const useTypedDispatch: () => import("redux-thunk").ThunkDispatch<{
4
+ accept: import("../ApiExplorer/Accept/slice").State;
5
+ contentType: import("../ApiExplorer/ContentType/slice").State;
6
+ response: import("../ApiExplorer/Response/slice").State;
7
+ server: import("../ApiExplorer/Server/slice").State;
8
+ body: import("../ApiExplorer/Body/slice").FormBody | import("../ApiExplorer/Body/slice").RawBody | import("../ApiExplorer/Body/slice").EmptyBody;
9
+ params: import("../ApiExplorer/ParamOptions/slice").State;
10
+ auth: import("../ApiExplorer/Authorization/slice").AuthState;
11
+ }, undefined, import("redux").UnknownAction> & import("redux").Dispatch<import("redux").UnknownAction>;
4
12
  export declare const useTypedSelector: TypedUseSelectorHook<RootState>;
@@ -1,10 +1,58 @@
1
- declare const rootReducer: any;
1
+ declare const rootReducer: import("redux").Reducer<{
2
+ accept: import("@theme/ApiExplorer/Accept/slice").State;
3
+ contentType: import("@theme/ApiExplorer/ContentType/slice").State;
4
+ response: import("@theme/ApiExplorer/Response/slice").State;
5
+ server: import("@theme/ApiExplorer/Server/slice").State;
6
+ body: import("@theme/ApiExplorer/Body/slice").FormBody | import("@theme/ApiExplorer/Body/slice").RawBody | import("@theme/ApiExplorer/Body/slice").EmptyBody;
7
+ params: import("@theme/ApiExplorer/ParamOptions/slice").State;
8
+ auth: import("@theme/ApiExplorer/Authorization/slice").AuthState;
9
+ }, import("redux").UnknownAction, Partial<{
10
+ accept: import("@theme/ApiExplorer/Accept/slice").State | undefined;
11
+ contentType: import("@theme/ApiExplorer/ContentType/slice").State | undefined;
12
+ response: import("@theme/ApiExplorer/Response/slice").State | undefined;
13
+ server: import("@theme/ApiExplorer/Server/slice").State | undefined;
14
+ body: import("@theme/ApiExplorer/Body/slice").FormBody | import("@theme/ApiExplorer/Body/slice").RawBody | import("@theme/ApiExplorer/Body/slice").EmptyBody | undefined;
15
+ params: import("@theme/ApiExplorer/ParamOptions/slice").State | undefined;
16
+ auth: import("@theme/ApiExplorer/Authorization/slice").AuthState | undefined;
17
+ }>>;
2
18
  export type RootState = ReturnType<typeof rootReducer>;
3
- export declare const createStoreWithState: (preloadedState: RootState, middlewares: any[]) => import("@reduxjs/toolkit").EnhancedStore<any, import("redux").UnknownAction, import("@reduxjs/toolkit").Tuple<[import("redux").StoreEnhancer<{
4
- dispatch: import("redux-thunk").ThunkDispatch<any, undefined, import("redux").UnknownAction>;
19
+ export declare const createStoreWithState: (preloadedState: RootState, middlewares: any[]) => import("@reduxjs/toolkit").EnhancedStore<{
20
+ accept: import("@theme/ApiExplorer/Accept/slice").State;
21
+ contentType: import("@theme/ApiExplorer/ContentType/slice").State;
22
+ response: import("@theme/ApiExplorer/Response/slice").State;
23
+ server: import("@theme/ApiExplorer/Server/slice").State;
24
+ body: import("@theme/ApiExplorer/Body/slice").FormBody | import("@theme/ApiExplorer/Body/slice").RawBody | import("@theme/ApiExplorer/Body/slice").EmptyBody;
25
+ params: import("@theme/ApiExplorer/ParamOptions/slice").State;
26
+ auth: import("@theme/ApiExplorer/Authorization/slice").AuthState;
27
+ }, import("redux").UnknownAction, import("@reduxjs/toolkit").Tuple<[import("redux").StoreEnhancer<{
28
+ dispatch: import("redux-thunk").ThunkDispatch<{
29
+ accept: import("@theme/ApiExplorer/Accept/slice").State;
30
+ contentType: import("@theme/ApiExplorer/ContentType/slice").State;
31
+ response: import("@theme/ApiExplorer/Response/slice").State;
32
+ server: import("@theme/ApiExplorer/Server/slice").State;
33
+ body: import("@theme/ApiExplorer/Body/slice").FormBody | import("@theme/ApiExplorer/Body/slice").RawBody | import("@theme/ApiExplorer/Body/slice").EmptyBody;
34
+ params: import("@theme/ApiExplorer/ParamOptions/slice").State;
35
+ auth: import("@theme/ApiExplorer/Authorization/slice").AuthState;
36
+ }, undefined, import("redux").UnknownAction>;
5
37
  }>, import("redux").StoreEnhancer]>>;
6
- export declare const createStoreWithoutState: (preloadedState: {}, middlewares: any[]) => import("@reduxjs/toolkit").EnhancedStore<any, import("redux").UnknownAction, import("@reduxjs/toolkit").Tuple<[import("redux").StoreEnhancer<{
7
- dispatch: import("redux-thunk").ThunkDispatch<any, undefined, import("redux").UnknownAction>;
38
+ export declare const createStoreWithoutState: (preloadedState: {}, middlewares: any[]) => import("@reduxjs/toolkit").EnhancedStore<{
39
+ accept: import("@theme/ApiExplorer/Accept/slice").State;
40
+ contentType: import("@theme/ApiExplorer/ContentType/slice").State;
41
+ response: import("@theme/ApiExplorer/Response/slice").State;
42
+ server: import("@theme/ApiExplorer/Server/slice").State;
43
+ body: import("@theme/ApiExplorer/Body/slice").FormBody | import("@theme/ApiExplorer/Body/slice").RawBody | import("@theme/ApiExplorer/Body/slice").EmptyBody;
44
+ params: import("@theme/ApiExplorer/ParamOptions/slice").State;
45
+ auth: import("@theme/ApiExplorer/Authorization/slice").AuthState;
46
+ }, import("redux").UnknownAction, import("@reduxjs/toolkit").Tuple<[import("redux").StoreEnhancer<{
47
+ dispatch: import("redux-thunk").ThunkDispatch<{
48
+ accept: import("@theme/ApiExplorer/Accept/slice").State;
49
+ contentType: import("@theme/ApiExplorer/ContentType/slice").State;
50
+ response: import("@theme/ApiExplorer/Response/slice").State;
51
+ server: import("@theme/ApiExplorer/Server/slice").State;
52
+ body: import("@theme/ApiExplorer/Body/slice").FormBody | import("@theme/ApiExplorer/Body/slice").RawBody | import("@theme/ApiExplorer/Body/slice").EmptyBody;
53
+ params: import("@theme/ApiExplorer/ParamOptions/slice").State;
54
+ auth: import("@theme/ApiExplorer/Authorization/slice").AuthState;
55
+ }, undefined, import("redux").UnknownAction>;
8
56
  }>, import("redux").StoreEnhancer]>>;
9
57
  export type AppDispatch = ReturnType<typeof createStoreWithState>["dispatch"];
10
58
  export {};
@@ -13,7 +13,6 @@ var __importDefault =
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
14
  const react_1 = __importDefault(require("react"));
15
15
  const Translate_1 = require("@docusaurus/Translate");
16
- const translationIds_1 = require("@theme/translationIds");
17
16
  const ArrayBrackets_1 = require("@theme/ArrayBrackets");
18
17
  const Details_1 = __importDefault(require("@theme/Details"));
19
18
  const DiscriminatorTabs_1 = __importDefault(
@@ -23,6 +22,7 @@ const Markdown_1 = __importDefault(require("@theme/Markdown"));
23
22
  const SchemaItem_1 = __importDefault(require("@theme/SchemaItem"));
24
23
  const SchemaTabs_1 = __importDefault(require("@theme/SchemaTabs"));
25
24
  const TabItem_1 = __importDefault(require("@theme/TabItem"));
25
+ const translationIds_1 = require("@theme/translationIds");
26
26
  // eslint-disable-next-line import/no-extraneous-dependencies
27
27
  const allof_merge_1 = require("allof-merge");
28
28
  const clsx_1 = __importDefault(require("clsx"));
@@ -116,6 +116,11 @@ const AnyOneOf = ({ schema, schemaType }) => {
116
116
  id: translationIds_1.OPENAPI_SCHEMA_ITEM.ANY_OF,
117
117
  message: "anyOf",
118
118
  });
119
+ // Generate a unique ID for this anyOf/oneOf to prevent tab value collisions
120
+ const uniqueId = react_1.default.useMemo(
121
+ () => Math.random().toString(36).substring(7),
122
+ []
123
+ );
119
124
  return react_1.default.createElement(
120
125
  react_1.default.Fragment,
121
126
  null,
@@ -126,14 +131,31 @@ const AnyOneOf = ({ schema, schemaType }) => {
126
131
  ),
127
132
  react_1.default.createElement(
128
133
  SchemaTabs_1.default,
129
- null,
134
+ { groupId: `schema-${uniqueId}`, lazy: true },
130
135
  schema[key]?.map((anyOneSchema, index) => {
131
- const label = anyOneSchema.title || anyOneSchema.type;
136
+ // Determine label for the tab
137
+ // If schema is just oneOf/anyOf without title/type, use a generic label
138
+ let label = anyOneSchema.title || anyOneSchema.type;
139
+ if (!label) {
140
+ if (anyOneSchema.oneOf) {
141
+ label = (0, Translate_1.translate)({
142
+ id: translationIds_1.OPENAPI_SCHEMA_ITEM.ONE_OF,
143
+ message: "oneOf",
144
+ });
145
+ } else if (anyOneSchema.anyOf) {
146
+ label = (0, Translate_1.translate)({
147
+ id: translationIds_1.OPENAPI_SCHEMA_ITEM.ANY_OF,
148
+ message: "anyOf",
149
+ });
150
+ } else {
151
+ label = `Option ${index + 1}`;
152
+ }
153
+ }
132
154
  return (
133
155
  // @ts-ignore
134
156
  react_1.default.createElement(
135
157
  TabItem_1.default,
136
- { key: index, label: label, value: `${index}-item-properties` },
158
+ { key: index, label: label, value: `${uniqueId}-${index}-item` },
137
159
  (isPrimitive(anyOneSchema) || anyOneSchema.const) &&
138
160
  react_1.default.createElement(SchemaItem_1.default, {
139
161
  collapsible: false,
@@ -162,7 +184,7 @@ const AnyOneOf = ({ schema, schemaType }) => {
162
184
  discriminator: false,
163
185
  children: null,
164
186
  }),
165
- anyOneSchema.type === "object" &&
187
+ (anyOneSchema.type === "object" || !anyOneSchema.type) &&
166
188
  anyOneSchema.properties &&
167
189
  react_1.default.createElement(Properties, {
168
190
  schema: anyOneSchema,
@@ -141,7 +141,10 @@ function TabList({ className, block, selectedValue, selectValue, tabValues }) {
141
141
  };
142
142
  return react_1.default.createElement(
143
143
  "div",
144
- { className: "openapi-tabs__schema-tabs-container" },
144
+ {
145
+ className: "openapi-tabs__schema-tabs-container",
146
+ style: { marginBottom: "1rem" },
147
+ },
145
148
  showTabArrows &&
146
149
  react_1.default.createElement("button", {
147
150
  className: "openapi-tabs__arrow left",
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": "0.0.0-1056",
4
+ "version": "0.0.0-1069",
5
5
  "license": "MIT",
6
6
  "keywords": [
7
7
  "openapi",
@@ -38,7 +38,7 @@
38
38
  "@types/postman-collection": "^3.5.11",
39
39
  "@types/react-modal": "^3.16.3",
40
40
  "concurrently": "^9.2.0",
41
- "docusaurus-plugin-openapi-docs": "0.0.0-1056",
41
+ "docusaurus-plugin-openapi-docs": "0.0.0-1069",
42
42
  "docusaurus-plugin-sass": "^0.2.6",
43
43
  "eslint-plugin-prettier": "^5.5.1"
44
44
  },
@@ -81,5 +81,5 @@
81
81
  "engines": {
82
82
  "node": ">=14"
83
83
  },
84
- "gitHead": "4ff12f6d3557a3b08714f7236e978a44f0e6826b"
84
+ "gitHead": "68650d41c8460a20c228d851f869e495c5608796"
85
85
  }
@@ -43,7 +43,7 @@ function Authorization() {
43
43
  <FormSelect
44
44
  options={optionKeys}
45
45
  value={selected}
46
- onChange={(e: React.ChangeEvent<HTMLInputElement>) => {
46
+ onChange={(e: React.ChangeEvent<HTMLSelectElement>) => {
47
47
  dispatch(setSelectedAuth(e.target.value));
48
48
  }}
49
49
  />
@@ -174,7 +174,7 @@ function Body({
174
174
  >
175
175
  <FormSelect
176
176
  options={["---", ...val.enum]}
177
- onChange={(e: React.ChangeEvent<HTMLInputElement>) => {
177
+ onChange={(e: React.ChangeEvent<HTMLSelectElement>) => {
178
178
  const val = e.target.value;
179
179
  if (val === "---") {
180
180
  dispatch(clearFormBodyKey(key));
@@ -0,0 +1,8 @@
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
+ export default function json2xml(input: any, indent?: any): any;
@@ -141,9 +141,9 @@ function CodeSnippets({
141
141
  return defaultLang[0] ?? mergedLangs[0];
142
142
  });
143
143
  const [codeText, setCodeText] = useState<string>("");
144
- const [codeSampleCodeText, setCodeSampleCodeText] = useState<
145
- string | (() => string)
146
- >(() => getCodeSampleSourceFromLanguage(language));
144
+ const [codeSampleCodeText, setCodeSampleCodeText] = useState<string>(() =>
145
+ getCodeSampleSourceFromLanguage(language)
146
+ );
147
147
 
148
148
  useEffect(() => {
149
149
  if (language && !!language.sample) {
@@ -273,7 +273,7 @@ function CodeSnippets({
273
273
  setSelectedSample: setSelectedSample,
274
274
  }}
275
275
  includeSample={true}
276
- currentLanguage={lang.language}
276
+ currentLanguage={lang}
277
277
  defaultValue={selectedSample}
278
278
  languageSet={mergedLangs}
279
279
  lazy
@@ -314,7 +314,7 @@ function CodeSnippets({
314
314
  setSelectedVariant: setSelectedVariant,
315
315
  }}
316
316
  includeVariant={true}
317
- currentLanguage={lang.language}
317
+ currentLanguage={lang}
318
318
  defaultValue={selectedVariant}
319
319
  languageSet={mergedLangs}
320
320
  lazy
@@ -15,16 +15,17 @@ import {
15
15
  } from "@docusaurus/theme-common/internal";
16
16
  import { TabItemProps } from "@docusaurus/theme-common/lib/utils/tabsUtils";
17
17
  import useIsBrowser from "@docusaurus/useIsBrowser";
18
- import { Language } from "@theme/ApiExplorer/CodeSnippets";
19
18
  import clsx from "clsx";
20
19
 
20
+ import { Language } from "../CodeSnippets/code-snippets-types";
21
+
21
22
  export interface Props {
22
23
  action: {
23
24
  [key: string]: React.Dispatch<any>;
24
25
  };
25
- currentLanguage: Language;
26
+ currentLanguage?: Language;
26
27
  languageSet: Language[];
27
- includeVariant: boolean;
28
+ includeVariant?: boolean;
28
29
  }
29
30
 
30
31
  export interface CodeTabsProps extends Props, TabProps {
@@ -94,13 +95,13 @@ function TabList({
94
95
  let newLanguage: Language;
95
96
  if (currentLanguage && includeVariant) {
96
97
  newLanguage = languageSet.filter(
97
- (lang: Language) => lang.language === currentLanguage
98
+ (lang: Language) => lang.language === currentLanguage.language
98
99
  )[0];
99
100
  newLanguage.variant = newTabValue;
100
101
  action.setSelectedVariant(newTabValue.toLowerCase());
101
102
  } else if (currentLanguage && includeSample) {
102
103
  newLanguage = languageSet.filter(
103
- (lang: Language) => lang.language === currentLanguage
104
+ (lang: Language) => lang.language === currentLanguage.language
104
105
  )[0];
105
106
  newLanguage.sample = newTabValue;
106
107
  action.setSelectedSample(newTabValue);
@@ -27,7 +27,7 @@ function ContentType() {
27
27
  <FormSelect
28
28
  value={value}
29
29
  options={options}
30
- onChange={(e: React.ChangeEvent<HTMLInputElement>) =>
30
+ onChange={(e: React.ChangeEvent<HTMLSelectElement>) =>
31
31
  dispatch(setContentType(e.target.value))
32
32
  }
33
33
  />
@@ -19,6 +19,8 @@ export interface Props {
19
19
  placeholder?: string;
20
20
  password?: boolean;
21
21
  onChange?: React.ChangeEventHandler<HTMLInputElement>;
22
+ paramName?: string;
23
+ isRequired?: boolean;
22
24
  }
23
25
 
24
26
  function FormTextInput({
@@ -32,7 +32,7 @@ function ArrayItem({
32
32
  return (
33
33
  <FormSelect
34
34
  options={["---", "true", "false"]}
35
- onChange={(e: React.ChangeEvent<HTMLInputElement>) => {
35
+ onChange={(e: React.ChangeEvent<HTMLSelectElement>) => {
36
36
  const val = e.target.value;
37
37
  onChange(val === "---" ? undefined : val);
38
38
  }}
@@ -89,15 +89,16 @@ export default function ParamArrayFormItem({ param }: ParamProps) {
89
89
  }, [items]);
90
90
 
91
91
  useEffect(() => {
92
- if (param.schema?.example?.length > 0) {
93
- const examplesWithIds = param.schema.example.map((item: any) => ({
92
+ const example = param.schema?.example;
93
+ if (Array.isArray(example) && example.length > 0) {
94
+ const examplesWithIds = example.map((item: any) => ({
94
95
  id: nanoid(),
95
96
  value: item.toString(),
96
97
  }));
97
98
 
98
99
  setItems(examplesWithIds);
99
100
  }
100
- }, [param.schema.example, param.schema.length]);
101
+ }, [param.schema?.example]);
101
102
 
102
103
  function handleDeleteItem(itemToDelete: { id: string }) {
103
104
  return () => {
@@ -132,7 +133,7 @@ export default function ParamArrayFormItem({ param }: ParamProps) {
132
133
  : false,
133
134
  }}
134
135
  name="paramArray"
135
- render={({ field: { onChange, name } }) => (
136
+ render={({ field: { onChange } }) => (
136
137
  <>
137
138
  {items.map((item) => (
138
139
  <div key={item.id} style={{ display: "flex" }}>
@@ -42,11 +42,10 @@ export default function ParamBooleanFormItem({ param }: ParamProps) {
42
42
  : false,
43
43
  }}
44
44
  name="paramBoolean"
45
- render={({ field: { onChange, name } }) => (
45
+ render={({ field: { onChange } }) => (
46
46
  <FormSelect
47
- name={name}
48
47
  options={["---", "true", "false"]}
49
- onChange={(e: React.ChangeEvent<HTMLInputElement>) => {
48
+ onChange={(e: React.ChangeEvent<HTMLSelectElement>) => {
50
49
  const val = e.target.value;
51
50
  dispatch(
52
51
  setParam({
@@ -72,12 +72,11 @@ export default function ParamMultiSelectFormItem({ param }: ParamProps) {
72
72
  : false,
73
73
  }}
74
74
  name="paramMultiSelect"
75
- render={({ field: { onChange, name } }) => (
75
+ render={({ field: { onChange } }) => (
76
76
  <FormMultiSelect
77
77
  options={options as string[]}
78
- name={name}
79
78
  onChange={(e: any) => handleChange(e, onChange)}
80
- showErrors={showErrorMessage}
79
+ showErrors={!!showErrorMessage}
81
80
  />
82
81
  )}
83
82
  />
@@ -44,10 +44,10 @@ export default function ParamSelectFormItem({ param }: ParamProps) {
44
44
  : false,
45
45
  }}
46
46
  name="paramSelect"
47
- render={({ field: { onChange, name } }) => (
47
+ render={({ field: { onChange } }) => (
48
48
  <FormSelect
49
49
  options={["---", ...(options as string[])]}
50
- onChange={(e: React.ChangeEvent<HTMLInputElement>) => {
50
+ onChange={(e: React.ChangeEvent<HTMLSelectElement>) => {
51
51
  const val = e.target.value;
52
52
  dispatch(
53
53
  setParam({
@@ -80,7 +80,7 @@ function Server() {
80
80
  <FormItem>
81
81
  <FormSelect
82
82
  options={options.map((s: any) => s.url)}
83
- onChange={(e: React.ChangeEvent<HTMLInputElement>) => {
83
+ onChange={(e: React.ChangeEvent<HTMLSelectElement>) => {
84
84
  dispatch(
85
85
  setServer(
86
86
  JSON.stringify(
@@ -102,7 +102,7 @@ function Server() {
102
102
  <FormItem label={key}>
103
103
  <FormSelect
104
104
  options={value.variables[key].enum}
105
- onChange={(e: React.ChangeEvent<HTMLInputElement>) => {
105
+ onChange={(e: React.ChangeEvent<HTMLSelectElement>) => {
106
106
  dispatch(
107
107
  setServerVariable(
108
108
  JSON.stringify({ key, value: e.target.value })
@@ -9,11 +9,11 @@ import React, { type JSX } from "react";
9
9
 
10
10
  import { useDoc } from "@docusaurus/plugin-content-docs/client";
11
11
  import { useWindowSize } from "@docusaurus/theme-common";
12
- import type { Props } from "@theme/ApiItem/Layout";
13
12
  import ContentVisibility from "@theme/ContentVisibility";
14
13
  import DocBreadcrumbs from "@theme/DocBreadcrumbs";
15
14
  import DocItemContent from "@theme/DocItem/Content";
16
15
  import DocItemFooter from "@theme/DocItem/Footer";
16
+ import type { Props } from "@theme/DocItem/Layout";
17
17
  import DocItemPaginator from "@theme/DocItem/Paginator";
18
18
  import DocItemTOCDesktop from "@theme/DocItem/TOC/Desktop";
19
19
  import DocItemTOCMobile from "@theme/DocItem/TOC/Mobile";
@@ -0,0 +1,8 @@
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
+ export default function Markdown(props: any): JSX.Element;
@@ -8,8 +8,6 @@
8
8
  import React from "react";
9
9
 
10
10
  import { translate } from "@docusaurus/Translate";
11
- import { OPENAPI_SCHEMA_ITEM } from "@theme/translationIds";
12
-
13
11
  import { ClosingArrayBracket, OpeningArrayBracket } from "@theme/ArrayBrackets";
14
12
  import Details from "@theme/Details";
15
13
  import DiscriminatorTabs from "@theme/DiscriminatorTabs";
@@ -17,6 +15,7 @@ import Markdown from "@theme/Markdown";
17
15
  import SchemaItem from "@theme/SchemaItem";
18
16
  import SchemaTabs from "@theme/SchemaTabs";
19
17
  import TabItem from "@theme/TabItem";
18
+ import { OPENAPI_SCHEMA_ITEM } from "@theme/translationIds";
20
19
  // eslint-disable-next-line import/no-extraneous-dependencies
21
20
  import { merge } from "allof-merge";
22
21
  import clsx from "clsx";
@@ -132,20 +131,44 @@ const AnyOneOf: React.FC<SchemaProps> = ({ schema, schemaType }) => {
132
131
  const type = schema.oneOf
133
132
  ? translate({ id: OPENAPI_SCHEMA_ITEM.ONE_OF, message: "oneOf" })
134
133
  : translate({ id: OPENAPI_SCHEMA_ITEM.ANY_OF, message: "anyOf" });
134
+
135
+ // Generate a unique ID for this anyOf/oneOf to prevent tab value collisions
136
+ const uniqueId = React.useMemo(
137
+ () => Math.random().toString(36).substring(7),
138
+ []
139
+ );
140
+
135
141
  return (
136
142
  <>
137
143
  <span className="badge badge--info" style={{ marginBottom: "1rem" }}>
138
144
  {type}
139
145
  </span>
140
- <SchemaTabs>
146
+ <SchemaTabs groupId={`schema-${uniqueId}`} lazy>
141
147
  {schema[key]?.map((anyOneSchema: any, index: number) => {
142
- const label = anyOneSchema.title || anyOneSchema.type;
148
+ // Determine label for the tab
149
+ // If schema is just oneOf/anyOf without title/type, use a generic label
150
+ let label = anyOneSchema.title || anyOneSchema.type;
151
+ if (!label) {
152
+ if (anyOneSchema.oneOf) {
153
+ label = translate({
154
+ id: OPENAPI_SCHEMA_ITEM.ONE_OF,
155
+ message: "oneOf",
156
+ });
157
+ } else if (anyOneSchema.anyOf) {
158
+ label = translate({
159
+ id: OPENAPI_SCHEMA_ITEM.ANY_OF,
160
+ message: "anyOf",
161
+ });
162
+ } else {
163
+ label = `Option ${index + 1}`;
164
+ }
165
+ }
143
166
  return (
144
167
  // @ts-ignore
145
168
  <TabItem
146
169
  key={index}
147
170
  label={label}
148
- value={`${index}-item-properties`}
171
+ value={`${uniqueId}-${index}-item`}
149
172
  >
150
173
  {/* Handle primitive types directly */}
151
174
  {(isPrimitive(anyOneSchema) || anyOneSchema.const) && (
@@ -178,9 +201,11 @@ const AnyOneOf: React.FC<SchemaProps> = ({ schema, schemaType }) => {
178
201
  )}
179
202
 
180
203
  {/* Handle actual object types with properties or nested schemas */}
181
- {anyOneSchema.type === "object" && anyOneSchema.properties && (
182
- <Properties schema={anyOneSchema} schemaType={schemaType} />
183
- )}
204
+ {/* Note: In OpenAPI, properties implies type: object even if not explicitly set */}
205
+ {(anyOneSchema.type === "object" || !anyOneSchema.type) &&
206
+ anyOneSchema.properties && (
207
+ <Properties schema={anyOneSchema} schemaType={schemaType} />
208
+ )}
184
209
  {anyOneSchema.allOf && (
185
210
  <SchemaNode schema={anyOneSchema} schemaType={schemaType} />
186
211
  )}
@@ -115,7 +115,10 @@ function TabList({
115
115
  };
116
116
 
117
117
  return (
118
- <div className="openapi-tabs__schema-tabs-container">
118
+ <div
119
+ className="openapi-tabs__schema-tabs-container"
120
+ style={{ marginBottom: "1rem" }}
121
+ >
119
122
  {showTabArrows && (
120
123
  <button
121
124
  className="openapi-tabs__arrow left"
@@ -7,282 +7,14 @@
7
7
 
8
8
  /// <reference types="docusaurus-plugin-openapi-docs" />
9
9
 
10
- /* eslint-disable @typescript-eslint/no-use-before-define */
11
-
12
- declare module "@docusaurus/plugin-content-docs-types" {
13
- // Makes all properties visible when hovering over the type
14
- type Expand<T extends Record<string, unknown>> = { [P in keyof T]: T[P] };
15
-
16
- export type SidebarItemBase = {
17
- className?: string;
18
- customProps?: Record<string, unknown>;
19
- };
20
-
21
- export type SidebarItemLink = SidebarItemBase & {
22
- type: "link";
23
- href: string;
24
- label: string;
25
- docId: string;
26
- };
27
-
28
- type SidebarItemCategoryBase = SidebarItemBase & {
29
- type: "category";
30
- label: string;
31
- collapsed: boolean;
32
- collapsible: boolean;
33
- };
34
-
35
- export type PropSidebarItemCategory = Expand<
36
- SidebarItemCategoryBase & {
37
- items: PropSidebarItem[];
38
- }
39
- >;
40
-
41
- export type PropSidebarItem = SidebarItemLink | PropSidebarItemCategory;
42
- export type PropSidebar = PropSidebarItem[];
43
- export type PropSidebars = {
44
- [sidebarId: string]: PropSidebar;
45
- };
46
- }
10
+ export type {
11
+ PropSidebarItemCategory,
12
+ SidebarItemLink,
13
+ PropSidebar,
14
+ PropSidebarItem,
15
+ PropSidebars,
16
+ } from "@docusaurus/plugin-content-docs/lib/sidebars/types";
47
17
 
48
18
  declare module "docusaurus-theme-openapi-docs" {
49
19
  export type ThemeConfig = Partial<import("./types").ThemeConfig>;
50
20
  }
51
-
52
- declare module "@theme/ApiItem/hooks" {
53
- export { useTypedDispatch, useTypedSelector };
54
- }
55
-
56
- declare module "@theme/ApiItem/Layout" {
57
- export interface Props {
58
- readonly children: JSX.Element;
59
- }
60
-
61
- export default function Layout(props: any): JSX.Element;
62
- }
63
-
64
- declare module "@theme/ApiItem/store" {
65
- export { AppDispatch, RootState };
66
- }
67
-
68
- declare module "@theme/SchemaTabs" {
69
- export default function SchemaTabs(props: any): JSX.Element;
70
- }
71
-
72
- declare module "@theme/Markdown" {
73
- export default function Markdown(props: any): JSX.Element;
74
- }
75
-
76
- declare module "@theme/ApiExplorer/Accept" {
77
- export default function Accept(): JSX.Element;
78
- }
79
-
80
- declare module "@theme/ApiExplorer/Accept/slice" {
81
- export { setAccept };
82
- export default accept as Reducer<State, AnyAction>;
83
- }
84
-
85
- declare module "@theme/ApiExplorer/Authorization" {
86
- export default function Authorization(): JSX.Element;
87
- }
88
-
89
- declare module "@theme/ApiExplorer/Authorization/slice" {
90
- export { AuthState, Scheme, setAuthData, setSelectedAuth, createAuth };
91
- export default auth as Reducer<State, AnyAction>;
92
- }
93
-
94
- declare module "@theme/ApiExplorer/Body" {
95
- import { Props as BodyProps } from "@theme/ApiExplorer/Body";
96
-
97
- export default function Body(props: BodyProps): JSX.Element;
98
- }
99
-
100
- declare module "@theme/ApiExplorer/Body/json2xml" {
101
- export default function json2xml(any, any?): any;
102
- }
103
-
104
- declare module "@theme/ApiExplorer/Body/slice" {
105
- import { Body, Content, State } from "@theme/ApiExplorer/Body/slice";
106
-
107
- export { Body, Content, State };
108
- export function setStringRawBody(any, any?): any;
109
- export default body as Reducer<State, AnyAction>;
110
- }
111
-
112
- declare module "@theme/ApiExplorer/buildPostmanRequest" {
113
- export default function buildPostmanRequest(any, any?): any;
114
- }
115
-
116
- declare module "@theme/ApiExplorer/CodeTabs" {
117
- import { Props as CodeTabsProps } from "@theme/ApiExplorer/CodeTabs";
118
-
119
- export default function CodeTabs(props: CodeTabsProps): JSX.Element;
120
- }
121
-
122
- declare module "@theme/ApiExplorer/ContentType" {
123
- export default function ContentType(): JSX.Element;
124
- }
125
-
126
- declare module "@theme/ApiExplorer/ContentType/slice" {
127
- export { setContentType };
128
- export default contentType as Reducer<State, AnyAction>;
129
- }
130
-
131
- declare module "@theme/ApiExplorer/CodeSnippets" {
132
- import { Props as CurlProps } from "@theme/ApiExplorer/CodeSnippets";
133
-
134
- export { languageSet, Language } from "@theme/ApiExplorer/CodeSnippets";
135
- export default function Curl(props: CurlProps): JSX.Element;
136
- }
137
-
138
- declare module "@theme/ApiExplorer/FloatingButton" {
139
- import { Props as FloatingButtonProps } from "@theme/ApiExplorer/FloatingButton";
140
-
141
- export default function FloatingButton(
142
- props: FloatingButtonProps
143
- ): JSX.Element;
144
- }
145
-
146
- declare module "@theme/ApiExplorer/FormItem" {
147
- import { Props as FormItemProps } from "@theme/ApiExplorer/FormItem";
148
-
149
- export default function FormItem(props: FormItemProps): JSX.Element;
150
- }
151
-
152
- declare module "@theme/ApiExplorer/FormSelect" {
153
- import { Props as FormSelectProps } from "@theme/ApiExplorer/FormSelect";
154
-
155
- export default function FormSelect(props: FormSelectProps): JSX.Element;
156
- }
157
-
158
- declare module "@theme/ApiExplorer/FormTextInput" {
159
- import { Props as FormTextInputProps } from "@theme/ApiExplorer/FormTextInput";
160
-
161
- export default function FormTextInput(props: FormTextInputProps): JSX.Element;
162
- }
163
-
164
- declare module "@theme/ApiExplorer/FormFileUpload" {
165
- import { Props as FormFileUploadProps } from "@theme/ApiExplorer/FormFileUpload";
166
-
167
- export default function FormFileUpload(
168
- props: FormFileUploadProps
169
- ): JSX.Element;
170
- }
171
-
172
- declare module "@theme/ApiExplorer/FormMultiSelect" {
173
- import { Props as FormMultiSelectProps } from "@theme/ApiExplorer/FormMultiSelect";
174
-
175
- export default function FormMultiSelect(
176
- props: FormMultiSelectProps
177
- ): JSX.Element;
178
- }
179
-
180
- declare module "@theme/ApiExplorer/Execute" {
181
- import { Props as ExecuteProps } from "@theme/ApiExplorer/Execute";
182
-
183
- export default function Execute(props: ExecuteProps): JSX.Element;
184
- }
185
-
186
- declare module "@theme/ApiExplorer/LiveEditor" {
187
- export default function LiveEditor(props: any): JSX.Element;
188
- }
189
-
190
- declare module "@theme/ApiExplorer/MethodEndpoint" {
191
- import { Props as MethodEndpointProps } from "@theme/ApiExplorer/MethodEndpoint";
192
-
193
- export default function MethodEndpoint(
194
- props: MethodEndpointProps
195
- ): JSX.Element;
196
- }
197
-
198
- declare module "@theme/ApiExplorer/ParamOptions" {
199
- import { ParamProps } from "@theme/ApiExplorer/ParamOptions";
200
-
201
- export default function ParamOptions(props: ParamProps): JSX.Element;
202
- }
203
-
204
- declare module "@theme/ApiExplorer/ParamOptions/ParamFormItems/ParamMultiSelectFormItem" {
205
- import { ParamProps } from "@theme/ApiExplorer/ParamOptions";
206
-
207
- export default function ParamMultiSelectFormItem(
208
- props: ParamProps
209
- ): JSX.Element;
210
- }
211
-
212
- declare module "@theme/ApiExplorer/ParamOptions/ParamFormItems/ParamArrayFormItem" {
213
- import { ParamProps } from "@theme/ApiExplorer/ParamOptions";
214
-
215
- export default function ParamArrayFormItem(props: ParamProps): JSX.Element;
216
- }
217
-
218
- declare module "@theme/ApiExplorer/ParamOptions/ParamFormItems/ParamSelectFormItem" {
219
- import { ParamProps } from "@theme/ApiExplorer/ParamOptions";
220
-
221
- export default function ParamSelectFormItem(props: ParamProps): JSX.Element;
222
- }
223
-
224
- declare module "@theme/ApiExplorer/ParamOptions/ParamFormItems/ParamBooleanFormItem" {
225
- import { ParamProps } from "@theme/ApiExplorer/ParamOptions";
226
-
227
- export default function ParamBooleanFormItem(props: ParamProps): JSX.Element;
228
- }
229
-
230
- declare module "@theme/ApiExplorer/ParamOptions/ParamFormItems/ParamTextFormItem" {
231
- import { ParamProps } from "@theme/ApiExplorer/ParamOptions";
232
-
233
- export default function ParamTextFormItem(props: ParamProps): JSX.Element;
234
- }
235
-
236
- declare module "@theme/ApiExplorer/ParamOptions/slice" {
237
- export type { Param };
238
- export const setParam;
239
- export default params as Reducer<State, AnyAction>;
240
- }
241
-
242
- declare module "@theme/ApiExplorer/persistanceMiddleware" {
243
- export { createPersistanceMiddleware };
244
- }
245
-
246
- declare module "@theme/ApiExplorer/Request" {
247
- import { ApiItem } from "docusaurus-plugin-openapi-docs/src/types";
248
-
249
- export interface RequestProps {
250
- item: NonNullable<ApiItem>;
251
- }
252
- export default function Request(props: RequestProps): JSX.Element;
253
- }
254
-
255
- declare module "@theme/ApiExplorer/Response" {
256
- import { ApiItem } from "docusaurus-plugin-openapi-docs/src/types";
257
-
258
- export interface ResponseProps {
259
- item: NonNullable<ApiItem>;
260
- }
261
-
262
- export default function Response(props: ResponseProps): JSX.Element;
263
- }
264
-
265
- declare module "@theme/ApiExplorer/Response/slice" {
266
- export { setResponse, setCode, setHeaders, clearCode, clearHeaders };
267
- export default response as Reducer<State, AnyAction>;
268
- }
269
-
270
- declare module "@theme/ApiExplorer/SecuritySchemes" {
271
- export default function SecuritySchemes(props: any): JSX.Element;
272
- }
273
-
274
- declare module "@theme/ApiExplorer/Server" {
275
- export default function Server(): JSX.Element;
276
- }
277
-
278
- declare module "@theme/ApiExplorer/ApiCodeBlock" {
279
- export default function ApiCodeBlock(): JSX.Element;
280
- }
281
-
282
- declare module "@theme/ApiExplorer/Server/slice" {
283
- export default server as Reducer<State, AnyAction>;
284
- }
285
-
286
- declare module "@theme/ApiExplorer/storage-utils" {
287
- export { createStorage, hashArray };
288
- }
@@ -1 +1 @@
1
- {"root":["./src/index.ts","./src/plugin-content-docs.d.ts","./src/postman-code-generators.d.ts","./src/react-magic-dropzone.d.ts","./src/theme-classic.d.ts","./src/theme-openapi.d.ts","./src/types.ts","./src/markdown/createDescription.ts","./src/markdown/schema.ts","./src/markdown/utils.test.ts","./src/markdown/utils.ts","./src/theme/translationIds.ts","./src/theme/ApiExplorer/buildPostmanRequest.ts","./src/theme/ApiExplorer/index.tsx","./src/theme/ApiExplorer/persistanceMiddleware.ts","./src/theme/ApiExplorer/storage-utils.ts","./src/theme/ApiExplorer/Accept/index.tsx","./src/theme/ApiExplorer/Accept/slice.ts","./src/theme/ApiExplorer/ApiCodeBlock/index.tsx","./src/theme/ApiExplorer/ApiCodeBlock/Container/index.tsx","./src/theme/ApiExplorer/ApiCodeBlock/Content/Element.tsx","./src/theme/ApiExplorer/ApiCodeBlock/Content/String.tsx","./src/theme/ApiExplorer/ApiCodeBlock/CopyButton/index.tsx","./src/theme/ApiExplorer/ApiCodeBlock/ExitButton/index.tsx","./src/theme/ApiExplorer/ApiCodeBlock/ExpandButton/index.tsx","./src/theme/ApiExplorer/ApiCodeBlock/Line/index.tsx","./src/theme/ApiExplorer/ApiCodeBlock/WordWrapButton/index.tsx","./src/theme/ApiExplorer/Authorization/auth-types.ts","./src/theme/ApiExplorer/Authorization/index.tsx","./src/theme/ApiExplorer/Authorization/slice.ts","./src/theme/ApiExplorer/Body/index.tsx","./src/theme/ApiExplorer/Body/slice.ts","./src/theme/ApiExplorer/CodeSnippets/code-snippets-types.ts","./src/theme/ApiExplorer/CodeSnippets/index.tsx","./src/theme/ApiExplorer/CodeSnippets/languages.ts","./src/theme/ApiExplorer/CodeTabs/index.tsx","./src/theme/ApiExplorer/ContentType/index.tsx","./src/theme/ApiExplorer/ContentType/slice.ts","./src/theme/ApiExplorer/Export/index.tsx","./src/theme/ApiExplorer/FloatingButton/index.tsx","./src/theme/ApiExplorer/FormFileUpload/index.tsx","./src/theme/ApiExplorer/FormItem/index.tsx","./src/theme/ApiExplorer/FormMultiSelect/index.tsx","./src/theme/ApiExplorer/FormSelect/index.tsx","./src/theme/ApiExplorer/FormTextInput/index.tsx","./src/theme/ApiExplorer/LiveEditor/index.tsx","./src/theme/ApiExplorer/MethodEndpoint/index.tsx","./src/theme/ApiExplorer/ParamOptions/index.tsx","./src/theme/ApiExplorer/ParamOptions/slice.ts","./src/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamArrayFormItem.tsx","./src/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamBooleanFormItem.tsx","./src/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamMultiSelectFormItem.tsx","./src/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamSelectFormItem.tsx","./src/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamTextFormItem.tsx","./src/theme/ApiExplorer/Request/index.tsx","./src/theme/ApiExplorer/Request/makeRequest.ts","./src/theme/ApiExplorer/Response/index.tsx","./src/theme/ApiExplorer/Response/slice.ts","./src/theme/ApiExplorer/SecuritySchemes/index.tsx","./src/theme/ApiExplorer/Server/index.tsx","./src/theme/ApiExplorer/Server/slice.ts","./src/theme/ApiItem/hooks.ts","./src/theme/ApiItem/index.tsx","./src/theme/ApiItem/store.ts","./src/theme/ApiItem/Layout/index.tsx","./src/theme/ApiLogo/index.tsx","./src/theme/ApiTabs/index.tsx","./src/theme/ArrayBrackets/index.tsx","./src/theme/CodeSamples/index.tsx","./src/theme/DiscriminatorTabs/index.tsx","./src/theme/MimeTabs/index.tsx","./src/theme/OperationTabs/index.tsx","./src/theme/ParamsDetails/index.tsx","./src/theme/ParamsItem/index.tsx","./src/theme/RequestSchema/index.tsx","./src/theme/ResponseExamples/index.tsx","./src/theme/ResponseHeaders/index.tsx","./src/theme/ResponseSchema/index.tsx","./src/theme/Schema/index.tsx","./src/theme/SchemaItem/index.tsx","./src/theme/SchemaTabs/index.tsx","./src/theme/SkeletonLoader/index.tsx","./src/theme/StatusCodes/index.tsx"],"version":"5.8.3"}
1
+ {"root":["./src/index.ts","./src/plugin-content-docs.d.ts","./src/postman-code-generators.d.ts","./src/react-magic-dropzone.d.ts","./src/theme-classic.d.ts","./src/theme-openapi.d.ts","./src/types.ts","./src/markdown/createDescription.ts","./src/markdown/schema.ts","./src/markdown/utils.test.ts","./src/markdown/utils.ts","./src/theme/translationIds.ts","./src/theme/ApiExplorer/buildPostmanRequest.ts","./src/theme/ApiExplorer/index.tsx","./src/theme/ApiExplorer/persistanceMiddleware.ts","./src/theme/ApiExplorer/storage-utils.ts","./src/theme/ApiExplorer/Accept/index.tsx","./src/theme/ApiExplorer/Accept/slice.ts","./src/theme/ApiExplorer/ApiCodeBlock/index.tsx","./src/theme/ApiExplorer/ApiCodeBlock/Container/index.tsx","./src/theme/ApiExplorer/ApiCodeBlock/Content/Element.tsx","./src/theme/ApiExplorer/ApiCodeBlock/Content/String.tsx","./src/theme/ApiExplorer/ApiCodeBlock/CopyButton/index.tsx","./src/theme/ApiExplorer/ApiCodeBlock/ExitButton/index.tsx","./src/theme/ApiExplorer/ApiCodeBlock/ExpandButton/index.tsx","./src/theme/ApiExplorer/ApiCodeBlock/Line/index.tsx","./src/theme/ApiExplorer/ApiCodeBlock/WordWrapButton/index.tsx","./src/theme/ApiExplorer/Authorization/auth-types.ts","./src/theme/ApiExplorer/Authorization/index.tsx","./src/theme/ApiExplorer/Authorization/slice.ts","./src/theme/ApiExplorer/Body/index.tsx","./src/theme/ApiExplorer/Body/json2xml.d.ts","./src/theme/ApiExplorer/Body/slice.ts","./src/theme/ApiExplorer/CodeSnippets/code-snippets-types.ts","./src/theme/ApiExplorer/CodeSnippets/index.tsx","./src/theme/ApiExplorer/CodeSnippets/languages.ts","./src/theme/ApiExplorer/CodeTabs/index.tsx","./src/theme/ApiExplorer/ContentType/index.tsx","./src/theme/ApiExplorer/ContentType/slice.ts","./src/theme/ApiExplorer/Export/index.tsx","./src/theme/ApiExplorer/FloatingButton/index.tsx","./src/theme/ApiExplorer/FormFileUpload/index.tsx","./src/theme/ApiExplorer/FormItem/index.tsx","./src/theme/ApiExplorer/FormMultiSelect/index.tsx","./src/theme/ApiExplorer/FormSelect/index.tsx","./src/theme/ApiExplorer/FormTextInput/index.tsx","./src/theme/ApiExplorer/LiveEditor/index.tsx","./src/theme/ApiExplorer/MethodEndpoint/index.tsx","./src/theme/ApiExplorer/ParamOptions/index.tsx","./src/theme/ApiExplorer/ParamOptions/slice.ts","./src/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamArrayFormItem.tsx","./src/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamBooleanFormItem.tsx","./src/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamMultiSelectFormItem.tsx","./src/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamSelectFormItem.tsx","./src/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamTextFormItem.tsx","./src/theme/ApiExplorer/Request/index.tsx","./src/theme/ApiExplorer/Request/makeRequest.ts","./src/theme/ApiExplorer/Response/index.tsx","./src/theme/ApiExplorer/Response/slice.ts","./src/theme/ApiExplorer/SecuritySchemes/index.tsx","./src/theme/ApiExplorer/Server/index.tsx","./src/theme/ApiExplorer/Server/slice.ts","./src/theme/ApiItem/hooks.ts","./src/theme/ApiItem/index.tsx","./src/theme/ApiItem/store.ts","./src/theme/ApiItem/Layout/index.tsx","./src/theme/ApiLogo/index.tsx","./src/theme/ApiTabs/index.tsx","./src/theme/ArrayBrackets/index.tsx","./src/theme/CodeSamples/index.tsx","./src/theme/DiscriminatorTabs/index.tsx","./src/theme/Markdown/index.d.ts","./src/theme/MimeTabs/index.tsx","./src/theme/OperationTabs/index.tsx","./src/theme/ParamsDetails/index.tsx","./src/theme/ParamsItem/index.tsx","./src/theme/RequestSchema/index.tsx","./src/theme/ResponseExamples/index.tsx","./src/theme/ResponseHeaders/index.tsx","./src/theme/ResponseSchema/index.tsx","./src/theme/Schema/index.tsx","./src/theme/SchemaItem/index.tsx","./src/theme/SchemaTabs/index.tsx","./src/theme/SkeletonLoader/index.tsx","./src/theme/StatusCodes/index.tsx"],"version":"5.8.3"}