@redocly/reference-docs 2.1.15 → 2.1.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/bin/cli/commands/redocly-docs-cli.min.js +28 -28
  2. package/dist/console.redocly-reference-docs.min.js +3 -3
  3. package/dist/oauth2-redirect.js +2 -2
  4. package/dist/redocly-reference-docs.min.js +11 -11
  5. package/lib/components/Endpoint/Endpoint.d.ts +2 -2
  6. package/lib/components/Endpoint/Endpoint.js +1 -1
  7. package/lib/components/Endpoint/ServerList.d.ts +2 -2
  8. package/lib/components/Endpoint/ServerList.js +1 -1
  9. package/lib/components/Endpoint/Summary.d.ts +2 -2
  10. package/lib/components/Endpoint/Summary.js +1 -1
  11. package/lib/components/NextSectionButton.js +1 -1
  12. package/lib/components/Overlay.js +1 -1
  13. package/lib/components/Panel/Accordion.js +1 -1
  14. package/lib/components/Panel/PanelBody.d.ts +1 -1
  15. package/lib/components/Panel/PanelBody.js +1 -1
  16. package/lib/components/Panel/PanelComponent.d.ts +2 -3
  17. package/lib/components/Panel/PanelComponent.js +1 -1
  18. package/lib/components/Panel/ResponsePanel.js +1 -1
  19. package/lib/components/ProProviders.js +1 -1
  20. package/lib/components/RedoclyReferenceDocs.d.ts +3 -3
  21. package/lib/components/RedoclyReferenceDocs.js +1 -1
  22. package/lib/components/Samples/ExampleSwitch.d.ts +1 -1
  23. package/lib/components/Samples/ExampleSwitch.js +1 -1
  24. package/lib/components/Samples/SamplesTabs.js +1 -1
  25. package/lib/components/Search/MenuItemProSearch.d.ts +4 -4
  26. package/lib/components/Search/ProSearchBox.d.ts +6 -6
  27. package/lib/components/Search/ProSearchBox.js +1 -1
  28. package/lib/components/Search/SearchField.js +1 -1
  29. package/lib/components/Search/styled.d.ts +3 -3
  30. package/lib/components/StoreProvider.d.ts +4 -4
  31. package/lib/components/StoreProvider.js +1 -1
  32. package/lib/components/Tabs/CollapsingTabs/CollapsingTabs.js +1 -1
  33. package/lib/components/Tabs/CollapsingTabs/CollapsingTabsBase.js +1 -1
  34. package/lib/components/common/Checkbox.js +1 -1
  35. package/lib/components/common/FileUpload/helper.d.ts +1 -1
  36. package/lib/components/common/FileUpload/helper.js +1 -1
  37. package/lib/components/common/TextField.d.ts +3 -3
  38. package/lib/components/common/TextField.js +1 -1
  39. package/lib/components/console/OperationParameters.d.ts +1 -1
  40. package/lib/components/console/OperationParameters.js +1 -1
  41. package/lib/components/console/RequestBody.js +1 -1
  42. package/lib/components/console/ResponsePanel.d.ts +1 -1
  43. package/lib/components/console/ResponsePanel.js +1 -1
  44. package/lib/components/console/ServerDropdown.d.ts +1 -1
  45. package/lib/components/console/ServerDropdown.js +1 -1
  46. package/lib/redoc-lib/src/common-elements/LinkToField.d.ts +3 -2
  47. package/lib/redoc-lib/src/common-elements/LinkToField.js +1 -1
  48. package/lib/redoc-lib/src/components/ApiLogo/ApiLogo.js +1 -1
  49. package/lib/redoc-lib/src/components/ApiLogo/styled.elements.d.ts +5 -2
  50. package/lib/redoc-lib/src/components/ApiLogo/styled.elements.js +1 -1
  51. package/lib/redoc-lib/src/components/RequestSamples/RequestSamples.js +1 -1
  52. package/lib/redoc-lib/src/components/ResponseSamples/ResponseSamples.js +1 -1
  53. package/lib/redoc-lib/src/components/SideMenu/MenuItem.js +1 -1
  54. package/lib/redoc-lib/src/services/RedocNormalizedOptions.js +1 -1
  55. package/lib/redoc-lib/src/services/models/Example.js +1 -1
  56. package/lib/redoc-lib/src/services/models/Field.d.ts +1 -1
  57. package/lib/redoc-lib/src/services/models/Operation.d.ts +1 -1
  58. package/lib/redoc-lib/src/services/models/Operation.js +1 -1
  59. package/lib/redoc-lib/src/services/models/Schema.d.ts +1 -1
  60. package/lib/redoc-lib/src/services/models/Schema.js +1 -1
  61. package/lib/redoc-lib/src/theme.d.ts +1 -0
  62. package/lib/redoc-lib/src/utils/JsonPointer.d.ts +5 -5
  63. package/lib/redoc-lib/src/utils/JsonPointer.js +1 -1
  64. package/lib/redoc-lib/src/utils/loadAndBundleSpec.js +1 -1
  65. package/lib/redoc-lib/src/utils/memoize.js +1 -1
  66. package/lib/redoc-lib/src/utils/openapi.d.ts +0 -2
  67. package/lib/services/ProMenu.d.ts +2 -5
  68. package/lib/services/ProStore.d.ts +3 -2
  69. package/lib/services/ProStore.js +1 -1
  70. package/lib/services/code-samples/generator.d.ts +1 -1
  71. package/lib/services/code-samples/httpsnippet/helpers/code-helpers.d.ts +1 -1
  72. package/lib/services/code-samples/httpsnippet/helpers/reducer.d.ts +1 -1
  73. package/lib/services/code-samples/httpsnippet/targets/java8/apachehttp.d.ts +1 -1
  74. package/lib/services/code-samples/httpsnippet/targets/java8/apachehttp.js +1 -1
  75. package/lib/services/code-samples/httpsnippet/targets/php/utils.d.ts +1 -1
  76. package/lib/services/code-samples/httpsnippet/targets/php/utils.js +1 -1
  77. package/lib/services/extendTheme.d.ts +4 -4
  78. package/lib/services/extendTheme.js +1 -1
  79. package/lib/services/history/ProHashHistoryService.d.ts +1 -1
  80. package/lib/services/history/PushStateHistoryService.d.ts +1 -1
  81. package/lib/services/utils.d.ts +1 -1
  82. package/lib/standalone.d.ts +4 -3
  83. package/lib/standalone.js +1 -1
  84. package/lib/utils.d.ts +1 -1
  85. package/lib-esm/components/Endpoint/Endpoint.d.ts +2 -2
  86. package/lib-esm/components/Endpoint/Endpoint.js +1 -1
  87. package/lib-esm/components/Endpoint/ServerList.d.ts +2 -2
  88. package/lib-esm/components/Endpoint/ServerList.js +1 -1
  89. package/lib-esm/components/Endpoint/Summary.d.ts +2 -2
  90. package/lib-esm/components/Endpoint/Summary.js +1 -1
  91. package/lib-esm/components/NextSectionButton.js +1 -1
  92. package/lib-esm/components/Overlay.js +1 -1
  93. package/lib-esm/components/Panel/Accordion.js +1 -1
  94. package/lib-esm/components/Panel/PanelBody.d.ts +1 -1
  95. package/lib-esm/components/Panel/PanelBody.js +1 -1
  96. package/lib-esm/components/Panel/PanelComponent.d.ts +2 -3
  97. package/lib-esm/components/Panel/PanelComponent.js +1 -1
  98. package/lib-esm/components/Panel/ResponsePanel.js +1 -1
  99. package/lib-esm/components/ProProviders.js +1 -1
  100. package/lib-esm/components/RedoclyReferenceDocs.d.ts +3 -3
  101. package/lib-esm/components/RedoclyReferenceDocs.js +1 -1
  102. package/lib-esm/components/Samples/ExampleSwitch.d.ts +1 -1
  103. package/lib-esm/components/Samples/ExampleSwitch.js +1 -1
  104. package/lib-esm/components/Samples/SamplesTabs.js +1 -1
  105. package/lib-esm/components/Search/MenuItemProSearch.d.ts +4 -4
  106. package/lib-esm/components/Search/ProSearchBox.d.ts +6 -6
  107. package/lib-esm/components/Search/ProSearchBox.js +1 -1
  108. package/lib-esm/components/Search/SearchField.js +1 -1
  109. package/lib-esm/components/Search/styled.d.ts +3 -3
  110. package/lib-esm/components/StoreProvider.d.ts +4 -4
  111. package/lib-esm/components/StoreProvider.js +1 -1
  112. package/lib-esm/components/Tabs/CollapsingTabs/CollapsingTabs.js +1 -1
  113. package/lib-esm/components/Tabs/CollapsingTabs/CollapsingTabsBase.js +1 -1
  114. package/lib-esm/components/common/Checkbox.js +1 -1
  115. package/lib-esm/components/common/FileUpload/helper.d.ts +1 -1
  116. package/lib-esm/components/common/FileUpload/helper.js +1 -1
  117. package/lib-esm/components/common/TextField.d.ts +3 -3
  118. package/lib-esm/components/common/TextField.js +1 -1
  119. package/lib-esm/components/console/OperationParameters.d.ts +1 -1
  120. package/lib-esm/components/console/OperationParameters.js +1 -1
  121. package/lib-esm/components/console/RequestBody.js +1 -1
  122. package/lib-esm/components/console/ResponsePanel.d.ts +1 -1
  123. package/lib-esm/components/console/ResponsePanel.js +1 -1
  124. package/lib-esm/components/console/ServerDropdown.d.ts +1 -1
  125. package/lib-esm/components/console/ServerDropdown.js +1 -1
  126. package/lib-esm/redoc-lib/src/common-elements/LinkToField.d.ts +3 -2
  127. package/lib-esm/redoc-lib/src/common-elements/LinkToField.js +1 -1
  128. package/lib-esm/redoc-lib/src/components/ApiLogo/ApiLogo.js +1 -1
  129. package/lib-esm/redoc-lib/src/components/ApiLogo/styled.elements.d.ts +5 -2
  130. package/lib-esm/redoc-lib/src/components/ApiLogo/styled.elements.js +1 -1
  131. package/lib-esm/redoc-lib/src/components/RequestSamples/RequestSamples.js +1 -1
  132. package/lib-esm/redoc-lib/src/components/ResponseSamples/ResponseSamples.js +1 -1
  133. package/lib-esm/redoc-lib/src/components/SideMenu/MenuItem.js +1 -1
  134. package/lib-esm/redoc-lib/src/services/RedocNormalizedOptions.js +1 -1
  135. package/lib-esm/redoc-lib/src/services/models/Example.js +1 -1
  136. package/lib-esm/redoc-lib/src/services/models/Field.d.ts +1 -1
  137. package/lib-esm/redoc-lib/src/services/models/Operation.d.ts +1 -1
  138. package/lib-esm/redoc-lib/src/services/models/Operation.js +1 -1
  139. package/lib-esm/redoc-lib/src/services/models/Schema.d.ts +1 -1
  140. package/lib-esm/redoc-lib/src/services/models/Schema.js +1 -1
  141. package/lib-esm/redoc-lib/src/theme.d.ts +1 -0
  142. package/lib-esm/redoc-lib/src/utils/JsonPointer.d.ts +5 -5
  143. package/lib-esm/redoc-lib/src/utils/JsonPointer.js +1 -1
  144. package/lib-esm/redoc-lib/src/utils/loadAndBundleSpec.js +1 -1
  145. package/lib-esm/redoc-lib/src/utils/memoize.js +1 -1
  146. package/lib-esm/redoc-lib/src/utils/openapi.d.ts +0 -2
  147. package/lib-esm/services/ProMenu.d.ts +2 -5
  148. package/lib-esm/services/ProStore.d.ts +3 -2
  149. package/lib-esm/services/ProStore.js +1 -1
  150. package/lib-esm/services/code-samples/generator.d.ts +1 -1
  151. package/lib-esm/services/code-samples/httpsnippet/helpers/code-helpers.d.ts +1 -1
  152. package/lib-esm/services/code-samples/httpsnippet/helpers/reducer.d.ts +1 -1
  153. package/lib-esm/services/code-samples/httpsnippet/targets/java8/apachehttp.d.ts +1 -1
  154. package/lib-esm/services/code-samples/httpsnippet/targets/java8/apachehttp.js +1 -1
  155. package/lib-esm/services/code-samples/httpsnippet/targets/php/utils.d.ts +1 -1
  156. package/lib-esm/services/code-samples/httpsnippet/targets/php/utils.js +1 -1
  157. package/lib-esm/services/extendTheme.d.ts +4 -4
  158. package/lib-esm/services/extendTheme.js +1 -1
  159. package/lib-esm/services/history/ProHashHistoryService.d.ts +1 -1
  160. package/lib-esm/services/history/PushStateHistoryService.d.ts +1 -1
  161. package/lib-esm/services/utils.d.ts +1 -1
  162. package/lib-esm/standalone.d.ts +4 -3
  163. package/lib-esm/standalone.js +1 -1
  164. package/lib-esm/utils.d.ts +1 -1
  165. package/package.json +2 -2
@@ -21,7 +21,7 @@ export declare class RedoclyReferenceDocs extends React.Component<RedoclyReferen
21
21
  private _observer;
22
22
  private _updatedItems;
23
23
  rootElementRef: React.RefObject<HTMLDivElement>;
24
- constructor(props: any);
24
+ constructor(props: RedoclyReferenceDocsProps);
25
25
  componentDidMount(): void;
26
26
  componentDidUpdate(): void;
27
27
  componentWillUnmount(): void;
@@ -29,14 +29,14 @@ export declare class RedoclyReferenceDocs extends React.Component<RedoclyReferen
29
29
  render(): JSX.Element;
30
30
  }
31
31
  export interface RedoclyReferenceDocsStandaloneProps {
32
- definition?: object;
32
+ definition?: GenericObject;
33
33
  definitionUrl?: string;
34
34
  options?: RedocProRawOptions;
35
35
  activeItemId?: string;
36
36
  activeSampleLanguage?: CodeSampleConfig['lang'];
37
37
  activeDeepLink?: string;
38
38
  }
