@redocly/reference-docs 2.31.0 → 2.32.1

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 (148) hide show
  1. package/bin/cli/commands/redocly-docs-cli.min.js +101 -88
  2. package/bin/cli/commands/redocly-docs-cli.min.js.LICENSE.txt +1 -1
  3. package/dist/console.redocly-reference-docs.min.js +120 -120
  4. package/dist/oauth2-redirect.js +1 -1
  5. package/dist/redocly-reference-docs.min.js +586 -573
  6. package/lib/components/Endpoint/Endpoint.js +1 -1
  7. package/lib/components/Endpoint/ServerList.d.ts +1 -1
  8. package/lib/components/Endpoint/ServerList.js +1 -1
  9. package/lib/components/Endpoint/types.d.ts +1 -2
  10. package/lib/components/Panel/ContentPanel.js +1 -1
  11. package/lib/components/Panel/Description.d.ts +1 -0
  12. package/lib/components/Panel/Description.js +2 -0
  13. package/lib/components/Panel/PanelComponent.js +1 -1
  14. package/lib/components/Panel/index.d.ts +1 -0
  15. package/lib/components/Panel/index.js +1 -1
  16. package/lib/components/Samples/SamplesTabs.d.ts +3 -1
  17. package/lib/components/Samples/SamplesTabs.js +1 -1
  18. package/lib/components/console/AuthPanel.d.ts +1 -1
  19. package/lib/components/console/Console.d.ts +1 -1
  20. package/lib/components/console/Console.js +1 -1
  21. package/lib/components/console/ConsoleLazy.js +1 -1
  22. package/lib/components/console/OAuth2Flow.d.ts +2 -2
  23. package/lib/components/console/OAuth2TokenInput.d.ts +1 -1
  24. package/lib/components/console/OpenIDConnect.d.ts +1 -1
  25. package/lib/components/console/OpenIDConnect.js +1 -1
  26. package/lib/components/console/ServersDropdown/ServersDropdown.d.ts +3 -0
  27. package/lib/components/console/ServersDropdown/ServersDropdown.js +2 -0
  28. package/lib/components/console/ServersDropdown/index.d.ts +1 -0
  29. package/lib/components/console/ServersDropdown/index.js +2 -0
  30. package/lib/components/console/ServersDropdown/types.d.ts +5 -0
  31. package/lib/components/console/ServersDropdown/types.js +2 -0
  32. package/lib/hooks/index.d.ts +1 -0
  33. package/lib/hooks/index.js +1 -1
  34. package/lib/hooks/useDimensions.d.ts +1 -0
  35. package/lib/hooks/useDimensions.js +2 -0
  36. package/lib/index.d.ts +1 -1
  37. package/lib/oauth2-redirect-page/handler/helpers.d.ts +1 -0
  38. package/lib/oauth2-redirect-page/handler/helpers.js +1 -1
  39. package/lib/redoc-lib/src/common-elements/samples.js +1 -1
  40. package/lib/redoc-lib/src/components/CallbackSamples/CallbackSamples.d.ts +0 -1
  41. package/lib/redoc-lib/src/components/CallbackSamples/CallbackSamples.js +1 -1
  42. package/lib/redoc-lib/src/components/Callbacks/CallbackDetails.js +1 -1
  43. package/lib/redoc-lib/src/components/JsonViewer/style.js +1 -1
  44. package/lib/redoc-lib/src/components/Operation/Operation.js +1 -1
  45. package/lib/redoc-lib/src/components/RequestSamples/RequestSamples.js +1 -1
  46. package/lib/redoc-lib/src/components/Responses/Response.d.ts +2 -5
  47. package/lib/redoc-lib/src/components/Responses/Response.js +1 -1
  48. package/lib/redoc-lib/src/components/Responses/ResponseDetails.d.ts +3 -8
  49. package/lib/redoc-lib/src/components/Responses/ResponseDetails.js +1 -1
  50. package/lib/redoc-lib/src/components/Responses/ResponseHeaders.d.ts +3 -9
  51. package/lib/redoc-lib/src/components/Responses/ResponseHeaders.js +1 -1
  52. package/lib/redoc-lib/src/components/Responses/ResponseSummary.d.ts +1 -5
  53. package/lib/redoc-lib/src/components/Responses/ResponsesList.d.ts +3 -8
  54. package/lib/redoc-lib/src/components/Responses/ResponsesList.js +1 -1
  55. package/lib/redoc-lib/src/components/Responses/index.d.ts +1 -0
  56. package/lib/redoc-lib/src/components/Responses/index.js +2 -0
  57. package/{lib-esm/redoc-lib/src/components/Responses/styled.elements.d.ts → lib/redoc-lib/src/components/Responses/styled.d.ts} +1 -0
  58. package/lib/redoc-lib/src/components/Responses/styled.js +2 -0
  59. package/lib/redoc-lib/src/components/Responses/types.d.ts +12 -0
  60. package/lib/redoc-lib/src/components/Responses/types.js +2 -0
  61. package/lib/redoc-lib/src/components/SecurityRequirement/SecurityRequirementPanelDescription.js +1 -1
  62. package/lib/redoc-lib/src/components/SourceCode/SourceCode.d.ts +3 -5
  63. package/lib/redoc-lib/src/components/SourceCode/SourceCode.js +1 -1
  64. package/lib/redoc-lib/src/services/models/Schema.js +1 -1
  65. package/lib/redoc-lib/src/theme.d.ts +9 -0
  66. package/lib/redoc-lib/src/theme.js +1 -1
  67. package/lib/services/OpenIDConnect.d.ts +1 -1
  68. package/lib/services/code-samples/generator.js +1 -1
  69. package/lib/services/extendTheme.d.ts +1 -1
  70. package/lib/standalone.js +1 -1
  71. package/lib/types.d.ts +11 -0
  72. package/lib/utils.d.ts +2 -12
  73. package/lib/utils.js +1 -1
  74. package/lib-esm/components/Endpoint/Endpoint.js +1 -1
  75. package/lib-esm/components/Endpoint/ServerList.d.ts +1 -1
  76. package/lib-esm/components/Endpoint/ServerList.js +1 -1
  77. package/lib-esm/components/Endpoint/types.d.ts +1 -2
  78. package/lib-esm/components/Panel/ContentPanel.js +1 -1
  79. package/lib-esm/components/Panel/Description.d.ts +1 -0
  80. package/lib-esm/components/Panel/Description.js +2 -0
  81. package/lib-esm/components/Panel/PanelComponent.js +1 -1
  82. package/lib-esm/components/Panel/index.d.ts +1 -0
  83. package/lib-esm/components/Panel/index.js +1 -1
  84. package/lib-esm/components/Samples/SamplesTabs.d.ts +3 -1
  85. package/lib-esm/components/Samples/SamplesTabs.js +1 -1
  86. package/lib-esm/components/console/AuthPanel.d.ts +1 -1
  87. package/lib-esm/components/console/Console.d.ts +1 -1
  88. package/lib-esm/components/console/Console.js +1 -1
  89. package/lib-esm/components/console/ConsoleLazy.js +1 -1
  90. package/lib-esm/components/console/OAuth2Flow.d.ts +2 -2
  91. package/lib-esm/components/console/OAuth2TokenInput.d.ts +1 -1
  92. package/lib-esm/components/console/OpenIDConnect.d.ts +1 -1
  93. package/lib-esm/components/console/OpenIDConnect.js +1 -1
  94. package/lib-esm/components/console/ServersDropdown/ServersDropdown.d.ts +3 -0
  95. package/lib-esm/components/console/ServersDropdown/ServersDropdown.js +2 -0
  96. package/lib-esm/components/console/ServersDropdown/index.d.ts +1 -0
  97. package/lib-esm/components/console/ServersDropdown/index.js +2 -0
  98. package/lib-esm/components/console/ServersDropdown/types.d.ts +5 -0
  99. package/lib-esm/components/console/ServersDropdown/types.js +2 -0
  100. package/lib-esm/hooks/index.d.ts +1 -0
  101. package/lib-esm/hooks/index.js +1 -1
  102. package/lib-esm/hooks/useDimensions.d.ts +1 -0
  103. package/lib-esm/hooks/useDimensions.js +2 -0
  104. package/lib-esm/index.d.ts +1 -1
  105. package/lib-esm/oauth2-redirect-page/handler/helpers.d.ts +1 -0
  106. package/lib-esm/oauth2-redirect-page/handler/helpers.js +1 -1
  107. package/lib-esm/redoc-lib/src/common-elements/samples.js +1 -1
  108. package/lib-esm/redoc-lib/src/components/CallbackSamples/CallbackSamples.d.ts +0 -1
  109. package/lib-esm/redoc-lib/src/components/CallbackSamples/CallbackSamples.js +1 -1
  110. package/lib-esm/redoc-lib/src/components/Callbacks/CallbackDetails.js +1 -1
  111. package/lib-esm/redoc-lib/src/components/JsonViewer/style.js +1 -1
  112. package/lib-esm/redoc-lib/src/components/Operation/Operation.js +1 -1
  113. package/lib-esm/redoc-lib/src/components/RequestSamples/RequestSamples.js +1 -1
  114. package/lib-esm/redoc-lib/src/components/Responses/Response.d.ts +2 -5
  115. package/lib-esm/redoc-lib/src/components/Responses/Response.js +1 -1
  116. package/lib-esm/redoc-lib/src/components/Responses/ResponseDetails.d.ts +3 -8
  117. package/lib-esm/redoc-lib/src/components/Responses/ResponseDetails.js +1 -1
  118. package/lib-esm/redoc-lib/src/components/Responses/ResponseHeaders.d.ts +3 -9
  119. package/lib-esm/redoc-lib/src/components/Responses/ResponseHeaders.js +1 -1
  120. package/lib-esm/redoc-lib/src/components/Responses/ResponseSummary.d.ts +1 -5
  121. package/lib-esm/redoc-lib/src/components/Responses/ResponsesList.d.ts +3 -8
  122. package/lib-esm/redoc-lib/src/components/Responses/ResponsesList.js +1 -1
  123. package/lib-esm/redoc-lib/src/components/Responses/index.d.ts +1 -0
  124. package/lib-esm/redoc-lib/src/components/Responses/index.js +2 -0
  125. package/{lib/redoc-lib/src/components/Responses/styled.elements.d.ts → lib-esm/redoc-lib/src/components/Responses/styled.d.ts} +1 -0
  126. package/lib-esm/redoc-lib/src/components/Responses/styled.js +2 -0
  127. package/lib-esm/redoc-lib/src/components/Responses/types.d.ts +12 -0
  128. package/lib-esm/redoc-lib/src/components/Responses/types.js +2 -0
  129. package/lib-esm/redoc-lib/src/components/SecurityRequirement/SecurityRequirementPanelDescription.js +1 -1
  130. package/lib-esm/redoc-lib/src/components/SourceCode/SourceCode.d.ts +3 -5
  131. package/lib-esm/redoc-lib/src/components/SourceCode/SourceCode.js +1 -1
  132. package/lib-esm/redoc-lib/src/services/models/Schema.js +1 -1
  133. package/lib-esm/redoc-lib/src/theme.d.ts +9 -0
  134. package/lib-esm/redoc-lib/src/theme.js +1 -1
  135. package/lib-esm/services/OpenIDConnect.d.ts +1 -1
  136. package/lib-esm/services/code-samples/generator.js +1 -1
  137. package/lib-esm/services/extendTheme.d.ts +1 -1
  138. package/lib-esm/standalone.js +1 -1
  139. package/lib-esm/types.d.ts +11 -0
  140. package/lib-esm/utils.d.ts +2 -12
  141. package/lib-esm/utils.js +1 -1
  142. package/package.json +2 -1
  143. package/lib/components/console/ServerDropdown.d.ts +0 -24
  144. package/lib/components/console/ServerDropdown.js +0 -2
  145. package/lib/redoc-lib/src/components/Responses/styled.elements.js +0 -2
  146. package/lib-esm/components/console/ServerDropdown.d.ts +0 -24
  147. package/lib-esm/components/console/ServerDropdown.js +0 -2
  148. package/lib-esm/redoc-lib/src/components/Responses/styled.elements.js +0 -2
