@redocly/reference-docs 2.2.0-beta.circular → 2.3.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/cli/commands/redocly-docs-cli.min.js +46 -46
- package/dist/console.redocly-reference-docs.min.js +6 -6
- package/dist/oauth2-redirect.js +2 -2
- package/dist/redocly-reference-docs.min.js +26 -26
- 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/ContentPanel.js +1 -1
- package/lib/components/Panel/Header.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 +4 -4
- 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 +14 -0
- package/lib/components/Samples/ExampleSwitch.js +2 -0
- package/lib/components/Samples/SamplesTabs.d.ts +2 -1
- package/lib/components/Samples/SamplesTabs.js +1 -1
- package/lib/components/Samples/index.d.ts +2 -0
- package/lib/components/Samples/index.js +1 -1
- package/lib/components/Samples/use-example-key.d.ts +7 -0
- package/lib/components/Samples/use-example-key.js +2 -0
- 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/CollapsingTabs.js +1 -1
- package/lib/components/Tabs/CollapsingTabs/CollapsingTabsBase.d.ts +2 -0
- 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 +9 -0
- package/lib/components/common/FileUpload/FileUpload.js +2 -0
- package/lib/components/common/FileUpload/helper.d.ts +12 -0
- package/lib/components/common/FileUpload/helper.js +2 -0
- package/lib/components/common/FileUpload/index.d.ts +1 -0
- package/lib/components/common/FileUpload/index.js +2 -0
- package/lib/components/common/TextField.d.ts +3 -3
- package/lib/components/common/TextField.js +1 -1
- package/lib/components/console/ActionPanel.js +1 -1
- package/lib/components/console/AuthPanel.js +1 -1
- package/lib/components/console/CodemirrorInput.d.ts +1 -0
- package/lib/components/console/CodemirrorInput.js +1 -1
- package/lib/components/console/Console.d.ts +6 -4
- package/lib/components/console/Console.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.d.ts +3 -13
- 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/console/styled.components.js +1 -1
- package/lib/components/index.d.ts +1 -0
- package/lib/components/shared/NoSampleLabel.d.ts +1 -0
- package/lib/components/shared/NoSampleLabel.js +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -1
- package/lib/models/code-sample-options.d.ts +10 -0
- package/lib/models/code-sample-options.js +2 -0
- package/lib/models/file-upload.d.ts +16 -0
- package/lib/models/file-upload.js +2 -0
- package/lib/models/index.d.ts +2 -0
- package/lib/models/index.js +2 -0
- 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/common-elements/PrismDiv.js +1 -1
- package/lib/redoc-lib/src/common-elements/dropdown.d.ts +2 -0
- package/lib/redoc-lib/src/common-elements/fields-layout.js +1 -1
- package/lib/redoc-lib/src/common-elements/icons.js +1 -1
- package/lib/redoc-lib/src/common-elements/samples.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/ContentItems/ContentItems.js +1 -1
- package/lib/redoc-lib/src/components/Markdown/SanitizedMdBlock.js +1 -1
- package/lib/redoc-lib/src/components/Markdown/styled.elements.d.ts +4 -0
- package/lib/redoc-lib/src/components/Markdown/styled.elements.js +1 -1
- package/lib/redoc-lib/src/components/MediaTypeSwitch/MediaTypesSwitch.js +1 -1
- package/lib/redoc-lib/src/components/Operation/Operation.d.ts +1 -1
- package/lib/redoc-lib/src/components/Operation/Operation.js +1 -1
- package/lib/redoc-lib/src/components/PayloadSamples/MediaTypeSamples.d.ts +4 -14
- package/lib/redoc-lib/src/components/PayloadSamples/MediaTypeSamples.js +1 -1
- package/lib/redoc-lib/src/components/PayloadSamples/PayloadSamples.d.ts +6 -6
- package/lib/redoc-lib/src/components/PayloadSamples/PayloadSamples.js +1 -1
- package/lib/redoc-lib/src/components/RequestSamples/CodeSample.d.ts +9 -13
- package/lib/redoc-lib/src/components/RequestSamples/CodeSample.js +1 -1
- package/lib/redoc-lib/src/components/RequestSamples/RequestSamples.d.ts +9 -2
- 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/Responses/ResponseSummary.js +1 -1
- package/lib/redoc-lib/src/components/Schema/ObjectSchema.js +1 -1
- package/lib/redoc-lib/src/components/SchemaDefinition/SchemaDefinition.d.ts +0 -1
- package/lib/redoc-lib/src/components/SchemaDefinition/SchemaDefinition.js +1 -1
- package/lib/redoc-lib/src/components/SearchBox/SearchBox.js +1 -1
- package/lib/redoc-lib/src/components/SideMenu/MenuItem.js +1 -1
- package/lib/redoc-lib/src/components/SideMenu/MenuItems.js +1 -1
- package/lib/redoc-lib/src/components/SideMenu/styled.elements.js +1 -1
- package/lib/redoc-lib/src/components/SourceCode/SourceCode.d.ts +2 -7
- package/lib/redoc-lib/src/components/SourceCode/SourceCode.js +1 -1
- package/lib/redoc-lib/src/components/index.d.ts +1 -0
- package/lib/redoc-lib/src/components/index.js +1 -1
- package/lib/redoc-lib/src/services/Labels.d.ts +1 -0
- package/lib/redoc-lib/src/services/Labels.js +1 -1
- package/lib/redoc-lib/src/services/MarkdownRenderer.d.ts +3 -1
- package/lib/redoc-lib/src/services/MarkdownRenderer.js +1 -1
- package/lib/redoc-lib/src/services/MenuBuilder.d.ts +12 -1
- package/lib/redoc-lib/src/services/MenuBuilder.js +1 -1
- package/lib/redoc-lib/src/services/OpenAPIParser.js +1 -1
- package/lib/redoc-lib/src/services/RedocNormalizedOptions.d.ts +26 -2
- 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/SearchStore.js +13 -32
- 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/MediaType.d.ts +1 -0
- package/lib/redoc-lib/src/services/models/MediaType.js +1 -1
- package/lib/redoc-lib/src/services/models/Operation.d.ts +13 -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/styled-components.d.ts +0 -5
- package/lib/redoc-lib/src/styled-components.js +1 -1
- package/lib/redoc-lib/src/theme.d.ts +1 -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 +1 -2
- package/lib/redoc-lib/src/utils/openapi.js +1 -1
- package/lib/services/ProMenu.d.ts +2 -5
- package/lib/services/ProMenu.js +1 -1
- package/lib/services/ProStore.d.ts +12 -28
- 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 +3 -1
- package/lib/services/code-samples/generator.js +1 -1
- package/lib/services/code-samples/httpsnippet/helpers/code-builder.js +1 -1
- package/lib/services/code-samples/httpsnippet/helpers/code-helpers.d.ts +1 -1
- package/lib/services/code-samples/httpsnippet/helpers/constants.d.ts +2 -1
- package/lib/services/code-samples/httpsnippet/helpers/constants.js +1 -1
- package/lib/services/code-samples/httpsnippet/helpers/reducer.d.ts +1 -1
- package/lib/services/code-samples/httpsnippet/targets/go/native.js +1 -1
- package/lib/services/code-samples/httpsnippet/targets/index.d.ts +9 -0
- package/lib/services/code-samples/httpsnippet/targets/index.js +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/code-samples/httpsnippet/targets/ruby/index.d.ts +10 -0
- package/lib/services/code-samples/httpsnippet/targets/ruby/index.js +2 -0
- package/lib/services/code-samples/httpsnippet/targets/ruby/native.d.ts +10 -0
- package/lib/services/code-samples/httpsnippet/targets/ruby/native.js +2 -0
- package/lib/services/code-samples/types.d.ts +5 -2
- 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/ProHashHistoryService.js +1 -1
- package/lib/services/history/PushStateHistoryService.d.ts +1 -1
- package/lib/services/history/PushStateHistoryService.js +1 -1
- package/lib/services/index.d.ts +1 -0
- package/lib/services/index.js +1 -1
- package/lib/services/store-types.d.ts +4 -2
- package/lib/services/store-types.js +1 -1
- package/lib/services/utils.d.ts +2 -0
- package/lib/services/utils.js +1 -1
- package/lib/standalone.d.ts +8 -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/ContentPanel.js +1 -1
- package/lib-esm/components/Panel/Header.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 +4 -4
- 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 +14 -0
- package/lib-esm/components/Samples/ExampleSwitch.js +2 -0
- package/lib-esm/components/Samples/SamplesTabs.d.ts +2 -1
- package/lib-esm/components/Samples/SamplesTabs.js +1 -1
- package/lib-esm/components/Samples/index.d.ts +2 -0
- package/lib-esm/components/Samples/index.js +1 -1
- package/lib-esm/components/Samples/use-example-key.d.ts +7 -0
- package/lib-esm/components/Samples/use-example-key.js +2 -0
- 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/CollapsingTabs.js +1 -1
- package/lib-esm/components/Tabs/CollapsingTabs/CollapsingTabsBase.d.ts +2 -0
- 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 +9 -0
- package/lib-esm/components/common/FileUpload/FileUpload.js +2 -0
- package/lib-esm/components/common/FileUpload/helper.d.ts +12 -0
- package/lib-esm/components/common/FileUpload/helper.js +2 -0
- package/lib-esm/components/common/FileUpload/index.d.ts +1 -0
- package/lib-esm/components/common/FileUpload/index.js +2 -0
- package/lib-esm/components/common/TextField.d.ts +3 -3
- package/lib-esm/components/common/TextField.js +1 -1
- package/lib-esm/components/console/ActionPanel.js +1 -1
- package/lib-esm/components/console/AuthPanel.js +1 -1
- package/lib-esm/components/console/CodemirrorInput.d.ts +1 -0
- package/lib-esm/components/console/CodemirrorInput.js +1 -1
- package/lib-esm/components/console/Console.d.ts +6 -4
- package/lib-esm/components/console/Console.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.d.ts +3 -13
- 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/console/styled.components.js +1 -1
- package/lib-esm/components/index.d.ts +1 -0
- package/lib-esm/components/shared/NoSampleLabel.d.ts +1 -0
- package/lib-esm/components/shared/NoSampleLabel.js +1 -1
- package/lib-esm/index.d.ts +1 -0
- package/lib-esm/index.js +1 -1
- package/lib-esm/models/code-sample-options.d.ts +10 -0
- package/lib-esm/models/code-sample-options.js +2 -0
- 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 +2 -0
- package/lib-esm/models/index.js +2 -0
- 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/common-elements/PrismDiv.js +1 -1
- package/lib-esm/redoc-lib/src/common-elements/dropdown.d.ts +2 -0
- package/lib-esm/redoc-lib/src/common-elements/fields-layout.js +1 -1
- package/lib-esm/redoc-lib/src/common-elements/icons.js +1 -1
- package/lib-esm/redoc-lib/src/common-elements/samples.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/ContentItems/ContentItems.js +1 -1
- package/lib-esm/redoc-lib/src/components/Markdown/SanitizedMdBlock.js +1 -1
- package/lib-esm/redoc-lib/src/components/Markdown/styled.elements.d.ts +4 -0
- package/lib-esm/redoc-lib/src/components/Markdown/styled.elements.js +1 -1
- package/lib-esm/redoc-lib/src/components/MediaTypeSwitch/MediaTypesSwitch.js +1 -1
- package/lib-esm/redoc-lib/src/components/Operation/Operation.d.ts +1 -1
- package/lib-esm/redoc-lib/src/components/Operation/Operation.js +1 -1
- package/lib-esm/redoc-lib/src/components/PayloadSamples/MediaTypeSamples.d.ts +4 -14
- package/lib-esm/redoc-lib/src/components/PayloadSamples/MediaTypeSamples.js +1 -1
- package/lib-esm/redoc-lib/src/components/PayloadSamples/PayloadSamples.d.ts +6 -6
- package/lib-esm/redoc-lib/src/components/PayloadSamples/PayloadSamples.js +1 -1
- package/lib-esm/redoc-lib/src/components/RequestSamples/CodeSample.d.ts +9 -13
- package/lib-esm/redoc-lib/src/components/RequestSamples/CodeSample.js +1 -1
- package/lib-esm/redoc-lib/src/components/RequestSamples/RequestSamples.d.ts +9 -2
- 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/Responses/ResponseSummary.js +1 -1
- package/lib-esm/redoc-lib/src/components/Schema/ObjectSchema.js +1 -1
- package/lib-esm/redoc-lib/src/components/SchemaDefinition/SchemaDefinition.d.ts +0 -1
- package/lib-esm/redoc-lib/src/components/SchemaDefinition/SchemaDefinition.js +1 -1
- package/lib-esm/redoc-lib/src/components/SearchBox/SearchBox.js +1 -1
- package/lib-esm/redoc-lib/src/components/SideMenu/MenuItem.js +1 -1
- package/lib-esm/redoc-lib/src/components/SideMenu/MenuItems.js +1 -1
- package/lib-esm/redoc-lib/src/components/SideMenu/styled.elements.js +1 -1
- package/lib-esm/redoc-lib/src/components/SourceCode/SourceCode.d.ts +2 -7
- package/lib-esm/redoc-lib/src/components/SourceCode/SourceCode.js +1 -1
- package/lib-esm/redoc-lib/src/components/index.d.ts +1 -0
- package/lib-esm/redoc-lib/src/components/index.js +1 -1
- package/lib-esm/redoc-lib/src/services/Labels.d.ts +1 -0
- package/lib-esm/redoc-lib/src/services/Labels.js +1 -1
- package/lib-esm/redoc-lib/src/services/MarkdownRenderer.d.ts +3 -1
- package/lib-esm/redoc-lib/src/services/MarkdownRenderer.js +1 -1
- package/lib-esm/redoc-lib/src/services/MenuBuilder.d.ts +12 -1
- package/lib-esm/redoc-lib/src/services/MenuBuilder.js +1 -1
- package/lib-esm/redoc-lib/src/services/OpenAPIParser.js +1 -1
- package/lib-esm/redoc-lib/src/services/RedocNormalizedOptions.d.ts +26 -2
- 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/SearchStore.js +13 -32
- 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/MediaType.d.ts +1 -0
- package/lib-esm/redoc-lib/src/services/models/MediaType.js +1 -1
- package/lib-esm/redoc-lib/src/services/models/Operation.d.ts +13 -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/styled-components.d.ts +0 -5
- package/lib-esm/redoc-lib/src/styled-components.js +1 -1
- package/lib-esm/redoc-lib/src/theme.d.ts +1 -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 +1 -2
- package/lib-esm/redoc-lib/src/utils/openapi.js +1 -1
- package/lib-esm/services/ProMenu.d.ts +2 -5
- package/lib-esm/services/ProMenu.js +1 -1
- package/lib-esm/services/ProStore.d.ts +12 -28
- 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 +3 -1
- package/lib-esm/services/code-samples/generator.js +1 -1
- package/lib-esm/services/code-samples/httpsnippet/helpers/code-builder.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/constants.d.ts +2 -1
- package/lib-esm/services/code-samples/httpsnippet/helpers/constants.js +1 -1
- package/lib-esm/services/code-samples/httpsnippet/helpers/reducer.d.ts +1 -1
- package/lib-esm/services/code-samples/httpsnippet/targets/go/native.js +1 -1
- package/lib-esm/services/code-samples/httpsnippet/targets/index.d.ts +9 -0
- package/lib-esm/services/code-samples/httpsnippet/targets/index.js +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/code-samples/httpsnippet/targets/ruby/index.d.ts +10 -0
- package/lib-esm/services/code-samples/httpsnippet/targets/ruby/index.js +2 -0
- package/lib-esm/services/code-samples/httpsnippet/targets/ruby/native.d.ts +10 -0
- package/lib-esm/services/code-samples/httpsnippet/targets/ruby/native.js +2 -0
- package/lib-esm/services/code-samples/types.d.ts +5 -2
- 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/ProHashHistoryService.js +1 -1
- package/lib-esm/services/history/PushStateHistoryService.d.ts +1 -1
- package/lib-esm/services/history/PushStateHistoryService.js +1 -1
- package/lib-esm/services/index.d.ts +1 -0
- package/lib-esm/services/index.js +1 -1
- package/lib-esm/services/store-types.d.ts +4 -2
- package/lib-esm/services/store-types.js +1 -1
- package/lib-esm/services/utils.d.ts +2 -0
- package/lib-esm/services/utils.js +1 -1
- package/lib-esm/standalone.d.ts +8 -3
- package/lib-esm/standalone.js +1 -1
- package/lib-esm/utils.d.ts +1 -1
- package/package.json +14 -7
- package/lib/redoc-lib/src/components/testProviders.d.ts +0 -7
- package/lib/redoc-lib/src/components/testProviders.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
|
-
import{__assign,__rest}from"tslib";import*as React from"react";import{useContext,useEffect,useLayoutEffect,useState}from"react";import{observer}from"mobx-react";import{CollapsingTabsBase}from"../Tabs";import{StoreContext}from"../../redoc-lib";import{LoadingWrapper}from"./LoadingWrapper";export var SamplesTabs=observer((function(e){var a=e.children,t=e.onChange,r=__rest(e,["children","onChange"]),n=useContext(StoreContext),
|
|
1
|
+
import{__assign,__rest}from"tslib";import*as React from"react";import{useContext,useEffect,useLayoutEffect,useState,useMemo}from"react";import{observer}from"mobx-react";import{CollapsingTabsBase}from"../Tabs";import{StoreContext}from"../../redoc-lib";import{LoadingWrapper}from"./LoadingWrapper";import{WarnMessage}from"../shared";export var SamplesTabs=observer((function(e){var a=e.children,t=e.onChange,r=e.defaultLanguage,n=__rest(e,["children","onChange","defaultLanguage"]),o=useMemo((function(){return n.tabs.map((function(e){return e.lang}))}),[n.tabs]),s=useContext(StoreContext),u=useState(r),i=u[0],c=u[1],f=useState(o),g=f[0],m=f[1];useEffect((function(){return m(o)}),[n.tabs]),useEffect((function(){i===s.activeSampleLanguage&&c(void 0)}),[s.activeSampleLanguage]),useLayoutEffect((function(){return s.stopLoader()}),[s.activeSampleLanguage]),useEffect((function(){i&&(s.startLoader(),s.activateSampleLanguage(i))}),[i,r]);var p;return React.createElement(LoadingWrapper,{className:i&&"updated"},React.createElement(CollapsingTabsBase,__assign({},n,{activeIndex:(p=g.indexOf(i||s.activeSampleLanguage),-1===p?0:p),onChange:function(e){var a=n.tabs[e];c(a.lang),t&&t(a)}}),r&&-1===g.indexOf(r)&&React.createElement(WarnMessage,null,"Provided language is not supported"),a))}));
|
|
2
2
|
//# sourceMappingURL=SamplesTabs.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export*from"./SamplesTabs";export*from"./LoadingWrapper";
|
|
1
|
+
export*from"./SamplesTabs";export*from"./LoadingWrapper";export*from"./ExampleSwitch";export*from"./use-example-key";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { OperationModel } from '../../redoc-lib/src/services/models/Operation';
|
|
2
|
+
interface ExampleName {
|
|
3
|
+
exampleKey: string;
|
|
4
|
+
defaultExampleName?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function useExampleKey({ activeExampleName, defaultExampleName }: OperationModel | undefined, examples: Record<string, unknown>): ExampleName;
|
|
7
|
+
export {};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { IMenuItem } from '../../redoc-lib';
|
|
2
|
+
import { IMenuItem, HistoryService } from '../../redoc-lib';
|
|
3
3
|
import { SearchResultMeta } from '../../services/SearchStore';
|
|
4
4
|
export interface MenuItemProProps {
|
|
5
5
|
result: SearchResultExtended;
|
|
6
6
|
active: boolean;
|
|
7
|
-
onActivate: (res: SearchResultExtended) =>
|
|
7
|
+
onActivate: (res: SearchResultExtended) => void;
|
|
8
8
|
term: string;
|
|
9
|
-
history:
|
|
9
|
+
history: HistoryService;
|
|
10
10
|
}
|
|
11
11
|
export declare type SearchResultExtended = {
|
|
12
12
|
item: IMenuItem;
|
|
@@ -18,4 +18,4 @@ export declare type SearchResultExtended = {
|
|
|
18
18
|
}[];
|
|
19
19
|
count: number;
|
|
20
20
|
};
|
|
21
|
-
export declare const MenuItemPro: ({ result, active, term, onActivate, history }: MenuItemProProps) => JSX.Element;
|
|
21
|
+
export declare const MenuItemPro: ({ result, active, term, onActivate, history, }: MenuItemProProps) => JSX.Element;
|
|
@@ -4,7 +4,7 @@ import { ProMenu } from '../../services/ProMenu';
|
|
|
4
4
|
import { RedocProNormalizedOptions } from '../../services/ProStore';
|
|
5
5
|
import { IMenuItem, SearchStore, MenuItem, MarkerService } from '../../redoc-lib';
|
|
6
6
|
import { SearchResultExtended } from './MenuItemProSearch';
|
|
7
|
-
declare type SearchResult<T =
|
|
7
|
+
declare type SearchResult<T = GenericObject | undefined> = {
|
|
8
8
|
score: number;
|
|
9
9
|
meta: T;
|
|
10
10
|
};
|
|
@@ -15,7 +15,7 @@ export interface ProSearchBoxProps {
|
|
|
15
15
|
onActivate: (item: IMenuItem) => void;
|
|
16
16
|
className?: string;
|
|
17
17
|
options: RedocProNormalizedOptions;
|
|
18
|
-
shown:
|
|
18
|
+
shown: boolean;
|
|
19
19
|
hidePopUp: () => void;
|
|
20
20
|
showPopUp: () => void;
|
|
21
21
|
setSearchValue: (value: string) => void;
|
|
@@ -32,7 +32,7 @@ export declare class ProSearchBox extends React.PureComponent<ProSearchBoxProps,
|
|
|
32
32
|
prevCancel: (() => void) | null;
|
|
33
33
|
loadingTimer: any;
|
|
34
34
|
inputRef: React.RefObject<HTMLInputElement>;
|
|
35
|
-
constructor(props:
|
|
35
|
+
constructor(props: ProSearchBoxProps);
|
|
36
36
|
componentDidUpdate(prevProps: ProSearchBoxProps): void;
|
|
37
37
|
clearResults(term: string): void;
|
|
38
38
|
clear: () => void;
|
|
@@ -40,13 +40,13 @@ export declare class ProSearchBox extends React.PureComponent<ProSearchBoxProps,
|
|
|
40
40
|
setResults(results: SearchResult<SearchResultMeta>[]): void;
|
|
41
41
|
updateSearchTerm(q: string): void;
|
|
42
42
|
_queryWorker: (...args: (string | ((res: any) => void))[]) => void;
|
|
43
|
-
queryWorker(q:
|
|
43
|
+
queryWorker(q: string): () => void;
|
|
44
44
|
search: (event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
45
45
|
onActivate: (res: SearchResultExtended) => void;
|
|
46
|
-
closeByWrapper: (e:
|
|
46
|
+
closeByWrapper: (e: React.BaseSyntheticEvent) => void;
|
|
47
47
|
closeByButton: () => void;
|
|
48
48
|
componentDidMount(): void;
|
|
49
49
|
componentWillUnmount(): void;
|
|
50
|
-
render(): JSX.Element;
|
|
50
|
+
render(): JSX.Element | null;
|
|
51
51
|
}
|
|
52
52
|
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__extends}from"tslib";import*as React from"react";import hotkeys from"hotkeys-js";import{debounce}from"../../utils";import{PerfectScrollbarWrap}from"../../redoc-lib/src/common-elements/perfect-scrollbar";import{MenuItemPro}from"./MenuItemProSearch";import{SearchPopUpBG,SearchPopUpWrap,SearchPopUpHeader,TextContainer,SearchResultsBox,SearchResultsItems,ButtonClose,ButtonClear,CrossIcon,SearchIcon,SearchInput}from"./styled";function expandDeep(e,t){if(e)for(var r=function(e){var r=t.find((function(t){return t.name===e}));if(!r)return"break";r.expand(),t=getFields(r.schema)},a=0,n=e;a<n.length;a++){if("break"===r(n[a]))break}}function getFields(e){return e?e.oneOf?getFields(e.oneOf[e.activeOneOf]):e.items?getFields(e.items):e.fields||[]:[]}function enhanceResults(e,t){var r={};e.forEach((function(e){var a=e.meta,n=e.score,o=a.menuId,l=r[o];if(n=a.boost?n*a.boost:n,l){if(l.score=Math.max(n,l.score),a.place&&l.count++,a.place){var i=l.places.find((function(e){return e.place===a.place}));i&&a.path?i.paths.find((function(e){return(e&&e.join("->"))===a.path.join("->")}))||i.paths.push(a.path):l.places.push({place:a.place,paths:[a.path]})}}else r[o]={item:t(o),places:a.place?[{place:a.place,paths:[a.path]}]:[],score:n,count:a.place?1:0}}));var a=Object.keys(r).map((function(e){return r[e]}));return a.forEach((function(e,t){return e.index=t})),a.sort((function(e,t){return t.score-e.score})),a}function expandResults(e){for(var t=function(t){if("request fields"===t.place)for(var r=e.item.requestBody,a=getFields(r&&r.content&&r.content.active&&r.content.active.schema),n=0,o=t.paths;n<o.length;n++){if(!(u=o[n]))return{value:void 0};expandDeep(u.slice(0,u.length-1),a)}else if(t.place.startsWith("response ")){var l=t.place.split(" ")[1],i=e.item.responses.find((function(e){return e.code===l}));i&&(i.expanded=!0);a=getFields(i&&i.content&&i.content.active&&i.content.active.schema);for(var c=0,s=t.paths;c<s.length;c++){var u;if(!(u=s[c]))return{value:void 0};expandDeep(u.slice(0,u.length-1),a)}}},r=0,a=e.places;r<a.length;r++){var n=t(a[r]);if("object"==typeof n)return n.value}}var ProSearchBox=function(e){function t(t){var r=e.call(this,t)||this;return Object.defineProperty(r,"activeItemRef",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(r,"prevCancel",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(r,"loadingTimer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"inputRef",{enumerable:!0,configurable:!0,writable:!0,value:React.createRef()}),Object.defineProperty(r,"clear",{enumerable:!0,configurable:!0,writable:!0,value:function(){r.setState({results:null,term:"",activeItemIdx:-1}),r.props.setSearchValue(""),r.props.marker.unmark()}}),Object.defineProperty(r,"handleKeyDown",{enumerable:!0,configurable:!0,writable:!0,value:function(e){if(27===e.keyCode&&r.inputRef.current&&(r.inputRef.current.blur(),r.props.hidePopUp()),r.state.results&&(27===e.keyCode&&r.clear(),40===e.keyCode&&(r.setState({activeItemIdx:Math.min(r.state.activeItemIdx+1,r.state.results.length-1)}),e.preventDefault()),38===e.keyCode&&(r.setState({activeItemIdx:Math.max(0,r.state.activeItemIdx-1)}),e.preventDefault()),13===e.keyCode)){var t=r.state.results[r.state.activeItemIdx];t&&r.onActivate(t)}}}),Object.defineProperty(r,"_queryWorker",{enumerable:!0,configurable:!0,writable:!0,value:debounce((function(e,t){r.props.search.search(e).then((function(e){t(e)}))}),200,!0)}),Object.defineProperty(r,"search",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var t=e.target.value;if(t.length<3)return r.clearResults(t),void r.props.setSearchValue("");r.updateSearchTerm(t),r.prevCancel&&r.prevCancel(),r.prevCancel=r.queryWorker(t)}}),Object.defineProperty(r,"onActivate",{enumerable:!0,configurable:!0,writable:!0,value:function(e){if(r.props.hidePopUp(),r.props.onActivate(e.item),r.props.options.searchAutoExpand)try{expandResults(e)}catch(e){console.warn("Failed to autoexpand schema:",e.message)}}}),Object.defineProperty(r,"closeByWrapper",{enumerable:!0,configurable:!0,writable:!0,value:function(e){"search"===e.target.getAttribute("role")&&(r.clear(),r.props.hidePopUp())}}),Object.defineProperty(r,"closeByButton",{enumerable:!0,configurable:!0,writable:!0,value:function(){r.clear(),r.props.hidePopUp()}}),r.state={results:null,term:"",activeItemIdx:-1,loading:!1},r}return __extends(t,e),Object.defineProperty(t.prototype,"componentDidUpdate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this.props,r=t.search,a=t.shown,n=t.searchValue,o=e.search!==r,l=!e.shown&&a&&!n&&this.state.term;(o||l)&&this.clearResults("")}}),Object.defineProperty(t.prototype,"clearResults",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.loadingTimer&&(clearTimeout(this.loadingTimer),this.loadingTimer=null),this.setState({results:null,term:e,loading:!1}),this.props.marker.unmark()}}),Object.defineProperty(t.prototype,"setResults",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.loadingTimer&&(clearTimeout(this.loadingTimer),this.loadingTimer=null),this.setState({results:enhanceResults(e,this.props.menu.getItemById),loading:!1})}}),Object.defineProperty(t.prototype,"updateSearchTerm",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;this.setState({term:e}),this.props.setSearchValue(e),this.loadingTimer&&(clearTimeout(this.loadingTimer),this.loadingTimer=null),this.loadingTimer=setTimeout((function(){t.setState({loading:!0})}),500),this.props.marker.mark(e)}}),Object.defineProperty(t.prototype,"queryWorker",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this,r=!1;return this._queryWorker(e,(function(a){e.length<3&&t.clearResults(e),r||t.state.term===e&&t.setResults(a)})),function(){r=!0}}}),Object.defineProperty(t.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this;this.props.options.ctrlFHijack&&hotkeys("cmd+f,ctrl+f",(function(t){return t.preventDefault(),t.stopPropagation(),e.props.options.disableSearch||e.props.showPopUp(),!1}))}}),Object.defineProperty(t.prototype,"componentWillUnmount",{enumerable:!1,configurable:!0,writable:!0,value:function(){hotkeys.unbind("cmd+f,ctrl+f")}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=this.state,r=t.activeItemIdx,a=t.loading,n=t.results,o=this.props,
|
|
1
|
+
import{__extends}from"tslib";import*as React from"react";import hotkeys from"hotkeys-js";import{debounce}from"../../utils";import{PerfectScrollbarWrap}from"../../redoc-lib/src/common-elements/perfect-scrollbar";import{MenuItemPro}from"./MenuItemProSearch";import{SearchPopUpBG,SearchPopUpWrap,SearchPopUpHeader,TextContainer,SearchResultsBox,SearchResultsItems,ButtonClose,ButtonClear,CrossIcon,SearchIcon,SearchInput}from"./styled";import{l}from"../../redoc-lib/src/services/Labels";function expandDeep(e,t){if(e)for(var r=function(e){var r=t.find((function(t){return t.name===e}));if(!r)return"break";r.expand(),t=getFields(r.schema)},a=0,n=e;a<n.length;a++){if("break"===r(n[a]))break}}function getFields(e){return e?e.oneOf?getFields(e.oneOf[e.activeOneOf]):e.items?getFields(e.items):e.fields||[]:[]}function enhanceResults(e,t){var r={};e.forEach((function(e){var a=e.meta,n=e.score,o=a.menuId,l=r[o];if(n=a.boost?n*a.boost:n,l){if(l.score=Math.max(n,l.score),a.place&&l.count++,a.place){var i=l.places.find((function(e){return e.place===a.place}));i&&a.path?i.paths.find((function(e){var t;return(e&&e.join("->"))===(null===(t=a.path)||void 0===t?void 0:t.join("->"))}))||i.paths.push(a.path):l.places.push({place:a.place,paths:[a.path]})}}else r[o]={item:t(o),places:a.place?[{place:a.place,paths:[a.path]}]:[],score:n,count:a.place?1:0}}));var a=Object.keys(r).map((function(e){return r[e]}));return a.forEach((function(e,t){return e.index=t})),a.sort((function(e,t){return t.score-e.score})),a}function expandResults(e){for(var t=function(t){if("request fields"===t.place)for(var r=e.item.requestBody,a=getFields(r&&r.content&&r.content.active&&r.content.active.schema),n=0,o=t.paths;n<o.length;n++){if(!(u=o[n]))return{value:void 0};expandDeep(u.slice(0,u.length-1),a)}else if(t.place.startsWith("response ")){var l=t.place.split(" ")[1],i=e.item.responses.find((function(e){return e.code===l}));i&&(i.expanded=!0);a=getFields(i&&i.content&&i.content.active&&i.content.active.schema);for(var c=0,s=t.paths;c<s.length;c++){var u;if(!(u=s[c]))return{value:void 0};expandDeep(u.slice(0,u.length-1),a)}}},r=0,a=e.places;r<a.length;r++){var n=t(a[r]);if("object"==typeof n)return n.value}}var ProSearchBox=function(e){function t(t){var r=e.call(this,t)||this;return Object.defineProperty(r,"activeItemRef",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(r,"prevCancel",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(r,"loadingTimer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"inputRef",{enumerable:!0,configurable:!0,writable:!0,value:React.createRef()}),Object.defineProperty(r,"clear",{enumerable:!0,configurable:!0,writable:!0,value:function(){r.setState({results:null,term:"",activeItemIdx:-1}),r.props.setSearchValue(""),r.props.marker.unmark()}}),Object.defineProperty(r,"handleKeyDown",{enumerable:!0,configurable:!0,writable:!0,value:function(e){if(27===e.keyCode&&r.inputRef.current&&(r.inputRef.current.blur(),r.props.hidePopUp()),r.state.results&&(27===e.keyCode&&r.clear(),40===e.keyCode&&(r.setState({activeItemIdx:Math.min(r.state.activeItemIdx+1,r.state.results.length-1)}),e.preventDefault()),38===e.keyCode&&(r.setState({activeItemIdx:Math.max(0,r.state.activeItemIdx-1)}),e.preventDefault()),13===e.keyCode)){var t=r.state.results[r.state.activeItemIdx];t&&r.onActivate(t)}}}),Object.defineProperty(r,"_queryWorker",{enumerable:!0,configurable:!0,writable:!0,value:debounce((function(e,t){r.props.search.search(e).then((function(e){t(e)}))}),200,!0)}),Object.defineProperty(r,"search",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var t=e.target.value;if(t.length<3)return r.clearResults(t),void r.props.setSearchValue("");r.updateSearchTerm(t),r.prevCancel&&r.prevCancel(),r.prevCancel=r.queryWorker(t)}}),Object.defineProperty(r,"onActivate",{enumerable:!0,configurable:!0,writable:!0,value:function(e){if(r.props.hidePopUp(),r.props.onActivate(e.item),r.props.options.searchAutoExpand)try{expandResults(e)}catch(e){console.warn("Failed to autoexpand schema:",e.message)}}}),Object.defineProperty(r,"closeByWrapper",{enumerable:!0,configurable:!0,writable:!0,value:function(e){"search"===e.target.getAttribute("role")&&(r.clear(),r.props.hidePopUp())}}),Object.defineProperty(r,"closeByButton",{enumerable:!0,configurable:!0,writable:!0,value:function(){r.clear(),r.props.hidePopUp()}}),r.state={results:null,term:"",activeItemIdx:-1,loading:!1},r}return __extends(t,e),Object.defineProperty(t.prototype,"componentDidUpdate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this.props,r=t.search,a=t.shown,n=t.searchValue,o=e.search!==r,l=!e.shown&&a&&!n&&this.state.term;(o||l)&&this.clearResults("")}}),Object.defineProperty(t.prototype,"clearResults",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.loadingTimer&&(clearTimeout(this.loadingTimer),this.loadingTimer=null),this.setState({results:null,term:e,loading:!1}),this.props.marker.unmark()}}),Object.defineProperty(t.prototype,"setResults",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.loadingTimer&&(clearTimeout(this.loadingTimer),this.loadingTimer=null),this.setState({results:enhanceResults(e,this.props.menu.getItemById),loading:!1})}}),Object.defineProperty(t.prototype,"updateSearchTerm",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;this.setState({term:e}),this.props.setSearchValue(e),this.loadingTimer&&(clearTimeout(this.loadingTimer),this.loadingTimer=null),this.loadingTimer=setTimeout((function(){t.setState({loading:!0})}),500),this.props.marker.mark(e)}}),Object.defineProperty(t.prototype,"queryWorker",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this,r=!1;return this._queryWorker(e,(function(a){e.length<3&&t.clearResults(e),r||t.state.term===e&&t.setResults(a)})),function(){r=!0}}}),Object.defineProperty(t.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this;this.props.options.ctrlFHijack&&hotkeys("cmd+f,ctrl+f",(function(t){return t.preventDefault(),t.stopPropagation(),e.props.options.disableSearch||e.props.showPopUp(),!1}))}}),Object.defineProperty(t.prototype,"componentWillUnmount",{enumerable:!1,configurable:!0,writable:!0,value:function(){hotkeys.unbind("cmd+f,ctrl+f")}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=this.state,r=t.activeItemIdx,a=t.loading,n=t.results,o=this.props,i=o.shown,c=o.menu;return i?React.createElement(SearchPopUpBG,{role:"search",onClick:this.closeByWrapper},React.createElement(SearchPopUpWrap,null,React.createElement(SearchPopUpHeader,null,React.createElement(SearchInput,{ref:this.inputRef,value:this.state.term,onKeyDown:this.handleKeyDown,placeholder:l("search")+"...",type:"text",onChange:this.search,autoFocus:!0}),React.createElement(SearchIcon,null),this.state.term&&React.createElement(ButtonClear,{onClick:this.clear},"Clear"),React.createElement(ButtonClose,{onClick:this.closeByButton},React.createElement(CrossIcon,null))),React.createElement(SearchResultsBox,{"data-role":"search:results"},a&&React.createElement(TextContainer,null,"Loading..."),!a&&!(null==n?void 0:n.length)&&React.createElement(TextContainer,null,"No results found"),(null==n?void 0:n.length)?React.createElement(PerfectScrollbarWrap,{options:{wheelPropagation:!1}},React.createElement(SearchResultsItems,null,n.slice(0,50).map((function(t,a){return React.createElement(MenuItemPro,{key:t.index+t.item.id,result:t,active:a===r,onActivate:e.onActivate,term:e.state.term,history:c.history})})))):null))):null}}),t}(React.PureComponent);export{ProSearchBox};
|
|
2
2
|
//# sourceMappingURL=ProSearchBox.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as React from"react";import{SearchFieldWrap,SearchIcon,ButtonClear,CrossIcon}from"./styled";export var SearchField=function(e){var r=e.showPopUp,a=e.searchValue,t=e.marker,c=e.setSearchValue,
|
|
1
|
+
import*as React from"react";import{SearchFieldWrap,SearchIcon,ButtonClear,CrossIcon}from"./styled";import{l}from"../../redoc-lib/src/services/Labels";export var SearchField=function(e){var r=e.showPopUp,a=e.searchValue,t=e.marker,c=e.setSearchValue,o=!!a;return React.createElement(SearchFieldWrap,{onClick:r},React.createElement("span",null),a||l("search"),React.createElement(SearchIcon,null),o&&React.createElement(ButtonClear,{onClick:function(e){e.stopPropagation(),t.unmark(),c("")}},React.createElement(CrossIcon,null)))};
|
|
2
2
|
//# sourceMappingURL=SearchField.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const CrossIcon: () =>
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export declare const CrossIcon: () => React.ReactElement;
|
|
3
3
|
export declare const ButtonClose: import("styled-components").StyledComponent<"i", import("../../redoc-lib").ResolvedThemeInterface, {
|
|
4
4
|
className: "button-close";
|
|
5
5
|
}, "className">;
|
|
6
6
|
export declare const ButtonClear: import("styled-components").StyledComponent<"i", import("../../redoc-lib").ResolvedThemeInterface, {
|
|
7
7
|
className: "button-clear";
|
|
8
8
|
}, "className">;
|
|
9
|
-
export declare const SearchIcon: () =>
|
|
9
|
+
export declare const SearchIcon: () => React.ReactElement;
|
|
10
10
|
export declare const SearchFieldWrap: import("styled-components").StyledComponent<"button", import("../../redoc-lib").ResolvedThemeInterface, {
|
|
11
11
|
className: "button-field-search";
|
|
12
12
|
}, "className">;
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { ProStore, RedocProRawOptions } from '../services/ProStore';
|
|
3
|
-
import {
|
|
3
|
+
import { SpecInfo, SpecsInfo, SpecVersions } from '../services/MultipleSpecsStore';
|
|
4
4
|
import { CodeSampleConfig } from '../services/code-samples/types';
|
|
5
5
|
export declare const Provider: React.Provider<ProStore | undefined>, Consumer: React.Consumer<ProStore | undefined>;
|
|
6
6
|
interface StoreProviderProps {
|
|
7
7
|
definitionUrl?: string;
|
|
8
|
-
definition?:
|
|
8
|
+
definition?: GenericObject;
|
|
9
9
|
store?: ProStore;
|
|
10
10
|
definitions?: SpecsInfo;
|
|
11
11
|
options?: RedocProRawOptions;
|
|
12
12
|
children: (props: {
|
|
13
13
|
loading: boolean;
|
|
14
14
|
store?: ProStore;
|
|
15
|
-
}) =>
|
|
15
|
+
}) => JSX.Element | null;
|
|
16
16
|
activeItemId?: string;
|
|
17
17
|
activeSampleLanguage?: CodeSampleConfig['lang'] | string;
|
|
18
18
|
activeDeepLink?: string;
|
|
19
19
|
}
|
|
20
|
-
export declare const ProStoreProvider: ({ definitions, options, definitionUrl, definition, activeItemId, activeSampleLanguage, activeDeepLink, children, }: StoreProviderProps) =>
|
|
20
|
+
export declare const ProStoreProvider: ({ definitions, options, definitionUrl, definition, activeItemId, activeSampleLanguage, activeDeepLink, children, }: StoreProviderProps) => JSX.Element | null;
|
|
21
21
|
export declare function loadSpecs(specs: SpecInfo[] | SpecVersions): Promise<void>;
|
|
22
22
|
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var _a;import{__awaiter,__generator}from"tslib";import*as React from"react";import{loadAndBundleDefinition}from"../redoc-lib";import{ProStore}from"../services/ProStore";import slugify from"slugify";import isDeepEqual from"fast-deep-equal";import{FakeHistoryService}from"../services";export var Provider=(_a=React.createContext(void 0),_a.Provider),Consumer=_a.Consumer;export var ProStoreProvider=function(e){var t=e.definitions,n=e.options,r=e.definitionUrl,i=e.definition,o=e.activeItemId,a=e.activeSampleLanguage,s=e.activeDeepLink,
|
|
1
|
+
var _a;import{__awaiter,__generator}from"tslib";import*as React from"react";import{loadAndBundleDefinition}from"../redoc-lib";import{ProStore}from"../services/ProStore";import slugify from"slugify";import isDeepEqual from"fast-deep-equal";import{FakeHistoryService,AnalyticsEventType}from"../services";export var Provider=(_a=React.createContext(void 0),_a.Provider),Consumer=_a.Consumer;export var ProStoreProvider=function(e){var t=e.definitions,n=e.options,r=e.definitionUrl,i=e.definition,o=e.activeItemId,a=e.activeSampleLanguage,s=e.activeDeepLink,c=e.children,u=React.useState()[1],l=React.useState(!0),d=l[0],f=l[1],p=React.useState(null),v=p[0],m=p[1];React.useEffect((function(){!function(){__awaiter(this,void 0,void 0,(function(){var e,o,a;return __generator(this,(function(s){switch(s.label){case 0:f(!0),s.label=1;case 1:return s.trys.push([1,6,,7]),e=m,t?[4,loadMany(t)]:[3,3];case 2:return o=s.sent(),[3,5];case 3:return[4,loadSingle(i,r,n)];case 4:o=s.sent(),s.label=5;case 5:return e.apply(void 0,[o]),[3,7];case 6:return a=s.sent(),u((function(){throw a})),[3,7];case 7:return[2]}}))}))}()}),[t,i,r,n]);var h=React.useMemo((function(){var e,t,i;if(v){var o=new ProStore(v,r,n);return(null===(e=o.options.hooks)||void 0===e?void 0:e.onInit)&&(null===(i=null===(t=o.options.hooks)||void 0===t?void 0:t.onInit)||void 0===i||i.call(t,{store:o})),o}}),useDeepCompareMemoize([v,n]));return React.useEffect((function(){var e,t;if(h)return f(!1),null===(t=(e=h.options.events).loadingCompleted)||void 0===t||t.call(e,{eventType:AnalyticsEventType.LoadingCompleted,action:"Loaded",resource:"Redocly_ReferenceDocs"}),function(){return h.dispose()}}),[h]),React.useEffect((function(){var e;if(h&&o){var t=(null==o?void 0:o.split(h.options.deepLinkPrefix)[0])||(null===(e=h.menu.flatItems[h.menu.activeItemIdx])||void 0===e?void 0:e.id),n=h.menu.flatItems.find((function(e){return e.id===t})),r=s?t+h.options.deepLinkPrefix+s:void 0;r&&h.menu.history instanceof FakeHistoryService&&h.menu.history.replaceForField(r),h.menu.activateAndScroll(n,!0,!1,r)}}),[o,s,h]),React.useEffect((function(){h&&a&&h.setActiveSampleLanguage(a)}),[a,h]),c({loading:d,store:h})};function fixSpec(e){for(var t=e.components&&e.components.securitySchemes||{},n=0,r=Object.keys(t);n<r.length;n++){var i=t[r[n]];i["x-type"]&&(i.type=i["x-type"]),i["x-scheme"]&&(i.scheme=i["x-scheme"])}}function loadMany(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){switch(t.label){case 0:return[4,loadSpecs(e||[])];case 1:return t.sent(),[2,e]}}))}))}function loadSingle(e,t,n){return __awaiter(this,void 0,void 0,(function(){var r,i,o,a;return __generator(this,(function(s){switch(s.label){case 0:if(!(null==n?void 0:n.skipBundleAndConvert))return[3,1];if(!e)throw new Error('spec must be specified when using "skipBundleAndConvert"');return r=e,[3,3];case 1:return[4,loadAndBundleDefinition(e||t)];case 2:r=s.sent(),s.label=3;case 3:if(!(i=null==n?void 0:n.unstable_externalDescription))return[3,8];s.label=4;case 4:return s.trys.push([4,7,,8]),[4,fetch(i)];case 5:return[4,s.sent().text()];case 6:return o=s.sent(),r.info.description=o,[3,8];case 7:return a=s.sent(),console.warn("Failed to load external description from "+i+": "+a.message),[3,8];case 8:try{fixSpec(r)}catch(e){}return[2,r]}}))}))}function loadAndBundleSpecOrMd(e,t){return e.endsWith(".md")?loadAndBundleDefinition({openapi:"3.0.0",info:{title:t||"",version:"1.0",description:{$ref:e}},paths:{}}):loadAndBundleDefinition(e)}export function loadSpecs(e){return __awaiter(this,void 0,void 0,(function(){var t,n,r,i,o,a,s,c,u,l,d,f,p;return __generator(this,(function(v){switch(v.label){case 0:if(!Array.isArray(e))return[3,8];t=0,n=e,v.label=1;case 1:return t<n.length?((r=n[t]).id=r.id||slugify(r.title),r.url?(i=r,[4,loadAndBundleSpecOrMd(r.url,r.title)]):[3,3]):[3,8];case 2:return i.definition=v.sent(),[3,7];case 3:o=0,a=r.items||[],v.label=4;case 4:return o<a.length?(s=a[o]).url?(c=s,[4,loadAndBundleSpecOrMd(s.url,r.title)]):[3,6]:[3,7];case 5:c.definition=v.sent(),v.label=6;case 6:return o++,[3,4];case 7:return t++,[3,1];case 8:if(u=e.versions,!Array.isArray(u))return[3,12];l=0,d=u,v.label=9;case 9:return l<d.length?(f=d[l]).url?(p=f,[4,loadAndBundleSpecOrMd(f.url)]):[3,11]:[3,12];case 10:p.spec=v.sent(),v.label=11;case 11:return l++,[3,9];case 12:return[2]}}))}))}function useDeepCompareMemoize(e){var t=React.useRef(),n=React.useRef(0);return isDeepEqual(e,t.current)||(t.current=e,n.current+=1),[n.current]}
|
|
2
2
|
//# sourceMappingURL=StoreProvider.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__assign,__rest}from"tslib";import React,{useState}from"react";import{CollapsingTabsBase}from"./CollapsingTabsBase";export var CollapsingTabs=function(
|
|
1
|
+
import{__assign,__rest}from"tslib";import React,{useEffect,useState}from"react";import{CollapsingTabsBase}from"./CollapsingTabsBase";import{observer}from"mobx-react";function getActiveIndexFromOperation(e,t,n){var a;return t?"number"==typeof n&&n>0?hasActiveExampleName(null===(a=e[n])||void 0===a?void 0:a.content,t)?n:getActiveIndexFromOperation(e,t):e.findIndex((function(e){return hasActiveExampleName(e.content,t)})):-1}function hasActiveExampleName(e,t){return!!(null==e?void 0:e.mediaTypes.find((function(e){return Object.keys(e.examples||[]).includes(t||"")})))}export var CollapsingTabs=observer((function(e){var t=e.children,n=__rest(e,["children"]),a=useState(0),r=a[0],o=a[1],i=n.operation,s=n.operation.activeExampleName;useEffect((function(){var e=getActiveIndexFromOperation(i.responses,s,r);e>-1&&o(e)}),[s]);var c=React.useCallback((function(e){r!==e&&o(e)}),[r]);return React.createElement(CollapsingTabsBase,__assign({},n,{activeIndex:r,onChange:c}),t)}));
|
|
2
2
|
//# sourceMappingURL=CollapsingTabs.js.map
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { TabProps as ReactTabProps } from 'react-tabs';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
+
import { OperationModel } from '../../../redoc-lib';
|
|
3
4
|
export interface TabProps extends ReactTabProps {
|
|
4
5
|
title: string;
|
|
5
6
|
}
|
|
@@ -7,6 +8,7 @@ export interface TabsProps {
|
|
|
7
8
|
tabs: TabProps[];
|
|
8
9
|
hidden?: boolean;
|
|
9
10
|
children: React.ReactNode;
|
|
11
|
+
operation: OperationModel;
|
|
10
12
|
}
|
|
11
13
|
interface CollapsingTabsComponentProps extends TabsProps {
|
|
12
14
|
activeIndex: number;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Tabs}from"react-tabs";import*as React from"react";import{useContext,useLayoutEffect,useMemo,useState}from"react";import{OptionsContext}from"../../../redoc-lib";import{CollapsingTabList}from"./CollapsingTabList";import{CollapsingTab}from"./CollapsingTab";import{CollapsingDropdown}from"./CollapsingDropdown";export var CollapsingTabsBase=function(e){var t=e.tabs,a=e.children,o=e.hidden,n=e.activeIndex,i=e.onChange,l=useContext(OptionsContext).samplesTabsMaxCount,r=useMemo((function(){return t.slice(l).map((function(e,t){return{idx:t,value:e.title}}))}),[t,l]),s=r.length+" more",c=useState(s),p=c[0],u=c[1],m=React.useCallback((function(){var e=n>=l;p!==s&&p===t[n].title||!e?p===s||e||u(s):u(t[n].title)}),[n,l,p,s]);useLayoutEffect((function(){setTimeout(m,0)}),[n,l]);return React.createElement(Tabs,{selectedIndex:n,onSelect:i},React.createElement(CollapsingTabList,{hidden:o},t.map((function(e,t){return React.createElement(CollapsingTab,{key:e.key,disabled:t>=l},e.title)})),r.length?React.createElement(CollapsingDropdown,{options:r,onChange:function(e){i(l+e.idx)},placeholder:s,value:p,active:n>=l}):null),a)};
|
|
1
|
+
import{Tabs}from"react-tabs";import*as React from"react";import{useContext,useLayoutEffect,useMemo,useState}from"react";import{OptionsContext}from"../../../redoc-lib";import{CollapsingTabList}from"./CollapsingTabList";import{CollapsingTab}from"./CollapsingTab";import{CollapsingDropdown}from"./CollapsingDropdown";export var CollapsingTabsBase=function(e){var t=e.tabs,a=e.children,o=e.hidden,n=e.activeIndex,i=e.onChange,l=useContext(OptionsContext).samplesTabsMaxCount,r=useMemo((function(){return t.slice(l).map((function(e,t){return{idx:t,value:e.title}}))}),[t,l]),s=r.length+" more",c=useState(s),p=c[0],u=c[1],m=React.useCallback((function(){var e=n>=l;p!==s&&p===t[n].title||!e?p===s||e||u(s):u(t[n].title)}),[n,l,p,s,t]);useLayoutEffect((function(){setTimeout(m,0)}),[n,l,m]);return React.createElement(Tabs,{selectedIndex:n,onSelect:i},React.createElement(CollapsingTabList,{hidden:o},t.map((function(e,t){return React.createElement(CollapsingTab,{key:e.key,disabled:t>=l},e.title)})),r.length?React.createElement(CollapsingDropdown,{options:r,onChange:function(e){i(l+e.idx)},placeholder:s,value:p,active:n>=l}):null),a)};
|
|
2
2
|
//# sourceMappingURL=CollapsingTabsBase.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__assign,__makeTemplateObject}from"tslib";import*as React from"react";import styled from"../../redoc-lib/src/styled-components";export var StyledInput=styled.input(templateObject_1||(templateObject_1=__makeTemplateObject(["\n cursor: pointer;\n vertical-align: middle;\n margin-left: 0;\n margin-right: 5px;\n height: 20px;\n"],["\n cursor: pointer;\n vertical-align: middle;\n margin-left: 0;\n margin-right: 5px;\n height: 20px;\n"])));var templateObject_1,templateObject_2,templateObject_3,CheckboxLabel=styled.label(templateObject_2||(templateObject_2=__makeTemplateObject(["\n display: inline-block;\n cursor: pointer;\n vertical-align: middle;\n margin-bottom: 4px;\n position: relative;\n text-overflow: ellipsis;\n overflow: hidden;\n\n overflow-wrap: break-word;\n line-height: 20px;\n"],["\n display: inline-block;\n cursor: pointer;\n vertical-align: middle;\n margin-bottom: 4px;\n position: relative;\n text-overflow: ellipsis;\n overflow: hidden;\n\n overflow-wrap: break-word;\n line-height: 20px;\n"]))),CheckBoxWrap=styled.div(templateObject_3||(templateObject_3=__makeTemplateObject(["\n width: ",";\n display: inline-flex;\n\n & > label {\n white-space: ",";\n }\n"],["\n width: ",";\n display: inline-flex;\n\n & > label {\n white-space: ",";\n }\n"])),(function(e){return e.fullWidth?"100%":"50%"}),(function(e){return e.nowrap?"nowrap":"normal"}));
|
|
1
|
+
import{__assign,__makeTemplateObject}from"tslib";import*as React from"react";import styled from"../../redoc-lib/src/styled-components";export var StyledInput=styled.input(templateObject_1||(templateObject_1=__makeTemplateObject(["\n cursor: pointer;\n vertical-align: middle;\n margin-left: 0;\n margin-right: 5px;\n height: 20px;\n"],["\n cursor: pointer;\n vertical-align: middle;\n margin-left: 0;\n margin-right: 5px;\n height: 20px;\n"])));var templateObject_1,templateObject_2,templateObject_3,CheckboxLabel=styled.label(templateObject_2||(templateObject_2=__makeTemplateObject(["\n display: inline-block;\n cursor: pointer;\n vertical-align: middle;\n margin-bottom: 4px;\n position: relative;\n text-overflow: ellipsis;\n overflow: hidden;\n\n overflow-wrap: break-word;\n line-height: 20px;\n"],["\n display: inline-block;\n cursor: pointer;\n vertical-align: middle;\n margin-bottom: 4px;\n position: relative;\n text-overflow: ellipsis;\n overflow: hidden;\n\n overflow-wrap: break-word;\n line-height: 20px;\n"]))),CheckBoxWrap=styled.div(templateObject_3||(templateObject_3=__makeTemplateObject(["\n width: ",";\n display: inline-flex;\n\n & > label {\n white-space: ",";\n }\n"],["\n width: ",";\n display: inline-flex;\n\n & > label {\n white-space: ",";\n }\n"])),(function(e){return e.fullWidth?"100%":"50%"}),(function(e){return e.nowrap?"nowrap":"normal"}));function CheckboxComponent(e,t){var n=e.fullWidth,l=e.id,i=e.label,a=e.nowrap;return React.createElement(CheckBoxWrap,{fullWidth:n,nowrap:a},React.createElement(StyledInput,__assign({},e,{type:"checkbox",ref:t})),React.createElement(CheckboxLabel,{htmlFor:l},i))}export var Checkbox=React.forwardRef(CheckboxComponent);
|
|
2
2
|
//# sourceMappingURL=Checkbox.js.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { OpenAPISchema } from '../../../redoc-lib';
|
|
3
|
+
export interface FileUploadProps {
|
|
4
|
+
schema: OpenAPISchema;
|
|
5
|
+
contentName: string;
|
|
6
|
+
onChange(string: any, UploadFileType: any): void;
|
|
7
|
+
name: string;
|
|
8
|
+
}
|
|
9
|
+
export declare const FileUpload: React.ForwardRefExoticComponent<React.InputHTMLAttributes<HTMLInputElement> & FileUploadProps & React.RefAttributes<HTMLInputElement>>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{__assign,__awaiter,__generator,__rest}from"tslib";import*as React from"react";import{useField}from"informed";import{getFileToUpload}from"./helper";export var FileUpload=React.forwardRef((function(e,t){var a=__rest(e,[]),r=a.schema,i=a.contentName,n=a.onChange,o=a.name;return(0,useField(__assign({field:o},a)).render)(React.createElement("input",{"data-cy":"file-upload-input",type:"file",id:a.id,className:a.className,name:a.name,onChange:function(e){return __awaiter(void 0,void 0,void 0,(function(){var t;return __generator(this,(function(a){switch(a.label){case 0:return[4,getFileToUpload(e.target.files,r,i)];case 1:return t=a.sent(),n(i,t),[2]}}))}))},multiple:a.multiple,accept:a.accept,ref:t}))}));
|
|
2
|
+
//# sourceMappingURL=FileUpload.js.map
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { OpenAPISchema } from '../../../redoc-lib';
|
|
2
|
+
import { UploadFileType } from '../../../models';
|
|
3
|
+
/**
|
|
4
|
+
* Convert request body mime-type to accept value for file upload input in browser
|
|
5
|
+
*/
|
|
6
|
+
export declare function mimeTypeToAccept(mimeType: string): string | undefined;
|
|
7
|
+
export declare function isFileUploadMime(mimeType: string): boolean;
|
|
8
|
+
export declare function isMultipartFileUploadProperty(schema: OpenAPISchema): boolean;
|
|
9
|
+
export declare function isRootFileUpload(schema: OpenAPISchema, mimeType: string): boolean;
|
|
10
|
+
export declare function fileToBase64(file: File): Promise<string>;
|
|
11
|
+
export declare function getIsBase64({ format, contentEncoding, contentMediaType }: OpenAPISchema): boolean;
|
|
12
|
+
export declare function getFileToUpload(rawFiles: FileList, schema: OpenAPISchema, contentName: string): Promise<UploadFileType>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{__awaiter,__generator}from"tslib";import{DefinitionTypes,FileUploadFormats}from"../../../models";var FILE_UPLOAD_FORMATS=Object.values(FileUploadFormats),FILE_UPLOAD_MIME_TYPES=["application/octet-stream","application/pdf","application/gzip","application/zip"],COMMON_FILE_UPLOAD_PREFIXES=["image/","audio/","video/"];export function mimeTypeToAccept(e){if(COMMON_FILE_UPLOAD_PREFIXES.some((function(t){return e.startsWith(t)})))return e}export function isFileUploadMime(e){return!!FILE_UPLOAD_MIME_TYPES.includes(e)||COMMON_FILE_UPLOAD_PREFIXES.some((function(t){return e.startsWith(t)}))}export function isMultipartFileUploadProperty(e){var t="array"===e.type?e.items:e;if(!t||!t.type)return!0;var i=t.contentMediaType||"",n=t.format||t.contentEncoding||(isFileUploadMime(i)?"binary":"");return t.type===DefinitionTypes.STRING&&FILE_UPLOAD_FORMATS.includes(n)}export function isRootFileUpload(e,t){if(!e||!e.type)return isFileUploadMime(t);var i=e.format||e.contentEncoding||"";return e.type===DefinitionTypes.STRING&&FILE_UPLOAD_FORMATS.includes(i)}export function fileToBase64(e){return new Promise((function(t,i){var n=new FileReader;n.onload=function(){var e=n.result.replace(/data:.*\/.*;base64,/g,"");t(e)},n.onerror=function(){return i(n.error)},n.readAsDataURL(e)}))}export function getIsBase64(e){return[e.format,e.contentEncoding,e.contentMediaType].includes(FileUploadFormats.BASE64)}export function getFileToUpload(e,t,i){return __awaiter(this,void 0,void 0,(function(){var n,r,o,a=this;return __generator(this,(function(s){switch(s.label){case 0:return n=Object.values(e),r=1===n.length?n[0]:n,o=t.properties?t.properties[i]:t,o.type===DefinitionTypes.STRING&&getIsBase64(o)?[4,fileToBase64(n[0])]:[3,2];case 1:return r=s.sent(),[3,5];case 2:return o.type===DefinitionTypes.ARRAY&&o.items?getIsBase64(o.items)?[4,Promise.all(n.map((function(e){return __awaiter(a,void 0,void 0,(function(){return __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=s.sent(),[3,5];case 4:r=n,s.label=5;case 5:return[2,r]}}))}))}
|
|
2
|
+
//# sourceMappingURL=helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './FileUpload';
|
|
@@ -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
|
-
import{__assign,__makeTemplateObject}from"tslib";import React from"react";import{asField}from"informed";import{useField}from"informed";import styled,{css,mediaCSS}from"../../redoc-lib/src/styled-components";import{FormError}from"./form";import{Dropdown}from"../../redoc-lib";export var invertedInputStyles=css(templateObject_1||(templateObject_1=__makeTemplateObject(["\n border: none;\n outline: none;\n padding: 8px;\n border-radius: ",";\n background-color: ",";\n ","\n\n &::placeholder {\n opacity: 0.6;\n color: ",";\n }\n\n &:-webkit-autofill {\n background-color: ",";\n }\n"],["\n border: none;\n outline: none;\n padding: 8px;\n border-radius: ",";\n background-color: ",";\n ","\n\n &::placeholder {\n opacity: 0.6;\n color: ",";\n }\n\n &:-webkit-autofill {\n background-color: ",";\n }\n"])),(function(e){return e.theme.shape.borderRadius}),(function(e){return e.theme.rightPanel.panelControlsBackgroundColor}),(function(e){var t=e.theme;return mediaCSS({color:t.colors.text.light,fontFamily:t.typography.code.fontFamily,fontSize:t.typography.fontSize})}),(function(e){return e.theme.colors.text.light}),(function(e){return e.theme.rightPanel.panelBackgroundColor}));var TextFieldWrapper=styled.div(templateObject_2||(templateObject_2=__makeTemplateObject(["\n display: ",";\n ","\n"],["\n display: ",";\n ","\n"])),(function(e){return"hidden"===e.type?"none":"inline-block"}),(function(e){return e.fullWidth?"width: 100%;":""})),InputWrap=styled.div(templateObject_3||(templateObject_3=__makeTemplateObject(["\n position: relative;\n"],["\n position: relative;\n"])));export var StyledInput=styled.input(templateObject_4||(templateObject_4=__makeTemplateObject(["\n ","\n ",";\n ","\n"],["\n ","\n ",";\n ","\n"])),invertedInputStyles,(function(e){return"password"===e.inputType?"padding-right: 40px;":""}),(function(e){return e.fullWidth?"width: 100%;":""}));var ToggleButton=styled.span(templateObject_5||(templateObject_5=__makeTemplateObject(["\n position: absolute;\n right: 0;\n line-height: normal;\n\n font-size: 0.8em;\n padding: calc(8px / 0.8);\n cursor: pointer;\n text-align: center;\n ","\n"],["\n position: absolute;\n right: 0;\n line-height: normal;\n\n font-size: 0.8em;\n padding: calc(8px / 0.8);\n cursor: pointer;\n text-align: center;\n ","\n"])),(function(e){var t=e.theme;return mediaCSS({color:t.rightPanel.textColor})}));
|
|
1
|
+
import{__assign,__makeTemplateObject}from"tslib";import React from"react";import{asField}from"informed";import{useField}from"informed";import styled,{css,mediaCSS}from"../../redoc-lib/src/styled-components";import{FormError}from"./form";import{Dropdown}from"../../redoc-lib";export var invertedInputStyles=css(templateObject_1||(templateObject_1=__makeTemplateObject(["\n border: none;\n outline: none;\n padding: 8px;\n border-radius: ",";\n background-color: ",";\n ","\n\n &::placeholder {\n opacity: 0.6;\n color: ",";\n }\n\n &:-webkit-autofill {\n background-color: ",";\n }\n"],["\n border: none;\n outline: none;\n padding: 8px;\n border-radius: ",";\n background-color: ",";\n ","\n\n &::placeholder {\n opacity: 0.6;\n color: ",";\n }\n\n &:-webkit-autofill {\n background-color: ",";\n }\n"])),(function(e){return e.theme.shape.borderRadius}),(function(e){return e.theme.rightPanel.panelControlsBackgroundColor}),(function(e){var t=e.theme;return mediaCSS({color:t.colors.text.light,fontFamily:t.typography.code.fontFamily,fontSize:t.typography.fontSize})}),(function(e){return e.theme.colors.text.light}),(function(e){return e.theme.rightPanel.panelBackgroundColor}));var TextFieldWrapper=styled.div(templateObject_2||(templateObject_2=__makeTemplateObject(["\n display: ",";\n ","\n"],["\n display: ",";\n ","\n"])),(function(e){return"hidden"===e.type?"none":"inline-block"}),(function(e){return e.fullWidth?"width: 100%;":""})),InputWrap=styled.div(templateObject_3||(templateObject_3=__makeTemplateObject(["\n position: relative;\n"],["\n position: relative;\n"])));export var StyledInput=styled.input(templateObject_4||(templateObject_4=__makeTemplateObject(["\n ","\n ",";\n ","\n"],["\n ","\n ",";\n ","\n"])),invertedInputStyles,(function(e){return"password"===e.inputType?"padding-right: 40px;":""}),(function(e){return e.fullWidth?"width: 100%;":""}));var ToggleButton=styled.span(templateObject_5||(templateObject_5=__makeTemplateObject(["\n position: absolute;\n right: 0;\n line-height: normal;\n\n font-size: 0.8em;\n padding: calc(8px / 0.8);\n cursor: pointer;\n text-align: center;\n ","\n"],["\n position: absolute;\n right: 0;\n line-height: normal;\n\n font-size: 0.8em;\n padding: calc(8px / 0.8);\n cursor: pointer;\n text-align: center;\n ","\n"])),(function(e){var t=e.theme;return mediaCSS({color:t.rightPanel.textColor})}));function TextFieldComponent(e,t){var n=e.fullWidth,r=e.errorMessage,o=e.type,a=React.useState("password"===o),l=a[0],i=a[1],c=React.useCallback((function(){i(!l)}),[l]);return React.createElement(TextFieldWrapper,{fullWidth:n,type:o},React.createElement(InputWrap,null,React.createElement(StyledInput,__assign({},e,{type:l?"password":"text",inputType:o,ref:t})),"password"===o&&React.createElement(ToggleButton,{onClick:c}," ",l?"show":"hide"," ")),r?React.createElement(FormError,null,r):null)}export var TextField=React.forwardRef(TextFieldComponent);export function FormTextField(e){var t=useField(__assign({fieldType:"text"},e)),n=t.userProps,r=t.render,o=t.fieldState,a=t.informed;return r(React.createElement(TextField,__assign({},n,a,{errorMessage:o.error})))}var templateObject_1,templateObject_2,templateObject_3,templateObject_4,templateObject_5,FormDropdownInt=function(e){var t=e.initValue,n=e.options,r=e.fieldApi,o=e.fieldState,a=n.map((function(e,t){return{value:e.title||e.value,idx:t,origValue:e.value}})),l=a.find((function(e){return e.origValue===t})),i=React.useState(null==l?void 0:l.value),c=i[0],p=i[1];React.useEffect((function(){t&&r.setValue(t)}),[]);var d=React.useCallback((function(e){r.setValue(a[e.idx].origValue),p(a[e.idx].value)}),[a]);return React.createElement(TextFieldWrapper,{fullWidth:!0},React.createElement(Dropdown,{fullWidth:!0,variant:"dark",value:c,options:a,onChange:d}),o.error?React.createElement(FormError,null,o.error):null)};export var FormDropdown=asField(FormDropdownInt);
|
|
2
2
|
//# sourceMappingURL=TextField.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__makeTemplateObject}from"tslib";import*as React from"react";import{serializeParameterValue,styled}from"../../redoc-lib";import{CodeHeader}from"../Panel";import{Path,PathWrapper}from"../Endpoint/Path";import{HttpVerb,Button}from"../shared";import{expandVariables}from"./ServerDropdown";function formatPath(e,t,
|
|
1
|
+
import{__makeTemplateObject}from"tslib";import*as React from"react";import{serializeParameterValue,styled}from"../../redoc-lib";import{CodeHeader}from"../Panel";import{Path,PathWrapper}from"../Endpoint/Path";import{HttpVerb,Button}from"../shared";import{expandVariables}from"./ServerDropdown";function formatPath(e,t,n){var r=t.path||{},a=t.query||{},o=Object.keys(a),m=expandVariables(e,r);return o.length&&(m+="?"+o.map((function(e){if(!a[e])return"";var t=function(e){return n.find((function(t){return t.name===e&&"query"===t.in}))}(e);return t?serializeParameterValue(t,a[e]):e+"="+encodeURIComponent(a[e])})).filter(Boolean).join("&")),m}export var ActionPanel=function(e){var t=e.loading,n=e.operation,r=e.hasResponse,a=e.execute,o=e.params,m=void 0===o?{}:o;return React.createElement(TryItHeader,null,React.createElement(PathWrapper,null,React.createElement(HttpVerb,{type:n.httpVerb},n.httpVerb),React.createElement(Path,{wrap:"true"},formatPath(n.path,m,n.parameters))),React.createElement(SendButton,{"data-cy":"send-button",color:"primary",blinking:t,onClick:function(){t||a()}},t?"Sending...":r?"Resend":"Send"))};var templateObject_1,templateObject_2,SendButton=styled(Button)(templateObject_1||(templateObject_1=__makeTemplateObject(["\n width: ",";\n"],["\n width: ",";\n"])),(function(e){return e.theme.components.tryItSendButton.fullWidth?"100%":"auto"})),TryItHeader=styled(CodeHeader)(templateObject_2||(templateObject_2=__makeTemplateObject(["\n ",";\n"],["\n ",";\n"])),(function(e){return e.theme.components.tryItSendButton.fullWidth?"\n flex-direction: column;\n align-items: flex-start;":""}));
|
|
2
2
|
//# sourceMappingURL=ActionPanel.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__assign,__extends}from"tslib";import*as React from"react";import{Dropdown}from"../../redoc-lib";import{fromStorage,getSecurityDetailsOptions,toStorage,escapeFormId}from"../../utils";import OAuth2TokenInput from"./OAuth2TokenInput";import{OAuth2Flow}from"./OAuth2Flow";import{OpenIDConnect}from"./OpenIDConnect";import{FormDropdown,FormTextField}from"../common/TextField";import{FormControl,FormLabel,FormWrapper}from"../common/form";import{l}from"../../redoc-lib/src/services/Labels";export function requiredValidator(e){if(!e)return"Field is required"}var getCookie=function(e){var t=document.cookie.match("\\b"+e+"=([^;]*)\\b");return t?t[1]:void 0};function fromCookie(e){if("cookie"===e.in)return getCookie(e.name)}var AuthPanel=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"state",{enumerable:!0,configurable:!0,writable:!0,value:{activeScheme:0}}),Object.defineProperty(t,"handleSchemeChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){t.setState({activeScheme:e.idx}),toStorage("securityRequirementName",e.value)}}),t}return __extends(t,e),Object.defineProperty(t,"getDerivedStateFromProps",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=e.operation.security.map((function(e){return e.schemes.map((function(e){return e.id})).join(" and ")})),r=fromStorage("securityRequirementName"),
|
|
1
|
+
import{__assign,__extends}from"tslib";import*as React from"react";import{Dropdown}from"../../redoc-lib";import{fromStorage,getSecurityDetailsOptions,toStorage,escapeFormId}from"../../utils";import OAuth2TokenInput from"./OAuth2TokenInput";import{OAuth2Flow}from"./OAuth2Flow";import{OpenIDConnect}from"./OpenIDConnect";import{FormDropdown,FormTextField}from"../common/TextField";import{FormControl,FormLabel,FormWrapper}from"../common/form";import{l}from"../../redoc-lib/src/services/Labels";export function requiredValidator(e){if(!e)return"Field is required"}var getCookie=function(e){var t=document.cookie.match("\\b"+e+"=([^;]*)\\b");return t?t[1]:void 0};function fromCookie(e){if("cookie"===e.in)return getCookie(e.name)}var AuthPanel=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"state",{enumerable:!0,configurable:!0,writable:!0,value:{activeScheme:0}}),Object.defineProperty(t,"handleSchemeChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){t.setState({activeScheme:e.idx}),toStorage("securityRequirementName",e.value)}}),t}return __extends(t,e),Object.defineProperty(t,"getDerivedStateFromProps",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=e.operation.security.map((function(e){return e.schemes.map((function(e){return e.id})).join(" and ")})),r=fromStorage("securityRequirementName"),a=t.findIndex((function(e){return e===r}));return{activeScheme:a<0?0:a}}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=this.state.activeScheme,r=this.props.operation.security,a=r.map((function(e){return e.schemes.map((function(e){return e.id})).join(" and ")})).map((function(e,t){return{value:e,idx:t}}));return 0===a.length?null:React.createElement(React.Fragment,null,React.createElement(FormWrapper,null,a.length>1&&React.createElement(FormControl,null,React.createElement(Dropdown,{variant:"dark",fullWidth:!0,prefix:"Security scheme: ",options:a,value:a[t].value,onChange:this.handleSchemeChange}))||null,r[t].schemes.map((function(t){var r,a,o,n=escapeFormId(t.id);if("apiKey"===t.type){var i=getSecurityDetailsOptions(n,""),u={field:"auth."+n,fullWidth:!0,initialValue:fromCookie(t)||fromStorage("auth."+n),initValue:fromCookie(t)||fromStorage("auth."+n),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement(FormControl,{key:n},React.createElement(FormLabel,null," ",t.name,": "),i?React.createElement(FormDropdown,__assign({},u,{options:i})):React.createElement(FormTextField,__assign({},u,{type:"password","data-cy":"apiKey-auth-password"})))}if("http"===t.type){if("basic"===t.scheme){var c=getSecurityDetailsOptions(n,"username");u={field:"auth."+n+".username",fullWidth:!0,initialValue:fromStorage("auth."+n+".username"),initValue:fromStorage("auth."+n+".username"),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement(React.Fragment,{key:n},React.createElement(FormControl,null,React.createElement(FormLabel,null," ",l("tryItAuthBasicUsername"),": "),c?React.createElement(FormDropdown,__assign({},u,{options:c})):React.createElement(FormTextField,__assign({},u))),React.createElement(FormControl,null,React.createElement(FormLabel,null," ",l("tryItAuthBasicPassword"),": "),React.createElement(FormTextField,{type:"password","data-cy":"http-auth-password",fullWidth:!0,field:"auth."+n+".password",validate:requiredValidator,initialValue:fromStorage("auth."+n+".password"),validateOnBlur:!0,validateOnChange:!0})))}if("bearer"===t.scheme){var m=getSecurityDetailsOptions(n,"");u={field:"auth."+n,fullWidth:!0,initialValue:fromStorage("auth."+n),initValue:fromStorage("auth."+n),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement(React.Fragment,{key:n},React.createElement(FormControl,null,React.createElement(FormLabel,null," Bearer Token: "),m?React.createElement(FormDropdown,__assign({},u,{options:m})):React.createElement(FormTextField,__assign({},u,{type:"password",placeholder:"(without 'Bearer')"}))))}}else{if("oauth2"===t.type&&t.flows&&t.flows.clientCredentials)return React.createElement(OAuth2TokenInput,{key:n,flow:t.flows.clientCredentials,server:e.props.activeServer,authCorsProxyUrl:e.props.authCorsProxyUrl,id:n,form:e.props.form,formApi:e.props.formApi,clientId:t.flows.clientCredentials["x-defaultClientId"]||t["x-defaultClientId"]});if("oauth2"===t.type&&t.flows&&t.flows.implicit)return React.createElement(OAuth2Flow,{key:n,authorizationUrl:t.flows.implicit.authorizationUrl,authCorsProxyUrl:e.props.authCorsProxyUrl,scopes:Object.keys((null===(a=null===(r=null==t?void 0:t.flows)||void 0===r?void 0:r.implicit)||void 0===a?void 0:a.scopes)||{}),server:e.props.activeServer,id:n,form:e.props.form,formApi:e.props.formApi,clientId:t.flows.implicit["x-defaultClientId"]||t["x-defaultClientId"],flow:"implicit"});if("oauth2"===t.type&&t.flows&&t.flows.authorizationCode)return React.createElement(OAuth2Flow,{key:n,authorizationUrl:t.flows.authorizationCode.authorizationUrl,tokenUrl:t.flows.authorizationCode.tokenUrl,authCorsProxyUrl:e.props.authCorsProxyUrl,scopes:Object.keys((null===(o=t.flows.authorizationCode)||void 0===o?void 0:o.scopes)||{}),server:e.props.activeServer,id:n,form:e.props.form,formApi:e.props.formApi,clientId:t.flows.authorizationCode["x-defaultClientId"]||t["x-defaultClientId"],flow:"authorizationCode"});if("oauth2"===t.type){var s=fromStorage("auth."+n+".token");return s=s?JSON.parse(s):{},React.createElement(React.Fragment,{key:n},React.createElement(FormControl,null,React.createElement(FormLabel,null," Access Token Type: "),React.createElement(FormTextField,{fullWidth:!0,field:"auth."+n+".token.token_type",initialValue:s.token_type||"Bearer"})),React.createElement(FormControl,null,React.createElement(FormLabel,null," Access Token: "),React.createElement(FormTextField,{type:"password",fullWidth:!0,field:"auth."+n+".token.access_token",validate:requiredValidator,initialValue:s.access_token,validateOnBlur:!0,validateOnChange:!0})))}if("openIdConnect"===t.type)return React.createElement(OpenIDConnect,{key:n,server:e.props.activeServer,authCorsProxyUrl:e.props.authCorsProxyUrl,id:n,form:e.props.form,formApi:e.props.formApi,scheme:t,clientId:t["x-defaultClientId"]})}}))),React.createElement("small",null,React.createElement("strong",null,"Note"),": Your credentials will be saved until the end of the browser session"))}}),t}(React.Component);export{AuthPanel};
|
|
2
2
|
//# sourceMappingURL=AuthPanel.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__extends,__makeTemplateObject}from"tslib";import*as React from"react";import{createGlobalStyle}from"../../redoc-lib";import{asField}from"informed";import{Controlled as CodeMirror}from"react-codemirror2";import"./codemirror-helpers";var templateObject_1,CodeMirrorStyles=createGlobalStyle(templateObject_1||(templateObject_1=__makeTemplateObject(["\n .cm-s-material.CodeMirror {\n background-color: ","!important;\n color: ","!important;\n font-family: ",";\n line-height: 18px;\n padding: 10px;\n }\n\n .CodeMirror-lint-mark-error {\n background-size: 4px;\n background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAYAAAD+Bd/7AAAAVUlEQVR42mNgQAL/GRjigPg/EP8FYntkCX4gtoVKgvE/BoabcEVAhj6S5DUgfgFl/wFJ2gPxL6iuT1DF+kD2R5AYA5KRj6CS/FAMYvszIBltz4AFAAD9fz0YtLg13wAAAABJRU5ErkJggg==') !important;\n }\n\n .cm-s-material.CodeMirror-focused div.CodeMirror-selected {\n background: rgba(255, 255, 255, 0.3) !important;\n }\n\n .cm-s-material .CodeMirror-code .cm-string.cm-property {\n color: #9EFAA7;\n }\n\n .cm-s-material .CodeMirror-code .cm-string {\n color: #FEE39E;\n }\n\n .cm-s-material .CodeMirror-code .cm-atom {\n color: ",";\n }\n\n div .cm-s-material .CodeMirror-matchingbracket {\n outline: 1px solid grey;\n text-decoration: none;\n }\n\n .react-codemirror2 {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: ",";\n border-bottom-left-radius: ",";\n overflow: hidden;\n\n flex: 1;\n }\n\n .CodeMirror {\n flex: 1;\n max-height: 65vh !important; /* it fixes performance bug if we pass big data to CodeMirror */\n border-radius: ",";\n }\n"],["\n .cm-s-material.CodeMirror {\n background-color: ","!important;\n color: ","!important;\n font-family: ",";\n line-height: 18px;\n padding: 10px;\n }\n\n .CodeMirror-lint-mark-error {\n background-size: 4px;\n background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAYAAAD+Bd/7AAAAVUlEQVR42mNgQAL/GRjigPg/EP8FYntkCX4gtoVKgvE/BoabcEVAhj6S5DUgfgFl/wFJ2gPxL6iuT1DF+kD2R5AYA5KRj6CS/FAMYvszIBltz4AFAAD9fz0YtLg13wAAAABJRU5ErkJggg==') !important;\n }\n\n .cm-s-material.CodeMirror-focused div.CodeMirror-selected {\n background: rgba(255, 255, 255, 0.3) !important;\n }\n\n .cm-s-material .CodeMirror-code .cm-string.cm-property {\n color: #9EFAA7;\n }\n\n .cm-s-material .CodeMirror-code .cm-string {\n color: #FEE39E;\n }\n\n .cm-s-material .CodeMirror-code .cm-atom {\n color: ",";\n }\n\n div .cm-s-material .CodeMirror-matchingbracket {\n outline: 1px solid grey;\n text-decoration: none;\n }\n\n .react-codemirror2 {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: ",";\n border-bottom-left-radius: ",";\n overflow: hidden;\n\n flex: 1;\n }\n\n .CodeMirror {\n flex: 1;\n max-height: 65vh !important; /* it fixes performance bug if we pass big data to CodeMirror */\n border-radius: ",";\n }\n"])),(function(e){return e.theme.rightPanel.panelControlsBackgroundColor}),(function(e){return e.theme.colors.text.light}),(function(e){return e.theme.typography.code.fontFamily}),(function(e){return e.theme.colors.text.light}),(function(e){return e.theme.components.panels.borderRadius}),(function(e){return e.theme.components.panels.borderRadius}),(function(e){return e.theme.components.panels.borderRadius})),CodemirrorInput=function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(r,"editor",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"_onKeyUp",{enumerable:!0,configurable:!0,writable:!0,value:function(e,
|
|
1
|
+
import{__extends,__makeTemplateObject}from"tslib";import*as React from"react";import{createGlobalStyle}from"../../redoc-lib";import{asField}from"informed";import{Controlled as CodeMirror}from"react-codemirror2";import"codemirror/mode/xml/xml";import"./codemirror-helpers";var templateObject_1,CodeMirrorStyles=createGlobalStyle(templateObject_1||(templateObject_1=__makeTemplateObject(["\n .cm-s-material.CodeMirror {\n background-color: ","!important;\n color: ","!important;\n font-family: ",";\n line-height: 18px;\n padding: 10px;\n }\n\n .CodeMirror-lint-mark-error {\n background-size: 4px;\n background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAYAAAD+Bd/7AAAAVUlEQVR42mNgQAL/GRjigPg/EP8FYntkCX4gtoVKgvE/BoabcEVAhj6S5DUgfgFl/wFJ2gPxL6iuT1DF+kD2R5AYA5KRj6CS/FAMYvszIBltz4AFAAD9fz0YtLg13wAAAABJRU5ErkJggg==') !important;\n }\n\n .cm-s-material.CodeMirror-focused div.CodeMirror-selected {\n background: rgba(255, 255, 255, 0.3) !important;\n }\n\n .cm-s-material .CodeMirror-code .cm-string.cm-property {\n color: #9EFAA7;\n }\n\n .cm-s-material .CodeMirror-code .cm-string {\n color: #FEE39E;\n }\n\n .cm-s-material .CodeMirror-code .cm-tag {\n color: #9efaa7;\n }\n\n .cm-s-material .CodeMirror-code .cm-atom {\n color: ",";\n }\n\n div .cm-s-material .CodeMirror-matchingbracket {\n outline: 1px solid grey;\n text-decoration: none;\n }\n\n .react-codemirror2 {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: ",";\n border-bottom-left-radius: ",";\n overflow: hidden;\n\n flex: 1;\n }\n\n .CodeMirror {\n flex: 1;\n max-height: 65vh !important; /* it fixes performance bug if we pass big data to CodeMirror */\n border-radius: ",";\n }\n"],["\n .cm-s-material.CodeMirror {\n background-color: ","!important;\n color: ","!important;\n font-family: ",";\n line-height: 18px;\n padding: 10px;\n }\n\n .CodeMirror-lint-mark-error {\n background-size: 4px;\n background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAYAAAD+Bd/7AAAAVUlEQVR42mNgQAL/GRjigPg/EP8FYntkCX4gtoVKgvE/BoabcEVAhj6S5DUgfgFl/wFJ2gPxL6iuT1DF+kD2R5AYA5KRj6CS/FAMYvszIBltz4AFAAD9fz0YtLg13wAAAABJRU5ErkJggg==') !important;\n }\n\n .cm-s-material.CodeMirror-focused div.CodeMirror-selected {\n background: rgba(255, 255, 255, 0.3) !important;\n }\n\n .cm-s-material .CodeMirror-code .cm-string.cm-property {\n color: #9EFAA7;\n }\n\n .cm-s-material .CodeMirror-code .cm-string {\n color: #FEE39E;\n }\n\n .cm-s-material .CodeMirror-code .cm-tag {\n color: #9efaa7;\n }\n\n .cm-s-material .CodeMirror-code .cm-atom {\n color: ",";\n }\n\n div .cm-s-material .CodeMirror-matchingbracket {\n outline: 1px solid grey;\n text-decoration: none;\n }\n\n .react-codemirror2 {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: ",";\n border-bottom-left-radius: ",";\n overflow: hidden;\n\n flex: 1;\n }\n\n .CodeMirror {\n flex: 1;\n max-height: 65vh !important; /* it fixes performance bug if we pass big data to CodeMirror */\n border-radius: ",";\n }\n"])),(function(e){return e.theme.rightPanel.panelControlsBackgroundColor}),(function(e){return e.theme.colors.text.light}),(function(e){return e.theme.typography.code.fontFamily}),(function(e){return e.theme.colors.text.light}),(function(e){return e.theme.components.panels.borderRadius}),(function(e){return e.theme.components.panels.borderRadius}),(function(e){return e.theme.components.panels.borderRadius})),CodemirrorInput=function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(r,"editor",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"_onKeyUp",{enumerable:!0,configurable:!0,writable:!0,value:function(e,o){/^[a-zA-Z0-9_":]$/.test(o.key)&&r.editor.execCommand("autocomplete")}}),Object.defineProperty(r,"initEditor",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.editor=e,e.on("keyup",r._onKeyUp)}}),Object.defineProperty(r,"refreshEditor",{enumerable:!0,configurable:!0,writable:!0,value:function(){r.editor.refresh()}}),r}return __extends(r,e),Object.defineProperty(r.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this;setTimeout((function(){e.editor.refresh()}),0),document.addEventListener("click",this.refreshEditor)}}),Object.defineProperty(r.prototype,"componentWillUnmount",{enumerable:!1,configurable:!0,writable:!0,value:function(){document.removeEventListener("click",this.refreshEditor)}}),Object.defineProperty(r.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,r=this.props.fieldState.value,o=this.props.fieldApi,t=o.setValue,n=o.setTouched,i=o.setError,a=this.props,c=a.onChange,l=a.onBlur,d=a.forwardedRef;return React.createElement(React.Fragment,null,React.createElement(CodeMirrorStyles,null),React.createElement(CodeMirror,{editorDidMount:this.initEditor,value:r||"",ref:d||void 0,onBeforeChange:function(e,r,o){t(o),c&&c(o)},onBlur:function(e){n(),l&&l(e)},options:{mode:this.props.mode||"application/json",theme:"material",matchBrackets:!0,autoCloseBrackets:!0,tabSize:2,foldGutter:!0,extraKeys:{"Cmd-Space":function(){return e.editor.showHint({completeSingle:!0})},"Ctrl-Space":function(){return e.editor.showHint({completeSingle:!0})}},hintOptions:{id:this.props.id,completeSingle:!1,schema:this.props.schema},lint:{id:this.props.id,schema:this.props.schema,setError:i}}}))}}),r}(React.Component);export{CodemirrorInput};export default asField(CodemirrorInput);
|
|
2
2
|
//# sourceMappingURL=CodemirrorInput.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { OpenApiResponseData } from './ResponsePanel';
|
|
3
3
|
import { ProStore } from '../../services';
|
|
4
4
|
import { OperationModel, Server } from '../../redoc-lib';
|
|
5
5
|
export interface ConsoleProps {
|
|
@@ -8,7 +8,9 @@ export interface ConsoleProps {
|
|
|
8
8
|
specIdx?: number;
|
|
9
9
|
className?: string;
|
|
10
10
|
rootElement?: HTMLElement | null;
|
|
11
|
-
onClose
|
|
11
|
+
onClose?: () => any;
|
|
12
|
+
properties?: any;
|
|
13
|
+
onResponse?: (response: OpenApiResponseData) => void;
|
|
12
14
|
}
|
|
13
15
|
export interface ConsoleState {
|
|
14
16
|
form: any;
|
|
@@ -16,10 +18,10 @@ export interface ConsoleState {
|
|
|
16
18
|
loading: boolean;
|
|
17
19
|
activeTab: number;
|
|
18
20
|
error?: Error & {
|
|
19
|
-
response?:
|
|
21
|
+
response?: OpenApiResponseData;
|
|
20
22
|
};
|
|
21
23
|
resolvedRawSpec?: any;
|
|
22
|
-
response?:
|
|
24
|
+
response?: OpenApiResponseData;
|
|
23
25
|
time?: number;
|
|
24
26
|
server: Server;
|
|
25
27
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__assign,__awaiter,__decorate,__extends,__generator,__makeTemplateObject}from"tslib";import*as React from"react";import{Form,useField}from"informed";import{observer}from"mobx-react";import{get,useDimensions,unescapeFormId}from"../../utils";import{parse}from"query-string";import{CloseButton,ConsoleBody,ConsoleWrap}from"./styled.components";import{ServerChooser}from"./ServerDropdown";import{OperationParameters}from"./OperationParameters";import{ActionPanel}from"./ActionPanel";import{ResponsePanel}from"./ResponsePanel";import{RequestBody}from"./RequestBody";import{ConsoleBadges}from"./ConsoleBadges";import{AuthPanel,requiredValidator}from"./AuthPanel";import{AnalyticsEventType}from"../../services";import Swagger from"swagger-client";import{JsonPointer,ShelfIcon,CrossIcon,LockIcon}from"../../redoc-lib";import{RenderHook}from"../../redoc-lib/src/components/helper";import{l}from"../../redoc-lib/src/services/Labels";import styled from"../../redoc-lib/src/styled-components";import{CodeHeader,Panel,Header,Accordion,Trigger,Title}from"../Panel";import{OAuth2}from"../../services/OAuth2";import{PanelBody}from"../Panel/PanelBody";import{getParameters,updateStorage}from"./utils";function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}var flexColumn={flex:1,display:"flex",flexDirection:"column"},Console=function(e){function t(t){var r=e.call(this,t)||this;return Object.defineProperty(r,"formApi",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(r,"setFormApi",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.formApi=e,setTimeout((function(){r.setState({form:r.formApi.getState()})}),0)}}),Object.defineProperty(r,"handleChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.setState({form:e}),updateStorage(e)}}),Object.defineProperty(r,"handleTabChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.setState({activeTab:e})}}),Object.defineProperty(r,"handleServerChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.setState({server:e})}}),Object.defineProperty(r,"handleExecute",{enumerable:!0,configurable:!0,writable:!0,value:function(){return __awaiter(r,void 0,void 0,(function(){var e,t,r,o,n,a,s,i,l,c,u,p,d,m,h,v,f,g,y,b,_,P,R,S,C,w,I,E,x,A,T,k,O,B,q=this;return __generator(this,(function(j){switch(j.label){case 0:if(e=this.props,t=e.store,r=e.operation,this.formApi.submitForm(),o=this.formApi.getState(),n=o.values,o.invalid)return this.setState({shaking:!0}),setTimeout((function(){return q.setState({shaking:!1})}),1e3),null===(x=null===(E=null==t?void 0:t.options.events)||void 0===E?void 0:E.tryItSent)||void 0===x||x.call(E,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"ValidationFailed",operationId:r.operationId,operationPath:r.path,operationHttpVerb:r.httpVerb,operationSummary:r.description}),[2];if(a=this.props.operation.requestBody,s=a&&a.content&&a.content.active&&a.content.active.name||"",i=n.body,/json/.test(s))try{i=JSON.parse(i)}catch(e){console.error(e)}if(this.setState({loading:!0}),l=t.dereferencedRawSpec,!(c=get(l,["paths",r.path,(r.httpVerb||"").toLowerCase(),"servers"])||get(l,["paths",r.path,"servers"])||get(l,["servers"])))throw console.error("Servers are not specified in your OpenAPI file. You can't use Try It Out console without specifying servers. If you use OpenAPI 2, make sure you configured host and basepath"),new Error("Servers are not specified");u=c.find((function(e){return q.state.server.url.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url)})),p=Date.now(),d=!!window.document.documentMode,h=n.auth,n.auth?(v=Object.keys(n.auth)[0],f=unescapeFormId(v),m=__assign(__assign({},l),{components:__assign(__assign({},l.components),{securitySchemes:__assign(__assign({},l.components.securitySchemes),(w={},w[f]=__assign(__assign({},l.components.securitySchemes[f]),{type:"openIdConnect"===l.components.securitySchemes[f].type?"oauth2":l.components.securitySchemes[f].type}),w))})}),h=__assign(__assign({},h),((I={})[f]=h[v],I))):m=__assign({},l),(g=t.options.corsProxyUrl)&&l.servers&&l.servers.length&&(m.servers=l.servers.map((function(e){return __assign(__assign({},e),{url:g+normalizeUrlProtocol(e.url)})}))),y=(null===(T=null===(A=null==a?void 0:a.content)||void 0===A?void 0:A.active)||void 0===T?void 0:T.name)||null,b="application/x-www-form-urlencoded"===y?parse(i):i,j.label=1;case 1:return j.trys.push([1,5,8,9]),_={userFetch:d&&require("cross-fetch").fetch,server:g?g+normalizeUrlProtocol(u.url):u.url,serverVariables:this.state.server.variables,spec:m,pathName:r.path,method:r.httpVerb,parameters:__assign(__assign(__assign(__assign({},n.path),n.query),n.header),n.cookie),securities:{authorized:h},requestBody:b,requestContentType:y,responseContentType:(null===(k=n.header)||void 0===k?void 0:k.Accept)||null,requestInterceptor:t.options.requestInterceptor&&function(e){var o,n;return null===(n=(o=t.options).requestInterceptor)||void 0===n?void 0:n.call(o,e,r)}||void 0},[4,Swagger.execute(_)];case 2:return(P=j.sent())&&P.data instanceof Blob?(R=P,[4,P.data.text()]):[3,4];case 3:R.data=j.sent(),j.label=4;case 4:return this.setState({response:P,error:void 0}),[3,9];case 5:return(S=j.sent())&&S.response&&S.response.data instanceof Blob?(C=S.response,[4,S.response.data.text()]):[3,7];case 6:C.data=j.sent(),j.label=7;case 7:return this.setState({response:void 0,error:S}),[3,9];case 8:return this.setState({loading:!1,activeTab:1,time:Date.now()-p}),null===(B=null===(O=null==t?void 0:t.options.events)||void 0===O?void 0:O.tryItSent)||void 0===B||B.call(O,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"Sent",operationId:r.operationId,operationPath:r.path,operationHttpVerb:r.httpVerb,operationSummary:r.description}),[7];case 9:return[2]}}))}))}}),Object.defineProperty(r,"validateBody",{enumerable:!0,configurable:!0,writable:!0,value:function(){}}),r.state={form:{values:{path:getParameters(t.operation.parameters,"path"),cookie:getParameters(t.operation.parameters,"cookie"),header:getParameters(t.operation.parameters,"header"),query:getParameters(t.operation.parameters,"query")}},shaking:!1,loading:!1,activeTab:0,server:{}},r}return __extends(t,e),Object.defineProperty(t.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){return __awaiter(this,void 0,void 0,(function(){var e,t,r,o,n;return __generator(this,(function(a){switch(a.label){case 0:return e=this.props,t=e.store,r=e.specIdx,o=e.operation,[4,t.dereferenceSpecForTryIt(r||0,o)];case 1:return n=a.sent(),this.setState({resolvedRawSpec:n}),this.formApi.setValues({}),[2]}}))}))}}),Object.defineProperty(t.prototype,"componentDidUpdate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){e.operation!==this.props.operation&&this.setState({response:void 0,error:void 0,activeTab:0})}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.props,t=e.operation,r=e.className,o=e.rootElement,n=this.state,a=n.shaking,s=n.activeTab,i=n.form,l=n.response,c=n.loading,u=n.error,p=!(!l&&!u);return React.createElement(ConsoleWrapHook,{shaking:a,className:r,rootElement:o},React.createElement(CodeHeader,null,React.createElement(ConsoleBadges,{active:s,hasResponse:p,onChange:this.handleTabChange}),React.createElement(CloseButton,{onClick:this.props.onClose}," ✕ ")),React.createElement(ConsoleBody,{hidden:0!==s},this.renderRequest()),React.createElement(ConsoleBody,{hidden:1!==s},this.renderResponse()),React.createElement(ActionPanel,{hasResponse:p,params:i.values&&__assign({},i.values),operation:t,loading:c,execute:this.handleExecute}))}}),Object.defineProperty(t.prototype,"renderRequest",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e,t=this.props,r=t.operation,o=t.store,n=this.state,a=n.form,s=n.resolvedRawSpec,i=n.server,c=a.errors||{},u=c.path||c.cookie||c.header||c.query,p=s&&JsonPointer.get(s,r.pointer),d=a.values&&a.values.auth&&Object.keys(a.values.auth)[0];d&&a.values.auth[d]||(d=void 0),!d||void 0===a.values.auth[d].token&&void 0===a.values.auth[d].client_id&&void 0===a.values.auth[d].client_secret||a.values.auth[d].token&&a.values.auth[d].token.access_token||(d=void 0),d&&null!=a.values.auth[d].username&&(a.values.auth[d].username&&a.values.auth[d].password||(d=void 0));var m=r.parameters||[],h=null===(e=null==o?void 0:o.options.hooks)||void 0===e?void 0:e.ReplaceTryItAuthPanel;return s?React.createElement(React.Fragment,null,React.createElement(Form,{onChange:this.handleChange,getApi:this.setFormApi,style:__assign(__assign({},flexColumn),{margin:0})},React.createElement(Accordion,{initialActiveIdx:r.security.length&&d?1:0},r.security.length&&React.createElement(TryItPanel,{header:l("tryItAuth"),renderChildrenHidden:!0,error:!d&&!!c.auth,success:!!d},h?React.createElement(AuthPanelHook,{field:"auth",validate:requiredValidator},(function(e){return React.createElement(RenderHook,{Hook:h,props:{server:i,operation:r,onChange:e,OAuth2:OAuth2}})})):React.createElement(AuthPanel,{formApi:this.formApi,form:a,operation:r,activeServer:i.url,authCorsProxyUrl:o.options.authCorsProxyUrl}))||null,r.requestBody&&React.createElement(TryItPanel,{header:l("tryItBody"),renderChildrenHidden:!0,error:!!c.body},React.createElement(RequestBody,{validate:this.validateBody,console:this,body:r.requestBody,id:r.id,resolvedBody:p.requestBody}))||null,m.length&&React.createElement(TryItPanel,{header:l("tryItParameters"),error:u,renderChildrenHidden:!0},React.createElement(OperationParameters,{operation:r,values:a.values,errors:a.errors||{}}))||null)),React.createElement(ServerChooser,{operation:r,onChange:this.handleServerChange})):"Loading..."}}),Object.defineProperty(t.prototype,"renderResponse",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.state,t=e.response,r=e.error,o=e.time;return React.createElement(ResponsePanel,{response:t,error:r,time:o})}}),t=__decorate([observer],t)}(React.Component);export{Console};function ConsoleWrapHook(e){var t=e.shaking,r=e.className,o=e.children,n=e.rootElement,a=useDimensions(n)[0];return React.createElement(ConsoleWrap,{shaking:t,className:r,"data-cy":"console",fullWidth:null==a?void 0:a.width},o)}function AuthPanelHook(e){var t=useField(__assign({},e)),r=t.fieldApi,o=t.render,n=t.userProps,a=r.setValue,s=n.children;return o(React.createElement(React.Fragment,null,s(a)))}function TryItPanel(e){return React.createElement(StyledTryItPanel,__assign({},e,{header:function(t){var r=t.toggle,o=t.expanded;return React.createElement(Header,{onClick:r,isExpanded:o},React.createElement(Trigger,null,React.createElement(Title,null,e.header),React.createElement(ShelfIcon,{direction:o?"down":"right"})),e.error&&React.createElement(CrossIcon,{size:"14px",color:"#ff908b"})||null,e.success&&React.createElement(LockIcon,{size:"14px",color:"#56ff26"})||null)}}))}var templateObject_1,StyledTryItPanel=styled(Panel)(templateObject_1||(templateObject_1=__makeTemplateObject(["\n "," {\n color: white;\n border: 1px solid ",";\n padding: 10px;\n }\n\n "," path {\n fill: white;\n }\n\n "," {\n padding: 15px 10px;\n background-color: #3e4c59;\n border: 1px solid ",";\n border-top: 0;\n }\n"],["\n "," {\n color: white;\n border: 1px solid ",";\n padding: 10px;\n }\n\n "," path {\n fill: white;\n }\n\n "," {\n padding: 15px 10px;\n background-color: #3e4c59;\n border: 1px solid ",";\n border-top: 0;\n }\n"])),Header,(function(e){return e.error?"#ff908b":"#89949f"}),ShelfIcon,PanelBody,(function(e){return e.error?"#ff908b":"#89949f"}));
|
|
1
|
+
import{__assign,__awaiter,__decorate,__extends,__generator,__makeTemplateObject}from"tslib";import*as React from"react";import{Form,useField}from"informed";import{observer}from"mobx-react";import{get,useDimensions,unescapeFormId}from"../../utils";import{CloseButton,ConsoleBody,ConsoleWrap}from"./styled.components";import{ServerChooser}from"./ServerDropdown";import{OperationParameters}from"./OperationParameters";import{ActionPanel}from"./ActionPanel";import{ResponsePanel}from"./ResponsePanel";import{RequestBody}from"./RequestBody";import{ConsoleBadges}from"./ConsoleBadges";import{AuthPanel,requiredValidator}from"./AuthPanel";import{AnalyticsEventType}from"../../services";import Swagger from"swagger-client";import{JsonPointer,ShelfIcon,CrossIcon,LockIcon}from"../../redoc-lib";import{RenderHook}from"../../redoc-lib/src/components/helper";import{l}from"../../redoc-lib/src/services/Labels";import styled from"../../redoc-lib/src/styled-components";import{CodeHeader,Panel,Header,Accordion,Trigger,Title}from"../Panel";import{OAuth2}from"../../services/OAuth2";import{PanelBody}from"../Panel/PanelBody";import{getParameters,updateStorage}from"./utils";import{isFileUploadMime}from"../common/FileUpload/helper";function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}var flexColumn={flex:1,display:"flex",flexDirection:"column"},Console=function(e){function t(t){var r=e.call(this,t)||this;return Object.defineProperty(r,"formApi",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(r,"setFormApi",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.formApi=e,setTimeout((function(){r.setState({form:r.formApi.getState()})}),0)}}),Object.defineProperty(r,"handleChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.setState({form:e}),updateStorage(e)}}),Object.defineProperty(r,"handleTabChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.setState({activeTab:e})}}),Object.defineProperty(r,"handleServerChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.setState({server:e})}}),Object.defineProperty(r,"handleExecute",{enumerable:!0,configurable:!0,writable:!0,value:function(){return __awaiter(r,void 0,void 0,(function(){var e,t,r,o,n,a,s,i,l,c,u,p,d,m,h,v,f,g,y,b,_,P,R,S,C,I,w,E,A,T,k,x,O,B,j,q=this;return __generator(this,(function(F){switch(F.label){case 0:if(e=this.props,t=e.store,r=e.operation,o=e.onResponse,this.formApi.submitForm(),n=this.formApi.getState(),a=n.values,n.invalid)return this.setState({shaking:!0}),setTimeout((function(){return q.setState({shaking:!1})}),1e3),null===(T=null===(A=null==t?void 0:t.options.events)||void 0===A?void 0:A.tryItSent)||void 0===T||T.call(A,{eventType: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=get(c,["paths",r.path,(r.httpVerb||"").toLowerCase(),"servers"])||get(c,["paths",r.path,"servers"])||get(c,["servers"])))throw console.error("Servers are not specified in your OpenAPI file. You can't use Try It Out console without specifying servers. If you use OpenAPI 2, make sure you configured host and basepath"),new Error("Servers are not specified");p=u.find((function(e){return q.state.server.url.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url)})),d=Date.now(),m=!!window.document.documentMode,v=a.auth,a.auth?(f=Object.keys(a.auth)[0],g=unescapeFormId(f),h=__assign(__assign({},c),{components:__assign(__assign({},c.components),{securitySchemes:__assign(__assign({},c.components.securitySchemes),(w={},w[g]=__assign(__assign({},c.components.securitySchemes[g]),{type:"openIdConnect"===c.components.securitySchemes[g].type?"oauth2":c.components.securitySchemes[g].type}),w))})}),v=__assign(__assign({},v),((E={})[g]=v[f],E))):h=__assign({},c),(y=t.options.corsProxyUrl)&&c.servers&&c.servers.length&&(h.servers=c.servers.map((function(e){return __assign(__assign({},e),{url:y+normalizeUrlProtocol(e.url)})}))),(b=(null===(x=null===(k=null==s?void 0:s.content)||void 0===k?void 0:k.active)||void 0===x?void 0:x.name)||null)&&l&&isFileUploadMime(b)&&(_=Object.values(l),l=_.length>1?_:_[0]),F.label=1;case 1:return F.trys.push([1,5,8,9]),P={userFetch:m&&require("cross-fetch").fetch,server:y?y+normalizeUrlProtocol(p.url):p.url,serverVariables:this.state.server.variables,spec:h,pathName:r.path,method:r.httpVerb,parameters:__assign(__assign(__assign(__assign({},a.path),a.query),a.header),a.cookie),securities:{authorized:v},requestBody:l,requestContentType:b,responseContentType:(null===(O=a.header)||void 0===O?void 0:O.Accept)||null,requestInterceptor:t.options.requestInterceptor&&function(e){var o,n;return null===(n=(o=t.options).requestInterceptor)||void 0===n?void 0:n.call(o,e,r)}||void 0},[4,Swagger.execute(P)];case 2:return(R=F.sent())&&R.data instanceof Blob?(S=R,[4,R.data.text()]):[3,4];case 3:S.data=F.sent(),F.label=4;case 4:return this.setState({response:R,error:void 0}),[3,9];case 5:return(C=F.sent())&&C.response&&C.response.data instanceof Blob?(I=C.response,[4,C.response.data.text()]):[3,7];case 6:I.data=F.sent(),F.label=7;case 7:return this.setState({response:void 0,error:C}),[3,9];case 8:return this.setState({loading:!1,activeTab:1,time:Date.now()-d}),null===(j=null===(B=null==t?void 0:t.options.events)||void 0===B?void 0:B.tryItSent)||void 0===j||j.call(B,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"Sent",operationId:r.operationId,operationPath:r.path,operationHttpVerb:r.httpVerb,operationSummary:r.description}),this.state.response&&(null==o||o(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:getParameters(t.operation.parameters,"path"),cookie:getParameters(t.operation.parameters,"cookie"),header:getParameters(t.operation.parameters,"header"),query:getParameters(t.operation.parameters,"query")}},shaking:!1,loading:!1,activeTab:0,server:{}},r}return __extends(t,e),Object.defineProperty(t.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){return __awaiter(this,void 0,void 0,(function(){var e,t,r,o,n;return __generator(this,(function(a){switch(a.label){case 0:return e=this.props,t=e.store,r=e.specIdx,o=e.operation,[4,t.dereferenceSpecForTryIt(r||0,o)];case 1:return n=a.sent(),this.setState({resolvedRawSpec:n}),this.formApi.setValues({}),[2]}}))}))}}),Object.defineProperty(t.prototype,"componentDidUpdate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){e.operation!==this.props.operation&&this.setState({response:void 0,error:void 0,activeTab:0})}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.props,t=e.operation,r=e.className,o=e.rootElement,n=this.state,a=n.shaking,s=n.activeTab,i=n.form,l=n.response,c=n.loading,u=n.error,p=!(!l&&!u);return React.createElement(ConsoleWrapHook,{shaking:a,className:r,rootElement:o},React.createElement(CodeHeader,null,React.createElement(ConsoleBadges,{active:s,hasResponse:p,onChange:this.handleTabChange}),this.props.onClose&&React.createElement(CloseButton,{onClick:this.props.onClose}," ✕ ")),React.createElement(ConsoleBody,{hidden:0!==s},this.renderRequest()),React.createElement(ConsoleBody,{hidden:1!==s},this.renderResponse()),React.createElement(ActionPanel,{hasResponse:p,params:i.values&&__assign({},i.values),operation:t,loading:c,execute:this.handleExecute}))}}),Object.defineProperty(t.prototype,"renderRequest",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e,t=this.props,r=t.operation,o=t.store,n=t.properties,a=this.state,s=a.form,i=a.resolvedRawSpec,c=a.server,u=s.errors||{},p=u.path||u.cookie||u.header||u.query,d=i&&JsonPointer.get(i,r.pointer),m=s.values&&s.values.auth&&Object.keys(s.values.auth)[0];m&&s.values.auth[m]||(m=void 0),!m||void 0===s.values.auth[m].token&&void 0===s.values.auth[m].client_id&&void 0===s.values.auth[m].client_secret||s.values.auth[m].token&&s.values.auth[m].token.access_token||(m=void 0),m&&null!=s.values.auth[m].username&&(s.values.auth[m].username&&s.values.auth[m].password||(m=void 0));var h=r.parameters||[],v=null===(e=null==o?void 0:o.options.hooks)||void 0===e?void 0:e.ReplaceTryItAuthPanel;return i?React.createElement(React.Fragment,null,React.createElement(Form,{onChange:this.handleChange,getApi:this.setFormApi,style:__assign(__assign({},flexColumn),{margin:0})},React.createElement(Accordion,{initialActiveIdx:r.security.length&&m?1:0},r.security.length&&React.createElement(TryItPanel,{header:l("tryItAuth"),"data-cy":"security-trigger",renderChildrenHidden:!0,error:!m&&!!u.auth,success:!!m},v?React.createElement(AuthPanelHook,{field:"auth",validate:requiredValidator},(function(e){return React.createElement(RenderHook,{Hook:v,props:{server:c,operation:r,onChange:e,OAuth2:OAuth2}})})):React.createElement(AuthPanel,{formApi:this.formApi,form:s,operation:r,activeServer:c.url,authCorsProxyUrl:o.options.authCorsProxyUrl}))||null,r.requestBody&&React.createElement(TryItPanel,{header:l("tryItBody"),"data-cy":"body-trigger",renderChildrenHidden:!0,error:!!u.body},React.createElement(RequestBody,{validate:this.validateBody,console:this,body:r.requestBody,id:r.id,resolvedBody:d.requestBody,properties:n}))||null,h.length&&React.createElement(TryItPanel,{header:l("tryItParameters"),"data-cy":"parameters-trigger",error:p,renderChildrenHidden:!0},React.createElement(OperationParameters,{operation:r,values:s.values,errors:s.errors||{}}))||null)),React.createElement(ServerChooser,{operation:r,onChange:this.handleServerChange})):"Loading..."}}),Object.defineProperty(t.prototype,"renderResponse",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.state,t=e.response,r=e.error,o=e.time;return React.createElement(ResponsePanel,{response:t,error:r,time:o})}}),t=__decorate([observer],t)}(React.Component);export{Console};function ConsoleWrapHook(e){var t=e.shaking,r=e.className,o=e.children,n=e.rootElement,a=useDimensions(n)[0];return React.createElement(ConsoleWrap,{shaking:t,className:r,"data-cy":"console",fullWidth:null==a?void 0:a.width},o)}function AuthPanelHook(e){var t=useField(__assign({},e)),r=t.fieldApi,o=t.render,n=t.userProps,a=r.setValue,s=n.children;return o(React.createElement(React.Fragment,null,s(a)))}function TryItPanel(e){return React.createElement(StyledTryItPanel,__assign({},e,{header:function(t){var r=t.toggle,o=t.expanded;return React.createElement(Header,{onClick:r,isExpanded:o,"data-cy":e["data-cy"]},React.createElement(Trigger,null,React.createElement(Title,null,e.header),React.createElement(ShelfIcon,{direction:o?"down":"right"})),e.error&&React.createElement(CrossIcon,{size:"14px",color:"#ff908b"})||null,e.success&&React.createElement(LockIcon,{size:"14px",color:"#56ff26"})||null)}}))}var templateObject_1,StyledTryItPanel=styled(Panel)(templateObject_1||(templateObject_1=__makeTemplateObject(["\n "," {\n color: white;\n border: 1px solid ",";\n padding: 10px;\n }\n\n "," path {\n fill: white;\n }\n\n "," {\n padding: 15px 10px;\n background-color: #3e4c59;\n border: 1px solid ",";\n border-top: 0;\n }\n"],["\n "," {\n color: white;\n border: 1px solid ",";\n padding: 10px;\n }\n\n "," path {\n fill: white;\n }\n\n "," {\n padding: 15px 10px;\n background-color: #3e4c59;\n border: 1px solid ",";\n border-top: 0;\n }\n"])),Header,(function(e){return e.error?"#ff908b":"#89949f"}),ShelfIcon,PanelBody,(function(e){return e.error?"#ff908b":"#89949f"}));
|
|
2
2
|
//# sourceMappingURL=Console.js.map
|
|
@@ -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
|
-
import{__spreadArray}from"tslib";import*as React from"react";import{dottedString,get}from"../../utils";import{FormLabel,FormControl,FormWarning,GroupLabel,Table}from"../common/form";import{FormTextField}from"../common/TextField";import{ParameterEnumDropdown}from"./ParameterDropdown";export var SchemaType;!function(e){e.ARRAY="array",e.OBJECT="object"}(SchemaType||(SchemaType={}));var placeholder=function(e){return"("+e.schema.type+")"+(e.example?" "+e.example:"")};function safePush(e,a,r){e[a]||(e[a]=[]),e[a].push(r)}function orderParams(e){var a={};return e.forEach((function(e){safePush(a,e.in,e)})),a}var PARAM_PLACES=["path","query","cookie","header"];function createValidator(e){return function(a){if(e.required&&!a)return"Field is required";if(e.required&&e.schema.type===SchemaType.ARRAY&&Array.isArray(a)){if(a.length>(e.schema.rawSchema&&e.schema.rawSchema.maxItems||1/0))return"Too many items selected, maximum "+e.schema.rawSchema.maxItems;if(a.length<(e.schema.rawSchema&&e.schema.rawSchema.minItems||0)){var r=e.schema.rawSchema.minItems;return"You should select at least "+(1===r?r+" item":r+" items")}}}}function getInitialValue(e){if(e.schema.type===SchemaType.ARRAY){var a=e.schema.default||e.schema.example;if(!a&&e.schema.rawSchema.items){if(e.schema.rawSchema.items.default)return[e.schema.rawSchema.items.default];if(e.schema.rawSchema.items.example)return[e.schema.rawSchema.items.example]}return a||[]}return e.schema.default||e.schema.example}export function OperationParameters(e){function
|
|
1
|
+
import{__spreadArray}from"tslib";import*as React from"react";import{dottedString,get}from"../../utils";import{FormLabel,FormControl,FormWarning,GroupLabel,Table}from"../common/form";import{FormTextField}from"../common/TextField";import{ParameterEnumDropdown}from"./ParameterDropdown";export var SchemaType;!function(e){e.ARRAY="array",e.OBJECT="object"}(SchemaType||(SchemaType={}));var placeholder=function(e){return"("+e.schema.type+")"+(e.example?" "+e.example:"")};function safePush(e,a,r){e[a]||(e[a]=[]),e[a].push(r)}function orderParams(e){var a={};return e.forEach((function(e){safePush(a,e.in,e)})),a}var PARAM_PLACES=["path","query","cookie","header"];function createValidator(e){return function(a){if(e.required&&!a)return"Field is required";if(e.required&&e.schema.type===SchemaType.ARRAY&&Array.isArray(a)){if(a.length>(e.schema.rawSchema&&e.schema.rawSchema.maxItems||1/0))return"Too many items selected, maximum "+e.schema.rawSchema.maxItems;if(a.length<(e.schema.rawSchema&&e.schema.rawSchema.minItems||0)){var r=e.schema.rawSchema.minItems;return"You should select at least "+(1===r?r+" item":r+" items")}}}}function getInitialValue(e){if(e.schema.type===SchemaType.ARRAY){var a=e.schema.default||e.schema.example;if(!a&&e.schema.rawSchema.items){if(e.schema.rawSchema.items.default)return[e.schema.rawSchema.items.default];if(e.schema.rawSchema.items.example)return[e.schema.rawSchema.items.example]}return a||[]}return e.schema.default||e.schema.example}export function OperationParameters(e){var a=e.values;function r(e,t,m){var n,c=m?dottedString(m,e.name):e.name,i=function(e){var a=e.oneOfType,r=e.type,t=e.items;return a||r===SchemaType.ARRAY&&(null==t?void 0:t.type)===SchemaType.OBJECT&&"Array of objects"}(e.schema);if(i&&console.warn('Unsupported parameter definition: "'+i+'"'),e.schema.type===SchemaType.OBJECT)return null===(n=e.schema.fields)||void 0===n?void 0:n.map((function(e){return r(e,t,c)}));var o=m?[t,m]:[e.in],l=dottedString.apply(void 0,__spreadArray(__spreadArray([],o,!1),[e.name],!1));return React.createElement(FormControl,{key:l},React.createElement(FormLabel,{required:e.required},c,":"),i?React.createElement(FormWarning,null,"Unsupported field schema definition"):function(e,r){var t=React.useMemo((function(){return createValidator(r)}),[r]),m=Array.isArray(r.schema.enum)&&r.schema.enum.length?r.schema.enum:void 0,n=getInitialValue(r);return m?React.createElement(FormControl,null,React.createElement(ParameterEnumDropdown,{initValue:n,paramEnum:m,field:e})):React.createElement(FormTextField,{fullWidth:!0,"data-cy":"parameter-input",id:e,field:e,placeholder:placeholder(r),validate:t,initialValue:n||get(a,e),validateOnBlur:!0,validateOnChange:!0})}(l,e))}var t=orderParams(e.operation.parameters||[]);return React.createElement(Table,null,PARAM_PLACES.map((function(e){return function(e,a){return a&&a.length?React.createElement(React.Fragment,{key:e},React.createElement(FormControl,null,React.createElement(GroupLabel,null," # ",e," parameters "),React.createElement("span",null," ")),a.map((function(a){return r(a,e)}))):null}(e,t[e])})))}
|
|
2
2
|
//# sourceMappingURL=OperationParameters.js.map
|