@redocly/reference-docs 2.13.3 → 2.13.6

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.
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.TryItPanel=exports.Console=void 0;var tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),informed_1=require("informed"),mobx_react_1=require("mobx-react"),utils_1=require("../../utils"),styled_components_1=require("./styled.components"),ServerDropdown_1=require("./ServerDropdown"),OperationParameters_1=require("./OperationParameters"),ActionPanel_1=require("./ActionPanel"),ResponsePanel_1=require("./ResponsePanel"),RequestBody_1=require("./RequestBody"),ConsoleBadges_1=require("./ConsoleBadges"),AuthPanel_1=require("./AuthPanel"),services_1=require("../../services"),swagger_client_1=(0,tslib_1.__importDefault)(require("swagger-client")),redoc_lib_1=require("../../redoc-lib"),helper_1=require("../../redoc-lib/src/components/helper"),Labels_1=require("../../redoc-lib/src/services/Labels"),styled_components_2=(0,tslib_1.__importDefault)(require("../../redoc-lib/src/styled-components")),Panel_1=require("../Panel"),OAuth2_1=require("../../services/OAuth2"),PanelBody_1=require("../Panel/PanelBody"),utils_2=require("./utils"),helper_2=require("../common/FileUpload/helper");function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}var flexColumn={flex:1,display:"flex",flexDirection:"column"},Console=function(e){function t(t){var r=e.call(this,t)||this;return Object.defineProperty(r,"formApi",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"setFormApi",{enumerable:!0,configurable:!0,writable:!0,value:function(e,t){void 0===t&&(t=e.getState());var n=t.values,a=(0,tslib_1.__rest)(t,["values"]);r.formApi=e,setTimeout((function(){var e=(0,tslib_1.__assign)((0,tslib_1.__assign)({},a),{values:(0,tslib_1.__assign)((0,tslib_1.__assign)({},n),{query:(0,utils_2.unescapeQueryParams)(n.query||{})})});r.setState({form:e})}),0)}}),Object.defineProperty(r,"handleChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var t=e.values,n=(0,tslib_1.__rest)(e,["values"]),a=(0,tslib_1.__assign)((0,tslib_1.__assign)({},n),{values:(0,tslib_1.__assign)((0,tslib_1.__assign)({},t),{query:(0,utils_2.unescapeQueryParams)(t.query||{})})});r.setState({form:a}),(0,utils_2.updateStorage)(a)}}),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(0,tslib_1.__awaiter)(r,void 0,void 0,(function(){var e,t,r,n,a,s,o,i,l,c,u,d,p,_,h,m,b,v,y,g,f,P,R,q,S,C,w,E,I,x,A,T,O,k,B,j,F,H,D=this;return(0,tslib_1.__generator)(this,(function(U){switch(U.label){case 0:if(e=this.props,t=e.store,r=e.operation,n=e.onResponse,a=this.state.form,s=a.values,o=a.invalid,this.formApi.submitForm(),o)return this.setState({shaking:!0}),setTimeout((function(){return D.setState({shaking:!1})}),1e3),null===(O=null===(T=null==t?void 0:t.options.events)||void 0===T?void 0:T.tryItSent)||void 0===O||O.call(T,{eventType:services_1.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||"",c=s.body,/json/.test(l))try{c=JSON.parse(c)}catch(e){console.error(e)}if(this.setState({loading:!0}),u=this.state.resolvedRawSpec,!(d=(0,utils_1.get)(u,["paths",r.path,(r.httpVerb||"").toLowerCase(),"servers"])||(0,utils_1.get)(u,["paths",r.path,"servers"])||(0,utils_1.get)(u,["servers"])))throw console.error("Servers are not specified in your OpenAPI file. You can't use Try It Out console without specifying servers. If you use OpenAPI 2, make sure you configured host and basepath"),new Error("Servers are not specified");p=d.find((function(e){return D.state.server.url.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url)})),_=Date.now(),h=!!window.document.documentMode,b=s.auth,s.auth?(v=Object.keys(s.auth)[0],y=(0,utils_1.unescapeFormId)(v),m=(0,tslib_1.__assign)((0,tslib_1.__assign)({},u),{components:(0,tslib_1.__assign)((0,tslib_1.__assign)({},u.components),{securitySchemes:(0,tslib_1.__assign)((0,tslib_1.__assign)({},u.components.securitySchemes),(x={},x[y]=(0,tslib_1.__assign)((0,tslib_1.__assign)({},u.components.securitySchemes[y]),{type:"openIdConnect"===u.components.securitySchemes[y].type?"oauth2":u.components.securitySchemes[y].type}),x))})}),b=(0,tslib_1.__assign)((0,tslib_1.__assign)({},b),((A={})[y]=b[v],A))):m=(0,tslib_1.__assign)({},u),(g=t.options.corsProxyUrl)&&u.servers&&u.servers.length&&(m.servers=u.servers.map((function(e){return(0,tslib_1.__assign)((0,tslib_1.__assign)({},e),{url:g+normalizeUrlProtocol(e.url)})}))),(f=(null===(B=null===(k=null==i?void 0:i.content)||void 0===k?void 0:k.active)||void 0===B?void 0:B.name)||null)&&c&&(0,helper_2.isFileUploadMime)(f)&&(P=Object.values(c),c=P.length>1?P:P[0]),R=function(e,t){return function(r){return D.props.store.options.sendXUserAgentInTryIt&&(r.headers["X-User-Agent"]="Redocly Try it API console"),e?e(r,t):r}},q={userFetch:h&&require("cross-fetch").fetch,server:g?g+normalizeUrlProtocol(p.url):p.url,serverVariables:this.state.server.variables,spec:m,pathName:r.path,method:r.httpVerb,parameters:(0,tslib_1.__assign)((0,tslib_1.__assign)((0,tslib_1.__assign)((0,tslib_1.__assign)({},s.path),s.query),s.header),s.cookie),securities:{authorized:b},requestBody:c,requestContentType:f,responseContentType:(null===(j=s.header)||void 0===j?void 0:j.Accept)||null,requestInterceptor:R(t.options.requestInterceptor,r)},U.label=1;case 1:return U.trys.push([1,5,8,9]),[4,swagger_client_1.default.execute(q)];case 2:return S=U.sent(),(C=null==S?void 0:S.data)instanceof Blob?((0,helper_2.isFileUploadMime)(C.type)&&(S.fileInfo={rawData:C,fileName:(0,utils_2.getFileNameFromHeaders)(S.headers)}),w=S,[4,C.text()]):[3,4];case 3:w.data=U.sent(),U.label=4;case 4:return null==n||n({request:q,response:S}),this.setState({response:S,error:void 0}),[3,9];case 5:return(E=U.sent())&&E.response&&E.response.data instanceof Blob?(I=E.response,[4,E.response.data.text()]):[3,7];case 6:I.data=U.sent(),null==n||n({request:q,response:E.response}),U.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()-_}),null===(H=null===(F=null==t?void 0:t.options.events)||void 0===F?void 0:F.tryItSent)||void 0===H||H.call(F,{eventType:services_1.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:(0,utils_2.getParameters)(t.operation.parameters,"path"),cookie:(0,utils_2.getParameters)(t.operation.parameters,"cookie"),header:(0,utils_2.getParameters)(t.operation.parameters,"header"),query:(0,utils_2.getParameters)(t.operation.parameters,"query")}},shaking:!1,loading:!1,activeTab:0,server:{}},r}return(0,tslib_1.__extends)(t,e),Object.defineProperty(t.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){return(0,tslib_1.__awaiter)(this,void 0,void 0,(function(){var e,t,r,n;return(0,tslib_1.__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 n=a.sent(),this.setState({resolvedRawSpec:n}),this.formApi.setValues({}),[2]}}))}))}}),Object.defineProperty(t.prototype,"componentDidUpdate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){e.operation!==this.props.operation&&this.setState({response:void 0,error:void 0,activeTab:0})}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.props,t=e.operation,r=e.className,n=e.rootElement,a=this.state,s=a.shaking,o=a.activeTab,i=a.form,l=a.response,c=a.loading,u=a.error,d=!(!l&&!u);return React.createElement(ConsoleWrapHook,{shaking:s,className:r,rootElement:n},React.createElement(Panel_1.CodeHeader,null,React.createElement(ConsoleBadges_1.ConsoleBadges,{active:o,hasResponse:d,onChange:this.handleTabChange}),this.props.onClose&&React.createElement(styled_components_1.CloseButton,{onClick:this.props.onClose}," ✕ ")),React.createElement(styled_components_1.ConsoleBody,{hidden:0!==o},this.renderRequest()),React.createElement(styled_components_1.ConsoleBody,{hidden:1!==o},this.renderResponse()),React.createElement(ActionPanel_1.ActionPanel,{hasResponse:d,params:i.values,operation:t,loading:c,execute:this.handleExecute}))}}),Object.defineProperty(t.prototype,"renderRequest",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e,t=this.props,r=t.operation,n=t.store,a=t.properties,s=t.securityDefaults,o=this.state,i=o.form,l=o.resolvedRawSpec,c=o.server,u=i.errors||{},d=u.path||u.cookie||u.header||u.query,p=l&&redoc_lib_1.JsonPointer.get(l,r.pointer),_=i.values&&i.values.auth&&Object.keys(i.values.auth)[0];_&&i.values.auth[_]||(_=void 0),!_||void 0===i.values.auth[_].token&&void 0===i.values.auth[_].client_id&&void 0===i.values.auth[_].client_secret||i.values.auth[_].token&&i.values.auth[_].token.access_token||(_=void 0),_&&null!=i.values.auth[_].username&&(i.values.auth[_].username&&i.values.auth[_].password||(_=void 0));var h=r.parameters||[],m=null===(e=null==n?void 0:n.options.hooks)||void 0===e?void 0:e.ReplaceTryItSecurityPanel;return!l&&React.createElement(React.Fragment,null,"Loading...")||React.createElement(React.Fragment,null,React.createElement(informed_1.Form,{onChange:this.handleChange,getApi:this.setFormApi,style:(0,tslib_1.__assign)((0,tslib_1.__assign)({},flexColumn),{margin:0})},React.createElement(Panel_1.Accordion,{initialActiveIdx:r.security.length&&_?1:0},r.security.length&&React.createElement(TryItPanel,{header:(0,Labels_1.l)("tryItAuth"),"data-cy":"security-trigger",renderChildrenHidden:!0,error:!_&&!!u.auth,success:!!_},m?React.createElement(AuthPanelHook,{field:"auth",validate:AuthPanel_1.requiredValidator},(function(e){return React.createElement(helper_1.RenderHook,{Hook:m,props:{server:c,operation:r,onChange:e,OAuth2:OAuth2_1.OAuth2}})})):React.createElement(AuthPanel_1.AuthPanel,{formApi:this.formApi,form:i,operation:r,activeServer:c.url,authCorsProxyUrl:n.options.authCorsProxyUrl,securityDefaults:s}))||null,r.requestBody&&React.createElement(TryItPanel,{header:(0,Labels_1.l)("tryItBody"),"data-cy":"body-trigger",renderChildrenHidden:!0,error:!!u.body},React.createElement(RequestBody_1.RequestBody,{validate:allowBodyErrors,console:this,body:r.requestBody,id:r.id,resolvedBody:p.requestBody,properties:a}))||null,h.length&&React.createElement(TryItPanel,{header:(0,Labels_1.l)("tryItParameters"),"data-cy":"parameters-trigger",error:d,renderChildrenHidden:!0},React.createElement(OperationParameters_1.OperationParameters,{operation:r,values:i.values,errors:i.errors||{}}))||null)),React.createElement(ServerDropdown_1.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,n=e.time;return React.createElement(ResponsePanel_1.ResponsePanel,{response:t,error:r,time:n})}}),t=(0,tslib_1.__decorate)([mobx_react_1.observer],t)}(React.Component);function allowBodyErrors(){}function ConsoleWrapHook(e){var t=e.shaking,r=e.className,n=e.children,a=e.rootElement,s=(0,utils_1.useDimensions)(a)[0];return React.createElement(styled_components_1.ConsoleWrap,{shaking:t,className:r,"data-cy":"console",fullWidth:null==s?void 0:s.width},n)}function AuthPanelHook(e){var t=(0,informed_1.useField)((0,tslib_1.__assign)({},e)),r=t.fieldApi,n=t.render,a=t.userProps,s=r.setValue,o=a.children;return n(React.createElement(React.Fragment,null,o(s)))}function TryItPanel(e){var t=e.header,r=e.error,n=e.success,a=(0,tslib_1.__rest)(e,["header","error","success"]);return React.createElement(StyledTryItPanel,(0,tslib_1.__assign)({},a,{header:function(e){var s=e.toggle,o=e.expanded;return React.createElement(Panel_1.Header,{onClick:s,isExpanded:o,"data-cy":a["data-cy"]},React.createElement(Panel_1.Trigger,null,React.createElement(Panel_1.Title,null,t),React.createElement(redoc_lib_1.ShelfIcon,{direction:o?"down":"right"})),r&&React.createElement(redoc_lib_1.CrossIcon,{size:"14px",color:"#ff908b"})||null,n&&React.createElement(redoc_lib_1.LockIcon,{size:"14px",color:"#56ff26"})||null)}}))}exports.Console=Console,exports.TryItPanel=TryItPanel;var templateObject_1,StyledTryItPanel=(0,styled_components_2.default)(Panel_1.Panel)(templateObject_1||(templateObject_1=(0,tslib_1.__makeTemplateObject)(["\n "," {\n color: white;\n border: 1px solid ",";\n padding: 10px;\n }\n\n "," path {\n fill: white;\n }\n\n "," {\n padding: 15px 10px;\n background-color: #3e4c59;\n border: 1px solid ",";\n border-top: 0;\n }\n"],["\n "," {\n color: white;\n border: 1px solid ",";\n padding: 10px;\n }\n\n "," path {\n fill: white;\n }\n\n "," {\n padding: 15px 10px;\n background-color: #3e4c59;\n border: 1px solid ",";\n border-top: 0;\n }\n"])),Panel_1.Header,(function(e){return e.error?"#ff908b":"#89949f"}),redoc_lib_1.ShelfIcon,PanelBody_1.PanelBody,(function(e){return e.error?"#ff908b":"#89949f"}));
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.TryItPanel=exports.Console=void 0;var tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),informed_1=require("informed"),mobx_react_1=require("mobx-react"),utils_1=require("../../utils"),styled_components_1=require("./styled.components"),ServerDropdown_1=require("./ServerDropdown"),OperationParameters_1=require("./OperationParameters"),ActionPanel_1=require("./ActionPanel"),ResponsePanel_1=require("./ResponsePanel"),RequestBody_1=require("./RequestBody"),ConsoleBadges_1=require("./ConsoleBadges"),AuthPanel_1=require("./AuthPanel"),services_1=require("../../services"),swagger_client_1=(0,tslib_1.__importDefault)(require("swagger-client")),redoc_lib_1=require("../../redoc-lib"),helper_1=require("../../redoc-lib/src/components/helper"),Labels_1=require("../../redoc-lib/src/services/Labels"),styled_components_2=(0,tslib_1.__importDefault)(require("../../redoc-lib/src/styled-components")),Panel_1=require("../Panel"),OAuth2_1=require("../../services/OAuth2"),PanelBody_1=require("../Panel/PanelBody"),utils_2=require("./utils"),helper_2=require("../common/FileUpload/helper");function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}var flexColumn={flex:1,display:"flex",flexDirection:"column"},Console=function(e){function t(t){var r=e.call(this,t)||this;return Object.defineProperty(r,"formApi",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"setFormApi",{enumerable:!0,configurable:!0,writable:!0,value:function(e,t){void 0===t&&(t=e.getState());var n=t.values,s=(0,tslib_1.__rest)(t,["values"]);r.formApi=e,setTimeout((function(){var e=(0,tslib_1.__assign)((0,tslib_1.__assign)({},s),{values:(0,tslib_1.__assign)((0,tslib_1.__assign)({},n),{query:(0,utils_2.unescapeQueryParams)(n.query||{})})});r.setState({form:e})}),0)}}),Object.defineProperty(r,"handleChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var t=e.values,n=(0,tslib_1.__rest)(e,["values"]),s=(0,tslib_1.__assign)((0,tslib_1.__assign)({},n),{values:(0,tslib_1.__assign)((0,tslib_1.__assign)({},t),{query:(0,utils_2.unescapeQueryParams)(t.query||{})})});r.setState({form:s}),(0,utils_2.updateStorage)(s)}}),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(0,tslib_1.__awaiter)(r,void 0,void 0,(function(){var e,t,r,n,s,a,o,i,l,c,u,p,d,_,h,m,b,v,y,g,f,P,R,q,S,C,w,E,I,x,A,T,O,k,B,j,F,H,D,U,V,L=this;return(0,tslib_1.__generator)(this,(function(N){switch(N.label){case 0:if(e=this.props,t=e.store,r=e.operation,n=e.onResponse,s=this.state.form,a=s.values,o=s.invalid,this.formApi.submitForm(),o)return this.setState({shaking:!0}),setTimeout((function(){return L.setState({shaking:!1})}),1e3),null===(j=null===(B=null==t?void 0:t.options.events)||void 0===B?void 0:B.tryItSent)||void 0===j||j.call(B,{eventType:services_1.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||"",c=a.body,/json/.test(l))try{c=JSON.parse(c)}catch(e){console.error(e)}if(this.setState({loading:!0}),u=this.state.resolvedRawSpec,p=(r.httpVerb||"").toLowerCase(),!(d=(0,utils_1.get)(u,["paths",r.path,p,"servers"])||(0,utils_1.get)(u,["paths",r.path,"servers"])||(0,utils_1.get)(u,["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");_=d.find((function(e){return L.state.server.url.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url)})),h=Date.now(),m=!!window.document.documentMode,v=a.auth,a.auth?(y=Object.keys(a.auth)[0],g=(0,utils_1.unescapeFormId)(y),b=(0,tslib_1.__assign)((0,tslib_1.__assign)({},u),{components:(0,tslib_1.__assign)((0,tslib_1.__assign)({},u.components),{securitySchemes:(0,tslib_1.__assign)((0,tslib_1.__assign)({},u.components.securitySchemes),(A={},A[g]=(0,tslib_1.__assign)((0,tslib_1.__assign)({},u.components.securitySchemes[g]),{type:"openIdConnect"===u.components.securitySchemes[g].type?"oauth2":u.components.securitySchemes[g].type}),A))})}),v=(0,tslib_1.__assign)((0,tslib_1.__assign)({},v),((T={})[g]=v[y],T))):b=(0,tslib_1.__assign)({},u),(f=t.options.corsProxyUrl)&&d.length&&(b.servers=d.map((function(e){return(0,tslib_1.__assign)((0,tslib_1.__assign)({},e),{url:f+normalizeUrlProtocol(e.url)})})),b.paths=(0,tslib_1.__assign)((0,tslib_1.__assign)({},b.paths),((O={})[r.path]=(0,tslib_1.__assign)((0,tslib_1.__assign)({},b.paths[r.path]),((k={})[p]=(0,tslib_1.__assign)((0,tslib_1.__assign)({},b.paths[r.path][p]),{servers:void 0}),k.servers=void 0,k)),O))),(P=(null===(H=null===(F=null==i?void 0:i.content)||void 0===F?void 0:F.active)||void 0===H?void 0:H.name)||null)&&c&&(0,helper_2.isFileUploadMime)(P)&&(R=Object.values(c),c=R.length>1?R:R[0]),q=function(e,t){return function(r){return L.props.store.options.sendXUserAgentInTryIt&&(r.headers["X-User-Agent"]="Redocly Try it API console"),e?e(r,t):r}},S={userFetch:m&&require("cross-fetch").fetch,server:f?f+normalizeUrlProtocol(_.url):_.url,serverVariables:this.state.server.variables,spec:b,pathName:r.path,method:r.httpVerb,parameters:(0,tslib_1.__assign)((0,tslib_1.__assign)((0,tslib_1.__assign)((0,tslib_1.__assign)({},a.path),a.query),a.header),a.cookie),securities:{authorized:v},requestBody:c,requestContentType:P,responseContentType:(null===(D=a.header)||void 0===D?void 0:D.Accept)||null,requestInterceptor:q(t.options.requestInterceptor,r)},N.label=1;case 1:return N.trys.push([1,5,8,9]),[4,swagger_client_1.default.execute(S)];case 2:return C=N.sent(),(w=null==C?void 0:C.data)instanceof Blob?((0,helper_2.isFileUploadMime)(w.type)&&(C.fileInfo={rawData:w,fileName:(0,utils_2.getFileNameFromHeaders)(C.headers)}),E=C,[4,w.text()]):[3,4];case 3:E.data=N.sent(),N.label=4;case 4:return null==n||n({request:S,response:C}),this.setState({response:C,error:void 0}),[3,9];case 5:return(I=N.sent())&&I.response&&I.response.data instanceof Blob?(x=I.response,[4,I.response.data.text()]):[3,7];case 6:x.data=N.sent(),null==n||n({request:S,response:I.response}),N.label=7;case 7:return this.setState({response:void 0,error:I}),[3,9];case 8:return this.setState({loading:!1,activeTab:1,time:Date.now()-h}),null===(V=null===(U=null==t?void 0:t.options.events)||void 0===U?void 0:U.tryItSent)||void 0===V||V.call(U,{eventType:services_1.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:(0,utils_2.getParameters)(t.operation.parameters,"path"),cookie:(0,utils_2.getParameters)(t.operation.parameters,"cookie"),header:(0,utils_2.getParameters)(t.operation.parameters,"header"),query:(0,utils_2.getParameters)(t.operation.parameters,"query")}},shaking:!1,loading:!1,activeTab:0,server:{}},r}return(0,tslib_1.__extends)(t,e),Object.defineProperty(t.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){return(0,tslib_1.__awaiter)(this,void 0,void 0,(function(){var e,t,r,n;return(0,tslib_1.__generator)(this,(function(s){switch(s.label){case 0:return e=this.props,t=e.store,r=e.operation,[4,t.dereferenceSpecForTryIt(r)];case 1:return n=s.sent(),this.setState({resolvedRawSpec:n}),this.formApi.setValues({}),[2]}}))}))}}),Object.defineProperty(t.prototype,"componentDidUpdate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){e.operation!==this.props.operation&&this.setState({response:void 0,error:void 0,activeTab:0})}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.props,t=e.operation,r=e.className,n=e.rootElement,s=this.state,a=s.shaking,o=s.activeTab,i=s.form,l=s.response,c=s.loading,u=s.error,p=!(!l&&!u);return React.createElement(ConsoleWrapHook,{shaking:a,className:r,rootElement:n},React.createElement(Panel_1.CodeHeader,null,React.createElement(ConsoleBadges_1.ConsoleBadges,{active:o,hasResponse:p,onChange:this.handleTabChange}),this.props.onClose&&React.createElement(styled_components_1.CloseButton,{onClick:this.props.onClose}," ✕ ")),React.createElement(styled_components_1.ConsoleBody,{hidden:0!==o},this.renderRequest()),React.createElement(styled_components_1.ConsoleBody,{hidden:1!==o},this.renderResponse()),React.createElement(ActionPanel_1.ActionPanel,{hasResponse:p,params:i.values,operation:t,loading:c,execute:this.handleExecute}))}}),Object.defineProperty(t.prototype,"renderRequest",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e,t=this.props,r=t.operation,n=t.store,s=t.properties,a=t.securityDefaults,o=this.state,i=o.form,l=o.resolvedRawSpec,c=o.server,u=i.errors||{},p=u.path||u.cookie||u.header||u.query,d=l&&redoc_lib_1.JsonPointer.get(l,r.pointer),_=i.values&&i.values.auth&&Object.keys(i.values.auth)[0];_&&i.values.auth[_]||(_=void 0),!_||void 0===i.values.auth[_].token&&void 0===i.values.auth[_].client_id&&void 0===i.values.auth[_].client_secret||i.values.auth[_].token&&i.values.auth[_].token.access_token||(_=void 0),_&&null!=i.values.auth[_].username&&(i.values.auth[_].username&&i.values.auth[_].password||(_=void 0));var h=r.parameters||[],m=null===(e=null==n?void 0:n.options.hooks)||void 0===e?void 0:e.ReplaceTryItSecurityPanel;return!l&&React.createElement(React.Fragment,null,"Loading...")||React.createElement(React.Fragment,null,React.createElement(informed_1.Form,{onChange:this.handleChange,getApi:this.setFormApi,style:(0,tslib_1.__assign)((0,tslib_1.__assign)({},flexColumn),{margin:0})},React.createElement(Panel_1.Accordion,{initialActiveIdx:r.security.length&&_?1:0},r.security.length&&React.createElement(TryItPanel,{header:(0,Labels_1.l)("tryItAuth"),"data-cy":"security-trigger",renderChildrenHidden:!0,error:!_&&!!u.auth,success:!!_},m?React.createElement(AuthPanelHook,{field:"auth",validate:AuthPanel_1.requiredValidator},(function(e){return React.createElement(helper_1.RenderHook,{Hook:m,props:{server:c,operation:r,onChange:e,OAuth2:OAuth2_1.OAuth2}})})):React.createElement(AuthPanel_1.AuthPanel,{formApi:this.formApi,form:i,operation:r,activeServer:c.url,authCorsProxyUrl:n.options.authCorsProxyUrl,securityDefaults:a}))||null,r.requestBody&&React.createElement(TryItPanel,{header:(0,Labels_1.l)("tryItBody"),"data-cy":"body-trigger",renderChildrenHidden:!0,error:!!u.body},React.createElement(RequestBody_1.RequestBody,{validate:allowBodyErrors,console:this,body:r.requestBody,id:r.id,resolvedBody:d.requestBody,properties:s}))||null,h.length&&React.createElement(TryItPanel,{header:(0,Labels_1.l)("tryItParameters"),"data-cy":"parameters-trigger",error:p,renderChildrenHidden:!0},React.createElement(OperationParameters_1.OperationParameters,{operation:r,values:i.values,errors:i.errors||{}}))||null)),React.createElement(ServerDropdown_1.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,n=e.time;return React.createElement(ResponsePanel_1.ResponsePanel,{response:t,error:r,time:n})}}),t=(0,tslib_1.__decorate)([mobx_react_1.observer],t)}(React.Component);function allowBodyErrors(){}function ConsoleWrapHook(e){var t=e.shaking,r=e.className,n=e.children,s=e.rootElement,a=(0,utils_1.useDimensions)(s)[0];return React.createElement(styled_components_1.ConsoleWrap,{shaking:t,className:r,"data-cy":"console",fullWidth:null==a?void 0:a.width},n)}function AuthPanelHook(e){var t=(0,informed_1.useField)((0,tslib_1.__assign)({},e)),r=t.fieldApi,n=t.render,s=t.userProps,a=r.setValue,o=s.children;return n(React.createElement(React.Fragment,null,o(a)))}function TryItPanel(e){var t=e.header,r=e.error,n=e.success,s=(0,tslib_1.__rest)(e,["header","error","success"]);return React.createElement(StyledTryItPanel,(0,tslib_1.__assign)({},s,{header:function(e){var a=e.toggle,o=e.expanded;return React.createElement(Panel_1.Header,{onClick:a,isExpanded:o,"data-cy":s["data-cy"]},React.createElement(Panel_1.Trigger,null,React.createElement(Panel_1.Title,null,t),React.createElement(redoc_lib_1.ShelfIcon,{direction:o?"down":"right"})),r&&React.createElement(redoc_lib_1.CrossIcon,{size:"14px",color:"#ff908b"})||null,n&&React.createElement(redoc_lib_1.LockIcon,{size:"14px",color:"#56ff26"})||null)}}))}exports.Console=Console,exports.TryItPanel=TryItPanel;var templateObject_1,StyledTryItPanel=(0,styled_components_2.default)(Panel_1.Panel)(templateObject_1||(templateObject_1=(0,tslib_1.__makeTemplateObject)(["\n "," {\n color: white;\n border: 1px solid ",";\n padding: 10px;\n }\n\n "," path {\n fill: white;\n }\n\n "," {\n padding: 15px 10px;\n background-color: #3e4c59;\n border: 1px solid ",";\n border-top: 0;\n }\n"],["\n "," {\n color: white;\n border: 1px solid ",";\n padding: 10px;\n }\n\n "," path {\n fill: white;\n }\n\n "," {\n padding: 15px 10px;\n background-color: #3e4c59;\n border: 1px solid ",";\n border-top: 0;\n }\n"])),Panel_1.Header,(function(e){return e.error?"#ff908b":"#89949f"}),redoc_lib_1.ShelfIcon,PanelBody_1.PanelBody,(function(e){return e.error?"#ff908b":"#89949f"}));
2
2
  //# sourceMappingURL=Console.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ShareLink=exports.Link=exports.linkifyMixin=exports.userIsForcingNavigation=void 0;var tslib_1=require("tslib"),react_1=(0,tslib_1.__importStar)(require("react")),StoreBuilder_1=require("../components/StoreBuilder"),styled_components_1=(0,tslib_1.__importStar)(require("../styled-components")),utils_1=require("../utils"),icons_1=require("./icons");function userIsForcingNavigation(n){return 0!==n.button||n.altKey||n.ctrlKey||n.metaKey||n.shiftKey}exports.userIsForcingNavigation=userIsForcingNavigation;var linkifyMixin=function(n,i){return(0,styled_components_1.css)(templateObject_1||(templateObject_1=(0,tslib_1.__makeTemplateObject)(["\n "," {\n cursor: pointer;\n line-height: inherit;\n display: inline-block;\n outline: 0;\n position: absolute;\n padding-right: 4px;\n transform: translateX(-100%);\n }\n\n "," "," {\n width: ",";\n height: ",";\n visibility: hidden;\n display: inline-block;\n vertical-align: middle;\n }\n\n h1:hover\n > ","\n ",",\n h2:hover\n > ","\n ",",\n ",":hover\n "," {\n visibility: visible;\n }\n\n ",":focus "," {\n visibility: visible;\n }\n"],["\n "," {\n cursor: pointer;\n line-height: inherit;\n display: inline-block;\n outline: 0;\n position: absolute;\n padding-right: 4px;\n transform: translateX(-100%);\n }\n\n "," "," {\n width: ",";\n height: ",";\n visibility: hidden;\n display: inline-block;\n vertical-align: middle;\n }\n\n h1:hover\n > ","\n ",",\n h2:hover\n > ","\n ",",\n ",":hover\n "," {\n visibility: visible;\n }\n\n ",":focus "," {\n visibility: visible;\n }\n"])),n,n,icons_1.LinkIcon,i,i,n,icons_1.LinkIcon,n,icons_1.LinkIcon,n,icons_1.LinkIcon,n,icons_1.LinkIcon)};function Link(n){var i,e,t,l,r,o=(0,react_1.useCallback)((function(i,e){e.defaultPrevented||userIsForcingNavigation(e)||(e.preventDefault(),i.replace(n.to))}),[n.to]),s=(0,StoreBuilder_1.useStore)(),a=null===(e=null==s?void 0:(i=s.menu.history).linkForId)||void 0===e?void 0:e.call(i,n.to);return n.to.startsWith(utils_1.SECURITY_SCHEMES_SECTION_PREFIX)&&(null===(t=null==s?void 0:s.options.hooks)||void 0===t?void 0:t.replaceSecurityLink)&&(a=null===(r=null===(l=s.options.hooks)||void 0===l?void 0:l.replaceSecurityLink)||void 0===r?void 0:r.call(l,{securityRequirementId:n.to.replace(utils_1.SECURITY_SCHEMES_SECTION_PREFIX,"")})),a?react_1.default.createElement("a",{className:n.className,href:a,onClick:o.bind(this,null==s?void 0:s.menu.history),"aria-label":n.to},n.children):n.children?react_1.default.createElement("div",{className:n.className}," ",n.children," "):null}exports.linkifyMixin=linkifyMixin,exports.Link=Link;var templateObject_1,templateObject_2,StyledShareLink=(0,styled_components_1.default)(Link)(templateObject_2||(templateObject_2=(0,tslib_1.__makeTemplateObject)(["\n ",";\n"],["\n ",";\n"])),(0,exports.linkifyMixin)("&","18px"));function ShareLink(n){return react_1.default.createElement(StyledShareLink,{to:n.to},react_1.default.createElement(icons_1.LinkIcon,null))}exports.ShareLink=ShareLink;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ShareLink=exports.Link=exports.linkifyMixin=exports.userIsForcingNavigation=void 0;var tslib_1=require("tslib"),react_1=(0,tslib_1.__importStar)(require("react")),StoreBuilder_1=require("../components/StoreBuilder"),styled_components_1=(0,tslib_1.__importStar)(require("../styled-components")),utils_1=require("../utils"),icons_1=require("./icons");function userIsForcingNavigation(n){return 0!==n.button||n.altKey||n.ctrlKey||n.metaKey||n.shiftKey}exports.userIsForcingNavigation=userIsForcingNavigation;var linkifyMixin=function(n,i){return(0,styled_components_1.css)(templateObject_1||(templateObject_1=(0,tslib_1.__makeTemplateObject)(["\n "," {\n cursor: pointer;\n line-height: inherit;\n display: inline-block;\n outline: 0;\n position: absolute;\n padding-right: 4px;\n transform: translateX(-100%);\n }\n\n "," "," {\n width: ",";\n height: ",";\n visibility: hidden;\n display: inline-block;\n vertical-align: middle;\n }\n\n h1:hover\n > ","\n ",",\n h2:hover\n > ","\n ",",\n ",":hover\n "," {\n visibility: visible;\n }\n\n ",":focus "," {\n visibility: visible;\n }\n"],["\n "," {\n cursor: pointer;\n line-height: inherit;\n display: inline-block;\n outline: 0;\n position: absolute;\n padding-right: 4px;\n transform: translateX(-100%);\n }\n\n "," "," {\n width: ",";\n height: ",";\n visibility: hidden;\n display: inline-block;\n vertical-align: middle;\n }\n\n h1:hover\n > ","\n ",",\n h2:hover\n > ","\n ",",\n ",":hover\n "," {\n visibility: visible;\n }\n\n ",":focus "," {\n visibility: visible;\n }\n"])),n,n,icons_1.LinkIcon,i,i,n,icons_1.LinkIcon,n,icons_1.LinkIcon,n,icons_1.LinkIcon,n,icons_1.LinkIcon)};function Link(n){var i,e,t,l,r,o=(0,react_1.useCallback)((function(i,e){e.defaultPrevented||userIsForcingNavigation(e)||(e.preventDefault(),i.replace(encodeURI(n.to)))}),[n.to]),s=(0,StoreBuilder_1.useStore)(),a=null===(e=null==s?void 0:(i=s.menu.history).linkForId)||void 0===e?void 0:e.call(i,n.to);return n.to.startsWith(utils_1.SECURITY_SCHEMES_SECTION_PREFIX)&&(null===(t=null==s?void 0:s.options.hooks)||void 0===t?void 0:t.replaceSecurityLink)&&(a=null===(r=null===(l=s.options.hooks)||void 0===l?void 0:l.replaceSecurityLink)||void 0===r?void 0:r.call(l,{securityRequirementId:n.to.replace(utils_1.SECURITY_SCHEMES_SECTION_PREFIX,"")})),a?react_1.default.createElement("a",{className:n.className,href:a,onClick:o.bind(this,null==s?void 0:s.menu.history),"aria-label":n.to},n.children):n.children?react_1.default.createElement("div",{className:n.className}," ",n.children," "):null}exports.linkifyMixin=linkifyMixin,exports.Link=Link;var templateObject_1,templateObject_2,StyledShareLink=(0,styled_components_1.default)(Link)(templateObject_2||(templateObject_2=(0,tslib_1.__makeTemplateObject)(["\n ",";\n"],["\n ",";\n"])),(0,exports.linkifyMixin)("&","18px"));function ShareLink(n){return react_1.default.createElement(StyledShareLink,{to:n.to},react_1.default.createElement(icons_1.LinkIcon,null))}exports.ShareLink=ShareLink;
