@scalar/api-client 2.43.0 → 3.1.0
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/CHANGELOG.md +48 -0
- package/README.md +119 -70
- package/dist/components/HttpMethod/HttpMethod.vue.d.ts +3 -3
- package/dist/components/HttpMethod/HttpMethod.vue.d.ts.map +1 -1
- package/dist/components/HttpMethod/HttpMethod.vue.js +1 -1
- package/dist/components/HttpMethod/HttpMethod.vue.js.map +1 -1
- package/dist/components/HttpMethod/HttpMethod.vue.script.js +3 -2
- package/dist/components/HttpMethod/HttpMethod.vue.script.js.map +1 -1
- package/dist/components/IconSelector.vue.script.js +1 -1
- package/dist/components/Server/index.d.ts +0 -2
- package/dist/components/Server/index.d.ts.map +1 -1
- package/dist/components/Server/index.js +1 -3
- package/dist/components/Sidebar/Actions/DeleteSidebarListElement.vue.d.ts +2 -2
- package/dist/hooks/{useFileDialog.d.ts → use-file-dialog.d.ts} +3 -2
- package/dist/hooks/use-file-dialog.d.ts.map +1 -0
- package/dist/hooks/{useFileDialog.js → use-file-dialog.js} +2 -2
- package/dist/hooks/use-file-dialog.js.map +1 -0
- package/dist/index.d.ts +0 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -5
- package/dist/monacoeditorwork/editor.worker.bundle.js +222 -366
- package/dist/monacoeditorwork/json.worker.bundle.js +388 -501
- package/dist/monacoeditorwork/yaml.worker.bundle.js +14567 -22937
- package/dist/plugins/posthog/index.d.ts +23 -0
- package/dist/plugins/posthog/index.d.ts.map +1 -0
- package/dist/plugins/posthog/index.js +58 -0
- package/dist/plugins/posthog/index.js.map +1 -0
- package/dist/style.css +6093 -7689
- package/dist/v2/blocks/operation-block/OperationBlock.vue.d.ts +4 -1
- package/dist/v2/blocks/operation-block/OperationBlock.vue.d.ts.map +1 -1
- package/dist/v2/blocks/operation-block/OperationBlock.vue.js.map +1 -1
- package/dist/v2/blocks/operation-block/OperationBlock.vue.script.js +27 -22
- package/dist/v2/blocks/operation-block/OperationBlock.vue.script.js.map +1 -1
- package/dist/v2/blocks/operation-block/components/Header.vue.d.ts +1 -1
- package/dist/v2/blocks/operation-block/components/Header.vue.d.ts.map +1 -1
- package/dist/v2/blocks/operation-block/components/Header.vue.js +1 -1
- package/dist/v2/blocks/operation-block/components/Header.vue.js.map +1 -1
- package/dist/v2/blocks/operation-block/components/Header.vue.script.js +2 -2
- package/dist/v2/blocks/operation-block/components/Header.vue.script.js.map +1 -1
- package/dist/v2/blocks/operation-block/components/OpenApiClientButton.vue.d.ts.map +1 -0
- package/dist/{components → v2/blocks/operation-block/components}/OpenApiClientButton.vue.js +3 -3
- package/dist/v2/blocks/operation-block/components/OpenApiClientButton.vue.js.map +1 -0
- package/dist/{components → v2/blocks/operation-block/components}/OpenApiClientButton.vue.script.js +6 -7
- package/dist/v2/blocks/operation-block/components/OpenApiClientButton.vue.script.js.map +1 -0
- package/dist/v2/blocks/operation-block/helpers/decode-buffer.d.ts +5 -2
- package/dist/v2/blocks/operation-block/helpers/decode-buffer.d.ts.map +1 -1
- package/dist/v2/blocks/operation-block/helpers/decode-buffer.js +8 -5
- package/dist/v2/blocks/operation-block/helpers/decode-buffer.js.map +1 -1
- package/dist/v2/blocks/operation-block/helpers/har-to-fetch-request.d.ts +8 -9
- package/dist/v2/blocks/operation-block/helpers/har-to-fetch-request.d.ts.map +1 -1
- package/dist/v2/blocks/operation-block/helpers/har-to-fetch-request.js +8 -10
- package/dist/v2/blocks/operation-block/helpers/har-to-fetch-request.js.map +1 -1
- package/dist/v2/blocks/operation-block/helpers/response-cache.d.ts +3 -2
- package/dist/v2/blocks/operation-block/helpers/response-cache.d.ts.map +1 -1
- package/dist/v2/blocks/operation-block/helpers/response-cache.js.map +1 -1
- package/dist/v2/blocks/operation-block/helpers/send-request.d.ts +8 -4
- package/dist/v2/blocks/operation-block/helpers/send-request.d.ts.map +1 -1
- package/dist/v2/blocks/operation-block/helpers/send-request.js +21 -14
- package/dist/v2/blocks/operation-block/helpers/send-request.js.map +1 -1
- package/dist/v2/blocks/operation-block/index.d.ts +1 -0
- package/dist/v2/blocks/operation-block/index.d.ts.map +1 -1
- package/dist/v2/blocks/operation-block/index.js +2 -1
- package/dist/v2/blocks/operation-code-sample/helpers/generate-code-snippet.d.ts.map +1 -1
- package/dist/v2/blocks/operation-code-sample/helpers/generate-code-snippet.js +1 -1
- package/dist/v2/blocks/operation-code-sample/helpers/generate-code-snippet.js.map +1 -1
- package/dist/{views/Components/CodeSnippet → v2/blocks/operation-code-sample}/helpers/get-snippet.d.ts +1 -1
- package/dist/v2/blocks/operation-code-sample/helpers/get-snippet.d.ts.map +1 -0
- package/dist/{views/Components/CodeSnippet → v2/blocks/operation-code-sample}/helpers/get-snippet.js +2 -3
- package/dist/v2/blocks/operation-code-sample/helpers/get-snippet.js.map +1 -0
- package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-server-url.js +1 -1
- package/dist/v2/blocks/request-block/RequestBlock.vue.d.ts +4 -1
- package/dist/v2/blocks/request-block/RequestBlock.vue.d.ts.map +1 -1
- package/dist/v2/blocks/request-block/RequestBlock.vue.js +1 -1
- package/dist/v2/blocks/request-block/RequestBlock.vue.js.map +1 -1
- package/dist/v2/blocks/request-block/RequestBlock.vue.script.js +5 -2
- package/dist/v2/blocks/request-block/RequestBlock.vue.script.js.map +1 -1
- package/dist/v2/blocks/request-block/components/RequestBody.vue.js +1 -1
- package/dist/v2/blocks/request-block/components/RequestBody.vue.js.map +1 -1
- package/dist/v2/blocks/request-block/components/RequestBody.vue.script.js +2 -2
- package/dist/v2/blocks/request-block/components/RequestBody.vue.script.js.map +1 -1
- package/dist/v2/blocks/request-block/components/RequestBodyForm.vue.js.map +1 -1
- package/dist/v2/blocks/request-block/components/RequestBodyForm.vue.script.js +1 -1
- package/dist/v2/blocks/request-block/components/RequestBodyForm.vue.script.js.map +1 -1
- package/dist/v2/blocks/request-block/components/RequestTable.vue.d.ts +6 -6
- package/dist/v2/blocks/request-block/components/RequestTable.vue.d.ts.map +1 -1
- package/dist/v2/blocks/request-block/components/RequestTableRow.vue.d.ts +6 -6
- package/dist/v2/blocks/request-block/components/RequestTableRow.vue.d.ts.map +1 -1
- package/dist/v2/blocks/request-block/helpers/get-default-headers.d.ts.map +1 -1
- package/dist/v2/blocks/request-block/helpers/get-default-headers.js +2 -2
- package/dist/v2/blocks/request-block/helpers/get-default-headers.js.map +1 -1
- package/dist/v2/blocks/response-block/ResponseBlock.vue.d.ts +5 -4
- package/dist/v2/blocks/response-block/ResponseBlock.vue.d.ts.map +1 -1
- package/dist/v2/blocks/response-block/ResponseBlock.vue.js +1 -1
- package/dist/v2/blocks/response-block/ResponseBlock.vue.js.map +1 -1
- package/dist/v2/blocks/response-block/ResponseBlock.vue.script.js +13 -7
- package/dist/v2/blocks/response-block/ResponseBlock.vue.script.js.map +1 -1
- package/dist/v2/blocks/response-block/components/Headers.vue.d.ts.map +1 -1
- package/dist/v2/blocks/response-block/components/Headers.vue.js.map +1 -1
- package/dist/v2/blocks/response-block/components/Headers.vue.script.js +11 -13
- package/dist/v2/blocks/response-block/components/Headers.vue.script.js.map +1 -1
- package/dist/v2/blocks/response-block/components/ResponseBody.vue.d.ts +2 -0
- package/dist/v2/blocks/response-block/components/ResponseBody.vue.d.ts.map +1 -1
- package/dist/v2/blocks/response-block/components/ResponseBody.vue.js +1 -1
- package/dist/v2/blocks/response-block/components/ResponseBody.vue.js.map +1 -1
- package/dist/v2/blocks/response-block/components/ResponseBody.vue.script.js +35 -15
- package/dist/v2/blocks/response-block/components/ResponseBody.vue.script.js.map +1 -1
- package/dist/v2/blocks/response-block/components/ResponseBodyDownload.vue.js.map +1 -1
- package/dist/v2/blocks/response-block/components/ResponseBodyDownload.vue.script.js +1 -1
- package/dist/v2/blocks/response-block/components/ResponseBodyDownload.vue.script.js.map +1 -1
- package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.d.ts +1 -1
- package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.d.ts.map +1 -1
- package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.js +1 -1
- package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.js.map +1 -1
- package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.script.js.map +1 -1
- package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.script.js +1 -1
- package/dist/v2/blocks/response-block/components/ResponseBodyVirtual.vue.d.ts.map +1 -1
- package/dist/v2/blocks/response-block/components/ResponseBodyVirtual.vue.js.map +1 -1
- package/dist/v2/blocks/response-block/components/ResponseBodyVirtual.vue.script.js +2 -1
- package/dist/v2/blocks/response-block/components/ResponseBodyVirtual.vue.script.js.map +1 -1
- package/dist/v2/blocks/response-block/components/ResponseCookies.vue.d.ts.map +1 -1
- package/dist/v2/blocks/response-block/components/ResponseCookies.vue.js.map +1 -1
- package/dist/v2/blocks/response-block/components/ResponseCookies.vue.script.js +9 -9
- package/dist/v2/blocks/response-block/components/ResponseCookies.vue.script.js.map +1 -1
- package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.d.ts +3 -3
- package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.d.ts.map +1 -1
- package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.js +1 -1
- package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.js.map +1 -1
- package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.script.js.map +1 -1
- package/dist/v2/blocks/response-block/components/ResponseMetaInformation.vue.d.ts +1 -1
- package/dist/v2/blocks/response-block/components/ResponseMetaInformation.vue.d.ts.map +1 -1
- package/dist/v2/blocks/response-block/components/ResponseMetaInformation.vue.js.map +1 -1
- package/dist/v2/blocks/response-block/components/ResponseMetaInformation.vue.script.js +1 -1
- package/dist/v2/blocks/response-block/components/ResponseMetaInformation.vue.script.js.map +1 -1
- package/dist/v2/blocks/response-block/helpers/get-content-length.d.ts +1 -1
- package/dist/v2/blocks/response-block/helpers/get-content-length.d.ts.map +1 -1
- package/dist/v2/blocks/response-block/helpers/get-content-length.js.map +1 -1
- package/dist/v2/blocks/response-block/helpers/media-types.d.ts +1 -1
- package/dist/v2/blocks/response-block/helpers/media-types.d.ts.map +1 -1
- package/dist/v2/blocks/response-block/helpers/media-types.js +10 -1
- package/dist/v2/blocks/response-block/helpers/media-types.js.map +1 -1
- package/dist/v2/blocks/response-block/helpers/process-response-body.d.ts +1 -2
- package/dist/v2/blocks/response-block/helpers/process-response-body.d.ts.map +1 -1
- package/dist/v2/blocks/response-block/helpers/process-response-body.js +2 -3
- package/dist/v2/blocks/response-block/helpers/process-response-body.js.map +1 -1
- package/dist/v2/blocks/response-block/helpers/resolve-response-body-handler.d.ts +11 -0
- package/dist/v2/blocks/response-block/helpers/resolve-response-body-handler.d.ts.map +1 -0
- package/dist/v2/blocks/response-block/helpers/resolve-response-body-handler.js +44 -0
- package/dist/v2/blocks/response-block/helpers/resolve-response-body-handler.js.map +1 -0
- package/dist/v2/blocks/response-block/helpers/resolve-response-content-type.d.ts +14 -0
- package/dist/v2/blocks/response-block/helpers/resolve-response-content-type.d.ts.map +1 -0
- package/dist/v2/blocks/response-block/helpers/resolve-response-content-type.js +13 -0
- package/dist/v2/blocks/response-block/helpers/resolve-response-content-type.js.map +1 -0
- package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.d.ts +2 -2
- package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.d.ts.map +1 -1
- package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.js +1 -1
- package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.js.map +1 -1
- package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.script.js +8 -3
- package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.script.js.map +1 -1
- package/dist/v2/blocks/scalar-address-bar-block/components/AddressBarHistory.vue.js +1 -1
- package/dist/v2/blocks/scalar-address-bar-block/components/AddressBarHistory.vue.js.map +1 -1
- package/dist/v2/blocks/scalar-address-bar-block/components/AddressBarHistory.vue.script.js +2 -2
- package/dist/v2/blocks/scalar-address-bar-block/components/AddressBarHistory.vue.script.js.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.d.ts +3 -0
- package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.d.ts.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.js.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.script.js +4 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.script.js.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/DeleteRequestAuthModal.vue.d.ts +2 -2
- package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.d.ts +31 -6
- package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.d.ts.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.js.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.script.js +6 -8
- package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.script.js.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.d.ts.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.js +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.js.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.script.js +5 -5
- package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.script.js.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue.js.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue.script.js +3 -3
- package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue.script.js.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/OpenIDConnect.vue.js.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/OpenIDConnect.vue.script.js +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/OpenIDConnect.vue.script.js.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.d.ts +3 -0
- package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.d.ts.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.js.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.script.js +6 -3
- package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.script.js.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTableInput.vue.d.ts +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.d.ts +3 -0
- package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.d.ts.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.js.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.script.js +4 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.script.js.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/helpers/fetch-openid-connect-discovery.d.ts +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/helpers/fetch-openid-connect-discovery.d.ts.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/helpers/fetch-openid-connect-discovery.js.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/helpers/oauth.d.ts +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/helpers/oauth.d.ts.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/helpers/oauth.js +3 -3
- package/dist/v2/blocks/scalar-auth-selector-block/helpers/oauth.js.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/helpers/resolve-default-oauth2-redirect-url.d.ts +11 -0
- package/dist/v2/blocks/scalar-auth-selector-block/helpers/resolve-default-oauth2-redirect-url.d.ts.map +1 -0
- package/dist/v2/blocks/scalar-auth-selector-block/helpers/resolve-default-oauth2-redirect-url.js +18 -0
- package/dist/v2/blocks/scalar-auth-selector-block/helpers/resolve-default-oauth2-redirect-url.js.map +1 -0
- package/dist/v2/components/code-input/CodeInput.vue.d.ts +4 -3
- package/dist/v2/components/code-input/CodeInput.vue.d.ts.map +1 -1
- package/dist/v2/components/code-input/CodeInput.vue.js +1 -1
- package/dist/v2/components/code-input/CodeInput.vue.js.map +1 -1
- package/dist/v2/components/code-input/CodeInput.vue.script.js +8 -0
- package/dist/v2/components/code-input/CodeInput.vue.script.js.map +1 -1
- package/dist/{views/Collection/CollectionNavigation.vue.d.ts → v2/components/code-input/PillTooltipHost.vue.d.ts} +3 -2
- package/dist/v2/components/code-input/PillTooltipHost.vue.d.ts.map +1 -0
- package/dist/v2/components/code-input/PillTooltipHost.vue.js +7 -0
- package/dist/v2/components/code-input/PillTooltipHost.vue.js.map +1 -0
- package/dist/v2/components/code-input/PillTooltipHost.vue.script.js +40 -0
- package/dist/v2/components/code-input/PillTooltipHost.vue.script.js.map +1 -0
- package/dist/v2/components/code-input/code-variable-widget.d.ts +1 -0
- package/dist/v2/components/code-input/code-variable-widget.d.ts.map +1 -1
- package/dist/v2/components/code-input/code-variable-widget.js +33 -20
- package/dist/v2/components/code-input/code-variable-widget.js.map +1 -1
- package/dist/v2/components/code-input/pill-context.d.ts +11 -0
- package/dist/v2/components/code-input/pill-context.d.ts.map +1 -0
- package/dist/v2/components/data-table/DataTableInput.vue.d.ts +3 -3
- package/dist/v2/components/data-table/DataTableInput.vue.d.ts.map +1 -1
- package/dist/v2/components/layout/CollapsibleSection.vue.d.ts.map +1 -1
- package/dist/v2/components/layout/CollapsibleSection.vue.js.map +1 -1
- package/dist/v2/components/layout/CollapsibleSection.vue.script.js +5 -2
- package/dist/v2/components/layout/CollapsibleSection.vue.script.js.map +1 -1
- package/dist/v2/components/modals/DeleteModal.vue.d.ts +2 -2
- package/dist/v2/components/modals/ModalClientContainer.vue.d.ts +2 -2
- package/dist/v2/components/server/ServerDropdown.vue.d.ts +1 -1
- package/dist/v2/components/server/ServerDropdown.vue.d.ts.map +1 -1
- package/dist/v2/components/server/ServerDropdown.vue.js.map +1 -1
- package/dist/v2/components/server/ServerDropdown.vue.script.js.map +1 -1
- package/dist/v2/components/sidebar/Sidebar.vue.d.ts.map +1 -1
- package/dist/v2/components/sidebar/Sidebar.vue.js.map +1 -1
- package/dist/v2/components/sidebar/Sidebar.vue.script.js +1 -1
- package/dist/v2/components/sidebar/Sidebar.vue.script.js.map +1 -1
- package/dist/v2/constants.js +1 -1
- package/dist/v2/features/app/App.vue.d.ts.map +1 -1
- package/dist/v2/features/app/App.vue.js.map +1 -1
- package/dist/v2/features/app/App.vue.script.js +16 -4
- package/dist/v2/features/app/App.vue.script.js.map +1 -1
- package/dist/v2/features/app/app-state.js +6 -6
- package/dist/v2/features/app/components/AppSidebar.vue.script.js +2 -2
- package/dist/v2/features/app/components/CreateWorkspaceModal.vue.d.ts.map +1 -1
- package/dist/v2/features/app/components/CreateWorkspaceModal.vue.js.map +1 -1
- package/dist/v2/features/app/components/CreateWorkspaceModal.vue.script.js +4 -4
- package/dist/v2/features/app/components/CreateWorkspaceModal.vue.script.js.map +1 -1
- package/dist/v2/features/app/components/DesktopTab.vue.d.ts +4 -4
- package/dist/v2/features/app/components/DesktopTab.vue.d.ts.map +1 -1
- package/dist/v2/features/app/components/DesktopTab.vue.js +1 -1
- package/dist/v2/features/app/components/DesktopTab.vue.js.map +1 -1
- package/dist/v2/features/app/components/DesktopTab.vue.script.js +2 -2
- package/dist/v2/features/app/components/DesktopTab.vue.script.js.map +1 -1
- package/dist/v2/features/app/helpers/create-temp-operation.d.ts.map +1 -1
- package/dist/v2/features/app/helpers/create-temp-operation.js +4 -1
- package/dist/v2/features/app/helpers/create-temp-operation.js.map +1 -1
- package/dist/v2/features/app/helpers/routes.d.ts +2 -2
- package/dist/v2/features/app/helpers/routes.d.ts.map +1 -1
- package/dist/v2/features/app/helpers/routes.js +11 -5
- package/dist/v2/features/app/helpers/routes.js.map +1 -1
- package/dist/v2/features/app/index.js +2 -2
- package/dist/v2/features/collection/DocumentCollection.vue.script.js +1 -1
- package/dist/v2/features/collection/OperationCollection.vue.script.js +1 -1
- package/dist/v2/features/collection/components/Editor/helpers/parse-editor-object.js +1 -1
- package/dist/v2/features/collection/components/Runner/components/Runner.vue.d.ts +16 -0
- package/dist/v2/features/collection/components/Runner/components/Runner.vue.d.ts.map +1 -0
- package/dist/v2/features/collection/components/Runner/components/Runner.vue.js +7 -0
- package/dist/v2/features/collection/components/Runner/components/Runner.vue.js.map +1 -0
- package/dist/v2/features/collection/components/Runner/components/Runner.vue.script.js +220 -0
- package/dist/v2/features/collection/components/Runner/components/Runner.vue.script.js.map +1 -0
- package/dist/{components/Sidebar/SidebarButton.vue.d.ts → v2/features/collection/components/Runner/components/RunnerCard.vue.d.ts} +8 -6
- package/dist/v2/features/collection/components/Runner/components/RunnerCard.vue.d.ts.map +1 -0
- package/dist/v2/features/collection/components/Runner/components/RunnerCard.vue.js +7 -0
- package/dist/v2/features/collection/components/Runner/components/RunnerCard.vue.js.map +1 -0
- package/dist/v2/features/collection/components/Runner/components/RunnerCard.vue.script.js +45 -0
- package/dist/v2/features/collection/components/Runner/components/RunnerCard.vue.script.js.map +1 -0
- package/dist/{components/Form/LabelInput.vue.d.ts → v2/features/collection/components/Runner/components/RunnerOrderItem.vue.d.ts} +12 -8
- package/dist/v2/features/collection/components/Runner/components/RunnerOrderItem.vue.d.ts.map +1 -0
- package/dist/v2/features/collection/components/Runner/components/RunnerOrderItem.vue.js +7 -0
- package/dist/v2/features/collection/components/Runner/components/RunnerOrderItem.vue.js.map +1 -0
- package/dist/v2/features/collection/components/Runner/components/RunnerOrderItem.vue.script.js +73 -0
- package/dist/v2/features/collection/components/Runner/components/RunnerOrderItem.vue.script.js.map +1 -0
- package/dist/{components/AddressBar/AddressBarHistory.vue.d.ts → v2/features/collection/components/Runner/components/RunnerResultRow.vue.d.ts} +11 -5
- package/dist/v2/features/collection/components/Runner/components/RunnerResultRow.vue.d.ts.map +1 -0
- package/dist/v2/features/collection/components/Runner/components/RunnerResultRow.vue.js +7 -0
- package/dist/v2/features/collection/components/Runner/components/RunnerResultRow.vue.js.map +1 -0
- package/dist/v2/features/collection/components/Runner/components/RunnerResultRow.vue.script.js +124 -0
- package/dist/v2/features/collection/components/Runner/components/RunnerResultRow.vue.script.js.map +1 -0
- package/dist/v2/features/collection/components/Runner/components/RunnerResults.vue.d.ts +17 -0
- package/dist/v2/features/collection/components/Runner/components/RunnerResults.vue.d.ts.map +1 -0
- package/dist/v2/features/collection/components/Runner/components/RunnerResults.vue.js +7 -0
- package/dist/v2/features/collection/components/Runner/components/RunnerResults.vue.js.map +1 -0
- package/dist/v2/features/collection/components/Runner/components/RunnerResults.vue.script.js +126 -0
- package/dist/v2/features/collection/components/Runner/components/RunnerResults.vue.script.js.map +1 -0
- package/dist/v2/features/collection/components/Runner/components/RunnerTree.vue.d.ts +18 -0
- package/dist/v2/features/collection/components/Runner/components/RunnerTree.vue.d.ts.map +1 -0
- package/dist/v2/features/collection/components/Runner/components/RunnerTree.vue.js +7 -0
- package/dist/v2/features/collection/components/Runner/components/RunnerTree.vue.js.map +1 -0
- package/dist/v2/features/collection/components/Runner/components/RunnerTree.vue.script.js +180 -0
- package/dist/v2/features/collection/components/Runner/components/RunnerTree.vue.script.js.map +1 -0
- package/dist/{components/Sidebar/Actions/EditSidebarListElement.vue.d.ts → v2/features/collection/components/Runner/components/RunnerTreeExample.vue.d.ts} +6 -5
- package/dist/v2/features/collection/components/Runner/components/RunnerTreeExample.vue.d.ts.map +1 -0
- package/dist/v2/features/collection/components/Runner/components/RunnerTreeExample.vue.js +7 -0
- package/dist/v2/features/collection/components/Runner/components/RunnerTreeExample.vue.js.map +1 -0
- package/dist/v2/features/collection/components/Runner/components/RunnerTreeExample.vue.script.js +44 -0
- package/dist/v2/features/collection/components/Runner/components/RunnerTreeExample.vue.script.js.map +1 -0
- package/dist/{components/DataTable/DataTableText.vue.d.ts → v2/features/collection/components/Runner/components/RunnerTreeGroup.vue.d.ts} +6 -4
- package/dist/v2/features/collection/components/Runner/components/RunnerTreeGroup.vue.d.ts.map +1 -0
- package/dist/v2/features/collection/components/Runner/components/RunnerTreeGroup.vue.js +7 -0
- package/dist/v2/features/collection/components/Runner/components/RunnerTreeGroup.vue.js.map +1 -0
- package/dist/v2/features/collection/components/Runner/components/RunnerTreeGroup.vue.script.js +53 -0
- package/dist/v2/features/collection/components/Runner/components/RunnerTreeGroup.vue.script.js.map +1 -0
- package/dist/v2/features/collection/components/Runner/components/RunnerTreeOperation.vue.d.ts +23 -0
- package/dist/v2/features/collection/components/Runner/components/RunnerTreeOperation.vue.d.ts.map +1 -0
- package/dist/v2/features/collection/components/Runner/components/RunnerTreeOperation.vue.js +7 -0
- package/dist/v2/features/collection/components/Runner/components/RunnerTreeOperation.vue.js.map +1 -0
- package/dist/v2/features/collection/components/Runner/components/RunnerTreeOperation.vue.script.js +75 -0
- package/dist/v2/features/collection/components/Runner/components/RunnerTreeOperation.vue.script.js.map +1 -0
- package/dist/v2/features/collection/components/Runner/hooks/index.d.ts +3 -0
- package/dist/v2/features/collection/components/Runner/hooks/index.d.ts.map +1 -0
- package/dist/v2/features/collection/components/Runner/hooks/use-runner-execution.d.ts +73 -0
- package/dist/v2/features/collection/components/Runner/hooks/use-runner-execution.d.ts.map +1 -0
- package/dist/v2/features/collection/components/Runner/hooks/use-runner-execution.js +190 -0
- package/dist/v2/features/collection/components/Runner/hooks/use-runner-execution.js.map +1 -0
- package/dist/v2/features/collection/components/Runner/hooks/use-runner-selection.d.ts +46 -0
- package/dist/v2/features/collection/components/Runner/hooks/use-runner-selection.d.ts.map +1 -0
- package/dist/v2/features/collection/components/Runner/hooks/use-runner-selection.js +114 -0
- package/dist/v2/features/collection/components/Runner/hooks/use-runner-selection.js.map +1 -0
- package/dist/v2/features/collection/components/Runner/index.d.ts +2 -0
- package/dist/v2/features/collection/components/Runner/index.d.ts.map +1 -0
- package/dist/v2/features/collection/components/Tabs.vue.d.ts.map +1 -1
- package/dist/v2/features/collection/components/Tabs.vue.js.map +1 -1
- package/dist/v2/features/collection/components/Tabs.vue.script.js +3 -2
- package/dist/v2/features/collection/components/Tabs.vue.script.js.map +1 -1
- package/dist/v2/features/command-palette/TheCommandPalette.vue.script.js +2 -2
- package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.d.ts.map +1 -1
- package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.js.map +1 -1
- package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.script.js +4 -4
- package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.script.js.map +1 -1
- package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.d.ts.map +1 -1
- package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.js.map +1 -1
- package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.script.js +26 -21
- package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.script.js.map +1 -1
- package/dist/v2/features/command-palette/components/CommandPaletteOpenApiDocument.vue.script.js +1 -1
- package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.js +1 -1
- package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.js.map +1 -1
- package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.script.js +1 -1
- package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.script.js.map +1 -1
- package/dist/v2/features/command-palette/helpers/get-operation-from-curl.js +1 -1
- package/dist/v2/features/command-palette/helpers/get-operation-from-curl.js.map +1 -1
- package/dist/v2/features/command-palette/helpers/get-postman-convert-options.d.ts +14 -0
- package/dist/v2/features/command-palette/helpers/get-postman-convert-options.d.ts.map +1 -0
- package/dist/v2/features/command-palette/helpers/get-postman-convert-options.js +19 -0
- package/dist/v2/features/command-palette/helpers/get-postman-convert-options.js.map +1 -0
- package/dist/v2/features/command-palette/helpers/get-postman-document-details.js +1 -1
- package/dist/v2/features/command-palette/helpers/get-postman-document-details.js.map +1 -1
- package/dist/v2/features/command-palette/helpers/load-document-from-source.d.ts.map +1 -1
- package/dist/v2/features/command-palette/helpers/load-document-from-source.js +1 -1
- package/dist/v2/features/command-palette/helpers/load-document-from-source.js.map +1 -1
- package/dist/{libs → v2/features/command-palette/helpers}/parse-curl.d.ts +2 -2
- package/dist/v2/features/command-palette/helpers/parse-curl.d.ts.map +1 -0
- package/dist/{libs → v2/features/command-palette/helpers}/parse-curl.js +1 -1
- package/dist/v2/features/command-palette/helpers/parse-curl.js.map +1 -0
- package/dist/v2/features/command-palette/hooks/use-command-palette-state.js +1 -1
- package/dist/v2/features/command-palette/index.d.ts +2 -0
- package/dist/v2/features/command-palette/index.d.ts.map +1 -1
- package/dist/v2/features/command-palette/index.js +3 -1
- package/dist/v2/features/editor/helpers/configure-language-support.js +3 -3
- package/dist/v2/features/editor/helpers/configure-language-support.js.map +1 -1
- package/dist/v2/features/editor/helpers/json/get-json-ast-node-from-path.d.ts +1 -1
- package/dist/v2/features/editor/helpers/json/get-json-ast-node-from-path.d.ts.map +1 -1
- package/dist/v2/features/editor/helpers/json/get-json-ast-node-from-path.js +1 -1
- package/dist/v2/features/editor/helpers/json/get-json-ast-node-from-path.js.map +1 -1
- package/dist/v2/features/editor/helpers/json/json-ast.d.ts +1 -1
- package/dist/v2/features/editor/helpers/json/json-ast.d.ts.map +1 -1
- package/dist/v2/features/editor/helpers/json/json-ast.js +1 -1
- package/dist/v2/features/editor/helpers/json/json-ast.js.map +1 -1
- package/dist/v2/features/editor/helpers/theme/load-css-variables.d.ts +1 -1
- package/dist/v2/features/editor/hooks/use-editor-markers.d.ts.map +1 -1
- package/dist/v2/features/environments/components/EnvironmentCreateModal.vue.d.ts.map +1 -1
- package/dist/v2/features/environments/components/EnvironmentCreateModal.vue.js.map +1 -1
- package/dist/v2/features/environments/components/EnvironmentCreateModal.vue.script.js +4 -4
- package/dist/v2/features/environments/components/EnvironmentCreateModal.vue.script.js.map +1 -1
- package/dist/v2/features/environments/components/EnvironmentVariablesDropdown.vue.d.ts +5 -0
- package/dist/v2/features/environments/components/EnvironmentVariablesDropdown.vue.d.ts.map +1 -1
- package/dist/v2/features/environments/components/EnvironmentVariablesDropdown.vue.js.map +1 -1
- package/dist/v2/features/environments/components/EnvironmentVariablesDropdown.vue.script.js +70 -13
- package/dist/v2/features/environments/components/EnvironmentVariablesDropdown.vue.script.js.map +1 -1
- package/dist/v2/features/modal/Modal.vue.d.ts +8 -3
- package/dist/v2/features/modal/Modal.vue.d.ts.map +1 -1
- package/dist/v2/features/modal/Modal.vue.js.map +1 -1
- package/dist/v2/features/modal/Modal.vue.script.js +1 -1
- package/dist/v2/features/modal/Modal.vue.script.js.map +1 -1
- package/dist/v2/features/modal/helpers/create-api-client-modal.d.ts +4 -3
- package/dist/v2/features/modal/helpers/create-api-client-modal.d.ts.map +1 -1
- package/dist/v2/features/modal/helpers/create-api-client-modal.js +23 -3
- package/dist/v2/features/modal/helpers/create-api-client-modal.js.map +1 -1
- package/dist/v2/features/modal/helpers/types.d.ts +8 -0
- package/dist/v2/features/modal/helpers/types.d.ts.map +1 -0
- package/dist/v2/features/modal/index.d.ts +1 -0
- package/dist/v2/features/modal/index.d.ts.map +1 -1
- package/dist/v2/features/operation/Operation.vue.d.ts +3 -3
- package/dist/v2/features/operation/Operation.vue.d.ts.map +1 -1
- package/dist/v2/features/operation/Operation.vue.js.map +1 -1
- package/dist/v2/features/operation/Operation.vue.script.js +3 -1
- package/dist/v2/features/operation/Operation.vue.script.js.map +1 -1
- package/dist/v2/features/settings/CollectionSettings.vue.script.js +1 -1
- package/dist/v2/features/settings/components/Appearance.vue.d.ts +2 -2
- package/dist/v2/helpers/safe-run.d.ts +10 -0
- package/dist/v2/helpers/safe-run.d.ts.map +1 -0
- package/dist/v2/helpers/safe-run.js +19 -0
- package/dist/v2/helpers/safe-run.js.map +1 -0
- package/package.json +151 -169
- package/dist/assets/keycap.ascii.virtual.js +0 -6
- package/dist/assets/keycap.ascii.virtual.js.map +0 -1
- package/dist/components/AddressBar/AddressBar.vue.d.ts +0 -20
- package/dist/components/AddressBar/AddressBar.vue.d.ts.map +0 -1
- package/dist/components/AddressBar/AddressBar.vue.js +0 -9
- package/dist/components/AddressBar/AddressBar.vue.js.map +0 -1
- package/dist/components/AddressBar/AddressBar.vue.script.js +0 -204
- package/dist/components/AddressBar/AddressBar.vue.script.js.map +0 -1
- package/dist/components/AddressBar/AddressBarHistory.vue.d.ts.map +0 -1
- package/dist/components/AddressBar/AddressBarHistory.vue.js +0 -9
- package/dist/components/AddressBar/AddressBarHistory.vue.js.map +0 -1
- package/dist/components/AddressBar/AddressBarHistory.vue.script.js +0 -85
- package/dist/components/AddressBar/AddressBarHistory.vue.script.js.map +0 -1
- package/dist/components/AddressBar/httpStatusCodeColors.d.ts +0 -22
- package/dist/components/AddressBar/httpStatusCodeColors.d.ts.map +0 -1
- package/dist/components/AddressBar/httpStatusCodeColors.js +0 -20
- package/dist/components/AddressBar/httpStatusCodeColors.js.map +0 -1
- package/dist/components/AddressBar/index.d.ts +0 -2
- package/dist/components/AddressBar/index.d.ts.map +0 -1
- package/dist/components/AddressBar/index.js +0 -2
- package/dist/components/CodeInput/CodeInput.vue.d.ts +0 -101
- package/dist/components/CodeInput/CodeInput.vue.d.ts.map +0 -1
- package/dist/components/CodeInput/CodeInput.vue.js +0 -10
- package/dist/components/CodeInput/CodeInput.vue.js.map +0 -1
- package/dist/components/CodeInput/CodeInput.vue.script.js +0 -294
- package/dist/components/CodeInput/CodeInput.vue.script.js.map +0 -1
- package/dist/components/CodeInput/codeVariableWidget.d.ts +0 -17
- package/dist/components/CodeInput/codeVariableWidget.d.ts.map +0 -1
- package/dist/components/CodeInput/codeVariableWidget.js +0 -135
- package/dist/components/CodeInput/codeVariableWidget.js.map +0 -1
- package/dist/components/CodeInput/index.d.ts +0 -2
- package/dist/components/CodeInput/index.d.ts.map +0 -1
- package/dist/components/CodeInput/index.js +0 -2
- package/dist/components/CommandPalette/CommandActionForm.vue.d.ts +0 -31
- package/dist/components/CommandPalette/CommandActionForm.vue.d.ts.map +0 -1
- package/dist/components/CommandPalette/CommandActionForm.vue.js +0 -7
- package/dist/components/CommandPalette/CommandActionForm.vue.js.map +0 -1
- package/dist/components/CommandPalette/CommandActionForm.vue.script.js +0 -42
- package/dist/components/CommandPalette/CommandActionForm.vue.script.js.map +0 -1
- package/dist/components/CommandPalette/CommandActionInput.vue.d.ts +0 -15
- package/dist/components/CommandPalette/CommandActionInput.vue.d.ts.map +0 -1
- package/dist/components/CommandPalette/CommandActionInput.vue.js +0 -7
- package/dist/components/CommandPalette/CommandActionInput.vue.js.map +0 -1
- package/dist/components/CommandPalette/CommandActionInput.vue.script.js +0 -55
- package/dist/components/CommandPalette/CommandActionInput.vue.script.js.map +0 -1
- package/dist/components/CommandPalette/CommandPaletteCollection.vue.d.ts +0 -10
- package/dist/components/CommandPalette/CommandPaletteCollection.vue.d.ts.map +0 -1
- package/dist/components/CommandPalette/CommandPaletteCollection.vue.js +0 -7
- package/dist/components/CommandPalette/CommandPaletteCollection.vue.js.map +0 -1
- package/dist/components/CommandPalette/CommandPaletteCollection.vue.script.js +0 -78
- package/dist/components/CommandPalette/CommandPaletteCollection.vue.script.js.map +0 -1
- package/dist/components/CommandPalette/CommandPaletteExample.vue.d.ts +0 -16
- package/dist/components/CommandPalette/CommandPaletteExample.vue.d.ts.map +0 -1
- package/dist/components/CommandPalette/CommandPaletteExample.vue.js +0 -7
- package/dist/components/CommandPalette/CommandPaletteExample.vue.js.map +0 -1
- package/dist/components/CommandPalette/CommandPaletteExample.vue.script.js +0 -104
- package/dist/components/CommandPalette/CommandPaletteExample.vue.script.js.map +0 -1
- package/dist/components/CommandPalette/CommandPaletteImport.vue.d.ts +0 -10
- package/dist/components/CommandPalette/CommandPaletteImport.vue.d.ts.map +0 -1
- package/dist/components/CommandPalette/CommandPaletteImport.vue.js +0 -7
- package/dist/components/CommandPalette/CommandPaletteImport.vue.js.map +0 -1
- package/dist/components/CommandPalette/CommandPaletteImport.vue.script.js +0 -181
- package/dist/components/CommandPalette/CommandPaletteImport.vue.script.js.map +0 -1
- package/dist/components/CommandPalette/CommandPaletteImportCurl.vue.d.ts +0 -20
- package/dist/components/CommandPalette/CommandPaletteImportCurl.vue.d.ts.map +0 -1
- package/dist/components/CommandPalette/CommandPaletteImportCurl.vue.js +0 -9
- package/dist/components/CommandPalette/CommandPaletteImportCurl.vue.js.map +0 -1
- package/dist/components/CommandPalette/CommandPaletteImportCurl.vue.script.js +0 -108
- package/dist/components/CommandPalette/CommandPaletteImportCurl.vue.script.js.map +0 -1
- package/dist/components/CommandPalette/CommandPaletteServer.vue.d.ts +0 -16
- package/dist/components/CommandPalette/CommandPaletteServer.vue.d.ts.map +0 -1
- package/dist/components/CommandPalette/CommandPaletteServer.vue.js +0 -7
- package/dist/components/CommandPalette/CommandPaletteServer.vue.js.map +0 -1
- package/dist/components/CommandPalette/CommandPaletteServer.vue.script.js +0 -108
- package/dist/components/CommandPalette/CommandPaletteServer.vue.script.js.map +0 -1
- package/dist/components/CommandPalette/CommandPaletteTag.vue.d.ts +0 -10
- package/dist/components/CommandPalette/CommandPaletteTag.vue.d.ts.map +0 -1
- package/dist/components/CommandPalette/CommandPaletteTag.vue.js +0 -7
- package/dist/components/CommandPalette/CommandPaletteTag.vue.js.map +0 -1
- package/dist/components/CommandPalette/CommandPaletteTag.vue.script.js +0 -70
- package/dist/components/CommandPalette/CommandPaletteTag.vue.script.js.map +0 -1
- package/dist/components/CommandPalette/CommandPaletteWorkspace.vue.d.ts +0 -10
- package/dist/components/CommandPalette/CommandPaletteWorkspace.vue.d.ts.map +0 -1
- package/dist/components/CommandPalette/CommandPaletteWorkspace.vue.js +0 -7
- package/dist/components/CommandPalette/CommandPaletteWorkspace.vue.js.map +0 -1
- package/dist/components/CommandPalette/CommandPaletteWorkspace.vue.script.js +0 -49
- package/dist/components/CommandPalette/CommandPaletteWorkspace.vue.script.js.map +0 -1
- package/dist/components/CommandPalette/TheCommandPalette.vue.d.ts +0 -217
- package/dist/components/CommandPalette/TheCommandPalette.vue.d.ts.map +0 -1
- package/dist/components/CommandPalette/TheCommandPalette.vue.js +0 -9
- package/dist/components/CommandPalette/TheCommandPalette.vue.js.map +0 -1
- package/dist/components/CommandPalette/TheCommandPalette.vue.script.js +0 -323
- package/dist/components/CommandPalette/TheCommandPalette.vue.script.js.map +0 -1
- package/dist/components/CommandPalette/WatchModeToggle.vue.d.ts +0 -14
- package/dist/components/CommandPalette/WatchModeToggle.vue.d.ts.map +0 -1
- package/dist/components/CommandPalette/WatchModeToggle.vue.js +0 -7
- package/dist/components/CommandPalette/WatchModeToggle.vue.js.map +0 -1
- package/dist/components/CommandPalette/WatchModeToggle.vue.script.js +0 -40
- package/dist/components/CommandPalette/WatchModeToggle.vue.script.js.map +0 -1
- package/dist/components/CommandPalette/index.d.ts +0 -2
- package/dist/components/CommandPalette/index.d.ts.map +0 -1
- package/dist/components/CommandPalette/index.js +0 -2
- package/dist/components/DataTable/DataTable.vue.d.ts +0 -23
- package/dist/components/DataTable/DataTable.vue.d.ts.map +0 -1
- package/dist/components/DataTable/DataTable.vue.js +0 -7
- package/dist/components/DataTable/DataTable.vue.js.map +0 -1
- package/dist/components/DataTable/DataTable.vue.script.js +0 -30
- package/dist/components/DataTable/DataTable.vue.script.js.map +0 -1
- package/dist/components/DataTable/DataTableCell.vue.d.ts +0 -20
- package/dist/components/DataTable/DataTableCell.vue.d.ts.map +0 -1
- package/dist/components/DataTable/DataTableCell.vue.js +0 -7
- package/dist/components/DataTable/DataTableCell.vue.js.map +0 -1
- package/dist/components/DataTable/DataTableCell.vue.script.js +0 -21
- package/dist/components/DataTable/DataTableCell.vue.script.js.map +0 -1
- package/dist/components/DataTable/DataTableCheckbox.vue.d.ts +0 -15
- package/dist/components/DataTable/DataTableCheckbox.vue.d.ts.map +0 -1
- package/dist/components/DataTable/DataTableCheckbox.vue.js +0 -7
- package/dist/components/DataTable/DataTableCheckbox.vue.js.map +0 -1
- package/dist/components/DataTable/DataTableCheckbox.vue.script.js +0 -43
- package/dist/components/DataTable/DataTableCheckbox.vue.script.js.map +0 -1
- package/dist/components/DataTable/DataTableHeader.vue.d.ts +0 -14
- package/dist/components/DataTable/DataTableHeader.vue.d.ts.map +0 -1
- package/dist/components/DataTable/DataTableHeader.vue.js +0 -7
- package/dist/components/DataTable/DataTableHeader.vue.js.map +0 -1
- package/dist/components/DataTable/DataTableHeader.vue.script.js +0 -20
- package/dist/components/DataTable/DataTableHeader.vue.script.js.map +0 -1
- package/dist/components/DataTable/DataTableInput.vue.d.ts +0 -54
- package/dist/components/DataTable/DataTableInput.vue.d.ts.map +0 -1
- package/dist/components/DataTable/DataTableInput.vue.js +0 -9
- package/dist/components/DataTable/DataTableInput.vue.js.map +0 -1
- package/dist/components/DataTable/DataTableInput.vue.script.js +0 -164
- package/dist/components/DataTable/DataTableInput.vue.script.js.map +0 -1
- package/dist/components/DataTable/DataTableInputSelect.vue.d.ts +0 -17
- package/dist/components/DataTable/DataTableInputSelect.vue.d.ts.map +0 -1
- package/dist/components/DataTable/DataTableInputSelect.vue.js +0 -7
- package/dist/components/DataTable/DataTableInputSelect.vue.js.map +0 -1
- package/dist/components/DataTable/DataTableInputSelect.vue.script.js +0 -150
- package/dist/components/DataTable/DataTableInputSelect.vue.script.js.map +0 -1
- package/dist/components/DataTable/DataTableRow.vue.d.ts +0 -14
- package/dist/components/DataTable/DataTableRow.vue.d.ts.map +0 -1
- package/dist/components/DataTable/DataTableRow.vue.js +0 -13
- package/dist/components/DataTable/DataTableRow.vue.js.map +0 -1
- package/dist/components/DataTable/DataTableText.vue.d.ts.map +0 -1
- package/dist/components/DataTable/DataTableText.vue.js +0 -7
- package/dist/components/DataTable/DataTableText.vue.js.map +0 -1
- package/dist/components/DataTable/DataTableText.vue.script.js +0 -20
- package/dist/components/DataTable/DataTableText.vue.script.js.map +0 -1
- package/dist/components/DataTable/index.d.ts +0 -9
- package/dist/components/DataTable/index.d.ts.map +0 -1
- package/dist/components/DataTable/index.js +0 -9
- package/dist/components/EmptyState.vue.d.ts +0 -4
- package/dist/components/EmptyState.vue.d.ts.map +0 -1
- package/dist/components/EmptyState.vue.js +0 -9
- package/dist/components/EmptyState.vue.js.map +0 -1
- package/dist/components/EmptyState.vue.script.js +0 -41
- package/dist/components/EmptyState.vue.script.js.map +0 -1
- package/dist/components/EnvironmentSelector/EnvironmentSelector.vue.d.ts +0 -4
- package/dist/components/EnvironmentSelector/EnvironmentSelector.vue.d.ts.map +0 -1
- package/dist/components/EnvironmentSelector/EnvironmentSelector.vue.js +0 -7
- package/dist/components/EnvironmentSelector/EnvironmentSelector.vue.js.map +0 -1
- package/dist/components/EnvironmentSelector/EnvironmentSelector.vue.script.js +0 -111
- package/dist/components/EnvironmentSelector/EnvironmentSelector.vue.script.js.map +0 -1
- package/dist/components/Form/Form.vue.d.ts +0 -26
- package/dist/components/Form/Form.vue.d.ts.map +0 -1
- package/dist/components/Form/Form.vue.js +0 -7
- package/dist/components/Form/Form.vue.js.map +0 -1
- package/dist/components/Form/Form.vue.script.js +0 -82
- package/dist/components/Form/Form.vue.script.js.map +0 -1
- package/dist/components/Form/LabelInput.vue.d.ts.map +0 -1
- package/dist/components/Form/LabelInput.vue.js +0 -9
- package/dist/components/Form/LabelInput.vue.js.map +0 -1
- package/dist/components/Form/LabelInput.vue.script.js +0 -39
- package/dist/components/Form/LabelInput.vue.script.js.map +0 -1
- package/dist/components/HttpMethod/index.js +0 -2
- package/dist/components/ImportCollection/DropEventListener.vue.d.ts +0 -8
- package/dist/components/ImportCollection/DropEventListener.vue.d.ts.map +0 -1
- package/dist/components/ImportCollection/DropEventListener.vue.js +0 -7
- package/dist/components/ImportCollection/DropEventListener.vue.js.map +0 -1
- package/dist/components/ImportCollection/DropEventListener.vue.script.js +0 -91
- package/dist/components/ImportCollection/DropEventListener.vue.script.js.map +0 -1
- package/dist/components/ImportCollection/ImportCollectionListener.vue.d.ts +0 -14
- package/dist/components/ImportCollection/ImportCollectionListener.vue.d.ts.map +0 -1
- package/dist/components/ImportCollection/ImportCollectionListener.vue.js +0 -7
- package/dist/components/ImportCollection/ImportCollectionListener.vue.js.map +0 -1
- package/dist/components/ImportCollection/ImportCollectionListener.vue.script.js +0 -102
- package/dist/components/ImportCollection/ImportCollectionListener.vue.script.js.map +0 -1
- package/dist/components/ImportCollection/ImportCollectionModal.vue.d.ts +0 -13
- package/dist/components/ImportCollection/ImportCollectionModal.vue.d.ts.map +0 -1
- package/dist/components/ImportCollection/ImportCollectionModal.vue.js +0 -8
- package/dist/components/ImportCollection/ImportCollectionModal.vue.js.map +0 -1
- package/dist/components/ImportCollection/ImportCollectionModal.vue.script.js +0 -206
- package/dist/components/ImportCollection/ImportCollectionModal.vue.script.js.map +0 -1
- package/dist/components/ImportCollection/ImportNowButton.vue.d.ts +0 -13
- package/dist/components/ImportCollection/ImportNowButton.vue.d.ts.map +0 -1
- package/dist/components/ImportCollection/ImportNowButton.vue.js +0 -7
- package/dist/components/ImportCollection/ImportNowButton.vue.js.map +0 -1
- package/dist/components/ImportCollection/ImportNowButton.vue.script.js +0 -82
- package/dist/components/ImportCollection/ImportNowButton.vue.script.js.map +0 -1
- package/dist/components/ImportCollection/PasteEventListener.vue.d.ts +0 -8
- package/dist/components/ImportCollection/PasteEventListener.vue.d.ts.map +0 -1
- package/dist/components/ImportCollection/PasteEventListener.vue.js +0 -7
- package/dist/components/ImportCollection/PasteEventListener.vue.js.map +0 -1
- package/dist/components/ImportCollection/PasteEventListener.vue.script.js +0 -31
- package/dist/components/ImportCollection/PasteEventListener.vue.script.js.map +0 -1
- package/dist/components/ImportCollection/PrefetchError.vue.d.ts +0 -7
- package/dist/components/ImportCollection/PrefetchError.vue.d.ts.map +0 -1
- package/dist/components/ImportCollection/PrefetchError.vue.js +0 -7
- package/dist/components/ImportCollection/PrefetchError.vue.js.map +0 -1
- package/dist/components/ImportCollection/PrefetchError.vue.script.js +0 -32
- package/dist/components/ImportCollection/PrefetchError.vue.script.js.map +0 -1
- package/dist/components/ImportCollection/UrlQueryParameterChecker.vue.d.ts +0 -8
- package/dist/components/ImportCollection/UrlQueryParameterChecker.vue.d.ts.map +0 -1
- package/dist/components/ImportCollection/UrlQueryParameterChecker.vue.js +0 -7
- package/dist/components/ImportCollection/UrlQueryParameterChecker.vue.js.map +0 -1
- package/dist/components/ImportCollection/UrlQueryParameterChecker.vue.script.js +0 -21
- package/dist/components/ImportCollection/UrlQueryParameterChecker.vue.script.js.map +0 -1
- package/dist/components/ImportCollection/WorkspaceSelector.vue.d.ts +0 -4
- package/dist/components/ImportCollection/WorkspaceSelector.vue.d.ts.map +0 -1
- package/dist/components/ImportCollection/WorkspaceSelector.vue.js +0 -7
- package/dist/components/ImportCollection/WorkspaceSelector.vue.js.map +0 -1
- package/dist/components/ImportCollection/WorkspaceSelector.vue.script.js +0 -114
- package/dist/components/ImportCollection/WorkspaceSelector.vue.script.js.map +0 -1
- package/dist/components/ImportCollection/hooks/useUrlPrefetcher.d.ts +0 -39
- package/dist/components/ImportCollection/hooks/useUrlPrefetcher.d.ts.map +0 -1
- package/dist/components/ImportCollection/hooks/useUrlPrefetcher.js +0 -109
- package/dist/components/ImportCollection/hooks/useUrlPrefetcher.js.map +0 -1
- package/dist/components/ImportCollection/index.d.ts +0 -2
- package/dist/components/ImportCollection/index.d.ts.map +0 -1
- package/dist/components/ImportCollection/index.js +0 -2
- package/dist/components/ImportCollection/utils/get-openapi-version.d.ts +0 -5
- package/dist/components/ImportCollection/utils/get-openapi-version.d.ts.map +0 -1
- package/dist/components/ImportCollection/utils/get-openapi-version.js +0 -26
- package/dist/components/ImportCollection/utils/get-openapi-version.js.map +0 -1
- package/dist/components/ImportCollection/utils/import-collection.d.ts +0 -12
- package/dist/components/ImportCollection/utils/import-collection.d.ts.map +0 -1
- package/dist/components/ImportCollection/utils/import-collection.js +0 -23
- package/dist/components/ImportCollection/utils/import-collection.js.map +0 -1
- package/dist/components/ImportCollection/utils/is-document.d.ts +0 -3
- package/dist/components/ImportCollection/utils/is-document.d.ts.map +0 -1
- package/dist/components/ImportCollection/utils/is-document.js +0 -12
- package/dist/components/ImportCollection/utils/is-document.js.map +0 -1
- package/dist/components/ImportCollection/utils/is-url.d.ts +0 -5
- package/dist/components/ImportCollection/utils/is-url.d.ts.map +0 -1
- package/dist/components/ImportCollection/utils/is-url.js +0 -14
- package/dist/components/ImportCollection/utils/is-url.js.map +0 -1
- package/dist/components/ImportCollection/utils/workspace-store-is-empty.d.ts +0 -6
- package/dist/components/ImportCollection/utils/workspace-store-is-empty.d.ts.map +0 -1
- package/dist/components/ImportCollection/utils/workspace-store-is-empty.js +0 -13
- package/dist/components/ImportCollection/utils/workspace-store-is-empty.js.map +0 -1
- package/dist/components/OpenApiClientButton.vue.d.ts.map +0 -1
- package/dist/components/OpenApiClientButton.vue.js.map +0 -1
- package/dist/components/OpenApiClientButton.vue.script.js.map +0 -1
- package/dist/components/Search/useSearch.d.ts +0 -33
- package/dist/components/Search/useSearch.d.ts.map +0 -1
- package/dist/components/Search/useSearch.js +0 -110
- package/dist/components/Search/useSearch.js.map +0 -1
- package/dist/components/Server/ServerDropdown.vue.d.ts +0 -12
- package/dist/components/Server/ServerDropdown.vue.d.ts.map +0 -1
- package/dist/components/Server/ServerDropdown.vue.js +0 -7
- package/dist/components/Server/ServerDropdown.vue.js.map +0 -1
- package/dist/components/Server/ServerDropdown.vue.script.js +0 -133
- package/dist/components/Server/ServerDropdown.vue.script.js.map +0 -1
- package/dist/components/Server/ServerDropdownItem.vue.d.ts +0 -19
- package/dist/components/Server/ServerDropdownItem.vue.d.ts.map +0 -1
- package/dist/components/Server/ServerDropdownItem.vue.js +0 -9
- package/dist/components/Server/ServerDropdownItem.vue.js.map +0 -1
- package/dist/components/Server/ServerDropdownItem.vue.script.js +0 -90
- package/dist/components/Server/ServerDropdownItem.vue.script.js.map +0 -1
- package/dist/components/Server/ServerSelector.vue.d.ts +0 -17
- package/dist/components/Server/ServerSelector.vue.d.ts.map +0 -1
- package/dist/components/Server/ServerSelector.vue.js +0 -7
- package/dist/components/Server/ServerSelector.vue.js.map +0 -1
- package/dist/components/Server/ServerSelector.vue.script.js +0 -87
- package/dist/components/Server/ServerSelector.vue.script.js.map +0 -1
- package/dist/components/SideNav/DownloadAppButton.vue.d.ts +0 -4
- package/dist/components/SideNav/DownloadAppButton.vue.d.ts.map +0 -1
- package/dist/components/SideNav/DownloadAppButton.vue.js +0 -9
- package/dist/components/SideNav/DownloadAppButton.vue.js.map +0 -1
- package/dist/components/SideNav/DownloadAppButton.vue.script.js +0 -31
- package/dist/components/SideNav/DownloadAppButton.vue.script.js.map +0 -1
- package/dist/components/SideNav/SideHelp.vue.d.ts +0 -4
- package/dist/components/SideNav/SideHelp.vue.d.ts.map +0 -1
- package/dist/components/SideNav/SideHelp.vue.js +0 -7
- package/dist/components/SideNav/SideHelp.vue.js.map +0 -1
- package/dist/components/SideNav/SideHelp.vue.script.js +0 -102
- package/dist/components/SideNav/SideHelp.vue.script.js.map +0 -1
- package/dist/components/SideNav/SideNav.vue.d.ts +0 -4
- package/dist/components/SideNav/SideNav.vue.d.ts.map +0 -1
- package/dist/components/SideNav/SideNav.vue.js +0 -7
- package/dist/components/SideNav/SideNav.vue.js.map +0 -1
- package/dist/components/SideNav/SideNav.vue.script.js +0 -80
- package/dist/components/SideNav/SideNav.vue.script.js.map +0 -1
- package/dist/components/SideNav/SideNavGroup.vue.d.ts +0 -14
- package/dist/components/SideNav/SideNavGroup.vue.d.ts.map +0 -1
- package/dist/components/SideNav/SideNavGroup.vue.js +0 -7
- package/dist/components/SideNav/SideNavGroup.vue.js.map +0 -1
- package/dist/components/SideNav/SideNavGroup.vue.script.js +0 -16
- package/dist/components/SideNav/SideNavGroup.vue.script.js.map +0 -1
- package/dist/components/SideNav/SideNavLink.vue.d.ts +0 -23
- package/dist/components/SideNav/SideNavLink.vue.d.ts.map +0 -1
- package/dist/components/SideNav/SideNavLink.vue.js +0 -7
- package/dist/components/SideNav/SideNavLink.vue.js.map +0 -1
- package/dist/components/SideNav/SideNavLink.vue.script.js +0 -32
- package/dist/components/SideNav/SideNavLink.vue.script.js.map +0 -1
- package/dist/components/SideNav/SideNavRouterLink.vue.d.ts +0 -21
- package/dist/components/SideNav/SideNavRouterLink.vue.d.ts.map +0 -1
- package/dist/components/SideNav/SideNavRouterLink.vue.js +0 -7
- package/dist/components/SideNav/SideNavRouterLink.vue.js.map +0 -1
- package/dist/components/SideNav/SideNavRouterLink.vue.script.js +0 -34
- package/dist/components/SideNav/SideNavRouterLink.vue.script.js.map +0 -1
- package/dist/components/Sidebar/Actions/EditSidebarListCollection.vue.d.ts +0 -14
- package/dist/components/Sidebar/Actions/EditSidebarListCollection.vue.d.ts.map +0 -1
- package/dist/components/Sidebar/Actions/EditSidebarListCollection.vue.js +0 -7
- package/dist/components/Sidebar/Actions/EditSidebarListCollection.vue.js.map +0 -1
- package/dist/components/Sidebar/Actions/EditSidebarListCollection.vue.script.js +0 -56
- package/dist/components/Sidebar/Actions/EditSidebarListCollection.vue.script.js.map +0 -1
- package/dist/components/Sidebar/Actions/EditSidebarListElement.vue.d.ts.map +0 -1
- package/dist/components/Sidebar/Actions/EditSidebarListElement.vue.js +0 -7
- package/dist/components/Sidebar/Actions/EditSidebarListElement.vue.js.map +0 -1
- package/dist/components/Sidebar/Actions/EditSidebarListElement.vue.script.js +0 -31
- package/dist/components/Sidebar/Actions/EditSidebarListElement.vue.script.js.map +0 -1
- package/dist/components/Sidebar/Sidebar.vue.d.ts +0 -23
- package/dist/components/Sidebar/Sidebar.vue.d.ts.map +0 -1
- package/dist/components/Sidebar/Sidebar.vue.js +0 -9
- package/dist/components/Sidebar/Sidebar.vue.js.map +0 -1
- package/dist/components/Sidebar/Sidebar.vue.script.js +0 -71
- package/dist/components/Sidebar/Sidebar.vue.script.js.map +0 -1
- package/dist/components/Sidebar/SidebarButton.vue.d.ts.map +0 -1
- package/dist/components/Sidebar/SidebarButton.vue.js +0 -7
- package/dist/components/Sidebar/SidebarButton.vue.js.map +0 -1
- package/dist/components/Sidebar/SidebarButton.vue.script.js +0 -36
- package/dist/components/Sidebar/SidebarButton.vue.script.js.map +0 -1
- package/dist/components/Sidebar/SidebarList.vue.d.ts +0 -14
- package/dist/components/Sidebar/SidebarList.vue.d.ts.map +0 -1
- package/dist/components/Sidebar/SidebarList.vue.js +0 -13
- package/dist/components/Sidebar/SidebarList.vue.js.map +0 -1
- package/dist/components/Sidebar/SidebarListElement.vue.d.ts +0 -44
- package/dist/components/Sidebar/SidebarListElement.vue.d.ts.map +0 -1
- package/dist/components/Sidebar/SidebarListElement.vue.js +0 -10
- package/dist/components/Sidebar/SidebarListElement.vue.js.map +0 -1
- package/dist/components/Sidebar/SidebarListElement.vue.script.js +0 -128
- package/dist/components/Sidebar/SidebarListElement.vue.script.js.map +0 -1
- package/dist/components/Sidebar/SidebarListElementActions.vue.d.ts +0 -21
- package/dist/components/Sidebar/SidebarListElementActions.vue.d.ts.map +0 -1
- package/dist/components/Sidebar/SidebarListElementActions.vue.js +0 -7
- package/dist/components/Sidebar/SidebarListElementActions.vue.js.map +0 -1
- package/dist/components/Sidebar/SidebarListElementActions.vue.script.js +0 -97
- package/dist/components/Sidebar/SidebarListElementActions.vue.script.js.map +0 -1
- package/dist/components/Sidebar/SidebarToggle.vue.d.ts +0 -4
- package/dist/components/Sidebar/SidebarToggle.vue.d.ts.map +0 -1
- package/dist/components/Sidebar/SidebarToggle.vue.js +0 -7
- package/dist/components/Sidebar/SidebarToggle.vue.js.map +0 -1
- package/dist/components/Sidebar/SidebarToggle.vue.script.js +0 -47
- package/dist/components/Sidebar/SidebarToggle.vue.script.js.map +0 -1
- package/dist/components/Sidebar/index.d.ts +0 -2
- package/dist/components/Sidebar/index.d.ts.map +0 -1
- package/dist/components/Sidebar/index.js +0 -2
- package/dist/components/TopNav/TopNav.vue.d.ts +0 -10
- package/dist/components/TopNav/TopNav.vue.d.ts.map +0 -1
- package/dist/components/TopNav/TopNav.vue.js +0 -7
- package/dist/components/TopNav/TopNav.vue.js.map +0 -1
- package/dist/components/TopNav/TopNav.vue.script.js +0 -232
- package/dist/components/TopNav/TopNav.vue.script.js.map +0 -1
- package/dist/components/TopNav/TopNavItem.vue.d.ts +0 -24
- package/dist/components/TopNav/TopNavItem.vue.d.ts.map +0 -1
- package/dist/components/TopNav/TopNavItem.vue.js +0 -9
- package/dist/components/TopNav/TopNavItem.vue.js.map +0 -1
- package/dist/components/TopNav/TopNavItem.vue.script.js +0 -129
- package/dist/components/TopNav/TopNavItem.vue.script.js.map +0 -1
- package/dist/components/ViewLayout/ViewLayoutCollapse.vue.d.ts +0 -33
- package/dist/components/ViewLayout/ViewLayoutCollapse.vue.d.ts.map +0 -1
- package/dist/components/ViewLayout/ViewLayoutCollapse.vue.js +0 -7
- package/dist/components/ViewLayout/ViewLayoutCollapse.vue.js.map +0 -1
- package/dist/components/ViewLayout/ViewLayoutCollapse.vue.script.js +0 -84
- package/dist/components/ViewLayout/ViewLayoutCollapse.vue.script.js.map +0 -1
- package/dist/components/ViewLayout/index.d.ts +0 -2
- package/dist/components/ViewLayout/index.d.ts.map +0 -1
- package/dist/components/ViewLayout/index.js +0 -2
- package/dist/components/index.d.ts +0 -4
- package/dist/components/index.d.ts.map +0 -1
- package/dist/components/index.js +0 -4
- package/dist/constants.d.ts +0 -26
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js +0 -27
- package/dist/constants.js.map +0 -1
- package/dist/data/httpHeaders.d.ts +0 -7
- package/dist/data/httpHeaders.d.ts.map +0 -1
- package/dist/data/httpHeaders.js +0 -539
- package/dist/data/httpHeaders.js.map +0 -1
- package/dist/hooks/index.d.ts +0 -5
- package/dist/hooks/index.d.ts.map +0 -1
- package/dist/hooks/index.js +0 -5
- package/dist/hooks/useClientConfig.d.ts +0 -198
- package/dist/hooks/useClientConfig.d.ts.map +0 -1
- package/dist/hooks/useClientConfig.js +0 -23
- package/dist/hooks/useClientConfig.js.map +0 -1
- package/dist/hooks/useFileDialog.d.ts.map +0 -1
- package/dist/hooks/useFileDialog.js.map +0 -1
- package/dist/hooks/useLayout.d.ts +0 -17
- package/dist/hooks/useLayout.d.ts.map +0 -1
- package/dist/hooks/useLayout.js +0 -13
- package/dist/hooks/useLayout.js.map +0 -1
- package/dist/hooks/useResponseBody.d.ts +0 -19
- package/dist/hooks/useResponseBody.d.ts.map +0 -1
- package/dist/hooks/useResponseBody.js +0 -32
- package/dist/hooks/useResponseBody.js.map +0 -1
- package/dist/hooks/useSidebar.d.ts +0 -26
- package/dist/hooks/useSidebar.d.ts.map +0 -1
- package/dist/hooks/useSidebar.js +0 -36
- package/dist/hooks/useSidebar.js.map +0 -1
- package/dist/layouts/App/ApiClientApp.vue.d.ts +0 -14
- package/dist/layouts/App/ApiClientApp.vue.d.ts.map +0 -1
- package/dist/layouts/App/ApiClientApp.vue.js +0 -8
- package/dist/layouts/App/ApiClientApp.vue.js.map +0 -1
- package/dist/layouts/App/ApiClientApp.vue.script.js +0 -80
- package/dist/layouts/App/ApiClientApp.vue.script.js.map +0 -1
- package/dist/layouts/App/MainLayout.vue.d.ts +0 -14
- package/dist/layouts/App/MainLayout.vue.d.ts.map +0 -1
- package/dist/layouts/App/MainLayout.vue.js +0 -7
- package/dist/layouts/App/MainLayout.vue.js.map +0 -1
- package/dist/layouts/App/MainLayout.vue.script.js +0 -22
- package/dist/layouts/App/MainLayout.vue.script.js.map +0 -1
- package/dist/layouts/App/create-api-client-app.d.ts +0 -4059
- package/dist/layouts/App/create-api-client-app.d.ts.map +0 -1
- package/dist/layouts/App/create-api-client-app.js +0 -36
- package/dist/layouts/App/create-api-client-app.js.map +0 -1
- package/dist/layouts/App/hotkeys.d.ts +0 -6
- package/dist/layouts/App/hotkeys.d.ts.map +0 -1
- package/dist/layouts/App/hotkeys.js +0 -74
- package/dist/layouts/App/hotkeys.js.map +0 -1
- package/dist/layouts/App/index.d.ts +0 -3
- package/dist/layouts/App/index.d.ts.map +0 -1
- package/dist/layouts/App/index.js +0 -3
- package/dist/layouts/Modal/ApiClientModal.vue.d.ts +0 -4
- package/dist/layouts/Modal/ApiClientModal.vue.d.ts.map +0 -1
- package/dist/layouts/Modal/ApiClientModal.vue.js +0 -7
- package/dist/layouts/Modal/ApiClientModal.vue.js.map +0 -1
- package/dist/layouts/Modal/ApiClientModal.vue.script.js +0 -41
- package/dist/layouts/Modal/ApiClientModal.vue.script.js.map +0 -1
- package/dist/layouts/Modal/create-api-client-modal.d.ts +0 -12
- package/dist/layouts/Modal/create-api-client-modal.d.ts.map +0 -1
- package/dist/layouts/Modal/create-api-client-modal.js +0 -34
- package/dist/layouts/Modal/create-api-client-modal.js.map +0 -1
- package/dist/layouts/Modal/index.d.ts +0 -3
- package/dist/layouts/Modal/index.d.ts.map +0 -1
- package/dist/layouts/Modal/index.js +0 -2
- package/dist/layouts/Web/ApiClientWeb.vue.d.ts +0 -4
- package/dist/layouts/Web/ApiClientWeb.vue.d.ts.map +0 -1
- package/dist/layouts/Web/ApiClientWeb.vue.js +0 -8
- package/dist/layouts/Web/ApiClientWeb.vue.js.map +0 -1
- package/dist/layouts/Web/ApiClientWeb.vue.script.js +0 -68
- package/dist/layouts/Web/ApiClientWeb.vue.script.js.map +0 -1
- package/dist/layouts/Web/create-api-client-web.d.ts +0 -4056
- package/dist/layouts/Web/create-api-client-web.d.ts.map +0 -1
- package/dist/layouts/Web/create-api-client-web.js +0 -33
- package/dist/layouts/Web/create-api-client-web.js.map +0 -1
- package/dist/layouts/Web/index.d.ts +0 -3
- package/dist/layouts/Web/index.d.ts.map +0 -1
- package/dist/layouts/Web/index.js +0 -3
- package/dist/libs/create-client.d.ts +0 -4127
- package/dist/libs/create-client.d.ts.map +0 -1
- package/dist/libs/create-client.js +0 -178
- package/dist/libs/create-client.js.map +0 -1
- package/dist/libs/electron.d.ts +0 -5
- package/dist/libs/electron.d.ts.map +0 -1
- package/dist/libs/electron.js +0 -9
- package/dist/libs/electron.js.map +0 -1
- package/dist/libs/env-helpers.d.ts +0 -17
- package/dist/libs/env-helpers.d.ts.map +0 -1
- package/dist/libs/env-helpers.js +0 -9
- package/dist/libs/env-helpers.js.map +0 -1
- package/dist/libs/environment-parser.d.ts +0 -8
- package/dist/libs/environment-parser.d.ts.map +0 -1
- package/dist/libs/environment-parser.js +0 -19
- package/dist/libs/environment-parser.js.map +0 -1
- package/dist/libs/errors.d.ts +0 -23
- package/dist/libs/errors.d.ts.map +0 -1
- package/dist/libs/errors.js +0 -34
- package/dist/libs/errors.js.map +0 -1
- package/dist/libs/event-bus.d.ts +0 -41
- package/dist/libs/event-bus.d.ts.map +0 -1
- package/dist/libs/event-bus.js +0 -43
- package/dist/libs/event-bus.js.map +0 -1
- package/dist/libs/extractAttachmentFilename.d.ts +0 -5
- package/dist/libs/extractAttachmentFilename.d.ts.map +0 -1
- package/dist/libs/extractAttachmentFilename.js +0 -23
- package/dist/libs/extractAttachmentFilename.js.map +0 -1
- package/dist/libs/find-request.d.ts +0 -75
- package/dist/libs/find-request.d.ts.map +0 -1
- package/dist/libs/find-request.js +0 -40
- package/dist/libs/find-request.js.map +0 -1
- package/dist/libs/get-request-uid-by-path-method.d.ts +0 -7
- package/dist/libs/get-request-uid-by-path-method.d.ts.map +0 -1
- package/dist/libs/get-request-uid-by-path-method.js +0 -19
- package/dist/libs/get-request-uid-by-path-method.js.map +0 -1
- package/dist/libs/getOpenApiDocumentDetails.d.ts +0 -10
- package/dist/libs/getOpenApiDocumentDetails.d.ts.map +0 -1
- package/dist/libs/getOpenApiDocumentDetails.js +0 -45
- package/dist/libs/getOpenApiDocumentDetails.js.map +0 -1
- package/dist/libs/hot-keys.d.ts +0 -35
- package/dist/libs/hot-keys.d.ts.map +0 -1
- package/dist/libs/hot-keys.js +0 -92
- package/dist/libs/hot-keys.js.map +0 -1
- package/dist/libs/importers/curl.d.ts +0 -27
- package/dist/libs/importers/curl.d.ts.map +0 -1
- package/dist/libs/importers/curl.js +0 -54
- package/dist/libs/importers/curl.js.map +0 -1
- package/dist/libs/importers/index.d.ts +0 -2
- package/dist/libs/importers/index.d.ts.map +0 -1
- package/dist/libs/importers/index.js +0 -2
- package/dist/libs/index.d.ts +0 -15
- package/dist/libs/index.d.ts.map +0 -1
- package/dist/libs/index.js +0 -17
- package/dist/libs/isUrl.d.ts +0 -3
- package/dist/libs/isUrl.d.ts.map +0 -1
- package/dist/libs/isUrl.js +0 -12
- package/dist/libs/isUrl.js.map +0 -1
- package/dist/libs/local-storage.d.ts +0 -9
- package/dist/libs/local-storage.d.ts.map +0 -1
- package/dist/libs/local-storage.js +0 -40
- package/dist/libs/local-storage.js.map +0 -1
- package/dist/libs/normalize-headers.d.ts +0 -14
- package/dist/libs/normalize-headers.d.ts.map +0 -1
- package/dist/libs/normalize-headers.js +0 -56
- package/dist/libs/normalize-headers.js.map +0 -1
- package/dist/libs/parse-curl.d.ts.map +0 -1
- package/dist/libs/parse-curl.js.map +0 -1
- package/dist/libs/postman.d.ts +0 -11
- package/dist/libs/postman.d.ts.map +0 -1
- package/dist/libs/postman.js +0 -40
- package/dist/libs/postman.js.map +0 -1
- package/dist/libs/send-request/build-request-security.d.ts +0 -19
- package/dist/libs/send-request/build-request-security.d.ts.map +0 -1
- package/dist/libs/send-request/build-request-security.js +0 -41
- package/dist/libs/send-request/build-request-security.js.map +0 -1
- package/dist/libs/send-request/create-fetch-body.d.ts +0 -18
- package/dist/libs/send-request/create-fetch-body.d.ts.map +0 -1
- package/dist/libs/send-request/create-fetch-body.js +0 -44
- package/dist/libs/send-request/create-fetch-body.js.map +0 -1
- package/dist/libs/send-request/create-fetch-headers.d.ts +0 -4
- package/dist/libs/send-request/create-fetch-headers.d.ts.map +0 -1
- package/dist/libs/send-request/create-fetch-headers.js +0 -15
- package/dist/libs/send-request/create-fetch-headers.js.map +0 -1
- package/dist/libs/send-request/create-fetch-query-params.d.ts +0 -11
- package/dist/libs/send-request/create-fetch-query-params.d.ts.map +0 -1
- package/dist/libs/send-request/create-fetch-query-params.js +0 -43
- package/dist/libs/send-request/create-fetch-query-params.js.map +0 -1
- package/dist/libs/send-request/create-request-operation.d.ts +0 -32
- package/dist/libs/send-request/create-request-operation.d.ts.map +0 -1
- package/dist/libs/send-request/create-request-operation.js +0 -172
- package/dist/libs/send-request/create-request-operation.js.map +0 -1
- package/dist/libs/send-request/decode-buffer.d.ts +0 -3
- package/dist/libs/send-request/decode-buffer.d.ts.map +0 -1
- package/dist/libs/send-request/decode-buffer.js +0 -13
- package/dist/libs/send-request/decode-buffer.js.map +0 -1
- package/dist/libs/send-request/index.d.ts +0 -4
- package/dist/libs/send-request/index.d.ts.map +0 -1
- package/dist/libs/send-request/index.js +0 -4
- package/dist/libs/send-request/set-request-cookies.d.ts +0 -27
- package/dist/libs/send-request/set-request-cookies.d.ts.map +0 -1
- package/dist/libs/send-request/set-request-cookies.js +0 -82
- package/dist/libs/send-request/set-request-cookies.js.map +0 -1
- package/dist/libs/string-template.d.ts +0 -21
- package/dist/libs/string-template.d.ts.map +0 -1
- package/dist/libs/string-template.js +0 -64
- package/dist/libs/string-template.js.map +0 -1
- package/dist/libs/validate-parameters.d.ts +0 -14
- package/dist/libs/validate-parameters.d.ts.map +0 -1
- package/dist/libs/validate-parameters.js +0 -35
- package/dist/libs/validate-parameters.js.map +0 -1
- package/dist/plugins/hooks/usePluginManager.d.ts +0 -8
- package/dist/plugins/hooks/usePluginManager.d.ts.map +0 -1
- package/dist/plugins/hooks/usePluginManager.js +0 -16
- package/dist/plugins/hooks/usePluginManager.js.map +0 -1
- package/dist/plugins/index.d.ts +0 -3
- package/dist/plugins/index.d.ts.map +0 -1
- package/dist/plugins/index.js +0 -3
- package/dist/plugins/plugin-manager.d.ts +0 -34
- package/dist/plugins/plugin-manager.d.ts.map +0 -1
- package/dist/plugins/plugin-manager.js +0 -38
- package/dist/plugins/plugin-manager.js.map +0 -1
- package/dist/routes.d.ts +0 -19
- package/dist/routes.d.ts.map +0 -1
- package/dist/routes.js +0 -225
- package/dist/routes.js.map +0 -1
- package/dist/store/active-entities.d.ts +0 -387
- package/dist/store/active-entities.d.ts.map +0 -1
- package/dist/store/active-entities.js +0 -139
- package/dist/store/active-entities.js.map +0 -1
- package/dist/store/collections.d.ts +0 -625
- package/dist/store/collections.d.ts.map +0 -1
- package/dist/store/collections.js +0 -76
- package/dist/store/collections.js.map +0 -1
- package/dist/store/cookies.d.ts +0 -69
- package/dist/store/cookies.d.ts.map +0 -1
- package/dist/store/cookies.js +0 -16
- package/dist/store/cookies.js.map +0 -1
- package/dist/store/environment.d.ts +0 -75
- package/dist/store/environment.d.ts.map +0 -1
- package/dist/store/environment.js +0 -38
- package/dist/store/environment.js.map +0 -1
- package/dist/store/events.d.ts +0 -35
- package/dist/store/events.d.ts.map +0 -1
- package/dist/store/events.js +0 -17
- package/dist/store/events.js.map +0 -1
- package/dist/store/import-spec.d.ts +0 -38
- package/dist/store/import-spec.d.ts.map +0 -1
- package/dist/store/import-spec.js +0 -56
- package/dist/store/import-spec.js.map +0 -1
- package/dist/store/index.d.ts +0 -3
- package/dist/store/index.d.ts.map +0 -1
- package/dist/store/index.js +0 -3
- package/dist/store/request-example.d.ts +0 -1022
- package/dist/store/request-example.d.ts.map +0 -1
- package/dist/store/request-example.js +0 -43
- package/dist/store/request-example.js.map +0 -1
- package/dist/store/requests.d.ts +0 -675
- package/dist/store/requests.d.ts.map +0 -1
- package/dist/store/requests.js +0 -104
- package/dist/store/requests.js.map +0 -1
- package/dist/store/router-params.d.ts +0 -18
- package/dist/store/router-params.d.ts.map +0 -1
- package/dist/store/router-params.js +0 -27
- package/dist/store/router-params.js.map +0 -1
- package/dist/store/security-schemes.d.ts +0 -942
- package/dist/store/security-schemes.d.ts.map +0 -1
- package/dist/store/security-schemes.js +0 -45
- package/dist/store/security-schemes.js.map +0 -1
- package/dist/store/servers.d.ts +0 -122
- package/dist/store/servers.d.ts.map +0 -1
- package/dist/store/servers.js +0 -41
- package/dist/store/servers.js.map +0 -1
- package/dist/store/store-context.d.ts +0 -26
- package/dist/store/store-context.d.ts.map +0 -1
- package/dist/store/store.d.ts +0 -4055
- package/dist/store/store.d.ts.map +0 -1
- package/dist/store/store.js +0 -180
- package/dist/store/store.js.map +0 -1
- package/dist/store/tags.d.ts +0 -176
- package/dist/store/tags.d.ts.map +0 -1
- package/dist/store/tags.js +0 -54
- package/dist/store/tags.js.map +0 -1
- package/dist/store/workspace.d.ts +0 -232
- package/dist/store/workspace.d.ts.map +0 -1
- package/dist/store/workspace.js +0 -57
- package/dist/store/workspace.js.map +0 -1
- package/dist/types/index.d.ts +0 -2
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -0
- package/dist/v2/features/command-palette/helpers/is-postman-collection.d.ts +0 -11
- package/dist/v2/features/command-palette/helpers/is-postman-collection.d.ts.map +0 -1
- package/dist/v2/features/command-palette/helpers/is-postman-collection.js +0 -24
- package/dist/v2/features/command-palette/helpers/is-postman-collection.js.map +0 -1
- package/dist/v2/posthog.d.ts +0 -3
- package/dist/v2/posthog.d.ts.map +0 -1
- package/dist/v2/posthog.js +0 -20
- package/dist/v2/posthog.js.map +0 -1
- package/dist/views/Collection/Collection.vue.d.ts +0 -4
- package/dist/views/Collection/Collection.vue.d.ts.map +0 -1
- package/dist/views/Collection/Collection.vue.js +0 -7
- package/dist/views/Collection/Collection.vue.js.map +0 -1
- package/dist/views/Collection/Collection.vue.script.js +0 -46
- package/dist/views/Collection/Collection.vue.script.js.map +0 -1
- package/dist/views/Collection/CollectionAuthentication.vue.d.ts +0 -4
- package/dist/views/Collection/CollectionAuthentication.vue.d.ts.map +0 -1
- package/dist/views/Collection/CollectionAuthentication.vue.js +0 -9
- package/dist/views/Collection/CollectionAuthentication.vue.js.map +0 -1
- package/dist/views/Collection/CollectionAuthentication.vue.script.js +0 -52
- package/dist/views/Collection/CollectionAuthentication.vue.script.js.map +0 -1
- package/dist/views/Collection/CollectionCookies.vue.d.ts +0 -4
- package/dist/views/Collection/CollectionCookies.vue.d.ts.map +0 -1
- package/dist/views/Collection/CollectionCookies.vue.js +0 -7
- package/dist/views/Collection/CollectionCookies.vue.js.map +0 -1
- package/dist/views/Collection/CollectionCookies.vue.script.js +0 -18
- package/dist/views/Collection/CollectionCookies.vue.script.js.map +0 -1
- package/dist/views/Collection/CollectionEnvironment.vue.d.ts +0 -4
- package/dist/views/Collection/CollectionEnvironment.vue.d.ts.map +0 -1
- package/dist/views/Collection/CollectionEnvironment.vue.js +0 -8
- package/dist/views/Collection/CollectionEnvironment.vue.js.map +0 -1
- package/dist/views/Collection/CollectionEnvironment.vue.script.js +0 -238
- package/dist/views/Collection/CollectionEnvironment.vue.script.js.map +0 -1
- package/dist/views/Collection/CollectionInfoForm.vue.d.ts +0 -4
- package/dist/views/Collection/CollectionInfoForm.vue.d.ts.map +0 -1
- package/dist/views/Collection/CollectionInfoForm.vue.js +0 -9
- package/dist/views/Collection/CollectionInfoForm.vue.js.map +0 -1
- package/dist/views/Collection/CollectionInfoForm.vue.script.js +0 -73
- package/dist/views/Collection/CollectionInfoForm.vue.script.js.map +0 -1
- package/dist/views/Collection/CollectionNavigation.vue.d.ts.map +0 -1
- package/dist/views/Collection/CollectionNavigation.vue.js +0 -7
- package/dist/views/Collection/CollectionNavigation.vue.js.map +0 -1
- package/dist/views/Collection/CollectionNavigation.vue.script.js +0 -75
- package/dist/views/Collection/CollectionNavigation.vue.script.js.map +0 -1
- package/dist/views/Collection/CollectionOverview.vue.d.ts +0 -4
- package/dist/views/Collection/CollectionOverview.vue.d.ts.map +0 -1
- package/dist/views/Collection/CollectionOverview.vue.js +0 -7
- package/dist/views/Collection/CollectionOverview.vue.js.map +0 -1
- package/dist/views/Collection/CollectionOverview.vue.script.js +0 -42
- package/dist/views/Collection/CollectionOverview.vue.script.js.map +0 -1
- package/dist/views/Collection/CollectionScripts.vue.d.ts +0 -4
- package/dist/views/Collection/CollectionScripts.vue.d.ts.map +0 -1
- package/dist/views/Collection/CollectionScripts.vue.js +0 -7
- package/dist/views/Collection/CollectionScripts.vue.js.map +0 -1
- package/dist/views/Collection/CollectionScripts.vue.script.js +0 -18
- package/dist/views/Collection/CollectionScripts.vue.script.js.map +0 -1
- package/dist/views/Collection/CollectionServerForm.vue.d.ts +0 -11
- package/dist/views/Collection/CollectionServerForm.vue.d.ts.map +0 -1
- package/dist/views/Collection/CollectionServerForm.vue.js +0 -7
- package/dist/views/Collection/CollectionServerForm.vue.js.map +0 -1
- package/dist/views/Collection/CollectionServerForm.vue.script.js +0 -76
- package/dist/views/Collection/CollectionServerForm.vue.script.js.map +0 -1
- package/dist/views/Collection/CollectionServers.vue.d.ts +0 -4
- package/dist/views/Collection/CollectionServers.vue.d.ts.map +0 -1
- package/dist/views/Collection/CollectionServers.vue.js +0 -7
- package/dist/views/Collection/CollectionServers.vue.js.map +0 -1
- package/dist/views/Collection/CollectionServers.vue.script.js +0 -95
- package/dist/views/Collection/CollectionServers.vue.script.js.map +0 -1
- package/dist/views/Collection/CollectionSettings.vue.d.ts +0 -4
- package/dist/views/Collection/CollectionSettings.vue.d.ts.map +0 -1
- package/dist/views/Collection/CollectionSettings.vue.js +0 -7
- package/dist/views/Collection/CollectionSettings.vue.js.map +0 -1
- package/dist/views/Collection/CollectionSettings.vue.script.js +0 -87
- package/dist/views/Collection/CollectionSettings.vue.script.js.map +0 -1
- package/dist/views/Collection/CollectionSync.vue.d.ts +0 -4
- package/dist/views/Collection/CollectionSync.vue.d.ts.map +0 -1
- package/dist/views/Collection/CollectionSync.vue.js +0 -7
- package/dist/views/Collection/CollectionSync.vue.js.map +0 -1
- package/dist/views/Collection/CollectionSync.vue.script.js +0 -18
- package/dist/views/Collection/CollectionSync.vue.script.js.map +0 -1
- package/dist/views/Collection/components/EnvironmentForm.vue.d.ts +0 -14
- package/dist/views/Collection/components/EnvironmentForm.vue.d.ts.map +0 -1
- package/dist/views/Collection/components/EnvironmentForm.vue.js +0 -9
- package/dist/views/Collection/components/EnvironmentForm.vue.js.map +0 -1
- package/dist/views/Collection/components/EnvironmentForm.vue.script.js +0 -284
- package/dist/views/Collection/components/EnvironmentForm.vue.script.js.map +0 -1
- package/dist/views/Collection/components/MarkdownInput.vue.d.ts +0 -17
- package/dist/views/Collection/components/MarkdownInput.vue.d.ts.map +0 -1
- package/dist/views/Collection/components/MarkdownInput.vue.js +0 -9
- package/dist/views/Collection/components/MarkdownInput.vue.js.map +0 -1
- package/dist/views/Collection/components/MarkdownInput.vue.script.js +0 -92
- package/dist/views/Collection/components/MarkdownInput.vue.script.js.map +0 -1
- package/dist/views/Components/CodeSnippet/CodeSnippet.vue.d.ts +0 -16
- package/dist/views/Components/CodeSnippet/CodeSnippet.vue.d.ts.map +0 -1
- package/dist/views/Components/CodeSnippet/CodeSnippet.vue.js +0 -7
- package/dist/views/Components/CodeSnippet/CodeSnippet.vue.js.map +0 -1
- package/dist/views/Components/CodeSnippet/CodeSnippet.vue.script.js +0 -74
- package/dist/views/Components/CodeSnippet/CodeSnippet.vue.script.js.map +0 -1
- package/dist/views/Components/CodeSnippet/helpers/convert-to-har-request.d.ts +0 -28
- package/dist/views/Components/CodeSnippet/helpers/convert-to-har-request.d.ts.map +0 -1
- package/dist/views/Components/CodeSnippet/helpers/convert-to-har-request.js +0 -66
- package/dist/views/Components/CodeSnippet/helpers/convert-to-har-request.js.map +0 -1
- package/dist/views/Components/CodeSnippet/helpers/get-har-request.d.ts +0 -16
- package/dist/views/Components/CodeSnippet/helpers/get-har-request.d.ts.map +0 -1
- package/dist/views/Components/CodeSnippet/helpers/get-har-request.js +0 -86
- package/dist/views/Components/CodeSnippet/helpers/get-har-request.js.map +0 -1
- package/dist/views/Components/CodeSnippet/helpers/get-snippet.d.ts.map +0 -1
- package/dist/views/Components/CodeSnippet/helpers/get-snippet.js.map +0 -1
- package/dist/views/Components/CodeSnippet/index.d.ts +0 -5
- package/dist/views/Components/CodeSnippet/index.d.ts.map +0 -1
- package/dist/views/Components/CodeSnippet/index.js +0 -5
- package/dist/views/Cookies/CookieForm.vue.d.ts +0 -4
- package/dist/views/Cookies/CookieForm.vue.d.ts.map +0 -1
- package/dist/views/Cookies/CookieForm.vue.js +0 -7
- package/dist/views/Cookies/CookieForm.vue.js.map +0 -1
- package/dist/views/Cookies/CookieForm.vue.script.js +0 -50
- package/dist/views/Cookies/CookieForm.vue.script.js.map +0 -1
- package/dist/views/Cookies/CookieModal.vue.d.ts +0 -22
- package/dist/views/Cookies/CookieModal.vue.d.ts.map +0 -1
- package/dist/views/Cookies/CookieModal.vue.js +0 -9
- package/dist/views/Cookies/CookieModal.vue.js.map +0 -1
- package/dist/views/Cookies/CookieModal.vue.script.js +0 -83
- package/dist/views/Cookies/CookieModal.vue.script.js.map +0 -1
- package/dist/views/Cookies/CookieRaw.vue.d.ts +0 -4
- package/dist/views/Cookies/CookieRaw.vue.d.ts.map +0 -1
- package/dist/views/Cookies/Cookies.vue.d.ts +0 -4
- package/dist/views/Cookies/Cookies.vue.d.ts.map +0 -1
- package/dist/views/Cookies/Cookies.vue.js +0 -7
- package/dist/views/Cookies/Cookies.vue.js.map +0 -1
- package/dist/views/Cookies/Cookies.vue.script.js +0 -156
- package/dist/views/Cookies/Cookies.vue.script.js.map +0 -1
- package/dist/views/Environment/Environment.vue.d.ts +0 -4
- package/dist/views/Environment/Environment.vue.d.ts.map +0 -1
- package/dist/views/Environment/Environment.vue.js +0 -7
- package/dist/views/Environment/Environment.vue.js.map +0 -1
- package/dist/views/Environment/Environment.vue.script.js +0 -384
- package/dist/views/Environment/Environment.vue.script.js.map +0 -1
- package/dist/views/Environment/EnvironmentColorModal.vue.d.ts +0 -15
- package/dist/views/Environment/EnvironmentColorModal.vue.d.ts.map +0 -1
- package/dist/views/Environment/EnvironmentColorModal.vue.js +0 -7
- package/dist/views/Environment/EnvironmentColorModal.vue.js.map +0 -1
- package/dist/views/Environment/EnvironmentColorModal.vue.script.js +0 -47
- package/dist/views/Environment/EnvironmentColorModal.vue.script.js.map +0 -1
- package/dist/views/Environment/EnvironmentColors.vue.d.ts +0 -14
- package/dist/views/Environment/EnvironmentColors.vue.d.ts.map +0 -1
- package/dist/views/Environment/EnvironmentColors.vue.js +0 -7
- package/dist/views/Environment/EnvironmentColors.vue.js.map +0 -1
- package/dist/views/Environment/EnvironmentColors.vue.script.js +0 -126
- package/dist/views/Environment/EnvironmentColors.vue.script.js.map +0 -1
- package/dist/views/Environment/EnvironmentModal.vue.d.ts +0 -27
- package/dist/views/Environment/EnvironmentModal.vue.d.ts.map +0 -1
- package/dist/views/Environment/EnvironmentModal.vue.js +0 -7
- package/dist/views/Environment/EnvironmentModal.vue.js.map +0 -1
- package/dist/views/Environment/EnvironmentModal.vue.script.js +0 -122
- package/dist/views/Environment/EnvironmentModal.vue.script.js.map +0 -1
- package/dist/views/Environment/EnvironmentVariableDropdown.vue.d.ts +0 -22
- package/dist/views/Environment/EnvironmentVariableDropdown.vue.d.ts.map +0 -1
- package/dist/views/Environment/EnvironmentVariableDropdown.vue.js +0 -7
- package/dist/views/Environment/EnvironmentVariableDropdown.vue.js.map +0 -1
- package/dist/views/Environment/EnvironmentVariableDropdown.vue.script.js +0 -133
- package/dist/views/Environment/EnvironmentVariableDropdown.vue.script.js.map +0 -1
- package/dist/views/Environment/handle-drag.d.ts +0 -13
- package/dist/views/Environment/handle-drag.d.ts.map +0 -1
- package/dist/views/Environment/handle-drag.js +0 -38
- package/dist/views/Environment/handle-drag.js.map +0 -1
- package/dist/views/Request/Request.vue.d.ts +0 -21
- package/dist/views/Request/Request.vue.d.ts.map +0 -1
- package/dist/views/Request/Request.vue.js +0 -9
- package/dist/views/Request/Request.vue.js.map +0 -1
- package/dist/views/Request/Request.vue.script.js +0 -117
- package/dist/views/Request/Request.vue.script.js.map +0 -1
- package/dist/views/Request/RequestRoot.vue.d.ts +0 -14
- package/dist/views/Request/RequestRoot.vue.d.ts.map +0 -1
- package/dist/views/Request/RequestRoot.vue.js +0 -9
- package/dist/views/Request/RequestRoot.vue.js.map +0 -1
- package/dist/views/Request/RequestRoot.vue.script.js +0 -158
- package/dist/views/Request/RequestRoot.vue.script.js.map +0 -1
- package/dist/views/Request/RequestSection/RequestAuth/DeleteRequestAuthModal.vue.d.ts +0 -22
- package/dist/views/Request/RequestSection/RequestAuth/DeleteRequestAuthModal.vue.d.ts.map +0 -1
- package/dist/views/Request/RequestSection/RequestAuth/DeleteRequestAuthModal.vue.js +0 -7
- package/dist/views/Request/RequestSection/RequestAuth/DeleteRequestAuthModal.vue.js.map +0 -1
- package/dist/views/Request/RequestSection/RequestAuth/DeleteRequestAuthModal.vue.script.js +0 -52
- package/dist/views/Request/RequestSection/RequestAuth/DeleteRequestAuthModal.vue.script.js.map +0 -1
- package/dist/views/Request/RequestSection/RequestAuth/OAuth2.vue.d.ts +0 -31
- package/dist/views/Request/RequestSection/RequestAuth/OAuth2.vue.d.ts.map +0 -1
- package/dist/views/Request/RequestSection/RequestAuth/OAuth2.vue.js +0 -7
- package/dist/views/Request/RequestSection/RequestAuth/OAuth2.vue.js.map +0 -1
- package/dist/views/Request/RequestSection/RequestAuth/OAuth2.vue.script.js +0 -214
- package/dist/views/Request/RequestSection/RequestAuth/OAuth2.vue.script.js.map +0 -1
- package/dist/views/Request/RequestSection/RequestAuth/OAuthScopesInput.vue.d.ts +0 -10
- package/dist/views/Request/RequestSection/RequestAuth/OAuthScopesInput.vue.d.ts.map +0 -1
- package/dist/views/Request/RequestSection/RequestAuth/OAuthScopesInput.vue.js +0 -7
- package/dist/views/Request/RequestSection/RequestAuth/OAuthScopesInput.vue.js.map +0 -1
- package/dist/views/Request/RequestSection/RequestAuth/OAuthScopesInput.vue.script.js +0 -106
- package/dist/views/Request/RequestSection/RequestAuth/OAuthScopesInput.vue.script.js.map +0 -1
- package/dist/views/Request/RequestSection/RequestAuth/RequestAuth.vue.d.ts +0 -222
- package/dist/views/Request/RequestSection/RequestAuth/RequestAuth.vue.d.ts.map +0 -1
- package/dist/views/Request/RequestSection/RequestAuth/RequestAuth.vue.js +0 -9
- package/dist/views/Request/RequestSection/RequestAuth/RequestAuth.vue.js.map +0 -1
- package/dist/views/Request/RequestSection/RequestAuth/RequestAuth.vue.script.js +0 -216
- package/dist/views/Request/RequestSection/RequestAuth/RequestAuth.vue.script.js.map +0 -1
- package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTable.vue.d.ts +0 -220
- package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTable.vue.d.ts.map +0 -1
- package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTable.vue.js +0 -9
- package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTable.vue.js.map +0 -1
- package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTable.vue.script.js +0 -116
- package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTable.vue.script.js.map +0 -1
- package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTableInput.vue.d.ts +0 -43
- package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTableInput.vue.d.ts.map +0 -1
- package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTableInput.vue.js +0 -7
- package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTableInput.vue.js.map +0 -1
- package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTableInput.vue.script.js +0 -73
- package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTableInput.vue.script.js.map +0 -1
- package/dist/views/Request/RequestSection/RequestAuth/RequestAuthTab.vue.d.ts +0 -31
- package/dist/views/Request/RequestSection/RequestAuth/RequestAuthTab.vue.d.ts.map +0 -1
- package/dist/views/Request/RequestSection/RequestAuth/RequestAuthTab.vue.js +0 -7
- package/dist/views/Request/RequestSection/RequestAuth/RequestAuthTab.vue.js.map +0 -1
- package/dist/views/Request/RequestSection/RequestAuth/RequestAuthTab.vue.script.js +0 -205
- package/dist/views/Request/RequestSection/RequestAuth/RequestAuthTab.vue.script.js.map +0 -1
- package/dist/views/Request/RequestSection/RequestAuth/helpers/restore-auth-from-local-storage.d.ts +0 -9
- package/dist/views/Request/RequestSection/RequestAuth/helpers/restore-auth-from-local-storage.d.ts.map +0 -1
- package/dist/views/Request/RequestSection/RequestAuth/helpers/restore-auth-from-local-storage.js +0 -39
- package/dist/views/Request/RequestSection/RequestAuth/helpers/restore-auth-from-local-storage.js.map +0 -1
- package/dist/views/Request/RequestSection/RequestAuth/index.d.ts +0 -4
- package/dist/views/Request/RequestSection/RequestAuth/index.d.ts.map +0 -1
- package/dist/views/Request/RequestSection/RequestAuth/index.js +0 -4
- package/dist/views/Request/RequestSection/RequestBody.vue.d.ts +0 -16
- package/dist/views/Request/RequestSection/RequestBody.vue.d.ts.map +0 -1
- package/dist/views/Request/RequestSection/RequestBody.vue.js +0 -9
- package/dist/views/Request/RequestSection/RequestBody.vue.js.map +0 -1
- package/dist/views/Request/RequestSection/RequestBody.vue.script.js +0 -477
- package/dist/views/Request/RequestSection/RequestBody.vue.script.js.map +0 -1
- package/dist/views/Request/RequestSection/RequestCodeExample.vue.d.ts +0 -15
- package/dist/views/Request/RequestSection/RequestCodeExample.vue.d.ts.map +0 -1
- package/dist/views/Request/RequestSection/RequestCodeExample.vue.js +0 -9
- package/dist/views/Request/RequestSection/RequestCodeExample.vue.js.map +0 -1
- package/dist/views/Request/RequestSection/RequestCodeExample.vue.script.js +0 -187
- package/dist/views/Request/RequestSection/RequestCodeExample.vue.script.js.map +0 -1
- package/dist/views/Request/RequestSection/RequestParams.vue.d.ts +0 -25
- package/dist/views/Request/RequestSection/RequestParams.vue.d.ts.map +0 -1
- package/dist/views/Request/RequestSection/RequestParams.vue.js +0 -7
- package/dist/views/Request/RequestSection/RequestParams.vue.js.map +0 -1
- package/dist/views/Request/RequestSection/RequestParams.vue.script.js +0 -180
- package/dist/views/Request/RequestSection/RequestParams.vue.script.js.map +0 -1
- package/dist/views/Request/RequestSection/RequestPathParams.vue.d.ts +0 -18
- package/dist/views/Request/RequestSection/RequestPathParams.vue.d.ts.map +0 -1
- package/dist/views/Request/RequestSection/RequestPathParams.vue.js +0 -7
- package/dist/views/Request/RequestSection/RequestPathParams.vue.js.map +0 -1
- package/dist/views/Request/RequestSection/RequestPathParams.vue.script.js +0 -115
- package/dist/views/Request/RequestSection/RequestPathParams.vue.script.js.map +0 -1
- package/dist/views/Request/RequestSection/RequestSection.vue.d.ts +0 -20
- package/dist/views/Request/RequestSection/RequestSection.vue.d.ts.map +0 -1
- package/dist/views/Request/RequestSection/RequestSection.vue.js +0 -9
- package/dist/views/Request/RequestSection/RequestSection.vue.js.map +0 -1
- package/dist/views/Request/RequestSection/RequestSection.vue.script.js +0 -297
- package/dist/views/Request/RequestSection/RequestSection.vue.script.js.map +0 -1
- package/dist/views/Request/RequestSection/RequestTable.vue.d.ts +0 -47
- package/dist/views/Request/RequestSection/RequestTable.vue.d.ts.map +0 -1
- package/dist/views/Request/RequestSection/RequestTable.vue.js +0 -9
- package/dist/views/Request/RequestSection/RequestTable.vue.js.map +0 -1
- package/dist/views/Request/RequestSection/RequestTable.vue.script.js +0 -266
- package/dist/views/Request/RequestSection/RequestTable.vue.script.js.map +0 -1
- package/dist/views/Request/RequestSection/RequestTableTooltip.vue.d.ts +0 -8
- package/dist/views/Request/RequestSection/RequestTableTooltip.vue.d.ts.map +0 -1
- package/dist/views/Request/RequestSection/RequestTableTooltip.vue.js +0 -9
- package/dist/views/Request/RequestSection/RequestTableTooltip.vue.js.map +0 -1
- package/dist/views/Request/RequestSection/RequestTableTooltip.vue.script.js +0 -64
- package/dist/views/Request/RequestSection/RequestTableTooltip.vue.script.js.map +0 -1
- package/dist/views/Request/RequestSection/helpers/filter-security-requirements.d.ts +0 -6
- package/dist/views/Request/RequestSection/helpers/filter-security-requirements.d.ts.map +0 -1
- package/dist/views/Request/RequestSection/helpers/filter-security-requirements.js +0 -38
- package/dist/views/Request/RequestSection/helpers/filter-security-requirements.js.map +0 -1
- package/dist/views/Request/RequestSection/helpers/getting-started.d.ts +0 -6
- package/dist/views/Request/RequestSection/helpers/getting-started.d.ts.map +0 -1
- package/dist/views/Request/RequestSection/helpers/getting-started.js +0 -17
- package/dist/views/Request/RequestSection/helpers/getting-started.js.map +0 -1
- package/dist/views/Request/RequestSection/helpers/update-scheme.d.ts +0 -8
- package/dist/views/Request/RequestSection/helpers/update-scheme.d.ts.map +0 -1
- package/dist/views/Request/RequestSection/helpers/update-scheme.js +0 -22
- package/dist/views/Request/RequestSection/helpers/update-scheme.js.map +0 -1
- package/dist/views/Request/RequestSection/index.d.ts +0 -3
- package/dist/views/Request/RequestSection/index.d.ts.map +0 -1
- package/dist/views/Request/RequestSection/index.js +0 -3
- package/dist/views/Request/RequestSidebar.vue.d.ts +0 -16
- package/dist/views/Request/RequestSidebar.vue.d.ts.map +0 -1
- package/dist/views/Request/RequestSidebar.vue.js +0 -9
- package/dist/views/Request/RequestSidebar.vue.js.map +0 -1
- package/dist/views/Request/RequestSidebar.vue.script.js +0 -307
- package/dist/views/Request/RequestSidebar.vue.script.js.map +0 -1
- package/dist/views/Request/RequestSidebarItem.vue.d.ts +0 -43
- package/dist/views/Request/RequestSidebarItem.vue.d.ts.map +0 -1
- package/dist/views/Request/RequestSidebarItem.vue.js +0 -10
- package/dist/views/Request/RequestSidebarItem.vue.js.map +0 -1
- package/dist/views/Request/RequestSidebarItem.vue.script.js +0 -475
- package/dist/views/Request/RequestSidebarItem.vue.script.js.map +0 -1
- package/dist/views/Request/RequestSidebarItemMenu.vue.d.ts +0 -16
- package/dist/views/Request/RequestSidebarItemMenu.vue.d.ts.map +0 -1
- package/dist/views/Request/RequestSidebarItemMenu.vue.js +0 -9
- package/dist/views/Request/RequestSidebarItemMenu.vue.js.map +0 -1
- package/dist/views/Request/RequestSidebarItemMenu.vue.script.js +0 -222
- package/dist/views/Request/RequestSidebarItemMenu.vue.script.js.map +0 -1
- package/dist/views/Request/RequestSubpageHeader.vue.d.ts +0 -22
- package/dist/views/Request/RequestSubpageHeader.vue.d.ts.map +0 -1
- package/dist/views/Request/RequestSubpageHeader.vue.js +0 -9
- package/dist/views/Request/RequestSubpageHeader.vue.js.map +0 -1
- package/dist/views/Request/RequestSubpageHeader.vue.script.js +0 -92
- package/dist/views/Request/RequestSubpageHeader.vue.script.js.map +0 -1
- package/dist/views/Request/ResponseSection/RequestHeaders.vue.d.ts +0 -12
- package/dist/views/Request/ResponseSection/RequestHeaders.vue.d.ts.map +0 -1
- package/dist/views/Request/ResponseSection/RequestHeaders.vue.js +0 -7
- package/dist/views/Request/ResponseSection/RequestHeaders.vue.js.map +0 -1
- package/dist/views/Request/ResponseSection/RequestHeaders.vue.script.js +0 -77
- package/dist/views/Request/ResponseSection/RequestHeaders.vue.script.js.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseBody.vue.d.ts +0 -14
- package/dist/views/Request/ResponseSection/ResponseBody.vue.d.ts.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseBody.vue.js +0 -9
- package/dist/views/Request/ResponseSection/ResponseBody.vue.js.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseBody.vue.script.js +0 -91
- package/dist/views/Request/ResponseSection/ResponseBody.vue.script.js.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseBodyDownload.vue.d.ts +0 -9
- package/dist/views/Request/ResponseSection/ResponseBodyDownload.vue.d.ts.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseBodyDownload.vue.js +0 -7
- package/dist/views/Request/ResponseSection/ResponseBodyDownload.vue.js.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseBodyDownload.vue.script.js +0 -35
- package/dist/views/Request/ResponseSection/ResponseBodyDownload.vue.script.js.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseBodyInfo.vue.d.ts +0 -14
- package/dist/views/Request/ResponseSection/ResponseBodyInfo.vue.d.ts.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseBodyInfo.vue.js +0 -14
- package/dist/views/Request/ResponseSection/ResponseBodyInfo.vue.js.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseBodyPreview.vue.d.ts +0 -11
- package/dist/views/Request/ResponseSection/ResponseBodyPreview.vue.d.ts.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseBodyPreview.vue.js +0 -9
- package/dist/views/Request/ResponseSection/ResponseBodyPreview.vue.js.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseBodyPreview.vue.script.js +0 -64
- package/dist/views/Request/ResponseSection/ResponseBodyPreview.vue.script.js.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseBodyRaw.vue.d.ts +0 -9
- package/dist/views/Request/ResponseSection/ResponseBodyRaw.vue.d.ts.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseBodyRaw.vue.js +0 -9
- package/dist/views/Request/ResponseSection/ResponseBodyRaw.vue.js.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseBodyRaw.vue.script.js +0 -54
- package/dist/views/Request/ResponseSection/ResponseBodyRaw.vue.script.js.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseBodyStreaming.vue.d.ts +0 -7
- package/dist/views/Request/ResponseSection/ResponseBodyStreaming.vue.d.ts.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseBodyStreaming.vue.js +0 -7
- package/dist/views/Request/ResponseSection/ResponseBodyStreaming.vue.js.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseBodyStreaming.vue.script.js +0 -85
- package/dist/views/Request/ResponseSection/ResponseBodyStreaming.vue.script.js.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseBodyToggle.vue.d.ts +0 -11
- package/dist/views/Request/ResponseSection/ResponseBodyToggle.vue.d.ts.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseBodyToggle.vue.js +0 -7
- package/dist/views/Request/ResponseSection/ResponseBodyToggle.vue.js.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseBodyToggle.vue.script.js +0 -25
- package/dist/views/Request/ResponseSection/ResponseBodyToggle.vue.script.js.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseBodyVirtual.vue.d.ts +0 -13
- package/dist/views/Request/ResponseSection/ResponseBodyVirtual.vue.d.ts.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseBodyVirtual.vue.js +0 -8
- package/dist/views/Request/ResponseSection/ResponseBodyVirtual.vue.js.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseBodyVirtual.vue.script.js +0 -51
- package/dist/views/Request/ResponseSection/ResponseBodyVirtual.vue.script.js.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseCookies.vue.d.ts +0 -11
- package/dist/views/Request/ResponseSection/ResponseCookies.vue.d.ts.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseCookies.vue.js +0 -7
- package/dist/views/Request/ResponseSection/ResponseCookies.vue.js.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseCookies.vue.script.js +0 -39
- package/dist/views/Request/ResponseSection/ResponseCookies.vue.script.js.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseEmpty.vue.d.ts +0 -12
- package/dist/views/Request/ResponseSection/ResponseEmpty.vue.d.ts.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseEmpty.vue.js +0 -9
- package/dist/views/Request/ResponseSection/ResponseEmpty.vue.js.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseEmpty.vue.script.js +0 -98
- package/dist/views/Request/ResponseSection/ResponseEmpty.vue.script.js.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseHeaders.vue.d.ts +0 -12
- package/dist/views/Request/ResponseSection/ResponseHeaders.vue.d.ts.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseHeaders.vue.js +0 -7
- package/dist/views/Request/ResponseSection/ResponseHeaders.vue.js.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseHeaders.vue.script.js +0 -77
- package/dist/views/Request/ResponseSection/ResponseHeaders.vue.script.js.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseLoadingOverlay.vue.d.ts +0 -4
- package/dist/views/Request/ResponseSection/ResponseLoadingOverlay.vue.d.ts.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseLoadingOverlay.vue.js +0 -9
- package/dist/views/Request/ResponseSection/ResponseLoadingOverlay.vue.js.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseLoadingOverlay.vue.script.js +0 -44
- package/dist/views/Request/ResponseSection/ResponseLoadingOverlay.vue.script.js.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseMetaInformation.vue.d.ts +0 -8
- package/dist/views/Request/ResponseSection/ResponseMetaInformation.vue.d.ts.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseMetaInformation.vue.js +0 -7
- package/dist/views/Request/ResponseSection/ResponseMetaInformation.vue.js.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseMetaInformation.vue.script.js +0 -64
- package/dist/views/Request/ResponseSection/ResponseMetaInformation.vue.script.js.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseSection.vue.d.ts +0 -15
- package/dist/views/Request/ResponseSection/ResponseSection.vue.d.ts.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseSection.vue.js +0 -9
- package/dist/views/Request/ResponseSection/ResponseSection.vue.js.map +0 -1
- package/dist/views/Request/ResponseSection/ResponseSection.vue.script.js +0 -206
- package/dist/views/Request/ResponseSection/ResponseSection.vue.script.js.map +0 -1
- package/dist/views/Request/ResponseSection/index.d.ts +0 -3
- package/dist/views/Request/ResponseSection/index.d.ts.map +0 -1
- package/dist/views/Request/ResponseSection/index.js +0 -3
- package/dist/views/Request/components/WorkspaceDropdown.vue.d.ts +0 -4
- package/dist/views/Request/components/WorkspaceDropdown.vue.d.ts.map +0 -1
- package/dist/views/Request/components/WorkspaceDropdown.vue.js +0 -7
- package/dist/views/Request/components/WorkspaceDropdown.vue.js.map +0 -1
- package/dist/views/Request/components/WorkspaceDropdown.vue.script.js +0 -182
- package/dist/views/Request/components/WorkspaceDropdown.vue.script.js.map +0 -1
- package/dist/views/Request/components/index.d.ts +0 -2
- package/dist/views/Request/components/index.d.ts.map +0 -1
- package/dist/views/Request/components/index.js +0 -2
- package/dist/views/Request/consts/index.d.ts +0 -3
- package/dist/views/Request/consts/index.d.ts.map +0 -1
- package/dist/views/Request/consts/index.js +0 -3
- package/dist/views/Request/consts/mediaTypes.d.ts +0 -20
- package/dist/views/Request/consts/mediaTypes.d.ts.map +0 -1
- package/dist/views/Request/consts/mediaTypes.js +0 -231
- package/dist/views/Request/consts/mediaTypes.js.map +0 -1
- package/dist/views/Request/consts/new-auth-options.d.ts +0 -107
- package/dist/views/Request/consts/new-auth-options.d.ts.map +0 -1
- package/dist/views/Request/consts/new-auth-options.js +0 -90
- package/dist/views/Request/consts/new-auth-options.js.map +0 -1
- package/dist/views/Request/handle-drag.d.ts +0 -9
- package/dist/views/Request/handle-drag.d.ts.map +0 -1
- package/dist/views/Request/handle-drag.js +0 -51
- package/dist/views/Request/handle-drag.js.map +0 -1
- package/dist/views/Request/hooks/useOpenApiWatcher.d.ts +0 -9
- package/dist/views/Request/hooks/useOpenApiWatcher.d.ts.map +0 -1
- package/dist/views/Request/hooks/useOpenApiWatcher.js +0 -96
- package/dist/views/Request/hooks/useOpenApiWatcher.js.map +0 -1
- package/dist/views/Request/libs/auth.d.ts +0 -27
- package/dist/views/Request/libs/auth.d.ts.map +0 -1
- package/dist/views/Request/libs/auth.js +0 -74
- package/dist/views/Request/libs/auth.js.map +0 -1
- package/dist/views/Request/libs/index.d.ts +0 -4
- package/dist/views/Request/libs/index.d.ts.map +0 -1
- package/dist/views/Request/libs/index.js +0 -4
- package/dist/views/Request/libs/oauth2.d.ts +0 -43
- package/dist/views/Request/libs/oauth2.d.ts.map +0 -1
- package/dist/views/Request/libs/oauth2.js +0 -178
- package/dist/views/Request/libs/oauth2.js.map +0 -1
- package/dist/views/Request/libs/request.d.ts +0 -21
- package/dist/views/Request/libs/request.d.ts.map +0 -1
- package/dist/views/Request/libs/request.js +0 -46
- package/dist/views/Request/libs/request.js.map +0 -1
- package/dist/views/Request/libs/watch-mode.d.ts +0 -60
- package/dist/views/Request/libs/watch-mode.d.ts.map +0 -1
- package/dist/views/Request/libs/watch-mode.js +0 -375
- package/dist/views/Request/libs/watch-mode.js.map +0 -1
- package/dist/views/Request/types/index.d.ts +0 -2
- package/dist/views/Request/types/index.d.ts.map +0 -1
- package/dist/views/Request/types/index.js +0 -0
- package/dist/views/Request/types/sidebar-item.d.ts +0 -30
- package/dist/views/Request/types/sidebar-item.d.ts.map +0 -1
- package/dist/views/Settings/Settings.vue.d.ts +0 -5
- package/dist/views/Settings/Settings.vue.d.ts.map +0 -1
- package/dist/views/Settings/Settings.vue.js +0 -7
- package/dist/views/Settings/Settings.vue.js.map +0 -1
- package/dist/views/Settings/Settings.vue.script.js +0 -28
- package/dist/views/Settings/Settings.vue.script.js.map +0 -1
- package/dist/views/Settings/SettingsGeneral.vue.d.ts +0 -4
- package/dist/views/Settings/SettingsGeneral.vue.d.ts.map +0 -1
- package/dist/views/Settings/SettingsGeneral.vue.js +0 -7
- package/dist/views/Settings/SettingsGeneral.vue.js.map +0 -1
- package/dist/views/Settings/SettingsGeneral.vue.script.js +0 -241
- package/dist/views/Settings/SettingsGeneral.vue.script.js.map +0 -1
- package/dist/views/Settings/components/SettingsAppearance.vue.d.ts +0 -4
- package/dist/views/Settings/components/SettingsAppearance.vue.d.ts.map +0 -1
- package/dist/views/Settings/components/SettingsAppearance.vue.js +0 -7
- package/dist/views/Settings/components/SettingsAppearance.vue.js.map +0 -1
- package/dist/views/Settings/components/SettingsAppearance.vue.script.js +0 -62
- package/dist/views/Settings/components/SettingsAppearance.vue.script.js.map +0 -1
- package/dist/views/Settings/components/SettingsSection.vue.d.ts +0 -15
- package/dist/views/Settings/components/SettingsSection.vue.d.ts.map +0 -1
- package/dist/views/Settings/components/SettingsSection.vue.js +0 -7
- package/dist/views/Settings/components/SettingsSection.vue.js.map +0 -1
- package/dist/views/Settings/components/SettingsSection.vue.script.js +0 -27
- package/dist/views/Settings/components/SettingsSection.vue.script.js.map +0 -1
- /package/dist/{components → v2/blocks/operation-block/components}/OpenApiClientButton.vue.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-response-body-handler.d.ts","sourceRoot":"","sources":["../../../../../src/v2/blocks/response-block/helpers/resolve-response-body-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAElF;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,GACrC,UAAU,MAAM,EAChB,SAAS,YAAY,EAAE,KACtB,mBAAmB,GAAG,SAcxB,CAAA"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
//#region src/v2/blocks/response-block/helpers/resolve-response-body-handler.ts
|
|
2
|
+
/**
|
|
3
|
+
* Find the first plugin response body handler that matches a given MIME type.
|
|
4
|
+
* Plugins are checked in order — first match wins, allowing users to override native behavior.
|
|
5
|
+
*
|
|
6
|
+
* Matching supports:
|
|
7
|
+
* - Exact match: "application/msgpack"
|
|
8
|
+
* - Suffix wildcard: "application/vnd.*+json" matches "application/vnd.api+json"
|
|
9
|
+
*/
|
|
10
|
+
var resolveResponseBodyHandler = (mimeType, plugins) => {
|
|
11
|
+
for (const plugin of plugins) {
|
|
12
|
+
if (!plugin.responseBody) continue;
|
|
13
|
+
for (const handler of plugin.responseBody) if (matchesMimeType(mimeType, handler.mimeTypes)) return handler;
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Checks if the given MIME type matches any of the provided MIME type patterns.
|
|
18
|
+
* Supports both exact match (e.g. "application/json") and wildcard patterns (e.g. "application/*", "application/vnd.*+json").
|
|
19
|
+
*
|
|
20
|
+
* Example:
|
|
21
|
+
* matchesMimeType('application/json', ['application/*']) // true
|
|
22
|
+
* matchesMimeType('application/vnd.api+json', ['application/vnd.*+json']) // true
|
|
23
|
+
* matchesMimeType('text/plain', ['application/json']) // false
|
|
24
|
+
*
|
|
25
|
+
* @param actual - The MIME type to match (e.g., "application/json")
|
|
26
|
+
* @param patterns - List of patterns that may include wildcards (e.g., ["application/*", "text/*"])
|
|
27
|
+
* @returns true if actual matches any pattern; false otherwise
|
|
28
|
+
*/
|
|
29
|
+
var matchesMimeType = (actual, patterns) => {
|
|
30
|
+
const normalized = actual.toLowerCase();
|
|
31
|
+
for (const pattern of patterns) {
|
|
32
|
+
const normalizedPattern = pattern.toLowerCase();
|
|
33
|
+
if (normalizedPattern === normalized) return true;
|
|
34
|
+
if (normalizedPattern.includes("*")) {
|
|
35
|
+
const escaped = normalizedPattern.replace(/[.+?^${}()|[\]\\]/g, "\\$&").replace(/\*/g, ".*");
|
|
36
|
+
if (new RegExp(`^${escaped}$`).test(normalized)) return true;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return false;
|
|
40
|
+
};
|
|
41
|
+
//#endregion
|
|
42
|
+
export { resolveResponseBodyHandler };
|
|
43
|
+
|
|
44
|
+
//# sourceMappingURL=resolve-response-body-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-response-body-handler.js","names":[],"sources":["../../../../../src/v2/blocks/response-block/helpers/resolve-response-body-handler.ts"],"sourcesContent":["import type { ClientPlugin, ResponseBodyHandler } from '@scalar/oas-utils/helpers'\n\n/**\n * Find the first plugin response body handler that matches a given MIME type.\n * Plugins are checked in order — first match wins, allowing users to override native behavior.\n *\n * Matching supports:\n * - Exact match: \"application/msgpack\"\n * - Suffix wildcard: \"application/vnd.*+json\" matches \"application/vnd.api+json\"\n */\nexport const resolveResponseBodyHandler = (\n mimeType: string,\n plugins: ClientPlugin[],\n): ResponseBodyHandler | undefined => {\n for (const plugin of plugins) {\n if (!plugin.responseBody) {\n continue\n }\n\n for (const handler of plugin.responseBody) {\n if (matchesMimeType(mimeType, handler.mimeTypes)) {\n return handler\n }\n }\n }\n\n return undefined\n}\n\n/**\n * Checks if the given MIME type matches any of the provided MIME type patterns.\n * Supports both exact match (e.g. \"application/json\") and wildcard patterns (e.g. \"application/*\", \"application/vnd.*+json\").\n *\n * Example:\n * matchesMimeType('application/json', ['application/*']) // true\n * matchesMimeType('application/vnd.api+json', ['application/vnd.*+json']) // true\n * matchesMimeType('text/plain', ['application/json']) // false\n *\n * @param actual - The MIME type to match (e.g., \"application/json\")\n * @param patterns - List of patterns that may include wildcards (e.g., [\"application/*\", \"text/*\"])\n * @returns true if actual matches any pattern; false otherwise\n */\nconst matchesMimeType = (actual: string, patterns: string[]): boolean => {\n const normalized = actual.toLowerCase()\n\n for (const pattern of patterns) {\n const normalizedPattern = pattern.toLowerCase()\n\n // Exact match: \"application/json\" === \"application/json\"\n if (normalizedPattern === normalized) {\n return true\n }\n\n // Wildcard match: \"application/*\" or \"application/vnd.*+json\"\n if (normalizedPattern.includes('*')) {\n // Escape regex special chars except for *\n const escaped = normalizedPattern.replace(/[.+?^${}()|[\\]\\\\]/g, '\\\\$&').replace(/\\*/g, '.*')\n const regex = new RegExp(`^${escaped}$`)\n if (regex.test(normalized)) {\n return true\n }\n }\n }\n\n return false\n}\n"],"mappings":";;;;;;;;;AAUA,IAAa,8BACX,UACA,YACoC;AACpC,MAAK,MAAM,UAAU,SAAS;AAC5B,MAAI,CAAC,OAAO,aACV;AAGF,OAAK,MAAM,WAAW,OAAO,aAC3B,KAAI,gBAAgB,UAAU,QAAQ,UAAU,CAC9C,QAAO;;;;;;;;;;;;;;;;AAqBf,IAAM,mBAAmB,QAAgB,aAAgC;CACvE,MAAM,aAAa,OAAO,aAAa;AAEvC,MAAK,MAAM,WAAW,UAAU;EAC9B,MAAM,oBAAoB,QAAQ,aAAa;AAG/C,MAAI,sBAAsB,WACxB,QAAO;AAIT,MAAI,kBAAkB,SAAS,IAAI,EAAE;GAEnC,MAAM,UAAU,kBAAkB,QAAQ,sBAAsB,OAAO,CAAC,QAAQ,OAAO,KAAK;AAE5F,OADc,IAAI,OAAO,IAAI,QAAQ,GAAG,CAC9B,KAAK,WAAW,CACxB,QAAO;;;AAKb,QAAO"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser fetch uses text/plain;charset=UTF-8 as the default body type
|
|
3
|
+
* when the response does not include a Content-Type header.
|
|
4
|
+
*/
|
|
5
|
+
export declare const DEFAULT_RESPONSE_CONTENT_TYPE = "text/plain;charset=UTF-8";
|
|
6
|
+
/**
|
|
7
|
+
* Resolve the response content type with a consistent fallback.
|
|
8
|
+
*/
|
|
9
|
+
export declare const resolveResponseContentType: (contentType: string | null | undefined) => string;
|
|
10
|
+
/**
|
|
11
|
+
* Parse the effective response MIME type using the fallback content type.
|
|
12
|
+
*/
|
|
13
|
+
export declare const resolveResponseMimeType: (contentType: string | null | undefined) => import("@scalar/helpers/http/mime-type").ParsedMimeType;
|
|
14
|
+
//# sourceMappingURL=resolve-response-content-type.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-response-content-type.d.ts","sourceRoot":"","sources":["../../../../../src/v2/blocks/response-block/helpers/resolve-response-content-type.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,6BAA6B,6BAA6B,CAAA;AAEvE;;GAEG;AACH,eAAO,MAAM,0BAA0B,GAAI,aAAa,MAAM,GAAG,IAAI,GAAG,SAAS,KAAG,MACtC,CAAA;AAE9C;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAAI,aAAa,MAAM,GAAG,IAAI,GAAG,SAAS,4DACtB,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { parseMimeType } from "@scalar/helpers/http/mime-type";
|
|
2
|
+
/**
|
|
3
|
+
* Resolve the response content type with a consistent fallback.
|
|
4
|
+
*/
|
|
5
|
+
var resolveResponseContentType = (contentType) => contentType ?? "text/plain;charset=UTF-8";
|
|
6
|
+
/**
|
|
7
|
+
* Parse the effective response MIME type using the fallback content type.
|
|
8
|
+
*/
|
|
9
|
+
var resolveResponseMimeType = (contentType) => parseMimeType(resolveResponseContentType(contentType));
|
|
10
|
+
//#endregion
|
|
11
|
+
export { resolveResponseContentType, resolveResponseMimeType };
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=resolve-response-content-type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-response-content-type.js","names":[],"sources":["../../../../../src/v2/blocks/response-block/helpers/resolve-response-content-type.ts"],"sourcesContent":["import { parseMimeType } from '@scalar/helpers/http/mime-type'\n\n/**\n * Browser fetch uses text/plain;charset=UTF-8 as the default body type\n * when the response does not include a Content-Type header.\n */\nexport const DEFAULT_RESPONSE_CONTENT_TYPE = 'text/plain;charset=UTF-8'\n\n/**\n * Resolve the response content type with a consistent fallback.\n */\nexport const resolveResponseContentType = (contentType: string | null | undefined): string =>\n contentType ?? DEFAULT_RESPONSE_CONTENT_TYPE\n\n/**\n * Parse the effective response MIME type using the fallback content type.\n */\nexport const resolveResponseMimeType = (contentType: string | null | undefined) =>\n parseMimeType(resolveResponseContentType(contentType))\n"],"mappings":";;;;AAWA,IAAa,8BAA8B,gBACzC,eAAA;;;;AAKF,IAAa,2BAA2B,gBACtC,cAAc,2BAA2B,YAAY,CAAC"}
|
|
@@ -2,7 +2,7 @@ import type { HttpMethod as HttpMethodType } from '@scalar/helpers/http/http-met
|
|
|
2
2
|
import type { ServerMeta, WorkspaceEventBus } from '@scalar/workspace-store/events';
|
|
3
3
|
import type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments';
|
|
4
4
|
import type { ServerObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document';
|
|
5
|
-
import {
|
|
5
|
+
import type { ClientLayout } from '../../../../v2/types/layout';
|
|
6
6
|
import { type History } from './AddressBarHistory.vue.js';
|
|
7
7
|
/**
|
|
8
8
|
* AddressBar component
|
|
@@ -32,7 +32,7 @@ export type AddressBarProps = {
|
|
|
32
32
|
serverMeta: ServerMeta;
|
|
33
33
|
};
|
|
34
34
|
declare const __VLS_export: import("vue").DefineComponent<AddressBarProps, {
|
|
35
|
-
methodConflict: import("vue").Ref<"delete" | "
|
|
35
|
+
methodConflict: import("vue").Ref<"delete" | "head" | "get" | "options" | "put" | "post" | "patch" | "trace" | null, "delete" | "head" | "get" | "options" | "put" | "post" | "patch" | "trace" | null>;
|
|
36
36
|
pathConflict: import("vue").Ref<string | null, string | null>;
|
|
37
37
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
38
38
|
execute: () => any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddressBar.vue.d.ts","sourceRoot":"","sources":["../../../../../src/v2/blocks/scalar-address-bar-block/components/AddressBar.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AddressBar.vue.d.ts","sourceRoot":"","sources":["../../../../../src/v2/blocks/scalar-address-bar-block/components/AddressBar.vue"],"names":[],"mappings":"AAumBA,OAAO,KAAK,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAMrF,OAAO,KAAK,EAEV,UAAU,EACV,iBAAiB,EAClB,MAAM,gCAAgC,CAAA;AAKvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2EAA2E,CAAA;AACnH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAA;AAehG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,OAA0B,EAAE,KAAK,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAGzE;;;;GAIG;wBACkB,OAAO,YAAY;AAAxC,wBAAyC;AAKzC,MAAM,MAAM,eAAe,GAAG;IAC5B,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,6BAA6B;IAC7B,MAAM,EAAE,cAAc,CAAA;IACtB,gCAAgC;IAChC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;IAC3B,mDAAmD;IACnD,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,8BAA8B;IAC9B,OAAO,EAAE,OAAO,EAAE,CAAA;IAClB,oBAAoB;IACpB,MAAM,EAAE,YAAY,CAAA;IACpB,gBAAgB;IAChB,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,kBAAkB;IAClB,WAAW,EAAE,kBAAkB,CAAA;IAC/B,sCAAsC;IACtC,UAAU,EAAE,UAAU,CAAA;CACvB,CAAA;AACD,QAAA,MAAM,YAAY;;;;;;eAmB6B,MAAM;;;;;eAAN,MAAM;;kFA2wBjD,CAAC"}
|
|
@@ -2,7 +2,7 @@ import _plugin_vue_export_helper_default from "../../../../_virtual/_plugin-vue_
|
|
|
2
2
|
import AddressBar_vue_vue_type_script_setup_true_lang_default from "./AddressBar.vue.script.js";
|
|
3
3
|
/* empty css */
|
|
4
4
|
//#region src/v2/blocks/scalar-address-bar-block/components/AddressBar.vue
|
|
5
|
-
var AddressBar_default = /* @__PURE__ */ _plugin_vue_export_helper_default(AddressBar_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
5
|
+
var AddressBar_default = /* @__PURE__ */ _plugin_vue_export_helper_default(AddressBar_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-bc1b7459"]]);
|
|
6
6
|
//#endregion
|
|
7
7
|
export { AddressBar_default as default };
|
|
8
8
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddressBar.vue.js","names":[],"sources":["../../../../../src/v2/blocks/scalar-address-bar-block/components/AddressBar.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * AddressBar component\n * This component is used to display the address bar for the operation block\n * It is used to display the path, method, server, and history for the operation\n */\nexport default {\n name: 'AddressBar',\n}\nexport type AddressBarProps = {\n /** Current request path */\n path: string\n /** Current request method */\n method: HttpMethodType\n /** Currently selected server */\n server: ServerObject | null\n /** Server list available for operation/document */\n servers: ServerObject[]\n /** List of request history */\n history: History[]\n /** Client layout */\n layout: ClientLayout\n /** Event bus */\n eventBus: WorkspaceEventBus\n /** Environment */\n environment: XScalarEnvironment\n /** Meta information for the server */\n serverMeta: ServerMeta\n}\n</script>\n<script setup lang=\"ts\">\nimport {\n ScalarButton,\n ScalarIcon,\n ScalarWrappingText,\n} from '@scalar/components'\nimport { getSelector } from '@scalar/helpers/dom/get-selector'\nimport { REQUEST_METHODS } from '@scalar/helpers/http/http-info'\nimport type { HttpMethod as HttpMethodType } from '@scalar/helpers/http/http-methods'\nimport { replaceEnvVariables } from '@scalar/helpers/regex/replace-variables'\nimport { extractServerFromPath } from '@scalar/helpers/url/extract-server-from-path'\nimport { ScalarIconCopy, ScalarIconWarningCircle } from '@scalar/icons'\nimport { useClipboard } from '@scalar/use-hooks/useClipboard'\nimport type {\n ApiReferenceEvents,\n ServerMeta,\n WorkspaceEventBus,\n} from '@scalar/workspace-store/events'\nimport {\n getEnvironmentVariables,\n getResolvedUrl,\n} from '@scalar/workspace-store/request-example'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type { ServerObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport {\n computed,\n onBeforeUnmount,\n onMounted,\n ref,\n useId,\n useTemplateRef,\n watch,\n} from 'vue'\n\nimport { HttpMethod } from '@/components/HttpMethod'\nimport { type ClientLayout } from '@/hooks'\nimport { useLoadingAnimation } from '@/v2/blocks/scalar-address-bar-block/hooks/use-loading-animation'\nimport { CodeInput } from '@/v2/components/code-input'\nimport { ServerDropdown } from '@/v2/components/server'\n\nimport AddressBarHistory, { type History } from './AddressBarHistory.vue'\n\nconst {\n path,\n method,\n layout,\n eventBus,\n history,\n server,\n servers,\n environment,\n serverMeta,\n} = defineProps<AddressBarProps>()\n\nconst emit = defineEmits<{\n /** Execute the current operation example */\n (e: 'execute'): void\n /** Select a request history item by index */\n (e: 'select:history:item', payload: { index: number }): void\n}>()\n\nconst id = useId()\nconst { percentage, startLoading, stopLoading, isLoading } =\n useLoadingAnimation()\n\n/** Calculate the style for the address bar */\nconst style = computed(() => ({\n backgroundColor: `color-mix(in srgb, transparent 90%, ${REQUEST_METHODS[method].colorVar})`,\n transform: `translate3d(-${percentage.value}%,0,0)`,\n}))\n\nconst pathConflict = ref<string | null>(null)\nconst methodConflict = ref<HttpMethodType | null>(null)\n\n/** Whether there is a path or method conflict */\nconst hasConflict = computed(() => methodConflict.value || pathConflict.value)\n\n/** Clear conflict state when switching to a different operation */\nwatch(\n () => [path, method],\n () => {\n pathConflict.value = null\n methodConflict.value = null\n },\n)\n\n/** Check if the path contains a server URL, extract it, and select or add the server */\nconst checkForServer = (targetPath: string) => {\n const extracted = extractServerFromPath(targetPath)\n if (!extracted) {\n return targetPath\n }\n\n const [url, newPath] = extracted\n\n // Server is already selected — nothing to change\n if (url === server?.url) {\n return newPath\n }\n\n const matchingServer = servers.find((s) => s.url === url)\n\n // Select the server if it already exists in the list\n if (matchingServer) {\n eventBus.emit('server:update:selected', {\n url,\n meta: serverMeta,\n })\n }\n // Otherwise add it as a new operation-level server\n else {\n eventBus.emit('server:add:server', {\n url,\n select: true,\n meta: {\n type: 'operation',\n path,\n method,\n },\n })\n }\n\n return newPath\n}\n\n/** Emit the path/method update event with conflict handling */\nconst emitPathMethodUpdate = (\n targetMethod: HttpMethodType,\n targetPath: string,\n blurTargetSelector: string | null = null,\n): void => {\n const newPath = checkForServer(targetPath)\n const normalizedPath = newPath.startsWith('/') ? newPath : `/${newPath}`\n\n // Update the local state of codemirror so we don't have werid path on conflict\n addressBarRef.value?.setCodeMirrorContent(normalizedPath)\n\n eventBus.emit('operation:update:pathMethod', {\n meta: { method, path },\n blurTargetSelector,\n payload: { method: targetMethod, path: normalizedPath },\n callback: (status, blurTargetSelector) => {\n // Clear conflicts if the operation was successful or no change was made\n if (status === 'success' || status === 'no-change') {\n methodConflict.value = null\n pathConflict.value = null\n }\n // Otherwise set the conflict if needed\n else if (status === 'conflict') {\n if (targetMethod !== method) {\n methodConflict.value = targetMethod\n }\n if (normalizedPath !== path) {\n pathConflict.value = normalizedPath\n }\n }\n\n // Edge case: pasting a full URL extracts the server but leaves the path unchanged.\n // The CodeMirror DOM still shows the full URL, so we force it back to just the path.\n if (\n status === 'no-change' &&\n addressBarRef.value?.codeMirrorRef?.textContent &&\n addressBarRef.value.codeMirrorRef.textContent !== newPath\n ) {\n addressBarRef.value.setCodeMirrorContent(newPath)\n }\n\n // Re-trigger the click or focus event if we have a blur target selector\n if (blurTargetSelector) {\n const element = document.querySelector(blurTargetSelector)\n\n // Re-trigger clicks on buttons\n if (element instanceof HTMLButtonElement) {\n element.click()\n }\n\n // Re-trigger focus on inputs and codeInputs\n else if (\n element instanceof HTMLInputElement ||\n element instanceof HTMLTextAreaElement ||\n (element instanceof HTMLElement &&\n element.getAttribute('contenteditable') === 'true')\n ) {\n element.focus()\n }\n }\n },\n })\n}\n\n/** Update the operation's HTTP method, handling conflicts */\nconst handleMethodChange = (newMethod: HttpMethodType): void =>\n emitPathMethodUpdate(newMethod, pathConflict.value ?? path)\n\n/**\n * Update the operation's path, handling conflicts also we extract the blur target selector to re-trigger click events\n *\n * We have special handling for the tab key to prevent it from triggering a click on the focused button\n */\nconst handlePathBlur = (newPath: string, event: FocusEvent): void => {\n const relatedTarget = event.relatedTarget as Element | null\n const blurTargetSelector = tabbedOut.value ? null : getSelector(relatedTarget)\n\n tabbedOut.value = false\n\n emitPathMethodUpdate(\n methodConflict.value ?? method,\n newPath,\n blurTargetSelector,\n )\n}\n\n/** Lets unset the server when backspace is pressed and the path is empty */\nconst handlePathBackspace = (event: KeyboardEvent): void => {\n if ((event.target as HTMLElement)?.innerText === '\\n') {\n eventBus.emit('server:update:selected', {\n url: '',\n meta: serverMeta,\n })\n }\n}\n\n/** Handle path submit (Enter key) — saves the path and triggers execution via blurTargetSelector */\nconst handlePathSubmit = (\n newPath: string,\n event: KeyboardEvent | FocusEvent,\n): void => {\n // Prevent the global hotkey listener\n event.stopPropagation()\n\n emitPathMethodUpdate(\n methodConflict.value ?? method,\n newPath,\n '[data-addressbar-action=\"send\"]',\n )\n}\n\n/** Handle focus events */\nconst sendButtonRef = useTemplateRef('sendButtonRef')\nconst addressBarRef = useTemplateRef('addressBarRef')\nconst tabbedOut = ref(false)\nconst handleFocusSendButton = () => sendButtonRef.value?.$el?.focus()\n\nconst handleFocusAddressBar = (\n payload: ApiReferenceEvents['ui:focus:address-bar'],\n) => {\n // If it already has focus we just propagate native behavior which should focus the browser address bar\n if (addressBarRef.value?.isFocused && layout !== 'desktop') {\n return\n }\n\n addressBarRef.value?.focus('end')\n\n if (payload && 'clear' in payload && payload.clear) {\n addressBarRef.value?.setCodeMirrorContent('/')\n }\n\n if (payload && 'event' in payload) {\n payload.event.preventDefault()\n }\n}\n\nonMounted(() => {\n eventBus.on('ui:focus:address-bar', handleFocusAddressBar)\n eventBus.on('ui:focus:send-button', handleFocusSendButton)\n eventBus.on('copy-url:address-bar', copyUrl)\n eventBus.on('hooks:on:request:sent', startLoading)\n eventBus.on('hooks:on:request:complete', stopLoading)\n})\n\nonBeforeUnmount(() => {\n eventBus.off('ui:focus:address-bar', handleFocusAddressBar)\n eventBus.off('ui:focus:send-button', handleFocusSendButton)\n eventBus.off('copy-url:address-bar', copyUrl)\n eventBus.off('hooks:on:request:sent', startLoading)\n eventBus.off('hooks:on:request:complete', stopLoading)\n\n // Stop the animation when the component is unmounted\n // This is to prevent the animation from continuing after the component is unmounted\n stopLoading()\n})\n\nconst { copyToClipboard } = useClipboard()\n\n/** Copy the resolved URL with the environment variables to the clipboard */\nconst copyUrl = async () => {\n const resolvedUrl = getResolvedUrl({ server, path })\n const environmentVariables = getEnvironmentVariables(environment)\n const resolvedUrlWithEnvVars = replaceEnvVariables(\n resolvedUrl,\n environmentVariables,\n )\n await copyToClipboard(resolvedUrlWithEnvVars)\n}\n\nconst isServerDropdownOpen = ref(false)\nconst isHistoryDropdownOpen = ref(false)\n\n/** Whether either dropdown is open */\nconst isDropdownOpen = computed(\n () => isServerDropdownOpen.value || isHistoryDropdownOpen.value,\n)\n\nconst navigateToServersPage = () => {\n if (serverMeta.type === 'operation') {\n return eventBus.emit('ui:navigate', {\n page: 'operation',\n path: 'servers',\n operationPath: serverMeta.path,\n method: serverMeta.method,\n })\n }\n return eventBus.emit('ui:navigate', {\n page: 'document',\n path: 'servers',\n })\n}\n\ndefineExpose({\n methodConflict,\n pathConflict,\n})\n</script>\n<template>\n <div\n :id=\"id\"\n class=\"scalar-address-bar order-last flex h-(--scalar-address-bar-height) w-full [--scalar-address-bar-height:32px] lg:order-0 lg:w-auto\">\n <!-- Address Bar -->\n <div\n class=\"address-bar-bg-states text-xxs group relative order-last flex w-full max-w-[calc(100dvw-24px)] flex-1 flex-row items-stretch rounded-lg p-0.75 lg:order-none lg:max-w-[580px] lg:min-w-[580px] xl:max-w-[720px] xl:min-w-[720px]\"\n :class=\"{\n 'outline-c-danger outline': hasConflict,\n 'rounded-b-none': isDropdownOpen,\n }\">\n <div\n class=\"pointer-events-none absolute top-0 left-0 block h-full w-full overflow-hidden rounded-lg border\"\n :class=\"{\n 'rounded-b-none': isDropdownOpen,\n }\">\n <div\n class=\"absolute top-0 left-0 h-full w-full\"\n :style />\n </div>\n <div class=\"flex gap-1\">\n <HttpMethod\n :isEditable=\"layout !== 'modal'\"\n isSquare\n :method=\"methodConflict ?? method\"\n teleport\n @change=\"handleMethodChange\" />\n </div>\n\n <div\n class=\"scroll-timeline-x scroll-timeline-x-hidden relative flex w-full bg-blend-normal\">\n <!-- Servers -->\n <ServerDropdown\n v-if=\"servers.length\"\n :layout=\"layout\"\n :meta=\"serverMeta\"\n :server=\"server\"\n :servers=\"servers\"\n :target=\"id\"\n @update:open=\"(value) => (isServerDropdownOpen = value)\"\n @update:selectedServer=\"\n (payload) => eventBus.emit('server:update:selected', payload)\n \"\n @update:servers=\"navigateToServersPage\"\n @update:variable=\"\n (payload) => eventBus.emit('server:update:variables', payload)\n \" />\n\n <div class=\"fade-left\" />\n <!-- Path + URL + env vars -->\n <CodeInput\n ref=\"addressBarRef\"\n alwaysEmitChange\n aria-label=\"Path\"\n class=\"min-w-fit outline-none\"\n disableCloseBrackets\n :disabled=\"layout === 'modal'\"\n disableEnter\n disableTabIndent\n :emitOnBlur=\"false\"\n :environment=\"environment\"\n importCurl\n :layout=\"layout\"\n :modelValue=\"path\"\n :placeholder=\"server ? '' : 'Enter a URL'\"\n server\n @blur=\"handlePathBlur\"\n @keydown.delete=\"handlePathBackspace\"\n @keydown.tab=\"tabbedOut = true\"\n @submit=\"handlePathSubmit\" />\n <div class=\"fade-right\" />\n </div>\n\n <!-- Copy url button -->\n <ScalarButton\n class=\"hover:bg-b-3 mx-1\"\n size=\"xs\"\n variant=\"ghost\"\n @click=\"copyUrl\">\n <ScalarIconCopy />\n <span class=\"sr-only\">Copy URL</span>\n </ScalarButton>\n\n <AddressBarHistory\n :history=\"history\"\n :target=\"id\"\n @select:history:item=\"(payload) => emit('select:history:item', payload)\"\n @update:open=\"(value) => (isHistoryDropdownOpen = value)\" />\n <!-- Error message -->\n <div\n v-if=\"hasConflict\"\n class=\"z-context absolute inset-x-0 top-[calc(100%+4px)] flex flex-col items-center rounded px-6\">\n <div\n class=\"text-c-danger bg-b-danger border-c-danger flex items-center gap-1 rounded border p-1\">\n <ScalarIconWarningCircle size=\"sm\" />\n <div class=\"min-w-0 flex-1\">\n A\n <em>{{ methodConflict?.toUpperCase() ?? method.toUpperCase() }}</em>\n request to\n <ScalarWrappingText :text=\"pathConflict ?? path\" />\n already exists in this document\n </div>\n </div>\n </div>\n\n <ScalarButton\n ref=\"sendButtonRef\"\n class=\"relative h-auto shrink-0 overflow-hidden py-1 pr-2.5 pl-2 font-bold\"\n data-addressbar-action=\"send\"\n :disabled=\"isLoading\"\n @click=\"emit('execute')\">\n <span\n aria-hidden=\"true\"\n class=\"inline-flex items-center gap-1\">\n <ScalarIcon\n class=\"relative shrink-0 fill-current\"\n icon=\"Play\"\n size=\"xs\" />\n <span class=\"text-xxs hidden lg:flex\">Send</span>\n </span>\n <span class=\"sr-only\">\n Send {{ method }} request to {{ server?.url ?? '' }}{{ path }}\n </span>\n </ScalarButton>\n </div>\n </div>\n</template>\n<style scoped>\n:deep(.cm-editor) {\n height: 100%;\n outline: none;\n width: 100%;\n}\n:deep(.cm-line) {\n padding: 0;\n}\n:deep(.cm-content) {\n padding: 0;\n display: flex;\n align-items: center;\n font-size: var(--scalar-small);\n}\n.scroll-timeline-x {\n scroll-timeline: --scroll-timeline x;\n /* Firefox supports */\n scroll-timeline: --scroll-timeline horizontal;\n -ms-overflow-style: none; /* IE and Edge */\n}\n.scroll-timeline-x-hidden {\n overflow-x: auto;\n}\n.scroll-timeline-x-hidden :deep(.cm-scroller) {\n scrollbar-width: none;\n -ms-overflow-style: none;\n padding-right: 20px;\n overflow: auto;\n}\n.scroll-timeline-x-hidden::-webkit-scrollbar {\n width: 0;\n height: 0;\n display: none;\n}\n.scroll-timeline-x-hidden :deep(.cm-scroller::-webkit-scrollbar) {\n width: 0;\n height: 0;\n display: none;\n}\n.scroll-timeline-x-address {\n line-height: 27px;\n scrollbar-width: none; /* Firefox */\n}\n/* make clickable are to left of send button */\n.scroll-timeline-x-address:after {\n content: '';\n position: absolute;\n height: 100%;\n width: 24px;\n right: 0;\n cursor: text;\n}\n.scroll-timeline-x-address:empty:before {\n content: 'Enter URL or cURL request';\n color: var(--scalar-color-3);\n pointer-events: none;\n}\n.fade-left,\n.fade-right {\n content: '';\n position: sticky;\n height: 100%;\n animation-name: fadein;\n animation-duration: 1ms;\n animation-direction: reverse;\n animation-timeline: --scroll-timeline;\n pointer-events: none;\n z-index: 1;\n}\n.fade-left {\n background: linear-gradient(\n -90deg,\n color-mix(in srgb, var(--scalar-address-bar-bg), transparent 100%) 0%,\n color-mix(in srgb, var(--scalar-address-bar-bg), transparent 20%) 30%,\n var(--scalar-address-bar-bg) 100%\n );\n left: -1px;\n min-width: 6px;\n animation-direction: normal;\n}\n.fade-right {\n background: linear-gradient(\n 90deg,\n color-mix(in srgb, var(--scalar-address-bar-bg), transparent 100%) 0%,\n color-mix(in srgb, var(--scalar-address-bar-bg), transparent 20%) 30%,\n var(--scalar-address-bar-bg) 100%\n );\n right: -1px;\n min-width: 24px;\n}\n@keyframes fadein {\n 0% {\n opacity: 0;\n }\n 1% {\n opacity: 1;\n }\n}\n.address-bar-bg-states {\n --scalar-address-bar-bg: color-mix(\n in srgb,\n var(--scalar-background-1),\n var(--scalar-background-2)\n );\n background: var(--scalar-address-bar-bg);\n}\n.address-bar-bg-states:has(.cm-focused) {\n --scalar-address-bar-bg: var(--scalar-background-1);\n border-color: var(--scalar-border-color);\n outline-width: 1px;\n outline-style: solid;\n}\n.address-bar-bg-states:has(.cm-focused) .fade-left,\n.address-bar-bg-states:has(.cm-focused) .fade-right {\n --scalar-address-bar-bg: var(--scalar-background-1);\n}\n</style>\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"AddressBar.vue.js","names":[],"sources":["../../../../../src/v2/blocks/scalar-address-bar-block/components/AddressBar.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * AddressBar component\n * This component is used to display the address bar for the operation block\n * It is used to display the path, method, server, and history for the operation\n */\nexport default {\n name: 'AddressBar',\n}\nexport type AddressBarProps = {\n /** Current request path */\n path: string\n /** Current request method */\n method: HttpMethodType\n /** Currently selected server */\n server: ServerObject | null\n /** Server list available for operation/document */\n servers: ServerObject[]\n /** List of request history */\n history: History[]\n /** Client layout */\n layout: ClientLayout\n /** Event bus */\n eventBus: WorkspaceEventBus\n /** Environment */\n environment: XScalarEnvironment\n /** Meta information for the server */\n serverMeta: ServerMeta\n}\n</script>\n<script setup lang=\"ts\">\nimport {\n ScalarButton,\n ScalarIcon,\n ScalarWrappingText,\n} from '@scalar/components'\nimport { getSelector } from '@scalar/helpers/dom/get-selector'\nimport { REQUEST_METHODS } from '@scalar/helpers/http/http-info'\nimport type { HttpMethod as HttpMethodType } from '@scalar/helpers/http/http-methods'\nimport { replaceEnvVariables } from '@scalar/helpers/regex/replace-variables'\nimport { extractServerFromPath } from '@scalar/helpers/url/extract-server-from-path'\nimport { ScalarIconCopy, ScalarIconWarningCircle } from '@scalar/icons'\nimport { EditorView } from '@scalar/use-codemirror'\nimport { useClipboard } from '@scalar/use-hooks/useClipboard'\nimport type {\n ApiReferenceEvents,\n ServerMeta,\n WorkspaceEventBus,\n} from '@scalar/workspace-store/events'\nimport {\n getEnvironmentVariables,\n getResolvedUrl,\n} from '@scalar/workspace-store/request-example'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type { ServerObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport {\n computed,\n onBeforeUnmount,\n onMounted,\n ref,\n useId,\n useTemplateRef,\n watch,\n} from 'vue'\n\nimport { HttpMethod } from '@/components/HttpMethod'\nimport { useLoadingAnimation } from '@/v2/blocks/scalar-address-bar-block/hooks/use-loading-animation'\nimport { CodeInput } from '@/v2/components/code-input'\nimport { ServerDropdown } from '@/v2/components/server'\nimport type { ClientLayout } from '@/v2/types/layout'\n\nimport AddressBarHistory, { type History } from './AddressBarHistory.vue'\n\nconst {\n path,\n method,\n layout,\n eventBus,\n history,\n server,\n servers,\n environment,\n serverMeta,\n} = defineProps<AddressBarProps>()\n\nconst emit = defineEmits<{\n /** Execute the current operation example */\n (e: 'execute'): void\n /** Select a request history item by index */\n (e: 'select:history:item', payload: { index: number }): void\n}>()\n\nconst id = useId()\nconst { percentage, startLoading, stopLoading, isLoading } =\n useLoadingAnimation()\n\n/** Calculate the style for the address bar */\nconst style = computed(() => ({\n backgroundColor: `color-mix(in srgb, transparent 90%, ${REQUEST_METHODS[method].colorVar})`,\n transform: `translate3d(-${percentage.value}%,0,0)`,\n}))\n\n/** Keeps the cursor visible past the fade-right overlay while typing */\nconst addressBarScrollMargins = EditorView.scrollMargins.of(() => ({\n right: 24,\n}))\n\nconst pathConflict = ref<string | null>(null)\nconst methodConflict = ref<HttpMethodType | null>(null)\n\n/** Whether there is a path or method conflict */\nconst hasConflict = computed(() => methodConflict.value || pathConflict.value)\n\n/** Clear conflict state when switching to a different operation */\nwatch(\n () => [path, method],\n () => {\n pathConflict.value = null\n methodConflict.value = null\n },\n)\n\n/** Check if the path contains a server URL, extract it, and select or add the server */\nconst checkForServer = (targetPath: string) => {\n const extracted = extractServerFromPath(targetPath)\n if (!extracted) {\n return targetPath\n }\n\n const [url, newPath] = extracted\n\n // Server is already selected — nothing to change\n if (url === server?.url) {\n return newPath\n }\n\n const matchingServer = servers.find((s) => s.url === url)\n\n // Select the server if it already exists in the list\n if (matchingServer) {\n eventBus.emit('server:update:selected', {\n url,\n meta: serverMeta,\n })\n }\n // Otherwise add it as a new operation-level server\n else {\n eventBus.emit('server:add:server', {\n url,\n select: true,\n meta: {\n type: 'operation',\n path,\n method,\n },\n })\n }\n\n return newPath\n}\n\n/** Emit the path/method update event with conflict handling */\nconst emitPathMethodUpdate = (\n targetMethod: HttpMethodType,\n targetPath: string,\n blurTargetSelector: string | null = null,\n): void => {\n const newPath = checkForServer(targetPath)\n const normalizedPath = newPath.startsWith('/') ? newPath : `/${newPath}`\n\n // Update the local state of codemirror so we don't have werid path on conflict\n addressBarRef.value?.setCodeMirrorContent(normalizedPath)\n\n eventBus.emit('operation:update:pathMethod', {\n meta: { method, path },\n blurTargetSelector,\n payload: { method: targetMethod, path: normalizedPath },\n callback: (status, blurTargetSelector) => {\n // Clear conflicts if the operation was successful or no change was made\n if (status === 'success' || status === 'no-change') {\n methodConflict.value = null\n pathConflict.value = null\n }\n // Otherwise set the conflict if needed\n else if (status === 'conflict') {\n if (targetMethod !== method) {\n methodConflict.value = targetMethod\n }\n if (normalizedPath !== path) {\n pathConflict.value = normalizedPath\n }\n }\n\n // Edge case: pasting a full URL extracts the server but leaves the path unchanged.\n // The CodeMirror DOM still shows the full URL, so we force it back to just the path.\n if (\n status === 'no-change' &&\n addressBarRef.value?.codeMirrorRef?.textContent &&\n addressBarRef.value.codeMirrorRef.textContent !== newPath\n ) {\n addressBarRef.value.setCodeMirrorContent(newPath)\n }\n\n // Re-trigger the click or focus event if we have a blur target selector\n if (blurTargetSelector) {\n const element = document.querySelector(blurTargetSelector)\n\n // Re-trigger clicks on buttons\n if (element instanceof HTMLButtonElement) {\n element.click()\n }\n\n // Re-trigger focus on inputs and codeInputs\n else if (\n element instanceof HTMLInputElement ||\n element instanceof HTMLTextAreaElement ||\n (element instanceof HTMLElement &&\n element.getAttribute('contenteditable') === 'true')\n ) {\n element.focus()\n }\n }\n },\n })\n}\n\n/** Update the operation's HTTP method, handling conflicts */\nconst handleMethodChange = (newMethod: HttpMethodType): void =>\n emitPathMethodUpdate(newMethod, pathConflict.value ?? path)\n\n/**\n * Update the operation's path, handling conflicts also we extract the blur target selector to re-trigger click events\n *\n * We have special handling for the tab key to prevent it from triggering a click on the focused button\n */\nconst handlePathBlur = (newPath: string, event: FocusEvent): void => {\n const relatedTarget = event.relatedTarget as Element | null\n const blurTargetSelector = tabbedOut.value ? null : getSelector(relatedTarget)\n\n tabbedOut.value = false\n\n emitPathMethodUpdate(\n methodConflict.value ?? method,\n newPath,\n blurTargetSelector,\n )\n}\n\n/** Lets unset the server when backspace is pressed and the path is empty */\nconst handlePathBackspace = (event: KeyboardEvent): void => {\n if ((event.target as HTMLElement)?.innerText === '\\n') {\n eventBus.emit('server:update:selected', {\n url: '',\n meta: serverMeta,\n })\n }\n}\n\n/** Handle path submit (Enter key) — saves the path and triggers execution via blurTargetSelector */\nconst handlePathSubmit = (\n newPath: string,\n event: KeyboardEvent | FocusEvent,\n): void => {\n // Prevent the global hotkey listener\n event.stopPropagation()\n\n emitPathMethodUpdate(\n methodConflict.value ?? method,\n newPath,\n '[data-addressbar-action=\"send\"]',\n )\n}\n\n/** Handle focus events */\nconst sendButtonRef = useTemplateRef('sendButtonRef')\nconst addressBarRef = useTemplateRef('addressBarRef')\nconst tabbedOut = ref(false)\nconst handleFocusSendButton = () => sendButtonRef.value?.$el?.focus()\n\nconst handleFocusAddressBar = (\n payload: ApiReferenceEvents['ui:focus:address-bar'],\n) => {\n // If it already has focus we just propagate native behavior which should focus the browser address bar\n if (addressBarRef.value?.isFocused && layout !== 'desktop') {\n return\n }\n\n addressBarRef.value?.focus('end')\n\n if (payload && 'clear' in payload && payload.clear) {\n addressBarRef.value?.setCodeMirrorContent('/')\n }\n\n if (payload && 'event' in payload) {\n payload.event.preventDefault()\n }\n}\n\nonMounted(() => {\n eventBus.on('ui:focus:address-bar', handleFocusAddressBar)\n eventBus.on('ui:focus:send-button', handleFocusSendButton)\n eventBus.on('copy-url:address-bar', copyUrl)\n eventBus.on('hooks:on:request:sent', startLoading)\n eventBus.on('hooks:on:request:complete', stopLoading)\n})\n\nonBeforeUnmount(() => {\n eventBus.off('ui:focus:address-bar', handleFocusAddressBar)\n eventBus.off('ui:focus:send-button', handleFocusSendButton)\n eventBus.off('copy-url:address-bar', copyUrl)\n eventBus.off('hooks:on:request:sent', startLoading)\n eventBus.off('hooks:on:request:complete', stopLoading)\n\n // Stop the animation when the component is unmounted\n // This is to prevent the animation from continuing after the component is unmounted\n stopLoading()\n})\n\nconst { copyToClipboard } = useClipboard()\n\n/** Copy the resolved URL with the environment variables to the clipboard */\nconst copyUrl = async () => {\n const resolvedUrl = getResolvedUrl({ server, path })\n const environmentVariables = getEnvironmentVariables(environment)\n const resolvedUrlWithEnvVars = replaceEnvVariables(\n resolvedUrl,\n environmentVariables,\n )\n await copyToClipboard(resolvedUrlWithEnvVars)\n}\n\nconst isServerDropdownOpen = ref(false)\nconst isHistoryDropdownOpen = ref(false)\n\n/** Whether either dropdown is open */\nconst isDropdownOpen = computed(\n () => isServerDropdownOpen.value || isHistoryDropdownOpen.value,\n)\n\nconst navigateToServersPage = () => {\n if (serverMeta.type === 'operation') {\n return eventBus.emit('ui:navigate', {\n page: 'operation',\n path: 'servers',\n operationPath: serverMeta.path,\n method: serverMeta.method,\n })\n }\n return eventBus.emit('ui:navigate', {\n page: 'document',\n path: 'servers',\n })\n}\n\ndefineExpose({\n methodConflict,\n pathConflict,\n})\n</script>\n<template>\n <div\n :id=\"id\"\n class=\"scalar-address-bar order-last flex h-(--scalar-address-bar-height) w-full [--scalar-address-bar-height:32px] lg:order-0 lg:w-auto\">\n <!-- Address Bar -->\n <div\n class=\"address-bar-bg-states text-xxs group relative order-last flex w-full max-w-[calc(100dvw-24px)] flex-1 flex-row items-stretch rounded-lg p-0.75 lg:order-none lg:max-w-[580px] lg:min-w-[580px] xl:max-w-[720px] xl:min-w-[720px]\"\n :class=\"{\n 'outline-c-danger outline': hasConflict,\n 'rounded-b-none': isDropdownOpen,\n }\">\n <div\n class=\"pointer-events-none absolute top-0 left-0 block h-full w-full overflow-hidden rounded-lg border\"\n :class=\"{\n 'rounded-b-none': isDropdownOpen,\n }\">\n <div\n class=\"absolute top-0 left-0 h-full w-full\"\n :style />\n </div>\n <div class=\"flex gap-1\">\n <HttpMethod\n :isEditable=\"layout !== 'modal'\"\n isSquare\n :method=\"methodConflict ?? method\"\n teleport\n @change=\"handleMethodChange\" />\n </div>\n\n <div\n class=\"scroll-timeline-x scroll-timeline-x-hidden relative flex w-full bg-blend-normal\">\n <!-- Servers -->\n <ServerDropdown\n v-if=\"servers.length\"\n :layout=\"layout\"\n :meta=\"serverMeta\"\n :server=\"server\"\n :servers=\"servers\"\n :target=\"id\"\n @update:open=\"(value) => (isServerDropdownOpen = value)\"\n @update:selectedServer=\"\n (payload) => eventBus.emit('server:update:selected', payload)\n \"\n @update:servers=\"navigateToServersPage\"\n @update:variable=\"\n (payload) => eventBus.emit('server:update:variables', payload)\n \" />\n\n <div class=\"fade-left\" />\n <!-- Path + URL + env vars -->\n <CodeInput\n ref=\"addressBarRef\"\n alwaysEmitChange\n aria-label=\"Path\"\n class=\"min-w-fit outline-none\"\n disableCloseBrackets\n :disabled=\"layout === 'modal'\"\n disableEnter\n disableTabIndent\n :emitOnBlur=\"false\"\n :environment=\"environment\"\n :extensions=\"[addressBarScrollMargins]\"\n importCurl\n :layout=\"layout\"\n :modelValue=\"path\"\n :placeholder=\"server ? '' : 'Enter a URL'\"\n server\n @blur=\"handlePathBlur\"\n @keydown.delete=\"handlePathBackspace\"\n @keydown.tab=\"tabbedOut = true\"\n @submit=\"handlePathSubmit\" />\n <div class=\"fade-right\" />\n </div>\n\n <!-- Copy url button -->\n <ScalarButton\n class=\"hover:bg-b-3 mx-1\"\n size=\"xs\"\n variant=\"ghost\"\n @click=\"copyUrl\">\n <ScalarIconCopy />\n <span class=\"sr-only\">Copy URL</span>\n </ScalarButton>\n\n <AddressBarHistory\n :history=\"history\"\n :target=\"id\"\n @select:history:item=\"(payload) => emit('select:history:item', payload)\"\n @update:open=\"(value) => (isHistoryDropdownOpen = value)\" />\n <!-- Error message -->\n <div\n v-if=\"hasConflict\"\n class=\"z-context absolute inset-x-0 top-[calc(100%+4px)] flex flex-col items-center rounded px-6\">\n <div\n class=\"text-c-danger bg-b-danger border-c-danger flex items-center gap-1 rounded border p-1\">\n <ScalarIconWarningCircle size=\"sm\" />\n <div class=\"min-w-0 flex-1\">\n A\n <em>{{ methodConflict?.toUpperCase() ?? method.toUpperCase() }}</em>\n request to\n <ScalarWrappingText :text=\"pathConflict ?? path\" />\n already exists in this document\n </div>\n </div>\n </div>\n\n <ScalarButton\n ref=\"sendButtonRef\"\n class=\"relative h-auto shrink-0 overflow-hidden py-1 pr-2.5 pl-2 font-bold\"\n data-addressbar-action=\"send\"\n :disabled=\"isLoading\"\n @click=\"emit('execute')\">\n <span\n aria-hidden=\"true\"\n class=\"inline-flex items-center gap-1\">\n <ScalarIcon\n class=\"relative shrink-0 fill-current\"\n icon=\"Play\"\n size=\"xs\" />\n <span class=\"text-xxs hidden lg:flex\">Send</span>\n </span>\n <span class=\"sr-only\">\n Send {{ method }} request to {{ server?.url ?? '' }}{{ path }}\n </span>\n </ScalarButton>\n </div>\n </div>\n</template>\n<style scoped>\n:deep(.cm-editor) {\n height: 100%;\n outline: none;\n width: 100%;\n}\n:deep(.cm-line) {\n padding: 0;\n}\n:deep(.cm-content) {\n padding: 0;\n display: flex;\n align-items: center;\n font-size: var(--scalar-small);\n}\n.scroll-timeline-x {\n scroll-timeline: --scroll-timeline x;\n /* Firefox supports */\n scroll-timeline: --scroll-timeline horizontal;\n -ms-overflow-style: none; /* IE and Edge */\n}\n.scroll-timeline-x-hidden {\n overflow-x: auto;\n}\n.scroll-timeline-x-hidden :deep(.cm-scroller) {\n scrollbar-width: none;\n -ms-overflow-style: none;\n padding-right: 20px;\n overflow: auto;\n}\n.scroll-timeline-x-hidden::-webkit-scrollbar {\n width: 0;\n height: 0;\n display: none;\n}\n.scroll-timeline-x-hidden :deep(.cm-scroller::-webkit-scrollbar) {\n width: 0;\n height: 0;\n display: none;\n}\n.scroll-timeline-x-address {\n line-height: 27px;\n scrollbar-width: none; /* Firefox */\n}\n/* make clickable are to left of send button */\n.scroll-timeline-x-address:after {\n content: '';\n position: absolute;\n height: 100%;\n width: 24px;\n right: 0;\n cursor: text;\n}\n.scroll-timeline-x-address:empty:before {\n content: 'Enter URL or cURL request';\n color: var(--scalar-color-3);\n pointer-events: none;\n}\n.fade-left,\n.fade-right {\n content: '';\n position: sticky;\n height: 100%;\n animation-name: fadein;\n animation-duration: 1ms;\n animation-direction: reverse;\n animation-timeline: --scroll-timeline;\n pointer-events: none;\n z-index: 1;\n}\n.fade-left {\n background: linear-gradient(\n -90deg,\n color-mix(in srgb, var(--scalar-address-bar-bg), transparent 100%) 0%,\n color-mix(in srgb, var(--scalar-address-bar-bg), transparent 20%) 30%,\n var(--scalar-address-bar-bg) 100%\n );\n left: -1px;\n min-width: 6px;\n animation-direction: normal;\n}\n.fade-right {\n background: linear-gradient(\n 90deg,\n color-mix(in srgb, var(--scalar-address-bar-bg), transparent 100%) 0%,\n color-mix(in srgb, var(--scalar-address-bar-bg), transparent 20%) 30%,\n var(--scalar-address-bar-bg) 100%\n );\n right: -1px;\n min-width: 24px;\n}\n@keyframes fadein {\n 0% {\n opacity: 0;\n }\n 1% {\n opacity: 1;\n }\n}\n.address-bar-bg-states {\n --scalar-address-bar-bg: color-mix(\n in srgb,\n var(--scalar-background-1),\n var(--scalar-background-2)\n );\n background: var(--scalar-address-bar-bg);\n}\n.address-bar-bg-states:has(.cm-focused) {\n --scalar-address-bar-bg: var(--scalar-background-1);\n border-color: var(--scalar-border-color);\n outline-width: 1px;\n outline-style: solid;\n}\n.address-bar-bg-states:has(.cm-focused) .fade-left,\n.address-bar-bg-states:has(.cm-focused) .fade-right {\n --scalar-address-bar-bg: var(--scalar-background-1);\n}\n</style>\n"],"mappings":""}
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
import HttpMethod_default from "../../../../components/HttpMethod/HttpMethod.vue.js";
|
|
2
1
|
import CodeInput_default from "../../../components/code-input/CodeInput.vue.js";
|
|
2
|
+
import HttpMethod_default from "../../../../components/HttpMethod/HttpMethod.vue.js";
|
|
3
3
|
import { useLoadingAnimation } from "../hooks/use-loading-animation.js";
|
|
4
4
|
import ServerDropdown_default from "../../../components/server/ServerDropdown.vue.js";
|
|
5
5
|
import AddressBarHistory_default from "./AddressBarHistory.vue.js";
|
|
6
6
|
import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, normalizeClass, normalizeStyle, onBeforeUnmount, onMounted, openBlock, ref, toDisplayString, unref, useId, useTemplateRef, watch, withCtx, withKeys } from "vue";
|
|
7
7
|
import { ScalarButton, ScalarIcon, ScalarWrappingText } from "@scalar/components";
|
|
8
|
-
import { useClipboard } from "@scalar/use-hooks/useClipboard";
|
|
9
|
-
import { REQUEST_METHODS } from "@scalar/helpers/http/http-info";
|
|
10
8
|
import { ScalarIconCopy, ScalarIconWarningCircle } from "@scalar/icons";
|
|
11
9
|
import { getEnvironmentVariables, getResolvedUrl } from "@scalar/workspace-store/request-example";
|
|
12
10
|
import { replaceEnvVariables } from "@scalar/helpers/regex/replace-variables";
|
|
11
|
+
import { REQUEST_METHODS } from "@scalar/helpers/http/http-info";
|
|
12
|
+
import { EditorView } from "@scalar/use-codemirror";
|
|
13
13
|
import { getSelector } from "@scalar/helpers/dom/get-selector";
|
|
14
14
|
import { extractServerFromPath } from "@scalar/helpers/url/extract-server-from-path";
|
|
15
|
+
import { useClipboard } from "@scalar/use-hooks/useClipboard";
|
|
15
16
|
//#region src/v2/blocks/scalar-address-bar-block/components/AddressBar.vue?vue&type=script&setup=true&lang.ts
|
|
16
17
|
var _hoisted_1 = ["id"];
|
|
17
18
|
var _hoisted_2 = { class: "flex gap-1" };
|
|
@@ -50,6 +51,8 @@ var AddressBar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
|
|
|
50
51
|
backgroundColor: `color-mix(in srgb, transparent 90%, ${REQUEST_METHODS[__props.method].colorVar})`,
|
|
51
52
|
transform: `translate3d(-${percentage.value}%,0,0)`
|
|
52
53
|
}));
|
|
54
|
+
/** Keeps the cursor visible past the fade-right overlay while typing */
|
|
55
|
+
const addressBarScrollMargins = EditorView.scrollMargins.of(() => ({ right: 24 }));
|
|
53
56
|
const pathConflict = ref(null);
|
|
54
57
|
const methodConflict = ref(null);
|
|
55
58
|
/** Whether there is a path or method conflict */
|
|
@@ -242,6 +245,7 @@ var AddressBar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
|
|
|
242
245
|
disableTabIndent: "",
|
|
243
246
|
emitOnBlur: false,
|
|
244
247
|
environment: __props.environment,
|
|
248
|
+
extensions: [unref(addressBarScrollMargins)],
|
|
245
249
|
importCurl: "",
|
|
246
250
|
layout: __props.layout,
|
|
247
251
|
modelValue: __props.path,
|
|
@@ -253,6 +257,7 @@ var AddressBar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
|
|
|
253
257
|
}, null, 8, [
|
|
254
258
|
"disabled",
|
|
255
259
|
"environment",
|
|
260
|
+
"extensions",
|
|
256
261
|
"layout",
|
|
257
262
|
"modelValue",
|
|
258
263
|
"placeholder"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddressBar.vue.script.js","names":[],"sources":["../../../../../src/v2/blocks/scalar-address-bar-block/components/AddressBar.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * AddressBar component\n * This component is used to display the address bar for the operation block\n * It is used to display the path, method, server, and history for the operation\n */\nexport default {\n name: 'AddressBar',\n}\nexport type AddressBarProps = {\n /** Current request path */\n path: string\n /** Current request method */\n method: HttpMethodType\n /** Currently selected server */\n server: ServerObject | null\n /** Server list available for operation/document */\n servers: ServerObject[]\n /** List of request history */\n history: History[]\n /** Client layout */\n layout: ClientLayout\n /** Event bus */\n eventBus: WorkspaceEventBus\n /** Environment */\n environment: XScalarEnvironment\n /** Meta information for the server */\n serverMeta: ServerMeta\n}\n</script>\n<script setup lang=\"ts\">\nimport {\n ScalarButton,\n ScalarIcon,\n ScalarWrappingText,\n} from '@scalar/components'\nimport { getSelector } from '@scalar/helpers/dom/get-selector'\nimport { REQUEST_METHODS } from '@scalar/helpers/http/http-info'\nimport type { HttpMethod as HttpMethodType } from '@scalar/helpers/http/http-methods'\nimport { replaceEnvVariables } from '@scalar/helpers/regex/replace-variables'\nimport { extractServerFromPath } from '@scalar/helpers/url/extract-server-from-path'\nimport { ScalarIconCopy, ScalarIconWarningCircle } from '@scalar/icons'\nimport { useClipboard } from '@scalar/use-hooks/useClipboard'\nimport type {\n ApiReferenceEvents,\n ServerMeta,\n WorkspaceEventBus,\n} from '@scalar/workspace-store/events'\nimport {\n getEnvironmentVariables,\n getResolvedUrl,\n} from '@scalar/workspace-store/request-example'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type { ServerObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport {\n computed,\n onBeforeUnmount,\n onMounted,\n ref,\n useId,\n useTemplateRef,\n watch,\n} from 'vue'\n\nimport { HttpMethod } from '@/components/HttpMethod'\nimport { type ClientLayout } from '@/hooks'\nimport { useLoadingAnimation } from '@/v2/blocks/scalar-address-bar-block/hooks/use-loading-animation'\nimport { CodeInput } from '@/v2/components/code-input'\nimport { ServerDropdown } from '@/v2/components/server'\n\nimport AddressBarHistory, { type History } from './AddressBarHistory.vue'\n\nconst {\n path,\n method,\n layout,\n eventBus,\n history,\n server,\n servers,\n environment,\n serverMeta,\n} = defineProps<AddressBarProps>()\n\nconst emit = defineEmits<{\n /** Execute the current operation example */\n (e: 'execute'): void\n /** Select a request history item by index */\n (e: 'select:history:item', payload: { index: number }): void\n}>()\n\nconst id = useId()\nconst { percentage, startLoading, stopLoading, isLoading } =\n useLoadingAnimation()\n\n/** Calculate the style for the address bar */\nconst style = computed(() => ({\n backgroundColor: `color-mix(in srgb, transparent 90%, ${REQUEST_METHODS[method].colorVar})`,\n transform: `translate3d(-${percentage.value}%,0,0)`,\n}))\n\nconst pathConflict = ref<string | null>(null)\nconst methodConflict = ref<HttpMethodType | null>(null)\n\n/** Whether there is a path or method conflict */\nconst hasConflict = computed(() => methodConflict.value || pathConflict.value)\n\n/** Clear conflict state when switching to a different operation */\nwatch(\n () => [path, method],\n () => {\n pathConflict.value = null\n methodConflict.value = null\n },\n)\n\n/** Check if the path contains a server URL, extract it, and select or add the server */\nconst checkForServer = (targetPath: string) => {\n const extracted = extractServerFromPath(targetPath)\n if (!extracted) {\n return targetPath\n }\n\n const [url, newPath] = extracted\n\n // Server is already selected — nothing to change\n if (url === server?.url) {\n return newPath\n }\n\n const matchingServer = servers.find((s) => s.url === url)\n\n // Select the server if it already exists in the list\n if (matchingServer) {\n eventBus.emit('server:update:selected', {\n url,\n meta: serverMeta,\n })\n }\n // Otherwise add it as a new operation-level server\n else {\n eventBus.emit('server:add:server', {\n url,\n select: true,\n meta: {\n type: 'operation',\n path,\n method,\n },\n })\n }\n\n return newPath\n}\n\n/** Emit the path/method update event with conflict handling */\nconst emitPathMethodUpdate = (\n targetMethod: HttpMethodType,\n targetPath: string,\n blurTargetSelector: string | null = null,\n): void => {\n const newPath = checkForServer(targetPath)\n const normalizedPath = newPath.startsWith('/') ? newPath : `/${newPath}`\n\n // Update the local state of codemirror so we don't have werid path on conflict\n addressBarRef.value?.setCodeMirrorContent(normalizedPath)\n\n eventBus.emit('operation:update:pathMethod', {\n meta: { method, path },\n blurTargetSelector,\n payload: { method: targetMethod, path: normalizedPath },\n callback: (status, blurTargetSelector) => {\n // Clear conflicts if the operation was successful or no change was made\n if (status === 'success' || status === 'no-change') {\n methodConflict.value = null\n pathConflict.value = null\n }\n // Otherwise set the conflict if needed\n else if (status === 'conflict') {\n if (targetMethod !== method) {\n methodConflict.value = targetMethod\n }\n if (normalizedPath !== path) {\n pathConflict.value = normalizedPath\n }\n }\n\n // Edge case: pasting a full URL extracts the server but leaves the path unchanged.\n // The CodeMirror DOM still shows the full URL, so we force it back to just the path.\n if (\n status === 'no-change' &&\n addressBarRef.value?.codeMirrorRef?.textContent &&\n addressBarRef.value.codeMirrorRef.textContent !== newPath\n ) {\n addressBarRef.value.setCodeMirrorContent(newPath)\n }\n\n // Re-trigger the click or focus event if we have a blur target selector\n if (blurTargetSelector) {\n const element = document.querySelector(blurTargetSelector)\n\n // Re-trigger clicks on buttons\n if (element instanceof HTMLButtonElement) {\n element.click()\n }\n\n // Re-trigger focus on inputs and codeInputs\n else if (\n element instanceof HTMLInputElement ||\n element instanceof HTMLTextAreaElement ||\n (element instanceof HTMLElement &&\n element.getAttribute('contenteditable') === 'true')\n ) {\n element.focus()\n }\n }\n },\n })\n}\n\n/** Update the operation's HTTP method, handling conflicts */\nconst handleMethodChange = (newMethod: HttpMethodType): void =>\n emitPathMethodUpdate(newMethod, pathConflict.value ?? path)\n\n/**\n * Update the operation's path, handling conflicts also we extract the blur target selector to re-trigger click events\n *\n * We have special handling for the tab key to prevent it from triggering a click on the focused button\n */\nconst handlePathBlur = (newPath: string, event: FocusEvent): void => {\n const relatedTarget = event.relatedTarget as Element | null\n const blurTargetSelector = tabbedOut.value ? null : getSelector(relatedTarget)\n\n tabbedOut.value = false\n\n emitPathMethodUpdate(\n methodConflict.value ?? method,\n newPath,\n blurTargetSelector,\n )\n}\n\n/** Lets unset the server when backspace is pressed and the path is empty */\nconst handlePathBackspace = (event: KeyboardEvent): void => {\n if ((event.target as HTMLElement)?.innerText === '\\n') {\n eventBus.emit('server:update:selected', {\n url: '',\n meta: serverMeta,\n })\n }\n}\n\n/** Handle path submit (Enter key) — saves the path and triggers execution via blurTargetSelector */\nconst handlePathSubmit = (\n newPath: string,\n event: KeyboardEvent | FocusEvent,\n): void => {\n // Prevent the global hotkey listener\n event.stopPropagation()\n\n emitPathMethodUpdate(\n methodConflict.value ?? method,\n newPath,\n '[data-addressbar-action=\"send\"]',\n )\n}\n\n/** Handle focus events */\nconst sendButtonRef = useTemplateRef('sendButtonRef')\nconst addressBarRef = useTemplateRef('addressBarRef')\nconst tabbedOut = ref(false)\nconst handleFocusSendButton = () => sendButtonRef.value?.$el?.focus()\n\nconst handleFocusAddressBar = (\n payload: ApiReferenceEvents['ui:focus:address-bar'],\n) => {\n // If it already has focus we just propagate native behavior which should focus the browser address bar\n if (addressBarRef.value?.isFocused && layout !== 'desktop') {\n return\n }\n\n addressBarRef.value?.focus('end')\n\n if (payload && 'clear' in payload && payload.clear) {\n addressBarRef.value?.setCodeMirrorContent('/')\n }\n\n if (payload && 'event' in payload) {\n payload.event.preventDefault()\n }\n}\n\nonMounted(() => {\n eventBus.on('ui:focus:address-bar', handleFocusAddressBar)\n eventBus.on('ui:focus:send-button', handleFocusSendButton)\n eventBus.on('copy-url:address-bar', copyUrl)\n eventBus.on('hooks:on:request:sent', startLoading)\n eventBus.on('hooks:on:request:complete', stopLoading)\n})\n\nonBeforeUnmount(() => {\n eventBus.off('ui:focus:address-bar', handleFocusAddressBar)\n eventBus.off('ui:focus:send-button', handleFocusSendButton)\n eventBus.off('copy-url:address-bar', copyUrl)\n eventBus.off('hooks:on:request:sent', startLoading)\n eventBus.off('hooks:on:request:complete', stopLoading)\n\n // Stop the animation when the component is unmounted\n // This is to prevent the animation from continuing after the component is unmounted\n stopLoading()\n})\n\nconst { copyToClipboard } = useClipboard()\n\n/** Copy the resolved URL with the environment variables to the clipboard */\nconst copyUrl = async () => {\n const resolvedUrl = getResolvedUrl({ server, path })\n const environmentVariables = getEnvironmentVariables(environment)\n const resolvedUrlWithEnvVars = replaceEnvVariables(\n resolvedUrl,\n environmentVariables,\n )\n await copyToClipboard(resolvedUrlWithEnvVars)\n}\n\nconst isServerDropdownOpen = ref(false)\nconst isHistoryDropdownOpen = ref(false)\n\n/** Whether either dropdown is open */\nconst isDropdownOpen = computed(\n () => isServerDropdownOpen.value || isHistoryDropdownOpen.value,\n)\n\nconst navigateToServersPage = () => {\n if (serverMeta.type === 'operation') {\n return eventBus.emit('ui:navigate', {\n page: 'operation',\n path: 'servers',\n operationPath: serverMeta.path,\n method: serverMeta.method,\n })\n }\n return eventBus.emit('ui:navigate', {\n page: 'document',\n path: 'servers',\n })\n}\n\ndefineExpose({\n methodConflict,\n pathConflict,\n})\n</script>\n<template>\n <div\n :id=\"id\"\n class=\"scalar-address-bar order-last flex h-(--scalar-address-bar-height) w-full [--scalar-address-bar-height:32px] lg:order-0 lg:w-auto\">\n <!-- Address Bar -->\n <div\n class=\"address-bar-bg-states text-xxs group relative order-last flex w-full max-w-[calc(100dvw-24px)] flex-1 flex-row items-stretch rounded-lg p-0.75 lg:order-none lg:max-w-[580px] lg:min-w-[580px] xl:max-w-[720px] xl:min-w-[720px]\"\n :class=\"{\n 'outline-c-danger outline': hasConflict,\n 'rounded-b-none': isDropdownOpen,\n }\">\n <div\n class=\"pointer-events-none absolute top-0 left-0 block h-full w-full overflow-hidden rounded-lg border\"\n :class=\"{\n 'rounded-b-none': isDropdownOpen,\n }\">\n <div\n class=\"absolute top-0 left-0 h-full w-full\"\n :style />\n </div>\n <div class=\"flex gap-1\">\n <HttpMethod\n :isEditable=\"layout !== 'modal'\"\n isSquare\n :method=\"methodConflict ?? method\"\n teleport\n @change=\"handleMethodChange\" />\n </div>\n\n <div\n class=\"scroll-timeline-x scroll-timeline-x-hidden relative flex w-full bg-blend-normal\">\n <!-- Servers -->\n <ServerDropdown\n v-if=\"servers.length\"\n :layout=\"layout\"\n :meta=\"serverMeta\"\n :server=\"server\"\n :servers=\"servers\"\n :target=\"id\"\n @update:open=\"(value) => (isServerDropdownOpen = value)\"\n @update:selectedServer=\"\n (payload) => eventBus.emit('server:update:selected', payload)\n \"\n @update:servers=\"navigateToServersPage\"\n @update:variable=\"\n (payload) => eventBus.emit('server:update:variables', payload)\n \" />\n\n <div class=\"fade-left\" />\n <!-- Path + URL + env vars -->\n <CodeInput\n ref=\"addressBarRef\"\n alwaysEmitChange\n aria-label=\"Path\"\n class=\"min-w-fit outline-none\"\n disableCloseBrackets\n :disabled=\"layout === 'modal'\"\n disableEnter\n disableTabIndent\n :emitOnBlur=\"false\"\n :environment=\"environment\"\n importCurl\n :layout=\"layout\"\n :modelValue=\"path\"\n :placeholder=\"server ? '' : 'Enter a URL'\"\n server\n @blur=\"handlePathBlur\"\n @keydown.delete=\"handlePathBackspace\"\n @keydown.tab=\"tabbedOut = true\"\n @submit=\"handlePathSubmit\" />\n <div class=\"fade-right\" />\n </div>\n\n <!-- Copy url button -->\n <ScalarButton\n class=\"hover:bg-b-3 mx-1\"\n size=\"xs\"\n variant=\"ghost\"\n @click=\"copyUrl\">\n <ScalarIconCopy />\n <span class=\"sr-only\">Copy URL</span>\n </ScalarButton>\n\n <AddressBarHistory\n :history=\"history\"\n :target=\"id\"\n @select:history:item=\"(payload) => emit('select:history:item', payload)\"\n @update:open=\"(value) => (isHistoryDropdownOpen = value)\" />\n <!-- Error message -->\n <div\n v-if=\"hasConflict\"\n class=\"z-context absolute inset-x-0 top-[calc(100%+4px)] flex flex-col items-center rounded px-6\">\n <div\n class=\"text-c-danger bg-b-danger border-c-danger flex items-center gap-1 rounded border p-1\">\n <ScalarIconWarningCircle size=\"sm\" />\n <div class=\"min-w-0 flex-1\">\n A\n <em>{{ methodConflict?.toUpperCase() ?? method.toUpperCase() }}</em>\n request to\n <ScalarWrappingText :text=\"pathConflict ?? path\" />\n already exists in this document\n </div>\n </div>\n </div>\n\n <ScalarButton\n ref=\"sendButtonRef\"\n class=\"relative h-auto shrink-0 overflow-hidden py-1 pr-2.5 pl-2 font-bold\"\n data-addressbar-action=\"send\"\n :disabled=\"isLoading\"\n @click=\"emit('execute')\">\n <span\n aria-hidden=\"true\"\n class=\"inline-flex items-center gap-1\">\n <ScalarIcon\n class=\"relative shrink-0 fill-current\"\n icon=\"Play\"\n size=\"xs\" />\n <span class=\"text-xxs hidden lg:flex\">Send</span>\n </span>\n <span class=\"sr-only\">\n Send {{ method }} request to {{ server?.url ?? '' }}{{ path }}\n </span>\n </ScalarButton>\n </div>\n </div>\n</template>\n<style scoped>\n:deep(.cm-editor) {\n height: 100%;\n outline: none;\n width: 100%;\n}\n:deep(.cm-line) {\n padding: 0;\n}\n:deep(.cm-content) {\n padding: 0;\n display: flex;\n align-items: center;\n font-size: var(--scalar-small);\n}\n.scroll-timeline-x {\n scroll-timeline: --scroll-timeline x;\n /* Firefox supports */\n scroll-timeline: --scroll-timeline horizontal;\n -ms-overflow-style: none; /* IE and Edge */\n}\n.scroll-timeline-x-hidden {\n overflow-x: auto;\n}\n.scroll-timeline-x-hidden :deep(.cm-scroller) {\n scrollbar-width: none;\n -ms-overflow-style: none;\n padding-right: 20px;\n overflow: auto;\n}\n.scroll-timeline-x-hidden::-webkit-scrollbar {\n width: 0;\n height: 0;\n display: none;\n}\n.scroll-timeline-x-hidden :deep(.cm-scroller::-webkit-scrollbar) {\n width: 0;\n height: 0;\n display: none;\n}\n.scroll-timeline-x-address {\n line-height: 27px;\n scrollbar-width: none; /* Firefox */\n}\n/* make clickable are to left of send button */\n.scroll-timeline-x-address:after {\n content: '';\n position: absolute;\n height: 100%;\n width: 24px;\n right: 0;\n cursor: text;\n}\n.scroll-timeline-x-address:empty:before {\n content: 'Enter URL or cURL request';\n color: var(--scalar-color-3);\n pointer-events: none;\n}\n.fade-left,\n.fade-right {\n content: '';\n position: sticky;\n height: 100%;\n animation-name: fadein;\n animation-duration: 1ms;\n animation-direction: reverse;\n animation-timeline: --scroll-timeline;\n pointer-events: none;\n z-index: 1;\n}\n.fade-left {\n background: linear-gradient(\n -90deg,\n color-mix(in srgb, var(--scalar-address-bar-bg), transparent 100%) 0%,\n color-mix(in srgb, var(--scalar-address-bar-bg), transparent 20%) 30%,\n var(--scalar-address-bar-bg) 100%\n );\n left: -1px;\n min-width: 6px;\n animation-direction: normal;\n}\n.fade-right {\n background: linear-gradient(\n 90deg,\n color-mix(in srgb, var(--scalar-address-bar-bg), transparent 100%) 0%,\n color-mix(in srgb, var(--scalar-address-bar-bg), transparent 20%) 30%,\n var(--scalar-address-bar-bg) 100%\n );\n right: -1px;\n min-width: 24px;\n}\n@keyframes fadein {\n 0% {\n opacity: 0;\n }\n 1% {\n opacity: 1;\n }\n}\n.address-bar-bg-states {\n --scalar-address-bar-bg: color-mix(\n in srgb,\n var(--scalar-background-1),\n var(--scalar-background-2)\n );\n background: var(--scalar-address-bar-bg);\n}\n.address-bar-bg-states:has(.cm-focused) {\n --scalar-address-bar-bg: var(--scalar-background-1);\n border-color: var(--scalar-border-color);\n outline-width: 1px;\n outline-style: solid;\n}\n.address-bar-bg-states:has(.cm-focused) .fade-left,\n.address-bar-bg-states:has(.cm-focused) .fade-right {\n --scalar-address-bar-bg: var(--scalar-background-1);\n}\n</style>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AddressBar.vue.script.js","names":[],"sources":["../../../../../src/v2/blocks/scalar-address-bar-block/components/AddressBar.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * AddressBar component\n * This component is used to display the address bar for the operation block\n * It is used to display the path, method, server, and history for the operation\n */\nexport default {\n name: 'AddressBar',\n}\nexport type AddressBarProps = {\n /** Current request path */\n path: string\n /** Current request method */\n method: HttpMethodType\n /** Currently selected server */\n server: ServerObject | null\n /** Server list available for operation/document */\n servers: ServerObject[]\n /** List of request history */\n history: History[]\n /** Client layout */\n layout: ClientLayout\n /** Event bus */\n eventBus: WorkspaceEventBus\n /** Environment */\n environment: XScalarEnvironment\n /** Meta information for the server */\n serverMeta: ServerMeta\n}\n</script>\n<script setup lang=\"ts\">\nimport {\n ScalarButton,\n ScalarIcon,\n ScalarWrappingText,\n} from '@scalar/components'\nimport { getSelector } from '@scalar/helpers/dom/get-selector'\nimport { REQUEST_METHODS } from '@scalar/helpers/http/http-info'\nimport type { HttpMethod as HttpMethodType } from '@scalar/helpers/http/http-methods'\nimport { replaceEnvVariables } from '@scalar/helpers/regex/replace-variables'\nimport { extractServerFromPath } from '@scalar/helpers/url/extract-server-from-path'\nimport { ScalarIconCopy, ScalarIconWarningCircle } from '@scalar/icons'\nimport { EditorView } from '@scalar/use-codemirror'\nimport { useClipboard } from '@scalar/use-hooks/useClipboard'\nimport type {\n ApiReferenceEvents,\n ServerMeta,\n WorkspaceEventBus,\n} from '@scalar/workspace-store/events'\nimport {\n getEnvironmentVariables,\n getResolvedUrl,\n} from '@scalar/workspace-store/request-example'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type { ServerObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport {\n computed,\n onBeforeUnmount,\n onMounted,\n ref,\n useId,\n useTemplateRef,\n watch,\n} from 'vue'\n\nimport { HttpMethod } from '@/components/HttpMethod'\nimport { useLoadingAnimation } from '@/v2/blocks/scalar-address-bar-block/hooks/use-loading-animation'\nimport { CodeInput } from '@/v2/components/code-input'\nimport { ServerDropdown } from '@/v2/components/server'\nimport type { ClientLayout } from '@/v2/types/layout'\n\nimport AddressBarHistory, { type History } from './AddressBarHistory.vue'\n\nconst {\n path,\n method,\n layout,\n eventBus,\n history,\n server,\n servers,\n environment,\n serverMeta,\n} = defineProps<AddressBarProps>()\n\nconst emit = defineEmits<{\n /** Execute the current operation example */\n (e: 'execute'): void\n /** Select a request history item by index */\n (e: 'select:history:item', payload: { index: number }): void\n}>()\n\nconst id = useId()\nconst { percentage, startLoading, stopLoading, isLoading } =\n useLoadingAnimation()\n\n/** Calculate the style for the address bar */\nconst style = computed(() => ({\n backgroundColor: `color-mix(in srgb, transparent 90%, ${REQUEST_METHODS[method].colorVar})`,\n transform: `translate3d(-${percentage.value}%,0,0)`,\n}))\n\n/** Keeps the cursor visible past the fade-right overlay while typing */\nconst addressBarScrollMargins = EditorView.scrollMargins.of(() => ({\n right: 24,\n}))\n\nconst pathConflict = ref<string | null>(null)\nconst methodConflict = ref<HttpMethodType | null>(null)\n\n/** Whether there is a path or method conflict */\nconst hasConflict = computed(() => methodConflict.value || pathConflict.value)\n\n/** Clear conflict state when switching to a different operation */\nwatch(\n () => [path, method],\n () => {\n pathConflict.value = null\n methodConflict.value = null\n },\n)\n\n/** Check if the path contains a server URL, extract it, and select or add the server */\nconst checkForServer = (targetPath: string) => {\n const extracted = extractServerFromPath(targetPath)\n if (!extracted) {\n return targetPath\n }\n\n const [url, newPath] = extracted\n\n // Server is already selected — nothing to change\n if (url === server?.url) {\n return newPath\n }\n\n const matchingServer = servers.find((s) => s.url === url)\n\n // Select the server if it already exists in the list\n if (matchingServer) {\n eventBus.emit('server:update:selected', {\n url,\n meta: serverMeta,\n })\n }\n // Otherwise add it as a new operation-level server\n else {\n eventBus.emit('server:add:server', {\n url,\n select: true,\n meta: {\n type: 'operation',\n path,\n method,\n },\n })\n }\n\n return newPath\n}\n\n/** Emit the path/method update event with conflict handling */\nconst emitPathMethodUpdate = (\n targetMethod: HttpMethodType,\n targetPath: string,\n blurTargetSelector: string | null = null,\n): void => {\n const newPath = checkForServer(targetPath)\n const normalizedPath = newPath.startsWith('/') ? newPath : `/${newPath}`\n\n // Update the local state of codemirror so we don't have werid path on conflict\n addressBarRef.value?.setCodeMirrorContent(normalizedPath)\n\n eventBus.emit('operation:update:pathMethod', {\n meta: { method, path },\n blurTargetSelector,\n payload: { method: targetMethod, path: normalizedPath },\n callback: (status, blurTargetSelector) => {\n // Clear conflicts if the operation was successful or no change was made\n if (status === 'success' || status === 'no-change') {\n methodConflict.value = null\n pathConflict.value = null\n }\n // Otherwise set the conflict if needed\n else if (status === 'conflict') {\n if (targetMethod !== method) {\n methodConflict.value = targetMethod\n }\n if (normalizedPath !== path) {\n pathConflict.value = normalizedPath\n }\n }\n\n // Edge case: pasting a full URL extracts the server but leaves the path unchanged.\n // The CodeMirror DOM still shows the full URL, so we force it back to just the path.\n if (\n status === 'no-change' &&\n addressBarRef.value?.codeMirrorRef?.textContent &&\n addressBarRef.value.codeMirrorRef.textContent !== newPath\n ) {\n addressBarRef.value.setCodeMirrorContent(newPath)\n }\n\n // Re-trigger the click or focus event if we have a blur target selector\n if (blurTargetSelector) {\n const element = document.querySelector(blurTargetSelector)\n\n // Re-trigger clicks on buttons\n if (element instanceof HTMLButtonElement) {\n element.click()\n }\n\n // Re-trigger focus on inputs and codeInputs\n else if (\n element instanceof HTMLInputElement ||\n element instanceof HTMLTextAreaElement ||\n (element instanceof HTMLElement &&\n element.getAttribute('contenteditable') === 'true')\n ) {\n element.focus()\n }\n }\n },\n })\n}\n\n/** Update the operation's HTTP method, handling conflicts */\nconst handleMethodChange = (newMethod: HttpMethodType): void =>\n emitPathMethodUpdate(newMethod, pathConflict.value ?? path)\n\n/**\n * Update the operation's path, handling conflicts also we extract the blur target selector to re-trigger click events\n *\n * We have special handling for the tab key to prevent it from triggering a click on the focused button\n */\nconst handlePathBlur = (newPath: string, event: FocusEvent): void => {\n const relatedTarget = event.relatedTarget as Element | null\n const blurTargetSelector = tabbedOut.value ? null : getSelector(relatedTarget)\n\n tabbedOut.value = false\n\n emitPathMethodUpdate(\n methodConflict.value ?? method,\n newPath,\n blurTargetSelector,\n )\n}\n\n/** Lets unset the server when backspace is pressed and the path is empty */\nconst handlePathBackspace = (event: KeyboardEvent): void => {\n if ((event.target as HTMLElement)?.innerText === '\\n') {\n eventBus.emit('server:update:selected', {\n url: '',\n meta: serverMeta,\n })\n }\n}\n\n/** Handle path submit (Enter key) — saves the path and triggers execution via blurTargetSelector */\nconst handlePathSubmit = (\n newPath: string,\n event: KeyboardEvent | FocusEvent,\n): void => {\n // Prevent the global hotkey listener\n event.stopPropagation()\n\n emitPathMethodUpdate(\n methodConflict.value ?? method,\n newPath,\n '[data-addressbar-action=\"send\"]',\n )\n}\n\n/** Handle focus events */\nconst sendButtonRef = useTemplateRef('sendButtonRef')\nconst addressBarRef = useTemplateRef('addressBarRef')\nconst tabbedOut = ref(false)\nconst handleFocusSendButton = () => sendButtonRef.value?.$el?.focus()\n\nconst handleFocusAddressBar = (\n payload: ApiReferenceEvents['ui:focus:address-bar'],\n) => {\n // If it already has focus we just propagate native behavior which should focus the browser address bar\n if (addressBarRef.value?.isFocused && layout !== 'desktop') {\n return\n }\n\n addressBarRef.value?.focus('end')\n\n if (payload && 'clear' in payload && payload.clear) {\n addressBarRef.value?.setCodeMirrorContent('/')\n }\n\n if (payload && 'event' in payload) {\n payload.event.preventDefault()\n }\n}\n\nonMounted(() => {\n eventBus.on('ui:focus:address-bar', handleFocusAddressBar)\n eventBus.on('ui:focus:send-button', handleFocusSendButton)\n eventBus.on('copy-url:address-bar', copyUrl)\n eventBus.on('hooks:on:request:sent', startLoading)\n eventBus.on('hooks:on:request:complete', stopLoading)\n})\n\nonBeforeUnmount(() => {\n eventBus.off('ui:focus:address-bar', handleFocusAddressBar)\n eventBus.off('ui:focus:send-button', handleFocusSendButton)\n eventBus.off('copy-url:address-bar', copyUrl)\n eventBus.off('hooks:on:request:sent', startLoading)\n eventBus.off('hooks:on:request:complete', stopLoading)\n\n // Stop the animation when the component is unmounted\n // This is to prevent the animation from continuing after the component is unmounted\n stopLoading()\n})\n\nconst { copyToClipboard } = useClipboard()\n\n/** Copy the resolved URL with the environment variables to the clipboard */\nconst copyUrl = async () => {\n const resolvedUrl = getResolvedUrl({ server, path })\n const environmentVariables = getEnvironmentVariables(environment)\n const resolvedUrlWithEnvVars = replaceEnvVariables(\n resolvedUrl,\n environmentVariables,\n )\n await copyToClipboard(resolvedUrlWithEnvVars)\n}\n\nconst isServerDropdownOpen = ref(false)\nconst isHistoryDropdownOpen = ref(false)\n\n/** Whether either dropdown is open */\nconst isDropdownOpen = computed(\n () => isServerDropdownOpen.value || isHistoryDropdownOpen.value,\n)\n\nconst navigateToServersPage = () => {\n if (serverMeta.type === 'operation') {\n return eventBus.emit('ui:navigate', {\n page: 'operation',\n path: 'servers',\n operationPath: serverMeta.path,\n method: serverMeta.method,\n })\n }\n return eventBus.emit('ui:navigate', {\n page: 'document',\n path: 'servers',\n })\n}\n\ndefineExpose({\n methodConflict,\n pathConflict,\n})\n</script>\n<template>\n <div\n :id=\"id\"\n class=\"scalar-address-bar order-last flex h-(--scalar-address-bar-height) w-full [--scalar-address-bar-height:32px] lg:order-0 lg:w-auto\">\n <!-- Address Bar -->\n <div\n class=\"address-bar-bg-states text-xxs group relative order-last flex w-full max-w-[calc(100dvw-24px)] flex-1 flex-row items-stretch rounded-lg p-0.75 lg:order-none lg:max-w-[580px] lg:min-w-[580px] xl:max-w-[720px] xl:min-w-[720px]\"\n :class=\"{\n 'outline-c-danger outline': hasConflict,\n 'rounded-b-none': isDropdownOpen,\n }\">\n <div\n class=\"pointer-events-none absolute top-0 left-0 block h-full w-full overflow-hidden rounded-lg border\"\n :class=\"{\n 'rounded-b-none': isDropdownOpen,\n }\">\n <div\n class=\"absolute top-0 left-0 h-full w-full\"\n :style />\n </div>\n <div class=\"flex gap-1\">\n <HttpMethod\n :isEditable=\"layout !== 'modal'\"\n isSquare\n :method=\"methodConflict ?? method\"\n teleport\n @change=\"handleMethodChange\" />\n </div>\n\n <div\n class=\"scroll-timeline-x scroll-timeline-x-hidden relative flex w-full bg-blend-normal\">\n <!-- Servers -->\n <ServerDropdown\n v-if=\"servers.length\"\n :layout=\"layout\"\n :meta=\"serverMeta\"\n :server=\"server\"\n :servers=\"servers\"\n :target=\"id\"\n @update:open=\"(value) => (isServerDropdownOpen = value)\"\n @update:selectedServer=\"\n (payload) => eventBus.emit('server:update:selected', payload)\n \"\n @update:servers=\"navigateToServersPage\"\n @update:variable=\"\n (payload) => eventBus.emit('server:update:variables', payload)\n \" />\n\n <div class=\"fade-left\" />\n <!-- Path + URL + env vars -->\n <CodeInput\n ref=\"addressBarRef\"\n alwaysEmitChange\n aria-label=\"Path\"\n class=\"min-w-fit outline-none\"\n disableCloseBrackets\n :disabled=\"layout === 'modal'\"\n disableEnter\n disableTabIndent\n :emitOnBlur=\"false\"\n :environment=\"environment\"\n :extensions=\"[addressBarScrollMargins]\"\n importCurl\n :layout=\"layout\"\n :modelValue=\"path\"\n :placeholder=\"server ? '' : 'Enter a URL'\"\n server\n @blur=\"handlePathBlur\"\n @keydown.delete=\"handlePathBackspace\"\n @keydown.tab=\"tabbedOut = true\"\n @submit=\"handlePathSubmit\" />\n <div class=\"fade-right\" />\n </div>\n\n <!-- Copy url button -->\n <ScalarButton\n class=\"hover:bg-b-3 mx-1\"\n size=\"xs\"\n variant=\"ghost\"\n @click=\"copyUrl\">\n <ScalarIconCopy />\n <span class=\"sr-only\">Copy URL</span>\n </ScalarButton>\n\n <AddressBarHistory\n :history=\"history\"\n :target=\"id\"\n @select:history:item=\"(payload) => emit('select:history:item', payload)\"\n @update:open=\"(value) => (isHistoryDropdownOpen = value)\" />\n <!-- Error message -->\n <div\n v-if=\"hasConflict\"\n class=\"z-context absolute inset-x-0 top-[calc(100%+4px)] flex flex-col items-center rounded px-6\">\n <div\n class=\"text-c-danger bg-b-danger border-c-danger flex items-center gap-1 rounded border p-1\">\n <ScalarIconWarningCircle size=\"sm\" />\n <div class=\"min-w-0 flex-1\">\n A\n <em>{{ methodConflict?.toUpperCase() ?? method.toUpperCase() }}</em>\n request to\n <ScalarWrappingText :text=\"pathConflict ?? path\" />\n already exists in this document\n </div>\n </div>\n </div>\n\n <ScalarButton\n ref=\"sendButtonRef\"\n class=\"relative h-auto shrink-0 overflow-hidden py-1 pr-2.5 pl-2 font-bold\"\n data-addressbar-action=\"send\"\n :disabled=\"isLoading\"\n @click=\"emit('execute')\">\n <span\n aria-hidden=\"true\"\n class=\"inline-flex items-center gap-1\">\n <ScalarIcon\n class=\"relative shrink-0 fill-current\"\n icon=\"Play\"\n size=\"xs\" />\n <span class=\"text-xxs hidden lg:flex\">Send</span>\n </span>\n <span class=\"sr-only\">\n Send {{ method }} request to {{ server?.url ?? '' }}{{ path }}\n </span>\n </ScalarButton>\n </div>\n </div>\n</template>\n<style scoped>\n:deep(.cm-editor) {\n height: 100%;\n outline: none;\n width: 100%;\n}\n:deep(.cm-line) {\n padding: 0;\n}\n:deep(.cm-content) {\n padding: 0;\n display: flex;\n align-items: center;\n font-size: var(--scalar-small);\n}\n.scroll-timeline-x {\n scroll-timeline: --scroll-timeline x;\n /* Firefox supports */\n scroll-timeline: --scroll-timeline horizontal;\n -ms-overflow-style: none; /* IE and Edge */\n}\n.scroll-timeline-x-hidden {\n overflow-x: auto;\n}\n.scroll-timeline-x-hidden :deep(.cm-scroller) {\n scrollbar-width: none;\n -ms-overflow-style: none;\n padding-right: 20px;\n overflow: auto;\n}\n.scroll-timeline-x-hidden::-webkit-scrollbar {\n width: 0;\n height: 0;\n display: none;\n}\n.scroll-timeline-x-hidden :deep(.cm-scroller::-webkit-scrollbar) {\n width: 0;\n height: 0;\n display: none;\n}\n.scroll-timeline-x-address {\n line-height: 27px;\n scrollbar-width: none; /* Firefox */\n}\n/* make clickable are to left of send button */\n.scroll-timeline-x-address:after {\n content: '';\n position: absolute;\n height: 100%;\n width: 24px;\n right: 0;\n cursor: text;\n}\n.scroll-timeline-x-address:empty:before {\n content: 'Enter URL or cURL request';\n color: var(--scalar-color-3);\n pointer-events: none;\n}\n.fade-left,\n.fade-right {\n content: '';\n position: sticky;\n height: 100%;\n animation-name: fadein;\n animation-duration: 1ms;\n animation-direction: reverse;\n animation-timeline: --scroll-timeline;\n pointer-events: none;\n z-index: 1;\n}\n.fade-left {\n background: linear-gradient(\n -90deg,\n color-mix(in srgb, var(--scalar-address-bar-bg), transparent 100%) 0%,\n color-mix(in srgb, var(--scalar-address-bar-bg), transparent 20%) 30%,\n var(--scalar-address-bar-bg) 100%\n );\n left: -1px;\n min-width: 6px;\n animation-direction: normal;\n}\n.fade-right {\n background: linear-gradient(\n 90deg,\n color-mix(in srgb, var(--scalar-address-bar-bg), transparent 100%) 0%,\n color-mix(in srgb, var(--scalar-address-bar-bg), transparent 20%) 30%,\n var(--scalar-address-bar-bg) 100%\n );\n right: -1px;\n min-width: 24px;\n}\n@keyframes fadein {\n 0% {\n opacity: 0;\n }\n 1% {\n opacity: 1;\n }\n}\n.address-bar-bg-states {\n --scalar-address-bar-bg: color-mix(\n in srgb,\n var(--scalar-background-1),\n var(--scalar-background-2)\n );\n background: var(--scalar-address-bar-bg);\n}\n.address-bar-bg-states:has(.cm-focused) {\n --scalar-address-bar-bg: var(--scalar-background-1);\n border-color: var(--scalar-border-color);\n outline-width: 1px;\n outline-style: solid;\n}\n.address-bar-bg-states:has(.cm-focused) .fade-left,\n.address-bar-bg-states:has(.cm-focused) .fade-right {\n --scalar-address-bar-bg: var(--scalar-background-1);\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import _plugin_vue_export_helper_default from "../../../../_virtual/_plugin-vue_
|
|
|
2
2
|
import AddressBarHistory_vue_vue_type_script_setup_true_lang_default from "./AddressBarHistory.vue.script.js";
|
|
3
3
|
/* empty css */
|
|
4
4
|
//#region src/v2/blocks/scalar-address-bar-block/components/AddressBarHistory.vue
|
|
5
|
-
var AddressBarHistory_default = /* @__PURE__ */ _plugin_vue_export_helper_default(AddressBarHistory_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
5
|
+
var AddressBarHistory_default = /* @__PURE__ */ _plugin_vue_export_helper_default(AddressBarHistory_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-2cc840c9"]]);
|
|
6
6
|
//#endregion
|
|
7
7
|
export { AddressBarHistory_default as default };
|
|
8
8
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddressBarHistory.vue.js","names":[],"sources":["../../../../../src/v2/blocks/scalar-address-bar-block/components/AddressBarHistory.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { Menu, MenuButton, MenuItem, MenuItems } from '@headlessui/vue'\nimport {\n ScalarFloating,\n ScalarFloatingBackdrop,\n ScalarIcon,\n} from '@scalar/components'\nimport { formatMilliseconds } from '@scalar/helpers/formatters/format-milliseconds'\nimport type { HttpMethod as HttpMethodType } from '@scalar/helpers/http/http-methods'\nimport { httpStatusCodes } from '@scalar/
|
|
1
|
+
{"version":3,"file":"AddressBarHistory.vue.js","names":[],"sources":["../../../../../src/v2/blocks/scalar-address-bar-block/components/AddressBarHistory.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { Menu, MenuButton, MenuItem, MenuItems } from '@headlessui/vue'\nimport {\n ScalarFloating,\n ScalarFloatingBackdrop,\n ScalarIcon,\n} from '@scalar/components'\nimport { formatMilliseconds } from '@scalar/helpers/formatters/format-milliseconds'\nimport type { HttpMethod as HttpMethodType } from '@scalar/helpers/http/http-methods'\nimport { httpStatusCodes } from '@scalar/helpers/http/http-status-codes'\n\nimport { HttpMethod } from '@/components/HttpMethod'\nimport ValueEmitter from '@/v2/components/layout/ValueEmitter.vue'\n\nimport { getStatusCodeColor } from './httpStatusCodeColors'\n\nexport type History = {\n method: HttpMethodType\n path: string\n duration: number\n status: number\n}\n\nconst { target } = defineProps<{\n /** The id of the target to use for the popover (e.g. address bar) */\n target: string\n /** List of all request history items */\n history: History[]\n}>()\n\nconst emits = defineEmits<{\n /** Select a request history item by index */\n (e: 'select:history:item', payload: { index: number }): void\n /** Update the open state of the history popover */\n (e: 'update:open', value: boolean): void\n}>()\n</script>\n<template>\n <Menu\n v-slot=\"{ open }\"\n as=\"div\">\n <!-- Emit the slot value back out the parent -->\n <ValueEmitter\n :value=\"open\"\n @change=\"(value) => emits('update:open', value)\"\n @unmount=\"emits('update:open', false)\" />\n\n <ScalarFloating\n :offset=\"0\"\n resize\n :target=\"target\">\n <!-- History -->\n <MenuButton\n v-if=\"history.length\"\n class=\"address-bar-history-button text-c-3 focus:text-c-1 relative mr-1 rounded-lg p-1.5\">\n <ScalarIcon\n icon=\"History\"\n size=\"sm\"\n thickness=\"2.25\" />\n <span class=\"sr-only\">Request History</span>\n </MenuButton>\n <!-- History shadow and placement-->\n <template\n v-if=\"open\"\n #floating=\"{ width }\">\n <!-- History Item -->\n <MenuItems\n class=\"custom-scroll grid max-h-[inherit] grid-cols-[44px_1fr_repeat(3,auto)] items-center p-0.75\"\n static\n :style=\"{ width }\">\n <MenuItem\n v-for=\"(entry, index) in history\"\n :key=\"index\"\n as=\"button\"\n class=\"font-code ui-active:*:bg-b-2 text-c-2 contents text-sm font-medium *:flex *:h-8 *:cursor-pointer *:items-center *:rounded-none *:px-1.5 *:first:rounded-l *:last:rounded-r\"\n :value=\"index\"\n @click=\"emits('select:history:item', { index })\">\n <HttpMethod\n class=\"text-[11px]\"\n :method=\"entry.method\" />\n <div class=\"min-w-0\">\n <div class=\"text-c-1 min-w-0 truncate\">\n {{ entry.path }}\n </div>\n </div>\n <div>{{ formatMilliseconds(entry.duration) }}</div>\n <div :class=\"[getStatusCodeColor(entry.status).color]\">\n {{ entry.status }}\n </div>\n <div>\n {{ httpStatusCodes[entry.status]?.name }}\n </div>\n </MenuItem>\n </MenuItems>\n <ScalarFloatingBackdrop class=\"inset-x-px rounded-none rounded-b-lg\" />\n </template>\n </ScalarFloating>\n </Menu>\n</template>\n<style scoped>\n.address-bar-history-button:hover {\n background: var(--scalar-background-3);\n}\n.address-bar-history-button:focus-within {\n background: var(--scalar-background-2);\n}\n</style>\n"],"mappings":""}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import HttpMethod_default from "../../../../components/HttpMethod/HttpMethod.vue.js";
|
|
2
1
|
import ValueEmitter_default from "../../../components/layout/ValueEmitter.vue.js";
|
|
2
|
+
import HttpMethod_default from "../../../../components/HttpMethod/HttpMethod.vue.js";
|
|
3
3
|
import { getStatusCodeColor } from "./httpStatusCodeColors.js";
|
|
4
4
|
import { Fragment, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createVNode, defineComponent, normalizeClass, normalizeStyle, openBlock, renderList, toDisplayString, unref, withCtx } from "vue";
|
|
5
5
|
import { ScalarFloating, ScalarFloatingBackdrop, ScalarIcon } from "@scalar/components";
|
|
6
|
-
import { httpStatusCodes } from "@scalar/
|
|
6
|
+
import { httpStatusCodes } from "@scalar/helpers/http/http-status-codes";
|
|
7
7
|
import { Menu, MenuButton, MenuItem, MenuItems } from "@headlessui/vue";
|
|
8
8
|
import { formatMilliseconds } from "@scalar/helpers/formatters/format-milliseconds";
|
|
9
9
|
//#region src/v2/blocks/scalar-address-bar-block/components/AddressBarHistory.vue?vue&type=script&setup=true&lang.ts
|
package/dist/v2/blocks/scalar-address-bar-block/components/AddressBarHistory.vue.script.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddressBarHistory.vue.script.js","names":[],"sources":["../../../../../src/v2/blocks/scalar-address-bar-block/components/AddressBarHistory.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { Menu, MenuButton, MenuItem, MenuItems } from '@headlessui/vue'\nimport {\n ScalarFloating,\n ScalarFloatingBackdrop,\n ScalarIcon,\n} from '@scalar/components'\nimport { formatMilliseconds } from '@scalar/helpers/formatters/format-milliseconds'\nimport type { HttpMethod as HttpMethodType } from '@scalar/helpers/http/http-methods'\nimport { httpStatusCodes } from '@scalar/
|
|
1
|
+
{"version":3,"file":"AddressBarHistory.vue.script.js","names":[],"sources":["../../../../../src/v2/blocks/scalar-address-bar-block/components/AddressBarHistory.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { Menu, MenuButton, MenuItem, MenuItems } from '@headlessui/vue'\nimport {\n ScalarFloating,\n ScalarFloatingBackdrop,\n ScalarIcon,\n} from '@scalar/components'\nimport { formatMilliseconds } from '@scalar/helpers/formatters/format-milliseconds'\nimport type { HttpMethod as HttpMethodType } from '@scalar/helpers/http/http-methods'\nimport { httpStatusCodes } from '@scalar/helpers/http/http-status-codes'\n\nimport { HttpMethod } from '@/components/HttpMethod'\nimport ValueEmitter from '@/v2/components/layout/ValueEmitter.vue'\n\nimport { getStatusCodeColor } from './httpStatusCodeColors'\n\nexport type History = {\n method: HttpMethodType\n path: string\n duration: number\n status: number\n}\n\nconst { target } = defineProps<{\n /** The id of the target to use for the popover (e.g. address bar) */\n target: string\n /** List of all request history items */\n history: History[]\n}>()\n\nconst emits = defineEmits<{\n /** Select a request history item by index */\n (e: 'select:history:item', payload: { index: number }): void\n /** Update the open state of the history popover */\n (e: 'update:open', value: boolean): void\n}>()\n</script>\n<template>\n <Menu\n v-slot=\"{ open }\"\n as=\"div\">\n <!-- Emit the slot value back out the parent -->\n <ValueEmitter\n :value=\"open\"\n @change=\"(value) => emits('update:open', value)\"\n @unmount=\"emits('update:open', false)\" />\n\n <ScalarFloating\n :offset=\"0\"\n resize\n :target=\"target\">\n <!-- History -->\n <MenuButton\n v-if=\"history.length\"\n class=\"address-bar-history-button text-c-3 focus:text-c-1 relative mr-1 rounded-lg p-1.5\">\n <ScalarIcon\n icon=\"History\"\n size=\"sm\"\n thickness=\"2.25\" />\n <span class=\"sr-only\">Request History</span>\n </MenuButton>\n <!-- History shadow and placement-->\n <template\n v-if=\"open\"\n #floating=\"{ width }\">\n <!-- History Item -->\n <MenuItems\n class=\"custom-scroll grid max-h-[inherit] grid-cols-[44px_1fr_repeat(3,auto)] items-center p-0.75\"\n static\n :style=\"{ width }\">\n <MenuItem\n v-for=\"(entry, index) in history\"\n :key=\"index\"\n as=\"button\"\n class=\"font-code ui-active:*:bg-b-2 text-c-2 contents text-sm font-medium *:flex *:h-8 *:cursor-pointer *:items-center *:rounded-none *:px-1.5 *:first:rounded-l *:last:rounded-r\"\n :value=\"index\"\n @click=\"emits('select:history:item', { index })\">\n <HttpMethod\n class=\"text-[11px]\"\n :method=\"entry.method\" />\n <div class=\"min-w-0\">\n <div class=\"text-c-1 min-w-0 truncate\">\n {{ entry.path }}\n </div>\n </div>\n <div>{{ formatMilliseconds(entry.duration) }}</div>\n <div :class=\"[getStatusCodeColor(entry.status).color]\">\n {{ entry.status }}\n </div>\n <div>\n {{ httpStatusCodes[entry.status]?.name }}\n </div>\n </MenuItem>\n </MenuItems>\n <ScalarFloatingBackdrop class=\"inset-x-px rounded-none rounded-b-lg\" />\n </template>\n </ScalarFloating>\n </Menu>\n</template>\n<style scoped>\n.address-bar-history-button:hover {\n background: var(--scalar-background-3);\n}\n.address-bar-history-button:focus-within {\n background: var(--scalar-background-2);\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;EA8BA,MAAM,QAAQ;;uBAQZ,YA2DO,MAAA,KAAA,EAAA,EAzDL,IAAG,OAAK,EAAA;sBAKmC,EANjC,WAAI,CAGd,YAG2C,sBAAA;KAFxC,OAAO;KACP,UAAM,OAAA,OAAA,OAAA,MAAG,UAAU,MAAK,eAAgB,MAAK;KAC7C,WAAO,OAAA,OAAA,OAAA,MAAA,WAAE,MAAK,eAAA,MAAA;4BAEjB,YAiDiB,MAAA,eAAA,EAAA;KAhDd,QAAQ;KACT,QAAA;KACC,QAAQ,QAAA;;4BAUI,CAPL,QAAA,QAAQ,UAAA,WAAA,EADhB,YAQa,MAAA,WAAA,EAAA;;MANX,OAAM;;6BAIe,CAHrB,YAGqB,MAAA,WAAA,EAAA;OAFnB,MAAK;OACL,MAAK;OACL,WAAU;oCACZ,mBAA4C,QAAA,EAAtC,OAAM,WAAS,EAAC,mBAAe,GAAA,EAAA,CAAA;;;;QAI/B,OAAA;WACL;kBA6BW,EA7BC,YAAK,CAElB,YA2BY,MAAA,UAAA,EAAA;MA1BV,OAAM;MACN,QAAA;MACC,OAAK,eAAA,EAAI,OAAK,CAAA;;6BAEoB,EAAA,UAAA,KAAA,EADnC,mBAsBW,UAAA,MAAA,WArBgB,QAAA,UAAjB,OAAO,UAAK;2BADtB,YAsBW,MAAA,SAAA,EAAA;QApBR,KAAK;QACN,IAAG;QACH,OAAM;QACL,OAAO;QACP,UAAK,WAAE,MAAK,uBAAA,EAA0B,OAAK,CAAA;;+BAGjB;SAF3B,YAE2B,MAAA,mBAAA,EAAA;UADzB,OAAM;UACL,QAAQ,MAAM;;SACjB,mBAIM,OAJN,YAIM,CAHJ,mBAEM,OAFN,YAEM,gBADD,MAAM,KAAI,EAAA,EAAA,CAAA,CAAA;SAGjB,mBAAmD,OAAA,MAAA,gBAA3C,MAAA,mBAAkB,CAAC,MAAM,SAAQ,CAAA,EAAA,EAAA;SACzC,mBAEM,OAAA,EAFA,OAAK,eAAA,CAAG,MAAA,mBAAkB,CAAC,MAAM,OAAM,CAAE,MAAK,CAAA,EAAA,EAAA,gBAC/C,MAAM,OAAM,EAAA,EAAA;SAEjB,mBAEM,OAAA,MAAA,gBADD,MAAA,gBAAe,CAAC,MAAM,SAAS,KAAI,EAAA,EAAA;;;;;;uBAI5C,YAAuE,MAAA,uBAAA,EAAA,EAA/C,OAAM,wCAAsC,CAAA,CAAA,CAAA"}
|
|
@@ -4,6 +4,7 @@ import type { AuthMeta, WorkspaceEventBus } from '@scalar/workspace-store/events
|
|
|
4
4
|
import { type MergedSecuritySchemes } from '@scalar/workspace-store/request-example';
|
|
5
5
|
import type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments';
|
|
6
6
|
import type { OpenApiDocument, ServerObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document';
|
|
7
|
+
import type { OAuth2Options } from '../../../../v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.js';
|
|
7
8
|
import { type SecuritySchemeOption } from '../../../../v2/blocks/scalar-auth-selector-block/helpers/security-scheme.js';
|
|
8
9
|
type __VLS_Props = {
|
|
9
10
|
environment: XScalarEnvironment;
|
|
@@ -21,6 +22,8 @@ type __VLS_Props = {
|
|
|
21
22
|
selectedSecurity: SelectedSecurity | undefined;
|
|
22
23
|
server: ServerObject | null;
|
|
23
24
|
title: string;
|
|
25
|
+
/** Any config options required for the OAuth2 flow */
|
|
26
|
+
options?: OAuth2Options;
|
|
24
27
|
};
|
|
25
28
|
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {
|
|
26
29
|
authIndicator: import("vue").ComputedRef<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthSelector.vue.d.ts","sourceRoot":"","sources":["../../../../../src/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AuthSelector.vue.d.ts","sourceRoot":"","sources":["../../../../../src/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue"],"names":[],"mappings":"AAkUA,OAAO,EAML,KAAK,IAAI,EAEV,MAAM,oBAAoB,CAAA;AAE3B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAA;AAC7E,OAAO,KAAK,EACV,QAAQ,EACR,iBAAiB,EAClB,MAAM,gCAAgC,CAAA;AAGvC,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,yCAAyC,CAAA;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2EAA2E,CAAA;AACnH,OAAO,KAAK,EACV,eAAe,EAEf,YAAY,EACb,MAAM,8DAA8D,CAAA;AAIrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8DAA8D,CAAA;AACjG,OAAO,EAIL,KAAK,oBAAoB,EAC1B,MAAM,gEAAgE,CAAA;AAKvE,KAAK,WAAW,GAAG;IACjB,WAAW,EAAE,kBAAkB,CAAA;IAC/B,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,gEAAgE;IAChE,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,kEAAkE;IAClE,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,EAAE,QAAQ,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,oBAAoB,EAAE,eAAe,CAAC,UAAU,CAAC,CAAA;IACjD,eAAe,EAAE,qBAAqB,CAAA;IACtC,gBAAgB,EAAE,gBAAgB,GAAG,SAAS,CAAA;IAC9C,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,uDAAuD;IACvD,OAAO,CAAC,EAAE,aAAa,CAAA;CACxB,CAAC;AAkfF,QAAA,MAAM,YAAY;;cAhdqB,IAAI;cAAQ,MAAM;;;;oPAmdvD,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthSelector.vue.js","names":[],"sources":["../../../../../src/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {\n ScalarButton,\n ScalarComboboxMultiselect,\n ScalarIconButton,\n ScalarListboxCheckbox,\n useModal,\n type Icon,\n type ScalarButton as ScalarButtonType,\n} from '@scalar/components'\nimport { ScalarIconCaretDown, ScalarIconTrash } from '@scalar/icons'\nimport type { SelectedSecurity } from '@scalar/workspace-store/entities/auth'\nimport type {\n AuthMeta,\n WorkspaceEventBus,\n} from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport { unpackProxyObject } from '@scalar/workspace-store/helpers/unpack-proxy'\nimport {\n isAuthOptional,\n type MergedSecuritySchemes,\n} from '@scalar/workspace-store/request-example'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type {\n OpenApiDocument,\n SecurityRequirementObject,\n ServerObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed, ref, useId } from 'vue'\n\nimport DeleteRequestAuthModal from '@/v2/blocks/scalar-auth-selector-block/components/DeleteRequestAuthModal.vue'\nimport {\n formatComplexScheme,\n formatScheme,\n getSecuritySchemeOptions,\n type SecuritySchemeOption,\n} from '@/v2/blocks/scalar-auth-selector-block/helpers/security-scheme'\nimport { CollapsibleSection } from '@/v2/components/layout'\n\nimport RequestAuthDataTable from './RequestAuthDataTable.vue'\n\nconst {\n environment,\n eventBus,\n createAnySecurityScheme = false,\n defaultOpen = true,\n isStatic = false,\n meta,\n proxyUrl,\n securityRequirements,\n securitySchemes,\n selectedSecurity,\n server,\n title,\n} = defineProps<{\n environment: XScalarEnvironment\n eventBus: WorkspaceEventBus\n /** Allows adding authentication which is not in the document */\n createAnySecurityScheme?: boolean\n /** Whether the authentication disclosure should start expanded */\n defaultOpen?: boolean\n /** Creates a static disclosure that cannot be collapsed */\n isStatic?: boolean\n meta: AuthMeta\n proxyUrl: string\n securityRequirements: OpenApiDocument['security']\n securitySchemes: MergedSecuritySchemes\n selectedSecurity: SelectedSecurity | undefined\n server: ServerObject | null\n title: string\n}>()\n\nconst titleId = useId()\nconst comboboxButtonRef = ref<typeof ScalarButtonType | null>(null)\nconst isDisclosureOpen = ref(false)\n\nconst deleteModal = useModal()\nconst schemeToDelete = ref<{\n label: string\n payload: SecurityRequirementObject\n} | null>(null)\n\n/**\n * Determines if authentication is required or optional\n *\n * Auth is optional when there is an empty security requirement and no complex requirements.\n * Complex requirements have multiple auth schemes combined (e.g., API key + OAuth).\n */\nconst authIndicator = computed<{ icon: Icon; text: string } | null>(() => {\n if (!securityRequirements?.length) {\n return null\n }\n\n const isOptional = isAuthOptional(securityRequirements)\n\n return {\n icon: isOptional ? 'Unlock' : 'Lock',\n text: isOptional ? 'Optional' : 'Required',\n }\n})\n\n/** All available auth scheme options for the dropdown */\nconst availableSchemeOptions = computed(() =>\n getSecuritySchemeOptions(\n securityRequirements ?? [],\n securitySchemes ?? {},\n selectedSecurity?.selectedSchemes ?? [],\n createAnySecurityScheme,\n ),\n)\n\n/** Currently active auth schemes selected for this operation or collection */\nconst activeSchemeOptions = computed<SecuritySchemeOption[]>(() => {\n const schemes = selectedSecurity?.selectedSchemes\n if (!schemes?.length) {\n return []\n }\n\n return schemes.flatMap((requirement) => {\n const schemeNames = Object.keys(requirement)\n\n if (schemeNames.length === 0) {\n return []\n }\n\n // Complex auth requirement with multiple schemes\n if (schemeNames.length > 1) {\n return formatComplexScheme(requirement)\n }\n\n // Simple auth requirement with single scheme\n const schemeName = schemeNames[0]\n if (!schemeName) {\n return []\n }\n\n const scheme = getResolvedRef(securitySchemes?.[schemeName])\n if (!scheme) {\n return []\n }\n\n return formatScheme({\n name: schemeName,\n value: requirement,\n })\n })\n})\n\n/**\n * Opens the combobox dropdown when clicking the auth indicator badge.\n * Prevents the disclosure from toggling if it is already open.\n */\nconst handleAuthIndicatorClick = (event: Event): void => {\n if (isDisclosureOpen.value) {\n event.stopPropagation()\n }\n comboboxButtonRef.value?.$el.click()\n}\n\n/**\n * Updates the selected auth schemes.\n * Separates existing schemes from newly created ones for the event payload.\n */\nconst handleSchemeSelection = (selected: SecuritySchemeOption[]): void => {\n const existingSchemes = selected\n .filter((option) => option.payload === undefined)\n .map((option) => unpackProxyObject(option.value, { depth: 2 }))\n\n const newSchemes = selected\n .filter((option) => option.payload !== undefined)\n .map((option) => ({\n name: option.label,\n scheme: option.payload!,\n }))\n\n eventBus.emit('auth:update:selected-security-schemes', {\n selectedRequirements: existingSchemes,\n newSchemes,\n meta,\n })\n}\n\n/** Shows the delete confirmation modal for the selected scheme */\nconst handleDeleteRequest = (option: {\n label: string\n value: SecurityRequirementObject\n}): void => {\n schemeToDelete.value = { label: option.label, payload: option.value }\n deleteModal.show()\n}\n\n/** Deletes the selected auth scheme after confirmation */\nconst handleDeleteConfirm = (): void => {\n if (!schemeToDelete.value) {\n return\n }\n\n eventBus.emit('auth:delete:security-scheme', {\n names: Object.keys(schemeToDelete.value.payload),\n })\n\n schemeToDelete.value = null\n deleteModal.hide()\n}\n\ndefineExpose({\n authIndicator,\n selectedSchemeOptions: activeSchemeOptions,\n schemeOptions: availableSchemeOptions,\n})\n</script>\n<template>\n <CollapsibleSection\n class=\"group/params relative\"\n :defaultOpen\n :isStatic=\"isStatic\"\n :itemCount=\"activeSchemeOptions.length\"\n @update:modelValue=\"(open) => (isDisclosureOpen = open)\">\n <template #title>\n <div\n :id=\"titleId\"\n class=\"inline-flex items-center gap-0.5 leading-[20px]\">\n <span>{{ title }}</span>\n\n <span\n v-if=\"authIndicator\"\n class=\"text-c-3 hover:bg-b-3 hover:text-c-1 -my-0.5 -mr-1 cursor-pointer rounded px-1 py-0.5 leading-[normal] font-normal\"\n :class=\"{ 'text-c-1': authIndicator.text === 'Required' }\"\n data-testid=\"auth-indicator\"\n @click=\"handleAuthIndicatorClick\">\n {{ authIndicator.text }}\n </span>\n </div>\n </template>\n\n <!-- Auth Dropdown (hidden when only one scheme is available) -->\n <template #actions>\n <ScalarComboboxMultiselect\n class=\"w-72 text-xs\"\n :modelValue=\"activeSchemeOptions\"\n multiple\n :options=\"availableSchemeOptions\"\n placement=\"bottom-end\"\n teleport\n @delete=\"handleDeleteRequest\"\n @update:modelValue=\"handleSchemeSelection\">\n <ScalarButton\n ref=\"comboboxButtonRef\"\n :aria-describedby=\"titleId\"\n class=\"group/combobox-button hover:text-c-1 text-c-2 flex h-fit w-full items-center gap-1 px-0.75 py-0.25 text-base font-normal\"\n variant=\"ghost\">\n <!-- Single auth scheme selected -->\n <template v-if=\"activeSchemeOptions.length === 1\">\n <span class=\"sr-only\">Selected Auth Type:</span>\n {{ activeSchemeOptions[0]?.label }}\n </template>\n\n <!-- Multiple auth schemes selected -->\n <template v-else-if=\"activeSchemeOptions.length > 1\">\n Multiple\n <span class=\"sr-only\">Auth Types Selected</span>\n </template>\n\n <!-- No auth schemes selected -->\n <template v-else>\n <span class=\"sr-only\">Select</span>\n Auth Type\n </template>\n\n <ScalarIconCaretDown\n class=\"size-3 shrink-0 transition-transform duration-100 group-aria-expanded/combobox-button:rotate-180\"\n weight=\"bold\" />\n </ScalarButton>\n\n <template #option=\"{ option, selected }\">\n <ScalarListboxCheckbox\n multiselect\n :selected=\"selected\" />\n <div class=\"min-w-0 flex-1 truncate\">\n {{ option.label }}\n </div>\n <ScalarIconButton\n v-if=\"option.isDeletable\"\n class=\"-m-0.5 shrink-0 p-0.5 opacity-0 group-hover/item:opacity-100\"\n :icon=\"ScalarIconTrash\"\n :label=\"`Delete ${option.label}`\"\n size=\"xs\"\n @click.stop=\"handleDeleteRequest(option)\" />\n </template>\n </ScalarComboboxMultiselect>\n </template>\n\n <!-- Auth Table -->\n <RequestAuthDataTable\n :activeAuthIndex=\"selectedSecurity?.selectedIndex ?? 0\"\n :environment\n :eventBus\n :isStatic\n :meta\n :proxyUrl\n :securitySchemes\n :selectedSchemeOptions=\"activeSchemeOptions\"\n :server />\n\n <!-- Delete Auth Modal -->\n <DeleteRequestAuthModal\n v-if=\"schemeToDelete\"\n :label=\"schemeToDelete.label\"\n :scheme=\"schemeToDelete\"\n :state=\"deleteModal\"\n @close=\"deleteModal.hide()\"\n @delete=\"handleDeleteConfirm\" />\n </CollapsibleSection>\n</template>\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"AuthSelector.vue.js","names":[],"sources":["../../../../../src/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {\n ScalarButton,\n ScalarComboboxMultiselect,\n ScalarIconButton,\n ScalarListboxCheckbox,\n useModal,\n type Icon,\n type ScalarButton as ScalarButtonType,\n} from '@scalar/components'\nimport { ScalarIconCaretDown, ScalarIconTrash } from '@scalar/icons'\nimport type { SelectedSecurity } from '@scalar/workspace-store/entities/auth'\nimport type {\n AuthMeta,\n WorkspaceEventBus,\n} from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport { unpackProxyObject } from '@scalar/workspace-store/helpers/unpack-proxy'\nimport {\n isAuthOptional,\n type MergedSecuritySchemes,\n} from '@scalar/workspace-store/request-example'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type {\n OpenApiDocument,\n SecurityRequirementObject,\n ServerObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed, ref, useId } from 'vue'\n\nimport DeleteRequestAuthModal from '@/v2/blocks/scalar-auth-selector-block/components/DeleteRequestAuthModal.vue'\nimport type { OAuth2Options } from '@/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue'\nimport {\n formatComplexScheme,\n formatScheme,\n getSecuritySchemeOptions,\n type SecuritySchemeOption,\n} from '@/v2/blocks/scalar-auth-selector-block/helpers/security-scheme'\nimport { CollapsibleSection } from '@/v2/components/layout'\n\nimport RequestAuthDataTable from './RequestAuthDataTable.vue'\n\nconst {\n environment,\n eventBus,\n createAnySecurityScheme = false,\n defaultOpen = true,\n isStatic = false,\n meta,\n proxyUrl,\n securityRequirements,\n securitySchemes,\n selectedSecurity,\n server,\n title,\n options,\n} = defineProps<{\n environment: XScalarEnvironment\n eventBus: WorkspaceEventBus\n /** Allows adding authentication which is not in the document */\n createAnySecurityScheme?: boolean\n /** Whether the authentication disclosure should start expanded */\n defaultOpen?: boolean\n /** Creates a static disclosure that cannot be collapsed */\n isStatic?: boolean\n meta: AuthMeta\n proxyUrl: string\n securityRequirements: OpenApiDocument['security']\n securitySchemes: MergedSecuritySchemes\n selectedSecurity: SelectedSecurity | undefined\n server: ServerObject | null\n title: string\n /** Any config options required for the OAuth2 flow */\n options?: OAuth2Options\n}>()\n\nconst titleId = useId()\nconst comboboxButtonRef = ref<typeof ScalarButtonType | null>(null)\nconst isDisclosureOpen = ref(false)\n\nconst deleteModal = useModal()\nconst schemeToDelete = ref<{\n label: string\n payload: SecurityRequirementObject\n} | null>(null)\n\n/**\n * Determines if authentication is required or optional\n *\n * Auth is optional when there is an empty security requirement and no complex requirements.\n * Complex requirements have multiple auth schemes combined (e.g., API key + OAuth).\n */\nconst authIndicator = computed<{ icon: Icon; text: string } | null>(() => {\n if (!securityRequirements?.length) {\n return null\n }\n\n const isOptional = isAuthOptional(securityRequirements)\n\n return {\n icon: isOptional ? 'Unlock' : 'Lock',\n text: isOptional ? 'Optional' : 'Required',\n }\n})\n\n/** All available auth scheme options for the dropdown */\nconst availableSchemeOptions = computed(() =>\n getSecuritySchemeOptions(\n securityRequirements ?? [],\n securitySchemes ?? {},\n selectedSecurity?.selectedSchemes ?? [],\n createAnySecurityScheme,\n ),\n)\n\n/** Currently active auth schemes selected for this operation or collection */\nconst activeSchemeOptions = computed<SecuritySchemeOption[]>(() => {\n const schemes = selectedSecurity?.selectedSchemes\n if (!schemes?.length) {\n return []\n }\n\n return schemes.flatMap((requirement) => {\n const schemeNames = Object.keys(requirement)\n\n if (schemeNames.length === 0) {\n return []\n }\n\n // Complex auth requirement with multiple schemes\n if (schemeNames.length > 1) {\n return formatComplexScheme(requirement)\n }\n\n // Simple auth requirement with single scheme\n const schemeName = schemeNames[0]\n if (!schemeName) {\n return []\n }\n\n const scheme = getResolvedRef(securitySchemes?.[schemeName])\n if (!scheme) {\n return []\n }\n\n return formatScheme({\n name: schemeName,\n value: requirement,\n })\n })\n})\n\n/**\n * Opens the combobox dropdown when clicking the auth indicator badge.\n * Prevents the disclosure from toggling if it is already open.\n */\nconst handleAuthIndicatorClick = (event: Event): void => {\n if (isDisclosureOpen.value) {\n event.stopPropagation()\n }\n comboboxButtonRef.value?.$el.click()\n}\n\n/**\n * Updates the selected auth schemes.\n * Separates existing schemes from newly created ones for the event payload.\n */\nconst handleSchemeSelection = (selected: SecuritySchemeOption[]): void => {\n const existingSchemes = selected\n .filter((option) => option.payload === undefined)\n .map((option) => unpackProxyObject(option.value, { depth: 2 }))\n\n const newSchemes = selected\n .filter((option) => option.payload !== undefined)\n .map((option) => ({\n name: option.label,\n scheme: option.payload!,\n }))\n\n eventBus.emit('auth:update:selected-security-schemes', {\n selectedRequirements: existingSchemes,\n newSchemes,\n meta,\n })\n}\n\n/** Shows the delete confirmation modal for the selected scheme */\nconst handleDeleteRequest = (option: {\n label: string\n value: SecurityRequirementObject\n}): void => {\n schemeToDelete.value = { label: option.label, payload: option.value }\n deleteModal.show()\n}\n\n/** Deletes the selected auth scheme after confirmation */\nconst handleDeleteConfirm = (): void => {\n if (!schemeToDelete.value) {\n return\n }\n\n eventBus.emit('auth:delete:security-scheme', {\n names: Object.keys(schemeToDelete.value.payload),\n })\n\n schemeToDelete.value = null\n deleteModal.hide()\n}\n\ndefineExpose({\n authIndicator,\n selectedSchemeOptions: activeSchemeOptions,\n schemeOptions: availableSchemeOptions,\n})\n</script>\n<template>\n <CollapsibleSection\n class=\"group/params relative\"\n :defaultOpen\n :isStatic=\"isStatic\"\n :itemCount=\"activeSchemeOptions.length\"\n @update:modelValue=\"(open) => (isDisclosureOpen = open)\">\n <template #title>\n <div\n :id=\"titleId\"\n class=\"inline-flex items-center gap-0.5 leading-[20px]\">\n <span>{{ title }}</span>\n\n <span\n v-if=\"authIndicator\"\n class=\"text-c-3 hover:bg-b-3 hover:text-c-1 -my-0.5 -mr-1 cursor-pointer rounded px-1 py-0.5 leading-[normal] font-normal\"\n :class=\"{ 'text-c-1': authIndicator.text === 'Required' }\"\n data-testid=\"auth-indicator\"\n @click=\"handleAuthIndicatorClick\">\n {{ authIndicator.text }}\n </span>\n </div>\n </template>\n\n <!-- Auth Dropdown (hidden when only one scheme is available) -->\n <template #actions>\n <ScalarComboboxMultiselect\n class=\"w-72 text-xs\"\n :modelValue=\"activeSchemeOptions\"\n multiple\n :options=\"availableSchemeOptions\"\n placement=\"bottom-end\"\n teleport\n @delete=\"handleDeleteRequest\"\n @update:modelValue=\"handleSchemeSelection\">\n <ScalarButton\n ref=\"comboboxButtonRef\"\n :aria-describedby=\"titleId\"\n class=\"group/combobox-button hover:text-c-1 text-c-2 flex h-fit w-full items-center gap-1 px-0.75 py-0.25 text-base font-normal\"\n variant=\"ghost\">\n <!-- Single auth scheme selected -->\n <template v-if=\"activeSchemeOptions.length === 1\">\n <span class=\"sr-only\">Selected Auth Type:</span>\n {{ activeSchemeOptions[0]?.label }}\n </template>\n\n <!-- Multiple auth schemes selected -->\n <template v-else-if=\"activeSchemeOptions.length > 1\">\n Multiple\n <span class=\"sr-only\">Auth Types Selected</span>\n </template>\n\n <!-- No auth schemes selected -->\n <template v-else>\n <span class=\"sr-only\">Select</span>\n Auth Type\n </template>\n\n <ScalarIconCaretDown\n class=\"size-3 shrink-0 transition-transform duration-100 group-aria-expanded/combobox-button:rotate-180\"\n weight=\"bold\" />\n </ScalarButton>\n\n <template #option=\"{ option, selected }\">\n <ScalarListboxCheckbox\n multiselect\n :selected=\"selected\" />\n <div class=\"min-w-0 flex-1 truncate\">\n {{ option.label }}\n </div>\n <ScalarIconButton\n v-if=\"option.isDeletable\"\n class=\"-m-0.5 shrink-0 p-0.5 opacity-0 group-hover/item:opacity-100\"\n :icon=\"ScalarIconTrash\"\n :label=\"`Delete ${option.label}`\"\n size=\"xs\"\n @click.stop=\"handleDeleteRequest(option)\" />\n </template>\n </ScalarComboboxMultiselect>\n </template>\n\n <!-- Auth Table -->\n <RequestAuthDataTable\n :activeAuthIndex=\"selectedSecurity?.selectedIndex ?? 0\"\n :environment\n :eventBus\n :isStatic\n :meta\n :options\n :proxyUrl\n :securitySchemes\n :selectedSchemeOptions=\"activeSchemeOptions\"\n :server />\n\n <!-- Delete Auth Modal -->\n <DeleteRequestAuthModal\n v-if=\"schemeToDelete\"\n :label=\"schemeToDelete.label\"\n :scheme=\"schemeToDelete\"\n :state=\"deleteModal\"\n @close=\"deleteModal.hide()\"\n @delete=\"handleDeleteConfirm\" />\n </CollapsibleSection>\n</template>\n"],"mappings":""}
|