openapi-explorer 2.0.616 → 2.0.618
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/dist/browser/openapi-explorer.min.js +2 -2
- package/dist/es/openapi-explorer.js +34 -31
- package/dist/es/templates/callback-template.js +1 -1
- package/dist/es/templates/endpoint-template.js +1 -1
- package/dist/es/templates/expanded-endpoint-template.js +1 -1
- package/dist/es/templates/focused-endpoint-template.js +2 -2
- package/dist/es/templates/mainBodyTemplate.js +1 -1
- package/dist/es/templates/navbar-template.js +1 -1
- package/dist/lib/openapi-explorer.js +34 -31
- package/dist/lib/templates/callback-template.js +1 -1
- package/dist/lib/templates/endpoint-template.js +1 -1
- package/dist/lib/templates/expanded-endpoint-template.js +1 -1
- package/dist/lib/templates/focused-endpoint-template.js +2 -2
- package/dist/lib/templates/mainBodyTemplate.js +1 -1
- package/dist/lib/templates/navbar-template.js +1 -1
- package/package.json +1 -1
|
@@ -71,7 +71,7 @@ export default class OpenApiExplorer extends LitElement {
|
|
|
71
71
|
attribute: 'collapse',
|
|
72
72
|
|
|
73
73
|
converter(value) {
|
|
74
|
-
return value
|
|
74
|
+
return value !== 'false' && value !== false;
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
},
|
|
@@ -89,9 +89,14 @@ export default class OpenApiExplorer extends LitElement {
|
|
|
89
89
|
type: String,
|
|
90
90
|
attribute: 'response-area-height'
|
|
91
91
|
},
|
|
92
|
-
|
|
93
|
-
type:
|
|
94
|
-
attribute: '
|
|
92
|
+
hideDefaults: {
|
|
93
|
+
type: Boolean,
|
|
94
|
+
attribute: 'hide-defaults',
|
|
95
|
+
|
|
96
|
+
converter(value) {
|
|
97
|
+
return value !== 'false' && value !== false;
|
|
98
|
+
}
|
|
99
|
+
|
|
95
100
|
},
|
|
96
101
|
// Schema Styles
|
|
97
102
|
displaySchemaAsTable: {
|
|
@@ -99,7 +104,7 @@ export default class OpenApiExplorer extends LitElement {
|
|
|
99
104
|
attribute: 'table',
|
|
100
105
|
|
|
101
106
|
converter(value) {
|
|
102
|
-
return value
|
|
107
|
+
return value !== 'false' && value !== false;
|
|
103
108
|
}
|
|
104
109
|
|
|
105
110
|
},
|
|
@@ -113,29 +118,39 @@ export default class OpenApiExplorer extends LitElement {
|
|
|
113
118
|
attribute: 'server-url'
|
|
114
119
|
},
|
|
115
120
|
// Hide/Show Sections & Enable Disable actions
|
|
116
|
-
|
|
117
|
-
type:
|
|
118
|
-
attribute: '
|
|
121
|
+
hideInfo: {
|
|
122
|
+
type: Boolean,
|
|
123
|
+
attribute: 'hide-info',
|
|
124
|
+
|
|
125
|
+
converter(value) {
|
|
126
|
+
return value !== 'false' && value !== false;
|
|
127
|
+
}
|
|
128
|
+
|
|
119
129
|
},
|
|
120
130
|
hideAuthentication: {
|
|
121
131
|
type: Boolean,
|
|
122
132
|
attribute: 'hide-authentication',
|
|
123
133
|
|
|
124
134
|
converter(value) {
|
|
125
|
-
return value
|
|
135
|
+
return value !== 'false' && value !== false;
|
|
126
136
|
}
|
|
127
137
|
|
|
128
138
|
},
|
|
129
|
-
|
|
130
|
-
type:
|
|
131
|
-
attribute: '
|
|
139
|
+
hideExecution: {
|
|
140
|
+
type: Boolean,
|
|
141
|
+
attribute: 'hide-console',
|
|
142
|
+
|
|
143
|
+
converter(value) {
|
|
144
|
+
return value !== 'false' && value !== false;
|
|
145
|
+
}
|
|
146
|
+
|
|
132
147
|
},
|
|
133
148
|
includeNulls: {
|
|
134
149
|
type: Boolean,
|
|
135
150
|
attribute: 'display-nulls',
|
|
136
151
|
|
|
137
152
|
converter(value) {
|
|
138
|
-
return value
|
|
153
|
+
return value !== 'false' && value !== false;
|
|
139
154
|
}
|
|
140
155
|
|
|
141
156
|
},
|
|
@@ -144,7 +159,7 @@ export default class OpenApiExplorer extends LitElement {
|
|
|
144
159
|
attribute: 'hide-search',
|
|
145
160
|
|
|
146
161
|
converter(value) {
|
|
147
|
-
return value
|
|
162
|
+
return value !== 'false' && value !== false;
|
|
148
163
|
}
|
|
149
164
|
|
|
150
165
|
},
|
|
@@ -153,7 +168,7 @@ export default class OpenApiExplorer extends LitElement {
|
|
|
153
168
|
attribute: 'hide-server-selection',
|
|
154
169
|
|
|
155
170
|
converter(value) {
|
|
156
|
-
return value
|
|
171
|
+
return value !== 'false' && value !== false;
|
|
157
172
|
}
|
|
158
173
|
|
|
159
174
|
},
|
|
@@ -162,7 +177,7 @@ export default class OpenApiExplorer extends LitElement {
|
|
|
162
177
|
attribute: 'hide-components',
|
|
163
178
|
|
|
164
179
|
converter(value) {
|
|
165
|
-
return value
|
|
180
|
+
return value !== 'false' && value !== false;
|
|
166
181
|
}
|
|
167
182
|
|
|
168
183
|
},
|
|
@@ -217,7 +232,7 @@ export default class OpenApiExplorer extends LitElement {
|
|
|
217
232
|
attribute: 'use-path-in-nav-bar',
|
|
218
233
|
|
|
219
234
|
converter(value) {
|
|
220
|
-
return value
|
|
235
|
+
return value !== 'false' && value !== false;
|
|
221
236
|
}
|
|
222
237
|
|
|
223
238
|
},
|
|
@@ -302,26 +317,14 @@ export default class OpenApiExplorer extends LitElement {
|
|
|
302
317
|
this.schemaHideReadOnly = ['post', 'put', 'patch', 'query'].join(',');
|
|
303
318
|
this.schemaHideWriteOnly = true;
|
|
304
319
|
|
|
305
|
-
if (!this.fillRequestWithDefault || !'true, false,'.includes(`${this.fillRequestWithDefault},`)) {
|
|
306
|
-
this.fillRequestWithDefault = 'true';
|
|
307
|
-
}
|
|
308
|
-
|
|
309
320
|
if (!this.responseAreaHeight) {
|
|
310
321
|
this.responseAreaHeight = '300px';
|
|
311
322
|
}
|
|
312
323
|
|
|
313
|
-
if (!this.allowTry || !'true, false,'.includes(`${this.allowTry},`)) {
|
|
314
|
-
this.allowTry = 'true';
|
|
315
|
-
}
|
|
316
|
-
|
|
317
324
|
if (!this.navItemSpacing || !'compact, relaxed, default,'.includes(`${this.navItemSpacing},`)) {
|
|
318
325
|
this.navItemSpacing = 'default';
|
|
319
326
|
}
|
|
320
327
|
|
|
321
|
-
if (!this.showInfo || !'true, false,'.includes(`${this.showInfo},`)) {
|
|
322
|
-
this.showInfo = 'true';
|
|
323
|
-
}
|
|
324
|
-
|
|
325
328
|
if (!this.fetchCredentials || !'omit, same-origin, include,'.includes(`${this.fetchCredentials},`)) {
|
|
326
329
|
this.fetchCredentials = '';
|
|
327
330
|
}
|
|
@@ -539,7 +542,7 @@ export default class OpenApiExplorer extends LitElement {
|
|
|
539
542
|
this.intersectionObserver.disconnect();
|
|
540
543
|
|
|
541
544
|
if (this.renderStyle === 'focused') {
|
|
542
|
-
const defaultElementId = this.
|
|
545
|
+
const defaultElementId = !this.hideInfo ? 'overview' : this.resolvedSpec.tags && this.resolvedSpec.tags[0] && this.resolvedSpec.tags[0].paths[0];
|
|
543
546
|
this.scrollTo(this.explorerLocation || defaultElementId);
|
|
544
547
|
}
|
|
545
548
|
|
|
@@ -583,7 +586,7 @@ export default class OpenApiExplorer extends LitElement {
|
|
|
583
586
|
}
|
|
584
587
|
|
|
585
588
|
isValidPathId(id) {
|
|
586
|
-
if (id === 'overview' && this.
|
|
589
|
+
if (id === 'overview' && !this.hideInfo) {
|
|
587
590
|
return true;
|
|
588
591
|
}
|
|
589
592
|
|
|
@@ -2,6 +2,6 @@ import { html } from 'lit';
|
|
|
2
2
|
/* eslint-disable indent */
|
|
3
3
|
|
|
4
4
|
export default function callbackTemplate(callbacks) {
|
|
5
|
-
return html` <div class="api-request col regular-font request-panel ${this.renderStyle}-mode"> ${Object.entries(callbacks).map(kv => html` <div class="${this.renderStyle}-request"> <div class="req-res-title">CALLBACKS</div> <div class="table-title">${kv[0]}</div> ${Object.entries(kv[1]).map(pathObj => html` <div class="mono-font small-font-size" style="display:flex"> <div style="width:100%"> ${Object.entries(pathObj[1]).map(method => html` <div> <div style="margin-top:12px"> <div class="method method-fg ${method[0]}" style="width:70px;border:none;margin:0;padding:0;line-height:20px;vertical-align:baseline;text-align:left"> <span style="font-size:20px"> ⥄ </span> ${method[0]} </div> <span style="line-height:20px;vertical-align:baseline">${pathObj[0]} </span> </div> <div class="expanded-req-resp-container"> <api-request class="request-panel" callback="true" method="${method[0] || ''}" , path="${pathObj[0] || ''}" .parameters="${method[1] && method[1].parameters || ''}" .request_body="${method[1] && method[1].requestBody || ''}" fill-defaults="${this.
|
|
5
|
+
return html` <div class="api-request col regular-font request-panel ${this.renderStyle}-mode"> ${Object.entries(callbacks).map(kv => html` <div class="${this.renderStyle}-request"> <div class="req-res-title">CALLBACKS</div> <div class="table-title">${kv[0]}</div> ${Object.entries(kv[1]).map(pathObj => html` <div class="mono-font small-font-size" style="display:flex"> <div style="width:100%"> ${Object.entries(pathObj[1]).map(method => html` <div> <div style="margin-top:12px"> <div class="method method-fg ${method[0]}" style="width:70px;border:none;margin:0;padding:0;line-height:20px;vertical-align:baseline;text-align:left"> <span style="font-size:20px"> ⥄ </span> ${method[0]} </div> <span style="line-height:20px;vertical-align:baseline">${pathObj[0]} </span> </div> <div class="expanded-req-resp-container"> <api-request class="request-panel" callback="true" method="${method[0] || ''}" , path="${pathObj[0] || ''}" .parameters="${method[1] && method[1].parameters || ''}" .request_body="${method[1] && method[1].requestBody || ''}" fill-defaults="${!this.hideDefaults}" display-nulls="${!!this.includeNulls}" enable-console="false" render-style="${this.renderStyle}" schema-style="${this.displaySchemaAsTable ? 'table' : 'tree'}" active-schema-tab="${this.defaultSchemaTab}" schema-expand-level="${this.schemaExpandLevel}" schema-hide-read-only="${this.schemaHideReadOnly}" fetch-credentials="${this.fetchCredentials}" exportparts="btn btn-fill btn-outline btn-try"> </api-request> <api-response callback="true" .responses="${method[1] && method[1].responses}" display-nulls="${!!this.includeNulls}" render-style="${this.renderStyle}" schema-style="${this.displaySchemaAsTable ? 'table' : 'tree'}" active-schema-tab="${this.defaultSchemaTab}" schema-expand-level="${this.schemaExpandLevel}" exportparts="btn--resp btn-fill--resp btn-outline--resp"> </api-response> </div> </div> `)} </div> </div> `)} </div> `)} </div> `;
|
|
6
6
|
}
|
|
7
7
|
/* eslint-enable indent */
|
|
@@ -65,7 +65,7 @@ function endpointBodyTemplate(path) {
|
|
|
65
65
|
return v.finalKeyValue && ((_path$security = path.security) === null || _path$security === void 0 ? void 0 : _path$security.some(ps => ps[v.apiKeyId]));
|
|
66
66
|
}) || [];
|
|
67
67
|
const codeSampleTabPanel = path.xCodeSamples ? codeSamplesTemplate(path.xCodeSamples) : '';
|
|
68
|
-
return html` <div class="endpoint-body ${path.method}"> <div class="summary"> ${this.usePathInNavBar ? path.summary ? html`<div class="title">${path.summary}<div></div></div>` : path.shortSummary !== path.description ? html`<div class="title">${path.shortSummary}</div>` : '' : html` <div class="title mono-font regular-font-size" part="section-operation-url" style="display:flex;flex-wrap:wrap;color:var(--fg3)"> ${path.isWebhook ? html`<span style="color:var(--primary-color)"> WEBHOOK </span>` : ''} <span part="label-operation-method" class="regular-font upper method-fg bold-text ${path.method}">${path.method} </span> <span style="display:flex;flex-wrap:wrap" part="label-operation-path">${path.path.split('/').filter(t => t.trim()).map(t => html`<span>/${t}</span>`)}</span> </div>`} ${path.description ? html`<div class="m-markdown"> ${unsafeHTML(marked(path.description))}</div>` : ''} <slot name="${path.elementId}"></slot> <slot name="path-details" data-method="${path.method}" data-path="${path.path}"></slot> ${pathSecurityTemplate.call(this, path.security)} ${codeSampleTabPanel} </div> <div class="req-resp-container"> <div style="display:flex;flex-direction:column" class="request"> <api-request class="request-panel" style="width:100%" method="${path.method}" , path="${path.path}" element-id="${path.elementId}" .parameters="${path.parameters}" .request_body="${path.requestBody}" .api_keys="${nonEmptyApiKeys}" .servers="${path.servers}" server-url="${((_path$servers = path.servers) === null || _path$servers === void 0 ? void 0 : (_path$servers$ = _path$servers[0]) === null || _path$servers$ === void 0 ? void 0 : _path$servers$.url) || ((_this$selectedServer = this.selectedServer) === null || _this$selectedServer === void 0 ? void 0 : _this$selectedServer.computedUrl)}" active-schema-tab="${this.defaultSchemaTab}" fill-defaults="${this.
|
|
68
|
+
return html` <div class="endpoint-body ${path.method}"> <div class="summary"> ${this.usePathInNavBar ? path.summary ? html`<div class="title">${path.summary}<div></div></div>` : path.shortSummary !== path.description ? html`<div class="title">${path.shortSummary}</div>` : '' : html` <div class="title mono-font regular-font-size" part="section-operation-url" style="display:flex;flex-wrap:wrap;color:var(--fg3)"> ${path.isWebhook ? html`<span style="color:var(--primary-color)"> WEBHOOK </span>` : ''} <span part="label-operation-method" class="regular-font upper method-fg bold-text ${path.method}">${path.method} </span> <span style="display:flex;flex-wrap:wrap" part="label-operation-path">${path.path.split('/').filter(t => t.trim()).map(t => html`<span>/${t}</span>`)}</span> </div>`} ${path.description ? html`<div class="m-markdown"> ${unsafeHTML(marked(path.description))}</div>` : ''} <slot name="${path.elementId}"></slot> <slot name="path-details" data-method="${path.method}" data-path="${path.path}"></slot> ${pathSecurityTemplate.call(this, path.security)} ${codeSampleTabPanel} </div> <div class="req-resp-container"> <div style="display:flex;flex-direction:column" class="request"> <api-request class="request-panel" style="width:100%" method="${path.method}" , path="${path.path}" element-id="${path.elementId}" .parameters="${path.parameters}" .request_body="${path.requestBody}" .api_keys="${nonEmptyApiKeys}" .servers="${path.servers}" server-url="${((_path$servers = path.servers) === null || _path$servers === void 0 ? void 0 : (_path$servers$ = _path$servers[0]) === null || _path$servers$ === void 0 ? void 0 : _path$servers$.url) || ((_this$selectedServer = this.selectedServer) === null || _this$selectedServer === void 0 ? void 0 : _this$selectedServer.computedUrl)}" active-schema-tab="${this.defaultSchemaTab}" fill-defaults="${!this.hideDefaults}" display-nulls="${!!this.includeNulls}" enable-console="${!this.hideExecution}" accept="${accept}" render-style="${this.renderStyle}" schema-style="${this.displaySchemaAsTable ? 'table' : 'tree'}" schema-expand-level="${this.schemaExpandLevel}" schema-hide-read-only="${this.schemaHideReadOnly}" fetch-credentials="${this.fetchCredentials}" exportparts="btn btn-fill btn-outline btn-try"> </api-request> </div> ${path.callbacks ? callbackTemplate.call(this, path.callbacks) : ''} <api-response class="request response" .responses="${path.responses}" display-nulls="${!!this.includeNulls}" active-schema-tab="${this.defaultSchemaTab}" render-style="${this.renderStyle}" schema-style="${this.displaySchemaAsTable ? 'table' : 'tree'}" schema-expand-level="${this.schemaExpandLevel}" schema-hide-write-only="${this.schemaHideWriteOnly}" selected-status="${Object.keys(path.responses || {})[0] || ''}" exportparts="btn--resp btn-fill--resp btn-outline--resp"> </api-response> </div> </div>`;
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
export default function endpointTemplate() {
|
|
@@ -25,7 +25,7 @@ export function expandedEndpointBodyTemplate(path, tagName = '') {
|
|
|
25
25
|
|
|
26
26
|
const nonEmptyApiKeys = this.resolvedSpec.securitySchemes.filter(v => v.finalKeyValue && path.security && path.security.some(ps => ps[v.apiKeyId])) || [];
|
|
27
27
|
const codeSampleTabPanel = path.xCodeSamples ? codeSamplesTemplate.call(this, path.xCodeSamples) : '';
|
|
28
|
-
return html` ${this.renderStyle === 'read' ? html`<div class="divider" part="operation-divider"></div>` : ''} <div class="expanded-endpoint-body observe-me ${path.method}" part="section-operation ${path.elementId}" id="${path.elementId}"> ${this.renderStyle === 'focused' && tagName && tagName !== 'General ⦂' ? html`<h3 class="upper" style="font-weight:700"> ${tagName} </h3>` : ''} ${path.deprecated ? html`<div class="bold-text red-text"> DEPRECATED </div>` : ''} <div style="display:flex;justify-content:space-between"> <div style="flex-grow:1"> <h2>${path.shortSummary || `${path.method.toUpperCase()} ${path.path}`}</h2> <div class='mono-font part="section-operation-url" regular-font-size' style="padding:8px 0;color:var(--fg3)"> ${path.isWebhook ? html`<span style="color:var(--primary-color)"> WEBHOOK </span>` : ''} <span part="label-operation-method" class="regular-font upper method-fg bold-text ${path.method}">${path.method}</span> <span part="label-operation-path">${path.path}</span> </div> </div> ${path.externalDocs ? html`<div class="m-markdown" style="margin-top:2rem;margin-bottom:.5rem;max-width:300px"> ${unsafeHTML(marked(path.externalDocs.description || ''))} <a href="${path.externalDocs.url}">Navigate to documentation ↗</a> </div>` : ''} </div> <div class="m-markdown" style="margin-right:2rem"> ${unsafeHTML(marked(path.description || ''))}</div> <slot name="${path.elementId}"></slot> <slot name="path-details" data-method="${path.method}" data-path="${path.path}"></slot> ${pathSecurityTemplate.call(this, path.security)} ${codeSampleTabPanel} <div class="expanded-req-resp-container"> <api-request class="request-panel" method="${path.method}" path="${path.path}" element-id="${path.elementId}" .parameters="${path.parameters}" .request_body="${path.requestBody}" .api_keys="${nonEmptyApiKeys}" .servers="${path.servers}" server-url="${((_path$servers = path.servers) === null || _path$servers === void 0 ? void 0 : (_path$servers$ = _path$servers[0]) === null || _path$servers$ === void 0 ? void 0 : _path$servers$.url) || ((_this$selectedServer = this.selectedServer) === null || _this$selectedServer === void 0 ? void 0 : _this$selectedServer.computedUrl)}" fill-defaults="${this.
|
|
28
|
+
return html` ${this.renderStyle === 'read' ? html`<div class="divider" part="operation-divider"></div>` : ''} <div class="expanded-endpoint-body observe-me ${path.method}" part="section-operation ${path.elementId}" id="${path.elementId}"> ${this.renderStyle === 'focused' && tagName && tagName !== 'General ⦂' ? html`<h3 class="upper" style="font-weight:700"> ${tagName} </h3>` : ''} ${path.deprecated ? html`<div class="bold-text red-text"> DEPRECATED </div>` : ''} <div style="display:flex;justify-content:space-between"> <div style="flex-grow:1"> <h2>${path.shortSummary || `${path.method.toUpperCase()} ${path.path}`}</h2> <div class='mono-font part="section-operation-url" regular-font-size' style="padding:8px 0;color:var(--fg3)"> ${path.isWebhook ? html`<span style="color:var(--primary-color)"> WEBHOOK </span>` : ''} <span part="label-operation-method" class="regular-font upper method-fg bold-text ${path.method}">${path.method}</span> <span part="label-operation-path">${path.path}</span> </div> </div> ${path.externalDocs ? html`<div class="m-markdown" style="margin-top:2rem;margin-bottom:.5rem;max-width:300px"> ${unsafeHTML(marked(path.externalDocs.description || ''))} <a href="${path.externalDocs.url}">Navigate to documentation ↗</a> </div>` : ''} </div> <div class="m-markdown" style="margin-right:2rem"> ${unsafeHTML(marked(path.description || ''))}</div> <slot name="${path.elementId}"></slot> <slot name="path-details" data-method="${path.method}" data-path="${path.path}"></slot> ${pathSecurityTemplate.call(this, path.security)} ${codeSampleTabPanel} <div class="expanded-req-resp-container"> <api-request class="request-panel" method="${path.method}" path="${path.path}" element-id="${path.elementId}" .parameters="${path.parameters}" .request_body="${path.requestBody}" .api_keys="${nonEmptyApiKeys}" .servers="${path.servers}" server-url="${((_path$servers = path.servers) === null || _path$servers === void 0 ? void 0 : (_path$servers$ = _path$servers[0]) === null || _path$servers$ === void 0 ? void 0 : _path$servers$.url) || ((_this$selectedServer = this.selectedServer) === null || _this$selectedServer === void 0 ? void 0 : _this$selectedServer.computedUrl)}" fill-defaults="${!this.hideDefaults}" display-nulls="${!!this.includeNulls}" enable-console="${!this.hideExecution}" accept="${accept}" render-style="${this.renderStyle}" schema-style="${this.displaySchemaAsTable ? 'table' : 'tree'}" active-schema-tab="${this.defaultSchemaTab}" schema-expand-level="${this.schemaExpandLevel}" schema-hide-read-only="${this.schemaHideReadOnly}" fetch-credentials="${this.fetchCredentials}" exportparts="btn btn-fill btn-outline btn-try"> </api-request> ${path.callbacks ? callbackTemplate.call(this, path.callbacks) : ''} <api-response class="response-panel" .responses="${path.responses}" display-nulls="${!!this.includeNulls}" render-style="${this.renderStyle}" schema-style="${this.displaySchemaAsTable ? 'table' : 'tree'}" active-schema-tab="${this.defaultSchemaTab}" schema-expand-level="${this.schemaExpandLevel}" schema-hide-write-only="${this.schemaHideWriteOnly}" selected-status="${Object.keys(path.responses || {})[0] || ''}" exportparts="btn--resp btn-fill--resp btn-outline--resp"> </api-response> </div> </div> `;
|
|
29
29
|
}
|
|
30
30
|
export function expandedTagTemplate(tagId, subsectionFullId) {
|
|
31
31
|
const tag = (this.resolvedSpec.tags || []).find(t => t.elementId === tagId);
|
|
@@ -13,7 +13,7 @@ function wrapFocusedTemplate(templateToWrap) {
|
|
|
13
13
|
|
|
14
14
|
function defaultContentTemplate() {
|
|
15
15
|
// In focused mode default content is overview or first path
|
|
16
|
-
if (this.
|
|
16
|
+
if (!this.hideInfo) {
|
|
17
17
|
return overviewTemplate.call(this);
|
|
18
18
|
}
|
|
19
19
|
|
|
@@ -33,7 +33,7 @@ export default function focusedEndpointTemplate() {
|
|
|
33
33
|
let focusedTemplate;
|
|
34
34
|
let i = 0;
|
|
35
35
|
|
|
36
|
-
if (focusElId.startsWith('overview') && this.
|
|
36
|
+
if (focusElId.startsWith('overview') && !this.hideInfo) {
|
|
37
37
|
focusedTemplate = overviewTemplate.call(this);
|
|
38
38
|
} else if (focusElId === 'auth' && !this.hideAuthentication) {
|
|
39
39
|
focusedTemplate = securitySchemeTemplate.call(this);
|
|
@@ -26,6 +26,6 @@ export default function mainBodyTemplate() {
|
|
|
26
26
|
|
|
27
27
|
return html` ${SetTheme.call(this, newTheme)} ${this.hideSearch ? '' : advancedSearchTemplate.call(this)} <div id="the-main-body" class="body"> ${this.renderStyle === 'focused' && this.resolvedSpec ? navbarTemplate.call(this) : ''} ${this.loading === true ? html`<slot name="loader"><div class="loader"></div></slot>` : html` <main class="main-content regular-font" part="section-main-content"> <slot></slot> <div id="operations-root" class="main-content-inner"> ${this.loadFailed === true ? html`<div style="text-align:center;margin:16px">Unable to load the Spec${this.specUrl ? ': ' : ''}<strong>${this.specUrl}</strong></div>` : html` <div class="operations-root" @click="${e => {
|
|
28
28
|
this.handleHref(e);
|
|
29
|
-
}}"> ${this.renderStyle === 'focused' ? html`${focusedEndpointTemplate.call(this)}` : html` ${this.
|
|
29
|
+
}}"> ${this.renderStyle === 'focused' ? html`${focusedEndpointTemplate.call(this)}` : html` ${!this.hideInfo ? overviewTemplate.call(this) : ''} ${!this.hideServerSelection ? serverTemplate.call(this) : ''} ${!this.hideAuthentication ? securitySchemeTemplate.call(this) : ''} <section id="section" class="observe-me ${this.renderStyle === 'focused' ? 'section-gap--focused-mode' : 'section-gap'}"> <slot name="custom-section"></slot> </section> ${endpointTemplate.call(this)}`} </div> `}</div></main>`} </div> <slot name="footer"></slot> `;
|
|
30
30
|
}
|
|
31
31
|
/* eslint-enable indent */
|
|
@@ -40,7 +40,7 @@ export function expandCollapseAllComponents() {
|
|
|
40
40
|
export default function navbarTemplate() {
|
|
41
41
|
var _this$resolvedSpec$co;
|
|
42
42
|
|
|
43
|
-
return html` <nav class="nav-bar ${this.renderStyle}" part="section-navbar"> <slot name="nav-header"></slot> ${this.hideSearch ? '' : html` <div style="display:flex;flex-direction:row;justify-content:center;align-items:center;padding:24px"> <div style="display:flex;flex:1;line-height:22px"> <input id="nav-bar-search" part="textbox textbox-nav-filter" style="width:100%;padding-right:20px;color:var(--nav-hover-text-color);border-color:var(--secondary-color);background-color:var(--nav-hover-bg-color)" type="text" placeholder="${getI18nText('menu.filter')}" @input="${this.onSearchChange}" spellcheck="false"> </div> <button class="m-btn outline-primary" part="btn btn-fill btn-search" style="margin-left:5px" @click="${this.onShowSearchModalClicked}"> ${getI18nText('menu.search')} </button> </div> `} ${html`<nav class="nav-scroll" part="navbar-scroll"> ${this.
|
|
43
|
+
return html` <nav class="nav-bar ${this.renderStyle}" part="section-navbar"> <slot name="nav-header"></slot> ${this.hideSearch ? '' : html` <div style="display:flex;flex-direction:row;justify-content:center;align-items:center;padding:24px"> <div style="display:flex;flex:1;line-height:22px"> <input id="nav-bar-search" part="textbox textbox-nav-filter" style="width:100%;padding-right:20px;color:var(--nav-hover-text-color);border-color:var(--secondary-color);background-color:var(--nav-hover-bg-color)" type="text" placeholder="${getI18nText('menu.filter')}" @input="${this.onSearchChange}" spellcheck="false"> </div> <button class="m-btn outline-primary" part="btn btn-fill btn-search" style="margin-left:5px" @click="${this.onShowSearchModalClicked}"> ${getI18nText('menu.search')} </button> </div> `} ${html`<nav class="nav-scroll" part="navbar-scroll"> ${this.hideInfo || !this.resolvedSpec.info ? '' : html`<div class="nav-bar-info" id="link-overview" data-content-id="overview" @click="${e => this.scrollToEventTarget(e, false)}"> ${this.resolvedSpec.info.title || getI18nText('menu.overview')} </div>`} ${this.hideServerSelection ? '' : html`<div class="nav-bar-info" id="link-servers" data-content-id="servers" @click="${e => this.scrollToEventTarget(e, false)}"> ${getI18nText('menu.api-servers')} </div>`} ${this.hideAuthentication || !this.resolvedSpec.securitySchemes ? '' : html`<div class="nav-bar-info" id="link-auth" data-content-id="auth" @click="${e => this.scrollToEventTarget(e, false)}"> ${getI18nText('menu.authentication')} </div>`} <slot name="nav-section" class="custom-nav-section" data-content-id="section" @click="${e => this.scrollToCustomNavSectionTarget(e, false)}"></slot> <div class="sticky-scroll-element ${this.operationsCollapsed ? 'collapsed' : ''}" @click="${() => {
|
|
44
44
|
expandCollapseAll.call(this);
|
|
45
45
|
}}"> <div class="nav-bar-section" part="navbar-operations-header"> <slot name="operations-header"> <div class="nav-bar-section-title">${getI18nText('menu.operations')}</div> </slot> <div style="" part="navbar-operations-header-collapse"> ${this.resolvedSpec.tags.length > 1 && this.resolvedSpec.tags.some(tag => !tag.paths.length && !this.matchPaths || tag.paths.some(path => pathIsInSearch(this.matchPaths, path))) ? html` <div class="toggle">▾</div>` : ''} </div> </div> </div> ${this.resolvedSpec.tags.filter(tag => !tag.paths.length && !this.matchPaths || tag.paths.some(path => pathIsInSearch(this.matchPaths, path))).map(tag => html` <slot name="nav-${tag.elementId}"> <div class="nav-bar-tag-and-paths ${tag.expanded ? '' : 'collapsed'}"> ${tag.name === 'General ⦂' ? html`` : html` <div class="nav-bar-tag" id="link-${tag.elementId}" data-content-id="${tag.elementId}" @click="${() => {
|
|
46
46
|
onExpandCollapse.call(this, tag.elementId);
|
|
@@ -101,7 +101,7 @@ class OpenApiExplorer extends _lit.LitElement {
|
|
|
101
101
|
attribute: 'collapse',
|
|
102
102
|
|
|
103
103
|
converter(value) {
|
|
104
|
-
return value
|
|
104
|
+
return value !== 'false' && value !== false;
|
|
105
105
|
}
|
|
106
106
|
|
|
107
107
|
},
|
|
@@ -119,9 +119,14 @@ class OpenApiExplorer extends _lit.LitElement {
|
|
|
119
119
|
type: String,
|
|
120
120
|
attribute: 'response-area-height'
|
|
121
121
|
},
|
|
122
|
-
|
|
123
|
-
type:
|
|
124
|
-
attribute: '
|
|
122
|
+
hideDefaults: {
|
|
123
|
+
type: Boolean,
|
|
124
|
+
attribute: 'hide-defaults',
|
|
125
|
+
|
|
126
|
+
converter(value) {
|
|
127
|
+
return value !== 'false' && value !== false;
|
|
128
|
+
}
|
|
129
|
+
|
|
125
130
|
},
|
|
126
131
|
// Schema Styles
|
|
127
132
|
displaySchemaAsTable: {
|
|
@@ -129,7 +134,7 @@ class OpenApiExplorer extends _lit.LitElement {
|
|
|
129
134
|
attribute: 'table',
|
|
130
135
|
|
|
131
136
|
converter(value) {
|
|
132
|
-
return value
|
|
137
|
+
return value !== 'false' && value !== false;
|
|
133
138
|
}
|
|
134
139
|
|
|
135
140
|
},
|
|
@@ -143,29 +148,39 @@ class OpenApiExplorer extends _lit.LitElement {
|
|
|
143
148
|
attribute: 'server-url'
|
|
144
149
|
},
|
|
145
150
|
// Hide/Show Sections & Enable Disable actions
|
|
146
|
-
|
|
147
|
-
type:
|
|
148
|
-
attribute: '
|
|
151
|
+
hideInfo: {
|
|
152
|
+
type: Boolean,
|
|
153
|
+
attribute: 'hide-info',
|
|
154
|
+
|
|
155
|
+
converter(value) {
|
|
156
|
+
return value !== 'false' && value !== false;
|
|
157
|
+
}
|
|
158
|
+
|
|
149
159
|
},
|
|
150
160
|
hideAuthentication: {
|
|
151
161
|
type: Boolean,
|
|
152
162
|
attribute: 'hide-authentication',
|
|
153
163
|
|
|
154
164
|
converter(value) {
|
|
155
|
-
return value
|
|
165
|
+
return value !== 'false' && value !== false;
|
|
156
166
|
}
|
|
157
167
|
|
|
158
168
|
},
|
|
159
|
-
|
|
160
|
-
type:
|
|
161
|
-
attribute: '
|
|
169
|
+
hideExecution: {
|
|
170
|
+
type: Boolean,
|
|
171
|
+
attribute: 'hide-console',
|
|
172
|
+
|
|
173
|
+
converter(value) {
|
|
174
|
+
return value !== 'false' && value !== false;
|
|
175
|
+
}
|
|
176
|
+
|
|
162
177
|
},
|
|
163
178
|
includeNulls: {
|
|
164
179
|
type: Boolean,
|
|
165
180
|
attribute: 'display-nulls',
|
|
166
181
|
|
|
167
182
|
converter(value) {
|
|
168
|
-
return value
|
|
183
|
+
return value !== 'false' && value !== false;
|
|
169
184
|
}
|
|
170
185
|
|
|
171
186
|
},
|
|
@@ -174,7 +189,7 @@ class OpenApiExplorer extends _lit.LitElement {
|
|
|
174
189
|
attribute: 'hide-search',
|
|
175
190
|
|
|
176
191
|
converter(value) {
|
|
177
|
-
return value
|
|
192
|
+
return value !== 'false' && value !== false;
|
|
178
193
|
}
|
|
179
194
|
|
|
180
195
|
},
|
|
@@ -183,7 +198,7 @@ class OpenApiExplorer extends _lit.LitElement {
|
|
|
183
198
|
attribute: 'hide-server-selection',
|
|
184
199
|
|
|
185
200
|
converter(value) {
|
|
186
|
-
return value
|
|
201
|
+
return value !== 'false' && value !== false;
|
|
187
202
|
}
|
|
188
203
|
|
|
189
204
|
},
|
|
@@ -192,7 +207,7 @@ class OpenApiExplorer extends _lit.LitElement {
|
|
|
192
207
|
attribute: 'hide-components',
|
|
193
208
|
|
|
194
209
|
converter(value) {
|
|
195
|
-
return value
|
|
210
|
+
return value !== 'false' && value !== false;
|
|
196
211
|
}
|
|
197
212
|
|
|
198
213
|
},
|
|
@@ -247,7 +262,7 @@ class OpenApiExplorer extends _lit.LitElement {
|
|
|
247
262
|
attribute: 'use-path-in-nav-bar',
|
|
248
263
|
|
|
249
264
|
converter(value) {
|
|
250
|
-
return value
|
|
265
|
+
return value !== 'false' && value !== false;
|
|
251
266
|
}
|
|
252
267
|
|
|
253
268
|
},
|
|
@@ -332,26 +347,14 @@ class OpenApiExplorer extends _lit.LitElement {
|
|
|
332
347
|
this.schemaHideReadOnly = ['post', 'put', 'patch', 'query'].join(',');
|
|
333
348
|
this.schemaHideWriteOnly = true;
|
|
334
349
|
|
|
335
|
-
if (!this.fillRequestWithDefault || !'true, false,'.includes(`${this.fillRequestWithDefault},`)) {
|
|
336
|
-
this.fillRequestWithDefault = 'true';
|
|
337
|
-
}
|
|
338
|
-
|
|
339
350
|
if (!this.responseAreaHeight) {
|
|
340
351
|
this.responseAreaHeight = '300px';
|
|
341
352
|
}
|
|
342
353
|
|
|
343
|
-
if (!this.allowTry || !'true, false,'.includes(`${this.allowTry},`)) {
|
|
344
|
-
this.allowTry = 'true';
|
|
345
|
-
}
|
|
346
|
-
|
|
347
354
|
if (!this.navItemSpacing || !'compact, relaxed, default,'.includes(`${this.navItemSpacing},`)) {
|
|
348
355
|
this.navItemSpacing = 'default';
|
|
349
356
|
}
|
|
350
357
|
|
|
351
|
-
if (!this.showInfo || !'true, false,'.includes(`${this.showInfo},`)) {
|
|
352
|
-
this.showInfo = 'true';
|
|
353
|
-
}
|
|
354
|
-
|
|
355
358
|
if (!this.fetchCredentials || !'omit, same-origin, include,'.includes(`${this.fetchCredentials},`)) {
|
|
356
359
|
this.fetchCredentials = '';
|
|
357
360
|
}
|
|
@@ -569,7 +572,7 @@ class OpenApiExplorer extends _lit.LitElement {
|
|
|
569
572
|
this.intersectionObserver.disconnect();
|
|
570
573
|
|
|
571
574
|
if (this.renderStyle === 'focused') {
|
|
572
|
-
const defaultElementId = this.
|
|
575
|
+
const defaultElementId = !this.hideInfo ? 'overview' : this.resolvedSpec.tags && this.resolvedSpec.tags[0] && this.resolvedSpec.tags[0].paths[0];
|
|
573
576
|
this.scrollTo(this.explorerLocation || defaultElementId);
|
|
574
577
|
}
|
|
575
578
|
|
|
@@ -613,7 +616,7 @@ class OpenApiExplorer extends _lit.LitElement {
|
|
|
613
616
|
}
|
|
614
617
|
|
|
615
618
|
isValidPathId(id) {
|
|
616
|
-
if (id === 'overview' && this.
|
|
619
|
+
if (id === 'overview' && !this.hideInfo) {
|
|
617
620
|
return true;
|
|
618
621
|
}
|
|
619
622
|
|
|
@@ -7,6 +7,6 @@ var _lit = require("lit");
|
|
|
7
7
|
|
|
8
8
|
/* eslint-disable indent */
|
|
9
9
|
function callbackTemplate(callbacks) {
|
|
10
|
-
return (0, _lit.html)` <div class="api-request col regular-font request-panel ${this.renderStyle}-mode"> ${Object.entries(callbacks).map(kv => (0, _lit.html)` <div class="${this.renderStyle}-request"> <div class="req-res-title">CALLBACKS</div> <div class="table-title">${kv[0]}</div> ${Object.entries(kv[1]).map(pathObj => (0, _lit.html)` <div class="mono-font small-font-size" style="display:flex"> <div style="width:100%"> ${Object.entries(pathObj[1]).map(method => (0, _lit.html)` <div> <div style="margin-top:12px"> <div class="method method-fg ${method[0]}" style="width:70px;border:none;margin:0;padding:0;line-height:20px;vertical-align:baseline;text-align:left"> <span style="font-size:20px"> ⥄ </span> ${method[0]} </div> <span style="line-height:20px;vertical-align:baseline">${pathObj[0]} </span> </div> <div class="expanded-req-resp-container"> <api-request class="request-panel" callback="true" method="${method[0] || ''}" , path="${pathObj[0] || ''}" .parameters="${method[1] && method[1].parameters || ''}" .request_body="${method[1] && method[1].requestBody || ''}" fill-defaults="${this.
|
|
10
|
+
return (0, _lit.html)` <div class="api-request col regular-font request-panel ${this.renderStyle}-mode"> ${Object.entries(callbacks).map(kv => (0, _lit.html)` <div class="${this.renderStyle}-request"> <div class="req-res-title">CALLBACKS</div> <div class="table-title">${kv[0]}</div> ${Object.entries(kv[1]).map(pathObj => (0, _lit.html)` <div class="mono-font small-font-size" style="display:flex"> <div style="width:100%"> ${Object.entries(pathObj[1]).map(method => (0, _lit.html)` <div> <div style="margin-top:12px"> <div class="method method-fg ${method[0]}" style="width:70px;border:none;margin:0;padding:0;line-height:20px;vertical-align:baseline;text-align:left"> <span style="font-size:20px"> ⥄ </span> ${method[0]} </div> <span style="line-height:20px;vertical-align:baseline">${pathObj[0]} </span> </div> <div class="expanded-req-resp-container"> <api-request class="request-panel" callback="true" method="${method[0] || ''}" , path="${pathObj[0] || ''}" .parameters="${method[1] && method[1].parameters || ''}" .request_body="${method[1] && method[1].requestBody || ''}" fill-defaults="${!this.hideDefaults}" display-nulls="${!!this.includeNulls}" enable-console="false" render-style="${this.renderStyle}" schema-style="${this.displaySchemaAsTable ? 'table' : 'tree'}" active-schema-tab="${this.defaultSchemaTab}" schema-expand-level="${this.schemaExpandLevel}" schema-hide-read-only="${this.schemaHideReadOnly}" fetch-credentials="${this.fetchCredentials}" exportparts="btn btn-fill btn-outline btn-try"> </api-request> <api-response callback="true" .responses="${method[1] && method[1].responses}" display-nulls="${!!this.includeNulls}" render-style="${this.renderStyle}" schema-style="${this.displaySchemaAsTable ? 'table' : 'tree'}" active-schema-tab="${this.defaultSchemaTab}" schema-expand-level="${this.schemaExpandLevel}" exportparts="btn--resp btn-fill--resp btn-outline--resp"> </api-response> </div> </div> `)} </div> </div> `)} </div> `)} </div> `;
|
|
11
11
|
}
|
|
12
12
|
/* eslint-enable indent */
|
|
@@ -82,7 +82,7 @@ function endpointBodyTemplate(path) {
|
|
|
82
82
|
return v.finalKeyValue && ((_path$security = path.security) === null || _path$security === void 0 ? void 0 : _path$security.some(ps => ps[v.apiKeyId]));
|
|
83
83
|
}) || [];
|
|
84
84
|
const codeSampleTabPanel = path.xCodeSamples ? (0, _codeSamplesTemplate.default)(path.xCodeSamples) : '';
|
|
85
|
-
return (0, _lit.html)` <div class="endpoint-body ${path.method}"> <div class="summary"> ${this.usePathInNavBar ? path.summary ? (0, _lit.html)`<div class="title">${path.summary}<div></div></div>` : path.shortSummary !== path.description ? (0, _lit.html)`<div class="title">${path.shortSummary}</div>` : '' : (0, _lit.html)` <div class="title mono-font regular-font-size" part="section-operation-url" style="display:flex;flex-wrap:wrap;color:var(--fg3)"> ${path.isWebhook ? (0, _lit.html)`<span style="color:var(--primary-color)"> WEBHOOK </span>` : ''} <span part="label-operation-method" class="regular-font upper method-fg bold-text ${path.method}">${path.method} </span> <span style="display:flex;flex-wrap:wrap" part="label-operation-path">${path.path.split('/').filter(t => t.trim()).map(t => (0, _lit.html)`<span>/${t}</span>`)}</span> </div>`} ${path.description ? (0, _lit.html)`<div class="m-markdown"> ${(0, _unsafeHtml.unsafeHTML)((0, _marked.marked)(path.description))}</div>` : ''} <slot name="${path.elementId}"></slot> <slot name="path-details" data-method="${path.method}" data-path="${path.path}"></slot> ${_securitySchemeTemplate.pathSecurityTemplate.call(this, path.security)} ${codeSampleTabPanel} </div> <div class="req-resp-container"> <div style="display:flex;flex-direction:column" class="request"> <api-request class="request-panel" style="width:100%" method="${path.method}" , path="${path.path}" element-id="${path.elementId}" .parameters="${path.parameters}" .request_body="${path.requestBody}" .api_keys="${nonEmptyApiKeys}" .servers="${path.servers}" server-url="${((_path$servers = path.servers) === null || _path$servers === void 0 ? void 0 : (_path$servers$ = _path$servers[0]) === null || _path$servers$ === void 0 ? void 0 : _path$servers$.url) || ((_this$selectedServer = this.selectedServer) === null || _this$selectedServer === void 0 ? void 0 : _this$selectedServer.computedUrl)}" active-schema-tab="${this.defaultSchemaTab}" fill-defaults="${this.
|
|
85
|
+
return (0, _lit.html)` <div class="endpoint-body ${path.method}"> <div class="summary"> ${this.usePathInNavBar ? path.summary ? (0, _lit.html)`<div class="title">${path.summary}<div></div></div>` : path.shortSummary !== path.description ? (0, _lit.html)`<div class="title">${path.shortSummary}</div>` : '' : (0, _lit.html)` <div class="title mono-font regular-font-size" part="section-operation-url" style="display:flex;flex-wrap:wrap;color:var(--fg3)"> ${path.isWebhook ? (0, _lit.html)`<span style="color:var(--primary-color)"> WEBHOOK </span>` : ''} <span part="label-operation-method" class="regular-font upper method-fg bold-text ${path.method}">${path.method} </span> <span style="display:flex;flex-wrap:wrap" part="label-operation-path">${path.path.split('/').filter(t => t.trim()).map(t => (0, _lit.html)`<span>/${t}</span>`)}</span> </div>`} ${path.description ? (0, _lit.html)`<div class="m-markdown"> ${(0, _unsafeHtml.unsafeHTML)((0, _marked.marked)(path.description))}</div>` : ''} <slot name="${path.elementId}"></slot> <slot name="path-details" data-method="${path.method}" data-path="${path.path}"></slot> ${_securitySchemeTemplate.pathSecurityTemplate.call(this, path.security)} ${codeSampleTabPanel} </div> <div class="req-resp-container"> <div style="display:flex;flex-direction:column" class="request"> <api-request class="request-panel" style="width:100%" method="${path.method}" , path="${path.path}" element-id="${path.elementId}" .parameters="${path.parameters}" .request_body="${path.requestBody}" .api_keys="${nonEmptyApiKeys}" .servers="${path.servers}" server-url="${((_path$servers = path.servers) === null || _path$servers === void 0 ? void 0 : (_path$servers$ = _path$servers[0]) === null || _path$servers$ === void 0 ? void 0 : _path$servers$.url) || ((_this$selectedServer = this.selectedServer) === null || _this$selectedServer === void 0 ? void 0 : _this$selectedServer.computedUrl)}" active-schema-tab="${this.defaultSchemaTab}" fill-defaults="${!this.hideDefaults}" display-nulls="${!!this.includeNulls}" enable-console="${!this.hideExecution}" accept="${accept}" render-style="${this.renderStyle}" schema-style="${this.displaySchemaAsTable ? 'table' : 'tree'}" schema-expand-level="${this.schemaExpandLevel}" schema-hide-read-only="${this.schemaHideReadOnly}" fetch-credentials="${this.fetchCredentials}" exportparts="btn btn-fill btn-outline btn-try"> </api-request> </div> ${path.callbacks ? _callbackTemplate.default.call(this, path.callbacks) : ''} <api-response class="request response" .responses="${path.responses}" display-nulls="${!!this.includeNulls}" active-schema-tab="${this.defaultSchemaTab}" render-style="${this.renderStyle}" schema-style="${this.displaySchemaAsTable ? 'table' : 'tree'}" schema-expand-level="${this.schemaExpandLevel}" schema-hide-write-only="${this.schemaHideWriteOnly}" selected-status="${Object.keys(path.responses || {})[0] || ''}" exportparts="btn--resp btn-fill--resp btn-outline--resp"> </api-response> </div> </div>`;
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
function endpointTemplate() {
|
|
@@ -40,7 +40,7 @@ function expandedEndpointBodyTemplate(path, tagName = '') {
|
|
|
40
40
|
|
|
41
41
|
const nonEmptyApiKeys = this.resolvedSpec.securitySchemes.filter(v => v.finalKeyValue && path.security && path.security.some(ps => ps[v.apiKeyId])) || [];
|
|
42
42
|
const codeSampleTabPanel = path.xCodeSamples ? _codeSamplesTemplate.default.call(this, path.xCodeSamples) : '';
|
|
43
|
-
return (0, _lit.html)` ${this.renderStyle === 'read' ? (0, _lit.html)`<div class="divider" part="operation-divider"></div>` : ''} <div class="expanded-endpoint-body observe-me ${path.method}" part="section-operation ${path.elementId}" id="${path.elementId}"> ${this.renderStyle === 'focused' && tagName && tagName !== 'General ⦂' ? (0, _lit.html)`<h3 class="upper" style="font-weight:700"> ${tagName} </h3>` : ''} ${path.deprecated ? (0, _lit.html)`<div class="bold-text red-text"> DEPRECATED </div>` : ''} <div style="display:flex;justify-content:space-between"> <div style="flex-grow:1"> <h2>${path.shortSummary || `${path.method.toUpperCase()} ${path.path}`}</h2> <div class='mono-font part="section-operation-url" regular-font-size' style="padding:8px 0;color:var(--fg3)"> ${path.isWebhook ? (0, _lit.html)`<span style="color:var(--primary-color)"> WEBHOOK </span>` : ''} <span part="label-operation-method" class="regular-font upper method-fg bold-text ${path.method}">${path.method}</span> <span part="label-operation-path">${path.path}</span> </div> </div> ${path.externalDocs ? (0, _lit.html)`<div class="m-markdown" style="margin-top:2rem;margin-bottom:.5rem;max-width:300px"> ${(0, _unsafeHtml.unsafeHTML)((0, _marked.marked)(path.externalDocs.description || ''))} <a href="${path.externalDocs.url}">Navigate to documentation ↗</a> </div>` : ''} </div> <div class="m-markdown" style="margin-right:2rem"> ${(0, _unsafeHtml.unsafeHTML)((0, _marked.marked)(path.description || ''))}</div> <slot name="${path.elementId}"></slot> <slot name="path-details" data-method="${path.method}" data-path="${path.path}"></slot> ${_securitySchemeTemplate.pathSecurityTemplate.call(this, path.security)} ${codeSampleTabPanel} <div class="expanded-req-resp-container"> <api-request class="request-panel" method="${path.method}" path="${path.path}" element-id="${path.elementId}" .parameters="${path.parameters}" .request_body="${path.requestBody}" .api_keys="${nonEmptyApiKeys}" .servers="${path.servers}" server-url="${((_path$servers = path.servers) === null || _path$servers === void 0 ? void 0 : (_path$servers$ = _path$servers[0]) === null || _path$servers$ === void 0 ? void 0 : _path$servers$.url) || ((_this$selectedServer = this.selectedServer) === null || _this$selectedServer === void 0 ? void 0 : _this$selectedServer.computedUrl)}" fill-defaults="${this.
|
|
43
|
+
return (0, _lit.html)` ${this.renderStyle === 'read' ? (0, _lit.html)`<div class="divider" part="operation-divider"></div>` : ''} <div class="expanded-endpoint-body observe-me ${path.method}" part="section-operation ${path.elementId}" id="${path.elementId}"> ${this.renderStyle === 'focused' && tagName && tagName !== 'General ⦂' ? (0, _lit.html)`<h3 class="upper" style="font-weight:700"> ${tagName} </h3>` : ''} ${path.deprecated ? (0, _lit.html)`<div class="bold-text red-text"> DEPRECATED </div>` : ''} <div style="display:flex;justify-content:space-between"> <div style="flex-grow:1"> <h2>${path.shortSummary || `${path.method.toUpperCase()} ${path.path}`}</h2> <div class='mono-font part="section-operation-url" regular-font-size' style="padding:8px 0;color:var(--fg3)"> ${path.isWebhook ? (0, _lit.html)`<span style="color:var(--primary-color)"> WEBHOOK </span>` : ''} <span part="label-operation-method" class="regular-font upper method-fg bold-text ${path.method}">${path.method}</span> <span part="label-operation-path">${path.path}</span> </div> </div> ${path.externalDocs ? (0, _lit.html)`<div class="m-markdown" style="margin-top:2rem;margin-bottom:.5rem;max-width:300px"> ${(0, _unsafeHtml.unsafeHTML)((0, _marked.marked)(path.externalDocs.description || ''))} <a href="${path.externalDocs.url}">Navigate to documentation ↗</a> </div>` : ''} </div> <div class="m-markdown" style="margin-right:2rem"> ${(0, _unsafeHtml.unsafeHTML)((0, _marked.marked)(path.description || ''))}</div> <slot name="${path.elementId}"></slot> <slot name="path-details" data-method="${path.method}" data-path="${path.path}"></slot> ${_securitySchemeTemplate.pathSecurityTemplate.call(this, path.security)} ${codeSampleTabPanel} <div class="expanded-req-resp-container"> <api-request class="request-panel" method="${path.method}" path="${path.path}" element-id="${path.elementId}" .parameters="${path.parameters}" .request_body="${path.requestBody}" .api_keys="${nonEmptyApiKeys}" .servers="${path.servers}" server-url="${((_path$servers = path.servers) === null || _path$servers === void 0 ? void 0 : (_path$servers$ = _path$servers[0]) === null || _path$servers$ === void 0 ? void 0 : _path$servers$.url) || ((_this$selectedServer = this.selectedServer) === null || _this$selectedServer === void 0 ? void 0 : _this$selectedServer.computedUrl)}" fill-defaults="${!this.hideDefaults}" display-nulls="${!!this.includeNulls}" enable-console="${!this.hideExecution}" accept="${accept}" render-style="${this.renderStyle}" schema-style="${this.displaySchemaAsTable ? 'table' : 'tree'}" active-schema-tab="${this.defaultSchemaTab}" schema-expand-level="${this.schemaExpandLevel}" schema-hide-read-only="${this.schemaHideReadOnly}" fetch-credentials="${this.fetchCredentials}" exportparts="btn btn-fill btn-outline btn-try"> </api-request> ${path.callbacks ? _callbackTemplate.default.call(this, path.callbacks) : ''} <api-response class="response-panel" .responses="${path.responses}" display-nulls="${!!this.includeNulls}" render-style="${this.renderStyle}" schema-style="${this.displaySchemaAsTable ? 'table' : 'tree'}" active-schema-tab="${this.defaultSchemaTab}" schema-expand-level="${this.schemaExpandLevel}" schema-hide-write-only="${this.schemaHideWriteOnly}" selected-status="${Object.keys(path.responses || {})[0] || ''}" exportparts="btn--resp btn-fill--resp btn-outline--resp"> </api-response> </div> </div> `;
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
function expandedTagTemplate(tagId, subsectionFullId) {
|
|
@@ -27,7 +27,7 @@ function wrapFocusedTemplate(templateToWrap) {
|
|
|
27
27
|
|
|
28
28
|
function defaultContentTemplate() {
|
|
29
29
|
// In focused mode default content is overview or first path
|
|
30
|
-
if (this.
|
|
30
|
+
if (!this.hideInfo) {
|
|
31
31
|
return _overviewTemplate.default.call(this);
|
|
32
32
|
}
|
|
33
33
|
|
|
@@ -47,7 +47,7 @@ function focusedEndpointTemplate() {
|
|
|
47
47
|
let focusedTemplate;
|
|
48
48
|
let i = 0;
|
|
49
49
|
|
|
50
|
-
if (focusElId.startsWith('overview') && this.
|
|
50
|
+
if (focusElId.startsWith('overview') && !this.hideInfo) {
|
|
51
51
|
focusedTemplate = _overviewTemplate.default.call(this);
|
|
52
52
|
} else if (focusElId === 'auth' && !this.hideAuthentication) {
|
|
53
53
|
focusedTemplate = _securitySchemeTemplate.default.call(this);
|
|
@@ -43,6 +43,6 @@ function mainBodyTemplate() {
|
|
|
43
43
|
|
|
44
44
|
return (0, _lit.html)` ${_theme.default.call(this, newTheme)} ${this.hideSearch ? '' : _advanceSearchTemplate.default.call(this)} <div id="the-main-body" class="body"> ${this.renderStyle === 'focused' && this.resolvedSpec ? _navbarTemplate.default.call(this) : ''} ${this.loading === true ? (0, _lit.html)`<slot name="loader"><div class="loader"></div></slot>` : (0, _lit.html)` <main class="main-content regular-font" part="section-main-content"> <slot></slot> <div id="operations-root" class="main-content-inner"> ${this.loadFailed === true ? (0, _lit.html)`<div style="text-align:center;margin:16px">Unable to load the Spec${this.specUrl ? ': ' : ''}<strong>${this.specUrl}</strong></div>` : (0, _lit.html)` <div class="operations-root" @click="${e => {
|
|
45
45
|
this.handleHref(e);
|
|
46
|
-
}}"> ${this.renderStyle === 'focused' ? (0, _lit.html)`${_focusedEndpointTemplate.default.call(this)}` : (0, _lit.html)` ${this.
|
|
46
|
+
}}"> ${this.renderStyle === 'focused' ? (0, _lit.html)`${_focusedEndpointTemplate.default.call(this)}` : (0, _lit.html)` ${!this.hideInfo ? _overviewTemplate.default.call(this) : ''} ${!this.hideServerSelection ? _serverTemplate.default.call(this) : ''} ${!this.hideAuthentication ? _securitySchemeTemplate.default.call(this) : ''} <section id="section" class="observe-me ${this.renderStyle === 'focused' ? 'section-gap--focused-mode' : 'section-gap'}"> <slot name="custom-section"></slot> </section> ${_endpointTemplate.default.call(this)}`} </div> `}</div></main>`} </div> <slot name="footer"></slot> `;
|
|
47
47
|
}
|
|
48
48
|
/* eslint-enable indent */
|
|
@@ -52,7 +52,7 @@ function expandCollapseAllComponents() {
|
|
|
52
52
|
function navbarTemplate() {
|
|
53
53
|
var _this$resolvedSpec$co;
|
|
54
54
|
|
|
55
|
-
return (0, _lit.html)` <nav class="nav-bar ${this.renderStyle}" part="section-navbar"> <slot name="nav-header"></slot> ${this.hideSearch ? '' : (0, _lit.html)` <div style="display:flex;flex-direction:row;justify-content:center;align-items:center;padding:24px"> <div style="display:flex;flex:1;line-height:22px"> <input id="nav-bar-search" part="textbox textbox-nav-filter" style="width:100%;padding-right:20px;color:var(--nav-hover-text-color);border-color:var(--secondary-color);background-color:var(--nav-hover-bg-color)" type="text" placeholder="${(0, _index.getI18nText)('menu.filter')}" @input="${this.onSearchChange}" spellcheck="false"> </div> <button class="m-btn outline-primary" part="btn btn-fill btn-search" style="margin-left:5px" @click="${this.onShowSearchModalClicked}"> ${(0, _index.getI18nText)('menu.search')} </button> </div> `} ${(0, _lit.html)`<nav class="nav-scroll" part="navbar-scroll"> ${this.
|
|
55
|
+
return (0, _lit.html)` <nav class="nav-bar ${this.renderStyle}" part="section-navbar"> <slot name="nav-header"></slot> ${this.hideSearch ? '' : (0, _lit.html)` <div style="display:flex;flex-direction:row;justify-content:center;align-items:center;padding:24px"> <div style="display:flex;flex:1;line-height:22px"> <input id="nav-bar-search" part="textbox textbox-nav-filter" style="width:100%;padding-right:20px;color:var(--nav-hover-text-color);border-color:var(--secondary-color);background-color:var(--nav-hover-bg-color)" type="text" placeholder="${(0, _index.getI18nText)('menu.filter')}" @input="${this.onSearchChange}" spellcheck="false"> </div> <button class="m-btn outline-primary" part="btn btn-fill btn-search" style="margin-left:5px" @click="${this.onShowSearchModalClicked}"> ${(0, _index.getI18nText)('menu.search')} </button> </div> `} ${(0, _lit.html)`<nav class="nav-scroll" part="navbar-scroll"> ${this.hideInfo || !this.resolvedSpec.info ? '' : (0, _lit.html)`<div class="nav-bar-info" id="link-overview" data-content-id="overview" @click="${e => this.scrollToEventTarget(e, false)}"> ${this.resolvedSpec.info.title || (0, _index.getI18nText)('menu.overview')} </div>`} ${this.hideServerSelection ? '' : (0, _lit.html)`<div class="nav-bar-info" id="link-servers" data-content-id="servers" @click="${e => this.scrollToEventTarget(e, false)}"> ${(0, _index.getI18nText)('menu.api-servers')} </div>`} ${this.hideAuthentication || !this.resolvedSpec.securitySchemes ? '' : (0, _lit.html)`<div class="nav-bar-info" id="link-auth" data-content-id="auth" @click="${e => this.scrollToEventTarget(e, false)}"> ${(0, _index.getI18nText)('menu.authentication')} </div>`} <slot name="nav-section" class="custom-nav-section" data-content-id="section" @click="${e => this.scrollToCustomNavSectionTarget(e, false)}"></slot> <div class="sticky-scroll-element ${this.operationsCollapsed ? 'collapsed' : ''}" @click="${() => {
|
|
56
56
|
expandCollapseAll.call(this);
|
|
57
57
|
}}"> <div class="nav-bar-section" part="navbar-operations-header"> <slot name="operations-header"> <div class="nav-bar-section-title">${(0, _index.getI18nText)('menu.operations')}</div> </slot> <div style="" part="navbar-operations-header-collapse"> ${this.resolvedSpec.tags.length > 1 && this.resolvedSpec.tags.some(tag => !tag.paths.length && !this.matchPaths || tag.paths.some(path => (0, _commonUtils.pathIsInSearch)(this.matchPaths, path))) ? (0, _lit.html)` <div class="toggle">▾</div>` : ''} </div> </div> </div> ${this.resolvedSpec.tags.filter(tag => !tag.paths.length && !this.matchPaths || tag.paths.some(path => (0, _commonUtils.pathIsInSearch)(this.matchPaths, path))).map(tag => (0, _lit.html)` <slot name="nav-${tag.elementId}"> <div class="nav-bar-tag-and-paths ${tag.expanded ? '' : 'collapsed'}"> ${tag.name === 'General ⦂' ? (0, _lit.html)`` : (0, _lit.html)` <div class="nav-bar-tag" id="link-${tag.elementId}" data-content-id="${tag.elementId}" @click="${() => {
|
|
58
58
|
onExpandCollapse.call(this, tag.elementId);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "openapi-explorer",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.618",
|
|
4
4
|
"description": "OpenAPI Explorer - API viewer with dynamically generated components, documentation, and interaction console",
|
|
5
5
|
"author": "Rhosys Developers <developers@rhosys.ch>",
|
|
6
6
|
"type": "module",
|