2
2
  //# sourceMappingURL=linkify.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.DownloadButtonWithLabel=void 0;var tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),Labels_1=require("../../services/Labels"),styled_components_1=(0,tslib_1.__importStar)(require("../../styled-components")),shared_1=require("../../../../components/shared");function DownloadButtonWithLabel(e){var t=e.store,n=e.wrapped,o=React.useState(t.options.downloadDefinitionUrl),a=o[0],l=o[1];React.useEffect((function(){t.options.downloadDefinitionUrl||l(t.definition.info.downloadLink)}),[t.options.downloadDefinitionUrl,t]);var i=React.useCallback((function(e){e.target.href||(e.target.href=a)}),[a]),r=t.definition.info.downloadFileName;return React.createElement(DownloadWrapper,{wrapped:n},(0,Labels_1.l)("downloadSpecification"),":",React.createElement(DownloadButton,{download:r||!0,target:"_blank",href:a,onClick:i},(0,Labels_1.l)("download")))}exports.DownloadButtonWithLabel=DownloadButtonWithLabel;var templateObject_1,templateObject_2,DownloadButton=styled_components_1.default.a(templateObject_1||(templateObject_1=(0,tslib_1.__makeTemplateObject)(["\n ",";\n margin-left: 0.5em;\n text-decoration: none;\n vertical-align: middle;\n ",";\n"],["\n ",";\n margin-left: 0.5em;\n text-decoration: none;\n vertical-align: middle;\n ",";\n"])),shared_1.baseButton,(0,styled_components_1.extensionsHook)("DownloadButton")),DownloadWrapper=styled_components_1.default.p(templateObject_2||(templateObject_2=(0,tslib_1.__makeTemplateObject)(["\n align-self: flex-start;\n padding-left: ","px;\n"],["\n align-self: flex-start;\n padding-left: ","px;\n"])),(function(e){var t=e.wrapped,n=e.theme;return t?0:n.spacing.sectionHorizontal}));
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.DownloadButtonWithLabel=void 0;var tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),Labels_1=require("../../services/Labels"),styled_components_1=(0,tslib_1.__importStar)(require("../../styled-components")),shared_1=require("../../../../components/shared");function DownloadButtonWithLabel(e){var t=e.store,n=e.wrapped,o=React.useState(t.options.downloadDefinitionUrl),a=o[0],l=o[1];React.useEffect((function(){t.options.downloadDefinitionUrl||l(t.definition.info.downloadLink)}),[t.options.downloadDefinitionUrl,t.definition.info]);var i=React.useCallback((function(e){e.target.href||(e.target.href=a)}),[a]),r=t.definition.info.downloadFileName;return React.createElement(DownloadWrapper,{wrapped:n},(0,Labels_1.l)("downloadSpecification"),":",React.createElement(DownloadButton,{download:r||!0,target:"_blank",href:a,onClick:i},(0,Labels_1.l)("download")))}exports.DownloadButtonWithLabel=DownloadButtonWithLabel;var templateObject_1,templateObject_2,DownloadButton=styled_components_1.default.a(templateObject_1||(templateObject_1=(0,tslib_1.__makeTemplateObject)(["\n ",";\n margin-left: 0.5em;\n text-decoration: none;\n vertical-align: middle;\n ",";\n"],["\n ",";\n margin-left: 0.5em;\n text-decoration: none;\n vertical-align: middle;\n ",";\n"])),shared_1.baseButton,(0,styled_components_1.extensionsHook)("DownloadButton")),DownloadWrapper=styled_components_1.default.p(templateObject_2||(templateObject_2=(0,tslib_1.__makeTemplateObject)(["\n align-self: flex-start;\n padding-left: ","px;\n"],["\n align-self: flex-start;\n padding-left: ","px;\n"])),(function(e){var t=e.wrapped,n=e.theme;return t?0:n.spacing.sectionHorizontal}));
2
2
  //# sourceMappingURL=DownloadButton.js.map
@@ -38,6 +38,7 @@ export declare function resolveUrl(url: string, to: string): string;
38
38
  export declare function getBasePath(serverUrl: string): string;
39
39
  export declare function titleize(text: string): string;
40
40
  export declare function removeQueryString(serverUrl: string): string;
41
+ export declare function escapeHTMLAttrChars(str: string): string;
41
42
  export declare function unescapeHTMLChars(str: string): string;
42
43
  export declare function sanitizeItemId(id: string): string;