@@ -1,2 +1,2 @@
1
- import{__assign,__awaiter,__decorate,__extends,__generator,__rest}from"tslib";import*as React from"react";import{Form,useField}from"informed";import{observer}from"mobx-react";import Swagger from"swagger-client";import{get,useDimensions,unescapeFormId}from"../../utils";import{AnalyticsEventType}from"../../services";import{JsonPointer}from"../../redoc-lib";import{RenderHook}from"../../redoc-lib/src/components/RenderHook";import{l}from"../../redoc-lib/src/services/Labels";import{CodeHeader,Accordion}from"../Panel";import{OAuth2}from"../../services/OAuth2";import{isFileUploadMime}from"../common/FileUpload/helper";import{OperationParameters}from"../OperationParameters";import{getFileNameFromHeaders,getParameters,makeRequestInterceptor,unescapeQueryParams,updateStorage}from"./utils";import{AuthPanel,requiredValidator}from"./AuthPanel";import{ConsoleBadges}from"./ConsoleBadges";import{RequestBody}from"./RequestBody";import{ResponsePanel}from"./ResponsePanel";import{ActionPanel}from"./ActionPanel";import{ServerChooser}from"./ServerDropdown";import{TryItPanel}from"./TryItPanel";import{CloseButton,ConsoleBody,ConsoleWrap}from"./styled";function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}var flexColumn={flex:1,display:"flex",flexDirection:"column"},Console=function(e){function t(t){var r=e.call(this,t)||this;return Object.defineProperty(r,"formApi",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"setFormApi",{enumerable:!0,configurable:!0,writable:!0,value:function(e,t){void 0===t&&(t=e.getState());var o=t.values,a=__rest(t,["values"]);r.formApi=e,setTimeout((function(){var e=__assign(__assign({},a),{values:__assign(__assign({},o),{query:unescapeQueryParams(o.query||{})})});r.setState({form:e})}),0)}}),Object.defineProperty(r,"handleChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var t=e.values,o=__rest(e,["values"]),a=__assign(__assign({},o),{values:__assign(__assign({},t),{query:unescapeQueryParams(t.query||{})})});r.setState({form:a}),updateStorage(a),r.props.operation.setRequestValues(t)}}),Object.defineProperty(r,"handleTabChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.setState({activeTab:e})}}),Object.defineProperty(r,"handleServerChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.setState({server:e}),r.props.operation.setActiveServer(e)}}),Object.defineProperty(r,"handleExecute",{enumerable:!0,configurable:!0,writable:!0,value:function(){return __awaiter(r,void 0,void 0,(function(){var e,t,r,o,a,n,s,i,l,u,c,p,d,m,h,v,g,f,y,_,b,P,R,S,C,w,A,E,I,k,q,T,O,F,B,x,H,j,V,D,U=this;return __generator(this,(function(N){switch(N.label){case 0:if(e=this.props,t=e.store,r=e.operation,o=e.onResponse,a=this.state.form,n=a.values,s=a.invalid,this.formApi.submitForm(),s)return this.setState({shaking:!0}),setTimeout((function(){return U.setState({shaking:!1})}),1e3),null===(B=null===(F=null==t?void 0:t.options.events)||void 0===F?void 0:F.tryItSent)||void 0===B||B.call(F,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"ValidationFailed",operationId:r.operationId,operationPath:r.path,operationHttpVerb:r.httpVerb,operationSummary:r.description}),[2];if(i=this.props.operation.requestBody,l=i&&i.content&&i.content.active&&i.content.active.name||"",u=n.body,/json/.test(l))try{u=JSON.parse(u)}catch(e){console.error(e)}if(this.setState({loading:!0}),c=this.state.resolvedRawSpec,p=(r.httpVerb||"").toLowerCase(),!(d=get(c,["paths",r.path,p,"servers"])||get(c,["paths",r.path,"servers"])||get(c,["servers"])))throw console.error("Servers are not specified in your OpenAPI file. You can't use Try It Out console without specifying servers. If you use OpenAPI 2, make sure you configured host and basepath"),new Error("Servers are not specified");m=d.find((function(e){return U.state.server.url.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url)})),h=Date.now(),v=!!window.document.documentMode,f=n.auth,n.auth?(y=Object.keys(n.auth)[0],_=unescapeFormId(y),g=__assign(__assign({},c),{components:__assign(__assign({},c.components),{securitySchemes:__assign(__assign({},c.components.securitySchemes),(k={},k[_]=__assign(__assign({},c.components.securitySchemes[_]),{type:"openIdConnect"===c.components.securitySchemes[_].type?"oauth2":c.components.securitySchemes[_].type}),k))})}),f=__assign(__assign({},f),((q={})[_]=f[y],q))):g=__assign({},c),(b=t.options.corsProxyUrl)&&d.length&&(g.servers=d.map((function(e){return __assign(__assign({},e),{url:b+normalizeUrlProtocol(e.url)})})),g.paths=__assign(__assign({},g.paths),((T={})[r.path]=__assign(__assign({},g.paths[r.path]),((O={})[p]=__assign(__assign({},g.paths[r.path][p]),{servers:void 0}),O.servers=void 0,O)),T))),(P=(null===(H=null===(x=null==i?void 0:i.content)||void 0===x?void 0:x.active)||void 0===H?void 0:H.name)||null)&&u&&isFileUploadMime(P)&&(R=Object.values(u),u=R.length>1?R:R[0]),S={userFetch:v&&require("cross-fetch").fetch,server:b?b+normalizeUrlProtocol(m.url):m.url,serverVariables:this.state.server.variables,spec:g,pathName:r.path,method:r.httpVerb,parameters:__assign(__assign(__assign(__assign({},n.path),n.query),n.header),n.cookie),securities:{authorized:f},requestBody:u,requestContentType:P,responseContentType:(null===(j=n.header)||void 0===j?void 0:j.Accept)||null,requestInterceptor:makeRequestInterceptor(t.options,r,null==f?void 0:f.Authorization)},N.label=1;case 1:return N.trys.push([1,5,8,9]),[4,Swagger.execute(S)];case 2:return C=N.sent(),(w=null==C?void 0:C.data)instanceof Blob?(isFileUploadMime(w.type)&&(C.fileInfo={rawData:w,fileName:getFileNameFromHeaders(C.headers)}),A=C,[4,w.text()]):[3,4];case 3:A.data=N.sent(),N.label=4;case 4:return null==o||o({request:S,response:C}),this.setState({response:C,error:void 0}),[3,9];case 5:return(E=N.sent())&&E.response&&E.response.data instanceof Blob?(I=E.response,[4,E.response.data.text()]):[3,7];case 6:I.data=N.sent(),null==o||o({request:S,response:E.response}),N.label=7;case 7:return this.setState({response:void 0,error:E}),[3,9];case 8:return this.setState({loading:!1,activeTab:1,time:Date.now()-h}),null===(D=null===(V=null==t?void 0:t.options.events)||void 0===V?void 0:V.tryItSent)||void 0===D||D.call(V,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"Sent",operationId:r.operationId,operationPath:r.path,operationHttpVerb:r.httpVerb,operationSummary:r.description}),[7];case 9:return[2]}}))}))}}),r.state={form:{values:{path:getParameters(t.operation.parameters,"path"),cookie:getParameters(t.operation.parameters,"cookie"),header:getParameters(t.operation.parameters,"header"),query:getParameters(t.operation.parameters,"query")}},shaking:!1,loading:!1,activeTab:0,server:{}},r}return __extends(t,e),Object.defineProperty(t.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){return __awaiter(this,void 0,void 0,(function(){var e,t,r,o;return __generator(this,(function(a){switch(a.label){case 0:return e=this.props,t=e.store,r=e.operation,[4,t.dereferenceSpecForTryIt(r)];case 1:return o=a.sent(),this.setState({resolvedRawSpec:o}),this.formApi.setValues({}),[2]}}))}))}}),Object.defineProperty(t.prototype,"componentDidUpdate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){e.operation!==this.props.operation&&this.setState({response:void 0,error:void 0,activeTab:0})}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.props,t=e.operation,r=e.className,o=e.rootElement,a=this.state,n=a.shaking,s=a.activeTab,i=a.form,l=a.response,u=a.loading,c=a.error,p=!(!l&&!c);return React.createElement(ConsoleWrapHook,{shaking:n,className:r,rootElement:o},React.createElement(CodeHeader,null,React.createElement(ConsoleBadges,{active:s,hasResponse:p,onChange:this.handleTabChange}),this.props.onClose&&React.createElement(CloseButton,{onClick:this.props.onClose}," ✕ ")),React.createElement(ConsoleBody,{hidden:0!==s},this.renderRequest()),React.createElement(ConsoleBody,{hidden:1!==s},this.renderResponse()),React.createElement(ActionPanel,{hasResponse:p,params:i.values,operation:t,loading:u,execute:this.handleExecute}))}}),Object.defineProperty(t.prototype,"renderRequest",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e,t=this.props,r=t.operation,o=t.store,a=t.properties,n=t.securityDefaults,s=this.state,i=s.form,u=s.resolvedRawSpec,c=s.server,p=i.errors||{},d=p.path||p.cookie||p.header||p.query,m=u&&JsonPointer.get(u,r.pointer),h=i.values&&i.values.auth&&Object.keys(i.values.auth)[0];h&&i.values.auth[h]||(h=void 0),!h||void 0===i.values.auth[h].token&&void 0===i.values.auth[h].client_id&&void 0===i.values.auth[h].client_secret||i.values.auth[h].token&&i.values.auth[h].token.access_token||(h=void 0),h&&null!=i.values.auth[h].username&&(i.values.auth[h].username&&i.values.auth[h].password||(h=void 0));var v=r.parameters||[],g=null===(e=null==o?void 0:o.options.hooks)||void 0===e?void 0:e.ReplaceTryItSecurityPanel;return!u&&React.createElement(React.Fragment,null,"Loading...")||React.createElement(React.Fragment,null,React.createElement(Form,{onChange:this.handleChange,getApi:this.setFormApi,style:__assign(__assign({},flexColumn),{margin:0})},React.createElement(Accordion,{initialActiveIdx:r.security.length&&h?1:0},r.security.length&&React.createElement(TryItPanel,{header:l("tryItAuth"),"data-cy":"security-trigger",renderChildrenHidden:!0,error:!h&&!!p.auth,success:!!h},g?React.createElement(AuthPanelHook,{field:"auth",validate:requiredValidator},(function(e){return React.createElement(RenderHook,{Hook:g,props:{server:c,operation:r,onChange:e,OAuth2:OAuth2}})})):React.createElement(AuthPanel,{formApi:this.formApi,form:i,operation:r,activeServer:c.url,authCorsProxyUrl:o.options.authCorsProxyUrl,securityDefaults:n}))||null,r.requestBody&&React.createElement(TryItPanel,{header:l("tryItBody"),"data-cy":"body-trigger",renderChildrenHidden:!0,error:!!p.body},React.createElement(RequestBody,{validate:allowBodyErrors,console:this,body:r.requestBody,id:r.id,resolvedBody:m.requestBody,properties:a}))||null,v.length&&React.createElement(TryItPanel,{header:l("tryItParameters"),"data-cy":"parameters-trigger",error:d,renderChildrenHidden:!0},React.createElement(OperationParameters,{operation:r,values:i.values,errors:i.errors||{}}))||null)),React.createElement(ServerChooser,{operation:r,onChange:this.handleServerChange}))}}),Object.defineProperty(t.prototype,"renderResponse",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.state,t=e.response,r=e.error,o=e.time;return React.createElement(ResponsePanel,{response:t,error:r,time:o})}}),t=__decorate([observer],t)}(React.Component);export{Console};function allowBodyErrors(){}function ConsoleWrapHook(e){var t=e.shaking,r=e.className,o=e.children,a=e.rootElement,n=useDimensions(a)[0];return React.createElement(ConsoleWrap,{shaking:t,className:r,"data-cy":"console",fullWidth:null==n?void 0:n.width},o)}function AuthPanelHook(e){var t=useField(__assign({},e)),r=t.fieldApi,o=t.render,a=t.userProps,n=r.setValue,s=a.children;return o(React.createElement(React.Fragment,null,s(n)))}
1
+ import{__assign,__awaiter,__decorate,__extends,__generator,__rest}from"tslib";import*as React from"react";import{Form,useField}from"informed";import{observer}from"mobx-react";import Swagger from"swagger-client";import{get,unescapeFormId}from"../../utils";import{useDimensions}from"../../hooks";import{AnalyticsEventType}from"../../services";import{JsonPointer}from"../../redoc-lib";import{RenderHook}from"../../redoc-lib/src/components/RenderHook";import{l}from"../../redoc-lib/src/services/Labels";import{CodeHeader,Accordion}from"../Panel";import{OAuth2}from"../../services/OAuth2";import{isFileUploadMime}from"../common/FileUpload/helper";import{OperationParameters}from"../OperationParameters";import{getFileNameFromHeaders,getParameters,makeRequestInterceptor,unescapeQueryParams,updateStorage}from"./utils";import{AuthPanel,requiredValidator}from"./AuthPanel";import{ConsoleBadges}from"./ConsoleBadges";import{RequestBody}from"./RequestBody";import{ResponsePanel}from"./ResponsePanel";import{ActionPanel}from"./ActionPanel";import{ServersDropdown}from"./ServersDropdown";import{TryItPanel}from"./TryItPanel";import{CloseButton,ConsoleBody,ConsoleWrap}from"./styled";function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}var flexColumn={flex:1,display:"flex",flexDirection:"column"},Console=function(e){function t(t){var r=e.call(this,t)||this;return Object.defineProperty(r,"formApi",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"setFormApi",{enumerable:!0,configurable:!0,writable:!0,value:function(e,t){void 0===t&&(t=e.getState());var o=t.values,a=__rest(t,["values"]);r.formApi=e,setTimeout((function(){var e=__assign(__assign({},a),{values:__assign(__assign({},o),{query:unescapeQueryParams(o.query||{})})});r.setState({form:e})}),0)}}),Object.defineProperty(r,"handleChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var t=e.values,o=__rest(e,["values"]),a=__assign(__assign({},o),{values:__assign(__assign({},t),{query:unescapeQueryParams(t.query||{})})});r.setState({form:a}),updateStorage(a),r.props.operation.setRequestValues(t)}}),Object.defineProperty(r,"handleTabChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.setState({activeTab:e})}}),Object.defineProperty(r,"handleServerChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.setState({server:e}),r.props.operation.setActiveServer(e)}}),Object.defineProperty(r,"handleExecute",{enumerable:!0,configurable:!0,writable:!0,value:function(){return __awaiter(r,void 0,void 0,(function(){var e,t,r,o,a,n,s,i,l,u,c,p,d,m,h,v,g,y,f,_,b,P,R,S,C,w,A,E,I,k,q,T,O,B,F,x,H,j,D,V,U=this;return __generator(this,(function(N){switch(N.label){case 0:if(e=this.props,t=e.store,r=e.operation,o=e.onResponse,a=this.state.form,n=a.values,s=a.invalid,this.formApi.submitForm(),s)return this.setState({shaking:!0}),setTimeout((function(){return U.setState({shaking:!1})}),1e3),null===(F=null===(B=null==t?void 0:t.options.events)||void 0===B?void 0:B.tryItSent)||void 0===F||F.call(B,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"ValidationFailed",operationId:r.operationId,operationPath:r.path,operationHttpVerb:r.httpVerb,operationSummary:r.description}),[2];if(i=this.props.operation.requestBody,l=i&&i.content&&i.content.active&&i.content.active.name||"",u=n.body,/json/.test(l))try{u=JSON.parse(u)}catch(e){console.error(e)}if(this.setState({loading:!0}),c=this.state.resolvedRawSpec,p=(r.httpVerb||"").toLowerCase(),!(d=get(c,["paths",r.path,p,"servers"])||get(c,["paths",r.path,"servers"])||get(c,["servers"])))throw console.error("Servers are not specified in your OpenAPI file. You can't use Try It Out console without specifying servers. If you use OpenAPI 2, make sure you configured host and basepath"),new Error("Servers are not specified");m=d.find((function(e){return U.state.server.url.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url)})),h=Date.now(),v=!!window.document.documentMode,y=n.auth,n.auth?(f=Object.keys(n.auth)[0],_=unescapeFormId(f),g=__assign(__assign({},c),{components:__assign(__assign({},c.components),{securitySchemes:__assign(__assign({},c.components.securitySchemes),(k={},k[_]=__assign(__assign({},c.components.securitySchemes[_]),{type:"openIdConnect"===c.components.securitySchemes[_].type?"oauth2":c.components.securitySchemes[_].type}),k))})}),y=__assign(__assign({},y),((q={})[_]=y[f],q))):g=__assign({},c),(b=t.options.corsProxyUrl)&&d.length&&(g.servers=d.map((function(e){return __assign(__assign({},e),{url:b+normalizeUrlProtocol(e.url)})})),g.paths=__assign(__assign({},g.paths),((T={})[r.path]=__assign(__assign({},g.paths[r.path]),((O={})[p]=__assign(__assign({},g.paths[r.path][p]),{servers:void 0}),O.servers=void 0,O)),T))),(P=(null===(H=null===(x=null==i?void 0:i.content)||void 0===x?void 0:x.active)||void 0===H?void 0:H.name)||null)&&u&&isFileUploadMime(P)&&(R=Object.values(u),u=R.length>1?R:R[0]),S={userFetch:v&&require("cross-fetch").fetch,server:b?b+normalizeUrlProtocol(m.url):m.url,serverVariables:this.state.server.variables,spec:g,pathName:r.path,method:r.httpVerb,parameters:__assign(__assign(__assign(__assign({},n.path),n.query),n.header),n.cookie),securities:{authorized:y},requestBody:u,requestContentType:P,responseContentType:(null===(j=n.header)||void 0===j?void 0:j.Accept)||null,requestInterceptor:makeRequestInterceptor(t.options,r,null==y?void 0:y.Authorization)},N.label=1;case 1:return N.trys.push([1,5,8,9]),[4,Swagger.execute(S)];case 2:return C=N.sent(),(w=null==C?void 0:C.data)instanceof Blob?(isFileUploadMime(w.type)&&(C.fileInfo={rawData:w,fileName:getFileNameFromHeaders(C.headers)}),A=C,[4,w.text()]):[3,4];case 3:A.data=N.sent(),N.label=4;case 4:return null==o||o({request:S,response:C}),this.setState({response:C,error:void 0}),[3,9];case 5:return(E=N.sent())&&E.response&&E.response.data instanceof Blob?(I=E.response,[4,E.response.data.text()]):[3,7];case 6:I.data=N.sent(),null==o||o({request:S,response:E.response}),N.label=7;case 7:return this.setState({response:void 0,error:E}),[3,9];case 8:return this.setState({loading:!1,activeTab:1,time:Date.now()-h}),null===(V=null===(D=null==t?void 0:t.options.events)||void 0===D?void 0:D.tryItSent)||void 0===V||V.call(D,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"Sent",operationId:r.operationId,operationPath:r.path,operationHttpVerb:r.httpVerb,operationSummary:r.description}),[7];case 9:return[2]}}))}))}}),r.state={form:{values:{path:getParameters(t.operation.parameters,"path"),cookie:getParameters(t.operation.parameters,"cookie"),header:getParameters(t.operation.parameters,"header"),query:getParameters(t.operation.parameters,"query")}},shaking:!1,loading:!1,activeTab:0,server:{}},r}return __extends(t,e),Object.defineProperty(t.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){return __awaiter(this,void 0,void 0,(function(){var e,t,r,o;return __generator(this,(function(a){switch(a.label){case 0:return e=this.props,t=e.store,r=e.operation,[4,t.dereferenceSpecForTryIt(r)];case 1:return o=a.sent(),this.setState({resolvedRawSpec:o}),this.formApi.setValues({}),[2]}}))}))}}),Object.defineProperty(t.prototype,"componentDidUpdate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){e.operation!==this.props.operation&&this.setState({response:void 0,error:void 0,activeTab:0})}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.props,t=e.operation,r=e.className,o=e.rootElement,a=this.state,n=a.shaking,s=a.activeTab,i=a.form,l=a.response,u=a.loading,c=a.error,p=!(!l&&!c);return React.createElement(ConsoleWrapHook,{shaking:n,className:r,rootElement:o},React.createElement(CodeHeader,null,React.createElement(ConsoleBadges,{active:s,hasResponse:p,onChange:this.handleTabChange}),this.props.onClose&&React.createElement(CloseButton,{onClick:this.props.onClose}," ✕ ")),React.createElement(ConsoleBody,{hidden:0!==s,"data-cy":"console-request-body"},this.renderRequest()),React.createElement(ConsoleBody,{hidden:1!==s,"data-cy":"console-response-body"},this.renderResponse()),React.createElement(ActionPanel,{hasResponse:p,params:i.values,operation:t,loading:u,execute:this.handleExecute}))}}),Object.defineProperty(t.prototype,"renderRequest",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e,t=this.props,r=t.operation,o=t.store,a=t.properties,n=t.securityDefaults,s=this.state,i=s.form,u=s.resolvedRawSpec,c=s.server,p=i.errors||{},d=p.path||p.cookie||p.header||p.query,m=u&&JsonPointer.get(u,r.pointer),h=i.values&&i.values.auth&&Object.keys(i.values.auth)[0];h&&i.values.auth[h]||(h=void 0),!h||void 0===i.values.auth[h].token&&void 0===i.values.auth[h].client_id&&void 0===i.values.auth[h].client_secret||i.values.auth[h].token&&i.values.auth[h].token.access_token||(h=void 0),h&&null!=i.values.auth[h].username&&(i.values.auth[h].username&&i.values.auth[h].password||(h=void 0));var v=r.parameters||[],g=null===(e=null==o?void 0:o.options.hooks)||void 0===e?void 0:e.ReplaceTryItSecurityPanel;return!u&&React.createElement(React.Fragment,null,"Loading...")||React.createElement(Form,{onChange:this.handleChange,getApi:this.setFormApi,style:__assign(__assign({},flexColumn),{margin:0})},React.createElement(ServersDropdown,{operation:r,onChange:this.handleServerChange}),React.createElement(Accordion,{initialActiveIdx:r.security.length&&h?1:0},r.security.length&&React.createElement(TryItPanel,{header:l("tryItAuth"),"data-cy":"security-trigger",renderChildrenHidden:!0,error:!h&&!!p.auth,success:!!h},g?React.createElement(AuthPanelHook,{field:"auth",validate:requiredValidator},(function(e){return React.createElement(RenderHook,{Hook:g,props:{server:c,operation:r,onChange:e,OAuth2:OAuth2}})})):React.createElement(AuthPanel,{formApi:this.formApi,form:i,operation:r,activeServer:c.url,authCorsProxyUrl:o.options.authCorsProxyUrl,securityDefaults:n}))||null,r.requestBody&&React.createElement(TryItPanel,{header:l("tryItBody"),"data-cy":"body-trigger",renderChildrenHidden:!0,error:!!p.body},React.createElement(RequestBody,{validate:allowBodyErrors,console:this,body:r.requestBody,id:r.id,resolvedBody:m.requestBody,properties:a}))||null,v.length&&React.createElement(TryItPanel,{header:l("tryItParameters"),"data-cy":"parameters-trigger",error:d,renderChildrenHidden:!0},React.createElement(OperationParameters,{operation:r,values:i.values,errors:i.errors||{}}))||null))}}),Object.defineProperty(t.prototype,"renderResponse",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.state,t=e.response,r=e.error,o=e.time;return React.createElement(ResponsePanel,{response:t,error:r,time:o})}}),t=__decorate([observer],t)}(React.Component);export{Console};function allowBodyErrors(){}function ConsoleWrapHook(e){var t=e.shaking,r=e.className,o=e.children,a=e.rootElement,n=useDimensions(a)[0];return React.createElement(ConsoleWrap,{shaking:t,className:r,"data-cy":"console",fullWidth:null==n?void 0:n.width},o)}function AuthPanelHook(e){var t=useField(__assign({},e)),r=t.fieldApi,o=t.render,a=t.userProps,n=r.setValue,s=a.children;return o(React.createElement(React.Fragment,null,s(n)))}
2
2
  //# sourceMappingURL=Console.js.map
@@ -1,2 +1,2 @@
1
- import{__assign,__awaiter,__generator}from"tslib";import*as React from"react";import{useDimensions}from"../../utils";import{CodeHeader}from"../Panel";import{ConsoleWrap}from"./styled";export function Console(e){var t=this,o=React.useState({}),n=o[0],r=o[1],a=useDimensions(e.rootElement)[0];return React.useEffect((function(){__awaiter(t,void 0,void 0,(function(){var e;return __generator(this,(function(t){switch(t.label){case 0:return[4,import("./Console")];case 1:return e=t.sent(),r({Console:e.Console}),[2]}}))}))}),[]),n.Console?React.createElement(n.Console,__assign({},e)):React.createElement(ConsoleWrap,{className:e.className,fullWidth:null==a?void 0:a.width},React.createElement(CodeHeader,null,"Loading..."))}
1
+ import{__assign,__awaiter,__generator}from"tslib";import*as React from"react";import{useDimensions}from"../../hooks";import{CodeHeader}from"../Panel";import{ConsoleWrap}from"./styled";export function Console(e){var o=this,t=React.useState({}),n=t[0],r=t[1],a=useDimensions(e.rootElement)[0];return React.useEffect((function(){__awaiter(o,void 0,void 0,(function(){var e;return __generator(this,(function(o){switch(o.label){case 0:return[4,import("./Console")];case 1:return e=o.sent(),r({Console:e.Console}),[2]}}))}))}),[]),n.Console?React.createElement(n.Console,__assign({},e)):React.createElement(ConsoleWrap,{className:e.className,fullWidth:null==a?void 0:a.width},React.createElement(CodeHeader,null,"Loading..."))}
2
2
  //# sourceMappingURL=ConsoleLazy.js.map
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import type { FormApi, FormState } from 'informed';
3
3
  import type { InputActionButtonProps } from '../common/TextField';
4
- import type { SecurityDetails } from '../../utils';
4
+ import type { SecurityDetails } from '../../types';
5
5
  import type { RedocProNormalizedOptions } from '../../services';
6
6
  export interface OAuth2FlowProps {
7
7
  authorizationUrl: string;
@@ -17,7 +17,7 @@ export interface OAuth2FlowProps {
17
17
  form: FormState;
18
18
  formApi: FormApi;
19
19
  flow: 'implicit' | 'authorizationCode';
20
- tokenEndpointAuthMethod?: string;
20
+ tokenEndpointAuthMethod?: string | string[];
21
21
  clientId?: string;
22
22
  defaultValues?: SecurityDetails;
23
23
  }
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import type { SecurityDetails } from '../../utils';
2
+ import type { SecurityDetails } from '../../types';
3
3
  export interface OAuth2TokenInputProps {
4
4
  flow: {
5
5
  refreshUrl?: string;
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import type { FormApi, FormState } from 'informed';
3
3
  import type { SecurityScheme } from '../../redoc-lib';
4
- import type { SecurityDetails } from '../../utils';
4
+ import type { SecurityDetails } from '../../types';
5
5
  export interface OpenIDConnectProps {
6
6
  server: string;
7
7
  authCorsProxyUrl: Maybe<string>;
@@ -1,2 +1,2 @@
1
- import{__awaiter,__generator,__makeTemplateObject}from"tslib";import*as React from"react";import{styled}from"../../redoc-lib";import{discoverOpenIDConnect}from"../../services/OpenIDConnect";import{LinearProgress}from"../common/LinearProgress";import{FormError}from"../common/form";import{OAuth2Flow}from"./OAuth2Flow";export function OpenIDConnect(e){var t,r=this,n=e.scheme,o=e.defaultValues,a=React.useState({}),l=a[0],c=a[1],i=React.useState(),m=i[0],s=i[1],u=React.useState(!1),p=u[0],d=u[1];React.useEffect((function(){f(n.openIdConnectUrl)}),[n.openIdConnectUrl]);var f=function(e){return __awaiter(r,void 0,void 0,(function(){var t,r;return __generator(this,(function(n){switch(n.label){case 0:d(!0),s(""),n.label=1;case 1:return n.trys.push([1,3,,4]),[4,discoverOpenIDConnect(e)];case 2:return t=n.sent(),c(t),[3,4];case 3:return r=n.sent(),s(r.message),[3,4];case 4:return d(!1),[2]}}))}))};return React.createElement("div",null,p?React.createElement("div",null,React.createElement("div",null,"Fetching OpenID Connect metadata..."),React.createElement(LinearProgress,null)):React.createElement("div",null,m?React.createElement(FormError,null,m):(null===(t=null==l?void 0:l.response_types_supported)||void 0===t?void 0:t.includes("token"))?React.createElement(React.Fragment,null,React.createElement(FlowName,null,"OAuth2 Implicit Flow"),React.createElement(OAuth2Flow,{key:e.id,authorizationUrl:l.authorization_endpoint,authCorsProxyUrl:e.authCorsProxyUrl,scopes:l.scopes_supported,server:e.server,id:e.id,form:e.form,formApi:e.formApi,clientId:e.clientId,flow:"implicit",defaultValues:o})):React.createElement("div",null,"Unsupported flow")))}var templateObject_1,FlowName=styled.div(templateObject_1||(templateObject_1=__makeTemplateObject(["\n margin-top: 5px;\n margin-bottom: 10px;\n"],["\n margin-top: 5px;\n margin-bottom: 10px;\n"])));
1
+ import{__awaiter,__generator,__makeTemplateObject}from"tslib";import React,{useState,useEffect}from"react";import{styled}from"../../redoc-lib";import{discoverOpenIDConnect}from"../../services/OpenIDConnect";import{LinearProgress}from"../common/LinearProgress";import{FormError}from"../common/form";import{OAuth2Flow}from"./OAuth2Flow";export function OpenIDConnect(e){var t,r,n=this,o=e.scheme,a=e.defaultValues,l=useState({}),i=l[0],c=l[1],u=useState(),m=u[0],s=u[1],d=useState(!1),p=d[0],f=d[1];useEffect((function(){v(o.openIdConnectUrl)}),[o.openIdConnectUrl]);var v=function(e){return __awaiter(n,void 0,void 0,(function(){var t,r;return __generator(this,(function(n){switch(n.label){case 0:f(!0),s(""),n.label=1;case 1:return n.trys.push([1,3,,4]),[4,discoverOpenIDConnect(e)];case 2:return t=n.sent(),c(t),[3,4];case 3:return r=n.sent(),s(r.message),[3,4];case 4:return f(!1),[2]}}))}))};return p?React.createElement(Loading,null):m?React.createElement(Error,{message:m}):React.createElement("div",null,React.createElement("div",null,(null===(t=null==i?void 0:i.response_types_supported)||void 0===t?void 0:t.includes("token"))?React.createElement(React.Fragment,null,React.createElement(FlowName,null,"OAuth2 Implicit Flow"),React.createElement(OAuth2Flow,{key:e.id,authorizationUrl:i.authorization_endpoint,authCorsProxyUrl:e.authCorsProxyUrl,scopes:i.scopes_supported,server:e.server,id:e.id,form:e.form,formApi:e.formApi,clientId:e.clientId,flow:"implicit",defaultValues:a})):(null===(r=null==i?void 0:i.response_types_supported)||void 0===r?void 0:r.includes("code"))?React.createElement(React.Fragment,null,React.createElement(FlowName,null,"OAuth2 Authorization Flow"),React.createElement(OAuth2Flow,{key:e.id,authorizationUrl:i.authorization_endpoint,tokenUrl:i.token_endpoint,authCorsProxyUrl:e.authCorsProxyUrl,scopes:i.scopes_supported,server:e.server,id:e.id,form:e.form,formApi:e.formApi,clientId:e.clientId,tokenEndpointAuthMethod:null==i?void 0:i.token_endpoint_auth_methods_supported,flow:"authorizationCode",defaultValues:a})):React.createElement("div",null,"Unsupported flow")))}function Loading(){return React.createElement("div",null,React.createElement("div",null,React.createElement("div",null,"Fetching OpenID Connect metadata..."),React.createElement(LinearProgress,null)))}function Error(e){var t=e.message;return React.createElement("div",null,React.createElement("div",null,React.createElement(FormError,null,t)))}var templateObject_1,FlowName=styled.div(templateObject_1||(templateObject_1=__makeTemplateObject(["\n margin-top: 5px;\n margin-bottom: 10px;\n"],["\n margin-top: 5px;\n margin-bottom: 10px;\n"])));
2
2
  //# sourceMappingURL=OpenIDConnect.js.map
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import type { ServersDropdownProps } from './types';
3
+ export declare const ServersDropdown: ({ operation, onChange }: ServersDropdownProps) => JSX.Element;
@@ -0,0 +1,2 @@
1
+ import{__assign,__makeTemplateObject}from"tslib";import React,{useState}from"react";import{observer}from"mobx-react";import{styled}from"../../../redoc-lib";import{fromSessionStorage,toSessionStorage}from"../../../utils";import{FormControl,FormLabel}from"../../common/form";import{Dropdown}from"../../common/Dropdown";import{expandDefaultServerVariables,expandVariables,getServerWithVariables,getDefaultOrStoredVariables,updateVariablesStorage}from"../utils";import ServerVariable from"../ServerVariable";import{useMount}from"../../../hooks";export var ServersDropdown=observer((function(e){var r=e.operation,a=e.onChange,t=fromSessionStorage("serverUrl"),o=r.servers.findIndex((function(e){return e.url===t})),n=useState(o<0?0:o),s=n[0],i=n[1],l=useState({}),m=l[0],u=l[1];useMount((function(){var e=getServerWithVariables(r.servers,s);a(e),u(e.variables)}));var v=r.servers.map((function(e,r){return{idx:r,serverUrl:e.url,value:"\n "+expandDefaultServerVariables(expandVariables(e.url,m),e.variables)+"\n - "+(e.description||"Default")+"\n "}})),p=Object.keys(m);return React.createElement(ServerDropdownWrap,{"data-cy":"console-target-server"},React.createElement(FormLabel,{htmlFor:"server"},"Target server: "),React.createElement(FormControl,null,React.createElement(Dropdown,{variant:"dark",value:v[s].value,options:v,fullWidth:!0,onChange:function(e){var t=r.servers.find((function(r){return r.url===e.serverUrl})),o=r.servers.findIndex((function(r){return r.url===e.serverUrl})),n=getDefaultOrStoredVariables(t);a({url:e.serverUrl||"",variables:n}),toSessionStorage("serverUrl",e.serverUrl||""),i(o),u(n)}})),null==p?void 0:p.map((function(e){var t,o=null===(t=r.servers[s].variables)||void 0===t?void 0:t[e];if(o)return React.createElement(ServerVariable,{key:e,name:e,value:m[e],defaultValue:o.default,onChange:function(t){return function(e,t){var o,n=r.servers[s],i=t||""===t?t:getDefaultOrStoredVariables(n)[e],l=__assign(__assign({},m),((o={})[e]=i,o));u(l),updateVariablesStorage(e,i),a(__assign(__assign({},n),{variables:l}))}(e,t)},variableEnum:o.enum,description:o.description})})))}));var templateObject_1,ServerDropdownWrap=styled.div(templateObject_1||(templateObject_1=__makeTemplateObject(["\n margin-bottom: 20px;\n"],["\n margin-bottom: 20px;\n"])));
2
+ //# sourceMappingURL=ServersDropdown.js.map
@@ -0,0 +1 @@
1
+ export { ServersDropdown } from './ServersDropdown';
@@ -0,0 +1,2 @@
1
+ export{ServersDropdown}from"./ServersDropdown";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,5 @@
1
+ import type { OperationModel, Server } from '../../../redoc-lib';
2
+ export interface ServersDropdownProps {
3
+ operation: OperationModel;
4
+ onChange: (server: Server) => void;
5
+ }
@@ -0,0 +1,2 @@
1
+ export{};
2
+ //# sourceMappingURL=types.js.map
@@ -1,2 +1,3 @@
1
1
  export { useMount } from './useMount';
2
2
  export { useUnmount } from './useUnmount';
3
+ export { useDimensions } from './useDimensions';
@@ -1,2 +1,2 @@
1
- export{useMount}from"./useMount";export{useUnmount}from"./useUnmount";
1
+ export{useMount}from"./useMount";export{useUnmount}from"./useUnmount";export{useDimensions}from"./useDimensions";
2
2
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ export declare function useDimensions(node?: HTMLElement | null): [DOMRect | null];
@@ -0,0 +1,2 @@
1
+ import{useLayoutEffect,useState}from"react";export function useDimensions(e){var n=useState(null),t=n[0],r=n[1];return useLayoutEffect((function(){if(e){var n=function(){return window.requestAnimationFrame((function(){return r(e.getBoundingClientRect())}))};return n(),window.addEventListener("resize",n),function(){window.removeEventListener("resize",n)}}}),[e]),[t]}
2
+ //# sourceMappingURL=useDimensions.js.map
@@ -3,5 +3,5 @@ export * from './services/index';
3
3
  export * from './redoc-lib/index';
4
4
  export * from './models/index';
5
5
  export { setSecurityDetails, setSecurityDetailsVariants, setParameterValue } from './utils';
6
- export type { SecurityDetails } from './utils';
6
+ export type { SecurityDetails } from './types';
7
7
  export type { OAuth2 } from './services/OAuth2';
@@ -1,4 +1,5 @@
1
1
  export declare const genericErrorMessage = "Something went wrong, please, try again.";
2
+ export declare function normalizeState(state?: string | null): string | null | undefined;
2
3
  /**
3
4
  * Checks if two states are equal
4
5
  */
@@ -1,2 +1,2 @@
1
- export var genericErrorMessage="Something went wrong, please, try again.";function normalizeState(e){return e?e.replace(/=+$/,""):e}export function isStateValid(e,r){return Boolean(e)&&Boolean(r)&&normalizeState(e)===normalizeState(r)}
1
+ export var genericErrorMessage="Something went wrong, please, try again.";export function normalizeState(e){return e?e.replace(/=+$/,""):e}export function isStateValid(e,r){return Boolean(e)&&Boolean(r)&&normalizeState(e)===normalizeState(r)}
2
2
  //# sourceMappingURL=helpers.js.map
@@ -1,2 +1,2 @@
1
- var _a,_b,_c,templateObject_1,templateObject_2,templateObject_3,templateObject_4;import{__makeTemplateObject}from"tslib";import{lighten}from"polished";import styled,{mediaCSS,ZERO_BREAKPOINT}from"../styled-components";import{PrismDiv}from"./PrismDiv";export var SamplesControlButton=styled.button(templateObject_1||(templateObject_1=__makeTemplateObject(["\n background-color: ",";\n border: 0;\n outline: 0;\n border-radius: ",";\n height: 20px;\n color: ",";\n font-size: 12px;\n line-height: 12px;\n cursor: pointer;\n\n ","\n\n :hover,\n :focus {\n background: ",";\n }\n"],["\n background-color: ",";\n border: 0;\n outline: 0;\n border-radius: ",";\n height: 20px;\n color: ",";\n font-size: 12px;\n line-height: 12px;\n cursor: pointer;\n\n ","\n\n :hover,\n :focus {\n background: ",";\n }\n"])),(function(n){return n.theme.rightPanel.panelControlsBackgroundColor}),(function(n){return n.theme.shape.borderRadius}),(function(n){return n.theme.colors.text.light}),mediaCSS({padding:(_a={},_a[ZERO_BREAKPOINT]="2px 15px",_a.small="2px 20px",_a),minWidth:(_b={},_b[ZERO_BREAKPOINT]="auto",_b.small="90px",_b)}),(function(n){var t=n.theme;return lighten(.05,t.rightPanel.panelControlsBackgroundColor)}));export var SampleControls=styled.div(templateObject_2||(templateObject_2=__makeTemplateObject(["\n padding: 5px 0 10px;\n opacity: 0.7;\n transition: opacity 0.3s ease;\n text-align: right;\n\n &:focus-within {\n opacity: 1;\n }\n\n > div,\n > "," {\n /* can have tooltip wrapper div also */\n margin-top: 5px;\n ","\n &:first-child {\n margin-left: 0;\n }\n }\n"],["\n padding: 5px 0 10px;\n opacity: 0.7;\n transition: opacity 0.3s ease;\n text-align: right;\n\n &:focus-within {\n opacity: 1;\n }\n\n > div,\n > "," {\n /* can have tooltip wrapper div also */\n margin-top: 5px;\n ","\n &:first-child {\n margin-left: 0;\n }\n }\n"])),SamplesControlButton,mediaCSS({marginLeft:(_c={},_c[ZERO_BREAKPOINT]="5px",_c.small="10px",_c)}));export var SampleControlsWrap=styled.div(templateObject_3||(templateObject_3=__makeTemplateObject(["\n &:hover "," {\n opacity: 1;\n }\n"],["\n &:hover "," {\n opacity: 1;\n }\n"])),SampleControls);export var StyledPre=styled(PrismDiv.withComponent("pre"))(templateObject_4||(templateObject_4=__makeTemplateObject(["\n overflow-x: auto;\n margin: 0;\n font-family: ",";\n padding: 20px;\n ",";\n"],["\n overflow-x: auto;\n margin: 0;\n font-family: ",";\n padding: 20px;\n ",";\n"])),(function(n){return n.theme.typography.code.fontFamily}),(function(n){var t=n.theme;return mediaCSS({borderRadius:t.shape.borderRadius,backgroundColor:t.rightPanel.panelControlsBackgroundColor,color:t.colors.text.light,fontSize:t.typography.code.fontSize,whiteSpace:t.typography.code.wrap?"pre-wrap":"pre"})}));
1
+ var _a,_b,_c,templateObject_1,templateObject_2,templateObject_3,templateObject_4;import{__makeTemplateObject}from"tslib";import{lighten}from"polished";import styled,{mediaCSS,ZERO_BREAKPOINT}from"../styled-components";import{PrismDiv}from"./PrismDiv";export var SamplesControlButton=styled.button(templateObject_1||(templateObject_1=__makeTemplateObject(["\n background-color: ",";\n border: 0;\n outline: 0;\n border-radius: ",";\n height: 20px;\n color: ",";\n font-size: 12px;\n line-height: 12px;\n cursor: pointer;\n\n ","\n\n :hover,\n :focus {\n background: ",";\n }\n"],["\n background-color: ",";\n border: 0;\n outline: 0;\n border-radius: ",";\n height: 20px;\n color: ",";\n font-size: 12px;\n line-height: 12px;\n cursor: pointer;\n\n ","\n\n :hover,\n :focus {\n background: ",";\n }\n"])),(function(n){return n.theme.rightPanel.panelControlsBackgroundColor}),(function(n){return n.theme.shape.borderRadius}),(function(n){return n.theme.colors.text.light}),mediaCSS({padding:(_a={},_a[ZERO_BREAKPOINT]="2px 15px",_a.small="2px 20px",_a),minWidth:(_b={},_b[ZERO_BREAKPOINT]="auto",_b.small="90px",_b)}),(function(n){var t=n.theme;return lighten(.05,t.rightPanel.panelControlsBackgroundColor)}));export var SampleControls=styled.div(templateObject_2||(templateObject_2=__makeTemplateObject(["\n padding: 5px 0 10px;\n opacity: 0.7;\n transition: opacity 0.3s ease;\n text-align: right;\n\n &:focus-within {\n opacity: 1;\n }\n\n > div,\n > "," {\n /* can have tooltip wrapper div also */\n margin-top: 5px;\n ","\n &:first-child {\n margin-left: 0;\n }\n }\n"],["\n padding: 5px 0 10px;\n opacity: 0.7;\n transition: opacity 0.3s ease;\n text-align: right;\n\n &:focus-within {\n opacity: 1;\n }\n\n > div,\n > "," {\n /* can have tooltip wrapper div also */\n margin-top: 5px;\n ","\n &:first-child {\n margin-left: 0;\n }\n }\n"])),SamplesControlButton,mediaCSS({marginLeft:(_c={},_c[ZERO_BREAKPOINT]="5px",_c.small="10px",_c)}));export var SampleControlsWrap=styled.div(templateObject_3||(templateObject_3=__makeTemplateObject(["\n &:hover "," {\n opacity: 1;\n }\n"],["\n &:hover "," {\n opacity: 1;\n }\n"])),SampleControls);export var StyledPre=styled(PrismDiv.withComponent("pre"))(templateObject_4||(templateObject_4=__makeTemplateObject(["\n overflow-x: auto;\n margin: 0;\n font-family: ",";\n padding: 20px;\n max-height: ",";\n ",";\n"],["\n overflow-x: auto;\n margin: 0;\n font-family: ",";\n padding: 20px;\n max-height: ",";\n ",";\n"])),(function(n){return n.theme.typography.code.fontFamily}),(function(n){return n.theme.codeBlock.maxHeight}),(function(n){var t=n.theme;return mediaCSS({borderRadius:t.shape.borderRadius,backgroundColor:t.rightPanel.panelControlsBackgroundColor,color:t.colors.text.light,fontSize:t.typography.code.fontSize,whiteSpace:t.typography.code.wrap?"pre-wrap":"pre"})}));
2
2
  //# sourceMappingURL=samples.js.map
@@ -10,4 +10,3 @@ export declare class CallbackSamples extends React.Component<CallbackSamplesProp
10
10
  private renderDropdown;
11
11
  render(): JSX.Element | null;
12
12
  }
13
- export declare const SamplesWrapper: import("styled-components").StyledComponent<"div", import("../../../../services/extendTheme").ProTheme, {}, never>;
@@ -1,2 +1,2 @@
1
- import{__assign,__decorate,__extends,__makeTemplateObject}from"tslib";import{observer}from"mobx-react";import*as React from"react";import{CodePanel}from"../../../../components/Panel";import{MimeLabel}from"../../../../components/shared";import styled,{mediaCSS}from"../../styled-components";import{OptionsContext}from"../OptionsProvider";import{GenericChildrenSwitcher}from"../GenericChildrenSwitcher/GenericChildrenSwitcher";import{DropdownOrLabel}from"../DropdownOrLabel/DropdownOrLabel";import{Dropdown}from"../../../../components/common/Dropdown";import{DropdownWrapper}from"../../components";import{CallbackPayloadSample}from"./CallbackReqSamples";var templateObject_1,CallbackSamples=function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(r,"renderDropdown",{enumerable:!0,configurable:!0,writable:!0,value:function(e){return React.createElement(DropdownWrapper,null,React.createElement(DropdownOrLabel,__assign({Label:MimeLabel,Dropdown:Dropdown,fullWidth:!0,variant:"dark"},e)))}}),r}return __extends(r,e),Object.defineProperty(r.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,r=this.props.callbacks;if(!r||0===r.length)return null;var n=r.map((function(e){return e.operations.map((function(e){return e}))})).reduce((function(e,r){return e.concat(r)}),[]);if(!n.some((function(e){return e.hasSamples})))return null;var t=n.map((function(e,r){return{value:e.httpVerb.toUpperCase()+": "+e.name,idx:r}}));return React.createElement(CodePanel,{header:"Callback payload samples"},React.createElement(GenericChildrenSwitcher,{items:n,renderDropdown:this.renderDropdown,options:t},(function(r){return React.createElement(CallbackPayloadSample,{key:"callbackPayloadSample",callback:r,renderDropdown:e.renderDropdown})})))}}),Object.defineProperty(r,"contextType",{enumerable:!0,configurable:!0,writable:!0,value:OptionsContext}),r=__decorate([observer],r)}(React.Component);export{CallbackSamples};export var SamplesWrapper=styled.div(templateObject_1||(templateObject_1=__makeTemplateObject(["\n ","\n padding: ","px;\n"],["\n ","\n padding: ","px;\n"])),(function(e){var r=e.theme;return mediaCSS({background:r.codeBlock.backgroundColor})}),(function(e){return 4*e.theme.spacing.unit}));
1
+ import{__assign,__decorate,__extends}from"tslib";import{observer}from"mobx-react";import*as React from"react";import{CodePanel}from"../../../../components/Panel";import{MimeLabel}from"../../../../components/shared";import{OptionsContext}from"../OptionsProvider";import{GenericChildrenSwitcher}from"../GenericChildrenSwitcher/GenericChildrenSwitcher";import{DropdownOrLabel}from"../DropdownOrLabel/DropdownOrLabel";import{Dropdown}from"../../../../components/common/Dropdown";import{DropdownWrapper}from"../../components";import{CallbackPayloadSample}from"./CallbackReqSamples";var CallbackSamples=function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(r,"renderDropdown",{enumerable:!0,configurable:!0,writable:!0,value:function(e){return React.createElement(DropdownWrapper,null,React.createElement(DropdownOrLabel,__assign({Label:MimeLabel,Dropdown:Dropdown,fullWidth:!0,variant:"dark"},e)))}}),r}return __extends(r,e),Object.defineProperty(r.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,r=this.props.callbacks;if(!r||0===r.length)return null;var n=r.map((function(e){return e.operations.map((function(e){return e}))})).reduce((function(e,r){return e.concat(r)}),[]);if(!n.some((function(e){return e.hasSamples})))return null;var o=n.map((function(e,r){return{value:e.httpVerb.toUpperCase()+": "+e.name,idx:r}}));return React.createElement(CodePanel,{header:"Callback payload samples"},React.createElement(GenericChildrenSwitcher,{items:n,renderDropdown:this.renderDropdown,options:o},(function(r){return React.createElement(CallbackPayloadSample,{key:"callbackPayloadSample",callback:r,renderDropdown:e.renderDropdown})})))}}),Object.defineProperty(r,"contextType",{enumerable:!0,configurable:!0,writable:!0,value:OptionsContext}),r=__decorate([observer],r)}(React.Component);export{CallbackSamples};
2
2
  //# sourceMappingURL=CallbackSamples.js.map
