@redocly/reference-docs 2.8.3 → 2.9.3

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 (112) hide show
  1. package/bin/cli/commands/redocly-docs-cli.min.js +151 -155
  2. package/bin/cli/commands/redocly-docs-cli.min.js.LICENSE.txt +1 -1
  3. package/dist/console.redocly-reference-docs.min.js +122 -127
  4. package/dist/oauth2-redirect.js +1 -1
  5. package/dist/redocly-reference-docs.min.js +664 -665
  6. package/lib/components/Panel/CodePanel.js +1 -1
  7. package/lib/components/Panel/ContentPanel.js +1 -1
  8. package/lib/components/Panel/DarkHeader.js +1 -1
  9. package/lib/components/Panel/PanelBody.js +1 -1
  10. package/lib/components/RedoclyReferenceDocs.d.ts +2 -2
  11. package/lib/components/RedoclyReferenceDocs.js +1 -1
  12. package/lib/components/StoreProvider.d.ts +3 -3
  13. package/lib/components/StoreProvider.js +1 -1
  14. package/lib/components/console/ActionPanel.js +1 -1
  15. package/lib/components/console/AuthPanel.js +1 -1
  16. package/lib/components/console/CodemirrorInput.js +1 -1
  17. package/lib/components/console/Console.d.ts +0 -1
  18. package/lib/components/console/Console.js +1 -1
  19. package/lib/components/console/OAuth2Flow.js +1 -1
  20. package/lib/components/console/OAuth2TokenInput.js +1 -1
  21. package/lib/components/console/Scope.js +1 -1
  22. package/lib/components/console/ServerDropdown.js +1 -1
  23. package/lib/components/console/utils.d.ts +1 -0
  24. package/lib/components/console/utils.js +1 -1
  25. package/lib/redoc-lib/src/common-elements/samples.js +1 -1
  26. package/lib/redoc-lib/src/common-elements/schema.d.ts +2 -2
  27. package/lib/redoc-lib/src/common-elements/schema.js +1 -1
  28. package/lib/redoc-lib/src/components/ErrorBoundary.d.ts +2 -2
  29. package/lib/redoc-lib/src/components/Fields/Field.d.ts +1 -1
  30. package/lib/redoc-lib/src/components/Parameters/Parameters.d.ts +2 -3
  31. package/lib/redoc-lib/src/components/Schema/ArraySchema.d.ts +2 -4
  32. package/lib/redoc-lib/src/components/Schema/ArraySchema.js +1 -1
  33. package/lib/redoc-lib/src/components/Schema/ObjectSchema.d.ts +2 -9
  34. package/lib/redoc-lib/src/components/Schema/ObjectSchema.js +1 -1
  35. package/lib/redoc-lib/src/components/Schema/OneOfSchema.d.ts +3 -15
  36. package/lib/redoc-lib/src/components/Schema/OneOfSchema.js +1 -1
  37. package/lib/redoc-lib/src/components/Schema/Schema.d.ts +3 -14
  38. package/lib/redoc-lib/src/components/Schema/Schema.js +1 -1
  39. package/lib/redoc-lib/src/components/Schema/types.d.ts +16 -0
  40. package/lib/redoc-lib/src/components/Schema/types.js +2 -0
  41. package/lib/redoc-lib/src/services/MarkdownRenderer.d.ts +2 -2
  42. package/lib/redoc-lib/src/services/MarkdownRenderer.js +1 -1
  43. package/lib/redoc-lib/src/services/RedocNormalizedOptions.d.ts +2 -0
  44. package/lib/redoc-lib/src/services/RedocNormalizedOptions.js +1 -1
  45. package/lib/redoc-lib/src/services/ScrollService.d.ts +3 -3
  46. package/lib/redoc-lib/src/services/ScrollService.js +1 -1
  47. package/lib/redoc-lib/src/theme.d.ts +1 -0
  48. package/lib/redoc-lib/src/theme.js +1 -1
  49. package/lib/services/ProMenu.js +1 -1
  50. package/lib/services/ProStore.d.ts +3 -3
  51. package/lib/services/ProStore.js +1 -1
  52. package/lib/services/VersionedSpecStore.d.ts +2 -3
  53. package/lib/services/history/ProHashHistoryService.js +1 -1
  54. package/lib/services/history/PushStateHistoryService.js +1 -1
  55. package/lib/utils.d.ts +3 -3
  56. package/lib/utils.js +1 -1
  57. package/lib-esm/components/Panel/CodePanel.js +1 -1
  58. package/lib-esm/components/Panel/ContentPanel.js +1 -1
  59. package/lib-esm/components/Panel/DarkHeader.js +1 -1
  60. package/lib-esm/components/Panel/PanelBody.js +1 -1
  61. package/lib-esm/components/RedoclyReferenceDocs.d.ts +2 -2
  62. package/lib-esm/components/RedoclyReferenceDocs.js +1 -1
  63. package/lib-esm/components/StoreProvider.d.ts +3 -3
  64. package/lib-esm/components/StoreProvider.js +1 -1
  65. package/lib-esm/components/console/ActionPanel.js +1 -1
  66. package/lib-esm/components/console/AuthPanel.js +1 -1
  67. package/lib-esm/components/console/CodemirrorInput.js +1 -1
  68. package/lib-esm/components/console/Console.d.ts +0 -1
  69. package/lib-esm/components/console/Console.js +1 -1
  70. package/lib-esm/components/console/OAuth2Flow.js +1 -1
  71. package/lib-esm/components/console/OAuth2TokenInput.js +1 -1
  72. package/lib-esm/components/console/Scope.js +1 -1
  73. package/lib-esm/components/console/ServerDropdown.js +1 -1
  74. package/lib-esm/components/console/utils.d.ts +1 -0
  75. package/lib-esm/components/console/utils.js +1 -1
  76. package/lib-esm/redoc-lib/src/common-elements/samples.js +1 -1
  77. package/lib-esm/redoc-lib/src/common-elements/schema.d.ts +2 -2
  78. package/lib-esm/redoc-lib/src/common-elements/schema.js +1 -1
  79. package/lib-esm/redoc-lib/src/components/ErrorBoundary.d.ts +2 -2
  80. package/lib-esm/redoc-lib/src/components/Fields/Field.d.ts +1 -1
  81. package/lib-esm/redoc-lib/src/components/Parameters/Parameters.d.ts +2 -3
  82. package/lib-esm/redoc-lib/src/components/Schema/ArraySchema.d.ts +2 -4
  83. package/lib-esm/redoc-lib/src/components/Schema/ArraySchema.js +1 -1
  84. package/lib-esm/redoc-lib/src/components/Schema/ObjectSchema.d.ts +2 -9
  85. package/lib-esm/redoc-lib/src/components/Schema/ObjectSchema.js +1 -1
  86. package/lib-esm/redoc-lib/src/components/Schema/OneOfSchema.d.ts +3 -15
  87. package/lib-esm/redoc-lib/src/components/Schema/OneOfSchema.js +1 -1
  88. package/lib-esm/redoc-lib/src/components/Schema/Schema.d.ts +3 -14
  89. package/lib-esm/redoc-lib/src/components/Schema/Schema.js +1 -1
  90. package/lib-esm/redoc-lib/src/components/Schema/types.d.ts +16 -0
  91. package/lib-esm/redoc-lib/src/components/Schema/types.js +2 -0
  92. package/lib-esm/redoc-lib/src/services/MarkdownRenderer.d.ts +2 -2
  93. package/lib-esm/redoc-lib/src/services/MarkdownRenderer.js +1 -1
  94. package/lib-esm/redoc-lib/src/services/RedocNormalizedOptions.d.ts +2 -0
  95. package/lib-esm/redoc-lib/src/services/RedocNormalizedOptions.js +1 -1
  96. package/lib-esm/redoc-lib/src/services/ScrollService.d.ts +3 -3
  97. package/lib-esm/redoc-lib/src/services/ScrollService.js +1 -1
  98. package/lib-esm/redoc-lib/src/theme.d.ts +1 -0
  99. package/lib-esm/redoc-lib/src/theme.js +1 -1
  100. package/lib-esm/services/ProMenu.js +1 -1
  101. package/lib-esm/services/ProStore.d.ts +3 -3
  102. package/lib-esm/services/ProStore.js +1 -1
  103. package/lib-esm/services/VersionedSpecStore.d.ts +2 -3
  104. package/lib-esm/services/history/ProHashHistoryService.js +1 -1
  105. package/lib-esm/services/history/PushStateHistoryService.js +1 -1
  106. package/lib-esm/utils.d.ts +3 -3
  107. package/lib-esm/utils.js +1 -1
  108. package/package.json +5 -4
  109. package/lib/services/MultipleSpecsStore.d.ts +0 -71
  110. package/lib/services/MultipleSpecsStore.js +0 -2
  111. package/lib-esm/services/MultipleSpecsStore.d.ts +0 -71
  112. package/lib-esm/services/MultipleSpecsStore.js +0 -2
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ProHashHistoryService=void 0;var tslib_1=require("tslib"),decko_1=require("decko"),eventemitter3_1=require("eventemitter3"),redoc_lib_1=require("../../redoc-lib"),helpers_1=require("./helpers"),ProHashHistoryService=function(){function e(e,t){var r=this;Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"multiSpec",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"_emiter",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"basePath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"emit",{enumerable:!0,configurable:!0,writable:!0,value:function(){r._emiter.emit("popstate",r.currentId)}});var i=e.routingBasePath||"";this.basePath=i.endsWith("/")?i.substring(0,i.length-1):i,this.basePath.startsWith("/")&&(this.basePath=this.basePath.substring(1)),this._emiter=new eventemitter3_1.EventEmitter,this.bind()}return Object.defineProperty(e.prototype,"currentId",{get:function(){if(!redoc_lib_1.IS_BROWSER)return"";var e=decodeURIComponent(window.location.hash.substr(1)),t=window.location.pathname.substring(1);return t.startsWith(this.basePath+"/")&&(t=t.substring(this.basePath.length+1)),t.endsWith("/")&&(t=t.substring(0,t.length-1)),e&&e.startsWith("operation/")?this.multiSpec?t.split("/")[0]+"/"+e:e:t?t+(e?"/"+e:""):e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"makeUrl",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r="";return redoc_lib_1.IS_BROWSER&&(r=window.location.search),(e.startsWith("/")?"/"+(this.basePath?this.basePath+"/":"")+e.substring(1):e)+r+(t?"#"+t:"")}}),Object.defineProperty(e.prototype,"linkForId",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(!e)return"";if(""===e)return this.makeUrl("","");var t="";return this.multiSpec&&(t="/"+e.split("/")[0],e=e.split("/").slice(1).join("/")),this.makeUrl(t,e)}}),Object.defineProperty(e.prototype,"generateDeepLink",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){if(t)return t+this.options.deepLinkPrefix+e}}),Object.defineProperty(e.prototype,"subscribe",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this._emiter.addListener("popstate",e);return function(){return t.removeListener("popstate",e)}}}),Object.defineProperty(e.prototype,"bind",{enumerable:!1,configurable:!0,writable:!0,value:function(){redoc_lib_1.IS_BROWSER&&(window.addEventListener("popstate",this.emit,!1),window.addEventListener("hashchange",this.emit,!1))}}),Object.defineProperty(e.prototype,"dispose",{enumerable:!1,configurable:!0,writable:!0,value:function(){redoc_lib_1.IS_BROWSER&&(window.removeEventListener("popstate",this.emit),window.removeEventListener("hashchange",this.emit))}}),Object.defineProperty(e.prototype,"replace",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){if(void 0===t&&(t=!1),t)return this.replaceDebounced(e);this.replaceNow(e,t)}}),Object.defineProperty(e.prototype,"replaceForField",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=this;if(void 0===t&&(t=!1),redoc_lib_1.IS_BROWSER&&e){var i,n=new URL(e,window.location.href);i=n,t?window.history.replaceState(null,"",i):(window.history.pushState(null,"",i),r.emit())}}}),Object.defineProperty(e.prototype,"replaceNow",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){if(void 0===t&&(t=!1),redoc_lib_1.IS_BROWSER&&null!=e&&!(0,helpers_1.isSameHash)(e,this.currentId)){var r=new URL(this.linkForId(e),window.location.href);t?redoc_lib_1.IS_BROWSER&&window.history.replaceState(null,"",r.href):redoc_lib_1.IS_BROWSER&&(window.history.pushState(null,"",r.href),this.emit())}}}),Object.defineProperty(e.prototype,"replaceDebounced",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this.replaceNow(e,!0)}}),(0,tslib_1.__decorate)([decko_1.bind],e.prototype,"replace",null),(0,tslib_1.__decorate)([decko_1.bind],e.prototype,"replaceForField",null),(0,tslib_1.__decorate)([decko_1.bind,decko_1.debounce],e.prototype,"replaceDebounced",null),e}();exports.ProHashHistoryService=ProHashHistoryService;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ProHashHistoryService=void 0;var tslib_1=require("tslib"),decko_1=require("decko"),eventemitter3_1=require("eventemitter3"),redoc_lib_1=require("../../redoc-lib"),helpers_1=require("./helpers"),ProHashHistoryService=function(){function e(e,t){var r=this;Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"multiSpec",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"_emiter",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"basePath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"emit",{enumerable:!0,configurable:!0,writable:!0,value:function(){r._emiter.emit("popstate",r.currentId)}});var i=e.routingBasePath||"";this.basePath=i.endsWith("/")?i.substring(0,i.length-1):i,this.basePath.startsWith("/")&&(this.basePath=this.basePath.substring(1)),this._emiter=new eventemitter3_1.EventEmitter,this.bind()}return Object.defineProperty(e.prototype,"currentId",{get:function(){if(!redoc_lib_1.IS_BROWSER)return"";var e=decodeURIComponent(window.location.hash.substr(1)),t=window.location.pathname.substring(1);if(t.startsWith(this.basePath+"/")&&(t=t.substring(this.basePath.length+1)),t.endsWith("/")&&(t=t.substring(0,t.length-1)),e.startsWith("operation/")||(null==e?void 0:e.startsWith("section/"))){if(this.multiSpec){var r=t.split("/")[0];return(0,helpers_1.joinWithSeparator)(r,e)}return e}return t?(0,helpers_1.joinWithSeparator)(t,e):e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"makeUrl",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r="";return redoc_lib_1.IS_BROWSER&&(r=window.location.search),(e.startsWith("/")?"/"+(this.basePath?this.basePath+"/":"")+e.substring(1):e)+r+(t?"#"+t:"")}}),Object.defineProperty(e.prototype,"linkForId",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(!e)return"";if(""===e)return this.makeUrl("","");var t="";return this.multiSpec&&(t="/"+e.split("/")[0],e=e.split("/").slice(1).join("/")),this.makeUrl(t,e)}}),Object.defineProperty(e.prototype,"generateDeepLink",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){if(t)return t+this.options.deepLinkPrefix+e}}),Object.defineProperty(e.prototype,"subscribe",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this._emiter.addListener("popstate",e);return function(){return t.removeListener("popstate",e)}}}),Object.defineProperty(e.prototype,"bind",{enumerable:!1,configurable:!0,writable:!0,value:function(){redoc_lib_1.IS_BROWSER&&(window.addEventListener("popstate",this.emit,!1),window.addEventListener("hashchange",this.emit,!1))}}),Object.defineProperty(e.prototype,"dispose",{enumerable:!1,configurable:!0,writable:!0,value:function(){redoc_lib_1.IS_BROWSER&&(window.removeEventListener("popstate",this.emit),window.removeEventListener("hashchange",this.emit))}}),Object.defineProperty(e.prototype,"replace",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){if(void 0===t&&(t=!1),t)return this.replaceDebounced(e);this.replaceNow(e,t)}}),Object.defineProperty(e.prototype,"replaceForField",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=this;if(void 0===t&&(t=!1),redoc_lib_1.IS_BROWSER&&e){var i,n=new URL(e,window.location.href);i=n,t?window.history.replaceState(null,"",i):(window.history.pushState(null,"",i),r.emit())}}}),Object.defineProperty(e.prototype,"replaceNow",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){if(void 0===t&&(t=!1),redoc_lib_1.IS_BROWSER&&null!=e&&!(0,helpers_1.isSameHash)(e,this.currentId)){var r=new URL(this.linkForId(e),window.location.href);t?redoc_lib_1.IS_BROWSER&&window.history.replaceState(null,"",r.href):redoc_lib_1.IS_BROWSER&&(window.history.pushState(null,"",r.href),this.emit())}}}),Object.defineProperty(e.prototype,"replaceDebounced",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this.replaceNow(e,!0)}}),(0,tslib_1.__decorate)([decko_1.bind],e.prototype,"replace",null),(0,tslib_1.__decorate)([decko_1.bind],e.prototype,"replaceForField",null),(0,tslib_1.__decorate)([decko_1.bind,decko_1.debounce],e.prototype,"replaceDebounced",null),e}();exports.ProHashHistoryService=ProHashHistoryService;
2
2
  //# sourceMappingURL=ProHashHistoryService.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PushStateHistoryService=void 0;var tslib_1=require("tslib"),decko_1=require("decko"),eventemitter3_1=require("eventemitter3"),redoc_lib_1=require("../../redoc-lib"),helpers_1=require("./helpers"),PushStateHistoryService=function(){function e(e,t){var i=this;Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"multispec",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"_emiter",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"basePath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"markdownItemsPagination",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pagination",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"emit",{enumerable:!0,configurable:!0,writable:!0,value:function(){i._emiter.emit("popstate",i.currentId)}});var r=e.routingBasePath;this.markdownItemsPagination=e.markdownItemsPagination,this.pagination=e.pagination,this.basePath=r.endsWith("/")?r.substring(0,r.length-1):r,this.basePath.startsWith("/")&&(this.basePath=this.basePath.substring(1)),this._emiter=new eventemitter3_1.EventEmitter,this.bind()}return Object.defineProperty(e.prototype,"currentId",{get:function(){if(!redoc_lib_1.IS_BROWSER)return"";var e=decodeURIComponent(window.location.hash.substr(1)),t=window.location.pathname.substring(1);return t.startsWith(this.basePath+"/")&&(t=t.substring(this.basePath.length+1)),t.endsWith("/")&&(t=t.substring(0,t.length-1)),e&&e.startsWith("operation/")?(0,helpers_1.joinWithSeparator)(t,e,"/"):t?"item"===this.pagination&&e.startsWith(this.options.deepLinkPrefix)?(0,helpers_1.joinWithSeparator)(t,e,this.options.deepLinkPrefix):(0,helpers_1.joinWithSeparator)(t,e,"/"):e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"makeUrl",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var i,r="";return redoc_lib_1.IS_BROWSER&&(r=window.location.search),(i=e.startsWith("/")?"/"+(0,helpers_1.joinWithSeparator)(this.basePath,e.substring(1),"/"):e)+r?(0,helpers_1.joinWithSeparator)(i+r,t,"#"):"#"+t}}),Object.defineProperty(e.prototype,"generateDeepLink",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return t?t+("item"===this.options.pagination?"#":"")+this.options.deepLinkPrefix+e:null}}),Object.defineProperty(e.prototype,"linkForId",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(void 0===e&&(e=""),""===e)return this.makeUrl("/","");var t="";if(this.multispec&&(t="/"+e.split("/")[0],e=e.split("/").slice(1).join("/")),e.startsWith("operation/")){if(this.multispec&&redoc_lib_1.IS_BROWSER){var i=window.location.pathname.substring(1);i.startsWith(this.basePath)&&(i=i.substring(this.basePath.length)).startsWith("/")&&(i=i.substring(1));var r="/"+i.split("/")[0];return t===r?this.makeUrl("",e):this.makeUrl(i.replace(r,t),e)}return this.makeUrl("",e)}var n,o=t,a="";if(e.startsWith("section/")||!e){var s=(e||"").split("/")[1];s&&"section"===this.markdownItemsPagination?(o=t+"/section/"+s,a=e):(o=t+"/",a=e)}if(e.startsWith("group/")){var l=e.match(/group\/(.*)\/(paths\/.*\/\w+|operation\/[^/]*)/);if(l)o=t+"/group/"+l[1],a=l[2]||"";else o=t+"/"+e,a=""}"section"===this.pagination&&e.startsWith("tag/")&&(o=t+"/"+(n=e.split("/")).slice(0,2).join("/"),a=n.slice(2).join("/"));"item"===this.pagination&&e.startsWith("tag/")&&(o=t+"/"+e,"section"===(n=e.split("/"))[2]&&(o=t+"/"+n.slice(0,2).join("/"),a=n.slice(2).join("/")));return this.makeUrl(o,a)}}),Object.defineProperty(e.prototype,"subscribe",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this._emiter.addListener("popstate",e);return function(){return t.removeListener("popstate",e)}}}),Object.defineProperty(e.prototype,"bind",{enumerable:!1,configurable:!0,writable:!0,value:function(){redoc_lib_1.IS_BROWSER&&window.addEventListener("popstate",this.emit,!1)}}),Object.defineProperty(e.prototype,"dispose",{enumerable:!1,configurable:!0,writable:!0,value:function(){redoc_lib_1.IS_BROWSER&&window.removeEventListener("popstate",this.emit)}}),Object.defineProperty(e.prototype,"replace",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){if(void 0===t&&(t=!1),t)return this.replaceDebounced(e);this.replaceNow(e,t)}}),Object.defineProperty(e.prototype,"replaceForField",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){if(void 0===t&&(t=!1),redoc_lib_1.IS_BROWSER&&e){var i,r=new URL(e,window.location.href);i=r,t&&window.history.replaceState(null,"",i),window.history.pushState(null,"",i),this.emit()}}}),Object.defineProperty(e.prototype,"replaceNow",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){if(void 0===t&&(t=!1),redoc_lib_1.IS_BROWSER&&null!=e&&!(0,helpers_1.isSameHash)(e,this.currentId)){var i=new URL(this.linkForId(e),window.location.href);t?redoc_lib_1.IS_BROWSER&&window.history.replaceState(null,"",i.href):redoc_lib_1.IS_BROWSER&&(window.history.pushState(null,"",i.href),this.emit())}}}),Object.defineProperty(e.prototype,"replaceDebounced",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this.replaceNow(e,!0)}}),(0,tslib_1.__decorate)([decko_1.bind],e.prototype,"replace",null),(0,tslib_1.__decorate)([decko_1.bind],e.prototype,"replaceForField",null),(0,tslib_1.__decorate)([decko_1.bind,decko_1.debounce],e.prototype,"replaceDebounced",null),e}();exports.PushStateHistoryService=PushStateHistoryService;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PushStateHistoryService=void 0;var tslib_1=require("tslib"),decko_1=require("decko"),eventemitter3_1=require("eventemitter3"),redoc_lib_1=require("../../redoc-lib"),helpers_1=require("./helpers"),PushStateHistoryService=function(){function e(e,t){var i=this;Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"multispec",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"_emiter",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"basePath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"markdownItemsPagination",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pagination",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"emit",{enumerable:!0,configurable:!0,writable:!0,value:function(){i._emiter.emit("popstate",i.currentId)}});var r=e.routingBasePath;this.markdownItemsPagination=e.markdownItemsPagination,this.pagination=e.pagination,this.basePath=r.endsWith("/")?r.substring(0,r.length-1):r,this.basePath.startsWith("/")&&(this.basePath=this.basePath.substring(1)),this._emiter=new eventemitter3_1.EventEmitter,this.bind()}return Object.defineProperty(e.prototype,"currentId",{get:function(){if(!redoc_lib_1.IS_BROWSER)return"";var e=decodeURIComponent(window.location.hash.substr(1)),t=window.location.pathname.substring(1);if(t.startsWith(this.basePath+"/")&&(t=t.substring(this.basePath.length+1)),t.endsWith("/")&&(t=t.substring(0,t.length-1)),null==e?void 0:e.startsWith("section/")){if(this.multispec){var i=t.split("/")[0];return(0,helpers_1.joinWithSeparator)(i,e)}return e}return(null==e?void 0:e.startsWith("operation/"))?(0,helpers_1.joinWithSeparator)(t,e):t?"item"===this.pagination&&e.startsWith(this.options.deepLinkPrefix)?(0,helpers_1.joinWithSeparator)(t,e,this.options.deepLinkPrefix):(0,helpers_1.joinWithSeparator)(t,e):e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"makeUrl",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var i,r="";return redoc_lib_1.IS_BROWSER&&(r=window.location.search),(i=e.startsWith("/")?"/"+(0,helpers_1.joinWithSeparator)(this.basePath,e.substring(1),"/"):e)+r?(0,helpers_1.joinWithSeparator)(i+r,t,"#"):"#"+t}}),Object.defineProperty(e.prototype,"generateDeepLink",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return t?t+("item"===this.options.pagination?"#":"")+this.options.deepLinkPrefix+e:null}}),Object.defineProperty(e.prototype,"linkForId",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(void 0===e&&(e=""),""===e)return this.makeUrl("/","");var t="";if(this.multispec&&(t="/"+e.split("/")[0],e=e.split("/").slice(1).join("/")),e.startsWith("operation/")){if(this.multispec&&redoc_lib_1.IS_BROWSER){var i=window.location.pathname.substring(1);i.startsWith(this.basePath)&&(i=i.substring(this.basePath.length)).startsWith("/")&&(i=i.substring(1));var r="/"+i.split("/")[0];return t===r?this.makeUrl("",e):this.makeUrl(i.replace(r,t),e)}return this.makeUrl("",e)}var n,o=t,a="";if(e.startsWith("section/")||!e){var s=(e||"").split("/")[1];s&&"section"===this.markdownItemsPagination?(o=t+"/section/"+s,a=e):(o=t+"/",a=e)}if(e.startsWith("group/")){var l=e.match(/group\/(.*)\/(paths\/.*\/\w+|operation\/[^/]*)/);if(l)o=t+"/group/"+l[1],a=l[2]||"";else o=t+"/"+e,a=""}"section"===this.pagination&&e.startsWith("tag/")&&(o=t+"/"+(n=e.split("/")).slice(0,2).join("/"),a=n.slice(2).join("/"));"item"===this.pagination&&e.startsWith("tag/")&&(o=t+"/"+e,"section"===(n=e.split("/"))[2]&&(o=t+"/"+n.slice(0,2).join("/"),a=n.slice(2).join("/")));return this.makeUrl(o,a)}}),Object.defineProperty(e.prototype,"subscribe",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this._emiter.addListener("popstate",e);return function(){return t.removeListener("popstate",e)}}}),Object.defineProperty(e.prototype,"bind",{enumerable:!1,configurable:!0,writable:!0,value:function(){redoc_lib_1.IS_BROWSER&&window.addEventListener("popstate",this.emit,!1)}}),Object.defineProperty(e.prototype,"dispose",{enumerable:!1,configurable:!0,writable:!0,value:function(){redoc_lib_1.IS_BROWSER&&window.removeEventListener("popstate",this.emit)}}),Object.defineProperty(e.prototype,"replace",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){if(void 0===t&&(t=!1),t)return this.replaceDebounced(e);this.replaceNow(e,t)}}),Object.defineProperty(e.prototype,"replaceForField",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){if(void 0===t&&(t=!1),redoc_lib_1.IS_BROWSER&&e){var i,r=new URL(e,window.location.href);i=r,t&&window.history.replaceState(null,"",i),window.history.pushState(null,"",i),this.emit()}}}),Object.defineProperty(e.prototype,"replaceNow",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){if(void 0===t&&(t=!1),redoc_lib_1.IS_BROWSER&&null!=e&&!(0,helpers_1.isSameHash)(e,this.currentId)){var i=new URL(this.linkForId(e),window.location.href);t?redoc_lib_1.IS_BROWSER&&window.history.replaceState(null,"",i.href):redoc_lib_1.IS_BROWSER&&(window.history.pushState(null,"",i.href),this.emit())}}}),Object.defineProperty(e.prototype,"replaceDebounced",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this.replaceNow(e,!0)}}),(0,tslib_1.__decorate)([decko_1.bind],e.prototype,"replace",null),(0,tslib_1.__decorate)([decko_1.bind],e.prototype,"replaceForField",null),(0,tslib_1.__decorate)([decko_1.bind,decko_1.debounce],e.prototype,"replaceDebounced",null),e}();exports.PushStateHistoryService=PushStateHistoryService;
2
2
  //# sourceMappingURL=PushStateHistoryService.js.map
package/lib/utils.d.ts CHANGED
@@ -2,12 +2,12 @@ import { ProStore } from './services/ProStore';
2
2
  export declare const getGlobalStore: () => ProStore;
3
3
  export declare const setGlobalStore: (store: ProStore) => ProStore;
4
4
  export declare function debounce<T extends unknown>(fn: (...args: T[]) => void, threshold: number, leading?: boolean): (...args: T[]) => void;
5
- export declare function toStorage(key: string, value: string): void;
6
- export declare function fromStorage(key: string): string;
5
+ export declare function toSessionStorage(key: string, value: string): void;
6
+ export declare function fromSessionStorage<T extends string>(key: string): T;
7
7
  export declare function setParameterValue(_in: string, name: string, value: GenericObject): void;
8
8
  export declare function getParameterValue(_in: string, name: string): string | null;
9
9
  export declare function toLocalStorage(key: string, value: string): void;
10
- export declare function fromLocalStorage(key: string): string;
10
+ export declare function fromLocalStorage<T extends string>(key: string): T;
11
11
  export declare function useDimensions(node?: HTMLElement | null): [DOMRect | null];
12
12
  export declare type SecurityDetails = {
13
13
  password?: string;
package/lib/utils.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.dottedString=exports.joinStringFactory=exports.get=exports.getSecurityDetailsOptions=exports.getSecurityDetails=exports.setSecurityDetailsVariants=exports.setSecurityDetails=exports.unescapeFormId=exports.escapeFormId=exports.useDimensions=exports.fromLocalStorage=exports.toLocalStorage=exports.getParameterValue=exports.setParameterValue=exports.fromStorage=exports.toStorage=exports.debounce=exports.setGlobalStore=exports.getGlobalStore=void 0;var _store,tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),redoc_lib_1=require("./redoc-lib"),getGlobalStore=function(){return _store};exports.getGlobalStore=getGlobalStore;var setGlobalStore=function(e){return _store=e};function debounce(e,t,r){var o,a=0;return function(){for(var n=[],s=0;s<arguments.length;s++)n[s]=arguments[s];function i(){a>1&&e.apply(void 0,n),a=0,o=null}a++,o?clearTimeout(o):r&&e.apply(void 0,n),o=setTimeout(i,t)}}function toStorage(e,t){window.sessionStorage.setItem("redoc."+e,t)}function fromStorage(e){return redoc_lib_1.IS_BROWSER&&window.sessionStorage.getItem("redoc."+e)||""}function setParameterValue(e,t,r){toStorage(e+"."+t,JSON.stringify(r))}function getParameterValue(e,t){try{return JSON.parse(fromStorage(e+"."+t))}catch(e){return null}}function toLocalStorage(e,t){window.localStorage.setItem("redoc."+e,t)}function fromLocalStorage(e){return redoc_lib_1.IS_BROWSER&&window.localStorage.getItem("redoc."+e)||""}function useDimensions(e){var t=React.useState(null),r=t[0],o=t[1];return React.useLayoutEffect((function(){if(e){var t=function(){return window.requestAnimationFrame((function(){return o(e.getBoundingClientRect())}))};return t(),window.addEventListener("resize",t),function(){window.removeEventListener("resize",t)}}}),[e]),[r]}function escapeFormId(e){return e.replace(/\./g,"%2e")}function unescapeFormId(e){return e.replace(/%2e/g,".")}function setSecurityDetails(e,t){e=escapeFormId(e),"string"==typeof t?toStorage("auth."+e,t):t&&(toStorage("auth."+e+".password",t.password||""),toStorage("auth."+e+".username",t.username||""),toStorage("auth."+e+".token",t.token&&JSON.stringify(t.token)||""),toStorage("auth."+e+".client_id",t.client_id||""),toStorage("auth."+e+".client_secret",t.client_secret||""),toStorage("auth."+e+".scopes",t.scopes&&JSON.stringify(t.scopes)||""))}function setSecurityDetailsVariants(e,t){toStorage("auth."+(e=escapeFormId(e))+".variants",JSON.stringify(t))}function getSecurityDetails(e){var t=fromStorage("auth."+(e=escapeFormId(e))),r=fromStorage("auth."+e+".token");return{raw:t,password:fromStorage("auth."+e+".password"),username:fromStorage("auth."+e+".username"),token:r&&JSON.parse(r)||null,client_id:fromStorage("auth."+e+".client_id"),client_secret:fromStorage("auth."+e+".client_secret"),scopes:fromStorage("auth."+e+".scopes")}}function getSecurityDetailsOptions(e,t){var r=fromStorage("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)}}exports.setGlobalStore=setGlobalStore,exports.debounce=debounce,exports.toStorage=toStorage,exports.fromStorage=fromStorage,exports.setParameterValue=setParameterValue,exports.getParameterValue=getParameterValue,exports.toLocalStorage=toLocalStorage,exports.fromLocalStorage=fromLocalStorage,exports.useDimensions=useDimensions,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(".");
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.dottedString=exports.joinStringFactory=exports.get=exports.getSecurityDetailsOptions=exports.getSecurityDetails=exports.setSecurityDetailsVariants=exports.setSecurityDetails=exports.unescapeFormId=exports.escapeFormId=exports.useDimensions=exports.fromLocalStorage=exports.toLocalStorage=exports.getParameterValue=exports.setParameterValue=exports.fromSessionStorage=exports.toSessionStorage=exports.debounce=exports.setGlobalStore=exports.getGlobalStore=void 0;var _store,tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),redoc_lib_1=require("./redoc-lib"),getGlobalStore=function(){return _store};exports.getGlobalStore=getGlobalStore;var setGlobalStore=function(e){return _store=e};function debounce(e,t,o){var r,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,r=null}s++,r?clearTimeout(r):o&&e.apply(void 0,n),r=setTimeout(i,t)}}function toSessionStorage(e,t){window.sessionStorage.setItem("redoc."+e,t)}function fromSessionStorage(e){return redoc_lib_1.IS_BROWSER&&window.sessionStorage.getItem("redoc."+e)||""}function setParameterValue(e,t,o){toSessionStorage(e+"."+t,JSON.stringify(o))}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 redoc_lib_1.IS_BROWSER&&window.localStorage.getItem("redoc."+e)||""}function useDimensions(e){var t=React.useState(null),o=t[0],r=t[1];return React.useLayoutEffect((function(){if(e){var t=function(){return window.requestAnimationFrame((function(){return r(e.getBoundingClientRect())}))};return t(),window.addEventListener("resize",t),function(){window.removeEventListener("resize",t)}}}),[e]),[o]}function escapeFormId(e){return e.replace(/\./g,"%2e")}function unescapeFormId(e){return e.replace(/%2e/g,".")}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))),o=fromSessionStorage("auth."+e+".token");return{raw:t,password:fromSessionStorage("auth."+e+".password"),username:fromSessionStorage("auth."+e+".username"),token:o&&JSON.parse(o)||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 o=fromSessionStorage("auth."+(e=escapeFormId(e))+".variants");if(!o)return null;var r=JSON.parse(o);return r&&Array.isArray(r)?r.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,o){return"string"==typeof t&&(t=t.split(".")),t.reduce((function(e,t){return e&&e[t]?e[t]:o}),e)}function joinStringFactory(e){return function(){for(var t=[],o=0;o<arguments.length;o++)t[o]=arguments[o];return t.filter(Boolean).join(e)}}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.useDimensions=useDimensions,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(".");
2
2
  //# sourceMappingURL=utils.js.map
