@redocly/reference-docs 2.1.9 → 2.1.13

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 (131) hide show
  1. package/bin/cli/commands/redocly-docs-cli.min.js +37 -37
  2. package/dist/console.redocly-reference-docs.min.js +5 -5
  3. package/dist/oauth2-redirect.js +2 -2
  4. package/dist/redocly-reference-docs.min.js +18 -18
  5. package/lib/components/Panel/PanelComponent.d.ts +1 -0
  6. package/lib/components/Samples/ExampleSwitch.d.ts +14 -0
  7. package/lib/components/Samples/ExampleSwitch.js +2 -0
  8. package/lib/components/Samples/SamplesTabs.d.ts +2 -1
  9. package/lib/components/Samples/SamplesTabs.js +1 -1
  10. package/lib/components/Samples/index.d.ts +2 -0
  11. package/lib/components/Samples/index.js +1 -1
  12. package/lib/components/Samples/use-example-key.d.ts +7 -0
  13. package/lib/components/Samples/use-example-key.js +2 -0
  14. package/lib/components/common/FileUpload/FileUpload.d.ts +12 -0
  15. package/lib/components/common/FileUpload/FileUpload.js +2 -0
  16. package/lib/components/common/FileUpload/helper.d.ts +4 -0
  17. package/lib/components/common/FileUpload/helper.js +2 -0
  18. package/lib/components/common/FileUpload/index.d.ts +1 -0
  19. package/lib/components/common/FileUpload/index.js +2 -0
  20. package/lib/components/console/ActionPanel.js +1 -1
  21. package/lib/components/console/AuthPanel.js +1 -1
  22. package/lib/components/console/Console.d.ts +2 -1
  23. package/lib/components/console/Console.js +1 -1
  24. package/lib/components/console/FileUploadInput.d.ts +4 -0
  25. package/lib/components/console/FileUploadInput.js +2 -0
  26. package/lib/components/console/OperationParameters.js +1 -1
  27. package/lib/components/console/RequestBody.d.ts +3 -13
  28. package/lib/components/console/RequestBody.js +1 -1
  29. package/lib/components/console/styled.components.js +1 -1
  30. package/lib/components/shared/NoSampleLabel.d.ts +1 -0
  31. package/lib/components/shared/NoSampleLabel.js +1 -1
  32. package/lib/index.d.ts +1 -0
  33. package/lib/index.js +1 -1
  34. package/lib/models/code-sample-options.d.ts +10 -0
  35. package/lib/models/code-sample-options.js +2 -0
  36. package/lib/models/index.d.ts +1 -0
  37. package/lib/models/index.js +2 -0
  38. package/lib/redoc-lib/src/components/MediaTypeSwitch/MediaTypesSwitch.js +1 -1
  39. package/lib/redoc-lib/src/components/Operation/Operation.js +1 -1
  40. package/lib/redoc-lib/src/components/PayloadSamples/MediaTypeSamples.d.ts +3 -3
  41. package/lib/redoc-lib/src/components/PayloadSamples/MediaTypeSamples.js +1 -1
  42. package/lib/redoc-lib/src/components/PayloadSamples/PayloadSamples.d.ts +2 -0
  43. package/lib/redoc-lib/src/components/PayloadSamples/PayloadSamples.js +1 -1
  44. package/lib/redoc-lib/src/components/RequestSamples/CodeSample.d.ts +8 -13
  45. package/lib/redoc-lib/src/components/RequestSamples/CodeSample.js +1 -1
  46. package/lib/redoc-lib/src/components/RequestSamples/RequestSamples.d.ts +7 -1
  47. package/lib/redoc-lib/src/components/RequestSamples/RequestSamples.js +1 -1
  48. package/lib/redoc-lib/src/components/RequestSamples/useCodeSamples.js +1 -1
  49. package/lib/redoc-lib/src/components/SchemaDefinition/SchemaDefinition.d.ts +0 -1
  50. package/lib/redoc-lib/src/components/SchemaDefinition/SchemaDefinition.js +1 -1
  51. package/lib/redoc-lib/src/components/SourceCode/SourceCode.d.ts +2 -0
  52. package/lib/redoc-lib/src/components/index.d.ts +1 -0
  53. package/lib/redoc-lib/src/components/index.js +1 -1
  54. package/lib/redoc-lib/src/services/MenuBuilder.d.ts +1 -0
  55. package/lib/redoc-lib/src/services/ScrollService.js +1 -1
  56. package/lib/redoc-lib/src/services/models/Operation.d.ts +1 -0
  57. package/lib/redoc-lib/src/services/models/Operation.js +1 -1
  58. package/lib/redoc-lib/src/styled-components.d.ts +0 -5
  59. package/lib/redoc-lib/src/styled-components.js +1 -1
  60. package/lib/services/ProMenu.d.ts +1 -1
  61. package/lib/services/ProStore.js +1 -1
  62. package/lib/services/code-samples/generator.d.ts +3 -1
  63. package/lib/services/code-samples/generator.js +1 -1
  64. package/lib/services/index.d.ts +1 -0
  65. package/lib/services/index.js +1 -1
  66. package/lib/services/utils.d.ts +1 -0
  67. package/lib/services/utils.js +1 -1
  68. package/lib-esm/components/Panel/PanelComponent.d.ts +1 -0
  69. package/lib-esm/components/Samples/ExampleSwitch.d.ts +14 -0
  70. package/lib-esm/components/Samples/ExampleSwitch.js +2 -0
  71. package/lib-esm/components/Samples/SamplesTabs.d.ts +2 -1
  72. package/lib-esm/components/Samples/SamplesTabs.js +1 -1
  73. package/lib-esm/components/Samples/index.d.ts +2 -0
  74. package/lib-esm/components/Samples/index.js +1 -1
  75. package/lib-esm/components/Samples/use-example-key.d.ts +7 -0
  76. package/lib-esm/components/Samples/use-example-key.js +2 -0
  77. package/lib-esm/components/common/FileUpload/FileUpload.d.ts +12 -0
  78. package/lib-esm/components/common/FileUpload/FileUpload.js +2 -0
  79. package/lib-esm/components/common/FileUpload/helper.d.ts +4 -0
  80. package/lib-esm/components/common/FileUpload/helper.js +2 -0
  81. package/lib-esm/components/common/FileUpload/index.d.ts +1 -0
  82. package/lib-esm/components/common/FileUpload/index.js +2 -0
  83. package/lib-esm/components/console/ActionPanel.js +1 -1
  84. package/lib-esm/components/console/AuthPanel.js +1 -1
  85. package/lib-esm/components/console/Console.d.ts +2 -1
  86. package/lib-esm/components/console/Console.js +1 -1
  87. package/lib-esm/components/console/FileUploadInput.d.ts +4 -0
  88. package/lib-esm/components/console/FileUploadInput.js +2 -0
  89. package/lib-esm/components/console/OperationParameters.js +1 -1
  90. package/lib-esm/components/console/RequestBody.d.ts +3 -13
  91. package/lib-esm/components/console/RequestBody.js +1 -1
  92. package/lib-esm/components/console/styled.components.js +1 -1
  93. package/lib-esm/components/shared/NoSampleLabel.d.ts +1 -0
  94. package/lib-esm/components/shared/NoSampleLabel.js +1 -1
  95. package/lib-esm/index.d.ts +1 -0
  96. package/lib-esm/index.js +1 -1
  97. package/lib-esm/models/code-sample-options.d.ts +10 -0
  98. package/lib-esm/models/code-sample-options.js +2 -0
  99. package/lib-esm/models/index.d.ts +1 -0
  100. package/lib-esm/models/index.js +2 -0
  101. package/lib-esm/redoc-lib/src/components/MediaTypeSwitch/MediaTypesSwitch.js +1 -1
  102. package/lib-esm/redoc-lib/src/components/Operation/Operation.js +1 -1
  103. package/lib-esm/redoc-lib/src/components/PayloadSamples/MediaTypeSamples.d.ts +3 -3
  104. package/lib-esm/redoc-lib/src/components/PayloadSamples/MediaTypeSamples.js +1 -1
  105. package/lib-esm/redoc-lib/src/components/PayloadSamples/PayloadSamples.d.ts +2 -0
  106. package/lib-esm/redoc-lib/src/components/PayloadSamples/PayloadSamples.js +1 -1
  107. package/lib-esm/redoc-lib/src/components/RequestSamples/CodeSample.d.ts +8 -13
  108. package/lib-esm/redoc-lib/src/components/RequestSamples/CodeSample.js +1 -1
  109. package/lib-esm/redoc-lib/src/components/RequestSamples/RequestSamples.d.ts +7 -1
  110. package/lib-esm/redoc-lib/src/components/RequestSamples/RequestSamples.js +1 -1
  111. package/lib-esm/redoc-lib/src/components/RequestSamples/useCodeSamples.js +1 -1
  112. package/lib-esm/redoc-lib/src/components/SchemaDefinition/SchemaDefinition.d.ts +0 -1
  113. package/lib-esm/redoc-lib/src/components/SchemaDefinition/SchemaDefinition.js +1 -1
  114. package/lib-esm/redoc-lib/src/components/SourceCode/SourceCode.d.ts +2 -0
  115. package/lib-esm/redoc-lib/src/components/index.d.ts +1 -0
  116. package/lib-esm/redoc-lib/src/components/index.js +1 -1
  117. package/lib-esm/redoc-lib/src/services/MenuBuilder.d.ts +1 -0
  118. package/lib-esm/redoc-lib/src/services/ScrollService.js +1 -1
  119. package/lib-esm/redoc-lib/src/services/models/Operation.d.ts +1 -0
  120. package/lib-esm/redoc-lib/src/services/models/Operation.js +1 -1
  121. package/lib-esm/redoc-lib/src/styled-components.d.ts +0 -5
  122. package/lib-esm/redoc-lib/src/styled-components.js +1 -1
  123. package/lib-esm/services/ProMenu.d.ts +1 -1
  124. package/lib-esm/services/ProStore.js +1 -1
  125. package/lib-esm/services/code-samples/generator.d.ts +3 -1
  126. package/lib-esm/services/code-samples/generator.js +1 -1
  127. package/lib-esm/services/index.d.ts +1 -0
  128. package/lib-esm/services/index.js +1 -1
  129. package/lib-esm/services/utils.d.ts +1 -0
  130. package/lib-esm/services/utils.js +1 -1
  131. package/package.json +8 -4
@@ -1,2 +1,2 @@
1
- "use strict";function normalizePath(e){return e.startsWith("/")||(e="/"+e),e.endsWith("/")&&(e=e.slice(0,-1)),e}function isSameMime(e,r){return!(!e||!r)&&e.split(";")[0]===r.split(";")[0]}function normalizeMimeType(e){if(e)return e.split(";")[0]}function unescapeServerVariables(e){var r=new RegExp("%7B","g"),i=new RegExp("%7D","g");return e.replace(r,"{").replace(i,"}").replace("///","//")}Object.defineProperty(exports,"__esModule",{value:!0}),exports.unescapeServerVariables=exports.normalizeMimeType=exports.isSameMime=exports.normalizePath=void 0,exports.normalizePath=normalizePath,exports.isSameMime=isSameMime,exports.normalizeMimeType=normalizeMimeType,exports.unescapeServerVariables=unescapeServerVariables;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.arrayMerge=exports.unescapeServerVariables=exports.normalizeMimeType=exports.isSameMime=exports.normalizePath=void 0;var tslib_1=require("tslib"),deepmerge_1=(0,tslib_1.__importDefault)(require("deepmerge"));function normalizePath(e){return e.startsWith("/")||(e="/"+e),e.endsWith("/")&&(e=e.slice(0,-1)),e}function isSameMime(e,r){return!(!e||!r)&&e.split(";")[0]===r.split(";")[0]}function normalizeMimeType(e){if(e)return e.split(";")[0]}function unescapeServerVariables(e){var r=new RegExp("%7B","g"),t=new RegExp("%7D","g");return e.replace(r,"{").replace(t,"}").replace("///","//")}function arrayMerge(e,r){if(e.length){var t=e.map((function(e,t){return(0,deepmerge_1.default)(e,r[t]||{})}));return r.length>e.length?t.concat(r.slice(e.length)):t}return r}exports.normalizePath=normalizePath,exports.isSameMime=isSameMime,exports.normalizeMimeType=normalizeMimeType,exports.unescapeServerVariables=unescapeServerVariables,exports.arrayMerge=arrayMerge;
2
2
  //# sourceMappingURL=utils.js.map
@@ -7,6 +7,7 @@ export interface PanelComponentProps {
7
7
  collapsed?: boolean;
8
8
  renderChildrenHidden?: boolean;
9
9
  className?: string;
10
+ 'data-cy'?: string;
10
11
  header?: React.ReactNode | ((props: PanelHeaderProps) => React.ReactNode);
11
12
  children?: React.ReactNode;
12
13
  onToggle?: (expanded: boolean) => void;
@@ -0,0 +1,14 @@
1
+ /// <reference types="react" />
2
+ import { ExampleModel } from '../../redoc-lib/src/services';
3
+ interface ExampleModelsMap {
4
+ [key: string]: ExampleModel;
5
+ }
6
+ export interface ExampleSwitchOptions {
7
+ exampleKey?: string;
8
+ }
9
+ export interface ExampleSwitchProps extends ExampleSwitchOptions {
10
+ examples: ExampleModelsMap;
11
+ onChange: (key: string) => void;
12
+ }
13
+ export declare const ExampleSwitch: ({ exampleKey, examples, onChange }: ExampleSwitchProps) => JSX.Element;
14
+ export {};
@@ -0,0 +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"))};
2
+ //# sourceMappingURL=ExampleSwitch.js.map
@@ -6,6 +6,7 @@ interface SampleProps extends TabProps {
6
6
  interface SamplesTabsProps extends TabsProps {
7
7
  onChange?: (tab: TabProps) => void;
8
8
  tabs: SampleProps[];
9
+ defaultLanguage?: string;
9
10
  }
10
- export declare const SamplesTabs: ({ children, onChange, ...props }: SamplesTabsProps) => JSX.Element;
11
+ export declare const SamplesTabs: ({ children, onChange, defaultLanguage, ...props }: SamplesTabsProps) => JSX.Element;
11
12
  export {};
@@ -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";export var SamplesTabs=observer((function(e){var a=e.children,t=e.onChange,r=__rest(e,["children","onChange"]),n=useContext(StoreContext),o=useState(),s=o[0],i=o[1],c=useState([]),u=c[0],f=c[1];useEffect((function(){f(r.tabs.map((function(e){return e.lang})))}),[r.tabs]),useEffect((function(){s===n.activeSampleLanguage&&i(void 0)}),[n.activeSampleLanguage]),useLayoutEffect((function(){return n.stopLoader()}),[n.activeSampleLanguage]),useEffect((function(){s&&(n.startLoader(),n.activateSampleLanguage(s))}),[s]);var m;return React.createElement(LoadingWrapper,{className:s&&"updated"},React.createElement(CollapsingTabsBase,__assign({},r,{activeIndex:(m=u.indexOf(s||n.activeSampleLanguage),-1===m?0:m),onChange:function(e){var a=r.tabs[e];i(a.lang),t&&t(a)}}),a))}));
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))}));
2
2
  //# sourceMappingURL=SamplesTabs.js.map
@@ -1,2 +1,4 @@
1
1
  export * from './SamplesTabs';
2
2
  export * from './LoadingWrapper';
3
+ export * from './ExampleSwitch';
4
+ export * from './use-example-key';
@@ -1,2 +1,2 @@
1
- export*from"./SamplesTabs";export*from"./LoadingWrapper";
1
+ export*from"./SamplesTabs";export*from"./LoadingWrapper";export*from"./ExampleSwitch";export*from"./use-example-key";
2
2
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ import { OperationModel } from '../../redoc-lib/src/services/models/Operation';
2
+ interface ExampleName {
3
+ exampleKey: string;
4
+ defaultExampleName?: string;
5
+ }
6
+ export declare function useExampleKey({ activeExampleName, defaultExampleName }: OperationModel | undefined, examples: Record<string, unknown>): ExampleName;
7
+ export {};
@@ -0,0 +1,2 @@
1
+ export function useExampleKey(e,a){var m=void 0===e?{}:e,l=m.activeExampleName,t=m.defaultExampleName;return{exampleKey:l&&a[l]?l:Object.keys(a)[0],defaultExampleName:t}}
2
+ //# sourceMappingURL=use-example-key.js.map
@@ -0,0 +1,12 @@
1
+ import * as React from 'react';
2
+ export interface FileUploadProps {
3
+ schema: {
4
+ type?: string;
5
+ format?: string;
6
+ properties?: any;
7
+ };
8
+ contentName: string;
9
+ onChange(string: any, any: any): any;
10
+ name: string;
11
+ }
12
+ export declare const FileUpload: React.ForwardRefExoticComponent<React.InputHTMLAttributes<HTMLInputElement> & FileUploadProps & React.RefAttributes<HTMLInputElement>>;
@@ -0,0 +1,2 @@
1
+ import{__assign,__awaiter,__generator,__rest}from"tslib";import*as React from"react";import{useField}from"informed";import{fileToBase64}from"./helper";export var FileUpload=React.forwardRef((function(e,t){var r=__rest(e,[]),a=r.schema,n=r.contentName,s=r.onChange,i=r.name;return(0,useField(__assign({field:i},r)).render)(React.createElement("input",{"data-cy":"file-upload-input",type:"file",id:r.id,className:r.className,name:r.name,onChange:function(e){return __awaiter(this,void 0,void 0,(function(){var t,r,i,l,o=this;return __generator(this,(function(c){switch(c.label){case 0:return t=1===e.target.files.length?e.target.files[0]:e.target.files,"string"===(r=a.properties?a.properties[n]:a).type&&r.format?"base64"!==r.format?[3,2]:[4,fileToBase64(t)]:[3,2];case 1:t=c.sent(),c.label=2;case 2:return"array"===r.type&&r.items?"base64"!==r.items.format?[3,7]:t.length?[4,Promise.all(Object.keys(t).map((function(e){return __awaiter(o,void 0,void 0,(function(){return __generator(this,(function(r){switch(r.label){case 0:return[4,fileToBase64(t[e])];case 1:return[2,r.sent()]}}))}))})))]:[3,4]:[3,11];case 3:return i=c.sent(),[3,6];case 4:return[4,fileToBase64(t)];case 5:i=c.sent(),c.label=6;case 6:return t=i,[3,11];case 7:return t.length?[4,Promise.all(Object.keys(t).map((function(e){return t[e]})))]:[3,9];case 8:return l=c.sent(),[3,10];case 9:l=t,c.label=10;case 10:t=l,c.label=11;case 11:return s(n,t),[2]}}))}))},multiple:r.multiple,accept:r.accept,ref:t}))}));
2
+ //# sourceMappingURL=FileUpload.js.map
@@ -0,0 +1,4 @@
1
+ export declare const IMAGE_TYPES: string[];
2
+ export declare const FILE_UPLOAD_SCHEMA_TYPES: string[];
3
+ export declare const isFileUpload: (obj: any) => boolean;
4
+ export declare const fileToBase64: (file: File) => Promise<string>;
@@ -0,0 +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)}))};
2
+ //# sourceMappingURL=helper.js.map
@@ -0,0 +1 @@
1
+ export * from './FileUpload';
@@ -0,0 +1,2 @@
1
+ export*from"./FileUpload";
2
+ //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- import{__makeTemplateObject}from"tslib";import*as React from"react";import{serializeParameterValue,styled}from"../../redoc-lib";import{CodeHeader}from"../Panel";import{Path,PathWrapper}from"../Endpoint/Path";import{HttpVerb,Button}from"../shared";import{expandVariables}from"./ServerDropdown";function formatPath(e,t,r){var n=t.path||{},a=t.query||{},o=Object.keys(a),m=expandVariables(e,n);return o.length&&(m+="?"+o.map((function(e){if(!a[e])return"";var t=function(e){return r.find((function(t){return t.name===e&&"query"===t.in}))}(e);return t?serializeParameterValue(t,a[e]):e+"="+encodeURIComponent(a[e])})).filter(Boolean).join("&")),m}export var ActionPanel=function(e){var t=e.loading,r=e.operation,n=e.hasResponse,a=e.execute,o=e.params,m=void 0===o?{}:o;return React.createElement(TryItHeader,null,React.createElement(PathWrapper,null,React.createElement(HttpVerb,{type:r.httpVerb},r.httpVerb),React.createElement(Path,{wrap:"true"},formatPath(r.path,m,r.parameters))),React.createElement(SendButton,{color:"primary",blinking:t,onClick:function(){t||a()}},t?"Sending...":n?"Resend":"Send"))};var templateObject_1,templateObject_2,SendButton=styled(Button)(templateObject_1||(templateObject_1=__makeTemplateObject(["\n width: ",";\n"],["\n width: ",";\n"])),(function(e){return e.theme.components.tryItSendButton.fullWidth?"100%":"auto"})),TryItHeader=styled(CodeHeader)(templateObject_2||(templateObject_2=__makeTemplateObject(["\n ",";\n"],["\n ",";\n"])),(function(e){return e.theme.components.tryItSendButton.fullWidth?"\n flex-direction: column;\n align-items: flex-start;":""}));
1
+ import{__makeTemplateObject}from"tslib";import*as React from"react";import{serializeParameterValue,styled}from"../../redoc-lib";import{CodeHeader}from"../Panel";import{Path,PathWrapper}from"../Endpoint/Path";import{HttpVerb,Button}from"../shared";import{expandVariables}from"./ServerDropdown";function formatPath(e,t,n){var r=t.path||{},a=t.query||{},o=Object.keys(a),m=expandVariables(e,r);return o.length&&(m+="?"+o.map((function(e){if(!a[e])return"";var t=function(e){return n.find((function(t){return t.name===e&&"query"===t.in}))}(e);return t?serializeParameterValue(t,a[e]):e+"="+encodeURIComponent(a[e])})).filter(Boolean).join("&")),m}export var ActionPanel=function(e){var t=e.loading,n=e.operation,r=e.hasResponse,a=e.execute,o=e.params,m=void 0===o?{}:o;return React.createElement(TryItHeader,null,React.createElement(PathWrapper,null,React.createElement(HttpVerb,{type:n.httpVerb},n.httpVerb),React.createElement(Path,{wrap:"true"},formatPath(n.path,m,n.parameters))),React.createElement(SendButton,{"data-cy":"send-button",color:"primary",blinking:t,onClick:function(){t||a()}},t?"Sending...":r?"Resend":"Send"))};var templateObject_1,templateObject_2,SendButton=styled(Button)(templateObject_1||(templateObject_1=__makeTemplateObject(["\n width: ",";\n"],["\n width: ",";\n"])),(function(e){return e.theme.components.tryItSendButton.fullWidth?"100%":"auto"})),TryItHeader=styled(CodeHeader)(templateObject_2||(templateObject_2=__makeTemplateObject(["\n ",";\n"],["\n ",";\n"])),(function(e){return e.theme.components.tryItSendButton.fullWidth?"\n flex-direction: column;\n align-items: flex-start;":""}));
2
2
  //# sourceMappingURL=ActionPanel.js.map
