@redocly/reference-docs 3.0.0-alpha.3 → 3.0.0-alpha.4
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 +274 -241
- package/bin/cli/commands/redocly-docs-cli.min.js.LICENSE.txt +5 -21
- package/dist/console.redocly-reference-docs.min.js +182 -159
- package/dist/oauth2-redirect.js +1 -1
- package/dist/redocly-reference-docs.min.js +812 -710
- package/lib/components/Endpoint/Endpoint.d.ts +1 -6
- package/lib/components/Endpoint/Endpoint.js +1 -1
- package/lib/components/Endpoint/ServerList.d.ts +2 -7
- package/lib/components/Endpoint/ServerList.js +1 -1
- package/lib/components/Endpoint/Summary.d.ts +1 -12
- package/lib/components/Endpoint/Summary.js +1 -1
- package/lib/components/Endpoint/index.d.ts +2 -1
- package/lib/components/Endpoint/index.js +1 -1
- package/lib/components/Endpoint/styled.d.ts +13 -0
- package/lib/components/Endpoint/styled.js +2 -0
- package/lib/components/Endpoint/types.d.ts +21 -0
- package/lib/components/Endpoint/types.js +2 -0
- package/lib/components/OperationParameters/OperationParameters.js +1 -1
- package/lib/components/OperationParameters/utils.d.ts +1 -1
- package/lib/components/OperationParameters/utils.js +1 -1
- package/lib/components/Panel/Accordion.js +1 -1
- package/lib/components/Panel/ContentPanel.js +1 -1
- package/lib/components/Panel/Description.d.ts +1 -0
- package/lib/components/Panel/Description.js +2 -0
- package/lib/components/Panel/PanelComponent.d.ts +1 -1
- package/lib/components/Panel/PanelComponent.js +1 -1
- package/lib/components/Panel/index.d.ts +1 -0
- package/lib/components/Panel/index.js +1 -1
- package/lib/components/ProProviders.d.ts +8 -2
- package/lib/components/RedoclyReferenceDocs.d.ts +1 -7
- package/lib/components/RedoclyReferenceDocs.js +1 -1
- package/lib/components/RedoclyReferenceDocsMultiStandalone.d.ts +8 -0
- package/lib/components/RedoclyReferenceDocsMultiStandalone.js +2 -0
- package/lib/components/Samples/SamplesTabs.d.ts +3 -1
- package/lib/components/Samples/SamplesTabs.js +1 -1
- package/lib/components/Samples/use-example-key.js +1 -1
- package/lib/components/Search/ProSearchBox.js +1 -1
- package/lib/components/StoreProvider.d.ts +1 -1
- package/lib/components/Tabs/CollapsingTabs/CollapsingTabsBase.d.ts +1 -1
- package/lib/components/Tabs/CollapsingTabs/CollapsingTabsBase.js +1 -1
- package/lib/components/common/CheckboxList.d.ts +1 -1
- package/lib/components/common/FileUpload/FileUpload.d.ts +3 -2
- package/lib/components/common/FileUpload/FileUpload.js +1 -1
- package/lib/components/console/ActionPanel.js +1 -1
- package/lib/components/console/AuthPanel/AuthPanel.d.ts +1 -1
- package/lib/components/console/AuthPanel/AuthPanel.js +1 -1
- package/lib/components/console/AuthPanel/types.d.ts +1 -1
- package/lib/components/console/CodemirrorInput.d.ts +15 -11
- package/lib/components/console/CodemirrorInput.js +1 -1
- package/lib/components/console/Console.d.ts +3 -3
- package/lib/components/console/Console.js +1 -1
- package/lib/components/console/ConsoleLazy.js +1 -1
- package/lib/components/console/OAuth2Flow.d.ts +2 -1
- package/lib/components/console/OAuth2Flow.js +1 -1
- package/lib/components/console/OAuth2TokenInput.d.ts +2 -1
- package/lib/components/console/OAuth2TokenInput.js +1 -1
- package/lib/components/console/OpenIDConnect.d.ts +4 -1
- package/lib/components/console/OpenIDConnect.js +1 -1
- package/lib/components/console/ParameterArray.d.ts +10 -0
- package/lib/components/console/ParameterArray.js +2 -0
- package/lib/components/console/RequestBody/RequestBody.d.ts +3 -0
- package/lib/components/console/RequestBody/RequestBody.js +2 -0
- package/lib/components/console/RequestBody/index.d.ts +2 -0
- package/lib/components/console/RequestBody/index.js +2 -0
- package/lib/components/console/RequestBody/types.d.ts +10 -0
- package/lib/components/console/RequestBody/types.js +2 -0
- package/lib/components/console/RequestBodyForm.d.ts +3 -2
- package/lib/components/console/ServersDropdown/ServersDropdown.d.ts +3 -0
- package/lib/components/console/ServersDropdown/ServersDropdown.js +2 -0
- package/lib/components/console/ServersDropdown/index.d.ts +1 -0
- package/lib/components/console/ServersDropdown/index.js +2 -0
- package/lib/components/console/ServersDropdown/types.d.ts +5 -0
- package/lib/components/console/ServersDropdown/types.js +2 -0
- package/lib/components/console/styled.d.ts +1 -0
- package/lib/components/console/styled.js +1 -1
- package/lib/components/console/utils.d.ts +9 -1
- package/lib/components/console/utils.js +1 -1
- package/lib/components/index.d.ts +1 -0
- package/lib/components/index.js +1 -1
- package/lib/components/shared/index.d.ts +0 -1
- package/lib/components/shared/index.js +1 -1
- package/lib/hooks/index.d.ts +1 -0
- package/lib/hooks/index.js +1 -1
- package/lib/hooks/useDimensions.d.ts +1 -0
- package/lib/hooks/useDimensions.js +2 -0
- package/lib/index.d.ts +1 -1
- package/lib/oauth2-redirect-page/handler/helpers.d.ts +1 -0
- package/lib/oauth2-redirect-page/handler/helpers.js +1 -1
- package/lib/redoc-lib/src/common-elements/linkify.d.ts +1 -1
- package/lib/redoc-lib/src/common-elements/perfect-scrollbar.d.ts +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/Callbacks/CallbackDetails.js +1 -1
- package/lib/redoc-lib/src/components/Callbacks/CallbacksList.js +1 -1
- package/lib/redoc-lib/src/components/ContentItem/ContentItem.d.ts +10 -0
- package/lib/redoc-lib/src/components/ContentItem/ContentItem.js +2 -0
- package/lib/redoc-lib/src/components/ContentItem/index.d.ts +1 -0
- package/lib/redoc-lib/src/components/ContentItem/index.js +2 -0
- package/lib/redoc-lib/src/components/ContentItems/ContentItems.d.ts +2 -18
- package/lib/redoc-lib/src/components/ContentItems/ContentItems.js +1 -1
- package/lib/redoc-lib/src/components/ContentItems/Skeleton.d.ts +2 -0
- package/lib/redoc-lib/src/components/ContentItems/Skeleton.js +2 -0
- package/lib/redoc-lib/src/components/ContentItems/index.d.ts +1 -0
- package/lib/redoc-lib/src/components/ContentItems/index.js +2 -0
- package/lib/redoc-lib/src/components/ErrorBoundary.d.ts +1 -1
- package/lib/redoc-lib/src/components/Fields/EnumValues.js +1 -1
- package/lib/redoc-lib/src/components/GenericChildrenSwitcher/GenericChildrenSwitcher.js +1 -1
- package/lib/redoc-lib/src/components/Markdown/AdvancedMarkdown.js +1 -1
- package/lib/redoc-lib/src/components/MediaTypeSwitch/MediaTypesSwitch.js +1 -1
- package/lib/redoc-lib/src/components/Operation/Operation.js +1 -1
- package/lib/redoc-lib/src/components/Operation/index.d.ts +1 -0
- package/lib/redoc-lib/src/components/Operation/index.js +2 -0
- package/lib/redoc-lib/src/components/OperationItem/OperationItem.d.ts +7 -0
- package/lib/redoc-lib/src/components/OperationItem/OperationItem.js +2 -0
- package/lib/redoc-lib/src/components/OperationItem/index.d.ts +1 -0
- package/lib/redoc-lib/src/components/OperationItem/index.js +2 -0
- package/lib/redoc-lib/src/components/PayloadSamples/Example.d.ts +1 -5
- package/lib/redoc-lib/src/components/PayloadSamples/Example.js +1 -1
- package/lib/redoc-lib/src/components/PayloadSamples/ExampleValue.d.ts +1 -8
- package/lib/redoc-lib/src/components/PayloadSamples/MediaTypeSamples.d.ts +2 -7
- package/lib/redoc-lib/src/components/PayloadSamples/MediaTypeSamples.js +1 -1
- package/lib/redoc-lib/src/components/PayloadSamples/PayloadSamples.d.ts +1 -7
- package/lib/redoc-lib/src/components/PayloadSamples/PayloadSamples.js +1 -1
- package/lib/redoc-lib/src/components/PayloadSamples/index.d.ts +5 -0
- package/lib/redoc-lib/src/components/PayloadSamples/index.js +2 -0
- package/lib/redoc-lib/src/components/PayloadSamples/types.d.ts +23 -0
- package/lib/redoc-lib/src/components/PayloadSamples/types.js +2 -0
- package/lib/redoc-lib/src/components/PayloadSamples/{exernalExampleHook.d.ts → useExternalExample.d.ts} +0 -0
- package/lib/redoc-lib/src/components/PayloadSamples/{exernalExampleHook.js → useExternalExample.js} +1 -1
- package/lib/redoc-lib/src/components/RequestSamples/CodeSample.js +1 -1
- package/lib/redoc-lib/src/components/RequestSamples/RequestSamples.d.ts +1 -1
- package/lib/redoc-lib/src/components/RequestSamples/RequestSamples.js +1 -1
- package/lib/redoc-lib/src/components/RequestSamples/languageSwitchEvent.d.ts +1 -1
- package/lib/redoc-lib/src/components/ResponseSamples/ResponseSamples.js +1 -1
- package/lib/redoc-lib/src/components/Responses/Response.d.ts +2 -5
- package/lib/redoc-lib/src/components/Responses/Response.js +1 -1
- package/lib/redoc-lib/src/components/Responses/ResponseDetails.d.ts +3 -8
- package/lib/redoc-lib/src/components/Responses/ResponseDetails.js +1 -1
- package/lib/redoc-lib/src/components/Responses/ResponseHeaders.d.ts +3 -9
- package/lib/redoc-lib/src/components/Responses/ResponseHeaders.js +1 -1
- package/lib/redoc-lib/src/components/Responses/ResponseSummary.d.ts +1 -5
- package/lib/redoc-lib/src/components/Responses/ResponseSummary.js +1 -1
- package/lib/redoc-lib/src/components/Responses/ResponsesList.d.ts +3 -8
- package/lib/redoc-lib/src/components/Responses/ResponsesList.js +1 -1
- package/lib/redoc-lib/src/components/Responses/index.d.ts +1 -0
- package/lib/redoc-lib/src/components/Responses/index.js +2 -0
- package/lib/redoc-lib/src/components/Responses/{styled.elements.d.ts → styled.d.ts} +1 -0
- package/lib/redoc-lib/src/components/Responses/styled.js +2 -0
- package/lib/redoc-lib/src/components/Responses/types.d.ts +12 -0
- package/lib/redoc-lib/src/components/Responses/types.js +2 -0
- package/lib/redoc-lib/src/components/Schema/DiscriminatorDropdown.js +1 -1
- package/lib/redoc-lib/src/components/SchemaDefinition/SchemaDefinition.js +1 -1
- package/lib/redoc-lib/src/components/SearchBox/SearchBox.d.ts +1 -1
- package/lib/redoc-lib/src/components/SectionItem/SectionItem.d.ts +7 -0
- package/lib/redoc-lib/src/components/SectionItem/SectionItem.js +2 -0
- package/lib/redoc-lib/src/components/SectionItem/index.d.ts +1 -0
- package/lib/redoc-lib/src/components/SectionItem/index.js +2 -0
- package/lib/redoc-lib/src/components/SecurityRequirement/RequiredScopesRow.js +1 -1
- package/lib/redoc-lib/src/components/SecurityRequirement/SecurityRequirement.js +1 -1
- package/lib/redoc-lib/src/components/SecurityRequirement/SecurityRequirementElement.js +1 -1
- package/lib/redoc-lib/src/components/SecurityRequirement/SecurityRequirementPanelDescription.js +1 -1
- package/lib/redoc-lib/src/components/SecuritySchemes/SecuritySchemes.js +1 -1
- package/lib/redoc-lib/src/components/SecuritySchemes/helpers.d.ts +4 -0
- 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/StickySidebar/StickyResponsiveSidebar.d.ts +1 -1
- package/lib/redoc-lib/src/components/index.d.ts +2 -4
- package/lib/redoc-lib/src/components/index.js +1 -1
- package/lib/redoc-lib/src/services/MenuBuilder.d.ts +1 -1
- package/lib/redoc-lib/src/services/OpenAPIParser.d.ts +1 -1
- package/lib/redoc-lib/src/services/OpenAPIParser.js +1 -1
- package/lib/redoc-lib/src/services/SearchStore.js +1 -1
- package/lib/redoc-lib/src/services/models/MediaContent.d.ts +1 -1
- package/lib/redoc-lib/src/services/models/MediaType.d.ts +2 -2
- package/lib/redoc-lib/src/services/models/MediaType.js +1 -1
- package/lib/redoc-lib/src/services/models/Operation.d.ts +2 -2
- package/lib/redoc-lib/src/services/models/RequestBody.d.ts +1 -1
- package/lib/redoc-lib/src/services/models/Response.d.ts +1 -1
- package/lib/redoc-lib/src/services/models/Schema.d.ts +1 -1
- package/lib/redoc-lib/src/services/models/Schema.js +1 -1
- package/lib/redoc-lib/src/types/open-api.d.ts +3 -0
- package/lib/redoc-lib/src/utils/helpers.d.ts +3 -1
- package/lib/redoc-lib/src/utils/helpers.js +1 -1
- package/lib/redoc-lib/src/utils/openapi.d.ts +3 -2
- package/lib/redoc-lib/src/utils/openapi.js +1 -1
- package/lib/redoc-lib/src/utils/string.d.ts +1 -0
- package/lib/redoc-lib/src/utils/string.js +2 -0
- package/lib/services/OAuth2.d.ts +4 -2
- package/lib/services/OAuth2.js +1 -1
- package/lib/services/OpenIDConnect.d.ts +1 -1
- package/lib/services/ProStore.d.ts +6 -6
- package/lib/services/SearchStore.d.ts +1 -1
- package/lib/services/VersionedSpecStore.d.ts +1 -1
- package/lib/services/code-samples/generator.d.ts +1 -0
- package/lib/services/code-samples/generator.js +1 -1
- package/lib/services/code-samples/httpsnippet/targets/csharp/httpclient.js +1 -1
- package/lib/services/code-samples/httpsnippet/targets/java8/apachehttp.js +1 -1
- package/lib/services/code-samples/httpsnippet/targets/javascript/fetch.js +1 -1
- package/lib/services/code-samples/httpsnippet/targets/node/fetch.js +1 -1
- package/lib/services/code-samples/httpsnippet/targets/python/requests.js +1 -1
- package/lib/standalone.d.ts +1 -1
- package/lib/standalone.js +1 -1
- package/lib/types.d.ts +11 -0
- package/lib/utils.d.ts +3 -13
- package/lib/utils.js +1 -1
- package/lib-esm/components/Endpoint/Endpoint.d.ts +1 -6
- package/lib-esm/components/Endpoint/Endpoint.js +1 -1
- package/lib-esm/components/Endpoint/ServerList.d.ts +2 -7
- package/lib-esm/components/Endpoint/ServerList.js +1 -1
- package/lib-esm/components/Endpoint/Summary.d.ts +1 -12
- package/lib-esm/components/Endpoint/Summary.js +1 -1
- package/lib-esm/components/Endpoint/index.d.ts +2 -1
- package/lib-esm/components/Endpoint/index.js +1 -1
- package/lib-esm/components/Endpoint/styled.d.ts +13 -0
- package/lib-esm/components/Endpoint/styled.js +2 -0
- package/lib-esm/components/Endpoint/types.d.ts +21 -0
- package/lib-esm/components/Endpoint/types.js +2 -0
- package/lib-esm/components/OperationParameters/OperationParameters.js +1 -1
- package/lib-esm/components/OperationParameters/utils.d.ts +1 -1
- package/lib-esm/components/OperationParameters/utils.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/Description.d.ts +1 -0
- package/lib-esm/components/Panel/Description.js +2 -0
- package/lib-esm/components/Panel/PanelComponent.d.ts +1 -1
- package/lib-esm/components/Panel/PanelComponent.js +1 -1
- package/lib-esm/components/Panel/index.d.ts +1 -0
- package/lib-esm/components/Panel/index.js +1 -1
- package/lib-esm/components/ProProviders.d.ts +8 -2
- package/lib-esm/components/RedoclyReferenceDocs.d.ts +1 -7
- package/lib-esm/components/RedoclyReferenceDocs.js +1 -1
- package/lib-esm/components/RedoclyReferenceDocsMultiStandalone.d.ts +8 -0
- package/lib-esm/components/RedoclyReferenceDocsMultiStandalone.js +2 -0
- package/lib-esm/components/Samples/SamplesTabs.d.ts +3 -1
- package/lib-esm/components/Samples/SamplesTabs.js +1 -1
- package/lib-esm/components/Samples/use-example-key.js +1 -1
- package/lib-esm/components/Search/ProSearchBox.js +1 -1
- package/lib-esm/components/StoreProvider.d.ts +1 -1
- package/lib-esm/components/Tabs/CollapsingTabs/CollapsingTabsBase.d.ts +1 -1
- package/lib-esm/components/Tabs/CollapsingTabs/CollapsingTabsBase.js +1 -1
- package/lib-esm/components/common/CheckboxList.d.ts +1 -1
- package/lib-esm/components/common/FileUpload/FileUpload.d.ts +3 -2
- package/lib-esm/components/common/FileUpload/FileUpload.js +1 -1
- package/lib-esm/components/console/ActionPanel.js +1 -1
- package/lib-esm/components/console/AuthPanel/AuthPanel.d.ts +1 -1
- package/lib-esm/components/console/AuthPanel/AuthPanel.js +1 -1
- package/lib-esm/components/console/AuthPanel/types.d.ts +1 -1
- package/lib-esm/components/console/CodemirrorInput.d.ts +15 -11
- package/lib-esm/components/console/CodemirrorInput.js +1 -1
- package/lib-esm/components/console/Console.d.ts +3 -3
- package/lib-esm/components/console/Console.js +1 -1
- package/lib-esm/components/console/ConsoleLazy.js +1 -1
- package/lib-esm/components/console/OAuth2Flow.d.ts +2 -1
- package/lib-esm/components/console/OAuth2Flow.js +1 -1
- package/lib-esm/components/console/OAuth2TokenInput.d.ts +2 -1
- package/lib-esm/components/console/OAuth2TokenInput.js +1 -1
- package/lib-esm/components/console/OpenIDConnect.d.ts +4 -1
- package/lib-esm/components/console/OpenIDConnect.js +1 -1
- package/lib-esm/components/console/ParameterArray.d.ts +10 -0
- package/lib-esm/components/console/ParameterArray.js +2 -0
- package/lib-esm/components/console/RequestBody/RequestBody.d.ts +3 -0
- package/lib-esm/components/console/RequestBody/RequestBody.js +2 -0
- package/lib-esm/components/console/RequestBody/index.d.ts +2 -0
- package/lib-esm/components/console/RequestBody/index.js +2 -0
- package/lib-esm/components/console/RequestBody/types.d.ts +10 -0
- package/lib-esm/components/console/RequestBody/types.js +2 -0
- package/lib-esm/components/console/RequestBodyForm.d.ts +3 -2
- package/lib-esm/components/console/ServersDropdown/ServersDropdown.d.ts +3 -0
- package/lib-esm/components/console/ServersDropdown/ServersDropdown.js +2 -0
- package/lib-esm/components/console/ServersDropdown/index.d.ts +1 -0
- package/lib-esm/components/console/ServersDropdown/index.js +2 -0
- package/lib-esm/components/console/ServersDropdown/types.d.ts +5 -0
- package/lib-esm/components/console/ServersDropdown/types.js +2 -0
- package/lib-esm/components/console/styled.d.ts +1 -0
- package/lib-esm/components/console/styled.js +1 -1
- package/lib-esm/components/console/utils.d.ts +9 -1
- package/lib-esm/components/console/utils.js +1 -1
- package/lib-esm/components/index.d.ts +1 -0
- package/lib-esm/components/index.js +1 -1
- package/lib-esm/components/shared/index.d.ts +0 -1
- package/lib-esm/components/shared/index.js +1 -1
- package/lib-esm/hooks/index.d.ts +1 -0
- package/lib-esm/hooks/index.js +1 -1
- package/lib-esm/hooks/useDimensions.d.ts +1 -0
- package/lib-esm/hooks/useDimensions.js +2 -0
- package/lib-esm/index.d.ts +1 -1
- package/lib-esm/oauth2-redirect-page/handler/helpers.d.ts +1 -0
- package/lib-esm/oauth2-redirect-page/handler/helpers.js +1 -1
- package/lib-esm/redoc-lib/src/common-elements/linkify.d.ts +1 -1
- package/lib-esm/redoc-lib/src/common-elements/perfect-scrollbar.d.ts +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/Callbacks/CallbackDetails.js +1 -1
- package/lib-esm/redoc-lib/src/components/Callbacks/CallbacksList.js +1 -1
- package/lib-esm/redoc-lib/src/components/ContentItem/ContentItem.d.ts +10 -0
- package/lib-esm/redoc-lib/src/components/ContentItem/ContentItem.js +2 -0
- package/lib-esm/redoc-lib/src/components/ContentItem/index.d.ts +1 -0
- package/lib-esm/redoc-lib/src/components/ContentItem/index.js +2 -0
- package/lib-esm/redoc-lib/src/components/ContentItems/ContentItems.d.ts +2 -18
- package/lib-esm/redoc-lib/src/components/ContentItems/ContentItems.js +1 -1
- package/lib-esm/redoc-lib/src/components/ContentItems/Skeleton.d.ts +2 -0
- package/lib-esm/redoc-lib/src/components/ContentItems/Skeleton.js +2 -0
- package/lib-esm/redoc-lib/src/components/ContentItems/index.d.ts +1 -0
- package/lib-esm/redoc-lib/src/components/ContentItems/index.js +2 -0
- package/lib-esm/redoc-lib/src/components/ErrorBoundary.d.ts +1 -1
- package/lib-esm/redoc-lib/src/components/Fields/EnumValues.js +1 -1
- package/lib-esm/redoc-lib/src/components/GenericChildrenSwitcher/GenericChildrenSwitcher.js +1 -1
- package/lib-esm/redoc-lib/src/components/Markdown/AdvancedMarkdown.js +1 -1
- package/lib-esm/redoc-lib/src/components/MediaTypeSwitch/MediaTypesSwitch.js +1 -1
- package/lib-esm/redoc-lib/src/components/Operation/Operation.js +1 -1
- package/lib-esm/redoc-lib/src/components/Operation/index.d.ts +1 -0
- package/lib-esm/redoc-lib/src/components/Operation/index.js +2 -0
- package/lib-esm/redoc-lib/src/components/OperationItem/OperationItem.d.ts +7 -0
- package/lib-esm/redoc-lib/src/components/OperationItem/OperationItem.js +2 -0
- package/lib-esm/redoc-lib/src/components/OperationItem/index.d.ts +1 -0
- package/lib-esm/redoc-lib/src/components/OperationItem/index.js +2 -0
- package/lib-esm/redoc-lib/src/components/PayloadSamples/Example.d.ts +1 -5
- package/lib-esm/redoc-lib/src/components/PayloadSamples/Example.js +1 -1
- package/lib-esm/redoc-lib/src/components/PayloadSamples/ExampleValue.d.ts +1 -8
- package/lib-esm/redoc-lib/src/components/PayloadSamples/MediaTypeSamples.d.ts +2 -7
- package/lib-esm/redoc-lib/src/components/PayloadSamples/MediaTypeSamples.js +1 -1
- package/lib-esm/redoc-lib/src/components/PayloadSamples/PayloadSamples.d.ts +1 -7
- package/lib-esm/redoc-lib/src/components/PayloadSamples/PayloadSamples.js +1 -1
- package/lib-esm/redoc-lib/src/components/PayloadSamples/index.d.ts +5 -0
- package/lib-esm/redoc-lib/src/components/PayloadSamples/index.js +2 -0
- package/lib-esm/redoc-lib/src/components/PayloadSamples/types.d.ts +23 -0
- package/lib-esm/redoc-lib/src/components/PayloadSamples/types.js +2 -0
- package/lib-esm/redoc-lib/src/components/PayloadSamples/{exernalExampleHook.d.ts → useExternalExample.d.ts} +0 -0
- package/lib-esm/redoc-lib/src/components/PayloadSamples/{exernalExampleHook.js → useExternalExample.js} +1 -1
- package/lib-esm/redoc-lib/src/components/RequestSamples/CodeSample.js +1 -1
- package/lib-esm/redoc-lib/src/components/RequestSamples/RequestSamples.d.ts +1 -1
- package/lib-esm/redoc-lib/src/components/RequestSamples/RequestSamples.js +1 -1
- package/lib-esm/redoc-lib/src/components/RequestSamples/languageSwitchEvent.d.ts +1 -1
- package/lib-esm/redoc-lib/src/components/ResponseSamples/ResponseSamples.js +1 -1
- package/lib-esm/redoc-lib/src/components/Responses/Response.d.ts +2 -5
- package/lib-esm/redoc-lib/src/components/Responses/Response.js +1 -1
- package/lib-esm/redoc-lib/src/components/Responses/ResponseDetails.d.ts +3 -8
- package/lib-esm/redoc-lib/src/components/Responses/ResponseDetails.js +1 -1
- package/lib-esm/redoc-lib/src/components/Responses/ResponseHeaders.d.ts +3 -9
- package/lib-esm/redoc-lib/src/components/Responses/ResponseHeaders.js +1 -1
- package/lib-esm/redoc-lib/src/components/Responses/ResponseSummary.d.ts +1 -5
- package/lib-esm/redoc-lib/src/components/Responses/ResponseSummary.js +1 -1
- package/lib-esm/redoc-lib/src/components/Responses/ResponsesList.d.ts +3 -8
- package/lib-esm/redoc-lib/src/components/Responses/ResponsesList.js +1 -1
- package/lib-esm/redoc-lib/src/components/Responses/index.d.ts +1 -0
- package/lib-esm/redoc-lib/src/components/Responses/index.js +2 -0
- package/lib-esm/redoc-lib/src/components/Responses/{styled.elements.d.ts → styled.d.ts} +1 -0
- package/lib-esm/redoc-lib/src/components/Responses/styled.js +2 -0
- package/lib-esm/redoc-lib/src/components/Responses/types.d.ts +12 -0
- package/lib-esm/redoc-lib/src/components/Responses/types.js +2 -0
- package/lib-esm/redoc-lib/src/components/Schema/DiscriminatorDropdown.js +1 -1
- package/lib-esm/redoc-lib/src/components/SchemaDefinition/SchemaDefinition.js +1 -1
- package/lib-esm/redoc-lib/src/components/SearchBox/SearchBox.d.ts +1 -1
- package/lib-esm/redoc-lib/src/components/SectionItem/SectionItem.d.ts +7 -0
- package/lib-esm/redoc-lib/src/components/SectionItem/SectionItem.js +2 -0
- package/lib-esm/redoc-lib/src/components/SectionItem/index.d.ts +1 -0
- package/lib-esm/redoc-lib/src/components/SectionItem/index.js +2 -0
- package/lib-esm/redoc-lib/src/components/SecurityRequirement/RequiredScopesRow.js +1 -1
- package/lib-esm/redoc-lib/src/components/SecurityRequirement/SecurityRequirement.js +1 -1
- package/lib-esm/redoc-lib/src/components/SecurityRequirement/SecurityRequirementElement.js +1 -1
- package/lib-esm/redoc-lib/src/components/SecurityRequirement/SecurityRequirementPanelDescription.js +1 -1
- package/lib-esm/redoc-lib/src/components/SecuritySchemes/SecuritySchemes.js +1 -1
- package/lib-esm/redoc-lib/src/components/SecuritySchemes/helpers.d.ts +4 -0
- 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/StickySidebar/StickyResponsiveSidebar.d.ts +1 -1
- package/lib-esm/redoc-lib/src/components/index.d.ts +2 -4
- package/lib-esm/redoc-lib/src/components/index.js +1 -1
- package/lib-esm/redoc-lib/src/services/MenuBuilder.d.ts +1 -1
- package/lib-esm/redoc-lib/src/services/OpenAPIParser.d.ts +1 -1
- package/lib-esm/redoc-lib/src/services/OpenAPIParser.js +1 -1
- package/lib-esm/redoc-lib/src/services/SearchStore.js +1 -1
- package/lib-esm/redoc-lib/src/services/models/MediaContent.d.ts +1 -1
- package/lib-esm/redoc-lib/src/services/models/MediaType.d.ts +2 -2
- package/lib-esm/redoc-lib/src/services/models/MediaType.js +1 -1
- package/lib-esm/redoc-lib/src/services/models/Operation.d.ts +2 -2
- package/lib-esm/redoc-lib/src/services/models/RequestBody.d.ts +1 -1
- package/lib-esm/redoc-lib/src/services/models/Response.d.ts +1 -1
- package/lib-esm/redoc-lib/src/services/models/Schema.d.ts +1 -1
- package/lib-esm/redoc-lib/src/services/models/Schema.js +1 -1
- package/lib-esm/redoc-lib/src/types/open-api.d.ts +3 -0
- package/lib-esm/redoc-lib/src/utils/helpers.d.ts +3 -1
- package/lib-esm/redoc-lib/src/utils/helpers.js +1 -1
- package/lib-esm/redoc-lib/src/utils/openapi.d.ts +3 -2
- package/lib-esm/redoc-lib/src/utils/openapi.js +1 -1
- package/lib-esm/redoc-lib/src/utils/string.d.ts +1 -0
- package/lib-esm/redoc-lib/src/utils/string.js +2 -0
- package/lib-esm/services/OAuth2.d.ts +4 -2
- package/lib-esm/services/OAuth2.js +1 -1
- package/lib-esm/services/OpenIDConnect.d.ts +1 -1
- package/lib-esm/services/ProStore.d.ts +6 -6
- package/lib-esm/services/SearchStore.d.ts +1 -1
- package/lib-esm/services/VersionedSpecStore.d.ts +1 -1
- package/lib-esm/services/code-samples/generator.d.ts +1 -0
- package/lib-esm/services/code-samples/generator.js +1 -1
- package/lib-esm/services/code-samples/httpsnippet/targets/csharp/httpclient.js +1 -1
- package/lib-esm/services/code-samples/httpsnippet/targets/java8/apachehttp.js +1 -1
- package/lib-esm/services/code-samples/httpsnippet/targets/javascript/fetch.js +1 -1
- package/lib-esm/services/code-samples/httpsnippet/targets/node/fetch.js +1 -1
- package/lib-esm/services/code-samples/httpsnippet/targets/python/requests.js +1 -1
- package/lib-esm/standalone.d.ts +1 -1
- package/lib-esm/standalone.js +1 -1
- package/lib-esm/types.d.ts +11 -0
- package/lib-esm/utils.d.ts +3 -13
- package/lib-esm/utils.js +1 -1
- package/package.json +11 -8
- package/lib/components/Endpoint/CopyLink.d.ts +0 -1
- package/lib/components/Endpoint/CopyLink.js +0 -2
- package/lib/components/Endpoint/Path.d.ts +0 -4
- package/lib/components/Endpoint/Path.js +0 -2
- package/lib/components/Endpoint/ServerItem.d.ts +0 -1
- package/lib/components/Endpoint/ServerItem.js +0 -2
- package/lib/components/Endpoint/ServerUrl.d.ts +0 -1
- package/lib/components/Endpoint/ServerUrl.js +0 -2
- package/lib/components/console/RequestBody.d.ts +0 -12
- package/lib/components/console/RequestBody.js +0 -2
- package/lib/components/console/ServerDropdown.d.ts +0 -24
- package/lib/components/console/ServerDropdown.js +0 -2
- package/lib/components/shared/SelectOnClick.d.ts +0 -6
- package/lib/components/shared/SelectOnClick.js +0 -2
- package/lib/redoc-lib/src/components/Responses/styled.elements.js +0 -2
- package/lib-esm/components/Endpoint/CopyLink.d.ts +0 -1
- package/lib-esm/components/Endpoint/CopyLink.js +0 -2
- package/lib-esm/components/Endpoint/Path.d.ts +0 -4
- package/lib-esm/components/Endpoint/Path.js +0 -2
- package/lib-esm/components/Endpoint/ServerItem.d.ts +0 -1
- package/lib-esm/components/Endpoint/ServerItem.js +0 -2
- package/lib-esm/components/Endpoint/ServerUrl.d.ts +0 -1
- package/lib-esm/components/Endpoint/ServerUrl.js +0 -2
- package/lib-esm/components/console/RequestBody.d.ts +0 -12
- package/lib-esm/components/console/RequestBody.js +0 -2
- package/lib-esm/components/console/ServerDropdown.d.ts +0 -24
- package/lib-esm/components/console/ServerDropdown.js +0 -2
- package/lib-esm/components/shared/SelectOnClick.d.ts +0 -6
- package/lib-esm/components/shared/SelectOnClick.js +0 -2
- package/lib-esm/redoc-lib/src/components/Responses/styled.elements.js +0 -2
|
@@ -1,35 +1,39 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type { ComponentType, LegacyRef } from 'react';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import type { FieldApi, FieldState } from 'informed';
|
|
2
4
|
import { Controlled as CodeMirror } from 'react-codemirror2-react-17';
|
|
3
5
|
import type { Editor } from 'codemirror';
|
|
6
|
+
import type { OpenAPISchema, Referenced } from '../../redoc-lib';
|
|
4
7
|
import './codemirror-helpers';
|
|
5
8
|
export interface CodemirrorInputBase {
|
|
6
|
-
forwardedRef?:
|
|
9
|
+
forwardedRef?: LegacyRef<CodeMirror>;
|
|
7
10
|
mode?: string;
|
|
8
11
|
field: string;
|
|
9
|
-
initialValue:
|
|
10
|
-
validate:
|
|
11
|
-
schema
|
|
12
|
+
initialValue: string;
|
|
13
|
+
validate: () => string | undefined;
|
|
14
|
+
schema?: Referenced<OpenAPISchema>;
|
|
12
15
|
id: string;
|
|
13
|
-
onChange?: (e: any) =>
|
|
14
|
-
onBlur?: (e: any) =>
|
|
16
|
+
onChange?: (e: any) => void;
|
|
17
|
+
onBlur?: (e: any) => void;
|
|
15
18
|
}
|
|
16
19
|
export interface CodemirrorInputProps extends CodemirrorInputBase {
|
|
17
|
-
fieldApi:
|
|
18
|
-
fieldState:
|
|
20
|
+
fieldApi: FieldApi;
|
|
21
|
+
fieldState: FieldState<string>;
|
|
19
22
|
render: any;
|
|
20
23
|
userProps: any;
|
|
21
24
|
ref: any;
|
|
22
25
|
}
|
|
23
|
-
export declare class CodemirrorInput extends React.
|
|
26
|
+
export declare class CodemirrorInput extends React.PureComponent<CodemirrorInputProps> {
|
|
24
27
|
editor: Editor;
|
|
25
28
|
_onKeyUp: (_cm: CodeMirror.Doc, event: {
|
|
26
29
|
key: string;
|
|
27
30
|
}) => void;
|
|
28
31
|
initEditor: (editor: Editor) => void;
|
|
29
32
|
refreshEditor: () => void;
|
|
33
|
+
showHintHandler: () => void;
|
|
30
34
|
componentDidMount(): void;
|
|
31
35
|
componentWillUnmount(): void;
|
|
32
36
|
render(): JSX.Element;
|
|
33
37
|
}
|
|
34
|
-
declare const _default:
|
|
38
|
+
declare const _default: ComponentType<CodemirrorInputBase>;
|
|
35
39
|
export default _default;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__extends,__makeTemplateObject}from"tslib";import
|
|
1
|
+
import{__extends,__makeTemplateObject}from"tslib";import React from"react";import{asField}from"informed";import{Controlled as CodeMirror}from"react-codemirror2-react-17";import{createGlobalStyle}from"styled-components";import"./codemirror-helpers";import{MediaTypes}from"../../types";var templateObject_1,CodeMirrorStyles=createGlobalStyle(templateObject_1||(templateObject_1=__makeTemplateObject(["\n .cm-s-material.CodeMirror {\n background-color: var(--samples-panel-controls-background-color)!important;\n color: var(--color-content-inverse)!important;\n font-family: var(--code-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: var(--color-content-inverse);\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 overflow: hidden;\n\n flex: 1;\n }\n\n .CodeMirror {\n flex: 1;\n border-radius: var(--panels-border-radius);\n }\n"],["\n .cm-s-material.CodeMirror {\n background-color: var(--samples-panel-controls-background-color)!important;\n color: var(--color-content-inverse)!important;\n font-family: var(--code-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: var(--color-content-inverse);\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 overflow: hidden;\n\n flex: 1;\n }\n\n .CodeMirror {\n flex: 1;\n border-radius: var(--panels-border-radius);\n }\n"]))),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()}}),Object.defineProperty(r,"showHintHandler",{enumerable:!0,configurable:!0,writable:!0,value:function(){return r.editor.showHint({completeSingle:!0})}}),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.props.fieldState.value,r=this.props.fieldApi,o=r.setValue,n=r.setTouched,t=r.setError,i=this.props,a=i.onChange,l=i.onBlur,c=i.forwardedRef;return React.createElement(React.Fragment,null,React.createElement(CodeMirrorStyles,null),React.createElement(CodeMirror,{editorDidMount:this.initEditor,value:e||"",ref:c,onBeforeChange:function(e,r,n){o(n),a&&a(n)},onBlur:function(e){n(!1),l&&l(e)},options:{mode:this.props.mode||MediaTypes.JSON,theme:"material",matchBrackets:!0,autoCloseBrackets:!0,tabSize:2,foldGutter:!0,extraKeys:{"Cmd-Space":this.showHintHandler,"Ctrl-Space":this.showHintHandler},hintOptions:{id:this.props.id,completeSingle:!1,schema:this.props.schema},lint:{id:this.props.id,schema:this.props.schema,setError:t}}}))}}),r}(React.PureComponent);export{CodemirrorInput};export default asField(CodemirrorInput);
|
|
2
2
|
//# sourceMappingURL=CodemirrorInput.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import type { FormApi, FormState } from 'informed';
|
|
3
|
-
import type { SecurityDetails } from '../../
|
|
3
|
+
import type { SecurityDetails } from '../../types';
|
|
4
4
|
import type { ProStore } from '../../services';
|
|
5
5
|
import type { OperationModel, Server } from '../../redoc-lib';
|
|
6
6
|
import type { OpenApiResponseData } from './ResponsePanel';
|
|
@@ -26,13 +26,13 @@ export interface ConsoleState {
|
|
|
26
26
|
error?: Error & {
|
|
27
27
|
response?: OpenApiResponseData;
|
|
28
28
|
};
|
|
29
|
-
resolvedRawSpec?:
|
|
29
|
+
resolvedRawSpec?: GenericObject;
|
|
30
30
|
response?: OpenApiResponseData;
|
|
31
31
|
time?: number;
|
|
32
32
|
server: Server;
|
|
33
33
|
}
|
|
34
34
|
export declare class Console extends React.Component<ConsoleProps, ConsoleState> {
|
|
35
|
-
formApi: FormApi;
|
|
35
|
+
formApi: FormApi | undefined;
|
|
36
36
|
constructor(props: ConsoleProps);
|
|
37
37
|
setFormApi: (formApi: FormApi, { values, ...rest }?: FormState<import("informed").FormValues>) => void;
|
|
38
38
|
handleChange: ({ values, ...rest }: ConsoleState['form']) => void;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__assign,__awaiter,__decorate,__extends,__generator,__rest}from"tslib";import*as React from"react";import{Form,useField}from"informed";import{observer}from"mobx-react";import Swagger from"swagger-client";import{get,useDimensions,unescapeFormId}from"../../utils";import{AnalyticsEventType}from"../../services";import{JsonPointer,StoreContext}from"../../redoc-lib";import{RenderHook}from"../../redoc-lib/src/components/RenderHook";import{l}from"../../redoc-lib/src/services/Labels";import{CodeHeader,Accordion}from"../Panel";import{OAuth2}from"../../services/OAuth2";import{isFileUploadMime}from"../common/FileUpload/helper";import{OperationParameters}from"../OperationParameters";import{getFileNameFromHeaders,getParameters,makeRequestInterceptor,unescapeQueryParams,updateStorage,requiredValidator}from"./utils";import{AuthPanel}from"./AuthPanel";import{RequestBody}from"./RequestBody";import{ResponsePanel}from"./ResponsePanel";import{ActionPanel}from"./ActionPanel";import{ServerChooser}from"./ServerDropdown";import{TryItPanel}from"./TryItPanel";import{ConsoleTabs}from"./ConsoleTabs";import{CloseButton,ConsoleBody,ConsoleWrap}from"./styled";function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}var flexColumn={flex:1,display:"flex",flexDirection:"column"},Console=function(e){function t(t){var r=e.call(this,t)||this;return Object.defineProperty(r,"formApi",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"setFormApi",{enumerable:!0,configurable:!0,writable:!0,value:function(e,t){void 0===t&&(t=e.getState());var o=t.values,a=__rest(t,["values"]);r.formApi=e,setTimeout((function(){var e=__assign(__assign({},a),{values:__assign(__assign({},o),{query:unescapeQueryParams(o.query||{})})});r.setState({form:e})}),0)}}),Object.defineProperty(r,"handleChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var t=e.values,o=__rest(e,["values"]),a=__assign(__assign({},o),{values:__assign(__assign({},t),{query:unescapeQueryParams(t.query||{})})});r.setState({form:a}),updateStorage(a),r.props.operation.setRequestValues(t)}}),Object.defineProperty(r,"handleTabChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.setState({activeTab:e})}}),Object.defineProperty(r,"handleServerChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.setState({server:e}),r.props.operation.setActiveServer(e)}}),Object.defineProperty(r,"handleExecute",{enumerable:!0,configurable:!0,writable:!0,value:function(){return __awaiter(r,void 0,void 0,(function(){var e,t,r,o,a,n,s,i,l,u,c,p,d,m,h,v,f,g,y,_,b,P,R,C,S,w,A,E,I,T,k,O,q,F,x,B,H,j,V,D,U=this;return __generator(this,(function(N){switch(N.label){case 0:if(e=this.props,t=e.store,r=e.operation,o=e.onResponse,a=this.state.form,n=a.values,s=a.invalid,this.formApi.submitForm(),s)return this.setState({shaking:!0}),setTimeout((function(){return U.setState({shaking:!1})}),1e3),null===(x=null===(F=null==t?void 0:t.options.events)||void 0===F?void 0:F.tryItSent)||void 0===x||x.call(F,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"ValidationFailed",operationId:r.operationId,operationPath:r.path,operationHttpVerb:r.httpVerb,operationSummary:r.description}),[2];if(i=this.props.operation.requestBody,l=i&&i.content&&i.content.active&&i.content.active.name||"",u=n.body,/json/.test(l))try{u=JSON.parse(u)}catch(e){console.error(e)}if(this.setState({loading:!0}),c=this.state.resolvedRawSpec,p=(r.httpVerb||"").toLowerCase(),!(d=get(c,["paths",r.path,p,"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");m=d.find((function(e){return U.state.server.url.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url)})),h=Date.now(),v=!!window.document.documentMode,g=n.auth,n.auth?(y=Object.keys(n.auth)[0],_=unescapeFormId(y),f=__assign(__assign({},c),{components:__assign(__assign({},c.components),{securitySchemes:__assign(__assign({},c.components.securitySchemes),(T={},T[_]=__assign(__assign({},c.components.securitySchemes[_]),{type:"openIdConnect"===c.components.securitySchemes[_].type?"oauth2":c.components.securitySchemes[_].type}),T))})}),g=__assign(__assign({},g),((k={})[_]=g[y],k))):f=__assign({},c),(b=t.options.corsProxyUrl)&&d.length&&(f.servers=d.map((function(e){return __assign(__assign({},e),{url:b+normalizeUrlProtocol(e.url)})})),f.paths=__assign(__assign({},f.paths),((O={})[r.path]=__assign(__assign({},f.paths[r.path]),((q={})[p]=__assign(__assign({},f.paths[r.path][p]),{servers:void 0}),q.servers=void 0,q)),O))),(P=(null===(H=null===(B=null==i?void 0:i.content)||void 0===B?void 0:B.active)||void 0===H?void 0:H.name)||null)&&u&&isFileUploadMime(P)&&(R=Object.values(u),u=R.length>1?R:R[0]),C={userFetch:v&&require("cross-fetch").fetch,server:b?b+normalizeUrlProtocol(m.url):m.url,serverVariables:this.state.server.variables,spec:f,pathName:r.path,method:r.httpVerb,parameters:__assign(__assign(__assign(__assign({},n.path),n.query),n.header),n.cookie),securities:{authorized:g},requestBody:u,requestContentType:P,responseContentType:(null===(j=n.header)||void 0===j?void 0:j.Accept)||null,requestInterceptor:makeRequestInterceptor(t.options,r,null==g?void 0:g.Authorization)},N.label=1;case 1:return N.trys.push([1,5,8,9]),[4,Swagger.execute(C)];case 2:return S=N.sent(),(w=null==S?void 0:S.data)instanceof Blob?(isFileUploadMime(w.type)&&(S.fileInfo={rawData:w,fileName:getFileNameFromHeaders(S.headers)}),A=S,[4,w.text()]):[3,4];case 3:A.data=N.sent(),N.label=4;case 4:return null==o||o({request:C,response:S}),this.setState({response:S,error:void 0}),[3,9];case 5:return(E=N.sent())&&E.response&&E.response.data instanceof Blob?(I=E.response,[4,E.response.data.text()]):[3,7];case 6:I.data=N.sent(),null==o||o({request:C,response:E.response}),N.label=7;case 7:return this.setState({response:void 0,error:E}),[3,9];case 8:return this.setState({loading:!1,activeTab:1,time:Date.now()-h}),null===(D=null===(V=null==t?void 0:t.options.events)||void 0===V?void 0:V.tryItSent)||void 0===D||D.call(V,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"Sent",operationId:r.operationId,operationPath:r.path,operationHttpVerb:r.httpVerb,operationSummary:r.description}),[7];case 9:return[2]}}))}))}}),r.state={form:{values:{path:getParameters(t.operation.parameters,"path"),cookie:getParameters(t.operation.parameters,"cookie"),header:getParameters(t.operation.parameters,"header"),query:getParameters(t.operation.parameters,"query")}},shaking:!1,loading:!1,activeTab:0,server:{}},r}return __extends(t,e),Object.defineProperty(t.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){return __awaiter(this,void 0,void 0,(function(){var e,t,r,o;return __generator(this,(function(a){switch(a.label){case 0:return e=this.props,t=e.store,r=e.operation,[4,t.dereferenceSpecForTryIt(r)];case 1:return o=a.sent(),this.setState({resolvedRawSpec:o}),this.formApi.setValues({}),[2]}}))}))}}),Object.defineProperty(t.prototype,"componentDidUpdate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){e.operation!==this.props.operation&&this.setState({response:void 0,error:void 0,activeTab:0})}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.props,t=e.operation,r=e.className,o=e.rootElement,a=this.state,n=a.shaking,s=a.activeTab,i=a.form,l=a.response,u=a.loading,c=a.error,p=!(!l&&!c);return React.createElement(ConsoleWrapHook,{shaking:n,className:r,rootElement:o},React.createElement(CodeHeader,null,React.createElement(ConsoleTabs,{active:s,hasResponse:p,onChange:this.handleTabChange}),this.props.onClose&&React.createElement(CloseButton,{onClick:this.props.onClose}," ✕ ")),React.createElement(ConsoleBody,{hidden:0!==s},this.renderRequest()),React.createElement(ConsoleBody,{hidden:1!==s},this.renderResponse()),React.createElement(ActionPanel,{hasResponse:p,params:i.values,operation:t,loading:u,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,a=t.properties,n=t.securityDefaults,s=this.state,i=s.form,u=s.resolvedRawSpec,c=s.server,p=i.errors||{},d=p.path||p.cookie||p.header||p.query,m=u&&JsonPointer.get(u,r.pointer),h=i.values&&i.values.auth&&Object.keys(i.values.auth)[0];h&&i.values.auth[h]||(h=void 0),!h||void 0===i.values.auth[h].token&&void 0===i.values.auth[h].client_id&&void 0===i.values.auth[h].client_secret||i.values.auth[h].token&&i.values.auth[h].token.access_token||(h=void 0),h&&null!=i.values.auth[h].username&&(i.values.auth[h].username&&i.values.auth[h].password||(h=void 0));var v=r.parameters||[],f=null===(e=null==o?void 0:o.options.hooks)||void 0===e?void 0:e.ReplaceTryItSecurityPanel;return!u&&React.createElement(React.Fragment,null,"Loading...")||React.createElement(React.Fragment,null,React.createElement(Form,{onChange:this.handleChange,getApi:this.setFormApi,style:__assign(__assign({},flexColumn),{margin:0})},React.createElement(Accordion,{initialActiveIdx:r.security.length&&h?1:0},r.security.length&&React.createElement(TryItPanel,{header:l("tryItAuth"),"data-cy":"security-trigger",renderChildrenHidden:!0,error:!h&&!!p.auth,success:!!h},f?React.createElement(AuthPanelHook,{field:"auth",validate:requiredValidator},(function(e){return React.createElement(RenderHook,{Hook:f,props:{server:c,operation:r,onChange:e,OAuth2:OAuth2}})})):React.createElement(AuthPanel,{formApi:this.formApi,form:i,operation:r,activeServer:c.url,authCorsProxyUrl:o.options.authCorsProxyUrl,securityDefaults:n}))||null,r.requestBody&&React.createElement(TryItPanel,{header:l("tryItBody"),"data-cy":"body-trigger",renderChildrenHidden:!0,error:!!p.body},React.createElement(RequestBody,{validate:allowBodyErrors,console:this,body:r.requestBody,id:r.id,resolvedBody:m.requestBody,properties:a}))||null,v.length&&React.createElement(TryItPanel,{header:l("tryItParameters"),"data-cy":"parameters-trigger",error:d,renderChildrenHidden:!0},React.createElement(OperationParameters,{operation:r,values:i.values,errors:i.errors||{}}))||null)),React.createElement(ServerChooser,{operation:r,onChange:this.handleServerChange}))}}),Object.defineProperty(t.prototype,"renderResponse",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.state,t=e.response,r=e.error,o=e.time;return React.createElement(ResponsePanel,{response:t,error:r,time:o})}}),t=__decorate([observer],t)}(React.Component);export{Console};function allowBodyErrors(){}function ConsoleWrapHook(e){var t=e.shaking,r=e.className,o=e.children,a=e.rootElement,n=useDimensions(a)[0],s=React.useContext(StoreContext);return React.createElement(ConsoleWrap,{scrollYOffset:null==s?void 0:s.options.scrollYOffset,shaking:t,className:r,"data-cy":"console",fullWidth:null==n?void 0:n.width},o)}function AuthPanelHook(e){var t=useField(__assign({},e)),r=t.fieldApi,o=t.render,a=t.userProps,n=r.setValue,s=a.children;return o(React.createElement(React.Fragment,null,s(n)))}
|
|
1
|
+
import{__assign,__awaiter,__decorate,__extends,__generator,__rest}from"tslib";import*as React from"react";import{Form,useField}from"informed";import{observer}from"mobx-react";import Swagger from"swagger-client";import{get,unescapeFormId}from"../../utils";import{AnalyticsEventType}from"../../services";import{JsonPointer,StoreContext}from"../../redoc-lib";import{RenderHook}from"../../redoc-lib/src/components/RenderHook";import{l}from"../../redoc-lib/src/services/Labels";import{CodeHeader,Accordion}from"../Panel";import{OAuth2}from"../../services/OAuth2";import{isFileUploadMime}from"../common/FileUpload/helper";import{OperationParameters}from"../OperationParameters";import{useDimensions}from"../../hooks";import{getFileNameFromHeaders,getParameters,makeRequestInterceptor,unescapeQueryParams,updateStorage,requiredValidator}from"./utils";import{AuthPanel}from"./AuthPanel";import{RequestBody}from"./RequestBody";import{ResponsePanel}from"./ResponsePanel";import{ActionPanel}from"./ActionPanel";import{ServersDropdown}from"./ServersDropdown";import{TryItPanel}from"./TryItPanel";import{ConsoleTabs}from"./ConsoleTabs";import{CloseButton,ConsoleBody,ConsoleWrap}from"./styled";function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}var flexColumn={flex:1,display:"flex",flexDirection:"column"},Console=function(e){function t(t){var r=e.call(this,t)||this;return Object.defineProperty(r,"formApi",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"setFormApi",{enumerable:!0,configurable:!0,writable:!0,value:function(e,t){void 0===t&&(t=e.getState());var o=t.values,a=__rest(t,["values"]);r.formApi=e,setTimeout((function(){var e=__assign(__assign({},a),{values:__assign(__assign({},o),{query:unescapeQueryParams(o.query||{})})});r.setState({form:e})}),0)}}),Object.defineProperty(r,"handleChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var t=e.values,o=__rest(e,["values"]),a=__assign(__assign({},o),{values:__assign(__assign({},t),{query:unescapeQueryParams(t.query||{})})});r.setState({form:a}),updateStorage(a),r.props.operation.setRequestValues(t)}}),Object.defineProperty(r,"handleTabChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.setState({activeTab:e})}}),Object.defineProperty(r,"handleServerChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.setState({server:e}),r.props.operation.setActiveServer(e)}}),Object.defineProperty(r,"handleExecute",{enumerable:!0,configurable:!0,writable:!0,value:function(){return __awaiter(r,void 0,void 0,(function(){var e,t,r,o,a,n,s,i,l,u,c,p,d,m,h,v,f,y,g,_,b,P,R,S,C,w,A,E,I,k,T,q,O,x,F,B,H,j,D,V,U,N=this;return __generator(this,(function(W){switch(W.label){case 0:if(e=this.props,t=e.store,r=e.operation,o=e.onResponse,a=this.state.form,n=a.values,s=a.invalid,null===(x=this.formApi)||void 0===x||x.submitForm(),s)return this.setState({shaking:!0}),setTimeout((function(){return N.setState({shaking:!1})}),1e3),null===(B=null===(F=null==t?void 0:t.options.events)||void 0===F?void 0:F.tryItSent)||void 0===B||B.call(F,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"ValidationFailed",operationId:r.operationId,operationPath:r.path,operationHttpVerb:r.httpVerb,operationSummary:r.description}),[2];if(i=this.props.operation.requestBody,l=i&&i.content&&i.content.active&&i.content.active.name||"",u=n.body,/json/.test(l))try{u=JSON.parse(u)}catch(e){console.error(e)}if(this.setState({loading:!0}),c=this.state.resolvedRawSpec,p=(r.httpVerb||"").toLowerCase(),!(d=get(c,["paths",r.path,p,"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");m=d.find((function(e){return N.state.server.url.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url)})),h=Date.now(),v=!!window.document.documentMode,y=n.auth,n.auth?(g=Object.keys(n.auth)[0],_=unescapeFormId(g),f=__assign(__assign({},c),{components:__assign(__assign({},null==c?void 0:c.components),{securitySchemes:__assign(__assign({},null==c?void 0:c.components.securitySchemes),(k={},k[_]=__assign(__assign({},null==c?void 0:c.components.securitySchemes[_]),{type:"openIdConnect"===(null==c?void 0:c.components.securitySchemes[_].type)?"oauth2":null==c?void 0:c.components.securitySchemes[_].type}),k))})}),y=__assign(__assign({},y),((T={})[_]=y[g],T))):f=__assign({},c),(b=t.options.corsProxyUrl)&&d.length&&(f.servers=d.map((function(e){return __assign(__assign({},e),{url:b+normalizeUrlProtocol(e.url)})})),f.paths=__assign(__assign({},f.paths),((q={})[r.path]=__assign(__assign({},f.paths[r.path]),((O={})[p]=__assign(__assign({},f.paths[r.path][p]),{servers:void 0}),O.servers=void 0,O)),q))),(P=(null===(j=null===(H=null==i?void 0:i.content)||void 0===H?void 0:H.active)||void 0===j?void 0:j.name)||null)&&u&&isFileUploadMime(P)&&(R=Object.values(u),u=R.length>1?R:R[0]),S={userFetch:v&&require("cross-fetch").fetch,server:b?b+normalizeUrlProtocol(m.url):m.url,serverVariables:this.state.server.variables,spec:f,pathName:r.path,method:r.httpVerb,parameters:__assign(__assign(__assign(__assign({},n.path),n.query),n.header),n.cookie),securities:{authorized:y},requestBody:u,requestContentType:P,responseContentType:(null===(D=n.header)||void 0===D?void 0:D.Accept)||null,requestInterceptor:makeRequestInterceptor(t.options,r,null==y?void 0:y.Authorization)},W.label=1;case 1:return W.trys.push([1,5,8,9]),[4,Swagger.execute(S)];case 2:return C=W.sent(),(w=null==C?void 0:C.data)instanceof Blob?(isFileUploadMime(w.type)&&(C.fileInfo={rawData:w,fileName:getFileNameFromHeaders(C.headers)}),A=C,[4,w.text()]):[3,4];case 3:A.data=W.sent(),W.label=4;case 4:return null==o||o({request:S,response:C}),this.setState({response:C,error:void 0}),[3,9];case 5:return(E=W.sent())&&E.response&&E.response.data instanceof Blob?(I=E.response,[4,E.response.data.text()]):[3,7];case 6:I.data=W.sent(),null==o||o({request:S,response:E.response}),W.label=7;case 7:return this.setState({response:void 0,error:E}),[3,9];case 8:return this.setState({loading:!1,activeTab:1,time:Date.now()-h}),null===(U=null===(V=null==t?void 0:t.options.events)||void 0===V?void 0:V.tryItSent)||void 0===U||U.call(V,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"Sent",operationId:r.operationId,operationPath:r.path,operationHttpVerb:r.httpVerb,operationSummary:r.description}),[7];case 9:return[2]}}))}))}}),r.state={form:{values:{path:getParameters(t.operation.parameters,"path"),cookie:getParameters(t.operation.parameters,"cookie"),header:getParameters(t.operation.parameters,"header"),query:getParameters(t.operation.parameters,"query")}},shaking:!1,loading:!1,activeTab:0,server:{}},r}return __extends(t,e),Object.defineProperty(t.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e;return __awaiter(this,void 0,void 0,(function(){var t,r,o,a;return __generator(this,(function(n){switch(n.label){case 0:return t=this.props,r=t.store,o=t.operation,[4,r.dereferenceSpecForTryIt(o)];case 1:return a=n.sent(),this.setState({resolvedRawSpec:a}),null===(e=this.formApi)||void 0===e||e.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,a=this.state,n=a.shaking,s=a.activeTab,i=a.form,l=a.response,u=a.loading,c=a.error,p=!(!l&&!c);return React.createElement(ConsoleWrapHook,{shaking:n,className:r,rootElement:o},React.createElement(CodeHeader,null,React.createElement(ConsoleTabs,{active:s,hasResponse:p,onChange:this.handleTabChange}),this.props.onClose&&React.createElement(CloseButton,{onClick:this.props.onClose}," ✕ ")),React.createElement(ConsoleBody,{hidden:0!==s,"data-cy":"console-request-body"},this.renderRequest()),React.createElement(ConsoleBody,{hidden:1!==s,"data-cy":"console-response-body"},this.renderResponse()),React.createElement(ActionPanel,{hasResponse:p,params:i.values,operation:t,loading:u,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,a=t.properties,n=t.securityDefaults,s=this.state,i=s.form,u=s.resolvedRawSpec,c=s.server,p=i.errors||{},d=p.path||p.cookie||p.header||p.query,m=u&&JsonPointer.get(u,r.pointer),h=i.values&&i.values.auth&&Object.keys(i.values.auth)[0];h&&i.values.auth[h]||(h=void 0),!h||void 0===i.values.auth[h].token&&void 0===i.values.auth[h].client_id&&void 0===i.values.auth[h].client_secret||i.values.auth[h].token&&i.values.auth[h].token.access_token||(h=void 0),h&&null!=i.values.auth[h].username&&(i.values.auth[h].username&&i.values.auth[h].password||(h=void 0));var v=r.parameters||[],f=null===(e=null==o?void 0:o.options.hooks)||void 0===e?void 0:e.ReplaceTryItSecurityPanel;return!u&&React.createElement(React.Fragment,null,"Loading...")||React.createElement(Form,{onChange:this.handleChange,getApi:this.setFormApi,style:__assign(__assign({},flexColumn),{margin:0})},React.createElement(ServersDropdown,{operation:r,onChange:this.handleServerChange}),React.createElement(Accordion,{initialActiveIdx:r.security.length&&h?1:0},r.security.length&&this.formApi&&React.createElement(TryItPanel,{header:l("tryItAuth"),"data-cy":"security-trigger",renderChildrenHidden:!0,error:!h&&!!p.auth,success:!!h},f?React.createElement(AuthPanelHook,{field:"auth",validate:requiredValidator},(function(e){return React.createElement(RenderHook,{Hook:f,props:{server:c,operation:r,onChange:e,OAuth2:OAuth2}})})):React.createElement(AuthPanel,{formApi:this.formApi,form:i,operation:r,activeServer:c.url,authCorsProxyUrl:o.options.authCorsProxyUrl,securityDefaults:n}))||null,r.requestBody&&this.formApi&&React.createElement(TryItPanel,{header:l("tryItBody"),"data-cy":"body-trigger",renderChildrenHidden:!0,error:!!p.body},React.createElement(RequestBody,{validate:allowBodyErrors,formApi:this.formApi,body:r.requestBody,id:r.id,resolvedBody:null==m?void 0:m.requestBody,properties:a}))||null,v.length&&React.createElement(TryItPanel,{header:l("tryItParameters"),"data-cy":"parameters-trigger",error:d,renderChildrenHidden:!0},React.createElement(OperationParameters,{operation:r,values:i.values,errors:i.errors||{}}))||null))}}),Object.defineProperty(t.prototype,"renderResponse",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.state,t=e.response,r=e.error,o=e.time;return React.createElement(ResponsePanel,{response:t,error:r,time:o})}}),t=__decorate([observer],t)}(React.Component);export{Console};function allowBodyErrors(){}function ConsoleWrapHook(e){var t=e.shaking,r=e.className,o=e.children,a=e.rootElement,n=useDimensions(a)[0],s=React.useContext(StoreContext);return React.createElement(ConsoleWrap,{scrollYOffset:null==s?void 0:s.options.scrollYOffset,shaking:t,className:r,"data-cy":"console",fullWidth:null==n?void 0:n.width},o)}function AuthPanelHook(e){var t=useField(__assign({},e)),r=t.fieldApi,o=t.render,a=t.userProps,n=r.setValue,s=a.children;return o(React.createElement(React.Fragment,null,s(n)))}
|
|
2
2
|
//# sourceMappingURL=Console.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__assign,__awaiter,__generator}from"tslib";import React from"react";import{useDimensions}from"../../
|
|
1
|
+
import{__assign,__awaiter,__generator}from"tslib";import React from"react";import{useDimensions}from"../../hooks";import{CodeHeader}from"../Panel";import{StoreContext}from"../../redoc-lib";import{ConsoleWrap}from"./styled";export function Console(e){var o=this,t=React.useState({}),r=t[0],n=t[1],s=React.useContext(StoreContext),a=useDimensions(e.rootElement)[0];return React.useEffect((function(){__awaiter(o,void 0,void 0,(function(){var e;return __generator(this,(function(o){switch(o.label){case 0:return[4,import("./Console")];case 1:return e=o.sent(),n({Console:e.Console}),[2]}}))}))}),[]),r.Console?React.createElement(r.Console,__assign({},e)):React.createElement(ConsoleWrap,{scrollYOffset:null==s?void 0:s.options.scrollYOffset,className:e.className,fullWidth:null==a?void 0:a.width},React.createElement(CodeHeader,null,"Loading..."))}
|
|
2
2
|
//# sourceMappingURL=ConsoleLazy.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import type { FormApi, FormState } from 'informed';
|
|
3
3
|
import type { InputActionButtonProps } from '../common/TextField';
|
|
4
|
-
import type { SecurityDetails } from '../../
|
|
4
|
+
import type { SecurityDetails } from '../../types';
|
|
5
5
|
import type { RedocProNormalizedOptions } from '../../services';
|
|
6
6
|
export interface OAuth2FlowProps {
|
|
7
7
|
authorizationUrl: string;
|
|
@@ -17,6 +17,7 @@ export interface OAuth2FlowProps {
|
|
|
17
17
|
form: FormState;
|
|
18
18
|
formApi: FormApi;
|
|
19
19
|
flow: 'implicit' | 'authorizationCode';
|
|
20
|
+
tokenEndpointAuthMethod?: string | string[];
|
|
20
21
|
clientId?: string;
|
|
21
22
|
defaultValues?: SecurityDetails;
|
|
22
23
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__assign,__awaiter,__extends,__generator,__makeTemplateObject}from"tslib";import*as React from"react";import styled from"styled-components";import{Button}from"@redocly/theme";import{OptionsContext}from"../../redoc-lib";import{LinearProgress}from"../common/LinearProgress";import{FormControl,FormLabel,FormError,FormWrapper,FormWarning}from"../common/form";import{FormDropdown,FormTextField,TextField}from"../common/TextField";import{Checkbox}from"../common/Checkbox";import{OAuth2,deriveCodeChallenge}from"../../services/OAuth2";import{fromSessionStorage,getSecurityDetailsOptions}from"../../utils";import{isEmptyObject,randString}from"../../services/utils";import{normalizeUrlProtocol}from"./utils";import Scope from"./Scope";function requiredValidator(e){if(!e)return"Field is required"}var OAuth2Flow=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"state",{enumerable:!0,configurable:!0,writable:!0,value:{error:null,loading:!1,showPkceOptions:!1}}),Object.defineProperty(t,"clearToken",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.props.formApi.setValue("auth."+t.props.id+".token","")}}),Object.defineProperty(t,"togglePkceOptions",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.setState((function(e){return{showPkceOptions:!e.showPkceOptions}}))}}),Object.defineProperty(t,"handleCodeVerifierChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var r=e.target.value;return __awaiter(t,void 0,void 0,(function(){var e;return __generator(this,(function(t){switch(t.label){case 0:return[4,deriveCodeChallenge(r)];case 1:return e=t.sent(),this.setState({codeVerifier:r,validCodeChallenge:e}),[2]}}))}))}}),t}return __extends(t,e),Object.defineProperty(t.prototype,"values",{get:function(){var e,t;return(null===(t=null===(e=this.props.form.values)||void 0===e?void 0:e.auth)||void 0===t?void 0:t[this.props.id])||{}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"errors",{get:function(){var e,t;return(null===(t=null===(e=this.props.form.errors)||void 0===e?void 0:e.auth)||void 0===t?void 0:t[this.props.id])||{}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"pkceInputActionButtonProps",{get:function(){var e=this;if(void 0!==this.state.codeVerifier&&this.state.codeChallenge!==this.state.validCodeChallenge)return{label:"sync",onClick:function(){e.state.codeVerifier&&e.setState({codeChallenge:e.state.validCodeChallenge})}}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this;if(this.props.usePkce){var t=randString(43);deriveCodeChallenge(t).then((function(r){e.setState({codeVerifier:t,codeChallenge:r,validCodeChallenge:r})}))}}}),Object.defineProperty(t.prototype,"handleAuthorize",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;if(e){this.props.formApi.validate();var r=this.props,n=r.flow,o=r.usePkce,a=r.id,l=r.tokenUrl,i=r.authCorsProxyUrl;if(isEmptyObject(this.errors)){this.setState({loading:!0,error:null});var
|
|
1
|
+
import{__assign,__awaiter,__extends,__generator,__makeTemplateObject}from"tslib";import*as React from"react";import styled from"styled-components";import{Button}from"@redocly/theme";import{OptionsContext}from"../../redoc-lib";import{LinearProgress}from"../common/LinearProgress";import{FormControl,FormLabel,FormError,FormWrapper,FormWarning}from"../common/form";import{FormDropdown,FormTextField,TextField}from"../common/TextField";import{Checkbox}from"../common/Checkbox";import{OAuth2,deriveCodeChallenge}from"../../services/OAuth2";import{fromSessionStorage,getSecurityDetailsOptions}from"../../utils";import{isEmptyObject,randString}from"../../services/utils";import{getOAuth2TokenEndpointAuthHeader,normalizeUrlProtocol,validateTokenEndpointMethod}from"./utils";import Scope from"./Scope";function requiredValidator(e){if(!e)return"Field is required"}var OAuth2Flow=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"state",{enumerable:!0,configurable:!0,writable:!0,value:{error:null,loading:!1,showPkceOptions:!1}}),Object.defineProperty(t,"clearToken",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.props.formApi.setValue("auth."+t.props.id+".token","")}}),Object.defineProperty(t,"togglePkceOptions",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.setState((function(e){return{showPkceOptions:!e.showPkceOptions}}))}}),Object.defineProperty(t,"handleCodeVerifierChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var r=e.target.value;return __awaiter(t,void 0,void 0,(function(){var e;return __generator(this,(function(t){switch(t.label){case 0:return[4,deriveCodeChallenge(r)];case 1:return e=t.sent(),this.setState({codeVerifier:r,validCodeChallenge:e}),[2]}}))}))}}),t}return __extends(t,e),Object.defineProperty(t.prototype,"values",{get:function(){var e,t;return(null===(t=null===(e=this.props.form.values)||void 0===e?void 0:e.auth)||void 0===t?void 0:t[this.props.id])||{}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"errors",{get:function(){var e,t;return(null===(t=null===(e=this.props.form.errors)||void 0===e?void 0:e.auth)||void 0===t?void 0:t[this.props.id])||{}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"pkceInputActionButtonProps",{get:function(){var e=this;if(void 0!==this.state.codeVerifier&&this.state.codeChallenge!==this.state.validCodeChallenge)return{label:"sync",onClick:function(){e.state.codeVerifier&&e.setState({codeChallenge:e.state.validCodeChallenge})}}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this;if(this.props.usePkce){var t=randString(43);deriveCodeChallenge(t).then((function(r){e.setState({codeVerifier:t,codeChallenge:r,validCodeChallenge:r})}))}}}),Object.defineProperty(t.prototype,"handleAuthorize",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;if(e){this.props.formApi.validate();var r=this.props,n=r.flow,o=r.usePkce,a=r.id,l=r.tokenUrl,i=r.authCorsProxyUrl,c=r.tokenEndpointAuthMethod;if(isEmptyObject(this.errors)){this.setState({loading:!0,error:null});var s=i?i+normalizeUrlProtocol(e):e,u=i&&l?i+normalizeUrlProtocol(l):l,d=this.props.formApi.getValue("auth."+a+".scopes"),p={authorizationUrl:s.startsWith("http")?s:this.props.server+s,clientId:this.values.client_id,scopes:d,redirectUri:this.context.oAuth2RedirectURI,routingBasePath:this.context.routingBasePath,successCallback:function(e){t.props.formApi.setValue("auth."+t.props.id+".token",e),t.setState({loading:!1,error:null})},errorCallback:function(e){t.setState({loading:!1,error:(null==e?void 0:e.message)||"Failed to retrieve the access token"})}};"implicit"===n&&OAuth2.authorizeImplicit(p),validateTokenEndpointMethod(c)?"authorizationCode"===n&&OAuth2.authorizeAuthorizationCode(__assign(__assign(__assign({},p),{tokenUrl:(null==u?void 0:u.startsWith("http"))?u:this.props.server+u,clientSecret:this.values.client_secret,extraHeaders:getOAuth2TokenEndpointAuthHeader({authMethod:c,clientId:this.values.client_id,clientSecret:this.values.client_secret})}),o&&{codeVerifier:this.state.codeVerifier,codeChallenge:this.state.codeChallenge})):console.log("Unsupported token endpoint auth method: "+c)}}}}),Object.defineProperty(t.prototype,"handleLogout",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.clearToken(),this.setState({error:null})}}),Object.defineProperty(t.prototype,"handleCancel",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.setState({loading:!1,error:null}),OAuth2.clearRedirectData(this.props.flow)}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=this.state,r=t.error,n=t.loading,o=this.props,a=o.id,l=o.scopes,i=o.authorizationUrl,c=o.flow,s=o.usePkce,u=o.defaultValues;if(!i)return React.createElement(FormError,null,"No flow info");var d=fromSessionStorage("auth."+a+".token")||JSON.stringify(null==u?void 0:u.token);d=d?JSON.parse(d):"";var p=getSecurityDetailsOptions(a,"client_id"),m={field:"auth."+a+".client_id",fullWidth:!0,initialValue:fromSessionStorage("auth."+a+".client_id")||this.props.clientId||(null==u?void 0:u.client_id),initValue:fromSessionStorage("auth."+a+".client_id")||this.props.clientId||(null==u?void 0:u.client_id),placeholder:"Your OAuth2 app Client ID",validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement("div",null,React.createElement(FormWrapper,null,React.createElement(FormControl,null,React.createElement(FormLabel,null," Client ID: "),p?React.createElement(FormDropdown,__assign({},m,{options:p})):React.createElement(FormTextField,__assign({},m,{"data-cy":"client-id-input",panel:"try-it"}))),"authorizationCode"===c&&React.createElement(React.Fragment,null,(!(null==s?void 0:s.hideClientSecretInput)||!s)&&React.createElement(FormControl,null,React.createElement(FormLabel,null,"Client Secret:"),React.createElement(FormTextField,{type:"password",fullWidth:!0,field:"auth."+a+".client_secret",initialValue:fromSessionStorage("auth."+a+".client_secret")||(null==u?void 0:u.client_secret),validateOnBlur:!0,validateOnChange:!0,panel:"try-it","data-cy":"client-secret-input"})),s&&!s.disableManualConfiguration&&React.createElement(PkceOptionsWrapper,null,React.createElement(Checkbox,{id:"pkce-opitons-toggle",label:"Configure PKCE manually",checked:this.state.showPkceOptions,onChange:this.togglePkceOptions,"data-cy":"pkce-options-toggle"}),this.state.showPkceOptions&&React.createElement(PkceDetails,null,React.createElement(FormControl,null,React.createElement(FormLabel,null,"Code Verifier"),React.createElement(TextField,{fullWidth:!0,value:this.state.codeVerifier,onChange:this.handleCodeVerifierChange,panel:"try-it","data-cy":"code-verifier-input"})),React.createElement(FormControl,null,React.createElement(FormLabel,null,"Code Challenge"),React.createElement(TextField,{fullWidth:!0,value:this.state.codeChallenge,onChange:function(t){var r=t.target.value;e.setState({codeChallenge:r})},inputActionButton:this.pkceInputActionButtonProps,panel:"try-it","data-cy":"code-challenge-input"}))))),React.createElement(FormTextField,{fullWidth:!0,field:"auth."+a+".token",type:"hidden",initialValue:d,panel:"try-it"}),React.createElement(Scope,{id:a,scopes:l}),this.values.token&&this.values.token.access_token?React.createElement(FormControl,null,React.createElement(FormLabel,null," Access Token: "),React.createElement(TextField,{disabled:!0,type:"password",fullWidth:!0,value:this.values.token.access_token,panel:"try-it"})):null),React.createElement(ButtonsWrapper,null,this.values.token&&this.values.token.access_token?React.createElement(Button,{fullWidth:!0,onClick:function(){e.handleLogout()}},"Log out"):n?React.createElement(React.Fragment,null,React.createElement(Button,{fullWidth:!0,onClick:function(){e.handleCancel()}},"Cancel"),React.createElement(LinearProgress,null)):React.createElement(Button,{fullWidth:!0,disabled:!isEmptyObject(this.errors),onClick:function(){e.handleAuthorize(i)}},"Authorize")),n||r||!this.values.token||!this.values.token.access_token&&React.createElement(FormWrapper,null,React.createElement(FormControl,null,n?React.createElement(FormWarning,null,"Please, finish your authorization flow or cancel authorization."):r?React.createElement(React.Fragment,null,React.createElement(OriginalErrorMessage,null,React.createElement(FormError,null,r))):this.values.token&&this.values.token.access_token?null:React.createElement(FormWarning,null," No Access Token. Please, Authorize. "))))}}),Object.defineProperty(t,"contextType",{enumerable:!0,configurable:!0,writable:!0,value:OptionsContext}),t}(React.Component);export{OAuth2Flow};var templateObject_1,templateObject_2,templateObject_3,templateObject_4,OriginalErrorMessage=styled.div(templateObject_1||(templateObject_1=__makeTemplateObject(["\n font-family: var(--font-family-monospaced);\n margin-top: 10px;\n line-height: 1;\n padding-left: 10px;\n border-left: 1px solid gray;\n"],["\n font-family: var(--font-family-monospaced);\n margin-top: 10px;\n line-height: 1;\n padding-left: 10px;\n border-left: 1px solid gray;\n"]))),ButtonsWrapper=styled.div(templateObject_2||(templateObject_2=__makeTemplateObject(["\n margin-bottom: 15px;\n"],["\n margin-bottom: 15px;\n"]))),PkceOptionsWrapper=styled.div(templateObject_3||(templateObject_3=__makeTemplateObject(["\n padding: 8px 0 20px;\n"],["\n padding: 8px 0 20px;\n"]))),PkceDetails=styled.div(templateObject_4||(templateObject_4=__makeTemplateObject(["\n padding: 4px 0;\n"],["\n padding: 4px 0;\n"])));
|
|
2
2
|
//# sourceMappingURL=OAuth2Flow.js.map
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import type { SecurityDetails } from '../../
|
|
2
|
+
import type { SecurityDetails } from '../../types';
|
|
3
3
|
export interface OAuth2TokenInputProps {
|
|
4
4
|
flow: {
|
|
5
5
|
refreshUrl?: string;
|
|
6
|
+
'x-tokenEndpointAuthMethod'?: 'none' | 'client_secret_basic' | string;
|
|
6
7
|
scopes: Record<string, string>;
|
|
7
8
|
tokenUrl: string;
|
|
8
9
|
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__assign,__awaiter,__extends,__generator}from"tslib";import*as React from"react";import{Button}from"@redocly/theme";import{FormControl,FormLabel,FormError,FormWrapper,FormHeader,TokenField,TokenValue,TokenClear,TokenShowHide}from"../common/form";import{fromSessionStorage,getSecurityDetailsOptions,toSessionStorage}from"../../utils";import{OAuth2}from"../../services/OAuth2";import{FormDropdown,FormTextField}from"../common/TextField";import Scope from"./Scope";import{normalizeUrlProtocol}from"./utils";function validateToken(e){if(!e)return"Token is required"}var OAuth2TokenInput=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"state",{enumerable:!0,configurable:!0,writable:!0,value:{error:"",loading:!1,tokenMasked:!0}}),Object.defineProperty(t,"clearToken",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.props.formApi.setValue("auth."+t.props.id+".token",""),toSessionStorage("auth."+t.props.id+".token","")}}),Object.defineProperty(t,"toggleTokenMask",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.setState({tokenMasked:!t.state.tokenMasked})}}),Object.defineProperty(t,"requestToken",{enumerable:!0,configurable:!0,writable:!0,value:function(){return __awaiter(t,void 0,void 0,(function(){var e,t,o,r,n,i,l,a=this;return __generator(this,(function(
|
|
1
|
+
import{__assign,__awaiter,__extends,__generator}from"tslib";import*as React from"react";import{Button}from"@redocly/theme";import{FormControl,FormLabel,FormError,FormWrapper,FormHeader,TokenField,TokenValue,TokenClear,TokenShowHide}from"../common/form";import{fromSessionStorage,getSecurityDetailsOptions,toSessionStorage}from"../../utils";import{OAuth2}from"../../services/OAuth2";import{FormDropdown,FormTextField}from"../common/TextField";import Scope from"./Scope";import{getOAuth2TokenEndpointAuthHeader,normalizeUrlProtocol,validateTokenEndpointMethod}from"./utils";function validateToken(e){if(!e)return"Token is required"}var OAuth2TokenInput=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"state",{enumerable:!0,configurable:!0,writable:!0,value:{error:"",loading:!1,tokenMasked:!0}}),Object.defineProperty(t,"clearToken",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.props.formApi.setValue("auth."+t.props.id+".token",""),toSessionStorage("auth."+t.props.id+".token","")}}),Object.defineProperty(t,"toggleTokenMask",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.setState({tokenMasked:!t.state.tokenMasked})}}),Object.defineProperty(t,"requestToken",{enumerable:!0,configurable:!0,writable:!0,value:function(){return __awaiter(t,void 0,void 0,(function(){var e,t,o,r,n,i,l,a,s=this;return __generator(this,(function(c){switch(c.label){case 0:return this.state.loading?[2]:(e=this.props,t=e.server,o=e.flow,r=e.authCorsProxyUrl,n=r&&o.tokenUrl?r+normalizeUrlProtocol(o.tokenUrl):o.tokenUrl,this.errors.client_id||this.errors.client_secret?(console.log("Provide client_id and client_secret"),[2]):(i=this.values.client_id,l=this.values.client_secret,i&&l?(this.setState({loading:!0}),a=o["x-tokenEndpointAuthMethod"],validateTokenEndpointMethod(a)?[4,OAuth2.authorizeClientCredentials({tokenUrl:n.startsWith("http")?n:t+n,clientId:i,clientSecret:l,scopes:this.values.scopes,extraHeaders:getOAuth2TokenEndpointAuthHeader({authMethod:a,clientId:i,clientSecret:l}),successCallback:function(e){s.props.formApi.setValue("auth."+s.props.id+".token",e),s.setState({loading:!1})},errorCallback:function(e){s.clearToken(),s.setState({error:e.message,loading:!1})}})]:(console.log("Unsupported token endpoint auth method: "+a),[2])):(console.log("Provide client_id and client_secret"),[2])));case 1:return c.sent(),[2]}}))}))}}),t}return __extends(t,e),Object.defineProperty(t.prototype,"values",{get:function(){var e,t,o;return(null===(o=null===(t=null===(e=this.props.form)||void 0===e?void 0:e.values)||void 0===t?void 0:t.auth)||void 0===o?void 0:o[this.props.id])||{}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"errors",{get:function(){var e,t;return(null===(t=null===(e=this.props.form.errors)||void 0===e?void 0:e.auth)||void 0===t?void 0:t[this.props.id])||{}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.state,t=e.loading,o=e.error,r=e.tokenMasked,n=this.props,i=n.id,l=n.defaultValues,a=Object.keys(this.props.flow.scopes),s=fromSessionStorage("auth."+i+".token")||JSON.stringify(null==l?void 0:l.token);s=s?JSON.parse(s):"";var c=getSecurityDetailsOptions(i,"client_id"),u={field:"auth."+i+".client_id",fullWidth:!0,initialValue:fromSessionStorage("auth."+i+".client_id")||this.props.clientId||(null==l?void 0:l.client_id),initValue:fromSessionStorage("auth."+i+".client_id")||this.props.clientId||(null==l?void 0:l.client_id),placeholder:"Your OAuth2 app Client ID"};return React.createElement(React.Fragment,null,React.createElement(FormWrapper,null,React.createElement(FormControl,null,React.createElement(FormLabel,null,"Client ID:"),c?React.createElement(FormDropdown,__assign({},u,{options:c})):React.createElement(FormTextField,__assign({},u,{type:"password",panel:"try-it"}))),React.createElement(FormControl,null,React.createElement(FormLabel,null,"Client Secret:"),React.createElement(FormTextField,{type:"password",fullWidth:!0,field:"auth."+i+".client_secret",initialValue:fromSessionStorage("auth."+i+".client_secret")||(null==l?void 0:l.client_secret),panel:"try-it"})),React.createElement(FormTextField,{fullWidth:!0,field:"auth."+i+".token",type:"hidden",initialValue:s,validate:validateToken}),React.createElement(Scope,{id:i,scopes:a})),React.createElement(Button,{color:"primary",onClick:this.requestToken,blinking:t},t?"Loading...":"Request Token"),React.createElement(FormHeader,null," Access Token "),o?React.createElement(FormError,{style:{marginBottom:"1em"}},"Failed to request token: ",React.createElement("pre",null,o)," "):this.values.token&&this.values.token.access_token?React.createElement(TokenField,null,React.createElement(TokenValue,{length:this.values.token.access_token.length,masked:r},this.values.token.access_token),React.createElement(TokenShowHide,{onClick:this.toggleTokenMask},r?"Show":"Hide"," "),React.createElement(TokenClear,{onClick:this.clearToken}," Clear ")):React.createElement(FormError,{style:{marginBottom:"1em"}},"No token"))}}),t}(React.Component);export{OAuth2TokenInput};export default OAuth2TokenInput;
|
|
2
2
|
//# sourceMappingURL=OAuth2TokenInput.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import type { FormApi, FormState } from 'informed';
|
|
3
3
|
import type { SecurityScheme } from '../../redoc-lib';
|
|
4
|
-
import type { SecurityDetails } from '../../
|
|
4
|
+
import type { SecurityDetails } from '../../types';
|
|
5
5
|
export interface OpenIDConnectProps {
|
|
6
6
|
server: string;
|
|
7
7
|
authCorsProxyUrl: Maybe<string>;
|
|
@@ -13,3 +13,6 @@ export interface OpenIDConnectProps {
|
|
|
13
13
|
defaultValues?: SecurityDetails;
|
|
14
14
|
}
|
|
15
15
|
export declare function OpenIDConnect(props: OpenIDConnectProps): JSX.Element;
|
|
16
|
+
export declare function Error({ message }: {
|
|
17
|
+
message: string;
|
|
18
|
+
}): JSX.Element;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__awaiter,__generator
|
|
1
|
+
import{__awaiter,__generator}from"tslib";import React,{useState,useEffect}from"react";import{discoverOpenIDConnect}from"../../services/OpenIDConnect";import{LinearProgress}from"../common/LinearProgress";import{FormError}from"../common/form";import{OAuth2Flow}from"./OAuth2Flow";import{FlowName}from"./styled";export function OpenIDConnect(e){var t,r,o=this,n=e.scheme,a=e.defaultValues,l=useState({}),i=l[0],c=l[1],u=useState(),s=u[0],m=u[1],d=useState(!1),p=d[0],f=d[1];useEffect((function(){v(n.openIdConnectUrl)}),[n.openIdConnectUrl]);var v=function(e){return __awaiter(o,void 0,void 0,(function(){var t,r;return __generator(this,(function(o){switch(o.label){case 0:f(!0),m(""),o.label=1;case 1:return o.trys.push([1,3,,4]),[4,discoverOpenIDConnect(e)];case 2:return t=o.sent(),c(t),[3,4];case 3:return r=o.sent(),m(r.message),[3,4];case 4:return f(!1),[2]}}))}))};return p?React.createElement(Loading,null):s?React.createElement(Error,{message:s}):React.createElement("div",null,React.createElement("div",null,(null===(t=null==i?void 0:i.response_types_supported)||void 0===t?void 0:t.includes("token"))?React.createElement(React.Fragment,null,React.createElement(FlowName,null,"OAuth2 Implicit Flow"),React.createElement(OAuth2Flow,{key:e.id,authorizationUrl:i.authorization_endpoint,authCorsProxyUrl:e.authCorsProxyUrl,scopes:i.scopes_supported,server:e.server,id:e.id,form:e.form,formApi:e.formApi,clientId:e.clientId,flow:"implicit",defaultValues:a})):(null===(r=null==i?void 0:i.response_types_supported)||void 0===r?void 0:r.includes("code"))?React.createElement(React.Fragment,null,React.createElement(FlowName,null,"OAuth2 Authorization Flow"),React.createElement(OAuth2Flow,{key:e.id,authorizationUrl:i.authorization_endpoint,tokenUrl:i.token_endpoint,authCorsProxyUrl:e.authCorsProxyUrl,scopes:i.scopes_supported,server:e.server,id:e.id,form:e.form,formApi:e.formApi,clientId:e.clientId,tokenEndpointAuthMethod:null==i?void 0:i.token_endpoint_auth_methods_supported,flow:"authorizationCode",defaultValues:a})):React.createElement("div",null,"Unsupported flow")))}function Loading(){return React.createElement("div",null,React.createElement("div",null,React.createElement("div",null,"Fetching OpenID Connect metadata..."),React.createElement(LinearProgress,null)))}export function Error(e){var t=e.message;return React.createElement("div",null,React.createElement("div",null,React.createElement(FormError,null,t)))}
|
|
2
2
|
//# sourceMappingURL=OpenIDConnect.js.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { FieldModel } from '../../redoc-lib';
|
|
3
|
+
interface ParameterArrayProps {
|
|
4
|
+
name: string;
|
|
5
|
+
param: FieldModel;
|
|
6
|
+
place: string;
|
|
7
|
+
renderParameter: any;
|
|
8
|
+
}
|
|
9
|
+
export declare const ParameterArray: ({ name, param, place, renderParameter, }: ParameterArrayProps) => JSX.Element;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{__makeTemplateObject,__spreadArray}from"tslib";import*as React from"react";import styled from"styled-components";import{FormLabel}from"../common/form";export var ParameterArray=function(e){var n,t,r,a,o,l=e.name,i=e.param,c=e.place,m=e.renderParameter,s=React.useState([]),d=s[0],p=s[1],u=(null===(n=i.schema.items)||void 0===n?void 0:n.fields)?null===(t=i.schema.items)||void 0===t?void 0:t.fields:[{schema:(null===(r=i.schema.items)||void 0===r?void 0:r.schema)||i.schema.items,name:"",required:i.required,description:null===(a=i.schema.items)||void 0===a?void 0:a.description,externalDocs:null===(o=i.schema.items)||void 0===o?void 0:o.externalDocs,deprecated:!1,toggle:function(){return null},expanded:!1}];return React.createElement(React.Fragment,null,React.createElement(Row,null,React.createElement(FormLabel,{required:i.required},l,"(",d.length," items)"),React.createElement("span",{onClick:function(){p(__spreadArray(__spreadArray([],d,!0),[d.length?d[d.length-1]+1:0],!1))}},"Add item +")),null==d?void 0:d.map((function(e,n){return React.createElement(Row,{key:e},React.createElement(Delete,{onClick:function(){return n=e,void p(d.filter((function(e){return e!==n})));var n}},"delete"),u.map((function(t){return m(t,c,l+".["+e+"]","["+n+"]"+(t.name&&"."+t.name))})))})))};var templateObject_1,templateObject_2,Row=styled.div(templateObject_1||(templateObject_1=__makeTemplateObject(["\n display: flex;\n width: 100%;\n align-items: center;\n justify-content: space-between;\n flex-wrap: wrap;\n margin-bottom: 10px;\n label {\n padding-bottom: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n line-height: 1.5;\n }\n span {\n cursor: pointer;\n margin-left: auto;\n color: var(--color-content-secondary);\n &:hover {\n color: #fff;\n }\n }\n"],["\n display: flex;\n width: 100%;\n align-items: center;\n justify-content: space-between;\n flex-wrap: wrap;\n margin-bottom: 10px;\n label {\n padding-bottom: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n line-height: 1.5;\n }\n span {\n cursor: pointer;\n margin-left: auto;\n color: var(--color-content-secondary);\n &:hover {\n color: #fff;\n }\n }\n"]))),Delete=styled.span(templateObject_2||(templateObject_2=__makeTemplateObject(["\n background: transparent;\n border: none;\n cursor: pointer;\n position: relative;\n"],["\n background: transparent;\n border: none;\n cursor: pointer;\n position: relative;\n"])));
|
|
2
|
+
//# sourceMappingURL=ParameterArray.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{__assign}from"tslib";import React,{memo,useCallback,useEffect}from"react";import{observer}from"mobx-react";import merge from"deepmerge";import{DropdownOrLabel,MediaTypesSwitch}from"../../../redoc-lib";import{ExampleSwitch,useExampleKey}from"../../Samples";import{arrayMergeStrategy}from"../../../services/utils";import{isRootFileUpload}from"../../common/FileUpload/helper";import{MediaTypes}from"../../../types";import{Dropdown}from"../../common/Dropdown";import{RequestBodyForm}from"../RequestBodyForm";import{RequestMimeLabel}from"../RequestMimeLabel";import CodemirrorInput from"../CodemirrorInput";import{encodeSample}from"../utils";import{fromSessionStorage,toSessionStorage}from"../../../utils";var RequestBodyComponent=observer((function(e){var o,r=e.body,t=e.formApi,a=e.resolvedBody,n=e.properties,i=e.id,m=e.validate,l=r.content,p=function(e){var o;if(!l||!l.hasSample)return"";var r=null===(o=l.active)||void 0===o?void 0:o.examples;if(!(null==r?void 0:r[e]))return"";var t=null==r?void 0:r[e].value,a=n?merge(t,n,{arrayMerge:arrayMergeStrategy}):t;return JSON.stringify(a,null,2)},s=null===(o=null==l?void 0:l.operation)||void 0===o?void 0:o.activeExampleName,d=function(e){var o;null===(o=null==l?void 0:l.operation)||void 0===o||o.activateExampleName(e),t.setValue("body",p(e))},u=function(e,o){(0,t.setValue)("body."+e,o)};useEffect((function(){!1!==s?t.setValue("body",fromSessionStorage(i+"_"+(s||""))||p(s||"")):t.setValue("body",JSON.stringify(n||{},null,2))}),[s]);var c=useCallback((function(e){return function(o){toSessionStorage(i+"_"+e,o)}}),[i]);return React.createElement(React.Fragment,null,React.createElement(MediaTypesSwitch,{content:r.content,renderDropdown:function(e){return React.createElement(DropdownOrLabel,__assign({},e,{variant:"dark",fullWidth:!0,Label:RequestMimeLabel,Dropdown:Dropdown}))}},(function(e){var o=e.examples||{},r=Object.keys(o),l=e.schema,p=isRootFileUpload(l||{},e.name)||e.name===MediaTypes.MULTIPART||e.name===MediaTypes.URL_ENCODED,s=useExampleKey(e.operation,o).exampleKey,f=fromSessionStorage(i+"_"+s)||encodeSample(o[s],n);return React.createElement(React.Fragment,null,r.length&&1!==r.length&&React.createElement(ExampleSwitch,{examples:o,onChange:d,exampleKey:s,panel:"try-it"})||null,p?React.createElement(RequestBodyForm,{mediaType:e,formApi:t,onChange:u}):React.createElement(CodemirrorInput,{id:"body"+i,field:"body",initialValue:f,schema:((null==a?void 0:a.content[e.name])||{}).schema,mode:e.name,validate:m,onChange:c(s)}))})))}));export var RequestBody=memo(RequestBodyComponent);
|
|
2
|
+
//# sourceMappingURL=RequestBody.js.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { FormApi } from 'informed';
|
|
2
|
+
import type { RequestBodyModel, OpenAPIRequestBody } from '../../../redoc-lib';
|
|
3
|
+
export interface RequestBodyProps {
|
|
4
|
+
body: RequestBodyModel;
|
|
5
|
+
resolvedBody: OpenAPIRequestBody;
|
|
6
|
+
validate: () => string | undefined;
|
|
7
|
+
formApi: FormApi;
|
|
8
|
+
id: string;
|
|
9
|
+
properties: any;
|
|
10
|
+
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
2
|
import type { FormApi } from 'informed';
|
|
3
3
|
import type { FieldModel, MediaTypeModel } from '../../redoc-lib';
|
|
4
|
+
import type { UploadFileType } from '../../models';
|
|
4
5
|
export declare const RequestBodyForm: (props: {
|
|
5
6
|
mediaType: MediaTypeModel;
|
|
6
|
-
onChange:
|
|
7
|
+
onChange(key: string, file: UploadFileType): void;
|
|
7
8
|
formApi?: FormApi<import("informed").FormValues> | undefined;
|
|
8
9
|
}) => JSX.Element | null;
|
|
9
10
|
export declare function getRequestBodyFormFields(mediaType: MediaTypeModel): FieldModel[];
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{__assign,__makeTemplateObject}from"tslib";import React,{useState}from"react";import{observer}from"mobx-react";import styled from"styled-components";import{fromSessionStorage,toSessionStorage}from"../../../utils";import{FormControl,FormLabel}from"../../common/form";import{expandDefaultServerVariables,expandVariables,getServerWithVariables,getDefaultOrStoredVariables,updateVariablesStorage}from"../utils";import ServerVariable from"../ServerVariable";import{useMount}from"../../../hooks";import{TryItDropdown}from"../styled";export var ServersDropdown=observer((function(e){var r=e.operation,t=e.onChange,a=fromSessionStorage("serverUrl"),o=r.servers.findIndex((function(e){return e.url===a})),n=useState(o<0?0:o),s=n[0],l=n[1],i=useState({}),m=i[0],u=i[1];useMount((function(){var e=getServerWithVariables(r.servers,s);t(e),u(e.variables)}));var v=r.servers.map((function(e,r){return{idx:r,serverUrl:e.url,value:"\n "+expandDefaultServerVariables(expandVariables(e.url,m),e.variables)+"\n - "+(e.description||"Default")+"\n "}})),p=Object.keys(m);return React.createElement(ServerDropdownWrap,{"data-cy":"console-target-server"},React.createElement(FormLabel,{htmlFor:"server"},"Target server: "),React.createElement(FormControl,null,React.createElement(TryItDropdown,{variant:"dark",value:v[s].value,options:v,fullWidth:!0,onChange:function(e){var a=r.servers.find((function(r){return r.url===e.serverUrl})),o=r.servers.findIndex((function(r){return r.url===e.serverUrl})),n=getDefaultOrStoredVariables(a);t({url:e.serverUrl||"",variables:n}),toSessionStorage("serverUrl",e.serverUrl||""),l(o),u(n)}})),null==p?void 0:p.map((function(e){var a,o=null===(a=r.servers[s].variables)||void 0===a?void 0:a[e];if(o)return React.createElement(ServerVariable,{key:e,name:e,value:m[e],defaultValue:o.default,onChange:function(a){return function(e,a){var o,n=r.servers[s],l=a||""===a?a:getDefaultOrStoredVariables(n)[e],i=__assign(__assign({},m),((o={})[e]=l,o));u(i),updateVariablesStorage(e,l),t(__assign(__assign({},n),{variables:i}))}(e,a)},variableEnum:o.enum,description:o.description})})))}));var templateObject_1,ServerDropdownWrap=styled.div(templateObject_1||(templateObject_1=__makeTemplateObject(["\n margin-bottom: 20px;\n"],["\n margin-bottom: 20px;\n"])));
|
|
2
|
+
//# sourceMappingURL=ServersDropdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ServersDropdown } from './ServersDropdown';
|
|
@@ -18,3 +18,4 @@ export declare const PanelPreCodeBlock: import("styled-components").StyledCompon
|
|
|
18
18
|
'data-component-name': string;
|
|
19
19
|
}, "data-component-name">;
|
|
20
20
|
export declare const ResponseHeader: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
21
|
+
export declare const FlowName: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__makeTemplateObject}from"tslib";import styled,{css,keyframes}from"styled-components";import{PreformattedCodeBlock}from"@redocly/theme";import{Dropdown}from"../common/Dropdown";var shake=keyframes(templateObject_1||(templateObject_1=__makeTemplateObject(["\n 10%, 90% {\n transform: translate3d(-1px, 0, 0);\n }\n\n 20%, 80% {\n transform: translate3d(2px, 0, 0);\n }\n\n 30%, 50%, 70% {\n transform: translate3d(-4px, 0, 0);\n }\n\n 40%, 60% {\n transform: translate3d(4px, 0, 0);\n }\n"],["\n 10%, 90% {\n transform: translate3d(-1px, 0, 0);\n }\n\n 20%, 80% {\n transform: translate3d(2px, 0, 0);\n }\n\n 30%, 50%, 70% {\n transform: translate3d(-4px, 0, 0);\n }\n\n 40%, 60% {\n transform: translate3d(4px, 0, 0);\n }\n"])));export var blink=keyframes(templateObject_2||(templateObject_2=__makeTemplateObject(["\n 0% {\n background-color: #007abf;\n }\n\n 50% {\n background-color: #59C3FF;\n }\n\n 100% {\n background-color: #007abf;\n }\n"],["\n 0% {\n background-color: #007abf;\n }\n\n 50% {\n background-color: #59C3FF;\n }\n\n 100% {\n background-color: #007abf;\n }\n"])));var templateObject_1,templateObject_2,templateObject_3,templateObject_4,templateObject_5,templateObject_6,templateObject_7,templateObject_8,templateObject_9,templateObject_10,shakeAnimation=css(templateObject_3||(templateObject_3=__makeTemplateObject(["\n animation: "," 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;\n"],["\n animation: "," 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;\n"])),shake);export var ConsoleWrap=styled.div(templateObject_4||(templateObject_4=__makeTemplateObject(["\n background-color: var(--samples-panel-background-color);\n color: var(--color-content-inverse);\n font-family: var(--code-font-family);\n border-radius: var(--panels-border-radius);\n overflow: hidden;\n z-index: 10;\n display: flex;\n flex-direction: column;\n max-height: calc(85vh - ","px);\n margin-bottom: 10px;\n ",";\n > div:last-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n"],["\n background-color: var(--samples-panel-background-color);\n color: var(--color-content-inverse);\n font-family: var(--code-font-family);\n border-radius: var(--panels-border-radius);\n overflow: hidden;\n z-index: 10;\n display: flex;\n flex-direction: column;\n max-height: calc(85vh - ","px);\n margin-bottom: 10px;\n ",";\n > div:last-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n"])),(function(n){var e=n.scrollYOffset;return e?e():0}),(function(n){return n.shaking&&shakeAnimation}));export var ConsoleBody=styled.div(templateObject_5||(templateObject_5=__makeTemplateObject(["\n flex: 1;\n padding: 20px 20px 15px;\n overflow: auto;\n display: ",";\n flex-direction: column;\n position: relative;\n background-color: var(--samples-panel-background-color);\n"],["\n flex: 1;\n padding: 20px 20px 15px;\n overflow: auto;\n display: ",";\n flex-direction: column;\n position: relative;\n background-color: var(--samples-panel-background-color);\n"])),(function(n){return n.hidden?"none":"flex"}));export var CloseButton=styled.span(templateObject_6||(templateObject_6=__makeTemplateObject(["\n cursor: pointer;\n font-size: 24px;\n font-weight: bold;\n color: var(--color-content-inverse);\n"],["\n cursor: pointer;\n font-size: 24px;\n font-weight: bold;\n color: var(--color-content-inverse);\n"])));export var invertedInputStyles=css(templateObject_7||(templateObject_7=__makeTemplateObject(["\n border: none;\n outline: none;\n padding: 8px;\n border-radius: var(--global-border-radius);\n background-color: var(--samples-panel-controls-background-color);\n color: var(--color-content-inverse);\n font-family: var(--code-font-family);\n font-size: var(--font-size-base);\n\n &::placeholder {\n opacity: 0.6;\n color: var(--color-content-inverse);\n }\n\n &:-webkit-autofill {\n background-color: var(--samples-panel-background-color);\n }\n"],["\n border: none;\n outline: none;\n padding: 8px;\n border-radius: var(--global-border-radius);\n background-color: var(--samples-panel-controls-background-color);\n color: var(--color-content-inverse);\n font-family: var(--code-font-family);\n font-size: var(--font-size-base);\n\n &::placeholder {\n opacity: 0.6;\n color: var(--color-content-inverse);\n }\n\n &:-webkit-autofill {\n background-color: var(--samples-panel-background-color);\n }\n"])));export var TryItDropdown=styled(Dropdown)(templateObject_8||(templateObject_8=__makeTemplateObject(["\n .dropdown-select,\n label {\n background-color: var(--try-it-panel-controls-background-color);\n border-color: var(--try-it-panel-controls-background-color);\n }\n"],["\n .dropdown-select,\n label {\n background-color: var(--try-it-panel-controls-background-color);\n border-color: var(--try-it-panel-controls-background-color);\n }\n"])));export var PanelPreCodeBlock=styled(PreformattedCodeBlock)(templateObject_9||(templateObject_9=__makeTemplateObject(["\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n"],["\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n"])));export var ResponseHeader=styled.div(templateObject_10||(templateObject_10=__makeTemplateObject(["\n margin-bottom: 10px;\n\n &:not(:first-child) {\n margin-top: 10px;\n }\n"],["\n margin-bottom: 10px;\n\n &:not(:first-child) {\n margin-top: 10px;\n }\n"])));
|
|
1
|
+
import{__makeTemplateObject}from"tslib";import styled,{css,keyframes}from"styled-components";import{PreformattedCodeBlock}from"@redocly/theme";import{Dropdown}from"../common/Dropdown";var shake=keyframes(templateObject_1||(templateObject_1=__makeTemplateObject(["\n 10%, 90% {\n transform: translate3d(-1px, 0, 0);\n }\n\n 20%, 80% {\n transform: translate3d(2px, 0, 0);\n }\n\n 30%, 50%, 70% {\n transform: translate3d(-4px, 0, 0);\n }\n\n 40%, 60% {\n transform: translate3d(4px, 0, 0);\n }\n"],["\n 10%, 90% {\n transform: translate3d(-1px, 0, 0);\n }\n\n 20%, 80% {\n transform: translate3d(2px, 0, 0);\n }\n\n 30%, 50%, 70% {\n transform: translate3d(-4px, 0, 0);\n }\n\n 40%, 60% {\n transform: translate3d(4px, 0, 0);\n }\n"])));export var blink=keyframes(templateObject_2||(templateObject_2=__makeTemplateObject(["\n 0% {\n background-color: #007abf;\n }\n\n 50% {\n background-color: #59C3FF;\n }\n\n 100% {\n background-color: #007abf;\n }\n"],["\n 0% {\n background-color: #007abf;\n }\n\n 50% {\n background-color: #59C3FF;\n }\n\n 100% {\n background-color: #007abf;\n }\n"])));var templateObject_1,templateObject_2,templateObject_3,templateObject_4,templateObject_5,templateObject_6,templateObject_7,templateObject_8,templateObject_9,templateObject_10,templateObject_11,shakeAnimation=css(templateObject_3||(templateObject_3=__makeTemplateObject(["\n animation: "," 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;\n"],["\n animation: "," 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;\n"])),shake);export var ConsoleWrap=styled.div(templateObject_4||(templateObject_4=__makeTemplateObject(["\n background-color: var(--samples-panel-background-color);\n color: var(--color-content-inverse);\n font-family: var(--code-font-family);\n border-radius: var(--panels-border-radius);\n overflow: hidden;\n z-index: 10;\n display: flex;\n flex-direction: column;\n max-height: calc(85vh - ","px);\n margin-bottom: 10px;\n ",";\n > div:last-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n"],["\n background-color: var(--samples-panel-background-color);\n color: var(--color-content-inverse);\n font-family: var(--code-font-family);\n border-radius: var(--panels-border-radius);\n overflow: hidden;\n z-index: 10;\n display: flex;\n flex-direction: column;\n max-height: calc(85vh - ","px);\n margin-bottom: 10px;\n ",";\n > div:last-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n"])),(function(n){var e=n.scrollYOffset;return e?e():0}),(function(n){return n.shaking&&shakeAnimation}));export var ConsoleBody=styled.div(templateObject_5||(templateObject_5=__makeTemplateObject(["\n flex: 1;\n padding: 20px 20px 15px;\n overflow: auto;\n display: ",";\n flex-direction: column;\n position: relative;\n background-color: var(--samples-panel-background-color);\n"],["\n flex: 1;\n padding: 20px 20px 15px;\n overflow: auto;\n display: ",";\n flex-direction: column;\n position: relative;\n background-color: var(--samples-panel-background-color);\n"])),(function(n){return n.hidden?"none":"flex"}));export var CloseButton=styled.span(templateObject_6||(templateObject_6=__makeTemplateObject(["\n cursor: pointer;\n font-size: 24px;\n font-weight: bold;\n color: var(--color-content-inverse);\n"],["\n cursor: pointer;\n font-size: 24px;\n font-weight: bold;\n color: var(--color-content-inverse);\n"])));export var invertedInputStyles=css(templateObject_7||(templateObject_7=__makeTemplateObject(["\n border: none;\n outline: none;\n padding: 8px;\n border-radius: var(--global-border-radius);\n background-color: var(--samples-panel-controls-background-color);\n color: var(--color-content-inverse);\n font-family: var(--code-font-family);\n font-size: var(--font-size-base);\n\n &::placeholder {\n opacity: 0.6;\n color: var(--color-content-inverse);\n }\n\n &:-webkit-autofill {\n background-color: var(--samples-panel-background-color);\n }\n"],["\n border: none;\n outline: none;\n padding: 8px;\n border-radius: var(--global-border-radius);\n background-color: var(--samples-panel-controls-background-color);\n color: var(--color-content-inverse);\n font-family: var(--code-font-family);\n font-size: var(--font-size-base);\n\n &::placeholder {\n opacity: 0.6;\n color: var(--color-content-inverse);\n }\n\n &:-webkit-autofill {\n background-color: var(--samples-panel-background-color);\n }\n"])));export var TryItDropdown=styled(Dropdown)(templateObject_8||(templateObject_8=__makeTemplateObject(["\n .dropdown-select,\n label {\n background-color: var(--try-it-panel-controls-background-color);\n border-color: var(--try-it-panel-controls-background-color);\n }\n"],["\n .dropdown-select,\n label {\n background-color: var(--try-it-panel-controls-background-color);\n border-color: var(--try-it-panel-controls-background-color);\n }\n"])));export var PanelPreCodeBlock=styled(PreformattedCodeBlock)(templateObject_9||(templateObject_9=__makeTemplateObject(["\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n"],["\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n"])));export var ResponseHeader=styled.div(templateObject_10||(templateObject_10=__makeTemplateObject(["\n margin-bottom: 10px;\n\n &:not(:first-child) {\n margin-top: 10px;\n }\n"],["\n margin-bottom: 10px;\n\n &:not(:first-child) {\n margin-top: 10px;\n }\n"])));export var FlowName=styled.div(templateObject_11||(templateObject_11=__makeTemplateObject(["\n margin-top: 5px;\n margin-bottom: 10px;\n"],["\n margin-top: 5px;\n margin-bottom: 10px;\n"])));
|
|
2
2
|
//# sourceMappingURL=styled.js.map
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type { FieldModel, OpenAPIServer, SecurityScheme, Server, ServerVariables, OperationModel } from '../../redoc-lib';
|
|
1
|
+
import type { FieldModel, OpenAPIServer, SecurityScheme, Server, ServerVariables, OperationModel, ExampleModel } from '../../redoc-lib';
|
|
2
2
|
import type { RedocProNormalizedOptions } from '../../services';
|
|
3
|
+
import type { RequestBodyProps } from './RequestBody';
|
|
3
4
|
export declare function normalizeUrlProtocol(url: string): string;
|
|
4
5
|
export declare function updateStorage(state: GenericObject): void;
|
|
5
6
|
export declare const getParameters: (parameters: FieldModel[], type: string) => GenericObject;
|
|
@@ -14,3 +15,10 @@ export declare function getFileNameFromHeaders(headers: Record<string, string>):
|
|
|
14
15
|
export declare const makeRequestInterceptor: ({ requestInterceptor, sendXUserAgentInTryIt, disableTryItRequestUrlEncoding, }: Pick<RedocProNormalizedOptions, 'requestInterceptor' | 'sendXUserAgentInTryIt' | 'disableTryItRequestUrlEncoding'>, operation: OperationModel, securitySchemaAuth?: string | undefined) => (req: Request) => void | Request;
|
|
15
16
|
export declare function requiredValidator(value: unknown): string | undefined;
|
|
16
17
|
export declare function fromCookie(scheme: SecurityScheme): string | undefined;
|
|
18
|
+
export declare const validateTokenEndpointMethod: (token: string[] | string | undefined) => boolean;
|
|
19
|
+
export declare const getOAuth2TokenEndpointAuthHeader: ({ authMethod, clientId, clientSecret, }: {
|
|
20
|
+
authMethod?: string | string[] | undefined;
|
|
21
|
+
clientId: string;
|
|
22
|
+
clientSecret: string;
|
|
23
|
+
}) => Record<'Authorization', string> | GenericObject;
|
|
24
|
+
export declare function encodeSample(sample: ExampleModel, properties: RequestBodyProps['properties']): string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__assign}from"tslib";import{fromSessionStorage,getParameterValue,setParameterValue,setSecurityDetails,toSessionStorage,unescapeFormId}from"../../utils";export function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}export function updateStorage(e){if(e.values.auth)for(var r=0,t=Object.keys(e.values.auth);r<t.length;r++){var a=t[r],n=e.values.auth[a];setSecurityDetails(a,n)}updateParameterStorage(e)}function updateParameterStorage(e){for(var r,t=0,a=["path","query","header","cookie"];t<a.length;t++){var n=a[t];if(null===(r=e.values)||void 0===r?void 0:r[n])for(var i=0,o=Object.keys(e.values[n]);i<o.length;i++){var u=o[i];setParameterValue(n,u,e.values[n][u])}}}export var getParameters=function(e,r){return e.filter((function(e){return e.in===r})).reduce((function(e,r){var t=r.in,a=r.name;return e[a]=getParameterValue(t||"",a),e}),{})};var pathTemplateRegExp=/(?:{)(\w+)(?:})/g;export function getServerWithVariables(e,r){void 0===r&&(r=0);var t=e[r],a=getDefaultOrStoredVariables(t);return __assign(__assign({},t),{variables:a})}export function getInitialServerWithVariables(e){var r=fromSessionStorage("serverUrl"),t=e.find((function(e){return e.url===r}))||e[0],a=getDefaultOrStoredVariables(t);return __assign(__assign({},t),{variables:a})}export function expandVariables(e,r){return void 0===r&&(r={}),e.replace(pathTemplateRegExp,(function(e,t){return r[t]||e}))}export function expandDefaultServerVariables(e,r){return void 0===r&&(r={}),e.replace(pathTemplateRegExp,(function(e,t){return r[t]&&r[t].default||e}))}export function getDefaultOrStoredVariables(e){if(!(null==e?void 0:e.variables))return{};var r=fromSessionStorage("variables"),t=r&&JSON.parse(r)||{},a={};return Object.entries(e.variables||{}).forEach((function(e){var r=e[0],n=e[1];a[r]=t[r]||n.default||""})),a}export function updateVariablesStorage(e,r){var t,a=fromSessionStorage("variables"),n=a&&JSON.parse(a)||{};toSessionStorage("variables",JSON.stringify(__assign(__assign({},n),((t={})[e]=r,t))))}export function unescapeQueryParams(e){return Object.entries(e).reduce((function(e,r){var t=r[0],a=r[1];return e[unescapeFormId(t)]=a,e}),{})}export function getFileNameFromHeaders(e){for(var r="filename=",t=0,a=Object.entries(e);t<a.length;t++){var n=a[t],i=n[0],o=n[1];if("content-disposition"===i.toLowerCase()){var u=o.split(";").find((function(e){return e.trim().startsWith(r)}));if(u)return u.split(r)[1]}}return""}export var makeRequestInterceptor=function(e,r,t){var a=e.requestInterceptor,n=e.sendXUserAgentInTryIt,i=e.disableTryItRequestUrlEncoding;return function(e){var o,u,s,l;i&&(e=__assign(__assign({},e),{url:decodeURIComponent(e.url)})),n&&(e.headers["X-User-Agent"]="Redocly Try it API console");var
|
|
1
|
+
import{__assign}from"tslib";import merge from"deepmerge";import{MediaTypes}from"../../types";import{arrayMergeStrategy}from"../../services/utils";import{fromSessionStorage,getParameterValue,setParameterValue,setSecurityDetails,toSessionStorage,unescapeFormId}from"../../utils";export function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}export function updateStorage(e){if(e.values.auth)for(var r=0,t=Object.keys(e.values.auth);r<t.length;r++){var a=t[r],n=e.values.auth[a];setSecurityDetails(a,n)}updateParameterStorage(e)}function updateParameterStorage(e){for(var r,t=0,a=["path","query","header","cookie"];t<a.length;t++){var n=a[t];if(null===(r=e.values)||void 0===r?void 0:r[n])for(var i=0,o=Object.keys(e.values[n]);i<o.length;i++){var u=o[i];setParameterValue(n,u,e.values[n][u])}}}export var getParameters=function(e,r){return e.filter((function(e){return e.in===r})).reduce((function(e,r){var t=r.in,a=r.name;return e[a]=getParameterValue(t||"",a),e}),{})};var pathTemplateRegExp=/(?:{)(\w+)(?:})/g;export function getServerWithVariables(e,r){void 0===r&&(r=0);var t=e[r],a=getDefaultOrStoredVariables(t);return __assign(__assign({},t),{variables:a})}export function getInitialServerWithVariables(e){var r=fromSessionStorage("serverUrl"),t=e.find((function(e){return e.url===r}))||e[0],a=getDefaultOrStoredVariables(t);return __assign(__assign({},t),{variables:a})}export function expandVariables(e,r){return void 0===r&&(r={}),e.replace(pathTemplateRegExp,(function(e,t){return r[t]||e}))}export function expandDefaultServerVariables(e,r){return void 0===r&&(r={}),e.replace(pathTemplateRegExp,(function(e,t){return r[t]&&r[t].default||e}))}export function getDefaultOrStoredVariables(e){if(!(null==e?void 0:e.variables))return{};var r=fromSessionStorage("variables"),t=r&&JSON.parse(r)||{},a={};return Object.entries(e.variables||{}).forEach((function(e){var r=e[0],n=e[1];a[r]=t[r]||n.default||""})),a}export function updateVariablesStorage(e,r){var t,a=fromSessionStorage("variables"),n=a&&JSON.parse(a)||{};toSessionStorage("variables",JSON.stringify(__assign(__assign({},n),((t={})[e]=r,t))))}export function unescapeQueryParams(e){return Object.entries(e).reduce((function(e,r){var t=r[0],a=r[1];return e[unescapeFormId(t)]=a,e}),{})}export function getFileNameFromHeaders(e){for(var r="filename=",t=0,a=Object.entries(e);t<a.length;t++){var n=a[t],i=n[0],o=n[1];if("content-disposition"===i.toLowerCase()){var u=o.split(";").find((function(e){return e.trim().startsWith(r)}));if(u)return u.split(r)[1]}}return""}export var makeRequestInterceptor=function(e,r,t){var a=e.requestInterceptor,n=e.sendXUserAgentInTryIt,i=e.disableTryItRequestUrlEncoding;return function(e){var o,u,s,l;i&&(e=__assign(__assign({},e),{url:decodeURIComponent(e.url)})),n&&(e.headers["X-User-Agent"]="Redocly Try it API console");var c=(null===(u=null===(o=null==r?void 0:r.requestValues)||void 0===o?void 0:o.header)||void 0===u?void 0:u.authorization)||(null===(l=null===(s=null==r?void 0:r.requestValues)||void 0===s?void 0:s.header)||void 0===l?void 0:l.Authorization);return!t&&c&&(e.headers.Authorization=c),a?a(e,r):e}};export function requiredValidator(e){if(!e)return"Field is required"}var getCookie=function(e){var r=document.cookie.match("\\b"+e+"=([^;]*)\\b");return r?r[1]:void 0};export function fromCookie(e){if("cookie"===e.in)return getCookie(e.name||"")}export var validateTokenEndpointMethod=function(e){if(!e)return!0;var r=Array.isArray(e)?e:[e];return!(r.length&&!r.includes("none")&&!r.includes("client_secret_basic"))};export var getOAuth2TokenEndpointAuthHeader=function(e){var r=e.authMethod,t=e.clientId,a=e.clientSecret;return"client_secret_basic"===r||Array.isArray(r)&&r.includes("client_secret_basic")?{Authorization:"Basic "+btoa(t+":"+a)}:{}};export function encodeSample(e,r){if(!e)return"";if(e.mime===MediaTypes.URL_ENCODED)return e.value;var t=e.value,a=r?merge(t,r,{arrayMerge:arrayMergeStrategy}):t;return JSON.stringify(a,null,2)}
|
|
2
2
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from './NextSectionButton';
|
|
2
2
|
export * from './StoreProvider';
|
|
3
3
|
export * from './RedoclyReferenceDocs';
|
|
4
|
+
export * from './RedoclyReferenceDocsMultiStandalone';
|
|
4
5
|
export * from './pluggable';
|
|
5
6
|
export * from './console/ConsoleLazy';
|
|
6
7
|
export * from './ProProviders';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export*from"./NextSectionButton";export*from"./StoreProvider";export*from"./RedoclyReferenceDocs";export*from"./pluggable";export*from"./console/ConsoleLazy";export*from"./ProProviders";export{ToggleRightPanelButton,ControlsWrap,ChangeViewButton,BackgroundStub,NextSectionButtonWrap,ApiContentWrap,BackgroundStubFix}from"./styled.elements";export{TextField}from"./common/TextField";export{Checkbox}from"./common/Checkbox";export{Dropdown}from"./common/Dropdown";export{FormControl,FormLabel,FormError}from"./common/form";
|
|
1
|
+
export*from"./NextSectionButton";export*from"./StoreProvider";export*from"./RedoclyReferenceDocs";export*from"./RedoclyReferenceDocsMultiStandalone";export*from"./pluggable";export*from"./console/ConsoleLazy";export*from"./ProProviders";export{ToggleRightPanelButton,ControlsWrap,ChangeViewButton,BackgroundStub,NextSectionButtonWrap,ApiContentWrap,BackgroundStubFix}from"./styled.elements";export{TextField}from"./common/TextField";export{Checkbox}from"./common/Checkbox";export{Dropdown}from"./common/Dropdown";export{FormControl,FormLabel,FormError}from"./common/form";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export*from"./HttpVerb";export*from"./
|
|
1
|
+
export*from"./HttpVerb";export*from"./NoSampleLabel";export*from"./MimeLabel";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/lib-esm/hooks/index.d.ts
CHANGED
package/lib-esm/hooks/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{useMount}from"./useMount";export{useUnmount}from"./useUnmount";
|
|
1
|
+
export{useMount}from"./useMount";export{useUnmount}from"./useUnmount";export{useDimensions}from"./useDimensions";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function useDimensions(node?: HTMLElement | null): [DOMRect | null];
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{useLayoutEffect,useState}from"react";export function useDimensions(e){var n=useState(null),t=n[0],r=n[1];return useLayoutEffect((function(){if(e){var n=function(){return window.requestAnimationFrame((function(){return r(e.getBoundingClientRect())}))};return n(),window.addEventListener("resize",n),function(){window.removeEventListener("resize",n)}}}),[e]),[t]}
|
|
2
|
+
//# sourceMappingURL=useDimensions.js.map
|
package/lib-esm/index.d.ts
CHANGED
|
@@ -3,5 +3,5 @@ export * from './services/index';
|
|
|
3
3
|
export * from './redoc-lib/index';
|
|
4
4
|
export * from './models/index';
|
|
5
5
|
export { setSecurityDetails, setSecurityDetailsVariants, setParameterValue } from './utils';
|
|
6
|
-
export type { SecurityDetails } from './
|
|
6
|
+
export type { SecurityDetails } from './types';
|
|
7
7
|
export type { OAuth2 } from './services/OAuth2';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export var genericErrorMessage="Something went wrong, please, try again.";function normalizeState(e){return e?e.replace(/=+$/,""):e}export function isStateValid(e,r){return Boolean(e)&&Boolean(r)&&normalizeState(e)===normalizeState(r)}
|
|
1
|
+
export var genericErrorMessage="Something went wrong, please, try again.";export function normalizeState(e){return e?e.replace(/=+$/,""):e}export function isStateValid(e,r){return Boolean(e)&&Boolean(r)&&normalizeState(e)===normalizeState(r)}
|
|
2
2
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { PropsWithChildren } from 'react';
|
|
2
1
|
import React from 'react';
|
|
2
|
+
import type { PropsWithChildren } from 'react';
|
|
3
3
|
import type { FlattenSimpleInterpolation } from 'styled-components';
|
|
4
4
|
export declare function userIsForcingNavigation(event: React.MouseEvent): boolean;
|
|
5
5
|
export declare const linkifyMixin: (className: string, size: string) => FlattenSimpleInterpolation;
|