@@ -1,2 +1,2 @@
1
- import{__makeTemplateObject}from"tslib";import styled from"../../redoc-lib/src/styled-components";import{ShelfIcon}from"../../redoc-lib/src/common-elements/icons";import{Panel}from"./Panel";import{Header}from"./Header";import{DarkHeader}from"./DarkHeader";import{PanelBody}from"./PanelBody";export var CodePanel=styled(Panel)(templateObject_1||(templateObject_1=__makeTemplateObject(["\n > "," {\n ",";\n\n "," {\n fill: ",";\n position: relative;\n }\n }\n\n && {\n "," {\n padding: 10px 20px 20px;\n background-color: ",";\n color: ",";\n }\n }\n"],["\n > "," {\n ",";\n\n "," {\n fill: ",";\n position: relative;\n }\n }\n\n && {\n "," {\n padding: 10px 20px 20px;\n background-color: ",";\n color: ",";\n }\n }\n"])),Header,DarkHeader,ShelfIcon,(function(e){return e.theme.colors.text.light}),PanelBody,(function(e){return e.theme.rightPanel.panelBackgroundColor}),(function(e){return e.theme.colors.text.light}));var templateObject_1;
1
+ import{__makeTemplateObject}from"tslib";import styled from"../../redoc-lib/src/styled-components";import{ShelfIcon}from"../../redoc-lib/src/common-elements/icons";import{Panel}from"./Panel";import{Header}from"./Header";import{DarkHeader}from"./DarkHeader";import{PanelBody}from"./PanelBody";export var CodePanel=styled(Panel)(templateObject_1||(templateObject_1=__makeTemplateObject(["\n > "," {\n ",";\n min-height: 50px;\n "," {\n fill: ",";\n position: relative;\n }\n }\n\n && {\n "," {\n padding: 10px 20px 20px;\n background-color: ",";\n color: ",";\n }\n }\n"],["\n > "," {\n ",";\n min-height: 50px;\n "," {\n fill: ",";\n position: relative;\n }\n }\n\n && {\n "," {\n padding: 10px 20px 20px;\n background-color: ",";\n color: ",";\n }\n }\n"])),Header,DarkHeader,ShelfIcon,(function(e){return e.theme.colors.text.light}),PanelBody,(function(e){return e.theme.rightPanel.panelBackgroundColor}),(function(e){return e.theme.colors.text.light}));var templateObject_1;
2
2
  //# sourceMappingURL=CodePanel.js.map