@@ -1,2 +1,2 @@
1
- import{__decorate,__extends,__makeTemplateObject}from"tslib";import{observer}from"mobx-react";import*as React from"react";import{Endpoint}from"../../../../components/Endpoint";import styled from"../../styled-components";import{ExternalDocumentation}from"../ExternalDocumentation/ExternalDocumentation";import{Extensions}from"../Fields/Extensions";import{Markdown}from"../Markdown";import{Parameters}from"../Parameters/Parameters";import{ResponsesList}from"../Responses/ResponsesList";import{SecurityRequirements}from"../SecurityRequirement/SecurityRequirement";import{ContentPanel}from"../../../../components/Panel";import{l}from"../../services/Labels";var CallbackDetails=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,t,n=this.props.operation,r=n.description,o=n.externalDocs,a=!(!r&&!o);return React.createElement(React.Fragment,null,a&&React.createElement(Description,null,void 0!==r&&React.createElement(Markdown,{source:r}),o&&React.createElement(ExternalDocumentation,{externalDocs:o})),React.createElement(Endpoint,{operation:this.props.operation,compact:!0}),Object.keys(n.extensions||{}).length?React.createElement(Extensions,{extensions:n.extensions}):null,React.createElement(SecurityRequirements,{securities:n.security}),(null===(e=n.parameters)||void 0===e?void 0:e.length)||n.requestBody?React.createElement(ContentPanel,{header:l("request")},React.createElement(Parameters,{parameters:n.parameters,body:n.requestBody})):null,(null===(t=n.responses)||void 0===t?void 0:t.length)?React.createElement(ContentPanel,{header:l("callbackResponses")},React.createElement(ResponsesList,{responses:n.responses})):null)}}),t=__decorate([observer],t)}(React.Component);export{CallbackDetails};var templateObject_1,Description=styled.div(templateObject_1||(templateObject_1=__makeTemplateObject(["\n margin-bottom: ","px;\n"],["\n margin-bottom: ","px;\n"])),(function(e){return 3*e.theme.spacing.unit}));
1
+ import{__decorate,__extends,__makeTemplateObject}from"tslib";import{observer}from"mobx-react";import*as React from"react";import{Endpoint}from"../../../../components/Endpoint";import styled from"../../styled-components";import{ExternalDocumentation}from"../ExternalDocumentation/ExternalDocumentation";import{Extensions}from"../Fields/Extensions";import{Markdown}from"../Markdown";import{Parameters}from"../Parameters/Parameters";import{ResponsesList}from"../Responses";import{SecurityRequirements}from"../SecurityRequirement/SecurityRequirement";import{ContentPanel}from"../../../../components/Panel";import{l}from"../../services/Labels";var CallbackDetails=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,t,n=this.props.operation,r=n.description,o=n.externalDocs,a=!(!r&&!o);return React.createElement(React.Fragment,null,a&&React.createElement(Description,null,void 0!==r&&React.createElement(Markdown,{source:r}),o&&React.createElement(ExternalDocumentation,{externalDocs:o})),React.createElement(Endpoint,{operation:this.props.operation,compact:!0}),Object.keys(n.extensions||{}).length?React.createElement(Extensions,{extensions:n.extensions}):null,React.createElement(SecurityRequirements,{securities:n.security}),(null===(e=n.parameters)||void 0===e?void 0:e.length)||n.requestBody?React.createElement(ContentPanel,{header:l("request")},React.createElement(Parameters,{parameters:n.parameters,body:n.requestBody})):null,(null===(t=n.responses)||void 0===t?void 0:t.length)?React.createElement(ContentPanel,{header:l("callbackResponses")},React.createElement(ResponsesList,{responses:n.responses})):null)}}),t=__decorate([observer],t)}(React.Component);export{CallbackDetails};var templateObject_1,Description=styled.div(templateObject_1||(templateObject_1=__makeTemplateObject(["\n margin-bottom: ","px;\n"],["\n margin-bottom: ","px;\n"])),(function(e){return 3*e.theme.spacing.unit}));
2
2
  //# sourceMappingURL=CallbackDetails.js.map