@@ -1,2 +1,2 @@
1
- import{__assign,__extends}from"tslib";import*as React from"react";import{Dropdown}from"../../redoc-lib";import{fromStorage,getSecurityDetailsOptions,toStorage,escapeFormId}from"../../utils";import OAuth2TokenInput from"./OAuth2TokenInput";import{OAuth2Flow}from"./OAuth2Flow";import{OpenIDConnect}from"./OpenIDConnect";import{FormDropdown,FormTextField}from"../common/TextField";import{FormControl,FormLabel,FormWrapper}from"../common/form";import{l}from"../../redoc-lib/src/services/Labels";export function requiredValidator(e){if(!e)return"Field is required"}var getCookie=function(e){var t=document.cookie.match("\\b"+e+"=([^;]*)\\b");return t?t[1]:void 0};function fromCookie(e){if("cookie"===e.in)return getCookie(e.name)}var AuthPanel=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"state",{enumerable:!0,configurable:!0,writable:!0,value:{activeScheme:0}}),Object.defineProperty(t,"handleSchemeChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){t.setState({activeScheme:e.idx}),toStorage("securityRequirementName",e.value)}}),t}return __extends(t,e),Object.defineProperty(t,"getDerivedStateFromProps",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=e.operation.security.map((function(e){return e.schemes.map((function(e){return e.id})).join(" and ")})),r=fromStorage("securityRequirementName"),o=t.findIndex((function(e){return e===r}));return{activeScheme:o<0?0:o}}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=this.state.activeScheme,r=this.props.operation.security,o=r.map((function(e){return e.schemes.map((function(e){return e.id})).join(" and ")})).map((function(e,t){return{value:e,idx:t}}));return 0===o.length?null:React.createElement(React.Fragment,null,React.createElement(FormWrapper,null,o.length>1&&React.createElement(FormControl,null,React.createElement(Dropdown,{variant:"dark",fullWidth:!0,prefix:"Security scheme: ",options:o,value:o[t].value,onChange:this.handleSchemeChange}))||null,r[t].schemes.map((function(t){var r,o,a,n=escapeFormId(t.id);if("apiKey"===t.type){var i=getSecurityDetailsOptions(n,""),u={field:"auth."+n,fullWidth:!0,initialValue:fromCookie(t)||fromStorage("auth."+n),initValue:fromCookie(t)||fromStorage("auth."+n),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement(FormControl,{key:n},React.createElement(FormLabel,null," ",t.name,": "),i?React.createElement(FormDropdown,__assign({},u,{options:i})):React.createElement(FormTextField,__assign({},u,{type:"password"})))}if("http"===t.type){if("basic"===t.scheme){var c=getSecurityDetailsOptions(n,"username");u={field:"auth."+n+".username",fullWidth:!0,initialValue:fromStorage("auth."+n+".username"),initValue:fromStorage("auth."+n+".username"),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement(React.Fragment,{key:n},React.createElement(FormControl,null,React.createElement(FormLabel,null," ",l("tryItAuthBasicUsername"),": "),c?React.createElement(FormDropdown,__assign({},u,{options:c})):React.createElement(FormTextField,__assign({},u))),React.createElement(FormControl,null,React.createElement(FormLabel,null," ",l("tryItAuthBasicPassword"),": "),React.createElement(FormTextField,{type:"password",fullWidth:!0,field:"auth."+n+".password",validate:requiredValidator,initialValue:fromStorage("auth."+n+".password"),validateOnBlur:!0,validateOnChange:!0})))}if("bearer"===t.scheme){var m=getSecurityDetailsOptions(n,"");u={field:"auth."+n,fullWidth:!0,initialValue:fromStorage("auth."+n),initValue:fromStorage("auth."+n),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement(React.Fragment,{key:n},React.createElement(FormControl,null,React.createElement(FormLabel,null," Bearer Token: "),m?React.createElement(FormDropdown,__assign({},u,{options:m})):React.createElement(FormTextField,__assign({},u,{type:"password",placeholder:"(without 'Bearer')"}))))}}else{if("oauth2"===t.type&&t.flows&&t.flows.clientCredentials)return React.createElement(OAuth2TokenInput,{key:n,flow:t.flows.clientCredentials,server:e.props.activeServer,authCorsProxyUrl:e.props.authCorsProxyUrl,id:n,form:e.props.form,formApi:e.props.formApi,clientId:t.flows.clientCredentials["x-defaultClientId"]||t["x-defaultClientId"]});if("oauth2"===t.type&&t.flows&&t.flows.implicit)return React.createElement(OAuth2Flow,{key:n,authorizationUrl:t.flows.implicit.authorizationUrl,authCorsProxyUrl:e.props.authCorsProxyUrl,scopes:Object.keys((null===(o=null===(r=null==t?void 0:t.flows)||void 0===r?void 0:r.implicit)||void 0===o?void 0:o.scopes)||{}),server:e.props.activeServer,id:n,form:e.props.form,formApi:e.props.formApi,clientId:t.flows.implicit["x-defaultClientId"]||t["x-defaultClientId"],flow:"implicit"});if("oauth2"===t.type&&t.flows&&t.flows.authorizationCode)return React.createElement(OAuth2Flow,{key:n,authorizationUrl:t.flows.authorizationCode.authorizationUrl,tokenUrl:t.flows.authorizationCode.tokenUrl,authCorsProxyUrl:e.props.authCorsProxyUrl,scopes:Object.keys((null===(a=t.flows.authorizationCode)||void 0===a?void 0:a.scopes)||{}),server:e.props.activeServer,id:n,form:e.props.form,formApi:e.props.formApi,clientId:t.flows.authorizationCode["x-defaultClientId"]||t["x-defaultClientId"],flow:"authorizationCode"});if("oauth2"===t.type){var s=fromStorage("auth."+n+".token");return s=s?JSON.parse(s):{},React.createElement(React.Fragment,{key:n},React.createElement(FormControl,null,React.createElement(FormLabel,null," Access Token Type: "),React.createElement(FormTextField,{fullWidth:!0,field:"auth."+n+".token.token_type",initialValue:s.token_type||"Bearer"})),React.createElement(FormControl,null,React.createElement(FormLabel,null," Access Token: "),React.createElement(FormTextField,{type:"password",fullWidth:!0,field:"auth."+n+".token.access_token",validate:requiredValidator,initialValue:s.access_token,validateOnBlur:!0,validateOnChange:!0})))}if("openIdConnect"===t.type)return React.createElement(OpenIDConnect,{key:n,server:e.props.activeServer,authCorsProxyUrl:e.props.authCorsProxyUrl,id:n,form:e.props.form,formApi:e.props.formApi,scheme:t,clientId:t["x-defaultClientId"]})}}))),React.createElement("small",null,React.createElement("strong",null,"Note"),": Your credentials will be saved until the end of the browser session"))}}),t}(React.Component);export{AuthPanel};
1
+ import{__assign,__extends}from"tslib";import*as React from"react";import{Dropdown}from"../../redoc-lib";import{fromStorage,getSecurityDetailsOptions,toStorage,escapeFormId}from"../../utils";import OAuth2TokenInput from"./OAuth2TokenInput";import{OAuth2Flow}from"./OAuth2Flow";import{OpenIDConnect}from"./OpenIDConnect";import{FormDropdown,FormTextField}from"../common/TextField";import{FormControl,FormLabel,FormWrapper}from"../common/form";import{l}from"../../redoc-lib/src/services/Labels";export function requiredValidator(e){if(!e)return"Field is required"}var getCookie=function(e){var t=document.cookie.match("\\b"+e+"=([^;]*)\\b");return t?t[1]:void 0};function fromCookie(e){if("cookie"===e.in)return getCookie(e.name)}var AuthPanel=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"state",{enumerable:!0,configurable:!0,writable:!0,value:{activeScheme:0}}),Object.defineProperty(t,"handleSchemeChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){t.setState({activeScheme:e.idx}),toStorage("securityRequirementName",e.value)}}),t}return __extends(t,e),Object.defineProperty(t,"getDerivedStateFromProps",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=e.operation.security.map((function(e){return e.schemes.map((function(e){return e.id})).join(" and ")})),r=fromStorage("securityRequirementName"),a=t.findIndex((function(e){return e===r}));return{activeScheme:a<0?0:a}}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=this.state.activeScheme,r=this.props.operation.security,a=r.map((function(e){return e.schemes.map((function(e){return e.id})).join(" and ")})).map((function(e,t){return{value:e,idx:t}}));return 0===a.length?null:React.createElement(React.Fragment,null,React.createElement(FormWrapper,null,a.length>1&&React.createElement(FormControl,null,React.createElement(Dropdown,{variant:"dark",fullWidth:!0,prefix:"Security scheme: ",options:a,value:a[t].value,onChange:this.handleSchemeChange}))||null,r[t].schemes.map((function(t){var r,a,o,n=escapeFormId(t.id);if("apiKey"===t.type){var i=getSecurityDetailsOptions(n,""),u={field:"auth."+n,fullWidth:!0,initialValue:fromCookie(t)||fromStorage("auth."+n),initValue:fromCookie(t)||fromStorage("auth."+n),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement(FormControl,{key:n},React.createElement(FormLabel,null," ",t.name,": "),i?React.createElement(FormDropdown,__assign({},u,{options:i})):React.createElement(FormTextField,__assign({},u,{type:"password","data-cy":"apiKey-auth-password"})))}if("http"===t.type){if("basic"===t.scheme){var c=getSecurityDetailsOptions(n,"username");u={field:"auth."+n+".username",fullWidth:!0,initialValue:fromStorage("auth."+n+".username"),initValue:fromStorage("auth."+n+".username"),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement(React.Fragment,{key:n},React.createElement(FormControl,null,React.createElement(FormLabel,null," ",l("tryItAuthBasicUsername"),": "),c?React.createElement(FormDropdown,__assign({},u,{options:c})):React.createElement(FormTextField,__assign({},u))),React.createElement(FormControl,null,React.createElement(FormLabel,null," ",l("tryItAuthBasicPassword"),": "),React.createElement(FormTextField,{type:"password","data-cy":"http-auth-password",fullWidth:!0,field:"auth."+n+".password",validate:requiredValidator,initialValue:fromStorage("auth."+n+".password"),validateOnBlur:!0,validateOnChange:!0})))}if("bearer"===t.scheme){var m=getSecurityDetailsOptions(n,"");u={field:"auth."+n,fullWidth:!0,initialValue:fromStorage("auth."+n),initValue:fromStorage("auth."+n),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement(React.Fragment,{key:n},React.createElement(FormControl,null,React.createElement(FormLabel,null," Bearer Token: "),m?React.createElement(FormDropdown,__assign({},u,{options:m})):React.createElement(FormTextField,__assign({},u,{type:"password",placeholder:"(without 'Bearer')"}))))}}else{if("oauth2"===t.type&&t.flows&&t.flows.clientCredentials)return React.createElement(OAuth2TokenInput,{key:n,flow:t.flows.clientCredentials,server:e.props.activeServer,authCorsProxyUrl:e.props.authCorsProxyUrl,id:n,form:e.props.form,formApi:e.props.formApi,clientId:t.flows.clientCredentials["x-defaultClientId"]||t["x-defaultClientId"]});if("oauth2"===t.type&&t.flows&&t.flows.implicit)return React.createElement(OAuth2Flow,{key:n,authorizationUrl:t.flows.implicit.authorizationUrl,authCorsProxyUrl:e.props.authCorsProxyUrl,scopes:Object.keys((null===(a=null===(r=null==t?void 0:t.flows)||void 0===r?void 0:r.implicit)||void 0===a?void 0:a.scopes)||{}),server:e.props.activeServer,id:n,form:e.props.form,formApi:e.props.formApi,clientId:t.flows.implicit["x-defaultClientId"]||t["x-defaultClientId"],flow:"implicit"});if("oauth2"===t.type&&t.flows&&t.flows.authorizationCode)return React.createElement(OAuth2Flow,{key:n,authorizationUrl:t.flows.authorizationCode.authorizationUrl,tokenUrl:t.flows.authorizationCode.tokenUrl,authCorsProxyUrl:e.props.authCorsProxyUrl,scopes:Object.keys((null===(o=t.flows.authorizationCode)||void 0===o?void 0:o.scopes)||{}),server:e.props.activeServer,id:n,form:e.props.form,formApi:e.props.formApi,clientId:t.flows.authorizationCode["x-defaultClientId"]||t["x-defaultClientId"],flow:"authorizationCode"});if("oauth2"===t.type){var s=fromStorage("auth."+n+".token");return s=s?JSON.parse(s):{},React.createElement(React.Fragment,{key:n},React.createElement(FormControl,null,React.createElement(FormLabel,null," Access Token Type: "),React.createElement(FormTextField,{fullWidth:!0,field:"auth."+n+".token.token_type",initialValue:s.token_type||"Bearer"})),React.createElement(FormControl,null,React.createElement(FormLabel,null," Access Token: "),React.createElement(FormTextField,{type:"password",fullWidth:!0,field:"auth."+n+".token.access_token",validate:requiredValidator,initialValue:s.access_token,validateOnBlur:!0,validateOnChange:!0})))}if("openIdConnect"===t.type)return React.createElement(OpenIDConnect,{key:n,server:e.props.activeServer,authCorsProxyUrl:e.props.authCorsProxyUrl,id:n,form:e.props.form,formApi:e.props.formApi,scheme:t,clientId:t["x-defaultClientId"]})}}))),React.createElement("small",null,React.createElement("strong",null,"Note"),": Your credentials will be saved until the end of the browser session"))}}),t}(React.Component);export{AuthPanel};
2
2
  //# sourceMappingURL=AuthPanel.js.map
@@ -8,7 +8,8 @@ export interface ConsoleProps {
8
8
  specIdx?: number;
9
9
  className?: string;
10
10
  rootElement?: HTMLElement | null;
11
- onClose: () => any;
11
+ onClose?: () => any;
12
+ properties?: any;
12
13
  }
13
14
  export interface ConsoleState {
14
15
  form: any;
@@ -1,2 +1,2 @@
1
- import{__assign,__awaiter,__decorate,__extends,__generator,__makeTemplateObject}from"tslib";import*as React from"react";import{Form,useField}from"informed";import{observer}from"mobx-react";import{get,useDimensions,unescapeFormId}from"../../utils";import{parse}from"query-string";import{CloseButton,ConsoleBody,ConsoleWrap}from"./styled.components";import{ServerChooser}from"./ServerDropdown";import{OperationParameters}from"./OperationParameters";import{ActionPanel}from"./ActionPanel";import{ResponsePanel}from"./ResponsePanel";import{RequestBody}from"./RequestBody";import{ConsoleBadges}from"./ConsoleBadges";import{AuthPanel,requiredValidator}from"./AuthPanel";import{AnalyticsEventType}from"../../services";import Swagger from"swagger-client";import{JsonPointer,ShelfIcon,CrossIcon,LockIcon}from"../../redoc-lib";import{RenderHook}from"../../redoc-lib/src/components/helper";import{l}from"../../redoc-lib/src/services/Labels";import styled from"../../redoc-lib/src/styled-components";import{CodeHeader,Panel,Header,Accordion,Trigger,Title}from"../Panel";import{OAuth2}from"../../services/OAuth2";import{PanelBody}from"../Panel/PanelBody";import{getParameters,updateStorage}from"./utils";function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}var flexColumn={flex:1,display:"flex",flexDirection:"column"},Console=function(e){function t(t){var r=e.call(this,t)||this;return Object.defineProperty(r,"formApi",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(r,"setFormApi",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.formApi=e,setTimeout((function(){r.setState({form:r.formApi.getState()})}),0)}}),Object.defineProperty(r,"handleChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.setState({form:e}),updateStorage(e)}}),Object.defineProperty(r,"handleTabChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.setState({activeTab:e})}}),Object.defineProperty(r,"handleServerChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.setState({server:e})}}),Object.defineProperty(r,"handleExecute",{enumerable:!0,configurable:!0,writable:!0,value:function(){return __awaiter(r,void 0,void 0,(function(){var e,t,r,o,n,a,s,i,l,c,u,p,d,m,h,v,f,g,y,b,_,P,R,S,C,w,I,E,x,A,T,k,O,B,q=this;return __generator(this,(function(j){switch(j.label){case 0:if(e=this.props,t=e.store,r=e.operation,this.formApi.submitForm(),o=this.formApi.getState(),n=o.values,o.invalid)return this.setState({shaking:!0}),setTimeout((function(){return q.setState({shaking:!1})}),1e3),null===(x=null===(E=null==t?void 0:t.options.events)||void 0===E?void 0:E.tryItSent)||void 0===x||x.call(E,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"ValidationFailed",operationId:r.operationId,operationPath:r.path,operationHttpVerb:r.httpVerb,operationSummary:r.description}),[2];if(a=this.props.operation.requestBody,s=a&&a.content&&a.content.active&&a.content.active.name||"",i=n.body,/json/.test(s))try{i=JSON.parse(i)}catch(e){console.error(e)}if(this.setState({loading:!0}),l=t.dereferencedRawSpec,!(c=get(l,["paths",r.path,(r.httpVerb||"").toLowerCase(),"servers"])||get(l,["paths",r.path,"servers"])||get(l,["servers"])))throw console.error("Servers are not specified in your OpenAPI file. You can't use Try It Out console without specifying servers. If you use OpenAPI 2, make sure you configured host and basepath"),new Error("Servers are not specified");u=c.find((function(e){return q.state.server.url.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url)})),p=Date.now(),d=!!window.document.documentMode,h=n.auth,n.auth?(v=Object.keys(n.auth)[0],f=unescapeFormId(v),m=__assign(__assign({},l),{components:__assign(__assign({},l.components),{securitySchemes:__assign(__assign({},l.components.securitySchemes),(w={},w[f]=__assign(__assign({},l.components.securitySchemes[f]),{type:"openIdConnect"===l.components.securitySchemes[f].type?"oauth2":l.components.securitySchemes[f].type}),w))})}),h=__assign(__assign({},h),((I={})[f]=h[v],I))):m=__assign({},l),(g=t.options.corsProxyUrl)&&l.servers&&l.servers.length&&(m.servers=l.servers.map((function(e){return __assign(__assign({},e),{url:g+normalizeUrlProtocol(e.url)})}))),y=(null===(T=null===(A=null==a?void 0:a.content)||void 0===A?void 0:A.active)||void 0===T?void 0:T.name)||null,b="application/x-www-form-urlencoded"===y?parse(i):i,j.label=1;case 1:return j.trys.push([1,5,8,9]),_={userFetch:d&&require("cross-fetch").fetch,server:g?g+normalizeUrlProtocol(u.url):u.url,serverVariables:this.state.server.variables,spec:m,pathName:r.path,method:r.httpVerb,parameters:__assign(__assign(__assign(__assign({},n.path),n.query),n.header),n.cookie),securities:{authorized:h},requestBody:b,requestContentType:y,responseContentType:(null===(k=n.header)||void 0===k?void 0:k.Accept)||null,requestInterceptor:t.options.requestInterceptor&&function(e){var o,n;return null===(n=(o=t.options).requestInterceptor)||void 0===n?void 0:n.call(o,e,r)}||void 0},[4,Swagger.execute(_)];case 2:return(P=j.sent())&&P.data instanceof Blob?(R=P,[4,P.data.text()]):[3,4];case 3:R.data=j.sent(),j.label=4;case 4:return this.setState({response:P,error:void 0}),[3,9];case 5:return(S=j.sent())&&S.response&&S.response.data instanceof Blob?(C=S.response,[4,S.response.data.text()]):[3,7];case 6:C.data=j.sent(),j.label=7;case 7:return this.setState({response:void 0,error:S}),[3,9];case 8:return this.setState({loading:!1,activeTab:1,time:Date.now()-p}),null===(B=null===(O=null==t?void 0:t.options.events)||void 0===O?void 0:O.tryItSent)||void 0===B||B.call(O,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"Sent",operationId:r.operationId,operationPath:r.path,operationHttpVerb:r.httpVerb,operationSummary:r.description}),[7];case 9:return[2]}}))}))}}),Object.defineProperty(r,"validateBody",{enumerable:!0,configurable:!0,writable:!0,value:function(){}}),r.state={form:{values:{path:getParameters(t.operation.parameters,"path"),cookie:getParameters(t.operation.parameters,"cookie"),header:getParameters(t.operation.parameters,"header"),query:getParameters(t.operation.parameters,"query")}},shaking:!1,loading:!1,activeTab:0,server:{}},r}return __extends(t,e),Object.defineProperty(t.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){return __awaiter(this,void 0,void 0,(function(){var e,t,r,o,n;return __generator(this,(function(a){switch(a.label){case 0:return e=this.props,t=e.store,r=e.specIdx,o=e.operation,[4,t.dereferenceSpecForTryIt(r||0,o)];case 1:return n=a.sent(),this.setState({resolvedRawSpec:n}),this.formApi.setValues({}),[2]}}))}))}}),Object.defineProperty(t.prototype,"componentDidUpdate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){e.operation!==this.props.operation&&this.setState({response:void 0,error:void 0,activeTab:0})}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.props,t=e.operation,r=e.className,o=e.rootElement,n=this.state,a=n.shaking,s=n.activeTab,i=n.form,l=n.response,c=n.loading,u=n.error,p=!(!l&&!u);return React.createElement(ConsoleWrapHook,{shaking:a,className:r,rootElement:o},React.createElement(CodeHeader,null,React.createElement(ConsoleBadges,{active:s,hasResponse:p,onChange:this.handleTabChange}),React.createElement(CloseButton,{onClick:this.props.onClose}," ✕ ")),React.createElement(ConsoleBody,{hidden:0!==s},this.renderRequest()),React.createElement(ConsoleBody,{hidden:1!==s},this.renderResponse()),React.createElement(ActionPanel,{hasResponse:p,params:i.values&&__assign({},i.values),operation:t,loading:c,execute:this.handleExecute}))}}),Object.defineProperty(t.prototype,"renderRequest",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e,t=this.props,r=t.operation,o=t.store,n=this.state,a=n.form,s=n.resolvedRawSpec,i=n.server,c=a.errors||{},u=c.path||c.cookie||c.header||c.query,p=s&&JsonPointer.get(s,r.pointer),d=a.values&&a.values.auth&&Object.keys(a.values.auth)[0];d&&a.values.auth[d]||(d=void 0),!d||void 0===a.values.auth[d].token&&void 0===a.values.auth[d].client_id&&void 0===a.values.auth[d].client_secret||a.values.auth[d].token&&a.values.auth[d].token.access_token||(d=void 0),d&&null!=a.values.auth[d].username&&(a.values.auth[d].username&&a.values.auth[d].password||(d=void 0));var m=r.parameters||[],h=null===(e=null==o?void 0:o.options.hooks)||void 0===e?void 0:e.ReplaceTryItAuthPanel;return s?React.createElement(React.Fragment,null,React.createElement(Form,{onChange:this.handleChange,getApi:this.setFormApi,style:__assign(__assign({},flexColumn),{margin:0})},React.createElement(Accordion,{initialActiveIdx:r.security.length&&d?1:0},r.security.length&&React.createElement(TryItPanel,{header:l("tryItAuth"),renderChildrenHidden:!0,error:!d&&!!c.auth,success:!!d},h?React.createElement(AuthPanelHook,{field:"auth",validate:requiredValidator},(function(e){return React.createElement(RenderHook,{Hook:h,props:{server:i,operation:r,onChange:e,OAuth2:OAuth2}})})):React.createElement(AuthPanel,{formApi:this.formApi,form:a,operation:r,activeServer:i.url,authCorsProxyUrl:o.options.authCorsProxyUrl}))||null,r.requestBody&&React.createElement(TryItPanel,{header:l("tryItBody"),renderChildrenHidden:!0,error:!!c.body},React.createElement(RequestBody,{validate:this.validateBody,console:this,body:r.requestBody,id:r.id,resolvedBody:p.requestBody}))||null,m.length&&React.createElement(TryItPanel,{header:l("tryItParameters"),error:u,renderChildrenHidden:!0},React.createElement(OperationParameters,{operation:r,values:a.values,errors:a.errors||{}}))||null)),React.createElement(ServerChooser,{operation:r,onChange:this.handleServerChange})):"Loading..."}}),Object.defineProperty(t.prototype,"renderResponse",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.state,t=e.response,r=e.error,o=e.time;return React.createElement(ResponsePanel,{response:t,error:r,time:o})}}),t=__decorate([observer],t)}(React.Component);export{Console};function ConsoleWrapHook(e){var t=e.shaking,r=e.className,o=e.children,n=e.rootElement,a=useDimensions(n)[0];return React.createElement(ConsoleWrap,{shaking:t,className:r,"data-cy":"console",fullWidth:null==a?void 0:a.width},o)}function AuthPanelHook(e){var t=useField(__assign({},e)),r=t.fieldApi,o=t.render,n=t.userProps,a=r.setValue,s=n.children;return o(React.createElement(React.Fragment,null,s(a)))}function TryItPanel(e){return React.createElement(StyledTryItPanel,__assign({},e,{header:function(t){var r=t.toggle,o=t.expanded;return React.createElement(Header,{onClick:r,isExpanded:o},React.createElement(Trigger,null,React.createElement(Title,null,e.header),React.createElement(ShelfIcon,{direction:o?"down":"right"})),e.error&&React.createElement(CrossIcon,{size:"14px",color:"#ff908b"})||null,e.success&&React.createElement(LockIcon,{size:"14px",color:"#56ff26"})||null)}}))}var templateObject_1,StyledTryItPanel=styled(Panel)(templateObject_1||(templateObject_1=__makeTemplateObject(["\n "," {\n color: white;\n border: 1px solid ",";\n padding: 10px;\n }\n\n "," path {\n fill: white;\n }\n\n "," {\n padding: 15px 10px;\n background-color: #3e4c59;\n border: 1px solid ",";\n border-top: 0;\n }\n"],["\n "," {\n color: white;\n border: 1px solid ",";\n padding: 10px;\n }\n\n "," path {\n fill: white;\n }\n\n "," {\n padding: 15px 10px;\n background-color: #3e4c59;\n border: 1px solid ",";\n border-top: 0;\n }\n"])),Header,(function(e){return e.error?"#ff908b":"#89949f"}),ShelfIcon,PanelBody,(function(e){return e.error?"#ff908b":"#89949f"}));
1
+ import{__assign,__awaiter,__decorate,__extends,__generator,__makeTemplateObject}from"tslib";import*as React from"react";import{Form,useField}from"informed";import{observer}from"mobx-react";import{get,useDimensions,unescapeFormId}from"../../utils";import{parse}from"query-string";import{CloseButton,ConsoleBody,ConsoleWrap}from"./styled.components";import{ServerChooser}from"./ServerDropdown";import{OperationParameters}from"./OperationParameters";import{ActionPanel}from"./ActionPanel";import{ResponsePanel}from"./ResponsePanel";import{RequestBody}from"./RequestBody";import{ConsoleBadges}from"./ConsoleBadges";import{AuthPanel,requiredValidator}from"./AuthPanel";import{AnalyticsEventType}from"../../services";import Swagger from"swagger-client";import{JsonPointer,ShelfIcon,CrossIcon,LockIcon}from"../../redoc-lib";import{RenderHook}from"../../redoc-lib/src/components/helper";import{l}from"../../redoc-lib/src/services/Labels";import styled from"../../redoc-lib/src/styled-components";import{CodeHeader,Panel,Header,Accordion,Trigger,Title}from"../Panel";import{OAuth2}from"../../services/OAuth2";import{PanelBody}from"../Panel/PanelBody";import{getParameters,updateStorage}from"./utils";function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}var flexColumn={flex:1,display:"flex",flexDirection:"column"},Console=function(e){function t(t){var r=e.call(this,t)||this;return Object.defineProperty(r,"formApi",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(r,"setFormApi",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.formApi=e,setTimeout((function(){r.setState({form:r.formApi.getState()})}),0)}}),Object.defineProperty(r,"handleChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.setState({form:e}),updateStorage(e)}}),Object.defineProperty(r,"handleTabChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.setState({activeTab:e})}}),Object.defineProperty(r,"handleServerChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.setState({server:e})}}),Object.defineProperty(r,"handleExecute",{enumerable:!0,configurable:!0,writable:!0,value:function(){return __awaiter(r,void 0,void 0,(function(){var e,t,r,o,n,a,s,i,l,c,u,p,d,m,h,v,f,g,y,b,_,P,R,S,C,w,I,E,k,x,A,T,O,B,j,q=this;return __generator(this,(function(H){switch(H.label){case 0:if(e=this.props,t=e.store,r=e.operation,this.formApi.submitForm(),o=this.formApi.getState(),n=o.values,o.invalid)return this.setState({shaking:!0}),setTimeout((function(){return q.setState({shaking:!1})}),1e3),null===(x=null===(k=null==t?void 0:t.options.events)||void 0===k?void 0:k.tryItSent)||void 0===x||x.call(k,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"ValidationFailed",operationId:r.operationId,operationPath:r.path,operationHttpVerb:r.httpVerb,operationSummary:r.description}),[2];if(a=this.props.operation.requestBody,s=a&&a.content&&a.content.active&&a.content.active.name||"",i=n.body,/json/.test(s))try{i=JSON.parse(i)}catch(e){console.error(e)}if(this.setState({loading:!0}),l=t.dereferencedRawSpec,!(c=get(l,["paths",r.path,(r.httpVerb||"").toLowerCase(),"servers"])||get(l,["paths",r.path,"servers"])||get(l,["servers"])))throw console.error("Servers are not specified in your OpenAPI file. You can't use Try It Out console without specifying servers. If you use OpenAPI 2, make sure you configured host and basepath"),new Error("Servers are not specified");u=c.find((function(e){return q.state.server.url.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url)})),p=Date.now(),d=!!window.document.documentMode,h=n.auth,n.auth?(v=Object.keys(n.auth)[0],f=unescapeFormId(v),m=__assign(__assign({},l),{components:__assign(__assign({},l.components),{securitySchemes:__assign(__assign({},l.components.securitySchemes),(I={},I[f]=__assign(__assign({},l.components.securitySchemes[f]),{type:"openIdConnect"===l.components.securitySchemes[f].type?"oauth2":l.components.securitySchemes[f].type}),I))})}),h=__assign(__assign({},h),((E={})[f]=h[v],E))):m=__assign({},l),(g=t.options.corsProxyUrl)&&l.servers&&l.servers.length&&(m.servers=l.servers.map((function(e){return __assign(__assign({},e),{url:g+normalizeUrlProtocol(e.url)})}))),y=(null===(T=null===(A=null==a?void 0:a.content)||void 0===A?void 0:A.active)||void 0===T?void 0:T.name)||null,b="application/x-www-form-urlencoded"===y?parse(i):i,y&&["image/jpeg","image/png","application/octet-stream"].includes(y)&&(_=Object.keys(i).map((function(e){return i[e]})),b=_.length>1?_:_[0]),H.label=1;case 1:return H.trys.push([1,5,8,9]),P={userFetch:d&&require("cross-fetch").fetch,server:g?g+normalizeUrlProtocol(u.url):u.url,serverVariables:this.state.server.variables,spec:m,pathName:r.path,method:r.httpVerb,parameters:__assign(__assign(__assign(__assign({},n.path),n.query),n.header),n.cookie),securities:{authorized:h},requestBody:b,requestContentType:y,responseContentType:(null===(O=n.header)||void 0===O?void 0:O.Accept)||null,requestInterceptor:t.options.requestInterceptor&&function(e){var o,n;return null===(n=(o=t.options).requestInterceptor)||void 0===n?void 0:n.call(o,e,r)}||void 0},[4,Swagger.execute(P)];case 2:return(R=H.sent())&&R.data instanceof Blob?(S=R,[4,R.data.text()]):[3,4];case 3:S.data=H.sent(),H.label=4;case 4:return this.setState({response:R,error:void 0}),[3,9];case 5:return(C=H.sent())&&C.response&&C.response.data instanceof Blob?(w=C.response,[4,C.response.data.text()]):[3,7];case 6:w.data=H.sent(),H.label=7;case 7:return this.setState({response:void 0,error:C}),[3,9];case 8:return this.setState({loading:!1,activeTab:1,time:Date.now()-p}),null===(j=null===(B=null==t?void 0:t.options.events)||void 0===B?void 0:B.tryItSent)||void 0===j||j.call(B,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"Sent",operationId:r.operationId,operationPath:r.path,operationHttpVerb:r.httpVerb,operationSummary:r.description}),[7];case 9:return[2]}}))}))}}),Object.defineProperty(r,"validateBody",{enumerable:!0,configurable:!0,writable:!0,value:function(){}}),r.state={form:{values:{path:getParameters(t.operation.parameters,"path"),cookie:getParameters(t.operation.parameters,"cookie"),header:getParameters(t.operation.parameters,"header"),query:getParameters(t.operation.parameters,"query")}},shaking:!1,loading:!1,activeTab:0,server:{}},r}return __extends(t,e),Object.defineProperty(t.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){return __awaiter(this,void 0,void 0,(function(){var e,t,r,o,n;return __generator(this,(function(a){switch(a.label){case 0:return e=this.props,t=e.store,r=e.specIdx,o=e.operation,[4,t.dereferenceSpecForTryIt(r||0,o)];case 1:return n=a.sent(),this.setState({resolvedRawSpec:n}),this.formApi.setValues({}),[2]}}))}))}}),Object.defineProperty(t.prototype,"componentDidUpdate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){e.operation!==this.props.operation&&this.setState({response:void 0,error:void 0,activeTab:0})}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.props,t=e.operation,r=e.className,o=e.rootElement,n=this.state,a=n.shaking,s=n.activeTab,i=n.form,l=n.response,c=n.loading,u=n.error,p=!(!l&&!u);return React.createElement(ConsoleWrapHook,{shaking:a,className:r,rootElement:o},React.createElement(CodeHeader,null,React.createElement(ConsoleBadges,{active:s,hasResponse:p,onChange:this.handleTabChange}),this.props.onClose&&React.createElement(CloseButton,{onClick:this.props.onClose}," ✕ ")),React.createElement(ConsoleBody,{hidden:0!==s},this.renderRequest()),React.createElement(ConsoleBody,{hidden:1!==s},this.renderResponse()),React.createElement(ActionPanel,{hasResponse:p,params:i.values&&__assign({},i.values),operation:t,loading:c,execute:this.handleExecute}))}}),Object.defineProperty(t.prototype,"renderRequest",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e,t=this.props,r=t.operation,o=t.store,n=t.properties,a=this.state,s=a.form,i=a.resolvedRawSpec,c=a.server,u=s.errors||{},p=u.path||u.cookie||u.header||u.query,d=i&&JsonPointer.get(i,r.pointer),m=s.values&&s.values.auth&&Object.keys(s.values.auth)[0];m&&s.values.auth[m]||(m=void 0),!m||void 0===s.values.auth[m].token&&void 0===s.values.auth[m].client_id&&void 0===s.values.auth[m].client_secret||s.values.auth[m].token&&s.values.auth[m].token.access_token||(m=void 0),m&&null!=s.values.auth[m].username&&(s.values.auth[m].username&&s.values.auth[m].password||(m=void 0));var h=r.parameters||[],v=null===(e=null==o?void 0:o.options.hooks)||void 0===e?void 0:e.ReplaceTryItAuthPanel;return i?React.createElement(React.Fragment,null,React.createElement(Form,{onChange:this.handleChange,getApi:this.setFormApi,style:__assign(__assign({},flexColumn),{margin:0})},React.createElement(Accordion,{initialActiveIdx:r.security.length&&m?1:0},r.security.length&&React.createElement(TryItPanel,{header:l("tryItAuth"),"data-cy":"security-trigger",renderChildrenHidden:!0,error:!m&&!!u.auth,success:!!m},v?React.createElement(AuthPanelHook,{field:"auth",validate:requiredValidator},(function(e){return React.createElement(RenderHook,{Hook:v,props:{server:c,operation:r,onChange:e,OAuth2:OAuth2}})})):React.createElement(AuthPanel,{formApi:this.formApi,form:s,operation:r,activeServer:c.url,authCorsProxyUrl:o.options.authCorsProxyUrl}))||null,r.requestBody&&React.createElement(TryItPanel,{header:l("tryItBody"),"data-cy":"body-trigger",renderChildrenHidden:!0,error:!!u.body},React.createElement(RequestBody,{validate:this.validateBody,console:this,body:r.requestBody,id:r.id,resolvedBody:d.requestBody,properties:n}))||null,h.length&&React.createElement(TryItPanel,{header:l("tryItParameters"),"data-cy":"parameters-trigger",error:p,renderChildrenHidden:!0},React.createElement(OperationParameters,{operation:r,values:s.values,errors:s.errors||{}}))||null)),React.createElement(ServerChooser,{operation:r,onChange:this.handleServerChange})):"Loading..."}}),Object.defineProperty(t.prototype,"renderResponse",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.state,t=e.response,r=e.error,o=e.time;return React.createElement(ResponsePanel,{response:t,error:r,time:o})}}),t=__decorate([observer],t)}(React.Component);export{Console};function ConsoleWrapHook(e){var t=e.shaking,r=e.className,o=e.children,n=e.rootElement,a=useDimensions(n)[0];return React.createElement(ConsoleWrap,{shaking:t,className:r,"data-cy":"console",fullWidth:null==a?void 0:a.width},o)}function AuthPanelHook(e){var t=useField(__assign({},e)),r=t.fieldApi,o=t.render,n=t.userProps,a=r.setValue,s=n.children;return o(React.createElement(React.Fragment,null,s(a)))}function TryItPanel(e){return React.createElement(StyledTryItPanel,__assign({},e,{header:function(t){var r=t.toggle,o=t.expanded;return React.createElement(Header,{onClick:r,isExpanded:o,"data-cy":e["data-cy"]},React.createElement(Trigger,null,React.createElement(Title,null,e.header),React.createElement(ShelfIcon,{direction:o?"down":"right"})),e.error&&React.createElement(CrossIcon,{size:"14px",color:"#ff908b"})||null,e.success&&React.createElement(LockIcon,{size:"14px",color:"#56ff26"})||null)}}))}var templateObject_1,StyledTryItPanel=styled(Panel)(templateObject_1||(templateObject_1=__makeTemplateObject(["\n "," {\n color: white;\n border: 1px solid ",";\n padding: 10px;\n }\n\n "," path {\n fill: white;\n }\n\n "," {\n padding: 15px 10px;\n background-color: #3e4c59;\n border: 1px solid ",";\n border-top: 0;\n }\n"],["\n "," {\n color: white;\n border: 1px solid ",";\n padding: 10px;\n }\n\n "," path {\n fill: white;\n }\n\n "," {\n padding: 15px 10px;\n background-color: #3e4c59;\n border: 1px solid ",";\n border-top: 0;\n }\n"])),Header,(function(e){return e.error?"#ff908b":"#89949f"}),ShelfIcon,PanelBody,(function(e){return e.error?"#ff908b":"#89949f"}));
2
2
  //# sourceMappingURL=Console.js.map
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ export declare const FileUploadInput: ({ ...props }: {
3
+ [x: string]: any;
4
+ }) => JSX.Element;
@@ -0,0 +1,2 @@
1
+ import{__makeTemplateObject,__rest}from"tslib";import*as React from"react";import{IMAGE_TYPES,isFileUpload}from"../common/FileUpload/helper";import{FormControl,FormLabel}from"../common/form";import{styled}from"../../redoc-lib";import{FileUpload}from"../common/FileUpload";import{FormTextField,invertedInputStyles}from"../common/TextField";var templateObject_1,templateObject_2,StyledFileUpload=styled(FileUpload)(templateObject_1||(templateObject_1=__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%;":""})),FileFormControlWrapper=styled.div(templateObject_2||(templateObject_2=__makeTemplateObject(["\n > div {\n margin-top: 10px;\n }\n"],["\n > div {\n margin-top: 10px;\n }\n"])));export var FileUploadInput=function(e){var t=__rest(e,[]),l=t.schema,n=t.mediaType,o=t.onChange;return React.createElement(FileFormControlWrapper,null,"string"==l.type&&isFileUpload(l)&&React.createElement(FormControl,null,React.createElement(StyledFileUpload,{fullWidth:!0,id:"body."+n.name,name:"body."+n.name,accept:IMAGE_TYPES.includes(n.name)?n.name:void 0,schema:l,contentName:n.name,onChange:o}))||null,"object"===l.type&&l.properties&&React.createElement(React.Fragment,null,Object.keys(l.properties).map((function(e,t){return isFileUpload(l.properties[e])&&React.createElement(FormControl,{key:t},React.createElement(FormLabel,null,e,":"),React.createElement(StyledFileUpload,{fullWidth:!0,id:"body."+e,name:"body."+e,accept:IMAGE_TYPES.includes(n.name)?n.name:void 0,multiple:"array"===l.properties[e].type,schema:l,contentName:e,onChange:o}))||React.createElement(FormControl,{key:t},React.createElement(FormLabel,null,e,":"),React.createElement(FormTextField,{fullWidth:!0,id:"body."+e,field:"body."+e,placeholder:l.properties[e].description||e}))})))||null)};
2
+ //# sourceMappingURL=FileUploadInput.js.map
@@ -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,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){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])})))}
2
2
  //# sourceMappingURL=OperationParameters.js.map