@@ -1,2 +1,2 @@
1
- import{__makeTemplateObject}from"tslib";import styled from"../../redoc-lib/src/styled-components";import{FieldsGroupHeader,ShelfIcon}from"../../redoc-lib/src/common-elements/";import{Header}from"./Header";import{Title}from"./Title";import{Panel}from"./Panel";import{PanelBody}from"./PanelBody";export var ContentPanel=styled(Panel)(templateObject_1||(templateObject_1=__makeTemplateObject(["\n border: 1px solid ",";\n background: #ffffff;\n\n &:not(:last-child) {\n margin-bottom: 20px;\n }\n\n > "," {\n padding: ","px;\n font-size: 18px;\n line-height: 18px;\n font-weight: ",";\n\n "," {\n margin-right: 8px;\n color: ",";\n }\n\n "," {\n fill: ",";\n }\n }\n\n "," {\n padding: ","px;\n }\n\n > "," + "," {\n padding-top: 1px; /* to prevent border overflow */\n }\n\n "," {\n > "," > div:first-child > & {\n margin-top: 0;\n }\n }\n"],["\n border: 1px solid ",";\n background: #ffffff;\n\n &:not(:last-child) {\n margin-bottom: 20px;\n }\n\n > "," {\n padding: ","px;\n font-size: 18px;\n line-height: 18px;\n font-weight: ",";\n\n "," {\n margin-right: 8px;\n color: ",";\n }\n\n "," {\n fill: ",";\n }\n }\n\n "," {\n padding: ","px;\n }\n\n > "," + "," {\n padding-top: 1px; /* to prevent border overflow */\n }\n\n "," {\n > "," > div:first-child > & {\n margin-top: 0;\n }\n }\n"])),(function(n){return n.theme.colors.border.light}),Header,(function(n){return 4*n.theme.spacing.unit}),(function(n){return n.theme.typography.fontWeightBold}),Title,(function(n){return n.theme.colors.text.primary}),ShelfIcon,(function(n){return n.theme.colors.text.primary}),PanelBody,(function(n){return 4*n.theme.spacing.unit}),Header,PanelBody,FieldsGroupHeader,PanelBody);var templateObject_1;
1
+ import{__makeTemplateObject}from"tslib";import styled from"../../redoc-lib/src/styled-components";import{FieldsGroupHeader,ShelfIcon}from"../../redoc-lib/src/common-elements/";import{Header}from"./Header";import{Title}from"./Title";import{Panel}from"./Panel";import{PanelBody}from"./PanelBody";export var ContentPanel=styled(Panel)(templateObject_1||(templateObject_1=__makeTemplateObject(["\n border: 1px solid ",";\n background: #ffffff;\n\n &:not(:last-child) {\n margin-bottom: 20px;\n }\n\n > "," {\n padding: ","px;\n font-size: 18px;\n line-height: 18px;\n font-weight: ",";\n background-color: ",";\n\n "," {\n margin-right: 8px;\n color: ",";\n }\n\n "," {\n fill: ",";\n }\n }\n\n "," {\n padding: ","px;\n }\n\n > "," + "," {\n padding-top: 1px; /* to prevent border overflow */\n }\n\n "," {\n > "," > div:first-child > & {\n margin-top: 0;\n }\n }\n"],["\n border: 1px solid ",";\n background: #ffffff;\n\n &:not(:last-child) {\n margin-bottom: 20px;\n }\n\n > "," {\n padding: ","px;\n font-size: 18px;\n line-height: 18px;\n font-weight: ",";\n background-color: ",";\n\n "," {\n margin-right: 8px;\n color: ",";\n }\n\n "," {\n fill: ",";\n }\n }\n\n "," {\n padding: ","px;\n }\n\n > "," + "," {\n padding-top: 1px; /* to prevent border overflow */\n }\n\n "," {\n > "," > div:first-child > & {\n margin-top: 0;\n }\n }\n"])),(function(n){return n.theme.colors.border.light}),Header,(function(n){return 4*n.theme.spacing.unit}),(function(n){return n.theme.typography.fontWeightBold}),(function(n){return n.theme.components.panels.backgroundColor}),Title,(function(n){return n.theme.colors.text.primary}),ShelfIcon,(function(n){return n.theme.colors.text.primary}),PanelBody,(function(n){return 4*n.theme.spacing.unit}),Header,PanelBody,FieldsGroupHeader,PanelBody);var templateObject_1;
2
2
  //# sourceMappingURL=ContentPanel.js.map
@@ -1,2 +1,2 @@
1
- import{__makeTemplateObject}from"tslib";import{css}from"../../redoc-lib/src/styled-components";export var DarkHeader=css(templateObject_1||(templateObject_1=__makeTemplateObject(["\n padding: 10px 20px;\n min-height: 44px;\n line-height: 30px;\n background-color: ",";\n"],["\n padding: 10px 20px;\n min-height: 44px;\n line-height: 30px;\n background-color: ",";\n"])),(function(e){return e.theme.rightPanel.panelControlsBackgroundColor}));var templateObject_1;
1
+ import{__makeTemplateObject}from"tslib";import{css}from"../../redoc-lib/src/styled-components";export var DarkHeader=css(templateObject_1||(templateObject_1=__makeTemplateObject(["\n padding: 10px 20px;\n line-height: 30px;\n background-color: ",";\n"],["\n padding: 10px 20px;\n line-height: 30px;\n background-color: ",";\n"])),(function(e){return e.theme.rightPanel.panelControlsBackgroundColor}));var templateObject_1;
2
2
  //# sourceMappingURL=DarkHeader.js.map
@@ -1,2 +1,2 @@
1
- import{__makeTemplateObject}from"tslib";import styled,{keyframes,css}from"../../redoc-lib/src/styled-components";var templateObject_1,templateObject_2,templateObject_3,showPanel=keyframes(templateObject_1||(templateObject_1=__makeTemplateObject(["\n 0% {\n transform: translateY(-10px);\n }\n 100% {\n transform: translateY(0);\n }\n"],["\n 0% {\n transform: translateY(-10px);\n }\n 100% {\n transform: translateY(0);\n }\n"]))),showPanelAnimation=css(templateObject_2||(templateObject_2=__makeTemplateObject(["\n animation: "," 0.2s;\n"],["\n animation: "," 0.2s;\n"])),showPanel);export var PanelBody=styled.div(templateObject_3||(templateObject_3=__makeTemplateObject(["\n ",";\n ",";\n\n border-top-left-radius: ",";\n border-top-right-radius: ",";\n border-bottom-right-radius: ",";\n border-bottom-left-radius: ",";\n background-color: #fff;\n"],["\n ",";\n ",";\n\n border-top-left-radius: ",";\n border-top-right-radius: ",";\n border-bottom-right-radius: ",";\n border-bottom-left-radius: ",";\n background-color: #fff;\n"])),(function(e){return e.animate&&showPanelAnimation}),(function(e){return e.hidden&&"visibility: hidden"}),(function(e){return e.theme.components.panels.borderRadius}),(function(e){return e.theme.components.panels.borderRadius}),(function(e){return e.theme.components.panels.borderRadius}),(function(e){return e.theme.components.panels.borderRadius}));
1
+ import{__makeTemplateObject}from"tslib";import styled,{keyframes,css}from"../../redoc-lib/src/styled-components";var templateObject_1,templateObject_2,templateObject_3,showPanel=keyframes(templateObject_1||(templateObject_1=__makeTemplateObject(["\n 0% {\n transform: translateY(-10px);\n }\n 100% {\n transform: translateY(0);\n }\n"],["\n 0% {\n transform: translateY(-10px);\n }\n 100% {\n transform: translateY(0);\n }\n"]))),showPanelAnimation=css(templateObject_2||(templateObject_2=__makeTemplateObject(["\n animation: "," 0.2s;\n"],["\n animation: "," 0.2s;\n"])),showPanel);export var PanelBody=styled.div(templateObject_3||(templateObject_3=__makeTemplateObject(["\n ",";\n ",";\n\n border-top-left-radius: ",";\n border-top-right-radius: ",";\n border-bottom-right-radius: ",";\n border-bottom-left-radius: ",";\n background-color: ",";\n"],["\n ",";\n ",";\n\n border-top-left-radius: ",";\n border-top-right-radius: ",";\n border-bottom-right-radius: ",";\n border-bottom-left-radius: ",";\n background-color: ",";\n"])),(function(e){return e.animate&&showPanelAnimation}),(function(e){return e.hidden&&"visibility: hidden"}),(function(e){return e.theme.components.panels.borderRadius}),(function(e){return e.theme.components.panels.borderRadius}),(function(e){return e.theme.components.panels.borderRadius}),(function(e){return e.theme.components.panels.borderRadius}),(function(e){return e.theme.components.panels.backgroundColor}));
2
2
  //# sourceMappingURL=PanelBody.js.map
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { ProStore, RedocProRawOptions } from '../services/ProStore';
3
3
  import { LayoutVariant } from '../services/store-types';
4
- import { SpecsInfo } from '../services/MultipleSpecsStore';
4
+ import { SpecVersions } from '../services/VersionedSpecStore';
5
5
  import { CodeSampleConfig } from '../services/code-samples/types';