39
- export declare function RedoclyReferenceDocsStandalone(props: RedoclyReferenceDocsStandaloneProps): JSX.Element;
39
+ export declare function RedoclyReferenceDocsStandalone(props: RedoclyReferenceDocsStandaloneProps): JSX.Element | null;
40
40
  export interface RedoclyReferenceDocsMultiStandaloneProps {
41
41
  definitions: SpecsInfo;
42
42
  options?: RedocProRawOptions;
@@ -1,2 +1,2 @@
1
- import{__assign,__decorate,__extends,__makeTemplateObject}from"tslib";import*as React from"react";import{observer}from"mobx-react";import{configure,reaction}from"mobx";import{ApiInfo,ApiLogo,argValueToBoolean,ContentItems,createGlobalStyle,ErrorBoundary,Loading,mediaCSS,MiddlePanel,RedocNormalizedOptions,RightPanel,SideMenu,StickyResponsiveSidebar,ZERO_BREAKPOINT}from"../redoc-lib";import{ProSearchBox,SearchField}from"./Search";import{ContinueButton}from"./NextSectionButton";import{ProStoreProvider}from"./StoreProvider";import{LayoutVariant}from"../services/store-types";import{Console}from"./console/ConsoleLazy";import{MultipleSpecsStore}from"../services/MultipleSpecsStore";import{ProProviders}from"./ProProviders";import{Overlay}from"./Overlay";import{VersionedSpecStore}from"../services/VersionedSpecStore";import{VersionSwitcher}from"./VersionSwitcher";import{BackgroundStub,BackgroundStubFix,RedocWrap,ApiContentWrap,NextSectionButtonWrap,ToggleRightPanelButton,ChangeViewButton,ControlsWrap}from"./styled.elements";configure({useProxies:"ifavailable"});export var CssFixes=createGlobalStyle(templateObject_1||(templateObject_1=__makeTemplateObject(['\n div[data-section-id]::after {\n content: " ";\n display: block;\n height: 0;\n clear: both;\n visibility: hidden;\n }\n\n '," {\n ","\n }\n\n ",", "," {\n ","\n }\n\n ",", "," {\n ","\n }\n\n "," {\n ",";\n }\n"],['\n div[data-section-id]::after {\n content: " ";\n display: block;\n height: 0;\n clear: both;\n visibility: hidden;\n }\n\n '," {\n ","\n }\n\n ",", "," {\n ","\n }\n\n ",", "," {\n ","\n }\n\n "," {\n ",";\n }\n"])),RightPanel,(function(e){var t,n=e.theme,o=e.showRightPanel,r=e.layout;return mediaCSS({width:r===LayoutVariant.STACKED?"100%":"",paddingLeft:r===LayoutVariant.STACKED?n.spacing.sectionHorizontal:"",display:o?"":(t={},t[ZERO_BREAKPOINT]="",t[n.rightPanel.showAtBreakpoint]="none",t)})}),BackgroundStub,BackgroundStubFix,(function(e){var t,n=e.theme,o=e.showRightPanel,r=e.layout;return mediaCSS({display:o&&r!==LayoutVariant.STACKED?"":(t={},t[ZERO_BREAKPOINT]="",t[n.rightPanel.showAtBreakpoint]="none",t)})}),MiddlePanel,NextSectionButtonWrap,(function(e){var t,n=e.theme,o=e.showRightPanel,r=e.layout;return mediaCSS({paddingRight:r===LayoutVariant.STACKED?n.spacing.sectionHorizontal:"",width:o&&r===LayoutVariant.THREE_PANEL?"":(t={},t[ZERO_BREAKPOINT]="",t[n.rightPanel.showAtBreakpoint]="100%",t)})}),ApiContentWrap,(function(e){var t,n,o=e.theme,r=e.showRightPanel,a=e.layout;return mediaCSS({width:(t={},t[ZERO_BREAKPOINT]="none",t.small="calc(100% - "+o.sidebar.width+")",t),maxWidth:__assign((n={},n[ZERO_BREAKPOINT]="",n),o.layout[a===LayoutVariant.THREE_PANEL&&r?LayoutVariant.THREE_PANEL:LayoutVariant.STACKED].maxWidth)})}));var RedoclyReferenceDocs=function(e){function t(t){var n=e.call(this,t)||this;return Object.defineProperty(n,"_observer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"_updatedItems",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(n,"rootElementRef",{enumerable:!0,configurable:!0,writable:!0,value:React.createRef()}),Object.defineProperty(n,"handleClose",{enumerable:!0,configurable:!0,writable:!0,value:function(){n.props.store.tryItOut()}}),n.state={searchPopUpShown:!1,searchPopUpValue:""},n}return __extends(t,e),Object.defineProperty(t.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this;this.props.store.onDidMount(),this._observer=reaction((function(){return e.props.store.menu.renderItems}),(function(){e._updatedItems=!0}))}}),Object.defineProperty(t.prototype,"componentDidUpdate",{enumerable:!1,configurable:!0,writable:!0,value:function(){this._updatedItems&&(this._updatedItems=!1,this.props.store.menu.scrollToActive())}}),Object.defineProperty(t.prototype,"componentWillUnmount",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.props.store.dispose(),this._observer()}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=this.props.store,n=t.definition,o=t.menu,r=t.options,a=t.search,i=t.marker,c=this.props.store,l=o.renderItems,s=!r.hideInfoSection&&("none"===r.pagination||c.menu.activeRenderItemIdx<=0);return s&&"none"!==r.pagination&&r.disableSidebar&&l[0]&&"section"!==l[0].type&&(s=!1),n instanceof MultipleSpecsStore&&(s=!1),this.props._forceRenderInfo&&(s=!0),React.createElement(ProProviders,{store:c},React.createElement(RedocWrap,{className:"redoc-wrap",ref:this.rootElementRef},React.createElement(Overlay,{l:c.l}),React.createElement(CssFixes,{whiteLabel:r.whiteLabel,showRightPanel:c.showRightPanel,layout:c.layout}),c.tryItOperation&&React.createElement(Console,{rootElement:this.rootElementRef.current,store:c,operation:c.tryItOperation,onClose:this.handleClose,specIdx:c.tryItOperation.specIdx}),!r.disableSidebar&&React.createElement(StickyResponsiveSidebar,{menu:o,className:"menu-content"},!c.options.hideLogo&&React.createElement(ApiLogo,{info:n.info}),n instanceof VersionedSpecStore&&React.createElement(VersionSwitcher,{spec:n,onChange:function(e){n.changeVersion(e.idx),o.updateItemsByVersionChange(!0),c.tryItOut(void 0)}}),!c.options.disableSearch&&React.createElement(SearchField,{showPopUp:function(){return e.setState({searchPopUpShown:!0})},searchValue:this.state.searchPopUpValue,marker:i,setSearchValue:function(t){return e.setState({searchPopUpValue:t})}}),React.createElement(SideMenu,{menu:o})),React.createElement(ApiContentWrap,{className:(c.isLoading?"loading ":"")+"api-content",layout:c.layout===LayoutVariant.THREE_PANEL&&c.showRightPanel?LayoutVariant.THREE_PANEL:LayoutVariant.STACKED},r.theme.layout.showDarkRightPanel&&c.showRightPanel&&c.layout!==LayoutVariant.STACKED&&React.createElement(BackgroundStub,null),s&&React.createElement(ApiInfo,{store:c}),React.createElement(ContentItems,{items:l,store:c}),r.showNextButton&&React.createElement(ContinueButton,{pagination:r.pagination,menu:o}),this.props.children),React.createElement(ControlsWrap,null,React.createElement(ToggleRightPanelButton,{store:c,isVisible:c.layout===LayoutVariant.THREE_PANEL}),React.createElement(ChangeViewButton,{store:c,isVisible:c.showRightPanel})),React.createElement(ProSearchBox,{search:a,marker:i,menu:o,onActivate:o.activateAndScroll.bind(o),options:r,shown:this.state.searchPopUpShown,hidePopUp:function(){return e.setState({searchPopUpShown:!1})},showPopUp:function(){return e.setState({searchPopUpShown:!0})},setSearchValue:function(t){return e.setState({searchPopUpValue:t})},searchValue:this.state.searchPopUpValue}),r.theme.layout.showDarkRightPanel&&c.showRightPanel&&c.layout!==LayoutVariant.STACKED&&React.createElement(BackgroundStubFix,null)))}}),t=__decorate([observer],t)}(React.Component);export{RedoclyReferenceDocs};export function RedoclyReferenceDocsStandalone(e){var t=e.definition,n=e.definitionUrl,o=e.options,r=void 0===o?{}:o,a=e.activeItemId,i=e.activeSampleLanguage,c=e.activeDeepLink,l=argValueToBoolean(r.hideLoading,!1),s=new RedocNormalizedOptions(r),u=React.createElement(ProStoreProvider,{definition:t,definitionUrl:n,options:r,activeItemId:a,activeSampleLanguage:i,activeDeepLink:c},(function(e){var t=e.loading,n=e.store;return t?l?null:React.createElement(Loading,{color:s.theme.colors.primary.main}):React.createElement(RedoclyReferenceDocs,{store:n})}));return r.disableErrorBoundary?u:React.createElement(ErrorBoundary,null,u)}var templateObject_1,RedoclyReferenceDocsMultiStandalone=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return __extends(t,e),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.props,t=e.definitions,n=e.options,o=void 0===n?{}:n,r=argValueToBoolean(o.hideLoading,!1),a=new RedocNormalizedOptions(o);return React.createElement(ErrorBoundary,null,React.createElement(ProStoreProvider,{definitions:t,options:o},(function(e){var t=e.loading,n=e.store;return t?r?null:React.createElement(Loading,{color:a.theme.colors.primary.main}):React.createElement(RedoclyReferenceDocs,{store:n})})))}}),t}(React.Component);export{RedoclyReferenceDocsMultiStandalone};
1
+ import{__assign,__decorate,__extends,__makeTemplateObject}from"tslib";import*as React from"react";import{observer}from"mobx-react";import{configure,reaction}from"mobx";import{ApiInfo,ApiLogo,argValueToBoolean,ContentItems,createGlobalStyle,ErrorBoundary,Loading,mediaCSS,MiddlePanel,RedocNormalizedOptions,RightPanel,SideMenu,StickyResponsiveSidebar,ZERO_BREAKPOINT}from"../redoc-lib";import{ProSearchBox,SearchField}from"./Search";import{ContinueButton}from"./NextSectionButton";import{ProStoreProvider}from"./StoreProvider";import{LayoutVariant}from"../services/store-types";import{Console}from"./console/ConsoleLazy";import{MultipleSpecsStore}from"../services/MultipleSpecsStore";import{ProProviders}from"./ProProviders";import{Overlay}from"./Overlay";import{VersionedSpecStore}from"../services/VersionedSpecStore";import{VersionSwitcher}from"./VersionSwitcher";import{BackgroundStub,BackgroundStubFix,RedocWrap,ApiContentWrap,NextSectionButtonWrap,ToggleRightPanelButton,ChangeViewButton,ControlsWrap}from"./styled.elements";configure({useProxies:"ifavailable"});export var CssFixes=createGlobalStyle(templateObject_1||(templateObject_1=__makeTemplateObject(['\n div[data-section-id]::after {\n content: " ";\n display: block;\n height: 0;\n clear: both;\n visibility: hidden;\n }\n\n '," {\n ","\n }\n\n ",", "," {\n ","\n }\n\n ",", "," {\n ","\n }\n\n "," {\n ",";\n }\n"],['\n div[data-section-id]::after {\n content: " ";\n display: block;\n height: 0;\n clear: both;\n visibility: hidden;\n }\n\n '," {\n ","\n }\n\n ",", "," {\n ","\n }\n\n ",", "," {\n ","\n }\n\n "," {\n ",";\n }\n"])),RightPanel,(function(e){var t,n=e.theme,o=e.showRightPanel,r=e.layout;return mediaCSS({width:r===LayoutVariant.STACKED?"100%":"",paddingLeft:r===LayoutVariant.STACKED?n.spacing.sectionHorizontal:"",display:o?"":(t={},t[ZERO_BREAKPOINT]="",t[n.rightPanel.showAtBreakpoint]="none",t)})}),BackgroundStub,BackgroundStubFix,(function(e){var t,n=e.theme,o=e.showRightPanel,r=e.layout;return mediaCSS({display:o&&r!==LayoutVariant.STACKED?"":(t={},t[ZERO_BREAKPOINT]="",t[n.rightPanel.showAtBreakpoint]="none",t)})}),MiddlePanel,NextSectionButtonWrap,(function(e){var t,n=e.theme,o=e.showRightPanel,r=e.layout;return mediaCSS({paddingRight:r===LayoutVariant.STACKED?n.spacing.sectionHorizontal:"",width:o&&r===LayoutVariant.THREE_PANEL?"":(t={},t[ZERO_BREAKPOINT]="",t[n.rightPanel.showAtBreakpoint]="100%",t)})}),ApiContentWrap,(function(e){var t,n,o=e.theme,r=e.showRightPanel,a=e.layout;return mediaCSS({width:(t={},t[ZERO_BREAKPOINT]="none",t.small="calc(100% - "+o.sidebar.width+")",t),maxWidth:__assign((n={},n[ZERO_BREAKPOINT]="",n),o.layout[a===LayoutVariant.THREE_PANEL&&r?LayoutVariant.THREE_PANEL:LayoutVariant.STACKED].maxWidth)})}));var RedoclyReferenceDocs=function(e){function t(t){var n=e.call(this,t)||this;return Object.defineProperty(n,"_observer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"_updatedItems",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(n,"rootElementRef",{enumerable:!0,configurable:!0,writable:!0,value:React.createRef()}),Object.defineProperty(n,"handleClose",{enumerable:!0,configurable:!0,writable:!0,value:function(){return n.props.store.tryItOut()}}),n.state={searchPopUpShown:!1,searchPopUpValue:""},n}return __extends(t,e),Object.defineProperty(t.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this;this.props.store.onDidMount(),this._observer=reaction((function(){return e.props.store.menu.renderItems}),(function(){e._updatedItems=!0}))}}),Object.defineProperty(t.prototype,"componentDidUpdate",{enumerable:!1,configurable:!0,writable:!0,value:function(){this._updatedItems&&(this._updatedItems=!1,this.props.store.menu.scrollToActive())}}),Object.defineProperty(t.prototype,"componentWillUnmount",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.props.store.dispose(),this._observer()}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=this.props.store,n=t.definition,o=t.menu,r=t.options,a=t.search,i=t.marker,c=this.props.store,l=o.renderItems,s=!r.hideInfoSection&&("none"===r.pagination||c.menu.activeRenderItemIdx<=0);return s&&"none"!==r.pagination&&r.disableSidebar&&l[0]&&"section"!==l[0].type&&(s=!1),n instanceof MultipleSpecsStore&&(s=!1),this.props._forceRenderInfo&&(s=!0),React.createElement(ProProviders,{store:c},React.createElement(RedocWrap,{className:"redoc-wrap",ref:this.rootElementRef},React.createElement(Overlay,{l:c.l}),React.createElement(CssFixes,{whiteLabel:r.whiteLabel,showRightPanel:c.showRightPanel,layout:c.layout}),c.tryItOperation&&React.createElement(Console,{rootElement:this.rootElementRef.current,store:c,operation:c.tryItOperation,onClose:this.handleClose,specIdx:c.tryItOperation.specIdx}),!r.disableSidebar&&React.createElement(StickyResponsiveSidebar,{menu:o,className:"menu-content"},!c.options.hideLogo&&React.createElement(ApiLogo,{info:n.info}),n instanceof VersionedSpecStore&&React.createElement(VersionSwitcher,{spec:n,onChange:function(e){n.changeVersion(e.idx),o.updateItemsByVersionChange(!0),c.tryItOut(void 0)}}),!c.options.disableSearch&&React.createElement(SearchField,{showPopUp:function(){return e.setState({searchPopUpShown:!0})},searchValue:this.state.searchPopUpValue,marker:i,setSearchValue:function(t){return e.setState({searchPopUpValue:t})}}),React.createElement(SideMenu,{menu:o})),React.createElement(ApiContentWrap,{className:(c.isLoading?"loading ":"")+"api-content",layout:c.layout===LayoutVariant.THREE_PANEL&&c.showRightPanel?LayoutVariant.THREE_PANEL:LayoutVariant.STACKED},r.theme.layout.showDarkRightPanel&&c.showRightPanel&&c.layout!==LayoutVariant.STACKED&&React.createElement(BackgroundStub,null),s&&React.createElement(ApiInfo,{store:c}),React.createElement(ContentItems,{items:l,store:c}),r.showNextButton&&React.createElement(ContinueButton,{pagination:r.pagination,menu:o}),this.props.children),React.createElement(ControlsWrap,null,React.createElement(ToggleRightPanelButton,{store:c,isVisible:c.layout===LayoutVariant.THREE_PANEL}),React.createElement(ChangeViewButton,{store:c,isVisible:c.showRightPanel})),React.createElement(ProSearchBox,{search:a,marker:i,menu:o,onActivate:o.activateAndScroll.bind(o),options:r,shown:this.state.searchPopUpShown,hidePopUp:function(){return e.setState({searchPopUpShown:!1})},showPopUp:function(){return e.setState({searchPopUpShown:!0})},setSearchValue:function(t){return e.setState({searchPopUpValue:t})},searchValue:this.state.searchPopUpValue}),r.theme.layout.showDarkRightPanel&&c.showRightPanel&&c.layout!==LayoutVariant.STACKED&&React.createElement(BackgroundStubFix,null)))}}),t=__decorate([observer],t)}(React.Component);export{RedoclyReferenceDocs};export function RedoclyReferenceDocsStandalone(e){var t=e.definition,n=e.definitionUrl,o=e.options,r=void 0===o?{}:o,a=e.activeItemId,i=e.activeSampleLanguage,c=e.activeDeepLink,l=argValueToBoolean(r.hideLoading,!1),s=new RedocNormalizedOptions(r),u=React.createElement(ProStoreProvider,{definition:t,definitionUrl:n,options:r,activeItemId:a,activeSampleLanguage:i,activeDeepLink:c},(function(e){var t=e.loading,n=e.store;return t?l?null:React.createElement(Loading,{color:s.theme.colors.primary.main}):React.createElement(RedoclyReferenceDocs,{store:n})}));return r.disableErrorBoundary?u:React.createElement(ErrorBoundary,null,u)}var templateObject_1,RedoclyReferenceDocsMultiStandalone=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return __extends(t,e),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.props,t=e.definitions,n=e.options,o=void 0===n?{}:n,r=argValueToBoolean(o.hideLoading,!1),a=new RedocNormalizedOptions(o);return React.createElement(ErrorBoundary,null,React.createElement(ProStoreProvider,{definitions:t,options:o},(function(e){var t=e.loading,n=e.store;return t?r?null:React.createElement(Loading,{color:a.theme.colors.primary.main}):React.createElement(RedoclyReferenceDocs,{store:n})})))}}),t}(React.Component);export{RedoclyReferenceDocsMultiStandalone};
2
2
  //# sourceMappingURL=RedoclyReferenceDocs.js.map
@@ -10,5 +10,5 @@ export interface ExampleSwitchProps extends ExampleSwitchOptions {
10
10
  examples: ExampleModelsMap;
11
11
  onChange: (key: string) => void;
12
12
  }
13
- export declare const ExampleSwitch: ({ exampleKey, examples, onChange }: ExampleSwitchProps) => JSX.Element;
13
+ export declare const ExampleSwitch: ({ exampleKey, examples, onChange, }: ExampleSwitchProps) => JSX.Element;
14
14
  export {};
@@ -1,2 +1,2 @@
1
- import*as React from"react";import{useState,useEffect}from"react";import{WarnMessage}from"../shared";import{Dropdown}from"../../redoc-lib/src/common-elements";import{FormControl}from"../common/form";export var ExampleSwitch=function(e){var r=e.exampleKey,t=e.examples,a=e.onChange,o=Object.keys(t),n=o.indexOf(r),m=useState(n>-1?n:0),c=m[0],l=m[1];useEffect((function(){return l(n>-1?n:0)}),[r]);var u=o.map((function(e,r){return{value:t[e].summary||e,idx:r}}));return React.createElement(React.Fragment,null,React.createElement(FormControl,null,React.createElement(Dropdown,{variant:"dark",fullWidth:!0,prefix:"Example: ",options:u,value:u[c].value,onChange:function(e){var r=e.idx;l(r),a(o[r])}})),r&&-1===n&&React.createElement(WarnMessage,null,"Provided sample not found"))};
1
+ import*as React from"react";import{useState,useEffect}from"react";import{WarnMessage}from"../shared";import{Dropdown}from"../../redoc-lib/src/common-elements";import{FormControl}from"../common/form";export var ExampleSwitch=function(e){var r=e.exampleKey,t=e.examples,a=e.onChange,o=Object.keys(t),n=r?o.indexOf(r):0,m=useState(n>-1?n:0),c=m[0],l=m[1];useEffect((function(){return l(n>-1?n:0)}),[r,n]);var u=o.map((function(e,r){return{value:t[e].summary||e,idx:r}}));return React.createElement(React.Fragment,null,React.createElement(FormControl,null,React.createElement(Dropdown,{variant:"dark",fullWidth:!0,prefix:"Example: ",options:u,value:u[c].value,onChange:function(e){var r=e.idx;l(r),a(o[r])}})),r&&-1===n&&React.createElement(WarnMessage,null,"Provided sample not found"))};
2
2
  //# sourceMappingURL=ExampleSwitch.js.map
@@ -1,2 +1,2 @@
1
- import{__assign,__rest}from"tslib";import*as React from"react";import{useContext,useEffect,useLayoutEffect,useState}from"react";import{observer}from"mobx-react";import{CollapsingTabsBase}from"../Tabs";import{StoreContext}from"../../redoc-lib";import{LoadingWrapper}from"./LoadingWrapper";import{WarnMessage}from"../shared";export var SamplesTabs=observer((function(e){var a=e.children,t=e.onChange,r=e.defaultLanguage,n=__rest(e,["children","onChange","defaultLanguage"]),o=useContext(StoreContext),s=useState(r),i=s[0],u=s[1],c=useState([]),f=c[0],g=c[1];useEffect((function(){g(n.tabs.map((function(e){return e.lang})))}),[n.tabs]),useEffect((function(){i===o.activeSampleLanguage&&u(void 0)}),[o.activeSampleLanguage]),useLayoutEffect((function(){return o.stopLoader()}),[o.activeSampleLanguage]),useEffect((function(){i&&(o.startLoader(),o.activateSampleLanguage(i))}),[i,r]);var m;return React.createElement(LoadingWrapper,{className:i&&"updated"},React.createElement(CollapsingTabsBase,__assign({},n,{activeIndex:(m=f.indexOf(i||o.activeSampleLanguage),-1===m?0:m),onChange:function(e){var a=n.tabs[e];u(a.lang),t&&t(a)}}),r&&-1===f.indexOf(r)&&React.createElement(WarnMessage,null,"Provided language is not supported"),a))}));
1
+ import{__assign,__rest}from"tslib";import*as React from"react";import{useContext,useEffect,useLayoutEffect,useState,useMemo}from"react";import{observer}from"mobx-react";import{CollapsingTabsBase}from"../Tabs";import{StoreContext}from"../../redoc-lib";import{LoadingWrapper}from"./LoadingWrapper";import{WarnMessage}from"../shared";export var SamplesTabs=observer((function(e){var a=e.children,t=e.onChange,r=e.defaultLanguage,n=__rest(e,["children","onChange","defaultLanguage"]),o=useMemo((function(){return n.tabs.map((function(e){return e.lang}))}),[n.tabs]),s=useContext(StoreContext),u=useState(r),i=u[0],c=u[1],f=useState(o),g=f[0],m=f[1];useEffect((function(){return m(o)}),[n.tabs]),useEffect((function(){i===s.activeSampleLanguage&&c(void 0)}),[s.activeSampleLanguage]),useLayoutEffect((function(){return s.stopLoader()}),[s.activeSampleLanguage]),useEffect((function(){i&&(s.startLoader(),s.activateSampleLanguage(i))}),[i,r]);var p;return React.createElement(LoadingWrapper,{className:i&&"updated"},React.createElement(CollapsingTabsBase,__assign({},n,{activeIndex:(p=g.indexOf(i||s.activeSampleLanguage),-1===p?0:p),onChange:function(e){var a=n.tabs[e];c(a.lang),t&&t(a)}}),r&&-1===g.indexOf(r)&&React.createElement(WarnMessage,null,"Provided language is not supported"),a))}));
2
2
  //# sourceMappingURL=SamplesTabs.js.map
@@ -1,12 +1,12 @@
1
1
  /// <reference types="react" />
2
- import { IMenuItem } from '../../redoc-lib';
2
+ import { IMenuItem, HistoryService } from '../../redoc-lib';
3
3
  import { SearchResultMeta } from '../../services/SearchStore';
4
4
  export interface MenuItemProProps {
5
5
  result: SearchResultExtended;
6
6
  active: boolean;
7
- onActivate: (res: SearchResultExtended) => any;
7
+ onActivate: (res: SearchResultExtended) => void;
8
8
  term: string;
9
- history: any;
9
+ history: HistoryService;
10
10
  }
11
11
  export declare type SearchResultExtended = {
12
12
  item: IMenuItem;
@@ -18,4 +18,4 @@ export declare type SearchResultExtended = {
18
18
  }[];
19
19
  count: number;
20
20
  };
21
- export declare const MenuItemPro: ({ result, active, term, onActivate, history }: MenuItemProProps) => JSX.Element;
21
+ export declare const MenuItemPro: ({ result, active, term, onActivate, history, }: MenuItemProProps) => JSX.Element;
@@ -4,7 +4,7 @@ import { ProMenu } from '../../services/ProMenu';
4
4
  import { RedocProNormalizedOptions } from '../../services/ProStore';
5
5
  import { IMenuItem, SearchStore, MenuItem, MarkerService } from '../../redoc-lib';
6
6
  import { SearchResultExtended } from './MenuItemProSearch';
7
- declare type SearchResult<T = object | undefined> = {
7
+ declare type SearchResult<T = GenericObject | undefined> = {
8
8
  score: number;
9
9
  meta: T;
10
10
  };
@@ -15,7 +15,7 @@ export interface ProSearchBoxProps {
15
15
  onActivate: (item: IMenuItem) => void;
16
16
  className?: string;
17
17
  options: RedocProNormalizedOptions;
18
- shown: Boolean;
18
+ shown: boolean;
19
19
  hidePopUp: () => void;
20
20
  showPopUp: () => void;
21
21
  setSearchValue: (value: string) => void;
@@ -32,7 +32,7 @@ export declare class ProSearchBox extends React.PureComponent<ProSearchBoxProps,
32
32
  prevCancel: (() => void) | null;
33
33
  loadingTimer: any;
34
34
  inputRef: React.RefObject<HTMLInputElement>;
35
- constructor(props: any);
35
+ constructor(props: ProSearchBoxProps);
36
36
  componentDidUpdate(prevProps: ProSearchBoxProps): void;
37
37
  clearResults(term: string): void;
38
38
  clear: () => void;
@@ -40,13 +40,13 @@ export declare class ProSearchBox extends React.PureComponent<ProSearchBoxProps,
40
40
  setResults(results: SearchResult<SearchResultMeta>[]): void;
41
41
  updateSearchTerm(q: string): void;
42
42
  _queryWorker: (...args: (string | ((res: any) => void))[]) => void;
43
- queryWorker(q: any): () => void;
43
+ queryWorker(q: string): () => void;
44
44
  search: (event: React.ChangeEvent<HTMLInputElement>) => void;
45
45
  onActivate: (res: SearchResultExtended) => void;
46
- closeByWrapper: (e: any) => void;
46
+ closeByWrapper: (e: React.BaseSyntheticEvent) => void;
47
47
  closeByButton: () => void;
48
48
  componentDidMount(): void;
49
49
  componentWillUnmount(): void;
50
- render(): JSX.Element;
50
+ render(): JSX.Element | null;
51
51
  }
52
52
  export {};
@@ -1,2 +1,2 @@
1
- import{__extends}from"tslib";import*as React from"react";import hotkeys from"hotkeys-js";import{debounce}from"../../utils";import{PerfectScrollbarWrap}from"../../redoc-lib/src/common-elements/perfect-scrollbar";import{MenuItemPro}from"./MenuItemProSearch";import{SearchPopUpBG,SearchPopUpWrap,SearchPopUpHeader,TextContainer,SearchResultsBox,SearchResultsItems,ButtonClose,ButtonClear,CrossIcon,SearchIcon,SearchInput}from"./styled";function expandDeep(e,t){if(e)for(var r=function(e){var r=t.find((function(t){return t.name===e}));if(!r)return"break";r.expand(),t=getFields(r.schema)},a=0,n=e;a<n.length;a++){if("break"===r(n[a]))break}}function getFields(e){return e?e.oneOf?getFields(e.oneOf[e.activeOneOf]):e.items?getFields(e.items):e.fields||[]:[]}function enhanceResults(e,t){var r={};e.forEach((function(e){var a=e.meta,n=e.score,o=a.menuId,l=r[o];if(n=a.boost?n*a.boost:n,l){if(l.score=Math.max(n,l.score),a.place&&l.count++,a.place){var i=l.places.find((function(e){return e.place===a.place}));i&&a.path?i.paths.find((function(e){return(e&&e.join("->"))===a.path.join("->")}))||i.paths.push(a.path):l.places.push({place:a.place,paths:[a.path]})}}else r[o]={item:t(o),places:a.place?[{place:a.place,paths:[a.path]}]:[],score:n,count:a.place?1:0}}));var a=Object.keys(r).map((function(e){return r[e]}));return a.forEach((function(e,t){return e.index=t})),a.sort((function(e,t){return t.score-e.score})),a}function expandResults(e){for(var t=function(t){if("request fields"===t.place)for(var r=e.item.requestBody,a=getFields(r&&r.content&&r.content.active&&r.content.active.schema),n=0,o=t.paths;n<o.length;n++){if(!(u=o[n]))return{value:void 0};expandDeep(u.slice(0,u.length-1),a)}else if(t.place.startsWith("response ")){var l=t.place.split(" ")[1],i=e.item.responses.find((function(e){return e.code===l}));i&&(i.expanded=!0);a=getFields(i&&i.content&&i.content.active&&i.content.active.schema);for(var c=0,s=t.paths;c<s.length;c++){var u;if(!(u=s[c]))return{value:void 0};expandDeep(u.slice(0,u.length-1),a)}}},r=0,a=e.places;r<a.length;r++){var n=t(a[r]);if("object"==typeof n)return n.value}}var ProSearchBox=function(e){function t(t){var r=e.call(this,t)||this;return Object.defineProperty(r,"activeItemRef",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(r,"prevCancel",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(r,"loadingTimer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"inputRef",{enumerable:!0,configurable:!0,writable:!0,value:React.createRef()}),Object.defineProperty(r,"clear",{enumerable:!0,configurable:!0,writable:!0,value:function(){r.setState({results:null,term:"",activeItemIdx:-1}),r.props.setSearchValue(""),r.props.marker.unmark()}}),Object.defineProperty(r,"handleKeyDown",{enumerable:!0,configurable:!0,writable:!0,value:function(e){if(27===e.keyCode&&r.inputRef.current&&(r.inputRef.current.blur(),r.props.hidePopUp()),r.state.results&&(27===e.keyCode&&r.clear(),40===e.keyCode&&(r.setState({activeItemIdx:Math.min(r.state.activeItemIdx+1,r.state.results.length-1)}),e.preventDefault()),38===e.keyCode&&(r.setState({activeItemIdx:Math.max(0,r.state.activeItemIdx-1)}),e.preventDefault()),13===e.keyCode)){var t=r.state.results[r.state.activeItemIdx];t&&r.onActivate(t)}}}),Object.defineProperty(r,"_queryWorker",{enumerable:!0,configurable:!0,writable:!0,value:debounce((function(e,t){r.props.search.search(e).then((function(e){t(e)}))}),200,!0)}),Object.defineProperty(r,"search",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var t=e.target.value;if(t.length<3)return r.clearResults(t),void r.props.setSearchValue("");r.updateSearchTerm(t),r.prevCancel&&r.prevCancel(),r.prevCancel=r.queryWorker(t)}}),Object.defineProperty(r,"onActivate",{enumerable:!0,configurable:!0,writable:!0,value:function(e){if(r.props.hidePopUp(),r.props.onActivate(e.item),r.props.options.searchAutoExpand)try{expandResults(e)}catch(e){console.warn("Failed to autoexpand schema:",e.message)}}}),Object.defineProperty(r,"closeByWrapper",{enumerable:!0,configurable:!0,writable:!0,value:function(e){"search"===e.target.getAttribute("role")&&(r.clear(),r.props.hidePopUp())}}),Object.defineProperty(r,"closeByButton",{enumerable:!0,configurable:!0,writable:!0,value:function(){r.clear(),r.props.hidePopUp()}}),r.state={results:null,term:"",activeItemIdx:-1,loading:!1},r}return __extends(t,e),Object.defineProperty(t.prototype,"componentDidUpdate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this.props,r=t.search,a=t.shown,n=t.searchValue,o=e.search!==r,l=!e.shown&&a&&!n&&this.state.term;(o||l)&&this.clearResults("")}}),Object.defineProperty(t.prototype,"clearResults",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.loadingTimer&&(clearTimeout(this.loadingTimer),this.loadingTimer=null),this.setState({results:null,term:e,loading:!1}),this.props.marker.unmark()}}),Object.defineProperty(t.prototype,"setResults",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.loadingTimer&&(clearTimeout(this.loadingTimer),this.loadingTimer=null),this.setState({results:enhanceResults(e,this.props.menu.getItemById),loading:!1})}}),Object.defineProperty(t.prototype,"updateSearchTerm",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;this.setState({term:e}),this.props.setSearchValue(e),this.loadingTimer&&(clearTimeout(this.loadingTimer),this.loadingTimer=null),this.loadingTimer=setTimeout((function(){t.setState({loading:!0})}),500),this.props.marker.mark(e)}}),Object.defineProperty(t.prototype,"queryWorker",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this,r=!1;return this._queryWorker(e,(function(a){e.length<3&&t.clearResults(e),r||t.state.term===e&&t.setResults(a)})),function(){r=!0}}}),Object.defineProperty(t.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this;this.props.options.ctrlFHijack&&hotkeys("cmd+f,ctrl+f",(function(t){return t.preventDefault(),t.stopPropagation(),e.props.options.disableSearch||e.props.showPopUp(),!1}))}}),Object.defineProperty(t.prototype,"componentWillUnmount",{enumerable:!1,configurable:!0,writable:!0,value:function(){hotkeys.unbind("cmd+f,ctrl+f")}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=this.state,r=t.activeItemIdx,a=t.loading,n=t.results,o=this.props,l=o.shown,i=o.menu;return l&&React.createElement(SearchPopUpBG,{role:"search",onClick:this.closeByWrapper},React.createElement(SearchPopUpWrap,null,React.createElement(SearchPopUpHeader,null,React.createElement(SearchInput,{ref:this.inputRef,value:this.state.term,onKeyDown:this.handleKeyDown,placeholder:"Search...",type:"text",onChange:this.search,autoFocus:!0}),React.createElement(SearchIcon,null),this.state.term&&React.createElement(ButtonClear,{onClick:this.clear},"Clear"),React.createElement(ButtonClose,{onClick:this.closeByButton},React.createElement(CrossIcon,null))),React.createElement(SearchResultsBox,{"data-role":"search:results"},a&&React.createElement(TextContainer,null,"Loading..."),!a&&!(null==n?void 0:n.length)&&React.createElement(TextContainer,null,"No results found"),(null==n?void 0:n.length)?React.createElement(PerfectScrollbarWrap,{options:{wheelPropagation:!1}},React.createElement(SearchResultsItems,null,n.slice(0,50).map((function(t,a){return React.createElement(MenuItemPro,{key:t.index+t.item.id,result:t,active:a===r,onActivate:e.onActivate,term:e.state.term,history:i.history})})))):null)))}}),t}(React.PureComponent);export{ProSearchBox};
1
+ import{__extends}from"tslib";import*as React from"react";import hotkeys from"hotkeys-js";import{debounce}from"../../utils";import{PerfectScrollbarWrap}from"../../redoc-lib/src/common-elements/perfect-scrollbar";import{MenuItemPro}from"./MenuItemProSearch";import{SearchPopUpBG,SearchPopUpWrap,SearchPopUpHeader,TextContainer,SearchResultsBox,SearchResultsItems,ButtonClose,ButtonClear,CrossIcon,SearchIcon,SearchInput}from"./styled";function expandDeep(e,t){if(e)for(var r=function(e){var r=t.find((function(t){return t.name===e}));if(!r)return"break";r.expand(),t=getFields(r.schema)},a=0,n=e;a<n.length;a++){if("break"===r(n[a]))break}}function getFields(e){return e?e.oneOf?getFields(e.oneOf[e.activeOneOf]):e.items?getFields(e.items):e.fields||[]:[]}function enhanceResults(e,t){var r={};e.forEach((function(e){var a=e.meta,n=e.score,o=a.menuId,l=r[o];if(n=a.boost?n*a.boost:n,l){if(l.score=Math.max(n,l.score),a.place&&l.count++,a.place){var i=l.places.find((function(e){return e.place===a.place}));i&&a.path?i.paths.find((function(e){var t;return(e&&e.join("->"))===(null===(t=a.path)||void 0===t?void 0:t.join("->"))}))||i.paths.push(a.path):l.places.push({place:a.place,paths:[a.path]})}}else r[o]={item:t(o),places:a.place?[{place:a.place,paths:[a.path]}]:[],score:n,count:a.place?1:0}}));var a=Object.keys(r).map((function(e){return r[e]}));return a.forEach((function(e,t){return e.index=t})),a.sort((function(e,t){return t.score-e.score})),a}function expandResults(e){for(var t=function(t){if("request fields"===t.place)for(var r=e.item.requestBody,a=getFields(r&&r.content&&r.content.active&&r.content.active.schema),n=0,o=t.paths;n<o.length;n++){if(!(u=o[n]))return{value:void 0};expandDeep(u.slice(0,u.length-1),a)}else if(t.place.startsWith("response ")){var l=t.place.split(" ")[1],i=e.item.responses.find((function(e){return e.code===l}));i&&(i.expanded=!0);a=getFields(i&&i.content&&i.content.active&&i.content.active.schema);for(var c=0,s=t.paths;c<s.length;c++){var u;if(!(u=s[c]))return{value:void 0};expandDeep(u.slice(0,u.length-1),a)}}},r=0,a=e.places;r<a.length;r++){var n=t(a[r]);if("object"==typeof n)return n.value}}var ProSearchBox=function(e){function t(t){var r=e.call(this,t)||this;return Object.defineProperty(r,"activeItemRef",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(r,"prevCancel",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(r,"loadingTimer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"inputRef",{enumerable:!0,configurable:!0,writable:!0,value:React.createRef()}),Object.defineProperty(r,"clear",{enumerable:!0,configurable:!0,writable:!0,value:function(){r.setState({results:null,term:"",activeItemIdx:-1}),r.props.setSearchValue(""),r.props.marker.unmark()}}),Object.defineProperty(r,"handleKeyDown",{enumerable:!0,configurable:!0,writable:!0,value:function(e){if(27===e.keyCode&&r.inputRef.current&&(r.inputRef.current.blur(),r.props.hidePopUp()),r.state.results&&(27===e.keyCode&&r.clear(),40===e.keyCode&&(r.setState({activeItemIdx:Math.min(r.state.activeItemIdx+1,r.state.results.length-1)}),e.preventDefault()),38===e.keyCode&&(r.setState({activeItemIdx:Math.max(0,r.state.activeItemIdx-1)}),e.preventDefault()),13===e.keyCode)){var t=r.state.results[r.state.activeItemIdx];t&&r.onActivate(t)}}}),Object.defineProperty(r,"_queryWorker",{enumerable:!0,configurable:!0,writable:!0,value:debounce((function(e,t){r.props.search.search(e).then((function(e){t(e)}))}),200,!0)}),Object.defineProperty(r,"search",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var t=e.target.value;if(t.length<3)return r.clearResults(t),void r.props.setSearchValue("");r.updateSearchTerm(t),r.prevCancel&&r.prevCancel(),r.prevCancel=r.queryWorker(t)}}),Object.defineProperty(r,"onActivate",{enumerable:!0,configurable:!0,writable:!0,value:function(e){if(r.props.hidePopUp(),r.props.onActivate(e.item),r.props.options.searchAutoExpand)try{expandResults(e)}catch(e){console.warn("Failed to autoexpand schema:",e.message)}}}),Object.defineProperty(r,"closeByWrapper",{enumerable:!0,configurable:!0,writable:!0,value:function(e){"search"===e.target.getAttribute("role")&&(r.clear(),r.props.hidePopUp())}}),Object.defineProperty(r,"closeByButton",{enumerable:!0,configurable:!0,writable:!0,value:function(){r.clear(),r.props.hidePopUp()}}),r.state={results:null,term:"",activeItemIdx:-1,loading:!1},r}return __extends(t,e),Object.defineProperty(t.prototype,"componentDidUpdate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this.props,r=t.search,a=t.shown,n=t.searchValue,o=e.search!==r,l=!e.shown&&a&&!n&&this.state.term;(o||l)&&this.clearResults("")}}),Object.defineProperty(t.prototype,"clearResults",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.loadingTimer&&(clearTimeout(this.loadingTimer),this.loadingTimer=null),this.setState({results:null,term:e,loading:!1}),this.props.marker.unmark()}}),Object.defineProperty(t.prototype,"setResults",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.loadingTimer&&(clearTimeout(this.loadingTimer),this.loadingTimer=null),this.setState({results:enhanceResults(e,this.props.menu.getItemById),loading:!1})}}),Object.defineProperty(t.prototype,"updateSearchTerm",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;this.setState({term:e}),this.props.setSearchValue(e),this.loadingTimer&&(clearTimeout(this.loadingTimer),this.loadingTimer=null),this.loadingTimer=setTimeout((function(){t.setState({loading:!0})}),500),this.props.marker.mark(e)}}),Object.defineProperty(t.prototype,"queryWorker",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this,r=!1;return this._queryWorker(e,(function(a){e.length<3&&t.clearResults(e),r||t.state.term===e&&t.setResults(a)})),function(){r=!0}}}),Object.defineProperty(t.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this;this.props.options.ctrlFHijack&&hotkeys("cmd+f,ctrl+f",(function(t){return t.preventDefault(),t.stopPropagation(),e.props.options.disableSearch||e.props.showPopUp(),!1}))}}),Object.defineProperty(t.prototype,"componentWillUnmount",{enumerable:!1,configurable:!0,writable:!0,value:function(){hotkeys.unbind("cmd+f,ctrl+f")}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=this.state,r=t.activeItemIdx,a=t.loading,n=t.results,o=this.props,l=o.shown,i=o.menu;return l?React.createElement(SearchPopUpBG,{role:"search",onClick:this.closeByWrapper},React.createElement(SearchPopUpWrap,null,React.createElement(SearchPopUpHeader,null,React.createElement(SearchInput,{ref:this.inputRef,value:this.state.term,onKeyDown:this.handleKeyDown,placeholder:"Search...",type:"text",onChange:this.search,autoFocus:!0}),React.createElement(SearchIcon,null),this.state.term&&React.createElement(ButtonClear,{onClick:this.clear},"Clear"),React.createElement(ButtonClose,{onClick:this.closeByButton},React.createElement(CrossIcon,null))),React.createElement(SearchResultsBox,{"data-role":"search:results"},a&&React.createElement(TextContainer,null,"Loading..."),!a&&!(null==n?void 0:n.length)&&React.createElement(TextContainer,null,"No results found"),(null==n?void 0:n.length)?React.createElement(PerfectScrollbarWrap,{options:{wheelPropagation:!1}},React.createElement(SearchResultsItems,null,n.slice(0,50).map((function(t,a){return React.createElement(MenuItemPro,{key:t.index+t.item.id,result:t,active:a===r,onActivate:e.onActivate,term:e.state.term,history:i.history})})))):null))):null}}),t}(React.PureComponent);export{ProSearchBox};
2
2
  //# sourceMappingURL=ProSearchBox.js.map
