@redocly/reference-docs 2.2.0-beta.circular.1 → 2.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/cli/commands/redocly-docs-cli.min.js +43 -43
- package/dist/console.redocly-reference-docs.min.js +3 -3
- package/dist/oauth2-redirect.js +2 -2
- package/dist/redocly-reference-docs.min.js +18 -18
- package/lib/components/Endpoint/Endpoint.d.ts +2 -2
- package/lib/components/Endpoint/Endpoint.js +1 -1
- package/lib/components/Endpoint/ServerList.d.ts +2 -2
- package/lib/components/Endpoint/ServerList.js +1 -1
- package/lib/components/Endpoint/Summary.d.ts +2 -2
- package/lib/components/Endpoint/Summary.js +1 -1
- package/lib/components/NextSectionButton.js +1 -1
- package/lib/components/Overlay.js +1 -1
- package/lib/components/Panel/Accordion.js +1 -1
- package/lib/components/Panel/PanelBody.d.ts +1 -1
- package/lib/components/Panel/PanelBody.js +1 -1
- package/lib/components/Panel/PanelComponent.d.ts +2 -3
- package/lib/components/Panel/PanelComponent.js +1 -1
- package/lib/components/Panel/ResponsePanel.js +1 -1
- package/lib/components/ProProviders.d.ts +3 -1
- package/lib/components/ProProviders.js +1 -1
- package/lib/components/RedoclyReferenceDocs.d.ts +3 -3
- package/lib/components/RedoclyReferenceDocs.js +1 -1
- package/lib/components/Samples/ExampleSwitch.d.ts +1 -1
- package/lib/components/Samples/ExampleSwitch.js +1 -1
- package/lib/components/Samples/SamplesTabs.js +1 -1
- package/lib/components/Search/MenuItemProSearch.d.ts +4 -4
- package/lib/components/Search/ProSearchBox.d.ts +6 -6
- package/lib/components/Search/ProSearchBox.js +1 -1
- package/lib/components/Search/SearchField.js +1 -1
- package/lib/components/Search/styled.d.ts +3 -3
- package/lib/components/StoreProvider.d.ts +4 -4
- package/lib/components/StoreProvider.js +1 -1
- package/lib/components/Tabs/CollapsingTabs/CollapsingTabsBase.js +1 -1
- package/lib/components/common/Checkbox.js +1 -1
- package/lib/components/common/FileUpload/FileUpload.d.ts +3 -6
- package/lib/components/common/FileUpload/FileUpload.js +1 -1
- package/lib/components/common/FileUpload/helper.d.ts +12 -4
- package/lib/components/common/FileUpload/helper.js +1 -1
- package/lib/components/common/TextField.d.ts +3 -3
- package/lib/components/common/TextField.js +1 -1
- package/lib/components/console/AuthPanel.d.ts +2 -0
- package/lib/components/console/AuthPanel.js +1 -1
- package/lib/components/console/Console.d.ts +9 -3
- package/lib/components/console/Console.js +1 -1
- package/lib/components/console/OAuth2Flow.d.ts +2 -0
- package/lib/components/console/OAuth2Flow.js +1 -1
- package/lib/components/console/OAuth2TokenInput.d.ts +2 -0
- package/lib/components/console/OAuth2TokenInput.js +1 -1
- package/lib/components/console/OpenIDConnect.d.ts +2 -0
- package/lib/components/console/OpenIDConnect.js +1 -1
- package/lib/components/console/OperationParameters.d.ts +1 -1
- package/lib/components/console/OperationParameters.js +1 -1
- package/lib/components/console/RequestBody.js +1 -1
- package/lib/components/console/RequestBodyForm.d.ts +7 -0
- package/lib/components/console/RequestBodyForm.js +2 -0
- package/lib/components/console/ResponsePanel.d.ts +4 -4
- package/lib/components/console/ResponsePanel.js +1 -1
- package/lib/components/console/ServerDropdown.d.ts +1 -1
- package/lib/components/console/ServerDropdown.js +1 -1
- package/lib/components/index.d.ts +1 -0
- package/lib/index.d.ts +1 -1
- package/lib/models/file-upload.d.ts +16 -0
- package/lib/models/file-upload.js +2 -0
- package/lib/models/index.d.ts +1 -0
- package/lib/models/index.js +1 -1
- package/lib/redoc-lib/src/common-elements/LinkToField.d.ts +3 -2
- package/lib/redoc-lib/src/common-elements/LinkToField.js +1 -1
- package/lib/redoc-lib/src/components/ApiLogo/ApiLogo.js +1 -1
- package/lib/redoc-lib/src/components/ApiLogo/styled.elements.d.ts +5 -2
- package/lib/redoc-lib/src/components/ApiLogo/styled.elements.js +1 -1
- package/lib/redoc-lib/src/components/CallbackSamples/CallbackReqSamples.js +1 -1
- package/lib/redoc-lib/src/components/CallbackSamples/CallbackSamples.js +1 -1
- package/lib/redoc-lib/src/components/PayloadSamples/MediaTypeSamples.js +1 -1
- package/lib/redoc-lib/src/components/PayloadSamples/PayloadSamples.d.ts +5 -7
- package/lib/redoc-lib/src/components/PayloadSamples/PayloadSamples.js +1 -1
- package/lib/redoc-lib/src/components/RequestSamples/CodeSample.d.ts +2 -1
- package/lib/redoc-lib/src/components/RequestSamples/CodeSample.js +1 -1
- package/lib/redoc-lib/src/components/RequestSamples/RequestSamples.d.ts +4 -3
- package/lib/redoc-lib/src/components/RequestSamples/RequestSamples.js +1 -1
- package/lib/redoc-lib/src/components/RequestSamples/useCodeSamples.d.ts +4 -16
- package/lib/redoc-lib/src/components/RequestSamples/useCodeSamples.js +1 -1
- package/lib/redoc-lib/src/components/ResponseSamples/ResponseSamples.js +1 -1
- package/lib/redoc-lib/src/components/SideMenu/MenuItem.js +1 -1
- package/lib/redoc-lib/src/components/SourceCode/SourceCode.d.ts +2 -9
- package/lib/redoc-lib/src/services/MenuBuilder.d.ts +1 -0
- package/lib/redoc-lib/src/services/OpenAPIParser.js +1 -1
- package/lib/redoc-lib/src/services/RedocNormalizedOptions.d.ts +8 -1
- package/lib/redoc-lib/src/services/RedocNormalizedOptions.js +1 -1
- package/lib/redoc-lib/src/services/ScrollService.js +1 -1
- package/lib/redoc-lib/src/services/models/Example.js +1 -1
- package/lib/redoc-lib/src/services/models/Field.d.ts +1 -1
- package/lib/redoc-lib/src/services/models/Operation.d.ts +7 -2
- package/lib/redoc-lib/src/services/models/Operation.js +1 -1
- package/lib/redoc-lib/src/services/models/Schema.d.ts +2 -3
- package/lib/redoc-lib/src/services/models/Schema.js +1 -1
- package/lib/redoc-lib/src/theme.d.ts +1 -0
- package/lib/redoc-lib/src/types/open-api.d.ts +2 -0
- package/lib/redoc-lib/src/utils/JsonPointer.d.ts +5 -5
- package/lib/redoc-lib/src/utils/JsonPointer.js +1 -1
- package/lib/redoc-lib/src/utils/loadAndBundleSpec.js +1 -1
- package/lib/redoc-lib/src/utils/memoize.js +1 -1
- package/lib/redoc-lib/src/utils/openapi.d.ts +0 -2
- package/lib/services/ProMenu.d.ts +2 -5
- package/lib/services/ProStore.d.ts +4 -2
- package/lib/services/ProStore.js +1 -1
- package/lib/services/SearchStore.d.ts +1 -0
- package/lib/services/SearchStore.js +1 -1
- package/lib/services/code-samples/generator.d.ts +1 -1
- package/lib/services/code-samples/generator.js +1 -1
- package/lib/services/code-samples/httpsnippet/helpers/code-helpers.d.ts +1 -1
- package/lib/services/code-samples/httpsnippet/helpers/reducer.d.ts +1 -1
- package/lib/services/code-samples/httpsnippet/targets/java8/apachehttp.d.ts +0 -1
- package/lib/services/code-samples/httpsnippet/targets/java8/apachehttp.js +1 -1
- package/lib/services/code-samples/httpsnippet/targets/php/utils.d.ts +1 -1
- package/lib/services/code-samples/httpsnippet/targets/php/utils.js +1 -1
- package/lib/services/extendTheme.d.ts +4 -4
- package/lib/services/extendTheme.js +1 -1
- package/lib/services/history/ProHashHistoryService.d.ts +1 -1
- package/lib/services/history/PushStateHistoryService.d.ts +1 -1
- package/lib/services/history/helpers.js +1 -1
- package/lib/services/utils.d.ts +2 -1
- package/lib/services/utils.js +1 -1
- package/lib/standalone.d.ts +4 -3
- package/lib/standalone.js +1 -1
- package/lib/utils.d.ts +1 -1
- package/lib-esm/components/Endpoint/Endpoint.d.ts +2 -2
- package/lib-esm/components/Endpoint/Endpoint.js +1 -1
- package/lib-esm/components/Endpoint/ServerList.d.ts +2 -2
- package/lib-esm/components/Endpoint/ServerList.js +1 -1
- package/lib-esm/components/Endpoint/Summary.d.ts +2 -2
- package/lib-esm/components/Endpoint/Summary.js +1 -1
- package/lib-esm/components/NextSectionButton.js +1 -1
- package/lib-esm/components/Overlay.js +1 -1
- package/lib-esm/components/Panel/Accordion.js +1 -1
- package/lib-esm/components/Panel/PanelBody.d.ts +1 -1
- package/lib-esm/components/Panel/PanelBody.js +1 -1
- package/lib-esm/components/Panel/PanelComponent.d.ts +2 -3
- package/lib-esm/components/Panel/PanelComponent.js +1 -1
- package/lib-esm/components/Panel/ResponsePanel.js +1 -1
- package/lib-esm/components/ProProviders.d.ts +3 -1
- package/lib-esm/components/ProProviders.js +1 -1
- package/lib-esm/components/RedoclyReferenceDocs.d.ts +3 -3
- package/lib-esm/components/RedoclyReferenceDocs.js +1 -1
- package/lib-esm/components/Samples/ExampleSwitch.d.ts +1 -1
- package/lib-esm/components/Samples/ExampleSwitch.js +1 -1
- package/lib-esm/components/Samples/SamplesTabs.js +1 -1
- package/lib-esm/components/Search/MenuItemProSearch.d.ts +4 -4
- package/lib-esm/components/Search/ProSearchBox.d.ts +6 -6
- package/lib-esm/components/Search/ProSearchBox.js +1 -1
- package/lib-esm/components/Search/SearchField.js +1 -1
- package/lib-esm/components/Search/styled.d.ts +3 -3
- package/lib-esm/components/StoreProvider.d.ts +4 -4
- package/lib-esm/components/StoreProvider.js +1 -1
- package/lib-esm/components/Tabs/CollapsingTabs/CollapsingTabsBase.js +1 -1
- package/lib-esm/components/common/Checkbox.js +1 -1
- package/lib-esm/components/common/FileUpload/FileUpload.d.ts +3 -6
- package/lib-esm/components/common/FileUpload/FileUpload.js +1 -1
- package/lib-esm/components/common/FileUpload/helper.d.ts +12 -4
- package/lib-esm/components/common/FileUpload/helper.js +1 -1
- package/lib-esm/components/common/TextField.d.ts +3 -3
- package/lib-esm/components/common/TextField.js +1 -1
- package/lib-esm/components/console/AuthPanel.d.ts +2 -0
- package/lib-esm/components/console/AuthPanel.js +1 -1
- package/lib-esm/components/console/Console.d.ts +9 -3
- package/lib-esm/components/console/Console.js +1 -1
- package/lib-esm/components/console/OAuth2Flow.d.ts +2 -0
- package/lib-esm/components/console/OAuth2Flow.js +1 -1
- package/lib-esm/components/console/OAuth2TokenInput.d.ts +2 -0
- package/lib-esm/components/console/OAuth2TokenInput.js +1 -1
- package/lib-esm/components/console/OpenIDConnect.d.ts +2 -0
- package/lib-esm/components/console/OpenIDConnect.js +1 -1
- package/lib-esm/components/console/OperationParameters.d.ts +1 -1
- package/lib-esm/components/console/OperationParameters.js +1 -1
- package/lib-esm/components/console/RequestBody.js +1 -1
- package/lib-esm/components/console/RequestBodyForm.d.ts +7 -0
- package/lib-esm/components/console/RequestBodyForm.js +2 -0
- package/lib-esm/components/console/ResponsePanel.d.ts +4 -4
- package/lib-esm/components/console/ResponsePanel.js +1 -1
- package/lib-esm/components/console/ServerDropdown.d.ts +1 -1
- package/lib-esm/components/console/ServerDropdown.js +1 -1
- package/lib-esm/components/index.d.ts +1 -0
- package/lib-esm/index.d.ts +1 -1
- package/lib-esm/models/file-upload.d.ts +16 -0
- package/lib-esm/models/file-upload.js +2 -0
- package/lib-esm/models/index.d.ts +1 -0
- package/lib-esm/models/index.js +1 -1
- package/lib-esm/redoc-lib/src/common-elements/LinkToField.d.ts +3 -2
- package/lib-esm/redoc-lib/src/common-elements/LinkToField.js +1 -1
- package/lib-esm/redoc-lib/src/components/ApiLogo/ApiLogo.js +1 -1
- package/lib-esm/redoc-lib/src/components/ApiLogo/styled.elements.d.ts +5 -2
- package/lib-esm/redoc-lib/src/components/ApiLogo/styled.elements.js +1 -1
- package/lib-esm/redoc-lib/src/components/CallbackSamples/CallbackReqSamples.js +1 -1
- package/lib-esm/redoc-lib/src/components/CallbackSamples/CallbackSamples.js +1 -1
- package/lib-esm/redoc-lib/src/components/PayloadSamples/MediaTypeSamples.js +1 -1
- package/lib-esm/redoc-lib/src/components/PayloadSamples/PayloadSamples.d.ts +5 -7
- package/lib-esm/redoc-lib/src/components/PayloadSamples/PayloadSamples.js +1 -1
- package/lib-esm/redoc-lib/src/components/RequestSamples/CodeSample.d.ts +2 -1
- package/lib-esm/redoc-lib/src/components/RequestSamples/CodeSample.js +1 -1
- package/lib-esm/redoc-lib/src/components/RequestSamples/RequestSamples.d.ts +4 -3
- package/lib-esm/redoc-lib/src/components/RequestSamples/RequestSamples.js +1 -1
- package/lib-esm/redoc-lib/src/components/RequestSamples/useCodeSamples.d.ts +4 -16
- package/lib-esm/redoc-lib/src/components/RequestSamples/useCodeSamples.js +1 -1
- package/lib-esm/redoc-lib/src/components/ResponseSamples/ResponseSamples.js +1 -1
- package/lib-esm/redoc-lib/src/components/SideMenu/MenuItem.js +1 -1
- package/lib-esm/redoc-lib/src/components/SourceCode/SourceCode.d.ts +2 -9
- package/lib-esm/redoc-lib/src/services/MenuBuilder.d.ts +1 -0
- package/lib-esm/redoc-lib/src/services/OpenAPIParser.js +1 -1
- package/lib-esm/redoc-lib/src/services/RedocNormalizedOptions.d.ts +8 -1
- package/lib-esm/redoc-lib/src/services/RedocNormalizedOptions.js +1 -1
- package/lib-esm/redoc-lib/src/services/ScrollService.js +1 -1
- package/lib-esm/redoc-lib/src/services/models/Example.js +1 -1
- package/lib-esm/redoc-lib/src/services/models/Field.d.ts +1 -1
- package/lib-esm/redoc-lib/src/services/models/Operation.d.ts +7 -2
- package/lib-esm/redoc-lib/src/services/models/Operation.js +1 -1
- package/lib-esm/redoc-lib/src/services/models/Schema.d.ts +2 -3
- package/lib-esm/redoc-lib/src/services/models/Schema.js +1 -1
- package/lib-esm/redoc-lib/src/theme.d.ts +1 -0
- package/lib-esm/redoc-lib/src/types/open-api.d.ts +2 -0
- package/lib-esm/redoc-lib/src/utils/JsonPointer.d.ts +5 -5
- package/lib-esm/redoc-lib/src/utils/JsonPointer.js +1 -1
- package/lib-esm/redoc-lib/src/utils/loadAndBundleSpec.js +1 -1
- package/lib-esm/redoc-lib/src/utils/memoize.js +1 -1
- package/lib-esm/redoc-lib/src/utils/openapi.d.ts +0 -2
- package/lib-esm/services/ProMenu.d.ts +2 -5
- package/lib-esm/services/ProStore.d.ts +4 -2
- package/lib-esm/services/ProStore.js +1 -1
- package/lib-esm/services/SearchStore.d.ts +1 -0
- package/lib-esm/services/SearchStore.js +1 -1
- package/lib-esm/services/code-samples/generator.d.ts +1 -1
- package/lib-esm/services/code-samples/generator.js +1 -1
- package/lib-esm/services/code-samples/httpsnippet/helpers/code-helpers.d.ts +1 -1
- package/lib-esm/services/code-samples/httpsnippet/helpers/reducer.d.ts +1 -1
- package/lib-esm/services/code-samples/httpsnippet/targets/java8/apachehttp.d.ts +0 -1
- package/lib-esm/services/code-samples/httpsnippet/targets/java8/apachehttp.js +1 -1
- package/lib-esm/services/code-samples/httpsnippet/targets/php/utils.d.ts +1 -1
- package/lib-esm/services/code-samples/httpsnippet/targets/php/utils.js +1 -1
- package/lib-esm/services/extendTheme.d.ts +4 -4
- package/lib-esm/services/extendTheme.js +1 -1
- package/lib-esm/services/history/ProHashHistoryService.d.ts +1 -1
- package/lib-esm/services/history/PushStateHistoryService.d.ts +1 -1
- package/lib-esm/services/history/helpers.js +1 -1
- package/lib-esm/services/utils.d.ts +2 -1
- package/lib-esm/services/utils.js +1 -1
- package/lib-esm/standalone.d.ts +4 -3
- package/lib-esm/standalone.js +1 -1
- package/lib-esm/utils.d.ts +1 -1
- package/package.json +2 -2
- package/lib/components/console/FileUploadInput.d.ts +0 -4
- package/lib/components/console/FileUploadInput.js +0 -2
- package/lib/redoc-lib/src/components/testProviders.d.ts +0 -7
- package/lib/redoc-lib/src/components/testProviders.js +0 -2
- package/lib-esm/components/console/FileUploadInput.d.ts +0 -4
- package/lib-esm/components/console/FileUploadInput.js +0 -2
- package/lib-esm/redoc-lib/src/components/testProviders.d.ts +0 -7
- package/lib-esm/redoc-lib/src/components/testProviders.js +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.fileToBase64=exports.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getFileToUpload=exports.getIsBase64=exports.fileToBase64=exports.isRootFileUpload=exports.isMultipartFileUploadProperty=exports.isFileUploadMime=exports.mimeTypeToAccept=void 0;var tslib_1=require("tslib"),models_1=require("../../../models"),FILE_UPLOAD_FORMATS=Object.values(models_1.FileUploadFormats),FILE_UPLOAD_MIME_TYPES=["application/octet-stream","application/pdf","application/gzip","application/zip"],COMMON_FILE_UPLOAD_PREFIXES=["image/","audio/","video/"];function mimeTypeToAccept(e){if(COMMON_FILE_UPLOAD_PREFIXES.some((function(t){return e.startsWith(t)})))return e}function isFileUploadMime(e){return!!FILE_UPLOAD_MIME_TYPES.includes(e)||COMMON_FILE_UPLOAD_PREFIXES.some((function(t){return e.startsWith(t)}))}function isMultipartFileUploadProperty(e){var t="array"===e.type?e.items:e;if(!t||!t.type)return!0;var i=t.contentMediaType||"",o=t.format||t.contentEncoding||(isFileUploadMime(i)?"binary":"");return t.type===models_1.DefinitionTypes.STRING&&FILE_UPLOAD_FORMATS.includes(o)}function isRootFileUpload(e,t){if(!e||!e.type)return isFileUploadMime(t);var i=e.format||e.contentEncoding||"";return e.type===models_1.DefinitionTypes.STRING&&FILE_UPLOAD_FORMATS.includes(i)}function fileToBase64(e){return new Promise((function(t,i){var o=new FileReader;o.onload=function(){var e=o.result.replace(/data:.*\/.*;base64,/g,"");t(e)},o.onerror=function(){return i(o.error)},o.readAsDataURL(e)}))}function getIsBase64(e){return[e.format,e.contentEncoding,e.contentMediaType].includes(models_1.FileUploadFormats.BASE64)}function getFileToUpload(e,t,i){return(0,tslib_1.__awaiter)(this,void 0,void 0,(function(){var o,r,s,n=this;return(0,tslib_1.__generator)(this,(function(a){switch(a.label){case 0:return o=Object.values(e),r=1===o.length?o[0]:o,s=t.properties?t.properties[i]:t,s.type===models_1.DefinitionTypes.STRING&&getIsBase64(s)?[4,fileToBase64(o[0])]:[3,2];case 1:return r=a.sent(),[3,5];case 2:return s.type===models_1.DefinitionTypes.ARRAY&&s.items?getIsBase64(s.items)?[4,Promise.all(o.map((function(e){return(0,tslib_1.__awaiter)(n,void 0,void 0,(function(){return(0,tslib_1.__generator)(this,(function(t){switch(t.label){case 0:return[4,fileToBase64(e)];case 1:return[2,t.sent()]}}))}))})))]:[3,4]:[3,5];case 3:return r=a.sent(),[3,5];case 4:r=o,a.label=5;case 5:return[2,r]}}))}))}exports.mimeTypeToAccept=mimeTypeToAccept,exports.isFileUploadMime=isFileUploadMime,exports.isMultipartFileUploadProperty=isMultipartFileUploadProperty,exports.isRootFileUpload=isRootFileUpload,exports.fileToBase64=fileToBase64,exports.getIsBase64=getIsBase64,exports.getFileToUpload=getFileToUpload;
|
|
2
2
|
//# sourceMappingURL=helper.js.map
|
|
@@ -6,12 +6,12 @@ export declare const StyledInput: import("styled-components").StyledComponent<"i
|
|
|
6
6
|
fullWidth?: boolean | undefined;
|
|
7
7
|
inputType?: string | undefined;
|
|
8
8
|
}, never>;
|
|
9
|
-
export interface TextFieldExtraProps {
|
|
9
|
+
export interface TextFieldExtraProps extends React.InputHTMLAttributes<HTMLInputElement> {
|
|
10
10
|
fullWidth?: boolean;
|
|
11
11
|
errorMessage?: string;
|
|
12
12
|
}
|
|
13
|
-
export declare const TextField: React.ForwardRefExoticComponent<
|
|
14
|
-
export declare function FormTextField(props:
|
|
13
|
+
export declare const TextField: React.ForwardRefExoticComponent<TextFieldExtraProps & React.RefAttributes<HTMLInputElement>>;
|
|
14
|
+
export declare function FormTextField(props: FieldProps<string, GenericObject> & TextFieldExtraProps): JSX.Element;
|
|
15
15
|
export interface FormDropdownProps extends Partial<DropdownProps> {
|
|
16
16
|
options: Option[];
|
|
17
17
|
initValue?: string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.FormDropdown=exports.FormTextField=exports.TextField=exports.StyledInput=exports.invertedInputStyles=void 0;var tslib_1=require("tslib"),react_1=(0,tslib_1.__importDefault)(require("react")),informed_1=require("informed"),informed_2=require("informed"),styled_components_1=(0,tslib_1.__importStar)(require("../../redoc-lib/src/styled-components")),form_1=require("./form"),redoc_lib_1=require("../../redoc-lib");exports.invertedInputStyles=(0,styled_components_1.css)(templateObject_1||(templateObject_1=(0,tslib_1.__makeTemplateObject)(["\n border: none;\n outline: none;\n padding: 8px;\n border-radius: ",";\n background-color: ",";\n ","\n\n &::placeholder {\n opacity: 0.6;\n color: ",";\n }\n\n &:-webkit-autofill {\n background-color: ",";\n }\n"],["\n border: none;\n outline: none;\n padding: 8px;\n border-radius: ",";\n background-color: ",";\n ","\n\n &::placeholder {\n opacity: 0.6;\n color: ",";\n }\n\n &:-webkit-autofill {\n background-color: ",";\n }\n"])),(function(e){return e.theme.shape.borderRadius}),(function(e){return e.theme.rightPanel.panelControlsBackgroundColor}),(function(e){var t=e.theme;return(0,styled_components_1.mediaCSS)({color:t.colors.text.light,fontFamily:t.typography.code.fontFamily,fontSize:t.typography.fontSize})}),(function(e){return e.theme.colors.text.light}),(function(e){return e.theme.rightPanel.panelBackgroundColor}));var TextFieldWrapper=styled_components_1.default.div(templateObject_2||(templateObject_2=(0,tslib_1.__makeTemplateObject)(["\n display: ",";\n ","\n"],["\n display: ",";\n ","\n"])),(function(e){return"hidden"===e.type?"none":"inline-block"}),(function(e){return e.fullWidth?"width: 100%;":""})),InputWrap=styled_components_1.default.div(templateObject_3||(templateObject_3=(0,tslib_1.__makeTemplateObject)(["\n position: relative;\n"],["\n position: relative;\n"])));exports.StyledInput=styled_components_1.default.input(templateObject_4||(templateObject_4=(0,tslib_1.__makeTemplateObject)(["\n ","\n ",";\n ","\n"],["\n ","\n ",";\n ","\n"])),exports.invertedInputStyles,(function(e){return"password"===e.inputType?"padding-right: 40px;":""}),(function(e){return e.fullWidth?"width: 100%;":""}));var ToggleButton=styled_components_1.default.span(templateObject_5||(templateObject_5=(0,tslib_1.__makeTemplateObject)(["\n position: absolute;\n right: 0;\n line-height: normal;\n\n font-size: 0.8em;\n padding: calc(8px / 0.8);\n cursor: pointer;\n text-align: center;\n ","\n"],["\n position: absolute;\n right: 0;\n line-height: normal;\n\n font-size: 0.8em;\n padding: calc(8px / 0.8);\n cursor: pointer;\n text-align: center;\n ","\n"])),(function(e){var t=e.theme;return(0,styled_components_1.mediaCSS)({color:t.rightPanel.textColor})}));function
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.FormDropdown=exports.FormTextField=exports.TextField=exports.StyledInput=exports.invertedInputStyles=void 0;var tslib_1=require("tslib"),react_1=(0,tslib_1.__importDefault)(require("react")),informed_1=require("informed"),informed_2=require("informed"),styled_components_1=(0,tslib_1.__importStar)(require("../../redoc-lib/src/styled-components")),form_1=require("./form"),redoc_lib_1=require("../../redoc-lib");exports.invertedInputStyles=(0,styled_components_1.css)(templateObject_1||(templateObject_1=(0,tslib_1.__makeTemplateObject)(["\n border: none;\n outline: none;\n padding: 8px;\n border-radius: ",";\n background-color: ",";\n ","\n\n &::placeholder {\n opacity: 0.6;\n color: ",";\n }\n\n &:-webkit-autofill {\n background-color: ",";\n }\n"],["\n border: none;\n outline: none;\n padding: 8px;\n border-radius: ",";\n background-color: ",";\n ","\n\n &::placeholder {\n opacity: 0.6;\n color: ",";\n }\n\n &:-webkit-autofill {\n background-color: ",";\n }\n"])),(function(e){return e.theme.shape.borderRadius}),(function(e){return e.theme.rightPanel.panelControlsBackgroundColor}),(function(e){var t=e.theme;return(0,styled_components_1.mediaCSS)({color:t.colors.text.light,fontFamily:t.typography.code.fontFamily,fontSize:t.typography.fontSize})}),(function(e){return e.theme.colors.text.light}),(function(e){return e.theme.rightPanel.panelBackgroundColor}));var TextFieldWrapper=styled_components_1.default.div(templateObject_2||(templateObject_2=(0,tslib_1.__makeTemplateObject)(["\n display: ",";\n ","\n"],["\n display: ",";\n ","\n"])),(function(e){return"hidden"===e.type?"none":"inline-block"}),(function(e){return e.fullWidth?"width: 100%;":""})),InputWrap=styled_components_1.default.div(templateObject_3||(templateObject_3=(0,tslib_1.__makeTemplateObject)(["\n position: relative;\n"],["\n position: relative;\n"])));exports.StyledInput=styled_components_1.default.input(templateObject_4||(templateObject_4=(0,tslib_1.__makeTemplateObject)(["\n ","\n ",";\n ","\n"],["\n ","\n ",";\n ","\n"])),exports.invertedInputStyles,(function(e){return"password"===e.inputType?"padding-right: 40px;":""}),(function(e){return e.fullWidth?"width: 100%;":""}));var ToggleButton=styled_components_1.default.span(templateObject_5||(templateObject_5=(0,tslib_1.__makeTemplateObject)(["\n position: absolute;\n right: 0;\n line-height: normal;\n\n font-size: 0.8em;\n padding: calc(8px / 0.8);\n cursor: pointer;\n text-align: center;\n ","\n"],["\n position: absolute;\n right: 0;\n line-height: normal;\n\n font-size: 0.8em;\n padding: calc(8px / 0.8);\n cursor: pointer;\n text-align: center;\n ","\n"])),(function(e){var t=e.theme;return(0,styled_components_1.mediaCSS)({color:t.rightPanel.textColor})}));function TextFieldComponent(e,t){var n=e.fullWidth,r=e.errorMessage,o=e.type,l=react_1.default.useState("password"===o),a=l[0],i=l[1],d=react_1.default.useCallback((function(){i(!a)}),[a]);return react_1.default.createElement(TextFieldWrapper,{fullWidth:n,type:o},react_1.default.createElement(InputWrap,null,react_1.default.createElement(exports.StyledInput,(0,tslib_1.__assign)({},e,{type:a?"password":"text",inputType:o,ref:t})),"password"===o&&react_1.default.createElement(ToggleButton,{onClick:d}," ",a?"show":"hide"," ")),r?react_1.default.createElement(form_1.FormError,null,r):null)}function FormTextField(e){var t=(0,informed_2.useField)((0,tslib_1.__assign)({fieldType:"text"},e)),n=t.userProps,r=t.render,o=t.fieldState,l=t.informed;return r(react_1.default.createElement(exports.TextField,(0,tslib_1.__assign)({},n,l,{errorMessage:o.error})))}exports.TextField=react_1.default.forwardRef(TextFieldComponent),exports.FormTextField=FormTextField;var templateObject_1,templateObject_2,templateObject_3,templateObject_4,templateObject_5,FormDropdownInt=function(e){var t=e.initValue,n=e.options,r=e.fieldApi,o=e.fieldState,l=n.map((function(e,t){return{value:e.title||e.value,idx:t,origValue:e.value}})),a=l.find((function(e){return e.origValue===t})),i=react_1.default.useState(null==a?void 0:a.value),d=i[0],u=i[1];react_1.default.useEffect((function(){t&&r.setValue(t)}),[]);var p=react_1.default.useCallback((function(e){r.setValue(l[e.idx].origValue),u(l[e.idx].value)}),[l]);return react_1.default.createElement(TextFieldWrapper,{fullWidth:!0},react_1.default.createElement(redoc_lib_1.Dropdown,{fullWidth:!0,variant:"dark",value:d,options:l,onChange:p}),o.error?react_1.default.createElement(form_1.FormError,null,o.error):null)};exports.FormDropdown=(0,informed_1.asField)(FormDropdownInt);
|
|
2
2
|
//# sourceMappingURL=TextField.js.map
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { FormApi, FormState } from 'informed';
|
|
3
3
|
import { OperationModel } from '../../redoc-lib';
|
|
4
|
+
import { SecurityDetails } from '../../utils';
|
|
4
5
|
export declare function requiredValidator(value: any): "Field is required" | undefined;
|
|
5
6
|
export interface AuthPanelProps {
|
|
6
7
|
operation: OperationModel;
|
|
@@ -8,6 +9,7 @@ export interface AuthPanelProps {
|
|
|
8
9
|
formApi: FormApi;
|
|
9
10
|
activeServer: string;
|
|
10
11
|
authCorsProxyUrl: Maybe<string>;
|
|
12
|
+
securityDefaults?: Record<string, SecurityDetails | string>;
|
|
11
13
|
}
|
|
12
14
|
export interface AuthPanelState {
|
|
13
15
|
activeScheme: number;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.AuthPanel=exports.requiredValidator=void 0;var tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),redoc_lib_1=require("../../redoc-lib"),utils_1=require("../../utils"),OAuth2TokenInput_1=(0,tslib_1.__importDefault)(require("./OAuth2TokenInput")),OAuth2Flow_1=require("./OAuth2Flow"),OpenIDConnect_1=require("./OpenIDConnect"),TextField_1=require("../common/TextField"),form_1=require("../common/form"),Labels_1=require("../../redoc-lib/src/services/Labels");function requiredValidator(e){if(!e)return"Field is required"}exports.requiredValidator=requiredValidator;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}),(0,utils_1.toStorage)("securityRequirementName",e.value)}}),t}return(0,tslib_1.__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=(0,utils_1.fromStorage)("securityRequirementName"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.AuthPanel=exports.requiredValidator=void 0;var tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),redoc_lib_1=require("../../redoc-lib"),utils_1=require("../../utils"),OAuth2TokenInput_1=(0,tslib_1.__importDefault)(require("./OAuth2TokenInput")),OAuth2Flow_1=require("./OAuth2Flow"),OpenIDConnect_1=require("./OpenIDConnect"),TextField_1=require("../common/TextField"),form_1=require("../common/form"),Labels_1=require("../../redoc-lib/src/services/Labels");function requiredValidator(e){if(!e)return"Field is required"}exports.requiredValidator=requiredValidator;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}),(0,utils_1.toStorage)("securityRequirementName",e.value)}}),t}return(0,tslib_1.__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=(0,utils_1.fromStorage)("securityRequirementName"),l=t.findIndex((function(e){return e===r}));return{activeScheme:l<0?0:l}}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=this.props.securityDefaults,r=this.state.activeScheme,l=this.props.operation.security,a=l.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(form_1.FormWrapper,null,a.length>1&&React.createElement(form_1.FormControl,null,React.createElement(redoc_lib_1.Dropdown,{variant:"dark",fullWidth:!0,prefix:"Security scheme: ",options:a,value:a[r].value,onChange:this.handleSchemeChange}))||null,l[r].schemes.map((function(r){var l,a,o,i,n,u,s,c=(0,utils_1.escapeFormId)(r.id);if("apiKey"===r.type){var d=(0,utils_1.getSecurityDetailsOptions)(c,""),m={field:"auth."+c,fullWidth:!0,initialValue:fromCookie(r)||(0,utils_1.fromStorage)("auth."+c)||(null==t?void 0:t[c]),initValue:fromCookie(r)||(0,utils_1.fromStorage)("auth."+c)||(null==t?void 0:t[c]),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement(form_1.FormControl,{key:c},React.createElement(form_1.FormLabel,null," ",r.name,": "),d?React.createElement(TextField_1.FormDropdown,(0,tslib_1.__assign)({},m,{options:d})):React.createElement(TextField_1.FormTextField,(0,tslib_1.__assign)({},m,{type:"password","data-cy":"apiKey-auth-password"})))}if("http"===r.type){if("basic"===r.scheme){var p=(0,utils_1.getSecurityDetailsOptions)(c,"username");m={field:"auth."+c+".username",fullWidth:!0,initialValue:(0,utils_1.fromStorage)("auth."+c+".username")||(null===(l=null==t?void 0:t[c])||void 0===l?void 0:l.username),initValue:(0,utils_1.fromStorage)("auth."+c+".username")||(null===(a=null==t?void 0:t[c])||void 0===a?void 0:a.username),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement(React.Fragment,{key:c},React.createElement(form_1.FormControl,null,React.createElement(form_1.FormLabel,null," ",(0,Labels_1.l)("tryItAuthBasicUsername"),": "),p?React.createElement(TextField_1.FormDropdown,(0,tslib_1.__assign)({},m,{options:p})):React.createElement(TextField_1.FormTextField,(0,tslib_1.__assign)({},m))),React.createElement(form_1.FormControl,null,React.createElement(form_1.FormLabel,null," ",(0,Labels_1.l)("tryItAuthBasicPassword"),": "),React.createElement(TextField_1.FormTextField,{type:"password","data-cy":"http-auth-password",fullWidth:!0,field:"auth."+c+".password",validate:requiredValidator,initialValue:(0,utils_1.fromStorage)("auth."+c+".password")||(null===(o=null==t?void 0:t[c])||void 0===o?void 0:o.password),validateOnBlur:!0,validateOnChange:!0})))}if("bearer"===r.scheme){var f=(0,utils_1.getSecurityDetailsOptions)(c,"");m={field:"auth."+c,fullWidth:!0,initialValue:(0,utils_1.fromStorage)("auth."+c)||(null==t?void 0:t[c]),initValue:(0,utils_1.fromStorage)("auth."+c)||(null==t?void 0:t[c]),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement(React.Fragment,{key:c},React.createElement(form_1.FormControl,null,React.createElement(form_1.FormLabel,null," Bearer Token: "),f?React.createElement(TextField_1.FormDropdown,(0,tslib_1.__assign)({},m,{options:f})):React.createElement(TextField_1.FormTextField,(0,tslib_1.__assign)({},m,{type:"password",placeholder:"(without 'Bearer')"}))))}}else{if("oauth2"===r.type&&r.flows&&r.flows.clientCredentials)return React.createElement(OAuth2TokenInput_1.default,{key:c,flow:r.flows.clientCredentials,server:e.props.activeServer,authCorsProxyUrl:e.props.authCorsProxyUrl,id:c,form:e.props.form,formApi:e.props.formApi,clientId:r.flows.clientCredentials["x-defaultClientId"]||r["x-defaultClientId"],defaultValues:null==t?void 0:t[c]});if("oauth2"===r.type&&r.flows&&r.flows.implicit)return React.createElement(OAuth2Flow_1.OAuth2Flow,{key:c,authorizationUrl:r.flows.implicit.authorizationUrl,authCorsProxyUrl:e.props.authCorsProxyUrl,scopes:Object.keys((null===(n=null===(i=null==r?void 0:r.flows)||void 0===i?void 0:i.implicit)||void 0===n?void 0:n.scopes)||{}),server:e.props.activeServer,id:c,form:e.props.form,formApi:e.props.formApi,clientId:r.flows.implicit["x-defaultClientId"]||r["x-defaultClientId"],flow:"implicit",defaultValues:null==t?void 0:t[c]});if("oauth2"===r.type&&r.flows&&r.flows.authorizationCode)return React.createElement(OAuth2Flow_1.OAuth2Flow,{key:c,authorizationUrl:r.flows.authorizationCode.authorizationUrl,tokenUrl:r.flows.authorizationCode.tokenUrl,authCorsProxyUrl:e.props.authCorsProxyUrl,scopes:Object.keys((null===(u=r.flows.authorizationCode)||void 0===u?void 0:u.scopes)||{}),server:e.props.activeServer,id:c,form:e.props.form,formApi:e.props.formApi,clientId:r.flows.authorizationCode["x-defaultClientId"]||r["x-defaultClientId"],flow:"authorizationCode",defaultValues:null==t?void 0:t[c]});if("oauth2"===r.type){var h=(0,utils_1.fromStorage)("auth."+c+".token")||JSON.stringify(null===(s=null==t?void 0:t[c])||void 0===s?void 0:s.token);return h=h?JSON.parse(h):{},React.createElement(React.Fragment,{key:c},React.createElement(form_1.FormControl,null,React.createElement(form_1.FormLabel,null," Access Token Type: "),React.createElement(TextField_1.FormTextField,{fullWidth:!0,field:"auth."+c+".token.token_type",initialValue:h.token_type||"Bearer"})),React.createElement(form_1.FormControl,null,React.createElement(form_1.FormLabel,null," Access Token: "),React.createElement(TextField_1.FormTextField,{type:"password",fullWidth:!0,field:"auth."+c+".token.access_token",validate:requiredValidator,initialValue:h.access_token,validateOnBlur:!0,validateOnChange:!0})))}if("openIdConnect"===r.type)return React.createElement(OpenIDConnect_1.OpenIDConnect,{key:c,server:e.props.activeServer,authCorsProxyUrl:e.props.authCorsProxyUrl,id:c,form:e.props.form,formApi:e.props.formApi,scheme:r,clientId:r["x-defaultClientId"],defaultValues:null==t?void 0:t[c]})}}))),React.createElement("small",null,React.createElement("strong",null,"Note"),": Your credentials will be saved until the end of the browser session"))}}),t}(React.Component);exports.AuthPanel=AuthPanel;
|
|
2
2
|
//# sourceMappingURL=AuthPanel.js.map
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { SecurityDetails } from '../../utils';
|
|
3
|
+
import { OpenApiResponseData } from './ResponsePanel';
|
|
3
4
|
import { ProStore } from '../../services';
|
|
4
5
|
import { OperationModel, Server } from '../../redoc-lib';
|
|
5
6
|
export interface ConsoleProps {
|
|
@@ -10,6 +11,11 @@ export interface ConsoleProps {
|
|
|
10
11
|
rootElement?: HTMLElement | null;
|
|
11
12
|
onClose?: () => any;
|
|
12
13
|
properties?: any;
|
|
14
|
+
securityDefaults?: Record<string, SecurityDetails | string>;
|
|
15
|
+
onResponse?: (arg: {
|
|
16
|
+
request: Record<string, unknown>;
|
|
17
|
+
response: OpenApiResponseData;
|
|
18
|
+
}) => void;
|
|
13
19
|
}
|
|
14
20
|
export interface ConsoleState {
|
|
15
21
|
form: any;
|
|
@@ -17,10 +23,10 @@ export interface ConsoleState {
|
|
|
17
23
|
loading: boolean;
|
|
18
24
|
activeTab: number;
|
|
19
25
|
error?: Error & {
|
|
20
|
-
response?:
|
|
26
|
+
response?: OpenApiResponseData;
|
|
21
27
|
};
|
|
22
28
|
resolvedRawSpec?: any;
|
|
23
|
-
response?:
|
|
29
|
+
response?: OpenApiResponseData;
|
|
24
30
|
time?: number;
|
|
25
31
|
server: Server;
|
|
26
32
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Console=void 0;var tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),informed_1=require("informed"),mobx_react_1=require("mobx-react"),utils_1=require("../../utils"),query_string_1=require("query-string"),styled_components_1=require("./styled.components"),ServerDropdown_1=require("./ServerDropdown"),OperationParameters_1=require("./OperationParameters"),ActionPanel_1=require("./ActionPanel"),ResponsePanel_1=require("./ResponsePanel"),RequestBody_1=require("./RequestBody"),ConsoleBadges_1=require("./ConsoleBadges"),AuthPanel_1=require("./AuthPanel"),services_1=require("../../services"),swagger_client_1=(0,tslib_1.__importDefault)(require("swagger-client")),redoc_lib_1=require("../../redoc-lib"),helper_1=require("../../redoc-lib/src/components/helper"),Labels_1=require("../../redoc-lib/src/services/Labels"),styled_components_2=(0,tslib_1.__importDefault)(require("../../redoc-lib/src/styled-components")),Panel_1=require("../Panel"),OAuth2_1=require("../../services/OAuth2"),PanelBody_1=require("../Panel/PanelBody"),utils_2=require("./utils");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}),(0,utils_2.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(0,tslib_1.__awaiter)(r,void 0,void 0,(function(){var e,t,r,n,o,a,s,i,l,c,u,d,p,_,h,m,b,v,y,f,g,P,R,q,S,w,C,x,E,A,I,O,k,T,B,j=this;return(0,tslib_1.__generator)(this,(function(H){switch(H.label){case 0:if(e=this.props,t=e.store,r=e.operation,this.formApi.submitForm(),n=this.formApi.getState(),o=n.values,n.invalid)return this.setState({shaking:!0}),setTimeout((function(){return j.setState({shaking:!1})}),1e3),null===(A=null===(E=null==t?void 0:t.options.events)||void 0===E?void 0:E.tryItSent)||void 0===A||A.call(E,{eventType:services_1.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=o.body,/json/.test(s))try{i=JSON.parse(i)}catch(e){console.error(e)}if(this.setState({loading:!0}),l=t.dereferencedRawSpec,!(c=(0,utils_1.get)(l,["paths",r.path,(r.httpVerb||"").toLowerCase(),"servers"])||(0,utils_1.get)(l,["paths",r.path,"servers"])||(0,utils_1.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 j.state.server.url.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url)})),d=Date.now(),p=!!window.document.documentMode,h=o.auth,o.auth?(m=Object.keys(o.auth)[0],b=(0,utils_1.unescapeFormId)(m),_=(0,tslib_1.__assign)((0,tslib_1.__assign)({},l),{components:(0,tslib_1.__assign)((0,tslib_1.__assign)({},l.components),{securitySchemes:(0,tslib_1.__assign)((0,tslib_1.__assign)({},l.components.securitySchemes),(C={},C[b]=(0,tslib_1.__assign)((0,tslib_1.__assign)({},l.components.securitySchemes[b]),{type:"openIdConnect"===l.components.securitySchemes[b].type?"oauth2":l.components.securitySchemes[b].type}),C))})}),h=(0,tslib_1.__assign)((0,tslib_1.__assign)({},h),((x={})[b]=h[m],x))):_=(0,tslib_1.__assign)({},l),(v=t.options.corsProxyUrl)&&l.servers&&l.servers.length&&(_.servers=l.servers.map((function(e){return(0,tslib_1.__assign)((0,tslib_1.__assign)({},e),{url:v+normalizeUrlProtocol(e.url)})}))),y=(null===(O=null===(I=null==a?void 0:a.content)||void 0===I?void 0:I.active)||void 0===O?void 0:O.name)||null,f="application/x-www-form-urlencoded"===y?(0,query_string_1.parse)(i):i,y&&["image/jpeg","image/png","application/octet-stream"].includes(y)&&(g=Object.keys(i).map((function(e){return i[e]})),f=g.length>1?g:g[0]),H.label=1;case 1:return H.trys.push([1,5,8,9]),P={userFetch:p&&require("cross-fetch").fetch,server:v?v+normalizeUrlProtocol(u.url):u.url,serverVariables:this.state.server.variables,spec:_,pathName:r.path,method:r.httpVerb,parameters:(0,tslib_1.__assign)((0,tslib_1.__assign)((0,tslib_1.__assign)((0,tslib_1.__assign)({},o.path),o.query),o.header),o.cookie),securities:{authorized:h},requestBody:f,requestContentType:y,responseContentType:(null===(k=o.header)||void 0===k?void 0:k.Accept)||null,requestInterceptor:t.options.requestInterceptor&&function(e){var n,o;return null===(o=(n=t.options).requestInterceptor)||void 0===o?void 0:o.call(n,e,r)}||void 0},[4,swagger_client_1.default.execute(P)];case 2:return(R=H.sent())&&R.data instanceof Blob?(q=R,[4,R.data.text()]):[3,4];case 3:q.data=H.sent(),H.label=4;case 4:return this.setState({response:R,error:void 0}),[3,9];case 5:return(S=H.sent())&&S.response&&S.response.data instanceof Blob?(w=S.response,[4,S.response.data.text()]):[3,7];case 6:w.data=H.sent(),H.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()-d}),null===(B=null===(T=null==t?void 0:t.options.events)||void 0===T?void 0:T.tryItSent)||void 0===B||B.call(T,{eventType:services_1.AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"Sent",operationId:r.operationId,operationPath:r.path,operationHttpVerb:r.httpVerb,operationSummary:r.description}),[7];case 9:return[2]}}))}))}}),Object.defineProperty(r,"validateBody",{enumerable:!0,configurable:!0,writable:!0,value:function(){}}),r.state={form:{values:{path:(0,utils_2.getParameters)(t.operation.parameters,"path"),cookie:(0,utils_2.getParameters)(t.operation.parameters,"cookie"),header:(0,utils_2.getParameters)(t.operation.parameters,"header"),query:(0,utils_2.getParameters)(t.operation.parameters,"query")}},shaking:!1,loading:!1,activeTab:0,server:{}},r}return(0,tslib_1.__extends)(t,e),Object.defineProperty(t.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){return(0,tslib_1.__awaiter)(this,void 0,void 0,(function(){var e,t,r,n,o;return(0,tslib_1.__generator)(this,(function(a){switch(a.label){case 0:return e=this.props,t=e.store,r=e.specIdx,n=e.operation,[4,t.dereferenceSpecForTryIt(r||0,n)];case 1:return o=a.sent(),this.setState({resolvedRawSpec:o}),this.formApi.setValues({}),[2]}}))}))}}),Object.defineProperty(t.prototype,"componentDidUpdate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){e.operation!==this.props.operation&&this.setState({response:void 0,error:void 0,activeTab:0})}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.props,t=e.operation,r=e.className,n=e.rootElement,o=this.state,a=o.shaking,s=o.activeTab,i=o.form,l=o.response,c=o.loading,u=o.error,d=!(!l&&!u);return React.createElement(ConsoleWrapHook,{shaking:a,className:r,rootElement:n},React.createElement(Panel_1.CodeHeader,null,React.createElement(ConsoleBadges_1.ConsoleBadges,{active:s,hasResponse:d,onChange:this.handleTabChange}),this.props.onClose&&React.createElement(styled_components_1.CloseButton,{onClick:this.props.onClose}," ✕ ")),React.createElement(styled_components_1.ConsoleBody,{hidden:0!==s},this.renderRequest()),React.createElement(styled_components_1.ConsoleBody,{hidden:1!==s},this.renderResponse()),React.createElement(ActionPanel_1.ActionPanel,{hasResponse:d,params:i.values&&(0,tslib_1.__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,n=t.store,o=t.properties,a=this.state,s=a.form,i=a.resolvedRawSpec,l=a.server,c=s.errors||{},u=c.path||c.cookie||c.header||c.query,d=i&&redoc_lib_1.JsonPointer.get(i,r.pointer),p=s.values&&s.values.auth&&Object.keys(s.values.auth)[0];p&&s.values.auth[p]||(p=void 0),!p||void 0===s.values.auth[p].token&&void 0===s.values.auth[p].client_id&&void 0===s.values.auth[p].client_secret||s.values.auth[p].token&&s.values.auth[p].token.access_token||(p=void 0),p&&null!=s.values.auth[p].username&&(s.values.auth[p].username&&s.values.auth[p].password||(p=void 0));var _=r.parameters||[],h=null===(e=null==n?void 0:n.options.hooks)||void 0===e?void 0:e.ReplaceTryItAuthPanel;return i?React.createElement(React.Fragment,null,React.createElement(informed_1.Form,{onChange:this.handleChange,getApi:this.setFormApi,style:(0,tslib_1.__assign)((0,tslib_1.__assign)({},flexColumn),{margin:0})},React.createElement(Panel_1.Accordion,{initialActiveIdx:r.security.length&&p?1:0},r.security.length&&React.createElement(TryItPanel,{header:(0,Labels_1.l)("tryItAuth"),"data-cy":"security-trigger",renderChildrenHidden:!0,error:!p&&!!c.auth,success:!!p},h?React.createElement(AuthPanelHook,{field:"auth",validate:AuthPanel_1.requiredValidator},(function(e){return React.createElement(helper_1.RenderHook,{Hook:h,props:{server:l,operation:r,onChange:e,OAuth2:OAuth2_1.OAuth2}})})):React.createElement(AuthPanel_1.AuthPanel,{formApi:this.formApi,form:s,operation:r,activeServer:l.url,authCorsProxyUrl:n.options.authCorsProxyUrl}))||null,r.requestBody&&React.createElement(TryItPanel,{header:(0,Labels_1.l)("tryItBody"),"data-cy":"body-trigger",renderChildrenHidden:!0,error:!!c.body},React.createElement(RequestBody_1.RequestBody,{validate:this.validateBody,console:this,body:r.requestBody,id:r.id,resolvedBody:d.requestBody,properties:o}))||null,_.length&&React.createElement(TryItPanel,{header:(0,Labels_1.l)("tryItParameters"),"data-cy":"parameters-trigger",error:u,renderChildrenHidden:!0},React.createElement(OperationParameters_1.OperationParameters,{operation:r,values:s.values,errors:s.errors||{}}))||null)),React.createElement(ServerDropdown_1.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,n=e.time;return React.createElement(ResponsePanel_1.ResponsePanel,{response:t,error:r,time:n})}}),t=(0,tslib_1.__decorate)([mobx_react_1.observer],t)}(React.Component);function ConsoleWrapHook(e){var t=e.shaking,r=e.className,n=e.children,o=e.rootElement,a=(0,utils_1.useDimensions)(o)[0];return React.createElement(styled_components_1.ConsoleWrap,{shaking:t,className:r,"data-cy":"console",fullWidth:null==a?void 0:a.width},n)}function AuthPanelHook(e){var t=(0,informed_1.useField)((0,tslib_1.__assign)({},e)),r=t.fieldApi,n=t.render,o=t.userProps,a=r.setValue,s=o.children;return n(React.createElement(React.Fragment,null,s(a)))}function TryItPanel(e){return React.createElement(StyledTryItPanel,(0,tslib_1.__assign)({},e,{header:function(t){var r=t.toggle,n=t.expanded;return React.createElement(Panel_1.Header,{onClick:r,isExpanded:n,"data-cy":e["data-cy"]},React.createElement(Panel_1.Trigger,null,React.createElement(Panel_1.Title,null,e.header),React.createElement(redoc_lib_1.ShelfIcon,{direction:n?"down":"right"})),e.error&&React.createElement(redoc_lib_1.CrossIcon,{size:"14px",color:"#ff908b"})||null,e.success&&React.createElement(redoc_lib_1.LockIcon,{size:"14px",color:"#56ff26"})||null)}}))}exports.Console=Console;var templateObject_1,StyledTryItPanel=(0,styled_components_2.default)(Panel_1.Panel)(templateObject_1||(templateObject_1=(0,tslib_1.__makeTemplateObject)(["\n "," {\n color: white;\n border: 1px solid ",";\n padding: 10px;\n }\n\n "," path {\n fill: white;\n }\n\n "," {\n padding: 15px 10px;\n background-color: #3e4c59;\n border: 1px solid ",";\n border-top: 0;\n }\n"],["\n "," {\n color: white;\n border: 1px solid ",";\n padding: 10px;\n }\n\n "," path {\n fill: white;\n }\n\n "," {\n padding: 15px 10px;\n background-color: #3e4c59;\n border: 1px solid ",";\n border-top: 0;\n }\n"])),Panel_1.Header,(function(e){return e.error?"#ff908b":"#89949f"}),redoc_lib_1.ShelfIcon,PanelBody_1.PanelBody,(function(e){return e.error?"#ff908b":"#89949f"}));
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Console=void 0;var tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),informed_1=require("informed"),mobx_react_1=require("mobx-react"),utils_1=require("../../utils"),styled_components_1=require("./styled.components"),ServerDropdown_1=require("./ServerDropdown"),OperationParameters_1=require("./OperationParameters"),ActionPanel_1=require("./ActionPanel"),ResponsePanel_1=require("./ResponsePanel"),RequestBody_1=require("./RequestBody"),ConsoleBadges_1=require("./ConsoleBadges"),AuthPanel_1=require("./AuthPanel"),services_1=require("../../services"),swagger_client_1=(0,tslib_1.__importDefault)(require("swagger-client")),redoc_lib_1=require("../../redoc-lib"),helper_1=require("../../redoc-lib/src/components/helper"),Labels_1=require("../../redoc-lib/src/services/Labels"),styled_components_2=(0,tslib_1.__importDefault)(require("../../redoc-lib/src/styled-components")),Panel_1=require("../Panel"),OAuth2_1=require("../../services/OAuth2"),PanelBody_1=require("../Panel/PanelBody"),utils_2=require("./utils"),helper_2=require("../common/FileUpload/helper");function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}var flexColumn={flex:1,display:"flex",flexDirection:"column"},Console=function(e){function t(t){var r=e.call(this,t)||this;return Object.defineProperty(r,"formApi",{enumerable:!0,configurable:!0,writable:!0,value: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}),(0,utils_2.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(0,tslib_1.__awaiter)(r,void 0,void 0,(function(){var e,t,r,n,o,a,s,i,l,c,u,d,p,_,h,m,b,v,y,f,g,P,R,q,S,C,w,E,x,A,I,O,k,T,B,j=this;return(0,tslib_1.__generator)(this,(function(H){switch(H.label){case 0:if(e=this.props,t=e.store,r=e.operation,n=e.onResponse,this.formApi.submitForm(),o=this.formApi.getState(),a=o.values,o.invalid)return this.setState({shaking:!0}),setTimeout((function(){return j.setState({shaking:!1})}),1e3),null===(A=null===(x=null==t?void 0:t.options.events)||void 0===x?void 0:x.tryItSent)||void 0===A||A.call(x,{eventType:services_1.AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"ValidationFailed",operationId:r.operationId,operationPath:r.path,operationHttpVerb:r.httpVerb,operationSummary:r.description}),[2];if(s=this.props.operation.requestBody,i=s&&s.content&&s.content.active&&s.content.active.name||"",l=a.body,/json/.test(i))try{l=JSON.parse(l)}catch(e){console.error(e)}if(this.setState({loading:!0}),c=t.dereferencedRawSpec,!(u=(0,utils_1.get)(c,["paths",r.path,(r.httpVerb||"").toLowerCase(),"servers"])||(0,utils_1.get)(c,["paths",r.path,"servers"])||(0,utils_1.get)(c,["servers"])))throw console.error("Servers are not specified in your OpenAPI file. You can't use Try It Out console without specifying servers. If you use OpenAPI 2, make sure you configured host and basepath"),new Error("Servers are not specified");d=u.find((function(e){return j.state.server.url.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url)})),p=Date.now(),_=!!window.document.documentMode,m=a.auth,a.auth?(b=Object.keys(a.auth)[0],v=(0,utils_1.unescapeFormId)(b),h=(0,tslib_1.__assign)((0,tslib_1.__assign)({},c),{components:(0,tslib_1.__assign)((0,tslib_1.__assign)({},c.components),{securitySchemes:(0,tslib_1.__assign)((0,tslib_1.__assign)({},c.components.securitySchemes),(w={},w[v]=(0,tslib_1.__assign)((0,tslib_1.__assign)({},c.components.securitySchemes[v]),{type:"openIdConnect"===c.components.securitySchemes[v].type?"oauth2":c.components.securitySchemes[v].type}),w))})}),m=(0,tslib_1.__assign)((0,tslib_1.__assign)({},m),((E={})[v]=m[b],E))):h=(0,tslib_1.__assign)({},c),(y=t.options.corsProxyUrl)&&c.servers&&c.servers.length&&(h.servers=c.servers.map((function(e){return(0,tslib_1.__assign)((0,tslib_1.__assign)({},e),{url:y+normalizeUrlProtocol(e.url)})}))),(f=(null===(O=null===(I=null==s?void 0:s.content)||void 0===I?void 0:I.active)||void 0===O?void 0:O.name)||null)&&l&&(0,helper_2.isFileUploadMime)(f)&&(g=Object.values(l),l=g.length>1?g:g[0]),P={userFetch:_&&require("cross-fetch").fetch,server:y?y+normalizeUrlProtocol(d.url):d.url,serverVariables:this.state.server.variables,spec:h,pathName:r.path,method:r.httpVerb,parameters:(0,tslib_1.__assign)((0,tslib_1.__assign)((0,tslib_1.__assign)((0,tslib_1.__assign)({},a.path),a.query),a.header),a.cookie),securities:{authorized:m},requestBody:l,requestContentType:f,responseContentType:(null===(k=a.header)||void 0===k?void 0:k.Accept)||null,requestInterceptor:t.options.requestInterceptor&&function(e){var n,o;return null===(o=(n=t.options).requestInterceptor)||void 0===o?void 0:o.call(n,e,r)}||void 0},H.label=1;case 1:return H.trys.push([1,5,8,9]),[4,swagger_client_1.default.execute(P)];case 2:return(R=H.sent())&&R.data instanceof Blob?(q=R,[4,R.data.text()]):[3,4];case 3:q.data=H.sent(),H.label=4;case 4:return this.setState({response:R,error:void 0}),[3,9];case 5:return(S=H.sent())&&S.response&&S.response.data instanceof Blob?(C=S.response,[4,S.response.data.text()]):[3,7];case 6:C.data=H.sent(),H.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===(T=null==t?void 0:t.options.events)||void 0===T?void 0:T.tryItSent)||void 0===B||B.call(T,{eventType:services_1.AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"Sent",operationId:r.operationId,operationPath:r.path,operationHttpVerb:r.httpVerb,operationSummary:r.description}),this.state.response&&(null==n||n({request:P,response:this.state.response})),[7];case 9:return[2]}}))}))}}),Object.defineProperty(r,"validateBody",{enumerable:!0,configurable:!0,writable:!0,value:function(){}}),r.state={form:{values:{path:(0,utils_2.getParameters)(t.operation.parameters,"path"),cookie:(0,utils_2.getParameters)(t.operation.parameters,"cookie"),header:(0,utils_2.getParameters)(t.operation.parameters,"header"),query:(0,utils_2.getParameters)(t.operation.parameters,"query")}},shaking:!1,loading:!1,activeTab:0,server:{}},r}return(0,tslib_1.__extends)(t,e),Object.defineProperty(t.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){return(0,tslib_1.__awaiter)(this,void 0,void 0,(function(){var e,t,r,n,o;return(0,tslib_1.__generator)(this,(function(a){switch(a.label){case 0:return e=this.props,t=e.store,r=e.specIdx,n=e.operation,[4,t.dereferenceSpecForTryIt(r||0,n)];case 1:return o=a.sent(),this.setState({resolvedRawSpec:o}),this.formApi.setValues({}),[2]}}))}))}}),Object.defineProperty(t.prototype,"componentDidUpdate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){e.operation!==this.props.operation&&this.setState({response:void 0,error:void 0,activeTab:0})}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.props,t=e.operation,r=e.className,n=e.rootElement,o=this.state,a=o.shaking,s=o.activeTab,i=o.form,l=o.response,c=o.loading,u=o.error,d=!(!l&&!u);return React.createElement(ConsoleWrapHook,{shaking:a,className:r,rootElement:n},React.createElement(Panel_1.CodeHeader,null,React.createElement(ConsoleBadges_1.ConsoleBadges,{active:s,hasResponse:d,onChange:this.handleTabChange}),this.props.onClose&&React.createElement(styled_components_1.CloseButton,{onClick:this.props.onClose}," ✕ ")),React.createElement(styled_components_1.ConsoleBody,{hidden:0!==s},this.renderRequest()),React.createElement(styled_components_1.ConsoleBody,{hidden:1!==s},this.renderResponse()),React.createElement(ActionPanel_1.ActionPanel,{hasResponse:d,params:i.values&&(0,tslib_1.__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,n=t.store,o=t.properties,a=t.securityDefaults,s=this.state,i=s.form,l=s.resolvedRawSpec,c=s.server,u=i.errors||{},d=u.path||u.cookie||u.header||u.query,p=l&&redoc_lib_1.JsonPointer.get(l,r.pointer),_=i.values&&i.values.auth&&Object.keys(i.values.auth)[0];_&&i.values.auth[_]||(_=void 0),!_||void 0===i.values.auth[_].token&&void 0===i.values.auth[_].client_id&&void 0===i.values.auth[_].client_secret||i.values.auth[_].token&&i.values.auth[_].token.access_token||(_=void 0),_&&null!=i.values.auth[_].username&&(i.values.auth[_].username&&i.values.auth[_].password||(_=void 0));var h=r.parameters||[],m=null===(e=null==n?void 0:n.options.hooks)||void 0===e?void 0:e.ReplaceTryItAuthPanel;return l?React.createElement(React.Fragment,null,React.createElement(informed_1.Form,{onChange:this.handleChange,getApi:this.setFormApi,style:(0,tslib_1.__assign)((0,tslib_1.__assign)({},flexColumn),{margin:0})},React.createElement(Panel_1.Accordion,{initialActiveIdx:r.security.length&&_?1:0},r.security.length&&React.createElement(TryItPanel,{header:(0,Labels_1.l)("tryItAuth"),"data-cy":"security-trigger",renderChildrenHidden:!0,error:!_&&!!u.auth,success:!!_},m?React.createElement(AuthPanelHook,{field:"auth",validate:AuthPanel_1.requiredValidator},(function(e){return React.createElement(helper_1.RenderHook,{Hook:m,props:{server:c,operation:r,onChange:e,OAuth2:OAuth2_1.OAuth2}})})):React.createElement(AuthPanel_1.AuthPanel,{formApi:this.formApi,form:i,operation:r,activeServer:c.url,authCorsProxyUrl:n.options.authCorsProxyUrl,securityDefaults:a}))||null,r.requestBody&&React.createElement(TryItPanel,{header:(0,Labels_1.l)("tryItBody"),"data-cy":"body-trigger",renderChildrenHidden:!0,error:!!u.body},React.createElement(RequestBody_1.RequestBody,{validate:this.validateBody,console:this,body:r.requestBody,id:r.id,resolvedBody:p.requestBody,properties:o}))||null,h.length&&React.createElement(TryItPanel,{header:(0,Labels_1.l)("tryItParameters"),"data-cy":"parameters-trigger",error:d,renderChildrenHidden:!0},React.createElement(OperationParameters_1.OperationParameters,{operation:r,values:i.values,errors:i.errors||{}}))||null)),React.createElement(ServerDropdown_1.ServerChooser,{operation:r,onChange:this.handleServerChange})):"Loading..."}}),Object.defineProperty(t.prototype,"renderResponse",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.state,t=e.response,r=e.error,n=e.time;return React.createElement(ResponsePanel_1.ResponsePanel,{response:t,error:r,time:n})}}),t=(0,tslib_1.__decorate)([mobx_react_1.observer],t)}(React.Component);function ConsoleWrapHook(e){var t=e.shaking,r=e.className,n=e.children,o=e.rootElement,a=(0,utils_1.useDimensions)(o)[0];return React.createElement(styled_components_1.ConsoleWrap,{shaking:t,className:r,"data-cy":"console",fullWidth:null==a?void 0:a.width},n)}function AuthPanelHook(e){var t=(0,informed_1.useField)((0,tslib_1.__assign)({},e)),r=t.fieldApi,n=t.render,o=t.userProps,a=r.setValue,s=o.children;return n(React.createElement(React.Fragment,null,s(a)))}function TryItPanel(e){return React.createElement(StyledTryItPanel,(0,tslib_1.__assign)({},e,{header:function(t){var r=t.toggle,n=t.expanded;return React.createElement(Panel_1.Header,{onClick:r,isExpanded:n,"data-cy":e["data-cy"]},React.createElement(Panel_1.Trigger,null,React.createElement(Panel_1.Title,null,e.header),React.createElement(redoc_lib_1.ShelfIcon,{direction:n?"down":"right"})),e.error&&React.createElement(redoc_lib_1.CrossIcon,{size:"14px",color:"#ff908b"})||null,e.success&&React.createElement(redoc_lib_1.LockIcon,{size:"14px",color:"#56ff26"})||null)}}))}exports.Console=Console;var templateObject_1,StyledTryItPanel=(0,styled_components_2.default)(Panel_1.Panel)(templateObject_1||(templateObject_1=(0,tslib_1.__makeTemplateObject)(["\n "," {\n color: white;\n border: 1px solid ",";\n padding: 10px;\n }\n\n "," path {\n fill: white;\n }\n\n "," {\n padding: 15px 10px;\n background-color: #3e4c59;\n border: 1px solid ",";\n border-top: 0;\n }\n"],["\n "," {\n color: white;\n border: 1px solid ",";\n padding: 10px;\n }\n\n "," path {\n fill: white;\n }\n\n "," {\n padding: 15px 10px;\n background-color: #3e4c59;\n border: 1px solid ",";\n border-top: 0;\n }\n"])),Panel_1.Header,(function(e){return e.error?"#ff908b":"#89949f"}),redoc_lib_1.ShelfIcon,PanelBody_1.PanelBody,(function(e){return e.error?"#ff908b":"#89949f"}));
|
|
2
2
|
//# sourceMappingURL=Console.js.map
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import { SecurityDetails } from '../../utils';
|
|
2
3
|
import { FormApi, FormState } from 'informed';
|
|
3
4
|
import { RedocProNormalizedOptions } from '../../services';
|
|
4
5
|
export interface OAuth2FlowProps {
|
|
@@ -12,6 +13,7 @@ export interface OAuth2FlowProps {
|
|
|
12
13
|
formApi: FormApi;
|
|
13
14
|
flow: 'implicit' | 'authorizationCode';
|
|
14
15
|
clientId?: string;
|
|
16
|
+
defaultValues?: SecurityDetails;
|
|
15
17
|
}
|
|
16
18
|
interface OAuth2FlowState {
|
|
17
19
|
error: string | null;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.OAuth2Flow=void 0;var tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),redoc_lib_1=require("../../redoc-lib"),LinearProgress_1=require("../common/LinearProgress"),form_1=require("../common/form"),OAuth2_1=require("../../services/OAuth2"),utils_1=require("../../utils"),Scope_1=(0,tslib_1.__importDefault)(require("./Scope")),shared_1=require("../shared"),TextField_1=require("../common/TextField"),utils_2=require("./utils");function requiredValidator(e){if(!e)return"Field is required"}var OAuth2Flow=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"state",{enumerable:!0,configurable:!0,writable:!0,value:{error:null,loading:!1}}),Object.defineProperty(t,"clearToken",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.props.formApi.setValue("auth."+t.props.id+".token","")}}),t}return(0,tslib_1.__extends)(t,e),Object.defineProperty(t.prototype,"values",{get:function(){return this.props.form.values&&this.props.form.values.auth&&this.props.form.values.auth[this.props.id]||{}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"errors",{get:function(){return this.props.form.errors&&this.props.form.errors.auth&&this.props.form.errors.auth[this.props.id]||{}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"handleAuthorize",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;if(e){this.props.formApi.validate();var r=this.props,l=r.flow,i=r.id,o=r.tokenUrl,a=r.authCorsProxyUrl;if(this.values.client_id&&("authorizationCode"!==l||this.values.client_secret)){this.setState({loading:!0,error:null});var n=a?a+(0,utils_2.normalizeUrlProtocol)(e):e,s=a&&o?a+(0,utils_2.normalizeUrlProtocol)(o):o,u=this.props.formApi.getValue("auth."+i+".scopes"),c={authorizationUrl:n.startsWith("http")?n:this.props.server+n,clientId:this.values.client_id,scopes:u,redirectUri:this.context.oAuth2RedirectURI,routingBasePath:this.context.routingBasePath,successCallback:function(e){t.props.formApi.setValue("auth."+t.props.id+".token",e),t.setState({loading:!1,error:null})},errorCallback:function(e){t.setState({loading:!1,error:(null==e?void 0:e.message)||"Failed to retrieve the access token"})}};"implicit"===l&&OAuth2_1.OAuth2.authorizeImplicit(c),"authorizationCode"===l&&OAuth2_1.OAuth2.authorizeAuthorizationCode((0,tslib_1.__assign)((0,tslib_1.__assign)({},c),{tokenUrl:(null==s?void 0:s.startsWith("http"))?s:this.props.server+s,clientSecret:this.values.client_secret}))}}}}),Object.defineProperty(t.prototype,"handleLogout",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.clearToken(),this.setState({error:null})}}),Object.defineProperty(t.prototype,"handleCancel",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.setState({loading:!1,error:null}),OAuth2_1.OAuth2.clearRedirectData(this.props.flow)}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e,t,r=this,l=this.state,i=l.error,o=l.loading,a=this.props,n=a.id,s=a.scopes,u=a.authorizationUrl,c=a.flow;if(!u)return React.createElement(form_1.FormError,null,"No flow info");var p=(0,utils_1.fromStorage)("auth."+n+".token");p=p?JSON.parse(p):"";var
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.OAuth2Flow=void 0;var tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),redoc_lib_1=require("../../redoc-lib"),LinearProgress_1=require("../common/LinearProgress"),form_1=require("../common/form"),OAuth2_1=require("../../services/OAuth2"),utils_1=require("../../utils"),Scope_1=(0,tslib_1.__importDefault)(require("./Scope")),shared_1=require("../shared"),TextField_1=require("../common/TextField"),utils_2=require("./utils");function requiredValidator(e){if(!e)return"Field is required"}var OAuth2Flow=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"state",{enumerable:!0,configurable:!0,writable:!0,value:{error:null,loading:!1}}),Object.defineProperty(t,"clearToken",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.props.formApi.setValue("auth."+t.props.id+".token","")}}),t}return(0,tslib_1.__extends)(t,e),Object.defineProperty(t.prototype,"values",{get:function(){return this.props.form.values&&this.props.form.values.auth&&this.props.form.values.auth[this.props.id]||{}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"errors",{get:function(){return this.props.form.errors&&this.props.form.errors.auth&&this.props.form.errors.auth[this.props.id]||{}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"handleAuthorize",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;if(e){this.props.formApi.validate();var r=this.props,l=r.flow,i=r.id,o=r.tokenUrl,a=r.authCorsProxyUrl;if(this.values.client_id&&("authorizationCode"!==l||this.values.client_secret)){this.setState({loading:!0,error:null});var n=a?a+(0,utils_2.normalizeUrlProtocol)(e):e,s=a&&o?a+(0,utils_2.normalizeUrlProtocol)(o):o,u=this.props.formApi.getValue("auth."+i+".scopes"),c={authorizationUrl:n.startsWith("http")?n:this.props.server+n,clientId:this.values.client_id,scopes:u,redirectUri:this.context.oAuth2RedirectURI,routingBasePath:this.context.routingBasePath,successCallback:function(e){t.props.formApi.setValue("auth."+t.props.id+".token",e),t.setState({loading:!1,error:null})},errorCallback:function(e){t.setState({loading:!1,error:(null==e?void 0:e.message)||"Failed to retrieve the access token"})}};"implicit"===l&&OAuth2_1.OAuth2.authorizeImplicit(c),"authorizationCode"===l&&OAuth2_1.OAuth2.authorizeAuthorizationCode((0,tslib_1.__assign)((0,tslib_1.__assign)({},c),{tokenUrl:(null==s?void 0:s.startsWith("http"))?s:this.props.server+s,clientSecret:this.values.client_secret}))}}}}),Object.defineProperty(t.prototype,"handleLogout",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.clearToken(),this.setState({error:null})}}),Object.defineProperty(t.prototype,"handleCancel",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.setState({loading:!1,error:null}),OAuth2_1.OAuth2.clearRedirectData(this.props.flow)}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e,t,r=this,l=this.state,i=l.error,o=l.loading,a=this.props,n=a.id,s=a.scopes,u=a.authorizationUrl,c=a.flow,d=a.defaultValues;if(!u)return React.createElement(form_1.FormError,null,"No flow info");var p=(0,utils_1.fromStorage)("auth."+n+".token")||JSON.stringify(null==d?void 0:d.token);p=p?JSON.parse(p):"";var h=(0,utils_1.getSecurityDetailsOptions)(n,"client_id"),m={field:"auth."+n+".client_id",fullWidth:!0,initialValue:(0,utils_1.fromStorage)("auth."+n+".client_id")||this.props.clientId||(null==d?void 0:d.client_id),initValue:(0,utils_1.fromStorage)("auth."+n+".client_id")||this.props.clientId||(null==d?void 0:d.client_id),placeholder:"Your OAuth2 app Client ID",validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement("div",null,React.createElement(form_1.FormWrapper,null,React.createElement(form_1.FormControl,null,React.createElement(form_1.FormLabel,null," Client ID: "),h?React.createElement(TextField_1.FormDropdown,(0,tslib_1.__assign)({},m,{options:h})):React.createElement(TextField_1.FormTextField,(0,tslib_1.__assign)({},m,{"data-cy":"client-id-input"}))),"authorizationCode"===c&&React.createElement(form_1.FormControl,null,React.createElement(form_1.FormLabel,null,"Client Secret:"),React.createElement(TextField_1.FormTextField,{type:"password",fullWidth:!0,field:"auth."+n+".client_secret",initialValue:(0,utils_1.fromStorage)("auth."+n+".client_secret")||(null==d?void 0:d.client_secret),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0,"data-cy":"client-secret-input"})),React.createElement(TextField_1.FormTextField,{fullWidth:!0,field:"auth."+n+".token",type:"hidden",initialValue:p,validate:requiredValidator}),React.createElement(Scope_1.default,{id:n,scopes:s}),this.values.token&&this.values.token.access_token?React.createElement(form_1.FormControl,null,React.createElement(form_1.FormLabel,null," Access Token: "),React.createElement(TextField_1.TextField,{disabled:!0,type:"password",fullWidth:!0,value:this.values.token.access_token})):null),React.createElement(ButtonsWrapper,null,this.values.token&&this.values.token.access_token?React.createElement(shared_1.Button,{fullWidth:!0,onClick:function(){r.handleLogout()}},"Log out"):React.createElement(React.Fragment,null,o?React.createElement(React.Fragment,null,React.createElement(shared_1.Button,{fullWidth:!0,onClick:function(){r.handleCancel()}},"Cancel"),React.createElement(LinearProgress_1.LinearProgress,null)):React.createElement(shared_1.Button,{fullWidth:!0,disabled:(null===(t=null===(e=this.props)||void 0===e?void 0:e.formApi)||void 0===t?void 0:t.getTouched("auth."+n+".client_id"))&&!this.values.client_id,onClick:function(){r.handleAuthorize(u)}},"Authorize"))),o||i||!this.values.token||!this.values.token.access_token&&React.createElement(form_1.FormWrapper,null,React.createElement(form_1.FormControl,null,o?React.createElement(form_1.FormWarning,null,"Please, finish your authorization flow or cancel authorization."):i?React.createElement(React.Fragment,null,React.createElement(OriginalErrorMessage,null,React.createElement(form_1.FormError,null,i))):this.values.token&&this.values.token.access_token?null:React.createElement(form_1.FormWarning,null," No Access Token. Please, Authorize. "))))}}),Object.defineProperty(t,"contextType",{enumerable:!0,configurable:!0,writable:!0,value:redoc_lib_1.OptionsContext}),t}(React.Component);exports.OAuth2Flow=OAuth2Flow;var templateObject_1,templateObject_2,OriginalErrorMessage=redoc_lib_1.styled.div(templateObject_1||(templateObject_1=(0,tslib_1.__makeTemplateObject)(["\n font-family: monospace;\n margin-top: 10px;\n line-height: 1;\n padding-left: 10px;\n border-left: 1px solid gray;\n"],["\n font-family: monospace;\n margin-top: 10px;\n line-height: 1;\n padding-left: 10px;\n border-left: 1px solid gray;\n"]))),ButtonsWrapper=redoc_lib_1.styled.div(templateObject_2||(templateObject_2=(0,tslib_1.__makeTemplateObject)(["\n margin-bottom: 15px;\n"],["\n margin-bottom: 15px;\n"])));
|
|
2
2
|
//# sourceMappingURL=OAuth2Flow.js.map
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import { SecurityDetails } from '../../utils';
|
|
2
3
|
export interface OAuth2TokenInputProps {
|
|
3
4
|
flow: {
|
|
4
5
|
refreshUrl?: string;
|
|
@@ -14,6 +15,7 @@ export interface OAuth2TokenInputProps {
|
|
|
14
15
|
};
|
|
15
16
|
formApi: any;
|
|
16
17
|
clientId?: string;
|
|
18
|
+
defaultValues?: SecurityDetails;
|
|
17
19
|
}
|
|
18
20
|
interface OAuth2TokenInputState {
|
|
19
21
|
error: string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.OAuth2TokenInput=void 0;var tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),form_1=require("../common/form"),utils_1=require("../../utils"),Scope_1=(0,tslib_1.__importDefault)(require("./Scope")),OAuth2_1=require("../../services/OAuth2"),shared_1=require("../shared"),TextField_1=require("../common/TextField"),utils_2=require("./utils");function validateToken(e){if(!e)return"Token is required"}var OAuth2TokenInput=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"state",{enumerable:!0,configurable:!0,writable:!0,value:{error:"",loading:!1,tokenMasked:!0}}),Object.defineProperty(t,"clearToken",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.props.formApi.setValue("auth."+t.props.id+".token",""),(0,utils_1.toStorage)("auth."+t.props.id+".token","")}}),Object.defineProperty(t,"toggleTokenMask",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.setState({tokenMasked:!t.state.tokenMasked})}}),Object.defineProperty(t,"requestToken",{enumerable:!0,configurable:!0,writable:!0,value:function(){return(0,tslib_1.__awaiter)(t,void 0,void 0,(function(){var e,t,r,o,i,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.OAuth2TokenInput=void 0;var tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),form_1=require("../common/form"),utils_1=require("../../utils"),Scope_1=(0,tslib_1.__importDefault)(require("./Scope")),OAuth2_1=require("../../services/OAuth2"),shared_1=require("../shared"),TextField_1=require("../common/TextField"),utils_2=require("./utils");function validateToken(e){if(!e)return"Token is required"}var OAuth2TokenInput=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"state",{enumerable:!0,configurable:!0,writable:!0,value:{error:"",loading:!1,tokenMasked:!0}}),Object.defineProperty(t,"clearToken",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.props.formApi.setValue("auth."+t.props.id+".token",""),(0,utils_1.toStorage)("auth."+t.props.id+".token","")}}),Object.defineProperty(t,"toggleTokenMask",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.setState({tokenMasked:!t.state.tokenMasked})}}),Object.defineProperty(t,"requestToken",{enumerable:!0,configurable:!0,writable:!0,value:function(){return(0,tslib_1.__awaiter)(t,void 0,void 0,(function(){var e,t,r,o,l,i,n,a=this;return(0,tslib_1.__generator)(this,(function(s){switch(s.label){case 0:return this.state.loading?[2]:(e=this.props,t=e.server,r=e.flow,o=e.authCorsProxyUrl,l=o&&r.tokenUrl?o+(0,utils_2.normalizeUrlProtocol)(r.tokenUrl):r.tokenUrl,this.errors.client_id||this.errors.client_secret?(console.log("Provide client_id and client_secret"),[2]):(i=this.values.client_id,n=this.values.client_secret,i&&n?(this.setState({loading:!0}),[4,OAuth2_1.OAuth2.authorizeClientCredentials({tokenUrl:l.startsWith("http")?l:t+l,clientId:i,clientSecret:n,scopes:this.values.scopes,successCallback:function(e){a.props.formApi.setValue("auth."+a.props.id+".token",e),a.setState({loading:!1})},errorCallback:function(e){a.clearToken(),a.setState({error:e.message,loading:!1})}})]):(console.log("Provide client_id and client_secret"),[2])));case 1:return s.sent(),[2]}}))}))}}),t}return(0,tslib_1.__extends)(t,e),Object.defineProperty(t.prototype,"values",{get:function(){return this.props.form.values&&this.props.form.values.auth&&this.props.form.values.auth[this.props.id]||{}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"errors",{get:function(){return this.props.form.errors&&this.props.form.errors.auth&&this.props.form.errors.auth[this.props.id]||{}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.state,t=e.loading,r=e.error,o=e.tokenMasked,l=this.props,i=l.id,n=l.defaultValues,a=Object.keys(this.props.flow.scopes),s=(0,utils_1.fromStorage)("auth."+i+".token")||JSON.stringify(null==n?void 0:n.token);s=s?JSON.parse(s):"";var u=(0,utils_1.getSecurityDetailsOptions)(i,"client_id"),c={field:"auth."+i+".client_id",fullWidth:!0,initialValue:(0,utils_1.fromStorage)("auth."+i+".client_id")||this.props.clientId||(null==n?void 0:n.client_id),initValue:(0,utils_1.fromStorage)("auth."+i+".client_id")||this.props.clientId||(null==n?void 0:n.client_id),placeholder:"Your OAuth2 app Client ID"};return React.createElement(React.Fragment,null,React.createElement(form_1.FormWrapper,null,React.createElement(form_1.FormControl,null,React.createElement(form_1.FormLabel,null,"Client ID:"),u?React.createElement(TextField_1.FormDropdown,(0,tslib_1.__assign)({},c,{options:u})):React.createElement(TextField_1.FormTextField,(0,tslib_1.__assign)({},c,{type:"password"}))),React.createElement(form_1.FormControl,null,React.createElement(form_1.FormLabel,null,"Client Secret:"),React.createElement(TextField_1.FormTextField,{type:"password",fullWidth:!0,field:"auth."+i+".client_secret",initialValue:(0,utils_1.fromStorage)("auth."+i+".client_secret")||(null==n?void 0:n.client_secret)})),React.createElement(TextField_1.FormTextField,{fullWidth:!0,field:"auth."+i+".token",type:"hidden",initialValue:s,validate:validateToken}),React.createElement(Scope_1.default,{id:i,scopes:a})),React.createElement(shared_1.Button,{color:"primary",onClick:this.requestToken,blinking:t},t?"Loading...":"Request Token"),React.createElement(form_1.FormHeader,null," Access Token "),r?React.createElement(form_1.FormError,{style:{marginBottom:"1em"}},"Failed to request token: ",React.createElement("pre",null,r)," "):this.values.token&&this.values.token.access_token?React.createElement(form_1.TokenField,null,React.createElement(form_1.TokenValue,{length:this.values.token.access_token.length,masked:o},this.values.token.access_token),React.createElement(form_1.TokenShowHide,{onClick:this.toggleTokenMask},o?"Show":"Hide"," "),React.createElement(form_1.TokenClear,{onClick:this.clearToken}," Clear ")):React.createElement(form_1.FormError,{style:{marginBottom:"1em"}},"No token"))}}),t}(React.Component);exports.OAuth2TokenInput=OAuth2TokenInput,exports.default=OAuth2TokenInput;
|
|
2
2
|
//# sourceMappingURL=OAuth2TokenInput.js.map
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { FormApi, FormState } from 'informed';
|
|
3
3
|
import { SecurityScheme } from '../../redoc-lib';
|
|
4
|
+
import { SecurityDetails } from '../../utils';
|
|
4
5
|
export interface OpenIDConnectProps {
|
|
5
6
|
server: string;
|
|
6
7
|
authCorsProxyUrl: Maybe<string>;
|
|
@@ -9,5 +10,6 @@ export interface OpenIDConnectProps {
|
|
|
9
10
|
formApi: FormApi;
|
|
10
11
|
scheme: SecurityScheme;
|
|
11
12
|
clientId?: string;
|
|
13
|
+
defaultValues?: SecurityDetails;
|
|
12
14
|
}
|
|
13
15
|
export declare function OpenIDConnect(props: OpenIDConnectProps): JSX.Element;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.OpenIDConnect=void 0;var tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),redoc_lib_1=require("../../redoc-lib"),OpenIDConnect_1=require("../../services/OpenIDConnect"),OAuth2Flow_1=require("./OAuth2Flow"),LinearProgress_1=require("../common/LinearProgress"),form_1=require("../common/form");function OpenIDConnect(e){var t,r=this,n=e.scheme,o=React.useState({}),a
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.OpenIDConnect=void 0;var tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),redoc_lib_1=require("../../redoc-lib"),OpenIDConnect_1=require("../../services/OpenIDConnect"),OAuth2Flow_1=require("./OAuth2Flow"),LinearProgress_1=require("../common/LinearProgress"),form_1=require("../common/form");function OpenIDConnect(e){var t,r=this,n=e.scheme,o=e.defaultValues,a=React.useState({}),l=a[0],c=a[1],i=React.useState(),s=i[0],u=i[1],m=React.useState(!1),p=m[0],d=m[1];React.useEffect((function(){_(n.openIdConnectUrl)}),[n.openIdConnectUrl]);var _=function(e){return(0,tslib_1.__awaiter)(r,void 0,void 0,(function(){var t,r;return(0,tslib_1.__generator)(this,(function(n){switch(n.label){case 0:d(!0),u(""),n.label=1;case 1:return n.trys.push([1,3,,4]),[4,(0,OpenIDConnect_1.discoverOpenIDConnect)(e)];case 2:return t=n.sent(),c(t),[3,4];case 3:return r=n.sent(),u(r.message),[3,4];case 4:return d(!1),[2]}}))}))};return React.createElement("div",null,p?React.createElement("div",null,React.createElement("div",null,"Fetching OpenID Connect metadata..."),React.createElement(LinearProgress_1.LinearProgress,null)):React.createElement("div",null,s?React.createElement(form_1.FormError,null,s):(null===(t=null==l?void 0:l.response_types_supported)||void 0===t?void 0:t.includes("token"))?React.createElement(React.Fragment,null,React.createElement(FlowName,null,"OAuth2 Implicit Flow"),React.createElement(OAuth2Flow_1.OAuth2Flow,{key:e.id,authorizationUrl:l.authorization_endpoint,authCorsProxyUrl:e.authCorsProxyUrl,scopes:l.scopes_supported,server:e.server,id:e.id,form:e.form,formApi:e.formApi,clientId:e.clientId,flow:"implicit",defaultValues:o})):React.createElement("div",null,"Unsupported flow")))}exports.OpenIDConnect=OpenIDConnect;var templateObject_1,FlowName=redoc_lib_1.styled.div(templateObject_1||(templateObject_1=(0,tslib_1.__makeTemplateObject)(["\n margin-top: 5px;\n margin-bottom: 10px;\n"],["\n margin-top: 5px;\n margin-bottom: 10px;\n"])));
|
|
2
2
|
//# sourceMappingURL=OpenIDConnect.js.map
|
|
@@ -9,4 +9,4 @@ export declare enum SchemaType {
|
|
|
9
9
|
ARRAY = "array",
|
|
10
10
|
OBJECT = "object"
|
|
11
11
|
}
|
|
12
|
-
export declare function OperationParameters(
|
|
12
|
+
export declare function OperationParameters({ values, operation }: OperationParametersProps): JSX.Element;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.OperationParameters=exports.SchemaType=void 0;var SchemaType,tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),utils_1=require("../../utils"),form_1=require("../common/form"),TextField_1=require("../common/TextField"),ParameterDropdown_1=require("./ParameterDropdown");!function(e){e.ARRAY="array",e.OBJECT="object"}(SchemaType=exports.SchemaType||(exports.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}function OperationParameters(e){function
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.OperationParameters=exports.SchemaType=void 0;var SchemaType,tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),utils_1=require("../../utils"),form_1=require("../common/form"),TextField_1=require("../common/TextField"),ParameterDropdown_1=require("./ParameterDropdown");!function(e){e.ARRAY="array",e.OBJECT="object"}(SchemaType=exports.SchemaType||(exports.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}function OperationParameters(e){var a=e.values;function r(e,t,m){var n,i=m?(0,utils_1.dottedString)(m,e.name):e.name,c=function(e){var a=e.oneOfType,r=e.type,t=e.items;return a||r===SchemaType.ARRAY&&(null==t?void 0:t.type)===SchemaType.OBJECT&&"Array of objects"}(e.schema);if(c&&console.warn('Unsupported parameter definition: "'+c+'"'),e.schema.type===SchemaType.OBJECT)return null===(n=e.schema.fields)||void 0===n?void 0:n.map((function(e){return r(e,t,i)}));var o=m?[t,m]:[e.in],l=utils_1.dottedString.apply(void 0,(0,tslib_1.__spreadArray)((0,tslib_1.__spreadArray)([],o,!1),[e.name],!1));return React.createElement(form_1.FormControl,{key:l},React.createElement(form_1.FormLabel,{required:e.required},i,":"),c?React.createElement(form_1.FormWarning,null,"Unsupported field schema definition"):function(e,r){var t=React.useMemo((function(){return createValidator(r)}),[r]),m=Array.isArray(r.schema.enum)&&r.schema.enum.length?r.schema.enum:void 0,n=getInitialValue(r);return m?React.createElement(form_1.FormControl,null,React.createElement(ParameterDropdown_1.ParameterEnumDropdown,{initValue:n,paramEnum:m,field:e})):React.createElement(TextField_1.FormTextField,{fullWidth:!0,"data-cy":"parameter-input",id:e,field:e,placeholder:placeholder(r),validate:t,initialValue:n||(0,utils_1.get)(a,e),validateOnBlur:!0,validateOnChange:!0})}(l,e))}var t=orderParams(e.operation.parameters||[]);return React.createElement(form_1.Table,null,PARAM_PLACES.map((function(e){return function(e,a){return a&&a.length?React.createElement(React.Fragment,{key:e},React.createElement(form_1.FormControl,null,React.createElement(form_1.GroupLabel,null," # ",e," parameters "),React.createElement("span",null," ")),a.map((function(a){return r(a,e)}))):null}(e,t[e])})))}exports.OperationParameters=OperationParameters;
|
|
2
2
|
//# sourceMappingURL=OperationParameters.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var _this=this;Object.defineProperty(exports,"__esModule",{value:!0}),exports.RequestBody=void 0;var tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),react_1=require("react"),mobx_react_1=require("mobx-react"),deepmerge_1=(0,tslib_1.__importDefault)(require("deepmerge")),redoc_lib_1=require("../../redoc-lib"),CodemirrorInput_1=(0,tslib_1.__importDefault)(require("./CodemirrorInput")),RequestMimeLabel_1=require("./RequestMimeLabel"),Samples_1=require("../Samples"),utils_1=require("../../services/utils"),
|
|
1
|
+
"use strict";var _this=this;Object.defineProperty(exports,"__esModule",{value:!0}),exports.RequestBody=void 0;var tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),react_1=require("react"),mobx_react_1=require("mobx-react"),deepmerge_1=(0,tslib_1.__importDefault)(require("deepmerge")),redoc_lib_1=require("../../redoc-lib"),CodemirrorInput_1=(0,tslib_1.__importDefault)(require("./CodemirrorInput")),RequestMimeLabel_1=require("./RequestMimeLabel"),Samples_1=require("../Samples"),utils_1=require("../../services/utils"),RequestBodyForm_1=require("./RequestBodyForm"),helper_1=require("../common/FileUpload/helper"),models_1=require("../../models");exports.RequestBody=(0,mobx_react_1.observer)((function(e){var r,t,a=e.properties,o=void 0===a?{}:a,i=(0,tslib_1.__rest)(e,["properties"]),l=function(e){var r,t=i.body.content;if(!t||!t.hasSample)return"";var a=null===(r=t.active)||void 0===r?void 0:r.examples;if(!(null==a?void 0:a[e]))return"";var l=(0,deepmerge_1.default)(null==a?void 0:a[e].value,o,{arrayMerge:utils_1.arrayMerge});return JSON.stringify(l,null,2)},n=null===(t=null===(r=i.body.content)||void 0===r?void 0:r.operation)||void 0===t?void 0:t.activeExampleName,u=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",l(e))},d=function(e){if(!e)return"";if("application/x-www-form-urlencoded"===e.mime)return e.value;var r=(0,deepmerge_1.default)(e.value,o,{arrayMerge:utils_1.arrayMerge});return JSON.stringify(r,null,2)},s=function(e,r){return(0,tslib_1.__awaiter)(void 0,void 0,void 0,(function(){var t;return(0,tslib_1.__generator)(this,(function(a){return t=i.console.formApi,(0,t.setValue)("body."+e,r),[2]}))}))};(0,react_1.useEffect)((function(){n&&i.console.formApi.setValue("body",l(n))}),[n]);var m=i.validate,c=i.body;return React.createElement(React.Fragment,null,React.createElement(redoc_lib_1.MediaTypesSwitch,{content:c.content,renderDropdown:function(e){return React.createElement(redoc_lib_1.DropdownOrLabel,(0,tslib_1.__assign)({},e,{variant:"dark",fullWidth:!0,Label:RequestMimeLabel_1.RequestMimeLabel,Dropdown:redoc_lib_1.Dropdown}))}},(function(e){var r,t=e.examples||{},a=Object.keys(t);i.resolvedBody&&(r=(i.resolvedBody.content[e.name]||{}).schema);var o=(0,helper_1.isRootFileUpload)(r,e.name)||e.name===models_1.MediaTypes.MULTIPART||e.name===models_1.MediaTypes.URL_ENCODED,l=(0,Samples_1.useExampleKey)(e.operation,t).exampleKey,n=t[l];return React.createElement(React.Fragment,null,a.length&&1!==a.length&&React.createElement(Samples_1.ExampleSwitch,{examples:t,onChange:u,exampleKey:l})||null,o?React.createElement(RequestBodyForm_1.RequestBodyForm,{schema:r,mediaType:e,onChange:s.bind(_this)}):React.createElement(CodemirrorInput_1.default,{id:"body"+i.id,field:"body",initialValue:d(n),schema:r,mode:e.name,validate:m}))})))}));
|
|
2
2
|
//# sourceMappingURL=RequestBody.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { MediaTypeModel, OpenAPISchema } from '../../redoc-lib';
|
|
3
|
+
export declare function RequestBodyForm(props: {
|
|
4
|
+
schema: OpenAPISchema;
|
|
5
|
+
mediaType: MediaTypeModel;
|
|
6
|
+
onChange: React.ChangeEventHandler<HTMLInputElement>;
|
|
7
|
+
}): JSX.Element | null;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.RequestBodyForm=void 0;var tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),helper_1=require("../common/FileUpload/helper"),form_1=require("../common/form"),redoc_lib_1=require("../../redoc-lib"),FileUpload_1=require("../common/FileUpload"),TextField_1=require("../common/TextField"),models_1=require("../../models");function RequestBodyForm(e){var t=e.schema,l=void 0===t?{}:t,r=e.mediaType,o=e.onChange,n=l.properties||{};return(0,helper_1.isRootFileUpload)(l,r.name)?React.createElement(FileFormControlWrapper,null,React.createElement(form_1.FormControl,null,React.createElement(StyledFileUpload,{fullWidth:!0,id:"body."+r.name,name:"body."+r.name,accept:(0,helper_1.mimeTypeToAccept)(r.name),schema:l,contentName:r.name,onChange:o}))):l.type===models_1.DefinitionTypes.OBJECT&&n?React.createElement(FileFormControlWrapper,null,Object.entries(n).map((function(e){var t=e[0],n=e[1],a=r.name===models_1.MediaTypes.MULTIPART&&(0,helper_1.isMultipartFileUploadProperty)(n),i=n.contentMediaType||"",m=a?React.createElement(StyledFileUpload,{fullWidth:!0,id:"body."+t,name:"body."+t,accept:(0,helper_1.mimeTypeToAccept)(i),multiple:"array"===n.type,schema:l,contentName:t,onChange:o}):React.createElement(TextField_1.FormTextField,{fullWidth:!0,id:"body."+t,field:"body."+t,placeholder:n.description||t});return React.createElement(form_1.FormControl,{key:t},React.createElement(form_1.FormLabel,null,t,":"),m)}))):(console.warn('Invalid schema for request body and mime type: "'+r.name+'"',l),null)}exports.RequestBodyForm=RequestBodyForm;var templateObject_1,templateObject_2,FileFormControlWrapper=redoc_lib_1.styled.div(templateObject_1||(templateObject_1=(0,tslib_1.__makeTemplateObject)(["\n > div {\n margin-top: 10px;\n }\n"],["\n > div {\n margin-top: 10px;\n }\n"]))),StyledFileUpload=(0,redoc_lib_1.styled)(FileUpload_1.FileUpload)(templateObject_2||(templateObject_2=(0,tslib_1.__makeTemplateObject)(["\n ","\n ",";\n ","\n"],["\n ","\n ",";\n ","\n"])),TextField_1.invertedInputStyles,(function(e){return"password"===e.inputType?"padding-right: 40px;":""}),(function(e){return e.fullWidth?"width: 100%;":""}));
|
|
2
|
+
//# sourceMappingURL=RequestBodyForm.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
export interface
|
|
3
|
-
body?:
|
|
2
|
+
export interface OpenApiResponseData {
|
|
3
|
+
body?: GenericObject;
|
|
4
4
|
data: string;
|
|
5
5
|
ok: boolean;
|
|
6
6
|
status: number;
|
|
@@ -9,9 +9,9 @@ export interface SwaggerResponse {
|
|
|
9
9
|
parseError?: Error;
|
|
10
10
|
}
|
|
11
11
|
export interface ResponsePanelProps {
|
|
12
|
-
response?:
|
|
12
|
+
response?: OpenApiResponseData;
|
|
13
13
|
error?: Error & {
|
|
14
|
-
response?:
|
|
14
|
+
response?: OpenApiResponseData;
|
|
15
15
|
};
|
|
16
16
|
time?: number;
|
|
17
17
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ResponsePanel=void 0;var templateObject_1,templateObject_2,templateObject_3,templateObject_4,templateObject_5,templateObject_6,templateObject_7,templateObject_8,tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),redoc_lib_1=require("../../redoc-lib"),common_elements_1=require("../../redoc-lib/src/common-elements"),ResponseBadges=redoc_lib_1.styled.div(templateObject_1||(templateObject_1=(0,tslib_1.__makeTemplateObject)(["\n margin-bottom: 10px;\n"],["\n margin-bottom: 10px;\n"]))),ResponseBadgeBase=redoc_lib_1.styled.div(templateObject_2||(templateObject_2=(0,tslib_1.__makeTemplateObject)(["\n display: inline-block;\n margin-right: 20px;\n padding: 2px 0;\n text-align: center;\n color: ",";\n"],["\n display: inline-block;\n margin-right: 20px;\n padding: 2px 0;\n text-align: center;\n color: ",";\n"])),(function(e){return e.theme.colors.text.light})),ResponseBadge=(0,redoc_lib_1.styled)(ResponseBadgeBase)(templateObject_3||(templateObject_3=(0,tslib_1.__makeTemplateObject)(["\n color: ",";\n"],["\n color: ",";\n"])),(function(e){var t=e.theme,n=e.code;return n>=200&&n<300?t.colors.responses.success.tabTextColor:n>=300&&n<400?t.colors.responses.redirect.tabTextColor:n>400?t.colors.responses.error.tabTextColor:t.colors.responses.info.tabTextColor})),HeaderName=redoc_lib_1.styled.strong(templateObject_4||(templateObject_4=(0,tslib_1.__makeTemplateObject)(["\n text-transform: capitalize;\n display: inline-block;\n padding-right: 5px;\n"],["\n text-transform: capitalize;\n display: inline-block;\n padding-right: 5px;\n"]))),ErrorHeader=redoc_lib_1.styled.header(templateObject_5||(templateObject_5=(0,tslib_1.__makeTemplateObject)(["\n font-weight: bold;\n margin-bottom: 10px;\n"],["\n font-weight: bold;\n margin-bottom: 10px;\n"]))),ErrorDetails=redoc_lib_1.styled.code(templateObject_6||(templateObject_6=(0,tslib_1.__makeTemplateObject)(["\n border-left: 3px solid #ff4040;\n padding-left: 5px;\n"],["\n border-left: 3px solid #ff4040;\n padding-left: 5px;\n"]))),ResponseHeader=redoc_lib_1.styled.div(templateObject_7||(templateObject_7=(0,tslib_1.__makeTemplateObject)(["\n margin-bottom: 10px;\n\n &:not(:first-child) {\n margin-top: 10px;\n }\n"],["\n margin-bottom: 10px;\n\n &:not(:first-child) {\n margin-top: 10px;\n }\n"]))),PanelStyledPre=(0,redoc_lib_1.styled)(common_elements_1.StyledPre)(templateObject_8||(templateObject_8=(0,tslib_1.__makeTemplateObject)(["\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n"],["\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n"]))),ResponsePanel=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return(0,tslib_1.__extends)(t,e),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e,t=this.props,n=t.error,l=t.response,a=t.time,r=l||n&&n.response,o=r&&r.data&&r.data.length||0;if(e=o>1e6?(o/1e6).toFixed(2)+" MB":o>1e3?(o/1e3).toFixed(2)+" KB":o+" B",n&&!n.response||!r)return React.createElement(React.Fragment,null,React.createElement(ErrorHeader,null," Could not get any response "),React.createElement(ErrorDetails,null,n&&n.message||"Unknown error"),React.createElement("br",null),React.createElement(ErrorHeader,null," Why this might have happened:"),React.createElement("div",null," - CORS is misconfigured on the server"),React.createElement("div",null," - The server couldn't sent a response"),React.createElement("div",null," - No internet access"),React.createElement("div",null," - Documentation issue - contact API owner"),React.createElement("div",null," - Misconfigured security definition"));if(!r)return"Something went wrong";var c=Object.keys(r.headers);return React.createElement(React.Fragment,null,React.createElement(ResponseBadges,null,React.createElement(ResponseBadge,{code:r.status},React.createElement("span",null," Status: "),r.status," ",r.statusText),React.createElement(ResponseBadgeBase,null,React.createElement("span",null," Time: "),a,"ms"),React.createElement(ResponseBadgeBase,null,React.createElement("span",null," Size: "),e)),React.createElement("div",null,React.createElement(ResponseHeader,null," Headers: "),React.createElement(PanelStyledPre,null,c.map((function(e){return React.createElement("div",{key:e},React.createElement(HeaderName,null,e,":"),React.createElement("code",null," ",r.headers[e]))}))),React.createElement(ResponseHeader,null," Body: "),r.body&&React.createElement(redoc_lib_1.JsonViewer,{data:r.body})||null,!r.body&&null!=r.data&&(r.data?React.createElement(redoc_lib_1.SourceCodeWithCopy,{lang:(0,redoc_lib_1.langFromMime)(r.headers["Content-Type"]||"text/plain"),source:r.data}):React.createElement(PanelStyledPre,null,React.createElement("i",null,"(no content)")))||null))}}),t}(React.PureComponent);exports.ResponsePanel=ResponsePanel;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ResponsePanel=void 0;var templateObject_1,templateObject_2,templateObject_3,templateObject_4,templateObject_5,templateObject_6,templateObject_7,templateObject_8,tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),redoc_lib_1=require("../../redoc-lib"),common_elements_1=require("../../redoc-lib/src/common-elements"),ResponseBadges=redoc_lib_1.styled.div(templateObject_1||(templateObject_1=(0,tslib_1.__makeTemplateObject)(["\n margin-bottom: 10px;\n"],["\n margin-bottom: 10px;\n"]))),ResponseBadgeBase=redoc_lib_1.styled.div(templateObject_2||(templateObject_2=(0,tslib_1.__makeTemplateObject)(["\n display: inline-block;\n margin-right: 20px;\n padding: 2px 0;\n text-align: center;\n color: ",";\n"],["\n display: inline-block;\n margin-right: 20px;\n padding: 2px 0;\n text-align: center;\n color: ",";\n"])),(function(e){return e.theme.colors.text.light})),ResponseBadge=(0,redoc_lib_1.styled)(ResponseBadgeBase)(templateObject_3||(templateObject_3=(0,tslib_1.__makeTemplateObject)(["\n color: ",";\n"],["\n color: ",";\n"])),(function(e){var t=e.theme,n=e.code;return n>=200&&n<300?t.colors.responses.success.tabTextColor:n>=300&&n<400?t.colors.responses.redirect.tabTextColor:n>400?t.colors.responses.error.tabTextColor:t.colors.responses.info.tabTextColor})),HeaderName=redoc_lib_1.styled.strong(templateObject_4||(templateObject_4=(0,tslib_1.__makeTemplateObject)(["\n text-transform: capitalize;\n display: inline-block;\n padding-right: 5px;\n"],["\n text-transform: capitalize;\n display: inline-block;\n padding-right: 5px;\n"]))),ErrorHeader=redoc_lib_1.styled.header(templateObject_5||(templateObject_5=(0,tslib_1.__makeTemplateObject)(["\n font-weight: bold;\n margin-bottom: 10px;\n"],["\n font-weight: bold;\n margin-bottom: 10px;\n"]))),ErrorDetails=redoc_lib_1.styled.code(templateObject_6||(templateObject_6=(0,tslib_1.__makeTemplateObject)(["\n border-left: 3px solid #ff4040;\n padding-left: 5px;\n"],["\n border-left: 3px solid #ff4040;\n padding-left: 5px;\n"]))),ResponseHeader=redoc_lib_1.styled.div(templateObject_7||(templateObject_7=(0,tslib_1.__makeTemplateObject)(["\n margin-bottom: 10px;\n\n &:not(:first-child) {\n margin-top: 10px;\n }\n"],["\n margin-bottom: 10px;\n\n &:not(:first-child) {\n margin-top: 10px;\n }\n"]))),PanelStyledPre=(0,redoc_lib_1.styled)(common_elements_1.StyledPre)(templateObject_8||(templateObject_8=(0,tslib_1.__makeTemplateObject)(["\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n"],["\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n"]))),ResponsePanel=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return(0,tslib_1.__extends)(t,e),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e,t=this.props,n=t.error,l=t.response,a=t.time,r=l||n&&n.response,o=r&&r.data&&r.data.length||0;if(e=o>1e6?(o/1e6).toFixed(2)+" MB":o>1e3?(o/1e3).toFixed(2)+" KB":o+" B",n&&!n.response||!r)return React.createElement(React.Fragment,null,React.createElement(ErrorHeader,null," Could not get any response "),React.createElement(ErrorDetails,null,n&&n.message||"Unknown error"),React.createElement("br",null),React.createElement(ErrorHeader,null," Why this might have happened:"),React.createElement("div",null," - CORS is misconfigured on the server"),React.createElement("div",null," - ","The server couldn't sent a response"),React.createElement("div",null," - No internet access"),React.createElement("div",null," - Documentation issue - contact API owner"),React.createElement("div",null," - Misconfigured security definition"));if(!r)return"Something went wrong";var c=Object.keys(r.headers);return React.createElement(React.Fragment,null,React.createElement(ResponseBadges,null,React.createElement(ResponseBadge,{code:r.status},React.createElement("span",null," Status: "),r.status," ",r.statusText),React.createElement(ResponseBadgeBase,null,React.createElement("span",null," Time: "),a,"ms"),React.createElement(ResponseBadgeBase,null,React.createElement("span",null," Size: "),e)),React.createElement("div",null,React.createElement(ResponseHeader,null," Headers: "),React.createElement(PanelStyledPre,null,c.map((function(e){return React.createElement("div",{key:e},React.createElement(HeaderName,null,e,":"),React.createElement("code",null," ",r.headers[e]))}))),React.createElement(ResponseHeader,null," Body: "),r.body&&React.createElement(redoc_lib_1.JsonViewer,{data:r.body})||null,!r.body&&null!=r.data&&(r.data?React.createElement(redoc_lib_1.SourceCodeWithCopy,{lang:(0,redoc_lib_1.langFromMime)(r.headers["Content-Type"]||"text/plain"),source:r.data}):React.createElement(PanelStyledPre,null,React.createElement("i",null,"(no content)")))||null))}}),t}(React.PureComponent);exports.ResponsePanel=ResponsePanel;
|
|
2
2
|
//# sourceMappingURL=ResponsePanel.js.map
|
|
@@ -22,4 +22,4 @@ export declare class ServerChooser extends React.Component<ServerDropdownProps,
|
|
|
22
22
|
componentDidMount(): void;
|
|
23
23
|
render(): JSX.Element;
|
|
24
24
|
}
|
|
25
|
-
export declare function expandVariables(url: string, variables?:
|
|
25
|
+
export declare function expandVariables(url: string, variables?: GenericObject): string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.expandVariables=exports.ServerChooser=void 0;var tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),redoc_lib_1=require("../../redoc-lib"),mobx_react_1=require("mobx-react"),utils_1=require("../../utils"),ServerVariable_1=(0,tslib_1.__importDefault)(require("./ServerVariable")),form_1=require("../common/form"),ServerDropdownWrap=redoc_lib_1.styled.div(templateObject_1||(templateObject_1=(0,tslib_1.__makeTemplateObject)(["\n margin-top: 20px;\n"],["\n margin-top: 20px;\n"]))),ServerChooser=function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(r,"state",{enumerable:!0,configurable:!0,writable:!0,value:{activeIdx:0,variables:{}}}),Object.defineProperty(r,"handleChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var a=r.props.operation.servers.find((function(r){return r.url===e.serverUrl})),t=a&&getVariables(a)||{};r.props.onChange({url:e.serverUrl,variables:t}),(0,utils_1.toStorage)("serverUrl",e.serverUrl),r.setState({variables:t})}}),Object.defineProperty(r,"handleVariableChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e,a){var t,i,n=(0,tslib_1.__assign)((0,tslib_1.__assign)({},r.state.variables),((t={})[e]=a,t));r.setState({variables:n});var
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.expandVariables=exports.ServerChooser=void 0;var tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),redoc_lib_1=require("../../redoc-lib"),mobx_react_1=require("mobx-react"),utils_1=require("../../utils"),ServerVariable_1=(0,tslib_1.__importDefault)(require("./ServerVariable")),form_1=require("../common/form"),ServerDropdownWrap=redoc_lib_1.styled.div(templateObject_1||(templateObject_1=(0,tslib_1.__makeTemplateObject)(["\n margin-top: 20px;\n"],["\n margin-top: 20px;\n"]))),ServerChooser=function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(r,"state",{enumerable:!0,configurable:!0,writable:!0,value:{activeIdx:0,variables:{}}}),Object.defineProperty(r,"handleChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var a=r.props.operation.servers.find((function(r){return r.url===e.serverUrl})),t=a&&getVariables(a)||{};r.props.onChange({url:e.serverUrl,variables:t}),(0,utils_1.toStorage)("serverUrl",e.serverUrl),r.setState({variables:t})}}),Object.defineProperty(r,"handleVariableChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e,a){var t,i,n=(0,tslib_1.__assign)((0,tslib_1.__assign)({},r.state.variables),((t={})[e]=a,t));r.setState({variables:n});var l=(0,utils_1.fromStorage)("variables"),s=l&&JSON.parse(l)||{};(0,utils_1.toStorage)("variables",JSON.stringify((0,tslib_1.__assign)((0,tslib_1.__assign)({},s),((i={})[e]=a,i))));var o=r.props.operation.servers[r.state.activeIdx];r.props.onChange((0,tslib_1.__assign)((0,tslib_1.__assign)({},o),{variables:n}))}}),r}return(0,tslib_1.__extends)(r,e),Object.defineProperty(r,"getDerivedStateFromProps",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var r=e.operation,a=(0,utils_1.fromStorage)("serverUrl"),t=r.servers.findIndex((function(e){return e.url===a}));return{activeIdx:t<0?0:t}}}),Object.defineProperty(r.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.props.operation.servers[this.state.activeIdx],r=getVariables(e);this.props.onChange((0,tslib_1.__assign)((0,tslib_1.__assign)({},e),{variables:r})),this.setState({variables:r})}}),Object.defineProperty(r.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,r=this.state.activeIdx,a=this.props.operation.servers.map((function(r){return{serverUrl:r.url,value:"\n "+expandDefaultServerVariables(expandVariables(r.url,e.state.variables),r.variables)+"\n - "+(r.description||"Default")+"\n "}})),t=Object.keys(this.state.variables);return React.createElement(ServerDropdownWrap,null,React.createElement(form_1.FormLabel,{htmlFor:"server"},"Target server: "),React.createElement(form_1.FormControl,null,React.createElement(redoc_lib_1.Dropdown,{openUp:!0,variant:"dark",value:a[r].value,options:a,onChange:this.handleChange})),t.length?t.map((function(r){var a=e.props.operation.servers[e.state.activeIdx].variables[r];return React.createElement(ServerVariable_1.default,{key:r,name:r,value:e.state.variables[r],defaultValue:a.default,onChange:function(a){return e.handleVariableChange(r,a)},variableEnum:a.enum,description:a.description})})):null)}}),r=(0,tslib_1.__decorate)([mobx_react_1.observer],r)}(React.Component);exports.ServerChooser=ServerChooser;var templateObject_1,pathTemplateRegExp=/(?:{)(\w+)(?:})/g;function expandVariables(e,r){return void 0===r&&(r={}),e.replace(pathTemplateRegExp,(function(e,a){return r[a]||e}))}function expandDefaultServerVariables(e,r){return void 0===r&&(r={}),e.replace(pathTemplateRegExp,(function(e,a){return r[a]&&r[a].default||e}))}function getVariables(e){if(!e.variables)return{};var r=(0,utils_1.fromStorage)("variables"),a=r&&JSON.parse(r)||{},t={};return Object.keys(e.variables).forEach((function(r){t[r]=e.variables[r].default||"",Object.prototype.hasOwnProperty.call(a,r)&&(t[r]=a[r])})),(0,tslib_1.__assign)({},t)}exports.expandVariables=expandVariables;
|
|
2
2
|
//# sourceMappingURL=ServerDropdown.js.map
|
|
@@ -9,3 +9,4 @@ export { ToggleRightPanelButton, ControlsWrap, ChangeViewButton, BackgroundStub,
|
|
|
9
9
|
export { TextField } from './common/TextField';
|
|
10
10
|
export { Checkbox } from './common/Checkbox';
|
|
11
11
|
export { FormControl, FormLabel, FormError } from './common/form';
|
|
12
|
+
export { OpenApiResponseData } from './console/ResponsePanel';
|
package/lib/index.d.ts
CHANGED
|
@@ -2,5 +2,5 @@ export * from './components';
|
|
|
2
2
|
export * from './services';
|
|
3
3
|
export * from './redoc-lib';
|
|
4
4
|
export * from './models';
|
|
5
|
-
export { setSecurityDetails, setSecurityDetailsVariants, setParameterValue } from './utils';
|
|
5
|
+
export { setSecurityDetails, setSecurityDetailsVariants, setParameterValue, SecurityDetails, } from './utils';
|
|
6
6
|
export type { OAuth2 } from './services/OAuth2';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare enum DefinitionTypes {
|
|
2
|
+
STRING = "string",
|
|
3
|
+
ARRAY = "array",
|
|
4
|
+
OBJECT = "object"
|
|
5
|
+
}
|
|
6
|
+
export declare enum FileUploadFormats {
|
|
7
|
+
BYTE = "byte",
|
|
8
|
+
BASE64 = "base64",
|
|
9
|
+
BINARY = "binary"
|
|
10
|
+
}
|
|
11
|
+
export declare enum MediaTypes {
|
|
12
|
+
OCTET_STREAM = "application/octet-stream",
|
|
13
|
+
MULTIPART = "multipart/form-data",
|
|
14
|
+
URL_ENCODED = "application/x-www-form-urlencoded"
|
|
15
|
+
}
|
|
16
|
+
export declare type UploadFileType = File | File[] | string | string[];
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var DefinitionTypes,FileUploadFormats,MediaTypes;Object.defineProperty(exports,"__esModule",{value:!0}),exports.MediaTypes=exports.FileUploadFormats=exports.DefinitionTypes=void 0,function(e){e.STRING="string",e.ARRAY="array",e.OBJECT="object"}(DefinitionTypes=exports.DefinitionTypes||(exports.DefinitionTypes={})),function(e){e.BYTE="byte",e.BASE64="base64",e.BINARY="binary"}(FileUploadFormats=exports.FileUploadFormats||(exports.FileUploadFormats={})),function(e){e.OCTET_STREAM="application/octet-stream",e.MULTIPART="multipart/form-data",e.URL_ENCODED="application/x-www-form-urlencoded"}(MediaTypes=exports.MediaTypes||(exports.MediaTypes={}));
|
|
2
|
+
//# sourceMappingURL=file-upload.js.map
|
package/lib/models/index.d.ts
CHANGED
package/lib/models/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var tslib_1=require("tslib");(0,tslib_1.__exportStar)(require("./code-sample-options"),exports);
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var tslib_1=require("tslib");(0,tslib_1.__exportStar)(require("./code-sample-options"),exports),(0,tslib_1.__exportStar)(require("./file-upload"),exports);
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
1
2
|
import { FieldModel } from '../services';
|
|
2
3
|
interface LinkToFieldProps {
|
|
3
4
|
field: FieldModel;
|
|
4
5
|
className?: string;
|
|
5
6
|
children?: any;
|
|
6
7
|
}
|
|
7
|
-
export declare const LinkToField: (props: LinkToFieldProps) =>
|
|
8
|
-
export declare const ShareLinkToField: import("styled-components").StyledComponent<(props: LinkToFieldProps) =>
|
|
8
|
+
export declare const LinkToField: (props: LinkToFieldProps) => JSX.Element;
|
|
9
|
+
export declare const ShareLinkToField: import("styled-components").StyledComponent<(props: LinkToFieldProps) => JSX.Element, import("../theme").ResolvedThemeInterface, {}, never>;
|
|
9
10
|
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ShareLinkToField=exports.LinkToField=void 0;var templateObject_1,tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ShareLinkToField=exports.LinkToField=void 0;var templateObject_1,tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),components_1=require("../components"),styled_components_1=(0,tslib_1.__importDefault)(require("../styled-components")),constants_1=require("../services/constants"),linkify_1=require("./linkify"),helpers_1=require("../../../services/history/helpers"),LinkToField=function(e){var n,i,t,o=React.useContext(components_1.StoreContext),r=React.useState(!1),l=r[0],s=r[1],a=(null==o?void 0:o.menu.history.linkForId(null===(i=e.field.deps.operation)||void 0===i?void 0:i.id))||"",p=(0,helpers_1.constructFieldDeepFragment)(e.field),c=o&&p?o.menu.history.generateDeepLink(p,a):null,d=o?((n={})[constants_1.SECTION_ATTR]=(null===(t=e.field.deps.operation)||void 0===t?void 0:t.id)+o.options.deepLinkPrefix+p,n.id=c&&c.split("#")[1]||void 0,n):null;return React.useEffect((function(){if(o&&d)return s(o.menu.history.currentId===d[constants_1.SECTION_ATTR]),o.menu.history.subscribe((function(e){s(e===d[constants_1.SECTION_ATTR])}))}),[null==o?void 0:o.menu.history,null==d?void 0:d[constants_1.SECTION_ATTR]]),p&&o&&c?React.createElement("a",(0,tslib_1.__assign)({className:e.className+(l?" active":""),href:c,onClick:function(e){return function(e,n,i){n.defaultPrevented||0!==n.button||(0,linkify_1.isModifiedEvent)(n)||(n.preventDefault(),e.replaceForField(i))}(o.menu.history,e,c),e.stopPropagation(),e.preventDefault(),o.options.onDeepLinkClick&&o.options.onDeepLinkClick(c),!1}},d),e.children):e.children||null};exports.LinkToField=LinkToField,exports.ShareLinkToField=(0,styled_components_1.default)(exports.LinkToField)(templateObject_1||(templateObject_1=(0,tslib_1.__makeTemplateObject)(["\n ","\n\n & {\n position: relative;\n left: 0;\n\n margin-left: calc(-12px - 4px);\n padding-top: 10px;\n margin-top: -10px;\n\n .field-name:hover > &::before,\n &:hover::before {\n visibility: visible;\n }\n }\n\n &.active::before {\n visibility: visible;\n }\n"],["\n ","\n\n & {\n position: relative;\n left: 0;\n\n margin-left: calc(-12px - 4px);\n padding-top: 10px;\n margin-top: -10px;\n\n .field-name:hover > &::before,\n &:hover::before {\n visibility: visible;\n }\n }\n\n &.active::before {\n visibility: visible;\n }\n"])),(0,linkify_1.linkifyMixin)("&","12px"));
|
|
2
2
|
//# sourceMappingURL=LinkToField.js.map
|