6
6
  export interface RedoclyReferenceDocsProps {
7
7
  store: ProStore;
@@ -38,7 +38,7 @@ export interface RedoclyReferenceDocsStandaloneProps {
38
38
  }
39
39
  export declare function RedoclyReferenceDocsStandalone(props: RedoclyReferenceDocsStandaloneProps): JSX.Element | null;
40
40
  export interface RedoclyReferenceDocsMultiStandaloneProps {
41
- definitions: SpecsInfo;
41
+ definitions: SpecVersions;
42
42
  options?: RedocProRawOptions;
43
43
  }
44
44
  export declare class RedoclyReferenceDocsMultiStandalone extends React.Component<RedoclyReferenceDocsMultiStandaloneProps> {
@@ -1,2 +1,2 @@
1
- import{__decorate,__extends,__makeTemplateObject}from"tslib";import*as React from"react";import{observer}from"mobx-react";import{configure,reaction}from"mobx";import{ApiInfo,ApiLogo,argValueToBoolean,ContentItems,createGlobalStyle,ErrorBoundary,Loading,mediaCSS,mediaMap,MiddlePanel,RedocNormalizedOptions,RightPanel,SideMenu,StickyResponsiveSidebar,ZERO_BREAKPOINT}from"../redoc-lib";import{ProSearchBox,SearchField}from"./Search";import{ContinueButton}from"./NextSectionButton";import{ProStoreProvider}from"./StoreProvider";import{LayoutVariant}from"../services/store-types";import{Console}from"./console/ConsoleLazy";import{MultipleSpecsStore}from"../services/MultipleSpecsStore";import{ProProviders}from"./ProProviders";import{Overlay}from"./Overlay";import{VersionedSpecStore}from"../services/VersionedSpecStore";import{VersionSwitcher}from"./VersionSwitcher";import{BackgroundStub,BackgroundStubFix,RedocWrap,ApiContentWrap,NextSectionButtonWrap,ToggleRightPanelButton,ChangeViewButton,ControlsWrap}from"./styled.elements";configure({useProxies:"ifavailable"});export var CssFixes=createGlobalStyle(templateObject_1||(templateObject_1=__makeTemplateObject(['\n div[data-section-id]::after {\n content: " ";\n display: block;\n height: 0;\n clear: both;\n visibility: hidden;\n }\n\n '," {\n ","\n }\n\n ",", "," {\n ","\n }\n\n ",", "," {\n ","\n }\n\n "," {\n ",";\n }\n"],['\n div[data-section-id]::after {\n content: " ";\n display: block;\n height: 0;\n clear: both;\n visibility: hidden;\n }\n\n '," {\n ","\n }\n\n ",", "," {\n ","\n }\n\n ",", "," {\n ","\n }\n\n "," {\n ",";\n }\n"])),RightPanel,(function(e){var t,n=e.theme,o=e.showRightPanel,r=e.layout;return mediaCSS({width:r===LayoutVariant.STACKED?"100%":"",paddingLeft:r===LayoutVariant.STACKED?n.spacing.sectionHorizontal:"",display:o?"":(t={},t[ZERO_BREAKPOINT]="",t[n.rightPanel.showAtBreakpoint]="none",t)})}),BackgroundStub,BackgroundStubFix,(function(e){var t,n=e.theme,o=e.showRightPanel,r=e.layout;return mediaCSS({display:o&&r!==LayoutVariant.STACKED?"":(t={},t[ZERO_BREAKPOINT]="",t[n.rightPanel.showAtBreakpoint]="none",t)})}),MiddlePanel,NextSectionButtonWrap,(function(e){var t,n,o,r=e.theme,a=e.showRightPanel,i=e.layout;return mediaCSS({maxWidth:a&&i===LayoutVariant.THREE_PANEL?mediaMap(r.breakpoints,[r.layout["three-panel"].middlePanelMaxWidth],(t={},t[ZERO_BREAKPOINT]=function(){return"none"},t[r.rightPanel.showAtBreakpoint]=function(e){return e},t)):"none",margin:a&&i===LayoutVariant.THREE_PANEL?mediaMap(r.breakpoints,[r.rightPanel.width,r.layout["three-panel"].middlePanelMaxWidth],(n={},n[ZERO_BREAKPOINT]=function(){return"0"},n[r.rightPanel.showAtBreakpoint]=function(e,t){return t&&"none"!==t?"0 max(calc((100% - "+e+" - "+t+"}) / 2), 0px)":"0"},n)):"0",paddingRight:i===LayoutVariant.STACKED?r.spacing.sectionHorizontal:"",width:a&&i===LayoutVariant.THREE_PANEL?"":(o={},o[ZERO_BREAKPOINT]="",o[r.rightPanel.showAtBreakpoint]="100%",o)})}),ApiContentWrap,(function(e){var t,n=e.theme,o=e.showRightPanel,r=e.layout;return mediaCSS({width:(t={},t[ZERO_BREAKPOINT]="none",t.small="calc(100% - "+n.sidebar.width+")",t),maxWidth:n.layout[r===LayoutVariant.THREE_PANEL&&o?LayoutVariant.THREE_PANEL:LayoutVariant.STACKED].maxWidth})}));var RedoclyReferenceDocs=function(e){function t(t){var n=e.call(this,t)||this;return Object.defineProperty(n,"_observer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"_updatedItems",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(n,"rootElementRef",{enumerable:!0,configurable:!0,writable:!0,value:React.createRef()}),Object.defineProperty(n,"handleClose",{enumerable:!0,configurable:!0,writable:!0,value:function(){return n.props.store.tryItOut()}}),n.state={searchPopUpShown:!1,searchPopUpValue:""},n}return __extends(t,e),Object.defineProperty(t.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this;this.props.store.onDidMount(),this._observer=reaction((function(){return e.props.store.menu.renderItems}),(function(){e._updatedItems=!0}))}}),Object.defineProperty(t.prototype,"componentDidUpdate",{enumerable:!1,configurable:!0,writable:!0,value:function(){this._updatedItems&&(this._updatedItems=!1,this.props.store.menu.scrollToActive())}}),Object.defineProperty(t.prototype,"componentWillUnmount",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.props.store.dispose(),this._observer()}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=this.props.store,n=t.definition,o=t.menu,r=t.options,a=t.search,i=t.marker,l=this.props.store,c=o.renderItems,s=!r.hideInfoSection&&("none"===r.pagination||l.menu.activeRenderItemIdx<=0);return s&&"none"!==r.pagination&&r.disableSidebar&&c[0]&&"section"!==c[0].type&&(s=!1),n instanceof MultipleSpecsStore&&(s=!1),this.props._forceRenderInfo&&(s=!0),React.createElement(ProProviders,{store:l},React.createElement(RedocWrap,{className:"redoc-wrap",ref:this.rootElementRef},React.createElement(Overlay,{l:l.l}),React.createElement(CssFixes,{whiteLabel:r.whiteLabel,showRightPanel:l.showRightPanel,layout:l.layout}),l.tryItOperation&&React.createElement(Console,{rootElement:this.rootElementRef.current,store:l,operation:l.tryItOperation,onClose:this.handleClose,specIdx:l.tryItOperation.specIdx}),!r.disableSidebar&&React.createElement(StickyResponsiveSidebar,{menu:o,className:"menu-content"},!l.options.hideLogo&&React.createElement(ApiLogo,{info:n.info}),n instanceof VersionedSpecStore&&React.createElement(VersionSwitcher,{spec:n,onChange:function(e){n.changeVersion(e.idx),o.updateItemsByVersionChange(!0),l.tryItOut(void 0)}}),!l.options.disableSearch&&React.createElement(SearchField,{showPopUp:function(){return e.setState({searchPopUpShown:!0})},searchValue:this.state.searchPopUpValue,marker:i,setSearchValue:function(t){return e.setState({searchPopUpValue:t})}}),React.createElement(SideMenu,{menu:o})),React.createElement(ApiContentWrap,{className:(l.isLoading?"loading ":"")+"api-content",layout:l.layout===LayoutVariant.THREE_PANEL&&l.showRightPanel?LayoutVariant.THREE_PANEL:LayoutVariant.STACKED},r.theme.layout.showDarkRightPanel&&l.showRightPanel&&l.layout!==LayoutVariant.STACKED&&React.createElement(BackgroundStub,null),s&&React.createElement(ApiInfo,{store:l}),React.createElement(ContentItems,{items:c,store:l}),r.showNextButton&&React.createElement(ContinueButton,{pagination:r.pagination,menu:o}),this.props.children),React.createElement(ControlsWrap,null,React.createElement(ToggleRightPanelButton,{store:l,isVisible:l.layout===LayoutVariant.THREE_PANEL}),React.createElement(ChangeViewButton,{store:l,isVisible:l.showRightPanel})),React.createElement(ProSearchBox,{search:a,marker:i,menu:o,onActivate:o.activateAndScroll.bind(o),options:r,shown:this.state.searchPopUpShown,hidePopUp:function(){return e.setState({searchPopUpShown:!1})},showPopUp:function(){return e.setState({searchPopUpShown:!0})},setSearchValue:function(t){return e.setState({searchPopUpValue:t})},searchValue:this.state.searchPopUpValue}),r.theme.layout.showDarkRightPanel&&l.showRightPanel&&l.layout!==LayoutVariant.STACKED&&React.createElement(BackgroundStubFix,null)))}}),t=__decorate([observer],t)}(React.Component);export{RedoclyReferenceDocs};export function RedoclyReferenceDocsStandalone(e){var t=e.definition,n=e.definitionUrl,o=e.options,r=void 0===o?{}:o,a=e.activeItemId,i=e.activeSampleLanguage,l=e.activeDeepLink,c=argValueToBoolean(r.hideLoading,!1),s=new RedocNormalizedOptions(r),u=React.createElement(ProStoreProvider,{definition:t,definitionUrl:n,options:r,activeItemId:a,activeSampleLanguage:i,activeDeepLink:l},(function(e){var t=e.loading,n=e.store;return t?c?null:React.createElement(Loading,{color:s.theme.colors.primary.main}):React.createElement(RedoclyReferenceDocs,{store:n})}));return r.disableErrorBoundary?u:React.createElement(ErrorBoundary,null,u)}var templateObject_1,RedoclyReferenceDocsMultiStandalone=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return __extends(t,e),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.props,t=e.definitions,n=e.options,o=void 0===n?{}:n,r=argValueToBoolean(o.hideLoading,!1),a=new RedocNormalizedOptions(o);return React.createElement(ErrorBoundary,null,React.createElement(ProStoreProvider,{definitions:t,options:o},(function(e){var t=e.loading,n=e.store;return t?r?null:React.createElement(Loading,{color:a.theme.colors.primary.main}):React.createElement(RedoclyReferenceDocs,{store:n})})))}}),t}(React.Component);export{RedoclyReferenceDocsMultiStandalone};
1
+ import{__decorate,__extends,__makeTemplateObject}from"tslib";import*as React from"react";import{observer}from"mobx-react";import{configure,reaction}from"mobx";import{ApiInfo,ApiLogo,argValueToBoolean,ContentItems,createGlobalStyle,ErrorBoundary,Loading,mediaCSS,mediaMap,MiddlePanel,RedocNormalizedOptions,RightPanel,SideMenu,StickyResponsiveSidebar,ZERO_BREAKPOINT}from"../redoc-lib";import{ProSearchBox,SearchField}from"./Search";import{ContinueButton}from"./NextSectionButton";import{ProStoreProvider}from"./StoreProvider";import{LayoutVariant}from"../services/store-types";import{Console}from"./console/ConsoleLazy";import{ProProviders}from"./ProProviders";import{Overlay}from"./Overlay";import{VersionedSpecStore}from"../services/VersionedSpecStore";import{VersionSwitcher}from"./VersionSwitcher";import{BackgroundStub,BackgroundStubFix,RedocWrap,ApiContentWrap,NextSectionButtonWrap,ToggleRightPanelButton,ChangeViewButton,ControlsWrap}from"./styled.elements";configure({useProxies:"ifavailable"});export var CssFixes=createGlobalStyle(templateObject_1||(templateObject_1=__makeTemplateObject(['\n div[data-section-id]::after {\n content: " ";\n display: block;\n height: 0;\n clear: both;\n visibility: hidden;\n }\n\n '," {\n ","\n }\n\n ",", "," {\n ","\n }\n\n ",", "," {\n ","\n }\n\n "," {\n ",";\n }\n"],['\n div[data-section-id]::after {\n content: " ";\n display: block;\n height: 0;\n clear: both;\n visibility: hidden;\n }\n\n '," {\n ","\n }\n\n ",", "," {\n ","\n }\n\n ",", "," {\n ","\n }\n\n "," {\n ",";\n }\n"])),RightPanel,(function(e){var t,n=e.theme,o=e.showRightPanel,a=e.layout;return mediaCSS({width:a===LayoutVariant.STACKED?"100%":"",paddingLeft:a===LayoutVariant.STACKED?n.spacing.sectionHorizontal:"",display:o?"":(t={},t[ZERO_BREAKPOINT]="",t[n.rightPanel.showAtBreakpoint]="none",t)})}),BackgroundStub,BackgroundStubFix,(function(e){var t,n=e.theme,o=e.showRightPanel,a=e.layout;return mediaCSS({display:o&&a!==LayoutVariant.STACKED?"":(t={},t[ZERO_BREAKPOINT]="",t[n.rightPanel.showAtBreakpoint]="none",t)})}),MiddlePanel,NextSectionButtonWrap,(function(e){var t,n,o,a=e.theme,r=e.showRightPanel,i=e.layout;return mediaCSS({maxWidth:r&&i===LayoutVariant.THREE_PANEL?mediaMap(a.breakpoints,[a.layout["three-panel"].middlePanelMaxWidth],(t={},t[ZERO_BREAKPOINT]=function(){return"none"},t[a.rightPanel.showAtBreakpoint]=function(e){return e},t)):"none",margin:r&&i===LayoutVariant.THREE_PANEL?mediaMap(a.breakpoints,[a.rightPanel.width,a.layout["three-panel"].middlePanelMaxWidth],(n={},n[ZERO_BREAKPOINT]=function(){return"0"},n[a.rightPanel.showAtBreakpoint]=function(e,t){return t&&"none"!==t?"0 max(calc((100% - "+e+" - "+t+"}) / 2), 0px)":"0"},n)):"0",paddingRight:i===LayoutVariant.STACKED?a.spacing.sectionHorizontal:"",width:r&&i===LayoutVariant.THREE_PANEL?"":(o={},o[ZERO_BREAKPOINT]="",o[a.rightPanel.showAtBreakpoint]="100%",o)})}),ApiContentWrap,(function(e){var t,n=e.theme,o=e.showRightPanel,a=e.layout;return mediaCSS({width:(t={},t[ZERO_BREAKPOINT]="none",t.small="calc(100% - "+n.sidebar.width+")",t),maxWidth:n.layout[a===LayoutVariant.THREE_PANEL&&o?LayoutVariant.THREE_PANEL:LayoutVariant.STACKED].maxWidth})}));var RedoclyReferenceDocs=function(e){function t(t){var n=e.call(this,t)||this;return Object.defineProperty(n,"_observer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"_updatedItems",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(n,"rootElementRef",{enumerable:!0,configurable:!0,writable:!0,value:React.createRef()}),Object.defineProperty(n,"handleClose",{enumerable:!0,configurable:!0,writable:!0,value:function(){return n.props.store.tryItOut()}}),n.state={searchPopUpShown:!1,searchPopUpValue:""},n}return __extends(t,e),Object.defineProperty(t.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this;this.props.store.onDidMount(),this._observer=reaction((function(){return e.props.store.menu.renderItems}),(function(){e._updatedItems=!0}))}}),Object.defineProperty(t.prototype,"componentDidUpdate",{enumerable:!1,configurable:!0,writable:!0,value:function(){this._updatedItems&&(this._updatedItems=!1,this.props.store.menu.scrollToActive())}}),Object.defineProperty(t.prototype,"componentWillUnmount",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.props.store.dispose(),this._observer()}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=this.props.store,n=t.definition,o=t.menu,a=t.options,r=t.search,i=t.marker,l=this.props.store,c=o.renderItems,s=!a.hideInfoSection&&("none"===a.pagination||l.menu.activeRenderItemIdx<=0);return s&&"none"!==a.pagination&&a.disableSidebar&&c[0]&&"section"!==c[0].type&&(s=!1),this.props._forceRenderInfo&&(s=!0),React.createElement(ProProviders,{store:l},React.createElement(RedocWrap,{className:"redoc-wrap",ref:this.rootElementRef},React.createElement(Overlay,{l:l.l}),React.createElement(CssFixes,{whiteLabel:a.whiteLabel,showRightPanel:l.showRightPanel,layout:l.layout}),l.tryItOperation&&React.createElement(Console,{rootElement:this.rootElementRef.current,store:l,operation:l.tryItOperation,onClose:this.handleClose}),!a.disableSidebar&&React.createElement(StickyResponsiveSidebar,{menu:o,className:"menu-content"},!l.options.hideLogo&&React.createElement(ApiLogo,{info:n.info}),n instanceof VersionedSpecStore&&React.createElement(VersionSwitcher,{spec:n,onChange:function(e){n.changeVersion(e.idx),o.updateItemsByVersionChange(!0),l.tryItOut(void 0)}}),!l.options.disableSearch&&React.createElement(SearchField,{showPopUp:function(){return e.setState({searchPopUpShown:!0})},searchValue:this.state.searchPopUpValue,marker:i,setSearchValue:function(t){return e.setState({searchPopUpValue:t})}}),React.createElement(SideMenu,{menu:o})),React.createElement(ApiContentWrap,{className:(l.isLoading?"loading ":"")+"api-content",layout:l.layout===LayoutVariant.THREE_PANEL&&l.showRightPanel?LayoutVariant.THREE_PANEL:LayoutVariant.STACKED},a.theme.layout.showDarkRightPanel&&l.showRightPanel&&l.layout!==LayoutVariant.STACKED&&React.createElement(BackgroundStub,null),s&&React.createElement(ApiInfo,{store:l}),React.createElement(ContentItems,{items:c,store:l}),a.showNextButton&&React.createElement(ContinueButton,{pagination:a.pagination,menu:o}),this.props.children),React.createElement(ControlsWrap,null,React.createElement(ToggleRightPanelButton,{store:l,isVisible:l.layout===LayoutVariant.THREE_PANEL}),React.createElement(ChangeViewButton,{store:l,isVisible:l.showRightPanel})),React.createElement(ProSearchBox,{search:r,marker:i,menu:o,onActivate:o.activateAndScroll.bind(o),options:a,shown:this.state.searchPopUpShown,hidePopUp:function(){return e.setState({searchPopUpShown:!1})},showPopUp:function(){return e.setState({searchPopUpShown:!0})},setSearchValue:function(t){return e.setState({searchPopUpValue:t})},searchValue:this.state.searchPopUpValue}),a.theme.layout.showDarkRightPanel&&l.showRightPanel&&l.layout!==LayoutVariant.STACKED&&React.createElement(BackgroundStubFix,null)))}}),t=__decorate([observer],t)}(React.Component);export{RedoclyReferenceDocs};export function RedoclyReferenceDocsStandalone(e){var t=e.definition,n=e.definitionUrl,o=e.options,a=void 0===o?{}:o,r=e.activeItemId,i=e.activeSampleLanguage,l=e.activeDeepLink,c=argValueToBoolean(a.hideLoading,!1),s=new RedocNormalizedOptions(a),u=React.createElement(ProStoreProvider,{definition:t,definitionUrl:n,options:a,activeItemId:r,activeSampleLanguage:i,activeDeepLink:l},(function(e){var t=e.loading,n=e.store;return t?c?null:React.createElement(Loading,{color:s.theme.colors.primary.main}):React.createElement(RedoclyReferenceDocs,{store:n})}));return a.disableErrorBoundary?u:React.createElement(ErrorBoundary,null,u)}var templateObject_1,RedoclyReferenceDocsMultiStandalone=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return __extends(t,e),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.props,t=e.definitions,n=e.options,o=void 0===n?{}:n,a=argValueToBoolean(o.hideLoading,!1),r=new RedocNormalizedOptions(o);return React.createElement(ErrorBoundary,null,React.createElement(ProStoreProvider,{definitions:t,options:o},(function(e){var t=e.loading,n=e.store;return t?a?null:React.createElement(Loading,{color:r.theme.colors.primary.main}):React.createElement(RedoclyReferenceDocs,{store:n})})))}}),t}(React.Component);export{RedoclyReferenceDocsMultiStandalone};
2
2
  //# sourceMappingURL=RedoclyReferenceDocs.js.map
@@ -1,13 +1,13 @@
1
1
  import * as React from 'react';
2
2
  import { ProStore, RedocProRawOptions } from '../services/ProStore';
3
- import { SpecInfo, SpecsInfo, SpecVersions } from '../services/MultipleSpecsStore';
4
3
  import { CodeSampleConfig } from '../services/code-samples/types';
4
+ import type { SpecVersions } from '../services/VersionedSpecStore';
5
5
  export declare const Provider: React.Provider<ProStore | undefined>, Consumer: React.Consumer<ProStore | undefined>;
6
6
  interface StoreProviderProps {
7
7
  definitionUrl?: string;
8
8
  definition?: GenericObject;
9
9
  store?: ProStore;
10
- definitions?: SpecsInfo;
10
+ definitions?: SpecVersions;
11
11
  options?: RedocProRawOptions;
12
12
  children: (props: {
13
13
  loading: boolean;
@@ -18,5 +18,5 @@ interface StoreProviderProps {
18
18
  activeDeepLink?: string;
19
19
  }
20
20
  export declare const ProStoreProvider: ({ definitions, options, definitionUrl, definition, activeItemId, activeSampleLanguage, activeDeepLink, children, }: StoreProviderProps) => JSX.Element | null;
21
- export declare function loadSpecs(specs: SpecInfo[] | SpecVersions): Promise<void>;
21
+ export declare function loadSpecs({ versions }: SpecVersions): Promise<void>;
22
22
  export {};
@@ -1,2 +1,2 @@
1
- var _a;import{__awaiter,__generator}from"tslib";import*as React from"react";import{loadAndBundleDefinition}from"../redoc-lib";import{ProStore}from"../services/ProStore";import slugify from"slugify";import isDeepEqual from"fast-deep-equal";import{FakeHistoryService}from"../services";export var Provider=(_a=React.createContext(void 0),_a.Provider),Consumer=_a.Consumer;export var ProStoreProvider=function(e){var t=e.definitions,n=e.options,r=e.definitionUrl,i=e.definition,o=e.activeItemId,a=e.activeSampleLanguage,s=e.activeDeepLink,u=e.children,c=React.useState()[1],l=React.useState(!0),d=l[0],f=l[1],p=React.useState(null),v=p[0],m=p[1];React.useEffect((function(){!function(){__awaiter(this,void 0,void 0,(function(){var e,o,a;return __generator(this,(function(s){switch(s.label){case 0:f(!0),s.label=1;case 1:return s.trys.push([1,6,,7]),e=m,t?[4,loadMany(t)]:[3,3];case 2:return o=s.sent(),[3,5];case 3:return[4,loadSingle(i,r,n)];case 4:o=s.sent(),s.label=5;case 5:return e.apply(void 0,[o]),[3,7];case 6:return a=s.sent(),c((function(){throw a})),[3,7];case 7:return[2]}}))}))}()}),[t,i,r,n]);var h=React.useMemo((function(){var e,t,i;if(v){var o=new ProStore(v,r,n);return(null===(e=o.options.hooks)||void 0===e?void 0:e.onInit)&&(null===(i=null===(t=o.options.hooks)||void 0===t?void 0:t.onInit)||void 0===i||i.call(t,{store:o})),o}}),useDeepCompareMemoize([v,n]));return React.useEffect((function(){if(h)return f(!1),function(){return h.dispose()}}),[h]),React.useEffect((function(){var e;if(h&&o){var t=(null==o?void 0:o.split(h.options.deepLinkPrefix)[0])||(null===(e=h.menu.flatItems[h.menu.activeItemIdx])||void 0===e?void 0:e.id),n=h.menu.flatItems.find((function(e){return e.id===t})),r=s?t+h.options.deepLinkPrefix+s:void 0;r&&h.menu.history instanceof FakeHistoryService&&h.menu.history.replaceForField(r),h.menu.activateAndScroll(n,!0,!1,r)}}),[o,s,h]),React.useEffect((function(){h&&a&&h.setActiveSampleLanguage(a)}),[a,h]),u({loading:d,store:h})};function fixSpec(e){for(var t=e.components&&e.components.securitySchemes||{},n=0,r=Object.keys(t);n<r.length;n++){var i=t[r[n]];i["x-type"]&&(i.type=i["x-type"]),i["x-scheme"]&&(i.scheme=i["x-scheme"])}}function loadMany(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){switch(t.label){case 0:return[4,loadSpecs(e||[])];case 1:return t.sent(),[2,e]}}))}))}function loadSingle(e,t,n){return __awaiter(this,void 0,void 0,(function(){var r,i,o,a;return __generator(this,(function(s){switch(s.label){case 0:if(!(null==n?void 0:n.skipBundleAndConvert))return[3,1];if(!e)throw new Error('spec must be specified when using "skipBundleAndConvert"');return r=e,[3,3];case 1:return[4,loadAndBundleDefinition(e||t)];case 2:r=s.sent(),s.label=3;case 3:if(!(i=null==n?void 0:n.unstable_externalDescription))return[3,8];s.label=4;case 4:return s.trys.push([4,7,,8]),[4,fetch(i)];case 5:return[4,s.sent().text()];case 6:return o=s.sent(),r.info.description=o,[3,8];case 7:return a=s.sent(),console.warn("Failed to load external description from "+i+": "+a.message),[3,8];case 8:try{fixSpec(r)}catch(e){}return[2,r]}}))}))}function loadAndBundleSpecOrMd(e,t){return e.endsWith(".md")?loadAndBundleDefinition({openapi:"3.0.0",info:{title:t||"",version:"1.0",description:{$ref:e}},paths:{}}):loadAndBundleDefinition(e)}export function loadSpecs(e){return __awaiter(this,void 0,void 0,(function(){var t,n,r,i,o,a,s,u,c,l,d,f,p;return __generator(this,(function(v){switch(v.label){case 0:if(!Array.isArray(e))return[3,8];t=0,n=e,v.label=1;case 1:return t<n.length?((r=n[t]).id=r.id||slugify(r.title),r.url?(i=r,[4,loadAndBundleSpecOrMd(r.url,r.title)]):[3,3]):[3,8];case 2:return i.definition=v.sent(),[3,7];case 3:o=0,a=r.items||[],v.label=4;case 4:return o<a.length?(s=a[o]).url?(u=s,[4,loadAndBundleSpecOrMd(s.url,r.title)]):[3,6]:[3,7];case 5:u.definition=v.sent(),v.label=6;case 6:return o++,[3,4];case 7:return t++,[3,1];case 8:if(c=e.versions,!Array.isArray(c))return[3,12];l=0,d=c,v.label=9;case 9:return l<d.length?(f=d[l]).url?(p=f,[4,loadAndBundleSpecOrMd(f.url)]):[3,11]:[3,12];case 10:p.spec=v.sent(),v.label=11;case 11:return l++,[3,9];case 12:return[2]}}))}))}function useDeepCompareMemoize(e){var t=React.useRef(),n=React.useRef(0);return isDeepEqual(e,t.current)||(t.current=e,n.current+=1),[n.current]}
1
+ var _a;import{__awaiter,__generator}from"tslib";import*as React from"react";import{loadAndBundleDefinition}from"../redoc-lib";import{ProStore}from"../services/ProStore";import isDeepEqual from"fast-deep-equal";import{FakeHistoryService}from"../services";export var Provider=(_a=React.createContext(void 0),_a.Provider),Consumer=_a.Consumer;export var ProStoreProvider=function(e){var t=e.definitions,n=e.options,r=e.definitionUrl,i=e.definition,o=e.activeItemId,a=e.activeSampleLanguage,s=e.activeDeepLink,c=e.children,u=React.useState()[1],l=React.useState(!0),d=l[0],f=l[1],p=React.useState(null),v=p[0],m=p[1];React.useEffect((function(){!function(){__awaiter(this,void 0,void 0,(function(){var e,o,a;return __generator(this,(function(s){switch(s.label){case 0:f(!0),s.label=1;case 1:return s.trys.push([1,6,,7]),e=m,t?[4,loadMany(t)]:[3,3];case 2:return o=s.sent(),[3,5];case 3:return[4,loadSingle(i,r,n)];case 4:o=s.sent(),s.label=5;case 5:return e.apply(void 0,[o]),[3,7];case 6:return a=s.sent(),u((function(){throw a})),[3,7];case 7:return[2]}}))}))}()}),[t,i,r,n]);var h=React.useMemo((function(){var e,t,i;if(v){var o=new ProStore(v,r,n);return(null===(e=o.options.hooks)||void 0===e?void 0:e.onInit)&&(null===(i=null===(t=o.options.hooks)||void 0===t?void 0:t.onInit)||void 0===i||i.call(t,{store:o})),o}}),useDeepCompareMemoize([v,n]));return React.useEffect((function(){if(h)return f(!1),function(){return h.dispose()}}),[h]),React.useEffect((function(){var e;if(h&&o){var t=(null==o?void 0:o.split(h.options.deepLinkPrefix)[0])||(null===(e=h.menu.flatItems[h.menu.activeItemIdx])||void 0===e?void 0:e.id),n=h.menu.flatItems.find((function(e){return e.id===t})),r=s?t+h.options.deepLinkPrefix+s:void 0;r&&h.menu.history instanceof FakeHistoryService&&h.menu.history.replaceForField(r),h.menu.activateAndScroll(n,!0,!1,r)}}),[o,s,h]),React.useEffect((function(){h&&a&&h.setActiveSampleLanguage(a)}),[a,h]),c({loading:d,store:h})};function fixSpec(e){for(var t=e.components&&e.components.securitySchemes||{},n=0,r=Object.keys(t);n<r.length;n++){var i=t[r[n]];i["x-type"]&&(i.type=i["x-type"]),i["x-scheme"]&&(i.scheme=i["x-scheme"])}}function loadMany(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){switch(t.label){case 0:return[4,loadSpecs(e||{})];case 1:return t.sent(),[2,e]}}))}))}function loadSingle(e,t,n){return __awaiter(this,void 0,void 0,(function(){var r,i,o,a,s;return __generator(this,(function(c){switch(c.label){case 0:if(!(null==n?void 0:n.skipBundleAndConvert))return[3,1];if(!e)throw new Error('spec must be specified when using "skipBundleAndConvert"');return r=e,[3,3];case 1:return[4,loadAndBundleDefinition(e||t)];case 2:r=c.sent(),c.label=3;case 3:if(!(i=null==n?void 0:n.unstable_externalDescription))return[3,8];c.label=4;case 4:return c.trys.push([4,7,,8]),[4,fetch(i)];case 5:return o=c.sent(),a=r.info,[4,o.text()];case 6:return a.description=c.sent(),[3,8];case 7:return s=c.sent(),console.warn("Failed to load external description from "+i+": "+s.message),[3,8];case 8:try{fixSpec(r)}catch(e){}return[2,r]}}))}))}function loadAndBundleSpecOrMd(e,t){return e.endsWith(".md")?loadAndBundleDefinition({openapi:"3.0.0",info:{title:t||"",version:"1.0",description:{$ref:e}},paths:{}}):loadAndBundleDefinition(e)}export function loadSpecs(e){var t=e.versions;return __awaiter(this,void 0,void 0,(function(){var e,n,r,i;return __generator(this,(function(o){switch(o.label){case 0:if(!Array.isArray(t))return[3,4];e=0,n=t,o.label=1;case 1:return e<n.length?(r=n[e]).url?(i=r,[4,loadAndBundleSpecOrMd(r.url)]):[3,3]:[3,4];case 2:i.spec=o.sent(),o.label=3;case 3:return e++,[3,1];case 4:return[2]}}))}))}function useDeepCompareMemoize(e){var t=React.useRef(),n=React.useRef(0);return isDeepEqual(e,t.current)||(t.current=e,n.current+=1),[n.current]}
2
2
  //# sourceMappingURL=StoreProvider.js.map
