@redocly/reference-docs 2.32.1 → 2.33.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.
Files changed (74) hide show
  1. package/bin/cli/commands/redocly-docs-cli.min.js +31 -31
  2. package/bin/cli/commands/redocly-docs-cli.min.js.LICENSE.txt +1 -1
  3. package/dist/console.redocly-reference-docs.min.js +103 -106
  4. package/dist/oauth2-redirect.js +1 -1
  5. package/dist/redocly-reference-docs.min.js +540 -537
  6. package/lib/components/Samples/SamplesTabs.d.ts +2 -2
  7. package/lib/components/Samples/SamplesTabs.js +1 -1
  8. package/lib/components/Tabs/CollapsingTabs/CollapsingTabsBase.d.ts +1 -1
  9. package/lib/components/Tabs/CollapsingTabs/CollapsingTabsBase.js +1 -1
  10. package/lib/components/common/FileUpload/FileUpload.d.ts +3 -2
  11. package/lib/components/common/FileUpload/FileUpload.js +1 -1
  12. package/lib/components/console/AuthPanel.js +1 -1
  13. package/lib/components/console/CodemirrorInput.d.ts +15 -11
  14. package/lib/components/console/CodemirrorInput.js +1 -1
  15. package/lib/components/console/Console.d.ts +2 -2
  16. package/lib/components/console/Console.js +1 -1
  17. package/lib/components/console/OpenIDConnect.d.ts +3 -0
  18. package/lib/components/console/OpenIDConnect.js +1 -1
  19. package/lib/components/console/RequestBody/RequestBody.d.ts +3 -0
  20. package/lib/components/console/RequestBody/RequestBody.js +2 -0
  21. package/lib/components/console/RequestBody/index.d.ts +2 -0
  22. package/lib/components/console/RequestBody/index.js +2 -0
  23. package/lib/components/console/RequestBody/types.d.ts +10 -0
  24. package/lib/components/console/RequestBody/types.js +2 -0
  25. package/lib/components/console/RequestBodyForm.d.ts +3 -2
  26. package/lib/components/console/styled.d.ts +1 -0
  27. package/lib/components/console/styled.js +1 -1
  28. package/lib/components/console/utils.d.ts +3 -1
  29. package/lib/components/console/utils.js +1 -1
  30. package/lib/redoc-lib/src/components/RequestSamples/RequestSamples.js +1 -1
  31. package/lib/services/code-samples/generator.d.ts +1 -0
  32. package/lib/services/code-samples/generator.js +1 -1
  33. package/lib/services/code-samples/httpsnippet/targets/javascript/fetch.js +1 -1
  34. package/lib/services/code-samples/httpsnippet/targets/node/fetch.js +1 -1
  35. package/lib/services/code-samples/httpsnippet/targets/python/requests.js +1 -1
  36. package/lib/utils.d.ts +1 -1
  37. package/lib/utils.js +1 -1
  38. package/lib-esm/components/Samples/SamplesTabs.d.ts +2 -2
  39. package/lib-esm/components/Samples/SamplesTabs.js +1 -1
  40. package/lib-esm/components/Tabs/CollapsingTabs/CollapsingTabsBase.d.ts +1 -1
  41. package/lib-esm/components/Tabs/CollapsingTabs/CollapsingTabsBase.js +1 -1
  42. package/lib-esm/components/common/FileUpload/FileUpload.d.ts +3 -2
  43. package/lib-esm/components/common/FileUpload/FileUpload.js +1 -1
  44. package/lib-esm/components/console/AuthPanel.js +1 -1
  45. package/lib-esm/components/console/CodemirrorInput.d.ts +15 -11
  46. package/lib-esm/components/console/CodemirrorInput.js +1 -1
  47. package/lib-esm/components/console/Console.d.ts +2 -2
  48. package/lib-esm/components/console/Console.js +1 -1
  49. package/lib-esm/components/console/OpenIDConnect.d.ts +3 -0
  50. package/lib-esm/components/console/OpenIDConnect.js +1 -1
  51. package/lib-esm/components/console/RequestBody/RequestBody.d.ts +3 -0
  52. package/lib-esm/components/console/RequestBody/RequestBody.js +2 -0
  53. package/lib-esm/components/console/RequestBody/index.d.ts +2 -0
  54. package/lib-esm/components/console/RequestBody/index.js +2 -0
  55. package/lib-esm/components/console/RequestBody/types.d.ts +10 -0
  56. package/lib-esm/components/console/RequestBody/types.js +2 -0
  57. package/lib-esm/components/console/RequestBodyForm.d.ts +3 -2
  58. package/lib-esm/components/console/styled.d.ts +1 -0
  59. package/lib-esm/components/console/styled.js +1 -1
  60. package/lib-esm/components/console/utils.d.ts +3 -1
  61. package/lib-esm/components/console/utils.js +1 -1
  62. package/lib-esm/redoc-lib/src/components/RequestSamples/RequestSamples.js +1 -1
  63. package/lib-esm/services/code-samples/generator.d.ts +1 -0
  64. package/lib-esm/services/code-samples/generator.js +1 -1
  65. package/lib-esm/services/code-samples/httpsnippet/targets/javascript/fetch.js +1 -1
  66. package/lib-esm/services/code-samples/httpsnippet/targets/node/fetch.js +1 -1
  67. package/lib-esm/services/code-samples/httpsnippet/targets/python/requests.js +1 -1
  68. package/lib-esm/utils.d.ts +1 -1
  69. package/lib-esm/utils.js +1 -1
  70. package/package.json +2 -2
  71. package/lib/components/console/RequestBody.d.ts +0 -12
  72. package/lib/components/console/RequestBody.js +0 -2
  73. package/lib-esm/components/console/RequestBody.d.ts +0 -12
  74. package/lib-esm/components/console/RequestBody.js +0 -2
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.info=void 0;var tslib_1=require("tslib"),stringify_object_1=(0,tslib_1.__importDefault)(require("stringify-object")),code_builder_1=require("../../helpers/code-builder"),code_helpers_1=require("../../helpers/code-helpers"),constants_1=require("../../helpers/constants"),utils_1=require("../../../../utils"),__1=require("../.."),types_1=require("../../../../../types"),handler=function(e,t,a){var r,i,s,n,o,d=a.target,l=a.client,p=Object.assign({indent:" ",showBoilerplate:!0,level:1},t),h=p.level,c=!1,u=new code_builder_1.CodeBuilder({indentation:p.indent,variablesPrefix:p.variablesPrefix,capitalize:!0,lang:constants_1.Lang.NODEJS});p.withComments&&addComments(u),p.withImports&&(u.push("import fetch from 'node-fetch';"),u.blank()),p.showBoilerplate&&u.push("async function run() {");var m={method:e.method.toUpperCase()};Object.keys(e.headersObj).length&&(m.headers=e.headersObj);var f=!1;if(null===(r=e.securityOAuth2ExtraCalls)||void 0===r?void 0:r.length){var _=new __1.HTTPSnippet(null===(i=e.securityOAuth2ExtraCalls)||void 0===i?void 0:i[0]).convert(d,l,(0,tslib_1.__assign)((0,tslib_1.__assign)({},p),{withImports:!1,withComments:!1,variablesPrefix:"oAuth2",showBoilerplate:!1,level:1}));u.push(_),u.blank(),m.headers=m.headers||{},m.headers.Authorization="'Bearer ' + oAuth2Data.access_token",f=!0}var b=Object.getOwnPropertyNames(e.queryObj).length;if(b&&u.push(h,"const "+u.var("query")+" = new URLSearchParams("+(0,code_helpers_1.addIndentation)((0,stringify_object_1.default)(e.queryObj,{indent:p.indent,inlineCharacterLimit:25}),{level:h,indent:p.indent,firstLine:!1})+").toString();").blank(),e.postData)switch((0,utils_1.normalizeMimeType)(e.postData.mimeType)){case types_1.MediaTypes.URL_ENCODED:m.body=e.postData.paramsObj?"new URLSearchParams("+u.var("formData")+").toString()":e.postData.text,e.postData.paramsObj&&u.push(h,"const "+u.var("formData")+" = "+(0,code_helpers_1.addIndentation)((0,stringify_object_1.default)(e.postData.paramsObj,{indent:p.indent,inlineCharacterLimit:25}),{level:h,firstLine:!1})+";").blank();break;case types_1.MediaTypes.JSON:e.postData.jsonObj&&(m.body="JSON.stringify("+(0,code_helpers_1.addIndentation)((0,stringify_object_1.default)(e.postData.jsonObj,{indent:p.indent,inlineCharacterLimit:25}),{level:h,firstLine:!1})+")");break;case types_1.MediaTypes.MULTIPART:(null===(s=null==m?void 0:m.headers)||void 0===s?void 0:s["Content-Type"])&&(null===(n=m.headers)||void 0===n||delete n["Content-Type"]),p.withImports&&u.unshift("import FormData from 'form-data';"),u.push(h,"const "+u.var("form")+" = new FormData();"),e.postData.params.forEach((function(e){e.fileName||e.fileName||e.contentType?e.fileName&&(c=!0,u.blank(),u.push(h,u.var("form")+".append('\" + param.name + \"', fs.createReadStream('\" + param.fileName + \"'));")):u.push(h,"form.append('"+e.name+"','"+e.value+"');")})),m.body=u.var("form"),u.blank();break;default:e.postData.text&&(m.body="`"+(0,code_helpers_1.addIndentation)(e.postData.text,{level:h+1,indent:p.indent,firstLine:!1}).trim()+"`")}if(e.cookies.length){var v="";e.cookies.forEach((function(e){v=v+encodeURIComponent(e.name)+"="+encodeURIComponent(e.value)+"; "})),v=v.trim(),m.headers||(m.headers={}),m.headers.cookie=v}if(e.basicAuth){var y=e.basicAuth,g=y.username,j=y.password;m.headers=m.headers||{},m.headers.Authorization="'Basic ' + Buffer.from('"+g+":"+j+"').toString('base64')",f=!0}c&&p.withImports&&u.unshift("import fs from 'fs';");var w=m.headers&&m.headers.Accept&&(0,utils_1.normalizeMimeType)(m.headers.Accept)===types_1.MediaTypes.JSON||(0,utils_1.normalizeMimeType)(null===(o=e.postData)||void 0===o?void 0:o.mimeType)===types_1.MediaTypes.JSON;(0,code_helpers_1.printUrlVariablesDeclarations)(e,u,h);var D=(0,code_helpers_1.buildUrlExpression)(e,u);return u.push(h,"const "+u.var("resp")+" = await fetch(").push(h+1,"`"+D+(b?"?${"+u.var("query")+"}":"")+"`,").push(h+1,(0,code_helpers_1.addIndentation)((0,stringify_object_1.default)(m,{indent:p.indent,inlineCharacterLimit:25,transform:(0,code_helpers_1.getPreserveTransformer)({body:!0,authorizationHeader:f})}),{level:h+1,indent:p.indent,firstLine:!1})).push(h,");").blank().push(h,"const "+u.var("data")+" = await "+u.var("resp")+"."+(w?"json()":"text()")+";").push(h,"console.log("+u.var("data")+");"),p.showBoilerplate&&u.push("}").blank().push("run();"),u.join().replace(/"fs\.createReadStream\(\\"(.+)\\"\)"/,'fs.createReadStream("$1")')};function addComments(e){e.push("/**"),e.push(" * Requires Node.js >= 14"),e.push(" *"),e.push(' * Requires module "node-fetch" >= 2.6.1'),e.push(" * See here for installation details:"),e.push(" * https://www.npmjs.com/package/node-fetch"),e.push(" */"),e.blank()}exports.info={key:"fetch",title:"Fetch",link:"https://github.com/bitinn/node-fetch",description:"Simplified HTTP node-fetch client"},exports.default=handler;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.info=void 0;var tslib_1=require("tslib"),stringify_object_1=(0,tslib_1.__importDefault)(require("stringify-object")),code_builder_1=require("../../helpers/code-builder"),code_helpers_1=require("../../helpers/code-helpers"),constants_1=require("../../helpers/constants"),utils_1=require("../../../../utils"),__1=require("../.."),types_1=require("../../../../../types"),handler=function(e,t,a){var s,r,i,n,o,l,d=a.target,p=a.client,h=Object.assign({indent:" ",showBoilerplate:!0,level:1},t),u=h.level,c=!1,m=new code_builder_1.CodeBuilder({indentation:h.indent,variablesPrefix:h.variablesPrefix,capitalize:!0,lang:constants_1.Lang.NODEJS});h.withComments&&addComments(m),h.withImports&&(m.push("import fetch from 'node-fetch';"),m.blank()),h.showBoilerplate&&m.push("async function run() {");var f={method:e.method.toUpperCase()};Object.keys(e.headersObj).length&&(f.headers=e.headersObj);var _=!1;if(null===(s=e.securityOAuth2ExtraCalls)||void 0===s?void 0:s.length){var b=new __1.HTTPSnippet(null===(r=e.securityOAuth2ExtraCalls)||void 0===r?void 0:r[0]).convert(d,p,(0,tslib_1.__assign)((0,tslib_1.__assign)({},h),{withImports:!1,withComments:!1,variablesPrefix:"oAuth2",showBoilerplate:!1,level:1}));m.push(b),m.blank(),f.headers=f.headers||{},f.headers.Authorization="'Bearer ' + oAuth2Data.access_token",_=!0}var v=Object.getOwnPropertyNames(e.queryObj).length;if(v&&m.push(u,"const "+m.var("query")+" = new URLSearchParams("+(0,code_helpers_1.addIndentation)((0,stringify_object_1.default)(e.queryObj,{indent:h.indent,inlineCharacterLimit:25}),{level:u,indent:h.indent,firstLine:!1})+").toString();").blank(),e.postData)switch((0,utils_1.normalizeMimeType)(e.postData.mimeType)){case types_1.MediaTypes.URL_ENCODED:f.body=e.postData.paramsObj?"new URLSearchParams("+m.var("formData")+").toString()":e.postData.text,e.postData.paramsObj&&m.push(u,"const "+m.var("formData")+" = "+(0,code_helpers_1.addIndentation)((0,stringify_object_1.default)(e.postData.paramsObj,{indent:h.indent,inlineCharacterLimit:25}),{level:u,firstLine:!1})+";").blank();break;case types_1.MediaTypes.JSON:e.postData.jsonObj&&(f.body="JSON.stringify("+(0,code_helpers_1.addIndentation)((0,stringify_object_1.default)(e.postData.jsonObj,{indent:h.indent,inlineCharacterLimit:25}),{level:u,firstLine:!1})+")");break;case types_1.MediaTypes.MULTIPART:(null===(i=null==f?void 0:f.headers)||void 0===i?void 0:i["Content-Type"])&&(null===(n=f.headers)||void 0===n||delete n["Content-Type"]),h.withImports&&m.unshift("import FormData from 'form-data';"),m.push(u,"const "+m.var("form")+" = new FormData();"),e.postData.params.forEach((function(e){e.fileName||e.fileName||e.contentType?e.fileName&&(c=!0,m.blank(),m.push(u,m.var("form")+".append('\" + param.name + \"', fs.createReadStream('\" + param.fileName + \"'));")):m.push(u,"form.append('"+e.name+"','"+e.value+"');")})),f.body=m.var("form"),m.blank();break;default:e.postData.text&&(f.body="`"+(0,code_helpers_1.addIndentation)(e.postData.text,{level:u+1,indent:h.indent,firstLine:!1}).trim()+"`")}if(e.cookies.length){var y="";e.cookies.forEach((function(e){y=y+encodeURIComponent(e.name)+"="+encodeURIComponent(e.value)+"; "})),y=y.trim(),f.headers||(f.headers={}),f.headers.cookie=y}if(e.basicAuth){var g=e.basicAuth,j=g.username,w=g.password;f.headers=f.headers||{},f.headers.Authorization="'Basic ' + Buffer.from('"+j+":"+w+"').toString('base64')",_=!0}c&&h.withImports&&m.unshift("import fs from 'fs';");var D=f.headers&&f.headers.Accept&&(0,utils_1.normalizeMimeType)(f.headers.Accept)===types_1.MediaTypes.JSON||(0,utils_1.normalizeMimeType)(null===(o=e.postData)||void 0===o?void 0:o.mimeType)===types_1.MediaTypes.JSON;(0,code_helpers_1.printUrlVariablesDeclarations)(e,m,u);var O=(0,code_helpers_1.buildUrlExpression)(e,m);return m.push(u,"const "+m.var("resp")+" = await fetch(").push(u+1,"`"+O+(v?"?${"+m.var("query")+"}":"")+"`,").push(u+1,(0,code_helpers_1.addIndentation)((0,stringify_object_1.default)(f,{indent:h.indent,inlineCharacterLimit:25,transform:(0,code_helpers_1.getPreserveTransformer)({body:!0,authorizationHeader:_})}),{level:u+1,indent:h.indent,firstLine:!1})).push(u,");").blank(),(null===(l=e.allResponseCodes)||void 0===l?void 0:l.includes("204"))?(m.push(u,"if (resp.status === 204) {").push(u+1,"console.log('success');").push(u,"} else {"),m.push(u+1,"const "+m.var("data")+" = await "+m.var("resp")+"."+(D?"json()":"text()")+";").push(u+1,"console.log("+m.var("data")+");").push(u,"}")):m.push(u,"const "+m.var("data")+" = await "+m.var("resp")+"."+(D?"json()":"text()")+";").push(u,"console.log("+m.var("data")+");"),h.showBoilerplate&&m.push("}").blank().push("run();"),m.join().replace(/"fs\.createReadStream\(\\"(.+)\\"\)"/,'fs.createReadStream("$1")')};function addComments(e){e.push("/**"),e.push(" * Requires Node.js >= 14"),e.push(" *"),e.push(' * Requires module "node-fetch" >= 2.6.1'),e.push(" * See here for installation details:"),e.push(" * https://www.npmjs.com/package/node-fetch"),e.push(" */"),e.blank()}exports.info={key:"fetch",title:"Fetch",link:"https://github.com/bitinn/node-fetch",description:"Simplified HTTP node-fetch client"},exports.default=handler;
2
2
  //# sourceMappingURL=fetch.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var tslib_1=require("tslib"),util_1=require("util"),code_builder_1=require("../../helpers/code-builder"),utils_1=require("../../../../utils"),code_helpers_1=require("../../helpers/code-helpers"),__1=require("../.."),constants_1=require("../../helpers/constants"),types_1=require("../../../../../types"),handler=function(e,t,s){var a,r,o,n=s.target,i=s.client,l=Object.assign({indent:" "},t),u=new code_builder_1.CodeBuilder({indentation:l.indent,variablesPrefix:l.variablesPrefix,lang:constants_1.Lang.PYTHON});l.withComments&&addComments(u),l.withImports&&u.push("import requests").blank();var p,d,_=!1,h=e.allHeaders;if(null===(a=e.securityOAuth2ExtraCalls)||void 0===a?void 0:a.length){var c=new __1.HTTPSnippet(null===(r=e.securityOAuth2ExtraCalls)||void 0===r?void 0:r[0]).convert(n,i,(0,tslib_1.__assign)((0,tslib_1.__assign)({},l),{withImports:!1,withComments:!1,variablesPrefix:"oauth2_"}));u.push(c),u.blank(),(h=h||{}).Authorization='"Bearer " + oauth2_data["access_token"]',_=!0}((0,code_helpers_1.printUrlVariablesDeclarations)(e,u),u.push(u.var("url").toLowerCase()+" = %s",(0,code_helpers_1.buildUrlExpression)(e,u)).blank(),Object.keys(e.queryObj||{}).length)&&(p="query = "+jsObjectToPythonDict(e.queryObj,l.indent),u.push(p).blank());var b,v=(0,utils_1.normalizeMimeType)(null===(o=e.postData)||void 0===o?void 0:o.mimeType);if(e.postData)switch(v){case types_1.MediaTypes.URL_ENCODED:d=e.postData.paramsObj?""+(0,code_helpers_1.addIndentation)(jsObjectToPythonDict(e.postData.paramsObj,l.indent),{level:0,firstLine:!1}):e.postData.text;break;case types_1.MediaTypes.JSON:e.postData.jsonObj&&(d=(0,code_helpers_1.addIndentation)(jsObjectToPythonDict(e.postData.jsonObj,l.indent),{level:0,firstLine:!1}));break;case types_1.MediaTypes.MULTIPART:u.unshift("# multipart/form-data is not supported yet\n");break;default:e.postData.text&&(d="'''\n"+(0,code_helpers_1.addIndentation)(e.postData.text.trim(),{level:1,indent:l.indent,firstLine:!0})+"\n'''")}d&&u.push(u.var("payload").toLowerCase()+" = %s",d).blank();var y=Object.keys(h).length,f=function(e,t){return"Authorization"===e&&_?t:'"'+t+'"'};if(1===y)for(b in h)u.push(u.var("headers").toLowerCase()+' = {"'+b+'": '+f(b,h[b])+"}").blank();else if(y>1){var m=1;for(b in u.push(u.var("headers").toLowerCase()+" = {"),h)m++!==y?u.push(1,'"'+b+'": '+f(b,h[b])+","):u.push(1,'"'+b+'": '+f(b,h[b]));u.push(0,"}").blank()}var C=e.method.toLowerCase(),O=(0,util_1.format)(u.var("response").toLowerCase()+" = requests."+C+"("+u.var("url").toLowerCase());d&&(O+=", "+(v===types_1.MediaTypes.JSON?"json":"data")+"="+u.var("payload").toLowerCase());return y>0&&(O+=", headers="+u.var("headers").toLowerCase()),p&&(O+=", params="+u.var("query").toLowerCase()),e.basicAuth&&(O+=", auth=('"+e.basicAuth.username+"','"+e.basicAuth.password+"')"),O+=")",u.push(O).blank().push(u.var("data").toLowerCase()+" = "+u.var("response").toLowerCase()+".json()").push("print("+u.var("data").toLowerCase()+")"),u.join()};function addComments(e){e.push('"""'),e.push("Requires python >= 3"),e.blank(),e.push('Requires module "requests" >= 2.25.1'),e.push("See here for installation details:"),e.push(" https://requests.readthedocs.io/"),e.push('"""'),e.blank()}function jsObjectToPythonDict(e,t){return JSON.stringify(e,(function(e,t){return e&&"boolean"==typeof t?t?"__REDOCLY_<True>__":"__REDOCLY_<False>__":null===t?"__REDOCLY_<None>__":t}),t).replace(/"__REDOCLY_<(\w+)>__"/g,"$1")}exports.default=handler;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var tslib_1=require("tslib"),util_1=require("util"),code_builder_1=require("../../helpers/code-builder"),utils_1=require("../../../../utils"),code_helpers_1=require("../../helpers/code-helpers"),__1=require("../.."),constants_1=require("../../helpers/constants"),types_1=require("../../../../../types"),handler=function(e,s,t){var a,r,o,n,i=t.target,u=t.client,l=Object.assign({indent:" "},s),p=l.level,d=void 0===p?0:p,h=new code_builder_1.CodeBuilder({indentation:l.indent,variablesPrefix:l.variablesPrefix,lang:constants_1.Lang.PYTHON});l.withComments&&addComments(h),l.withImports&&h.push("import requests").blank();var _,c,b=!1,v=e.allHeaders;if(null===(a=e.securityOAuth2ExtraCalls)||void 0===a?void 0:a.length){var y=new __1.HTTPSnippet(null===(r=e.securityOAuth2ExtraCalls)||void 0===r?void 0:r[0]).convert(i,u,(0,tslib_1.__assign)((0,tslib_1.__assign)({},l),{withImports:!1,withComments:!1,variablesPrefix:"oauth2_"}));h.push(y),h.blank(),(v=v||{}).Authorization='"Bearer " + oauth2_data["access_token"]',b=!0}((0,code_helpers_1.printUrlVariablesDeclarations)(e,h),h.push(h.var("url").toLowerCase()+" = %s",(0,code_helpers_1.buildUrlExpression)(e,h)).blank(),Object.keys(e.queryObj||{}).length)&&(_="query = "+jsObjectToPythonDict(e.queryObj,l.indent),h.push(_).blank());var C,f=(0,utils_1.normalizeMimeType)(null===(o=e.postData)||void 0===o?void 0:o.mimeType);if(e.postData)switch(f){case types_1.MediaTypes.URL_ENCODED:c=e.postData.paramsObj?""+(0,code_helpers_1.addIndentation)(jsObjectToPythonDict(e.postData.paramsObj,l.indent),{level:0,firstLine:!1}):e.postData.text;break;case types_1.MediaTypes.JSON:e.postData.jsonObj&&(c=(0,code_helpers_1.addIndentation)(jsObjectToPythonDict(e.postData.jsonObj,l.indent),{level:0,firstLine:!1}));break;case types_1.MediaTypes.MULTIPART:h.unshift("# multipart/form-data is not supported yet\n");break;default:e.postData.text&&(c="'''\n"+(0,code_helpers_1.addIndentation)(e.postData.text.trim(),{level:1,indent:l.indent,firstLine:!0})+"\n'''")}c&&h.push(h.var("payload").toLowerCase()+" = %s",c).blank();var L=Object.keys(v).length,m=function(e,s){return"Authorization"===e&&b?s:'"'+s+'"'};if(1===L)for(C in v)h.push(h.var("headers").toLowerCase()+' = {"'+C+'": '+m(C,v[C])+"}").blank();else if(L>1){var w=1;for(C in h.push(h.var("headers").toLowerCase()+" = {"),v)w++!==L?h.push(1,'"'+C+'": '+m(C,v[C])+","):h.push(1,'"'+C+'": '+m(C,v[C]));h.push(0,"}").blank()}var O=e.method.toLowerCase(),j=(0,util_1.format)(h.var("response").toLowerCase()+" = requests."+O+"("+h.var("url").toLowerCase());c&&(j+=", "+(f===types_1.MediaTypes.JSON?"json":"data")+"="+h.var("payload").toLowerCase());return L>0&&(j+=", headers="+h.var("headers").toLowerCase()),_&&(j+=", params="+h.var("query").toLowerCase()),e.basicAuth&&(j+=", auth=('"+e.basicAuth.username+"','"+e.basicAuth.password+"')"),j+=")",h.push(j).blank(),(null===(n=e.allResponseCodes)||void 0===n?void 0:n.includes("204"))?h.push("if (response.status == 204) {").push(d+1,'print("success")').push("} else {").push(d+1,h.var("data").toLowerCase()+" = "+h.var("response").toLowerCase()+".json()").push(d+1,"print("+h.var("data").toLowerCase()+")").push("}"):h.push(h.var("data").toLowerCase()+" = "+h.var("response").toLowerCase()+".json()").push("print("+h.var("data").toLowerCase()+")"),h.join()};function addComments(e){e.push('"""'),e.push("Requires python >= 3"),e.blank(),e.push('Requires module "requests" >= 2.25.1'),e.push("See here for installation details:"),e.push(" https://requests.readthedocs.io/"),e.push('"""'),e.blank()}function jsObjectToPythonDict(e,s){return JSON.stringify(e,(function(e,s){return e&&"boolean"==typeof s?s?"__REDOCLY_<True>__":"__REDOCLY_<False>__":null===s?"__REDOCLY_<None>__":s}),s).replace(/"__REDOCLY_<(\w+)>__"/g,"$1")}exports.default=handler;