@@ -1,2 +1,2 @@
1
- import{__makeTemplateObject}from"tslib";import{css,mediaCSS}from"../../styled-components";export var jsonStyles=css(templateObject_1||(templateObject_1=__makeTemplateObject(["\n .redoc-json code > .collapser {\n display: none;\n pointer-events: none;\n }\n\n contain: content;\n overflow-x: auto;\n padding: 10px;\n\n ","\n\n .callback-function {\n color: gray;\n }\n\n .collapser:after {\n content: '-';\n cursor: pointer;\n }\n\n .collapsed > .collapser:after {\n content: '+';\n cursor: pointer;\n }\n\n .ellipsis:after {\n content: ' … ';\n }\n\n .collapsible {\n margin-left: 2ch;\n }\n\n .hoverable {\n padding-top: 1px;\n padding-bottom: 1px;\n padding-left: 2px;\n padding-right: 2px;\n }\n\n .hovered {\n background-color: rgba(235, 238, 249, 1);\n }\n\n .collapser {\n background-color: transparent;\n border: 0;\n color: #fff;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15px;\n height: 15px;\n position: absolute;\n top: 4px;\n left: -1.5em;\n cursor: default;\n user-select: none;\n -webkit-user-select: none;\n padding: 2px;\n ","\n &:focus {\n outline: #fff dotted 1px;\n }\n }\n\n ul {\n list-style-type: none;\n padding: 0px;\n margin: 0px 0px 0px 26px;\n }\n\n li {\n position: relative;\n display: block;\n }\n\n .hoverable {\n display: inline-block;\n }\n\n .selected {\n outline-width: 1px;\n outline-style: dotted;\n }\n\n .collapsed > .collapsible {\n display: none;\n }\n\n .ellipsis {\n display: none;\n }\n\n .collapsed > .ellipsis {\n display: inherit;\n }\n"],["\n .redoc-json code > .collapser {\n display: none;\n pointer-events: none;\n }\n\n contain: content;\n overflow-x: auto;\n padding: 10px;\n\n ","\n\n .callback-function {\n color: gray;\n }\n\n .collapser:after {\n content: '-';\n cursor: pointer;\n }\n\n .collapsed > .collapser:after {\n content: '+';\n cursor: pointer;\n }\n\n .ellipsis:after {\n content: ' … ';\n }\n\n .collapsible {\n margin-left: 2ch;\n }\n\n .hoverable {\n padding-top: 1px;\n padding-bottom: 1px;\n padding-left: 2px;\n padding-right: 2px;\n }\n\n .hovered {\n background-color: rgba(235, 238, 249, 1);\n }\n\n .collapser {\n background-color: transparent;\n border: 0;\n color: #fff;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15px;\n height: 15px;\n position: absolute;\n top: 4px;\n left: -1.5em;\n cursor: default;\n user-select: none;\n -webkit-user-select: none;\n padding: 2px;\n ","\n &:focus {\n outline: #fff dotted 1px;\n }\n }\n\n ul {\n list-style-type: none;\n padding: 0px;\n margin: 0px 0px 0px 26px;\n }\n\n li {\n position: relative;\n display: block;\n }\n\n .hoverable {\n display: inline-block;\n }\n\n .selected {\n outline-width: 1px;\n outline-style: dotted;\n }\n\n .collapsed > .collapsible {\n display: none;\n }\n\n .ellipsis {\n display: none;\n }\n\n .collapsed > .ellipsis {\n display: inherit;\n }\n"])),(function(n){var e=n.theme;return mediaCSS({borderRadius:e.shape.borderRadius,backgroundColor:e.rightPanel.panelControlsBackgroundColor,color:e.colors.text.light,fontSize:e.typography.code.fontSize,fontFamily:e.typography.code.fontFamily,whiteSpace:e.typography.code.wrap?"pre-wrap":"pre"})}),(function(n){var e=n.theme;return mediaCSS({fontFamily:e.typography.code.fontFamily,fontSize:e.typography.code.fontSize})}));var templateObject_1;
1
+ import{__makeTemplateObject}from"tslib";import{css,mediaCSS}from"../../styled-components";export var jsonStyles=css(templateObject_1||(templateObject_1=__makeTemplateObject(["\n .redoc-json code > .collapser {\n display: none;\n pointer-events: none;\n }\n\n contain: content;\n overflow-x: auto;\n padding: 10px;\n max-height: ",";\n\n ","\n\n .callback-function {\n color: gray;\n }\n\n .collapser:after {\n content: '-';\n cursor: pointer;\n }\n\n .collapsed > .collapser:after {\n content: '+';\n cursor: pointer;\n }\n\n .ellipsis:after {\n content: ' … ';\n }\n\n .collapsible {\n margin-left: 2ch;\n }\n\n .hoverable {\n padding-top: 1px;\n padding-bottom: 1px;\n padding-left: 2px;\n padding-right: 2px;\n }\n\n .hovered {\n background-color: rgba(235, 238, 249, 1);\n }\n\n .collapser {\n background-color: transparent;\n border: 0;\n color: #fff;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15px;\n height: 15px;\n position: absolute;\n top: 4px;\n left: -1.5em;\n cursor: default;\n user-select: none;\n -webkit-user-select: none;\n padding: 2px;\n ","\n &:focus {\n outline: #fff dotted 1px;\n }\n }\n\n ul {\n list-style-type: none;\n padding: 0px;\n margin: 0px 0px 0px 26px;\n }\n\n li {\n position: relative;\n display: block;\n }\n\n .hoverable {\n display: inline-block;\n }\n\n .selected {\n outline-width: 1px;\n outline-style: dotted;\n }\n\n .collapsed > .collapsible {\n display: none;\n }\n\n .ellipsis {\n display: none;\n }\n\n .collapsed > .ellipsis {\n display: inherit;\n }\n"],["\n .redoc-json code > .collapser {\n display: none;\n pointer-events: none;\n }\n\n contain: content;\n overflow-x: auto;\n padding: 10px;\n max-height: ",";\n\n ","\n\n .callback-function {\n color: gray;\n }\n\n .collapser:after {\n content: '-';\n cursor: pointer;\n }\n\n .collapsed > .collapser:after {\n content: '+';\n cursor: pointer;\n }\n\n .ellipsis:after {\n content: ' … ';\n }\n\n .collapsible {\n margin-left: 2ch;\n }\n\n .hoverable {\n padding-top: 1px;\n padding-bottom: 1px;\n padding-left: 2px;\n padding-right: 2px;\n }\n\n .hovered {\n background-color: rgba(235, 238, 249, 1);\n }\n\n .collapser {\n background-color: transparent;\n border: 0;\n color: #fff;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15px;\n height: 15px;\n position: absolute;\n top: 4px;\n left: -1.5em;\n cursor: default;\n user-select: none;\n -webkit-user-select: none;\n padding: 2px;\n ","\n &:focus {\n outline: #fff dotted 1px;\n }\n }\n\n ul {\n list-style-type: none;\n padding: 0px;\n margin: 0px 0px 0px 26px;\n }\n\n li {\n position: relative;\n display: block;\n }\n\n .hoverable {\n display: inline-block;\n }\n\n .selected {\n outline-width: 1px;\n outline-style: dotted;\n }\n\n .collapsed > .collapsible {\n display: none;\n }\n\n .ellipsis {\n display: none;\n }\n\n .collapsed > .ellipsis {\n display: inherit;\n }\n"])),(function(n){return n.theme.codeBlock.maxHeight}),(function(n){var e=n.theme;return mediaCSS({borderRadius:e.shape.borderRadius,backgroundColor:e.rightPanel.panelControlsBackgroundColor,color:e.colors.text.light,fontSize:e.typography.code.fontSize,fontFamily:e.typography.code.fontFamily,whiteSpace:e.typography.code.wrap?"pre-wrap":"pre"})}),(function(n){var e=n.theme;return mediaCSS({fontFamily:e.typography.code.fontFamily,fontSize:e.typography.code.fontSize})}));var templateObject_1;
2
2
  //# sourceMappingURL=style.js.map