@@ -1,2 +1,2 @@
1
- import*as React from"react";import{SearchFieldWrap,SearchIcon,ButtonClear,CrossIcon}from"./styled";export var SearchField=function(e){var r=e.showPopUp,a=e.searchValue,t=e.marker,c=e.setSearchValue,n=!!a;return React.createElement(SearchFieldWrap,{onClick:r},React.createElement("span",null),a||"Search",React.createElement(SearchIcon,null),n&&React.createElement(ButtonClear,{onClick:function(e){return function(e){e.stopPropagation(),t.unmark(),c("")}(e)}},React.createElement(CrossIcon,null)))};
1
+ import*as React from"react";import{SearchFieldWrap,SearchIcon,ButtonClear,CrossIcon}from"./styled";export var SearchField=function(e){var a=e.showPopUp,r=e.searchValue,t=e.marker,c=e.setSearchValue,n=!!r;return React.createElement(SearchFieldWrap,{onClick:a},React.createElement("span",null),r||"Search",React.createElement(SearchIcon,null),n&&React.createElement(ButtonClear,{onClick:function(e){e.stopPropagation(),t.unmark(),c("")}},React.createElement(CrossIcon,null)))};
2
2
  //# sourceMappingURL=SearchField.js.map
@@ -1,12 +1,12 @@
1
- /// <reference types="react" />
2
- export declare const CrossIcon: () => JSX.Element;
1
+ import * as React from 'react';
2
+ export declare const CrossIcon: () => React.ReactElement;
3
3
  export declare const ButtonClose: import("styled-components").StyledComponent<"i", import("../../redoc-lib").ResolvedThemeInterface, {
4
4
  className: "button-close";
5
5
  }, "className">;