2
2
  //# sourceMappingURL=requests.js.map
package/lib/utils.d.ts CHANGED
@@ -23,7 +23,7 @@ export declare function getSecurityDetailsOptions(name: string, fieldName: strin
23
23
  label: string;
24
24
  value: string;
25
25
  }> | null;
26
- export declare function get<T>(object: GenericObject, path: string | Array<string>, defval?: T): GenericObject;
26
+ export declare function get<T>(object: GenericObject | undefined, path: string | Array<string>, defval?: T): GenericObject;
27
27
  export declare function joinStringFactory(separator: string): (...args: (string | undefined)[]) => string;
28
28
  export declare const dottedString: (...args: (string | undefined)[]) => string;
29
29
  export declare function getWindowReferenceOptions<T>(option: string): T | null;
package/lib/utils.js CHANGED
@@ -1,2 +1,2 @@
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;
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=[],i=0;i<arguments.length;i++)n[i]=arguments[i];function a(){s>1&&e.apply(void 0,n),s=0,o=null}s++,o?clearTimeout(o):r&&e.apply(void 0,n),o=setTimeout(a,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 void 0===e&&(e={}),"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
@@ -2,13 +2,13 @@
2
2
  import type { TabProps, TabsProps } from '../Tabs';
3
3
  interface SampleProps extends TabProps {
4
4
  lang: string;
5
+ key: string;
5
6
  }
6
7
  interface SamplesTabsProps extends TabsProps {
7
8
  onChange?: (tab: TabProps) => void;
8
9
  tabs: SampleProps[];
9
- tabsKeys: string[];
10
10
  defaultLanguage?: string;
11
11
  id: string;
12
12
  }
13
- export declare const SamplesTabs: ({ children, onChange, defaultLanguage, id, tabsKeys: keys, ...props }: SamplesTabsProps) => JSX.Element;
13
+ export declare const SamplesTabs: ({ children, onChange, defaultLanguage, id, tabs, operation }: SamplesTabsProps) => JSX.Element;
14
14
  export {};
@@ -1,2 +1,2 @@
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"]),u=useContext(StoreContext),l=useState(n),s=l[0],d=l[1],c=useState(),g=c[0],m=c[1],f=useCallback((function(){var e=r.indexOf(s||(null==u?void 0:u.activeSampleLanguage)||"");return-1===e?0:e}),[r,s,null==u?void 0:u.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,o]),useEffect((function(){return null==u?void 0:u.stopLoader()}),[null==u?void 0:u.activeSampleLanguage]),useEffect((function(){s&&(null==u||u.startLoader(),null==u||u.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))}));
1
+ import React,{useContext,useEffect,useLayoutEffect,useState,useMemo,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.tabs,u=e.operation,i=useContext(StoreContext),l=useState(n),s=l[0],c=l[1],d=useState(),m=d[0],g=d[1],f=useMemo((function(){var e=r.findIndex((function(e){return[null==i?void 0:i.activeSampleLanguage,s].includes(e.key)||e.lang===(null==i?void 0:i.activeSampleLanguage)}));return-1===e?0:e}),[r,s,null==i?void 0:i.activeSampleLanguage]),p=useMemo((function(){return r.map((function(e){return e.lang}))}),[r]);useLayoutEffect((function(){var e,t=null===(e=document.getElementById(o))||void 0===e?void 0:e.getBoundingClientRect().y;if(t&&m&&t!==m){var a=t-m;window.requestAnimationFrame((function(){return window.scrollBy(0,a)})),g(void 0)}}),[p,m,o]),useEffect((function(){return null==i?void 0:i.stopLoader()}),[null==i?void 0:i.activeSampleLanguage]),useEffect((function(){s&&(null==i||i.startLoader(),null==i||i.activateSampleLanguage(s))}),[s,n]);var v=useCallback((function(e){var t,n=r[e];g(null===(t=document.getElementById(o))||void 0===t?void 0:t.getBoundingClientRect().y),c(n.key),a&&a(n)}),[o,a,r]);return React.createElement(LoadingWrapper,{className:s&&"updated",id:o},React.createElement(CollapsingTabsBase,{tabs:r,operation:u,activeIndex:f,onChange:v},n&&-1===p.indexOf(n)&&React.createElement(WarnMessage,null,"Provided language is not supported"),t))}));
2
2
  //# sourceMappingURL=SamplesTabs.js.map
