@redocly/reference-docs 2.30.0 → 2.32.0
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/bin/cli/commands/redocly-docs-cli.min.js +102 -89
- package/bin/cli/commands/redocly-docs-cli.min.js.LICENSE.txt +1 -1
- package/dist/console.redocly-reference-docs.min.js +141 -141
- package/dist/oauth2-redirect.js +1 -1
- package/dist/redocly-reference-docs.min.js +677 -664
- package/lib/components/Endpoint/Endpoint.js +1 -1
- package/lib/components/Endpoint/ServerList.d.ts +1 -1
- package/lib/components/Endpoint/ServerList.js +1 -1
- package/lib/components/Endpoint/types.d.ts +1 -2
- package/lib/components/Panel/ContentPanel.js +1 -1
- package/lib/components/Panel/Description.d.ts +1 -0
- package/lib/components/Panel/Description.js +2 -0
- package/lib/components/Panel/PanelComponent.js +1 -1
- package/lib/components/Panel/index.d.ts +1 -0
- package/lib/components/Panel/index.js +1 -1
- package/lib/components/Samples/SamplesTabs.d.ts +3 -1
- package/lib/components/Samples/SamplesTabs.js +1 -1
- package/lib/components/console/AuthPanel.d.ts +1 -1
- package/lib/components/console/AuthPanel.js +1 -1
- package/lib/components/console/Console.d.ts +1 -1
- package/lib/components/console/Console.js +1 -1
- package/lib/components/console/ConsoleLazy.js +1 -1
- package/lib/components/console/OAuth2Flow.d.ts +2 -1
- package/lib/components/console/OAuth2Flow.js +1 -1
- package/lib/components/console/OAuth2TokenInput.d.ts +2 -1
- package/lib/components/console/OAuth2TokenInput.js +1 -1
- package/lib/components/console/OpenIDConnect.d.ts +1 -1
- package/lib/components/console/OpenIDConnect.js +1 -1
- package/lib/components/console/ServersDropdown/ServersDropdown.d.ts +3 -0
- package/lib/components/console/ServersDropdown/ServersDropdown.js +2 -0
- package/lib/components/console/ServersDropdown/index.d.ts +1 -0
- package/lib/components/console/ServersDropdown/index.js +2 -0
- package/lib/components/console/ServersDropdown/types.d.ts +5 -0
- package/lib/components/console/ServersDropdown/types.js +2 -0
- package/lib/components/console/utils.d.ts +6 -0
- package/lib/components/console/utils.js +1 -1
- package/lib/hooks/index.d.ts +1 -0
- package/lib/hooks/index.js +1 -1
- package/lib/hooks/useDimensions.d.ts +1 -0
- package/lib/hooks/useDimensions.js +2 -0
- package/lib/index.d.ts +1 -1
- package/lib/oauth2-redirect-page/handler/helpers.d.ts +1 -0
- package/lib/oauth2-redirect-page/handler/helpers.js +1 -1
- package/lib/redoc-lib/src/common-elements/samples.js +1 -1
- package/lib/redoc-lib/src/components/CallbackSamples/CallbackSamples.d.ts +0 -1
- package/lib/redoc-lib/src/components/CallbackSamples/CallbackSamples.js +1 -1
- package/lib/redoc-lib/src/components/Callbacks/CallbackDetails.js +1 -1
- package/lib/redoc-lib/src/components/JsonViewer/style.js +1 -1
- package/lib/redoc-lib/src/components/Operation/Operation.js +1 -1
- package/lib/redoc-lib/src/components/RequestSamples/RequestSamples.js +1 -1
- package/lib/redoc-lib/src/components/Responses/Response.d.ts +2 -5
- package/lib/redoc-lib/src/components/Responses/Response.js +1 -1
- package/lib/redoc-lib/src/components/Responses/ResponseDetails.d.ts +3 -8
- package/lib/redoc-lib/src/components/Responses/ResponseDetails.js +1 -1
- package/lib/redoc-lib/src/components/Responses/ResponseHeaders.d.ts +3 -9
- package/lib/redoc-lib/src/components/Responses/ResponseHeaders.js +1 -1
- package/lib/redoc-lib/src/components/Responses/ResponseSummary.d.ts +1 -5
- package/lib/redoc-lib/src/components/Responses/ResponsesList.d.ts +3 -8
- package/lib/redoc-lib/src/components/Responses/ResponsesList.js +1 -1
- package/lib/redoc-lib/src/components/Responses/index.d.ts +1 -0
- package/lib/redoc-lib/src/components/Responses/index.js +2 -0
- package/{lib-esm/redoc-lib/src/components/Responses/styled.elements.d.ts → lib/redoc-lib/src/components/Responses/styled.d.ts} +1 -0
- package/lib/redoc-lib/src/components/Responses/styled.js +2 -0
- package/lib/redoc-lib/src/components/Responses/types.d.ts +12 -0
- package/lib/redoc-lib/src/components/Responses/types.js +2 -0
- package/lib/redoc-lib/src/components/SecurityRequirement/SecurityRequirementPanelDescription.js +1 -1
- package/lib/redoc-lib/src/components/SecuritySchemes/helpers.d.ts +4 -0
- package/lib/redoc-lib/src/components/SourceCode/SourceCode.d.ts +3 -5
- package/lib/redoc-lib/src/components/SourceCode/SourceCode.js +1 -1
- package/lib/redoc-lib/src/services/models/Schema.js +1 -1
- package/lib/redoc-lib/src/theme.d.ts +9 -0
- package/lib/redoc-lib/src/theme.js +1 -1
- package/lib/redoc-lib/src/types/open-api.d.ts +3 -0
- package/lib/redoc-lib/src/utils/openapi.d.ts +3 -2
- package/lib/redoc-lib/src/utils/openapi.js +1 -1
- package/lib/services/OAuth2.d.ts +4 -2
- package/lib/services/OAuth2.js +1 -1
- package/lib/services/OpenIDConnect.d.ts +1 -1
- package/lib/services/code-samples/generator.js +1 -1
- package/lib/services/extendTheme.d.ts +1 -1
- package/lib/standalone.js +1 -1
- package/lib/types.d.ts +11 -0
- package/lib/utils.d.ts +2 -12
- package/lib/utils.js +1 -1
- package/lib-esm/components/Endpoint/Endpoint.js +1 -1
- package/lib-esm/components/Endpoint/ServerList.d.ts +1 -1
- package/lib-esm/components/Endpoint/ServerList.js +1 -1
- package/lib-esm/components/Endpoint/types.d.ts +1 -2
- package/lib-esm/components/Panel/ContentPanel.js +1 -1
- package/lib-esm/components/Panel/Description.d.ts +1 -0
- package/lib-esm/components/Panel/Description.js +2 -0
- package/lib-esm/components/Panel/PanelComponent.js +1 -1
- package/lib-esm/components/Panel/index.d.ts +1 -0
- package/lib-esm/components/Panel/index.js +1 -1
- package/lib-esm/components/Samples/SamplesTabs.d.ts +3 -1
- package/lib-esm/components/Samples/SamplesTabs.js +1 -1
- package/lib-esm/components/console/AuthPanel.d.ts +1 -1
- package/lib-esm/components/console/AuthPanel.js +1 -1
- package/lib-esm/components/console/Console.d.ts +1 -1
- package/lib-esm/components/console/Console.js +1 -1
- package/lib-esm/components/console/ConsoleLazy.js +1 -1
- package/lib-esm/components/console/OAuth2Flow.d.ts +2 -1
- package/lib-esm/components/console/OAuth2Flow.js +1 -1
- package/lib-esm/components/console/OAuth2TokenInput.d.ts +2 -1
- package/lib-esm/components/console/OAuth2TokenInput.js +1 -1
- package/lib-esm/components/console/OpenIDConnect.d.ts +1 -1
- package/lib-esm/components/console/OpenIDConnect.js +1 -1
- package/lib-esm/components/console/ServersDropdown/ServersDropdown.d.ts +3 -0
- package/lib-esm/components/console/ServersDropdown/ServersDropdown.js +2 -0
- package/lib-esm/components/console/ServersDropdown/index.d.ts +1 -0
- package/lib-esm/components/console/ServersDropdown/index.js +2 -0
- package/lib-esm/components/console/ServersDropdown/types.d.ts +5 -0
- package/lib-esm/components/console/ServersDropdown/types.js +2 -0
- package/lib-esm/components/console/utils.d.ts +6 -0
- package/lib-esm/components/console/utils.js +1 -1
- package/lib-esm/hooks/index.d.ts +1 -0
- package/lib-esm/hooks/index.js +1 -1
- package/lib-esm/hooks/useDimensions.d.ts +1 -0
- package/lib-esm/hooks/useDimensions.js +2 -0
- package/lib-esm/index.d.ts +1 -1
- package/lib-esm/oauth2-redirect-page/handler/helpers.d.ts +1 -0
- package/lib-esm/oauth2-redirect-page/handler/helpers.js +1 -1
- package/lib-esm/redoc-lib/src/common-elements/samples.js +1 -1
- package/lib-esm/redoc-lib/src/components/CallbackSamples/CallbackSamples.d.ts +0 -1
- package/lib-esm/redoc-lib/src/components/CallbackSamples/CallbackSamples.js +1 -1
- package/lib-esm/redoc-lib/src/components/Callbacks/CallbackDetails.js +1 -1
- package/lib-esm/redoc-lib/src/components/JsonViewer/style.js +1 -1
- package/lib-esm/redoc-lib/src/components/Operation/Operation.js +1 -1
- package/lib-esm/redoc-lib/src/components/RequestSamples/RequestSamples.js +1 -1
- package/lib-esm/redoc-lib/src/components/Responses/Response.d.ts +2 -5
- package/lib-esm/redoc-lib/src/components/Responses/Response.js +1 -1
- package/lib-esm/redoc-lib/src/components/Responses/ResponseDetails.d.ts +3 -8
- package/lib-esm/redoc-lib/src/components/Responses/ResponseDetails.js +1 -1
- package/lib-esm/redoc-lib/src/components/Responses/ResponseHeaders.d.ts +3 -9
- package/lib-esm/redoc-lib/src/components/Responses/ResponseHeaders.js +1 -1
- package/lib-esm/redoc-lib/src/components/Responses/ResponseSummary.d.ts +1 -5
- package/lib-esm/redoc-lib/src/components/Responses/ResponsesList.d.ts +3 -8
- package/lib-esm/redoc-lib/src/components/Responses/ResponsesList.js +1 -1
- package/lib-esm/redoc-lib/src/components/Responses/index.d.ts +1 -0
- package/lib-esm/redoc-lib/src/components/Responses/index.js +2 -0
- package/{lib/redoc-lib/src/components/Responses/styled.elements.d.ts → lib-esm/redoc-lib/src/components/Responses/styled.d.ts} +1 -0
- package/lib-esm/redoc-lib/src/components/Responses/styled.js +2 -0
- package/lib-esm/redoc-lib/src/components/Responses/types.d.ts +12 -0
- package/lib-esm/redoc-lib/src/components/Responses/types.js +2 -0
- package/lib-esm/redoc-lib/src/components/SecurityRequirement/SecurityRequirementPanelDescription.js +1 -1
- package/lib-esm/redoc-lib/src/components/SecuritySchemes/helpers.d.ts +4 -0
- package/lib-esm/redoc-lib/src/components/SourceCode/SourceCode.d.ts +3 -5
- package/lib-esm/redoc-lib/src/components/SourceCode/SourceCode.js +1 -1
- package/lib-esm/redoc-lib/src/services/models/Schema.js +1 -1
- package/lib-esm/redoc-lib/src/theme.d.ts +9 -0
- package/lib-esm/redoc-lib/src/theme.js +1 -1
- package/lib-esm/redoc-lib/src/types/open-api.d.ts +3 -0
- package/lib-esm/redoc-lib/src/utils/openapi.d.ts +3 -2
- package/lib-esm/redoc-lib/src/utils/openapi.js +1 -1
- package/lib-esm/services/OAuth2.d.ts +4 -2
- package/lib-esm/services/OAuth2.js +1 -1
- package/lib-esm/services/OpenIDConnect.d.ts +1 -1
- package/lib-esm/services/code-samples/generator.js +1 -1
- package/lib-esm/services/extendTheme.d.ts +1 -1
- package/lib-esm/standalone.js +1 -1
- package/lib-esm/types.d.ts +11 -0
- package/lib-esm/utils.d.ts +2 -12
- package/lib-esm/utils.js +1 -1
- package/package.json +2 -1
- package/lib/components/console/ServerDropdown.d.ts +0 -24
- package/lib/components/console/ServerDropdown.js +0 -2
- package/lib/redoc-lib/src/components/Responses/styled.elements.js +0 -2
- package/lib-esm/components/console/ServerDropdown.d.ts +0 -24
- package/lib-esm/components/console/ServerDropdown.js +0 -2
- package/lib-esm/redoc-lib/src/components/Responses/styled.elements.js +0 -2
package/lib/services/OAuth2.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ export declare class OAuth2 {
|
|
|
9
9
|
successCallback: OAuth2SuccessCallback;
|
|
10
10
|
errorCallback: OAuth2ErrorCallback;
|
|
11
11
|
}): void;
|
|
12
|
-
static authorizeAuthorizationCode({ authorizationUrl, tokenUrl, clientId, clientSecret, codeVerifier, codeChallenge, scopes, extraParams, routingBasePath, redirectUri, successCallback, errorCallback, }: {
|
|
12
|
+
static authorizeAuthorizationCode({ authorizationUrl, tokenUrl, clientId, clientSecret, codeVerifier, codeChallenge, scopes, extraParams, extraHeaders, routingBasePath, redirectUri, successCallback, errorCallback, }: {
|
|
13
13
|
authorizationUrl: string;
|
|
14
14
|
tokenUrl: string;
|
|
15
15
|
clientId: string;
|
|
@@ -20,16 +20,18 @@ export declare class OAuth2 {
|
|
|
20
20
|
redirectUri?: string | null;
|
|
21
21
|
routingBasePath?: string;
|
|
22
22
|
extraParams?: Record<string, string>;
|
|
23
|
+
extraHeaders?: Record<string, string>;
|
|
23
24
|
successCallback: OAuth2SuccessCallback;
|
|
24
25
|
errorCallback: OAuth2ErrorCallback;
|
|
25
26
|
}): void;
|
|
26
27
|
static clearRedirectData(flow: 'implicit' | 'authorizationCode'): void;
|
|
27
|
-
static authorizeClientCredentials({ tokenUrl, clientId, clientSecret, scopes, extraParams, successCallback, errorCallback, }: {
|
|
28
|
+
static authorizeClientCredentials({ tokenUrl, clientId, clientSecret, scopes, extraParams, extraHeaders, successCallback, errorCallback, }: {
|
|
28
29
|
tokenUrl: string;
|
|
29
30
|
clientId: string;
|
|
30
31
|
clientSecret: string;
|
|
31
32
|
scopes?: string[];
|
|
32
33
|
extraParams?: Record<string, string>;
|
|
34
|
+
extraHeaders?: Record<string, string>;
|
|
33
35
|
successCallback: OAuth2SuccessCallback;
|
|
34
36
|
errorCallback: OAuth2ErrorCallback;
|
|
35
37
|
}): Promise<void>;
|
package/lib/services/OAuth2.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.deriveCodeChallenge=exports.oauth2Instance=exports.OAuth2=void 0;var tslib_1=require("tslib"),qs=(0,tslib_1.__importStar)(require("querystring")),utils_1=require("./utils"),DEFAULT_OAUTH2_REDIRECT_PAGE="/oauth2-redirect.html",OAuth2=function(){function e(){}return Object.defineProperty(e,"authorizeImplicit",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var r=t.authorizationUrl,a=t.clientId,i=t.scopes,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.deriveCodeChallenge=exports.oauth2Instance=exports.OAuth2=void 0;var tslib_1=require("tslib"),qs=(0,tslib_1.__importStar)(require("querystring")),utils_1=require("./utils"),DEFAULT_OAUTH2_REDIRECT_PAGE="/oauth2-redirect.html",OAuth2=function(){function e(){}return Object.defineProperty(e,"authorizeImplicit",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var r=t.authorizationUrl,a=t.clientId,i=t.scopes,s=t.extraParams,n=void 0===s?{}:s,o=t.routingBasePath,c=t.redirectUri,l=t.successCallback,u=t.errorCallback,d=(0,utils_1.encodeState)({date:(new Date).toString()}),_=new URL(r),h="/"===o?"":o,b=""+window.location.origin+h+DEFAULT_OAUTH2_REDIRECT_PAGE;for(var p in _.searchParams.set("client_id",a),_.searchParams.set("redirect_uri",c||b),_.searchParams.set("response_type","token"),_.searchParams.set("state",d),Array.isArray(i)&&_.searchParams.set("scope",i.join(" ")),n)_.searchParams.set(p,n[p]);window.redirectOAuth2={flow:"implicit",data:{authorizationUrl:r,clientId:a,scopes:i},state:d,successCallback:function(t){l(t),e.clearRedirectData("implicit")},errorCallback:function(t){u(t),e.clearRedirectData("implicit")}},window.open(_.toString())}}),Object.defineProperty(e,"authorizeAuthorizationCode",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var r=this,a=t.authorizationUrl,i=t.tokenUrl,s=t.clientId,n=t.clientSecret,o=t.codeVerifier,c=t.codeChallenge,l=t.scopes,u=t.extraParams,d=void 0===u?{}:u,_=t.extraHeaders,h=void 0===_?{}:_,b=t.routingBasePath,p=t.redirectUri,f=t.successCallback,w=t.errorCallback,v=new URL(a),g="/"===b?"":b,C=""+window.location.origin+g+DEFAULT_OAUTH2_REDIRECT_PAGE,m=(0,utils_1.encodeState)({date:(new Date).toString()});for(var y in v.searchParams.set("client_id",s),v.searchParams.set("redirect_uri",p||C),v.searchParams.set("response_type","code"),v.searchParams.set("state",m),Array.isArray(l)&&v.searchParams.set("scope",l.join(" ")),c&&(v.searchParams.set("code_challenge",c),v.searchParams.set("code_challenge_method","S256")),d)v.searchParams.set(y,d[y]);window.redirectOAuth2={flow:"authorizationCode",data:{authorizationUrl:a,clientId:s,scopes:l},state:m,successCallback:function(t){var a=t.auth_code;return(0,tslib_1.__awaiter)(r,void 0,void 0,(function(){var t;return(0,tslib_1.__generator)(this,(function(r){switch(r.label){case 0:return r.trys.push([0,3,,4]),[4,fetch(i,{method:"POST",headers:(0,tslib_1.__assign)({"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"},h),body:qs.stringify((0,tslib_1.__assign)((0,tslib_1.__assign)((0,tslib_1.__assign)({client_id:s,client_secret:n},o&&{code_verifier:o}),{code:a,grant_type:"authorization_code",redirect_uri:p||C}),d))})];case 1:return[4,handleResponseCallback(r.sent(),f,w)];case 2:return r.sent(),[3,4];case 3:return t=r.sent(),w(t),[3,4];case 4:return e.clearRedirectData("authorizationCode"),[2]}}))}))},errorCallback:function(t){w(t),e.clearRedirectData("authorizationCode")}},window.open(v.toString())}}),Object.defineProperty(e,"clearRedirectData",{enumerable:!1,configurable:!0,writable:!0,value:function(e){window.redirectOAuth2={flow:e,data:{authorizationUrl:"",clientId:"",scopes:[]},state:"",successCallback:function(){},errorCallback:function(){}}}}),Object.defineProperty(e,"authorizeClientCredentials",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=e.tokenUrl,r=e.clientId,a=e.clientSecret,i=e.scopes,s=void 0===i?[]:i,n=e.extraParams,o=void 0===n?{}:n,c=e.extraHeaders,l=void 0===c?{}:c,u=e.successCallback,d=e.errorCallback;return(0,tslib_1.__awaiter)(this,void 0,void 0,(function(){var e;return(0,tslib_1.__generator)(this,(function(i){switch(i.label){case 0:return i.trys.push([0,3,,4]),[4,fetch(t,{method:"POST",headers:(0,tslib_1.__assign)({"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"},l),body:qs.stringify((0,tslib_1.__assign)({client_id:r,client_secret:a,grant_type:"client_credentials",scope:Array.isArray(s)?s.join(" "):void 0},o))})];case 1:return[4,handleResponseCallback(i.sent(),u,d)];case 2:return i.sent(),[3,4];case 3:return e=i.sent(),d(e),[3,4];case 4:return[2]}}))}))}}),e}();function handleResponseCallback(e,t,r){return(0,tslib_1.__awaiter)(this,void 0,void 0,(function(){var a,i,s,n,o,c;return(0,tslib_1.__generator)(this,(function(l){switch(l.label){case 0:return e.ok?[4,e.json()]:[3,2];case 1:return a=l.sent(),t(a),[3,7];case 2:return i=r,s=Error.bind,(e.headers.get("Content-Type")||"").indexOf("json")>-1?(c=(o=JSON).stringify,[4,e.json()]):[3,4];case 3:return n=c.apply(o,[l.sent()]),[3,6];case 4:return[4,e.text()];case 5:n=l.sent(),l.label=6;case 6:i.apply(void 0,[new(s.apply(Error,[void 0,n]))]),l.label=7;case 7:return[2]}}))}))}function deriveCodeChallenge(e){return(0,tslib_1.__awaiter)(this,void 0,void 0,(function(){var t;return(0,tslib_1.__generator)(this,(function(r){switch(r.label){case 0:return t=utils_1.base64UrlEncode,[4,(0,utils_1.sha256)(e)];case 1:return[2,t.apply(void 0,[r.sent()])]}}))}))}exports.OAuth2=OAuth2,exports.oauth2Instance=new OAuth2,exports.deriveCodeChallenge=deriveCodeChallenge;
|
|
2
2
|
//# sourceMappingURL=OAuth2.js.map
|
|
@@ -21,7 +21,7 @@ export interface ProviderMetadata {
|
|
|
21
21
|
request_object_signing_alg_values_supported?: string[];
|
|
22
22
|
request_object_encryption_alg_values_supported?: string[];
|
|
23
23
|
request_object_encryption_enc_values_supported?: string[];
|
|
24
|
-
token_endpoint_auth_methods_supported?: string[];
|
|
24
|
+
token_endpoint_auth_methods_supported?: string[] | string;
|
|
25
25
|
token_endpoint_auth_signing_alg_values_supported?: string[];
|
|
26
26
|
display_values_supported?: string[];
|
|
27
27
|
claim_types_supported?: string[];
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.capitalizeFirst=exports.isDefined=exports.getCodeSample=void 0;var tslib_1=require("tslib"),query_string_1=require("query-string"),Sampler=(0,tslib_1.__importStar)(require("openapi-sampler")),deepmerge_1=(0,tslib_1.__importDefault)(require("deepmerge")),mobx_1=require("mobx"),redoc_lib_1=require("../../redoc-lib"),utils_1=require("../../utils"),utils_2=require("../utils"),types_1=require("../../types"),httpsnippet_1=require("./httpsnippet");function mapOperationToHAR(e,t){var a,r,i,s,n,l,o,u,p,d,c=t.exampleName,m=void 0===c?"":c,_=t.skipOptionalParameters,v=void 0!==_&&_,h=t.withOAuth2Call,y=void 0!==h&&h,f=t.spec,g=t.generatedPayloadSamplesMaxDepth,O=void 0===g?8:g,b=t.pathParams,T=void 0===b?{}:b,S=t.properties,C=void 0===S?{}:S,q=getSecurityData(null===(a=e.security)||void 0===a?void 0:a[0],y),E=q.securityHeaders,D=q.securityCookies,x=q.securityQueries,A=q.securityOAuth2ExtraCalls,w=q.basicAuth,P=null===(i=null===(r=e.requestBody)||void 0===r?void 0:r.content)||void 0===i?void 0:i.active,R={skipNonRequired:v,skipReadOnly:!0,maxSampleDepth:O},k={path:(0,mobx_1.toJS)(null===(s=null==e?void 0:e.requestValues)||void 0===s?void 0:s.path),cookie:(0,mobx_1.toJS)(null===(n=null==e?void 0:e.requestValues)||void 0===n?void 0:n.cookie),header:(0,mobx_1.toJS)(null===(l=null==e?void 0:e.requestValues)||void 0===l?void 0:l.header),query:(0,mobx_1.toJS)(null===(o=null==e?void 0:e.requestValues)||void 0===o?void 0:o.query),body:(0,mobx_1.toJS)(null===(u=null==e?void 0:e.requestValues)||void 0===u?void 0:u.body)},H=!1,N=e.parameters.filter((function(e){return"header"===e.in})).filter((function(e){return!(v&&!e.required)})).map((function(e){var t;return{name:e.name,value:(null===(t=k.header)||void 0===t?void 0:t[e.name])||(0,utils_1.getParameterValue)("header",e.name)||(0,redoc_lib_1.serializeParameterValue)(e,Sampler.sample(e.schema.rawSchema,R,f))}})).map((function(e){return(null==P?void 0:P.name)&&"content-type"===e.name.toLowerCase()&&(H=!0,e.value=P.name),e})).concat(E);!H&&(null==P?void 0:P.name)&&N.unshift({name:"Content-Type",value:null==P?void 0:P.name});var M=e.parameters.filter((function(e){return"cookie"===e.in})).filter((function(e){return!(v&&!e.required)})).map((function(e){return(0,query_string_1.parse)((0,redoc_lib_1.serializeParameterValue)(e,Sampler.sample(e.schema.rawSchema,R,f)))})).reduce((function(e,t){for(var a,r=0,i=Object.entries(t);r<i.length;r++){var s=i[r],n=s[0],l=s[1];e.push({name:n,value:String((null===(a=k.cookie)||void 0===a?void 0:a[n])||l)})}return e}),[]).concat(D),z=e.parameters.filter((function(e){return"query"===e.in})).filter((function(e){return!(v&&!e.required)})).map((function(e){return(0,query_string_1.parse)((0,redoc_lib_1.serializeParameterValue)(e,Sampler.sample(e.schema.rawSchema,R,f)))})).reduce((function(e,t){for(var a,r,i,s=0,n=Object.entries(t);s<n.length;s++){var l=n[s],o=l[0],u=l[1];e.push({name:o,value:(0,redoc_lib_1.isArrayOfObjects)(null===(a=k.query)||void 0===a?void 0:a[o])&&JSON.stringify((0,redoc_lib_1.deleteEmptyArrayItem)(null===(r=k.query)||void 0===r?void 0:r[o]))||String((null===(i=k.query)||void 0===i?void 0:i[o])||u)})}return e}),[]).concat(x),U=(null===(p=e.activeServer)||void 0===p?void 0:p.url.replace(/\/$/,""))+"/"+e.path.replace(/^\//,""),j=e.parameters.filter((function(e){return"path"===e.in})).reduce((function(e,t){var a,r=t.in,i=t.name;return e[i]=(null===(a=k.path)||void 0===a?void 0:a[i])||T[i]||(0,utils_1.getParameterValue)(r,i),e}),{}),V=null===(d=null==P?void 0:P.examples)||void 0===d?void 0:d[m],J=(null==P?void 0:P.examples)||{},L=Object.values(J)[0],I=k.body||(null==V?void 0:V.value)||(null==L?void 0:L.value)||(null==P?void 0:P.schema)&&Sampler.sample(null==P?void 0:P.schema.rawSchema,R,f),Y=null==P?void 0:P.name.toLowerCase(),F="",K=[];switch((0,utils_2.normalizeMimeType)(Y)){case types_1.MediaTypes.JSON:F=JSON.stringify(getDataRequest(I,C));break;case types_1.MediaTypes.URL_ENCODED:case types_1.MediaTypes.MULTIPART:F=(0,query_string_1.stringify)(getDataRequest(I,C)),K=objectToHarParams(getDataRequest(I,C));break;default:F=String(I||"")}var B=F?{mimeType:(null==P?void 0:P.name)||types_1.MediaTypes.OCTET_STREAM,text:F,params:K}:void 0;return{method:e.httpVerb,url:U,httpVersion:"HTTP/1.1",cookies:M,headers:N,queryString:z,postData:B,headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:A,basicAuth:w,pathParameters:j,serverVariables:e.activeServer.variables}}var defaultOptions={withImports:!0,withComments:!1},langToSnippetConfig={curl:{code:"shell",defaultTarget:"curl",defaultOptions:(0,tslib_1.__assign)((0,tslib_1.__assign)({},defaultOptions),{short:!0})},JavaScript:{code:"javascript",defaultTarget:"fetch",defaultOptions:(0,tslib_1.__assign)((0,tslib_1.__assign)({},defaultOptions),{withImports:!1})},"Node.js":{code:"node",defaultTarget:"fetch",defaultOptions:(0,tslib_1.__assign)({},defaultOptions)},Python:{code:"python",defaultTarget:"requests",defaultOptions:(0,tslib_1.__assign)({},defaultOptions)},"Java8+Apache":{code:"java8",defaultTarget:"apachehttp",defaultOptions:(0,tslib_1.__assign)({},defaultOptions)},Java:{code:"java",defaultTarget:"httpclient",defaultOptions:(0,tslib_1.__assign)({},defaultOptions)},"C#":{code:"csharp",defaultTarget:"httpclient",defaultOptions:(0,tslib_1.__assign)({},defaultOptions)},Go:{code:"go",defaultTarget:"http.DefaultClient",defaultOptions:(0,tslib_1.__assign)({},defaultOptions)},PHP:{code:"php",defaultTarget:"curl",defaultOptions:(0,tslib_1.__assign)({},defaultOptions)},Ruby:{code:"ruby",defaultTarget:"net::http",defaultOptions:(0,tslib_1.__assign)({},defaultOptions)},R:{code:"r",defaultTarget:"httr",defaultOptions:(0,tslib_1.__assign)({},defaultOptions)}};function getCodeSample(e){var t=e.lang,a=e.operation,r=e.exampleName,i=e.pathParams,s=e.properties,n=e.options,l=void 0===n?{}:n;try{var o=mapOperationToHAR(a,{exampleName:r,pathParams:i,properties:s,skipOptionalParameters:l.skipOptionalParameters,withOAuth2Call:l.withOAuth2Call,spec:l.spec,generatedPayloadSamplesMaxDepth:l.generatedPayloadSamplesMaxDepth}),u=new httpsnippet_1.HTTPSnippet(o);return langToSnippetConfig[t]?u.convert(langToSnippetConfig[t].code,langToSnippetConfig[t].defaultTarget,(0,tslib_1.__assign)((0,tslib_1.__assign)({},langToSnippetConfig[t].defaultOptions),l)):"Language is not supported."}catch(e){return console.error(e),"Failed to generate code sample."}}function getSecurityData(e,t){for(var a,r,i,s,n={securityHeaders:[],securityCookies:[],securityQueries:[],securityOAuth2ExtraCalls:[],basicAuth:void 0},l=0,o=(null==e?void 0:e.schemes)||[];l<o.length;l++){var u=o[l],p=(0,utils_1.getSecurityDetails)(u.id);switch(u.type){case"openIdConnect":null===(a=n.securityHeaders)||void 0===a||a.push({name:"Authorization",value:"Bearer <YOUR_TOKEN_HERE>"});break;case"oauth2":var d=p.token?(p.token.token_type||"Bearer")+" "+p.token.access_token:"Bearer <YOUR_TOKEN_HERE>";u.flows.clientCredentials&&t?n.securityOAuth2ExtraCalls.push(getOAuth2ClientCredsCallHar(u.flows.clientCredentials,u.scopes,p)):u.flows.password&&t&&n.securityOAuth2ExtraCalls.push(getOAuth2PasswordCallHar(u.flows.password,u.scopes,p)),null===(r=n.securityHeaders)||void 0===r||r.push({name:"Authorization",value:d});break;case"apiKey":var c=p.raw||"YOUR_API_KEY_HERE";"header"===u.in&&(null===(i=n.securityHeaders)||void 0===i||i.push({name:u.name,value:c})),"cookie"===u.in&&n.securityCookies.push({name:u.name,value:c}),"query"===u.in&&n.securityQueries.push({name:u.name,value:c});break;case"http":"basic"===u.scheme?n.basicAuth={username:p.username||"<username>",password:p.password||"<password>"}:null===(s=n.securityHeaders)||void 0===s||s.push({name:"Authorization",value:capitalizeFirst(u.scheme||"bearer")+" <YOUR_"+(u.bearerFormat||"TOKEN")+"_HERE>"})}}return n}function getOAuth2PasswordCallHar(e,t,a){return{method:"POST",url:e.tokenUrl,httpVersion:"HTTP/1.1",headers:[{name:"Content-Type",value:types_1.MediaTypes.URL_ENCODED},{name:"Accept",value:types_1.MediaTypes.JSON}],queryString:[],postData:{mimeType:types_1.MediaTypes.URL_ENCODED,text:"",params:[{name:"grant_type",value:"password"},{name:"client_id",value:a.client_id||"YOUR_CLIENT_ID"},{name:"client_secret",value:a.client_secret||"YOUR_CLIENT_SECRET"},{name:"username",value:a.username||"<username>"},{name:"password",value:a.password||"<password>"},t.length?{name:"scope",value:t.join(" ")}:void 0].filter(isDefined)},cookies:[],headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:[]}}function getOAuth2ClientCredsCallHar(e,t,a){return{method:"POST",url:e.tokenUrl,httpVersion:"HTTP/1.1",headers:[{name:"Content-Type",value:types_1.MediaTypes.URL_ENCODED},{name:"Accept",value:types_1.MediaTypes.JSON}],queryString:[],postData:{mimeType:types_1.MediaTypes.URL_ENCODED,text:"",params:[{name:"grant_type",value:"client_credentials"},{name:"client_id",value:a.client_id||"YOUR_CLIENT_ID"},{name:"client_secret",value:a.client_secret||"YOUR_CLIENT_SECRET"},t.length?{name:"scope",value:t.join(" ")}:void 0].filter(isDefined)},cookies:[],headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:[]}}function getDataRequest(e,t){if(e){if("object"==typeof e)return(0,deepmerge_1.default)(e,t,{arrayMerge:utils_2.arrayMergeStrategy});try{return(0,deepmerge_1.default)(JSON.parse(e),t,{arrayMerge:utils_2.arrayMergeStrategy})}catch(e){return!1}}return!1}function objectToHarParams(e){for(var t=[],a=0,r=Object.entries(e);a<r.length;a++){var i=r[a],s=i[0],n=i[1];t.push({name:s,value:String(n)})}return t}function isDefined(e){return void 0!==e}function capitalizeFirst(e){return e.charAt(0).toUpperCase()+e.slice(1)}exports.getCodeSample=getCodeSample,exports.isDefined=isDefined,exports.capitalizeFirst=capitalizeFirst;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.capitalizeFirst=exports.isDefined=exports.getCodeSample=void 0;var tslib_1=require("tslib"),query_string_1=require("query-string"),Sampler=(0,tslib_1.__importStar)(require("openapi-sampler")),deepmerge_1=(0,tslib_1.__importDefault)(require("deepmerge")),mobx_1=require("mobx"),redoc_lib_1=require("../../redoc-lib"),utils_1=require("../../utils"),utils_2=require("../utils"),types_1=require("../../types"),Labels_1=require("../../redoc-lib/src/services/Labels"),httpsnippet_1=require("./httpsnippet"),string_utility_1=(0,tslib_1.__importDefault)(require("./httpsnippet/helpers/string-utility"));function mapOperationToHAR(e,t){var a,r,i,s,l,n,o,u,p,d,c=t.exampleName,_=void 0===c?"":c,m=t.skipOptionalParameters,v=void 0!==m&&m,h=t.withOAuth2Call,y=void 0!==h&&h,f=t.spec,g=t.generatedPayloadSamplesMaxDepth,O=void 0===g?8:g,b=t.pathParams,S=void 0===b?{}:b,T=t.properties,C=void 0===T?{}:T,q=getSecurityData(null===(a=e.security)||void 0===a?void 0:a[0],y),E=q.securityHeaders,D=q.securityCookies,A=q.securityQueries,x=q.securityOAuth2ExtraCalls,P=q.basicAuth,w=null===(i=null===(r=e.requestBody)||void 0===r?void 0:r.content)||void 0===i?void 0:i.active,R={skipNonRequired:v,skipReadOnly:!0,maxSampleDepth:O},k={path:(0,mobx_1.toJS)(null===(s=null==e?void 0:e.requestValues)||void 0===s?void 0:s.path),cookie:(0,mobx_1.toJS)(null===(l=null==e?void 0:e.requestValues)||void 0===l?void 0:l.cookie),header:(0,mobx_1.toJS)(null===(n=null==e?void 0:e.requestValues)||void 0===n?void 0:n.header),query:(0,mobx_1.toJS)(null===(o=null==e?void 0:e.requestValues)||void 0===o?void 0:o.query),body:(0,mobx_1.toJS)(null===(u=null==e?void 0:e.requestValues)||void 0===u?void 0:u.body)},H=!1,N=e.parameters.filter((function(e){return"header"===e.in})).filter((function(e){return!(v&&!e.required)})).map((function(e){var t;return{name:e.name,value:(null===(t=k.header)||void 0===t?void 0:t[e.name])||(0,utils_1.getParameterValue)("header",e.name)||(0,redoc_lib_1.serializeParameterValue)(e,Sampler.sample(e.schema.rawSchema,R,f))}})).map((function(e){return(null==w?void 0:w.name)&&"content-type"===e.name.toLowerCase()&&(H=!0,e.value=w.name),e})).concat(E);!H&&(null==w?void 0:w.name)&&N.unshift({name:"Content-Type",value:null==w?void 0:w.name});var M=e.parameters.filter((function(e){return"cookie"===e.in})).filter((function(e){return!(v&&!e.required)})).map((function(e){return(0,query_string_1.parse)((0,redoc_lib_1.serializeParameterValue)(e,Sampler.sample(e.schema.rawSchema,R,f)))})).reduce((function(e,t){for(var a,r=0,i=Object.entries(t);r<i.length;r++){var s=i[r],l=s[0],n=s[1];e.push({name:l,value:String((null===(a=k.cookie)||void 0===a?void 0:a[l])||n)})}return e}),[]).concat(D),z=e.parameters.filter((function(e){return"query"===e.in})).filter((function(e){return!(v&&!e.required)})).map((function(e){return(0,query_string_1.parse)((0,redoc_lib_1.serializeParameterValue)(e,Sampler.sample(e.schema.rawSchema,R,f)))})).reduce((function(e,t){for(var a,r,i,s=0,l=Object.entries(t);s<l.length;s++){var n=l[s],o=n[0],u=n[1];e.push({name:o,value:(0,redoc_lib_1.isArrayOfObjects)(null===(a=k.query)||void 0===a?void 0:a[o])&&JSON.stringify((0,redoc_lib_1.deleteEmptyArrayItem)(null===(r=k.query)||void 0===r?void 0:r[o]))||String((null===(i=k.query)||void 0===i?void 0:i[o])||u)})}return e}),[]).concat(A),U=(null===(p=e.activeServer)||void 0===p?void 0:p.url.replace(/\/$/,""))+"/"+e.path.replace(/^\//,""),L=e.parameters.filter((function(e){return"path"===e.in})).reduce((function(e,t){var a,r=t.in,i=t.name;return e[i]=(null===(a=k.path)||void 0===a?void 0:a[i])||S[i]||(0,utils_1.getParameterValue)(r,i),e}),{}),j=null===(d=null==w?void 0:w.examples)||void 0===d?void 0:d[_],V=(null==w?void 0:w.examples)||{},I=Object.values(V)[0],J=k.body||(null==j?void 0:j.value)||(null==I?void 0:I.value)||(null==w?void 0:w.schema)&&Sampler.sample(null==w?void 0:w.schema.rawSchema,R,f),Y=null==w?void 0:w.name.toLowerCase(),F="",B=[];switch((0,utils_2.normalizeMimeType)(Y)){case types_1.MediaTypes.JSON:F=JSON.stringify(getDataRequest(J,C));break;case types_1.MediaTypes.URL_ENCODED:case types_1.MediaTypes.MULTIPART:F=(0,query_string_1.stringify)(getDataRequest(J,C)),B=objectToHarParams(getDataRequest(J,C));break;default:F=String(J||"")}var K=F?{mimeType:(null==w?void 0:w.name)||types_1.MediaTypes.OCTET_STREAM,text:F,params:B}:void 0;return{method:e.httpVerb,url:U,httpVersion:"HTTP/1.1",cookies:M,headers:N,queryString:z,postData:K,headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:x,basicAuth:P,pathParameters:L,serverVariables:e.activeServer.variables}}var defaultOptions={withImports:!0,withComments:!1},langToSnippetConfig={curl:{code:"shell",defaultTarget:"curl",defaultOptions:(0,tslib_1.__assign)((0,tslib_1.__assign)({},defaultOptions),{short:!0})},JavaScript:{code:"javascript",defaultTarget:"fetch",defaultOptions:(0,tslib_1.__assign)((0,tslib_1.__assign)({},defaultOptions),{withImports:!1})},"Node.js":{code:"node",defaultTarget:"fetch",defaultOptions:(0,tslib_1.__assign)({},defaultOptions)},Python:{code:"python",defaultTarget:"requests",defaultOptions:(0,tslib_1.__assign)({},defaultOptions)},"Java8+Apache":{code:"java8",defaultTarget:"apachehttp",defaultOptions:(0,tslib_1.__assign)({},defaultOptions)},Java:{code:"java",defaultTarget:"httpclient",defaultOptions:(0,tslib_1.__assign)({},defaultOptions)},"C#":{code:"csharp",defaultTarget:"httpclient",defaultOptions:(0,tslib_1.__assign)({},defaultOptions)},Go:{code:"go",defaultTarget:"http.DefaultClient",defaultOptions:(0,tslib_1.__assign)({},defaultOptions)},PHP:{code:"php",defaultTarget:"curl",defaultOptions:(0,tslib_1.__assign)({},defaultOptions)},Ruby:{code:"ruby",defaultTarget:"net::http",defaultOptions:(0,tslib_1.__assign)({},defaultOptions)},R:{code:"r",defaultTarget:"httr",defaultOptions:(0,tslib_1.__assign)({},defaultOptions)}};function getCodeSample(e){var t=e.lang,a=e.operation,r=e.exampleName,i=e.pathParams,s=e.properties,l=e.options,n=void 0===l?{}:l;try{var o=mapOperationToHAR(a,{exampleName:r,pathParams:i,properties:s,skipOptionalParameters:n.skipOptionalParameters,withOAuth2Call:n.withOAuth2Call,spec:n.spec,generatedPayloadSamplesMaxDepth:n.generatedPayloadSamplesMaxDepth}),u=new httpsnippet_1.HTTPSnippet(o);return langToSnippetConfig[t]?u.convert(langToSnippetConfig[t].code,langToSnippetConfig[t].defaultTarget,(0,tslib_1.__assign)((0,tslib_1.__assign)({},langToSnippetConfig[t].defaultOptions),n)):"Language is not supported."}catch(e){return console.error(e),"Failed to generate code sample."}}function getSecurityData(e,t){for(var a,r,i,s,l={securityHeaders:[],securityCookies:[],securityQueries:[],securityOAuth2ExtraCalls:[],basicAuth:void 0},n=0,o=(null==e?void 0:e.schemes)||[];n<o.length;n++){var u=o[n],p=(0,utils_1.getSecurityDetails)(u.id);switch(u.type){case"openIdConnect":null===(a=l.securityHeaders)||void 0===a||a.push({name:"Authorization",value:"Bearer <YOUR_TOKEN_HERE>"});break;case"oauth2":var d=p.token?(p.token.token_type||"Bearer")+" "+p.token.access_token:"Bearer <YOUR_TOKEN_HERE>";u.flows.clientCredentials&&t?l.securityOAuth2ExtraCalls.push(getOAuth2ClientCredsCallHar(u.flows.clientCredentials,u.scopes,p)):u.flows.password&&t&&l.securityOAuth2ExtraCalls.push(getOAuth2PasswordCallHar(u.flows.password,u.scopes,p)),null===(r=l.securityHeaders)||void 0===r||r.push({name:"Authorization",value:d});break;case"apiKey":var c=p.raw||"YOUR_API_KEY_HERE";"header"===u.in&&(null===(i=l.securityHeaders)||void 0===i||i.push({name:u.name,value:c})),"cookie"===u.in&&l.securityCookies.push({name:u.name,value:c}),"query"===u.in&&l.securityQueries.push({name:u.name,value:c});break;case"http":"basic"===u.scheme?l.basicAuth={username:p.username||"<"+string_utility_1.default.toSnakeCase((0,Labels_1.l)("tryItAuthBasicUsername"))+">",password:p.password||"<"+string_utility_1.default.toSnakeCase((0,Labels_1.l)("tryItAuthBasicPassword"))+">"}:null===(s=l.securityHeaders)||void 0===s||s.push({name:"Authorization",value:capitalizeFirst(u.scheme||"bearer")+" <YOUR_"+(u.bearerFormat||"TOKEN")+"_HERE>"})}}return l}function getOAuth2PasswordCallHar(e,t,a){return{method:"POST",url:e.tokenUrl,httpVersion:"HTTP/1.1",headers:[{name:"Content-Type",value:types_1.MediaTypes.URL_ENCODED},{name:"Accept",value:types_1.MediaTypes.JSON}],queryString:[],postData:{mimeType:types_1.MediaTypes.URL_ENCODED,text:"",params:[{name:"grant_type",value:"password"},{name:"client_id",value:a.client_id||"YOUR_CLIENT_ID"},{name:"client_secret",value:a.client_secret||"YOUR_CLIENT_SECRET"},{name:"username",value:a.username||"<username>"},{name:"password",value:a.password||"<password>"},t.length?{name:"scope",value:t.join(" ")}:void 0].filter(isDefined)},cookies:[],headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:[]}}function getOAuth2ClientCredsCallHar(e,t,a){return{method:"POST",url:e.tokenUrl,httpVersion:"HTTP/1.1",headers:[{name:"Content-Type",value:types_1.MediaTypes.URL_ENCODED},{name:"Accept",value:types_1.MediaTypes.JSON}],queryString:[],postData:{mimeType:types_1.MediaTypes.URL_ENCODED,text:"",params:[{name:"grant_type",value:"client_credentials"},{name:"client_id",value:a.client_id||"YOUR_CLIENT_ID"},{name:"client_secret",value:a.client_secret||"YOUR_CLIENT_SECRET"},t.length?{name:"scope",value:t.join(" ")}:void 0].filter(isDefined)},cookies:[],headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:[]}}function getDataRequest(e,t){if(e){if("object"==typeof e)return(0,deepmerge_1.default)(e,t,{arrayMerge:utils_2.arrayMergeStrategy});try{return(0,deepmerge_1.default)(JSON.parse(e),t,{arrayMerge:utils_2.arrayMergeStrategy})}catch(e){return!1}}return!1}function objectToHarParams(e){for(var t=[],a=0,r=Object.entries(e);a<r.length;a++){var i=r[a],s=i[0],l=i[1];t.push({name:s,value:String(l)})}return t}function isDefined(e){return void 0!==e}function capitalizeFirst(e){return e.charAt(0).toUpperCase()+e.slice(1)}exports.getCodeSample=getCodeSample,exports.isDefined=isDefined,exports.capitalizeFirst=capitalizeFirst;
|
|
2
2
|
//# sourceMappingURL=generator.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ResolvedThemeInterface, MediaValue } from '../redoc-lib';
|
|
2
2
|
import type { RedocProRawOptions } from './ProStore';
|
|
3
3
|
export declare function extendTheme(options: RedocProRawOptions): RedocProRawOptions;
|
|
4
|
-
interface Typography {
|
|
4
|
+
export interface Typography {
|
|
5
5
|
fontSize?: MediaValue;
|
|
6
6
|
fontWeight?: string | number;
|
|
7
7
|
fontFamily?: MediaValue | ((theme: ProTheme) => string);
|
package/lib/standalone.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.revision=exports.version=exports.setPublicPath=exports.init=exports.hydrate=exports.toggleRightPanel=exports.toggleLayout=exports.setSecurityDetailsVariants=exports.setParameterValue=exports.setSecurityDetails=void 0;var tslib_1=require("tslib");require("core-js/es/array/find-index"),require("core-js/es/array/find"),require("core-js/es/array/includes"),require("core-js/es/map"),require("core-js/es/number/is-integer"),require("core-js/es/object/assign"),require("core-js/es/object/entries"),require("core-js/es/object/is"),require("core-js/es/object/values"),require("core-js/es/promise"),require("core-js/es/string/ends-with"),require("core-js/es/string/starts-with"),require("core-js/es/symbol"),require("unfetch/polyfill/index"),require("url-polyfill");var path_1=require("path"),React=(0,tslib_1.__importStar)(require("react")),react_dom_1=require("react-dom"),redoc_lib_1=require("./redoc-lib"),ProStore_1=require("./services/ProStore"),store_types_1=require("./services/store-types"),RedoclyReferenceDocs_1=require("./components/RedoclyReferenceDocs"),utils_1=require("./utils"),utils_2=require("./utils");function toggleLayout(e){var r=(0,utils_1.getGlobalStore)();r&&r.toggleLayout((null!=e?e:r.layout===store_types_1.LayoutVariant.STACKED)?store_types_1.LayoutVariant.THREE_PANEL:store_types_1.LayoutVariant.STACKED)}function toggleRightPanel(e){var r=(0,utils_1.getGlobalStore)();r&&r.toggleRightPanel(e)}Object.defineProperty(exports,"setSecurityDetails",{enumerable:!0,get:function(){return utils_2.setSecurityDetails}}),Object.defineProperty(exports,"setParameterValue",{enumerable:!0,get:function(){return utils_2.setParameterValue}}),Object.defineProperty(exports,"setSecurityDetailsVariants",{enumerable:!0,get:function(){return utils_2.setSecurityDetailsVariants}}),exports.toggleLayout=toggleLayout,exports.toggleRightPanel=toggleRightPanel;var url=getJsUrl(),__dirname=url?(0,path_1.dirname)(url)+"/":"";function attributesMap(e){for(var r={},t=e.attributes,o=0;o<t.length;o++){var i=t[o];r[i.name]=i.value}return r}function parseOptionsFromElement(e){var r=attributesMap(e),t={};for(var o in r){t[o.replace(/-(.)/g,(function(e,r){return r.toUpperCase()}))]=r[o]}return t}function hydrate(e,r){void 0===r&&(r=document.querySelector("redoc"));var t=ProStore_1.ProStore.fromJS(e);(0,react_dom_1.hydrate)(React.createElement(RedoclyReferenceDocs_1.RedoclyReferenceDocs,{store:t}),r)}function init(e,r,t,o){if(void 0===r&&(r={}),void 0===t&&(t=(0,redoc_lib_1.querySelector)("redoc")),null===t)throw new Error('"element" argument is not provided and <redoc> tag is not found on the page');var i,s;"object"==typeof e&&"versions"in e?(0,react_dom_1.render)(React.createElement(RedoclyReferenceDocs_1.RedoclyReferenceDocsMultiStandalone,{definitions:e,options:(0,tslib_1.__assign)((0,tslib_1.__assign)({},r),parseOptionsFromElement(t))},["Loading..."]),t,o):("string"==typeof e?i=e:"object"==typeof e&&(s=e),(0,react_dom_1.render)(React.createElement(RedoclyReferenceDocs_1.RedoclyReferenceDocsStandalone,{definition:s,definitionUrl:i,options:(0,tslib_1.__assign)((0,tslib_1.__assign)({},r),parseOptionsFromElement(t))},["Loading..."]),t,o))}function setPublicPath(e){__webpack_public_path__=e}function autoInit(){var e=(0,redoc_lib_1.querySelector)("redoc");if(e){var r=e.getAttribute("spec-url");r&&init(r,{},e)}}
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.revision=exports.version=exports.setPublicPath=exports.init=exports.hydrate=exports.toggleRightPanel=exports.toggleLayout=exports.setSecurityDetailsVariants=exports.setParameterValue=exports.setSecurityDetails=void 0;var tslib_1=require("tslib");require("core-js/es/array/find-index"),require("core-js/es/array/find"),require("core-js/es/array/includes"),require("core-js/es/map"),require("core-js/es/number/is-integer"),require("core-js/es/object/assign"),require("core-js/es/object/entries"),require("core-js/es/object/is"),require("core-js/es/object/values"),require("core-js/es/promise"),require("core-js/es/string/ends-with"),require("core-js/es/string/starts-with"),require("core-js/es/symbol"),require("unfetch/polyfill/index"),require("url-polyfill");var path_1=require("path"),React=(0,tslib_1.__importStar)(require("react")),react_dom_1=require("react-dom"),redoc_lib_1=require("./redoc-lib"),ProStore_1=require("./services/ProStore"),store_types_1=require("./services/store-types"),RedoclyReferenceDocs_1=require("./components/RedoclyReferenceDocs"),utils_1=require("./utils"),utils_2=require("./utils");function toggleLayout(e){var r=(0,utils_1.getGlobalStore)();r&&r.toggleLayout((null!=e?e:r.layout===store_types_1.LayoutVariant.STACKED)?store_types_1.LayoutVariant.THREE_PANEL:store_types_1.LayoutVariant.STACKED)}function toggleRightPanel(e){var r=(0,utils_1.getGlobalStore)();r&&r.toggleRightPanel(e)}Object.defineProperty(exports,"setSecurityDetails",{enumerable:!0,get:function(){return utils_2.setSecurityDetails}}),Object.defineProperty(exports,"setParameterValue",{enumerable:!0,get:function(){return utils_2.setParameterValue}}),Object.defineProperty(exports,"setSecurityDetailsVariants",{enumerable:!0,get:function(){return utils_2.setSecurityDetailsVariants}}),exports.toggleLayout=toggleLayout,exports.toggleRightPanel=toggleRightPanel;var url=(0,utils_1.getJsUrl)(),__dirname=url?(0,path_1.dirname)(url)+"/":"";function attributesMap(e){for(var r={},t=e.attributes,o=0;o<t.length;o++){var i=t[o];r[i.name]=i.value}return r}function parseOptionsFromElement(e){var r=attributesMap(e),t={};for(var o in r){t[o.replace(/-(.)/g,(function(e,r){return r.toUpperCase()}))]=r[o]}return t}function hydrate(e,r){void 0===r&&(r=document.querySelector("redoc"));var t=ProStore_1.ProStore.fromJS(e);(0,react_dom_1.hydrate)(React.createElement(RedoclyReferenceDocs_1.RedoclyReferenceDocs,{store:t}),r)}function init(e,r,t,o){if(void 0===r&&(r={}),void 0===t&&(t=(0,redoc_lib_1.querySelector)("redoc")),null===t)throw new Error('"element" argument is not provided and <redoc> tag is not found on the page');var i,s;"object"==typeof e&&"versions"in e?(0,react_dom_1.render)(React.createElement(RedoclyReferenceDocs_1.RedoclyReferenceDocsMultiStandalone,{definitions:e,options:(0,tslib_1.__assign)((0,tslib_1.__assign)({},r),parseOptionsFromElement(t))},["Loading..."]),t,o):("string"==typeof e?i=e:"object"==typeof e&&(s=e),(0,react_dom_1.render)(React.createElement(RedoclyReferenceDocs_1.RedoclyReferenceDocsStandalone,{definition:s,definitionUrl:i,options:(0,tslib_1.__assign)((0,tslib_1.__assign)({},r),parseOptionsFromElement(t))},["Loading..."]),t,o))}function setPublicPath(e){__webpack_public_path__=e}function autoInit(){var e=(0,redoc_lib_1.querySelector)("redoc");if(e){var r=e.getAttribute("spec-url");r&&init(r,{},e)}}exports.hydrate=hydrate,exports.init=init,exports.setPublicPath=setPublicPath,exports.version=__REDOCLY_API_REFERENCE_VERSION__,exports.revision=__REDOCLY_API_REFERENCE_REVISION__,redoc_lib_1.IS_BROWSER&&setPublicPath(__dirname),autoInit();
|
|
2
2
|
//# sourceMappingURL=standalone.js.map
|
package/lib/types.d.ts
CHANGED
|
@@ -12,3 +12,14 @@ export declare enum MediaTypes {
|
|
|
12
12
|
JSON = "application/json",
|
|
13
13
|
XML = "application/xml"
|
|
14
14
|
}
|
|
15
|
+
export declare type SecurityDetails = {
|
|
16
|
+
password?: string;
|
|
17
|
+
username?: string;
|
|
18
|
+
token?: {
|
|
19
|
+
token_type?: string;
|
|
20
|
+
access_token: string;
|
|
21
|
+
};
|
|
22
|
+
client_id?: string;
|
|
23
|
+
client_secret?: string;
|
|
24
|
+
scopes?: string;
|
|
25
|
+
};
|
package/lib/utils.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ProStore } from './services/ProStore';
|
|
2
|
+
import type { SecurityDetails } from './types';
|
|
2
3
|
export declare const getGlobalStore: () => ProStore;
|
|
3
4
|
export declare const setGlobalStore: (store: ProStore) => ProStore;
|
|
4
5
|
export declare function debounce<T extends unknown>(fn: (...args: T[]) => void, threshold: number, leading?: boolean): (...args: T[]) => void;
|
|
@@ -8,18 +9,6 @@ export declare function setParameterValue(_in: string, name: string, value: Gene
|
|
|
8
9
|
export declare function getParameterValue(_in: string, name: string): string | null;
|
|
9
10
|
export declare function toLocalStorage(key: string, value: string): void;
|
|
10
11
|
export declare function fromLocalStorage<T extends string>(key: string): T;
|
|
11
|
-
export declare function useDimensions(node?: HTMLElement | null): [DOMRect | null];
|
|
12
|
-
export declare type SecurityDetails = {
|
|
13
|
-
password?: string;
|
|
14
|
-
username?: string;
|
|
15
|
-
token?: {
|
|
16
|
-
token_type?: string;
|
|
17
|
-
access_token: string;
|
|
18
|
-
};
|
|
19
|
-
client_id?: string;
|
|
20
|
-
client_secret?: string;
|
|
21
|
-
scopes?: string;
|
|
22
|
-
};
|
|
23
12
|
export declare function escapeFormId(id: string): string;
|
|
24
13
|
export declare function unescapeFormId(id: string): string;
|
|
25
14
|
export declare function setSecurityDetails(name: string, details: SecurityDetails | string): void;
|
|
@@ -38,3 +27,4 @@ export declare function get<T>(object: GenericObject, path: string | Array<strin
|
|
|
38
27
|
export declare function joinStringFactory(separator: string): (...args: (string | undefined)[]) => string;
|
|
39
28
|
export declare const dottedString: (...args: (string | undefined)[]) => string;
|
|
40
29
|
export declare function getWindowReferenceOptions<T>(option: string): T | null;
|
|
30
|
+
export declare function getJsUrl(): string;
|
package/lib/utils.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getWindowReferenceOptions=exports.dottedString=exports.joinStringFactory=exports.get=exports.getSecurityDetailsOptions=exports.getSecurityDetails=exports.setSecurityDetailsVariants=exports.setSecurityDetails=exports.unescapeFormId=exports.escapeFormId=exports.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getJsUrl=exports.getWindowReferenceOptions=exports.dottedString=exports.joinStringFactory=exports.get=exports.getSecurityDetailsOptions=exports.getSecurityDetails=exports.setSecurityDetailsVariants=exports.setSecurityDetails=exports.unescapeFormId=exports.escapeFormId=exports.fromLocalStorage=exports.toLocalStorage=exports.getParameterValue=exports.setParameterValue=exports.fromSessionStorage=exports.toSessionStorage=exports.debounce=exports.setGlobalStore=exports.getGlobalStore=void 0;var _store,utils_1=require("./redoc-lib/src/utils/"),getGlobalStore=function(){return _store};exports.getGlobalStore=getGlobalStore;var setGlobalStore=function(e){return _store=e};function debounce(e,t,r){var o,s=0;return function(){for(var n=[],a=0;a<arguments.length;a++)n[a]=arguments[a];function i(){s>1&&e.apply(void 0,n),s=0,o=null}s++,o?clearTimeout(o):r&&e.apply(void 0,n),o=setTimeout(i,t)}}function toSessionStorage(e,t){utils_1.IS_BROWSER&&window.sessionStorage.setItem("redoc."+e,t)}function fromSessionStorage(e){return utils_1.IS_BROWSER&&window.sessionStorage.getItem("redoc."+e)||""}function setParameterValue(e,t,r){toSessionStorage(e+"."+t,JSON.stringify(r))}function getParameterValue(e,t){try{return JSON.parse(fromSessionStorage(e+"."+t))}catch(e){return null}}function toLocalStorage(e,t){window.localStorage.setItem("redoc."+e,t)}function fromLocalStorage(e){return utils_1.IS_BROWSER&&window.localStorage.getItem("redoc."+e)||""}function escapeFormId(e){return e.replace(/[.[\]]/g,(function(e){return{".":"%2e","[":"%5b","]":"%5d"}[e]||""}))}function unescapeFormId(e){return e.replace(/%2e|%5b|%5d/g,(function(e){return{"%2e":".","%5b":"[","%5d":"]"}[e]||""}))}function setSecurityDetails(e,t){e=escapeFormId(e),"string"==typeof t?toSessionStorage("auth."+e,t):t&&(toSessionStorage("auth."+e+".password",t.password||""),toSessionStorage("auth."+e+".username",t.username||""),toSessionStorage("auth."+e+".token",t.token&&JSON.stringify(t.token)||""),toSessionStorage("auth."+e+".client_id",t.client_id||""),toSessionStorage("auth."+e+".client_secret",t.client_secret||""),toSessionStorage("auth."+e+".scopes",t.scopes&&JSON.stringify(t.scopes)||""))}function setSecurityDetailsVariants(e,t){toSessionStorage("auth."+(e=escapeFormId(e))+".variants",JSON.stringify(t))}function getSecurityDetails(e){var t=fromSessionStorage("auth."+(e=escapeFormId(e))),r=fromSessionStorage("auth."+e+".token");return{raw:t,password:fromSessionStorage("auth."+e+".password"),username:fromSessionStorage("auth."+e+".username"),token:r&&JSON.parse(r)||null,client_id:fromSessionStorage("auth."+e+".client_id"),client_secret:fromSessionStorage("auth."+e+".client_secret"),scopes:fromSessionStorage("auth."+e+".scopes")}}function getSecurityDetailsOptions(e,t){var r=fromSessionStorage("auth."+(e=escapeFormId(e))+".variants");if(!r)return null;var o=JSON.parse(r);return o&&Array.isArray(o)?o.map((function(e){return e.details?""===t&&e.details&&"string"==typeof e.details?{label:e.label,value:e.details}:"object"==typeof e.details?{label:e.label,value:e.details[t]}:null:null})).filter(notNull):null}function notNull(e){return null!==e}function get(e,t,r){return"string"==typeof t&&(t=t.split(".")),t.reduce((function(e,t){return e&&e[t]?e[t]:r}),e)}function joinStringFactory(e){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return t.filter(Boolean).join(e)}}function getWindowReferenceOptions(e){var t;return utils_1.IS_BROWSER?null===(t=null===window||void 0===window?void 0:window.REFERENCE_DOCS_OPTIONS)||void 0===t?void 0:t[e]:null}function getJsUrl(){var e;if(!utils_1.IS_BROWSER)return"";var t=+new Date+Math.random();try{return document.currentScript&&(document.currentScript.async||document.currentScript.defer)||document.write('<script id="dummy'+t+'"><\/script>'),(null===(e=document.getElementById("dummy"+t))||void 0===e?void 0:e.previousSibling).src}catch(e){return""}}exports.setGlobalStore=setGlobalStore,exports.debounce=debounce,exports.toSessionStorage=toSessionStorage,exports.fromSessionStorage=fromSessionStorage,exports.setParameterValue=setParameterValue,exports.getParameterValue=getParameterValue,exports.toLocalStorage=toLocalStorage,exports.fromLocalStorage=fromLocalStorage,exports.escapeFormId=escapeFormId,exports.unescapeFormId=unescapeFormId,exports.setSecurityDetails=setSecurityDetails,exports.setSecurityDetailsVariants=setSecurityDetailsVariants,exports.getSecurityDetails=getSecurityDetails,exports.getSecurityDetailsOptions=getSecurityDetailsOptions,exports.get=get,exports.joinStringFactory=joinStringFactory,exports.dottedString=joinStringFactory("."),exports.getWindowReferenceOptions=getWindowReferenceOptions,exports.getJsUrl=getJsUrl;
|
|
2
2
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React,{useState,useContext}from"react";import{OptionsContext}from"../../redoc-lib/src/components/OptionsProvider";import{StoreContext}from"../../redoc-lib/src/components/StoreBuilder";import{Console}from"../console/ConsoleLazy";import{CodePanel}from"../Panel";import{AnalyticsEventType}from"../../services/store-types";import{ServerList}from"./ServerList";import{Summary}from"./Summary";export var Endpoint=function(e){var t=e.operation,o=e.hideHostname,r=useState(!1),n=r[0],a=r[1],i=useContext(OptionsContext),
|
|
1
|
+
import React,{useState,useContext}from"react";import{OptionsContext}from"../../redoc-lib/src/components/OptionsProvider";import{StoreContext}from"../../redoc-lib/src/components/StoreBuilder";import{Console}from"../console/ConsoleLazy";import{CodePanel}from"../Panel";import{AnalyticsEventType}from"../../services/store-types";import{ServerList}from"./ServerList";import{Summary}from"./Summary";export var Endpoint=function(e){var t=e.operation,o=e.hideHostname,r=useState(!1),n=r[0],a=r[1],i=useContext(OptionsContext),s=useContext(StoreContext),l=function(){var e,o;a(!n),null===(o=null===(e=null==s?void 0:s.options.events)||void 0===e?void 0:e.tryItOpen)||void 0===o||o.call(e,{eventType:AnalyticsEventType.TryItOpen,resource:"Redocly_OperationTryIt",action:(null==s?void 0:s.options.unstable_tryItButtonOverride)?"NavigatedOverrideLink":"Opened",operationId:t.operationId,operationPath:t.path,operationHttpVerb:t.httpVerb,operationSummary:t.description})};return React.createElement(React.Fragment,null,n&&s?React.createElement(Console,{store:s,operation:t,onClose:l}):React.createElement(CodePanel,{header:function(e){var o=e.toggle,r=e.expanded,n=!!(null==s?void 0:s.options.showConsole)&&!t.hideTryItPanel;return React.createElement(Summary,{operation:t,expanded:r,toggle:o,showConsole:n,onToggleConsole:l,tryItOverride:null==s?void 0:s.options.unstable_tryItButtonOverride})},expanded:!1},React.createElement(ServerList,{servers:t.servers,path:t.path,expandVariables:i.expandDefaultServerVariables,hideHostname:o||i.hideHostname})))};
|
|
2
2
|
//# sourceMappingURL=Endpoint.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { ReactElement } from 'react';
|
|
2
2
|
import type { ServerListProps } from './types';
|
|
3
|
-
export declare const ServerList: ({
|
|
3
|
+
export declare const ServerList: ({ servers, path, expandVariables, hideHostname, }: ServerListProps) => ReactElement;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React,{Fragment}from"react";import{expandDefaultServerVariables,getBasePath}from"../../redoc-lib/src/utils";import{Markdown}from"../../redoc-lib/src/components/Markdown";import{CopyButtonWrapper}from"../../redoc-lib/src/common-elements/CopyButtonWrapper";import{DescriptionWrapper,ServerItem,ServerUrl}from"./styled";export var ServerList=function(e){var r=e.
|
|
1
|
+
import React,{Fragment}from"react";import{expandDefaultServerVariables,getBasePath}from"../../redoc-lib/src/utils";import{Markdown}from"../../redoc-lib/src/components/Markdown";import{CopyButtonWrapper}from"../../redoc-lib/src/common-elements/CopyButtonWrapper";import{DescriptionWrapper,ServerItem,ServerUrl}from"./styled";export var ServerList=function(e){var r=e.servers,t=e.path,a=e.expandVariables,n=e.hideHostname;return React.createElement(React.Fragment,null,r.map((function(e){var r=a?expandDefaultServerVariables(e.url,e.variables):e.url,o=getBasePath(r),c=(n?"/"===o?"":o:r)+t;return React.createElement(Fragment,{key:r},React.createElement(CopyButtonWrapper,{data:c},(function(r){var t=r.renderCopyButton;return React.createElement(ServerItem,null,React.createElement(DescriptionWrapper,null,React.createElement(Markdown,{source:e.description||"",compact:!0}),t("left")),React.createElement(ServerUrl,null,c))})))})))};
|
|
2
2
|
//# sourceMappingURL=ServerList.js.map
|
|
@@ -5,8 +5,7 @@ export interface EndpointProps {
|
|
|
5
5
|
hideHostname?: boolean;
|
|
6
6
|
compact?: boolean;
|
|
7
7
|
}
|
|
8
|
-
export interface ServerListProps {
|
|
9
|
-
operation: OperationModel;
|
|
8
|
+
export interface ServerListProps extends Pick<OperationModel, 'servers' | 'path'> {
|
|
10
9
|
expandVariables: boolean;
|
|
11
10
|
hideHostname: boolean;
|
|
12
11
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__makeTemplateObject}from"tslib";import styled from"../../redoc-lib/src/styled-components";import{FieldsGroupHeader,ShelfIcon}from"../../redoc-lib/src/common-elements/";import{Header}from"./Header";import{Title}from"./Title";import{Panel}from"./Panel";import{PanelBody}from"./PanelBody";export var ContentPanel=styled(Panel)(templateObject_1||(templateObject_1=__makeTemplateObject(["\n border: 1px solid ",";\n background: #ffffff;\n\n &:not(:last-child) {\n margin-bottom: 20px;\n }\n\n > "," {\n padding: ","px;\n font-size: 18px;\n line-height: 18px;\n font-weight: ",";\n background-color: ",";\n\n "," {\n margin-right: 8px;\n color: ",";\n }\n\n "," {\n fill: ",";\n }\n }\n\n "," {\n padding: ","px;\n }\n\n > "," + "," {\n padding-top: 1px; /* to prevent border overflow */\n }\n\n "," {\n > "," > div:first-child > & {\n margin-top: 0;\n }\n }\n"],["\n border: 1px solid ",";\n background: #ffffff;\n\n &:not(:last-child) {\n margin-bottom: 20px;\n }\n\n > "," {\n padding: ","px;\n font-size: 18px;\n line-height: 18px;\n font-weight: ",";\n background-color: ",";\n\n "," {\n margin-right: 8px;\n color: ",";\n }\n\n "," {\n fill: ",";\n }\n }\n\n "," {\n padding: ","px;\n }\n\n > "," + "," {\n padding-top: 1px; /* to prevent border overflow */\n }\n\n "," {\n > "," > div:first-child > & {\n margin-top: 0;\n }\n }\n"])),(function(n){return n.theme.colors.border.light}),Header,(function(n){return 4*n.theme.spacing.unit}),(function(n){return n.theme.typography.fontWeightBold}),(function(n){return n.theme.components.panels.backgroundColor}),Title,(function(n){return n.theme.
|
|
1
|
+
import{__makeTemplateObject}from"tslib";import styled from"../../redoc-lib/src/styled-components";import{FieldsGroupHeader,ShelfIcon}from"../../redoc-lib/src/common-elements/";import{Header}from"./Header";import{Title}from"./Title";import{Panel}from"./Panel";import{PanelBody}from"./PanelBody";import{Description}from"./Description";export var ContentPanel=styled(Panel)(templateObject_1||(templateObject_1=__makeTemplateObject(["\n border: 1px solid ",";\n background: #ffffff;\n\n &:not(:last-child) {\n margin-bottom: 20px;\n }\n\n > "," {\n padding: ","px;\n font-size: 18px;\n line-height: 18px;\n font-weight: ",";\n background-color: ",";\n\n "," {\n margin-right: 8px;\n font-size: ",";\n font-weight: ",";\n font-family: ",";\n line-height: ",";\n color: ",";\n transform: ",";\n }\n\n "," {\n font-size: ",";\n font-weight: ",";\n font-family: ",";\n line-height: ",";\n color: ",";\n transform: ",";\n }\n\n "," {\n fill: ",";\n }\n }\n\n "," {\n padding: ","px;\n }\n\n > "," + "," {\n padding-top: 1px; /* to prevent border overflow */\n }\n\n "," {\n > "," > div:first-child > & {\n margin-top: 0;\n }\n }\n"],["\n border: 1px solid ",";\n background: #ffffff;\n\n &:not(:last-child) {\n margin-bottom: 20px;\n }\n\n > "," {\n padding: ","px;\n font-size: 18px;\n line-height: 18px;\n font-weight: ",";\n background-color: ",";\n\n "," {\n margin-right: 8px;\n font-size: ",";\n font-weight: ",";\n font-family: ",";\n line-height: ",";\n color: ",";\n transform: ",";\n }\n\n "," {\n font-size: ",";\n font-weight: ",";\n font-family: ",";\n line-height: ",";\n color: ",";\n transform: ",";\n }\n\n "," {\n fill: ",";\n }\n }\n\n "," {\n padding: ","px;\n }\n\n > "," + "," {\n padding-top: 1px; /* to prevent border overflow */\n }\n\n "," {\n > "," > div:first-child > & {\n margin-top: 0;\n }\n }\n"])),(function(n){return n.theme.colors.border.light}),Header,(function(n){return 4*n.theme.spacing.unit}),(function(n){return n.theme.typography.fontWeightBold}),(function(n){return n.theme.components.panels.backgroundColor}),Title,(function(n){return n.theme.components.panels.title.fontSize}),(function(n){return n.theme.components.panels.title.fontWeight}),(function(n){return n.theme.components.panels.title.fontFamily}),(function(n){return n.theme.components.panels.title.lineHeight}),(function(n){return n.theme.components.panels.title.color}),(function(n){return n.theme.components.panels.title.transform}),Description,(function(n){return n.theme.components.panels.subTitle.fontSize}),(function(n){return n.theme.components.panels.subTitle.fontWeight}),(function(n){return n.theme.components.panels.subTitle.fontFamily}),(function(n){return n.theme.components.panels.subTitle.lineHeight}),(function(n){return n.theme.components.panels.subTitle.color}),(function(n){return n.theme.components.panels.subTitle.transform}),ShelfIcon,(function(n){return n.theme.components.panels.iconColor}),PanelBody,(function(n){return 4*n.theme.spacing.unit}),Header,PanelBody,FieldsGroupHeader,PanelBody);var templateObject_1;
|
|
2
2
|
//# sourceMappingURL=ContentPanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const Description: import("styled-components").StyledComponent<"span", import("../../services/extendTheme").ProTheme, {}, never>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{__makeTemplateObject}from"tslib";import styled from"../../redoc-lib/src/styled-components";export var Description=styled.span(templateObject_1||(templateObject_1=__makeTemplateObject(["\n font-size: 0.9em;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-weight: normal;\n"],["\n font-size: 0.9em;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-weight: normal;\n"])));var templateObject_1;
|
|
2
|
+
//# sourceMappingURL=Description.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React,{useEffect,useState}from"react";import{ShelfIcon}from"../../redoc-lib/src/common-elements";import{Header}from"./Header";import{Trigger}from"./Trigger";import{Title}from"./Title";import{PanelBody}from"./PanelBody";export function PanelComponent(e){var t=e.expanded,r=void 0===t||t,n=e.renderChildrenHidden,a=void 0!==n&&n,o=e.header,
|
|
1
|
+
import React,{useEffect,useState}from"react";import{ShelfIcon}from"../../redoc-lib/src/common-elements";import{Header}from"./Header";import{Trigger}from"./Trigger";import{Title}from"./Title";import{PanelBody}from"./PanelBody";import{Description}from"./Description";export function PanelComponent(e){var t=e.expanded,r=void 0===t||t,n=e.renderChildrenHidden,a=void 0!==n&&n,o=e.header,i=e.dataHeaderTestId,c=e.className,l=e.children,d=e.onToggle,m=e.description,f=useState(r),p=f[0],s=f[1],u=useState(!1),g=u[0],E=u[1],T=function(e){e.target instanceof HTMLAnchorElement||(E(!0),s(!p),null==d||d(!p))};return useEffect((function(){return s(r)}),[r]),React.createElement("div",{className:c},o&&("function"==typeof o?o({expanded:p,toggle:T}):React.createElement(Header,{"data-cy":i,onClick:T,isExpanded:p},React.createElement(Trigger,null,React.createElement(Title,null,o),React.createElement(ShelfIcon,{direction:p?"down":"right",mr:"10px"}),React.createElement(Description,null,m," ")))),(p||a)&&React.createElement(PanelBody,{hidden:!p,animate:g},l))}
|
|
2
2
|
//# sourceMappingURL=PanelComponent.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export*from"./Panel";export*from"./PanelComponent";export*from"./Trigger";export*from"./Header";export*from"./Title";export*from"./CodePanel";export*from"./CodeHeader";export*from"./ContentPanel";export*from"./ScrollableContentPanel";export*from"./ResponsePanel";export*from"./CallbackPanel";export*from"./Accordion";
|
|
1
|
+
export*from"./Panel";export*from"./PanelComponent";export*from"./Trigger";export*from"./Header";export*from"./Title";export*from"./Description";export*from"./CodePanel";export*from"./CodeHeader";export*from"./ContentPanel";export*from"./ScrollableContentPanel";export*from"./ResponsePanel";export*from"./CallbackPanel";export*from"./Accordion";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -6,7 +6,9 @@ interface SampleProps extends TabProps {
|
|
|
6
6
|
interface SamplesTabsProps extends TabsProps {
|
|
7
7
|
onChange?: (tab: TabProps) => void;
|
|
8
8
|
tabs: SampleProps[];
|
|
9
|
+
tabsKeys: string[];
|
|
9
10
|
defaultLanguage?: string;
|
|
11
|
+
id: string;
|
|
10
12
|
}
|
|
11
|
-
export declare const SamplesTabs: ({ children, onChange, defaultLanguage, ...props }: SamplesTabsProps) => JSX.Element;
|
|
13
|
+
export declare const SamplesTabs: ({ children, onChange, defaultLanguage, id, tabsKeys: keys, ...props }: SamplesTabsProps) => JSX.Element;
|
|
12
14
|
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__assign,__rest}from"tslib";import React,{useContext,useEffect,useState,
|
|
1
|
+
import{__assign,__rest}from"tslib";import React,{useContext,useEffect,useLayoutEffect,useState,useCallback}from"react";import{observer}from"mobx-react";import{CollapsingTabsBase}from"../Tabs";import{StoreContext}from"../../redoc-lib";import{WarnMessage}from"../shared";import{LoadingWrapper}from"./LoadingWrapper";export var SamplesTabs=observer((function(e){var t=e.children,a=e.onChange,n=e.defaultLanguage,o=e.id,r=e.tabsKeys,i=__rest(e,["children","onChange","defaultLanguage","id","tabsKeys"]),l=useContext(StoreContext),u=useState(n),s=u[0],d=u[1],c=useState(),g=c[0],m=c[1],f=useCallback((function(){var e=r.indexOf(s||(null==l?void 0:l.activeSampleLanguage)||"");return-1===e?0:e}),[r,s,null==l?void 0:l.activeSampleLanguage]);useLayoutEffect((function(){var e,t=null===(e=document.getElementById(o))||void 0===e?void 0:e.getBoundingClientRect().y;if(t&&g&&t!==g){var a=t-g;window.requestAnimationFrame((function(){return window.scrollBy(0,a)})),m(void 0)}}),[r,g,scroll]),useEffect((function(){return null==l?void 0:l.stopLoader()}),[null==l?void 0:l.activeSampleLanguage]),useEffect((function(){s&&(null==l||l.startLoader(),null==l||l.activateSampleLanguage(s))}),[s,n]);return React.createElement(LoadingWrapper,{className:s&&"updated",id:o},React.createElement(CollapsingTabsBase,__assign({},i,{activeIndex:f(),onChange:function(e){var t,n=i.tabs[e];m(null===(t=document.getElementById(o))||void 0===t?void 0:t.getBoundingClientRect().y),d(n.lang),a&&a(n)}}),n&&-1===r.indexOf(n)&&React.createElement(WarnMessage,null,"Provided language is not supported"),t))}));
|
|
2
2
|
//# sourceMappingURL=SamplesTabs.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import type { FormApi, FormState } from 'informed';
|
|
3
3
|
import type { OperationModel } from '../../redoc-lib';
|
|
4
|
-
import type { SecurityDetails } from '../../
|
|
4
|
+
import type { SecurityDetails } from '../../types';
|
|
5
5
|
import type { DropdownOption } from '../common/Dropdown';
|
|
6
6
|
export declare function requiredValidator(value: unknown): string | undefined;
|
|
7
7
|
export interface AuthPanelProps {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__assign,__extends}from"tslib";import*as React from"react";import{fromSessionStorage,getSecurityDetailsOptions,toSessionStorage,escapeFormId}from"../../utils";import{FormDropdown,FormTextField}from"../common/TextField";import{FormControl,FormLabel,FormWrapper}from"../common/form";import{l}from"../../redoc-lib/src/services/Labels";import{Dropdown}from"../common/Dropdown";import{OpenIDConnect}from"./OpenIDConnect";import{OAuth2Flow}from"./OAuth2Flow";import OAuth2TokenInput from"./OAuth2TokenInput";export function requiredValidator(e){if(!e)return"Field is required"}var getCookie=function(e){var t=document.cookie.match("\\b"+e+"=([^;]*)\\b");return t?t[1]:void 0};function fromCookie(e){if("cookie"===e.in)return getCookie(e.name)}var AuthPanel=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"state",{enumerable:!0,configurable:!0,writable:!0,value:{activeScheme:0}}),Object.defineProperty(t,"handleSchemeChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){t.setState({activeScheme:e.idx}),toSessionStorage("securityRequirementName",e.value)}}),t}return __extends(t,e),Object.defineProperty(t,"getDerivedStateFromProps",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=e.operation.security.map((function(e){return e.schemes.map((function(e){return e.id})).join(" and ")})),r=fromSessionStorage("securityRequirementName"),o=t.findIndex((function(e){return e===r}));return{activeScheme:o<0?0:o}}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=this.props.securityDefaults,r=this.state.activeScheme,o=this.props.operation.security,a=o.map((function(e){return e.schemes.map((function(e){return e.id})).join(" and ")})).map((function(e,t){return{value:e,idx:t}}));return 0===a.length?null:React.createElement(React.Fragment,null,React.createElement(FormWrapper,null,a.length>1&&React.createElement(FormControl,null,React.createElement(FormLabel,null," Security scheme: "),React.createElement(Dropdown,{variant:"dark",fullWidth:!0,options:a,value:a[r].value,onChange:this.handleSchemeChange}))||null,o[r].schemes.map((function(r){var o,a,n,i,u,s,c,m=escapeFormId(r.id);if("apiKey"===r.type){var d=getSecurityDetailsOptions(m,""),p={field:"auth."+m,fullWidth:!0,initialValue:fromCookie(r)||fromSessionStorage("auth."+m)||(null==t?void 0:t[m]),initValue:fromCookie(r)||fromSessionStorage("auth."+m)||(null==t?void 0:t[m]),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement(FormControl,{key:m},React.createElement(FormLabel,null," ",r.name,": "),d?React.createElement(FormDropdown,__assign({},p,{options:d})):React.createElement(FormTextField,__assign({},p,{type:"password","data-cy":"apiKey-auth-password"})))}if("http"===r.type){if("basic"===r.scheme){var f=getSecurityDetailsOptions(m,"username");p={field:"auth."+m+".username",fullWidth:!0,initialValue:fromSessionStorage("auth."+m+".username")||(null===(o=null==t?void 0:t[m])||void 0===o?void 0:o.username),initValue:fromSessionStorage("auth."+m+".username")||(null===(a=null==t?void 0:t[m])||void 0===a?void 0:a.username),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement(React.Fragment,{key:m},React.createElement(FormControl,null,React.createElement(FormLabel,null," ",l("tryItAuthBasicUsername"),": "),f?React.createElement(FormDropdown,__assign({},p,{options:f})):React.createElement(FormTextField,__assign({},p))),React.createElement(FormControl,null,React.createElement(FormLabel,null," ",l("tryItAuthBasicPassword"),": "),React.createElement(FormTextField,{type:"password","data-cy":"http-auth-password",fullWidth:!0,field:"auth."+m+".password",initialValue:fromSessionStorage("auth."+m+".password")||(null===(n=null==t?void 0:t[m])||void 0===n?void 0:n.password)||"",validateOnBlur:!0,validateOnChange:!0})))}if("bearer"===r.scheme){var h=getSecurityDetailsOptions(m,"");p={field:"auth."+m,fullWidth:!0,initialValue:fromSessionStorage("auth."+m)||(null==t?void 0:t[m]),initValue:fromSessionStorage("auth."+m)||(null==t?void 0:t[m]),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement(React.Fragment,{key:m},React.createElement(FormControl,null,React.createElement(FormLabel,null," Bearer Token: "),h?React.createElement(FormDropdown,__assign({},p,{options:h})):React.createElement(FormTextField,__assign({},p,{type:"password",placeholder:"(without 'Bearer')"}))))}}else{if("oauth2"===r.type&&r.flows&&r.flows.clientCredentials)return React.createElement(OAuth2TokenInput,{key:m,flow:r.flows.clientCredentials,server:e.props.activeServer,authCorsProxyUrl:e.props.authCorsProxyUrl,id:m,form:e.props.form,formApi:e.props.formApi,clientId:r.flows.clientCredentials["x-defaultClientId"]||r["x-defaultClientId"],defaultValues:null==t?void 0:t[m]});if("oauth2"===r.type&&r.flows&&r.flows.implicit)return React.createElement(OAuth2Flow,{key:m,authorizationUrl:r.flows.implicit.authorizationUrl,authCorsProxyUrl:e.props.authCorsProxyUrl,scopes:Object.keys((null===(u=null===(i=null==r?void 0:r.flows)||void 0===i?void 0:i.implicit)||void 0===u?void 0:u.scopes)||{}),server:e.props.activeServer,id:m,form:e.props.form,formApi:e.props.formApi,clientId:r.flows.implicit["x-defaultClientId"]||r["x-defaultClientId"],flow:"implicit",defaultValues:null==t?void 0:t[m]});if("oauth2"===r.type&&r.flows&&r.flows.authorizationCode)return React.createElement(OAuth2Flow,{key:m,authorizationUrl:r.flows.authorizationCode.authorizationUrl,tokenUrl:r.flows.authorizationCode.tokenUrl,authCorsProxyUrl:e.props.authCorsProxyUrl,scopes:Object.keys((null===(s=r.flows.authorizationCode)||void 0===s?void 0:s.scopes)||{}),server:e.props.activeServer,id:m,form:e.props.form,formApi:e.props.formApi,clientId:r.flows.authorizationCode["x-defaultClientId"]||r["x-defaultClientId"],flow:"authorizationCode",usePkce:r.flows.authorizationCode["x-usePkce"],defaultValues:null==t?void 0:t[m]});if("oauth2"===r.type){var v=fromSessionStorage("auth."+m+".token")||JSON.stringify(null===(c=null==t?void 0:t[m])||void 0===c?void 0:c.token);return v=v?JSON.parse(v):{},React.createElement(React.Fragment,{key:m},React.createElement(FormControl,null,React.createElement(FormLabel,null," Access Token Type: "),React.createElement(FormTextField,{fullWidth:!0,field:"auth."+m+".token.token_type",initialValue:v.token_type||"Bearer"})),React.createElement(FormControl,null,React.createElement(FormLabel,null," Access Token: "),React.createElement(FormTextField,{type:"password",fullWidth:!0,field:"auth."+m+".token.access_token",validate:requiredValidator,initialValue:v.access_token,validateOnBlur:!0,validateOnChange:!0})))}if("openIdConnect"===r.type)return React.createElement(OpenIDConnect,{key:m,server:e.props.activeServer,authCorsProxyUrl:e.props.authCorsProxyUrl,id:m,form:e.props.form,formApi:e.props.formApi,scheme:r,clientId:r["x-defaultClientId"],defaultValues:null==t?void 0:t[m]})}}))),React.createElement("small",null,React.createElement("strong",null,"Note"),": Your credentials will be saved until the end of the browser session"))}}),t}(React.Component);export{AuthPanel};
|
|
1
|
+
import{__assign,__extends}from"tslib";import*as React from"react";import{fromSessionStorage,getSecurityDetailsOptions,toSessionStorage,escapeFormId}from"../../utils";import{FormDropdown,FormTextField}from"../common/TextField";import{FormControl,FormLabel,FormWrapper}from"../common/form";import{l}from"../../redoc-lib/src/services/Labels";import{Dropdown}from"../common/Dropdown";import{OpenIDConnect}from"./OpenIDConnect";import{OAuth2Flow}from"./OAuth2Flow";import OAuth2TokenInput from"./OAuth2TokenInput";export function requiredValidator(e){if(!e)return"Field is required"}var getCookie=function(e){var t=document.cookie.match("\\b"+e+"=([^;]*)\\b");return t?t[1]:void 0};function fromCookie(e){if("cookie"===e.in)return getCookie(e.name)}var AuthPanel=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"state",{enumerable:!0,configurable:!0,writable:!0,value:{activeScheme:0}}),Object.defineProperty(t,"handleSchemeChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){t.setState({activeScheme:e.idx}),toSessionStorage("securityRequirementName",e.value)}}),t}return __extends(t,e),Object.defineProperty(t,"getDerivedStateFromProps",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=e.operation.security.map((function(e){return e.schemes.map((function(e){return e.id})).join(" and ")})),r=fromSessionStorage("securityRequirementName"),o=t.findIndex((function(e){return e===r}));return{activeScheme:o<0?0:o}}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=this.props.securityDefaults,r=this.state.activeScheme,o=this.props.operation.security,a=o.map((function(e){return e.schemes.map((function(e){return e.id})).join(" and ")})).map((function(e,t){return{value:e,idx:t}}));return 0===a.length?null:React.createElement(React.Fragment,null,React.createElement(FormWrapper,null,a.length>1&&React.createElement(FormControl,null,React.createElement(FormLabel,null," Security scheme: "),React.createElement(Dropdown,{variant:"dark",fullWidth:!0,options:a,value:a[r].value,onChange:this.handleSchemeChange}))||null,o[r].schemes.map((function(r){var o,a,n,i,u,s,c,m=escapeFormId(r.id);if("apiKey"===r.type){var d=getSecurityDetailsOptions(m,""),p={field:"auth."+m,fullWidth:!0,initialValue:fromCookie(r)||fromSessionStorage("auth."+m)||(null==t?void 0:t[m]),initValue:fromCookie(r)||fromSessionStorage("auth."+m)||(null==t?void 0:t[m]),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement(FormControl,{key:m},React.createElement(FormLabel,null," ",r.name,": "),d?React.createElement(FormDropdown,__assign({},p,{options:d})):React.createElement(FormTextField,__assign({},p,{type:"password","data-cy":"apiKey-auth-password"})))}if("http"===r.type){if("basic"===r.scheme){var f=getSecurityDetailsOptions(m,"username");p={field:"auth."+m+".username",fullWidth:!0,initialValue:fromSessionStorage("auth."+m+".username")||(null===(o=null==t?void 0:t[m])||void 0===o?void 0:o.username),initValue:fromSessionStorage("auth."+m+".username")||(null===(a=null==t?void 0:t[m])||void 0===a?void 0:a.username),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement(React.Fragment,{key:m},React.createElement(FormControl,null,React.createElement(FormLabel,null," ",l("tryItAuthBasicUsername"),": "),f?React.createElement(FormDropdown,__assign({},p,{options:f})):React.createElement(FormTextField,__assign({},p))),React.createElement(FormControl,null,React.createElement(FormLabel,null," ",l("tryItAuthBasicPassword"),": "),React.createElement(FormTextField,{type:"password","data-cy":"http-auth-password",fullWidth:!0,field:"auth."+m+".password",initialValue:fromSessionStorage("auth."+m+".password")||(null===(n=null==t?void 0:t[m])||void 0===n?void 0:n.password)||"",validateOnBlur:!0,validateOnChange:!0})))}if("bearer"===r.scheme){var h=getSecurityDetailsOptions(m,"");p={field:"auth."+m,fullWidth:!0,initialValue:fromSessionStorage("auth."+m)||(null==t?void 0:t[m]),initValue:fromSessionStorage("auth."+m)||(null==t?void 0:t[m]),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement(React.Fragment,{key:m},React.createElement(FormControl,null,React.createElement(FormLabel,null," Bearer Token: "),h?React.createElement(FormDropdown,__assign({},p,{options:h})):React.createElement(FormTextField,__assign({},p,{type:"password",placeholder:"(without 'Bearer')"}))))}}else{if("oauth2"===r.type&&r.flows&&r.flows.clientCredentials)return React.createElement(OAuth2TokenInput,{key:m,flow:r.flows.clientCredentials,server:e.props.activeServer,authCorsProxyUrl:e.props.authCorsProxyUrl,id:m,form:e.props.form,formApi:e.props.formApi,clientId:r.flows.clientCredentials["x-defaultClientId"]||r["x-defaultClientId"],defaultValues:null==t?void 0:t[m]});if("oauth2"===r.type&&r.flows&&r.flows.implicit)return React.createElement(OAuth2Flow,{key:m,authorizationUrl:r.flows.implicit.authorizationUrl,authCorsProxyUrl:e.props.authCorsProxyUrl,scopes:Object.keys((null===(u=null===(i=null==r?void 0:r.flows)||void 0===i?void 0:i.implicit)||void 0===u?void 0:u.scopes)||{}),server:e.props.activeServer,id:m,form:e.props.form,formApi:e.props.formApi,clientId:r.flows.implicit["x-defaultClientId"]||r["x-defaultClientId"],flow:"implicit",defaultValues:null==t?void 0:t[m]});if("oauth2"===r.type&&r.flows&&r.flows.authorizationCode)return React.createElement(OAuth2Flow,{key:m,authorizationUrl:r.flows.authorizationCode.authorizationUrl,tokenUrl:r.flows.authorizationCode.tokenUrl,authCorsProxyUrl:e.props.authCorsProxyUrl,scopes:Object.keys((null===(s=r.flows.authorizationCode)||void 0===s?void 0:s.scopes)||{}),server:e.props.activeServer,id:m,form:e.props.form,formApi:e.props.formApi,clientId:r.flows.authorizationCode["x-defaultClientId"]||r["x-defaultClientId"],flow:"authorizationCode",tokenEndpointAuthMethod:r.flows.authorizationCode["x-tokenEndpointAuthMethod"],usePkce:r.flows.authorizationCode["x-usePkce"],defaultValues:null==t?void 0:t[m]});if("oauth2"===r.type){var v=fromSessionStorage("auth."+m+".token")||JSON.stringify(null===(c=null==t?void 0:t[m])||void 0===c?void 0:c.token);return v=v?JSON.parse(v):{},React.createElement(React.Fragment,{key:m},React.createElement(FormControl,null,React.createElement(FormLabel,null," Access Token Type: "),React.createElement(FormTextField,{fullWidth:!0,field:"auth."+m+".token.token_type",initialValue:v.token_type||"Bearer"})),React.createElement(FormControl,null,React.createElement(FormLabel,null," Access Token: "),React.createElement(FormTextField,{type:"password",fullWidth:!0,field:"auth."+m+".token.access_token",validate:requiredValidator,initialValue:v.access_token,validateOnBlur:!0,validateOnChange:!0})))}if("openIdConnect"===r.type)return React.createElement(OpenIDConnect,{key:m,server:e.props.activeServer,authCorsProxyUrl:e.props.authCorsProxyUrl,id:m,form:e.props.form,formApi:e.props.formApi,scheme:r,clientId:r["x-defaultClientId"],defaultValues:null==t?void 0:t[m]})}}))),React.createElement("small",null,React.createElement("strong",null,"Note"),": Your credentials will be saved until the end of the browser session"))}}),t}(React.Component);export{AuthPanel};
|
|
2
2
|
//# sourceMappingURL=AuthPanel.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import type { FormApi, FormState } from 'informed';
|
|
3
|
-
import type { SecurityDetails } from '../../
|
|
3
|
+
import type { SecurityDetails } from '../../types';
|
|
4
4
|
import type { ProStore } from '../../services';
|
|
5
5
|
import type { OperationModel, Server } from '../../redoc-lib';
|
|
6
6
|
import type { OpenApiResponseData } from './ResponsePanel';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__assign,__awaiter,__decorate,__extends,__generator,__rest}from"tslib";import*as React from"react";import{Form,useField}from"informed";import{observer}from"mobx-react";import Swagger from"swagger-client";import{get,useDimensions,unescapeFormId}from"../../utils";import{AnalyticsEventType}from"../../services";import{JsonPointer}from"../../redoc-lib";import{RenderHook}from"../../redoc-lib/src/components/RenderHook";import{l}from"../../redoc-lib/src/services/Labels";import{CodeHeader,Accordion}from"../Panel";import{OAuth2}from"../../services/OAuth2";import{isFileUploadMime}from"../common/FileUpload/helper";import{OperationParameters}from"../OperationParameters";import{getFileNameFromHeaders,getParameters,makeRequestInterceptor,unescapeQueryParams,updateStorage}from"./utils";import{AuthPanel,requiredValidator}from"./AuthPanel";import{ConsoleBadges}from"./ConsoleBadges";import{RequestBody}from"./RequestBody";import{ResponsePanel}from"./ResponsePanel";import{ActionPanel}from"./ActionPanel";import{ServerChooser}from"./ServerDropdown";import{TryItPanel}from"./TryItPanel";import{CloseButton,ConsoleBody,ConsoleWrap}from"./styled";function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}var flexColumn={flex:1,display:"flex",flexDirection:"column"},Console=function(e){function t(t){var r=e.call(this,t)||this;return Object.defineProperty(r,"formApi",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"setFormApi",{enumerable:!0,configurable:!0,writable:!0,value:function(e,t){void 0===t&&(t=e.getState());var o=t.values,a=__rest(t,["values"]);r.formApi=e,setTimeout((function(){var e=__assign(__assign({},a),{values:__assign(__assign({},o),{query:unescapeQueryParams(o.query||{})})});r.setState({form:e})}),0)}}),Object.defineProperty(r,"handleChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var t=e.values,o=__rest(e,["values"]),a=__assign(__assign({},o),{values:__assign(__assign({},t),{query:unescapeQueryParams(t.query||{})})});r.setState({form:a}),updateStorage(a),r.props.operation.setRequestValues(t)}}),Object.defineProperty(r,"handleTabChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.setState({activeTab:e})}}),Object.defineProperty(r,"handleServerChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.setState({server:e}),r.props.operation.setActiveServer(e)}}),Object.defineProperty(r,"handleExecute",{enumerable:!0,configurable:!0,writable:!0,value:function(){return __awaiter(r,void 0,void 0,(function(){var e,t,r,o,a,n,s,i,l,u,c,p,d,m,h,v,g,f,y,_,b,P,R,S,C,w,A,E,I,k,q,T,O,F,B,x,H,j,V,D,U=this;return __generator(this,(function(N){switch(N.label){case 0:if(e=this.props,t=e.store,r=e.operation,o=e.onResponse,a=this.state.form,n=a.values,s=a.invalid,this.formApi.submitForm(),s)return this.setState({shaking:!0}),setTimeout((function(){return U.setState({shaking:!1})}),1e3),null===(B=null===(F=null==t?void 0:t.options.events)||void 0===F?void 0:F.tryItSent)||void 0===B||B.call(F,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"ValidationFailed",operationId:r.operationId,operationPath:r.path,operationHttpVerb:r.httpVerb,operationSummary:r.description}),[2];if(i=this.props.operation.requestBody,l=i&&i.content&&i.content.active&&i.content.active.name||"",u=n.body,/json/.test(l))try{u=JSON.parse(u)}catch(e){console.error(e)}if(this.setState({loading:!0}),c=this.state.resolvedRawSpec,p=(r.httpVerb||"").toLowerCase(),!(d=get(c,["paths",r.path,p,"servers"])||get(c,["paths",r.path,"servers"])||get(c,["servers"])))throw console.error("Servers are not specified in your OpenAPI file. You can't use Try It Out console without specifying servers. If you use OpenAPI 2, make sure you configured host and basepath"),new Error("Servers are not specified");m=d.find((function(e){return U.state.server.url.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url)})),h=Date.now(),v=!!window.document.documentMode,f=n.auth,n.auth?(y=Object.keys(n.auth)[0],_=unescapeFormId(y),g=__assign(__assign({},c),{components:__assign(__assign({},c.components),{securitySchemes:__assign(__assign({},c.components.securitySchemes),(k={},k[_]=__assign(__assign({},c.components.securitySchemes[_]),{type:"openIdConnect"===c.components.securitySchemes[_].type?"oauth2":c.components.securitySchemes[_].type}),k))})}),f=__assign(__assign({},f),((q={})[_]=f[y],q))):g=__assign({},c),(b=t.options.corsProxyUrl)&&d.length&&(g.servers=d.map((function(e){return __assign(__assign({},e),{url:b+normalizeUrlProtocol(e.url)})})),g.paths=__assign(__assign({},g.paths),((T={})[r.path]=__assign(__assign({},g.paths[r.path]),((O={})[p]=__assign(__assign({},g.paths[r.path][p]),{servers:void 0}),O.servers=void 0,O)),T))),(P=(null===(H=null===(x=null==i?void 0:i.content)||void 0===x?void 0:x.active)||void 0===H?void 0:H.name)||null)&&u&&isFileUploadMime(P)&&(R=Object.values(u),u=R.length>1?R:R[0]),S={userFetch:v&&require("cross-fetch").fetch,server:b?b+normalizeUrlProtocol(m.url):m.url,serverVariables:this.state.server.variables,spec:g,pathName:r.path,method:r.httpVerb,parameters:__assign(__assign(__assign(__assign({},n.path),n.query),n.header),n.cookie),securities:{authorized:f},requestBody:u,requestContentType:P,responseContentType:(null===(j=n.header)||void 0===j?void 0:j.Accept)||null,requestInterceptor:makeRequestInterceptor(t.options,r,null==f?void 0:f.Authorization)},N.label=1;case 1:return N.trys.push([1,5,8,9]),[4,Swagger.execute(S)];case 2:return C=N.sent(),(w=null==C?void 0:C.data)instanceof Blob?(isFileUploadMime(w.type)&&(C.fileInfo={rawData:w,fileName:getFileNameFromHeaders(C.headers)}),A=C,[4,w.text()]):[3,4];case 3:A.data=N.sent(),N.label=4;case 4:return null==o||o({request:S,response:C}),this.setState({response:C,error:void 0}),[3,9];case 5:return(E=N.sent())&&E.response&&E.response.data instanceof Blob?(I=E.response,[4,E.response.data.text()]):[3,7];case 6:I.data=N.sent(),null==o||o({request:S,response:E.response}),N.label=7;case 7:return this.setState({response:void 0,error:E}),[3,9];case 8:return this.setState({loading:!1,activeTab:1,time:Date.now()-h}),null===(D=null===(V=null==t?void 0:t.options.events)||void 0===V?void 0:V.tryItSent)||void 0===D||D.call(V,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"Sent",operationId:r.operationId,operationPath:r.path,operationHttpVerb:r.httpVerb,operationSummary:r.description}),[7];case 9:return[2]}}))}))}}),r.state={form:{values:{path:getParameters(t.operation.parameters,"path"),cookie:getParameters(t.operation.parameters,"cookie"),header:getParameters(t.operation.parameters,"header"),query:getParameters(t.operation.parameters,"query")}},shaking:!1,loading:!1,activeTab:0,server:{}},r}return __extends(t,e),Object.defineProperty(t.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){return __awaiter(this,void 0,void 0,(function(){var e,t,r,o;return __generator(this,(function(a){switch(a.label){case 0:return e=this.props,t=e.store,r=e.operation,[4,t.dereferenceSpecForTryIt(r)];case 1:return o=a.sent(),this.setState({resolvedRawSpec:o}),this.formApi.setValues({}),[2]}}))}))}}),Object.defineProperty(t.prototype,"componentDidUpdate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){e.operation!==this.props.operation&&this.setState({response:void 0,error:void 0,activeTab:0})}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.props,t=e.operation,r=e.className,o=e.rootElement,a=this.state,n=a.shaking,s=a.activeTab,i=a.form,l=a.response,u=a.loading,c=a.error,p=!(!l&&!c);return React.createElement(ConsoleWrapHook,{shaking:n,className:r,rootElement:o},React.createElement(CodeHeader,null,React.createElement(ConsoleBadges,{active:s,hasResponse:p,onChange:this.handleTabChange}),this.props.onClose&&React.createElement(CloseButton,{onClick:this.props.onClose}," ✕ ")),React.createElement(ConsoleBody,{hidden:0!==s},this.renderRequest()),React.createElement(ConsoleBody,{hidden:1!==s},this.renderResponse()),React.createElement(ActionPanel,{hasResponse:p,params:i.values,operation:t,loading:u,execute:this.handleExecute}))}}),Object.defineProperty(t.prototype,"renderRequest",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e,t=this.props,r=t.operation,o=t.store,a=t.properties,n=t.securityDefaults,s=this.state,i=s.form,u=s.resolvedRawSpec,c=s.server,p=i.errors||{},d=p.path||p.cookie||p.header||p.query,m=u&&JsonPointer.get(u,r.pointer),h=i.values&&i.values.auth&&Object.keys(i.values.auth)[0];h&&i.values.auth[h]||(h=void 0),!h||void 0===i.values.auth[h].token&&void 0===i.values.auth[h].client_id&&void 0===i.values.auth[h].client_secret||i.values.auth[h].token&&i.values.auth[h].token.access_token||(h=void 0),h&&null!=i.values.auth[h].username&&(i.values.auth[h].username&&i.values.auth[h].password||(h=void 0));var v=r.parameters||[],g=null===(e=null==o?void 0:o.options.hooks)||void 0===e?void 0:e.ReplaceTryItSecurityPanel;return!u&&React.createElement(React.Fragment,null,"Loading...")||React.createElement(React.Fragment,null,React.createElement(Form,{onChange:this.handleChange,getApi:this.setFormApi,style:__assign(__assign({},flexColumn),{margin:0})},React.createElement(Accordion,{initialActiveIdx:r.security.length&&h?1:0},r.security.length&&React.createElement(TryItPanel,{header:l("tryItAuth"),"data-cy":"security-trigger",renderChildrenHidden:!0,error:!h&&!!p.auth,success:!!h},g?React.createElement(AuthPanelHook,{field:"auth",validate:requiredValidator},(function(e){return React.createElement(RenderHook,{Hook:g,props:{server:c,operation:r,onChange:e,OAuth2:OAuth2}})})):React.createElement(AuthPanel,{formApi:this.formApi,form:i,operation:r,activeServer:c.url,authCorsProxyUrl:o.options.authCorsProxyUrl,securityDefaults:n}))||null,r.requestBody&&React.createElement(TryItPanel,{header:l("tryItBody"),"data-cy":"body-trigger",renderChildrenHidden:!0,error:!!p.body},React.createElement(RequestBody,{validate:allowBodyErrors,console:this,body:r.requestBody,id:r.id,resolvedBody:m.requestBody,properties:a}))||null,v.length&&React.createElement(TryItPanel,{header:l("tryItParameters"),"data-cy":"parameters-trigger",error:d,renderChildrenHidden:!0},React.createElement(OperationParameters,{operation:r,values:i.values,errors:i.errors||{}}))||null)),React.createElement(ServerChooser,{operation:r,onChange:this.handleServerChange}))}}),Object.defineProperty(t.prototype,"renderResponse",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.state,t=e.response,r=e.error,o=e.time;return React.createElement(ResponsePanel,{response:t,error:r,time:o})}}),t=__decorate([observer],t)}(React.Component);export{Console};function allowBodyErrors(){}function ConsoleWrapHook(e){var t=e.shaking,r=e.className,o=e.children,a=e.rootElement,n=useDimensions(a)[0];return React.createElement(ConsoleWrap,{shaking:t,className:r,"data-cy":"console",fullWidth:null==n?void 0:n.width},o)}function AuthPanelHook(e){var t=useField(__assign({},e)),r=t.fieldApi,o=t.render,a=t.userProps,n=r.setValue,s=a.children;return o(React.createElement(React.Fragment,null,s(n)))}
|
|
1
|
+
import{__assign,__awaiter,__decorate,__extends,__generator,__rest}from"tslib";import*as React from"react";import{Form,useField}from"informed";import{observer}from"mobx-react";import Swagger from"swagger-client";import{get,unescapeFormId}from"../../utils";import{useDimensions}from"../../hooks";import{AnalyticsEventType}from"../../services";import{JsonPointer}from"../../redoc-lib";import{RenderHook}from"../../redoc-lib/src/components/RenderHook";import{l}from"../../redoc-lib/src/services/Labels";import{CodeHeader,Accordion}from"../Panel";import{OAuth2}from"../../services/OAuth2";import{isFileUploadMime}from"../common/FileUpload/helper";import{OperationParameters}from"../OperationParameters";import{getFileNameFromHeaders,getParameters,makeRequestInterceptor,unescapeQueryParams,updateStorage}from"./utils";import{AuthPanel,requiredValidator}from"./AuthPanel";import{ConsoleBadges}from"./ConsoleBadges";import{RequestBody}from"./RequestBody";import{ResponsePanel}from"./ResponsePanel";import{ActionPanel}from"./ActionPanel";import{ServersDropdown}from"./ServersDropdown";import{TryItPanel}from"./TryItPanel";import{CloseButton,ConsoleBody,ConsoleWrap}from"./styled";function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}var flexColumn={flex:1,display:"flex",flexDirection:"column"},Console=function(e){function t(t){var r=e.call(this,t)||this;return Object.defineProperty(r,"formApi",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"setFormApi",{enumerable:!0,configurable:!0,writable:!0,value:function(e,t){void 0===t&&(t=e.getState());var o=t.values,a=__rest(t,["values"]);r.formApi=e,setTimeout((function(){var e=__assign(__assign({},a),{values:__assign(__assign({},o),{query:unescapeQueryParams(o.query||{})})});r.setState({form:e})}),0)}}),Object.defineProperty(r,"handleChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var t=e.values,o=__rest(e,["values"]),a=__assign(__assign({},o),{values:__assign(__assign({},t),{query:unescapeQueryParams(t.query||{})})});r.setState({form:a}),updateStorage(a),r.props.operation.setRequestValues(t)}}),Object.defineProperty(r,"handleTabChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.setState({activeTab:e})}}),Object.defineProperty(r,"handleServerChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.setState({server:e}),r.props.operation.setActiveServer(e)}}),Object.defineProperty(r,"handleExecute",{enumerable:!0,configurable:!0,writable:!0,value:function(){return __awaiter(r,void 0,void 0,(function(){var e,t,r,o,a,n,s,i,l,u,c,p,d,m,h,v,g,y,f,_,b,P,R,S,C,w,A,E,I,k,q,T,O,B,F,x,H,j,D,V,U=this;return __generator(this,(function(N){switch(N.label){case 0:if(e=this.props,t=e.store,r=e.operation,o=e.onResponse,a=this.state.form,n=a.values,s=a.invalid,this.formApi.submitForm(),s)return this.setState({shaking:!0}),setTimeout((function(){return U.setState({shaking:!1})}),1e3),null===(F=null===(B=null==t?void 0:t.options.events)||void 0===B?void 0:B.tryItSent)||void 0===F||F.call(B,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"ValidationFailed",operationId:r.operationId,operationPath:r.path,operationHttpVerb:r.httpVerb,operationSummary:r.description}),[2];if(i=this.props.operation.requestBody,l=i&&i.content&&i.content.active&&i.content.active.name||"",u=n.body,/json/.test(l))try{u=JSON.parse(u)}catch(e){console.error(e)}if(this.setState({loading:!0}),c=this.state.resolvedRawSpec,p=(r.httpVerb||"").toLowerCase(),!(d=get(c,["paths",r.path,p,"servers"])||get(c,["paths",r.path,"servers"])||get(c,["servers"])))throw console.error("Servers are not specified in your OpenAPI file. You can't use Try It Out console without specifying servers. If you use OpenAPI 2, make sure you configured host and basepath"),new Error("Servers are not specified");m=d.find((function(e){return U.state.server.url.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url)})),h=Date.now(),v=!!window.document.documentMode,y=n.auth,n.auth?(f=Object.keys(n.auth)[0],_=unescapeFormId(f),g=__assign(__assign({},c),{components:__assign(__assign({},c.components),{securitySchemes:__assign(__assign({},c.components.securitySchemes),(k={},k[_]=__assign(__assign({},c.components.securitySchemes[_]),{type:"openIdConnect"===c.components.securitySchemes[_].type?"oauth2":c.components.securitySchemes[_].type}),k))})}),y=__assign(__assign({},y),((q={})[_]=y[f],q))):g=__assign({},c),(b=t.options.corsProxyUrl)&&d.length&&(g.servers=d.map((function(e){return __assign(__assign({},e),{url:b+normalizeUrlProtocol(e.url)})})),g.paths=__assign(__assign({},g.paths),((T={})[r.path]=__assign(__assign({},g.paths[r.path]),((O={})[p]=__assign(__assign({},g.paths[r.path][p]),{servers:void 0}),O.servers=void 0,O)),T))),(P=(null===(H=null===(x=null==i?void 0:i.content)||void 0===x?void 0:x.active)||void 0===H?void 0:H.name)||null)&&u&&isFileUploadMime(P)&&(R=Object.values(u),u=R.length>1?R:R[0]),S={userFetch:v&&require("cross-fetch").fetch,server:b?b+normalizeUrlProtocol(m.url):m.url,serverVariables:this.state.server.variables,spec:g,pathName:r.path,method:r.httpVerb,parameters:__assign(__assign(__assign(__assign({},n.path),n.query),n.header),n.cookie),securities:{authorized:y},requestBody:u,requestContentType:P,responseContentType:(null===(j=n.header)||void 0===j?void 0:j.Accept)||null,requestInterceptor:makeRequestInterceptor(t.options,r,null==y?void 0:y.Authorization)},N.label=1;case 1:return N.trys.push([1,5,8,9]),[4,Swagger.execute(S)];case 2:return C=N.sent(),(w=null==C?void 0:C.data)instanceof Blob?(isFileUploadMime(w.type)&&(C.fileInfo={rawData:w,fileName:getFileNameFromHeaders(C.headers)}),A=C,[4,w.text()]):[3,4];case 3:A.data=N.sent(),N.label=4;case 4:return null==o||o({request:S,response:C}),this.setState({response:C,error:void 0}),[3,9];case 5:return(E=N.sent())&&E.response&&E.response.data instanceof Blob?(I=E.response,[4,E.response.data.text()]):[3,7];case 6:I.data=N.sent(),null==o||o({request:S,response:E.response}),N.label=7;case 7:return this.setState({response:void 0,error:E}),[3,9];case 8:return this.setState({loading:!1,activeTab:1,time:Date.now()-h}),null===(V=null===(D=null==t?void 0:t.options.events)||void 0===D?void 0:D.tryItSent)||void 0===V||V.call(D,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"Sent",operationId:r.operationId,operationPath:r.path,operationHttpVerb:r.httpVerb,operationSummary:r.description}),[7];case 9:return[2]}}))}))}}),r.state={form:{values:{path:getParameters(t.operation.parameters,"path"),cookie:getParameters(t.operation.parameters,"cookie"),header:getParameters(t.operation.parameters,"header"),query:getParameters(t.operation.parameters,"query")}},shaking:!1,loading:!1,activeTab:0,server:{}},r}return __extends(t,e),Object.defineProperty(t.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){return __awaiter(this,void 0,void 0,(function(){var e,t,r,o;return __generator(this,(function(a){switch(a.label){case 0:return e=this.props,t=e.store,r=e.operation,[4,t.dereferenceSpecForTryIt(r)];case 1:return o=a.sent(),this.setState({resolvedRawSpec:o}),this.formApi.setValues({}),[2]}}))}))}}),Object.defineProperty(t.prototype,"componentDidUpdate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){e.operation!==this.props.operation&&this.setState({response:void 0,error:void 0,activeTab:0})}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.props,t=e.operation,r=e.className,o=e.rootElement,a=this.state,n=a.shaking,s=a.activeTab,i=a.form,l=a.response,u=a.loading,c=a.error,p=!(!l&&!c);return React.createElement(ConsoleWrapHook,{shaking:n,className:r,rootElement:o},React.createElement(CodeHeader,null,React.createElement(ConsoleBadges,{active:s,hasResponse:p,onChange:this.handleTabChange}),this.props.onClose&&React.createElement(CloseButton,{onClick:this.props.onClose}," ✕ ")),React.createElement(ConsoleBody,{hidden:0!==s,"data-cy":"console-request-body"},this.renderRequest()),React.createElement(ConsoleBody,{hidden:1!==s,"data-cy":"console-response-body"},this.renderResponse()),React.createElement(ActionPanel,{hasResponse:p,params:i.values,operation:t,loading:u,execute:this.handleExecute}))}}),Object.defineProperty(t.prototype,"renderRequest",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e,t=this.props,r=t.operation,o=t.store,a=t.properties,n=t.securityDefaults,s=this.state,i=s.form,u=s.resolvedRawSpec,c=s.server,p=i.errors||{},d=p.path||p.cookie||p.header||p.query,m=u&&JsonPointer.get(u,r.pointer),h=i.values&&i.values.auth&&Object.keys(i.values.auth)[0];h&&i.values.auth[h]||(h=void 0),!h||void 0===i.values.auth[h].token&&void 0===i.values.auth[h].client_id&&void 0===i.values.auth[h].client_secret||i.values.auth[h].token&&i.values.auth[h].token.access_token||(h=void 0),h&&null!=i.values.auth[h].username&&(i.values.auth[h].username&&i.values.auth[h].password||(h=void 0));var v=r.parameters||[],g=null===(e=null==o?void 0:o.options.hooks)||void 0===e?void 0:e.ReplaceTryItSecurityPanel;return!u&&React.createElement(React.Fragment,null,"Loading...")||React.createElement(Form,{onChange:this.handleChange,getApi:this.setFormApi,style:__assign(__assign({},flexColumn),{margin:0})},React.createElement(ServersDropdown,{operation:r,onChange:this.handleServerChange}),React.createElement(Accordion,{initialActiveIdx:r.security.length&&h?1:0},r.security.length&&React.createElement(TryItPanel,{header:l("tryItAuth"),"data-cy":"security-trigger",renderChildrenHidden:!0,error:!h&&!!p.auth,success:!!h},g?React.createElement(AuthPanelHook,{field:"auth",validate:requiredValidator},(function(e){return React.createElement(RenderHook,{Hook:g,props:{server:c,operation:r,onChange:e,OAuth2:OAuth2}})})):React.createElement(AuthPanel,{formApi:this.formApi,form:i,operation:r,activeServer:c.url,authCorsProxyUrl:o.options.authCorsProxyUrl,securityDefaults:n}))||null,r.requestBody&&React.createElement(TryItPanel,{header:l("tryItBody"),"data-cy":"body-trigger",renderChildrenHidden:!0,error:!!p.body},React.createElement(RequestBody,{validate:allowBodyErrors,console:this,body:r.requestBody,id:r.id,resolvedBody:m.requestBody,properties:a}))||null,v.length&&React.createElement(TryItPanel,{header:l("tryItParameters"),"data-cy":"parameters-trigger",error:d,renderChildrenHidden:!0},React.createElement(OperationParameters,{operation:r,values:i.values,errors:i.errors||{}}))||null))}}),Object.defineProperty(t.prototype,"renderResponse",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.state,t=e.response,r=e.error,o=e.time;return React.createElement(ResponsePanel,{response:t,error:r,time:o})}}),t=__decorate([observer],t)}(React.Component);export{Console};function allowBodyErrors(){}function ConsoleWrapHook(e){var t=e.shaking,r=e.className,o=e.children,a=e.rootElement,n=useDimensions(a)[0];return React.createElement(ConsoleWrap,{shaking:t,className:r,"data-cy":"console",fullWidth:null==n?void 0:n.width},o)}function AuthPanelHook(e){var t=useField(__assign({},e)),r=t.fieldApi,o=t.render,a=t.userProps,n=r.setValue,s=a.children;return o(React.createElement(React.Fragment,null,s(n)))}
|
|
2
2
|
//# sourceMappingURL=Console.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__assign,__awaiter,__generator}from"tslib";import*as React from"react";import{useDimensions}from"../../
|
|
1
|
+
import{__assign,__awaiter,__generator}from"tslib";import*as React from"react";import{useDimensions}from"../../hooks";import{CodeHeader}from"../Panel";import{ConsoleWrap}from"./styled";export function Console(e){var o=this,t=React.useState({}),n=t[0],r=t[1],a=useDimensions(e.rootElement)[0];return React.useEffect((function(){__awaiter(o,void 0,void 0,(function(){var e;return __generator(this,(function(o){switch(o.label){case 0:return[4,import("./Console")];case 1:return e=o.sent(),r({Console:e.Console}),[2]}}))}))}),[]),n.Console?React.createElement(n.Console,__assign({},e)):React.createElement(ConsoleWrap,{className:e.className,fullWidth:null==a?void 0:a.width},React.createElement(CodeHeader,null,"Loading..."))}
|
|
2
2
|
//# sourceMappingURL=ConsoleLazy.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import type { FormApi, FormState } from 'informed';
|
|
3
3
|
import type { InputActionButtonProps } from '../common/TextField';
|
|
4
|
-
import type { SecurityDetails } from '../../
|
|
4
|
+
import type { SecurityDetails } from '../../types';
|
|
5
5
|
import type { RedocProNormalizedOptions } from '../../services';
|
|
6
6
|
export interface OAuth2FlowProps {
|
|
7
7
|
authorizationUrl: string;
|
|
@@ -17,6 +17,7 @@ export interface OAuth2FlowProps {
|
|
|
17
17
|
form: FormState;
|
|
18
18
|
formApi: FormApi;
|
|
19
19
|
flow: 'implicit' | 'authorizationCode';
|
|
20
|
+
tokenEndpointAuthMethod?: string | string[];
|
|
20
21
|
clientId?: string;
|
|
21
22
|
defaultValues?: SecurityDetails;
|
|
22
23
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__assign,__awaiter,__extends,__generator,__makeTemplateObject}from"tslib";import*as React from"react";import{styled,OptionsContext}from"../../redoc-lib";import{LinearProgress}from"../common/LinearProgress";import{FormControl,FormLabel,FormError,FormWrapper,FormWarning}from"../common/form";import{FormDropdown,FormTextField,TextField}from"../common/TextField";import{Checkbox}from"../common/Checkbox";import{Button}from"../shared";import{OAuth2,deriveCodeChallenge}from"../../services/OAuth2";import{fromSessionStorage,getSecurityDetailsOptions}from"../../utils";import{isEmptyObject,randString}from"../../services/utils";import{normalizeUrlProtocol}from"./utils";import Scope from"./Scope";function requiredValidator(e){if(!e)return"Field is required"}var OAuth2Flow=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"state",{enumerable:!0,configurable:!0,writable:!0,value:{error:null,loading:!1,showPkceOptions:!1}}),Object.defineProperty(t,"clearToken",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.props.formApi.setValue("auth."+t.props.id+".token","")}}),Object.defineProperty(t,"togglePkceOptions",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.setState((function(e){return{showPkceOptions:!e.showPkceOptions}}))}}),Object.defineProperty(t,"handleCodeVerifierChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var r=e.target.value;return __awaiter(t,void 0,void 0,(function(){var e;return __generator(this,(function(t){switch(t.label){case 0:return[4,deriveCodeChallenge(r)];case 1:return e=t.sent(),this.setState({codeVerifier:r,validCodeChallenge:e}),[2]}}))}))}}),t}return __extends(t,e),Object.defineProperty(t.prototype,"values",{get:function(){var e,t;return(null===(t=null===(e=this.props.form.values)||void 0===e?void 0:e.auth)||void 0===t?void 0:t[this.props.id])||{}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"errors",{get:function(){var e,t;return(null===(t=null===(e=this.props.form.errors)||void 0===e?void 0:e.auth)||void 0===t?void 0:t[this.props.id])||{}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"pkceInputActionButtonProps",{get:function(){var e=this;if(void 0!==this.state.codeVerifier&&this.state.codeChallenge!==this.state.validCodeChallenge)return{label:"sync",onClick:function(){e.state.codeVerifier&&e.setState({codeChallenge:e.state.validCodeChallenge})}}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this;if(this.props.usePkce){var t=randString(43);deriveCodeChallenge(t).then((function(r){e.setState({codeVerifier:t,codeChallenge:r,validCodeChallenge:r})}))}}}),Object.defineProperty(t.prototype,"handleAuthorize",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;if(e){this.props.formApi.validate();var r=this.props,n=r.flow,o=r.usePkce,a=r.id,l=r.tokenUrl,i=r.authCorsProxyUrl;if(isEmptyObject(this.errors)){this.setState({loading:!0,error:null});var
|
|
1
|
+
import{__assign,__awaiter,__extends,__generator,__makeTemplateObject}from"tslib";import*as React from"react";import{styled,OptionsContext}from"../../redoc-lib";import{LinearProgress}from"../common/LinearProgress";import{FormControl,FormLabel,FormError,FormWrapper,FormWarning}from"../common/form";import{FormDropdown,FormTextField,TextField}from"../common/TextField";import{Checkbox}from"../common/Checkbox";import{Button}from"../shared";import{OAuth2,deriveCodeChallenge}from"../../services/OAuth2";import{fromSessionStorage,getSecurityDetailsOptions}from"../../utils";import{isEmptyObject,randString}from"../../services/utils";import{getOAuth2TokenEndpointAuthHeader,normalizeUrlProtocol,validateTokenEndpointMethod}from"./utils";import Scope from"./Scope";function requiredValidator(e){if(!e)return"Field is required"}var OAuth2Flow=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"state",{enumerable:!0,configurable:!0,writable:!0,value:{error:null,loading:!1,showPkceOptions:!1}}),Object.defineProperty(t,"clearToken",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.props.formApi.setValue("auth."+t.props.id+".token","")}}),Object.defineProperty(t,"togglePkceOptions",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.setState((function(e){return{showPkceOptions:!e.showPkceOptions}}))}}),Object.defineProperty(t,"handleCodeVerifierChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var r=e.target.value;return __awaiter(t,void 0,void 0,(function(){var e;return __generator(this,(function(t){switch(t.label){case 0:return[4,deriveCodeChallenge(r)];case 1:return e=t.sent(),this.setState({codeVerifier:r,validCodeChallenge:e}),[2]}}))}))}}),t}return __extends(t,e),Object.defineProperty(t.prototype,"values",{get:function(){var e,t;return(null===(t=null===(e=this.props.form.values)||void 0===e?void 0:e.auth)||void 0===t?void 0:t[this.props.id])||{}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"errors",{get:function(){var e,t;return(null===(t=null===(e=this.props.form.errors)||void 0===e?void 0:e.auth)||void 0===t?void 0:t[this.props.id])||{}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"pkceInputActionButtonProps",{get:function(){var e=this;if(void 0!==this.state.codeVerifier&&this.state.codeChallenge!==this.state.validCodeChallenge)return{label:"sync",onClick:function(){e.state.codeVerifier&&e.setState({codeChallenge:e.state.validCodeChallenge})}}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this;if(this.props.usePkce){var t=randString(43);deriveCodeChallenge(t).then((function(r){e.setState({codeVerifier:t,codeChallenge:r,validCodeChallenge:r})}))}}}),Object.defineProperty(t.prototype,"handleAuthorize",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;if(e){this.props.formApi.validate();var r=this.props,n=r.flow,o=r.usePkce,a=r.id,l=r.tokenUrl,i=r.authCorsProxyUrl,c=r.tokenEndpointAuthMethod;if(isEmptyObject(this.errors)){this.setState({loading:!0,error:null});var s=i?i+normalizeUrlProtocol(e):e,u=i&&l?i+normalizeUrlProtocol(l):l,d=this.props.formApi.getValue("auth."+a+".scopes"),p={authorizationUrl:s.startsWith("http")?s:this.props.server+s,clientId:this.values.client_id,scopes:d,redirectUri:this.context.oAuth2RedirectURI,routingBasePath:this.context.routingBasePath,successCallback:function(e){t.props.formApi.setValue("auth."+t.props.id+".token",e),t.setState({loading:!1,error:null})},errorCallback:function(e){t.setState({loading:!1,error:(null==e?void 0:e.message)||"Failed to retrieve the access token"})}};"implicit"===n&&OAuth2.authorizeImplicit(p),validateTokenEndpointMethod(c)?"authorizationCode"===n&&OAuth2.authorizeAuthorizationCode(__assign(__assign(__assign({},p),{tokenUrl:(null==u?void 0:u.startsWith("http"))?u:this.props.server+u,clientSecret:this.values.client_secret,extraHeaders:getOAuth2TokenEndpointAuthHeader({authMethod:c,clientId:this.values.client_id,clientSecret:this.values.client_secret})}),o&&{codeVerifier:this.state.codeVerifier,codeChallenge:this.state.codeChallenge})):console.log("Unsupported token endpoint auth method: "+c)}}}}),Object.defineProperty(t.prototype,"handleLogout",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.clearToken(),this.setState({error:null})}}),Object.defineProperty(t.prototype,"handleCancel",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.setState({loading:!1,error:null}),OAuth2.clearRedirectData(this.props.flow)}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=this.state,r=t.error,n=t.loading,o=this.props,a=o.id,l=o.scopes,i=o.authorizationUrl,c=o.flow,s=o.usePkce,u=o.defaultValues;if(!i)return React.createElement(FormError,null,"No flow info");var d=fromSessionStorage("auth."+a+".token")||JSON.stringify(null==u?void 0:u.token);d=d?JSON.parse(d):"";var p=getSecurityDetailsOptions(a,"client_id"),m={field:"auth."+a+".client_id",fullWidth:!0,initialValue:fromSessionStorage("auth."+a+".client_id")||this.props.clientId||(null==u?void 0:u.client_id),initValue:fromSessionStorage("auth."+a+".client_id")||this.props.clientId||(null==u?void 0:u.client_id),placeholder:"Your OAuth2 app Client ID",validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement("div",null,React.createElement(FormWrapper,null,React.createElement(FormControl,null,React.createElement(FormLabel,null," Client ID: "),p?React.createElement(FormDropdown,__assign({},m,{options:p})):React.createElement(FormTextField,__assign({},m,{"data-cy":"client-id-input"}))),"authorizationCode"===c&&React.createElement(React.Fragment,null,(!(null==s?void 0:s.hideClientSecretInput)||!s)&&React.createElement(FormControl,null,React.createElement(FormLabel,null,"Client Secret:"),React.createElement(FormTextField,{type:"password",fullWidth:!0,field:"auth."+a+".client_secret",initialValue:fromSessionStorage("auth."+a+".client_secret")||(null==u?void 0:u.client_secret),validateOnBlur:!0,validateOnChange:!0,"data-cy":"client-secret-input"})),s&&!s.disableManualConfiguration&&React.createElement(PkceOptionsWrapper,null,React.createElement(Checkbox,{id:"pkce-opitons-toggle",label:"Configure PKCE manually",checked:this.state.showPkceOptions,onChange:this.togglePkceOptions,"data-cy":"pkce-options-toggle"}),this.state.showPkceOptions&&React.createElement(PkceDetails,null,React.createElement(FormControl,null,React.createElement(FormLabel,null,"Code Verifier"),React.createElement(TextField,{fullWidth:!0,value:this.state.codeVerifier,onChange:this.handleCodeVerifierChange,"data-cy":"code-verifier-input"})),React.createElement(FormControl,null,React.createElement(FormLabel,null,"Code Challenge"),React.createElement(TextField,{fullWidth:!0,value:this.state.codeChallenge,onChange:function(t){var r=t.target.value;e.setState({codeChallenge:r})},inputActionButton:this.pkceInputActionButtonProps,"data-cy":"code-challenge-input"}))))),React.createElement(FormTextField,{fullWidth:!0,field:"auth."+a+".token",type:"hidden",initialValue:d}),React.createElement(Scope,{id:a,scopes:l}),this.values.token&&this.values.token.access_token?React.createElement(FormControl,null,React.createElement(FormLabel,null," Access Token: "),React.createElement(TextField,{disabled:!0,type:"password",fullWidth:!0,value:this.values.token.access_token})):null),React.createElement(ButtonsWrapper,null,this.values.token&&this.values.token.access_token?React.createElement(Button,{fullWidth:!0,onClick:function(){e.handleLogout()}},"Log out"):n?React.createElement(React.Fragment,null,React.createElement(Button,{fullWidth:!0,onClick:function(){e.handleCancel()}},"Cancel"),React.createElement(LinearProgress,null)):React.createElement(Button,{fullWidth:!0,disabled:!isEmptyObject(this.errors),onClick:function(){e.handleAuthorize(i)}},"Authorize")),n||r||!this.values.token||!this.values.token.access_token&&React.createElement(FormWrapper,null,React.createElement(FormControl,null,n?React.createElement(FormWarning,null,"Please, finish your authorization flow or cancel authorization."):r?React.createElement(React.Fragment,null,React.createElement(OriginalErrorMessage,null,React.createElement(FormError,null,r))):this.values.token&&this.values.token.access_token?null:React.createElement(FormWarning,null," No Access Token. Please, Authorize. "))))}}),Object.defineProperty(t,"contextType",{enumerable:!0,configurable:!0,writable:!0,value:OptionsContext}),t}(React.Component);export{OAuth2Flow};var templateObject_1,templateObject_2,templateObject_3,templateObject_4,OriginalErrorMessage=styled.div(templateObject_1||(templateObject_1=__makeTemplateObject(["\n font-family: monospace;\n margin-top: 10px;\n line-height: 1;\n padding-left: 10px;\n border-left: 1px solid gray;\n"],["\n font-family: monospace;\n margin-top: 10px;\n line-height: 1;\n padding-left: 10px;\n border-left: 1px solid gray;\n"]))),ButtonsWrapper=styled.div(templateObject_2||(templateObject_2=__makeTemplateObject(["\n margin-bottom: 15px;\n"],["\n margin-bottom: 15px;\n"]))),PkceOptionsWrapper=styled.div(templateObject_3||(templateObject_3=__makeTemplateObject(["\n padding: 8px 0 20px;\n"],["\n padding: 8px 0 20px;\n"]))),PkceDetails=styled.div(templateObject_4||(templateObject_4=__makeTemplateObject(["\n padding: 4px 0;\n"],["\n padding: 4px 0;\n"])));
|
|
2
2
|
//# sourceMappingURL=OAuth2Flow.js.map
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import type { SecurityDetails } from '../../
|
|
2
|
+
import type { SecurityDetails } from '../../types';
|
|
3
3
|
export interface OAuth2TokenInputProps {
|
|
4
4
|
flow: {
|
|
5
5
|
refreshUrl?: string;
|
|
6
|
+
'x-tokenEndpointAuthMethod'?: 'none' | 'client_secret_basic' | string;
|
|
6
7
|
scopes: Record<string, string>;
|
|
7
8
|
tokenUrl: string;
|
|
8
9
|
};
|