6
6
  export declare const ButtonClear: import("styled-components").StyledComponent<"i", import("../../redoc-lib").ResolvedThemeInterface, {
7
7
  className: "button-clear";
8
8
  }, "className">;
9
- export declare const SearchIcon: () => JSX.Element;
9
+ export declare const SearchIcon: () => React.ReactElement;
10
10
  export declare const SearchFieldWrap: import("styled-components").StyledComponent<"button", import("../../redoc-lib").ResolvedThemeInterface, {
11
11
  className: "button-field-search";
12
12
  }, "className">;
@@ -1,22 +1,22 @@
1
1
  import * as React from 'react';
2
2
  import { ProStore, RedocProRawOptions } from '../services/ProStore';
3
- import { SpecsInfo, SpecInfo, SpecVersions } from '../services/MultipleSpecsStore';
3
+ import { SpecInfo, SpecsInfo, SpecVersions } from '../services/MultipleSpecsStore';
4
4
  import { CodeSampleConfig } from '../services/code-samples/types';
5
5
  export declare const Provider: React.Provider<ProStore | undefined>, Consumer: React.Consumer<ProStore | undefined>;
6
6
  interface StoreProviderProps {
7
7
  definitionUrl?: string;
8
- definition?: object;
8
+ definition?: GenericObject;
9
9
  store?: ProStore;
10
10
  definitions?: SpecsInfo;
11
11
  options?: RedocProRawOptions;
12
12
  children: (props: {
13
13
  loading: boolean;
14
14
  store?: ProStore;
15
- }) => any;
15
+ }) => JSX.Element | null;
16
16
  activeItemId?: string;
17
17
  activeSampleLanguage?: CodeSampleConfig['lang'] | string;
18
18
  activeDeepLink?: string;
19
19
  }
20
- export declare const ProStoreProvider: ({ definitions, options, definitionUrl, definition, activeItemId, activeSampleLanguage, activeDeepLink, children, }: StoreProviderProps) => any;
20
+ export declare const ProStoreProvider: ({ definitions, options, definitionUrl, definition, activeItemId, activeSampleLanguage, activeDeepLink, children, }: StoreProviderProps) => JSX.Element | null;
21
21
  export declare function loadSpecs(specs: SpecInfo[] | SpecVersions): Promise<void>;
22
22
  export {};
@@ -1,2 +1,2 @@
1
- var _a;import{__awaiter,__generator}from"tslib";import*as React from"react";import{loadAndBundleDefinition}from"../redoc-lib";import{ProStore}from"../services/ProStore";import slugify from"slugify";import isDeepEqual from"fast-deep-equal";import{FakeHistoryService}from"../services";export var Provider=(_a=React.createContext(void 0),_a.Provider),Consumer=_a.Consumer;export var ProStoreProvider=function(e){var t=e.definitions,n=e.options,r=e.definitionUrl,i=e.definition,o=e.activeItemId,a=e.activeSampleLanguage,s=e.activeDeepLink,u=e.children,c=React.useState()[1],l=React.useState(!0),d=l[0],f=l[1],p=React.useState(null),v=p[0],m=p[1];React.useEffect((function(){!function(){__awaiter(this,void 0,void 0,(function(){var e,o,a;return __generator(this,(function(s){switch(s.label){case 0:f(!0),s.label=1;case 1:return s.trys.push([1,6,,7]),e=m,t?[4,loadMany(t)]:[3,3];case 2:return o=s.sent(),[3,5];case 3:return[4,loadSingle(i,r,n)];case 4:o=s.sent(),s.label=5;case 5:return e.apply(void 0,[o]),[3,7];case 6:return a=s.sent(),c((function(){throw a})),[3,7];case 7:return[2]}}))}))}()}),[t,i,r]);var h=React.useMemo((function(){var e,t,i;if(v){var o=new ProStore(v,r,n);return(null===(e=o.options.hooks)||void 0===e?void 0:e.onInit)&&(null===(i=null===(t=o.options.hooks)||void 0===t?void 0:t.onInit)||void 0===i||i.call(t,{store:o})),o}}),useDeepCompareMemoize([v,n]));return React.useEffect((function(){if(h)return f(!1),function(){return h.dispose()}}),[h]),React.useEffect((function(){var e;if(h&&o){var t=(null==o?void 0:o.split(h.options.deepLinkPrefix)[0])||(null===(e=h.menu.flatItems[h.menu.activeItemIdx])||void 0===e?void 0:e.id),n=h.menu.flatItems.find((function(e){return e.id===t})),r=s?t+h.options.deepLinkPrefix+s:void 0;r&&h.menu.history instanceof FakeHistoryService&&h.menu.history.replaceForField(r),h.menu.activateAndScroll(n,!0,!1,r)}}),[o,s,h]),React.useEffect((function(){h&&a&&h.setActiveSampleLanguage(a)}),[a,h]),u({loading:d,store:h})};function fixSpec(e){for(var t=e.components&&e.components.securitySchemes||{},n=0,r=Object.keys(t);n<r.length;n++){var i=t[r[n]];i["x-type"]&&(i.type=i["x-type"]),i["x-scheme"]&&(i.scheme=i["x-scheme"])}}function loadMany(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){switch(t.label){case 0:return[4,loadSpecs(e||[])];case 1:return t.sent(),[2,e]}}))}))}function loadSingle(e,t,n){return __awaiter(this,void 0,void 0,(function(){var r,i,o,a;return __generator(this,(function(s){switch(s.label){case 0:if(!(null==n?void 0:n.skipBundleAndConvert))return[3,1];if(!e)throw new Error('spec must be specified when using "skipBundleAndConvert"');return r=e,[3,3];case 1:return[4,loadAndBundleDefinition(e||t)];case 2:r=s.sent(),s.label=3;case 3:if(!(i=null==n?void 0:n.unstable_externalDescription))return[3,8];s.label=4;case 4:return s.trys.push([4,7,,8]),[4,fetch(i)];case 5:return[4,s.sent().text()];case 6:return o=s.sent(),r.info.description=o,[3,8];case 7:return a=s.sent(),console.warn("Failed to load external description from "+i+": "+a.message),[3,8];case 8:try{fixSpec(r)}catch(e){}return[2,r]}}))}))}function loadAndBundleSpecOrMd(e,t){return e.endsWith(".md")?loadAndBundleDefinition({openapi:"3.0.0",info:{title:t||"",version:"1.0",description:{$ref:e}},paths:{}}):loadAndBundleDefinition(e)}export function loadSpecs(e){return __awaiter(this,void 0,void 0,(function(){var t,n,r,i,o,a,s,u,c,l,d;return __generator(this,(function(f){switch(f.label){case 0:if(!Array.isArray(e))return[3,8];t=0,n=e,f.label=1;case 1:return t<n.length?((r=n[t]).id=r.id||slugify(r.title),r.url?[4,loadAndBundleSpecOrMd(r.url,r.title)]:[3,3]):[3,8];case 2:return d=f.sent(),r.definition=d,[3,7];case 3:i=0,o=r.items||[],f.label=4;case 4:return i<o.length?(a=o[i]).url?[4,loadAndBundleSpecOrMd(a.url,r.title)]:[3,6]:[3,7];case 5:d=f.sent(),a.definition=d,f.label=6;case 6:return i++,[3,4];case 7:return t++,[3,1];case 8:if(s=e.versions,!Array.isArray(s))return[3,12];u=0,c=s,f.label=9;case 9:return u<c.length?(l=c[u]).url?[4,loadAndBundleSpecOrMd(l.url)]:[3,11]:[3,12];case 10:d=f.sent(),l.spec=d,f.label=11;case 11:return u++,[3,9];case 12:return[2]}}))}))}function useDeepCompareMemoize(e){var t=React.useRef(),n=React.useRef(0);return isDeepEqual(e,t.current)||(t.current=e,n.current+=1),[n.current]}
1
+ var _a;import{__awaiter,__generator}from"tslib";import*as React from"react";import{loadAndBundleDefinition}from"../redoc-lib";import{ProStore}from"../services/ProStore";import slugify from"slugify";import isDeepEqual from"fast-deep-equal";import{FakeHistoryService}from"../services";export var Provider=(_a=React.createContext(void 0),_a.Provider),Consumer=_a.Consumer;export var ProStoreProvider=function(e){var t=e.definitions,n=e.options,r=e.definitionUrl,i=e.definition,o=e.activeItemId,a=e.activeSampleLanguage,s=e.activeDeepLink,u=e.children,c=React.useState()[1],l=React.useState(!0),d=l[0],f=l[1],p=React.useState(null),v=p[0],m=p[1];React.useEffect((function(){!function(){__awaiter(this,void 0,void 0,(function(){var e,o,a;return __generator(this,(function(s){switch(s.label){case 0:f(!0),s.label=1;case 1:return s.trys.push([1,6,,7]),e=m,t?[4,loadMany(t)]:[3,3];case 2:return o=s.sent(),[3,5];case 3:return[4,loadSingle(i,r,n)];case 4:o=s.sent(),s.label=5;case 5:return e.apply(void 0,[o]),[3,7];case 6:return a=s.sent(),c((function(){throw a})),[3,7];case 7:return[2]}}))}))}()}),[t,i,r,n]);var h=React.useMemo((function(){var e,t,i;if(v){var o=new ProStore(v,r,n);return(null===(e=o.options.hooks)||void 0===e?void 0:e.onInit)&&(null===(i=null===(t=o.options.hooks)||void 0===t?void 0:t.onInit)||void 0===i||i.call(t,{store:o})),o}}),useDeepCompareMemoize([v,n]));return React.useEffect((function(){if(h)return f(!1),function(){return h.dispose()}}),[h]),React.useEffect((function(){var e;if(h&&o){var t=(null==o?void 0:o.split(h.options.deepLinkPrefix)[0])||(null===(e=h.menu.flatItems[h.menu.activeItemIdx])||void 0===e?void 0:e.id),n=h.menu.flatItems.find((function(e){return e.id===t})),r=s?t+h.options.deepLinkPrefix+s:void 0;r&&h.menu.history instanceof FakeHistoryService&&h.menu.history.replaceForField(r),h.menu.activateAndScroll(n,!0,!1,r)}}),[o,s,h]),React.useEffect((function(){h&&a&&h.setActiveSampleLanguage(a)}),[a,h]),u({loading:d,store:h})};function fixSpec(e){for(var t=e.components&&e.components.securitySchemes||{},n=0,r=Object.keys(t);n<r.length;n++){var i=t[r[n]];i["x-type"]&&(i.type=i["x-type"]),i["x-scheme"]&&(i.scheme=i["x-scheme"])}}function loadMany(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){switch(t.label){case 0:return[4,loadSpecs(e||[])];case 1:return t.sent(),[2,e]}}))}))}function loadSingle(e,t,n){return __awaiter(this,void 0,void 0,(function(){var r,i,o,a;return __generator(this,(function(s){switch(s.label){case 0:if(!(null==n?void 0:n.skipBundleAndConvert))return[3,1];if(!e)throw new Error('spec must be specified when using "skipBundleAndConvert"');return r=e,[3,3];case 1:return[4,loadAndBundleDefinition(e||t)];case 2:r=s.sent(),s.label=3;case 3:if(!(i=null==n?void 0:n.unstable_externalDescription))return[3,8];s.label=4;case 4:return s.trys.push([4,7,,8]),[4,fetch(i)];case 5:return[4,s.sent().text()];case 6:return o=s.sent(),r.info.description=o,[3,8];case 7:return a=s.sent(),console.warn("Failed to load external description from "+i+": "+a.message),[3,8];case 8:try{fixSpec(r)}catch(e){}return[2,r]}}))}))}function loadAndBundleSpecOrMd(e,t){return e.endsWith(".md")?loadAndBundleDefinition({openapi:"3.0.0",info:{title:t||"",version:"1.0",description:{$ref:e}},paths:{}}):loadAndBundleDefinition(e)}export function loadSpecs(e){return __awaiter(this,void 0,void 0,(function(){var t,n,r,i,o,a,s,u,c,l,d,f,p;return __generator(this,(function(v){switch(v.label){case 0:if(!Array.isArray(e))return[3,8];t=0,n=e,v.label=1;case 1:return t<n.length?((r=n[t]).id=r.id||slugify(r.title),r.url?(i=r,[4,loadAndBundleSpecOrMd(r.url,r.title)]):[3,3]):[3,8];case 2:return i.definition=v.sent(),[3,7];case 3:o=0,a=r.items||[],v.label=4;case 4:return o<a.length?(s=a[o]).url?(u=s,[4,loadAndBundleSpecOrMd(s.url,r.title)]):[3,6]:[3,7];case 5:u.definition=v.sent(),v.label=6;case 6:return o++,[3,4];case 7:return t++,[3,1];case 8:if(c=e.versions,!Array.isArray(c))return[3,12];l=0,d=c,v.label=9;case 9:return l<d.length?(f=d[l]).url?(p=f,[4,loadAndBundleSpecOrMd(f.url)]):[3,11]:[3,12];case 10:p.spec=v.sent(),v.label=11;case 11:return l++,[3,9];case 12:return[2]}}))}))}function useDeepCompareMemoize(e){var t=React.useRef(),n=React.useRef(0);return isDeepEqual(e,t.current)||(t.current=e,n.current+=1),[n.current]}
2
2
  //# sourceMappingURL=StoreProvider.js.map