@@ -1,2 +1,2 @@
1
- import{__makeTemplateObject}from"tslib";import*as React from"react";import{serializeParameterValue,styled}from"../../redoc-lib";import{CodeHeader}from"../Panel";import{Path,PathWrapper}from"../Endpoint/Path";import{HttpVerb,Button}from"../shared";import{expandVariables}from"./utils";function formatPath(e,t,n){var r=t.path||{},a=t.query||{},o=Object.keys(a),i=expandVariables(e,r);return o.length&&(i+="?"+o.map((function(e){if(!a[e])return"";var t=function(e){return n.find((function(t){return t.name===e&&"query"===t.in}))}(e);return t?serializeParameterValue(t,a[e]):e+"="+encodeURIComponent(a[e])})).filter(Boolean).join("&")),i}export var ActionPanel=function(e){var t=e.loading,n=e.operation,r=e.hasResponse,a=e.execute,o=e.params,i=void 0===o?{}:o;return React.createElement(TryItHeader,null,React.createElement(PathWrapper,null,React.createElement(HttpVerb,{type:n.httpVerb},n.httpVerb),React.createElement(Path,{wrap:"true"},formatPath(n.path,i,n.parameters))),React.createElement(SendButton,{"data-cy":"send-button",color:"primary",blinking:t,onClick:function(){t||a()}},t?"Sending...":r?"Resend":"Send"))};var templateObject_1,templateObject_2,SendButton=styled(Button)(templateObject_1||(templateObject_1=__makeTemplateObject(["\n width: ",";\n"],["\n width: ",";\n"])),(function(e){return e.theme.components.tryItSendButton.fullWidth?"100%":"auto"})),TryItHeader=styled(CodeHeader)(templateObject_2||(templateObject_2=__makeTemplateObject(["\n ",";\n"],["\n ",";\n"])),(function(e){return e.theme.components.tryItSendButton.fullWidth?"\n flex-direction: column;\n align-items: flex-start;":""}));
1
+ import{__makeTemplateObject}from"tslib";import*as React from"react";import{serializeParameterValue,styled}from"../../redoc-lib";import{CodeHeader}from"../Panel";import{Path,PathWrapper}from"../Endpoint/Path";import{HttpVerb,Button}from"../shared";import{expandVariables,queryString}from"./utils";function formatPath(e,t,r){var n=t.path||{},a=t.query||{},o=Object.keys(a),i=expandVariables(e,n);return o.length&&(i+="?"+o.map((function(e){var t;if(!a[e])return"";var n=function(e){return r.find((function(t){return t.name===e&&"query"===t.in}))}(e);return n?serializeParameterValue(n,a[e]):"object"==typeof a[e]?queryString(((t={})[e]=a[e],t)):e+"="+encodeURIComponent(a[e])})).filter(Boolean).join("&")),i}export var ActionPanel=function(e){var t=e.loading,r=e.operation,n=e.hasResponse,a=e.execute,o=e.params,i=void 0===o?{}:o;return React.createElement(TryItHeader,null,React.createElement(PathWrapper,null,React.createElement(HttpVerb,{type:r.httpVerb},r.httpVerb),React.createElement(Path,{wrap:"true"},formatPath(r.path,i,r.parameters))),React.createElement(SendButton,{"data-cy":"send-button",color:"primary",blinking:t,onClick:function(){t||a()}},t?"Sending...":n?"Resend":"Send"))};var templateObject_1,templateObject_2,SendButton=styled(Button)(templateObject_1||(templateObject_1=__makeTemplateObject(["\n width: ",";\n"],["\n width: ",";\n"])),(function(e){return e.theme.components.tryItSendButton.fullWidth?"100%":"auto"})),TryItHeader=styled(CodeHeader)(templateObject_2||(templateObject_2=__makeTemplateObject(["\n ",";\n"],["\n ",";\n"])),(function(e){return e.theme.components.tryItSendButton.fullWidth?"\n flex-direction: column;\n align-items: flex-start;":""}));
2
2
  //# sourceMappingURL=ActionPanel.js.map