@@ -14,5 +14,5 @@ interface CollapsingTabsComponentProps extends TabsProps {
14
14
  activeIndex: number;
15
15
  onChange: (idx: number) => void;
16
16
  }
17
- export declare const CollapsingTabsBase: ({ tabs, children, hidden, activeIndex, onChange, }: CollapsingTabsComponentProps) => JSX.Element;
17
+ export declare const CollapsingTabsBase: React.NamedExoticComponent<CollapsingTabsComponentProps>;
18
18
  export {};
@@ -1,2 +1,2 @@
1
- import React,{useContext,useEffect,useMemo,useState}from"react";import{Tabs}from"react-tabs";import{OptionsContext}from"../../../redoc-lib";import{CollapsingDropdown}from"../../common/Dropdown";import{CollapsingTabList}from"./CollapsingTabList";import{CollapsingTab}from"./CollapsingTab";export var CollapsingTabsBase=function(e){var t=e.tabs,n=e.children,o=e.hidden,a=e.activeIndex,i=e.onChange,l=useContext(OptionsContext).samplesTabsMaxCount,r=useMemo((function(){return t.slice(l).map((function(e,t){return{idx:t,value:e.title}}))}),[t,l]),s=r.length+" more",c=useState(s),p=c[0],m=c[1],u=React.useCallback((function(){var e=a>=l;p!==s&&p===t[a].title||!e?p===s||e||m(s):m(t[a].title)}),[a,l,p,s,t]);useEffect((function(){setTimeout(u,0)}),[a,l,u]);return React.createElement(Tabs,{selectedIndex:a,onSelect:i},React.createElement(CollapsingTabList,{hidden:o},t.map((function(e,t){return React.createElement(CollapsingTab,{key:e.key,disabled:t>=l},e.title)})),r.length?React.createElement(CollapsingDropdown,{options:r,onChange:function(e){i(l+e.idx)},placeholder:s,value:p,active:a>=l}):null),n)};
1
+ import React,{memo,useContext,useEffect,useMemo,useState}from"react";import{Tabs}from"react-tabs";import{OptionsContext}from"../../../redoc-lib";import{CollapsingDropdown}from"../../common/Dropdown";import{CollapsingTabList}from"./CollapsingTabList";import{CollapsingTab}from"./CollapsingTab";function CollapsingTabsBaseComponent(e){var t=e.tabs,o=e.children,n=e.hidden,a=e.activeIndex,l=e.onChange,i=useContext(OptionsContext).samplesTabsMaxCount,s=useMemo((function(){return t.slice(i).map((function(e,t){return{idx:t,value:e.title}}))}),[t,i]),r=s.length+" more",c=useState(r),m=c[0],p=c[1],u=React.useCallback((function(){var e=a>=i;m!==r&&m===t[a].title||!e?m===r||e||p(r):p(t[a].title)}),[a,i,m,r,t]);useEffect((function(){setTimeout(u,0)}),[a,i,u]);return React.createElement(Tabs,{selectedIndex:a,onSelect:l},React.createElement(CollapsingTabList,{hidden:n},t.map((function(e,t){return React.createElement(CollapsingTab,{key:e.key,disabled:t>=i},e.title)})),s.length?React.createElement(CollapsingDropdown,{options:s,onChange:function(e){l(i+e.idx)},placeholder:r,value:m,active:a>=i}):null),o)}export var CollapsingTabsBase=memo(CollapsingTabsBaseComponent);
2
2
  //# sourceMappingURL=CollapsingTabsBase.js.map