@@ -1,4 +1,4 @@
1
- import * as React from 'react';
1
+ /// <reference types="react" />
2
2
  import { RequestBodyModel } from '../../redoc-lib';
3
3
  import { Console } from './Console';
4
4
  export interface RequestBodyProps {
@@ -7,16 +7,6 @@ export interface RequestBodyProps {
7
7
  validate: () => string | undefined;
8
8
  console: Console;
9
9
  id: string;
10
+ properties: any;
10
11
  }
11
- export declare class RequestBody extends React.Component<RequestBodyProps, {
12
- activeExampleIdx: number;
13
- }> {
14
- state: {
15
- activeExampleIdx: number;
16
- };
17
- getActiveSample(idx: number): string;
18
- applyExample: (item: any) => void;
19
- encodeSample(sample: any): any;
20
- render(): JSX.Element;
21
- renderDropdown(props: any): JSX.Element;
22
- }
12
+ export declare const RequestBody: ({ properties, ...props }: RequestBodyProps) => JSX.Element;
@@ -1,2 +1,2 @@
1
- import{__assign,__extends,__makeTemplateObject}from"tslib";import*as React from"react";import{DropdownOrLabel,Dropdown,MediaTypesSwitch,styled}from"../../redoc-lib";import{FormControl}from"../common/form";import CodemirrorInput from"./CodemirrorInput";import{RequestMimeLabel}from"./RequestMimeLabel";var templateObject_1,ExamplesPanel=styled.div(templateObject_1||(templateObject_1=__makeTemplateObject(["\n margin-bottom: 10px;\n"],["\n margin-bottom: 10px;\n"]))),RequestBody=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"state",{enumerable:!0,configurable:!0,writable:!0,value:{activeExampleIdx:0}}),Object.defineProperty(t,"applyExample",{enumerable:!0,configurable:!0,writable:!0,value:function(e){t.setState({activeExampleIdx:e.idx}),t.props.console.formApi.setValue("body",t.getActiveSample(e.idx))}}),t}return __extends(t,e),Object.defineProperty(t.prototype,"getActiveSample",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this.props.body.content;if(!t||!t.hasSample)return"";var r=Object.values(t.active&&t.active.examples||{});return r[e]&&JSON.stringify(r[e].value,null,2)||""}}),Object.defineProperty(t.prototype,"encodeSample",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return e?"application/x-www-form-urlencoded"===e.mime?e.value:JSON.stringify(e.value,null,2):""}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=this.state.activeExampleIdx,r=this.props.validate;return React.createElement(React.Fragment,null,React.createElement(MediaTypesSwitch,{content:this.props.body.content,renderDropdown:this.renderDropdown},(function(a){var n,o=a.examples||{};e.props.resolvedBody&&(n=(e.props.resolvedBody.content[a.name]||{}).schema);var l=Object.values(o)[0],i=Object.keys(o).map((function(e,t){return{idx:t,value:o[e].summary||e}}));return React.createElement(React.Fragment,null,i.length&&!(1===i.length&&"default"===i[0].value)&&React.createElement(ExamplesPanel,null,React.createElement(FormControl,null,React.createElement(Dropdown,{variant:"dark",fullWidth:!0,prefix:"Example: ",options:i,value:i[t].value,onChange:e.applyExample})))||null,React.createElement(CodemirrorInput,{id:"body"+e.props.id,field:"body",initialValue:e.encodeSample(l),schema:n,mode:a.name,validate:r}))})))}}),Object.defineProperty(t.prototype,"renderDropdown",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return React.createElement(FormControl,null,React.createElement(DropdownOrLabel,__assign({},e,{variant:"dark",fullWidth:!0,Label:RequestMimeLabel,Dropdown:Dropdown})))}}),t}(React.Component);export{RequestBody};
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}))})))}));
2
2
  //# sourceMappingURL=RequestBody.js.map