@@ -1,2 +1,2 @@
1
- import{__makeTemplateObject}from"tslib";import{observer}from"mobx-react";import React from"react";import{Endpoint}from"../../../../components/Endpoint";import{Badge,H2,MiddlePanel,RightPanel,Row,ShareLink}from"../../common-elements";import styled from"../../styled-components";import{CallbacksList}from"../Callbacks";import{CallbackSamples}from"../CallbackSamples/CallbackSamples";import{ExternalDocumentation}from"../ExternalDocumentation/ExternalDocumentation";import{Extensions}from"../Fields/Extensions";import{Markdown}from"../Markdown";import{Parameters}from"../Parameters/Parameters";import{RequestSamples}from"../RequestSamples/RequestSamples";import{ResponsesList}from"../Responses/ResponsesList";import{ResponseSamples}from"../ResponseSamples/ResponseSamples";import{SecurityRequirements}from"../SecurityRequirement/SecurityRequirement";import{StoreContext}from"../StoreBuilder";import{ScrollableContentPanel}from"../../../../components/Panel";import{LayoutVariant}from"../../../../services/store-types";import{RenderHook}from"../RenderHook";import{creatPanelToggleEvent}from"../RequestSamples/languageSwitchEvent";import{l}from"../../services/Labels";var templateObject_1,templateObject_2,OperationRow=styled(Row)(templateObject_1||(templateObject_1=__makeTemplateObject(["\n backface-visibility: hidden;\n contain: content;\n overflow: hidden;\n"],["\n backface-visibility: hidden;\n contain: content;\n overflow: hidden;\n"]))),Description=styled.div(templateObject_2||(templateObject_2=__makeTemplateObject(["\n margin-bottom: ","px;\n"],["\n margin-bottom: ","px;\n"])),(function(e){return 4*e.theme.spacing.unit}));export var Operation=observer((function(e){var t,o,a,n=e.operation,r=n.name,i=n.description,s=n.deprecated,c=n.externalDocs,p=n.isWebhook,m=n.httpVerb,d=e.operation,u=e.layout,R=React.useContext(StoreContext),b=!(!i&&!c),E=null==R?void 0:R.options.hooks,k=null==R?void 0:R.options.events,v=React.useCallback((function(e){var t,o=creatPanelToggleEvent({operation:d,isExpanded:e,panelType:"responses"});null===(t=null==k?void 0:k.panelToggle)||void 0===t||t.call(k,o)}),[k]),f=React.useCallback((function(e){var t,o=creatPanelToggleEvent({operation:d,isExpanded:e,panelType:"request"});null===(t=null==k?void 0:k.panelToggle)||void 0===t||t.call(k,o)}),[k]);return React.createElement(OperationRow,{layout:u},React.createElement(MiddlePanel,{isStacked:u===LayoutVariant.STACKED},React.createElement(RenderHook,{Hook:null==E?void 0:E.BeforeOperation,props:{operation:d}}),React.createElement(H2,null,React.createElement(ShareLink,{to:d.id}),React.createElement(RenderHook,{Hook:null==E?void 0:E.BeforeOperationSummary,props:{operation:d}}),r,React.createElement(RenderHook,{Hook:null==E?void 0:E.AfterOperationSummary,props:{operation:d}}),s&&React.createElement(Badge,{type:"warning"},"Deprecated"),p&&React.createElement(React.Fragment,null,React.createElement(Badge,{type:"primary"},"Webhook "),(null==R?void 0:R.options.showWebhookVerb)&&m&&React.createElement(Badge,{type:"primary"},m.toUpperCase()))),(null==R?void 0:R.options.pathInMiddlePanel)&&!p&&React.createElement(Endpoint,{operation:d}),b&&React.createElement(Description,null,void 0!==i&&React.createElement(Markdown,{source:i}),c&&React.createElement(ExternalDocumentation,{externalDocs:c}),Object.keys(d.extensions||{}).length?React.createElement(Extensions,{extensions:d.extensions}):null),React.createElement(SecurityRequirements,{securities:d.security}),(null===(t=d.parameters)||void 0===t?void 0:t.length)||d.requestBody?React.createElement(ScrollableContentPanel,{header:l("request"),onToggle:f,expanded:null==R?void 0:R.options.expandDefaultRequest},React.createElement(Parameters,{parameters:d.parameters,body:d.requestBody})):null,(null===(o=d.responses)||void 0===o?void 0:o.length)?React.createElement(ScrollableContentPanel,{header:l("responses"),onToggle:v,expanded:null==R?void 0:R.options.expandDefaultResponse},React.createElement(ResponsesList,{responses:d.responses})):null,(null===(a=d.callbacks)||void 0===a?void 0:a.length)?React.createElement(ScrollableContentPanel,{header:l("callbacks")},React.createElement(CallbacksList,{callbacks:d.callbacks})):null,React.createElement(RenderHook,{Hook:null==E?void 0:E.AfterOperation,props:{operation:d}})),(null==R?void 0:R.showRightPanel)?React.createElement(RightPanel,{"data-cy":"samples-block"},!(null==R?void 0:R.options.pathInMiddlePanel)&&!p&&React.createElement(Endpoint,{operation:d}),React.createElement(RequestSamples,{operation:d}),React.createElement(ResponseSamples,{operation:d}),React.createElement(CallbackSamples,{callbacks:d.callbacks})):null)}));
1
+ import{__makeTemplateObject}from"tslib";import{observer}from"mobx-react";import React from"react";import{Endpoint}from"../../../../components/Endpoint";import{Badge,H2,MiddlePanel,RightPanel,Row,ShareLink}from"../../common-elements";import styled from"../../styled-components";import{CallbacksList}from"../Callbacks";import{CallbackSamples}from"../CallbackSamples/CallbackSamples";import{ExternalDocumentation}from"../ExternalDocumentation/ExternalDocumentation";import{Extensions}from"../Fields/Extensions";import{Markdown}from"../Markdown";import{Parameters}from"../Parameters/Parameters";import{RequestSamples}from"../RequestSamples/RequestSamples";import{ResponsesList}from"../Responses";import{ResponseSamples}from"../ResponseSamples/ResponseSamples";import{SecurityRequirements}from"../SecurityRequirement/SecurityRequirement";import{StoreContext}from"../StoreBuilder";import{ScrollableContentPanel}from"../../../../components/Panel";import{LayoutVariant}from"../../../../services/store-types";import{RenderHook}from"../RenderHook";import{creatPanelToggleEvent}from"../RequestSamples/languageSwitchEvent";import{l}from"../../services/Labels";var templateObject_1,templateObject_2,OperationRow=styled(Row)(templateObject_1||(templateObject_1=__makeTemplateObject(["\n backface-visibility: hidden;\n contain: content;\n overflow: hidden;\n"],["\n backface-visibility: hidden;\n contain: content;\n overflow: hidden;\n"]))),Description=styled.div(templateObject_2||(templateObject_2=__makeTemplateObject(["\n margin-bottom: ","px;\n"],["\n margin-bottom: ","px;\n"])),(function(e){return 4*e.theme.spacing.unit}));export var Operation=observer((function(e){var t,o,a,n=e.operation,r=n.name,i=n.description,s=n.deprecated,c=n.externalDocs,m=n.isWebhook,p=n.httpVerb,d=e.operation,u=e.layout,R=React.useContext(StoreContext),b=!(!i&&!c),E=null==R?void 0:R.options.hooks,k=null==R?void 0:R.options.events,v=React.useCallback((function(e){var t,o=creatPanelToggleEvent({operation:d,isExpanded:e,panelType:"responses"});null===(t=null==k?void 0:k.panelToggle)||void 0===t||t.call(k,o)}),[k]),f=React.useCallback((function(e){var t,o=creatPanelToggleEvent({operation:d,isExpanded:e,panelType:"request"});null===(t=null==k?void 0:k.panelToggle)||void 0===t||t.call(k,o)}),[k]);return React.createElement(OperationRow,{layout:u},React.createElement(MiddlePanel,{isStacked:u===LayoutVariant.STACKED},React.createElement(RenderHook,{Hook:null==E?void 0:E.BeforeOperation,props:{operation:d}}),React.createElement(H2,null,React.createElement(ShareLink,{to:d.id}),React.createElement(RenderHook,{Hook:null==E?void 0:E.BeforeOperationSummary,props:{operation:d}}),r,React.createElement(RenderHook,{Hook:null==E?void 0:E.AfterOperationSummary,props:{operation:d}}),s&&React.createElement(Badge,{type:"warning"},"Deprecated"),m&&React.createElement(React.Fragment,null,React.createElement(Badge,{type:"primary"},"Webhook "),(null==R?void 0:R.options.showWebhookVerb)&&p&&React.createElement(Badge,{type:"primary"},p.toUpperCase()))),(null==R?void 0:R.options.pathInMiddlePanel)&&!m&&React.createElement(Endpoint,{operation:d}),b&&React.createElement(Description,null,void 0!==i&&React.createElement(Markdown,{source:i}),c&&React.createElement(ExternalDocumentation,{externalDocs:c}),Object.keys(d.extensions||{}).length?React.createElement(Extensions,{extensions:d.extensions}):null),React.createElement(SecurityRequirements,{securities:d.security}),(null===(t=d.parameters)||void 0===t?void 0:t.length)||d.requestBody?React.createElement(ScrollableContentPanel,{header:l("request"),onToggle:f,expanded:null==R?void 0:R.options.expandDefaultRequest},React.createElement(Parameters,{parameters:d.parameters,body:d.requestBody})):null,(null===(o=d.responses)||void 0===o?void 0:o.length)?React.createElement(ScrollableContentPanel,{header:l("responses"),onToggle:v,expanded:null==R?void 0:R.options.expandDefaultResponse},React.createElement(ResponsesList,{responses:d.responses})):null,(null===(a=d.callbacks)||void 0===a?void 0:a.length)?React.createElement(ScrollableContentPanel,{header:l("callbacks")},React.createElement(CallbacksList,{callbacks:d.callbacks})):null,React.createElement(RenderHook,{Hook:null==E?void 0:E.AfterOperation,props:{operation:d}})),(null==R?void 0:R.showRightPanel)?React.createElement(RightPanel,{"data-cy":"samples-block"},!(null==R?void 0:R.options.pathInMiddlePanel)&&!m&&React.createElement(Endpoint,{operation:d}),React.createElement(RequestSamples,{operation:d}),React.createElement(ResponseSamples,{operation:d}),React.createElement(CallbackSamples,{callbacks:d.callbacks})):null)}));
2
2
  //# sourceMappingURL=Operation.js.map