43
44
  export declare function getSchemaTitle(pointer: string, title?: string): string;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSchemaTitle=exports.sanitizeItemId=exports.unescapeHTMLChars=exports.removeQueryString=exports.titleize=exports.getBasePath=exports.resolveUrl=exports.isAbsoluteUrl=exports.safeSlugify=exports.isMergeableObject=exports.isObject=exports.mergeObjects=exports.appendToMdHeading=exports.isNumeric=exports.stripTrailingSlash=exports.flattenByProp=exports.mapValues=exports.mapWithLast=void 0;var tslib_1=require("tslib"),slugify_1=(0,tslib_1.__importDefault)(require("slugify")),url_1=require("url"),media_css_1=require("./media-css"),openapi_1=require("./openapi"),JsonPointer_1=(0,tslib_1.__importDefault)(require("./JsonPointer"));function mapWithLast(e,r){for(var t=[],s=0;s<e.length-1;s++)t.push(r(e[s],!1));return 0!==e.length&&t.push(r(e[e.length-1],!0)),t}function mapValues(e,r){var t={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&(t[s]=r(e[s],s,e));return t}function flattenByProp(e,r){var t=[],s=function(e){for(var i=0,n=e;i<n.length;i++){var a=n[i];t.push(a),a[r]&&s(a[r])}};return s(e),t}function stripTrailingSlash(e){return e.endsWith("/")?e.substring(0,e.length-1):e}function isNumeric(e){return!isNaN(parseFloat(e))&&isFinite(e)}function appendToMdHeading(e,r,t){var s=new RegExp("(^|\\n)#\\s?"+r+"\\s*\\n","i"),i=new RegExp("((\\n|^)#\\s*"+r+"\\s*(\\n|$)(?:.|\\n)*?)(\\n#|$)","i");if(s.test(e))return e.replace(i,"$1\n\n"+t+"\n$4");var n=""===e||e.endsWith("\n\n")?"":e.endsWith("\n")?"\n":"\n\n";return""+e+n+"# "+r+"\n\n"+t}exports.mapWithLast=mapWithLast,exports.mapValues=mapValues,exports.flattenByProp=flattenByProp,exports.stripTrailingSlash=stripTrailingSlash,exports.isNumeric=isNumeric,exports.appendToMdHeading=appendToMdHeading;var mergeObjects=function(e){for(var r=[],t=1;t<arguments.length;t++)r[t-1]=arguments[t];if(!r.length)return e;var s=r.shift();return void 0===s?e:((0,exports.isMergeableObject)(e)&&(0,exports.isMergeableObject)(s)&&Object.keys(s).forEach((function(r){var t;(0,exports.isMergeableObject)(s[r])?(e[r]||(e[r]={}),["string","number"].includes(typeof e[r])&&(s[r][media_css_1.ZERO_BREAKPOINT]||0===s[r][media_css_1.ZERO_BREAKPOINT]||console.warn('Theme resolver: using default value of "'+e[r]+'" for "'+r+'". This is not recommended. Prefer adding default value by providing "'+media_css_1.ZERO_BREAKPOINT+'" property to '+JSON.stringify(s[r])+"."),e[r]=((t={})[media_css_1.ZERO_BREAKPOINT]=e[r],t)),(0,exports.mergeObjects)(e[r],s[r])):e[r]=s[r]})),exports.mergeObjects.apply(void 0,(0,tslib_1.__spreadArray)([e],r,!1)))};exports.mergeObjects=mergeObjects;var isObject=function(e){return null!==e&&"object"==typeof e};exports.isObject=isObject;var isMergeableObject=function(e){return(0,exports.isObject)(e)&&!Array.isArray(e)};function safeSlugify(e){return(0,slugify_1.default)(e)||e.toString().toLowerCase().replace(/\s+/g,"-").replace(/&/g,"-and-").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,"")}function isAbsoluteUrl(e){return/(?:^[a-z][a-z0-9+.-]*:|\/\/)/i.test(e)}function resolveUrl(e,r){var t;if(r.startsWith("//"))t=""+((0,url_1.parse)(e).protocol||"https:")+r;else if(isAbsoluteUrl(r))t=r;else if(r.startsWith("/")){var s=(0,url_1.parse)(e);t=(0,url_1.format)((0,tslib_1.__assign)((0,tslib_1.__assign)({},s),{pathname:r}))}else t=stripTrailingSlash(e)+"/"+r;return stripTrailingSlash(t)}function getBasePath(e){try{return parseURL(e).pathname}catch(r){return e}}function titleize(e){return e.charAt(0).toUpperCase()+e.slice(1)}function removeQueryString(e){try{var r=parseURL(e);return r.search="",r.toString()}catch(r){return e}}function parseURL(e){return"undefined"==typeof URL?new(require("url").URL)(e):new URL(e)}function unescapeHTMLChars(e){return e.replace(/&#(\d+);/g,(function(e,r){return String.fromCharCode(parseInt(r,10))})).replace(/&amp;/g,"&")}function sanitizeItemId(e){return e&&e.replace(/#/g,"_")}function getSchemaTitle(e,r){return r||(0,openapi_1.isNamedDefinition)(e)&&JsonPointer_1.default.baseName(e)||""}exports.isMergeableObject=isMergeableObject,exports.safeSlugify=safeSlugify,exports.isAbsoluteUrl=isAbsoluteUrl,exports.resolveUrl=resolveUrl,exports.getBasePath=getBasePath,exports.titleize=titleize,exports.removeQueryString=removeQueryString,exports.unescapeHTMLChars=unescapeHTMLChars,exports.sanitizeItemId=sanitizeItemId,exports.getSchemaTitle=getSchemaTitle;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSchemaTitle=exports.sanitizeItemId=exports.unescapeHTMLChars=exports.escapeHTMLAttrChars=exports.removeQueryString=exports.titleize=exports.getBasePath=exports.resolveUrl=exports.isAbsoluteUrl=exports.safeSlugify=exports.isMergeableObject=exports.isObject=exports.mergeObjects=exports.appendToMdHeading=exports.isNumeric=exports.stripTrailingSlash=exports.flattenByProp=exports.mapValues=exports.mapWithLast=void 0;var tslib_1=require("tslib"),slugify_1=(0,tslib_1.__importDefault)(require("slugify")),url_1=require("url"),media_css_1=require("./media-css"),openapi_1=require("./openapi"),JsonPointer_1=(0,tslib_1.__importDefault)(require("./JsonPointer"));function mapWithLast(e,r){for(var t=[],s=0;s<e.length-1;s++)t.push(r(e[s],!1));return 0!==e.length&&t.push(r(e[e.length-1],!0)),t}function mapValues(e,r){var t={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&(t[s]=r(e[s],s,e));return t}function flattenByProp(e,r){var t=[],s=function(e){for(var i=0,a=e;i<a.length;i++){var n=a[i];t.push(n),n[r]&&s(n[r])}};return s(e),t}function stripTrailingSlash(e){return e.endsWith("/")?e.substring(0,e.length-1):e}function isNumeric(e){return!isNaN(parseFloat(e))&&isFinite(e)}function appendToMdHeading(e,r,t){var s=new RegExp("(^|\\n)#\\s?"+r+"\\s*\\n","i"),i=new RegExp("((\\n|^)#\\s*"+r+"\\s*(\\n|$)(?:.|\\n)*?)(\\n#|$)","i");if(s.test(e))return e.replace(i,"$1\n\n"+t+"\n$4");var a=""===e||e.endsWith("\n\n")?"":e.endsWith("\n")?"\n":"\n\n";return""+e+a+"# "+r+"\n\n"+t}exports.mapWithLast=mapWithLast,exports.mapValues=mapValues,exports.flattenByProp=flattenByProp,exports.stripTrailingSlash=stripTrailingSlash,exports.isNumeric=isNumeric,exports.appendToMdHeading=appendToMdHeading;var mergeObjects=function(e){for(var r=[],t=1;t<arguments.length;t++)r[t-1]=arguments[t];if(!r.length)return e;var s=r.shift();return void 0===s?e:((0,exports.isMergeableObject)(e)&&(0,exports.isMergeableObject)(s)&&Object.keys(s).forEach((function(r){var t;(0,exports.isMergeableObject)(s[r])?(e[r]||(e[r]={}),["string","number"].includes(typeof e[r])&&(s[r][media_css_1.ZERO_BREAKPOINT]||0===s[r][media_css_1.ZERO_BREAKPOINT]||console.warn('Theme resolver: using default value of "'+e[r]+'" for "'+r+'". This is not recommended. Prefer adding default value by providing "'+media_css_1.ZERO_BREAKPOINT+'" property to '+JSON.stringify(s[r])+"."),e[r]=((t={})[media_css_1.ZERO_BREAKPOINT]=e[r],t)),(0,exports.mergeObjects)(e[r],s[r])):e[r]=s[r]})),exports.mergeObjects.apply(void 0,(0,tslib_1.__spreadArray)([e],r,!1)))};exports.mergeObjects=mergeObjects;var isObject=function(e){return null!==e&&"object"==typeof e};exports.isObject=isObject;var isMergeableObject=function(e){return(0,exports.isObject)(e)&&!Array.isArray(e)};function safeSlugify(e){return(0,slugify_1.default)(e)||e.toString().toLowerCase().replace(/\s+/g,"-").replace(/&/g,"-and-").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,"")}function isAbsoluteUrl(e){return/(?:^[a-z][a-z0-9+.-]*:|\/\/)/i.test(e)}function resolveUrl(e,r){var t;if(r.startsWith("//"))t=""+((0,url_1.parse)(e).protocol||"https:")+r;else if(isAbsoluteUrl(r))t=r;else if(r.startsWith("/")){var s=(0,url_1.parse)(e);t=(0,url_1.format)((0,tslib_1.__assign)((0,tslib_1.__assign)({},s),{pathname:r}))}else t=stripTrailingSlash(e)+"/"+r;return stripTrailingSlash(t)}function getBasePath(e){try{return parseURL(e).pathname}catch(r){return e}}function titleize(e){return e.charAt(0).toUpperCase()+e.slice(1)}function removeQueryString(e){try{var r=parseURL(e);return r.search="",r.toString()}catch(r){return e}}function parseURL(e){return"undefined"==typeof URL?new(require("url").URL)(e):new URL(e)}function escapeHTMLAttrChars(e){return e.replace(/["\\]/g,"\\$&")}function unescapeHTMLChars(e){return e.replace(/&#(\d+);/g,(function(e,r){return String.fromCharCode(parseInt(r,10))})).replace(/&amp;/g,"&").replace(/&quot;/g,'"')}function sanitizeItemId(e){return e&&e.replace(/#/g,"_")}function getSchemaTitle(e,r){return r||(0,openapi_1.isNamedDefinition)(e)&&JsonPointer_1.default.baseName(e)||""}exports.isMergeableObject=isMergeableObject,exports.safeSlugify=safeSlugify,exports.isAbsoluteUrl=isAbsoluteUrl,exports.resolveUrl=resolveUrl,exports.getBasePath=getBasePath,exports.titleize=titleize,exports.removeQueryString=removeQueryString,exports.escapeHTMLAttrChars=escapeHTMLAttrChars,exports.unescapeHTMLChars=unescapeHTMLChars,exports.sanitizeItemId=sanitizeItemId,exports.getSchemaTitle=getSchemaTitle;
2
2
  //# sourceMappingURL=helpers.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ProMenu=void 0;var tslib_1=require("tslib"),redoc_lib_1=require("../redoc-lib"),mobx_1=require("mobx"),VersionedSpecStore_1=require("./VersionedSpecStore"),constants_1=require("../redoc-lib/src/services/constants"),HistoryService_1=require("../redoc-lib/src/services/HistoryService"),ProMenu=function(){function e(e,t,i,r){var n=this;Object.defineProperty(this,"definition",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"scroll",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"history",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"flatItems",{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,"activeRenderItemIdx",{enumerable:!0,configurable:!0,writable:!0,value:-1}),Object.defineProperty(this,"renderItems",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"activeItemIdx",{enumerable:!0,configurable:!0,writable:!0,value:-1}),Object.defineProperty(this,"sideBarOpened",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_unsubscribe",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_hashUnsubscribe",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"getItemById",{enumerable:!0,configurable:!0,writable:!0,value:function(e){return n.flatItems.find((function(t){return t.id===e}))}}),Object.defineProperty(this,"initOnHistory",{enumerable:!0,configurable:!0,writable:!0,value:function(e){void 0===e&&(e=n.history.currentId);var t,i=e.split(n.options.deepLinkPrefix)[0];i&&((t=n.flatItems.find((function(e){return e.id===i})))?(n.activate(t,!1,!1,!1,e),t.active=!1):i.startsWith(redoc_lib_1.SECURITY_SCHEMES_SECTION_PREFIX)&&(t=n.flatItems.find((function(e){return redoc_lib_1.SECURITY_SCHEMES_SECTION_PREFIX.startsWith(e.id)})),n.activate(t,!1,!1,!1,e),t&&(t.active=!1)))}}),Object.defineProperty(this,"updateOnHistory",{enumerable:!0,configurable:!0,writable:!0,value:function(e){void 0===e&&(e=n.history.currentId);var t=e.split(n.options.deepLinkPrefix)[0];if(t){var i=n.flatItems.find(t.includes(redoc_lib_1.SECURITY_SCHEMES_SECTION_PREFIX)?function(e){return redoc_lib_1.SECURITY_SCHEMES_SECTION_PREFIX.startsWith(e.id)}:function(e){return e.id===t});i?n.activateAndScroll(i,!1,void 0,e):(n.scroll.prevOffsetY=0,n.scroll.scrollIntoViewBySelector("["+constants_1.SECTION_ATTR+'="'+t+'"]'))}}}),Object.defineProperty(this,"updateVersionOnHistory",{enumerable:!0,configurable:!0,writable:!0,value:function(e){if("versionsInfo"in n.definition){var t=e.split("/")[0],i=n.definition.versionsInfo.findIndex((function(e){return e.id===t}));i<0&&(i=n.definition.versionsInfo.findIndex((function(e){return e.isDefault}))),n.definition.activeVersionIdx!==i&&(n.definition.changeVersion(i<0?0:i),n.updateItemsByVersionChange(!1,e));var r=t+"/"+redoc_lib_1.SECURITY_SCHEMES_SECTION_PREFIX;if(e.startsWith(r)){var o=n.flatItems.find((function(e){return r.startsWith(e.id)}));n.activate(o,!1,!0),setTimeout((function(){return n.scroll.scrollIntoViewBySelector("["+constants_1.SECTION_ATTR+'="'+e+'"]')}),0)}}}}),Object.defineProperty(this,"updateOnScroll",{enumerable:!0,configurable:!0,writable:!0,value:function(e){for(var t=e?1:-1,i=n.activeItemIdx;(-1!==i||e)&&!(i>=n.flatItems.length-1&&e);){if(e){var r=!1,o=n.flatItems[i+1];switch(n.options.pagination){case"section":r=o&&("spec"===o.type||"group"===o.type||"tag"===o.type);break;case"item":r="section"!==(null==o?void 0:o.type)}var a=n.getElementAt(i+1);if(-1===i&&"tag"===n.flatItems[0].type&&(r=!1),n.scroll.isElementBellow(a)||r)break}else{var s=n.flatItems[i]&&n.flatItems[i].type;r="section"===n.options.pagination&&("spec"===s||"group"===s||"tag"===s)||"item"===n.options.pagination&&"section"!==s,a=n.getElementAt(i);if(n.scroll.isElementAbove(a)||r)break}i+=t}var l=n.flatItems[i];"none"===n.options.pagination||"section"===n.options.pagination?l&&l.active||n.activate(l,!0,!0,!1):l&&"section"===l.type&&(l.active||n.activate(l,!0,!0,!1))}}),(0,mobx_1.makeObservable)(this),this.items=e.contentItems,this.flatItems=(0,redoc_lib_1.flattenByProp)(this.items||[],"items"),this.flatItems.forEach((function(e,t){return e.absoluteIdx=t})),i.disableSidebar||this.subscribe(),this.flatItems.forEach((function(e,t){return normalizeItem(e,t,i.pagination,n.definition instanceof VersionedSpecStore_1.VersionedSpecStore,n.history)})),this.renderItems=this.buildRenderItems(0),this.activeItemIdx=-1,this.activeRenderItemIdx=-1,this.definition instanceof VersionedSpecStore_1.VersionedSpecStore&&this.history.subscribe(this.updateVersionOnHistory)}return Object.defineProperty(e,"updateOnHistory",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){void 0===e&&(e=HistoryService_1.history.currentId),e&&t.scrollIntoViewBySelector("["+constants_1.SECTION_ATTR+'="'+e+'"]')}}),Object.defineProperty(e.prototype,"subscribe",{enumerable:!1,configurable:!0,writable:!0,value:function(){this._unsubscribe=this.scroll.subscribe(this.updateOnScroll),this._hashUnsubscribe=this.history.subscribe(this.updateOnHistory)}}),Object.defineProperty(e.prototype,"toggleSidebar",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.sideBarOpened=!this.sideBarOpened}}),Object.defineProperty(e.prototype,"closeSidebar",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.sideBarOpened=!1}}),Object.defineProperty(e.prototype,"getElementAt",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this.flatItems[e];return t&&(0,redoc_lib_1.querySelector)("["+constants_1.SECTION_ATTR+'="'+t.id+'"]')||null}}),Object.defineProperty(e.prototype,"getElementAtOrFirstChild",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this.flatItems[e];return t&&"group"===t.type&&(t=t.items[0]),t&&(0,redoc_lib_1.querySelector)("["+constants_1.SECTION_ATTR+'="'+t.id+'"]')||null}}),Object.defineProperty(e.prototype,"activeItem",{get:function(){return this.flatItems[this.activeItemIdx]||void 0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"updateItemsByVersionChange",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var i=this;if("versionsInfo"in this.definition){var r=this.activeItem&&this.activeItem.active?this.activeItem.absoluteIdx:-1;t=t&&withoutVersion(t)||this.activeItem&&this.activeItem.active&&withoutVersion(this.activeItem.id)||"",this.deactivate(this.activeItem),this.items=this.definition.contentItems,this.flatItems=(0,redoc_lib_1.flattenByProp)(this.items||[],"items"),this.flatItems.forEach((function(e,t){return normalizeItem(e,t,i.options.pagination,i.definition instanceof VersionedSpecStore_1.VersionedSpecStore,i.history)}));var n=t?(this.flatItems.find((function(e){return withoutVersion(e.id)===t}))||{absoluteIdx:-1}).absoluteIdx:-1;if(-1!==n&&"none"!==this.options.pagination||(this.renderItems=this.buildRenderItems(0)),this.activeItemIdx=-1,-1!==n)this.activate(this.flatItems[n],e);else if(-1!==r)this.activateAndScroll(this.flatItems[0],e);else if(e){var o=this.definition.versionsInfo[this.definition.activeVersionIdx];if(!this.history.currentId&&o.isDefault)return;this.history.replace(o.id)}}}}),Object.defineProperty(e.prototype,"buildRenderItems",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if("none"===this.options.pagination)return this.items;var t=this.flatItems[e];if(t||(t=this.flatItems[0]),"spec"===t.type)return this.buildRenderItems(e+1);if("section"===t.type){var i=[],r=getParentOfType(t,"tag");if("section"===this.options.pagination&&r)return[r];if("item"===this.options.pagination&&r)return[(0,tslib_1.__assign)((0,tslib_1.__assign)({},r),{items:getLeadingSectionItems(r)})];for(var n=getParentSpecItem(t),o=(null==n?void 0:n.items)||this.items,a=0;a<o.length&&"section"===o[a].type;a++)i.push(o[a]);return i}switch(this.options.pagination){case"section":if("operation"===t.type&&t.parent)return[t.parent];if("group"!==t.type)return[t];case"item":return"operation"===t.type?[t]:[(0,tslib_1.__assign)((0,tslib_1.__assign)({},t),{items:getLeadingSectionItems(t)})];default:return[]}}}),Object.defineProperty(e.prototype,"activateBase",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,i,r){var n,o,a,s,l,c=this;if(void 0===t&&(t=!0),void 0===i&&(i=!1),(null===(n=this.activeItem)||void 0===n?void 0:n.id)===(null==e?void 0:e.id)&&!r)return t&&e&&this.history.replace(e.id,i),void(e&&!e.active&&e.activate());if(!e||"group"!==e.type)if(this.deactivate(this.activeItem),e){if(!(e.depth<=redoc_lib_1.GROUP_DEPTH)){this.activeItemIdx=e.absoluteIdx,t&&this.history.replace(e.id,i),e.activate(),e.expand();var d=new URLSearchParams(r),u="request"===d.get("t"),f="response"===d.get("t"),p=d.get("c"),b=d.get("ct"),v=d.get("in"),m=d.get("path"),h=(null==m?void 0:m.split(this.options.deepLinkSeparator))||[],I=e;if(v)for(var _=I.parameters,y=function(e){var t=null==_?void 0:_.find((function(t){return t.name===e}));null==t||t.expand(),_=null===(o=null==t?void 0:t.schema)||void 0===o?void 0:o.fields},g=0,S=h;g<S.length;g++){y(S[g])}else if(u){var O=null===(a=I.requestBody)||void 0===a?void 0:a.content;null===(s=I.activateMimeName)||void 0===s||s.call(I,b||I.activeMimeName),setTimeout((function(){var e;return c.activateField(h,null===(e=null==O?void 0:O.active)||void 0===e?void 0:e.schema)}),0)}else if(f){var P=I.responses.find((function(e){return e.code===p}));(null==P?void 0:P.expanded)||null==P||P.expand(),null===(l=I.activateMimeName)||void 0===l||l.call(I,b||I.activeMimeName),setTimeout((function(){var e,t;return c.activateField(h,null===(t=null===(e=null==P?void 0:P.content)||void 0===e?void 0:e.active)||void 0===t?void 0:t.schema)}),0)}}}else this.history.replace("",i)}}),Object.defineProperty(e.prototype,"activate",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,i,r,n){var o=this;if(void 0===t&&(t=!0),void 0===i&&(i=!1),void 0===r&&(r=!0),"none"===this.options.pagination)return this.activateBase(e,t,i,n),void(!e&&this.definition instanceof VersionedSpecStore_1.VersionedSpecStore&&this.history.replace(this.definition.currentVersionId,!0));if("group"!==(null==e?void 0:e.type)){if(e&&"item"===this.options.pagination&&"tag"===e.type&&!e.description){if(e.expanded)return void e.collapse();e.expand(),e=this.flatItems[e.absoluteIdx+1]}if(this.activateBase(e,e&&t,i,n),this.activeRenderItemIdx=e?e.absoluteIdx:this.activeRenderItemIdx,this.activeRenderItemIdx>=0){var a=this.buildRenderItems(this.activeRenderItemIdx);a.some((function(e,t){return e.id!==o.renderItems[t].id}))&&(this.renderItems=a),this.renderItems[0]&&(this.activeRenderItemIdx=this.renderItems[0].absoluteIdx)}r&&setTimeout((function(){return o.scrollToActive()})),!e&&this.definition instanceof VersionedSpecStore_1.VersionedSpecStore&&this.history.replace(this.definition.currentVersionId,!0)}}}),Object.defineProperty(e.prototype,"activateField",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){for(var i,r=function(r){var n=e[r],o=r===e.length-1;if((null==t?void 0:t.hasType("array"))&&(null==t?void 0:t.items)&&(t=null==t?void 0:t.items),null==t?void 0:t.oneOf){var a=Number(n);return null==t||t.activateOneOf(a),t=null==t?void 0:t.oneOf[a],"continue"}(null==t?void 0:t.hasType("array"))&&(null==t?void 0:t.items)&&(t=null==t?void 0:t.items);var s=null===(i=null==t?void 0:t.fields)||void 0===i?void 0:i.find((function(e){return e.name===n}));o||null==s||s.expand(),t=null==s?void 0:s.schema},n=0;n<e.length-1;n++)r(n)}}),Object.defineProperty(e.prototype,"deactivate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(void 0!==e)for(e.deactivate();void 0!==e;)e.collapse(),e=e.parent}}),Object.defineProperty(e.prototype,"activateAndScroll",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,i,r){void 0===r&&(r="");var n=r.split(this.options.deepLinkPrefix)[1],o=e&&this.getItemById(e.id)||e;this.activate(o,t,i,!1,n),this.scrollToActive(n?r:""),o&&o.items.length||this.closeSidebar()}}),Object.defineProperty(e.prototype,"scrollToActive",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;e?setTimeout((function(){return t.scroll.scrollIntoViewBySelector("["+constants_1.SECTION_ATTR+'="'+e+'"]')}),0):this.scroll.scrollIntoView(this.getElementAt(this.activeItemIdx))}}),Object.defineProperty(e.prototype,"dispose",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e,t;null===(e=this._unsubscribe)||void 0===e||e.call(this),null===(t=this._hashUnsubscribe)||void 0===t||t.call(this)}}),(0,tslib_1.__decorate)([mobx_1.observable],e.prototype,"flatItems",void 0),(0,tslib_1.__decorate)([mobx_1.observable],e.prototype,"items",void 0),(0,tslib_1.__decorate)([mobx_1.observable],e.prototype,"activeRenderItemIdx",void 0),(0,tslib_1.__decorate)([mobx_1.observable.ref],e.prototype,"renderItems",void 0),(0,tslib_1.__decorate)([mobx_1.observable],e.prototype,"activeItemIdx",void 0),(0,tslib_1.__decorate)([mobx_1.observable],e.prototype,"sideBarOpened",void 0),(0,tslib_1.__decorate)([mobx_1.action],e.prototype,"toggleSidebar",null),(0,tslib_1.__decorate)([mobx_1.action],e.prototype,"closeSidebar",null),(0,tslib_1.__decorate)([mobx_1.action],e.prototype,"activateBase",null),(0,tslib_1.__decorate)([mobx_1.action],e.prototype,"activate",null),(0,tslib_1.__decorate)([mobx_1.action.bound],e.prototype,"activateAndScroll",null),e}();function withoutVersion(e){return e.split("/").slice(1).join("/")}function getParentSpecItem(e){for(;e;){if("spec"===e.type)return e;e=e.parent}}function getParentOfType(e,t){if(e&&e.parent)return e.parent.type===t?e.parent:getParentOfType(e.parent,t)}function getLeadingSectionItems(e){for(var t=[],i=0,r=e.items;i<r.length;i++){var n=r[i];if("section"!==n.type)break;t.push(n)}return t}function normalizeItem(e,t,i,r,n){if(e.absoluteIdx=t,"none"!==i){var o=getParentOfType(e,"tag");if(e.parent&&o&&!("_id_normalized"in e)){if(r){var a=e.id.split("/"),s=a[0],l=a[1],c=withoutVersion(e.id);if("operation"===e.type&&!l.startsWith("operation"))return;e.id=s+"/"+withoutVersion(o.id)+"/"+c}else{if("operation"===e.type&&!e.id.startsWith("operation"))return;e.id=o.id+"/"+e.id}e._id_normalized=!0}}"group"!==e.type&&(e.href=n.linkForId(e.id))}exports.ProMenu=ProMenu;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ProMenu=void 0;var tslib_1=require("tslib"),redoc_lib_1=require("../redoc-lib"),mobx_1=require("mobx"),VersionedSpecStore_1=require("./VersionedSpecStore"),constants_1=require("../redoc-lib/src/services/constants"),HistoryService_1=require("../redoc-lib/src/services/HistoryService"),ProMenu=function(){function e(e,t,i,r){var n=this;Object.defineProperty(this,"definition",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"scroll",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"history",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"flatItems",{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,"activeRenderItemIdx",{enumerable:!0,configurable:!0,writable:!0,value:-1}),Object.defineProperty(this,"renderItems",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"activeItemIdx",{enumerable:!0,configurable:!0,writable:!0,value:-1}),Object.defineProperty(this,"sideBarOpened",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_unsubscribe",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_hashUnsubscribe",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"getItemById",{enumerable:!0,configurable:!0,writable:!0,value:function(e){return n.flatItems.find((function(t){return t.id===e}))}}),Object.defineProperty(this,"initOnHistory",{enumerable:!0,configurable:!0,writable:!0,value:function(e){void 0===e&&(e=n.history.currentId);var t,i=e.split(n.options.deepLinkPrefix)[0];i&&((t=n.flatItems.find((function(e){return e.id===i})))?(n.activate(t,!1,!1,!1,e),t.active=!1):i.startsWith(redoc_lib_1.SECURITY_SCHEMES_SECTION_PREFIX)&&(t=n.flatItems.find((function(e){return redoc_lib_1.SECURITY_SCHEMES_SECTION_PREFIX.startsWith(e.id)})),n.activate(t,!1,!1,!1,e),t&&(t.active=!1)))}}),Object.defineProperty(this,"updateOnHistory",{enumerable:!0,configurable:!0,writable:!0,value:function(e){void 0===e&&(e=n.history.currentId);var t=e.split(n.options.deepLinkPrefix)[0];if(t){var i=n.flatItems.find(t.includes(redoc_lib_1.SECURITY_SCHEMES_SECTION_PREFIX)?function(e){return redoc_lib_1.SECURITY_SCHEMES_SECTION_PREFIX.startsWith(e.id)}:function(e){return e.id===t});i?n.activateAndScroll(i,!1,void 0,e):(n.scroll.prevOffsetY=0,n.scroll.scrollIntoViewBySelector("["+constants_1.SECTION_ATTR+'="'+(0,redoc_lib_1.escapeHTMLAttrChars)(t)+'"]'))}}}),Object.defineProperty(this,"updateVersionOnHistory",{enumerable:!0,configurable:!0,writable:!0,value:function(e){if("versionsInfo"in n.definition){var t=e.split("/")[0],i=n.definition.versionsInfo.findIndex((function(e){return e.id===t}));i<0&&(i=n.definition.versionsInfo.findIndex((function(e){return e.isDefault}))),n.definition.activeVersionIdx!==i&&(n.definition.changeVersion(i<0?0:i),n.updateItemsByVersionChange(!1,e));var r=t+"/"+redoc_lib_1.SECURITY_SCHEMES_SECTION_PREFIX;if(e.startsWith(r)){var o=n.flatItems.find((function(e){return r.startsWith(e.id)}));n.activate(o,!1,!0),setTimeout((function(){return n.scroll.scrollIntoViewBySelector("["+constants_1.SECTION_ATTR+'="'+(0,redoc_lib_1.escapeHTMLAttrChars)(e)+'"]')}),0)}}}}),Object.defineProperty(this,"updateOnScroll",{enumerable:!0,configurable:!0,writable:!0,value:function(e){for(var t=e?1:-1,i=n.activeItemIdx;(-1!==i||e)&&!(i>=n.flatItems.length-1&&e);){if(e){var r=!1,o=n.flatItems[i+1];switch(n.options.pagination){case"section":r=o&&("spec"===o.type||"group"===o.type||"tag"===o.type);break;case"item":r="section"!==(null==o?void 0:o.type)}var a=n.getElementAt(i+1);if(-1===i&&"tag"===n.flatItems[0].type&&(r=!1),n.scroll.isElementBellow(a)||r)break}else{var s=n.flatItems[i]&&n.flatItems[i].type;r="section"===n.options.pagination&&("spec"===s||"group"===s||"tag"===s)||"item"===n.options.pagination&&"section"!==s,a=n.getElementAt(i);if(n.scroll.isElementAbove(a)||r)break}i+=t}var l=n.flatItems[i];"none"===n.options.pagination||"section"===n.options.pagination?l&&l.active||n.activate(l,!0,!0,!1):l&&"section"===l.type&&(l.active||n.activate(l,!0,!0,!1))}}),(0,mobx_1.makeObservable)(this),this.items=e.contentItems,this.flatItems=(0,redoc_lib_1.flattenByProp)(this.items||[],"items"),this.flatItems.forEach((function(e,t){return e.absoluteIdx=t})),i.disableSidebar||this.subscribe(),this.flatItems.forEach((function(e,t){return normalizeItem(e,t,i.pagination,n.definition instanceof VersionedSpecStore_1.VersionedSpecStore,n.history)})),this.renderItems=this.buildRenderItems(0),this.activeItemIdx=-1,this.activeRenderItemIdx=-1,this.definition instanceof VersionedSpecStore_1.VersionedSpecStore&&this.history.subscribe(this.updateVersionOnHistory)}return Object.defineProperty(e,"updateOnHistory",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){void 0===e&&(e=HistoryService_1.history.currentId),e&&t.scrollIntoViewBySelector("["+constants_1.SECTION_ATTR+'="'+(0,redoc_lib_1.escapeHTMLAttrChars)(e)+'"]')}}),Object.defineProperty(e.prototype,"subscribe",{enumerable:!1,configurable:!0,writable:!0,value:function(){this._unsubscribe=this.scroll.subscribe(this.updateOnScroll),this._hashUnsubscribe=this.history.subscribe(this.updateOnHistory)}}),Object.defineProperty(e.prototype,"toggleSidebar",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.sideBarOpened=!this.sideBarOpened}}),Object.defineProperty(e.prototype,"closeSidebar",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.sideBarOpened=!1}}),Object.defineProperty(e.prototype,"getElementAt",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this.flatItems[e];return t&&(0,redoc_lib_1.querySelector)("["+constants_1.SECTION_ATTR+'="'+(0,redoc_lib_1.escapeHTMLAttrChars)(t.id)+'"]')||null}}),Object.defineProperty(e.prototype,"getElementAtOrFirstChild",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this.flatItems[e];return t&&"group"===t.type&&(t=t.items[0]),t&&(0,redoc_lib_1.querySelector)("["+constants_1.SECTION_ATTR+'="'+(0,redoc_lib_1.escapeHTMLAttrChars)(t.id)+'"]')||null}}),Object.defineProperty(e.prototype,"activeItem",{get:function(){return this.flatItems[this.activeItemIdx]||void 0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"updateItemsByVersionChange",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var i=this;if("versionsInfo"in this.definition){var r=this.activeItem&&this.activeItem.active?this.activeItem.absoluteIdx:-1;t=t&&withoutVersion(t)||this.activeItem&&this.activeItem.active&&withoutVersion(this.activeItem.id)||"",this.deactivate(this.activeItem),this.items=this.definition.contentItems,this.flatItems=(0,redoc_lib_1.flattenByProp)(this.items||[],"items"),this.flatItems.forEach((function(e,t){return normalizeItem(e,t,i.options.pagination,i.definition instanceof VersionedSpecStore_1.VersionedSpecStore,i.history)}));var n=t?(this.flatItems.find((function(e){return withoutVersion(e.id)===t}))||{absoluteIdx:-1}).absoluteIdx:-1;if(-1!==n&&"none"!==this.options.pagination||(this.renderItems=this.buildRenderItems(0)),this.activeItemIdx=-1,-1!==n)this.activate(this.flatItems[n],e);else if(-1!==r)this.activateAndScroll(this.flatItems[0],e);else if(e){var o=this.definition.versionsInfo[this.definition.activeVersionIdx];if(!this.history.currentId&&o.isDefault)return;this.history.replace(o.id)}}}}),Object.defineProperty(e.prototype,"buildRenderItems",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if("none"===this.options.pagination)return this.items;var t=this.flatItems[e];if(t||(t=this.flatItems[0]),"spec"===t.type)return this.buildRenderItems(e+1);if("section"===t.type){var i=[],r=getParentOfType(t,"tag");if("section"===this.options.pagination&&r)return[r];if("item"===this.options.pagination&&r)return[(0,tslib_1.__assign)((0,tslib_1.__assign)({},r),{items:getLeadingSectionItems(r)})];for(var n=getParentSpecItem(t),o=(null==n?void 0:n.items)||this.items,a=0;a<o.length&&"section"===o[a].type;a++)i.push(o[a]);return i}switch(this.options.pagination){case"section":if("operation"===t.type&&t.parent)return[t.parent];if("group"!==t.type)return[t];case"item":return"operation"===t.type?[t]:[(0,tslib_1.__assign)((0,tslib_1.__assign)({},t),{items:getLeadingSectionItems(t)})];default:return[]}}}),Object.defineProperty(e.prototype,"activateBase",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,i,r){var n,o,a,s,l,c=this;if(void 0===t&&(t=!0),void 0===i&&(i=!1),(null===(n=this.activeItem)||void 0===n?void 0:n.id)===(null==e?void 0:e.id)&&!r)return t&&e&&this.history.replace(encodeURI(e.id),i),void(e&&!e.active&&e.activate());if(!e||"group"!==e.type)if(this.deactivate(this.activeItem),e){if(!(e.depth<=redoc_lib_1.GROUP_DEPTH)){this.activeItemIdx=e.absoluteIdx,t&&this.history.replace(encodeURI(e.id),i),e.activate(),e.expand();var d=new URLSearchParams(r),u="request"===d.get("t"),f="response"===d.get("t"),p=d.get("c"),b=d.get("ct"),v=d.get("in"),h=d.get("path"),m=(null==h?void 0:h.split(this.options.deepLinkSeparator))||[],I=e;if(v)for(var _=I.parameters,y=function(e){var t=null==_?void 0:_.find((function(t){return t.name===e}));null==t||t.expand(),_=null===(o=null==t?void 0:t.schema)||void 0===o?void 0:o.fields},g=0,S=m;g<S.length;g++){y(S[g])}else if(u){var O=null===(a=I.requestBody)||void 0===a?void 0:a.content;null===(s=I.activateMimeName)||void 0===s||s.call(I,b||I.activeMimeName),setTimeout((function(){var e;return c.activateField(m,null===(e=null==O?void 0:O.active)||void 0===e?void 0:e.schema)}),0)}else if(f){var P=I.responses.find((function(e){return e.code===p}));(null==P?void 0:P.expanded)||null==P||P.expand(),null===(l=I.activateMimeName)||void 0===l||l.call(I,b||I.activeMimeName),setTimeout((function(){var e,t;return c.activateField(m,null===(t=null===(e=null==P?void 0:P.content)||void 0===e?void 0:e.active)||void 0===t?void 0:t.schema)}),0)}}}else this.history.replace("",i)}}),Object.defineProperty(e.prototype,"activate",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,i,r,n){var o=this;if(void 0===t&&(t=!0),void 0===i&&(i=!1),void 0===r&&(r=!0),"none"===this.options.pagination)return this.activateBase(e,t,i,n),void(!e&&this.definition instanceof VersionedSpecStore_1.VersionedSpecStore&&this.history.replace(this.definition.currentVersionId,!0));if("group"!==(null==e?void 0:e.type)){if(e&&"item"===this.options.pagination&&"tag"===e.type&&!e.description){if(e.expanded)return void e.collapse();e.expand(),e=this.flatItems[e.absoluteIdx+1]}if(this.activateBase(e,e&&t,i,n),this.activeRenderItemIdx=e?e.absoluteIdx:this.activeRenderItemIdx,this.activeRenderItemIdx>=0){var a=this.buildRenderItems(this.activeRenderItemIdx);a.some((function(e,t){return e.id!==o.renderItems[t].id}))&&(this.renderItems=a),this.renderItems[0]&&(this.activeRenderItemIdx=this.renderItems[0].absoluteIdx)}r&&setTimeout((function(){return o.scrollToActive()})),!e&&this.definition instanceof VersionedSpecStore_1.VersionedSpecStore&&this.history.replace(this.definition.currentVersionId,!0)}}}),Object.defineProperty(e.prototype,"activateField",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){for(var i,r=function(r){var n=e[r],o=r===e.length-1;if((null==t?void 0:t.hasType("array"))&&(null==t?void 0:t.items)&&(t=null==t?void 0:t.items),null==t?void 0:t.oneOf){var a=Number(n);return null==t||t.activateOneOf(a),t=null==t?void 0:t.oneOf[a],"continue"}(null==t?void 0:t.hasType("array"))&&(null==t?void 0:t.items)&&(t=null==t?void 0:t.items);var s=null===(i=null==t?void 0:t.fields)||void 0===i?void 0:i.find((function(e){return e.name===n}));o||null==s||s.expand(),t=null==s?void 0:s.schema},n=0;n<e.length-1;n++)r(n)}}),Object.defineProperty(e.prototype,"deactivate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(void 0!==e)for(e.deactivate();void 0!==e;)e.collapse(),e=e.parent}}),Object.defineProperty(e.prototype,"activateAndScroll",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,i,r){void 0===r&&(r="");var n=r.split(this.options.deepLinkPrefix)[1],o=e&&this.getItemById(e.id)||e;this.activate(o,t,i,!1,n),this.scrollToActive(n?r:""),o&&o.items.length||this.closeSidebar()}}),Object.defineProperty(e.prototype,"scrollToActive",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;e?setTimeout((function(){return t.scroll.scrollIntoViewBySelector("["+constants_1.SECTION_ATTR+'="'+(0,redoc_lib_1.escapeHTMLAttrChars)(e)+'"]')}),0):this.scroll.scrollIntoView(this.getElementAt(this.activeItemIdx))}}),Object.defineProperty(e.prototype,"dispose",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e,t;null===(e=this._unsubscribe)||void 0===e||e.call(this),null===(t=this._hashUnsubscribe)||void 0===t||t.call(this)}}),(0,tslib_1.__decorate)([mobx_1.observable],e.prototype,"flatItems",void 0),(0,tslib_1.__decorate)([mobx_1.observable],e.prototype,"items",void 0),(0,tslib_1.__decorate)([mobx_1.observable],e.prototype,"activeRenderItemIdx",void 0),(0,tslib_1.__decorate)([mobx_1.observable.ref],e.prototype,"renderItems",void 0),(0,tslib_1.__decorate)([mobx_1.observable],e.prototype,"activeItemIdx",void 0),(0,tslib_1.__decorate)([mobx_1.observable],e.prototype,"sideBarOpened",void 0),(0,tslib_1.__decorate)([mobx_1.action],e.prototype,"toggleSidebar",null),(0,tslib_1.__decorate)([mobx_1.action],e.prototype,"closeSidebar",null),(0,tslib_1.__decorate)([mobx_1.action],e.prototype,"activateBase",null),(0,tslib_1.__decorate)([mobx_1.action],e.prototype,"activate",null),(0,tslib_1.__decorate)([mobx_1.action.bound],e.prototype,"activateAndScroll",null),e}();function withoutVersion(e){return e.split("/").slice(1).join("/")}function getParentSpecItem(e){for(;e;){if("spec"===e.type)return e;e=e.parent}}function getParentOfType(e,t){if(e&&e.parent)return e.parent.type===t?e.parent:getParentOfType(e.parent,t)}function getLeadingSectionItems(e){for(var t=[],i=0,r=e.items;i<r.length;i++){var n=r[i];if("section"!==n.type)break;t.push(n)}return t}function normalizeItem(e,t,i,r,n){if(e.absoluteIdx=t,"none"!==i){var o=getParentOfType(e,"tag");if(e.parent&&o&&!("_id_normalized"in e)){if(r){var a=e.id.split("/"),s=a[0],l=a[1],c=withoutVersion(e.id);if("operation"===e.type&&!l.startsWith("operation"))return;e.id=s+"/"+withoutVersion(o.id)+"/"+c}else{if("operation"===e.type&&!e.id.startsWith("operation"))return;e.id=o.id+"/"+e.id}e._id_normalized=!0}}"group"!==e.type&&(e.href=n.linkForId(e.id))}exports.ProMenu=ProMenu;
2
2
  //# sourceMappingURL=ProMenu.js.map
package/lib/utils.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.dottedString=exports.joinStringFactory=exports.get=exports.getSecurityDetailsOptions=exports.getSecurityDetails=exports.setSecurityDetailsVariants=exports.setSecurityDetails=exports.unescapeFormId=exports.escapeFormId=exports.useDimensions=exports.fromLocalStorage=exports.toLocalStorage=exports.getParameterValue=exports.setParameterValue=exports.fromSessionStorage=exports.toSessionStorage=exports.debounce=exports.setGlobalStore=exports.getGlobalStore=void 0;var _store,tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),redoc_lib_1=require("./redoc-lib"),getGlobalStore=function(){return _store};exports.getGlobalStore=getGlobalStore;var setGlobalStore=function(e){return _store=e};function debounce(e,t,o){var r,s=0;return function(){for(var n=[],a=0;a<arguments.length;a++)n[a]=arguments[a];function i(){s>1&&e.apply(void 0,n),s=0,r=null}s++,r?clearTimeout(r):o&&e.apply(void 0,n),r=setTimeout(i,t)}}function toSessionStorage(e,t){redoc_lib_1.IS_BROWSER&&window.sessionStorage.setItem("redoc."+e,t)}function fromSessionStorage(e){return redoc_lib_1.IS_BROWSER&&window.sessionStorage.getItem("redoc."+e)||""}function setParameterValue(e,t,o){toSessionStorage(e+"."+t,JSON.stringify(o))}function getParameterValue(e,t){try{return JSON.parse(fromSessionStorage(e+"."+t))}catch(e){return null}}function toLocalStorage(e,t){window.localStorage.setItem("redoc."+e,t)}function fromLocalStorage(e){return redoc_lib_1.IS_BROWSER&&window.localStorage.getItem("redoc."+e)||""}function useDimensions(e){var t=React.useState(null),o=t[0],r=t[1];return React.useLayoutEffect((function(){if(e){var t=function(){return window.requestAnimationFrame((function(){return r(e.getBoundingClientRect())}))};return t(),window.addEventListener("resize",t),function(){window.removeEventListener("resize",t)}}}),[e]),[o]}function escapeFormId(e){return e.replace(/\./g,"%2e")}function unescapeFormId(e){return e.replace(/%2e/g,".")}function setSecurityDetails(e,t){e=escapeFormId(e),"string"==typeof t?toSessionStorage("auth."+e,t):t&&(toSessionStorage("auth."+e+".password",t.password||""),toSessionStorage("auth."+e+".username",t.username||""),toSessionStorage("auth."+e+".token",t.token&&JSON.stringify(t.token)||""),toSessionStorage("auth."+e+".client_id",t.client_id||""),toSessionStorage("auth."+e+".client_secret",t.client_secret||""),toSessionStorage("auth."+e+".scopes",t.scopes&&JSON.stringify(t.scopes)||""))}function setSecurityDetailsVariants(e,t){toSessionStorage("auth."+(e=escapeFormId(e))+".variants",JSON.stringify(t))}function getSecurityDetails(e){var t=fromSessionStorage("auth."+(e=escapeFormId(e))),o=fromSessionStorage("auth."+e+".token");return{raw:t,password:fromSessionStorage("auth."+e+".password"),username:fromSessionStorage("auth."+e+".username"),token:o&&JSON.parse(o)||null,client_id:fromSessionStorage("auth."+e+".client_id"),client_secret:fromSessionStorage("auth."+e+".client_secret"),scopes:fromSessionStorage("auth."+e+".scopes")}}function getSecurityDetailsOptions(e,t){var o=fromSessionStorage("auth."+(e=escapeFormId(e))+".variants");if(!o)return null;var r=JSON.parse(o);return r&&Array.isArray(r)?r.map((function(e){return e.details?""===t&&e.details&&"string"==typeof e.details?{label:e.label,value:e.details}:"object"==typeof e.details?{label:e.label,value:e.details[t]}:null:null})).filter(notNull):null}function notNull(e){return null!==e}function get(e,t,o){return"string"==typeof t&&(t=t.split(".")),t.reduce((function(e,t){return e&&e[t]?e[t]:o}),e)}function joinStringFactory(e){return function(){for(var t=[],o=0;o<arguments.length;o++)t[o]=arguments[o];return t.filter(Boolean).join(e)}}exports.setGlobalStore=setGlobalStore,exports.debounce=debounce,exports.toSessionStorage=toSessionStorage,exports.fromSessionStorage=fromSessionStorage,exports.setParameterValue=setParameterValue,exports.getParameterValue=getParameterValue,exports.toLocalStorage=toLocalStorage,exports.fromLocalStorage=fromLocalStorage,exports.useDimensions=useDimensions,exports.escapeFormId=escapeFormId,exports.unescapeFormId=unescapeFormId,exports.setSecurityDetails=setSecurityDetails,exports.setSecurityDetailsVariants=setSecurityDetailsVariants,exports.getSecurityDetails=getSecurityDetails,exports.getSecurityDetailsOptions=getSecurityDetailsOptions,exports.get=get,exports.joinStringFactory=joinStringFactory,exports.dottedString=joinStringFactory(".");
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.dottedString=exports.joinStringFactory=exports.get=exports.getSecurityDetailsOptions=exports.getSecurityDetails=exports.setSecurityDetailsVariants=exports.setSecurityDetails=exports.unescapeFormId=exports.escapeFormId=exports.useDimensions=exports.fromLocalStorage=exports.toLocalStorage=exports.getParameterValue=exports.setParameterValue=exports.fromSessionStorage=exports.toSessionStorage=exports.debounce=exports.setGlobalStore=exports.getGlobalStore=void 0;var _store,tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),redoc_lib_1=require("./redoc-lib"),getGlobalStore=function(){return _store};exports.getGlobalStore=getGlobalStore;var setGlobalStore=function(e){return _store=e};function debounce(e,t,r){var o,s=0;return function(){for(var n=[],a=0;a<arguments.length;a++)n[a]=arguments[a];function i(){s>1&&e.apply(void 0,n),s=0,o=null}s++,o?clearTimeout(o):r&&e.apply(void 0,n),o=setTimeout(i,t)}}function toSessionStorage(e,t){redoc_lib_1.IS_BROWSER&&window.sessionStorage.setItem("redoc."+e,t)}function fromSessionStorage(e){return redoc_lib_1.IS_BROWSER&&window.sessionStorage.getItem("redoc."+e)||""}function setParameterValue(e,t,r){toSessionStorage(e+"."+t,JSON.stringify(r))}function getParameterValue(e,t){try{return JSON.parse(fromSessionStorage(e+"."+t))}catch(e){return null}}function toLocalStorage(e,t){window.localStorage.setItem("redoc."+e,t)}function fromLocalStorage(e){return redoc_lib_1.IS_BROWSER&&window.localStorage.getItem("redoc."+e)||""}function useDimensions(e){var t=React.useState(null),r=t[0],o=t[1];return React.useLayoutEffect((function(){if(e){var t=function(){return window.requestAnimationFrame((function(){return o(e.getBoundingClientRect())}))};return t(),window.addEventListener("resize",t),function(){window.removeEventListener("resize",t)}}}),[e]),[r]}function escapeFormId(e){return e.replace(/[.[\]]/g,(function(e){return{".":"%2e","[":"%5b","]":"%5d"}[e]||""}))}function unescapeFormId(e){return e.replace(/%2e|%5b|%5d/g,(function(e){return{"%2e":".","%5b":"[","%5d":"]"}[e]||""}))}function setSecurityDetails(e,t){e=escapeFormId(e),"string"==typeof t?toSessionStorage("auth."+e,t):t&&(toSessionStorage("auth."+e+".password",t.password||""),toSessionStorage("auth."+e+".username",t.username||""),toSessionStorage("auth."+e+".token",t.token&&JSON.stringify(t.token)||""),toSessionStorage("auth."+e+".client_id",t.client_id||""),toSessionStorage("auth."+e+".client_secret",t.client_secret||""),toSessionStorage("auth."+e+".scopes",t.scopes&&JSON.stringify(t.scopes)||""))}function setSecurityDetailsVariants(e,t){toSessionStorage("auth."+(e=escapeFormId(e))+".variants",JSON.stringify(t))}function getSecurityDetails(e){var t=fromSessionStorage("auth."+(e=escapeFormId(e))),r=fromSessionStorage("auth."+e+".token");return{raw:t,password:fromSessionStorage("auth."+e+".password"),username:fromSessionStorage("auth."+e+".username"),token:r&&JSON.parse(r)||null,client_id:fromSessionStorage("auth."+e+".client_id"),client_secret:fromSessionStorage("auth."+e+".client_secret"),scopes:fromSessionStorage("auth."+e+".scopes")}}function getSecurityDetailsOptions(e,t){var r=fromSessionStorage("auth."+(e=escapeFormId(e))+".variants");if(!r)return null;var o=JSON.parse(r);return o&&Array.isArray(o)?o.map((function(e){return e.details?""===t&&e.details&&"string"==typeof e.details?{label:e.label,value:e.details}:"object"==typeof e.details?{label:e.label,value:e.details[t]}:null:null})).filter(notNull):null}function notNull(e){return null!==e}function get(e,t,r){return"string"==typeof t&&(t=t.split(".")),t.reduce((function(e,t){return e&&e[t]?e[t]:r}),e)}function joinStringFactory(e){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return t.filter(Boolean).join(e)}}exports.setGlobalStore=setGlobalStore,exports.debounce=debounce,exports.toSessionStorage=toSessionStorage,exports.fromSessionStorage=fromSessionStorage,exports.setParameterValue=setParameterValue,exports.getParameterValue=getParameterValue,exports.toLocalStorage=toLocalStorage,exports.fromLocalStorage=fromLocalStorage,exports.useDimensions=useDimensions,exports.escapeFormId=escapeFormId,exports.unescapeFormId=unescapeFormId,exports.setSecurityDetails=setSecurityDetails,exports.setSecurityDetailsVariants=setSecurityDetailsVariants,exports.getSecurityDetails=getSecurityDetails,exports.getSecurityDetailsOptions=getSecurityDetailsOptions,exports.get=get,exports.joinStringFactory=joinStringFactory,exports.dottedString=joinStringFactory(".");
2
2
  //# sourceMappingURL=utils.js.map
