docusaurus-theme-openapi-docs 0.0.0-beta.646 → 0.0.0-beta.651
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.
- package/lib/theme/ApiDemoPanel/ApiCodeBlock/Content/_Content.scss +1 -0
- package/lib/theme/ApiDemoPanel/Body/index.d.ts +3 -1
- package/lib/theme/ApiDemoPanel/Body/index.js +30 -32
- package/lib/theme/ApiDemoPanel/CodeTabs/_CodeTabs.scss +95 -39
- package/lib/theme/ApiDemoPanel/CodeTabs/index.js +24 -6
- package/lib/theme/ApiDemoPanel/Curl/index.d.ts +5 -4
- package/lib/theme/ApiDemoPanel/Curl/index.js +79 -11
- package/lib/theme/ApiDemoPanel/FormItem/_FormItem.scss +11 -2
- package/lib/theme/ApiDemoPanel/FormItem/index.d.ts +2 -1
- package/lib/theme/ApiDemoPanel/FormItem/index.js +9 -3
- package/lib/theme/ApiDemoPanel/FormMultiSelect/_FormMultiSelect.scss +8 -4
- package/lib/theme/ApiDemoPanel/FormMultiSelect/index.d.ts +2 -1
- package/lib/theme/ApiDemoPanel/FormMultiSelect/index.js +5 -2
- package/lib/theme/ApiDemoPanel/FormSelect/_FormSelect.scss +3 -3
- package/lib/theme/ApiDemoPanel/FormTextInput/_FormTextInput.scss +24 -5
- package/lib/theme/ApiDemoPanel/FormTextInput/index.d.ts +1 -1
- package/lib/theme/ApiDemoPanel/FormTextInput/index.js +56 -10
- package/lib/theme/ApiDemoPanel/LiveEditor/index.d.ts +5 -2
- package/lib/theme/ApiDemoPanel/LiveEditor/index.js +59 -14
- package/lib/theme/ApiDemoPanel/ParamOptions/ParamFormItems/ParamArrayFormItem.d.ts +6 -0
- package/lib/theme/ApiDemoPanel/ParamOptions/ParamFormItems/ParamArrayFormItem.js +194 -0
- package/lib/theme/ApiDemoPanel/ParamOptions/ParamFormItems/ParamBooleanFormItem.d.ts +6 -0
- package/lib/theme/ApiDemoPanel/ParamOptions/ParamFormItems/ParamBooleanFormItem.js +63 -0
- package/lib/theme/ApiDemoPanel/ParamOptions/ParamFormItems/ParamMultiSelectFormItem.d.ts +6 -0
- package/lib/theme/ApiDemoPanel/ParamOptions/ParamFormItems/ParamMultiSelectFormItem.js +89 -0
- package/lib/theme/ApiDemoPanel/ParamOptions/ParamFormItems/ParamSelectFormItem.d.ts +6 -0
- package/lib/theme/ApiDemoPanel/ParamOptions/ParamFormItems/ParamSelectFormItem.js +63 -0
- package/lib/theme/ApiDemoPanel/ParamOptions/ParamFormItems/ParamTextFormItem.d.ts +6 -0
- package/lib/theme/ApiDemoPanel/ParamOptions/ParamFormItems/ParamTextFormItem.js +38 -0
- package/lib/theme/ApiDemoPanel/ParamOptions/_ParamOptions.scss +9 -28
- package/lib/theme/ApiDemoPanel/ParamOptions/index.js +24 -176
- package/lib/theme/ApiDemoPanel/Request/_Request.scss +93 -20
- package/lib/theme/ApiDemoPanel/Request/index.d.ts +1 -1
- package/lib/theme/ApiDemoPanel/Request/index.js +316 -37
- package/lib/theme/ApiDemoPanel/Response/_Response.scss +54 -0
- package/lib/theme/ApiDemoPanel/Response/index.d.ts +4 -1
- package/lib/theme/ApiDemoPanel/Response/index.js +56 -31
- package/lib/theme/ApiDemoPanel/Server/_Server.scss +10 -0
- package/lib/theme/ApiDemoPanel/Server/index.js +10 -11
- package/lib/theme/ApiDemoPanel/index.js +1 -1
- package/lib/theme/SchemaTabs/_SchemaTabs.scss +0 -1
- package/lib/theme/styles.scss +27 -0
- package/package.json +7 -4
- package/src/theme/ApiDemoPanel/ApiCodeBlock/Content/_Content.scss +1 -0
- package/src/theme/ApiDemoPanel/Body/index.tsx +38 -29
- package/src/theme/ApiDemoPanel/CodeTabs/_CodeTabs.scss +95 -39
- package/src/theme/ApiDemoPanel/CodeTabs/index.js +24 -6
- package/src/theme/ApiDemoPanel/Curl/index.tsx +85 -22
- package/src/theme/ApiDemoPanel/FormItem/_FormItem.scss +11 -2
- package/src/theme/ApiDemoPanel/FormItem/index.tsx +8 -3
- package/src/theme/ApiDemoPanel/FormMultiSelect/_FormMultiSelect.scss +8 -4
- package/src/theme/ApiDemoPanel/FormMultiSelect/index.tsx +7 -2
- package/src/theme/ApiDemoPanel/FormSelect/_FormSelect.scss +3 -3
- package/src/theme/ApiDemoPanel/FormTextInput/_FormTextInput.scss +24 -5
- package/src/theme/ApiDemoPanel/FormTextInput/index.tsx +58 -10
- package/src/theme/ApiDemoPanel/LiveEditor/index.tsx +53 -14
- package/src/theme/ApiDemoPanel/ParamOptions/ParamFormItems/ParamArrayFormItem.tsx +153 -0
- package/src/theme/ApiDemoPanel/ParamOptions/ParamFormItems/ParamBooleanFormItem.tsx +64 -0
- package/src/theme/ApiDemoPanel/ParamOptions/ParamFormItems/ParamMultiSelectFormItem.tsx +86 -0
- package/src/theme/ApiDemoPanel/ParamOptions/ParamFormItems/ParamSelectFormItem.tsx +65 -0
- package/src/theme/ApiDemoPanel/ParamOptions/ParamFormItems/ParamTextFormItem.tsx +38 -0
- package/src/theme/ApiDemoPanel/ParamOptions/_ParamOptions.scss +9 -28
- package/src/theme/ApiDemoPanel/ParamOptions/index.tsx +8 -196
- package/src/theme/ApiDemoPanel/Request/_Request.scss +93 -20
- package/src/theme/ApiDemoPanel/Request/index.tsx +250 -28
- package/src/theme/ApiDemoPanel/Response/_Response.scss +54 -0
- package/src/theme/ApiDemoPanel/Response/index.tsx +44 -26
- package/src/theme/ApiDemoPanel/Server/_Server.scss +10 -0
- package/src/theme/ApiDemoPanel/Server/index.tsx +8 -11
- package/src/theme/ApiDemoPanel/index.tsx +1 -1
- package/src/theme/SchemaTabs/_SchemaTabs.scss +0 -1
- package/src/theme/styles.scss +27 -0
- package/src/theme-openapi.d.ts +40 -1
- package/lib/theme/ApiDemoPanel/Execute/index.d.ts +0 -8
- package/lib/theme/ApiDemoPanel/Execute/index.js +0 -213
- package/src/theme/ApiDemoPanel/Execute/index.tsx +0 -200
- /package/lib/theme/ApiDemoPanel/{Execute → Request}/makeRequest.d.ts +0 -0
- /package/lib/theme/ApiDemoPanel/{Execute → Request}/makeRequest.js +0 -0
- /package/src/theme/ApiDemoPanel/{Execute → Request}/makeRequest.ts +0 -0
|
@@ -3,6 +3,8 @@ import { RequestBodyObject } from "docusaurus-plugin-openapi-docs/src/openapi/ty
|
|
|
3
3
|
export interface Props {
|
|
4
4
|
jsonRequestBodyExample: string;
|
|
5
5
|
requestBodyMetadata?: RequestBodyObject;
|
|
6
|
+
methods?: any;
|
|
7
|
+
required?: boolean;
|
|
6
8
|
}
|
|
7
|
-
declare function BodyWrap({ requestBodyMetadata, jsonRequestBodyExample }: Props): JSX.Element | null;
|
|
9
|
+
declare function BodyWrap({ requestBodyMetadata, jsonRequestBodyExample, methods, required, }: Props): JSX.Element | null;
|
|
8
10
|
export default BodyWrap;
|
|
@@ -15,9 +15,6 @@ const react_1 = __importDefault(require("react"));
|
|
|
15
15
|
const json2xml_1 = __importDefault(
|
|
16
16
|
require("@theme/ApiDemoPanel/Body/json2xml")
|
|
17
17
|
);
|
|
18
|
-
const ContentType_1 = __importDefault(
|
|
19
|
-
require("@theme/ApiDemoPanel/ContentType")
|
|
20
|
-
);
|
|
21
18
|
const FormFileUpload_1 = __importDefault(
|
|
22
19
|
require("@theme/ApiDemoPanel/FormFileUpload")
|
|
23
20
|
);
|
|
@@ -32,7 +29,12 @@ const SchemaTabs_1 = __importDefault(require("@theme/SchemaTabs"));
|
|
|
32
29
|
const TabItem_1 = __importDefault(require("@theme/TabItem"));
|
|
33
30
|
const xml_formatter_1 = __importDefault(require("xml-formatter"));
|
|
34
31
|
const slice_1 = require("./slice");
|
|
35
|
-
function BodyWrap({
|
|
32
|
+
function BodyWrap({
|
|
33
|
+
requestBodyMetadata,
|
|
34
|
+
jsonRequestBodyExample,
|
|
35
|
+
methods,
|
|
36
|
+
required,
|
|
37
|
+
}) {
|
|
36
38
|
const contentType = (0, hooks_1.useTypedSelector)(
|
|
37
39
|
(state) => state.contentType.value
|
|
38
40
|
);
|
|
@@ -42,21 +44,21 @@ function BodyWrap({ requestBodyMetadata, jsonRequestBodyExample }) {
|
|
|
42
44
|
if (contentType === undefined) {
|
|
43
45
|
return null;
|
|
44
46
|
}
|
|
45
|
-
return react_1.default.createElement(
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
requestBodyMetadata: requestBodyMetadata,
|
|
51
|
-
jsonRequestBodyExample: jsonRequestBodyExample,
|
|
52
|
-
})
|
|
53
|
-
);
|
|
47
|
+
return react_1.default.createElement(Body, {
|
|
48
|
+
requestBodyMetadata: requestBodyMetadata,
|
|
49
|
+
jsonRequestBodyExample: jsonRequestBodyExample,
|
|
50
|
+
required: required,
|
|
51
|
+
});
|
|
54
52
|
}
|
|
55
|
-
function Body({
|
|
53
|
+
function Body({
|
|
54
|
+
requestBodyMetadata,
|
|
55
|
+
jsonRequestBodyExample,
|
|
56
|
+
methods,
|
|
57
|
+
required,
|
|
58
|
+
}) {
|
|
56
59
|
const contentType = (0, hooks_1.useTypedSelector)(
|
|
57
60
|
(state) => state.contentType.value
|
|
58
61
|
);
|
|
59
|
-
const required = requestBodyMetadata?.required;
|
|
60
62
|
const dispatch = (0, hooks_1.useTypedDispatch)();
|
|
61
63
|
// Lot's of possible content-types:
|
|
62
64
|
// - application/json
|
|
@@ -82,7 +84,7 @@ function Body({ requestBodyMetadata, jsonRequestBodyExample }) {
|
|
|
82
84
|
if (schema?.format === "binary") {
|
|
83
85
|
return react_1.default.createElement(
|
|
84
86
|
FormItem_1.default,
|
|
85
|
-
|
|
87
|
+
null,
|
|
86
88
|
react_1.default.createElement(FormFileUpload_1.default, {
|
|
87
89
|
placeholder: schema.description || "Body",
|
|
88
90
|
onChange: (file) => {
|
|
@@ -107,17 +109,10 @@ function Body({ requestBodyMetadata, jsonRequestBodyExample }) {
|
|
|
107
109
|
) {
|
|
108
110
|
return react_1.default.createElement(
|
|
109
111
|
FormItem_1.default,
|
|
110
|
-
{
|
|
112
|
+
{ className: "openapi-demo__form-item-body-container" },
|
|
111
113
|
react_1.default.createElement(
|
|
112
114
|
"div",
|
|
113
|
-
|
|
114
|
-
style: {
|
|
115
|
-
marginTop: "calc(var(--ifm-pre-padding) / 2)",
|
|
116
|
-
borderRadius: "4px",
|
|
117
|
-
padding: "var(--ifm-pre-padding)",
|
|
118
|
-
border: "1px solid var(--openapi-monaco-border-color)",
|
|
119
|
-
},
|
|
120
|
-
},
|
|
115
|
+
null,
|
|
121
116
|
Object.entries(schema.properties ?? {}).map(([key, val]) => {
|
|
122
117
|
if (val.format === "binary") {
|
|
123
118
|
return react_1.default.createElement(
|
|
@@ -187,6 +182,9 @@ function Body({ requestBodyMetadata, jsonRequestBodyExample }) {
|
|
|
187
182
|
Array.isArray(schema.required) && schema.required.includes(key),
|
|
188
183
|
},
|
|
189
184
|
react_1.default.createElement(FormTextInput_1.default, {
|
|
185
|
+
paramName: key,
|
|
186
|
+
isRequired:
|
|
187
|
+
Array.isArray(schema.required) && schema.required.includes(key),
|
|
190
188
|
placeholder: val.description || key,
|
|
191
189
|
onChange: (e) => {
|
|
192
190
|
dispatch(
|
|
@@ -277,7 +275,7 @@ function Body({ requestBodyMetadata, jsonRequestBodyExample }) {
|
|
|
277
275
|
if (exampleBody) {
|
|
278
276
|
return react_1.default.createElement(
|
|
279
277
|
FormItem_1.default,
|
|
280
|
-
|
|
278
|
+
null,
|
|
281
279
|
react_1.default.createElement(
|
|
282
280
|
SchemaTabs_1.default,
|
|
283
281
|
{ className: "openapi-tabs__schema", lazy: true },
|
|
@@ -286,7 +284,7 @@ function Body({ requestBodyMetadata, jsonRequestBodyExample }) {
|
|
|
286
284
|
{ label: "Default", value: "default", default: true },
|
|
287
285
|
react_1.default.createElement(
|
|
288
286
|
LiveEditor_1.default,
|
|
289
|
-
{ action: dispatch, language: language },
|
|
287
|
+
{ action: dispatch, language: language, required: required },
|
|
290
288
|
defaultBody
|
|
291
289
|
)
|
|
292
290
|
),
|
|
@@ -296,7 +294,7 @@ function Body({ requestBodyMetadata, jsonRequestBodyExample }) {
|
|
|
296
294
|
exampleBody &&
|
|
297
295
|
react_1.default.createElement(
|
|
298
296
|
LiveEditor_1.default,
|
|
299
|
-
{ action: dispatch, language: language },
|
|
297
|
+
{ action: dispatch, language: language, required: required },
|
|
300
298
|
exampleBody
|
|
301
299
|
)
|
|
302
300
|
)
|
|
@@ -306,7 +304,7 @@ function Body({ requestBodyMetadata, jsonRequestBodyExample }) {
|
|
|
306
304
|
if (examplesBodies && examplesBodies.length > 0) {
|
|
307
305
|
return react_1.default.createElement(
|
|
308
306
|
FormItem_1.default,
|
|
309
|
-
{
|
|
307
|
+
{ className: "openapi-demo__form-item-body-container" },
|
|
310
308
|
react_1.default.createElement(
|
|
311
309
|
SchemaTabs_1.default,
|
|
312
310
|
{ className: "openapi-tabs__schema", lazy: true },
|
|
@@ -315,7 +313,7 @@ function Body({ requestBodyMetadata, jsonRequestBodyExample }) {
|
|
|
315
313
|
{ label: "Default", value: "default", default: true },
|
|
316
314
|
react_1.default.createElement(
|
|
317
315
|
LiveEditor_1.default,
|
|
318
|
-
{ action: dispatch, language: language },
|
|
316
|
+
{ action: dispatch, language: language, required: required },
|
|
319
317
|
defaultBody
|
|
320
318
|
)
|
|
321
319
|
),
|
|
@@ -345,10 +343,10 @@ function Body({ requestBodyMetadata, jsonRequestBodyExample }) {
|
|
|
345
343
|
}
|
|
346
344
|
return react_1.default.createElement(
|
|
347
345
|
FormItem_1.default,
|
|
348
|
-
|
|
346
|
+
null,
|
|
349
347
|
react_1.default.createElement(
|
|
350
348
|
LiveEditor_1.default,
|
|
351
|
-
{ action: dispatch, language: language },
|
|
349
|
+
{ action: dispatch, language: language, required: required },
|
|
352
350
|
defaultBody
|
|
353
351
|
)
|
|
354
352
|
);
|
|
@@ -12,11 +12,55 @@
|
|
|
12
12
|
|
|
13
13
|
.openapi-tabs__code-container {
|
|
14
14
|
margin-bottom: 1rem;
|
|
15
|
+
|
|
16
|
+
&:not(.openapi-tabs__code-container-inner) {
|
|
17
|
+
padding: 1rem;
|
|
18
|
+
background-color: var(--ifm-pre-background);
|
|
19
|
+
border-radius: var(--ifm-global-radius);
|
|
20
|
+
border: 1px solid var(--openapi-demo-border-color);
|
|
21
|
+
box-shadow: 0 2px 3px hsla(222, 8%, 43%, 0.1),
|
|
22
|
+
0 8px 16px -10px hsla(222, 8%, 43%, 0.2);
|
|
23
|
+
transition: 300ms;
|
|
24
|
+
|
|
25
|
+
&:hover {
|
|
26
|
+
box-shadow: 0 0 0 2px rgba(38, 53, 61, 0.15),
|
|
27
|
+
0 2px 3px hsla(222, 8%, 43%, 0.15),
|
|
28
|
+
0 16px 16px -10px hsla(222, 8%, 43%, 0.2);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.openapi-tabs__code-item {
|
|
33
|
+
display: flex;
|
|
34
|
+
flex-direction: column-reverse;
|
|
35
|
+
flex: 0 0 80px;
|
|
36
|
+
align-items: center;
|
|
37
|
+
padding: 0.5rem 0 !important;
|
|
38
|
+
margin-top: 0 !important;
|
|
39
|
+
margin-right: 0.5rem;
|
|
40
|
+
border: 1px solid transparent;
|
|
41
|
+
transition: 300ms;
|
|
42
|
+
|
|
43
|
+
&:not(.active):hover {
|
|
44
|
+
border: 1px solid var(--openapi-code-tab-border-color);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
&:hover {
|
|
48
|
+
background-color: transparent;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
span {
|
|
52
|
+
padding-top: 0.5rem;
|
|
53
|
+
color: var(--ifm-font-color-secondary);
|
|
54
|
+
font-size: 10px;
|
|
55
|
+
text-transform: uppercase;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
15
58
|
}
|
|
16
59
|
|
|
17
60
|
.openapi-tabs__code-list-container {
|
|
18
61
|
display: flex;
|
|
19
62
|
justify-content: flex-start;
|
|
63
|
+
padding: 0.25rem;
|
|
20
64
|
padding-bottom: 0.6rem;
|
|
21
65
|
}
|
|
22
66
|
|
|
@@ -26,6 +70,8 @@
|
|
|
26
70
|
|
|
27
71
|
.openapi-demo__code-block code {
|
|
28
72
|
max-height: 200px;
|
|
73
|
+
font-size: var(--openapi-demo-font-size-code);
|
|
74
|
+
padding-top: var(--ifm-pre-padding);
|
|
29
75
|
}
|
|
30
76
|
|
|
31
77
|
body[class="ReactModal__Body--open"] {
|
|
@@ -34,20 +80,20 @@ body[class="ReactModal__Body--open"] {
|
|
|
34
80
|
}
|
|
35
81
|
}
|
|
36
82
|
|
|
37
|
-
.openapi-tabs__code-item {
|
|
38
|
-
|
|
39
|
-
margin-right: 0.5rem;
|
|
40
|
-
padding-left: 1.5rem;
|
|
41
|
-
padding-right: 1.5rem;
|
|
42
|
-
padding-top: 1rem !important;
|
|
43
|
-
padding-bottom: 1rem !important;
|
|
83
|
+
.openapi-tabs__code-item--variant {
|
|
84
|
+
color: var(--ifm-color-secondary);
|
|
44
85
|
|
|
45
86
|
&.active {
|
|
46
|
-
border-
|
|
47
|
-
border-bottom-right-radius: 0;
|
|
87
|
+
border-color: var(--ifm-toc-border-color);
|
|
48
88
|
}
|
|
49
89
|
}
|
|
50
90
|
|
|
91
|
+
.openapi-tabs__code-item--variant > span {
|
|
92
|
+
padding-top: unset !important;
|
|
93
|
+
padding-left: 0.5rem !important;
|
|
94
|
+
padding-right: 0.5rem !important;
|
|
95
|
+
}
|
|
96
|
+
|
|
51
97
|
.openapi-tabs__code-item--python {
|
|
52
98
|
color: var(--ifm-color-success);
|
|
53
99
|
|
|
@@ -55,13 +101,14 @@ body[class="ReactModal__Body--open"] {
|
|
|
55
101
|
content: "";
|
|
56
102
|
width: var(--code-tab-logo-width);
|
|
57
103
|
height: var(--code-tab-logo-height);
|
|
58
|
-
background: url("https://raw.githubusercontent.com/devicons/devicon/master/icons/python/python-original.svg")
|
|
104
|
+
background: url("https://raw.githubusercontent.com/devicons/devicon/master/icons/python/python-original.svg")
|
|
105
|
+
no-repeat;
|
|
59
106
|
margin-block: auto;
|
|
60
107
|
}
|
|
61
108
|
|
|
62
109
|
&.active {
|
|
63
|
-
|
|
64
|
-
|
|
110
|
+
box-shadow: 0 0 0 3px var(--openapi-code-tab-shadow-color-python);
|
|
111
|
+
border-color: var(--openapi-code-tab-border-color-python);
|
|
65
112
|
}
|
|
66
113
|
}
|
|
67
114
|
|
|
@@ -72,13 +119,14 @@ body[class="ReactModal__Body--open"] {
|
|
|
72
119
|
content: "";
|
|
73
120
|
width: var(--code-tab-logo-width);
|
|
74
121
|
height: var(--code-tab-logo-height);
|
|
75
|
-
background: url("https://raw.githubusercontent.com/devicons/devicon/master/icons/go/go-original-wordmark.svg")
|
|
122
|
+
background: url("https://raw.githubusercontent.com/devicons/devicon/master/icons/go/go-original-wordmark.svg")
|
|
123
|
+
no-repeat;
|
|
76
124
|
margin-block: auto;
|
|
77
125
|
}
|
|
78
126
|
|
|
79
127
|
&.active {
|
|
80
|
-
|
|
81
|
-
|
|
128
|
+
box-shadow: 0 0 0 3px var(--openapi-code-tab-shadow-color-go);
|
|
129
|
+
border-color: var(--openapi-code-tab-border-color-go);
|
|
82
130
|
}
|
|
83
131
|
}
|
|
84
132
|
|
|
@@ -89,13 +137,14 @@ body[class="ReactModal__Body--open"] {
|
|
|
89
137
|
content: "";
|
|
90
138
|
width: var(--code-tab-logo-width);
|
|
91
139
|
height: var(--code-tab-logo-height);
|
|
92
|
-
background: url("https://raw.githubusercontent.com/devicons/devicon/master/icons/javascript/javascript-original.svg")
|
|
140
|
+
background: url("https://raw.githubusercontent.com/devicons/devicon/master/icons/javascript/javascript-original.svg")
|
|
141
|
+
no-repeat;
|
|
93
142
|
margin-block: auto;
|
|
94
143
|
}
|
|
95
144
|
|
|
96
145
|
&.active {
|
|
97
|
-
|
|
98
|
-
|
|
146
|
+
box-shadow: 0 0 0 3px var(--openapi-code-tab-shadow-color-js);
|
|
147
|
+
border-color: var(--openapi-code-tab-border-color-js);
|
|
99
148
|
}
|
|
100
149
|
}
|
|
101
150
|
|
|
@@ -106,15 +155,16 @@ body[class="ReactModal__Body--open"] {
|
|
|
106
155
|
content: "";
|
|
107
156
|
width: var(--code-tab-logo-width);
|
|
108
157
|
height: var(--code-tab-logo-height);
|
|
109
|
-
background: url("https://raw.githubusercontent.com/devicons/devicon/master/icons/bash/bash-plain.svg")
|
|
158
|
+
background: url("https://raw.githubusercontent.com/devicons/devicon/master/icons/bash/bash-plain.svg")
|
|
159
|
+
no-repeat;
|
|
110
160
|
margin-block: auto;
|
|
111
161
|
background-color: var(--bash-background-color);
|
|
112
162
|
border-radius: var(--bash-border-radius);
|
|
113
163
|
}
|
|
114
164
|
|
|
115
165
|
&.active {
|
|
116
|
-
|
|
117
|
-
|
|
166
|
+
box-shadow: 0 0 0 3px var(--openapi-code-tab-shadow-color-bash);
|
|
167
|
+
border-color: var(--ifm-color-danger);
|
|
118
168
|
}
|
|
119
169
|
}
|
|
120
170
|
|
|
@@ -125,13 +175,14 @@ body[class="ReactModal__Body--open"] {
|
|
|
125
175
|
content: "";
|
|
126
176
|
width: var(--code-tab-logo-width);
|
|
127
177
|
height: var(--code-tab-logo-height);
|
|
128
|
-
background: url("https://raw.githubusercontent.com/devicons/devicon/master/icons/ruby/ruby-plain.svg")
|
|
178
|
+
background: url("https://raw.githubusercontent.com/devicons/devicon/master/icons/ruby/ruby-plain.svg")
|
|
179
|
+
no-repeat;
|
|
129
180
|
margin-block: auto;
|
|
130
181
|
}
|
|
131
182
|
|
|
132
183
|
&.active {
|
|
133
|
-
|
|
134
|
-
|
|
184
|
+
box-shadow: 0 0 0 3px var(--openapi-code-tab-shadow-color-ruby);
|
|
185
|
+
border-color: var(--openapi-code-tab-border-color-ruby);
|
|
135
186
|
}
|
|
136
187
|
}
|
|
137
188
|
|
|
@@ -142,13 +193,14 @@ body[class="ReactModal__Body--open"] {
|
|
|
142
193
|
content: "";
|
|
143
194
|
width: var(--code-tab-logo-width);
|
|
144
195
|
height: var(--code-tab-logo-height);
|
|
145
|
-
background: url("https://raw.githubusercontent.com/devicons/devicon/master/icons/csharp/csharp-original.svg")
|
|
196
|
+
background: url("https://raw.githubusercontent.com/devicons/devicon/master/icons/csharp/csharp-original.svg")
|
|
197
|
+
no-repeat;
|
|
146
198
|
margin-block: auto;
|
|
147
199
|
}
|
|
148
200
|
|
|
149
201
|
&.active {
|
|
150
|
-
|
|
151
|
-
|
|
202
|
+
box-shadow: 0 0 0 3px var(--openapi-code-tab-shadow-color-csharp);
|
|
203
|
+
border-color: var(--openapi-code-tab-border-color-csharp);
|
|
152
204
|
}
|
|
153
205
|
}
|
|
154
206
|
|
|
@@ -159,13 +211,14 @@ body[class="ReactModal__Body--open"] {
|
|
|
159
211
|
content: "";
|
|
160
212
|
width: var(--code-tab-logo-width);
|
|
161
213
|
height: var(--code-tab-logo-height);
|
|
162
|
-
background: url("https://raw.githubusercontent.com/devicons/devicon/master/icons/nodejs/nodejs-original.svg")
|
|
214
|
+
background: url("https://raw.githubusercontent.com/devicons/devicon/master/icons/nodejs/nodejs-original.svg")
|
|
215
|
+
no-repeat;
|
|
163
216
|
margin-block: auto;
|
|
164
217
|
}
|
|
165
218
|
|
|
166
219
|
&.active {
|
|
167
|
-
|
|
168
|
-
|
|
220
|
+
box-shadow: 0 0 0 3px var(--opeanpi-code-tab-shadow-color-nodejs);
|
|
221
|
+
border-color: var(--openapi-code-tab-border-color-nodejs);
|
|
169
222
|
}
|
|
170
223
|
}
|
|
171
224
|
|
|
@@ -176,13 +229,14 @@ body[class="ReactModal__Body--open"] {
|
|
|
176
229
|
content: "";
|
|
177
230
|
width: var(--code-tab-logo-width);
|
|
178
231
|
height: var(--code-tab-logo-height);
|
|
179
|
-
background: url("https://raw.githubusercontent.com/devicons/devicon/master/icons/php/php-original.svg")
|
|
232
|
+
background: url("https://raw.githubusercontent.com/devicons/devicon/master/icons/php/php-original.svg")
|
|
233
|
+
no-repeat;
|
|
180
234
|
margin-block: auto;
|
|
181
235
|
}
|
|
182
236
|
|
|
183
237
|
&.active {
|
|
184
|
-
|
|
185
|
-
|
|
238
|
+
box-shadow: 0 0 0 3px var(--openapi-code-tab-shadow-color-php);
|
|
239
|
+
border-color: var(--openapi-code-tab-border-color-php);
|
|
186
240
|
}
|
|
187
241
|
}
|
|
188
242
|
|
|
@@ -193,13 +247,14 @@ body[class="ReactModal__Body--open"] {
|
|
|
193
247
|
content: "";
|
|
194
248
|
width: var(--code-tab-logo-width);
|
|
195
249
|
height: var(--code-tab-logo-height);
|
|
196
|
-
background: url("https://raw.githubusercontent.com/devicons/devicon/master/icons/java/java-original.svg")
|
|
250
|
+
background: url("https://raw.githubusercontent.com/devicons/devicon/master/icons/java/java-original.svg")
|
|
251
|
+
no-repeat;
|
|
197
252
|
margin-block: auto;
|
|
198
253
|
}
|
|
199
254
|
|
|
200
255
|
&.active {
|
|
201
|
-
|
|
202
|
-
|
|
256
|
+
box-shadow: 0 0 0 3px var(--openapi-code-tab-shadow-color-java);
|
|
257
|
+
border-color: var(--openapi-code-tab-border-color-java);
|
|
203
258
|
}
|
|
204
259
|
}
|
|
205
260
|
|
|
@@ -210,13 +265,14 @@ body[class="ReactModal__Body--open"] {
|
|
|
210
265
|
content: "";
|
|
211
266
|
width: var(--code-tab-logo-width);
|
|
212
267
|
height: var(--code-tab-logo-height);
|
|
213
|
-
background: url("https://raw.githubusercontent.com/devicons/devicon/master/icons/windows8/windows8-original.svg")
|
|
268
|
+
background: url("https://raw.githubusercontent.com/devicons/devicon/master/icons/windows8/windows8-original.svg")
|
|
269
|
+
no-repeat;
|
|
214
270
|
margin-block: auto;
|
|
215
271
|
}
|
|
216
272
|
|
|
217
273
|
&.active {
|
|
218
|
-
|
|
219
|
-
|
|
274
|
+
box-shadow: 0 0 0 3px var(--opeanpi-code-tab-shadow-color-powershell);
|
|
275
|
+
border-color: var(--openapi-code-tab-border-color-powershell);
|
|
220
276
|
}
|
|
221
277
|
}
|
|
222
278
|
|
|
@@ -17,6 +17,8 @@ import clsx from "clsx";
|
|
|
17
17
|
|
|
18
18
|
function TabList({
|
|
19
19
|
action,
|
|
20
|
+
currentLanguage,
|
|
21
|
+
includeVariant,
|
|
20
22
|
className,
|
|
21
23
|
block,
|
|
22
24
|
selectedValue,
|
|
@@ -38,10 +40,20 @@ function TabList({
|
|
|
38
40
|
}
|
|
39
41
|
|
|
40
42
|
if (action) {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
let newLanguage;
|
|
44
|
+
if (currentLanguage && includeVariant) {
|
|
45
|
+
newLanguage = languageSet.filter(
|
|
46
|
+
(lang) => lang.language === currentLanguage
|
|
47
|
+
)[0];
|
|
48
|
+
newLanguage.variant = newTabValue;
|
|
49
|
+
action.setSelectedVariant(newTabValue.toLowerCase());
|
|
50
|
+
} else {
|
|
51
|
+
newLanguage = languageSet.filter(
|
|
52
|
+
(lang) => lang.language === newTabValue
|
|
53
|
+
)[0];
|
|
54
|
+
action.setSelectedVariant(newLanguage.variant.toLowerCase());
|
|
55
|
+
}
|
|
56
|
+
action.setLanguage(newLanguage);
|
|
45
57
|
}
|
|
46
58
|
};
|
|
47
59
|
|
|
@@ -101,7 +113,7 @@ function TabList({
|
|
|
101
113
|
}
|
|
102
114
|
)}
|
|
103
115
|
>
|
|
104
|
-
{label ?? value}
|
|
116
|
+
<span>{label ?? value}</span>
|
|
105
117
|
</li>
|
|
106
118
|
))}
|
|
107
119
|
</ul>
|
|
@@ -135,8 +147,14 @@ function TabContent({ lazy, children, selectedValue }) {
|
|
|
135
147
|
|
|
136
148
|
function TabsComponent(props) {
|
|
137
149
|
const tabs = useTabs(props);
|
|
150
|
+
const { className } = props;
|
|
151
|
+
|
|
138
152
|
return (
|
|
139
|
-
<div
|
|
153
|
+
<div
|
|
154
|
+
className={clsx("tabs-container openapi-tabs__code-container", {
|
|
155
|
+
[className]: className,
|
|
156
|
+
})}
|
|
157
|
+
>
|
|
140
158
|
<TabList {...props} {...tabs} />
|
|
141
159
|
<TabContent {...props} {...tabs} />
|
|
142
160
|
</div>
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import sdk from "@paloaltonetworks/postman-collection";
|
|
3
3
|
export interface Language {
|
|
4
|
-
highlight
|
|
4
|
+
highlight: string;
|
|
5
5
|
language: string;
|
|
6
|
-
logoClass
|
|
7
|
-
variant
|
|
8
|
-
|
|
6
|
+
logoClass: string;
|
|
7
|
+
variant: string;
|
|
8
|
+
variants: string[];
|
|
9
|
+
options: {
|
|
9
10
|
[key: string]: boolean;
|
|
10
11
|
};
|
|
11
12
|
source?: string;
|