@@ -1,9 +1,10 @@
1
1
  import * as React from 'react';
2
2
  import type { SchemaModel } from '../../../redoc-lib/src/services/models/Schema';
3
+ import type { UploadFileType } from '../../../models';
3
4
  export interface FileUploadProps {
4
5
  schema: SchemaModel | GenericObject;
5
6
  contentName: string;
6
- onChange(string: any, UploadFileType: any): void;
7
+ onChange(key: string, file: UploadFileType): void;
7
8
  name: string;
8
9
  }
9
- export declare const FileUpload: React.ForwardRefExoticComponent<React.InputHTMLAttributes<HTMLInputElement> & FileUploadProps & React.RefAttributes<HTMLInputElement>>;
10
+ export declare const FileUpload: React.ForwardRefExoticComponent<Omit<React.InputHTMLAttributes<HTMLInputElement>, "onChange"> & FileUploadProps & React.RefAttributes<HTMLInputElement>>;
@@ -1,2 +1,2 @@
1
- import{__assign,__awaiter,__generator,__rest}from"tslib";import*as React from"react";import{useField}from"informed";import{getFileToUpload}from"./helper";export var FileUpload=React.forwardRef((function(e,a){var t=__rest(e,[]),r=t.schema,i=t.contentName,n=t.onChange,o=t.name;return(0,useField(__assign({field:o},t)).render)(React.createElement("input",{"data-cy":"file-upload-input",type:"file",id:t.id,className:t.className,name:t.name,onChange:function(e){return __awaiter(void 0,void 0,void 0,(function(){var a;return __generator(this,(function(t){switch(t.label){case 0:return[4,getFileToUpload(e.target.files,r)];case 1:return a=t.sent(),n(i,a),[2]}}))}))},multiple:t.multiple,accept:t.accept,ref:a}))}));FileUpload.displayName="FileUpload";
1
+ import{__assign,__awaiter,__generator,__rest}from"tslib";import*as React from"react";import{useField}from"informed";import{getFileToUpload}from"./helper";export var FileUpload=React.forwardRef((function(e,a){var t=__rest(e,[]),r=t.schema,i=t.contentName,n=t.onChange,o=t.name,l=__rest(t,["schema","contentName","onChange","name"]);return(0,useField(__assign({field:o},l)).render)(React.createElement("input",{"data-cy":"file-upload-input",type:"file",id:t.id,className:t.className,name:t.name,onChange:function(e){return __awaiter(void 0,void 0,void 0,(function(){var a;return __generator(this,(function(t){switch(t.label){case 0:return[4,getFileToUpload(e.target.files,r)];case 1:return a=t.sent(),n(i,a),[2]}}))}))},multiple:t.multiple,accept:t.accept,ref:a}))}));FileUpload.displayName="FileUpload";
2
2
  //# sourceMappingURL=FileUpload.js.map
@@ -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",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};
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,Error}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 ")})).filter(Boolean).map((function(e,t){return{value:e,idx:t}}));return 0===a.length?React.createElement(Error,{message:"Cannot find security schema in the definition"}):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,35 +1,39 @@
1
- import * as React from 'react';
1
+ import type { ComponentType, LegacyRef } from 'react';
2
+ import React from 'react';
3
+ import type { FieldApi, FieldState } from 'informed';
2
4
  import { Controlled as CodeMirror } from 'react-codemirror2-react-17';
3
5
  import type { Editor } from 'codemirror';
6
+ import type { OpenAPISchema, Referenced } from '../../redoc-lib';
4
7
  import './codemirror-helpers';
5
8
  export interface CodemirrorInputBase {
6
- forwardedRef?: React.Ref<any>;
9
+ forwardedRef?: LegacyRef<CodeMirror>;
7
10
  mode?: string;
8
11
  field: string;
9
- initialValue: any;
10
- validate: any;
11
- schema: any;
12
+ initialValue: string;
13
+ validate: () => string | undefined;
14
+ schema?: Referenced<OpenAPISchema>;
12
15
  id: string;
13
- onChange?: (e: any) => any;
14
- onBlur?: (e: any) => any;
16
+ onChange?: (e: any) => void;
17
+ onBlur?: (e: any) => void;
15
18
  }
16
19
  export interface CodemirrorInputProps extends CodemirrorInputBase {
17
- fieldApi: any;
18
- fieldState: any;
20
+ fieldApi: FieldApi;
21
+ fieldState: FieldState<string>;
19
22
  render: any;
20
23
  userProps: any;
21
24
  ref: any;
22
25
  }