@@ -1,2 +1,2 @@
1
- import{__assign,__awaiter,__decorate,__extends,__generator,__makeTemplateObject,__rest}from"tslib";import*as React from"react";import{Form,useField}from"informed";import{observer}from"mobx-react";import{get,useDimensions,unescapeFormId}from"../../utils";import{CloseButton,ConsoleBody,ConsoleWrap}from"./styled.components";import{ServerChooser}from"./ServerDropdown";import{OperationParameters}from"./OperationParameters";import{ActionPanel}from"./ActionPanel";import{ResponsePanel}from"./ResponsePanel";import{RequestBody}from"./RequestBody";import{ConsoleBadges}from"./ConsoleBadges";import{AuthPanel,requiredValidator}from"./AuthPanel";import{AnalyticsEventType}from"../../services";import Swagger from"swagger-client";import{JsonPointer,ShelfIcon,CrossIcon,LockIcon}from"../../redoc-lib";import{RenderHook}from"../../redoc-lib/src/components/helper";import{l}from"../../redoc-lib/src/services/Labels";import styled from"../../redoc-lib/src/styled-components";import{CodeHeader,Panel,Header,Accordion,Trigger,Title}from"../Panel";import{OAuth2}from"../../services/OAuth2";import{PanelBody}from"../Panel/PanelBody";import{getFileNameFromHeaders,getParameters,unescapeQueryParams,updateStorage}from"./utils";import{isFileUploadMime}from"../common/FileUpload/helper";function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}var flexColumn={flex:1,display:"flex",flexDirection:"column"},Console=function(e){function t(t){var r=e.call(this,t)||this;return Object.defineProperty(r,"formApi",{enumerable:!0,configurable:!0,writable:!0,value: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,n=__rest(t,["values"]);r.formApi=e,setTimeout((function(){var e=__assign(__assign({},n),{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"]),n=__assign(__assign({},o),{values:__assign(__assign({},t),{query:unescapeQueryParams(t.query||{})})});r.setState({form:n}),updateStorage(n)}}),Object.defineProperty(r,"handleTabChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.setState({activeTab:e})}}),Object.defineProperty(r,"handleServerChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.setState({server:e}),r.props.operation.setActiveServer(e)}}),Object.defineProperty(r,"handleExecute",{enumerable:!0,configurable:!0,writable:!0,value:function(){return __awaiter(r,void 0,void 0,(function(){var e,t,r,o,n,a,s,i,l,c,u,p,d,m,h,v,f,g,y,b,_,P,R,S,C,E,I,w,T,A,k,x,O,q,B,F,j,H,U=this;return __generator(this,(function(V){switch(V.label){case 0:if(e=this.props,t=e.store,r=e.operation,o=e.onResponse,n=this.state.form,a=n.values,s=n.invalid,this.formApi.submitForm(),s)return this.setState({shaking:!0}),setTimeout((function(){return U.setState({shaking:!1})}),1e3),null===(O=null===(x=null==t?void 0:t.options.events)||void 0===x?void 0:x.tryItSent)||void 0===O||O.call(x,{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||"",c=a.body,/json/.test(l))try{c=JSON.parse(c)}catch(e){console.error(e)}if(this.setState({loading:!0}),u=this.state.resolvedRawSpec,!(p=get(u,["paths",r.path,(r.httpVerb||"").toLowerCase(),"servers"])||get(u,["paths",r.path,"servers"])||get(u,["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");d=p.find((function(e){return U.state.server.url.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url)})),m=Date.now(),h=!!window.document.documentMode,f=a.auth,a.auth?(g=Object.keys(a.auth)[0],y=unescapeFormId(g),v=__assign(__assign({},u),{components:__assign(__assign({},u.components),{securitySchemes:__assign(__assign({},u.components.securitySchemes),(A={},A[y]=__assign(__assign({},u.components.securitySchemes[y]),{type:"openIdConnect"===u.components.securitySchemes[y].type?"oauth2":u.components.securitySchemes[y].type}),A))})}),f=__assign(__assign({},f),((k={})[y]=f[g],k))):v=__assign({},u),(b=t.options.corsProxyUrl)&&u.servers&&u.servers.length&&(v.servers=u.servers.map((function(e){return __assign(__assign({},e),{url:b+normalizeUrlProtocol(e.url)})}))),(_=(null===(B=null===(q=null==i?void 0:i.content)||void 0===q?void 0:q.active)||void 0===B?void 0:B.name)||null)&&c&&isFileUploadMime(_)&&(P=Object.values(c),c=P.length>1?P:P[0]),R=function(e,t){return function(r){return U.props.store.options.sendXUserAgentInTryIt&&(r.headers["X-User-Agent"]="Redocly Try it API console"),e?e(r,t):r}},S={userFetch:h&&require("cross-fetch").fetch,server:b?b+normalizeUrlProtocol(d.url):d.url,serverVariables:this.state.server.variables,spec:v,pathName:r.path,method:r.httpVerb,parameters:__assign(__assign(__assign(__assign({},a.path),a.query),a.header),a.cookie),securities:{authorized:f},requestBody:c,requestContentType:_,responseContentType:(null===(F=a.header)||void 0===F?void 0:F.Accept)||null,requestInterceptor:R(t.options.requestInterceptor,r)},V.label=1;case 1:return V.trys.push([1,5,8,9]),[4,Swagger.execute(S)];case 2:return C=V.sent(),(E=null==C?void 0:C.data)instanceof Blob?(isFileUploadMime(E.type)&&(C.fileInfo={rawData:E,fileName:getFileNameFromHeaders(C.headers)}),I=C,[4,E.text()]):[3,4];case 3:I.data=V.sent(),V.label=4;case 4:return null==o||o({request:S,response:C}),this.setState({response:C,error:void 0}),[3,9];case 5:return(w=V.sent())&&w.response&&w.response.data instanceof Blob?(T=w.response,[4,w.response.data.text()]):[3,7];case 6:T.data=V.sent(),null==o||o({request:S,response:w.response}),V.label=7;case 7:return this.setState({response:void 0,error:w}),[3,9];case 8:return this.setState({loading:!1,activeTab:1,time:Date.now()-m}),null===(H=null===(j=null==t?void 0:t.options.events)||void 0===j?void 0:j.tryItSent)||void 0===H||H.call(j,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"Sent",operationId:r.operationId,operationPath:r.path,operationHttpVerb:r.httpVerb,operationSummary:r.description}),[7];case 9:return[2]}}))}))}}),r.state={form:{values:{path:getParameters(t.operation.parameters,"path"),cookie:getParameters(t.operation.parameters,"cookie"),header:getParameters(t.operation.parameters,"header"),query:getParameters(t.operation.parameters,"query")}},shaking:!1,loading:!1,activeTab:0,server:{}},r}return __extends(t,e),Object.defineProperty(t.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){return __awaiter(this,void 0,void 0,(function(){var e,t,r,o;return __generator(this,(function(n){switch(n.label){case 0:return e=this.props,t=e.store,r=e.operation,[4,t.dereferenceSpecForTryIt(r)];case 1:return o=n.sent(),this.setState({resolvedRawSpec:o}),this.formApi.setValues({}),[2]}}))}))}}),Object.defineProperty(t.prototype,"componentDidUpdate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){e.operation!==this.props.operation&&this.setState({response:void 0,error:void 0,activeTab:0})}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.props,t=e.operation,r=e.className,o=e.rootElement,n=this.state,a=n.shaking,s=n.activeTab,i=n.form,l=n.response,c=n.loading,u=n.error,p=!(!l&&!u);return React.createElement(ConsoleWrapHook,{shaking:a,className:r,rootElement:o},React.createElement(CodeHeader,null,React.createElement(ConsoleBadges,{active:s,hasResponse:p,onChange:this.handleTabChange}),this.props.onClose&&React.createElement(CloseButton,{onClick:this.props.onClose}," ✕ ")),React.createElement(ConsoleBody,{hidden:0!==s},this.renderRequest()),React.createElement(ConsoleBody,{hidden:1!==s},this.renderResponse()),React.createElement(ActionPanel,{hasResponse:p,params:i.values,operation:t,loading:c,execute:this.handleExecute}))}}),Object.defineProperty(t.prototype,"renderRequest",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e,t=this.props,r=t.operation,o=t.store,n=t.properties,a=t.securityDefaults,s=this.state,i=s.form,c=s.resolvedRawSpec,u=s.server,p=i.errors||{},d=p.path||p.cookie||p.header||p.query,m=c&&JsonPointer.get(c,r.pointer),h=i.values&&i.values.auth&&Object.keys(i.values.auth)[0];h&&i.values.auth[h]||(h=void 0),!h||void 0===i.values.auth[h].token&&void 0===i.values.auth[h].client_id&&void 0===i.values.auth[h].client_secret||i.values.auth[h].token&&i.values.auth[h].token.access_token||(h=void 0),h&&null!=i.values.auth[h].username&&(i.values.auth[h].username&&i.values.auth[h].password||(h=void 0));var v=r.parameters||[],f=null===(e=null==o?void 0:o.options.hooks)||void 0===e?void 0:e.ReplaceTryItSecurityPanel;return!c&&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},f?React.createElement(AuthPanelHook,{field:"auth",validate:requiredValidator},(function(e){return React.createElement(RenderHook,{Hook:f,props:{server:u,operation:r,onChange:e,OAuth2:OAuth2}})})):React.createElement(AuthPanel,{formApi:this.formApi,form:i,operation:r,activeServer:u.url,authCorsProxyUrl:o.options.authCorsProxyUrl,securityDefaults:a}))||null,r.requestBody&&React.createElement(TryItPanel,{header:l("tryItBody"),"data-cy":"body-trigger",renderChildrenHidden:!0,error:!!p.body},React.createElement(RequestBody,{validate:allowBodyErrors,console:this,body:r.requestBody,id:r.id,resolvedBody:m.requestBody,properties:n}))||null,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,n=e.rootElement,a=useDimensions(n)[0];return React.createElement(ConsoleWrap,{shaking:t,className:r,"data-cy":"console",fullWidth:null==a?void 0:a.width},o)}function AuthPanelHook(e){var t=useField(__assign({},e)),r=t.fieldApi,o=t.render,n=t.userProps,a=r.setValue,s=n.children;return o(React.createElement(React.Fragment,null,s(a)))}export function TryItPanel(e){var t=e.header,r=e.error,o=e.success,n=__rest(e,["header","error","success"]);return React.createElement(StyledTryItPanel,__assign({},n,{header:function(e){var a=e.toggle,s=e.expanded;return React.createElement(Header,{onClick:a,isExpanded:s,"data-cy":n["data-cy"]},React.createElement(Trigger,null,React.createElement(Title,null,t),React.createElement(ShelfIcon,{direction:s?"down":"right"})),r&&React.createElement(CrossIcon,{size:"14px",color:"#ff908b"})||null,o&&React.createElement(LockIcon,{size:"14px",color:"#56ff26"})||null)}}))}var templateObject_1,StyledTryItPanel=styled(Panel)(templateObject_1||(templateObject_1=__makeTemplateObject(["\n "," {\n color: white;\n border: 1px solid ",";\n padding: 10px;\n }\n\n "," path {\n fill: white;\n }\n\n "," {\n padding: 15px 10px;\n background-color: #3e4c59;\n border: 1px solid ",";\n border-top: 0;\n }\n"],["\n "," {\n color: white;\n border: 1px solid ",";\n padding: 10px;\n }\n\n "," path {\n fill: white;\n }\n\n "," {\n padding: 15px 10px;\n background-color: #3e4c59;\n border: 1px solid ",";\n border-top: 0;\n }\n"])),Header,(function(e){return e.error?"#ff908b":"#89949f"}),ShelfIcon,PanelBody,(function(e){return e.error?"#ff908b":"#89949f"}));
1
+ import{__assign,__awaiter,__decorate,__extends,__generator,__makeTemplateObject,__rest}from"tslib";import*as React from"react";import{Form,useField}from"informed";import{observer}from"mobx-react";import{get,useDimensions,unescapeFormId}from"../../utils";import{CloseButton,ConsoleBody,ConsoleWrap}from"./styled.components";import{ServerChooser}from"./ServerDropdown";import{OperationParameters}from"./OperationParameters";import{ActionPanel}from"./ActionPanel";import{ResponsePanel}from"./ResponsePanel";import{RequestBody}from"./RequestBody";import{ConsoleBadges}from"./ConsoleBadges";import{AuthPanel,requiredValidator}from"./AuthPanel";import{AnalyticsEventType}from"../../services";import Swagger from"swagger-client";import{JsonPointer,ShelfIcon,CrossIcon,LockIcon}from"../../redoc-lib";import{RenderHook}from"../../redoc-lib/src/components/helper";import{l}from"../../redoc-lib/src/services/Labels";import styled from"../../redoc-lib/src/styled-components";import{CodeHeader,Panel,Header,Accordion,Trigger,Title}from"../Panel";import{OAuth2}from"../../services/OAuth2";import{PanelBody}from"../Panel/PanelBody";import{getFileNameFromHeaders,getParameters,unescapeQueryParams,updateStorage}from"./utils";import{isFileUploadMime}from"../common/FileUpload/helper";function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}var flexColumn={flex:1,display:"flex",flexDirection:"column"},Console=function(e){function t(t){var r=e.call(this,t)||this;return Object.defineProperty(r,"formApi",{enumerable:!0,configurable:!0,writable:!0,value: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,n=__rest(t,["values"]);r.formApi=e,setTimeout((function(){var e=__assign(__assign({},n),{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"]),n=__assign(__assign({},o),{values:__assign(__assign({},t),{query:unescapeQueryParams(t.query||{})})});r.setState({form:n}),updateStorage(n)}}),Object.defineProperty(r,"handleTabChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.setState({activeTab:e})}}),Object.defineProperty(r,"handleServerChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.setState({server:e}),r.props.operation.setActiveServer(e)}}),Object.defineProperty(r,"handleExecute",{enumerable:!0,configurable:!0,writable:!0,value:function(){return __awaiter(r,void 0,void 0,(function(){var e,t,r,o,n,a,s,i,l,c,u,p,d,m,h,v,f,g,y,_,b,P,R,S,C,E,I,w,T,A,k,x,O,q,B,F,j,H,U,V,D,N=this;return __generator(this,(function(W){switch(W.label){case 0:if(e=this.props,t=e.store,r=e.operation,o=e.onResponse,n=this.state.form,a=n.values,s=n.invalid,this.formApi.submitForm(),s)return this.setState({shaking:!0}),setTimeout((function(){return N.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||"",c=a.body,/json/.test(l))try{c=JSON.parse(c)}catch(e){console.error(e)}if(this.setState({loading:!0}),u=this.state.resolvedRawSpec,p=(r.httpVerb||"").toLowerCase(),!(d=get(u,["paths",r.path,p,"servers"])||get(u,["paths",r.path,"servers"])||get(u,["servers"])))throw console.error("Servers are not specified in your OpenAPI file. You can't use Try It Out console without specifying servers. If you use OpenAPI 2, make sure you configured host and basepath"),new Error("Servers are not specified");m=d.find((function(e){return N.state.server.url.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url)})),h=Date.now(),v=!!window.document.documentMode,g=a.auth,a.auth?(y=Object.keys(a.auth)[0],_=unescapeFormId(y),f=__assign(__assign({},u),{components:__assign(__assign({},u.components),{securitySchemes:__assign(__assign({},u.components.securitySchemes),(k={},k[_]=__assign(__assign({},u.components.securitySchemes[_]),{type:"openIdConnect"===u.components.securitySchemes[_].type?"oauth2":u.components.securitySchemes[_].type}),k))})}),g=__assign(__assign({},g),((x={})[_]=g[y],x))):f=__assign({},u),(b=t.options.corsProxyUrl)&&d.length&&(f.servers=d.map((function(e){return __assign(__assign({},e),{url:b+normalizeUrlProtocol(e.url)})})),f.paths=__assign(__assign({},f.paths),((O={})[r.path]=__assign(__assign({},f.paths[r.path]),((q={})[p]=__assign(__assign({},f.paths[r.path][p]),{servers:void 0}),q.servers=void 0,q)),O))),(P=(null===(H=null===(j=null==i?void 0:i.content)||void 0===j?void 0:j.active)||void 0===H?void 0:H.name)||null)&&c&&isFileUploadMime(P)&&(R=Object.values(c),c=R.length>1?R:R[0]),S=function(e,t){return function(r){return N.props.store.options.sendXUserAgentInTryIt&&(r.headers["X-User-Agent"]="Redocly Try it API console"),e?e(r,t):r}},C={userFetch:v&&require("cross-fetch").fetch,server:b?b+normalizeUrlProtocol(m.url):m.url,serverVariables:this.state.server.variables,spec:f,pathName:r.path,method:r.httpVerb,parameters:__assign(__assign(__assign(__assign({},a.path),a.query),a.header),a.cookie),securities:{authorized:g},requestBody:c,requestContentType:P,responseContentType:(null===(U=a.header)||void 0===U?void 0:U.Accept)||null,requestInterceptor:S(t.options.requestInterceptor,r)},W.label=1;case 1:return W.trys.push([1,5,8,9]),[4,Swagger.execute(C)];case 2:return E=W.sent(),(I=null==E?void 0:E.data)instanceof Blob?(isFileUploadMime(I.type)&&(E.fileInfo={rawData:I,fileName:getFileNameFromHeaders(E.headers)}),w=E,[4,I.text()]):[3,4];case 3:w.data=W.sent(),W.label=4;case 4:return null==o||o({request:C,response:E}),this.setState({response:E,error:void 0}),[3,9];case 5:return(T=W.sent())&&T.response&&T.response.data instanceof Blob?(A=T.response,[4,T.response.data.text()]):[3,7];case 6:A.data=W.sent(),null==o||o({request:C,response:T.response}),W.label=7;case 7:return this.setState({response:void 0,error:T}),[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(n){switch(n.label){case 0:return e=this.props,t=e.store,r=e.operation,[4,t.dereferenceSpecForTryIt(r)];case 1:return o=n.sent(),this.setState({resolvedRawSpec:o}),this.formApi.setValues({}),[2]}}))}))}}),Object.defineProperty(t.prototype,"componentDidUpdate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){e.operation!==this.props.operation&&this.setState({response:void 0,error:void 0,activeTab:0})}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.props,t=e.operation,r=e.className,o=e.rootElement,n=this.state,a=n.shaking,s=n.activeTab,i=n.form,l=n.response,c=n.loading,u=n.error,p=!(!l&&!u);return React.createElement(ConsoleWrapHook,{shaking:a,className:r,rootElement:o},React.createElement(CodeHeader,null,React.createElement(ConsoleBadges,{active:s,hasResponse:p,onChange:this.handleTabChange}),this.props.onClose&&React.createElement(CloseButton,{onClick:this.props.onClose}," ✕ ")),React.createElement(ConsoleBody,{hidden:0!==s},this.renderRequest()),React.createElement(ConsoleBody,{hidden:1!==s},this.renderResponse()),React.createElement(ActionPanel,{hasResponse:p,params:i.values,operation:t,loading:c,execute:this.handleExecute}))}}),Object.defineProperty(t.prototype,"renderRequest",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e,t=this.props,r=t.operation,o=t.store,n=t.properties,a=t.securityDefaults,s=this.state,i=s.form,c=s.resolvedRawSpec,u=s.server,p=i.errors||{},d=p.path||p.cookie||p.header||p.query,m=c&&JsonPointer.get(c,r.pointer),h=i.values&&i.values.auth&&Object.keys(i.values.auth)[0];h&&i.values.auth[h]||(h=void 0),!h||void 0===i.values.auth[h].token&&void 0===i.values.auth[h].client_id&&void 0===i.values.auth[h].client_secret||i.values.auth[h].token&&i.values.auth[h].token.access_token||(h=void 0),h&&null!=i.values.auth[h].username&&(i.values.auth[h].username&&i.values.auth[h].password||(h=void 0));var v=r.parameters||[],f=null===(e=null==o?void 0:o.options.hooks)||void 0===e?void 0:e.ReplaceTryItSecurityPanel;return!c&&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},f?React.createElement(AuthPanelHook,{field:"auth",validate:requiredValidator},(function(e){return React.createElement(RenderHook,{Hook:f,props:{server:u,operation:r,onChange:e,OAuth2:OAuth2}})})):React.createElement(AuthPanel,{formApi:this.formApi,form:i,operation:r,activeServer:u.url,authCorsProxyUrl:o.options.authCorsProxyUrl,securityDefaults:a}))||null,r.requestBody&&React.createElement(TryItPanel,{header:l("tryItBody"),"data-cy":"body-trigger",renderChildrenHidden:!0,error:!!p.body},React.createElement(RequestBody,{validate:allowBodyErrors,console:this,body:r.requestBody,id:r.id,resolvedBody:m.requestBody,properties:n}))||null,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,n=e.rootElement,a=useDimensions(n)[0];return React.createElement(ConsoleWrap,{shaking:t,className:r,"data-cy":"console",fullWidth:null==a?void 0:a.width},o)}function AuthPanelHook(e){var t=useField(__assign({},e)),r=t.fieldApi,o=t.render,n=t.userProps,a=r.setValue,s=n.children;return o(React.createElement(React.Fragment,null,s(a)))}export function TryItPanel(e){var t=e.header,r=e.error,o=e.success,n=__rest(e,["header","error","success"]);return React.createElement(StyledTryItPanel,__assign({},n,{header:function(e){var a=e.toggle,s=e.expanded;return React.createElement(Header,{onClick:a,isExpanded:s,"data-cy":n["data-cy"]},React.createElement(Trigger,null,React.createElement(Title,null,t),React.createElement(ShelfIcon,{direction:s?"down":"right"})),r&&React.createElement(CrossIcon,{size:"14px",color:"#ff908b"})||null,o&&React.createElement(LockIcon,{size:"14px",color:"#56ff26"})||null)}}))}var templateObject_1,StyledTryItPanel=styled(Panel)(templateObject_1||(templateObject_1=__makeTemplateObject(["\n "," {\n color: white;\n border: 1px solid ",";\n padding: 10px;\n }\n\n "," path {\n fill: white;\n }\n\n "," {\n padding: 15px 10px;\n background-color: #3e4c59;\n border: 1px solid ",";\n border-top: 0;\n }\n"],["\n "," {\n color: white;\n border: 1px solid ",";\n padding: 10px;\n }\n\n "," path {\n fill: white;\n }\n\n "," {\n padding: 15px 10px;\n background-color: #3e4c59;\n border: 1px solid ",";\n border-top: 0;\n }\n"])),Header,(function(e){return e.error?"#ff908b":"#89949f"}),ShelfIcon,PanelBody,(function(e){return e.error?"#ff908b":"#89949f"}));
2
2
  //# sourceMappingURL=Console.js.map
@@ -1,2 +1,2 @@
1
- import{__makeTemplateObject}from"tslib";import React,{useCallback}from"react";import{useStore}from"../components/StoreBuilder";import styled,{css}from"../styled-components";import{SECURITY_SCHEMES_SECTION_PREFIX}from"../utils";import{LinkIcon}from"./icons";export function userIsForcingNavigation(n){return 0!==n.button||n.altKey||n.ctrlKey||n.metaKey||n.shiftKey}export var linkifyMixin=function(n,e){return css(templateObject_1||(templateObject_1=__makeTemplateObject(["\n "," {\n cursor: pointer;\n line-height: inherit;\n display: inline-block;\n outline: 0;\n position: absolute;\n padding-right: 4px;\n transform: translateX(-100%);\n }\n\n "," "," {\n width: ",";\n height: ",";\n visibility: hidden;\n display: inline-block;\n vertical-align: middle;\n }\n\n h1:hover\n > ","\n ",",\n h2:hover\n > ","\n ",",\n ",":hover\n "," {\n visibility: visible;\n }\n\n ",":focus "," {\n visibility: visible;\n }\n"],["\n "," {\n cursor: pointer;\n line-height: inherit;\n display: inline-block;\n outline: 0;\n position: absolute;\n padding-right: 4px;\n transform: translateX(-100%);\n }\n\n "," "," {\n width: ",";\n height: ",";\n visibility: hidden;\n display: inline-block;\n vertical-align: middle;\n }\n\n h1:hover\n > ","\n ",",\n h2:hover\n > ","\n ",",\n ",":hover\n "," {\n visibility: visible;\n }\n\n ",":focus "," {\n visibility: visible;\n }\n"])),n,n,LinkIcon,e,e,n,LinkIcon,n,LinkIcon,n,LinkIcon,n,LinkIcon)};export function Link(n){var e,i,t,l,o,r=useCallback((function(e,i){i.defaultPrevented||userIsForcingNavigation(i)||(i.preventDefault(),e.replace(n.to))}),[n.to]),a=useStore(),c=null===(i=null==a?void 0:(e=a.menu.history).linkForId)||void 0===i?void 0:i.call(e,n.to);return n.to.startsWith(SECURITY_SCHEMES_SECTION_PREFIX)&&(null===(t=null==a?void 0:a.options.hooks)||void 0===t?void 0:t.replaceSecurityLink)&&(c=null===(o=null===(l=a.options.hooks)||void 0===l?void 0:l.replaceSecurityLink)||void 0===o?void 0:o.call(l,{securityRequirementId:n.to.replace(SECURITY_SCHEMES_SECTION_PREFIX,"")})),c?React.createElement("a",{className:n.className,href:c,onClick:r.bind(this,null==a?void 0:a.menu.history),"aria-label":n.to},n.children):n.children?React.createElement("div",{className:n.className}," ",n.children," "):null}var templateObject_1,templateObject_2,StyledShareLink=styled(Link)(templateObject_2||(templateObject_2=__makeTemplateObject(["\n ",";\n"],["\n ",";\n"])),linkifyMixin("&","18px"));export function ShareLink(n){return React.createElement(StyledShareLink,{to:n.to},React.createElement(LinkIcon,null))}
1
+ import{__makeTemplateObject}from"tslib";import React,{useCallback}from"react";import{useStore}from"../components/StoreBuilder";import styled,{css}from"../styled-components";import{SECURITY_SCHEMES_SECTION_PREFIX}from"../utils";import{LinkIcon}from"./icons";export function userIsForcingNavigation(n){return 0!==n.button||n.altKey||n.ctrlKey||n.metaKey||n.shiftKey}export var linkifyMixin=function(n,e){return css(templateObject_1||(templateObject_1=__makeTemplateObject(["\n "," {\n cursor: pointer;\n line-height: inherit;\n display: inline-block;\n outline: 0;\n position: absolute;\n padding-right: 4px;\n transform: translateX(-100%);\n }\n\n "," "," {\n width: ",";\n height: ",";\n visibility: hidden;\n display: inline-block;\n vertical-align: middle;\n }\n\n h1:hover\n > ","\n ",",\n h2:hover\n > ","\n ",",\n ",":hover\n "," {\n visibility: visible;\n }\n\n ",":focus "," {\n visibility: visible;\n }\n"],["\n "," {\n cursor: pointer;\n line-height: inherit;\n display: inline-block;\n outline: 0;\n position: absolute;\n padding-right: 4px;\n transform: translateX(-100%);\n }\n\n "," "," {\n width: ",";\n height: ",";\n visibility: hidden;\n display: inline-block;\n vertical-align: middle;\n }\n\n h1:hover\n > ","\n ",",\n h2:hover\n > ","\n ",",\n ",":hover\n "," {\n visibility: visible;\n }\n\n ",":focus "," {\n visibility: visible;\n }\n"])),n,n,LinkIcon,e,e,n,LinkIcon,n,LinkIcon,n,LinkIcon,n,LinkIcon)};export function Link(n){var e,i,t,l,o,r=useCallback((function(e,i){i.defaultPrevented||userIsForcingNavigation(i)||(i.preventDefault(),e.replace(encodeURI(n.to)))}),[n.to]),a=useStore(),c=null===(i=null==a?void 0:(e=a.menu.history).linkForId)||void 0===i?void 0:i.call(e,n.to);return n.to.startsWith(SECURITY_SCHEMES_SECTION_PREFIX)&&(null===(t=null==a?void 0:a.options.hooks)||void 0===t?void 0:t.replaceSecurityLink)&&(c=null===(o=null===(l=a.options.hooks)||void 0===l?void 0:l.replaceSecurityLink)||void 0===o?void 0:o.call(l,{securityRequirementId:n.to.replace(SECURITY_SCHEMES_SECTION_PREFIX,"")})),c?React.createElement("a",{className:n.className,href:c,onClick:r.bind(this,null==a?void 0:a.menu.history),"aria-label":n.to},n.children):n.children?React.createElement("div",{className:n.className}," ",n.children," "):null}var templateObject_1,templateObject_2,StyledShareLink=styled(Link)(templateObject_2||(templateObject_2=__makeTemplateObject(["\n ",";\n"],["\n ",";\n"])),linkifyMixin("&","18px"));export function ShareLink(n){return React.createElement(StyledShareLink,{to:n.to},React.createElement(LinkIcon,null))}
2
2
  //# sourceMappingURL=linkify.js.map
@@ -1,2 +1,2 @@
1
- import{__makeTemplateObject}from"tslib";import*as React from"react";import{l}from"../../services/Labels";import styled,{extensionsHook}from"../../styled-components";import{baseButton}from"../../../../components/shared";export function DownloadButtonWithLabel(e){var t=e.store,n=e.wrapped,o=React.useState(t.options.downloadDefinitionUrl),a=o[0],i=o[1];React.useEffect((function(){t.options.downloadDefinitionUrl||i(t.definition.info.downloadLink)}),[t.options.downloadDefinitionUrl,t]);var r=React.useCallback((function(e){e.target.href||(e.target.href=a)}),[a]),d=t.definition.info.downloadFileName;return React.createElement(DownloadWrapper,{wrapped:n},l("downloadSpecification"),":",React.createElement(DownloadButton,{download:d||!0,target:"_blank",href:a,onClick:r},l("download")))}var templateObject_1,templateObject_2,DownloadButton=styled.a(templateObject_1||(templateObject_1=__makeTemplateObject(["\n ",";\n margin-left: 0.5em;\n text-decoration: none;\n vertical-align: middle;\n ",";\n"],["\n ",";\n margin-left: 0.5em;\n text-decoration: none;\n vertical-align: middle;\n ",";\n"])),baseButton,extensionsHook("DownloadButton")),DownloadWrapper=styled.p(templateObject_2||(templateObject_2=__makeTemplateObject(["\n align-self: flex-start;\n padding-left: ","px;\n"],["\n align-self: flex-start;\n padding-left: ","px;\n"])),(function(e){var t=e.wrapped,n=e.theme;return t?0:n.spacing.sectionHorizontal}));
1
+ import{__makeTemplateObject}from"tslib";import*as React from"react";import{l}from"../../services/Labels";import styled,{extensionsHook}from"../../styled-components";import{baseButton}from"../../../../components/shared";export function DownloadButtonWithLabel(e){var t=e.store,n=e.wrapped,o=React.useState(t.options.downloadDefinitionUrl),a=o[0],i=o[1];React.useEffect((function(){t.options.downloadDefinitionUrl||i(t.definition.info.downloadLink)}),[t.options.downloadDefinitionUrl,t.definition.info]);var r=React.useCallback((function(e){e.target.href||(e.target.href=a)}),[a]),d=t.definition.info.downloadFileName;return React.createElement(DownloadWrapper,{wrapped:n},l("downloadSpecification"),":",React.createElement(DownloadButton,{download:d||!0,target:"_blank",href:a,onClick:r},l("download")))}var templateObject_1,templateObject_2,DownloadButton=styled.a(templateObject_1||(templateObject_1=__makeTemplateObject(["\n ",";\n margin-left: 0.5em;\n text-decoration: none;\n vertical-align: middle;\n ",";\n"],["\n ",";\n margin-left: 0.5em;\n text-decoration: none;\n vertical-align: middle;\n ",";\n"])),baseButton,extensionsHook("DownloadButton")),DownloadWrapper=styled.p(templateObject_2||(templateObject_2=__makeTemplateObject(["\n align-self: flex-start;\n padding-left: ","px;\n"],["\n align-self: flex-start;\n padding-left: ","px;\n"])),(function(e){var t=e.wrapped,n=e.theme;return t?0:n.spacing.sectionHorizontal}));
2
2
  //# sourceMappingURL=DownloadButton.js.map
@@ -38,6 +38,7 @@ export declare function resolveUrl(url: string, to: string): string;
38
38
  export declare function getBasePath(serverUrl: string): string;
39
39
  export declare function titleize(text: string): string;
40
40
  export declare function removeQueryString(serverUrl: string): string;
41
+ export declare function escapeHTMLAttrChars(str: string): string;
41
42
  export declare function unescapeHTMLChars(str: string): string;
42
43
  export declare function sanitizeItemId(id: string): string;
43
44
  export declare function getSchemaTitle(pointer: string, title?: string): string;
@@ -1,2 +1,2 @@
1
- import{__assign,__spreadArray}from"tslib";import slugify from"slugify";import{format,parse}from"url";import{ZERO_BREAKPOINT}from"./media-css";import{isNamedDefinition}from"./openapi";import JsonPointer from"./JsonPointer";export function mapWithLast(e,r){for(var t=[],n=0;n<e.length-1;n++)t.push(r(e[n],!1));return 0!==e.length&&t.push(r(e[e.length-1],!0)),t}export function mapValues(e,r){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=r(e[n],n,e));return t}export function flattenByProp(e,r){var t=[],n=function(e){for(var i=0,a=e;i<a.length;i++){var o=a[i];t.push(o),o[r]&&n(o[r])}};return n(e),t}export function stripTrailingSlash(e){return e.endsWith("/")?e.substring(0,e.length-1):e}export function isNumeric(e){return!isNaN(parseFloat(e))&&isFinite(e)}export function appendToMdHeading(e,r,t){var n=new RegExp("(^|\\n)#\\s?"+r+"\\s*\\n","i"),i=new RegExp("((\\n|^)#\\s*"+r+"\\s*(\\n|$)(?:.|\\n)*?)(\\n#|$)","i");if(n.test(e))return e.replace(i,"$1\n\n"+t+"\n$4");var a=""===e||e.endsWith("\n\n")?"":e.endsWith("\n")?"\n":"\n\n";return""+e+a+"# "+r+"\n\n"+t}export var mergeObjects=function(e){for(var r=[],t=1;t<arguments.length;t++)r[t-1]=arguments[t];if(!r.length)return e;var n=r.shift();return void 0===n?e:(isMergeableObject(e)&&isMergeableObject(n)&&Object.keys(n).forEach((function(r){var t;isMergeableObject(n[r])?(e[r]||(e[r]={}),["string","number"].includes(typeof e[r])&&(n[r][ZERO_BREAKPOINT]||0===n[r][ZERO_BREAKPOINT]||console.warn('Theme resolver: using default value of "'+e[r]+'" for "'+r+'". This is not recommended. Prefer adding default value by providing "'+ZERO_BREAKPOINT+'" property to '+JSON.stringify(n[r])+"."),e[r]=((t={})[ZERO_BREAKPOINT]=e[r],t)),mergeObjects(e[r],n[r])):e[r]=n[r]})),mergeObjects.apply(void 0,__spreadArray([e],r,!1)))};export var isObject=function(e){return null!==e&&"object"==typeof e};export var isMergeableObject=function(e){return isObject(e)&&!Array.isArray(e)};export function safeSlugify(e){return slugify(e)||e.toString().toLowerCase().replace(/\s+/g,"-").replace(/&/g,"-and-").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,"")}export function isAbsoluteUrl(e){return/(?:^[a-z][a-z0-9+.-]*:|\/\/)/i.test(e)}export function resolveUrl(e,r){var t;if(r.startsWith("//"))t=""+(parse(e).protocol||"https:")+r;else if(isAbsoluteUrl(r))t=r;else if(r.startsWith("/")){var n=parse(e);t=format(__assign(__assign({},n),{pathname:r}))}else t=stripTrailingSlash(e)+"/"+r;return stripTrailingSlash(t)}export function getBasePath(e){try{return parseURL(e).pathname}catch(r){return e}}export function titleize(e){return e.charAt(0).toUpperCase()+e.slice(1)}export function removeQueryString(e){try{var r=parseURL(e);return r.search="",r.toString()}catch(r){return e}}function parseURL(e){return"undefined"==typeof URL?new(require("url").URL)(e):new URL(e)}export function unescapeHTMLChars(e){return e.replace(/&#(\d+);/g,(function(e,r){return String.fromCharCode(parseInt(r,10))})).replace(/&amp;/g,"&")}export function sanitizeItemId(e){return e&&e.replace(/#/g,"_")}export function getSchemaTitle(e,r){return r||isNamedDefinition(e)&&JsonPointer.baseName(e)||""}
1
+ import{__assign,__spreadArray}from"tslib";import slugify from"slugify";import{format,parse}from"url";import{ZERO_BREAKPOINT}from"./media-css";import{isNamedDefinition}from"./openapi";import JsonPointer from"./JsonPointer";export function mapWithLast(e,r){for(var t=[],n=0;n<e.length-1;n++)t.push(r(e[n],!1));return 0!==e.length&&t.push(r(e[e.length-1],!0)),t}export function mapValues(e,r){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=r(e[n],n,e));return t}export function flattenByProp(e,r){var t=[],n=function(e){for(var i=0,a=e;i<a.length;i++){var o=a[i];t.push(o),o[r]&&n(o[r])}};return n(e),t}export function stripTrailingSlash(e){return e.endsWith("/")?e.substring(0,e.length-1):e}export function isNumeric(e){return!isNaN(parseFloat(e))&&isFinite(e)}export function appendToMdHeading(e,r,t){var n=new RegExp("(^|\\n)#\\s?"+r+"\\s*\\n","i"),i=new RegExp("((\\n|^)#\\s*"+r+"\\s*(\\n|$)(?:.|\\n)*?)(\\n#|$)","i");if(n.test(e))return e.replace(i,"$1\n\n"+t+"\n$4");var a=""===e||e.endsWith("\n\n")?"":e.endsWith("\n")?"\n":"\n\n";return""+e+a+"# "+r+"\n\n"+t}export var mergeObjects=function(e){for(var r=[],t=1;t<arguments.length;t++)r[t-1]=arguments[t];if(!r.length)return e;var n=r.shift();return void 0===n?e:(isMergeableObject(e)&&isMergeableObject(n)&&Object.keys(n).forEach((function(r){var t;isMergeableObject(n[r])?(e[r]||(e[r]={}),["string","number"].includes(typeof e[r])&&(n[r][ZERO_BREAKPOINT]||0===n[r][ZERO_BREAKPOINT]||console.warn('Theme resolver: using default value of "'+e[r]+'" for "'+r+'". This is not recommended. Prefer adding default value by providing "'+ZERO_BREAKPOINT+'" property to '+JSON.stringify(n[r])+"."),e[r]=((t={})[ZERO_BREAKPOINT]=e[r],t)),mergeObjects(e[r],n[r])):e[r]=n[r]})),mergeObjects.apply(void 0,__spreadArray([e],r,!1)))};export var isObject=function(e){return null!==e&&"object"==typeof e};export var isMergeableObject=function(e){return isObject(e)&&!Array.isArray(e)};export function safeSlugify(e){return slugify(e)||e.toString().toLowerCase().replace(/\s+/g,"-").replace(/&/g,"-and-").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,"")}export function isAbsoluteUrl(e){return/(?:^[a-z][a-z0-9+.-]*:|\/\/)/i.test(e)}export function resolveUrl(e,r){var t;if(r.startsWith("//"))t=""+(parse(e).protocol||"https:")+r;else if(isAbsoluteUrl(r))t=r;else if(r.startsWith("/")){var n=parse(e);t=format(__assign(__assign({},n),{pathname:r}))}else t=stripTrailingSlash(e)+"/"+r;return stripTrailingSlash(t)}export function getBasePath(e){try{return parseURL(e).pathname}catch(r){return e}}export function titleize(e){return e.charAt(0).toUpperCase()+e.slice(1)}export function removeQueryString(e){try{var r=parseURL(e);return r.search="",r.toString()}catch(r){return e}}function parseURL(e){return"undefined"==typeof URL?new(require("url").URL)(e):new URL(e)}export function escapeHTMLAttrChars(e){return e.replace(/["\\]/g,"\\$&")}export function unescapeHTMLChars(e){return e.replace(/&#(\d+);/g,(function(e,r){return String.fromCharCode(parseInt(r,10))})).replace(/&amp;/g,"&").replace(/&quot;/g,'"')}export function sanitizeItemId(e){return e&&e.replace(/#/g,"_")}export function getSchemaTitle(e,r){return r||isNamedDefinition(e)&&JsonPointer.baseName(e)||""}
2
2
  //# sourceMappingURL=helpers.js.map
@@ -1,2 +1,2 @@
1
- import{__assign,__decorate}from"tslib";import{flattenByProp,SECURITY_SCHEMES_SECTION_PREFIX,querySelector,GROUP_DEPTH}from"../redoc-lib";import{action,observable,makeObservable}from"mobx";import{VersionedSpecStore}from"./VersionedSpecStore";import{SECTION_ATTR}from"../redoc-lib/src/services/constants";import{history as historyInst}from"../redoc-lib/src/services/HistoryService";var ProMenu=function(){function e(e,t,i,r){var n=this;Object.defineProperty(this,"definition",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"scroll",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"history",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"flatItems",{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,"activeRenderItemIdx",{enumerable:!0,configurable:!0,writable:!0,value:-1}),Object.defineProperty(this,"renderItems",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"activeItemIdx",{enumerable:!0,configurable:!0,writable:!0,value:-1}),Object.defineProperty(this,"sideBarOpened",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_unsubscribe",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_hashUnsubscribe",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"getItemById",{enumerable:!0,configurable:!0,writable:!0,value:function(e){return n.flatItems.find((function(t){return t.id===e}))}}),Object.defineProperty(this,"initOnHistory",{enumerable:!0,configurable:!0,writable:!0,value:function(e){void 0===e&&(e=n.history.currentId);var t,i=e.split(n.options.deepLinkPrefix)[0];i&&((t=n.flatItems.find((function(e){return e.id===i})))?(n.activate(t,!1,!1,!1,e),t.active=!1):i.startsWith(SECURITY_SCHEMES_SECTION_PREFIX)&&(t=n.flatItems.find((function(e){return SECURITY_SCHEMES_SECTION_PREFIX.startsWith(e.id)})),n.activate(t,!1,!1,!1,e),t&&(t.active=!1)))}}),Object.defineProperty(this,"updateOnHistory",{enumerable:!0,configurable:!0,writable:!0,value:function(e){void 0===e&&(e=n.history.currentId);var t=e.split(n.options.deepLinkPrefix)[0];if(t){var i=n.flatItems.find(t.includes(SECURITY_SCHEMES_SECTION_PREFIX)?function(e){return SECURITY_SCHEMES_SECTION_PREFIX.startsWith(e.id)}:function(e){return e.id===t});i?n.activateAndScroll(i,!1,void 0,e):(n.scroll.prevOffsetY=0,n.scroll.scrollIntoViewBySelector("["+SECTION_ATTR+'="'+t+'"]'))}}}),Object.defineProperty(this,"updateVersionOnHistory",{enumerable:!0,configurable:!0,writable:!0,value:function(e){if("versionsInfo"in n.definition){var t=e.split("/")[0],i=n.definition.versionsInfo.findIndex((function(e){return e.id===t}));i<0&&(i=n.definition.versionsInfo.findIndex((function(e){return e.isDefault}))),n.definition.activeVersionIdx!==i&&(n.definition.changeVersion(i<0?0:i),n.updateItemsByVersionChange(!1,e));var r=t+"/"+SECURITY_SCHEMES_SECTION_PREFIX;if(e.startsWith(r)){var o=n.flatItems.find((function(e){return r.startsWith(e.id)}));n.activate(o,!1,!0),setTimeout((function(){return n.scroll.scrollIntoViewBySelector("["+SECTION_ATTR+'="'+e+'"]')}),0)}}}}),Object.defineProperty(this,"updateOnScroll",{enumerable:!0,configurable:!0,writable:!0,value:function(e){for(var t=e?1:-1,i=n.activeItemIdx;(-1!==i||e)&&!(i>=n.flatItems.length-1&&e);){if(e){var r=!1,o=n.flatItems[i+1];switch(n.options.pagination){case"section":r=o&&("spec"===o.type||"group"===o.type||"tag"===o.type);break;case"item":r="section"!==(null==o?void 0:o.type)}var a=n.getElementAt(i+1);if(-1===i&&"tag"===n.flatItems[0].type&&(r=!1),n.scroll.isElementBellow(a)||r)break}else{var s=n.flatItems[i]&&n.flatItems[i].type;r="section"===n.options.pagination&&("spec"===s||"group"===s||"tag"===s)||"item"===n.options.pagination&&"section"!==s,a=n.getElementAt(i);if(n.scroll.isElementAbove(a)||r)break}i+=t}var l=n.flatItems[i];"none"===n.options.pagination||"section"===n.options.pagination?l&&l.active||n.activate(l,!0,!0,!1):l&&"section"===l.type&&(l.active||n.activate(l,!0,!0,!1))}}),makeObservable(this),this.items=e.contentItems,this.flatItems=flattenByProp(this.items||[],"items"),this.flatItems.forEach((function(e,t){return e.absoluteIdx=t})),i.disableSidebar||this.subscribe(),this.flatItems.forEach((function(e,t){return normalizeItem(e,t,i.pagination,n.definition instanceof VersionedSpecStore,n.history)})),this.renderItems=this.buildRenderItems(0),this.activeItemIdx=-1,this.activeRenderItemIdx=-1,this.definition instanceof VersionedSpecStore&&this.history.subscribe(this.updateVersionOnHistory)}return Object.defineProperty(e,"updateOnHistory",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){void 0===e&&(e=historyInst.currentId),e&&t.scrollIntoViewBySelector("["+SECTION_ATTR+'="'+e+'"]')}}),Object.defineProperty(e.prototype,"subscribe",{enumerable:!1,configurable:!0,writable:!0,value:function(){this._unsubscribe=this.scroll.subscribe(this.updateOnScroll),this._hashUnsubscribe=this.history.subscribe(this.updateOnHistory)}}),Object.defineProperty(e.prototype,"toggleSidebar",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.sideBarOpened=!this.sideBarOpened}}),Object.defineProperty(e.prototype,"closeSidebar",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.sideBarOpened=!1}}),Object.defineProperty(e.prototype,"getElementAt",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this.flatItems[e];return t&&querySelector("["+SECTION_ATTR+'="'+t.id+'"]')||null}}),Object.defineProperty(e.prototype,"getElementAtOrFirstChild",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this.flatItems[e];return t&&"group"===t.type&&(t=t.items[0]),t&&querySelector("["+SECTION_ATTR+'="'+t.id+'"]')||null}}),Object.defineProperty(e.prototype,"activeItem",{get:function(){return this.flatItems[this.activeItemIdx]||void 0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"updateItemsByVersionChange",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var i=this;if("versionsInfo"in this.definition){var r=this.activeItem&&this.activeItem.active?this.activeItem.absoluteIdx:-1;t=t&&withoutVersion(t)||this.activeItem&&this.activeItem.active&&withoutVersion(this.activeItem.id)||"",this.deactivate(this.activeItem),this.items=this.definition.contentItems,this.flatItems=flattenByProp(this.items||[],"items"),this.flatItems.forEach((function(e,t){return normalizeItem(e,t,i.options.pagination,i.definition instanceof VersionedSpecStore,i.history)}));var n=t?(this.flatItems.find((function(e){return withoutVersion(e.id)===t}))||{absoluteIdx:-1}).absoluteIdx:-1;if(-1!==n&&"none"!==this.options.pagination||(this.renderItems=this.buildRenderItems(0)),this.activeItemIdx=-1,-1!==n)this.activate(this.flatItems[n],e);else if(-1!==r)this.activateAndScroll(this.flatItems[0],e);else if(e){var o=this.definition.versionsInfo[this.definition.activeVersionIdx];if(!this.history.currentId&&o.isDefault)return;this.history.replace(o.id)}}}}),Object.defineProperty(e.prototype,"buildRenderItems",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if("none"===this.options.pagination)return this.items;var t=this.flatItems[e];if(t||(t=this.flatItems[0]),"spec"===t.type)return this.buildRenderItems(e+1);if("section"===t.type){var i=[],r=getParentOfType(t,"tag");if("section"===this.options.pagination&&r)return[r];if("item"===this.options.pagination&&r)return[__assign(__assign({},r),{items:getLeadingSectionItems(r)})];for(var n=getParentSpecItem(t),o=(null==n?void 0:n.items)||this.items,a=0;a<o.length&&"section"===o[a].type;a++)i.push(o[a]);return i}switch(this.options.pagination){case"section":if("operation"===t.type&&t.parent)return[t.parent];if("group"!==t.type)return[t];case"item":return"operation"===t.type?[t]:[__assign(__assign({},t),{items:getLeadingSectionItems(t)})];default:return[]}}}),Object.defineProperty(e.prototype,"activateBase",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,i,r){var n,o,a,s,l,c=this;if(void 0===t&&(t=!0),void 0===i&&(i=!1),(null===(n=this.activeItem)||void 0===n?void 0:n.id)===(null==e?void 0:e.id)&&!r)return t&&e&&this.history.replace(e.id,i),void(e&&!e.active&&e.activate());if(!e||"group"!==e.type)if(this.deactivate(this.activeItem),e){if(!(e.depth<=GROUP_DEPTH)){this.activeItemIdx=e.absoluteIdx,t&&this.history.replace(e.id,i),e.activate(),e.expand();var u=new URLSearchParams(r),d="request"===u.get("t"),f="response"===u.get("t"),p=u.get("c"),v=u.get("ct"),b=u.get("in"),h=u.get("path"),m=(null==h?void 0:h.split(this.options.deepLinkSeparator))||[],I=e;if(b)for(var y=I.parameters,g=function(e){var t=null==y?void 0:y.find((function(t){return t.name===e}));null==t||t.expand(),y=null===(o=null==t?void 0:t.schema)||void 0===o?void 0:o.fields},O=0,S=m;O<S.length;O++){g(S[O])}else if(d){var _=null===(a=I.requestBody)||void 0===a?void 0:a.content;null===(s=I.activateMimeName)||void 0===s||s.call(I,v||I.activeMimeName),setTimeout((function(){var e;return c.activateField(m,null===(e=null==_?void 0:_.active)||void 0===e?void 0:e.schema)}),0)}else if(f){var P=I.responses.find((function(e){return e.code===p}));(null==P?void 0:P.expanded)||null==P||P.expand(),null===(l=I.activateMimeName)||void 0===l||l.call(I,v||I.activeMimeName),setTimeout((function(){var e,t;return c.activateField(m,null===(t=null===(e=null==P?void 0:P.content)||void 0===e?void 0:e.active)||void 0===t?void 0:t.schema)}),0)}}}else this.history.replace("",i)}}),Object.defineProperty(e.prototype,"activate",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,i,r,n){var o=this;if(void 0===t&&(t=!0),void 0===i&&(i=!1),void 0===r&&(r=!0),"none"===this.options.pagination)return this.activateBase(e,t,i,n),void(!e&&this.definition instanceof VersionedSpecStore&&this.history.replace(this.definition.currentVersionId,!0));if("group"!==(null==e?void 0:e.type)){if(e&&"item"===this.options.pagination&&"tag"===e.type&&!e.description){if(e.expanded)return void e.collapse();e.expand(),e=this.flatItems[e.absoluteIdx+1]}if(this.activateBase(e,e&&t,i,n),this.activeRenderItemIdx=e?e.absoluteIdx:this.activeRenderItemIdx,this.activeRenderItemIdx>=0){var a=this.buildRenderItems(this.activeRenderItemIdx);a.some((function(e,t){return e.id!==o.renderItems[t].id}))&&(this.renderItems=a),this.renderItems[0]&&(this.activeRenderItemIdx=this.renderItems[0].absoluteIdx)}r&&setTimeout((function(){return o.scrollToActive()})),!e&&this.definition instanceof VersionedSpecStore&&this.history.replace(this.definition.currentVersionId,!0)}}}),Object.defineProperty(e.prototype,"activateField",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){for(var i,r=function(r){var n=e[r],o=r===e.length-1;if((null==t?void 0:t.hasType("array"))&&(null==t?void 0:t.items)&&(t=null==t?void 0:t.items),null==t?void 0:t.oneOf){var a=Number(n);return null==t||t.activateOneOf(a),t=null==t?void 0:t.oneOf[a],"continue"}(null==t?void 0:t.hasType("array"))&&(null==t?void 0:t.items)&&(t=null==t?void 0:t.items);var s=null===(i=null==t?void 0:t.fields)||void 0===i?void 0:i.find((function(e){return e.name===n}));o||null==s||s.expand(),t=null==s?void 0:s.schema},n=0;n<e.length-1;n++)r(n)}}),Object.defineProperty(e.prototype,"deactivate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(void 0!==e)for(e.deactivate();void 0!==e;)e.collapse(),e=e.parent}}),Object.defineProperty(e.prototype,"activateAndScroll",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,i,r){void 0===r&&(r="");var n=r.split(this.options.deepLinkPrefix)[1],o=e&&this.getItemById(e.id)||e;this.activate(o,t,i,!1,n),this.scrollToActive(n?r:""),o&&o.items.length||this.closeSidebar()}}),Object.defineProperty(e.prototype,"scrollToActive",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;e?setTimeout((function(){return t.scroll.scrollIntoViewBySelector("["+SECTION_ATTR+'="'+e+'"]')}),0):this.scroll.scrollIntoView(this.getElementAt(this.activeItemIdx))}}),Object.defineProperty(e.prototype,"dispose",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e,t;null===(e=this._unsubscribe)||void 0===e||e.call(this),null===(t=this._hashUnsubscribe)||void 0===t||t.call(this)}}),__decorate([observable],e.prototype,"flatItems",void 0),__decorate([observable],e.prototype,"items",void 0),__decorate([observable],e.prototype,"activeRenderItemIdx",void 0),__decorate([observable.ref],e.prototype,"renderItems",void 0),__decorate([observable],e.prototype,"activeItemIdx",void 0),__decorate([observable],e.prototype,"sideBarOpened",void 0),__decorate([action],e.prototype,"toggleSidebar",null),__decorate([action],e.prototype,"closeSidebar",null),__decorate([action],e.prototype,"activateBase",null),__decorate([action],e.prototype,"activate",null),__decorate([action.bound],e.prototype,"activateAndScroll",null),e}();export{ProMenu};function withoutVersion(e){return e.split("/").slice(1).join("/")}function getParentSpecItem(e){for(;e;){if("spec"===e.type)return e;e=e.parent}}function getParentOfType(e,t){if(e&&e.parent)return e.parent.type===t?e.parent:getParentOfType(e.parent,t)}function getLeadingSectionItems(e){for(var t=[],i=0,r=e.items;i<r.length;i++){var n=r[i];if("section"!==n.type)break;t.push(n)}return t}function normalizeItem(e,t,i,r,n){if(e.absoluteIdx=t,"none"!==i){var o=getParentOfType(e,"tag");if(e.parent&&o&&!("_id_normalized"in e)){if(r){var a=e.id.split("/"),s=a[0],l=a[1],c=withoutVersion(e.id);if("operation"===e.type&&!l.startsWith("operation"))return;e.id=s+"/"+withoutVersion(o.id)+"/"+c}else{if("operation"===e.type&&!e.id.startsWith("operation"))return;e.id=o.id+"/"+e.id}e._id_normalized=!0}}"group"!==e.type&&(e.href=n.linkForId(e.id))}
1
+ import{__assign,__decorate}from"tslib";import{flattenByProp,SECURITY_SCHEMES_SECTION_PREFIX,querySelector,GROUP_DEPTH,escapeHTMLAttrChars}from"../redoc-lib";import{action,observable,makeObservable}from"mobx";import{VersionedSpecStore}from"./VersionedSpecStore";import{SECTION_ATTR}from"../redoc-lib/src/services/constants";import{history as historyInst}from"../redoc-lib/src/services/HistoryService";var ProMenu=function(){function e(e,t,i,r){var n=this;Object.defineProperty(this,"definition",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"scroll",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"history",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"flatItems",{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,"activeRenderItemIdx",{enumerable:!0,configurable:!0,writable:!0,value:-1}),Object.defineProperty(this,"renderItems",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"activeItemIdx",{enumerable:!0,configurable:!0,writable:!0,value:-1}),Object.defineProperty(this,"sideBarOpened",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_unsubscribe",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_hashUnsubscribe",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"getItemById",{enumerable:!0,configurable:!0,writable:!0,value:function(e){return n.flatItems.find((function(t){return t.id===e}))}}),Object.defineProperty(this,"initOnHistory",{enumerable:!0,configurable:!0,writable:!0,value:function(e){void 0===e&&(e=n.history.currentId);var t,i=e.split(n.options.deepLinkPrefix)[0];i&&((t=n.flatItems.find((function(e){return e.id===i})))?(n.activate(t,!1,!1,!1,e),t.active=!1):i.startsWith(SECURITY_SCHEMES_SECTION_PREFIX)&&(t=n.flatItems.find((function(e){return SECURITY_SCHEMES_SECTION_PREFIX.startsWith(e.id)})),n.activate(t,!1,!1,!1,e),t&&(t.active=!1)))}}),Object.defineProperty(this,"updateOnHistory",{enumerable:!0,configurable:!0,writable:!0,value:function(e){void 0===e&&(e=n.history.currentId);var t=e.split(n.options.deepLinkPrefix)[0];if(t){var i=n.flatItems.find(t.includes(SECURITY_SCHEMES_SECTION_PREFIX)?function(e){return SECURITY_SCHEMES_SECTION_PREFIX.startsWith(e.id)}:function(e){return e.id===t});i?n.activateAndScroll(i,!1,void 0,e):(n.scroll.prevOffsetY=0,n.scroll.scrollIntoViewBySelector("["+SECTION_ATTR+'="'+escapeHTMLAttrChars(t)+'"]'))}}}),Object.defineProperty(this,"updateVersionOnHistory",{enumerable:!0,configurable:!0,writable:!0,value:function(e){if("versionsInfo"in n.definition){var t=e.split("/")[0],i=n.definition.versionsInfo.findIndex((function(e){return e.id===t}));i<0&&(i=n.definition.versionsInfo.findIndex((function(e){return e.isDefault}))),n.definition.activeVersionIdx!==i&&(n.definition.changeVersion(i<0?0:i),n.updateItemsByVersionChange(!1,e));var r=t+"/"+SECURITY_SCHEMES_SECTION_PREFIX;if(e.startsWith(r)){var o=n.flatItems.find((function(e){return r.startsWith(e.id)}));n.activate(o,!1,!0),setTimeout((function(){return n.scroll.scrollIntoViewBySelector("["+SECTION_ATTR+'="'+escapeHTMLAttrChars(e)+'"]')}),0)}}}}),Object.defineProperty(this,"updateOnScroll",{enumerable:!0,configurable:!0,writable:!0,value:function(e){for(var t=e?1:-1,i=n.activeItemIdx;(-1!==i||e)&&!(i>=n.flatItems.length-1&&e);){if(e){var r=!1,o=n.flatItems[i+1];switch(n.options.pagination){case"section":r=o&&("spec"===o.type||"group"===o.type||"tag"===o.type);break;case"item":r="section"!==(null==o?void 0:o.type)}var a=n.getElementAt(i+1);if(-1===i&&"tag"===n.flatItems[0].type&&(r=!1),n.scroll.isElementBellow(a)||r)break}else{var s=n.flatItems[i]&&n.flatItems[i].type;r="section"===n.options.pagination&&("spec"===s||"group"===s||"tag"===s)||"item"===n.options.pagination&&"section"!==s,a=n.getElementAt(i);if(n.scroll.isElementAbove(a)||r)break}i+=t}var l=n.flatItems[i];"none"===n.options.pagination||"section"===n.options.pagination?l&&l.active||n.activate(l,!0,!0,!1):l&&"section"===l.type&&(l.active||n.activate(l,!0,!0,!1))}}),makeObservable(this),this.items=e.contentItems,this.flatItems=flattenByProp(this.items||[],"items"),this.flatItems.forEach((function(e,t){return e.absoluteIdx=t})),i.disableSidebar||this.subscribe(),this.flatItems.forEach((function(e,t){return normalizeItem(e,t,i.pagination,n.definition instanceof VersionedSpecStore,n.history)})),this.renderItems=this.buildRenderItems(0),this.activeItemIdx=-1,this.activeRenderItemIdx=-1,this.definition instanceof VersionedSpecStore&&this.history.subscribe(this.updateVersionOnHistory)}return Object.defineProperty(e,"updateOnHistory",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){void 0===e&&(e=historyInst.currentId),e&&t.scrollIntoViewBySelector("["+SECTION_ATTR+'="'+escapeHTMLAttrChars(e)+'"]')}}),Object.defineProperty(e.prototype,"subscribe",{enumerable:!1,configurable:!0,writable:!0,value:function(){this._unsubscribe=this.scroll.subscribe(this.updateOnScroll),this._hashUnsubscribe=this.history.subscribe(this.updateOnHistory)}}),Object.defineProperty(e.prototype,"toggleSidebar",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.sideBarOpened=!this.sideBarOpened}}),Object.defineProperty(e.prototype,"closeSidebar",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.sideBarOpened=!1}}),Object.defineProperty(e.prototype,"getElementAt",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this.flatItems[e];return t&&querySelector("["+SECTION_ATTR+'="'+escapeHTMLAttrChars(t.id)+'"]')||null}}),Object.defineProperty(e.prototype,"getElementAtOrFirstChild",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this.flatItems[e];return t&&"group"===t.type&&(t=t.items[0]),t&&querySelector("["+SECTION_ATTR+'="'+escapeHTMLAttrChars(t.id)+'"]')||null}}),Object.defineProperty(e.prototype,"activeItem",{get:function(){return this.flatItems[this.activeItemIdx]||void 0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"updateItemsByVersionChange",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var i=this;if("versionsInfo"in this.definition){var r=this.activeItem&&this.activeItem.active?this.activeItem.absoluteIdx:-1;t=t&&withoutVersion(t)||this.activeItem&&this.activeItem.active&&withoutVersion(this.activeItem.id)||"",this.deactivate(this.activeItem),this.items=this.definition.contentItems,this.flatItems=flattenByProp(this.items||[],"items"),this.flatItems.forEach((function(e,t){return normalizeItem(e,t,i.options.pagination,i.definition instanceof VersionedSpecStore,i.history)}));var n=t?(this.flatItems.find((function(e){return withoutVersion(e.id)===t}))||{absoluteIdx:-1}).absoluteIdx:-1;if(-1!==n&&"none"!==this.options.pagination||(this.renderItems=this.buildRenderItems(0)),this.activeItemIdx=-1,-1!==n)this.activate(this.flatItems[n],e);else if(-1!==r)this.activateAndScroll(this.flatItems[0],e);else if(e){var o=this.definition.versionsInfo[this.definition.activeVersionIdx];if(!this.history.currentId&&o.isDefault)return;this.history.replace(o.id)}}}}),Object.defineProperty(e.prototype,"buildRenderItems",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if("none"===this.options.pagination)return this.items;var t=this.flatItems[e];if(t||(t=this.flatItems[0]),"spec"===t.type)return this.buildRenderItems(e+1);if("section"===t.type){var i=[],r=getParentOfType(t,"tag");if("section"===this.options.pagination&&r)return[r];if("item"===this.options.pagination&&r)return[__assign(__assign({},r),{items:getLeadingSectionItems(r)})];for(var n=getParentSpecItem(t),o=(null==n?void 0:n.items)||this.items,a=0;a<o.length&&"section"===o[a].type;a++)i.push(o[a]);return i}switch(this.options.pagination){case"section":if("operation"===t.type&&t.parent)return[t.parent];if("group"!==t.type)return[t];case"item":return"operation"===t.type?[t]:[__assign(__assign({},t),{items:getLeadingSectionItems(t)})];default:return[]}}}),Object.defineProperty(e.prototype,"activateBase",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,i,r){var n,o,a,s,l,c=this;if(void 0===t&&(t=!0),void 0===i&&(i=!1),(null===(n=this.activeItem)||void 0===n?void 0:n.id)===(null==e?void 0:e.id)&&!r)return t&&e&&this.history.replace(encodeURI(e.id),i),void(e&&!e.active&&e.activate());if(!e||"group"!==e.type)if(this.deactivate(this.activeItem),e){if(!(e.depth<=GROUP_DEPTH)){this.activeItemIdx=e.absoluteIdx,t&&this.history.replace(encodeURI(e.id),i),e.activate(),e.expand();var u=new URLSearchParams(r),d="request"===u.get("t"),f="response"===u.get("t"),p=u.get("c"),v=u.get("ct"),b=u.get("in"),h=u.get("path"),m=(null==h?void 0:h.split(this.options.deepLinkSeparator))||[],I=e;if(b)for(var y=I.parameters,g=function(e){var t=null==y?void 0:y.find((function(t){return t.name===e}));null==t||t.expand(),y=null===(o=null==t?void 0:t.schema)||void 0===o?void 0:o.fields},O=0,S=m;O<S.length;O++){g(S[O])}else if(d){var _=null===(a=I.requestBody)||void 0===a?void 0:a.content;null===(s=I.activateMimeName)||void 0===s||s.call(I,v||I.activeMimeName),setTimeout((function(){var e;return c.activateField(m,null===(e=null==_?void 0:_.active)||void 0===e?void 0:e.schema)}),0)}else if(f){var P=I.responses.find((function(e){return e.code===p}));(null==P?void 0:P.expanded)||null==P||P.expand(),null===(l=I.activateMimeName)||void 0===l||l.call(I,v||I.activeMimeName),setTimeout((function(){var e,t;return c.activateField(m,null===(t=null===(e=null==P?void 0:P.content)||void 0===e?void 0:e.active)||void 0===t?void 0:t.schema)}),0)}}}else this.history.replace("",i)}}),Object.defineProperty(e.prototype,"activate",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,i,r,n){var o=this;if(void 0===t&&(t=!0),void 0===i&&(i=!1),void 0===r&&(r=!0),"none"===this.options.pagination)return this.activateBase(e,t,i,n),void(!e&&this.definition instanceof VersionedSpecStore&&this.history.replace(this.definition.currentVersionId,!0));if("group"!==(null==e?void 0:e.type)){if(e&&"item"===this.options.pagination&&"tag"===e.type&&!e.description){if(e.expanded)return void e.collapse();e.expand(),e=this.flatItems[e.absoluteIdx+1]}if(this.activateBase(e,e&&t,i,n),this.activeRenderItemIdx=e?e.absoluteIdx:this.activeRenderItemIdx,this.activeRenderItemIdx>=0){var a=this.buildRenderItems(this.activeRenderItemIdx);a.some((function(e,t){return e.id!==o.renderItems[t].id}))&&(this.renderItems=a),this.renderItems[0]&&(this.activeRenderItemIdx=this.renderItems[0].absoluteIdx)}r&&setTimeout((function(){return o.scrollToActive()})),!e&&this.definition instanceof VersionedSpecStore&&this.history.replace(this.definition.currentVersionId,!0)}}}),Object.defineProperty(e.prototype,"activateField",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){for(var i,r=function(r){var n=e[r],o=r===e.length-1;if((null==t?void 0:t.hasType("array"))&&(null==t?void 0:t.items)&&(t=null==t?void 0:t.items),null==t?void 0:t.oneOf){var a=Number(n);return null==t||t.activateOneOf(a),t=null==t?void 0:t.oneOf[a],"continue"}(null==t?void 0:t.hasType("array"))&&(null==t?void 0:t.items)&&(t=null==t?void 0:t.items);var s=null===(i=null==t?void 0:t.fields)||void 0===i?void 0:i.find((function(e){return e.name===n}));o||null==s||s.expand(),t=null==s?void 0:s.schema},n=0;n<e.length-1;n++)r(n)}}),Object.defineProperty(e.prototype,"deactivate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(void 0!==e)for(e.deactivate();void 0!==e;)e.collapse(),e=e.parent}}),Object.defineProperty(e.prototype,"activateAndScroll",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,i,r){void 0===r&&(r="");var n=r.split(this.options.deepLinkPrefix)[1],o=e&&this.getItemById(e.id)||e;this.activate(o,t,i,!1,n),this.scrollToActive(n?r:""),o&&o.items.length||this.closeSidebar()}}),Object.defineProperty(e.prototype,"scrollToActive",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;e?setTimeout((function(){return t.scroll.scrollIntoViewBySelector("["+SECTION_ATTR+'="'+escapeHTMLAttrChars(e)+'"]')}),0):this.scroll.scrollIntoView(this.getElementAt(this.activeItemIdx))}}),Object.defineProperty(e.prototype,"dispose",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e,t;null===(e=this._unsubscribe)||void 0===e||e.call(this),null===(t=this._hashUnsubscribe)||void 0===t||t.call(this)}}),__decorate([observable],e.prototype,"flatItems",void 0),__decorate([observable],e.prototype,"items",void 0),__decorate([observable],e.prototype,"activeRenderItemIdx",void 0),__decorate([observable.ref],e.prototype,"renderItems",void 0),__decorate([observable],e.prototype,"activeItemIdx",void 0),__decorate([observable],e.prototype,"sideBarOpened",void 0),__decorate([action],e.prototype,"toggleSidebar",null),__decorate([action],e.prototype,"closeSidebar",null),__decorate([action],e.prototype,"activateBase",null),__decorate([action],e.prototype,"activate",null),__decorate([action.bound],e.prototype,"activateAndScroll",null),e}();export{ProMenu};function withoutVersion(e){return e.split("/").slice(1).join("/")}function getParentSpecItem(e){for(;e;){if("spec"===e.type)return e;e=e.parent}}function getParentOfType(e,t){if(e&&e.parent)return e.parent.type===t?e.parent:getParentOfType(e.parent,t)}function getLeadingSectionItems(e){for(var t=[],i=0,r=e.items;i<r.length;i++){var n=r[i];if("section"!==n.type)break;t.push(n)}return t}function normalizeItem(e,t,i,r,n){if(e.absoluteIdx=t,"none"!==i){var o=getParentOfType(e,"tag");if(e.parent&&o&&!("_id_normalized"in e)){if(r){var a=e.id.split("/"),s=a[0],l=a[1],c=withoutVersion(e.id);if("operation"===e.type&&!l.startsWith("operation"))return;e.id=s+"/"+withoutVersion(o.id)+"/"+c}else{if("operation"===e.type&&!e.id.startsWith("operation"))return;e.id=o.id+"/"+e.id}e._id_normalized=!0}}"group"!==e.type&&(e.href=n.linkForId(e.id))}
2
2
  //# sourceMappingURL=ProMenu.js.map
package/lib-esm/utils.js CHANGED
@@ -1,2 +1,2 @@
1
- import*as React from"react";import{IS_BROWSER}from"./redoc-lib";var _store;export var getGlobalStore=function(){return _store};export var setGlobalStore=function(e){return _store=e};export function debounce(e,t,o){var r,n=0;return function(){for(var a=[],i=0;i<arguments.length;i++)a[i]=arguments[i];function s(){n>1&&e.apply(void 0,a),n=0,r=null}n++,r?clearTimeout(r):o&&e.apply(void 0,a),r=setTimeout(s,t)}}export function toSessionStorage(e,t){IS_BROWSER&&window.sessionStorage.setItem("redoc."+e,t)}export function fromSessionStorage(e){return IS_BROWSER&&window.sessionStorage.getItem("redoc."+e)||""}export function setParameterValue(e,t,o){toSessionStorage(e+"."+t,JSON.stringify(o))}export function getParameterValue(e,t){try{return JSON.parse(fromSessionStorage(e+"."+t))}catch(e){return null}}export function toLocalStorage(e,t){window.localStorage.setItem("redoc."+e,t)}export function fromLocalStorage(e){return IS_BROWSER&&window.localStorage.getItem("redoc."+e)||""}export function useDimensions(e){var t=React.useState(null),o=t[0],r=t[1];return React.useLayoutEffect((function(){if(e){var t=function(){return window.requestAnimationFrame((function(){return r(e.getBoundingClientRect())}))};return t(),window.addEventListener("resize",t),function(){window.removeEventListener("resize",t)}}}),[e]),[o]}export function escapeFormId(e){return e.replace(/\./g,"%2e")}export function unescapeFormId(e){return e.replace(/%2e/g,".")}export function setSecurityDetails(e,t){e=escapeFormId(e),"string"==typeof t?toSessionStorage("auth."+e,t):t&&(toSessionStorage("auth."+e+".password",t.password||""),toSessionStorage("auth."+e+".username",t.username||""),toSessionStorage("auth."+e+".token",t.token&&JSON.stringify(t.token)||""),toSessionStorage("auth."+e+".client_id",t.client_id||""),toSessionStorage("auth."+e+".client_secret",t.client_secret||""),toSessionStorage("auth."+e+".scopes",t.scopes&&JSON.stringify(t.scopes)||""))}export function setSecurityDetailsVariants(e,t){toSessionStorage("auth."+(e=escapeFormId(e))+".variants",JSON.stringify(t))}export function getSecurityDetails(e){var t=fromSessionStorage("auth."+(e=escapeFormId(e))),o=fromSessionStorage("auth."+e+".token");return{raw:t,password:fromSessionStorage("auth."+e+".password"),username:fromSessionStorage("auth."+e+".username"),token:o&&JSON.parse(o)||null,client_id:fromSessionStorage("auth."+e+".client_id"),client_secret:fromSessionStorage("auth."+e+".client_secret"),scopes:fromSessionStorage("auth."+e+".scopes")}}export function getSecurityDetailsOptions(e,t){var o=fromSessionStorage("auth."+(e=escapeFormId(e))+".variants");if(!o)return null;var r=JSON.parse(o);return r&&Array.isArray(r)?r.map((function(e){return e.details?""===t&&e.details&&"string"==typeof e.details?{label:e.label,value:e.details}:"object"==typeof e.details?{label:e.label,value:e.details[t]}:null:null})).filter(notNull):null}function notNull(e){return null!==e}export function get(e,t,o){return"string"==typeof t&&(t=t.split(".")),t.reduce((function(e,t){return e&&e[t]?e[t]:o}),e)}export function joinStringFactory(e){return function(){for(var t=[],o=0;o<arguments.length;o++)t[o]=arguments[o];return t.filter(Boolean).join(e)}}export var dottedString=joinStringFactory(".");
1
+ import*as React from"react";import{IS_BROWSER}from"./redoc-lib";var _store;export var getGlobalStore=function(){return _store};export var setGlobalStore=function(e){return _store=e};export function debounce(e,t,r){var o,n=0;return function(){for(var i=[],a=0;a<arguments.length;a++)i[a]=arguments[a];function s(){n>1&&e.apply(void 0,i),n=0,o=null}n++,o?clearTimeout(o):r&&e.apply(void 0,i),o=setTimeout(s,t)}}export function toSessionStorage(e,t){IS_BROWSER&&window.sessionStorage.setItem("redoc."+e,t)}export function fromSessionStorage(e){return IS_BROWSER&&window.sessionStorage.getItem("redoc."+e)||""}export function setParameterValue(e,t,r){toSessionStorage(e+"."+t,JSON.stringify(r))}export function getParameterValue(e,t){try{return JSON.parse(fromSessionStorage(e+"."+t))}catch(e){return null}}export function toLocalStorage(e,t){window.localStorage.setItem("redoc."+e,t)}export function fromLocalStorage(e){return IS_BROWSER&&window.localStorage.getItem("redoc."+e)||""}export function useDimensions(e){var t=React.useState(null),r=t[0],o=t[1];return React.useLayoutEffect((function(){if(e){var t=function(){return window.requestAnimationFrame((function(){return o(e.getBoundingClientRect())}))};return t(),window.addEventListener("resize",t),function(){window.removeEventListener("resize",t)}}}),[e]),[r]}export function escapeFormId(e){return e.replace(/[.[\]]/g,(function(e){return{".":"%2e","[":"%5b","]":"%5d"}[e]||""}))}export function unescapeFormId(e){return e.replace(/%2e|%5b|%5d/g,(function(e){return{"%2e":".","%5b":"[","%5d":"]"}[e]||""}))}export function setSecurityDetails(e,t){e=escapeFormId(e),"string"==typeof t?toSessionStorage("auth."+e,t):t&&(toSessionStorage("auth."+e+".password",t.password||""),toSessionStorage("auth."+e+".username",t.username||""),toSessionStorage("auth."+e+".token",t.token&&JSON.stringify(t.token)||""),toSessionStorage("auth."+e+".client_id",t.client_id||""),toSessionStorage("auth."+e+".client_secret",t.client_secret||""),toSessionStorage("auth."+e+".scopes",t.scopes&&JSON.stringify(t.scopes)||""))}export function setSecurityDetailsVariants(e,t){toSessionStorage("auth."+(e=escapeFormId(e))+".variants",JSON.stringify(t))}export function getSecurityDetails(e){var t=fromSessionStorage("auth."+(e=escapeFormId(e))),r=fromSessionStorage("auth."+e+".token");return{raw:t,password:fromSessionStorage("auth."+e+".password"),username:fromSessionStorage("auth."+e+".username"),token:r&&JSON.parse(r)||null,client_id:fromSessionStorage("auth."+e+".client_id"),client_secret:fromSessionStorage("auth."+e+".client_secret"),scopes:fromSessionStorage("auth."+e+".scopes")}}export function getSecurityDetailsOptions(e,t){var r=fromSessionStorage("auth."+(e=escapeFormId(e))+".variants");if(!r)return null;var o=JSON.parse(r);return o&&Array.isArray(o)?o.map((function(e){return e.details?""===t&&e.details&&"string"==typeof e.details?{label:e.label,value:e.details}:"object"==typeof e.details?{label:e.label,value:e.details[t]}:null:null})).filter(notNull):null}function notNull(e){return null!==e}export function get(e,t,r){return"string"==typeof t&&(t=t.split(".")),t.reduce((function(e,t){return e&&e[t]?e[t]:r}),e)}export function joinStringFactory(e){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return t.filter(Boolean).join(e)}}export var dottedString=joinStringFactory(".");
2
2
  //# sourceMappingURL=utils.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redocly/reference-docs",
3
- "version": "2.13.3",
3
+ "version": "2.13.6",
4
4
  "description": "Redocly Reference Docs",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-esm/index.js",