@@ -1,2 +1,2 @@
1
- import{__makeTemplateObject}from"tslib";import{darken}from"polished";import styled,{css,keyframes,mediaCSS}from"../../redoc-lib/src/styled-components";var shake=keyframes(templateObject_1||(templateObject_1=__makeTemplateObject(["\n 10%, 90% {\n transform: translate3d(-1px, 0, 0);\n }\n\n 20%, 80% {\n transform: translate3d(2px, 0, 0);\n }\n\n 30%, 50%, 70% {\n transform: translate3d(-4px, 0, 0);\n }\n\n 40%, 60% {\n transform: translate3d(4px, 0, 0);\n }\n"],["\n 10%, 90% {\n transform: translate3d(-1px, 0, 0);\n }\n\n 20%, 80% {\n transform: translate3d(2px, 0, 0);\n }\n\n 30%, 50%, 70% {\n transform: translate3d(-4px, 0, 0);\n }\n\n 40%, 60% {\n transform: translate3d(4px, 0, 0);\n }\n"])));export var blink=keyframes(templateObject_2||(templateObject_2=__makeTemplateObject(["\n 0% {\n background-color: ",";\n }\n\n 50% {\n background-color: #59C3FF;\n }\n\n 100% {\n background-color: ",";\n }\n"],["\n 0% {\n background-color: ",";\n }\n\n 50% {\n background-color: #59C3FF;\n }\n\n 100% {\n background-color: ",";\n }\n"])),darken(.3,"#59C3FF"),darken(.3,"#59C3FF"));var templateObject_1,templateObject_2,templateObject_3,templateObject_4,templateObject_5,templateObject_6,templateObject_7,shakeAnimation=css(templateObject_3||(templateObject_3=__makeTemplateObject(["\n animation: "," 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;\n"],["\n animation: "," 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;\n"])),shake);export var ConsoleWrap=styled.div(templateObject_4||(templateObject_4=__makeTemplateObject(["\n background-color: ",";\n color: ",";\n font-family: ",";\n border-radius: ",";\n overflow: hidden;\n z-index: 10;\n display: flex;\n flex-direction: column;\n height: calc(85vh - ","px);\n margin-bottom: 10px;\n ",";\n > div:last-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n"],["\n background-color: ",";\n color: ",";\n font-family: ",";\n border-radius: ",";\n overflow: hidden;\n z-index: 10;\n display: flex;\n flex-direction: column;\n height: calc(85vh - ","px);\n margin-bottom: 10px;\n ",";\n > div:last-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n"])),(function(n){return n.theme.rightPanel.panelBackgroundColor}),(function(n){return n.theme.colors.text.light}),(function(n){return n.theme.typography.code.fontFamily}),(function(n){return n.theme.components.panels.borderRadius}),(function(n){return n.theme.scrollYOffset()}),(function(n){return n.shaking&&shakeAnimation}));export var ConsoleBody=styled.div(templateObject_5||(templateObject_5=__makeTemplateObject(["\n flex: 1;\n padding: 20px 20px 15px;\n overflow: auto;\n display: ",";\n flex-direction: column;\n position: relative;\n background-color: ",";\n"],["\n flex: 1;\n padding: 20px 20px 15px;\n overflow: auto;\n display: ",";\n flex-direction: column;\n position: relative;\n background-color: ",";\n"])),(function(n){return n.hidden?"none":"flex"}),(function(n){return n.theme.rightPanel.panelBackgroundColor}));export var CloseButton=styled.span(templateObject_6||(templateObject_6=__makeTemplateObject(["\n cursor: pointer;\n font-size: 24px;\n font-weight: bold;\n color: ",";\n"],["\n cursor: pointer;\n font-size: 24px;\n font-weight: bold;\n color: ",";\n"])),(function(n){return n.theme.colors.text.light}));export var invertedInputStyles=css(templateObject_7||(templateObject_7=__makeTemplateObject(["\n border: none;\n outline: none;\n padding: 8px;\n border-radius: ",";\n background-color: ",";\n ","\n\n &::placeholder {\n opacity: 0.6;\n color: ",";\n }\n\n &:-webkit-autofill {\n background-color: ",";\n }\n"],["\n border: none;\n outline: none;\n padding: 8px;\n border-radius: ",";\n background-color: ",";\n ","\n\n &::placeholder {\n opacity: 0.6;\n color: ",";\n }\n\n &:-webkit-autofill {\n background-color: ",";\n }\n"])),(function(n){return n.theme.shape.borderRadius}),(function(n){return n.theme.rightPanel.panelControlsBackgroundColor}),(function(n){var e=n.theme;return mediaCSS({color:e.colors.text.light,fontFamily:e.typography.code.fontFamily,fontSize:e.typography.fontSize})}),(function(n){return n.theme.colors.text.light}),(function(n){return n.theme.rightPanel.panelBackgroundColor}));
1
+ import{__makeTemplateObject}from"tslib";import{darken}from"polished";import styled,{css,keyframes,mediaCSS}from"../../redoc-lib/src/styled-components";var shake=keyframes(templateObject_1||(templateObject_1=__makeTemplateObject(["\n 10%, 90% {\n transform: translate3d(-1px, 0, 0);\n }\n\n 20%, 80% {\n transform: translate3d(2px, 0, 0);\n }\n\n 30%, 50%, 70% {\n transform: translate3d(-4px, 0, 0);\n }\n\n 40%, 60% {\n transform: translate3d(4px, 0, 0);\n }\n"],["\n 10%, 90% {\n transform: translate3d(-1px, 0, 0);\n }\n\n 20%, 80% {\n transform: translate3d(2px, 0, 0);\n }\n\n 30%, 50%, 70% {\n transform: translate3d(-4px, 0, 0);\n }\n\n 40%, 60% {\n transform: translate3d(4px, 0, 0);\n }\n"])));export var blink=keyframes(templateObject_2||(templateObject_2=__makeTemplateObject(["\n 0% {\n background-color: ",";\n }\n\n 50% {\n background-color: #59C3FF;\n }\n\n 100% {\n background-color: ",";\n }\n"],["\n 0% {\n background-color: ",";\n }\n\n 50% {\n background-color: #59C3FF;\n }\n\n 100% {\n background-color: ",";\n }\n"])),darken(.3,"#59C3FF"),darken(.3,"#59C3FF"));var templateObject_1,templateObject_2,templateObject_3,templateObject_4,templateObject_5,templateObject_6,templateObject_7,shakeAnimation=css(templateObject_3||(templateObject_3=__makeTemplateObject(["\n animation: "," 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;\n"],["\n animation: "," 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;\n"])),shake);export var ConsoleWrap=styled.div(templateObject_4||(templateObject_4=__makeTemplateObject(["\n background-color: ",";\n color: ",";\n font-family: ",";\n border-radius: ",";\n overflow: hidden;\n z-index: 10;\n display: flex;\n flex-direction: column;\n max-height: calc(85vh - ","px);\n margin-bottom: 10px;\n ",";\n > div:last-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n"],["\n background-color: ",";\n color: ",";\n font-family: ",";\n border-radius: ",";\n overflow: hidden;\n z-index: 10;\n display: flex;\n flex-direction: column;\n max-height: calc(85vh - ","px);\n margin-bottom: 10px;\n ",";\n > div:last-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n"])),(function(n){return n.theme.rightPanel.panelBackgroundColor}),(function(n){return n.theme.colors.text.light}),(function(n){return n.theme.typography.code.fontFamily}),(function(n){return n.theme.components.panels.borderRadius}),(function(n){return n.theme.scrollYOffset()}),(function(n){return n.shaking&&shakeAnimation}));export var ConsoleBody=styled.div(templateObject_5||(templateObject_5=__makeTemplateObject(["\n flex: 1;\n padding: 20px 20px 15px;\n overflow: auto;\n display: ",";\n flex-direction: column;\n position: relative;\n background-color: ",";\n"],["\n flex: 1;\n padding: 20px 20px 15px;\n overflow: auto;\n display: ",";\n flex-direction: column;\n position: relative;\n background-color: ",";\n"])),(function(n){return n.hidden?"none":"flex"}),(function(n){return n.theme.rightPanel.panelBackgroundColor}));export var CloseButton=styled.span(templateObject_6||(templateObject_6=__makeTemplateObject(["\n cursor: pointer;\n font-size: 24px;\n font-weight: bold;\n color: ",";\n"],["\n cursor: pointer;\n font-size: 24px;\n font-weight: bold;\n color: ",";\n"])),(function(n){return n.theme.colors.text.light}));export var invertedInputStyles=css(templateObject_7||(templateObject_7=__makeTemplateObject(["\n border: none;\n outline: none;\n padding: 8px;\n border-radius: ",";\n background-color: ",";\n ","\n\n &::placeholder {\n opacity: 0.6;\n color: ",";\n }\n\n &:-webkit-autofill {\n background-color: ",";\n }\n"],["\n border: none;\n outline: none;\n padding: 8px;\n border-radius: ",";\n background-color: ",";\n ","\n\n &::placeholder {\n opacity: 0.6;\n color: ",";\n }\n\n &:-webkit-autofill {\n background-color: ",";\n }\n"])),(function(n){return n.theme.shape.borderRadius}),(function(n){return n.theme.rightPanel.panelControlsBackgroundColor}),(function(n){var e=n.theme;return mediaCSS({color:e.colors.text.light,fontFamily:e.typography.code.fontFamily,fontSize:e.typography.fontSize})}),(function(n){return n.theme.colors.text.light}),(function(n){return n.theme.rightPanel.panelBackgroundColor}));
2
2
  //# sourceMappingURL=styled.components.js.map
@@ -1 +1,2 @@
1
1
  export declare const NoSampleLabel: import("styled-components").StyledComponent<"div", import("../../redoc-lib/src/theme").ResolvedThemeInterface, {}, never>;
2
+ export declare const WarnMessage: import("styled-components").StyledComponent<"div", import("../../redoc-lib/src/theme").ResolvedThemeInterface, {}, never>;
@@ -1,2 +1,2 @@
1
- import{__makeTemplateObject}from"tslib";import styled,{mediaCSS}from"../../redoc-lib/src/styled-components";export var NoSampleLabel=styled.div(templateObject_1||(templateObject_1=__makeTemplateObject(["\n font-size: 12px;\n min-height: 100px;\n padding: 20px 0;\n ","\n"],["\n font-size: 12px;\n min-height: 100px;\n padding: 20px 0;\n ","\n"])),(function(e){var t=e.theme;return mediaCSS({color:t.colors.error.main,fontFamily:t.typography.code.fontFamily})}));var templateObject_1;
1
+ import{__makeTemplateObject}from"tslib";import styled,{mediaCSS}from"../../redoc-lib/src/styled-components";export var NoSampleLabel=styled.div(templateObject_1||(templateObject_1=__makeTemplateObject(["\n font-size: 12px;\n min-height: 100px;\n padding: 20px 0;\n ","\n"],["\n font-size: 12px;\n min-height: 100px;\n padding: 20px 0;\n ","\n"])),(function(e){var t=e.theme;return mediaCSS({color:t.colors.error.main,fontFamily:t.typography.code.fontFamily})}));export var WarnMessage=styled.div(templateObject_2||(templateObject_2=__makeTemplateObject(["\n font-size: 12px;\n padding-bottom: 10px;\n ","\n"],["\n font-size: 12px;\n padding-bottom: 10px;\n ","\n"])),(function(e){var t=e.theme;return mediaCSS({color:t.colors.warning.main,fontFamily:t.typography.code.fontFamily})}));var templateObject_1,templateObject_2;
2
2
  //# sourceMappingURL=NoSampleLabel.js.map
@@ -1,5 +1,6 @@
1
1
  export * from './components';
2
2
  export * from './services';
3
3
  export * from './redoc-lib';
4
+ export * from './models';
4
5
  export { setSecurityDetails, setSecurityDetailsVariants, setParameterValue } from './utils';
5
6
  export type { OAuth2 } from './services/OAuth2';
package/lib-esm/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export*from"./components";export*from"./services";export*from"./redoc-lib";export{setSecurityDetails,setSecurityDetailsVariants,setParameterValue}from"./utils";
1
+ export*from"./components";export*from"./services";export*from"./redoc-lib";export*from"./models";export{setSecurityDetails,setSecurityDetailsVariants,setParameterValue}from"./utils";
2
2
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,10 @@
1
+ import { Events, CodeSamplesConfig } from '../services';
2
+ export interface CodeSampleOptions {
3
+ payloadSampleIdx: number;
4
+ hideRequestPayloadSample: boolean;
5
+ hideSingleRequestSampleTab: boolean;
6
+ generatedPayloadSamplesMaxDepth: number;
7
+ onlyRequiredInSamples: boolean;
8
+ events: Pick<Events, 'codeSamplesLanguageSwitch'>;
9
+ generateCodeSamples?: CodeSamplesConfig;
10
+ }
@@ -0,0 +1,2 @@
1
+ export{};
2
+ //# sourceMappingURL=code-sample-options.js.map
@@ -0,0 +1 @@
1
+ export * from './code-sample-options';
@@ -0,0 +1,2 @@
1
+ export*from"./code-sample-options";
2
+ //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- import{observer}from"mobx-react";import*as React from"react";import{DropdownLabel,DropdownWrapper}from"../PayloadSamples/styled.elements";export var MediaTypesSwitch=observer((function(e){var t=e.content,r=e.withLabel,n=e.renderDropdown,a=e.children,l=React.useCallback((function(e){var r=e.value;if(!t||!o.current)return null;var n=o.current.getBoundingClientRect().y;t.activate(r),requestAnimationFrame((function(){if(o.current&&null!=n){var e=o.current.getBoundingClientRect().y;window.scrollBy(0,e-n)}}))}),[t]),o=React.useRef(null);if(!t||!t.mediaTypes||!t.mediaTypes.length)return null;var c=t.mediaTypes.map((function(e,t){return{value:e.name,idx:t}})),i=t.active.name;return React.createElement(React.Fragment,null,React.createElement((function(e){var t=e.children;return r?React.createElement(DropdownWrapper,{ref:o},React.createElement(DropdownLabel,null,"Content type"),t):React.createElement("div",{ref:o},t)}),null,n({value:i,options:c,onChange:l,ariaLabel:"Content type"})),a(t.active))}));
1
+ import{observer}from"mobx-react";import*as React from"react";import{DropdownLabel,DropdownWrapper}from"../PayloadSamples/styled.elements";import{FormControl}from"../../../../components/common/form";export var MediaTypesSwitch=observer((function(e){var r=e.content,t=e.withLabel,n=e.renderDropdown,a=e.children,o=React.useCallback((function(e){var t=e.value;if(!r||!l.current)return null;var n=l.current.getBoundingClientRect().y;r.activate(t),requestAnimationFrame((function(){if(l.current&&null!=n){var e=l.current.getBoundingClientRect().y;window.scrollBy(0,e-n)}}))}),[r]),l=React.useRef(null);if(!r||!r.mediaTypes||!r.mediaTypes.length)return null;var c=r.mediaTypes.map((function(e,r){return{value:e.name,idx:r}})),i=r.active.name;return React.createElement(React.Fragment,null,React.createElement((function(e){var r=e.children;return t?React.createElement(DropdownWrapper,{ref:l},React.createElement(DropdownLabel,null,"Content type"),r):React.createElement(FormControl,{ref:l},r)}),null,n({value:i,options:c,onChange:o,ariaLabel:"Content type"})),a(r.active))}));
2
2
  //# sourceMappingURL=MediaTypesSwitch.js.map
@@ -1,2 +1,2 @@
1
- import{__makeTemplateObject}from"tslib";import{observer}from"mobx-react";import*as React from"react";import{Endpoint}from"../../../../components/Endpoint";import{Badge,H2,MiddlePanel,RightPanel,Row}from"../../common-elements";import{ShareLink}from"../../common-elements";import styled from"../../styled-components";import{CallbacksList}from"../Callbacks";import{CallbackSamples}from"../CallbackSamples/CallbackSamples";import{ExternalDocumentation}from"../ExternalDocumentation/ExternalDocumentation";import{Extensions}from"../Fields/Extensions";import{Markdown}from"../Markdown/Markdown";import{Parameters}from"../Parameters/Parameters";import{RequestSamples}from"../RequestSamples/RequestSamples";import{ResponsesList}from"../Responses/ResponsesList";import{ResponseSamples}from"../ResponseSamples/ResponseSamples";import{SecurityRequirements}from"../SecurityRequirement/SecurityRequirement";import{StoreContext}from"../StoreBuilder";import{ScrollableContentPanel}from"../../../../components/Panel";import{LayoutVariant}from"../../../../services/store-types";import{RenderHook}from"../helper";import{creatPanelToggleEvent}from"../RequestSamples/languageSwitchEvent";import{l}from"../../services/Labels";var templateObject_1,templateObject_2,OperationRow=styled(Row)(templateObject_1||(templateObject_1=__makeTemplateObject(["\n backface-visibility: hidden;\n contain: content;\n overflow: hidden;\n"],["\n backface-visibility: hidden;\n contain: content;\n overflow: hidden;\n"]))),Description=styled.div(templateObject_2||(templateObject_2=__makeTemplateObject(["\n margin-bottom: ","px;\n"],["\n margin-bottom: ","px;\n"])),(function(e){return 4*e.theme.spacing.unit}));export var Operation=observer((function(e){var t,o,n,a,r=e.operation,i=r.name,s=r.description,c=r.deprecated,m=r.externalDocs,p=r.isWebhook,d=e.operation,u=e.layout,R=React.useContext(StoreContext),E=!(!s&&!m),b=null==R?void 0:R.options.hooks,v=null==R?void 0:R.options.events,k=React.useCallback((function(e){var t,o=creatPanelToggleEvent({operation:d,isExpanded:e,panelType:"responses"});null===(t=null==v?void 0:v.panelToggle)||void 0===t||t.call(v,o)}),[v]),f=React.useCallback((function(e){var t,o=creatPanelToggleEvent({operation:d,isExpanded:e,panelType:"request"});null===(t=null==v?void 0:v.panelToggle)||void 0===t||t.call(v,o)}),[v]);return React.createElement(OperationRow,{layout:u},React.createElement(MiddlePanel,{isStacked:u===LayoutVariant.STACKED},React.createElement(RenderHook,{Hook:null==b?void 0:b.BeforeOperation,props:{operation:d}}),React.createElement(H2,null,React.createElement(ShareLink,{to:d.id}),React.createElement(RenderHook,{Hook:null==b?void 0:b.BeforeOperationSummary,props:{operation:d}}),i,React.createElement(RenderHook,{Hook:null==b?void 0:b.AfterOperationSummary,props:{operation:d}}),c&&React.createElement(Badge,{type:"warning"},"Deprecated"),p&&React.createElement(Badge,{type:"primary"},"Webhook")),(null==R?void 0:R.options.pathInMiddlePanel)&&!p&&React.createElement(Endpoint,{operation:d}),E&&React.createElement(Description,null,void 0!==s&&React.createElement(Markdown,{source:s}),m&&React.createElement(ExternalDocumentation,{externalDocs:m}),Object.keys(d.extensions||{}).length?React.createElement(Extensions,{extensions:d.extensions}):null),(null===(t=d.security)||void 0===t?void 0:t.length)||(null===(o=d.parameters)||void 0===o?void 0:o.length)||d.requestBody?React.createElement(ScrollableContentPanel,{header:l("request"),onToggle:f},React.createElement(SecurityRequirements,{securities:d.security}),React.createElement(Parameters,{parameters:d.parameters,body:d.requestBody})):null,(null===(n=d.responses)||void 0===n?void 0:n.length)?React.createElement(ScrollableContentPanel,{header:l("responses"),onToggle:k},React.createElement(ResponsesList,{responses:d.responses})):null,(null===(a=d.callbacks)||void 0===a?void 0:a.length)?React.createElement(ScrollableContentPanel,{header:l("callbacks")},React.createElement(CallbacksList,{callbacks:d.callbacks})):null,React.createElement(RenderHook,{Hook:null==b?void 0:b.AfterOperation,props:{operation:d}})),(null==R?void 0:R.showRightPanel)?React.createElement(RightPanel,null,!(null==R?void 0:R.options.pathInMiddlePanel)&&!p&&React.createElement(Endpoint,{operation:d}),React.createElement(RequestSamples,{operation:d}),React.createElement(ResponseSamples,{operation:d}),React.createElement(CallbackSamples,{callbacks:d.callbacks})):null)}));
1
+ import{__makeTemplateObject}from"tslib";import{observer}from"mobx-react";import*as React from"react";import{Endpoint}from"../../../../components/Endpoint";import{Badge,H2,MiddlePanel,RightPanel,Row}from"../../common-elements";import{ShareLink}from"../../common-elements";import styled from"../../styled-components";import{CallbacksList}from"../Callbacks";import{CallbackSamples}from"../CallbackSamples/CallbackSamples";import{ExternalDocumentation}from"../ExternalDocumentation/ExternalDocumentation";import{Extensions}from"../Fields/Extensions";import{Markdown}from"../Markdown/Markdown";import{Parameters}from"../Parameters/Parameters";import{RequestSamples}from"../RequestSamples/RequestSamples";import{ResponsesList}from"../Responses/ResponsesList";import{ResponseSamples}from"../ResponseSamples/ResponseSamples";import{SecurityRequirements}from"../SecurityRequirement/SecurityRequirement";import{StoreContext}from"../StoreBuilder";import{ScrollableContentPanel}from"../../../../components/Panel";import{LayoutVariant}from"../../../../services/store-types";import{RenderHook}from"../helper";import{creatPanelToggleEvent}from"../RequestSamples/languageSwitchEvent";import{l}from"../../services/Labels";var templateObject_1,templateObject_2,OperationRow=styled(Row)(templateObject_1||(templateObject_1=__makeTemplateObject(["\n backface-visibility: hidden;\n contain: content;\n overflow: hidden;\n"],["\n backface-visibility: hidden;\n contain: content;\n overflow: hidden;\n"]))),Description=styled.div(templateObject_2||(templateObject_2=__makeTemplateObject(["\n margin-bottom: ","px;\n"],["\n margin-bottom: ","px;\n"])),(function(e){return 4*e.theme.spacing.unit}));export var Operation=observer((function(e){var t,o,a,n,r=e.operation,i=r.name,s=r.description,c=r.deprecated,m=r.externalDocs,p=r.isWebhook,d=e.operation,u=e.layout,R=React.useContext(StoreContext),E=!(!s&&!m),b=null==R?void 0:R.options.hooks,k=null==R?void 0:R.options.events,v=React.useCallback((function(e){var t,o=creatPanelToggleEvent({operation:d,isExpanded:e,panelType:"responses"});null===(t=null==k?void 0:k.panelToggle)||void 0===t||t.call(k,o)}),[k]),f=React.useCallback((function(e){var t,o=creatPanelToggleEvent({operation:d,isExpanded:e,panelType:"request"});null===(t=null==k?void 0:k.panelToggle)||void 0===t||t.call(k,o)}),[k]);return React.createElement(OperationRow,{layout:u},React.createElement(MiddlePanel,{isStacked:u===LayoutVariant.STACKED},React.createElement(RenderHook,{Hook:null==b?void 0:b.BeforeOperation,props:{operation:d}}),React.createElement(H2,null,React.createElement(ShareLink,{to:d.id}),React.createElement(RenderHook,{Hook:null==b?void 0:b.BeforeOperationSummary,props:{operation:d}}),i,React.createElement(RenderHook,{Hook:null==b?void 0:b.AfterOperationSummary,props:{operation:d}}),c&&React.createElement(Badge,{type:"warning"},"Deprecated"),p&&React.createElement(Badge,{type:"primary"},"Webhook")),(null==R?void 0:R.options.pathInMiddlePanel)&&!p&&React.createElement(Endpoint,{operation:d}),E&&React.createElement(Description,null,void 0!==s&&React.createElement(Markdown,{source:s}),m&&React.createElement(ExternalDocumentation,{externalDocs:m}),Object.keys(d.extensions||{}).length?React.createElement(Extensions,{extensions:d.extensions}):null),(null===(t=d.security)||void 0===t?void 0:t.length)||(null===(o=d.parameters)||void 0===o?void 0:o.length)||d.requestBody?React.createElement(ScrollableContentPanel,{header:l("request"),onToggle:f},React.createElement(SecurityRequirements,{securities:d.security}),React.createElement(Parameters,{parameters:d.parameters,body:d.requestBody})):null,(null===(a=d.responses)||void 0===a?void 0:a.length)?React.createElement(ScrollableContentPanel,{header:l("responses"),onToggle:v},React.createElement(ResponsesList,{responses:d.responses})):null,(null===(n=d.callbacks)||void 0===n?void 0:n.length)?React.createElement(ScrollableContentPanel,{header:l("callbacks")},React.createElement(CallbacksList,{callbacks:d.callbacks})):null,React.createElement(RenderHook,{Hook:null==b?void 0:b.AfterOperation,props:{operation:d}})),(null==R?void 0:R.showRightPanel)?React.createElement(RightPanel,{"data-cy":"samples-block"},!(null==R?void 0:R.options.pathInMiddlePanel)&&!p&&React.createElement(Endpoint,{operation:d}),React.createElement(RequestSamples,{operation:d}),React.createElement(ResponseSamples,{operation:d}),React.createElement(CallbackSamples,{callbacks:d.callbacks})):null)}));
2
2
  //# sourceMappingURL=Operation.js.map