@@ -1,2 +1,2 @@
1
- import{__assign,__extends}from"tslib";import*as React from"react";import{Dropdown}from"../../redoc-lib";import{fromStorage,getSecurityDetailsOptions,toStorage,escapeFormId}from"../../utils";import OAuth2TokenInput from"./OAuth2TokenInput";import{OAuth2Flow}from"./OAuth2Flow";import{OpenIDConnect}from"./OpenIDConnect";import{FormDropdown,FormTextField}from"../common/TextField";import{FormControl,FormLabel,FormWrapper}from"../common/form";import{l}from"../../redoc-lib/src/services/Labels";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}),toStorage("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=fromStorage("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(Dropdown,{variant:"dark",fullWidth:!0,prefix:"Security scheme: ",options:a,value:a[r].value,onChange:this.handleSchemeChange}))||null,o[r].schemes.map((function(r){var o,a,i,n,u,c,s,m=escapeFormId(r.id);if("apiKey"===r.type){var d=getSecurityDetailsOptions(m,""),p={field:"auth."+m,fullWidth:!0,initialValue:fromCookie(r)||fromStorage("auth."+m)||(null==t?void 0:t[m]),initValue:fromCookie(r)||fromStorage("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:fromStorage("auth."+m+".username")||(null===(o=null==t?void 0:t[m])||void 0===o?void 0:o.username),initValue:fromStorage("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",validate:requiredValidator,initialValue:fromStorage("auth."+m+".password")||(null===(i=null==t?void 0:t[m])||void 0===i?void 0:i.password),validateOnBlur:!0,validateOnChange:!0})))}if("bearer"===r.scheme){var h=getSecurityDetailsOptions(m,"");p={field:"auth."+m,fullWidth:!0,initialValue:fromStorage("auth."+m)||(null==t?void 0:t[m]),initValue:fromStorage("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===(n=null==r?void 0:r.flows)||void 0===n?void 0:n.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===(c=r.flows.authorizationCode)||void 0===c?void 0:c.scopes)||{}),server:e.props.activeServer,id:m,form:e.props.form,formApi:e.props.formApi,clientId:r.flows.authorizationCode["x-defaultClientId"]||r["x-defaultClientId"],flow:"authorizationCode",usePkce:r.flows.authorizationCode["x-usePkce"],defaultValues:null==t?void 0:t[m]});if("oauth2"===r.type){var v=fromStorage("auth."+m+".token")||JSON.stringify(null===(s=null==t?void 0:t[m])||void 0===s?void 0:s.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{Dropdown}from"../../redoc-lib";import{fromSessionStorage,getSecurityDetailsOptions,toSessionStorage,escapeFormId}from"../../utils";import OAuth2TokenInput from"./OAuth2TokenInput";import{OAuth2Flow}from"./OAuth2Flow";import{OpenIDConnect}from"./OpenIDConnect";import{FormDropdown,FormTextField}from"../common/TextField";import{FormControl,FormLabel,FormWrapper}from"../common/form";import{l}from"../../redoc-lib/src/services/Labels";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(Dropdown,{variant:"dark",fullWidth:!0,prefix:"Security scheme: ",options:a,value:a[r].value,onChange:this.handleSchemeChange}))||null,o[r].schemes.map((function(r){var o,a,i,n,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",validate:requiredValidator,initialValue:fromSessionStorage("auth."+m+".password")||(null===(i=null==t?void 0:t[m])||void 0===i?void 0:i.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===(n=null==r?void 0:r.flows)||void 0===n?void 0:n.implicit)||void 0===u?void 0:u.scopes)||{}),server:e.props.activeServer,id:m,form:e.props.form,formApi:e.props.formApi,clientId:r.flows.implicit["x-defaultClientId"]||r["x-defaultClientId"],flow:"implicit",defaultValues:null==t?void 0:t[m]});if("oauth2"===r.type&&r.flows&&r.flows.authorizationCode)return React.createElement(OAuth2Flow,{key:m,authorizationUrl:r.flows.authorizationCode.authorizationUrl,tokenUrl:r.flows.authorizationCode.tokenUrl,authCorsProxyUrl:e.props.authCorsProxyUrl,scopes:Object.keys((null===(s=r.flows.authorizationCode)||void 0===s?void 0:s.scopes)||{}),server:e.props.activeServer,id:m,form:e.props.form,formApi:e.props.formApi,clientId:r.flows.authorizationCode["x-defaultClientId"]||r["x-defaultClientId"],flow:"authorizationCode",usePkce:r.flows.authorizationCode["x-usePkce"],defaultValues:null==t?void 0:t[m]});if("oauth2"===r.type){var v=fromSessionStorage("auth."+m+".token")||JSON.stringify(null===(c=null==t?void 0:t[m])||void 0===c?void 0:c.token);return v=v?JSON.parse(v):{},React.createElement(React.Fragment,{key:m},React.createElement(FormControl,null,React.createElement(FormLabel,null," Access Token Type: "),React.createElement(FormTextField,{fullWidth:!0,field:"auth."+m+".token.token_type",initialValue:v.token_type||"Bearer"})),React.createElement(FormControl,null,React.createElement(FormLabel,null," Access Token: "),React.createElement(FormTextField,{type:"password",fullWidth:!0,field:"auth."+m+".token.access_token",validate:requiredValidator,initialValue:v.access_token,validateOnBlur:!0,validateOnChange:!0})))}if("openIdConnect"===r.type)return React.createElement(OpenIDConnect,{key:m,server:e.props.activeServer,authCorsProxyUrl:e.props.authCorsProxyUrl,id:m,form:e.props.form,formApi:e.props.formApi,scheme:r,clientId:r["x-defaultClientId"],defaultValues:null==t?void 0:t[m]})}}))),React.createElement("small",null,React.createElement("strong",null,"Note"),": Your credentials will be saved until the end of the browser session"))}}),t}(React.Component);export{AuthPanel};
2
2
  //# sourceMappingURL=AuthPanel.js.map
@@ -1,2 +1,2 @@
1
- import{__extends,__makeTemplateObject}from"tslib";import*as React from"react";import{createGlobalStyle}from"../../redoc-lib";import{asField}from"informed";import{Controlled as CodeMirror}from"react-codemirror2";import"./codemirror-helpers";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 border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: ",";\n border-bottom-left-radius: ",";\n overflow: hidden;\n\n flex: 1;\n }\n\n .CodeMirror {\n flex: 1;\n max-height: 65vh !important; /* it fixes performance bug if we pass big data to CodeMirror */\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 border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: ",";\n border-bottom-left-radius: ",";\n overflow: hidden;\n\n flex: 1;\n }\n\n .CodeMirror {\n flex: 1;\n max-height: 65vh !important; /* it fixes performance bug if we pass big data to CodeMirror */\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}),(function(e){return e.theme.components.panels.borderRadius}),(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||"application/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*as React from"react";import{createGlobalStyle}from"../../redoc-lib";import{asField}from"informed";import{Controlled as CodeMirror}from"react-codemirror2";import"./codemirror-helpers";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,n){/^[a-zA-Z0-9_":]$/.test(n.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,n=this.props.fieldApi,o=n.setValue,t=n.setTouched,i=n.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,n){o(n),l&&l(n)},onBlur:function(e){t(),c&&c(e)},options:{mode:this.props.mode||"application/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);
2
2
  //# sourceMappingURL=CodemirrorInput.js.map
@@ -10,7 +10,6 @@ export declare type RequestAndResponseType = {
10
10
  export interface ConsoleProps {
11
11
  store: ProStore;
12
12
  operation: OperationModel;
13
- specIdx?: number;
14
13
  className?: string;
15
14
  rootElement?: HTMLElement | null;
16
15
  onClose?: () => any;
@@ -1,2 +1,2 @@
1
- import{__assign,__awaiter,__decorate,__extends,__generator,__makeTemplateObject}from"tslib";import*as React from"react";import{Form,useField}from"informed";import{observer}from"mobx-react";import{get,useDimensions,unescapeFormId}from"../../utils";import{CloseButton,ConsoleBody,ConsoleWrap}from"./styled.components";import{ServerChooser}from"./ServerDropdown";import{OperationParameters}from"./OperationParameters";import{ActionPanel}from"./ActionPanel";import{ResponsePanel}from"./ResponsePanel";import{RequestBody}from"./RequestBody";import{ConsoleBadges}from"./ConsoleBadges";import{AuthPanel,requiredValidator}from"./AuthPanel";import{AnalyticsEventType}from"../../services";import Swagger from"swagger-client";import{JsonPointer,ShelfIcon,CrossIcon,LockIcon}from"../../redoc-lib";import{RenderHook}from"../../redoc-lib/src/components/helper";import{l}from"../../redoc-lib/src/services/Labels";import styled from"../../redoc-lib/src/styled-components";import{CodeHeader,Panel,Header,Accordion,Trigger,Title}from"../Panel";import{OAuth2}from"../../services/OAuth2";import{PanelBody}from"../Panel/PanelBody";import{getParameters,updateStorage}from"./utils";import{isFileUploadMime}from"../common/FileUpload/helper";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:null}),Object.defineProperty(r,"setFormApi",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.formApi=e,setTimeout((function(){r.setState({form:r.formApi.getState()})}),0)}}),Object.defineProperty(r,"handleChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.setState({form:e}),updateStorage(e)}}),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,n,a,s,i,l,c,u,p,d,m,h,f,v,g,y,b,_,P,R,S,C,I,E,w,A,T,k,x,O,B,q,j,F=this;return __generator(this,(function(H){switch(H.label){case 0:if(e=this.props,t=e.store,r=e.operation,o=e.onResponse,this.formApi.submitForm(),n=this.formApi.getState(),a=n.values,n.invalid)return this.setState({shaking:!0}),setTimeout((function(){return F.setState({shaking:!1})}),1e3),null===(k=null===(T=null==t?void 0:t.options.events)||void 0===T?void 0:T.tryItSent)||void 0===k||k.call(T,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"ValidationFailed",operationId:r.operationId,operationPath:r.path,operationHttpVerb:r.httpVerb,operationSummary:r.description}),[2];if(s=this.props.operation.requestBody,i=s&&s.content&&s.content.active&&s.content.active.name||"",l=a.body,/json/.test(i))try{l=JSON.parse(l)}catch(e){console.error(e)}if(this.setState({loading:!0}),c=this.state.resolvedRawSpec,!(u=get(c,["paths",r.path,(r.httpVerb||"").toLowerCase(),"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");p=u.find((function(e){return F.state.server.url.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url)})),d=Date.now(),m=!!window.document.documentMode,f=a.auth,a.auth?(v=Object.keys(a.auth)[0],g=unescapeFormId(v),h=__assign(__assign({},c),{components:__assign(__assign({},c.components),{securitySchemes:__assign(__assign({},c.components.securitySchemes),(w={},w[g]=__assign(__assign({},c.components.securitySchemes[g]),{type:"openIdConnect"===c.components.securitySchemes[g].type?"oauth2":c.components.securitySchemes[g].type}),w))})}),f=__assign(__assign({},f),((A={})[g]=f[v],A))):h=__assign({},c),(y=t.options.corsProxyUrl)&&c.servers&&c.servers.length&&(h.servers=c.servers.map((function(e){return __assign(__assign({},e),{url:y+normalizeUrlProtocol(e.url)})}))),(b=(null===(O=null===(x=null==s?void 0:s.content)||void 0===x?void 0:x.active)||void 0===O?void 0:O.name)||null)&&l&&isFileUploadMime(b)&&(_=Object.values(l),l=_.length>1?_:_[0]),P=function(e,t){return function(r){return F.props.store.options.sendXUserAgentInTryIt&&(r.headers["X-User-Agent"]="Redocly Try it API console"),e?e(r,t):r}},R={userFetch:m&&require("cross-fetch").fetch,server:y?y+normalizeUrlProtocol(p.url):p.url,serverVariables:this.state.server.variables,spec:h,pathName:r.path,method:r.httpVerb,parameters:__assign(__assign(__assign(__assign({},a.path),a.query),a.header),a.cookie),securities:{authorized:f},requestBody:l,requestContentType:b,responseContentType:(null===(B=a.header)||void 0===B?void 0:B.Accept)||null,requestInterceptor:P(t.options.requestInterceptor,r)},H.label=1;case 1:return H.trys.push([1,5,8,9]),[4,Swagger.execute(R)];case 2:return(S=H.sent())&&S.data instanceof Blob?(C=S,[4,S.data.text()]):[3,4];case 3:C.data=H.sent(),H.label=4;case 4:return null==o||o({request:R,response:S}),this.setState({response:S,error:void 0}),[3,9];case 5:return(I=H.sent())&&I.response&&I.response.data instanceof Blob?(E=I.response,[4,I.response.data.text()]):[3,7];case 6:E.data=H.sent(),null==o||o({request:R,response:I.response}),H.label=7;case 7:return this.setState({response:void 0,error:I}),[3,9];case 8:return this.setState({loading:!1,activeTab:1,time:Date.now()-d}),null===(j=null===(q=null==t?void 0:t.options.events)||void 0===q?void 0:q.tryItSent)||void 0===j||j.call(q,{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,n;return __generator(this,(function(a){switch(a.label){case 0:return e=this.props,t=e.store,r=e.specIdx,o=e.operation,[4,t.dereferenceSpecForTryIt(r||0,o)];case 1:return n=a.sent(),this.setState({resolvedRawSpec:n}),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,n=this.state,a=n.shaking,s=n.activeTab,i=n.form,l=n.response,c=n.loading,u=n.error,p=!(!l&&!u);return React.createElement(ConsoleWrapHook,{shaking:a,className:r,rootElement:o},React.createElement(CodeHeader,null,React.createElement(ConsoleBadges,{active:s,hasResponse:p,onChange:this.handleTabChange}),this.props.onClose&&React.createElement(CloseButton,{onClick:this.props.onClose}," ✕ ")),React.createElement(ConsoleBody,{hidden:0!==s},this.renderRequest()),React.createElement(ConsoleBody,{hidden:1!==s},this.renderResponse()),React.createElement(ActionPanel,{hasResponse:p,params:i.values&&__assign({},i.values),operation:t,loading:c,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,n=t.properties,a=t.securityDefaults,s=this.state,i=s.form,c=s.resolvedRawSpec,u=s.server,p=i.errors||{},d=p.path||p.cookie||p.header||p.query,m=c&&JsonPointer.get(c,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 f=r.parameters||[],v=null===(e=null==o?void 0:o.options.hooks)||void 0===e?void 0:e.ReplaceTryItSecurityPanel;return c?React.createElement(React.Fragment,null,React.createElement(Form,{onChange:this.handleChange,getApi:this.setFormApi,style:__assign(__assign({},flexColumn),{margin:0})},React.createElement(Accordion,{initialActiveIdx:r.security.length&&h?1:0},r.security.length&&React.createElement(TryItPanel,{header:l("tryItAuth"),"data-cy":"security-trigger",renderChildrenHidden:!0,error:!h&&!!p.auth,success:!!h},v?React.createElement(AuthPanelHook,{field:"auth",validate:requiredValidator},(function(e){return React.createElement(RenderHook,{Hook:v,props:{server:u,operation:r,onChange:e,OAuth2:OAuth2}})})):React.createElement(AuthPanel,{formApi:this.formApi,form:i,operation:r,activeServer:u.url,authCorsProxyUrl:o.options.authCorsProxyUrl,securityDefaults:a}))||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:n}))||null,f.length&&React.createElement(TryItPanel,{header:l("tryItParameters"),"data-cy":"parameters-trigger",error:d,renderChildrenHidden:!0},React.createElement(OperationParameters,{operation:r,values:i.values,errors:i.errors||{}}))||null)),React.createElement(ServerChooser,{operation:r,onChange:this.handleServerChange})):"Loading..."}}),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,n=e.rootElement,a=useDimensions(n)[0];return React.createElement(ConsoleWrap,{shaking:t,className:r,"data-cy":"console",fullWidth:null==a?void 0:a.width},o)}function AuthPanelHook(e){var t=useField(__assign({},e)),r=t.fieldApi,o=t.render,n=t.userProps,a=r.setValue,s=n.children;return o(React.createElement(React.Fragment,null,s(a)))}function TryItPanel(e){return React.createElement(StyledTryItPanel,__assign({},e,{header:function(t){var r=t.toggle,o=t.expanded;return React.createElement(Header,{onClick:r,isExpanded:o,"data-cy":e["data-cy"]},React.createElement(Trigger,null,React.createElement(Title,null,e.header),React.createElement(ShelfIcon,{direction:o?"down":"right"})),e.error&&React.createElement(CrossIcon,{size:"14px",color:"#ff908b"})||null,e.success&&React.createElement(LockIcon,{size:"14px",color:"#56ff26"})||null)}}))}var templateObject_1,StyledTryItPanel=styled(Panel)(templateObject_1||(templateObject_1=__makeTemplateObject(["\n "," {\n color: white;\n border: 1px solid ",";\n padding: 10px;\n }\n\n "," path {\n fill: white;\n }\n\n "," {\n padding: 15px 10px;\n background-color: #3e4c59;\n border: 1px solid ",";\n border-top: 0;\n }\n"],["\n "," {\n color: white;\n border: 1px solid ",";\n padding: 10px;\n }\n\n "," path {\n fill: white;\n }\n\n "," {\n padding: 15px 10px;\n background-color: #3e4c59;\n border: 1px solid ",";\n border-top: 0;\n }\n"])),Header,(function(e){return e.error?"#ff908b":"#89949f"}),ShelfIcon,PanelBody,(function(e){return e.error?"#ff908b":"#89949f"}));
1
+ import{__assign,__awaiter,__decorate,__extends,__generator,__makeTemplateObject}from"tslib";import*as React from"react";import{Form,useField}from"informed";import{observer}from"mobx-react";import{get,useDimensions,unescapeFormId}from"../../utils";import{CloseButton,ConsoleBody,ConsoleWrap}from"./styled.components";import{ServerChooser}from"./ServerDropdown";import{OperationParameters}from"./OperationParameters";import{ActionPanel}from"./ActionPanel";import{ResponsePanel}from"./ResponsePanel";import{RequestBody}from"./RequestBody";import{ConsoleBadges}from"./ConsoleBadges";import{AuthPanel,requiredValidator}from"./AuthPanel";import{AnalyticsEventType}from"../../services";import Swagger from"swagger-client";import{JsonPointer,ShelfIcon,CrossIcon,LockIcon}from"../../redoc-lib";import{RenderHook}from"../../redoc-lib/src/components/helper";import{l}from"../../redoc-lib/src/services/Labels";import styled from"../../redoc-lib/src/styled-components";import{CodeHeader,Panel,Header,Accordion,Trigger,Title}from"../Panel";import{OAuth2}from"../../services/OAuth2";import{PanelBody}from"../Panel/PanelBody";import{getParameters,updateStorage}from"./utils";import{isFileUploadMime}from"../common/FileUpload/helper";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:null}),Object.defineProperty(r,"setFormApi",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.formApi=e,setTimeout((function(){r.setState({form:r.formApi.getState()})}),0)}}),Object.defineProperty(r,"handleChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.setState({form:e}),updateStorage(e)}}),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,n,a,s,i,l,c,u,p,d,m,h,f,v,g,y,b,_,P,R,S,C,E,I,w,A,T,k,x,O,B,q,j,F=this;return __generator(this,(function(H){switch(H.label){case 0:if(e=this.props,t=e.store,r=e.operation,o=e.onResponse,this.formApi.submitForm(),n=this.formApi.getState(),a=n.values,n.invalid)return this.setState({shaking:!0}),setTimeout((function(){return F.setState({shaking:!1})}),1e3),null===(k=null===(T=null==t?void 0:t.options.events)||void 0===T?void 0:T.tryItSent)||void 0===k||k.call(T,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"ValidationFailed",operationId:r.operationId,operationPath:r.path,operationHttpVerb:r.httpVerb,operationSummary:r.description}),[2];if(s=this.props.operation.requestBody,i=s&&s.content&&s.content.active&&s.content.active.name||"",l=a.body,/json/.test(i))try{l=JSON.parse(l)}catch(e){console.error(e)}if(this.setState({loading:!0}),c=this.state.resolvedRawSpec,!(u=get(c,["paths",r.path,(r.httpVerb||"").toLowerCase(),"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");p=u.find((function(e){return F.state.server.url.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url)})),d=Date.now(),m=!!window.document.documentMode,f=a.auth,a.auth?(v=Object.keys(a.auth)[0],g=unescapeFormId(v),h=__assign(__assign({},c),{components:__assign(__assign({},c.components),{securitySchemes:__assign(__assign({},c.components.securitySchemes),(w={},w[g]=__assign(__assign({},c.components.securitySchemes[g]),{type:"openIdConnect"===c.components.securitySchemes[g].type?"oauth2":c.components.securitySchemes[g].type}),w))})}),f=__assign(__assign({},f),((A={})[g]=f[v],A))):h=__assign({},c),(y=t.options.corsProxyUrl)&&c.servers&&c.servers.length&&(h.servers=c.servers.map((function(e){return __assign(__assign({},e),{url:y+normalizeUrlProtocol(e.url)})}))),(b=(null===(O=null===(x=null==s?void 0:s.content)||void 0===x?void 0:x.active)||void 0===O?void 0:O.name)||null)&&l&&isFileUploadMime(b)&&(_=Object.values(l),l=_.length>1?_:_[0]),P=function(e,t){return function(r){return F.props.store.options.sendXUserAgentInTryIt&&(r.headers["X-User-Agent"]="Redocly Try it API console"),e?e(r,t):r}},R={userFetch:m&&require("cross-fetch").fetch,server:y?y+normalizeUrlProtocol(p.url):p.url,serverVariables:this.state.server.variables,spec:h,pathName:r.path,method:r.httpVerb,parameters:__assign(__assign(__assign(__assign({},a.path),a.query),a.header),a.cookie),securities:{authorized:f},requestBody:l,requestContentType:b,responseContentType:(null===(B=a.header)||void 0===B?void 0:B.Accept)||null,requestInterceptor:P(t.options.requestInterceptor,r)},H.label=1;case 1:return H.trys.push([1,5,8,9]),[4,Swagger.execute(R)];case 2:return(S=H.sent())&&S.data instanceof Blob?(C=S,[4,S.data.text()]):[3,4];case 3:C.data=H.sent(),H.label=4;case 4:return null==o||o({request:R,response:S}),this.setState({response:S,error:void 0}),[3,9];case 5:return(E=H.sent())&&E.response&&E.response.data instanceof Blob?(I=E.response,[4,E.response.data.text()]):[3,7];case 6:I.data=H.sent(),null==o||o({request:R,response:E.response}),H.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()-d}),null===(j=null===(q=null==t?void 0:t.options.events)||void 0===q?void 0:q.tryItSent)||void 0===j||j.call(q,{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(n){switch(n.label){case 0:return e=this.props,t=e.store,r=e.operation,[4,t.dereferenceSpecForTryIt(r)];case 1:return o=n.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,n=this.state,a=n.shaking,s=n.activeTab,i=n.form,l=n.response,c=n.loading,u=n.error,p=!(!l&&!u);return React.createElement(ConsoleWrapHook,{shaking:a,className:r,rootElement:o},React.createElement(CodeHeader,null,React.createElement(ConsoleBadges,{active:s,hasResponse:p,onChange:this.handleTabChange}),this.props.onClose&&React.createElement(CloseButton,{onClick:this.props.onClose}," ✕ ")),React.createElement(ConsoleBody,{hidden:0!==s},this.renderRequest()),React.createElement(ConsoleBody,{hidden:1!==s},this.renderResponse()),React.createElement(ActionPanel,{hasResponse:p,params:i.values,operation:t,loading:c,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,n=t.properties,a=t.securityDefaults,s=this.state,i=s.form,c=s.resolvedRawSpec,u=s.server,p=i.errors||{},d=p.path||p.cookie||p.header||p.query,m=c&&JsonPointer.get(c,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 f=r.parameters||[],v=null===(e=null==o?void 0:o.options.hooks)||void 0===e?void 0:e.ReplaceTryItSecurityPanel;return c?React.createElement(React.Fragment,null,React.createElement(Form,{onChange:this.handleChange,getApi:this.setFormApi,style:__assign(__assign({},flexColumn),{margin:0})},React.createElement(Accordion,{initialActiveIdx:r.security.length&&h?1:0},r.security.length&&React.createElement(TryItPanel,{header:l("tryItAuth"),"data-cy":"security-trigger",renderChildrenHidden:!0,error:!h&&!!p.auth,success:!!h},v?React.createElement(AuthPanelHook,{field:"auth",validate:requiredValidator},(function(e){return React.createElement(RenderHook,{Hook:v,props:{server:u,operation:r,onChange:e,OAuth2:OAuth2}})})):React.createElement(AuthPanel,{formApi:this.formApi,form:i,operation:r,activeServer:u.url,authCorsProxyUrl:o.options.authCorsProxyUrl,securityDefaults:a}))||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:n}))||null,f.length&&React.createElement(TryItPanel,{header:l("tryItParameters"),"data-cy":"parameters-trigger",error:d,renderChildrenHidden:!0},React.createElement(OperationParameters,{operation:r,values:i.values,errors:i.errors||{}}))||null)),React.createElement(ServerChooser,{operation:r,onChange:this.handleServerChange})):"Loading..."}}),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,n=e.rootElement,a=useDimensions(n)[0];return React.createElement(ConsoleWrap,{shaking:t,className:r,"data-cy":"console",fullWidth:null==a?void 0:a.width},o)}function AuthPanelHook(e){var t=useField(__assign({},e)),r=t.fieldApi,o=t.render,n=t.userProps,a=r.setValue,s=n.children;return o(React.createElement(React.Fragment,null,s(a)))}function TryItPanel(e){return React.createElement(StyledTryItPanel,__assign({},e,{header:function(t){var r=t.toggle,o=t.expanded;return React.createElement(Header,{onClick:r,isExpanded:o,"data-cy":e["data-cy"]},React.createElement(Trigger,null,React.createElement(Title,null,e.header),React.createElement(ShelfIcon,{direction:o?"down":"right"})),e.error&&React.createElement(CrossIcon,{size:"14px",color:"#ff908b"})||null,e.success&&React.createElement(LockIcon,{size:"14px",color:"#56ff26"})||null)}}))}var templateObject_1,StyledTryItPanel=styled(Panel)(templateObject_1||(templateObject_1=__makeTemplateObject(["\n "," {\n color: white;\n border: 1px solid ",";\n padding: 10px;\n }\n\n "," path {\n fill: white;\n }\n\n "," {\n padding: 15px 10px;\n background-color: #3e4c59;\n border: 1px solid ",";\n border-top: 0;\n }\n"],["\n "," {\n color: white;\n border: 1px solid ",";\n padding: 10px;\n }\n\n "," path {\n fill: white;\n }\n\n "," {\n padding: 15px 10px;\n background-color: #3e4c59;\n border: 1px solid ",";\n border-top: 0;\n }\n"])),Header,(function(e){return e.error?"#ff908b":"#89949f"}),ShelfIcon,PanelBody,(function(e){return e.error?"#ff908b":"#89949f"}));
2
2
  //# sourceMappingURL=Console.js.map
@@ -1,2 +1,2 @@
1
- import{__assign,__awaiter,__extends,__generator,__makeTemplateObject}from"tslib";import*as React from"react";import{styled,OptionsContext}from"../../redoc-lib";import{LinearProgress}from"../common/LinearProgress";import{FormControl,FormLabel,FormError,FormWrapper,FormWarning}from"../common/form";import{FormDropdown,FormTextField,TextField}from"../common/TextField";import{Checkbox}from"../common/Checkbox";import Scope from"./Scope";import{Button}from"../shared";import{deriveCodeChallenge,OAuth2,randString}from"../../services/OAuth2";import{fromStorage,getSecurityDetailsOptions}from"../../utils";import{normalizeUrlProtocol}from"./utils";import{isEmptyObject}from"../../services/utils";function requiredValidator(e){if(!e)return"Field is required"}var OAuth2Flow=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"state",{enumerable:!0,configurable:!0,writable:!0,value:{error:null,loading:!1,showPkceOptions:!1}}),Object.defineProperty(t,"clearToken",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.props.formApi.setValue("auth."+t.props.id+".token","")}}),Object.defineProperty(t,"togglePkceOptions",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.setState((function(e){return{showPkceOptions:!e.showPkceOptions}}))}}),Object.defineProperty(t,"handleCodeVerifierChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var r=e.target.value;return __awaiter(t,void 0,void 0,(function(){var e;return __generator(this,(function(t){switch(t.label){case 0:return[4,deriveCodeChallenge(r)];case 1:return e=t.sent(),this.setState({codeVerifier:r,validCodeChallenge:e}),[2]}}))}))}}),t}return __extends(t,e),Object.defineProperty(t.prototype,"values",{get:function(){var e,t;return(null===(t=null===(e=this.props.form.values)||void 0===e?void 0:e.auth)||void 0===t?void 0:t[this.props.id])||{}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"errors",{get:function(){var e,t;return(null===(t=null===(e=this.props.form.errors)||void 0===e?void 0:e.auth)||void 0===t?void 0:t[this.props.id])||{}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"pkceInputActionButtonProps",{get:function(){var e=this;return void 0!==this.state.codeVerifier&&this.state.codeChallenge!==this.state.validCodeChallenge?{label:"sync",onClick:function(){e.state.codeVerifier&&e.setState({codeChallenge:e.state.validCodeChallenge})}}:void 0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this;if(this.props.usePkce){var t=randString(43);deriveCodeChallenge(t).then((function(r){e.setState({codeVerifier:t,codeChallenge:r,validCodeChallenge:r})}))}}}),Object.defineProperty(t.prototype,"handleAuthorize",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;if(e){this.props.formApi.validate();var r=this.props,a=r.flow,o=r.usePkce,n=r.id,l=r.tokenUrl,i=r.authCorsProxyUrl;if(isEmptyObject(this.errors)){this.setState({loading:!0,error:null});var c=i?i+normalizeUrlProtocol(e):e,s=i&&l?i+normalizeUrlProtocol(l):l,u=this.props.formApi.getValue("auth."+n+".scopes"),p={authorizationUrl:c.startsWith("http")?c:this.props.server+c,clientId:this.values.client_id,scopes:u,redirectUri:this.context.oAuth2RedirectURI,routingBasePath:this.context.routingBasePath,successCallback:function(e){t.props.formApi.setValue("auth."+t.props.id+".token",e),t.setState({loading:!1,error:null})},errorCallback:function(e){t.setState({loading:!1,error:(null==e?void 0:e.message)||"Failed to retrieve the access token"})}};"implicit"===a&&OAuth2.authorizeImplicit(p),"authorizationCode"===a&&OAuth2.authorizeAuthorizationCode(__assign(__assign(__assign({},p),{tokenUrl:(null==s?void 0:s.startsWith("http"))?s:this.props.server+s,clientSecret:this.values.client_secret}),o&&{codeVerifier:this.state.codeVerifier,codeChallenge:this.state.codeChallenge}))}}}}),Object.defineProperty(t.prototype,"handleLogout",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.clearToken(),this.setState({error:null})}}),Object.defineProperty(t.prototype,"handleCancel",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.setState({loading:!1,error:null}),OAuth2.clearRedirectData(this.props.flow)}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=this.state,r=t.error,a=t.loading,o=this.props,n=o.id,l=o.scopes,i=o.authorizationUrl,c=o.flow,s=o.usePkce,u=o.defaultValues;if(!i)return React.createElement(FormError,null,"No flow info");var p=fromStorage("auth."+n+".token")||JSON.stringify(null==u?void 0:u.token);p=p?JSON.parse(p):"";var d=getSecurityDetailsOptions(n,"client_id"),m={field:"auth."+n+".client_id",fullWidth:!0,initialValue:fromStorage("auth."+n+".client_id")||this.props.clientId||(null==u?void 0:u.client_id),initValue:fromStorage("auth."+n+".client_id")||this.props.clientId||(null==u?void 0:u.client_id),placeholder:"Your OAuth2 app Client ID",validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement("div",null,React.createElement(FormWrapper,null,React.createElement(FormControl,null,React.createElement(FormLabel,null," Client ID: "),d?React.createElement(FormDropdown,__assign({},m,{options:d})):React.createElement(FormTextField,__assign({},m,{"data-cy":"client-id-input"}))),"authorizationCode"===c&&React.createElement(React.Fragment,null,React.createElement(FormControl,null,React.createElement(FormLabel,null,"Client Secret:"),React.createElement(FormTextField,{type:"password",fullWidth:!0,field:"auth."+n+".client_secret",initialValue:fromStorage("auth."+n+".client_secret")||(null==u?void 0:u.client_secret),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0,"data-cy":"client-secret-input"})),s&&React.createElement(PkceOptionsWrapper,null,React.createElement(Checkbox,{id:"pkce-opitons-toggle",label:"Configure PKCE manually",checked:this.state.showPkceOptions,onChange:this.togglePkceOptions,"data-cy":"pkce-options-toggle"}),this.state.showPkceOptions&&React.createElement(PkceDetails,null,React.createElement(FormControl,null,React.createElement(FormLabel,null,"Code Verifier"),React.createElement(TextField,{fullWidth:!0,value:this.state.codeVerifier,onChange:this.handleCodeVerifierChange,"data-cy":"code-verifier-input"})),React.createElement(FormControl,null,React.createElement(FormLabel,null,"Code Challenge"),React.createElement(TextField,{fullWidth:!0,value:this.state.codeChallenge,onChange:function(t){var r=t.target.value;e.setState({codeChallenge:r})},inputActionButton:this.pkceInputActionButtonProps,"data-cy":"code-challenge-input"}))))),React.createElement(FormTextField,{fullWidth:!0,field:"auth."+n+".token",type:"hidden",initialValue:p}),React.createElement(Scope,{id:n,scopes:l}),this.values.token&&this.values.token.access_token?React.createElement(FormControl,null,React.createElement(FormLabel,null," Access Token: "),React.createElement(TextField,{disabled:!0,type:"password",fullWidth:!0,value:this.values.token.access_token})):null),React.createElement(ButtonsWrapper,null,this.values.token&&this.values.token.access_token?React.createElement(Button,{fullWidth:!0,onClick:function(){e.handleLogout()}},"Log out"):a?React.createElement(React.Fragment,null,React.createElement(Button,{fullWidth:!0,onClick:function(){e.handleCancel()}},"Cancel"),React.createElement(LinearProgress,null)):React.createElement(Button,{fullWidth:!0,disabled:!isEmptyObject(this.errors),onClick:function(){e.handleAuthorize(i)}},"Authorize")),a||r||!this.values.token||!this.values.token.access_token&&React.createElement(FormWrapper,null,React.createElement(FormControl,null,a?React.createElement(FormWarning,null,"Please, finish your authorization flow or cancel authorization."):r?React.createElement(React.Fragment,null,React.createElement(OriginalErrorMessage,null,React.createElement(FormError,null,r))):this.values.token&&this.values.token.access_token?null:React.createElement(FormWarning,null," No Access Token. Please, Authorize. "))))}}),Object.defineProperty(t,"contextType",{enumerable:!0,configurable:!0,writable:!0,value:OptionsContext}),t}(React.Component);export{OAuth2Flow};var templateObject_1,templateObject_2,templateObject_3,templateObject_4,OriginalErrorMessage=styled.div(templateObject_1||(templateObject_1=__makeTemplateObject(["\n font-family: monospace;\n margin-top: 10px;\n line-height: 1;\n padding-left: 10px;\n border-left: 1px solid gray;\n"],["\n font-family: monospace;\n margin-top: 10px;\n line-height: 1;\n padding-left: 10px;\n border-left: 1px solid gray;\n"]))),ButtonsWrapper=styled.div(templateObject_2||(templateObject_2=__makeTemplateObject(["\n margin-bottom: 15px;\n"],["\n margin-bottom: 15px;\n"]))),PkceOptionsWrapper=styled.div(templateObject_3||(templateObject_3=__makeTemplateObject(["\n padding: 8px 0 20px;\n"],["\n padding: 8px 0 20px;\n"]))),PkceDetails=styled.div(templateObject_4||(templateObject_4=__makeTemplateObject(["\n padding: 4px 0;\n"],["\n padding: 4px 0;\n"])));
1
+ import{__assign,__awaiter,__extends,__generator,__makeTemplateObject}from"tslib";import*as React from"react";import{styled,OptionsContext}from"../../redoc-lib";import{LinearProgress}from"../common/LinearProgress";import{FormControl,FormLabel,FormError,FormWrapper,FormWarning}from"../common/form";import{FormDropdown,FormTextField,TextField}from"../common/TextField";import{Checkbox}from"../common/Checkbox";import Scope from"./Scope";import{Button}from"../shared";import{deriveCodeChallenge,OAuth2,randString}from"../../services/OAuth2";import{fromSessionStorage,getSecurityDetailsOptions}from"../../utils";import{normalizeUrlProtocol}from"./utils";import{isEmptyObject}from"../../services/utils";function requiredValidator(e){if(!e)return"Field is required"}var OAuth2Flow=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"state",{enumerable:!0,configurable:!0,writable:!0,value:{error:null,loading:!1,showPkceOptions:!1}}),Object.defineProperty(t,"clearToken",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.props.formApi.setValue("auth."+t.props.id+".token","")}}),Object.defineProperty(t,"togglePkceOptions",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.setState((function(e){return{showPkceOptions:!e.showPkceOptions}}))}}),Object.defineProperty(t,"handleCodeVerifierChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var r=e.target.value;return __awaiter(t,void 0,void 0,(function(){var e;return __generator(this,(function(t){switch(t.label){case 0:return[4,deriveCodeChallenge(r)];case 1:return e=t.sent(),this.setState({codeVerifier:r,validCodeChallenge:e}),[2]}}))}))}}),t}return __extends(t,e),Object.defineProperty(t.prototype,"values",{get:function(){var e,t;return(null===(t=null===(e=this.props.form.values)||void 0===e?void 0:e.auth)||void 0===t?void 0:t[this.props.id])||{}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"errors",{get:function(){var e,t;return(null===(t=null===(e=this.props.form.errors)||void 0===e?void 0:e.auth)||void 0===t?void 0:t[this.props.id])||{}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"pkceInputActionButtonProps",{get:function(){var e=this;return void 0!==this.state.codeVerifier&&this.state.codeChallenge!==this.state.validCodeChallenge?{label:"sync",onClick:function(){e.state.codeVerifier&&e.setState({codeChallenge:e.state.validCodeChallenge})}}:void 0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this;if(this.props.usePkce){var t=randString(43);deriveCodeChallenge(t).then((function(r){e.setState({codeVerifier:t,codeChallenge:r,validCodeChallenge:r})}))}}}),Object.defineProperty(t.prototype,"handleAuthorize",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;if(e){this.props.formApi.validate();var r=this.props,o=r.flow,n=r.usePkce,a=r.id,l=r.tokenUrl,i=r.authCorsProxyUrl;if(isEmptyObject(this.errors)){this.setState({loading:!0,error:null});var c=i?i+normalizeUrlProtocol(e):e,s=i&&l?i+normalizeUrlProtocol(l):l,u=this.props.formApi.getValue("auth."+a+".scopes"),p={authorizationUrl:c.startsWith("http")?c:this.props.server+c,clientId:this.values.client_id,scopes:u,redirectUri:this.context.oAuth2RedirectURI,routingBasePath:this.context.routingBasePath,successCallback:function(e){t.props.formApi.setValue("auth."+t.props.id+".token",e),t.setState({loading:!1,error:null})},errorCallback:function(e){t.setState({loading:!1,error:(null==e?void 0:e.message)||"Failed to retrieve the access token"})}};"implicit"===o&&OAuth2.authorizeImplicit(p),"authorizationCode"===o&&OAuth2.authorizeAuthorizationCode(__assign(__assign(__assign({},p),{tokenUrl:(null==s?void 0:s.startsWith("http"))?s:this.props.server+s,clientSecret:this.values.client_secret}),n&&{codeVerifier:this.state.codeVerifier,codeChallenge:this.state.codeChallenge}))}}}}),Object.defineProperty(t.prototype,"handleLogout",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.clearToken(),this.setState({error:null})}}),Object.defineProperty(t.prototype,"handleCancel",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.setState({loading:!1,error:null}),OAuth2.clearRedirectData(this.props.flow)}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=this.state,r=t.error,o=t.loading,n=this.props,a=n.id,l=n.scopes,i=n.authorizationUrl,c=n.flow,s=n.usePkce,u=n.defaultValues;if(!i)return React.createElement(FormError,null,"No flow info");var p=fromSessionStorage("auth."+a+".token")||JSON.stringify(null==u?void 0:u.token);p=p?JSON.parse(p):"";var d=getSecurityDetailsOptions(a,"client_id"),m={field:"auth."+a+".client_id",fullWidth:!0,initialValue:fromSessionStorage("auth."+a+".client_id")||this.props.clientId||(null==u?void 0:u.client_id),initValue:fromSessionStorage("auth."+a+".client_id")||this.props.clientId||(null==u?void 0:u.client_id),placeholder:"Your OAuth2 app Client ID",validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement("div",null,React.createElement(FormWrapper,null,React.createElement(FormControl,null,React.createElement(FormLabel,null," Client ID: "),d?React.createElement(FormDropdown,__assign({},m,{options:d})):React.createElement(FormTextField,__assign({},m,{"data-cy":"client-id-input"}))),"authorizationCode"===c&&React.createElement(React.Fragment,null,React.createElement(FormControl,null,React.createElement(FormLabel,null,"Client Secret:"),React.createElement(FormTextField,{type:"password",fullWidth:!0,field:"auth."+a+".client_secret",initialValue:fromSessionStorage("auth."+a+".client_secret")||(null==u?void 0:u.client_secret),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0,"data-cy":"client-secret-input"})),s&&React.createElement(PkceOptionsWrapper,null,React.createElement(Checkbox,{id:"pkce-opitons-toggle",label:"Configure PKCE manually",checked:this.state.showPkceOptions,onChange:this.togglePkceOptions,"data-cy":"pkce-options-toggle"}),this.state.showPkceOptions&&React.createElement(PkceDetails,null,React.createElement(FormControl,null,React.createElement(FormLabel,null,"Code Verifier"),React.createElement(TextField,{fullWidth:!0,value:this.state.codeVerifier,onChange:this.handleCodeVerifierChange,"data-cy":"code-verifier-input"})),React.createElement(FormControl,null,React.createElement(FormLabel,null,"Code Challenge"),React.createElement(TextField,{fullWidth:!0,value:this.state.codeChallenge,onChange:function(t){var r=t.target.value;e.setState({codeChallenge:r})},inputActionButton:this.pkceInputActionButtonProps,"data-cy":"code-challenge-input"}))))),React.createElement(FormTextField,{fullWidth:!0,field:"auth."+a+".token",type:"hidden",initialValue:p}),React.createElement(Scope,{id:a,scopes:l}),this.values.token&&this.values.token.access_token?React.createElement(FormControl,null,React.createElement(FormLabel,null," Access Token: "),React.createElement(TextField,{disabled:!0,type:"password",fullWidth:!0,value:this.values.token.access_token})):null),React.createElement(ButtonsWrapper,null,this.values.token&&this.values.token.access_token?React.createElement(Button,{fullWidth:!0,onClick:function(){e.handleLogout()}},"Log out"):o?React.createElement(React.Fragment,null,React.createElement(Button,{fullWidth:!0,onClick:function(){e.handleCancel()}},"Cancel"),React.createElement(LinearProgress,null)):React.createElement(Button,{fullWidth:!0,disabled:!isEmptyObject(this.errors),onClick:function(){e.handleAuthorize(i)}},"Authorize")),o||r||!this.values.token||!this.values.token.access_token&&React.createElement(FormWrapper,null,React.createElement(FormControl,null,o?React.createElement(FormWarning,null,"Please, finish your authorization flow or cancel authorization."):r?React.createElement(React.Fragment,null,React.createElement(OriginalErrorMessage,null,React.createElement(FormError,null,r))):this.values.token&&this.values.token.access_token?null:React.createElement(FormWarning,null," No Access Token. Please, Authorize. "))))}}),Object.defineProperty(t,"contextType",{enumerable:!0,configurable:!0,writable:!0,value:OptionsContext}),t}(React.Component);export{OAuth2Flow};var templateObject_1,templateObject_2,templateObject_3,templateObject_4,OriginalErrorMessage=styled.div(templateObject_1||(templateObject_1=__makeTemplateObject(["\n font-family: monospace;\n margin-top: 10px;\n line-height: 1;\n padding-left: 10px;\n border-left: 1px solid gray;\n"],["\n font-family: monospace;\n margin-top: 10px;\n line-height: 1;\n padding-left: 10px;\n border-left: 1px solid gray;\n"]))),ButtonsWrapper=styled.div(templateObject_2||(templateObject_2=__makeTemplateObject(["\n margin-bottom: 15px;\n"],["\n margin-bottom: 15px;\n"]))),PkceOptionsWrapper=styled.div(templateObject_3||(templateObject_3=__makeTemplateObject(["\n padding: 8px 0 20px;\n"],["\n padding: 8px 0 20px;\n"]))),PkceDetails=styled.div(templateObject_4||(templateObject_4=__makeTemplateObject(["\n padding: 4px 0;\n"],["\n padding: 4px 0;\n"])));
2
2
  //# sourceMappingURL=OAuth2Flow.js.map
@@ -1,2 +1,2 @@
1
- import{__assign,__awaiter,__extends,__generator}from"tslib";import*as React from"react";import{FormControl,FormLabel,FormError,FormWrapper,FormHeader,TokenField,TokenValue,TokenClear,TokenShowHide}from"../common/form";import{fromStorage,getSecurityDetailsOptions,toStorage}from"../../utils";import Scope from"./Scope";import{OAuth2}from"../../services/OAuth2";import{Button}from"../shared";import{FormDropdown,FormTextField}from"../common/TextField";import{normalizeUrlProtocol}from"./utils";function validateToken(e){if(!e)return"Token is required"}var OAuth2TokenInput=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"state",{enumerable:!0,configurable:!0,writable:!0,value:{error:"",loading:!1,tokenMasked:!0}}),Object.defineProperty(t,"clearToken",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.props.formApi.setValue("auth."+t.props.id+".token",""),toStorage("auth."+t.props.id+".token","")}}),Object.defineProperty(t,"toggleTokenMask",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.setState({tokenMasked:!t.state.tokenMasked})}}),Object.defineProperty(t,"requestToken",{enumerable:!0,configurable:!0,writable:!0,value:function(){return __awaiter(t,void 0,void 0,(function(){var e,t,r,o,n,a,l,i=this;return __generator(this,(function(s){switch(s.label){case 0:return this.state.loading?[2]:(e=this.props,t=e.server,r=e.flow,o=e.authCorsProxyUrl,n=o&&r.tokenUrl?o+normalizeUrlProtocol(r.tokenUrl):r.tokenUrl,this.errors.client_id||this.errors.client_secret?(console.log("Provide client_id and client_secret"),[2]):(a=this.values.client_id,l=this.values.client_secret,a&&l?(this.setState({loading:!0}),[4,OAuth2.authorizeClientCredentials({tokenUrl:n.startsWith("http")?n:t+n,clientId:a,clientSecret:l,scopes:this.values.scopes,successCallback:function(e){i.props.formApi.setValue("auth."+i.props.id+".token",e),i.setState({loading:!1})},errorCallback:function(e){i.clearToken(),i.setState({error:e.message,loading:!1})}})]):(console.log("Provide client_id and client_secret"),[2])));case 1:return s.sent(),[2]}}))}))}}),t}return __extends(t,e),Object.defineProperty(t.prototype,"values",{get:function(){return this.props.form.values&&this.props.form.values.auth&&this.props.form.values.auth[this.props.id]||{}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"errors",{get:function(){return this.props.form.errors&&this.props.form.errors.auth&&this.props.form.errors.auth[this.props.id]||{}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.state,t=e.loading,r=e.error,o=e.tokenMasked,n=this.props,a=n.id,l=n.defaultValues,i=Object.keys(this.props.flow.scopes),s=fromStorage("auth."+a+".token")||JSON.stringify(null==l?void 0:l.token);s=s?JSON.parse(s):"";var c=getSecurityDetailsOptions(a,"client_id"),u={field:"auth."+a+".client_id",fullWidth:!0,initialValue:fromStorage("auth."+a+".client_id")||this.props.clientId||(null==l?void 0:l.client_id),initValue:fromStorage("auth."+a+".client_id")||this.props.clientId||(null==l?void 0:l.client_id),placeholder:"Your OAuth2 app Client ID"};return React.createElement(React.Fragment,null,React.createElement(FormWrapper,null,React.createElement(FormControl,null,React.createElement(FormLabel,null,"Client ID:"),c?React.createElement(FormDropdown,__assign({},u,{options:c})):React.createElement(FormTextField,__assign({},u,{type:"password"}))),React.createElement(FormControl,null,React.createElement(FormLabel,null,"Client Secret:"),React.createElement(FormTextField,{type:"password",fullWidth:!0,field:"auth."+a+".client_secret",initialValue:fromStorage("auth."+a+".client_secret")||(null==l?void 0:l.client_secret)})),React.createElement(FormTextField,{fullWidth:!0,field:"auth."+a+".token",type:"hidden",initialValue:s,validate:validateToken}),React.createElement(Scope,{id:a,scopes:i})),React.createElement(Button,{color:"primary",onClick:this.requestToken,blinking:t},t?"Loading...":"Request Token"),React.createElement(FormHeader,null," Access Token "),r?React.createElement(FormError,{style:{marginBottom:"1em"}},"Failed to request token: ",React.createElement("pre",null,r)," "):this.values.token&&this.values.token.access_token?React.createElement(TokenField,null,React.createElement(TokenValue,{length:this.values.token.access_token.length,masked:o},this.values.token.access_token),React.createElement(TokenShowHide,{onClick:this.toggleTokenMask},o?"Show":"Hide"," "),React.createElement(TokenClear,{onClick:this.clearToken}," Clear ")):React.createElement(FormError,{style:{marginBottom:"1em"}},"No token"))}}),t}(React.Component);export{OAuth2TokenInput};export default OAuth2TokenInput;
1
+ import{__assign,__awaiter,__extends,__generator}from"tslib";import*as React from"react";import{FormControl,FormLabel,FormError,FormWrapper,FormHeader,TokenField,TokenValue,TokenClear,TokenShowHide}from"../common/form";import{fromSessionStorage,getSecurityDetailsOptions,toSessionStorage}from"../../utils";import Scope from"./Scope";import{OAuth2}from"../../services/OAuth2";import{Button}from"../shared";import{FormDropdown,FormTextField}from"../common/TextField";import{normalizeUrlProtocol}from"./utils";function validateToken(e){if(!e)return"Token is required"}var OAuth2TokenInput=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"state",{enumerable:!0,configurable:!0,writable:!0,value:{error:"",loading:!1,tokenMasked:!0}}),Object.defineProperty(t,"clearToken",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.props.formApi.setValue("auth."+t.props.id+".token",""),toSessionStorage("auth."+t.props.id+".token","")}}),Object.defineProperty(t,"toggleTokenMask",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.setState({tokenMasked:!t.state.tokenMasked})}}),Object.defineProperty(t,"requestToken",{enumerable:!0,configurable:!0,writable:!0,value:function(){return __awaiter(t,void 0,void 0,(function(){var e,t,r,o,n,i,a,l=this;return __generator(this,(function(s){switch(s.label){case 0:return this.state.loading?[2]:(e=this.props,t=e.server,r=e.flow,o=e.authCorsProxyUrl,n=o&&r.tokenUrl?o+normalizeUrlProtocol(r.tokenUrl):r.tokenUrl,this.errors.client_id||this.errors.client_secret?(console.log("Provide client_id and client_secret"),[2]):(i=this.values.client_id,a=this.values.client_secret,i&&a?(this.setState({loading:!0}),[4,OAuth2.authorizeClientCredentials({tokenUrl:n.startsWith("http")?n:t+n,clientId:i,clientSecret:a,scopes:this.values.scopes,successCallback:function(e){l.props.formApi.setValue("auth."+l.props.id+".token",e),l.setState({loading:!1})},errorCallback:function(e){l.clearToken(),l.setState({error:e.message,loading:!1})}})]):(console.log("Provide client_id and client_secret"),[2])));case 1:return s.sent(),[2]}}))}))}}),t}return __extends(t,e),Object.defineProperty(t.prototype,"values",{get:function(){return this.props.form.values&&this.props.form.values.auth&&this.props.form.values.auth[this.props.id]||{}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"errors",{get:function(){return this.props.form.errors&&this.props.form.errors.auth&&this.props.form.errors.auth[this.props.id]||{}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.state,t=e.loading,r=e.error,o=e.tokenMasked,n=this.props,i=n.id,a=n.defaultValues,l=Object.keys(this.props.flow.scopes),s=fromSessionStorage("auth."+i+".token")||JSON.stringify(null==a?void 0:a.token);s=s?JSON.parse(s):"";var c=getSecurityDetailsOptions(i,"client_id"),u={field:"auth."+i+".client_id",fullWidth:!0,initialValue:fromSessionStorage("auth."+i+".client_id")||this.props.clientId||(null==a?void 0:a.client_id),initValue:fromSessionStorage("auth."+i+".client_id")||this.props.clientId||(null==a?void 0:a.client_id),placeholder:"Your OAuth2 app Client ID"};return React.createElement(React.Fragment,null,React.createElement(FormWrapper,null,React.createElement(FormControl,null,React.createElement(FormLabel,null,"Client ID:"),c?React.createElement(FormDropdown,__assign({},u,{options:c})):React.createElement(FormTextField,__assign({},u,{type:"password"}))),React.createElement(FormControl,null,React.createElement(FormLabel,null,"Client Secret:"),React.createElement(FormTextField,{type:"password",fullWidth:!0,field:"auth."+i+".client_secret",initialValue:fromSessionStorage("auth."+i+".client_secret")||(null==a?void 0:a.client_secret)})),React.createElement(FormTextField,{fullWidth:!0,field:"auth."+i+".token",type:"hidden",initialValue:s,validate:validateToken}),React.createElement(Scope,{id:i,scopes:l})),React.createElement(Button,{color:"primary",onClick:this.requestToken,blinking:t},t?"Loading...":"Request Token"),React.createElement(FormHeader,null," Access Token "),r?React.createElement(FormError,{style:{marginBottom:"1em"}},"Failed to request token: ",React.createElement("pre",null,r)," "):this.values.token&&this.values.token.access_token?React.createElement(TokenField,null,React.createElement(TokenValue,{length:this.values.token.access_token.length,masked:o},this.values.token.access_token),React.createElement(TokenShowHide,{onClick:this.toggleTokenMask},o?"Show":"Hide"," "),React.createElement(TokenClear,{onClick:this.clearToken}," Clear ")):React.createElement(FormError,{style:{marginBottom:"1em"}},"No token"))}}),t}(React.Component);export{OAuth2TokenInput};export default OAuth2TokenInput;
2
2
  //# sourceMappingURL=OAuth2TokenInput.js.map
@@ -1,2 +1,2 @@
1
- import*as React from"react";import{FormControl,FormLabel}from"../common/form";import{CheckboxList}from"../common/CheckboxList";import{fromStorage}from"../../utils";export default function Scope(e){var t=e.scopes,o=e.id,r=[];try{r=JSON.parse(fromStorage("auth."+o+".scopes"))}catch(e){}return t&&t.length?React.createElement(FormControl,null,React.createElement(FormLabel,null," Scopes: "),React.createElement(CheckboxList,{field:"auth."+o+".scopes",initialValue:r,items:t,showControls:!0,trimItemsLength:!0})):React.createElement(React.Fragment,null)}
1
+ import*as React from"react";import{FormControl,FormLabel}from"../common/form";import{CheckboxList}from"../common/CheckboxList";import{fromSessionStorage}from"../../utils";export default function Scope(e){var t=e.scopes,o=e.id,r=[];try{r=JSON.parse(fromSessionStorage("auth."+o+".scopes"))}catch(e){}return t&&t.length?React.createElement(FormControl,null,React.createElement(FormLabel,null," Scopes: "),React.createElement(CheckboxList,{field:"auth."+o+".scopes",initialValue:r,items:t,showControls:!0,trimItemsLength:!0})):React.createElement(React.Fragment,null)}
2
2
  //# sourceMappingURL=Scope.js.map
@@ -1,2 +1,2 @@
1
- import{__assign,__decorate,__extends,__makeTemplateObject}from"tslib";import*as React from"react";import{Dropdown,styled}from"../../redoc-lib";import{observer}from"mobx-react";import{fromStorage,toStorage}from"../../utils";import ServerVariable from"./ServerVariable";import{FormControl,FormLabel}from"../common/form";import{expandDefaultServerVariables,expandVariables,getServerWithVariables,getDefaultOrStoredVariables,updateVariablesStorage}from"./utils";var ServerChooser=function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(r,"state",{enumerable:!0,configurable:!0,writable:!0,value:{activeIdx:0,variables:{}}}),Object.defineProperty(r,"handleServerChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var a=r.props.operation.servers.find((function(r){return r.url===e.serverUrl})),t=getDefaultOrStoredVariables(a);r.props.onChange({url:e.serverUrl,variables:t}),toStorage("serverUrl",e.serverUrl),r.setState({variables:t})}}),Object.defineProperty(r,"handleVariableChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e,a){var t,n=r.props.operation.servers[r.state.activeIdx],o=__assign(__assign({},r.state.variables),((t={})[e]=a||getDefaultOrStoredVariables(n)[e],t));r.setState({variables:o}),updateVariablesStorage(e,a),r.props.onChange(__assign(__assign({},n),{variables:o}))}}),r}return __extends(r,e),Object.defineProperty(r,"getDerivedStateFromProps",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var r=e.operation,a=fromStorage("serverUrl"),t=r.servers.findIndex((function(e){return e.url===a}));return{activeIdx:t<0?0:t}}}),Object.defineProperty(r.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=getServerWithVariables(this.props.operation.servers,this.state.activeIdx);this.props.onChange(e),this.setState({variables:e.variables})}}),Object.defineProperty(r.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,r=this.state.activeIdx,a=this.props.operation.servers.map((function(r){return{serverUrl:r.url,value:"\n "+expandDefaultServerVariables(expandVariables(r.url,e.state.variables),r.variables)+"\n - "+(r.description||"Default")+"\n "}})),t=Object.keys(this.state.variables);return React.createElement(ServerDropdownWrap,null,React.createElement(FormLabel,{htmlFor:"server"},"Target server: "),React.createElement(FormControl,null,React.createElement(Dropdown,{openUp:!0,variant:"dark",value:a[r].value,options:a,onChange:this.handleServerChange})),t.length?t.map((function(r){var a=e.props.operation.servers[e.state.activeIdx].variables[r];return React.createElement(ServerVariable,{key:r,name:r,value:e.state.variables[r],defaultValue:a.default,onChange:function(a){return e.handleVariableChange(r,a)},variableEnum:a.enum,description:a.description})})):null)}}),r=__decorate([observer],r)}(React.Component);export{ServerChooser};var templateObject_1,ServerDropdownWrap=styled.div(templateObject_1||(templateObject_1=__makeTemplateObject(["\n margin-top: 20px;\n"],["\n margin-top: 20px;\n"])));
1
+ import{__assign,__decorate,__extends,__makeTemplateObject}from"tslib";import*as React from"react";import{Dropdown,styled}from"../../redoc-lib";import{observer}from"mobx-react";import{fromSessionStorage,toSessionStorage}from"../../utils";import ServerVariable from"./ServerVariable";import{FormControl,FormLabel}from"../common/form";import{expandDefaultServerVariables,expandVariables,getServerWithVariables,getDefaultOrStoredVariables,updateVariablesStorage}from"./utils";var ServerChooser=function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(r,"state",{enumerable:!0,configurable:!0,writable:!0,value:{activeIdx:0,variables:{}}}),Object.defineProperty(r,"handleServerChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var a=r.props.operation.servers.find((function(r){return r.url===e.serverUrl})),t=getDefaultOrStoredVariables(a);r.props.onChange({url:e.serverUrl,variables:t}),toSessionStorage("serverUrl",e.serverUrl),r.setState({variables:t})}}),Object.defineProperty(r,"handleVariableChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e,a){var t,n=r.props.operation.servers[r.state.activeIdx],o=__assign(__assign({},r.state.variables),((t={})[e]=a||getDefaultOrStoredVariables(n)[e],t));r.setState({variables:o}),updateVariablesStorage(e,a),r.props.onChange(__assign(__assign({},n),{variables:o}))}}),r}return __extends(r,e),Object.defineProperty(r,"getDerivedStateFromProps",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var r=e.operation,a=fromSessionStorage("serverUrl"),t=r.servers.findIndex((function(e){return e.url===a}));return{activeIdx:t<0?0:t}}}),Object.defineProperty(r.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=getServerWithVariables(this.props.operation.servers,this.state.activeIdx);this.props.onChange(e),this.setState({variables:e.variables})}}),Object.defineProperty(r.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,r=this.state.activeIdx,a=this.props.operation.servers.map((function(r){return{serverUrl:r.url,value:"\n "+expandDefaultServerVariables(expandVariables(r.url,e.state.variables),r.variables)+"\n - "+(r.description||"Default")+"\n "}})),t=Object.keys(this.state.variables);return React.createElement(ServerDropdownWrap,null,React.createElement(FormLabel,{htmlFor:"server"},"Target server: "),React.createElement(FormControl,null,React.createElement(Dropdown,{openUp:!0,variant:"dark",value:a[r].value,options:a,onChange:this.handleServerChange})),t.length?t.map((function(r){var a=e.props.operation.servers[e.state.activeIdx].variables[r];return React.createElement(ServerVariable,{key:r,name:r,value:e.state.variables[r],defaultValue:a.default,onChange:function(a){return e.handleVariableChange(r,a)},variableEnum:a.enum,description:a.description})})):null)}}),r=__decorate([observer],r)}(React.Component);export{ServerChooser};var templateObject_1,ServerDropdownWrap=styled.div(templateObject_1||(templateObject_1=__makeTemplateObject(["\n margin-top: 20px;\n"],["\n margin-top: 20px;\n"])));
2
2
  //# sourceMappingURL=ServerDropdown.js.map