@@ -1,2 +1,2 @@
1
- import{__assign,__rest}from"tslib";import React,{useEffect,useState}from"react";import{CollapsingTabsBase}from"./CollapsingTabsBase";import{observer}from"mobx-react";function getActiveIndexFromOperation(e,t,n){var a;return t?"number"==typeof n&&n>0?hasActiveExampleName(null===(a=e[n])||void 0===a?void 0:a.content,t)?n:getActiveIndexFromOperation(e,t):e.findIndex((function(e){return hasActiveExampleName(e.content,t)})):-1}function hasActiveExampleName(e,t){return!!(null==e?void 0:e.mediaTypes.find((function(e){return Object.keys(e.examples||[]).includes(t||"")})))}export var CollapsingTabs=observer((function(e){var t=e.children,n=__rest(e,["children"]),a=useState(0),r=a[0],o=a[1],i=n.operation,s=n.operation.activeExampleName;useEffect((function(){var e=getActiveIndexFromOperation(i.responses,s,r);e>-1&&o(e)}),[s]);var c=React.useCallback((function(e){r!==e&&o(e)}),[r]);return React.createElement(CollapsingTabsBase,__assign({},n,{activeIndex:r,onChange:c}),t)}));
1
+ import{__assign,__rest}from"tslib";import React,{useEffect,useState}from"react";import{CollapsingTabsBase}from"./CollapsingTabsBase";import{observer}from"mobx-react";function getActiveIndexFromOperation(e,t,n){var a;return t?"number"==typeof n&&n>0?hasActiveExampleName(null===(a=e[n])||void 0===a?void 0:a.content,t)?n:getActiveIndexFromOperation(e,t):e.findIndex((function(e){return hasActiveExampleName(e.content,t)})):-1}function hasActiveExampleName(e,t){return!!(null==e?void 0:e.mediaTypes.find((function(e){return Object.keys(e.examples||[]).includes(t||"")})))}export var CollapsingTabs=observer((function(e){var t=e.children,n=__rest(e,["children"]),a=useState(0),r=a[0],o=a[1],i=n.operation,s=n.operation.activeExampleName;useEffect((function(){var e=getActiveIndexFromOperation(i.responses,s,r);e>-1&&o(e)}),[s,r,i.responses]);var c=React.useCallback((function(e){r!==e&&o(e)}),[r]);return React.createElement(CollapsingTabsBase,__assign({},n,{activeIndex:r,onChange:c}),t)}));
2
2
  //# sourceMappingURL=CollapsingTabs.js.map
@@ -1,2 +1,2 @@
1
- import{Tabs}from"react-tabs";import*as React from"react";import{useContext,useLayoutEffect,useMemo,useState}from"react";import{OptionsContext}from"../../../redoc-lib";import{CollapsingTabList}from"./CollapsingTabList";import{CollapsingTab}from"./CollapsingTab";import{CollapsingDropdown}from"./CollapsingDropdown";export var CollapsingTabsBase=function(e){var t=e.tabs,a=e.children,o=e.hidden,n=e.activeIndex,i=e.onChange,l=useContext(OptionsContext).samplesTabsMaxCount,r=useMemo((function(){return t.slice(l).map((function(e,t){return{idx:t,value:e.title}}))}),[t,l]),s=r.length+" more",c=useState(s),p=c[0],u=c[1],m=React.useCallback((function(){var e=n>=l;p!==s&&p===t[n].title||!e?p===s||e||u(s):u(t[n].title)}),[n,l,p,s]);useLayoutEffect((function(){setTimeout(m,0)}),[n,l]);return React.createElement(Tabs,{selectedIndex:n,onSelect:i},React.createElement(CollapsingTabList,{hidden:o},t.map((function(e,t){return React.createElement(CollapsingTab,{key:e.key,disabled:t>=l},e.title)})),r.length?React.createElement(CollapsingDropdown,{options:r,onChange:function(e){i(l+e.idx)},placeholder:s,value:p,active:n>=l}):null),a)};
1
+ import{Tabs}from"react-tabs";import*as React from"react";import{useContext,useLayoutEffect,useMemo,useState}from"react";import{OptionsContext}from"../../../redoc-lib";import{CollapsingTabList}from"./CollapsingTabList";import{CollapsingTab}from"./CollapsingTab";import{CollapsingDropdown}from"./CollapsingDropdown";export var CollapsingTabsBase=function(e){var t=e.tabs,a=e.children,o=e.hidden,n=e.activeIndex,i=e.onChange,l=useContext(OptionsContext).samplesTabsMaxCount,r=useMemo((function(){return t.slice(l).map((function(e,t){return{idx:t,value:e.title}}))}),[t,l]),s=r.length+" more",c=useState(s),p=c[0],u=c[1],m=React.useCallback((function(){var e=n>=l;p!==s&&p===t[n].title||!e?p===s||e||u(s):u(t[n].title)}),[n,l,p,s,t]);useLayoutEffect((function(){setTimeout(m,0)}),[n,l,m]);return React.createElement(Tabs,{selectedIndex:n,onSelect:i},React.createElement(CollapsingTabList,{hidden:o},t.map((function(e,t){return React.createElement(CollapsingTab,{key:e.key,disabled:t>=l},e.title)})),r.length?React.createElement(CollapsingDropdown,{options:r,onChange:function(e){i(l+e.idx)},placeholder:s,value:p,active:n>=l}):null),a)};
2
2
  //# sourceMappingURL=CollapsingTabsBase.js.map
@@ -1,2 +1,2 @@
1
- import{__assign,__makeTemplateObject}from"tslib";import*as React from"react";import styled from"../../redoc-lib/src/styled-components";export var StyledInput=styled.input(templateObject_1||(templateObject_1=__makeTemplateObject(["\n cursor: pointer;\n vertical-align: middle;\n margin-left: 0;\n margin-right: 5px;\n height: 20px;\n"],["\n cursor: pointer;\n vertical-align: middle;\n margin-left: 0;\n margin-right: 5px;\n height: 20px;\n"])));var templateObject_1,templateObject_2,templateObject_3,CheckboxLabel=styled.label(templateObject_2||(templateObject_2=__makeTemplateObject(["\n display: inline-block;\n cursor: pointer;\n vertical-align: middle;\n margin-bottom: 4px;\n position: relative;\n text-overflow: ellipsis;\n overflow: hidden;\n\n overflow-wrap: break-word;\n line-height: 20px;\n"],["\n display: inline-block;\n cursor: pointer;\n vertical-align: middle;\n margin-bottom: 4px;\n position: relative;\n text-overflow: ellipsis;\n overflow: hidden;\n\n overflow-wrap: break-word;\n line-height: 20px;\n"]))),CheckBoxWrap=styled.div(templateObject_3||(templateObject_3=__makeTemplateObject(["\n width: ",";\n display: inline-flex;\n\n & > label {\n white-space: ",";\n }\n"],["\n width: ",";\n display: inline-flex;\n\n & > label {\n white-space: ",";\n }\n"])),(function(e){return e.fullWidth?"100%":"50%"}),(function(e){return e.nowrap?"nowrap":"normal"}));export var Checkbox=React.forwardRef((function(e,t){var n=e.fullWidth,l=e.id,i=e.label,a=e.nowrap;return React.createElement(CheckBoxWrap,{fullWidth:n,nowrap:a},React.createElement(StyledInput,__assign({},e,{type:"checkbox",ref:t})),React.createElement(CheckboxLabel,{htmlFor:l},i))}));
1
+ import{__assign,__makeTemplateObject}from"tslib";import*as React from"react";import styled from"../../redoc-lib/src/styled-components";export var StyledInput=styled.input(templateObject_1||(templateObject_1=__makeTemplateObject(["\n cursor: pointer;\n vertical-align: middle;\n margin-left: 0;\n margin-right: 5px;\n height: 20px;\n"],["\n cursor: pointer;\n vertical-align: middle;\n margin-left: 0;\n margin-right: 5px;\n height: 20px;\n"])));var templateObject_1,templateObject_2,templateObject_3,CheckboxLabel=styled.label(templateObject_2||(templateObject_2=__makeTemplateObject(["\n display: inline-block;\n cursor: pointer;\n vertical-align: middle;\n margin-bottom: 4px;\n position: relative;\n text-overflow: ellipsis;\n overflow: hidden;\n\n overflow-wrap: break-word;\n line-height: 20px;\n"],["\n display: inline-block;\n cursor: pointer;\n vertical-align: middle;\n margin-bottom: 4px;\n position: relative;\n text-overflow: ellipsis;\n overflow: hidden;\n\n overflow-wrap: break-word;\n line-height: 20px;\n"]))),CheckBoxWrap=styled.div(templateObject_3||(templateObject_3=__makeTemplateObject(["\n width: ",";\n display: inline-flex;\n\n & > label {\n white-space: ",";\n }\n"],["\n width: ",";\n display: inline-flex;\n\n & > label {\n white-space: ",";\n }\n"])),(function(e){return e.fullWidth?"100%":"50%"}),(function(e){return e.nowrap?"nowrap":"normal"}));function CheckboxComponent(e,t){var n=e.fullWidth,l=e.id,i=e.label,a=e.nowrap;return React.createElement(CheckBoxWrap,{fullWidth:n,nowrap:a},React.createElement(StyledInput,__assign({},e,{type:"checkbox",ref:t})),React.createElement(CheckboxLabel,{htmlFor:l},i))}export var Checkbox=React.forwardRef(CheckboxComponent);
2
2
  //# sourceMappingURL=Checkbox.js.map
@@ -1,4 +1,4 @@
1
1
  export declare const IMAGE_TYPES: string[];
2
- export declare const FILE_UPLOAD_SCHEMA_TYPES: string[];
2
+ export declare const isFileUploadControls: (schema: any) => boolean;
3
3
  export declare const isFileUpload: (obj: any) => boolean;
4
4
  export declare const fileToBase64: (file: File) => Promise<string>;
@@ -1,2 +1,2 @@
1
- var FILE_UPLOAD_FORMATS=["byte","binary","base64"],FILE_UPLOAD_TYPES=["string","array"];export var IMAGE_TYPES=["image/png","image/jpeg"];export var FILE_UPLOAD_SCHEMA_TYPES=["object","string"];export var isFileUpload=function(e){var r=e.items?e.items.format||e.items.contentEncoding:e.format||e.contentEncoding,n=e.type;return!(!n&&!r)&&(FILE_UPLOAD_FORMATS.includes(r)&&FILE_UPLOAD_TYPES.includes(n))};export var fileToBase64=function(e){return new Promise((function(r,n){var t=new FileReader;t.onload=function(){var e=t.result.replace(/data:.*\/.*;base64,/g,"");r(e)},t.onerror=function(){return n(t.error)},t.readAsDataURL(e)}))};
1
+ var FILE_UPLOAD_FORMATS=["byte","binary","base64"],FILE_UPLOAD_TYPES=["string","array"];export var IMAGE_TYPES=["image/png","image/jpeg"];export var isFileUploadControls=function(e){return"string"==e.type?isFileUpload(e):!("object"!==e.type||!e.properties)&&Object.values(e.properties).some(isFileUpload)};export var isFileUpload=function(e){var r=e.items?e.items.format||e.items.contentEncoding:e.format||e.contentEncoding,t=e.type;return!(!t&&!r)&&(FILE_UPLOAD_FORMATS.includes(r)&&FILE_UPLOAD_TYPES.includes(t))};export var fileToBase64=function(e){return new Promise((function(r,t){var n=new FileReader;n.onload=function(){var e=n.result.replace(/data:.*\/.*;base64,/g,"");r(e)},n.onerror=function(){return t(n.error)},n.readAsDataURL(e)}))};
2
2
  //# sourceMappingURL=helper.js.map
@@ -6,12 +6,12 @@ export declare const StyledInput: import("styled-components").StyledComponent<"i
6
6
  fullWidth?: boolean | undefined;
7
7
  inputType?: string | undefined;
8
8
  }, never>;