23
- export declare class CodemirrorInput extends React.Component<CodemirrorInputProps> {
26
+ export declare class CodemirrorInput extends React.PureComponent<CodemirrorInputProps> {
24
27
  editor: Editor;
25
28
  _onKeyUp: (_cm: CodeMirror.Doc, event: {
26
29
  key: string;
27
30
  }) => void;
28
31
  initEditor: (editor: Editor) => void;
29
32
  refreshEditor: () => void;
33
+ showHintHandler: () => void;
30
34
  componentDidMount(): void;
31
35
  componentWillUnmount(): void;
32
36
  render(): JSX.Element;
33
37
  }
34
- declare const _default: React.ComponentType<CodemirrorInputBase>;
38
+ declare const _default: ComponentType<CodemirrorInputBase>;
35
39
  export default _default;
@@ -1,2 +1,2 @@
1
- import{__extends,__makeTemplateObject}from"tslib";import*as React from"react";import{asField}from"informed";import{Controlled as CodeMirror}from"react-codemirror2-react-17";import{createGlobalStyle}from"../../redoc-lib";import"./codemirror-helpers";import{MediaTypes}from"../../types";var templateObject_1,CodeMirrorStyles=createGlobalStyle(templateObject_1||(templateObject_1=__makeTemplateObject(["\n .cm-s-material.CodeMirror {\n background-color: ","!important;\n color: ","!important;\n font-family: ",";\n line-height: 18px;\n padding: 10px;\n }\n\n .CodeMirror-lint-mark-error {\n background-size: 4px;\n background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAYAAAD+Bd/7AAAAVUlEQVR42mNgQAL/GRjigPg/EP8FYntkCX4gtoVKgvE/BoabcEVAhj6S5DUgfgFl/wFJ2gPxL6iuT1DF+kD2R5AYA5KRj6CS/FAMYvszIBltz4AFAAD9fz0YtLg13wAAAABJRU5ErkJggg==') !important;\n }\n\n .cm-s-material.CodeMirror-focused div.CodeMirror-selected {\n background: rgba(255, 255, 255, 0.3) !important;\n }\n\n .cm-s-material .CodeMirror-code .cm-string.cm-property {\n color: #9EFAA7;\n }\n\n .cm-s-material .CodeMirror-code .cm-string {\n color: #FEE39E;\n }\n\n .cm-s-material .CodeMirror-code .cm-atom {\n color: ",";\n }\n\n div .cm-s-material .CodeMirror-matchingbracket {\n outline: 1px solid grey;\n text-decoration: none;\n }\n\n .react-codemirror2 {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n overflow: hidden;\n\n flex: 1;\n }\n\n .CodeMirror {\n flex: 1;\n border-radius: ",";\n }\n"],["\n .cm-s-material.CodeMirror {\n background-color: ","!important;\n color: ","!important;\n font-family: ",";\n line-height: 18px;\n padding: 10px;\n }\n\n .CodeMirror-lint-mark-error {\n background-size: 4px;\n background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAYAAAD+Bd/7AAAAVUlEQVR42mNgQAL/GRjigPg/EP8FYntkCX4gtoVKgvE/BoabcEVAhj6S5DUgfgFl/wFJ2gPxL6iuT1DF+kD2R5AYA5KRj6CS/FAMYvszIBltz4AFAAD9fz0YtLg13wAAAABJRU5ErkJggg==') !important;\n }\n\n .cm-s-material.CodeMirror-focused div.CodeMirror-selected {\n background: rgba(255, 255, 255, 0.3) !important;\n }\n\n .cm-s-material .CodeMirror-code .cm-string.cm-property {\n color: #9EFAA7;\n }\n\n .cm-s-material .CodeMirror-code .cm-string {\n color: #FEE39E;\n }\n\n .cm-s-material .CodeMirror-code .cm-atom {\n color: ",";\n }\n\n div .cm-s-material .CodeMirror-matchingbracket {\n outline: 1px solid grey;\n text-decoration: none;\n }\n\n .react-codemirror2 {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n overflow: hidden;\n\n flex: 1;\n }\n\n .CodeMirror {\n flex: 1;\n border-radius: ",";\n }\n"])),(function(e){return e.theme.rightPanel.panelControlsBackgroundColor}),(function(e){return e.theme.colors.text.light}),(function(e){return e.theme.typography.code.fontFamily}),(function(e){return e.theme.colors.text.light}),(function(e){return e.theme.components.panels.borderRadius})),CodemirrorInput=function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(r,"editor",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"_onKeyUp",{enumerable:!0,configurable:!0,writable:!0,value:function(e,t){/^[a-zA-Z0-9_":]$/.test(t.key)&&r.editor.execCommand("autocomplete")}}),Object.defineProperty(r,"initEditor",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.editor=e,e.on("keyup",r._onKeyUp)}}),Object.defineProperty(r,"refreshEditor",{enumerable:!0,configurable:!0,writable:!0,value:function(){r.editor.refresh()}}),r}return __extends(r,e),Object.defineProperty(r.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this;setTimeout((function(){e.editor.refresh()}),0),document.addEventListener("click",this.refreshEditor)}}),Object.defineProperty(r.prototype,"componentWillUnmount",{enumerable:!1,configurable:!0,writable:!0,value:function(){document.removeEventListener("click",this.refreshEditor)}}),Object.defineProperty(r.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,r=this.props.fieldState.value,t=this.props.fieldApi,o=t.setValue,n=t.setTouched,i=t.setError,a=this.props,l=a.onChange,c=a.onBlur,d=a.forwardedRef;return React.createElement(React.Fragment,null,React.createElement(CodeMirrorStyles,null),React.createElement(CodeMirror,{editorDidMount:this.initEditor,value:r||"",ref:d||void 0,onBeforeChange:function(e,r,t){o(t),l&&l(t)},onBlur:function(e){n(),c&&c(e)},options:{mode:this.props.mode||MediaTypes.JSON,theme:"material",matchBrackets:!0,autoCloseBrackets:!0,tabSize:2,foldGutter:!0,extraKeys:{"Cmd-Space":function(){return e.editor.showHint({completeSingle:!0})},"Ctrl-Space":function(){return e.editor.showHint({completeSingle:!0})}},hintOptions:{id:this.props.id,completeSingle:!1,schema:this.props.schema},lint:{id:this.props.id,schema:this.props.schema,setError:i}}}))}}),r}(React.Component);export{CodemirrorInput};export default asField(CodemirrorInput);
1
+ import{__extends,__makeTemplateObject}from"tslib";import React from"react";import{asField}from"informed";import{Controlled as CodeMirror}from"react-codemirror2-react-17";import{createGlobalStyle}from"../../redoc-lib";import"./codemirror-helpers";import{MediaTypes}from"../../types";var templateObject_1,CodeMirrorStyles=createGlobalStyle(templateObject_1||(templateObject_1=__makeTemplateObject(["\n .cm-s-material.CodeMirror {\n background-color: ","!important;\n color: ","!important;\n font-family: ",";\n line-height: 18px;\n padding: 10px;\n }\n\n .CodeMirror-lint-mark-error {\n background-size: 4px;\n background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAYAAAD+Bd/7AAAAVUlEQVR42mNgQAL/GRjigPg/EP8FYntkCX4gtoVKgvE/BoabcEVAhj6S5DUgfgFl/wFJ2gPxL6iuT1DF+kD2R5AYA5KRj6CS/FAMYvszIBltz4AFAAD9fz0YtLg13wAAAABJRU5ErkJggg==') !important;\n }\n\n .cm-s-material.CodeMirror-focused div.CodeMirror-selected {\n background: rgba(255, 255, 255, 0.3) !important;\n }\n\n .cm-s-material .CodeMirror-code .cm-string.cm-property {\n color: #9EFAA7;\n }\n\n .cm-s-material .CodeMirror-code .cm-string {\n color: #FEE39E;\n }\n\n .cm-s-material .CodeMirror-code .cm-atom {\n color: ",";\n }\n\n div .cm-s-material .CodeMirror-matchingbracket {\n outline: 1px solid grey;\n text-decoration: none;\n }\n\n .react-codemirror2 {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n overflow: hidden;\n\n flex: 1;\n }\n\n .CodeMirror {\n flex: 1;\n border-radius: ",";\n }\n"],["\n .cm-s-material.CodeMirror {\n background-color: ","!important;\n color: ","!important;\n font-family: ",";\n line-height: 18px;\n padding: 10px;\n }\n\n .CodeMirror-lint-mark-error {\n background-size: 4px;\n background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAYAAAD+Bd/7AAAAVUlEQVR42mNgQAL/GRjigPg/EP8FYntkCX4gtoVKgvE/BoabcEVAhj6S5DUgfgFl/wFJ2gPxL6iuT1DF+kD2R5AYA5KRj6CS/FAMYvszIBltz4AFAAD9fz0YtLg13wAAAABJRU5ErkJggg==') !important;\n }\n\n .cm-s-material.CodeMirror-focused div.CodeMirror-selected {\n background: rgba(255, 255, 255, 0.3) !important;\n }\n\n .cm-s-material .CodeMirror-code .cm-string.cm-property {\n color: #9EFAA7;\n }\n\n .cm-s-material .CodeMirror-code .cm-string {\n color: #FEE39E;\n }\n\n .cm-s-material .CodeMirror-code .cm-atom {\n color: ",";\n }\n\n div .cm-s-material .CodeMirror-matchingbracket {\n outline: 1px solid grey;\n text-decoration: none;\n }\n\n .react-codemirror2 {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n overflow: hidden;\n\n flex: 1;\n }\n\n .CodeMirror {\n flex: 1;\n border-radius: ",";\n }\n"])),(function(e){return e.theme.rightPanel.panelControlsBackgroundColor}),(function(e){return e.theme.colors.text.light}),(function(e){return e.theme.typography.code.fontFamily}),(function(e){return e.theme.colors.text.light}),(function(e){return e.theme.components.panels.borderRadius})),CodemirrorInput=function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(r,"editor",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"_onKeyUp",{enumerable:!0,configurable:!0,writable:!0,value:function(e,t){/^[a-zA-Z0-9_":]$/.test(t.key)&&r.editor.execCommand("autocomplete")}}),Object.defineProperty(r,"initEditor",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.editor=e,e.on("keyup",r._onKeyUp)}}),Object.defineProperty(r,"refreshEditor",{enumerable:!0,configurable:!0,writable:!0,value:function(){r.editor.refresh()}}),Object.defineProperty(r,"showHintHandler",{enumerable:!0,configurable:!0,writable:!0,value:function(){return r.editor.showHint({completeSingle:!0})}}),r}return __extends(r,e),Object.defineProperty(r.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this;setTimeout((function(){e.editor.refresh()}),0),document.addEventListener("click",this.refreshEditor)}}),Object.defineProperty(r.prototype,"componentWillUnmount",{enumerable:!1,configurable:!0,writable:!0,value:function(){document.removeEventListener("click",this.refreshEditor)}}),Object.defineProperty(r.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.props.fieldState.value,r=this.props.fieldApi,t=r.setValue,n=r.setTouched,o=r.setError,i=this.props,a=i.onChange,l=i.onBlur,c=i.forwardedRef;return React.createElement(React.Fragment,null,React.createElement(CodeMirrorStyles,null),React.createElement(CodeMirror,{editorDidMount:this.initEditor,value:e||"",ref:c,onBeforeChange:function(e,r,n){t(n),a&&a(n)},onBlur:function(e){n(!1),l&&l(e)},options:{mode:this.props.mode||MediaTypes.JSON,theme:"material",matchBrackets:!0,autoCloseBrackets:!0,tabSize:2,foldGutter:!0,extraKeys:{"Cmd-Space":this.showHintHandler,"Ctrl-Space":this.showHintHandler},hintOptions:{id:this.props.id,completeSingle:!1,schema:this.props.schema},lint:{id:this.props.id,schema:this.props.schema,setError:o}}}))}}),r}(React.PureComponent);export{CodemirrorInput};export default asField(CodemirrorInput);
2
2
  //# sourceMappingURL=CodemirrorInput.js.map
@@ -26,13 +26,13 @@ export interface ConsoleState {
26
26
  error?: Error & {
27
27
  response?: OpenApiResponseData;
28
28
  };
29
- resolvedRawSpec?: any;
29
+ resolvedRawSpec?: GenericObject;
30
30
  response?: OpenApiResponseData;
31
31
  time?: number;
32
32
  server: Server;
33
33
  }
34
34
  export declare class Console extends React.Component<ConsoleProps, ConsoleState> {
35
- formApi: FormApi;
35
+ formApi: FormApi | undefined;
36
36
  constructor(props: ConsoleProps);
37
37
  setFormApi: (formApi: FormApi, { values, ...rest }?: FormState<import("informed").FormValues>) => void;
38
38
  handleChange: ({ values, ...rest }: ConsoleState['form']) => void;
@@ -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,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)))}
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,f,g,y,_,b,P,R,S,C,w,A,E,I,k,q,T,O,B,F,x,H,j,D,V,U,N=this;return __generator(this,(function(W){switch(W.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,null===(B=this.formApi)||void 0===B||B.submitForm(),s)return this.setState({shaking:!0}),setTimeout((function(){return N.setState({shaking:!1})}),1e3),null===(x=null===(F=null==t?void 0:t.options.events)||void 0===F?void 0:F.tryItSent)||void 0===x||x.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 N.state.server.url.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url)})),h=Date.now(),v=!!window.document.documentMode,g=n.auth,n.auth?(y=Object.keys(n.auth)[0],_=unescapeFormId(y),f=__assign(__assign({},c),{components:__assign(__assign({},null==c?void 0:c.components),{securitySchemes:__assign(__assign({},null==c?void 0:c.components.securitySchemes),(k={},k[_]=__assign(__assign({},null==c?void 0:c.components.securitySchemes[_]),{type:"openIdConnect"===(null==c?void 0:c.components.securitySchemes[_].type)?"oauth2":null==c?void 0:c.components.securitySchemes[_].type}),k))})}),g=__assign(__assign({},g),((q={})[_]=g[y],q))):f=__assign({},c),(b=t.options.corsProxyUrl)&&d.length&&(f.servers=d.map((function(e){return __assign(__assign({},e),{url:b+normalizeUrlProtocol(e.url)})})),f.paths=__assign(__assign({},f.paths),((T={})[r.path]=__assign(__assign({},f.paths[r.path]),((O={})[p]=__assign(__assign({},f.paths[r.path][p]),{servers:void 0}),O.servers=void 0,O)),T))),(P=(null===(j=null===(H=null==i?void 0:i.content)||void 0===H?void 0:H.active)||void 0===j?void 0:j.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:f,pathName:r.path,method:r.httpVerb,parameters:__assign(__assign(__assign(__assign({},n.path),n.query),n.header),n.cookie),securities:{authorized:g},requestBody:u,requestContentType:P,responseContentType:(null===(D=n.header)||void 0===D?void 0:D.Accept)||null,requestInterceptor:makeRequestInterceptor(t.options,r,null==g?void 0:g.Authorization)},W.label=1;case 1:return W.trys.push([1,5,8,9]),[4,Swagger.execute(S)];case 2:return C=W.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=W.sent(),W.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=W.sent())&&E.response&&E.response.data instanceof Blob?(I=E.response,[4,E.response.data.text()]):[3,7];case 6:I.data=W.sent(),null==o||o({request:S,response:E.response}),W.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===(U=null===(V=null==t?void 0:t.options.events)||void 0===V?void 0:V.tryItSent)||void 0===U||U.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(){var e;return __awaiter(this,void 0,void 0,(function(){var t,r,o,a;return __generator(this,(function(n){switch(n.label){case 0:return t=this.props,r=t.store,o=t.operation,[4,r.dereferenceSpecForTryIt(o)];case 1:return a=n.sent(),this.setState({resolvedRawSpec:a}),null===(e=this.formApi)||void 0===e||e.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||[],f=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&&this.formApi&&React.createElement(TryItPanel,{header:l("tryItAuth"),"data-cy":"security-trigger",renderChildrenHidden:!0,error:!h&&!!p.auth,success:!!h},f?React.createElement(AuthPanelHook,{field:"auth",validate:requiredValidator},(function(e){return React.createElement(RenderHook,{Hook:f,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&&this.formApi&&React.createElement(TryItPanel,{header:l("tryItBody"),"data-cy":"body-trigger",renderChildrenHidden:!0,error:!!p.body},React.createElement(RequestBody,{validate:allowBodyErrors,formApi:this.formApi,body:r.requestBody,id:r.id,resolvedBody:null==m?void 0: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
@@ -13,3 +13,6 @@ export interface OpenIDConnectProps {
13
13
  defaultValues?: SecurityDetails;
14
14
  }
15
15
  export declare function OpenIDConnect(props: OpenIDConnectProps): JSX.Element;
16
+ export declare function Error({ message }: {
17
+ message: string;
18
+ }): JSX.Element;
@@ -1,2 +1,2 @@
1
- import{__awaiter,__generator,__makeTemplateObject}from"tslib";import React,{useState,useEffect}from"react";import{styled}from"../../redoc-lib";import{discoverOpenIDConnect}from"../../services/OpenIDConnect";import{LinearProgress}from"../common/LinearProgress";import{FormError}from"../common/form";import{OAuth2Flow}from"./OAuth2Flow";export function OpenIDConnect(e){var t,r,n=this,o=e.scheme,a=e.defaultValues,l=useState({}),i=l[0],c=l[1],u=useState(),m=u[0],s=u[1],d=useState(!1),p=d[0],f=d[1];useEffect((function(){v(o.openIdConnectUrl)}),[o.openIdConnectUrl]);var v=function(e){return __awaiter(n,void 0,void 0,(function(){var t,r;return __generator(this,(function(n){switch(n.label){case 0:f(!0),s(""),n.label=1;case 1:return n.trys.push([1,3,,4]),[4,discoverOpenIDConnect(e)];case 2:return t=n.sent(),c(t),[3,4];case 3:return r=n.sent(),s(r.message),[3,4];case 4:return f(!1),[2]}}))}))};return p?React.createElement(Loading,null):m?React.createElement(Error,{message:m}):React.createElement("div",null,React.createElement("div",null,(null===(t=null==i?void 0:i.response_types_supported)||void 0===t?void 0:t.includes("token"))?React.createElement(React.Fragment,null,React.createElement(FlowName,null,"OAuth2 Implicit Flow"),React.createElement(OAuth2Flow,{key:e.id,authorizationUrl:i.authorization_endpoint,authCorsProxyUrl:e.authCorsProxyUrl,scopes:i.scopes_supported,server:e.server,id:e.id,form:e.form,formApi:e.formApi,clientId:e.clientId,flow:"implicit",defaultValues:a})):(null===(r=null==i?void 0:i.response_types_supported)||void 0===r?void 0:r.includes("code"))?React.createElement(React.Fragment,null,React.createElement(FlowName,null,"OAuth2 Authorization Flow"),React.createElement(OAuth2Flow,{key:e.id,authorizationUrl:i.authorization_endpoint,tokenUrl:i.token_endpoint,authCorsProxyUrl:e.authCorsProxyUrl,scopes:i.scopes_supported,server:e.server,id:e.id,form:e.form,formApi:e.formApi,clientId:e.clientId,tokenEndpointAuthMethod:null==i?void 0:i.token_endpoint_auth_methods_supported,flow:"authorizationCode",defaultValues:a})):React.createElement("div",null,"Unsupported flow")))}function Loading(){return React.createElement("div",null,React.createElement("div",null,React.createElement("div",null,"Fetching OpenID Connect metadata..."),React.createElement(LinearProgress,null)))}function Error(e){var t=e.message;return React.createElement("div",null,React.createElement("div",null,React.createElement(FormError,null,t)))}var templateObject_1,FlowName=styled.div(templateObject_1||(templateObject_1=__makeTemplateObject(["\n margin-top: 5px;\n margin-bottom: 10px;\n"],["\n margin-top: 5px;\n margin-bottom: 10px;\n"])));
1
+ import{__awaiter,__generator}from"tslib";import React,{useState,useEffect}from"react";import{discoverOpenIDConnect}from"../../services/OpenIDConnect";import{LinearProgress}from"../common/LinearProgress";import{FormError}from"../common/form";import{OAuth2Flow}from"./OAuth2Flow";import{FlowName}from"./styled";export function OpenIDConnect(e){var t,r,o=this,n=e.scheme,a=e.defaultValues,l=useState({}),i=l[0],c=l[1],u=useState(),s=u[0],m=u[1],d=useState(!1),p=d[0],f=d[1];useEffect((function(){v(n.openIdConnectUrl)}),[n.openIdConnectUrl]);var v=function(e){return __awaiter(o,void 0,void 0,(function(){var t,r;return __generator(this,(function(o){switch(o.label){case 0:f(!0),m(""),o.label=1;case 1:return o.trys.push([1,3,,4]),[4,discoverOpenIDConnect(e)];case 2:return t=o.sent(),c(t),[3,4];case 3:return r=o.sent(),m(r.message),[3,4];case 4:return f(!1),[2]}}))}))};return p?React.createElement(Loading,null):s?React.createElement(Error,{message:s}):React.createElement("div",null,React.createElement("div",null,(null===(t=null==i?void 0:i.response_types_supported)||void 0===t?void 0:t.includes("token"))?React.createElement(React.Fragment,null,React.createElement(FlowName,null,"OAuth2 Implicit Flow"),React.createElement(OAuth2Flow,{key:e.id,authorizationUrl:i.authorization_endpoint,authCorsProxyUrl:e.authCorsProxyUrl,scopes:i.scopes_supported,server:e.server,id:e.id,form:e.form,formApi:e.formApi,clientId:e.clientId,flow:"implicit",defaultValues:a})):(null===(r=null==i?void 0:i.response_types_supported)||void 0===r?void 0:r.includes("code"))?React.createElement(React.Fragment,null,React.createElement(FlowName,null,"OAuth2 Authorization Flow"),React.createElement(OAuth2Flow,{key:e.id,authorizationUrl:i.authorization_endpoint,tokenUrl:i.token_endpoint,authCorsProxyUrl:e.authCorsProxyUrl,scopes:i.scopes_supported,server:e.server,id:e.id,form:e.form,formApi:e.formApi,clientId:e.clientId,tokenEndpointAuthMethod:null==i?void 0:i.token_endpoint_auth_methods_supported,flow:"authorizationCode",defaultValues:a})):React.createElement("div",null,"Unsupported flow")))}function Loading(){return React.createElement("div",null,React.createElement("div",null,React.createElement("div",null,"Fetching OpenID Connect metadata..."),React.createElement(LinearProgress,null)))}export function Error(e){var t=e.message;return React.createElement("div",null,React.createElement("div",null,React.createElement(FormError,null,t)))}
2
2
  //# sourceMappingURL=OpenIDConnect.js.map
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import type { RequestBodyProps } from './types';
3
+ export declare const RequestBody: React.NamedExoticComponent<RequestBodyProps>;
@@ -0,0 +1,2 @@
1
+ import{__assign}from"tslib";import React,{memo,useCallback,useEffect}from"react";import{observer}from"mobx-react";import merge from"deepmerge";import{DropdownOrLabel,MediaTypesSwitch}from"../../../redoc-lib";import{ExampleSwitch,useExampleKey}from"../../Samples";import{arrayMergeStrategy}from"../../../services/utils";import{isRootFileUpload}from"../../common/FileUpload/helper";import{MediaTypes}from"../../../types";import{Dropdown}from"../../common/Dropdown";import{RequestBodyForm}from"../RequestBodyForm";import{RequestMimeLabel}from"../RequestMimeLabel";import CodemirrorInput from"../CodemirrorInput";import{encodeSample}from"../utils";import{fromSessionStorage,toSessionStorage}from"../../../utils";var RequestBodyComponent=observer((function(e){var o,r=e.body,t=e.formApi,a=e.resolvedBody,n=e.properties,m=e.id,i=e.validate,l=r.content,p=function(e){var o;if(!l||!l.hasSample)return"";var r=null===(o=l.active)||void 0===o?void 0:o.examples;if(!(null==r?void 0:r[e]))return"";var t=null==r?void 0:r[e].value,a=n?merge(t,n,{arrayMerge:arrayMergeStrategy}):t;return JSON.stringify(a,null,2)},s=null===(o=null==l?void 0:l.operation)||void 0===o?void 0:o.activeExampleName,d=function(e){var o;null===(o=null==l?void 0:l.operation)||void 0===o||o.activateExampleName(e),t.setValue("body",p(e))},u=function(e,o){(0,t.setValue)("body."+e,o)};useEffect((function(){!1!==s?t.setValue("body",fromSessionStorage(m+"_"+(s||""))||p(s||"")):t.setValue("body",JSON.stringify(n||{},null,2))}),[s]);var c=useCallback((function(e){return function(o){toSessionStorage(m+"_"+e,o)}}),[m]);return React.createElement(React.Fragment,null,React.createElement(MediaTypesSwitch,{content:r.content,renderDropdown:function(e){return React.createElement(DropdownOrLabel,__assign({},e,{variant:"dark",fullWidth:!0,Label:RequestMimeLabel,Dropdown:Dropdown}))}},(function(e){var o=e.examples||{},r=Object.keys(o),l=e.schema,p=isRootFileUpload(l||{},e.name)||e.name===MediaTypes.MULTIPART||e.name===MediaTypes.URL_ENCODED,s=useExampleKey(e.operation,o).exampleKey,f=fromSessionStorage(m+"_"+s)||encodeSample(o[s],n);return React.createElement(React.Fragment,null,r.length&&1!==r.length&&React.createElement(ExampleSwitch,{examples:o,onChange:d,exampleKey:s})||null,p?React.createElement(RequestBodyForm,{mediaType:e,formApi:t,onChange:u}):React.createElement(CodemirrorInput,{id:"body"+m,field:"body",initialValue:f,schema:((null==a?void 0:a.content[e.name])||{}).schema,mode:e.name,validate:i,onChange:c(s)}))})))}));export var RequestBody=memo(RequestBodyComponent);
2
+ //# sourceMappingURL=RequestBody.js.map
@@ -0,0 +1,2 @@
1
+ export { RequestBody } from './RequestBody';
2
+ export * from './types';
@@ -0,0 +1,2 @@
1
+ export{RequestBody}from"./RequestBody";export*from"./types";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,10 @@
1
+ import type { FormApi } from 'informed';
2
+ import type { RequestBodyModel, OpenAPIRequestBody } from '../../../redoc-lib';
3
+ export interface RequestBodyProps {
4
+ body: RequestBodyModel;
5
+ resolvedBody: OpenAPIRequestBody;
6
+ validate: () => string | undefined;
7
+ formApi: FormApi;
8
+ id: string;
9
+ properties: any;
10
+ }
@@ -0,0 +1,2 @@
1
+ export{};
2
+ //# sourceMappingURL=types.js.map
@@ -1,9 +1,10 @@
1
- import React from 'react';
1
+ /// <reference types="react" />
2
2
  import type { FormApi } from 'informed';
3
+ import type { UploadFileType } from '../../models';
3
4
  import type { FieldModel, MediaTypeModel } from '../../redoc-lib';
4
5
  export declare const RequestBodyForm: (props: {
5
6
  mediaType: MediaTypeModel;
6
- onChange: React.ChangeEventHandler<HTMLInputElement>;
7
+ onChange(key: string, file: UploadFileType): void;
7
8
  formApi?: FormApi<import("informed").FormValues> | undefined;
8
9
  }) => JSX.Element | null;
9
10
  export declare function getRequestBodyFormFields(mediaType: MediaTypeModel): FieldModel[];
@@ -6,3 +6,4 @@ export declare const ConsoleWrap: import("styled-components").StyledComponent<"d
6
6
  export declare const ConsoleBody: import("styled-components").StyledComponent<"div", import("../../services/extendTheme").ProTheme, {}, never>;
7
7
  export declare const CloseButton: import("styled-components").StyledComponent<"span", import("../../services/extendTheme").ProTheme, {}, never>;
8
8
  export declare const invertedInputStyles: import("styled-components").FlattenInterpolation<import("styled-components").ThemeProps<import("../../services/extendTheme").ProTheme>>;
9
+ export declare const FlowName: import("styled-components").StyledComponent<"div", import("../../services/extendTheme").ProTheme, {}, never>;
@@ -1,2 +1,2 @@
1
- import{__makeTemplateObject}from"tslib";import{darken}from"polished";import styled,{css,keyframes,mediaCSS}from"../../redoc-lib/src/styled-components";var shake=keyframes(templateObject_1||(templateObject_1=__makeTemplateObject(["\n 10%, 90% {\n transform: translate3d(-1px, 0, 0);\n }\n\n 20%, 80% {\n transform: translate3d(2px, 0, 0);\n }\n\n 30%, 50%, 70% {\n transform: translate3d(-4px, 0, 0);\n }\n\n 40%, 60% {\n transform: translate3d(4px, 0, 0);\n }\n"],["\n 10%, 90% {\n transform: translate3d(-1px, 0, 0);\n }\n\n 20%, 80% {\n transform: translate3d(2px, 0, 0);\n }\n\n 30%, 50%, 70% {\n transform: translate3d(-4px, 0, 0);\n }\n\n 40%, 60% {\n transform: translate3d(4px, 0, 0);\n }\n"])));export var blink=keyframes(templateObject_2||(templateObject_2=__makeTemplateObject(["\n 0% {\n background-color: ",";\n }\n\n 50% {\n background-color: #59C3FF;\n }\n\n 100% {\n background-color: ",";\n }\n"],["\n 0% {\n background-color: ",";\n }\n\n 50% {\n background-color: #59C3FF;\n }\n\n 100% {\n background-color: ",";\n }\n"])),darken(.3,"#59C3FF"),darken(.3,"#59C3FF"));var templateObject_1,templateObject_2,templateObject_3,templateObject_4,templateObject_5,templateObject_6,templateObject_7,shakeAnimation=css(templateObject_3||(templateObject_3=__makeTemplateObject(["\n animation: "," 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;\n"],["\n animation: "," 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;\n"])),shake);export var ConsoleWrap=styled.div(templateObject_4||(templateObject_4=__makeTemplateObject(["\n background-color: ",";\n color: ",";\n font-family: ",";\n border-radius: ",";\n overflow: hidden;\n z-index: 10;\n display: flex;\n flex-direction: column;\n max-height: calc(85vh - ","px);\n margin-bottom: 10px;\n ",";\n > div:last-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n"],["\n background-color: ",";\n color: ",";\n font-family: ",";\n border-radius: ",";\n overflow: hidden;\n z-index: 10;\n display: flex;\n flex-direction: column;\n max-height: calc(85vh - ","px);\n margin-bottom: 10px;\n ",";\n > div:last-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n"])),(function(n){return n.theme.rightPanel.panelBackgroundColor}),(function(n){return n.theme.colors.text.light}),(function(n){return n.theme.typography.code.fontFamily}),(function(n){return n.theme.components.panels.borderRadius}),(function(n){return n.theme.scrollYOffset()}),(function(n){return n.shaking&&shakeAnimation}));export var ConsoleBody=styled.div(templateObject_5||(templateObject_5=__makeTemplateObject(["\n flex: 1;\n padding: 20px 20px 15px;\n overflow: auto;\n display: ",";\n flex-direction: column;\n position: relative;\n background-color: ",";\n"],["\n flex: 1;\n padding: 20px 20px 15px;\n overflow: auto;\n display: ",";\n flex-direction: column;\n position: relative;\n background-color: ",";\n"])),(function(n){return n.hidden?"none":"flex"}),(function(n){return n.theme.rightPanel.panelBackgroundColor}));export var CloseButton=styled.span(templateObject_6||(templateObject_6=__makeTemplateObject(["\n cursor: pointer;\n font-size: 24px;\n font-weight: bold;\n color: ",";\n"],["\n cursor: pointer;\n font-size: 24px;\n font-weight: bold;\n color: ",";\n"])),(function(n){return n.theme.colors.text.light}));export var invertedInputStyles=css(templateObject_7||(templateObject_7=__makeTemplateObject(["\n border: none;\n outline: none;\n padding: 8px;\n border-radius: ",";\n background-color: ",";\n ","\n\n &::placeholder {\n opacity: 0.6;\n color: ",";\n }\n\n &:-webkit-autofill {\n background-color: ",";\n }\n"],["\n border: none;\n outline: none;\n padding: 8px;\n border-radius: ",";\n background-color: ",";\n ","\n\n &::placeholder {\n opacity: 0.6;\n color: ",";\n }\n\n &:-webkit-autofill {\n background-color: ",";\n }\n"])),(function(n){return n.theme.shape.borderRadius}),(function(n){return n.theme.rightPanel.panelControlsBackgroundColor}),(function(n){var e=n.theme;return mediaCSS({color:e.colors.text.light,fontFamily:e.typography.code.fontFamily,fontSize:e.typography.fontSize})}),(function(n){return n.theme.colors.text.light}),(function(n){return n.theme.rightPanel.panelBackgroundColor}));
1
+ import{__makeTemplateObject}from"tslib";import{darken}from"polished";import styled,{css,keyframes,mediaCSS}from"../../redoc-lib/src/styled-components";var shake=keyframes(templateObject_1||(templateObject_1=__makeTemplateObject(["\n 10%, 90% {\n transform: translate3d(-1px, 0, 0);\n }\n\n 20%, 80% {\n transform: translate3d(2px, 0, 0);\n }\n\n 30%, 50%, 70% {\n transform: translate3d(-4px, 0, 0);\n }\n\n 40%, 60% {\n transform: translate3d(4px, 0, 0);\n }\n"],["\n 10%, 90% {\n transform: translate3d(-1px, 0, 0);\n }\n\n 20%, 80% {\n transform: translate3d(2px, 0, 0);\n }\n\n 30%, 50%, 70% {\n transform: translate3d(-4px, 0, 0);\n }\n\n 40%, 60% {\n transform: translate3d(4px, 0, 0);\n }\n"])));export var blink=keyframes(templateObject_2||(templateObject_2=__makeTemplateObject(["\n 0% {\n background-color: ",";\n }\n\n 50% {\n background-color: #59C3FF;\n }\n\n 100% {\n background-color: ",";\n }\n"],["\n 0% {\n background-color: ",";\n }\n\n 50% {\n background-color: #59C3FF;\n }\n\n 100% {\n background-color: ",";\n }\n"])),darken(.3,"#59C3FF"),darken(.3,"#59C3FF"));var templateObject_1,templateObject_2,templateObject_3,templateObject_4,templateObject_5,templateObject_6,templateObject_7,templateObject_8,shakeAnimation=css(templateObject_3||(templateObject_3=__makeTemplateObject(["\n animation: "," 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;\n"],["\n animation: "," 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;\n"])),shake);export var ConsoleWrap=styled.div(templateObject_4||(templateObject_4=__makeTemplateObject(["\n background-color: ",";\n color: ",";\n font-family: ",";\n border-radius: ",";\n overflow: hidden;\n z-index: 10;\n display: flex;\n flex-direction: column;\n max-height: calc(85vh - ","px);\n margin-bottom: 10px;\n ",";\n > div:last-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n"],["\n background-color: ",";\n color: ",";\n font-family: ",";\n border-radius: ",";\n overflow: hidden;\n z-index: 10;\n display: flex;\n flex-direction: column;\n max-height: calc(85vh - ","px);\n margin-bottom: 10px;\n ",";\n > div:last-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n"])),(function(n){return n.theme.rightPanel.panelBackgroundColor}),(function(n){return n.theme.colors.text.light}),(function(n){return n.theme.typography.code.fontFamily}),(function(n){return n.theme.components.panels.borderRadius}),(function(n){return n.theme.scrollYOffset()}),(function(n){return n.shaking&&shakeAnimation}));export var ConsoleBody=styled.div(templateObject_5||(templateObject_5=__makeTemplateObject(["\n flex: 1;\n padding: 20px 20px 15px;\n overflow: auto;\n display: ",";\n flex-direction: column;\n position: relative;\n background-color: ",";\n"],["\n flex: 1;\n padding: 20px 20px 15px;\n overflow: auto;\n display: ",";\n flex-direction: column;\n position: relative;\n background-color: ",";\n"])),(function(n){return n.hidden?"none":"flex"}),(function(n){return n.theme.rightPanel.panelBackgroundColor}));export var CloseButton=styled.span(templateObject_6||(templateObject_6=__makeTemplateObject(["\n cursor: pointer;\n font-size: 24px;\n font-weight: bold;\n color: ",";\n"],["\n cursor: pointer;\n font-size: 24px;\n font-weight: bold;\n color: ",";\n"])),(function(n){return n.theme.colors.text.light}));export var invertedInputStyles=css(templateObject_7||(templateObject_7=__makeTemplateObject(["\n border: none;\n outline: none;\n padding: 8px;\n border-radius: ",";\n background-color: ",";\n ","\n\n &::placeholder {\n opacity: 0.6;\n color: ",";\n }\n\n &:-webkit-autofill {\n background-color: ",";\n }\n"],["\n border: none;\n outline: none;\n padding: 8px;\n border-radius: ",";\n background-color: ",";\n ","\n\n &::placeholder {\n opacity: 0.6;\n color: ",";\n }\n\n &:-webkit-autofill {\n background-color: ",";\n }\n"])),(function(n){return n.theme.shape.borderRadius}),(function(n){return n.theme.rightPanel.panelControlsBackgroundColor}),(function(n){var e=n.theme;return mediaCSS({color:e.colors.text.light,fontFamily:e.typography.code.fontFamily,fontSize:e.typography.fontSize})}),(function(n){return n.theme.colors.text.light}),(function(n){return n.theme.rightPanel.panelBackgroundColor}));export var FlowName=styled.div(templateObject_8||(templateObject_8=__makeTemplateObject(["\n margin-top: 5px;\n margin-bottom: 10px;\n"],["\n margin-top: 5px;\n margin-bottom: 10px;\n"])));
2
2
  //# sourceMappingURL=styled.js.map
@@ -1,5 +1,6 @@
1
- import type { FieldModel, OpenAPIServer, Server, ServerVariables, OperationModel } from '../../redoc-lib';
1
+ import type { FieldModel, OpenAPIServer, Server, ServerVariables, OperationModel, ExampleModel } from '../../redoc-lib';
2
2
  import type { RedocProNormalizedOptions } from '../../services';
3
+ import type { RequestBodyProps } from './RequestBody';
3
4
  export declare function normalizeUrlProtocol(url: string): string;
4
5
  export declare function updateStorage(state: GenericObject): void;
5
6
  export declare const getParameters: (parameters: FieldModel[], type: string) => GenericObject;
@@ -18,3 +19,4 @@ export declare const getOAuth2TokenEndpointAuthHeader: ({ authMethod, clientId,
18
19
  clientId: string;
19
20
  clientSecret: string;
20
21
  }) => Record<'Authorization', string> | GenericObject;
22
+ export declare function encodeSample(sample: ExampleModel, properties: RequestBodyProps['properties']): string;
@@ -1,2 +1,2 @@
1
- import{__assign}from"tslib";import{fromSessionStorage,getParameterValue,setParameterValue,setSecurityDetails,toSessionStorage,unescapeFormId}from"../../utils";export function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}export function updateStorage(e){if(e.values.auth)for(var r=0,t=Object.keys(e.values.auth);r<t.length;r++){var a=t[r],n=e.values.auth[a];setSecurityDetails(a,n)}updateParameterStorage(e)}function updateParameterStorage(e){for(var r,t=0,a=["path","query","header","cookie"];t<a.length;t++){var n=a[t];if(null===(r=e.values)||void 0===r?void 0:r[n])for(var i=0,o=Object.keys(e.values[n]);i<o.length;i++){var s=o[i];setParameterValue(n,s,e.values[n][s])}}}export var getParameters=function(e,r){return e.filter((function(e){return e.in===r})).reduce((function(e,r){var t=r.in,a=r.name;return e[a]=getParameterValue(t||"",a),e}),{})};var pathTemplateRegExp=/(?:{)(\w+)(?:})/g;export function getServerWithVariables(e,r){void 0===r&&(r=0);var t=e[r],a=getDefaultOrStoredVariables(t);return __assign(__assign({},t),{variables:a})}export function getInitialServerWithVariables(e){var r=fromSessionStorage("serverUrl"),t=e.find((function(e){return e.url===r}))||e[0],a=getDefaultOrStoredVariables(t);return __assign(__assign({},t),{variables:a})}export function expandVariables(e,r){return void 0===r&&(r={}),e.replace(pathTemplateRegExp,(function(e,t){return r[t]||e}))}export function expandDefaultServerVariables(e,r){return void 0===r&&(r={}),e.replace(pathTemplateRegExp,(function(e,t){return r[t]&&r[t].default||e}))}export function getDefaultOrStoredVariables(e){if(!(null==e?void 0:e.variables))return{};var r=fromSessionStorage("variables"),t=r&&JSON.parse(r)||{},a={};return Object.entries(e.variables||{}).forEach((function(e){var r=e[0],n=e[1];a[r]=t[r]||n.default||""})),a}export function updateVariablesStorage(e,r){var t,a=fromSessionStorage("variables"),n=a&&JSON.parse(a)||{};toSessionStorage("variables",JSON.stringify(__assign(__assign({},n),((t={})[e]=r,t))))}export function unescapeQueryParams(e){return Object.entries(e).reduce((function(e,r){var t=r[0],a=r[1];return e[unescapeFormId(t)]=a,e}),{})}export function getFileNameFromHeaders(e){for(var r="filename=",t=0,a=Object.entries(e);t<a.length;t++){var n=a[t],i=n[0],o=n[1];if("content-disposition"===i.toLowerCase()){var s=o.split(";").find((function(e){return e.trim().startsWith(r)}));if(s)return s.split(r)[1]}}return""}export var makeRequestInterceptor=function(e,r,t){var a=e.requestInterceptor,n=e.sendXUserAgentInTryIt,i=e.disableTryItRequestUrlEncoding;return function(e){var o,s,u,l;i&&(e=__assign(__assign({},e),{url:decodeURIComponent(e.url)})),n&&(e.headers["X-User-Agent"]="Redocly Try it API console");var c=(null===(s=null===(o=null==r?void 0:r.requestValues)||void 0===o?void 0:o.header)||void 0===s?void 0:s.authorization)||(null===(l=null===(u=null==r?void 0:r.requestValues)||void 0===u?void 0:u.header)||void 0===l?void 0:l.Authorization);return!t&&c&&(e.headers.Authorization=c),a?a(e,r):e}};export var validateTokenEndpointMethod=function(e){if(!e)return!0;var r=Array.isArray(e)?e:[e];return!(r.length&&!r.includes("none")&&!r.includes("client_secret_basic"))};export var getOAuth2TokenEndpointAuthHeader=function(e){var r=e.authMethod,t=e.clientId,a=e.clientSecret;return"client_secret_basic"===r||Array.isArray(r)&&r.includes("client_secret_basic")?{Authorization:"Basic "+btoa(t+":"+a)}:{}};
1
+ import{__assign}from"tslib";import merge from"deepmerge";import{fromSessionStorage,getParameterValue,setParameterValue,setSecurityDetails,toSessionStorage,unescapeFormId}from"../../utils";import{MediaTypes}from"../../types";import{arrayMergeStrategy}from"../../services/utils";export function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}export function updateStorage(e){if(e.values.auth)for(var r=0,t=Object.keys(e.values.auth);r<t.length;r++){var a=t[r],n=e.values.auth[a];setSecurityDetails(a,n)}updateParameterStorage(e)}function updateParameterStorage(e){for(var r,t=0,a=["path","query","header","cookie"];t<a.length;t++){var n=a[t];if(null===(r=e.values)||void 0===r?void 0:r[n])for(var i=0,o=Object.keys(e.values[n]);i<o.length;i++){var s=o[i];setParameterValue(n,s,e.values[n][s])}}}export var getParameters=function(e,r){return e.filter((function(e){return e.in===r})).reduce((function(e,r){var t=r.in,a=r.name;return e[a]=getParameterValue(t||"",a),e}),{})};var pathTemplateRegExp=/(?:{)(\w+)(?:})/g;export function getServerWithVariables(e,r){void 0===r&&(r=0);var t=e[r],a=getDefaultOrStoredVariables(t);return __assign(__assign({},t),{variables:a})}export function getInitialServerWithVariables(e){var r=fromSessionStorage("serverUrl"),t=e.find((function(e){return e.url===r}))||e[0],a=getDefaultOrStoredVariables(t);return __assign(__assign({},t),{variables:a})}export function expandVariables(e,r){return void 0===r&&(r={}),e.replace(pathTemplateRegExp,(function(e,t){return r[t]||e}))}export function expandDefaultServerVariables(e,r){return void 0===r&&(r={}),e.replace(pathTemplateRegExp,(function(e,t){return r[t]&&r[t].default||e}))}export function getDefaultOrStoredVariables(e){if(!(null==e?void 0:e.variables))return{};var r=fromSessionStorage("variables"),t=r&&JSON.parse(r)||{},a={};return Object.entries(e.variables||{}).forEach((function(e){var r=e[0],n=e[1];a[r]=t[r]||n.default||""})),a}export function updateVariablesStorage(e,r){var t,a=fromSessionStorage("variables"),n=a&&JSON.parse(a)||{};toSessionStorage("variables",JSON.stringify(__assign(__assign({},n),((t={})[e]=r,t))))}export function unescapeQueryParams(e){return Object.entries(e).reduce((function(e,r){var t=r[0],a=r[1];return e[unescapeFormId(t)]=a,e}),{})}export function getFileNameFromHeaders(e){for(var r="filename=",t=0,a=Object.entries(e);t<a.length;t++){var n=a[t],i=n[0],o=n[1];if("content-disposition"===i.toLowerCase()){var s=o.split(";").find((function(e){return e.trim().startsWith(r)}));if(s)return s.split(r)[1]}}return""}export var makeRequestInterceptor=function(e,r,t){var a=e.requestInterceptor,n=e.sendXUserAgentInTryIt,i=e.disableTryItRequestUrlEncoding;return function(e){var o,s,u,l;i&&(e=__assign(__assign({},e),{url:decodeURIComponent(e.url)})),n&&(e.headers["X-User-Agent"]="Redocly Try it API console");var c=(null===(s=null===(o=null==r?void 0:r.requestValues)||void 0===o?void 0:o.header)||void 0===s?void 0:s.authorization)||(null===(l=null===(u=null==r?void 0:r.requestValues)||void 0===u?void 0:u.header)||void 0===l?void 0:l.Authorization);return!t&&c&&(e.headers.Authorization=c),a?a(e,r):e}};export var validateTokenEndpointMethod=function(e){if(!e)return!0;var r=Array.isArray(e)?e:[e];return!(r.length&&!r.includes("none")&&!r.includes("client_secret_basic"))};export var getOAuth2TokenEndpointAuthHeader=function(e){var r=e.authMethod,t=e.clientId,a=e.clientSecret;return"client_secret_basic"===r||Array.isArray(r)&&r.includes("client_secret_basic")?{Authorization:"Basic "+btoa(t+":"+a)}:{}};export function encodeSample(e,r){if(!e)return"";if(e.mime===MediaTypes.URL_ENCODED)return e.value;var t=e.value,a=r?merge(t,r,{arrayMerge:arrayMergeStrategy}):t;return JSON.stringify(a,null,2)}
2
2
  //# sourceMappingURL=utils.js.map
@@ -1,2 +1,2 @@
1
- import{__assign,__rest}from"tslib";import React,{useContext,useEffect,useMemo}from"react";import{observer}from"mobx-react";import{CodePanel}from"../../../../components/Panel";import{TabPanel}from"../../../../components/Tabs";import{SamplesTabs}from"../../../../components/Samples";import{isPayloadSample}from"../../services";import{PayloadSamples}from"../PayloadSamples";import{OptionsContext}from"../OptionsProvider";import{l}from"../../services/Labels";import{CodeSample}from"./CodeSample";import{useCodeSamples}from"./useCodeSamples";import{createLanguageSwitchEvent,creatPanelToggleEvent}from"./languageSwitchEvent";export var RequestSamples=observer((function(e){var a=e.operation,t=e.defaultLanguage,o=e.disableHeader,n=(e.content,__rest(e,["operation","defaultLanguage","disableHeader","content"])),r=useContext(OptionsContext),s=r.events,m=r.hideSingleRequestSampleTab;useEffect((function(){}),[a.activeServer,a.requestValues]);var i=useCodeSamples(a),p=i.samples,u=i.payload,c=1===p.length&&m,d=useMemo((function(){return p.map((function(e){return e.lang}))}),[p]);return p.length?React.createElement(CodePanel,{dataHeaderTestId:"request-samples",header:o?void 0:l("requestSamples"),onToggle:function(e){var t,o=creatPanelToggleEvent({operation:a,isExpanded:e,panelType:"request-samples"});null===(t=null==s?void 0:s.panelToggle)||void 0===t||t.call(s,o)}},React.createElement(SamplesTabs,{operation:a,tabs:p,tabsKeys:d,onChange:function(e){var t,o=createLanguageSwitchEvent({operation:a,sample:e});null===(t=null==s?void 0:s.codeSamplesLanguageSwitch)||void 0===t||t.call(s,o)},hidden:c,defaultLanguage:t,id:a.id+"/request-tab"},p.map((function(e){return React.createElement(TabPanel,{key:e.key+a.id},isPayloadSample(e)?React.createElement(PayloadSamples,__assign({content:e.requestBodyContent,operation:a},n)):React.createElement(CodeSample,__assign({lang:e.lang,source:e.source,externalSample:e,content:null==u?void 0:u.requestBodyContent,operation:a},n)))})))):null}));
1
+ import{__assign,__rest}from"tslib";import React,{useContext,useEffect}from"react";import{observer}from"mobx-react";import{CodePanel}from"../../../../components/Panel";import{TabPanel}from"../../../../components/Tabs";import{SamplesTabs}from"../../../../components/Samples";import{isPayloadSample}from"../../services";import{PayloadSamples}from"../PayloadSamples";import{OptionsContext}from"../OptionsProvider";import{l}from"../../services/Labels";import{CodeSample}from"./CodeSample";import{useCodeSamples}from"./useCodeSamples";import{createLanguageSwitchEvent,creatPanelToggleEvent}from"./languageSwitchEvent";export var RequestSamples=observer((function(e){var a=e.operation,t=e.defaultLanguage,o=e.disableHeader,n=(e.content,__rest(e,["operation","defaultLanguage","disableHeader","content"])),r=useContext(OptionsContext),s=r.events,m=r.hideSingleRequestSampleTab;useEffect((function(){}),[a.activeServer,a.requestValues]);var i=useCodeSamples(a),p=i.samples,c=i.payload,d=1===p.length&&m;return p.length?React.createElement(CodePanel,{dataHeaderTestId:"request-samples",header:o?void 0:l("requestSamples"),onToggle:function(e){var t,o=creatPanelToggleEvent({operation:a,isExpanded:e,panelType:"request-samples"});null===(t=null==s?void 0:s.panelToggle)||void 0===t||t.call(s,o)}},React.createElement(SamplesTabs,{operation:a,tabs:p,onChange:function(e){var t,o=createLanguageSwitchEvent({operation:a,sample:e});null===(t=null==s?void 0:s.codeSamplesLanguageSwitch)||void 0===t||t.call(s,o)},hidden:d,defaultLanguage:t,id:a.id+"/request-tab"},p.map((function(e){return React.createElement(TabPanel,{key:e.key+a.id},isPayloadSample(e)?React.createElement(PayloadSamples,__assign({content:e.requestBodyContent,operation:a},n)):React.createElement(CodeSample,__assign({lang:e.lang,source:e.source,externalSample:e,content:null==c?void 0:c.requestBodyContent,operation:a},n)))})))):null}));
2
2
  //# sourceMappingURL=RequestSamples.js.map
@@ -11,6 +11,7 @@ export declare type CustomHAR = HAR.Request & {
11
11
  [key in string]: string;
12
12
  };
13
13
  serverVariables?: ServerVariables;
14
+ allResponseCodes?: string[];
14
15
  };
15
16
  export declare function getCodeSample({ lang, operation, exampleName, pathParams, properties, options, }: {
16
17
  lang: Languages;