@@ -1,2 +1,2 @@
1
- import{__assign,__rest}from"tslib";import React,{useContext,useEffect}from"react";import{observer}from"mobx-react";import{CodePanel}from"../../../../components/Panel";import{TabPanel}from"../../../../components/Tabs";import{SamplesTabs}from"../../../../components/Samples";import{isPayloadSample}from"../../services";import{PayloadSamples}from"../PayloadSamples";import{OptionsContext}from"../OptionsProvider";import{l}from"../../services/Labels";import{CodeSample}from"./CodeSample";import{useCodeSamples}from"./useCodeSamples";import{createLanguageSwitchEvent,creatPanelToggleEvent}from"./languageSwitchEvent";export var RequestSamples=observer((function(e){var a=e.operation,t=e.defaultLanguage,o=e.disableHeader,n=(e.content,__rest(e,["operation","defaultLanguage","disableHeader","content"])),r=useContext(OptionsContext),s=r.events,m=r.hideSingleRequestSampleTab;useEffect((function(){}),[a.activeServer,a.requestValues]);var p=useCodeSamples(a),i=p.samples,c=p.payload,u=1===i.length&&m;return i.length?React.createElement(CodePanel,{dataHeaderTestId:"request-samples",header:o?void 0:l("requestSamples"),onToggle:function(e){var t,o=creatPanelToggleEvent({operation:a,isExpanded:e,panelType:"request-samples"});null===(t=null==s?void 0:s.panelToggle)||void 0===t||t.call(s,o)}},React.createElement(SamplesTabs,{operation:a,tabs:i,onChange:function(e){var t,o=createLanguageSwitchEvent({operation:a,sample:e});null===(t=null==s?void 0:s.codeSamplesLanguageSwitch)||void 0===t||t.call(s,o)},hidden:u,defaultLanguage:t},i.map((function(e){return React.createElement(TabPanel,{key:e.key},isPayloadSample(e)?React.createElement(PayloadSamples,__assign({content:e.requestBodyContent,operation:a},n)):React.createElement(CodeSample,__assign({lang:e.lang,source:e.source,externalSample:e,content:null==c?void 0:c.requestBodyContent,operation:a},n)))})))):null}));
1
+ import{__assign,__rest}from"tslib";import React,{useContext,useEffect,useMemo}from"react";import{observer}from"mobx-react";import{CodePanel}from"../../../../components/Panel";import{TabPanel}from"../../../../components/Tabs";import{SamplesTabs}from"../../../../components/Samples";import{isPayloadSample}from"../../services";import{PayloadSamples}from"../PayloadSamples";import{OptionsContext}from"../OptionsProvider";import{l}from"../../services/Labels";import{CodeSample}from"./CodeSample";import{useCodeSamples}from"./useCodeSamples";import{createLanguageSwitchEvent,creatPanelToggleEvent}from"./languageSwitchEvent";export var RequestSamples=observer((function(e){var a=e.operation,t=e.defaultLanguage,o=e.disableHeader,n=(e.content,__rest(e,["operation","defaultLanguage","disableHeader","content"])),r=useContext(OptionsContext),s=r.events,m=r.hideSingleRequestSampleTab;useEffect((function(){}),[a.activeServer,a.requestValues]);var i=useCodeSamples(a),p=i.samples,u=i.payload,c=1===p.length&&m,d=useMemo((function(){return p.map((function(e){return e.lang}))}),[p]);return p.length?React.createElement(CodePanel,{dataHeaderTestId:"request-samples",header:o?void 0:l("requestSamples"),onToggle:function(e){var t,o=creatPanelToggleEvent({operation:a,isExpanded:e,panelType:"request-samples"});null===(t=null==s?void 0:s.panelToggle)||void 0===t||t.call(s,o)}},React.createElement(SamplesTabs,{operation:a,tabs:p,tabsKeys:d,onChange:function(e){var t,o=createLanguageSwitchEvent({operation:a,sample:e});null===(t=null==s?void 0:s.codeSamplesLanguageSwitch)||void 0===t||t.call(s,o)},hidden:c,defaultLanguage:t,id:a.id+"/request-tab"},p.map((function(e){return React.createElement(TabPanel,{key:e.key+a.id},isPayloadSample(e)?React.createElement(PayloadSamples,__assign({content:e.requestBodyContent,operation:a},n)):React.createElement(CodeSample,__assign({lang:e.lang,source:e.source,externalSample:e,content:null==u?void 0:u.requestBodyContent,operation:a},n)))})))):null}));
2
2
  //# sourceMappingURL=RequestSamples.js.map
@@ -1,6 +1,3 @@
1
1
  /// <reference types="react" />
2
- import type { ResponseModel } from '../../services/models';
3
- export interface ResponseViewProps {
4
- response: ResponseModel;
5
- }
6
- export declare const ResponseView: ({ response }: ResponseViewProps) => JSX.Element;
2
+ import type { ResponseProps } from './types';
3
+ export declare const Response: ({ response }: ResponseProps) => JSX.Element;
@@ -1,2 +1,2 @@
1
- import{observer}from"mobx-react";import*as React from"react";import{ResponsePanel}from"../../../../components/Panel";import{ResponseDetails}from"./ResponseDetails";import{ResponseSummary}from"./ResponseSummary";export var ResponseView=observer((function(e){var o=e.response;return React.createElement(ResponsePanel,{header:function(e){var r=e.expanded,n=e.toggle;return React.createElement(ResponseSummary,{response:o,toggle:n,expanded:r})},expanded:Boolean(o.expanded),type:o.type},React.createElement(ResponseDetails,{response:o}))}));
1
+ import{observer}from"mobx-react";import React from"react";import{ResponsePanel}from"../../../../components/Panel";import{ResponseDetails}from"./ResponseDetails";import{ResponseSummary}from"./ResponseSummary";export var Response=observer((function(e){var o=e.response;return React.createElement(ResponsePanel,{header:function(e){var r=e.expanded,n=e.toggle;return React.createElement(ResponseSummary,{response:o,toggle:n,expanded:r})},expanded:Boolean(o.expanded),type:o.type},React.createElement(ResponseDetails,{response:o}))}));
2
2
  //# sourceMappingURL=Response.js.map
@@ -1,8 +1,3 @@
1
- import * as React from 'react';
2
- import type { ResponseModel } from '../../services/models';
3
- export declare class ResponseDetails extends React.PureComponent<{
4
- response: ResponseModel;
5
- }> {
6
- render(): JSX.Element;
7
- private renderDropdown;
8
- }
1
+ import React from 'react';
2
+ import type { ResponseProps } from './types';
3
+ export declare const ResponseDetails: React.NamedExoticComponent<ResponseProps>;
@@ -1,2 +1,2 @@
1
- import{__assign,__extends}from"tslib";import*as React from"react";import{FieldsGroupHeader}from"../../common-elements";import{DropdownOrLabel}from"../DropdownOrLabel/DropdownOrLabel";import{MediaTypesSwitch}from"../MediaTypeSwitch/MediaTypesSwitch";import{Schema}from"../Schema";import{Markdown}from"../Markdown";import{ConstraintsView}from"../Fields/FieldContstraints";import{ResponseHeaders}from"./ResponseHeaders";import{Wrapper}from"./styled.elements";var ResponseDetails=function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(r,"renderDropdown",{enumerable:!0,configurable:!0,writable:!0,value:function(e){return React.createElement(FieldsGroupHeader,{key:"header"},"Response Schema: ",React.createElement(DropdownOrLabel,__assign({},e)))}}),r}return __extends(r,e),Object.defineProperty(r.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.props.response,r=e.description,t=e.headers,n=e.content;return React.createElement(React.Fragment,null,r&&React.createElement(Markdown,{source:r}),React.createElement(ResponseHeaders,{headers:t}),React.createElement(MediaTypesSwitch,{content:n,renderDropdown:this.renderDropdown},(function(e){var r=e.schema;return React.createElement(React.Fragment,null,React.createElement(Wrapper,null,"object"===(null==r?void 0:r.type)&&React.createElement(ConstraintsView,{constraints:(null==r?void 0:r.constraints)||[]})),React.createElement(Schema,{skipWriteOnly:!0,key:"schema",schema:r}))})))}}),r}(React.PureComponent);export{ResponseDetails};
1
+ import{__assign}from"tslib";import React,{memo}from"react";import{FieldsGroupHeader}from"../../common-elements";import{DropdownOrLabel}from"../DropdownOrLabel/DropdownOrLabel";import{MediaTypesSwitch}from"../MediaTypeSwitch/MediaTypesSwitch";import{Schema}from"../Schema";import{Markdown}from"../Markdown";import{ConstraintsView}from"../Fields/FieldContstraints";import{ResponseHeaders}from"./ResponseHeaders";import{Wrapper}from"./styled";function ResponseDetailsComponent(e){var t=e.response,r=t.description,a=t.headers,n=t.content;return React.createElement(React.Fragment,null,r&&React.createElement(Markdown,{source:r}),React.createElement(ResponseHeaders,{headers:a}),React.createElement(MediaTypesSwitch,{content:n,renderDropdown:function(e){return React.createElement(FieldsGroupHeader,{key:"header"},"Response Schema: ",React.createElement(DropdownOrLabel,__assign({},e)))}},(function(e){var t=e.schema;return React.createElement(React.Fragment,null,React.createElement(Wrapper,null,"object"===(null==t?void 0:t.type)&&React.createElement(ConstraintsView,{constraints:(null==t?void 0:t.constraints)||[]})),React.createElement(Schema,{skipWriteOnly:!0,key:"schema",schema:t}))})))}export var ResponseDetails=memo(ResponseDetailsComponent);
2
2
  //# sourceMappingURL=ResponseDetails.js.map
@@ -1,9 +1,3 @@
1
- import * as React from 'react';
2
- import type { FieldModel } from '../../services/models';
3
- export interface ResponseHeadersProps {
4
- headers?: FieldModel[];
5
- }
6
- export declare class ResponseHeaders extends React.PureComponent<ResponseHeadersProps> {
7
- render(): JSX.Element | null;
8
- }
9
- export declare const PropertiesTableWrapStyled: import("styled-components").StyledComponent<"div", import("../../../../services/extendTheme").ProTheme, {}, never>;
1
+ import React from 'react';
2
+ import type { ResponseHeadersProps } from './types';
3
+ export declare const ResponseHeaders: React.NamedExoticComponent<ResponseHeadersProps>;
@@ -1,2 +1,2 @@
1
- import{__extends,__makeTemplateObject}from"tslib";import*as React from"react";import{PropertiesTable,PropertiesTableWrap}from"../../common-elements/fields-layout";import{mapWithLast}from"../../utils";import{Field}from"../Fields/Field";import styled from"../../styled-components";import{HeadersCaption}from"./styled.elements";var templateObject_1,ResponseHeaders=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.headers;return void 0===e||0===e.length?null:React.createElement(PropertiesTableWrapStyled,null,React.createElement(PropertiesTable,null,React.createElement(HeadersCaption,null," Response Headers "),React.createElement("tbody",null,mapWithLast(e,(function(e,t){return React.createElement(Field,{isLast:t,key:e.name,field:e,showExamples:!0})})))))}}),t}(React.PureComponent);export{ResponseHeaders};export var PropertiesTableWrapStyled=styled(PropertiesTableWrap)(templateObject_1||(templateObject_1=__makeTemplateObject(["\n :not(:last-child) {\n border-bottom: 1px solid ",";\n margin-bottom: 1.5em;\n padding-bottom: 1.5em;\n }\n"],["\n :not(:last-child) {\n border-bottom: 1px solid ",";\n margin-bottom: 1.5em;\n padding-bottom: 1.5em;\n }\n"])),(function(e){return e.theme.colors.border.light}));
1
+ import React,{memo}from"react";import{PropertiesTable}from"../../common-elements/fields-layout";import{mapWithLast}from"../../utils";import{Field}from"../Fields/Field";import{HeadersCaption,PropertiesTableWrapStyled}from"./styled";function ResponseHeadersComponent(e){var t=e.headers;return void 0===t||0===t.length?null:React.createElement(PropertiesTableWrapStyled,null,React.createElement(PropertiesTable,null,React.createElement(HeadersCaption,null," Response Headers "),React.createElement("tbody",null,mapWithLast(t,(function(e,t){return React.createElement(Field,{isLast:t,key:e.name,field:e,showExamples:!0})})))))}export var ResponseHeaders=memo(ResponseHeadersComponent);
2
2
  //# sourceMappingURL=ResponseHeaders.js.map
@@ -1,7 +1,3 @@
1
1
  /// <reference types="react" />
2
- import type { PanelHeaderProps } from '../../../../components/Panel';
3
- import type { ResponseModel } from '../../services';
4
- export interface ResponseTitleProps extends PanelHeaderProps {
5
- response: ResponseModel;
6
- }
2
+ import type { ResponseTitleProps } from './types';
7
3
  export declare const ResponseSummary: ({ expanded, toggle, response, }: ResponseTitleProps) => JSX.Element;
@@ -1,8 +1,3 @@
1
- import * as React from 'react';
2
- import type { ResponseModel } from '../../services';
3
- export interface ResponseListProps {
4
- responses: ResponseModel[];
5
- }
6
- export declare class ResponsesList extends React.PureComponent<ResponseListProps> {
7
- render(): JSX.Element | null;
8
- }
1
+ import React from 'react';
2
+ import type { ResponseListProps } from './types';
3
+ export declare const ResponsesList: React.NamedExoticComponent<ResponseListProps>;
@@ -1,2 +1,2 @@
1
- import{__extends}from"tslib";import*as React from"react";import{ResponseView}from"./Response";var ResponsesList=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.responses;return e&&0!==e.length?React.createElement("div",null,e.map((function(e){return React.createElement(ResponseView,{key:e.code,response:e})}))):null}}),t}(React.PureComponent);export{ResponsesList};
1
+ import React,{memo}from"react";import{Response}from"./Response";function ResponsesListComponent(e){var n=e.responses;return n&&0!==n.length?React.createElement("div",null,n.map((function(e){return React.createElement(Response,{key:e.code,response:e})}))):null}export var ResponsesList=memo(ResponsesListComponent);
2
2
  //# sourceMappingURL=ResponsesList.js.map
@@ -0,0 +1 @@
1
+ export { ResponsesList } from './ResponsesList';
@@ -0,0 +1,2 @@
1
+ export{ResponsesList}from"./ResponsesList";
2
+ //# sourceMappingURL=index.js.map
@@ -1,2 +1,3 @@
1
1
  export declare const HeadersCaption: import("styled-components").StyledComponent<"caption", import("../../../../services/extendTheme").ProTheme, {}, never>;
2
2
  export declare const Wrapper: import("styled-components").StyledComponent<"div", import("../../../../services/extendTheme").ProTheme, {}, never>;