9
- export interface TextFieldExtraProps {
9
+ export interface TextFieldExtraProps extends React.InputHTMLAttributes<HTMLInputElement> {
10
10
  fullWidth?: boolean;
11
11
  errorMessage?: string;
12
12
  }
13
- export declare const TextField: React.ForwardRefExoticComponent<React.InputHTMLAttributes<HTMLInputElement> & TextFieldExtraProps & React.RefAttributes<HTMLInputElement>>;
14
- export declare function FormTextField(props: React.InputHTMLAttributes<HTMLInputElement> & FieldProps<string, any> & TextFieldExtraProps): JSX.Element;
13
+ export declare const TextField: React.ForwardRefExoticComponent<TextFieldExtraProps & React.RefAttributes<HTMLInputElement>>;
14
+ export declare function FormTextField(props: FieldProps<string, GenericObject> & TextFieldExtraProps): JSX.Element;
15
15
  export interface FormDropdownProps extends Partial<DropdownProps> {
16
16
  options: Option[];
17
17
  initValue?: string;
@@ -1,2 +1,2 @@
1
- import{__assign,__makeTemplateObject}from"tslib";import React from"react";import{asField}from"informed";import{useField}from"informed";import styled,{css,mediaCSS}from"../../redoc-lib/src/styled-components";import{FormError}from"./form";import{Dropdown}from"../../redoc-lib";export var invertedInputStyles=css(templateObject_1||(templateObject_1=__makeTemplateObject(["\n border: none;\n outline: none;\n padding: 8px;\n border-radius: ",";\n background-color: ",";\n ","\n\n &::placeholder {\n opacity: 0.6;\n color: ",";\n }\n\n &:-webkit-autofill {\n background-color: ",";\n }\n"],["\n border: none;\n outline: none;\n padding: 8px;\n border-radius: ",";\n background-color: ",";\n ","\n\n &::placeholder {\n opacity: 0.6;\n color: ",";\n }\n\n &:-webkit-autofill {\n background-color: ",";\n }\n"])),(function(e){return e.theme.shape.borderRadius}),(function(e){return e.theme.rightPanel.panelControlsBackgroundColor}),(function(e){var t=e.theme;return mediaCSS({color:t.colors.text.light,fontFamily:t.typography.code.fontFamily,fontSize:t.typography.fontSize})}),(function(e){return e.theme.colors.text.light}),(function(e){return e.theme.rightPanel.panelBackgroundColor}));var TextFieldWrapper=styled.div(templateObject_2||(templateObject_2=__makeTemplateObject(["\n display: ",";\n ","\n"],["\n display: ",";\n ","\n"])),(function(e){return"hidden"===e.type?"none":"inline-block"}),(function(e){return e.fullWidth?"width: 100%;":""})),InputWrap=styled.div(templateObject_3||(templateObject_3=__makeTemplateObject(["\n position: relative;\n"],["\n position: relative;\n"])));export var StyledInput=styled.input(templateObject_4||(templateObject_4=__makeTemplateObject(["\n ","\n ",";\n ","\n"],["\n ","\n ",";\n ","\n"])),invertedInputStyles,(function(e){return"password"===e.inputType?"padding-right: 40px;":""}),(function(e){return e.fullWidth?"width: 100%;":""}));var ToggleButton=styled.span(templateObject_5||(templateObject_5=__makeTemplateObject(["\n position: absolute;\n right: 0;\n line-height: normal;\n\n font-size: 0.8em;\n padding: calc(8px / 0.8);\n cursor: pointer;\n text-align: center;\n ","\n"],["\n position: absolute;\n right: 0;\n line-height: normal;\n\n font-size: 0.8em;\n padding: calc(8px / 0.8);\n cursor: pointer;\n text-align: center;\n ","\n"])),(function(e){var t=e.theme;return mediaCSS({color:t.rightPanel.textColor})}));export var TextField=React.forwardRef((function(e,t){var n=e.fullWidth,r=e.errorMessage,o=React.useState("password"===e.type),a=o[0],l=o[1],i=React.useCallback((function(){l(!a)}),[a]);return React.createElement(TextFieldWrapper,{fullWidth:n,type:e.type},React.createElement(InputWrap,null,React.createElement(StyledInput,__assign({},e,{type:a?"password":"text",inputType:e.type,ref:t})),"password"===e.type&&React.createElement(ToggleButton,{onClick:i}," ",a?"show":"hide"," ")),r?React.createElement(FormError,null,r):null)}));export function FormTextField(e){var t=useField(__assign({fieldType:"text"},e)),n=t.userProps,r=t.render,o=t.fieldState,a=t.informed;return r(React.createElement(TextField,__assign({},n,a,{errorMessage:o.error})))}var templateObject_1,templateObject_2,templateObject_3,templateObject_4,templateObject_5,FormDropdownInt=function(e){var t=e.initValue,n=e.options,r=e.fieldApi,o=e.fieldState,a=n.map((function(e,t){return{value:e.title||e.value,idx:t,origValue:e.value}})),l=a.find((function(e){return e.origValue===t})),i=React.useState(null==l?void 0:l.value),c=i[0],p=i[1];React.useEffect((function(){t&&r.setValue(t)}),[]);var u=React.useCallback((function(e){r.setValue(a[e.idx].origValue),p(a[e.idx].value)}),[a]);return React.createElement(TextFieldWrapper,{fullWidth:!0},React.createElement(Dropdown,{fullWidth:!0,variant:"dark",value:c,options:a,onChange:u}),o.error?React.createElement(FormError,null,o.error):null)};export var FormDropdown=asField(FormDropdownInt);
1
+ import{__assign,__makeTemplateObject}from"tslib";import React from"react";import{asField}from"informed";import{useField}from"informed";import styled,{css,mediaCSS}from"../../redoc-lib/src/styled-components";import{FormError}from"./form";import{Dropdown}from"../../redoc-lib";export var invertedInputStyles=css(templateObject_1||(templateObject_1=__makeTemplateObject(["\n border: none;\n outline: none;\n padding: 8px;\n border-radius: ",";\n background-color: ",";\n ","\n\n &::placeholder {\n opacity: 0.6;\n color: ",";\n }\n\n &:-webkit-autofill {\n background-color: ",";\n }\n"],["\n border: none;\n outline: none;\n padding: 8px;\n border-radius: ",";\n background-color: ",";\n ","\n\n &::placeholder {\n opacity: 0.6;\n color: ",";\n }\n\n &:-webkit-autofill {\n background-color: ",";\n }\n"])),(function(e){return e.theme.shape.borderRadius}),(function(e){return e.theme.rightPanel.panelControlsBackgroundColor}),(function(e){var t=e.theme;return mediaCSS({color:t.colors.text.light,fontFamily:t.typography.code.fontFamily,fontSize:t.typography.fontSize})}),(function(e){return e.theme.colors.text.light}),(function(e){return e.theme.rightPanel.panelBackgroundColor}));var TextFieldWrapper=styled.div(templateObject_2||(templateObject_2=__makeTemplateObject(["\n display: ",";\n ","\n"],["\n display: ",";\n ","\n"])),(function(e){return"hidden"===e.type?"none":"inline-block"}),(function(e){return e.fullWidth?"width: 100%;":""})),InputWrap=styled.div(templateObject_3||(templateObject_3=__makeTemplateObject(["\n position: relative;\n"],["\n position: relative;\n"])));export var StyledInput=styled.input(templateObject_4||(templateObject_4=__makeTemplateObject(["\n ","\n ",";\n ","\n"],["\n ","\n ",";\n ","\n"])),invertedInputStyles,(function(e){return"password"===e.inputType?"padding-right: 40px;":""}),(function(e){return e.fullWidth?"width: 100%;":""}));var ToggleButton=styled.span(templateObject_5||(templateObject_5=__makeTemplateObject(["\n position: absolute;\n right: 0;\n line-height: normal;\n\n font-size: 0.8em;\n padding: calc(8px / 0.8);\n cursor: pointer;\n text-align: center;\n ","\n"],["\n position: absolute;\n right: 0;\n line-height: normal;\n\n font-size: 0.8em;\n padding: calc(8px / 0.8);\n cursor: pointer;\n text-align: center;\n ","\n"])),(function(e){var t=e.theme;return mediaCSS({color:t.rightPanel.textColor})}));function TextFieldComponent(e,t){var n=e.fullWidth,r=e.errorMessage,o=e.type,a=React.useState("password"===o),l=a[0],i=a[1],c=React.useCallback((function(){i(!l)}),[l]);return React.createElement(TextFieldWrapper,{fullWidth:n,type:o},React.createElement(InputWrap,null,React.createElement(StyledInput,__assign({},e,{type:l?"password":"text",inputType:o,ref:t})),"password"===o&&React.createElement(ToggleButton,{onClick:c}," ",l?"show":"hide"," ")),r?React.createElement(FormError,null,r):null)}export var TextField=React.forwardRef(TextFieldComponent);export function FormTextField(e){var t=useField(__assign({fieldType:"text"},e)),n=t.userProps,r=t.render,o=t.fieldState,a=t.informed;return r(React.createElement(TextField,__assign({},n,a,{errorMessage:o.error})))}var templateObject_1,templateObject_2,templateObject_3,templateObject_4,templateObject_5,FormDropdownInt=function(e){var t=e.initValue,n=e.options,r=e.fieldApi,o=e.fieldState,a=n.map((function(e,t){return{value:e.title||e.value,idx:t,origValue:e.value}})),l=a.find((function(e){return e.origValue===t})),i=React.useState(null==l?void 0:l.value),c=i[0],p=i[1];React.useEffect((function(){t&&r.setValue(t)}),[]);var d=React.useCallback((function(e){r.setValue(a[e.idx].origValue),p(a[e.idx].value)}),[a]);return React.createElement(TextFieldWrapper,{fullWidth:!0},React.createElement(Dropdown,{fullWidth:!0,variant:"dark",value:c,options:a,onChange:d}),o.error?React.createElement(FormError,null,o.error):null)};export var FormDropdown=asField(FormDropdownInt);
2
2
  //# sourceMappingURL=TextField.js.map
@@ -9,4 +9,4 @@ export declare enum SchemaType {
9
9
  ARRAY = "array",
10
10
  OBJECT = "object"
11
11
  }
12
- export declare function OperationParameters(props: OperationParametersProps): JSX.Element;
12
+ export declare function OperationParameters({ values, operation }: OperationParametersProps): JSX.Element;
@@ -1,2 +1,2 @@
1
- import{__spreadArray}from"tslib";import*as React from"react";import{dottedString,get}from"../../utils";import{FormLabel,FormControl,FormWarning,GroupLabel,Table}from"../common/form";import{FormTextField}from"../common/TextField";import{ParameterEnumDropdown}from"./ParameterDropdown";export var SchemaType;!function(e){e.ARRAY="array",e.OBJECT="object"}(SchemaType||(SchemaType={}));var placeholder=function(e){return"("+e.schema.type+")"+(e.example?" "+e.example:"")};function safePush(e,a,r){e[a]||(e[a]=[]),e[a].push(r)}function orderParams(e){var a={};return e.forEach((function(e){safePush(a,e.in,e)})),a}var PARAM_PLACES=["path","query","cookie","header"];function createValidator(e){return function(a){if(e.required&&!a)return"Field is required";if(e.required&&e.schema.type===SchemaType.ARRAY&&Array.isArray(a)){if(a.length>(e.schema.rawSchema&&e.schema.rawSchema.maxItems||1/0))return"Too many items selected, maximum "+e.schema.rawSchema.maxItems;if(a.length<(e.schema.rawSchema&&e.schema.rawSchema.minItems||0)){var r=e.schema.rawSchema.minItems;return"You should select at least "+(1===r?r+" item":r+" items")}}}}function getInitialValue(e){if(e.schema.type===SchemaType.ARRAY){var a=e.schema.default||e.schema.example;if(!a&&e.schema.rawSchema.items){if(e.schema.rawSchema.items.default)return[e.schema.rawSchema.items.default];if(e.schema.rawSchema.items.example)return[e.schema.rawSchema.items.example]}return a||[]}return e.schema.default||e.schema.example}export function OperationParameters(e){function a(r,t,m){var n,c=m?dottedString(m,r.name):r.name,i=function(e){var a=e.oneOfType,r=e.type,t=e.items;return a||r===SchemaType.ARRAY&&(null==t?void 0:t.type)===SchemaType.OBJECT&&"Array of objects"}(r.schema);if(i&&console.warn('Unsupported parameter definition: "'+i+'"'),r.schema.type===SchemaType.OBJECT)return null===(n=r.schema.fields)||void 0===n?void 0:n.map((function(e){return a(e,t,c)}));var o=m?[t,m]:[r.in],l=dottedString.apply(void 0,__spreadArray(__spreadArray([],o,!1),[r.name],!1));return React.createElement(FormControl,{key:l},React.createElement(FormLabel,{required:r.required},c,":"),i?React.createElement(FormWarning,null,"Unsupported field schema definition"):function(a,r){var t=React.useMemo((function(){return createValidator(r)}),[r]),m=e.values,n=Array.isArray(r.schema.enum)&&r.schema.enum.length?r.schema.enum:void 0,c=getInitialValue(r);return n?React.createElement(FormControl,null,React.createElement(ParameterEnumDropdown,{initValue:c,paramEnum:n,field:a})):React.createElement(FormTextField,{fullWidth:!0,"data-cy":"parameter-input",id:a,field:a,placeholder:placeholder(r),validate:t,initialValue:c||get(m,a),validateOnBlur:!0,validateOnChange:!0})}(l,r))}var r=orderParams(e.operation.parameters||[]);return React.createElement(Table,null,PARAM_PLACES.map((function(e){return function(e,r){return r&&r.length?React.createElement(React.Fragment,{key:e},React.createElement(FormControl,null,React.createElement(GroupLabel,null," # ",e," parameters "),React.createElement("span",null," ")),r.map((function(r){return a(r,e)}))):null}(e,r[e])})))}
1
+ import{__spreadArray}from"tslib";import*as React from"react";import{dottedString,get}from"../../utils";import{FormLabel,FormControl,FormWarning,GroupLabel,Table}from"../common/form";import{FormTextField}from"../common/TextField";import{ParameterEnumDropdown}from"./ParameterDropdown";export var SchemaType;!function(e){e.ARRAY="array",e.OBJECT="object"}(SchemaType||(SchemaType={}));var placeholder=function(e){return"("+e.schema.type+")"+(e.example?" "+e.example:"")};function safePush(e,a,r){e[a]||(e[a]=[]),e[a].push(r)}function orderParams(e){var a={};return e.forEach((function(e){safePush(a,e.in,e)})),a}var PARAM_PLACES=["path","query","cookie","header"];function createValidator(e){return function(a){if(e.required&&!a)return"Field is required";if(e.required&&e.schema.type===SchemaType.ARRAY&&Array.isArray(a)){if(a.length>(e.schema.rawSchema&&e.schema.rawSchema.maxItems||1/0))return"Too many items selected, maximum "+e.schema.rawSchema.maxItems;if(a.length<(e.schema.rawSchema&&e.schema.rawSchema.minItems||0)){var r=e.schema.rawSchema.minItems;return"You should select at least "+(1===r?r+" item":r+" items")}}}}function getInitialValue(e){if(e.schema.type===SchemaType.ARRAY){var a=e.schema.default||e.schema.example;if(!a&&e.schema.rawSchema.items){if(e.schema.rawSchema.items.default)return[e.schema.rawSchema.items.default];if(e.schema.rawSchema.items.example)return[e.schema.rawSchema.items.example]}return a||[]}return e.schema.default||e.schema.example}export function OperationParameters(e){var a=e.values;function r(e,t,m){var n,c=m?dottedString(m,e.name):e.name,i=function(e){var a=e.oneOfType,r=e.type,t=e.items;return a||r===SchemaType.ARRAY&&(null==t?void 0:t.type)===SchemaType.OBJECT&&"Array of objects"}(e.schema);if(i&&console.warn('Unsupported parameter definition: "'+i+'"'),e.schema.type===SchemaType.OBJECT)return null===(n=e.schema.fields)||void 0===n?void 0:n.map((function(e){return r(e,t,c)}));var o=m?[t,m]:[e.in],l=dottedString.apply(void 0,__spreadArray(__spreadArray([],o,!1),[e.name],!1));return React.createElement(FormControl,{key:l},React.createElement(FormLabel,{required:e.required},c,":"),i?React.createElement(FormWarning,null,"Unsupported field schema definition"):function(e,r){var t=React.useMemo((function(){return createValidator(r)}),[r]),m=Array.isArray(r.schema.enum)&&r.schema.enum.length?r.schema.enum:void 0,n=getInitialValue(r);return m?React.createElement(FormControl,null,React.createElement(ParameterEnumDropdown,{initValue:n,paramEnum:m,field:e})):React.createElement(FormTextField,{fullWidth:!0,"data-cy":"parameter-input",id:e,field:e,placeholder:placeholder(r),validate:t,initialValue:n||get(a,e),validateOnBlur:!0,validateOnChange:!0})}(l,e))}var t=orderParams(e.operation.parameters||[]);return React.createElement(Table,null,PARAM_PLACES.map((function(e){return function(e,a){return a&&a.length?React.createElement(React.Fragment,{key:e},React.createElement(FormControl,null,React.createElement(GroupLabel,null," # ",e," parameters "),React.createElement("span",null," ")),a.map((function(a){return r(a,e)}))):null}(e,t[e])})))}
2
2
  //# sourceMappingURL=OperationParameters.js.map
@@ -1,2 +1,2 @@
1
- var _this=this;import{__assign,__awaiter,__generator,__rest}from"tslib";import*as React from"react";import{useEffect}from"react";import{observer}from"mobx-react";import merge from"deepmerge";import{DropdownOrLabel,Dropdown,MediaTypesSwitch}from"../../redoc-lib";import CodemirrorInput from"./CodemirrorInput";import{RequestMimeLabel}from"./RequestMimeLabel";import{ExampleSwitch,useExampleKey}from"../Samples";import{arrayMerge}from"../../services/utils";import{FileUploadInput}from"./FileUploadInput";import{FILE_UPLOAD_SCHEMA_TYPES}from"../common/FileUpload/helper";export var RequestBody=observer((function(e){var r,t,o=e.properties,a=void 0===o?{}:o,i=__rest(e,["properties"]),n=function(e){var r,t=i.body.content;if(!t||!t.hasSample)return"";var o=null===(r=t.active)||void 0===r?void 0:r.examples;if(!(null==o?void 0:o[e]))return"";var n=merge(null==o?void 0:o[e].value,a,{arrayMerge:arrayMerge});return JSON.stringify(n,null,2)},l=null===(t=null===(r=i.body.content)||void 0===r?void 0:r.operation)||void 0===t?void 0:t.activeExampleName,m=function(e){var r,t;null===(t=null===(r=i.body.content)||void 0===r?void 0:r.operation)||void 0===t||t.activateExampleName(e),i.console.formApi.setValue("body",n(e))},d=function(e){if(!e)return"";if("application/x-www-form-urlencoded"===e.mime)return e.value;var r=merge(e.value,a,{arrayMerge:arrayMerge});return JSON.stringify(r,null,2)},p=function(e,r){return __awaiter(void 0,void 0,void 0,(function(){var t;return __generator(this,(function(o){return t=i.console.formApi,(0,t.setValue)("body."+e,r),[2]}))}))};useEffect((function(){l&&i.console.formApi.setValue("body",n(l))}),[l]);var u=i.validate,c=i.body;return React.createElement(React.Fragment,null,React.createElement(MediaTypesSwitch,{content:c.content,renderDropdown:function(e){return React.createElement(DropdownOrLabel,__assign({},e,{variant:"dark",fullWidth:!0,Label:RequestMimeLabel,Dropdown:Dropdown}))}},(function(e){var r,t=e.examples||{},o=Object.keys(t);i.resolvedBody&&(r=(i.resolvedBody.content[e.name]||{}).schema);var a=useExampleKey(e.operation,t).exampleKey,n=t[a];return React.createElement(React.Fragment,null,o.length&&1!==o.length&&React.createElement(ExampleSwitch,{examples:t,onChange:m,exampleKey:a})||null,FILE_UPLOAD_SCHEMA_TYPES.includes(r.type)&&React.createElement(FileUploadInput,{schema:r,id:i.id,mediaType:e,validate:u,initialSample:d(n),onChange:p.bind(_this)})||React.createElement(CodemirrorInput,{id:"body"+i.id,field:"body",initialValue:d(n),schema:r,mode:e.name,validate:u}))})))}));
1
+ var _this=this;import{__assign,__awaiter,__generator,__rest}from"tslib";import*as React from"react";import{useEffect}from"react";import{observer}from"mobx-react";import merge from"deepmerge";import{DropdownOrLabel,Dropdown,MediaTypesSwitch}from"../../redoc-lib";import CodemirrorInput from"./CodemirrorInput";import{RequestMimeLabel}from"./RequestMimeLabel";import{ExampleSwitch,useExampleKey}from"../Samples";import{arrayMerge}from"../../services/utils";import{FileUploadInput}from"./FileUploadInput";import{isFileUploadControls}from"../common/FileUpload/helper";export var RequestBody=observer((function(e){var r,t,o=e.properties,a=void 0===o?{}:o,i=__rest(e,["properties"]),n=function(e){var r,t=i.body.content;if(!t||!t.hasSample)return"";var o=null===(r=t.active)||void 0===r?void 0:r.examples;if(!(null==o?void 0:o[e]))return"";var n=merge(null==o?void 0:o[e].value,a,{arrayMerge:arrayMerge});return JSON.stringify(n,null,2)},l=null===(t=null===(r=i.body.content)||void 0===r?void 0:r.operation)||void 0===t?void 0:t.activeExampleName,m=function(e){var r,t;null===(t=null===(r=i.body.content)||void 0===r?void 0:r.operation)||void 0===t||t.activateExampleName(e),i.console.formApi.setValue("body",n(e))},d=function(e){if(!e)return"";if("application/x-www-form-urlencoded"===e.mime)return e.value;var r=merge(e.value,a,{arrayMerge:arrayMerge});return JSON.stringify(r,null,2)},p=function(e,r){return __awaiter(void 0,void 0,void 0,(function(){var t;return __generator(this,(function(o){return t=i.console.formApi,(0,t.setValue)("body."+e,r),[2]}))}))};useEffect((function(){l&&i.console.formApi.setValue("body",n(l))}),[l]);var u=i.validate,c=i.body;return React.createElement(React.Fragment,null,React.createElement(MediaTypesSwitch,{content:c.content,renderDropdown:function(e){return React.createElement(DropdownOrLabel,__assign({},e,{variant:"dark",fullWidth:!0,Label:RequestMimeLabel,Dropdown:Dropdown}))}},(function(e){var r,t=e.examples||{},o=Object.keys(t);i.resolvedBody&&(r=(i.resolvedBody.content[e.name]||{}).schema);var a=useExampleKey(e.operation,t).exampleKey,n=t[a];return React.createElement(React.Fragment,null,o.length&&1!==o.length&&React.createElement(ExampleSwitch,{examples:t,onChange:m,exampleKey:a})||null,isFileUploadControls(r)&&React.createElement(FileUploadInput,{schema:r,id:i.id,mediaType:e,validate:u,initialSample:d(n),onChange:p.bind(_this)})||React.createElement(CodemirrorInput,{id:"body"+i.id,field:"body",initialValue:d(n),schema:r,mode:e.name,validate:u}))})))}));
2
2
  //# sourceMappingURL=RequestBody.js.map
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  export interface SwaggerResponse {
3
- body?: object;
3
+ body?: GenericObject;
4
4
  data: string;
5
5
  ok: boolean;
6
6
  status: number;
@@ -1,2 +1,2 @@
1
- import{__extends,__makeTemplateObject}from"tslib";import*as React from"react";import{JsonViewer,styled,SourceCodeWithCopy,langFromMime}from"../../redoc-lib";import{StyledPre}from"../../redoc-lib/src/common-elements";var templateObject_1,templateObject_2,templateObject_3,templateObject_4,templateObject_5,templateObject_6,templateObject_7,templateObject_8,ResponseBadges=styled.div(templateObject_1||(templateObject_1=__makeTemplateObject(["\n margin-bottom: 10px;\n"],["\n margin-bottom: 10px;\n"]))),ResponseBadgeBase=styled.div(templateObject_2||(templateObject_2=__makeTemplateObject(["\n display: inline-block;\n margin-right: 20px;\n padding: 2px 0;\n text-align: center;\n color: ",";\n"],["\n display: inline-block;\n margin-right: 20px;\n padding: 2px 0;\n text-align: center;\n color: ",";\n"])),(function(e){return e.theme.colors.text.light})),ResponseBadge=styled(ResponseBadgeBase)(templateObject_3||(templateObject_3=__makeTemplateObject(["\n color: ",";\n"],["\n color: ",";\n"])),(function(e){var t=e.theme,n=e.code;return n>=200&&n<300?t.colors.responses.success.tabTextColor:n>=300&&n<400?t.colors.responses.redirect.tabTextColor:n>400?t.colors.responses.error.tabTextColor:t.colors.responses.info.tabTextColor})),HeaderName=styled.strong(templateObject_4||(templateObject_4=__makeTemplateObject(["\n text-transform: capitalize;\n display: inline-block;\n padding-right: 5px;\n"],["\n text-transform: capitalize;\n display: inline-block;\n padding-right: 5px;\n"]))),ErrorHeader=styled.header(templateObject_5||(templateObject_5=__makeTemplateObject(["\n font-weight: bold;\n margin-bottom: 10px;\n"],["\n font-weight: bold;\n margin-bottom: 10px;\n"]))),ErrorDetails=styled.code(templateObject_6||(templateObject_6=__makeTemplateObject(["\n border-left: 3px solid #ff4040;\n padding-left: 5px;\n"],["\n border-left: 3px solid #ff4040;\n padding-left: 5px;\n"]))),ResponseHeader=styled.div(templateObject_7||(templateObject_7=__makeTemplateObject(["\n margin-bottom: 10px;\n\n &:not(:first-child) {\n margin-top: 10px;\n }\n"],["\n margin-bottom: 10px;\n\n &:not(:first-child) {\n margin-top: 10px;\n }\n"]))),PanelStyledPre=styled(StyledPre)(templateObject_8||(templateObject_8=__makeTemplateObject(["\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n"],["\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n"]))),ResponsePanel=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return __extends(t,e),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e,t=this.props,n=t.error,a=t.response,l=t.time,r=a||n&&n.response,o=r&&r.data&&r.data.length||0;if(e=o>1e6?(o/1e6).toFixed(2)+" MB":o>1e3?(o/1e3).toFixed(2)+" KB":o+" B",n&&!n.response||!r)return React.createElement(React.Fragment,null,React.createElement(ErrorHeader,null," Could not get any response "),React.createElement(ErrorDetails,null,n&&n.message||"Unknown error"),React.createElement("br",null),React.createElement(ErrorHeader,null," Why this might have happened:"),React.createElement("div",null," - CORS is misconfigured on the server"),React.createElement("div",null," - The server couldn't sent a response"),React.createElement("div",null," - No internet access"),React.createElement("div",null," - Documentation issue - contact API owner"),React.createElement("div",null," - Misconfigured security definition"));if(!r)return"Something went wrong";var c=Object.keys(r.headers);return React.createElement(React.Fragment,null,React.createElement(ResponseBadges,null,React.createElement(ResponseBadge,{code:r.status},React.createElement("span",null," Status: "),r.status," ",r.statusText),React.createElement(ResponseBadgeBase,null,React.createElement("span",null," Time: "),l,"ms"),React.createElement(ResponseBadgeBase,null,React.createElement("span",null," Size: "),e)),React.createElement("div",null,React.createElement(ResponseHeader,null," Headers: "),React.createElement(PanelStyledPre,null,c.map((function(e){return React.createElement("div",{key:e},React.createElement(HeaderName,null,e,":"),React.createElement("code",null," ",r.headers[e]))}))),React.createElement(ResponseHeader,null," Body: "),r.body&&React.createElement(JsonViewer,{data:r.body})||null,!r.body&&null!=r.data&&(r.data?React.createElement(SourceCodeWithCopy,{lang:langFromMime(r.headers["Content-Type"]||"text/plain"),source:r.data}):React.createElement(PanelStyledPre,null,React.createElement("i",null,"(no content)")))||null))}}),t}(React.PureComponent);export{ResponsePanel};
1
+ import{__extends,__makeTemplateObject}from"tslib";import*as React from"react";import{JsonViewer,styled,SourceCodeWithCopy,langFromMime}from"../../redoc-lib";import{StyledPre}from"../../redoc-lib/src/common-elements";var templateObject_1,templateObject_2,templateObject_3,templateObject_4,templateObject_5,templateObject_6,templateObject_7,templateObject_8,ResponseBadges=styled.div(templateObject_1||(templateObject_1=__makeTemplateObject(["\n margin-bottom: 10px;\n"],["\n margin-bottom: 10px;\n"]))),ResponseBadgeBase=styled.div(templateObject_2||(templateObject_2=__makeTemplateObject(["\n display: inline-block;\n margin-right: 20px;\n padding: 2px 0;\n text-align: center;\n color: ",";\n"],["\n display: inline-block;\n margin-right: 20px;\n padding: 2px 0;\n text-align: center;\n color: ",";\n"])),(function(e){return e.theme.colors.text.light})),ResponseBadge=styled(ResponseBadgeBase)(templateObject_3||(templateObject_3=__makeTemplateObject(["\n color: ",";\n"],["\n color: ",";\n"])),(function(e){var t=e.theme,n=e.code;return n>=200&&n<300?t.colors.responses.success.tabTextColor:n>=300&&n<400?t.colors.responses.redirect.tabTextColor:n>400?t.colors.responses.error.tabTextColor:t.colors.responses.info.tabTextColor})),HeaderName=styled.strong(templateObject_4||(templateObject_4=__makeTemplateObject(["\n text-transform: capitalize;\n display: inline-block;\n padding-right: 5px;\n"],["\n text-transform: capitalize;\n display: inline-block;\n padding-right: 5px;\n"]))),ErrorHeader=styled.header(templateObject_5||(templateObject_5=__makeTemplateObject(["\n font-weight: bold;\n margin-bottom: 10px;\n"],["\n font-weight: bold;\n margin-bottom: 10px;\n"]))),ErrorDetails=styled.code(templateObject_6||(templateObject_6=__makeTemplateObject(["\n border-left: 3px solid #ff4040;\n padding-left: 5px;\n"],["\n border-left: 3px solid #ff4040;\n padding-left: 5px;\n"]))),ResponseHeader=styled.div(templateObject_7||(templateObject_7=__makeTemplateObject(["\n margin-bottom: 10px;\n\n &:not(:first-child) {\n margin-top: 10px;\n }\n"],["\n margin-bottom: 10px;\n\n &:not(:first-child) {\n margin-top: 10px;\n }\n"]))),PanelStyledPre=styled(StyledPre)(templateObject_8||(templateObject_8=__makeTemplateObject(["\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n"],["\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n"]))),ResponsePanel=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return __extends(t,e),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e,t=this.props,n=t.error,a=t.response,l=t.time,r=a||n&&n.response,o=r&&r.data&&r.data.length||0;if(e=o>1e6?(o/1e6).toFixed(2)+" MB":o>1e3?(o/1e3).toFixed(2)+" KB":o+" B",n&&!n.response||!r)return React.createElement(React.Fragment,null,React.createElement(ErrorHeader,null," Could not get any response "),React.createElement(ErrorDetails,null,n&&n.message||"Unknown error"),React.createElement("br",null),React.createElement(ErrorHeader,null," Why this might have happened:"),React.createElement("div",null," - CORS is misconfigured on the server"),React.createElement("div",null," - ","The server couldn't sent a response"),React.createElement("div",null," - No internet access"),React.createElement("div",null," - Documentation issue - contact API owner"),React.createElement("div",null," - Misconfigured security definition"));if(!r)return"Something went wrong";var c=Object.keys(r.headers);return React.createElement(React.Fragment,null,React.createElement(ResponseBadges,null,React.createElement(ResponseBadge,{code:r.status},React.createElement("span",null," Status: "),r.status," ",r.statusText),React.createElement(ResponseBadgeBase,null,React.createElement("span",null," Time: "),l,"ms"),React.createElement(ResponseBadgeBase,null,React.createElement("span",null," Size: "),e)),React.createElement("div",null,React.createElement(ResponseHeader,null," Headers: "),React.createElement(PanelStyledPre,null,c.map((function(e){return React.createElement("div",{key:e},React.createElement(HeaderName,null,e,":"),React.createElement("code",null," ",r.headers[e]))}))),React.createElement(ResponseHeader,null," Body: "),r.body&&React.createElement(JsonViewer,{data:r.body})||null,!r.body&&null!=r.data&&(r.data?React.createElement(SourceCodeWithCopy,{lang:langFromMime(r.headers["Content-Type"]||"text/plain"),source:r.data}):React.createElement(PanelStyledPre,null,React.createElement("i",null,"(no content)")))||null))}}),t}(React.PureComponent);export{ResponsePanel};
2
2
  //# sourceMappingURL=ResponsePanel.js.map