@@ -1,8 +1,8 @@
1
1
  /// <reference types="react" />
2
- import { DropdownProps } from '../../common-elements';
3
2
  import { MediaTypeModel } from '../../services/models';
4
3
  export interface PayloadSamplesProps {
5
4
  mediaType: MediaTypeModel;
6
- renderDropdown: (props: DropdownProps) => JSX.Element;
5
+ onlyDefaultSample?: boolean;
6
+ properties?: any;
7
7
  }
8
- export declare const MediaTypeSamples: (props: PayloadSamplesProps) => JSX.Element;
8
+ export declare const MediaTypeSamples: ({ mediaType, onlyDefaultSample, properties }: PayloadSamplesProps) => JSX.Element;
@@ -1,2 +1,2 @@
1
- import*as React from"react";import{Markdown}from"../Markdown/Markdown";import{Example}from"./Example";import{DropdownWrapper,ExampleWrapper}from"./styled.elements";import{NoSampleLabel}from"../../../../components/shared";import{Dropdown}from"../../../src/common-elements/dropdown";import{observer}from"mobx-react";import{useState}from"react";export var MediaTypeSamples=observer((function(e){var a,r=e.mediaType.examples||{},t=e.mediaType.name,n=(null===(a=e.mediaType.operation)||void 0===a?void 0:a.activeExampleName)||"",m=Object.keys(r),o=useState(n),l=o[0],p=o[1];if(0===m.length)return React.createElement(NoSampleLabel,null,"No sample");var i=m[0],c=React.useRef(null),u=React.useCallback((function(a){var r,t;if(!c.current||!(null===(r=e.mediaType.operation)||void 0===r?void 0:r.activateExampleName))return null;var n=c.current.getBoundingClientRect().y;null===(t=e.mediaType.operation)||void 0===t||t.activateExampleName(a.name),p(a.name),requestAnimationFrame((function(){if(c.current&&null!=n){var e=c.current.getBoundingClientRect().y;window.scrollBy(0,e-n)}}))}),[e.mediaType.operation]);if(m.length>1){var d=m.map((function(e){return{value:r[e].summary||e,name:e}})),s=r[n]?n:r[l]?l:i,v=(f=r[s]).description;return React.createElement(React.Fragment,null,React.createElement(DropdownWrapper,{ref:c},React.createElement(Dropdown,{variant:"dark",fullWidth:!0,prefix:"Example: ",options:d,value:f.summary||s,onChange:u})),React.createElement(ExampleWrapper,null,v&&React.createElement(Markdown,{source:v}),React.createElement(Example,{example:f,mimeType:t})))}var f=r[i];return React.createElement(React.Fragment,null,f.description&&React.createElement(Markdown,{source:f.description}),React.createElement(Example,{example:f,mimeType:t}))}));
1
+ import*as React from"react";import merge from"deepmerge";import{observer}from"mobx-react";import{NoSampleLabel}from"../../../../components/shared";import{ExampleSwitch,useExampleKey}from"../../../../components/Samples";import{arrayMerge}from"../../../../services/utils";import{Markdown}from"../Markdown/Markdown";import{Example}from"./Example";import{ExampleWrapper}from"./styled.elements";export var MediaTypeSamples=observer((function(e){var a=e.mediaType,r=e.onlyDefaultSample,t=e.properties,m=void 0===t?{}:t,l=a.examples||{},p=a.name,o=Object.keys(l);if(!o.length)return React.createElement(NoSampleLabel,null,"No sample");if(1===o.length){var n=Object.values(l)[0];return n.value=merge(n.value,m,{arrayMerge:arrayMerge}),React.createElement(React.Fragment,null,n.description&&React.createElement(Markdown,{source:n.description}),React.createElement(Example,{example:n,mimeType:p}))}var c=useExampleKey(a.operation,l),i=c.exampleKey,s=c.defaultExampleName,u=l[i],E=u.description;if(u.value=merge(u.value,m,{arrayMerge:arrayMerge}),s&&r)return React.createElement(React.Fragment,null,u.description&&React.createElement(Markdown,{source:u.description}),React.createElement(Example,{example:u,mimeType:p}));return React.createElement(React.Fragment,null,React.createElement(ExampleSwitch,{examples:l,exampleKey:i,onChange:function(e){var r;return null===(r=a.operation)||void 0===r?void 0:r.activateExampleName(e)}}),React.createElement(ExampleWrapper,null,E&&React.createElement(Markdown,{source:E}),React.createElement(Example,{example:u,mimeType:p})))}));
2
2
  //# sourceMappingURL=MediaTypeSamples.js.map
@@ -2,6 +2,8 @@ import * as React from 'react';
2
2
  import { MediaContentModel } from '../../services';
3
3
  export interface PayloadSamplesProps {
4
4
  content: MediaContentModel;
5
+ defaultSample?: string;
6
+ properties?: any;
5
7
  }
6
8
  export declare class PayloadSamples extends React.Component<PayloadSamplesProps> {
7
9
  render(): JSX.Element | null;
@@ -1,2 +1,2 @@
1
- import{__assign,__decorate,__extends}from"tslib";import{observer}from"mobx-react";import*as React from"react";import{MediaTypeSamples}from"./MediaTypeSamples";import{DropdownOrLabel}from"../DropdownOrLabel/DropdownOrLabel";import{MediaTypesSwitch}from"../MediaTypeSwitch/MediaTypesSwitch";import{MimeLabel}from"../../../../components/shared";import{Dropdown}from"../../common-elements/dropdown";import{DropdownWrapper}from"../../..";var PayloadSamples=function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(r,"renderDropdown",{enumerable:!0,configurable:!0,writable:!0,value:function(e){return React.createElement(DropdownWrapper,null,React.createElement(DropdownOrLabel,__assign({Label:MimeLabel,Dropdown:Dropdown,variant:"dark",fullWidth:!0},e)))}}),r}return __extends(r,e),Object.defineProperty(r.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,r=this.props.content;return void 0===r?null:React.createElement(MediaTypesSwitch,{content:r,renderDropdown:this.renderDropdown},(function(r){return React.createElement(MediaTypeSamples,{key:"samples",mediaType:r,renderDropdown:e.renderDropdown})}))}}),r=__decorate([observer],r)}(React.Component);export{PayloadSamples};
1
+ import{__assign,__decorate,__extends}from"tslib";import{observer}from"mobx-react";import*as React from"react";import{MediaTypeSamples}from"./MediaTypeSamples";import{DropdownOrLabel}from"../DropdownOrLabel/DropdownOrLabel";import{MediaTypesSwitch}from"../MediaTypeSwitch/MediaTypesSwitch";import{MimeLabel}from"../../../../components/shared";import{Dropdown}from"../../common-elements/dropdown";import{DropdownWrapper}from"../../..";var PayloadSamples=function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(r,"renderDropdown",{enumerable:!0,configurable:!0,writable:!0,value:function(e){return React.createElement(DropdownWrapper,null,React.createElement(DropdownOrLabel,__assign({Label:MimeLabel,Dropdown:Dropdown,variant:"dark",fullWidth:!0},e)))}}),r}return __extends(r,e),Object.defineProperty(r.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,r=this.props.content;return void 0===r?null:React.createElement(MediaTypesSwitch,{content:r,renderDropdown:this.renderDropdown},(function(r){return React.createElement(MediaTypeSamples,__assign({key:"samples",mediaType:r},e.props))}))}}),r=__decorate([observer],r)}(React.Component);export{PayloadSamples};
2
2
  //# sourceMappingURL=PayloadSamples.js.map
@@ -1,20 +1,15 @@
1
- import * as React from 'react';
2
- import { OperationModel, Unstable_ExternalCodeSample } from '../../services';
3
- import { MediaContentModel } from '../../..';
4
- interface CodeSamplesProps {
1
+ /// <reference types="react" />
2
+ import { OperationModel, Unstable_ExternalCodeSample, MediaContentModel } from '../../services';
3
+ import { ExampleSwitchOptions } from '../../../../components/Samples';
4
+ interface CodeSamplesProps extends ExampleSwitchOptions {
5
5
  content?: MediaContentModel;
6
6
  operation: OperationModel;
7
7
  lang: string;
8
8
  source?: string;
9
9
  externalSample?: Unstable_ExternalCodeSample;
10
+ pathParams?: any;
11
+ properties?: any;
12
+ onlyDefaultSample?: boolean;
10
13
  }
11
- export default class CodeSample extends React.Component<CodeSamplesProps> {
12
- state: {
13
- activeIdx: number;
14
- };
15
- switchMedia: (item: any) => void;
16
- private renderDropdown;
17
- renderSample(exampleName?: string): JSX.Element;
18
- render(): JSX.Element;
19
- }
14
+ export declare const CodeSample: ({ onlyDefaultSample, ...props }: CodeSamplesProps) => JSX.Element;
20
15
  export {};
@@ -1,2 +1,2 @@
1
- import{__assign,__extends}from"tslib";import*as React from"react";import{DropdownOrLabel}from"../DropdownOrLabel/DropdownOrLabel";import{MediaTypesSwitch}from"../MediaTypeSwitch/MediaTypesSwitch";import{SourceCodeWithCopy}from"../SourceCode/SourceCode";import{MimeLabel,NoSampleLabel}from"../../../../components/shared";import{Dropdown}from"../../common-elements/dropdown";import{DropdownWrapper}from"../../..";var CodeSample=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}}),Object.defineProperty(r,"switchMedia",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.setState({activeIdx:e.idx})}}),Object.defineProperty(r,"renderDropdown",{enumerable:!0,configurable:!0,writable:!0,value:function(e){return React.createElement(DropdownWrapper,null,React.createElement(DropdownOrLabel,__assign({Label:MimeLabel,Dropdown:Dropdown,variant:"dark",fullWidth:!0},e)))}}),r}return __extends(r,e),Object.defineProperty(r.prototype,"renderSample",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this.props.source?React.createElement(SourceCodeWithCopy,{lang:this.props.lang,source:this.props.source}):React.createElement(SourceCodeWithCopy,{lang:this.props.lang,externalSource:{sample:this.props.externalSample,exampleName:e,operation:this.props.operation}})}}),Object.defineProperty(r.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,r=this.props.content;if(void 0===r||null!=this.props.source)return this.renderSample();var t=this.props.content&&this.props.content.mediaTypes.length>1;return React.createElement(MediaTypesSwitch,{content:r,renderDropdown:t?this.renderDropdown:function(){return null}},(function(r){var t=r.examples||{},o=React.createElement(NoSampleLabel,null,"No sample"),n=Object.keys(t);if(0===n.length)return o;if(n.length>1){var a=n.map((function(e,r){return{value:t[e].summary||e,idx:r}}));return React.createElement(React.Fragment,null,React.createElement(DropdownWrapper,null,React.createElement(Dropdown,{variant:"dark",fullWidth:!0,prefix:"Example: ",options:a,value:a[e.state.activeIdx].value,onChange:e.switchMedia})),e.renderSample(n[e.state.activeIdx]))}return e.renderSample()}))}}),r}(React.Component);export default CodeSample;
1
+ import{__assign,__rest}from"tslib";import*as React from"react";import{observer}from"mobx-react";import{DropdownOrLabel}from"../DropdownOrLabel/DropdownOrLabel";import{MediaTypesSwitch}from"../MediaTypeSwitch/MediaTypesSwitch";import{SourceCodeWithCopy}from"../SourceCode/SourceCode";import{MimeLabel,NoSampleLabel}from"../../../../components/shared";import{Dropdown}from"../../common-elements/dropdown";import{DropdownWrapper}from"../../../src/components/PayloadSamples/styled.elements";import{ExampleSwitch,useExampleKey}from"../../../../components/Samples";export var CodeSample=observer((function(e){var r=e.onlyDefaultSample,o=__rest(e,["onlyDefaultSample"]),t=function(e){return o.source?React.createElement(SourceCodeWithCopy,{lang:o.lang,source:o.source}):React.createElement(SourceCodeWithCopy,{lang:o.lang,externalSource:{sample:o.externalSample,exampleName:e,operation:o.operation,pathParams:o.pathParams,properties:o.properties}})},a=o.content;if(void 0===a||null!=o.source)return t();var n=o.content&&o.content.mediaTypes.length>1,l=function(e){var r;return null===(r=o.operation)||void 0===r?void 0:r.activateExampleName(e)};return React.createElement(MediaTypesSwitch,{content:a,renderDropdown:n?function(e){return React.createElement(DropdownWrapper,null,React.createElement(DropdownOrLabel,__assign({Label:MimeLabel,Dropdown:Dropdown,variant:"dark",fullWidth:!0},e)))}:function(){return null}},(function(e){var o=e.examples||{},a=Object.keys(o);if(!a.length)return React.createElement(NoSampleLabel,null,"No sample");if(1===a.length)return t();var n=useExampleKey(e.operation,o),p=n.exampleKey;return n.defaultExampleName&&r?t(p):React.createElement(React.Fragment,null,React.createElement(ExampleSwitch,{examples:o,exampleKey:p,onChange:l}),t(p))}))}));
2
2
  //# sourceMappingURL=CodeSample.js.map
@@ -2,5 +2,11 @@
2
2
  import { OperationModel } from '../../services';
3
3
  export interface RequestSamplesProps {
4
4
  operation: OperationModel;
5
+ defaultSample?: string;
6
+ defaultLanguage?: string;
7
+ pathParams?: any;
8
+ properties?: any;
9
+ disableHeader?: boolean;
10
+ onlyDefaultSample?: boolean;
5
11
  }
6
- export declare const RequestSamples: ({ operation }: RequestSamplesProps) => JSX.Element | null;
12
+ export declare const RequestSamples: ({ operation, defaultLanguage, disableHeader, ...props }: RequestSamplesProps) => JSX.Element | null;
@@ -1,2 +1,2 @@
1
- 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,o=useContext(OptionsContext),t=o.events,n=o.hideSingleRequestSampleTab,r=useCodeSamples(a),m=r.samples,p=r.payload,s=1===m.length&&n;return m.length?React.createElement(CodePanel,{header:l("requestSamples"),onToggle:function(e){var o,n=creatPanelToggleEvent({operation:a,isExpanded:e,panelType:"request-samples"});null===(o=null==t?void 0:t.panelToggle)||void 0===o||o.call(t,n)}},React.createElement(SamplesTabs,{operation:a,tabs:m,onChange:function(e){var o,n=createLanguageSwitchEvent({operation:a,sample:e});null===(o=null==t?void 0:t.codeSamplesLanguageSwitch)||void 0===o||o.call(t,n)},hidden:s},m.map((function(e){return React.createElement(TabPanel,{key:e.key},isPayloadSample(e)?React.createElement(PayloadSamples,{content:e.requestBodyContent}):React.createElement(CodeSample,{lang:e.lang,source:e.source,externalSample:e,content:null==p?void 0:p.requestBodyContent,operation:a}))})))):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,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};
2
2
  //# sourceMappingURL=RequestSamples.js.map
@@ -1,2 +1,2 @@
1
- import{__assign,__spreadArray}from"tslib";import{useContext}from"react";import{isPayloadSample}from"../../services";import{OptionsContext}from"../OptionsProvider";export function useCodeSamples(e){var a=e.codeSamples,r=e.isCallback,o=e.isWebhook,t=useContext(OptionsContext),n=t.unstable_externalCodeSamples,l=t.hideRequestPayloadSample,s=new Set(a.map((function(e){return e.lang.toLowerCase()}))),i=(r||o?[]:n).filter((function(e){var a=e.lang;return!s.has(a.toLowerCase())})),p=__spreadArray(__spreadArray([],a,!0),i,!0),m=p.findIndex((function(e){return isPayloadSample(e)}));return{payload:p[m],samples:(l?p.splice(m,1):p).map((function(e){var a,r;return __assign({key:e.lang+"_"+(null!==(a=e.label)&&void 0!==a?a:""),title:null!==(r=e.label)&&void 0!==r?r:e.lang},e)}))}}
1
+ import{__assign,__spreadArray}from"tslib";import{useContext}from"react";import{isPayloadSample}from"../../services";import{OptionsContext}from"../OptionsProvider";export function useCodeSamples(e){var a=e.codeSamples,r=e.isCallback,t=e.isWebhook,n=useContext(OptionsContext),o=n.unstable_externalCodeSamples,l=n.hideRequestPayloadSample,s=new Set(a.map((function(e){return e.lang.toLowerCase()}))),i=(r||t?[]:o).filter((function(e){var a=e.lang;return!s.has(a.toLowerCase())})),p=__spreadArray(__spreadArray([],a,!0),i,!0),u=p.findIndex((function(e){return isPayloadSample(e)}));return{payload:p[u],samples:(l?p.filter((function(e,a){return a!==u})):p).map((function(e){var a,r;return __assign({key:e.lang+"_"+(null!==(a=e.label)&&void 0!==a?a:""),title:null!==(r=e.label)&&void 0!==r?r:e.lang},e)}))}}
2
2
  //# sourceMappingURL=useCodeSamples.js.map
@@ -17,5 +17,4 @@ export declare class SchemaDefinition extends React.PureComponent<ObjectDescript
17
17
  private _mediaModel;
18
18
  private get mediaModel();
19
19
  render(): JSX.Element;
20
- private renderDropdown;
21
20
  }