3
+ export declare const PropertiesTableWrapStyled: import("styled-components").StyledComponent<"div", import("../../../../services/extendTheme").ProTheme, {}, never>;
@@ -0,0 +1,2 @@
1
+ import{__makeTemplateObject}from"tslib";import{FieldsGroupHeader,PropertiesTableWrap}from"../../common-elements";import styled from"../../styled-components";export var HeadersCaption=styled(FieldsGroupHeader.withComponent("caption"))(templateObject_1||(templateObject_1=__makeTemplateObject(["\n text-align: left;\n margin-top: 1em;\n caption-side: top;\n"],["\n text-align: left;\n margin-top: 1em;\n caption-side: top;\n"])));export var Wrapper=styled.div(templateObject_2||(templateObject_2=__makeTemplateObject(["\n margin-bottom: 1em;\n"],["\n margin-bottom: 1em;\n"])));export var PropertiesTableWrapStyled=styled(PropertiesTableWrap)(templateObject_3||(templateObject_3=__makeTemplateObject(["\n :not(:last-child) {\n border-bottom: 1px solid ",";\n margin-bottom: 1.5em;\n padding-bottom: 1.5em;\n }\n"],["\n :not(:last-child) {\n border-bottom: 1px solid ",";\n margin-bottom: 1.5em;\n padding-bottom: 1.5em;\n }\n"])),(function(e){return e.theme.colors.border.light}));var templateObject_1,templateObject_2,templateObject_3;
2
+ //# sourceMappingURL=styled.js.map
@@ -0,0 +1,12 @@
1
+ import type { ResponseModel, FieldModel } from '../../services';
2
+ import type { PanelHeaderProps } from '../../../../components/Panel';
3
+ export interface ResponseProps {
4
+ response: ResponseModel;
5
+ }
6
+ export interface ResponseHeadersProps {
7
+ headers?: FieldModel[];
8
+ }
9
+ export interface ResponseListProps {
10
+ responses: ResponseModel[];
11
+ }
12
+ export declare type ResponseTitleProps = PanelHeaderProps & ResponseProps;
@@ -0,0 +1,2 @@
1
+ export{};
2
+ //# sourceMappingURL=types.js.map
@@ -1,2 +1,2 @@
1
- import{__makeTemplateObject}from"tslib";import React,{useState}from"react";import styled from"styled-components";import{AUTH_TYPES}from"./SecurityRequirement";export var SecurityRequirementPanelDescription=function(e){var t=e.securities,n=e.showSecuritySchemeType,r=React.createRef(),i=useState(""),a=i[0],c=i[1];return React.useLayoutEffect((function(){var e;c((null===(e=r.current)||void 0===e?void 0:e.innerText)||"")}),[r]),React.createElement(SecurityRequirementPanelDescriptionStyled,{ref:r,title:a},t.map((function(e,r){var i="",a="",c=e.schemes.length;return t.length>1&&c>1&&(i=0===r?"(":"",a=")"),r!==t.length-1&&(a+=" or "),React.createElement(React.Fragment,{key:r},i,c?e.schemes.map((function(e,t){return React.createElement("b",{key:t},n?(AUTH_TYPES[e.type]||e.type)+": ":null,e.id)})).reduce((function(e,t){return[e," and ",t]})):null,a)})))};var templateObject_1,SecurityRequirementPanelDescriptionStyled=styled.span(templateObject_1||(templateObject_1=__makeTemplateObject(["\n font-size: 0.9em;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-weight: normal;\n"],["\n font-size: 0.9em;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-weight: normal;\n"])));
1
+ import React,{useState}from"react";import{AUTH_TYPES}from"./SecurityRequirement";export var SecurityRequirementPanelDescription=function(e){var t=e.securities,r=e.showSecuritySchemeType,n=React.createRef(),c=useState(""),a=c[0],u=c[1];return React.useLayoutEffect((function(){var e;u((null===(e=n.current)||void 0===e?void 0:e.innerText)||"")}),[n]),React.createElement("span",{ref:n,title:a},t.map((function(e,n){var c="",a="",u=e.schemes.length;return t.length>1&&u>1&&(c=0===n?"(":"",a=")"),n!==t.length-1&&(a+=" or "),React.createElement(React.Fragment,{key:n},c,u?e.schemes.map((function(e,t){return React.createElement("b",{key:t},r?(AUTH_TYPES[e.type]||e.type)+": ":null,e.id)})).reduce((function(e,t){return[e," and ",t]})):null,a)})))};
2
2
  //# sourceMappingURL=SecurityRequirementPanelDescription.js.map
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ /// <reference types="react" />
2
2
  import type { ExternalSource } from '../../services/types';
3
3
  import type { FileInfo } from '../../common-elements/Download';
4
4
  export interface SourceCodeProps {
@@ -6,8 +6,6 @@ export interface SourceCodeProps {
6
6
  source?: string;
7
7
  externalSource?: ExternalSource;
8
8
  }
9
- export declare class SourceCode extends React.PureComponent<Required<Omit<SourceCodeProps, 'externalSource'>>> {
10
- render(): JSX.Element;
11
- }
12
- export declare function SourceCodeWithText(props: SourceCodeProps): JSX.Element;
9
+ export declare const SourceCode: ({ source, lang, }: Required<Omit<SourceCodeProps, 'externalSource'>>) => JSX.Element;
10
+ export declare function SourceCodeWithText({ source: _source, lang, externalSource: _externalSource, }: SourceCodeProps): JSX.Element;
13
11
  export declare function SourceCodeWithFile(props: FileInfo): JSX.Element;
@@ -1,2 +1,2 @@
1
- import{__extends}from"tslib";import React,{useEffect,useState}from"react";import{highlight}from"../../utils";import{FileIcon,SampleControls,SampleControlsWrap,StyledPre}from"../../common-elements";import{CopyButtonWrapper}from"../../common-elements/CopyButtonWrapper";import{Download}from"../../common-elements/Download";var SourceCode=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.source,o=e.lang;return React.createElement(StyledPre,{"data-cy":"code-samples",dangerouslySetInnerHTML:{__html:highlight(t,o)}})}}),t}(React.PureComponent);export{SourceCode};export function SourceCodeWithText(e){var t,o=useState(null!==(t=e.source)&&void 0!==t?t:""),r=o[0],l=o[1];return useEffect((function(){var t,o,r,n,a=null!==(n=null===(r=null===(o=null===(t=e.externalSource)||void 0===t?void 0:t.sample)||void 0===o?void 0:o.get)||void 0===r?void 0:r.call(o,e.externalSource))&&void 0!==n?n:"";a&&l(a)}),[e.externalSource]),React.createElement(CopyButtonWrapper,{data:r},(function(t){var o=t.renderCopyButton;return React.createElement(SampleControlsWrap,null,React.createElement(SampleControls,null,o()),React.createElement(SourceCode,{lang:e.lang,source:r}))}))}export function SourceCodeWithFile(e){var t;return React.createElement(SampleControlsWrap,null,React.createElement(SampleControls,null,React.createElement(Download,{fileInfo:e.fileInfo})),React.createElement(StyledPre,null,React.createElement(FileIcon,{color:"light"})," ",null===(t=e.fileInfo)||void 0===t?void 0:t.fileName))}
1
+ import React,{useEffect,useState}from"react";import{highlight}from"../../utils";import{FileIcon,SampleControls,SampleControlsWrap,StyledPre}from"../../common-elements";import{CopyButtonWrapper}from"../../common-elements/CopyButtonWrapper";import{Download}from"../../common-elements/Download";export var SourceCode=function(e){var t=e.source,o=e.lang;return React.createElement(StyledPre,{"data-cy":"code-samples",dangerouslySetInnerHTML:{__html:highlight(t,o)}})};export function SourceCodeWithText(e){var t=e.source,o=e.lang,l=e.externalSource,r=useState(null!=t?t:""),n=r[0],a=r[1];return useEffect((function(){var e,o,r=t||(null===(o=null===(e=null==l?void 0:l.sample)||void 0===e?void 0:e.get)||void 0===o?void 0:o.call(e,l));r&&a(r)}),[t,l]),React.createElement(CopyButtonWrapper,{data:n},(function(e){var t=e.renderCopyButton;return React.createElement(SampleControlsWrap,null,React.createElement(SampleControls,null,t()),React.createElement(SourceCode,{lang:o,source:n}))}))}export function SourceCodeWithFile(e){var t;return React.createElement(SampleControlsWrap,null,React.createElement(SampleControls,null,React.createElement(Download,{fileInfo:e.fileInfo})),React.createElement(StyledPre,null,React.createElement(FileIcon,{color:"light"})," ",null===(t=e.fileInfo)||void 0===t?void 0:t.fileName))}
2
2
  //# sourceMappingURL=SourceCode.js.map