@@ -22,4 +22,4 @@ export declare class ServerChooser extends React.Component<ServerDropdownProps,
22
22
  componentDidMount(): void;
23
23
  render(): JSX.Element;
24
24
  }
25
- export declare function expandVariables(url: string, variables?: object): string;
25
+ export declare function expandVariables(url: string, variables?: GenericObject): string;
@@ -1,2 +1,2 @@
1
- import{__assign,__decorate,__extends,__makeTemplateObject}from"tslib";import*as React from"react";import{Dropdown,styled}from"../../redoc-lib";import{observer}from"mobx-react";import{fromStorage,toStorage}from"../../utils";import ServerVariable from"./ServerVariable";import{FormControl,FormLabel}from"../common/form";var ServerDropdownWrap=styled.div(templateObject_1||(templateObject_1=__makeTemplateObject(["\n margin-top: 20px;\n"],["\n margin-top: 20px;\n"]))),ServerChooser=function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(r,"state",{enumerable:!0,configurable:!0,writable:!0,value:{activeIdx:0,variables:{}}}),Object.defineProperty(r,"handleChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var a=r.props.operation.servers.find((function(r){return r.url===e.serverUrl})),t=a&&getVariables(a)||{};r.props.onChange({url:e.serverUrl,variables:t}),toStorage("serverUrl",e.serverUrl),r.setState({variables:t})}}),Object.defineProperty(r,"handleVariableChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e,a){var t,n,o=__assign(__assign({},r.state.variables),((t={})[e]=a,t));r.setState({variables:o});var i=fromStorage("variables"),s=i&&JSON.parse(i)||{};toStorage("variables",JSON.stringify(__assign(__assign({},s),((n={})[e]=a,n))));var l=r.props.operation.servers[r.state.activeIdx];r.props.onChange(__assign(__assign({},l),{variables:o}))}}),r}return __extends(r,e),Object.defineProperty(r,"getDerivedStateFromProps",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var r=e.operation,a=fromStorage("serverUrl"),t=r.servers.findIndex((function(e){return e.url===a}));return{activeIdx:t<0?0:t}}}),Object.defineProperty(r.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.props.operation.servers[this.state.activeIdx],r=getVariables(e);this.props.onChange(__assign(__assign({},e),{variables:r})),this.setState({variables:r})}}),Object.defineProperty(r.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,r=this.state.activeIdx,a=this.props.operation.servers.map((function(r){return{serverUrl:r.url,value:"\n "+expandDefaultServerVariables(expandVariables(r.url,e.state.variables),r.variables)+"\n - "+(r.description||"Default")+"\n "}})),t=Object.keys(this.state.variables);return React.createElement(ServerDropdownWrap,null,React.createElement(FormLabel,{htmlFor:"server"},"Target server: "),React.createElement(FormControl,null,React.createElement(Dropdown,{openUp:!0,variant:"dark",value:a[r].value,options:a,onChange:this.handleChange})),t.length?t.map((function(r){var a=e.props.operation.servers[e.state.activeIdx].variables[r];return React.createElement(ServerVariable,{key:r,name:r,value:e.state.variables[r],defaultValue:a.default,onChange:function(a){return e.handleVariableChange(r,a)},variableEnum:a.enum,description:a.description})})):null)}}),r=__decorate([observer],r)}(React.Component);export{ServerChooser};var templateObject_1,pathTemplateRegExp=/(?:{)(\w+)(?:})/g;export function expandVariables(e,r){return void 0===r&&(r={}),e.replace(pathTemplateRegExp,(function(e,a){return r[a]||e}))}function expandDefaultServerVariables(e,r){return void 0===r&&(r={}),e.replace(pathTemplateRegExp,(function(e,a){return r[a]&&r[a].default||e}))}function getVariables(e){if(!e.variables)return{};var r=fromStorage("variables"),a=r&&JSON.parse(r)||{},t={};return Object.keys(e.variables).forEach((function(r){t[r]=e.variables[r].default||"",a.hasOwnProperty(r)&&(t[r]=a[r])})),__assign({},t)}
1
+ import{__assign,__decorate,__extends,__makeTemplateObject}from"tslib";import*as React from"react";import{Dropdown,styled}from"../../redoc-lib";import{observer}from"mobx-react";import{fromStorage,toStorage}from"../../utils";import ServerVariable from"./ServerVariable";import{FormControl,FormLabel}from"../common/form";var ServerDropdownWrap=styled.div(templateObject_1||(templateObject_1=__makeTemplateObject(["\n margin-top: 20px;\n"],["\n margin-top: 20px;\n"]))),ServerChooser=function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(r,"state",{enumerable:!0,configurable:!0,writable:!0,value:{activeIdx:0,variables:{}}}),Object.defineProperty(r,"handleChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var a=r.props.operation.servers.find((function(r){return r.url===e.serverUrl})),t=a&&getVariables(a)||{};r.props.onChange({url:e.serverUrl,variables:t}),toStorage("serverUrl",e.serverUrl),r.setState({variables:t})}}),Object.defineProperty(r,"handleVariableChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e,a){var t,n,o=__assign(__assign({},r.state.variables),((t={})[e]=a,t));r.setState({variables:o});var i=fromStorage("variables"),l=i&&JSON.parse(i)||{};toStorage("variables",JSON.stringify(__assign(__assign({},l),((n={})[e]=a,n))));var s=r.props.operation.servers[r.state.activeIdx];r.props.onChange(__assign(__assign({},s),{variables:o}))}}),r}return __extends(r,e),Object.defineProperty(r,"getDerivedStateFromProps",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var r=e.operation,a=fromStorage("serverUrl"),t=r.servers.findIndex((function(e){return e.url===a}));return{activeIdx:t<0?0:t}}}),Object.defineProperty(r.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.props.operation.servers[this.state.activeIdx],r=getVariables(e);this.props.onChange(__assign(__assign({},e),{variables:r})),this.setState({variables:r})}}),Object.defineProperty(r.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,r=this.state.activeIdx,a=this.props.operation.servers.map((function(r){return{serverUrl:r.url,value:"\n "+expandDefaultServerVariables(expandVariables(r.url,e.state.variables),r.variables)+"\n - "+(r.description||"Default")+"\n "}})),t=Object.keys(this.state.variables);return React.createElement(ServerDropdownWrap,null,React.createElement(FormLabel,{htmlFor:"server"},"Target server: "),React.createElement(FormControl,null,React.createElement(Dropdown,{openUp:!0,variant:"dark",value:a[r].value,options:a,onChange:this.handleChange})),t.length?t.map((function(r){var a=e.props.operation.servers[e.state.activeIdx].variables[r];return React.createElement(ServerVariable,{key:r,name:r,value:e.state.variables[r],defaultValue:a.default,onChange:function(a){return e.handleVariableChange(r,a)},variableEnum:a.enum,description:a.description})})):null)}}),r=__decorate([observer],r)}(React.Component);export{ServerChooser};var templateObject_1,pathTemplateRegExp=/(?:{)(\w+)(?:})/g;export function expandVariables(e,r){return void 0===r&&(r={}),e.replace(pathTemplateRegExp,(function(e,a){return r[a]||e}))}function expandDefaultServerVariables(e,r){return void 0===r&&(r={}),e.replace(pathTemplateRegExp,(function(e,a){return r[a]&&r[a].default||e}))}function getVariables(e){if(!e.variables)return{};var r=fromStorage("variables"),a=r&&JSON.parse(r)||{},t={};return Object.keys(e.variables).forEach((function(r){t[r]=e.variables[r].default||"",Object.prototype.hasOwnProperty.call(a,r)&&(t[r]=a[r])})),__assign({},t)}
2
2
  //# sourceMappingURL=ServerDropdown.js.map