@@ -1,2 +1,2 @@
1
- import{__assign,__extends}from"tslib";import*as React from"react";import{MiddlePanel,MimeLabel,RightPanel,Row,Section,Dropdown}from"../../common-elements";import{MediaTypeModel}from"../../services";import{DropdownOrLabel}from"../DropdownOrLabel/DropdownOrLabel";import{MediaTypeSamples}from"../PayloadSamples/MediaTypeSamples";import{Schema}from"../Schema";import{CodePanel,ContentPanel}from"../../../../components/Panel";import{LayoutVariant}from"../../../../services/store-types";var SchemaDefinition=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"_mediaModel",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(t,"renderDropdown",{enumerable:!0,configurable:!0,writable:!0,value:function(e){return React.createElement(DropdownOrLabel,__assign({Label:MimeLabel,Dropdown:Dropdown,variant:"dark",fullWidth:!0},e))}}),t}return __extends(t,e),Object.defineProperty(t,"getMediaType",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){if(!e)return{};var a={schema:{$ref:e}};return t&&(a.examples={example:{$ref:t}}),a}}),Object.defineProperty(t.prototype,"mediaModel",{get:function(){var e=this.props,a=e.parser,r=e.schemaRef,n=e.exampleRef,o=e.options;return this._mediaModel||(this._mediaModel=new MediaTypeModel(a,"json",!1,t.getMediaType(r,n),o)),this._mediaModel},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.props,t=e.showReadOnly,a=void 0===t||t,r=e.showWriteOnly,n=void 0!==r&&r,o=e.layout,i=e.showRightPanel;return React.createElement(Section,null,React.createElement(Row,{layout:o},React.createElement(MiddlePanel,{isStacked:o===LayoutVariant.STACKED},React.createElement(ContentPanel,null,React.createElement(Schema,{skipWriteOnly:!n,skipReadOnly:!a,schema:this.mediaModel.schema}))),i?React.createElement(RightPanel,null,React.createElement(CodePanel,null,React.createElement(MediaTypeSamples,{renderDropdown:this.renderDropdown,mediaType:this.mediaModel}))):null))}}),t}(React.PureComponent);export{SchemaDefinition};
1
+ import{__extends}from"tslib";import*as React from"react";import{MiddlePanel,RightPanel,Row,Section}from"../../common-elements";import{MediaTypeModel}from"../../services";import{MediaTypeSamples}from"../PayloadSamples/MediaTypeSamples";import{Schema}from"../Schema";import{CodePanel,ContentPanel}from"../../../../components/Panel";import{LayoutVariant}from"../../../../services/store-types";var SchemaDefinition=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"_mediaModel",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),t}return __extends(t,e),Object.defineProperty(t,"getMediaType",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){if(!e)return{};var a={schema:{$ref:e}};return t&&(a.examples={example:{$ref:t}}),a}}),Object.defineProperty(t.prototype,"mediaModel",{get:function(){var e=this.props,a=e.parser,n=e.schemaRef,r=e.exampleRef,i=e.options;return this._mediaModel||(this._mediaModel=new MediaTypeModel(a,"json",!1,t.getMediaType(n,r),i)),this._mediaModel},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.props,t=e.showReadOnly,a=void 0===t||t,n=e.showWriteOnly,r=void 0!==n&&n,i=e.layout,o=e.showRightPanel;return React.createElement(Section,null,React.createElement(Row,{layout:i},React.createElement(MiddlePanel,{isStacked:i===LayoutVariant.STACKED},React.createElement(ContentPanel,null,React.createElement(Schema,{skipWriteOnly:!r,skipReadOnly:!a,schema:this.mediaModel.schema}))),o?React.createElement(RightPanel,null,React.createElement(CodePanel,null,React.createElement(MediaTypeSamples,{mediaType:this.mediaModel}))):null))}}),t}(React.PureComponent);export{SchemaDefinition};
2
2
  //# sourceMappingURL=SchemaDefinition.js.map
@@ -8,6 +8,8 @@ export interface SourceCodeProps {
8
8
  sample: Unstable_ExternalCodeSample;
9
9
  operation: OperationModel;
10
10
  exampleName?: string;
11
+ pathParams?: any;
12
+ properties?: any;
11
13
  };
12
14
  }
13
15
  export declare class SourceCode extends React.PureComponent<Required<Omit<SourceCodeProps, 'externalSource'>>> {
@@ -29,3 +29,4 @@ export * from './StickySidebar/StickyResponsiveSidebar';
29
29
  export * from './SearchBox/SearchBox';
30
30
  export * from './SchemaDefinition/SchemaDefinition';
31
31
  export * from './SourceCode/SourceCode';
32
+ export * from './RequestSamples/RequestSamples';
@@ -1,2 +1,2 @@
1
- export*from"./ApiInfo/ApiInfo";export*from"./ApiLogo/ApiLogo";export*from"./ContentItems/ContentItems";export*from"./Schema/";export*from"./SearchBox/SearchBox";export*from"./Operation/Operation";export*from"./Loading/Loading";export*from"./JsonViewer";export*from"./Markdown/Markdown";export{StyledMarkdownBlock}from"./Markdown/styled.elements";export*from"./SecuritySchemes/SecuritySchemes";export*from"./Responses/Response";export*from"./Responses/ResponseDetails";export*from"./Responses/ResponseHeaders";export*from"./Responses/ResponsesList";export*from"./Responses/ResponseSummary";export*from"./ResponseSamples/ResponseSamples";export*from"./PayloadSamples/PayloadSamples";export*from"./PayloadSamples/styled.elements";export*from"./MediaTypeSwitch/MediaTypesSwitch";export*from"./Parameters/Parameters";export*from"./PayloadSamples/Example";export*from"./DropdownOrLabel/DropdownOrLabel";export*from"./ErrorBoundary";export*from"./StoreBuilder";export*from"./OptionsProvider";export*from"./SideMenu/";export*from"./StickySidebar/StickyResponsiveSidebar";export*from"./SearchBox/SearchBox";export*from"./SchemaDefinition/SchemaDefinition";export*from"./SourceCode/SourceCode";
1
+ export*from"./ApiInfo/ApiInfo";export*from"./ApiLogo/ApiLogo";export*from"./ContentItems/ContentItems";export*from"./Schema/";export*from"./SearchBox/SearchBox";export*from"./Operation/Operation";export*from"./Loading/Loading";export*from"./JsonViewer";export*from"./Markdown/Markdown";export{StyledMarkdownBlock}from"./Markdown/styled.elements";export*from"./SecuritySchemes/SecuritySchemes";export*from"./Responses/Response";export*from"./Responses/ResponseDetails";export*from"./Responses/ResponseHeaders";export*from"./Responses/ResponsesList";export*from"./Responses/ResponseSummary";export*from"./ResponseSamples/ResponseSamples";export*from"./PayloadSamples/PayloadSamples";export*from"./PayloadSamples/styled.elements";export*from"./MediaTypeSwitch/MediaTypesSwitch";export*from"./Parameters/Parameters";export*from"./PayloadSamples/Example";export*from"./DropdownOrLabel/DropdownOrLabel";export*from"./ErrorBoundary";export*from"./StoreBuilder";export*from"./OptionsProvider";export*from"./SideMenu/";export*from"./StickySidebar/StickyResponsiveSidebar";export*from"./SearchBox/SearchBox";export*from"./SchemaDefinition/SchemaDefinition";export*from"./SourceCode/SourceCode";export*from"./RequestSamples/RequestSamples";
2
2
  //# sourceMappingURL=index.js.map
@@ -13,6 +13,7 @@ export declare type ExtendedOpenAPIOperation = {
13
13
  pathParameters: Array<Referenced<OpenAPIParameter>>;
14
14
  pathServers: Array<OpenAPIServer> | undefined;
15
15
  isWebhook: boolean;
16
+ defaultSampleName?: string;
16
17
  } & OpenAPIOperation;
17
18
  export declare type TagsInfoMap = Record<string, TagInfo>;
18
19
  export interface TagGroup {
@@ -1,2 +1,2 @@
1
- import{__decorate}from"tslib";import{bind}from"decko";import EventEmitter from"eventemitter3";import{IS_BROWSER,querySelector,Throttle}from"../utils";var EVENT="scroll",ScrollService=function(){function e(e){Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_scrollParent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_emiter",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_prevOffsetY",{enumerable:!0,configurable:!0,writable:!0,value:0}),this._scrollParent=IS_BROWSER?window:void 0,this._emiter=new EventEmitter,this.bind()}return Object.defineProperty(e.prototype,"bind",{enumerable:!1,configurable:!0,writable:!0,value:function(){this._prevOffsetY=this.scrollY(),this._scrollParent&&this._scrollParent.addEventListener("scroll",this.handleScroll)}}),Object.defineProperty(e.prototype,"dispose",{enumerable:!1,configurable:!0,writable:!0,value:function(){this._scrollParent&&this._scrollParent.removeEventListener("scroll",this.handleScroll),this._emiter.removeAllListeners(EVENT)}}),Object.defineProperty(e.prototype,"scrollY",{enumerable:!1,configurable:!0,writable:!0,value:function(){return"undefined"!=typeof HTMLElement&&this._scrollParent instanceof HTMLElement?this._scrollParent.scrollTop:void 0!==this._scrollParent?this._scrollParent.pageYOffset:0}}),Object.defineProperty(e.prototype,"isElementBellow",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(null!==e)return e.getBoundingClientRect().top>this.options.scrollYOffset()}}),Object.defineProperty(e.prototype,"isElementAbove",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(null!==e){var t=e.getBoundingClientRect().top;return(t>0?Math.floor(t):Math.ceil(t))<=this.options.scrollYOffset()}}}),Object.defineProperty(e.prototype,"subscribe",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this._emiter.addListener(EVENT,e);return function(){return t.removeListener(EVENT,e)}}}),Object.defineProperty(e.prototype,"scrollIntoView",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){if(null!==e&&(e.scrollIntoView(t),this._scrollParent&&this._scrollParent.scrollBy)){var r=[0,Math.floor(this.options.scrollYOffset())],l=r[0],o=r[1];this._scrollParent.scrollBy(l,o)}}}),Object.defineProperty(e.prototype,"scrollIntoViewBySelector",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=querySelector(e);this.scrollIntoView(r,t)}}),Object.defineProperty(e.prototype,"handleScroll",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.scrollY()-this._prevOffsetY>0;this._prevOffsetY=this.scrollY(),this._emiter.emit(EVENT,e)}}),__decorate([bind,Throttle(100)],e.prototype,"handleScroll",null),e}();export{ScrollService};
1
+ import{__decorate}from"tslib";import{bind}from"decko";import EventEmitter from"eventemitter3";import{IS_BROWSER,querySelector,Throttle}from"../utils";var EVENT="scroll",ScrollService=function(){function e(e){Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_scrollParent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_emiter",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_prevOffsetY",{enumerable:!0,configurable:!0,writable:!0,value:0}),this._scrollParent=IS_BROWSER?window:void 0,this._emiter=new EventEmitter,this.bind()}return Object.defineProperty(e.prototype,"bind",{enumerable:!1,configurable:!0,writable:!0,value:function(){this._prevOffsetY=this.scrollY(),this._scrollParent&&this._scrollParent.addEventListener(EVENT,this.handleScroll)}}),Object.defineProperty(e.prototype,"dispose",{enumerable:!1,configurable:!0,writable:!0,value:function(){this._scrollParent&&this._scrollParent.removeEventListener(EVENT,this.handleScroll),this._emiter.removeAllListeners(EVENT)}}),Object.defineProperty(e.prototype,"scrollY",{enumerable:!1,configurable:!0,writable:!0,value:function(){return"undefined"!=typeof HTMLElement&&this._scrollParent instanceof HTMLElement?this._scrollParent.scrollTop:void 0!==this._scrollParent?this._scrollParent.pageYOffset:0}}),Object.defineProperty(e.prototype,"isElementBellow",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(null!==e)return e.getBoundingClientRect().top>this.options.scrollYOffset()}}),Object.defineProperty(e.prototype,"isElementAbove",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(null!==e){var t=e.getBoundingClientRect().top;return(t>0?Math.floor(t):Math.ceil(t))<=this.options.scrollYOffset()}}}),Object.defineProperty(e.prototype,"subscribe",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this._emiter.addListener(EVENT,e);return function(){return t.removeListener(EVENT,e)}}}),Object.defineProperty(e.prototype,"scrollIntoView",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){if(null!==e&&(e.scrollIntoView(t),this._scrollParent&&this._scrollParent.scrollBy)){var r=[0,Math.floor(this.options.scrollYOffset())],l=r[0],o=r[1];this._scrollParent.scrollBy(l,o)}}}),Object.defineProperty(e.prototype,"scrollIntoViewBySelector",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=querySelector(e);this.scrollIntoView(r,t)}}),Object.defineProperty(e.prototype,"handleScroll",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.scrollY()-this._prevOffsetY>0;this._prevOffsetY=this.scrollY(),this._emiter.emit(EVENT,e)}}),__decorate([bind,Throttle(100)],e.prototype,"handleScroll",null),e}();export{ScrollService};
2
2
  //# sourceMappingURL=ScrollService.js.map