@@ -1,2 +1,2 @@
1
- import{__assign,__decorate,__rest,__spreadArray}from"tslib";import{action,observable,makeObservable}from"mobx";import{pushRef}from"../OpenAPIParser";import{detectType,extractExtensions,humanizeConstraints,isNamedDefinition,isObject,isPrimitiveType,JsonPointer,pluralizeType,sortByField,sortByRequired}from"../../utils/";import{l}from"../Labels";import{FieldModel}from"./Field";var SchemaModel=function(){function e(e,i,t,r,n,a,s){void 0===n&&(n=!1),void 0===a&&(a=[]),void 0===s&&(s={}),Object.defineProperty(this,"parser",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"refsStack",{enumerable:!0,configurable:!0,writable:!0,value:a}),Object.defineProperty(this,"deps",{enumerable:!0,configurable:!0,writable:!0,value:s}),Object.defineProperty(this,"pointer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"displayType",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"typePrefix",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"title",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"description",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"externalDocs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isPrimitive",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isCircular",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"format",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"displayFormat",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"nullable",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"deprecated",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pattern",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"example",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"enum",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"default",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"readOnly",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"writeOnly",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"constraints",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_fields",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"items",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"oneOf",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"oneOfType",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"discriminatorProp",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"activeOneOf",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"rawSchema",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"schema",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"extensions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"x-enumDescriptions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"const",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"contentEncoding",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"contentMediaType",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"minItems",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"maxItems",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),makeObservable(this),this.pointer=i.$ref||t||"";var o=e.deref(i,a,!0),l=o.resolved,p=o.refsStack;this.refsStack=pushRef(p,this.pointer),this.rawSchema=l,this.schema=e.mergeAllOf(this.rawSchema,this.pointer,this.refsStack),this.init(e,n),r.showExtensions&&(this.extensions=extractExtensions(this.schema,r.showExtensions))}return Object.defineProperty(e.prototype,"activateOneOf",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.activeOneOf=e}}),Object.defineProperty(e.prototype,"hasType",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this.type===e||Array.isArray(this.type)&&this.type.includes(e)}}),Object.defineProperty(e.prototype,"fields",{get:function(){if(!this.isCircular)return!this._fields&&this.hasType("object")&&(this._fields=buildFields(this.parser,this.schema,this.pointer,this.options,this.refsStack,this.deps)),this._fields},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"init",{enumerable:!1,configurable:!0,writable:!0,value:function(i,t){var r,n,a,s,o,p,d,u,f=this,c=this.schema;if(this.isCircular=!!c["x-circular-ref"],this.title=c.title||isNamedDefinition(this.pointer)&&JsonPointer.baseName(this.pointer)||"",this.description=c.description||"",this.type=c.type||detectType(c),this.format=c.format,this.enum=c.enum||[],this["x-enumDescriptions"]=c["x-enumDescriptions"],this.example=c.example,this.deprecated=!!c.deprecated,this.pattern=c.pattern,this.externalDocs=c.externalDocs,this.constraints=humanizeConstraints(c),this.displayFormat=this.format,this.isPrimitive=isPrimitiveType(c,this.type),this.default=c.default,this.readOnly=!!c.readOnly,this.writeOnly=!!c.writeOnly,this.const=c.const||"",this.contentEncoding=c.contentEncoding,this.contentMediaType=c.contentMediaType,this.minItems=c.minItems,this.maxItems=c.maxItems,(c.nullable||c["x-nullable"])&&(Array.isArray(this.type)&&!this.type.some((function(e){return null===e||"null"===e}))?this.type=__spreadArray(__spreadArray([],this.type,!0),["null"],!1):Array.isArray(this.type)||null===this.type&&"null"===this.type||(this.type=[this.type,"null"])),this.displayType=Array.isArray(this.type)?this.type.map((function(e){return null===e?"null":e})).join(" or "):this.type,!this.isCircular)if(c.if&&c.then||c.if&&c.else)this.initConditionalOperators(c,i);else if(t||void 0===getDiscriminator(c)){if(t&&Array.isArray(c.oneOf)&&c.oneOf.find((function(e){return e.$ref===f.pointer}))&&delete c.oneOf,void 0!==c.oneOf)return this.initOneOf(c.oneOf,i),this.oneOfType="One of",void(void 0!==c.anyOf&&console.warn("oneOf and anyOf are not supported on the same level. Skipping anyOf at "+this.pointer));if(void 0!==c.anyOf)return this.initOneOf(c.anyOf,i),void(this.oneOfType="Any of");if(this.hasType("array")&&(Array.isArray(c.items)||Array.isArray(c.prefixItems)?this._fields=buildFields(i,c,this.pointer,this.options,this.refsStack,this.deps):c.items&&(this.items=new e(i,c.items,this.pointer+"/items",this.options,!1,this.refsStack,this.deps)),this.displayType=c.prefixItems||Array.isArray(c.items)?"items":pluralizeType((null===(r=this.items)||void 0===r?void 0:r.displayType)||this.displayType),this.displayFormat=(null===(n=this.items)||void 0===n?void 0:n.format)||"",this.typePrefix=(null===(a=this.items)||void 0===a?void 0:a.typePrefix)||""+l("arrayOf"),this.title=this.title||(null===(s=this.items)||void 0===s?void 0:s.title)||"",this.isPrimitive=void 0!==(null===(o=this.items)||void 0===o?void 0:o.isPrimitive)?null===(p=this.items)||void 0===p?void 0:p.isPrimitive:this.isPrimitive,void 0===this.example&&void 0!==(null===(d=this.items)||void 0===d?void 0:d.example)&&(this.example=[this.items.example]),(null===(u=this.items)||void 0===u?void 0:u.isPrimitive)&&(this.enum=this.items.enum,this["x-enumDescriptions"]=this.items["x-enumDescriptions"]),Array.isArray(this.type))){var h=this.type.filter((function(e){return"array"!==e}));h.length&&(this.displayType+=" or "+h.join(" or "))}this.enum.length&&this.options.sortEnumValuesAlphabetically&&this.enum.sort()}else this.initDiscriminator(c,i)}}),Object.defineProperty(e.prototype,"initOneOf",{enumerable:!1,configurable:!0,writable:!0,value:function(i,t){var r=this;if(this.oneOf=i.map((function(i,n){var a=t.deref(i,r.refsStack,!0),s=a.resolved,o=a.refsStack,l=t.mergeAllOf(s,r.pointer+"/oneOf/"+n,o),p=isNamedDefinition(i.$ref)&&!l.title?JsonPointer.baseName(i.$ref):""+(l.title||"")+(l.const&&JSON.stringify(l.const)||"");return new e(t,__assign(__assign({},l),{title:p,allOf:[__assign(__assign({},r.schema),{oneOf:void 0,anyOf:void 0})]}),r.pointer+"/oneOf/"+n,r.options,!1,r.refsStack,__assign(__assign({},r.deps),{parentFieldFullPath:r.deps.parentFieldFullPath?r.deps.parentFieldFullPath+r.options.deepLinkSeparator+n:n.toString()}))})),this.options.simpleOneOfTypeLabel){var n=collectUniqueOneOfTypesDeep(this);this.displayType=n.join(" or ")}else this.displayType=this.oneOf.map((function(e){var i=e.typePrefix+(e.title?e.title+" ("+e.displayType+")":e.displayType);return i.indexOf(" or ")>-1&&(i="("+i+")"),i})).join(" or ")}}),Object.defineProperty(e.prototype,"initDiscriminator",{enumerable:!1,configurable:!0,writable:!0,value:function(i,t){var r=this,n=getDiscriminator(i);this.discriminatorProp=null==n?void 0:n.propertyName;var a=t.findDerived(__spreadArray(__spreadArray([],this.schema["x-parentRefs"]||[],!0),[this.pointer],!1));if(i.oneOf)for(var s=0,o=i.oneOf;s<o.length;s++){var l=o[s];if(void 0!==l.$ref){var p=JsonPointer.baseName(l.$ref);a[l.$ref]=p}}var d=(null==n?void 0:n.mapping)||{},u=(null==n?void 0:n["x-explicitMappingOnly"])||!1;0===Object.keys(d).length&&(u=!1);var f={};for(var c in d){var h=d[c];Array.isArray(f[h])?f[h].push(c):f[h]=[c]}for(var b=__assign(u?{}:__assign({},a),f),m=[],y=0,v=Object.keys(b);y<v.length;y++){var O=b[h=v[y]];if(Array.isArray(O))for(var g=0,P=O;g<P.length;g++){var w=P[g];m.push({$ref:h,name:w})}else m.push({$ref:h,name:O})}var j=Object.keys(d);0!==j.length&&(m=m.sort((function(e,i){var t=j.indexOf(e.name),r=j.indexOf(i.name);return t<0&&r<0?e.name.localeCompare(i.name):t<0?1:r<0?-1:t-r}))),this.oneOf=m.map((function(i,n){var a=i.$ref,s=i.name,o=new e(t,{$ref:a},a,r.options,!0,r.refsStack.slice(0,-1),__assign(__assign({},r.deps),{parentFieldFullPath:r.deps.parentFieldFullPath?r.deps.parentFieldFullPath+r.options.deepLinkSeparator+n:n.toString()}));return o.title=s,o}))}}),Object.defineProperty(e.prototype,"initConditionalOperators",{enumerable:!1,configurable:!0,writable:!0,value:function(i,t){var r=this,n=i.if,a=i.else,s=void 0===a?{}:a,o=i.then,l=void 0===o?{}:o,p=__rest(i,["if","else","then"]),d=[{allOf:[p,l,n],title:n&&n["x-displayName"]||(null==n?void 0:n.title)||"case 1"},{allOf:[p,s],title:s&&s["x-displayName"]||(null==s?void 0:s.title)||"case 2"}];this.oneOf=d.map((function(i,n){return new e(t,__assign({},i),r.pointer+"/oneOf/"+n,r.options,!1,r.refsStack,__assign(__assign({},r.deps),{parentFieldFullPath:r.deps.parentFieldFullPath?r.deps.parentFieldFullPath+r.options.deepLinkSeparator+n:n.toString()}))})),this.oneOfType="One of"}}),__decorate([observable],e.prototype,"activeOneOf",void 0),__decorate([action],e.prototype,"activateOneOf",null),e}();export{SchemaModel};function normalizeField(e,i,t){return e||(console.warn('Field "'+i+'" is invalid, skipping.\n Field must be an object but got '+typeof e+' at "'+t+'"'),{})}function buildFields(e,i,t,r,n,a){var s=i.properties||i.prefixItems||i.items||{},o=i.patternProperties||{},l=i.additionalProperties||i.unevaluatedProperties,p=i.prefixItems?i.items:i.additionalItems,d=i.default||{},u=Object.keys(s).map((function(o){var l,p=normalizeField(s[o],o,t),u=void 0!==i.required&&i.required.indexOf(o)>-1;return new FieldModel(e,{name:i.properties?o:"["+o+"]",required:u,schema:__assign(__assign({},p),{example:(null===(l=i.example)||void 0===l?void 0:l[o])||p.example,default:void 0===p.default&&d?d[o]:p.default})},t+"/properties/"+o,r,n,a)}));return r.sortPropsAlphabetically&&(u=sortByField(u,"name")),r.requiredPropsFirst&&(u=sortByRequired(u,r.sortPropsAlphabetically?void 0:i.required)),u.push.apply(u,Object.keys(o).map((function(i){var s=normalizeField(o[i],i,t);return new FieldModel(e,{name:i,required:!1,schema:s,kind:"patternProperties"},t+"/patternProperties/"+i,r,n,a)}))),(isObject(l)||!0===l)&&u.push(new FieldModel(e,{name:(isObject(l)&&l["x-additionalPropertiesName"]||"property name").concat("*"),required:!1,schema:!0===l?{}:l,kind:"additionalProperties"},t+"/additionalProperties",r,n,a)),u.push.apply(u,buildAdditionalItems({parser:e,schema:p,fieldsCount:u.length,$ref:t,options:r,refsStack:n,deps:a})),u}function buildAdditionalItems(e){var i=e.parser,t=e.schema,r=void 0!==t&&t,n=e.fieldsCount,a=e.$ref,s=e.options,o=e.refsStack,l=e.deps;return"boolean"==typeof r?r?[new FieldModel(i,{name:"["+n+"...]",schema:{},kind:"additionalItems"},a+"/additionalItems",s,o,l)]:[]:Array.isArray(r)?__spreadArray([],r.map((function(e,t){return new FieldModel(i,{name:"["+(n+t)+"]",schema:e,kind:"additionalItems"},a+"/additionalItems/"+t,s,o,l)})),!0):isObject(r)?[new FieldModel(i,{name:"["+n+"...]",schema:r,kind:"additionalItems"},a+"/additionalItems",s,o,l)]:[]}function getDiscriminator(e){return e.discriminator||e["x-discriminator"]}function collectUniqueOneOfTypesDeep(e){var i=new Set;return function e(t){for(var r=0,n=t.oneOf||[];r<n.length;r++){var a=n[r];a.oneOf?e(a):a.type&&i.add(a.type)}}(e),Array.from(i.values())}
1
+ import{__assign,__decorate,__rest,__spreadArray}from"tslib";import{action,observable,makeObservable}from"mobx";import{pushRef}from"../OpenAPIParser";import{detectType,extractExtensions,humanizeConstraints,isNamedDefinition,isObject,isPrimitiveType,JsonPointer,pluralizeType,sortByField,sortByRequired}from"../../utils/";import{l}from"../Labels";import{FieldModel}from"./Field";var SchemaModel=function(){function e(e,i,t,r,n,a,s){void 0===n&&(n=!1),void 0===a&&(a=[]),void 0===s&&(s={}),Object.defineProperty(this,"parser",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"refsStack",{enumerable:!0,configurable:!0,writable:!0,value:a}),Object.defineProperty(this,"deps",{enumerable:!0,configurable:!0,writable:!0,value:s}),Object.defineProperty(this,"pointer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"displayType",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"typePrefix",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"title",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"description",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"externalDocs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isPrimitive",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isCircular",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"format",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"displayFormat",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"nullable",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"deprecated",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pattern",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"example",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"enum",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"default",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"readOnly",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"writeOnly",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"constraints",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_fields",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"items",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"oneOf",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"oneOfType",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"discriminatorProp",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"activeOneOf",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"rawSchema",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"schema",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"extensions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"x-enumDescriptions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"const",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"contentEncoding",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"contentMediaType",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"minItems",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"maxItems",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),makeObservable(this),this.pointer=i.$ref||t||"";var o=e.deref(i,a,!0),l=o.resolved,p=o.refsStack;this.refsStack=pushRef(p,this.pointer),this.rawSchema=l,this.schema=e.mergeAllOf(this.rawSchema,this.pointer,this.refsStack),this.init(e,n),r.showExtensions&&(this.extensions=extractExtensions(this.schema,r.showExtensions))}return Object.defineProperty(e.prototype,"activateOneOf",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.activeOneOf=e}}),Object.defineProperty(e.prototype,"hasType",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this.type===e||Array.isArray(this.type)&&this.type.includes(e)}}),Object.defineProperty(e.prototype,"fields",{get:function(){if(!this.isCircular)return!this._fields&&this.hasType("object")&&(this._fields=buildFields(this.parser,this.schema,this.pointer,this.options,this.refsStack,this.deps)),this._fields},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"init",{enumerable:!1,configurable:!0,writable:!0,value:function(i,t){var r,n,a,s,o,p,d,u,f=this,c=this.schema;if(this.isCircular=!!c["x-circular-ref"],this.title=c.title||isNamedDefinition(this.pointer)&&JsonPointer.baseName(this.pointer)||"",this.description=c.description||"",this.type=c.type||detectType(c),this.format=c.format,this.enum=c.enum||[],this["x-enumDescriptions"]=c["x-enumDescriptions"],this.example=c.example,this.deprecated=!!c.deprecated,this.pattern=c.pattern,this.externalDocs=c.externalDocs,this.constraints=humanizeConstraints(c),this.displayFormat=this.format,this.isPrimitive=isPrimitiveType(c,this.type),this.default=c.default,this.readOnly=!!c.readOnly,this.writeOnly=!!c.writeOnly,this.const=c.const||"",this.contentEncoding=c.contentEncoding,this.contentMediaType=c.contentMediaType,this.minItems=c.minItems,this.maxItems=c.maxItems,(c.nullable||c["x-nullable"])&&(Array.isArray(this.type)&&!this.type.some((function(e){return null===e||"null"===e}))?this.type=__spreadArray(__spreadArray([],this.type,!0),["null"],!1):Array.isArray(this.type)||null===this.type&&"null"===this.type||(this.type=[this.type,"null"])),this.displayType=Array.isArray(this.type)?this.type.map((function(e){return null===e?"null":e})).join(" or "):this.type,!this.isCircular)if(c.if&&c.then||c.if&&c.else)this.initConditionalOperators(c,i);else if(t||void 0===getDiscriminator(c)){if(t&&Array.isArray(c.oneOf)&&c.oneOf.find((function(e){return e.$ref===f.pointer}))&&delete c.oneOf,void 0!==c.oneOf)return this.initOneOf(c.oneOf,i),this.oneOfType="One of",void(void 0!==c.anyOf&&console.warn("oneOf and anyOf are not supported on the same level. Skipping anyOf at "+this.pointer));if(void 0!==c.anyOf)return this.initOneOf(c.anyOf,i),void(this.oneOfType="Any of");if(this.hasType("array")&&(Array.isArray(c.items)||Array.isArray(c.prefixItems)?this._fields=buildFields(i,c,this.pointer,this.options,this.refsStack,this.deps):c.items&&(this.items=new e(i,c.items,this.pointer+"/items",this.options,!1,this.refsStack,this.deps)),this.displayType=c.prefixItems||Array.isArray(c.items)?"items":pluralizeType((null===(r=this.items)||void 0===r?void 0:r.displayType)||this.displayType),this.displayFormat=(null===(n=this.items)||void 0===n?void 0:n.format)||"",this.typePrefix=(null===(a=this.items)||void 0===a?void 0:a.typePrefix)||""+l("arrayOf"),this.title=this.title||(null===(s=this.items)||void 0===s?void 0:s.title)||"",this.isPrimitive=void 0!==(null===(o=this.items)||void 0===o?void 0:o.isPrimitive)?null===(p=this.items)||void 0===p?void 0:p.isPrimitive:this.isPrimitive,void 0===this.example&&void 0!==(null===(d=this.items)||void 0===d?void 0:d.example)&&(this.example=[this.items.example]),(null===(u=this.items)||void 0===u?void 0:u.isPrimitive)&&(this.enum=this.items.enum,this["x-enumDescriptions"]=this.items["x-enumDescriptions"]),Array.isArray(this.type))){var h=this.type.filter((function(e){return"array"!==e}));h.length&&(this.displayType+=" or "+h.join(" or "))}this.enum.length&&this.options.sortEnumValuesAlphabetically&&this.enum.sort()}else this.initDiscriminator(c,i)}}),Object.defineProperty(e.prototype,"initOneOf",{enumerable:!1,configurable:!0,writable:!0,value:function(i,t){var r=this;if(this.oneOf=i.map((function(i,n){var a=t.deref(i,r.refsStack,!0),s=a.resolved,o=a.refsStack,l=t.mergeAllOf(s,r.pointer+"/oneOf/"+n,o),p=isNamedDefinition(i.$ref)&&!l.title?JsonPointer.baseName(i.$ref):""+(l.title||"")+(l.const&&JSON.stringify(l.const)||"");return new e(t,__assign(__assign({},l),{title:p,allOf:[__assign(__assign({},r.schema),{oneOf:void 0,anyOf:void 0})]}),i.$ref||r.pointer+"/oneOf/"+n,r.options,!1,o,__assign(__assign({},r.deps),{parentFieldFullPath:r.deps.parentFieldFullPath?r.deps.parentFieldFullPath+r.options.deepLinkSeparator+n:n.toString()}))})),this.options.simpleOneOfTypeLabel){var n=collectUniqueOneOfTypesDeep(this);this.displayType=n.join(" or ")}else this.displayType=this.oneOf.map((function(e){var i=e.typePrefix+(e.title?e.title+" ("+e.displayType+")":e.displayType);return i.indexOf(" or ")>-1&&(i="("+i+")"),i})).join(" or ")}}),Object.defineProperty(e.prototype,"initDiscriminator",{enumerable:!1,configurable:!0,writable:!0,value:function(i,t){var r=this,n=getDiscriminator(i);this.discriminatorProp=null==n?void 0:n.propertyName;var a=t.findDerived(__spreadArray(__spreadArray([],this.schema["x-parentRefs"]||[],!0),[this.pointer],!1));if(i.oneOf)for(var s=0,o=i.oneOf;s<o.length;s++){var l=o[s];if(void 0!==l.$ref){var p=JsonPointer.baseName(l.$ref);a[l.$ref]=p}}var d=(null==n?void 0:n.mapping)||{},u=(null==n?void 0:n["x-explicitMappingOnly"])||!1;0===Object.keys(d).length&&(u=!1);var f={};for(var c in d){var h=d[c];Array.isArray(f[h])?f[h].push(c):f[h]=[c]}for(var b=__assign(u?{}:__assign({},a),f),m=[],y=0,v=Object.keys(b);y<v.length;y++){var O=b[h=v[y]];if(Array.isArray(O))for(var g=0,P=O;g<P.length;g++){var w=P[g];m.push({$ref:h,name:w})}else m.push({$ref:h,name:O})}var j=Object.keys(d);0!==j.length&&(m=m.sort((function(e,i){var t=j.indexOf(e.name),r=j.indexOf(i.name);return t<0&&r<0?e.name.localeCompare(i.name):t<0?1:r<0?-1:t-r}))),this.oneOf=m.map((function(i,n){var a=i.$ref,s=i.name,o=new e(t,{$ref:a},a,r.options,!0,r.refsStack.slice(0,-1),__assign(__assign({},r.deps),{parentFieldFullPath:r.deps.parentFieldFullPath?r.deps.parentFieldFullPath+r.options.deepLinkSeparator+n:n.toString()}));return o.title=s,o}))}}),Object.defineProperty(e.prototype,"initConditionalOperators",{enumerable:!1,configurable:!0,writable:!0,value:function(i,t){var r=this,n=i.if,a=i.else,s=void 0===a?{}:a,o=i.then,l=void 0===o?{}:o,p=__rest(i,["if","else","then"]),d=[{allOf:[p,l,n],title:n&&n["x-displayName"]||(null==n?void 0:n.title)||"case 1"},{allOf:[p,s],title:s&&s["x-displayName"]||(null==s?void 0:s.title)||"case 2"}];this.oneOf=d.map((function(i,n){return new e(t,__assign({},i),r.pointer+"/oneOf/"+n,r.options,!1,r.refsStack,__assign(__assign({},r.deps),{parentFieldFullPath:r.deps.parentFieldFullPath?r.deps.parentFieldFullPath+r.options.deepLinkSeparator+n:n.toString()}))})),this.oneOfType="One of"}}),__decorate([observable],e.prototype,"activeOneOf",void 0),__decorate([action],e.prototype,"activateOneOf",null),e}();export{SchemaModel};function normalizeField(e,i,t){return e||(console.warn('Field "'+i+'" is invalid, skipping.\n Field must be an object but got '+typeof e+' at "'+t+'"'),{})}function buildFields(e,i,t,r,n,a){var s=i.properties||i.prefixItems||i.items||{},o=i.patternProperties||{},l=i.additionalProperties||i.unevaluatedProperties,p=i.prefixItems?i.items:i.additionalItems,d=i.default||{},u=Object.keys(s).map((function(o){var l,p=normalizeField(s[o],o,t),u=void 0!==i.required&&i.required.indexOf(o)>-1;return new FieldModel(e,{name:i.properties?o:"["+o+"]",required:u,schema:__assign(__assign({},p),{example:(null===(l=i.example)||void 0===l?void 0:l[o])||p.example,default:void 0===p.default&&d?d[o]:p.default})},t+"/properties/"+o,r,n,a)}));return r.sortPropsAlphabetically&&(u=sortByField(u,"name")),r.requiredPropsFirst&&(u=sortByRequired(u,r.sortPropsAlphabetically?void 0:i.required)),u.push.apply(u,Object.keys(o).map((function(i){var s=normalizeField(o[i],i,t);return new FieldModel(e,{name:i,required:!1,schema:s,kind:"patternProperties"},t+"/patternProperties/"+i,r,n,a)}))),(isObject(l)||!0===l)&&u.push(new FieldModel(e,{name:(isObject(l)&&l["x-additionalPropertiesName"]||"property name").concat("*"),required:!1,schema:!0===l?{}:l,kind:"additionalProperties"},t+"/additionalProperties",r,n,a)),u.push.apply(u,buildAdditionalItems({parser:e,schema:p,fieldsCount:u.length,$ref:t,options:r,refsStack:n,deps:a})),u}function buildAdditionalItems(e){var i=e.parser,t=e.schema,r=void 0!==t&&t,n=e.fieldsCount,a=e.$ref,s=e.options,o=e.refsStack,l=e.deps;return"boolean"==typeof r?r?[new FieldModel(i,{name:"["+n+"...]",schema:{},kind:"additionalItems"},a+"/additionalItems",s,o,l)]:[]:Array.isArray(r)?__spreadArray([],r.map((function(e,t){return new FieldModel(i,{name:"["+(n+t)+"]",schema:e,kind:"additionalItems"},a+"/additionalItems/"+t,s,o,l)})),!0):isObject(r)?[new FieldModel(i,{name:"["+n+"...]",schema:r,kind:"additionalItems"},a+"/additionalItems",s,o,l)]:[]}function getDiscriminator(e){return e.discriminator||e["x-discriminator"]}function collectUniqueOneOfTypesDeep(e){var i=new Set;return function e(t){for(var r=0,n=t.oneOf||[];r<n.length;r++){var a=n[r];a.oneOf?e(a):a.type&&i.add(a.type)}}(e),Array.from(i.values())}
2
2
  //# sourceMappingURL=Schema.js.map