@@ -1,9 +1,10 @@
1
+ /// <reference types="react" />
1
2
  import { FieldModel } from '../services';
2
3
  interface LinkToFieldProps {
3
4
  field: FieldModel;
4
5
  className?: string;
5
6
  children?: any;
6
7
  }
7
- export declare const LinkToField: (props: LinkToFieldProps) => any;
8
- export declare const ShareLinkToField: import("styled-components").StyledComponent<(props: LinkToFieldProps) => any, import("../theme").ResolvedThemeInterface, {}, never>;
8
+ export declare const LinkToField: (props: LinkToFieldProps) => JSX.Element;
9
+ export declare const ShareLinkToField: import("styled-components").StyledComponent<(props: LinkToFieldProps) => JSX.Element, import("../theme").ResolvedThemeInterface, {}, never>;
9
10
  export {};
@@ -1,2 +1,2 @@
1
- import{__assign,__makeTemplateObject}from"tslib";import*as React from"react";import{StoreContext}from"../components/StoreBuilder";import styled from"../styled-components";import{SECTION_ATTR}from"../services/constants";import{isModifiedEvent,linkifyMixin}from"./linkify";import{constructFieldDeepFragment}from"../../../services/history/helpers";export var LinkToField=function(e){var i,n,t,o=React.useContext(StoreContext),r=React.useState(!1),l=r[0],a=r[1],s=(null==o?void 0:o.menu.history.linkForId(null===(n=e.field.deps.operation)||void 0===n?void 0:n.id))||"",p=constructFieldDeepFragment(e.field),c=o&&p?o.menu.history.generateDeepLink(p,s):null,d=o?((i={})[SECTION_ATTR]=(null===(t=e.field.deps.operation)||void 0===t?void 0:t.id)+o.options.deepLinkPrefix+p,i.id=c&&c.split("#")[1]||void 0,i):null;return React.useEffect((function(){if(o&&d)return a(o.menu.history.currentId===d[SECTION_ATTR]),o.menu.history.subscribe((function(e){a(e===d[SECTION_ATTR])}))}),[null==o?void 0:o.menu.history,null==d?void 0:d[SECTION_ATTR]]),p&&o&&c?React.createElement("a",__assign({className:e.className+(l?" active":""),href:c,onClick:function(e){return function(e,i,n){i.defaultPrevented||0!==i.button||isModifiedEvent(i)||(i.preventDefault(),e.replaceForField(n))}(o.menu.history,e,c),e.stopPropagation(),e.preventDefault(),o.options.onDeepLinkClick&&o.options.onDeepLinkClick(c),!1}},d),e.children):e.children||null};export var ShareLinkToField=styled(LinkToField)(templateObject_1||(templateObject_1=__makeTemplateObject(["\n ","\n\n & {\n position: relative;\n left: 0;\n\n margin-left: calc(-12px - 4px);\n padding-top: 10px;\n margin-top: -10px;\n\n .field-name:hover > &::before,\n &:hover::before {\n visibility: visible;\n }\n }\n\n &.active::before {\n visibility: visible;\n }\n"],["\n ","\n\n & {\n position: relative;\n left: 0;\n\n margin-left: calc(-12px - 4px);\n padding-top: 10px;\n margin-top: -10px;\n\n .field-name:hover > &::before,\n &:hover::before {\n visibility: visible;\n }\n }\n\n &.active::before {\n visibility: visible;\n }\n"])),linkifyMixin("&","12px"));var templateObject_1;
1
+ import{__assign,__makeTemplateObject}from"tslib";import*as React from"react";import{StoreContext}from"../components";import styled from"../styled-components";import{SECTION_ATTR}from"../services/constants";import{isModifiedEvent,linkifyMixin}from"./linkify";import{constructFieldDeepFragment}from"../../../services/history/helpers";export var LinkToField=function(e){var n,i,t,o=React.useContext(StoreContext),r=React.useState(!1),l=r[0],a=r[1],s=(null==o?void 0:o.menu.history.linkForId(null===(i=e.field.deps.operation)||void 0===i?void 0:i.id))||"",p=constructFieldDeepFragment(e.field),c=o&&p?o.menu.history.generateDeepLink(p,s):null,d=o?((n={})[SECTION_ATTR]=(null===(t=e.field.deps.operation)||void 0===t?void 0:t.id)+o.options.deepLinkPrefix+p,n.id=c&&c.split("#")[1]||void 0,n):null;return React.useEffect((function(){if(o&&d)return a(o.menu.history.currentId===d[SECTION_ATTR]),o.menu.history.subscribe((function(e){a(e===d[SECTION_ATTR])}))}),[null==o?void 0:o.menu.history,null==d?void 0:d[SECTION_ATTR]]),p&&o&&c?React.createElement("a",__assign({className:e.className+(l?" active":""),href:c,onClick:function(e){return function(e,n,i){n.defaultPrevented||0!==n.button||isModifiedEvent(n)||(n.preventDefault(),e.replaceForField(i))}(o.menu.history,e,c),e.stopPropagation(),e.preventDefault(),o.options.onDeepLinkClick&&o.options.onDeepLinkClick(c),!1}},d),e.children):e.children||null};export var ShareLinkToField=styled(LinkToField)(templateObject_1||(templateObject_1=__makeTemplateObject(["\n ","\n\n & {\n position: relative;\n left: 0;\n\n margin-left: calc(-12px - 4px);\n padding-top: 10px;\n margin-top: -10px;\n\n .field-name:hover > &::before,\n &:hover::before {\n visibility: visible;\n }\n }\n\n &.active::before {\n visibility: visible;\n }\n"],["\n ","\n\n & {\n position: relative;\n left: 0;\n\n margin-left: calc(-12px - 4px);\n padding-top: 10px;\n margin-top: -10px;\n\n .field-name:hover > &::before,\n &:hover::before {\n visibility: visible;\n }\n }\n\n &.active::before {\n visibility: visible;\n }\n"])),linkifyMixin("&","12px"));var templateObject_1;
2
2
  //# sourceMappingURL=LinkToField.js.map
@@ -1,2 +1,2 @@
1
- import{__decorate,__extends}from"tslib";import{observer}from"mobx-react";import*as React from"react";import{LinkWrap,LogoImgEl,LogoWrap}from"./styled.elements";var ApiLogo=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return __extends(r,e),Object.defineProperty(r.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.props.info,r=e["x-logo"];if(!r||!r.url)return null;var o=r.href||e.contact&&e.contact.url,t=r.altText?r.altText:"logo",a=React.createElement(LogoImgEl,{src:r.url,alt:t});return React.createElement(LogoWrap,{style:{backgroundColor:r.backgroundColor}},o?LinkWrap(o)(a):a)}}),r=__decorate([observer],r)}(React.Component);export{ApiLogo};
1
+ import{__decorate,__extends}from"tslib";import{observer}from"mobx-react";import*as React from"react";import{LinkWrap,LogoImgEl,LogoWrap}from"./styled.elements";var ApiLogo=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return __extends(r,e),Object.defineProperty(r.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.props.info,r=e["x-logo"];if(!r||!r.url)return null;var t=r.href||e.contact&&e.contact.url,o=r.altText?r.altText:"logo",a=React.createElement(LogoImgEl,{src:r.url,alt:o});return React.createElement(LogoWrap,{style:{backgroundColor:r.backgroundColor}},t?React.createElement(LinkWrap,{url:t},a):a)}}),r=__decorate([observer],r)}(React.Component);export{ApiLogo};
2
2
  //# sourceMappingURL=ApiLogo.js.map
@@ -1,4 +1,7 @@
1
- /// <reference types="react" />
1
+ import * as React from 'react';
2
+ import { PropsWithChildren } from 'react';
2
3
  export declare const LogoImgEl: import("styled-components").StyledComponent<"img", import("../../theme").ResolvedThemeInterface, {}, never>;
3
4
  export declare const LogoWrap: import("styled-components").StyledComponent<"div", import("../../theme").ResolvedThemeInterface, {}, never>;
4
- export declare const LinkWrap: (url: any) => (Component: any) => JSX.Element;
5
+ export declare const LinkWrap: ({ url, children }: React.PropsWithChildren<{
6
+ url: string;
7
+ }>) => JSX.Element;
@@ -1,2 +1,2 @@
1
- import{__makeTemplateObject}from"tslib";import*as React from"react";import styled from"../../styled-components";export var LogoImgEl=styled.img(templateObject_1||(templateObject_1=__makeTemplateObject(["\n max-height: ",";\n max-width: ",";\n padding: ",";\n width: 100%;\n display: block;\n"],["\n max-height: ",";\n max-width: ",";\n padding: ",";\n width: 100%;\n display: block;\n"])),(function(e){return e.theme.logo.maxHeight}),(function(e){return e.theme.logo.maxWidth}),(function(e){return e.theme.logo.gutter}));export var LogoWrap=styled.div(templateObject_2||(templateObject_2=__makeTemplateObject(["\n text-align: center;\n line-height: 0;\n"],["\n text-align: center;\n line-height: 0;\n"])));var templateObject_1,templateObject_2,templateObject_3,Link=styled.a(templateObject_3||(templateObject_3=__makeTemplateObject(["\n display: inline-block;\n"],["\n display: inline-block;\n"])));export var LinkWrap=function(e){return function(t){return React.createElement(Link,{href:e},t)}};
1
+ import{__makeTemplateObject}from"tslib";import*as React from"react";import styled from"../../styled-components";export var LogoImgEl=styled.img(templateObject_1||(templateObject_1=__makeTemplateObject(["\n max-height: ",";\n max-width: ",";\n padding: ",";\n width: 100%;\n display: block;\n"],["\n max-height: ",";\n max-width: ",";\n padding: ",";\n width: 100%;\n display: block;\n"])),(function(e){return e.theme.logo.maxHeight}),(function(e){return e.theme.logo.maxWidth}),(function(e){return e.theme.logo.gutter}));export var LogoWrap=styled.div(templateObject_2||(templateObject_2=__makeTemplateObject(["\n text-align: center;\n line-height: 0;\n"],["\n text-align: center;\n line-height: 0;\n"])));var templateObject_1,templateObject_2,templateObject_3,Link=styled.a(templateObject_3||(templateObject_3=__makeTemplateObject(["\n display: inline-block;\n"],["\n display: inline-block;\n"])));export var LinkWrap=function(e){var t=e.url,n=e.children;return React.createElement(Link,{href:t},n)};
2
2
  //# sourceMappingURL=styled.elements.js.map
@@ -1,2 +1,2 @@
1
- import{__assign,__rest}from"tslib";import*as React from"react";import{useContext}from"react";import{CodePanel}from"../../../../components/Panel";import{TabPanel}from"../../../../components/Tabs";import{SamplesTabs}from"../../../../components/Samples";import{isPayloadSample}from"../../services";import{PayloadSamples}from"../PayloadSamples/PayloadSamples";import{OptionsContext}from"../OptionsProvider";import{CodeSample}from"./CodeSample";import{useCodeSamples}from"./useCodeSamples";import{createLanguageSwitchEvent,creatPanelToggleEvent}from"./languageSwitchEvent";import{l}from"../../services/Labels";export var RequestSamples=function(e){var a=e.operation,t=e.defaultLanguage,o=e.disableHeader,n=__rest(e,["operation","defaultLanguage","disableHeader"]),r=useContext(OptionsContext),s=r.events,m=r.hideSingleRequestSampleTab,p=useCodeSamples(a),i=p.samples,c=p.payload,d=1===i.length&&m;return i.length?React.createElement(CodePanel,{header:o?function(){}:l("requestSamples"),onToggle:function(e){var t,o=creatPanelToggleEvent({operation:a,isExpanded:e,panelType:"request-samples"});null===(t=null==s?void 0:s.panelToggle)||void 0===t||t.call(s,o)}},React.createElement(SamplesTabs,{operation:a,tabs:i,onChange:function(e){var t,o=createLanguageSwitchEvent({operation:a,sample:e});null===(t=null==s?void 0:s.codeSamplesLanguageSwitch)||void 0===t||t.call(s,o)},hidden:d,defaultLanguage:t},i.map((function(e){return React.createElement(TabPanel,{key:e.key},isPayloadSample(e)?React.createElement(PayloadSamples,__assign({content:e.requestBodyContent},n)):React.createElement(CodeSample,__assign({lang:e.lang,source:e.source,externalSample:e,content:null==c?void 0:c.requestBodyContent,operation:a},n)))})))):null};
1
+ import{__assign,__rest}from"tslib";import*as React from"react";import{useContext}from"react";import{CodePanel}from"../../../../components/Panel";import{TabPanel}from"../../../../components/Tabs";import{SamplesTabs}from"../../../../components/Samples";import{isPayloadSample}from"../../services";import{PayloadSamples}from"../PayloadSamples/PayloadSamples";import{OptionsContext}from"../OptionsProvider";import{CodeSample}from"./CodeSample";import{useCodeSamples}from"./useCodeSamples";import{createLanguageSwitchEvent,creatPanelToggleEvent}from"./languageSwitchEvent";import{l}from"../../services/Labels";export var RequestSamples=function(e){var a=e.operation,t=e.defaultLanguage,o=e.disableHeader,n=__rest(e,["operation","defaultLanguage","disableHeader"]),r=useContext(OptionsContext),s=r.events,m=r.hideSingleRequestSampleTab,p=useCodeSamples(a),i=p.samples,d=p.payload,c=1===i.length&&m;return i.length?React.createElement(CodePanel,{header:o?void 0:l("requestSamples"),onToggle:function(e){var t,o=creatPanelToggleEvent({operation:a,isExpanded:e,panelType:"request-samples"});null===(t=null==s?void 0:s.panelToggle)||void 0===t||t.call(s,o)}},React.createElement(SamplesTabs,{operation:a,tabs:i,onChange:function(e){var t,o=createLanguageSwitchEvent({operation:a,sample:e});null===(t=null==s?void 0:s.codeSamplesLanguageSwitch)||void 0===t||t.call(s,o)},hidden:c,defaultLanguage:t},i.map((function(e){return React.createElement(TabPanel,{key:e.key},isPayloadSample(e)?React.createElement(PayloadSamples,__assign({content:e.requestBodyContent},n)):React.createElement(CodeSample,__assign({lang:e.lang,source:e.source,externalSample:e,content:null==d?void 0:d.requestBodyContent,operation:a},n)))})))):null};
2
2
  //# sourceMappingURL=RequestSamples.js.map
@@ -1,2 +1,2 @@
1
- import*as React from"react";import{CodePanel}from"../../../../components/Panel";import{CollapsingTabs,TabPanel}from"../../../../components/Tabs";import{OptionsContext}from"../OptionsProvider";import{PayloadSamples}from"../PayloadSamples/PayloadSamples";import{creatPanelToggleEvent}from"../RequestSamples/languageSwitchEvent";import{l}from"../../services/Labels";export var ResponseSamples=function(e){var t=e.operation,a=t.responses.filter((function(e){return e.content&&e.content.hasSample}));if(!a.length)return null;var n=a.map((function(e){var t=e.code;return{key:t,title:t}})),o=React.useContext(OptionsContext).events;return React.createElement(CodePanel,{header:l("responseSamples"),onToggle:function(e){var a,n=creatPanelToggleEvent({operation:t,isExpanded:e,panelType:"response-samples"});null===(a=null==o?void 0:o.panelToggle)||void 0===a||a.call(o,n)}},React.createElement(CollapsingTabs,{tabs:n,operation:t},a.map((function(e){return React.createElement(TabPanel,{key:e.code,value:e.code},React.createElement("div",null,React.createElement(PayloadSamples,{content:e.content})))}))))};
1
+ import*as React from"react";import{CodePanel}from"../../../../components/Panel";import{CollapsingTabs,TabPanel}from"../../../../components/Tabs";import{OptionsContext}from"../OptionsProvider";import{PayloadSamples}from"../PayloadSamples/PayloadSamples";import{creatPanelToggleEvent}from"../RequestSamples/languageSwitchEvent";import{l}from"../../services/Labels";export var ResponseSamples=function(e){var t=e.operation,a=React.useContext(OptionsContext).events,n=t.responses.filter((function(e){return e.content&&e.content.hasSample}));if(!n.length)return null;var o=n.map((function(e){var t=e.code;return{key:t,title:t}}));return React.createElement(CodePanel,{header:l("responseSamples"),onToggle:function(e){var n,o=creatPanelToggleEvent({operation:t,isExpanded:e,panelType:"response-samples"});null===(n=null==a?void 0:a.panelToggle)||void 0===n||n.call(a,o)}},React.createElement(CollapsingTabs,{tabs:o,operation:t},n.map((function(e){return React.createElement(TabPanel,{key:e.code,value:e.code},React.createElement("div",null,React.createElement(PayloadSamples,{content:e.content})))}))))};
2
2
  //# sourceMappingURL=ResponseSamples.js.map