@@ -42,6 +42,7 @@ export declare class OperationModel implements IMenuItem {
42
42
  expanded: boolean;
43
43
  activeMimeName?: string;
44
44
  activeExampleName?: string;
45
+ defaultExampleName?: string;
45
46
  pointer: string;
46
47
  operationId?: string;
47
48
  httpVerb: string;
@@ -1,2 +1,2 @@
1
- import{__decorate,__spreadArray}from"tslib";import{action,makeObservable,observable}from"mobx";import{SecurityRequirementModel}from"./SecurityRequirement";import{extractExtensions,getOperationSummary,getStatusCodeType,isStatusCode,memoize,mergeParams,normalizeServers,sanitizeItemId,sortByField,sortByRequired}from"../../utils";import{CallbackModel}from"./Callback";import{FieldModel}from"./Field";import{RequestBodyModel}from"./RequestBody";import{ResponseModel}from"./Response";export function isPayloadSample(e){return"payload"===e.lang&&e.requestBodyContent}var isCodeSamplesWarningPrinted=!1,OperationModel=function(){function e(e,t,r,i,o){var a,n;void 0===o&&(o=!1),Object.defineProperty(this,"parser",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"operationDefinition",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"absoluteIdx",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"description",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:"operation"}),Object.defineProperty(this,"parent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"externalDocs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"items",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"depth",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ready",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"active",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"expanded",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"activeMimeName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"activeExampleName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pointer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"operationId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"httpVerb",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"deprecated",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"path",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"servers",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"security",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"extensions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isCallback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isWebhook",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isEvent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),makeObservable(this),this.pointer=t.pointer,this.description=t.description,this.parent=r,this.externalDocs=t.externalDocs,this.deprecated=!!t.deprecated,this.httpVerb=t.httpVerb,this.deprecated=!!t.deprecated,this.operationId=t.operationId,this.path=t.pathName,this.isCallback=o,this.isWebhook=t.isWebhook,this.isEvent=this.isCallback||this.isWebhook,this.name=getOperationSummary(t);var l=((null===(n=null===(a=this.requestBody)||void 0===a?void 0:a.content)||void 0===n?void 0:n.mediaTypes)||[])[0],s=Object.keys((null==l?void 0:l.examples)||[])[0];this.activeExampleName=s,this.isCallback?(this.security=(t.security||[]).map((function(t){return new SecurityRequirementModel(t,e)})),this.servers=normalizeServers("",t.servers||t.pathServers||[])):(this.id=sanitizeItemId(void 0!==t.operationId?"operation/"+t.operationId:void 0!==r?r.id+this.pointer:this.pointer),this.security=(t.security||e.definition.security||[]).map((function(t){return new SecurityRequirementModel(t,e)})),this.servers=normalizeServers(e.definitionUrl,t.servers||t.pathServers||e.definition.servers||[])),i.showExtensions&&(this.extensions=extractExtensions(t,i.showExtensions))}return Object.defineProperty(e.prototype,"activate",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.active=!0}}),Object.defineProperty(e.prototype,"deactivate",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.active=!1}}),Object.defineProperty(e.prototype,"toggle",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.expanded=!this.expanded}}),Object.defineProperty(e.prototype,"activateMimeName",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.activeMimeName=e}}),Object.defineProperty(e.prototype,"activateExampleName",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.activeExampleName=e}}),Object.defineProperty(e.prototype,"expand",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.parent&&this.parent.expand()}}),Object.defineProperty(e.prototype,"collapse",{enumerable:!1,configurable:!0,writable:!0,value:function(){}}),Object.defineProperty(e.prototype,"requestBody",{get:function(){return this.operationDefinition.requestBody&&new RequestBodyModel({parser:this.parser,infoOrRef:this.operationDefinition.requestBody,options:this.options,operation:this,isEvent:this.isEvent})},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"codeSamples",{get:function(){var e=this.operationDefinition["x-codeSamples"]||this.operationDefinition["x-code-samples"]||[];this.operationDefinition["x-code-samples"]&&!isCodeSamplesWarningPrinted&&(isCodeSamplesWarningPrinted=!0,console.warn('"x-code-samples" is deprecated. Use "x-codeSamples" instead'));var t=this.requestBody&&this.requestBody.content;if(t&&t.hasSample){var r=Math.min(e.length,this.options.payloadSampleIdx);e=__spreadArray(__spreadArray(__spreadArray([],e.slice(0,r),!0),[{lang:"payload",label:"Payload",source:"",requestBodyContent:t}],!1),e.slice(r),!0)}return e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"parameters",{get:function(){var e=this,t=mergeParams(this.parser,this.operationDefinition.pathParameters,this.operationDefinition.parameters).map((function(t){return new FieldModel(e.parser,t,e.pointer,e.options,void 0,{operation:e,type:"request"})}));return this.options.sortPropsAlphabetically?sortByField(t,"name"):this.options.requiredPropsFirst?sortByRequired(t):t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"responses",{get:function(){var e=this,t=!1;return Object.keys(this.operationDefinition.responses||[]).filter((function(e){return"default"===e||("success"===getStatusCodeType(e)&&(t=!0),isStatusCode(e))})).map((function(r){return new ResponseModel({parser:e.parser,code:r,defaultAsError:t,infoOrRef:e.operationDefinition.responses[r],options:e.options,isEvent:e.isEvent,operation:e})}))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"callbacks",{get:function(){var e=this;return Object.keys(this.operationDefinition.callbacks||[]).map((function(t){return new CallbackModel(e.parser,t,e.operationDefinition.callbacks[t],e.pointer,e.options)}))},enumerable:!1,configurable:!0}),__decorate([observable],e.prototype,"ready",void 0),__decorate([observable],e.prototype,"active",void 0),__decorate([observable],e.prototype,"expanded",void 0),__decorate([observable],e.prototype,"activeMimeName",void 0),__decorate([observable],e.prototype,"activeExampleName",void 0),__decorate([action],e.prototype,"activate",null),__decorate([action],e.prototype,"deactivate",null),__decorate([action],e.prototype,"toggle",null),__decorate([action],e.prototype,"activateMimeName",null),__decorate([action],e.prototype,"activateExampleName",null),__decorate([memoize],e.prototype,"requestBody",null),__decorate([memoize],e.prototype,"codeSamples",null),__decorate([memoize],e.prototype,"parameters",null),__decorate([memoize],e.prototype,"responses",null),__decorate([memoize],e.prototype,"callbacks",null),e}();export{OperationModel};
1
+ import{__decorate,__spreadArray}from"tslib";import{action,makeObservable,observable}from"mobx";import{SecurityRequirementModel}from"./SecurityRequirement";import{extractExtensions,getOperationSummary,getStatusCodeType,isStatusCode,memoize,mergeParams,normalizeServers,sanitizeItemId,sortByField,sortByRequired}from"../../utils";import{CallbackModel}from"./Callback";import{FieldModel}from"./Field";import{RequestBodyModel}from"./RequestBody";import{ResponseModel}from"./Response";export function isPayloadSample(e){return"payload"===e.lang&&e.requestBodyContent}var isCodeSamplesWarningPrinted=!1,OperationModel=function(){function e(e,t,r,i,o){var a,n;void 0===o&&(o=!1),Object.defineProperty(this,"parser",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"operationDefinition",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"absoluteIdx",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"description",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:"operation"}),Object.defineProperty(this,"parent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"externalDocs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"items",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"depth",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ready",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"active",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"expanded",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"activeMimeName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"activeExampleName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"defaultExampleName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pointer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"operationId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"httpVerb",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"deprecated",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"path",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"servers",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"security",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"extensions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isCallback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isWebhook",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isEvent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),makeObservable(this),this.pointer=t.pointer,this.description=t.description,this.parent=r,this.externalDocs=t.externalDocs,this.deprecated=!!t.deprecated,this.httpVerb=t.httpVerb,this.deprecated=!!t.deprecated,this.operationId=t.operationId,this.path=t.pathName,this.isCallback=o,this.isWebhook=t.isWebhook,this.isEvent=this.isCallback||this.isWebhook,this.name=getOperationSummary(t),this.defaultExampleName=t.defaultSampleName;var l=((null===(n=null===(a=this.requestBody)||void 0===a?void 0:a.content)||void 0===n?void 0:n.mediaTypes)||[])[0],s=Object.keys((null==l?void 0:l.examples)||[])[0];this.activeExampleName=t.defaultSampleName||s,this.isCallback?(this.security=(t.security||[]).map((function(t){return new SecurityRequirementModel(t,e)})),this.servers=normalizeServers("",t.servers||t.pathServers||[])):(this.id=sanitizeItemId(void 0!==t.operationId?"operation/"+t.operationId:void 0!==r?r.id+this.pointer:this.pointer),this.security=(t.security||e.definition.security||[]).map((function(t){return new SecurityRequirementModel(t,e)})),this.servers=normalizeServers(e.definitionUrl,t.servers||t.pathServers||e.definition.servers||[])),i.showExtensions&&(this.extensions=extractExtensions(t,i.showExtensions))}return Object.defineProperty(e.prototype,"activate",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.active=!0}}),Object.defineProperty(e.prototype,"deactivate",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.active=!1}}),Object.defineProperty(e.prototype,"toggle",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.expanded=!this.expanded}}),Object.defineProperty(e.prototype,"activateMimeName",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.activeMimeName=e}}),Object.defineProperty(e.prototype,"activateExampleName",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.activeExampleName=e}}),Object.defineProperty(e.prototype,"expand",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.parent&&this.parent.expand()}}),Object.defineProperty(e.prototype,"collapse",{enumerable:!1,configurable:!0,writable:!0,value:function(){}}),Object.defineProperty(e.prototype,"requestBody",{get:function(){return this.operationDefinition.requestBody&&new RequestBodyModel({parser:this.parser,infoOrRef:this.operationDefinition.requestBody,options:this.options,operation:this,isEvent:this.isEvent})},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"codeSamples",{get:function(){var e=this.operationDefinition["x-codeSamples"]||this.operationDefinition["x-code-samples"]||[];this.operationDefinition["x-code-samples"]&&!isCodeSamplesWarningPrinted&&(isCodeSamplesWarningPrinted=!0,console.warn('"x-code-samples" is deprecated. Use "x-codeSamples" instead'));var t=this.requestBody&&this.requestBody.content;if(t&&t.hasSample){var r=Math.min(e.length,this.options.payloadSampleIdx);e=__spreadArray(__spreadArray(__spreadArray([],e.slice(0,r),!0),[{lang:"payload",label:"Payload",source:"",requestBodyContent:t}],!1),e.slice(r),!0)}return e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"parameters",{get:function(){var e=this,t=mergeParams(this.parser,this.operationDefinition.pathParameters,this.operationDefinition.parameters).map((function(t){return new FieldModel(e.parser,t,e.pointer,e.options,void 0,{operation:e,type:"request"})}));return this.options.sortPropsAlphabetically?sortByField(t,"name"):this.options.requiredPropsFirst?sortByRequired(t):t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"responses",{get:function(){var e=this,t=!1;return Object.keys(this.operationDefinition.responses||[]).filter((function(e){return"default"===e||("success"===getStatusCodeType(e)&&(t=!0),isStatusCode(e))})).map((function(r){return new ResponseModel({parser:e.parser,code:r,defaultAsError:t,infoOrRef:e.operationDefinition.responses[r],options:e.options,isEvent:e.isEvent,operation:e})}))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"callbacks",{get:function(){var e=this;return Object.keys(this.operationDefinition.callbacks||[]).map((function(t){return new CallbackModel(e.parser,t,e.operationDefinition.callbacks[t],e.pointer,e.options)}))},enumerable:!1,configurable:!0}),__decorate([observable],e.prototype,"ready",void 0),__decorate([observable],e.prototype,"active",void 0),__decorate([observable],e.prototype,"expanded",void 0),__decorate([observable],e.prototype,"activeMimeName",void 0),__decorate([observable],e.prototype,"activeExampleName",void 0),__decorate([action],e.prototype,"activate",null),__decorate([action],e.prototype,"deactivate",null),__decorate([action],e.prototype,"toggle",null),__decorate([action],e.prototype,"activateMimeName",null),__decorate([action],e.prototype,"activateExampleName",null),__decorate([memoize],e.prototype,"requestBody",null),__decorate([memoize],e.prototype,"codeSamples",null),__decorate([memoize],e.prototype,"parameters",null),__decorate([memoize],e.prototype,"responses",null),__decorate([memoize],e.prototype,"callbacks",null),e}();export{OperationModel};
2
2
  //# sourceMappingURL=Operation.js.map
@@ -2,11 +2,6 @@ import * as styledComponents from 'styled-components';
2
2
  import { ResolvedThemeInterface, MediaValue } from './theme';
3
3
  export { ResolvedThemeInterface, MediaValue };
4
4
  declare const styled: styledComponents.ThemedStyledInterface<ResolvedThemeInterface>, css: styledComponents.ThemedCssFunction<ResolvedThemeInterface>, createGlobalStyle: <P extends object = {}>(first: TemplateStringsArray | styledComponents.CSSObject | styledComponents.InterpolationFunction<styledComponents.ThemedStyledProps<P, ResolvedThemeInterface>>, ...interpolations: styledComponents.Interpolation<styledComponents.ThemedStyledProps<P, ResolvedThemeInterface>>[]) => styledComponents.GlobalStyleComponent<P, ResolvedThemeInterface>, keyframes: (strings: TemplateStringsArray | styledComponents.CSSKeyframes, ...interpolations: styledComponents.SimpleInterpolation[]) => styledComponents.Keyframes, ThemeProvider: styledComponents.ThemeProviderComponent<ResolvedThemeInterface, ResolvedThemeInterface>;
5
- export declare const media: {
6
- lessThan(breakpoint: any, print?: boolean | undefined, extra?: string | undefined): (...args: any[]) => styledComponents.FlattenInterpolation<styledComponents.ThemeProps<ResolvedThemeInterface>>;
7
- greaterThan(breakpoint: any): (...args: any[]) => styledComponents.FlattenInterpolation<styledComponents.ThemeProps<ResolvedThemeInterface>>;
8
- between(firstBreakpoint: any, secondBreakpoint: any): (...args: any[]) => styledComponents.FlattenInterpolation<styledComponents.ThemeProps<ResolvedThemeInterface>>;
9
- };
10
5
  export { css, createGlobalStyle, keyframes, ThemeProvider };
11
6
  export default styled;
12
7
  export declare function extensionsHook(styledName: string): (props: any) => any;
@@ -1,2 +1,2 @@
1
- import{__makeTemplateObject}from"tslib";import*as styledComponents from"styled-components";var templateObject_1,templateObject_2,templateObject_3,_a=styledComponents,styled=_a.default,css=_a.css,createGlobalStyle=_a.createGlobalStyle,keyframes=_a.keyframes,ThemeProvider=_a.ThemeProvider;export var media={lessThan:function(e,t,n){return function(){for(var a=[],r=0;r<arguments.length;r++)a[r]=arguments[r];return css(templateObject_1||(templateObject_1=__makeTemplateObject(["\n @media "," screen and (max-width: ",") "," {\n ",";\n }\n "],["\n @media "," screen and (max-width: ",") "," {\n ",";\n }\n "])),t?"print, ":"",(function(t){return t.theme.breakpoints[e]}),n||"",css.apply(void 0,a))}},greaterThan:function(e){return function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return css(templateObject_2||(templateObject_2=__makeTemplateObject(["\n @media (min-width: ",") {\n ",";\n }\n "],["\n @media (min-width: ",") {\n ",";\n }\n "])),(function(t){return t.theme.breakpoints[e]}),css.apply(void 0,t))}},between:function(e,t){return function(){for(var n=[],a=0;a<arguments.length;a++)n[a]=arguments[a];return css(templateObject_3||(templateObject_3=__makeTemplateObject(["\n @media (min-width: ",") and (max-width: ",") {\n ",";\n }\n "],["\n @media (min-width: ",") and (max-width: ",") {\n ",";\n }\n "])),(function(t){return t.theme.breakpoints[e]}),(function(e){return e.theme.breakpoints[t]}),css.apply(void 0,n))}}};export{css,createGlobalStyle,keyframes,ThemeProvider};export default styled;export function extensionsHook(e){return function(t){if(t.theme.extensionsHook)return t.theme.extensionsHook(e,t)}}export{mediaCSS,mediaMap,ZERO_BREAKPOINT}from"./utils/media-css";
1
+ import*as styledComponents from"styled-components";var _a=styledComponents,styled=_a.default,css=_a.css,createGlobalStyle=_a.createGlobalStyle,keyframes=_a.keyframes,ThemeProvider=_a.ThemeProvider;export{css,createGlobalStyle,keyframes,ThemeProvider};export default styled;export function extensionsHook(e){return function(t){if(t.theme.extensionsHook)return t.theme.extensionsHook(e,t)}}export{mediaCSS,mediaMap,ZERO_BREAKPOINT}from"./utils/media-css";
2
2
  //# sourceMappingURL=styled-components.js.map
@@ -57,7 +57,7 @@ export declare class ProMenu {
57
57
  */
58
58
  get activeItem(): IMenuItem;
59
59
  getItemById: (id: string) => (Omit<IMenuItem, "type"> & {
60
- type: MenuItemType | "spec";
60
+ type: "spec" | MenuItemType;
61
61
  linkable?: boolean | undefined;
62
62
  } & IMenuItem) | undefined;
63
63
  /**
@@ -1,2 +1,2 @@
1
- var _a;import{__assign,__awaiter,__decorate,__generator}from"tslib";import{action,makeObservable,observable,observe}from"mobx";import{bundle,Config}from"@redocly/openapi-core";import{debounce}from"lodash";import{IS_BROWSER,MarkerService,RedocNormalizedOptions,ScrollService,SecurityDefs,SpecStore,SECURITY_DEFINITIONS_COMPONENT_NAME,SECURITY_DEFINITIONS_JSX_NAME,SCHEMA_DEFINITION_JSX_NAME,SchemaDefinition,createParsedDocument}from"../redoc-lib";import{FakeHistoryService,ProHashHistoryService,PushStateHistoryService}from"./history";import{ProMenu}from"./ProMenu";import{DeepSearchStore,RemoteSearch,SEARCH_MAX_DEPTH}from"./SearchStore";import{extendTheme}from"./extendTheme";import{RedocResponse,PullRight}from"../components/pluggable";import{MultipleSpecsStore}from"./MultipleSpecsStore";import{VersionedSpecStore}from"./VersionedSpecStore";import parseToken from"./check";import{normalizePath}from"./utils";import{getCodeSample}from"./code-samples/";import{fromStorage,toStorage,toLocalStorage,fromLocalStorage,setGlobalStore}from"../utils";import{LayoutVariant}from"./store-types";var global="undefined"==typeof window?{__REDOCLY_SEARCH_URL:void 0}:window,NestingGroup=function(){function e(e,t,i,o){var n=this;Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"absoluteIdx",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"description",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"linkable",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"items",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"parent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"externalDocs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"active",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"expanded",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"depth",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"level",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),makeObservable(this),this.id="section/"+e,this.type="nesting-group",this.name=i||"",this.level=1,this.depth=1,this.description="",this.parent=void 0,this.expanded=!1,this.items=t,this.linkable=!!o,t.forEach((function(e){return e.parent=n})),increaseDepthDeep(t)}return Object.defineProperty(e.prototype,"activate",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.active=!0}}),Object.defineProperty(e.prototype,"expand",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.expanded=!0,this.parent&&this.parent.expand()}}),Object.defineProperty(e.prototype,"collapse",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.expanded=!1}}),Object.defineProperty(e.prototype,"deactivate",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.active=!1}}),__decorate([observable],e.prototype,"active",void 0),__decorate([observable],e.prototype,"expanded",void 0),__decorate([action],e.prototype,"activate",null),__decorate([action],e.prototype,"expand",null),__decorate([action],e.prototype,"collapse",null),__decorate([action],e.prototype,"deactivate",null),e}();export{NestingGroup};function increaseDepthDeep(e){Array.isArray(e)&&e.forEach((function(e){e.depth++,e.parent&&"group"===e.parent.type&&(e.depth=e.parent.depth),increaseDepthDeep(e.items)}))}var ProStore=function(){function e(e,t,i,o){var n=this;void 0===i&&(i={}),void 0===o&&(o=!0),Object.defineProperty(this,"rawOptions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"menu",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"definition",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"marker",{enumerable:!0,configurable:!0,writable:!0,value:new MarkerService}),Object.defineProperty(this,"scroll",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"disposer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"search",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tryItOperation",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"showRightPanel",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"layout",{enumerable:!0,configurable:!0,writable:!0,value:LayoutVariant.THREE_PANEL}),Object.defineProperty(this,"activeSampleLanguage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isLoading",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"dereferencedRawSpec",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"prevDerefKey",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"l",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"activateSampleLanguage",{enumerable:!0,configurable:!0,writable:!0,value:debounce((function(e){return n.setActiveSampleLanguage(e)}),500)}),makeObservable(this),this.initProOptions(i),IS_BROWSER&&(this.l=parseToken(i.licenseKey),this.l.then((function(e){e.valid&&e.allowed&&!e.expired||e.local||(n.menu.items=[],n.menu.flatItems=n.menu.flatItems.slice(0,1),n.menu.renderItems=[])})));var r=Array.isArray(e),a=e&&Array.isArray(e.versions),s=this.options.disableSidebar?new FakeHistoryService(this.options):"browser"===this.options.routingStrategy?new PushStateHistoryService(this.options,r||a):new ProHashHistoryService(this.options,r||a);this.definition=r?new MultipleSpecsStore(e,this.options):a?new VersionedSpecStore(e,this.options,s.currentId.split("/")[0]):new SpecStore(e,t,this.options),i.downloadSpecUrl&&(this.definition.info.downloadLink=i.downloadSpecUrl,this.definition.info.downloadFileName=""),this.scroll=new ScrollService(this.options),this.options.disableSidebar||ProMenu.updateOnHistory(s.currentId,this.scroll),this.menu=new ProMenu(this.definition,this.scroll,this.options,s),this.menu.initOnHistory(),this.options.disableSearch||this.options.disableSidebar||this.initSearch(this.options,o),this.disposer=observe(this.menu,"none"===this.options.pagination?"activeItemIdx":"activeRenderItemIdx",(function(e){setTimeout((function(){return n.updateMarkOnMenu(e.newValue)}))})),setGlobalStore(this)}return Object.defineProperty(e.prototype,"initProOptions",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t,i,o,n,r,a=this,s=(e=deepClone(e)).generateCodeSamples||{languages:[]};e.unstable_externalCodeSamples=null==s?void 0:s.languages.map((function(e){return{lang:e.lang,label:e.label,get:function(t){var i=t.operation,o=t.exampleName;return getCodeSample({lang:e.lang,operation:i,exampleName:o,options:__assign(__assign({},e.options),{skipOptionalParameters:s.skipOptionalParameters,withOAuth2Call:s.withOAuth2Call,spec:a.definition.parser.definition,generatedPayloadSamplesMaxDepth:a.options.generatedPayloadSamplesMaxDepth})})}}})),this.rawOptions=extendTheme(e),this.options=new RedocNormalizedOptions(this.rawOptions,DEFAULT_OPTIONS),this.options.showConsole=null===(t=this.rawOptions.showConsole)||void 0===t||t,this.options.hideRightPanel=null!==(i=this.rawOptions.hideRightPanel)&&void 0!==i&&i,this.showRightPanel=!this.options.hideRightPanel,this.options.showRightPanelToggle=null===(o=this.rawOptions.showRightPanelToggle)||void 0===o||o,this.options.showChangeLayoutButton=null===(n=this.rawOptions.showChangeLayoutButton)||void 0===n||n,this.options.layout=this.rawOptions.layout||LayoutVariant.THREE_PANEL,this.options.defaultSampleLanguage=this.rawOptions.defaultSampleLanguage||"",this.options.deepLinkSeparator=this.rawOptions.deepLinkSeparator||"/",this.options.deepLinkPrefix=this.rawOptions.deepLinkPrefix||"!",this.options.disableDeepLinks=this.rawOptions.disableDeepLinks||!1,this.options.sideNavStyle=this.rawOptions.sideNavStyle||"summary-only",this.options.whiteLabel=!!this.rawOptions.whiteLabel,this.options.hideLogo=!!this.rawOptions.hideLogo,this.options.hideInfoSection=!!this.rawOptions.hideInfoSection,this.options.oAuth2RedirectURI=this.rawOptions.oAuth2RedirectURI||null,this.options.oAuth2RedirectURI=this.rawOptions.oAuth2RedirectURI||null,this.options.events=this.rawOptions.events||{},this.options.corsProxyUrl=this.rawOptions.corsProxyUrl?addTrailingSlash(this.rawOptions.corsProxyUrl):null,this.options.authCorsProxyUrl=this.rawOptions.authCorsProxyUrl?addTrailingSlash(this.rawOptions.authCorsProxyUrl):null,this.options.theme.scrollYOffset=this.options.scrollYOffset,this.options.linkForId=this.rawOptions.linkForId||null,this.options.generateDeepLink=this.rawOptions.generateDeepLink||null,this.options.onDeepLinkClick=this.rawOptions.onDeepLinkClick||null,this.options.requestInterceptor=this.rawOptions.requestInterceptor||null,this.options.sidebarLinks=this.rawOptions.sidebarLinks||{};var l="object"==typeof this.rawOptions.layout?this.rawOptions.layout:null;if(this.options.pagination=this.rawOptions.pagination||"none",this.options.routingStrategy="none"===this.options.pagination?"hash":"browser",!(null===(r=this.rawOptions)||void 0===r?void 0:r.pagination)&&(null==l?void 0:l.scope))switch(console.warn('"layout.scope" and "routingStrategy" settings are deprecated. Please, use "pagination" instead.'),null==l?void 0:l.scope){case"all":this.options.pagination="none",this.options.routingStrategy="hash";break;case"section":this.options.pagination="section",this.options.routingStrategy="browser";break;case"item":this.options.pagination="item",this.options.routingStrategy="browser";break;default:this.options.pagination="none",this.options.routingStrategy="hash"}this.options.markdownItemsPagination="none",!1!==this.rawOptions.showNextButton&&(this.options.showNextButton=!0),this.options.disableSidebar=!!e.disableSidebar,this.options.disableSidebar&&(this.options.theme.sidebar.width="0px"),this.options.skipBundleAndConvert=!!e.skipBundleAndConvert,this.options.routingBasePath=e.routingBasePath&&normalizePath(e.routingBasePath)||"",this.options.searchAutoExpand=!1!==e.searchAutoExpand,this.options.searchMode=e.searchMode||"default",this.options.ctrlFHijack=void 0===e.ctrlFHijack||e.ctrlFHijack,this.options.disablePaginationLoadingAnimation=!!e.disablePaginationLoadingAnimation||"none"===this.options.pagination,this.options.showConsole}}),Object.defineProperty(e.prototype,"initSearch",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var i=this;global.__REDOCLY_SEARCH_URL?this.search=new RemoteSearch(global.__REDOCLY_SEARCH_URL):this.search=new DeepSearchStore(e),t&&setTimeout((function(){return i.search.indexItems(i.menu.items)}),50),this.definition instanceof VersionedSpecStore&&observe(this.definition,"activeVersionIdx",(function(t){var o,n,r=i.definition;null===(o=i.search)||void 0===o||o.dispose(),i.search=new DeepSearchStore(e);var a=r.versions[t.newValue]._searchIndexName;if(IS_BROWSER&&a){var s=r.versions[t.newValue]._searchIndexName,l=new URL(window.location.href);l.pathname=joinURLs(i.options.routingBasePath,s),null===(n=i.search)||void 0===n||n.fromExternalJS(l.toString(),__redoc_state.searchIndexExport),i.observeAllAndRemark()}else setTimeout((function(){var e;null===(e=i.search)||void 0===e||e.indexItems(i.menu.items)}),0)})),IS_BROWSER&&this.observeAllAndRemark()}}),Object.defineProperty(e.prototype,"onDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){if(this.menu.updateOnHistory(),this.updateMarkOnMenu(this.menu.activeItemIdx),this.layout=fromLocalStorage("layoutVariant")||this.options.layout||this.layout,this.activeSampleLanguage=fromLocalStorage("activeSampleLanguage")||this.options.defaultSampleLanguage,this.options.showRightPanelToggle){var e=fromStorage("showRightPanelToggleState");e&&(this.showRightPanel="true"===e)}}}),Object.defineProperty(e.prototype,"toggleRightPanel",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.showRightPanel=null!=e?e:!this.showRightPanel,toStorage("showRightPanelToggleState",JSON.stringify(this.showRightPanel))}}),Object.defineProperty(e.prototype,"toggleLayout",{enumerable:!1,configurable:!0,writable:!0,value:function(e){void 0===e&&(e=LayoutVariant.THREE_PANEL),this.layout=e,toLocalStorage("layoutVariant",e)}}),Object.defineProperty(e.prototype,"disableConsole",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.options.showConsole=!1}}),Object.defineProperty(e.prototype,"enableConsole",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.options.showConsole=!0}}),Object.defineProperty(e.prototype,"tryItOut",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.tryItOperation=e}}),Object.defineProperty(e.prototype,"setActiveSampleLanguage",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(this.activeSampleLanguage===e)return this.stopLoader();this.activeSampleLanguage=e,toLocalStorage("activeSampleLanguage",e)}}),Object.defineProperty(e.prototype,"startLoader",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.isLoading||(this.isLoading=!0)}}),Object.defineProperty(e.prototype,"stopLoader",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.isLoading&&(this.isLoading=!1)}}),Object.defineProperty(e.prototype,"dereferenceSpecForTryIt",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var i,o,n,r;return __awaiter(this,void 0,void 0,(function(){var a,s,l,p,u,c,h,d;return __generator(this,(function(b){switch(b.label){case 0:return(a=e+"/"+t.path+"/"+t.httpVerb)===this.prevDerefKey?[2,this.dereferencedRawSpec]:(this.dereferencedRawSpec=void 0,this.prevDerefKey=a,s=void 0!==e&&this.definition.specs?this.definition.specs[e].parser.definition:this.definition.parser.definition,l=JSON.parse(JSON.stringify(s)),p=__assign(__assign({},getSpecVersionObj(l)),{components:l.components,paths:(h={},h[t.path]=(d={},d[t.httpVerb]=null===(o=null===(i=l.paths)||void 0===i?void 0:i[t.path])||void 0===o?void 0:o[t.httpVerb],d.parameters=null===(r=null===(n=l.paths)||void 0===n?void 0:n[t.path])||void 0===r?void 0:r.parameters,d),h)}),u=new Config({}),c=createParsedDocument(p),[4,bundle({config:u,doc:c,dereference:!0})]);case 1:return b.sent(),this.dereferencedRawSpec=l,[2,l]}}))}))}}),Object.defineProperty(e.prototype,"observeAllAndRemark",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=function(i){for(var o=0,n=i;o<n.length;o++){var r=n[o];if("operation"===r.type)for(var a=0,s=r.responses;a<s.length;a++){var l=s[a];observe(l,"expanded",(function(t){return e.remark(t)}))}else"tag"===r.type&&t(r.items||[])}};t(this.menu.renderItems),"none"!==this.options.pagination&&observe(this.menu,"renderItems",(function(){return t(e.menu.renderItems)}))}}),Object.defineProperty(e.prototype,"remark",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;e.newValue&&setTimeout((function(){return t.marker.mark()}),0)}}),Object.defineProperty(e,"fromJS",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var i=new e(t.definition.data,t.definition.url,t.options,!1);setGlobalStore(i),i.menu.activeItemIdx=void 0!==t.menu.activeItemIdx?t.menu.activeItemIdx:-1,i.definition instanceof VersionedSpecStore&&t.definition.activeVersionIdx&&(i.definition.activeVersionIdx=t.definition.activeVersionIdx||0);var o=i.menu.flatItems[i.menu.activeItemIdx];if(o&&i.menu.activate(o,!1),!i.options.disableSearch){var n=new URL(window.location.href);n.pathname=t.searchIndexPath&&t.searchIndexPath.startsWith("/")?t.searchIndexPath:n.pathname+(n.pathname.endsWith("/")?"":"/")+t.searchIndexPath,i.search.fromExternalJS(n.toString(),t.searchIndexExport)}return t.tryItOperationId&&(i.tryItOperation=i.menu.flatItems.find((function(e){return e.id===t.tryItOperationId}))),setTimeout((function(){return i.observeAllAndRemark()}),0),i}}),Object.defineProperty(e.prototype,"toJS",{enumerable:!1,configurable:!0,writable:!0,value:function(){return __awaiter(this,void 0,void 0,(function(){var e,t;return __generator(this,(function(i){switch(i.label){case 0:return t={menu:{activeItemIdx:this.menu.activeItemIdx},definition:this.definition instanceof MultipleSpecsStore||this.definition instanceof VersionedSpecStore?{url:void 0,data:this.definition.toJS()}:{url:this.definition.parser.definitionUrl,data:this.definition.parser.definition}},this.search?[4,this.search.toJS()]:[3,2];case 1:return e=i.sent(),[3,3];case 2:e=void 0,i.label=3;case 3:return[2,(t.searchIndex=e,t.options=this.rawOptions,t.tryItOperationId=this.tryItOperation&&this.tryItOperation.id||void 0,t)]}}))}))}}),Object.defineProperty(e.prototype,"dispose",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.scroll.dispose(),this.menu.dispose(),this.search&&this.search.dispose(),this.disposer()}}),Object.defineProperty(e.prototype,"updateMarkOnMenu",{enumerable:!1,configurable:!0,writable:!0,value:function(e){for(var t=Math.max(0,e),i=Math.min(this.menu.flatItems.length,t+5),o=[],n=t;n<i;n++){var r;(r=this.menu.getElementAt(n))&&(r&&o.push(r))}"item"===this.options.pagination&&(this.menu.flatItems[e]&&this.menu.flatItems[e].parent&&(r=this.menu.getElementAt(this.menu.flatItems[e].parent.absoluteIdx))&&o.push(r));this.marker.addOnly(o),this.marker.mark()}}),__decorate([observable],e.prototype,"search",void 0),__decorate([observable],e.prototype,"tryItOperation",void 0),__decorate([observable],e.prototype,"showRightPanel",void 0),__decorate([observable],e.prototype,"layout",void 0),__decorate([observable],e.prototype,"activeSampleLanguage",void 0),__decorate([observable],e.prototype,"isLoading",void 0),__decorate([action],e.prototype,"onDidMount",null),__decorate([action],e.prototype,"toggleRightPanel",null),__decorate([action],e.prototype,"toggleLayout",null),__decorate([action],e.prototype,"disableConsole",null),__decorate([action],e.prototype,"enableConsole",null),__decorate([action],e.prototype,"tryItOut",null),__decorate([action],e.prototype,"setActiveSampleLanguage",null),__decorate([action],e.prototype,"startLoader",null),__decorate([action],e.prototype,"stopLoader",null),e}();export{ProStore};var DEFAULT_OPTIONS={ignoreNamedSchemas:["java.io.ObjectStreamField"],allowedMdComponents:(_a={RedocResponse:{component:RedocResponse,propsSelector:function(e){return{store:e}}},PullRight:{component:PullRight,propsSelector:function(){return{}}}},_a[SECURITY_DEFINITIONS_COMPONENT_NAME]={component:SecurityDefs,propsSelector:function(e){return{securitySchemes:e.definition.securitySchemes}}},_a[SECURITY_DEFINITIONS_JSX_NAME]={component:SecurityDefs,propsSelector:function(e){return{securitySchemes:e.definition.securitySchemes}}},_a[SCHEMA_DEFINITION_JSX_NAME]={component:SchemaDefinition,propsSelector:function(e){return{parser:e.definition.parser,options:e.options,layout:e.layout,showRightPanel:e.showRightPanel}}},_a)};function joinURLs(e,t){return e.endsWith("/")&&(e=e.slice(0,-1)),t.startsWith("/")&&(t=t.substring(1)),e+"/"+t}function addTrailingSlash(e){return e.endsWith("/")?e:e+"/"}function getSpecVersionObj(e){return e.openapi?{openapi:e.openapi}:e.swagger?{swagger:e.swagger}:void 0}function deepClone(e){var t,i,o;if("object"!=typeof e||null===e)return e;for(o in t=Array.isArray(e)?[]:{},e)i=e[o],t[o]=deepClone(i);return t}
1
+ var _a;import{__assign,__awaiter,__decorate,__generator}from"tslib";import{action,makeObservable,observable,observe}from"mobx";import{bundle,Config}from"@redocly/openapi-core";import{debounce}from"lodash";import{IS_BROWSER,MarkerService,RedocNormalizedOptions,ScrollService,SecurityDefs,SpecStore,SECURITY_DEFINITIONS_COMPONENT_NAME,SECURITY_DEFINITIONS_JSX_NAME,SCHEMA_DEFINITION_JSX_NAME,SchemaDefinition,createParsedDocument}from"../redoc-lib";import{FakeHistoryService,ProHashHistoryService,PushStateHistoryService}from"./history";import{ProMenu}from"./ProMenu";import{DeepSearchStore,RemoteSearch,SEARCH_MAX_DEPTH}from"./SearchStore";import{extendTheme}from"./extendTheme";import{RedocResponse,PullRight}from"../components/pluggable";import{MultipleSpecsStore}from"./MultipleSpecsStore";import{VersionedSpecStore}from"./VersionedSpecStore";import parseToken from"./check";import{normalizePath}from"./utils";import{getCodeSample}from"./code-samples/";import{fromStorage,toStorage,toLocalStorage,fromLocalStorage,setGlobalStore}from"../utils";import{LayoutVariant}from"./store-types";var global="undefined"==typeof window?{__REDOCLY_SEARCH_URL:void 0}:window,NestingGroup=function(){function e(e,t,i,o){var n=this;Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"absoluteIdx",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"description",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"linkable",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"items",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"parent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"externalDocs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"active",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"expanded",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"depth",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"level",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),makeObservable(this),this.id="section/"+e,this.type="nesting-group",this.name=i||"",this.level=1,this.depth=1,this.description="",this.parent=void 0,this.expanded=!1,this.items=t,this.linkable=!!o,t.forEach((function(e){return e.parent=n})),increaseDepthDeep(t)}return Object.defineProperty(e.prototype,"activate",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.active=!0}}),Object.defineProperty(e.prototype,"expand",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.expanded=!0,this.parent&&this.parent.expand()}}),Object.defineProperty(e.prototype,"collapse",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.expanded=!1}}),Object.defineProperty(e.prototype,"deactivate",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.active=!1}}),__decorate([observable],e.prototype,"active",void 0),__decorate([observable],e.prototype,"expanded",void 0),__decorate([action],e.prototype,"activate",null),__decorate([action],e.prototype,"expand",null),__decorate([action],e.prototype,"collapse",null),__decorate([action],e.prototype,"deactivate",null),e}();export{NestingGroup};function increaseDepthDeep(e){Array.isArray(e)&&e.forEach((function(e){e.depth++,e.parent&&"group"===e.parent.type&&(e.depth=e.parent.depth),increaseDepthDeep(e.items)}))}var ProStore=function(){function e(e,t,i,o){var n=this;void 0===i&&(i={}),void 0===o&&(o=!0),Object.defineProperty(this,"rawOptions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"menu",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"definition",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"marker",{enumerable:!0,configurable:!0,writable:!0,value:new MarkerService}),Object.defineProperty(this,"scroll",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"disposer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"search",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tryItOperation",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"showRightPanel",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"layout",{enumerable:!0,configurable:!0,writable:!0,value:LayoutVariant.THREE_PANEL}),Object.defineProperty(this,"activeSampleLanguage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isLoading",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"dereferencedRawSpec",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"prevDerefKey",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"l",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"activateSampleLanguage",{enumerable:!0,configurable:!0,writable:!0,value:debounce((function(e){return n.setActiveSampleLanguage(e)}),500)}),makeObservable(this),this.initProOptions(i),IS_BROWSER&&(this.l=parseToken(i.licenseKey),this.l.then((function(e){e.valid&&e.allowed&&!e.expired||e.local||(n.menu.items=[],n.menu.flatItems=n.menu.flatItems.slice(0,1),n.menu.renderItems=[])})));var r=Array.isArray(e),a=e&&Array.isArray(e.versions),s=this.options.disableSidebar?new FakeHistoryService(this.options):"browser"===this.options.routingStrategy?new PushStateHistoryService(this.options,r||a):new ProHashHistoryService(this.options,r||a);this.definition=r?new MultipleSpecsStore(e,this.options):a?new VersionedSpecStore(e,this.options,s.currentId.split("/")[0]):new SpecStore(e,t,this.options),i.downloadSpecUrl&&(this.definition.info.downloadLink=i.downloadSpecUrl,this.definition.info.downloadFileName=""),this.scroll=new ScrollService(this.options),this.options.disableSidebar||ProMenu.updateOnHistory(s.currentId,this.scroll),this.menu=new ProMenu(this.definition,this.scroll,this.options,s),this.menu.initOnHistory(),this.options.disableSearch||this.options.disableSidebar||this.initSearch(this.options,o),this.disposer=observe(this.menu,"none"===this.options.pagination?"activeItemIdx":"activeRenderItemIdx",(function(e){setTimeout((function(){return n.updateMarkOnMenu(e.newValue)}))})),setGlobalStore(this)}return Object.defineProperty(e.prototype,"initProOptions",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t,i,o,n,r,a=this,s=(e=deepClone(e)).generateCodeSamples||{languages:[]};e.unstable_externalCodeSamples=null==s?void 0:s.languages.map((function(e){return{lang:e.lang,label:e.label,get:function(t){var i=t.operation,o=t.exampleName,n=t.pathParams,r=t.properties;return getCodeSample({lang:e.lang,operation:i,exampleName:o,pathParams:n,properties:r,options:__assign(__assign({},e.options),{skipOptionalParameters:s.skipOptionalParameters,withOAuth2Call:s.withOAuth2Call,spec:a.definition.parser.definition,generatedPayloadSamplesMaxDepth:a.options.generatedPayloadSamplesMaxDepth})})}}})),this.rawOptions=extendTheme(e),this.options=new RedocNormalizedOptions(this.rawOptions,DEFAULT_OPTIONS),this.options.showConsole=null===(t=this.rawOptions.showConsole)||void 0===t||t,this.options.hideRightPanel=null!==(i=this.rawOptions.hideRightPanel)&&void 0!==i&&i,this.showRightPanel=!this.options.hideRightPanel,this.options.showRightPanelToggle=null===(o=this.rawOptions.showRightPanelToggle)||void 0===o||o,this.options.showChangeLayoutButton=null===(n=this.rawOptions.showChangeLayoutButton)||void 0===n||n,this.options.layout=this.rawOptions.layout||LayoutVariant.THREE_PANEL,this.options.defaultSampleLanguage=this.rawOptions.defaultSampleLanguage||"",this.options.deepLinkSeparator=this.rawOptions.deepLinkSeparator||"/",this.options.deepLinkPrefix=this.rawOptions.deepLinkPrefix||"!",this.options.disableDeepLinks=this.rawOptions.disableDeepLinks||!1,this.options.sideNavStyle=this.rawOptions.sideNavStyle||"summary-only",this.options.whiteLabel=!!this.rawOptions.whiteLabel,this.options.hideLogo=!!this.rawOptions.hideLogo,this.options.hideInfoSection=!!this.rawOptions.hideInfoSection,this.options.oAuth2RedirectURI=this.rawOptions.oAuth2RedirectURI||null,this.options.oAuth2RedirectURI=this.rawOptions.oAuth2RedirectURI||null,this.options.events=this.rawOptions.events||{},this.options.corsProxyUrl=this.rawOptions.corsProxyUrl?addTrailingSlash(this.rawOptions.corsProxyUrl):null,this.options.authCorsProxyUrl=this.rawOptions.authCorsProxyUrl?addTrailingSlash(this.rawOptions.authCorsProxyUrl):null,this.options.theme.scrollYOffset=this.options.scrollYOffset,this.options.linkForId=this.rawOptions.linkForId||null,this.options.generateDeepLink=this.rawOptions.generateDeepLink||null,this.options.onDeepLinkClick=this.rawOptions.onDeepLinkClick||null,this.options.requestInterceptor=this.rawOptions.requestInterceptor||null,this.options.sidebarLinks=this.rawOptions.sidebarLinks||{};var l="object"==typeof this.rawOptions.layout?this.rawOptions.layout:null;if(this.options.pagination=this.rawOptions.pagination||"none",this.options.routingStrategy="none"===this.options.pagination?"hash":"browser",!(null===(r=this.rawOptions)||void 0===r?void 0:r.pagination)&&(null==l?void 0:l.scope))switch(console.warn('"layout.scope" and "routingStrategy" settings are deprecated. Please, use "pagination" instead.'),null==l?void 0:l.scope){case"all":this.options.pagination="none",this.options.routingStrategy="hash";break;case"section":this.options.pagination="section",this.options.routingStrategy="browser";break;case"item":this.options.pagination="item",this.options.routingStrategy="browser";break;default:this.options.pagination="none",this.options.routingStrategy="hash"}this.options.markdownItemsPagination="none",!1!==this.rawOptions.showNextButton&&(this.options.showNextButton=!0),this.options.disableSidebar=!!e.disableSidebar,this.options.disableSidebar&&(this.options.theme.sidebar.width="0px"),this.options.skipBundleAndConvert=!!e.skipBundleAndConvert,this.options.routingBasePath=e.routingBasePath&&normalizePath(e.routingBasePath)||"",this.options.searchAutoExpand=!1!==e.searchAutoExpand,this.options.searchMode=e.searchMode||"default",this.options.ctrlFHijack=void 0===e.ctrlFHijack||e.ctrlFHijack,this.options.disablePaginationLoadingAnimation=!!e.disablePaginationLoadingAnimation||"none"===this.options.pagination,this.options.showConsole}}),Object.defineProperty(e.prototype,"initSearch",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var i=this;global.__REDOCLY_SEARCH_URL?this.search=new RemoteSearch(global.__REDOCLY_SEARCH_URL):this.search=new DeepSearchStore(e),t&&setTimeout((function(){return i.search.indexItems(i.menu.items)}),50),this.definition instanceof VersionedSpecStore&&observe(this.definition,"activeVersionIdx",(function(t){var o,n,r=i.definition;null===(o=i.search)||void 0===o||o.dispose(),i.search=new DeepSearchStore(e);var a=r.versions[t.newValue]._searchIndexName;if(IS_BROWSER&&a){var s=r.versions[t.newValue]._searchIndexName,l=new URL(window.location.href);l.pathname=joinURLs(i.options.routingBasePath,s),null===(n=i.search)||void 0===n||n.fromExternalJS(l.toString(),__redoc_state.searchIndexExport),i.observeAllAndRemark()}else setTimeout((function(){var e;null===(e=i.search)||void 0===e||e.indexItems(i.menu.items)}),0)})),IS_BROWSER&&this.observeAllAndRemark()}}),Object.defineProperty(e.prototype,"onDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){if(this.menu.updateOnHistory(),this.updateMarkOnMenu(this.menu.activeItemIdx),this.layout=fromLocalStorage("layoutVariant")||this.options.layout||this.layout,this.activeSampleLanguage=fromLocalStorage("activeSampleLanguage")||this.options.defaultSampleLanguage,this.options.showRightPanelToggle){var e=fromStorage("showRightPanelToggleState");e&&(this.showRightPanel="true"===e)}}}),Object.defineProperty(e.prototype,"toggleRightPanel",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.showRightPanel=null!=e?e:!this.showRightPanel,toStorage("showRightPanelToggleState",JSON.stringify(this.showRightPanel))}}),Object.defineProperty(e.prototype,"toggleLayout",{enumerable:!1,configurable:!0,writable:!0,value:function(e){void 0===e&&(e=LayoutVariant.THREE_PANEL),this.layout=e,toLocalStorage("layoutVariant",e)}}),Object.defineProperty(e.prototype,"disableConsole",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.options.showConsole=!1}}),Object.defineProperty(e.prototype,"enableConsole",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.options.showConsole=!0}}),Object.defineProperty(e.prototype,"tryItOut",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.tryItOperation=e}}),Object.defineProperty(e.prototype,"setActiveSampleLanguage",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(this.activeSampleLanguage===e)return this.stopLoader();this.activeSampleLanguage=e,toLocalStorage("activeSampleLanguage",e)}}),Object.defineProperty(e.prototype,"startLoader",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.isLoading||(this.isLoading=!0)}}),Object.defineProperty(e.prototype,"stopLoader",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.isLoading&&(this.isLoading=!1)}}),Object.defineProperty(e.prototype,"dereferenceSpecForTryIt",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var i,o,n,r;return __awaiter(this,void 0,void 0,(function(){var a,s,l,p,u,c,h,d;return __generator(this,(function(b){switch(b.label){case 0:return(a=e+"/"+t.path+"/"+t.httpVerb)===this.prevDerefKey?[2,this.dereferencedRawSpec]:(this.dereferencedRawSpec=void 0,this.prevDerefKey=a,s=void 0!==e&&this.definition.specs?this.definition.specs[e].parser.definition:this.definition.parser.definition,l=JSON.parse(JSON.stringify(s)),p=__assign(__assign({},getSpecVersionObj(l)),{components:l.components,paths:(h={},h[t.path]=(d={},d[t.httpVerb]=null===(o=null===(i=l.paths)||void 0===i?void 0:i[t.path])||void 0===o?void 0:o[t.httpVerb],d.parameters=null===(r=null===(n=l.paths)||void 0===n?void 0:n[t.path])||void 0===r?void 0:r.parameters,d),h)}),u=new Config({}),c=createParsedDocument(p),[4,bundle({config:u,doc:c,dereference:!0})]);case 1:return b.sent(),this.dereferencedRawSpec=l,[2,l]}}))}))}}),Object.defineProperty(e.prototype,"observeAllAndRemark",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=function(i){for(var o=0,n=i;o<n.length;o++){var r=n[o];if("operation"===r.type)for(var a=0,s=r.responses;a<s.length;a++){var l=s[a];observe(l,"expanded",(function(t){return e.remark(t)}))}else"tag"===r.type&&t(r.items||[])}};t(this.menu.renderItems),"none"!==this.options.pagination&&observe(this.menu,"renderItems",(function(){return t(e.menu.renderItems)}))}}),Object.defineProperty(e.prototype,"remark",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;e.newValue&&setTimeout((function(){return t.marker.mark()}),0)}}),Object.defineProperty(e,"fromJS",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var i=new e(t.definition.data,t.definition.url,t.options,!1);setGlobalStore(i),i.menu.activeItemIdx=void 0!==t.menu.activeItemIdx?t.menu.activeItemIdx:-1,i.definition instanceof VersionedSpecStore&&t.definition.activeVersionIdx&&(i.definition.activeVersionIdx=t.definition.activeVersionIdx||0);var o=i.menu.flatItems[i.menu.activeItemIdx];if(o&&i.menu.activate(o,!1),!i.options.disableSearch){var n=new URL(window.location.href);n.pathname=t.searchIndexPath&&t.searchIndexPath.startsWith("/")?t.searchIndexPath:n.pathname+(n.pathname.endsWith("/")?"":"/")+t.searchIndexPath,i.search.fromExternalJS(n.toString(),t.searchIndexExport)}return t.tryItOperationId&&(i.tryItOperation=i.menu.flatItems.find((function(e){return e.id===t.tryItOperationId}))),setTimeout((function(){return i.observeAllAndRemark()}),0),i}}),Object.defineProperty(e.prototype,"toJS",{enumerable:!1,configurable:!0,writable:!0,value:function(){return __awaiter(this,void 0,void 0,(function(){var e,t;return __generator(this,(function(i){switch(i.label){case 0:return t={menu:{activeItemIdx:this.menu.activeItemIdx},definition:this.definition instanceof MultipleSpecsStore||this.definition instanceof VersionedSpecStore?{url:void 0,data:this.definition.toJS()}:{url:this.definition.parser.definitionUrl,data:this.definition.parser.definition}},this.search?[4,this.search.toJS()]:[3,2];case 1:return e=i.sent(),[3,3];case 2:e=void 0,i.label=3;case 3:return[2,(t.searchIndex=e,t.options=this.rawOptions,t.tryItOperationId=this.tryItOperation&&this.tryItOperation.id||void 0,t)]}}))}))}}),Object.defineProperty(e.prototype,"dispose",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.scroll.dispose(),this.menu.dispose(),this.search&&this.search.dispose(),this.disposer()}}),Object.defineProperty(e.prototype,"updateMarkOnMenu",{enumerable:!1,configurable:!0,writable:!0,value:function(e){for(var t=Math.max(0,e),i=Math.min(this.menu.flatItems.length,t+5),o=[],n=t;n<i;n++){var r;(r=this.menu.getElementAt(n))&&(r&&o.push(r))}"item"===this.options.pagination&&(this.menu.flatItems[e]&&this.menu.flatItems[e].parent&&(r=this.menu.getElementAt(this.menu.flatItems[e].parent.absoluteIdx))&&o.push(r));this.marker.addOnly(o),this.marker.mark()}}),__decorate([observable],e.prototype,"search",void 0),__decorate([observable],e.prototype,"tryItOperation",void 0),__decorate([observable],e.prototype,"showRightPanel",void 0),__decorate([observable],e.prototype,"layout",void 0),__decorate([observable],e.prototype,"activeSampleLanguage",void 0),__decorate([observable],e.prototype,"isLoading",void 0),__decorate([action],e.prototype,"onDidMount",null),__decorate([action],e.prototype,"toggleRightPanel",null),__decorate([action],e.prototype,"toggleLayout",null),__decorate([action],e.prototype,"disableConsole",null),__decorate([action],e.prototype,"enableConsole",null),__decorate([action],e.prototype,"tryItOut",null),__decorate([action],e.prototype,"setActiveSampleLanguage",null),__decorate([action],e.prototype,"startLoader",null),__decorate([action],e.prototype,"stopLoader",null),e}();export{ProStore};var DEFAULT_OPTIONS={ignoreNamedSchemas:["java.io.ObjectStreamField"],allowedMdComponents:(_a={RedocResponse:{component:RedocResponse,propsSelector:function(e){return{store:e}}},PullRight:{component:PullRight,propsSelector:function(){return{}}}},_a[SECURITY_DEFINITIONS_COMPONENT_NAME]={component:SecurityDefs,propsSelector:function(e){return{securitySchemes:e.definition.securitySchemes}}},_a[SECURITY_DEFINITIONS_JSX_NAME]={component:SecurityDefs,propsSelector:function(e){return{securitySchemes:e.definition.securitySchemes}}},_a[SCHEMA_DEFINITION_JSX_NAME]={component:SchemaDefinition,propsSelector:function(e){return{parser:e.definition.parser,options:e.options,layout:e.layout,showRightPanel:e.showRightPanel}}},_a)};function joinURLs(e,t){return e.endsWith("/")&&(e=e.slice(0,-1)),t.startsWith("/")&&(t=t.substring(1)),e+"/"+t}function addTrailingSlash(e){return e.endsWith("/")?e:e+"/"}function getSpecVersionObj(e){return e.openapi?{openapi:e.openapi}:e.swagger?{swagger:e.swagger}:void 0}function deepClone(e){var t,i,o;if("object"!=typeof e||null===e)return e;for(o in t=Array.isArray(e)?[]:{},e)i=e[o],t[o]=deepClone(i);return t}
2
2
  //# sourceMappingURL=ProStore.js.map
@@ -11,10 +11,12 @@ export declare type CustomHAR = HAR.Request & {
11
11
  [key in string]: string;
12
12
  };
13
13
  };
14
- export declare function getCodeSample({ lang, operation, exampleName, options, }: {
14
+ export declare function getCodeSample({ lang, operation, exampleName, pathParams, properties, options, }: {
15
15
  lang: Languages;
16
16
  operation: OperationModel;
17
17
  exampleName?: string;
18
+ pathParams?: GenericObject;
19
+ properties?: any;
18
20
  options?: GenericObject;
19
21
  }): string;
20
22
  export declare function isDefined<T>(arg?: T): arg is T;