@@ -23,3 +23,4 @@ export declare function getDefaultOrStoredVariables(server?: OpenAPIServer): {
23
23
  [x: string]: string;
24
24
  };
25
25
  export declare function updateVariablesStorage(name: string, value: string): void;
26
+ export declare function queryString(obj: GenericObject, prefix?: string): string;
@@ -1,2 +1,2 @@
1
- import{__assign}from"tslib";import{fromStorage,getParameterValue,setParameterValue,setSecurityDetails,toStorage}from"../../utils";export function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}export function updateStorage(e){if(e.values.auth)for(var r=0,a=Object.keys(e.values.auth);r<a.length;r++){var t=a[r],i=e.values.auth[t];setSecurityDetails(t,i)}updateParameterStorage(e)}export function updateParameterStorage(e){for(var r,a=0,t=["path","query","header","cookie"];a<t.length;a++){var i=t[a];if(null===(r=e.values)||void 0===r?void 0:r[i])for(var n=0,o=Object.keys(e.values[i]);n<o.length;n++){var u=o[n];setParameterValue(i,u,e.values[i][u])}}}export var getParameters=function(e,r){return e.filter((function(e){return e.in===r})).reduce((function(e,r){var a=r.in,t=r.name;return e[t]=getParameterValue(a,t),e}),{})};var pathTemplateRegExp=/(?:{)(\w+)(?:})/g;export function getServerWithVariables(e,r){void 0===r&&(r=0);var a=e[r],t=getDefaultOrStoredVariables(a);return __assign(__assign({},a),{variables:t})}export function getInitialServerWithVariables(e){var r=fromStorage("serverUrl"),a=e.find((function(e){return e.url===r}))||e[0],t=getDefaultOrStoredVariables(a);return __assign(__assign({},a),{variables:t})}export function expandVariables(e,r){return void 0===r&&(r={}),e.replace(pathTemplateRegExp,(function(e,a){return r[a]||e}))}export function expandDefaultServerVariables(e,r){return void 0===r&&(r={}),e.replace(pathTemplateRegExp,(function(e,a){return r[a]&&r[a].default||e}))}export function getDefaultOrStoredVariables(e){if(!(null==e?void 0:e.variables))return{};var r=fromStorage("variables"),a=r&&JSON.parse(r)||{},t={};return Object.entries(e.variables||{}).forEach((function(e){var r=e[0],i=e[1];t[r]=a[r]||i.default||""})),__assign({},t)}export function updateVariablesStorage(e,r){var a,t=fromStorage("variables"),i=t&&JSON.parse(t)||{};toStorage("variables",JSON.stringify(__assign(__assign({},i),((a={})[e]=r,a))))}
1
+ import{__assign}from"tslib";import{fromSessionStorage,getParameterValue,setParameterValue,setSecurityDetails,toSessionStorage}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)}export 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 o=0,i=Object.keys(e.values[n]);o<i.length;o++){var s=i[o];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||""})),__assign({},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 queryString(e,r){for(var t=[],a=0,n=Object.entries(e);a<n.length;a++){var o=n[a],i=o[0],s=o[1],u=r?r+"["+i+"]":i;t.push(null!==s&&"object"==typeof s?queryString(s,u):encodeURIComponent(u)+"="+encodeURIComponent(s))}return t.join("&")}
2
2
  //# sourceMappingURL=utils.js.map