@scalar/api-client 3.6.1 → 3.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +157 -0
- package/dist/components/HttpMethod/HttpMethod.vue.js +1 -1
- package/dist/components/HttpMethod/index.js +2 -0
- package/dist/components/ScalarAsciiArt/ScalarAsciiArt.vue.d.ts.map +1 -0
- package/dist/components/{ScalarAsciiArt.vue.js → ScalarAsciiArt/ScalarAsciiArt.vue.js} +3 -3
- package/dist/components/ScalarAsciiArt/ScalarAsciiArt.vue.js.map +1 -0
- package/dist/components/{ScalarAsciiArt.vue.script.js → ScalarAsciiArt/ScalarAsciiArt.vue.script.js} +1 -1
- package/dist/components/ScalarAsciiArt/ScalarAsciiArt.vue.script.js.map +1 -0
- package/dist/components/ScalarAsciiArt/index.d.ts +2 -0
- package/dist/components/ScalarAsciiArt/index.d.ts.map +1 -0
- package/dist/components/ScalarAsciiArt/index.js +2 -0
- package/dist/components/Sidebar/Actions/DeleteSidebarListElement.vue.d.ts +2 -2
- package/dist/components/Sidebar/Actions/SidebarListElementForm.vue.d.ts +2 -2
- package/dist/components/Sidebar/index.d.ts +2 -0
- package/dist/components/Sidebar/index.d.ts.map +1 -0
- package/dist/components/Sidebar/index.js +2 -0
- package/dist/components/ViewLayout/index.d.ts +4 -0
- package/dist/components/ViewLayout/index.d.ts.map +1 -0
- package/dist/components/ViewLayout/index.js +4 -0
- package/dist/plugins/posthog/index.d.ts.map +1 -1
- package/dist/plugins/posthog/index.js +21 -12
- package/dist/plugins/posthog/index.js.map +1 -1
- package/dist/plugins/posthog/sanitize-event-payload.d.ts +25 -0
- package/dist/plugins/posthog/sanitize-event-payload.d.ts.map +1 -0
- package/dist/plugins/posthog/sanitize-event-payload.js +136 -0
- package/dist/plugins/posthog/sanitize-event-payload.js.map +1 -0
- package/dist/style.css +214 -1651
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.d.ts.map +1 -0
- 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 +72 -32
- package/dist/v2/blocks/operation-block/OperationBlock.vue.script.js.map +1 -1
- package/dist/v2/blocks/operation-block/components/Header.vue.d.ts +2 -2
- 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 +3 -3
- package/dist/v2/blocks/operation-block/components/Header.vue.script.js.map +1 -1
- package/dist/v2/blocks/operation-block/components/OpenApiClientButton.vue.js +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/components/OperationCodeSample.vue.script.js +1 -1
- package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/operation-to-har.d.ts +1 -1
- package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/operation-to-har.d.ts.map +1 -1
- package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/operation-to-har.js +15 -9
- package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/operation-to-har.js.map +1 -1
- package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-body.d.ts.map +1 -1
- package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-body.js +9 -7
- package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-body.js.map +1 -1
- package/dist/v2/blocks/operation-code-sample/index.d.ts +1 -0
- package/dist/v2/blocks/operation-code-sample/index.d.ts.map +1 -1
- package/dist/v2/blocks/operation-code-sample/index.js +2 -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 +30 -17
- package/dist/v2/blocks/request-block/RequestBlock.vue.script.js.map +1 -1
- package/dist/v2/blocks/request-block/components/RequestBody.vue.d.ts.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 +43 -10
- package/dist/v2/blocks/request-block/components/RequestBody.vue.script.js.map +1 -1
- package/dist/v2/blocks/request-block/components/RequestCodeSnippet.vue.script.js +2 -2
- package/dist/v2/blocks/request-block/components/RequestParams.vue.d.ts +2 -2
- package/dist/v2/blocks/request-block/components/RequestTable.vue.d.ts +2 -2
- package/dist/v2/blocks/request-block/components/RequestTableRow.vue.d.ts +4 -2
- package/dist/v2/blocks/request-block/components/RequestTableRow.vue.d.ts.map +1 -1
- package/dist/v2/blocks/request-block/components/RequestTableRow.vue.js.map +1 -1
- package/dist/v2/blocks/request-block/components/RequestTableRow.vue.script.js +2 -2
- package/dist/v2/blocks/request-block/components/RequestTableRow.vue.script.js.map +1 -1
- package/dist/v2/blocks/request-block/components/RequestTableTooltip.vue.d.ts.map +1 -1
- package/dist/v2/blocks/request-block/components/RequestTableTooltip.vue.js.map +1 -1
- package/dist/v2/blocks/request-block/components/RequestTableTooltip.vue.script.js +4 -1
- package/dist/v2/blocks/request-block/components/RequestTableTooltip.vue.script.js.map +1 -1
- package/dist/v2/blocks/request-block/helpers/create-parameter-handlers.d.ts +2 -1
- package/dist/v2/blocks/request-block/helpers/create-parameter-handlers.d.ts.map +1 -1
- package/dist/v2/blocks/request-block/helpers/create-parameter-handlers.js +42 -13
- package/dist/v2/blocks/request-block/helpers/create-parameter-handlers.js.map +1 -1
- package/dist/v2/blocks/request-block/helpers/create-parameter-rows.d.ts +14 -0
- package/dist/v2/blocks/request-block/helpers/create-parameter-rows.d.ts.map +1 -0
- package/dist/v2/blocks/request-block/helpers/create-parameter-rows.js +136 -0
- package/dist/v2/blocks/request-block/helpers/create-parameter-rows.js.map +1 -0
- package/dist/v2/blocks/request-block/helpers/get-form-body-rows.js +1 -1
- package/dist/v2/blocks/response-block/ResponseBlock.vue.script.js +1 -1
- 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 +12 -10
- package/dist/v2/blocks/response-block/components/ResponseBody.vue.script.js.map +1 -1
- package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.d.ts +2 -0
- 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 +17 -4
- package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.script.js.map +1 -1
- package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.d.ts +3 -1
- package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.d.ts.map +1 -1
- package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.js +1 -1
- package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.js.map +1 -1
- package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.script.js +21 -9
- package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.script.js.map +1 -1
- package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.d.ts +2 -2
- 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 +2 -2
- package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.script.js.map +1 -1
- package/dist/v2/blocks/response-block/components/ResponseLoadingOverlay.vue.d.ts.map +1 -1
- package/dist/v2/blocks/response-block/components/ResponseLoadingOverlay.vue.js +1 -1
- package/dist/v2/blocks/response-block/components/ResponseLoadingOverlay.vue.js.map +1 -1
- package/dist/v2/blocks/response-block/components/ResponseLoadingOverlay.vue.script.js +1 -0
- package/dist/v2/blocks/response-block/components/ResponseLoadingOverlay.vue.script.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 +14 -7
- package/dist/v2/blocks/response-block/helpers/media-types.js.map +1 -1
- package/dist/v2/blocks/response-block/helpers/prettify-jsonc-string.d.ts +6 -0
- package/dist/v2/blocks/response-block/helpers/prettify-jsonc-string.d.ts.map +1 -0
- package/dist/v2/blocks/response-block/helpers/prettify-jsonc-string.js +22 -0
- package/dist/v2/blocks/response-block/helpers/prettify-jsonc-string.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 +124 -91
- 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.script.js +1 -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 +30 -20
- 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 +43 -21
- 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 +15 -2
- 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 -3
- 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 +74 -28
- 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.d.ts +30 -20
- package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue.d.ts.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 +190 -72
- 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/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 +7 -1
- 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/RequestAuthTab.vue.d.ts +26 -10
- 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 +25 -3
- 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/oauth.d.ts.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/helpers/oauth.js +12 -3
- package/dist/v2/blocks/scalar-auth-selector-block/helpers/oauth.js.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/index.d.ts +1 -0
- package/dist/v2/blocks/scalar-auth-selector-block/index.d.ts.map +1 -1
- package/dist/v2/components/code-input/CodeInput.vue.d.ts +4 -4
- package/dist/v2/components/code-input/CodeInput.vue.script.js +1 -1
- package/dist/v2/components/code-input/code-variable-widget.js +1 -1
- package/dist/v2/components/forms/ConfirmationForm.vue.d.ts +2 -2
- package/dist/v2/components/modals/DeleteModal.vue.d.ts +2 -2
- package/dist/v2/components/server/ServerDropdown.vue.d.ts +2 -2
- package/dist/v2/components/server/ServerDropdown.vue.js.map +1 -1
- package/dist/v2/components/server/ServerDropdown.vue.script.js +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 +4 -3
- package/dist/v2/components/sidebar/Sidebar.vue.script.js.map +1 -1
- package/dist/v2/constants.js +1 -1
- package/dist/v2/features/command-palette/components/CommandActionForm.vue.d.ts +2 -2
- package/dist/v2/features/command-palette/components/CommandActionInput.vue.d.ts +2 -2
- package/dist/v2/features/command-palette/index.d.ts +0 -2
- package/dist/v2/features/command-palette/index.d.ts.map +1 -1
- package/dist/v2/features/command-palette/index.js +1 -3
- package/dist/v2/features/environments/components/EnvironmentDeleteModal.vue.d.ts +2 -2
- package/dist/v2/features/modal/Modal.vue.d.ts +5 -7
- 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 +3 -3
- package/dist/v2/features/modal/Modal.vue.script.js.map +1 -1
- package/dist/v2/features/modal/helpers/create-api-client-modal.d.ts +1 -1
- 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 +8 -3
- package/dist/v2/features/modal/helpers/create-api-client-modal.js.map +1 -1
- package/dist/v2/features/modal/helpers/resolve-route-parameters.d.ts +5 -1
- package/dist/v2/features/modal/helpers/resolve-route-parameters.d.ts.map +1 -1
- package/dist/v2/features/modal/helpers/resolve-route-parameters.js +15 -4
- package/dist/v2/features/modal/helpers/resolve-route-parameters.js.map +1 -1
- package/dist/v2/features/modal/hooks/use-modal-sidebar.d.ts.map +1 -1
- package/dist/v2/features/modal/hooks/use-modal-sidebar.js +5 -1
- package/dist/v2/features/modal/hooks/use-modal-sidebar.js.map +1 -1
- package/dist/v2/features/modal/index.js +1 -1
- package/dist/v2/features/modal/modal-events.d.ts.map +1 -1
- package/dist/v2/features/modal/modal-events.js +10 -6
- package/dist/v2/features/modal/modal-events.js.map +1 -1
- package/dist/v2/features/operation/Operation.vue.d.ts +35 -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 +1 -9
- package/dist/v2/features/operation/Operation.vue.script.js.map +1 -1
- package/dist/v2/helpers/handle-hotkeys.d.ts.map +1 -1
- package/dist/v2/helpers/handle-hotkeys.js +4 -0
- package/dist/v2/helpers/handle-hotkeys.js.map +1 -1
- package/dist/v2/helpers/test-utils.d.ts +2 -0
- package/dist/v2/helpers/test-utils.d.ts.map +1 -1
- package/dist/v2/helpers/test-utils.js +18 -0
- package/dist/v2/helpers/test-utils.js.map +1 -0
- package/dist/v2/hooks/index.d.ts +2 -0
- package/dist/v2/hooks/index.d.ts.map +1 -0
- package/dist/v2/hooks/index.js +2 -0
- package/dist/v2/types/options.d.ts +1 -1
- package/dist/v2/types/options.d.ts.map +1 -1
- package/dist/v2/workspace-events.d.ts.map +1 -1
- package/dist/v2/workspace-events.js +2 -0
- package/dist/v2/workspace-events.js.map +1 -1
- package/dist/vue-styles.css +108 -658
- package/package.json +68 -97
- package/dist/components/IconSelector.vue.d.ts +0 -27
- package/dist/components/IconSelector.vue.d.ts.map +0 -1
- package/dist/components/IconSelector.vue.js +0 -7
- package/dist/components/IconSelector.vue.js.map +0 -1
- package/dist/components/IconSelector.vue.script.js +0 -65
- package/dist/components/IconSelector.vue.script.js.map +0 -1
- package/dist/components/ImportCollection/IntegrationLogo.vue.d.ts +0 -7
- package/dist/components/ImportCollection/IntegrationLogo.vue.d.ts.map +0 -1
- package/dist/components/ImportCollection/IntegrationLogo.vue.js +0 -7
- package/dist/components/ImportCollection/IntegrationLogo.vue.js.map +0 -1
- package/dist/components/ImportCollection/IntegrationLogo.vue.script.js +0 -50
- package/dist/components/ImportCollection/IntegrationLogo.vue.script.js.map +0 -1
- package/dist/components/ScalarAsciiArt.vue.d.ts.map +0 -1
- package/dist/components/ScalarAsciiArt.vue.js.map +0 -1
- package/dist/components/ScalarAsciiArt.vue.script.js.map +0 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +0 -1
- package/dist/monacoeditorwork/editor.worker.bundle.js +0 -14319
- package/dist/monacoeditorwork/json.worker.bundle.js +0 -22098
- package/dist/monacoeditorwork/yaml.worker.bundle.js +0 -38414
- package/dist/v2/blocks/request-block/helpers/get-default-headers.d.ts +0 -42
- package/dist/v2/blocks/request-block/helpers/get-default-headers.d.ts.map +0 -1
- package/dist/v2/blocks/request-block/helpers/get-default-headers.js +0 -61
- package/dist/v2/blocks/request-block/helpers/get-default-headers.js.map +0 -1
- package/dist/v2/features/app/App.vue.d.ts +0 -75
- package/dist/v2/features/app/App.vue.d.ts.map +0 -1
- package/dist/v2/features/app/App.vue.js +0 -8
- package/dist/v2/features/app/App.vue.js.map +0 -1
- package/dist/v2/features/app/App.vue.script.js +0 -284
- package/dist/v2/features/app/App.vue.script.js.map +0 -1
- package/dist/v2/features/app/app-events.d.ts +0 -20
- package/dist/v2/features/app/app-events.d.ts.map +0 -1
- package/dist/v2/features/app/app-events.js +0 -254
- package/dist/v2/features/app/app-events.js.map +0 -1
- package/dist/v2/features/app/app-state.d.ts +0 -156
- package/dist/v2/features/app/app-state.d.ts.map +0 -1
- package/dist/v2/features/app/app-state.js +0 -717
- package/dist/v2/features/app/app-state.js.map +0 -1
- package/dist/v2/features/app/components/AppHeader.vue.d.ts +0 -43
- package/dist/v2/features/app/components/AppHeader.vue.d.ts.map +0 -1
- package/dist/v2/features/app/components/AppHeader.vue.js +0 -7
- package/dist/v2/features/app/components/AppHeader.vue.js.map +0 -1
- package/dist/v2/features/app/components/AppHeader.vue.script.js +0 -53
- package/dist/v2/features/app/components/AppHeader.vue.script.js.map +0 -1
- package/dist/v2/features/app/components/AppHeaderActions.vue.d.ts +0 -32
- package/dist/v2/features/app/components/AppHeaderActions.vue.d.ts.map +0 -1
- package/dist/v2/features/app/components/AppHeaderActions.vue.js +0 -7
- package/dist/v2/features/app/components/AppHeaderActions.vue.js.map +0 -1
- package/dist/v2/features/app/components/AppHeaderActions.vue.script.js +0 -172
- package/dist/v2/features/app/components/AppHeaderActions.vue.script.js.map +0 -1
- package/dist/v2/features/app/components/AppSidebar.vue.d.ts +0 -37
- package/dist/v2/features/app/components/AppSidebar.vue.d.ts.map +0 -1
- package/dist/v2/features/app/components/AppSidebar.vue.js +0 -9
- package/dist/v2/features/app/components/AppSidebar.vue.js.map +0 -1
- package/dist/v2/features/app/components/AppSidebar.vue.script.js +0 -466
- package/dist/v2/features/app/components/AppSidebar.vue.script.js.map +0 -1
- package/dist/v2/features/app/components/CreateVersionModal.vue.d.ts +0 -28
- package/dist/v2/features/app/components/CreateVersionModal.vue.d.ts.map +0 -1
- package/dist/v2/features/app/components/CreateVersionModal.vue.js +0 -7
- package/dist/v2/features/app/components/CreateVersionModal.vue.js.map +0 -1
- package/dist/v2/features/app/components/CreateVersionModal.vue.script.js +0 -84
- package/dist/v2/features/app/components/CreateVersionModal.vue.script.js.map +0 -1
- package/dist/v2/features/app/components/CreateWorkspaceModal.vue.d.ts +0 -16
- package/dist/v2/features/app/components/CreateWorkspaceModal.vue.d.ts.map +0 -1
- package/dist/v2/features/app/components/CreateWorkspaceModal.vue.js +0 -7
- package/dist/v2/features/app/components/CreateWorkspaceModal.vue.js.map +0 -1
- package/dist/v2/features/app/components/CreateWorkspaceModal.vue.script.js +0 -58
- package/dist/v2/features/app/components/CreateWorkspaceModal.vue.script.js.map +0 -1
- package/dist/v2/features/app/components/DesktopTab.vue.d.ts +0 -27
- package/dist/v2/features/app/components/DesktopTab.vue.d.ts.map +0 -1
- package/dist/v2/features/app/components/DesktopTab.vue.js +0 -9
- package/dist/v2/features/app/components/DesktopTab.vue.js.map +0 -1
- package/dist/v2/features/app/components/DesktopTab.vue.script.js +0 -121
- package/dist/v2/features/app/components/DesktopTab.vue.script.js.map +0 -1
- package/dist/v2/features/app/components/DesktopTabs.vue.d.ts +0 -14
- package/dist/v2/features/app/components/DesktopTabs.vue.d.ts.map +0 -1
- package/dist/v2/features/app/components/DesktopTabs.vue.js +0 -7
- package/dist/v2/features/app/components/DesktopTabs.vue.js.map +0 -1
- package/dist/v2/features/app/components/DesktopTabs.vue.script.js +0 -75
- package/dist/v2/features/app/components/DesktopTabs.vue.script.js.map +0 -1
- package/dist/v2/features/app/components/DocumentBreadcrumb.vue.d.ts +0 -25
- package/dist/v2/features/app/components/DocumentBreadcrumb.vue.d.ts.map +0 -1
- package/dist/v2/features/app/components/DocumentBreadcrumb.vue.js +0 -9
- package/dist/v2/features/app/components/DocumentBreadcrumb.vue.js.map +0 -1
- package/dist/v2/features/app/components/DocumentBreadcrumb.vue.script.js +0 -345
- package/dist/v2/features/app/components/DocumentBreadcrumb.vue.script.js.map +0 -1
- package/dist/v2/features/app/components/DocumentSyncIndicator.vue.d.ts +0 -16
- package/dist/v2/features/app/components/DocumentSyncIndicator.vue.d.ts.map +0 -1
- package/dist/v2/features/app/components/PublishDocumentModal.vue.d.ts +0 -77
- package/dist/v2/features/app/components/PublishDocumentModal.vue.d.ts.map +0 -1
- package/dist/v2/features/app/components/PublishDocumentModal.vue.js +0 -7
- package/dist/v2/features/app/components/PublishDocumentModal.vue.js.map +0 -1
- package/dist/v2/features/app/components/PublishDocumentModal.vue.script.js +0 -209
- package/dist/v2/features/app/components/PublishDocumentModal.vue.script.js.map +0 -1
- package/dist/v2/features/app/components/SidebarDocument.vue.d.ts +0 -45
- package/dist/v2/features/app/components/SidebarDocument.vue.d.ts.map +0 -1
- package/dist/v2/features/app/components/SidebarDocument.vue.js +0 -7
- package/dist/v2/features/app/components/SidebarDocument.vue.js.map +0 -1
- package/dist/v2/features/app/components/SidebarDocument.vue.script.js +0 -137
- package/dist/v2/features/app/components/SidebarDocument.vue.script.js.map +0 -1
- package/dist/v2/features/app/components/SidebarItemMenu.vue.d.ts +0 -26
- package/dist/v2/features/app/components/SidebarItemMenu.vue.d.ts.map +0 -1
- package/dist/v2/features/app/components/SidebarItemMenu.vue.js +0 -7
- package/dist/v2/features/app/components/SidebarItemMenu.vue.js.map +0 -1
- package/dist/v2/features/app/components/SidebarItemMenu.vue.script.js +0 -175
- package/dist/v2/features/app/components/SidebarItemMenu.vue.script.js.map +0 -1
- package/dist/v2/features/app/components/SplashScreen.vue.d.ts +0 -4
- package/dist/v2/features/app/components/SplashScreen.vue.d.ts.map +0 -1
- package/dist/v2/features/app/components/SplashScreen.vue.js +0 -9
- package/dist/v2/features/app/components/SplashScreen.vue.js.map +0 -1
- package/dist/v2/features/app/components/SplashScreen.vue.script.js +0 -20
- package/dist/v2/features/app/components/SplashScreen.vue.script.js.map +0 -1
- package/dist/v2/features/app/components/SyncConflictResolutionEditor.vue.d.ts +0 -18
- package/dist/v2/features/app/components/SyncConflictResolutionEditor.vue.d.ts.map +0 -1
- package/dist/v2/features/app/components/SyncConflictResolutionEditor.vue.js +0 -9
- package/dist/v2/features/app/components/SyncConflictResolutionEditor.vue.js.map +0 -1
- package/dist/v2/features/app/components/SyncConflictResolutionEditor.vue.script.js +0 -136
- package/dist/v2/features/app/components/SyncConflictResolutionEditor.vue.script.js.map +0 -1
- package/dist/v2/features/app/components/index.d.ts +0 -2
- package/dist/v2/features/app/components/index.d.ts.map +0 -1
- package/dist/v2/features/app/components/index.js +0 -2
- package/dist/v2/features/app/helpers/check-version-conflict.d.ts +0 -54
- package/dist/v2/features/app/helpers/check-version-conflict.d.ts.map +0 -1
- package/dist/v2/features/app/helpers/check-version-conflict.js +0 -82
- package/dist/v2/features/app/helpers/check-version-conflict.js.map +0 -1
- package/dist/v2/features/app/helpers/compute-version-status.d.ts +0 -45
- package/dist/v2/features/app/helpers/compute-version-status.d.ts.map +0 -1
- package/dist/v2/features/app/helpers/compute-version-status.js +0 -18
- package/dist/v2/features/app/helpers/compute-version-status.js.map +0 -1
- package/dist/v2/features/app/helpers/create-api-client-app.d.ts +0 -59
- package/dist/v2/features/app/helpers/create-api-client-app.d.ts.map +0 -1
- package/dist/v2/features/app/helpers/create-api-client-app.js +0 -55
- package/dist/v2/features/app/helpers/create-api-client-app.js.map +0 -1
- package/dist/v2/features/app/helpers/create-draft-registry-document.d.ts +0 -39
- package/dist/v2/features/app/helpers/create-draft-registry-document.d.ts.map +0 -1
- package/dist/v2/features/app/helpers/create-draft-registry-document.js +0 -64
- package/dist/v2/features/app/helpers/create-draft-registry-document.js.map +0 -1
- package/dist/v2/features/app/helpers/create-temp-operation.d.ts +0 -14
- package/dist/v2/features/app/helpers/create-temp-operation.d.ts.map +0 -1
- package/dist/v2/features/app/helpers/create-temp-operation.js +0 -52
- package/dist/v2/features/app/helpers/create-temp-operation.js.map +0 -1
- package/dist/v2/features/app/helpers/detect-document-conflicts.d.ts +0 -26
- package/dist/v2/features/app/helpers/detect-document-conflicts.d.ts.map +0 -1
- package/dist/v2/features/app/helpers/detect-document-conflicts.js +0 -27
- package/dist/v2/features/app/helpers/detect-document-conflicts.js.map +0 -1
- package/dist/v2/features/app/helpers/filter-workspaces.d.ts +0 -49
- package/dist/v2/features/app/helpers/filter-workspaces.d.ts.map +0 -1
- package/dist/v2/features/app/helpers/filter-workspaces.js +0 -55
- package/dist/v2/features/app/helpers/filter-workspaces.js.map +0 -1
- package/dist/v2/features/app/helpers/get-route-param.d.ts +0 -7
- package/dist/v2/features/app/helpers/get-route-param.d.ts.map +0 -1
- package/dist/v2/features/app/helpers/get-route-param.js +0 -12
- package/dist/v2/features/app/helpers/get-route-param.js.map +0 -1
- package/dist/v2/features/app/helpers/group-workspaces.d.ts +0 -44
- package/dist/v2/features/app/helpers/group-workspaces.d.ts.map +0 -1
- package/dist/v2/features/app/helpers/group-workspaces.js +0 -53
- package/dist/v2/features/app/helpers/group-workspaces.js.map +0 -1
- package/dist/v2/features/app/helpers/load-registry-document.d.ts +0 -24
- package/dist/v2/features/app/helpers/load-registry-document.d.ts.map +0 -1
- package/dist/v2/features/app/helpers/load-registry-document.js +0 -47
- package/dist/v2/features/app/helpers/load-registry-document.js.map +0 -1
- package/dist/v2/features/app/helpers/registry-error-messages.d.ts +0 -23
- package/dist/v2/features/app/helpers/registry-error-messages.d.ts.map +0 -1
- package/dist/v2/features/app/helpers/registry-error-messages.js +0 -63
- package/dist/v2/features/app/helpers/registry-error-messages.js.map +0 -1
- package/dist/v2/features/app/helpers/routes.d.ts +0 -184
- package/dist/v2/features/app/helpers/routes.d.ts.map +0 -1
- package/dist/v2/features/app/helpers/routes.js +0 -153
- package/dist/v2/features/app/helpers/routes.js.map +0 -1
- package/dist/v2/features/app/helpers/version-status-presentation.d.ts +0 -24
- package/dist/v2/features/app/helpers/version-status-presentation.d.ts.map +0 -1
- package/dist/v2/features/app/helpers/version-status-presentation.js +0 -43
- package/dist/v2/features/app/helpers/version-status-presentation.js.map +0 -1
- package/dist/v2/features/app/hooks/use-active-document-version.d.ts +0 -42
- package/dist/v2/features/app/hooks/use-active-document-version.d.ts.map +0 -1
- package/dist/v2/features/app/hooks/use-active-document-version.js +0 -60
- package/dist/v2/features/app/hooks/use-active-document-version.js.map +0 -1
- package/dist/v2/features/app/hooks/use-document-filter.d.ts +0 -38
- package/dist/v2/features/app/hooks/use-document-filter.d.ts.map +0 -1
- package/dist/v2/features/app/hooks/use-document-filter.js +0 -63
- package/dist/v2/features/app/hooks/use-document-filter.js.map +0 -1
- package/dist/v2/features/app/hooks/use-document-sync.d.ts +0 -126
- package/dist/v2/features/app/hooks/use-document-sync.d.ts.map +0 -1
- package/dist/v2/features/app/hooks/use-document-sync.js +0 -448
- package/dist/v2/features/app/hooks/use-document-sync.js.map +0 -1
- package/dist/v2/features/app/hooks/use-document-watcher.d.ts +0 -30
- package/dist/v2/features/app/hooks/use-document-watcher.d.ts.map +0 -1
- package/dist/v2/features/app/hooks/use-document-watcher.js +0 -168
- package/dist/v2/features/app/hooks/use-document-watcher.js.map +0 -1
- package/dist/v2/features/app/hooks/use-network-status.d.ts +0 -29
- package/dist/v2/features/app/hooks/use-network-status.d.ts.map +0 -1
- package/dist/v2/features/app/hooks/use-network-status.js +0 -58
- package/dist/v2/features/app/hooks/use-network-status.js.map +0 -1
- package/dist/v2/features/app/hooks/use-sidebar-context-menu.d.ts +0 -17258
- package/dist/v2/features/app/hooks/use-sidebar-context-menu.d.ts.map +0 -1
- package/dist/v2/features/app/hooks/use-sidebar-context-menu.js +0 -107
- package/dist/v2/features/app/hooks/use-sidebar-context-menu.js.map +0 -1
- package/dist/v2/features/app/hooks/use-sidebar-documents.d.ts +0 -119
- package/dist/v2/features/app/hooks/use-sidebar-documents.d.ts.map +0 -1
- package/dist/v2/features/app/hooks/use-sidebar-documents.js +0 -219
- package/dist/v2/features/app/hooks/use-sidebar-documents.js.map +0 -1
- package/dist/v2/features/app/hooks/use-theme.d.ts +0 -56
- package/dist/v2/features/app/hooks/use-theme.d.ts.map +0 -1
- package/dist/v2/features/app/hooks/use-theme.js +0 -94
- package/dist/v2/features/app/hooks/use-theme.js.map +0 -1
- package/dist/v2/features/app/hooks/use-version-conflict-check.d.ts +0 -35
- package/dist/v2/features/app/hooks/use-version-conflict-check.d.ts.map +0 -1
- package/dist/v2/features/app/hooks/use-version-conflict-check.js +0 -62
- package/dist/v2/features/app/hooks/use-version-conflict-check.js.map +0 -1
- package/dist/v2/features/app/index.d.ts +0 -10
- package/dist/v2/features/app/index.d.ts.map +0 -1
- package/dist/v2/features/app/index.js +0 -8
- package/dist/v2/features/collection/DocumentCollection.vue.d.ts +0 -13
- package/dist/v2/features/collection/DocumentCollection.vue.d.ts.map +0 -1
- package/dist/v2/features/collection/DocumentCollection.vue.js +0 -8
- package/dist/v2/features/collection/DocumentCollection.vue.js.map +0 -1
- package/dist/v2/features/collection/DocumentCollection.vue.script.js +0 -112
- package/dist/v2/features/collection/DocumentCollection.vue.script.js.map +0 -1
- package/dist/v2/features/collection/OperationCollection.vue.d.ts +0 -6
- package/dist/v2/features/collection/OperationCollection.vue.d.ts.map +0 -1
- package/dist/v2/features/collection/OperationCollection.vue.js +0 -7
- package/dist/v2/features/collection/OperationCollection.vue.js.map +0 -1
- package/dist/v2/features/collection/OperationCollection.vue.script.js +0 -95
- package/dist/v2/features/collection/OperationCollection.vue.script.js.map +0 -1
- package/dist/v2/features/collection/WorkspaceCollection.vue.d.ts +0 -6
- package/dist/v2/features/collection/WorkspaceCollection.vue.d.ts.map +0 -1
- package/dist/v2/features/collection/WorkspaceCollection.vue.js +0 -7
- package/dist/v2/features/collection/WorkspaceCollection.vue.js.map +0 -1
- package/dist/v2/features/collection/WorkspaceCollection.vue.script.js +0 -74
- package/dist/v2/features/collection/WorkspaceCollection.vue.script.js.map +0 -1
- package/dist/v2/features/collection/components/Authentication.vue.d.ts +0 -16
- package/dist/v2/features/collection/components/Authentication.vue.d.ts.map +0 -1
- package/dist/v2/features/collection/components/Authentication.vue.js +0 -9
- package/dist/v2/features/collection/components/Authentication.vue.js.map +0 -1
- package/dist/v2/features/collection/components/Authentication.vue.script.js +0 -174
- package/dist/v2/features/collection/components/Authentication.vue.script.js.map +0 -1
- package/dist/v2/features/collection/components/Cookies.vue.d.ts +0 -21
- package/dist/v2/features/collection/components/Cookies.vue.d.ts.map +0 -1
- package/dist/v2/features/collection/components/Cookies.vue.js +0 -7
- package/dist/v2/features/collection/components/Cookies.vue.js.map +0 -1
- package/dist/v2/features/collection/components/Cookies.vue.script.js +0 -58
- package/dist/v2/features/collection/components/Cookies.vue.script.js.map +0 -1
- package/dist/v2/features/collection/components/DocumentScriptsEditors.vue.d.ts +0 -12
- package/dist/v2/features/collection/components/DocumentScriptsEditors.vue.d.ts.map +0 -1
- package/dist/v2/features/collection/components/DocumentScriptsEditors.vue.js +0 -9
- package/dist/v2/features/collection/components/DocumentScriptsEditors.vue.js.map +0 -1
- package/dist/v2/features/collection/components/DocumentScriptsEditors.vue.script.js +0 -174
- package/dist/v2/features/collection/components/DocumentScriptsEditors.vue.script.js.map +0 -1
- package/dist/v2/features/collection/components/Editor/Editor.vue.d.ts +0 -16
- package/dist/v2/features/collection/components/Editor/Editor.vue.d.ts.map +0 -1
- package/dist/v2/features/collection/components/Editor/Editor.vue.js +0 -9
- package/dist/v2/features/collection/components/Editor/Editor.vue.js.map +0 -1
- package/dist/v2/features/collection/components/Editor/Editor.vue.script.js +0 -361
- package/dist/v2/features/collection/components/Editor/Editor.vue.script.js.map +0 -1
- package/dist/v2/features/collection/components/Editor/components/EditorDiagnosticsPanel.vue.d.ts +0 -19
- package/dist/v2/features/collection/components/Editor/components/EditorDiagnosticsPanel.vue.d.ts.map +0 -1
- package/dist/v2/features/collection/components/Editor/components/EditorDiagnosticsPanel.vue.js +0 -7
- package/dist/v2/features/collection/components/Editor/components/EditorDiagnosticsPanel.vue.js.map +0 -1
- package/dist/v2/features/collection/components/Editor/components/EditorDiagnosticsPanel.vue.script.js +0 -69
- package/dist/v2/features/collection/components/Editor/components/EditorDiagnosticsPanel.vue.script.js.map +0 -1
- package/dist/v2/features/collection/components/Editor/components/EditorSavePanel.vue.d.ts +0 -16
- package/dist/v2/features/collection/components/Editor/components/EditorSavePanel.vue.d.ts.map +0 -1
- package/dist/v2/features/collection/components/Editor/components/EditorSavePanel.vue.js +0 -7
- package/dist/v2/features/collection/components/Editor/components/EditorSavePanel.vue.js.map +0 -1
- package/dist/v2/features/collection/components/Editor/components/EditorSavePanel.vue.script.js +0 -91
- package/dist/v2/features/collection/components/Editor/components/EditorSavePanel.vue.script.js.map +0 -1
- package/dist/v2/features/collection/components/Editor/helpers/get-diagnostic-counts.d.ts +0 -12
- package/dist/v2/features/collection/components/Editor/helpers/get-diagnostic-counts.d.ts.map +0 -1
- package/dist/v2/features/collection/components/Editor/helpers/get-diagnostic-counts.js +0 -22
- package/dist/v2/features/collection/components/Editor/helpers/get-diagnostic-counts.js.map +0 -1
- package/dist/v2/features/collection/components/Editor/helpers/get-operation-context.d.ts +0 -11
- package/dist/v2/features/collection/components/Editor/helpers/get-operation-context.d.ts.map +0 -1
- package/dist/v2/features/collection/components/Editor/helpers/get-operation-context.js +0 -17
- package/dist/v2/features/collection/components/Editor/helpers/get-operation-context.js.map +0 -1
- package/dist/v2/features/collection/components/Editor/helpers/get-visible-diagnostics.d.ts +0 -7
- package/dist/v2/features/collection/components/Editor/helpers/get-visible-diagnostics.d.ts.map +0 -1
- package/dist/v2/features/collection/components/Editor/helpers/get-visible-diagnostics.js +0 -17
- package/dist/v2/features/collection/components/Editor/helpers/get-visible-diagnostics.js.map +0 -1
- package/dist/v2/features/collection/components/Editor/helpers/parse-editor-object.d.ts +0 -10
- package/dist/v2/features/collection/components/Editor/helpers/parse-editor-object.d.ts.map +0 -1
- package/dist/v2/features/collection/components/Editor/helpers/parse-editor-object.js +0 -34
- package/dist/v2/features/collection/components/Editor/helpers/parse-editor-object.js.map +0 -1
- package/dist/v2/features/collection/components/Editor/helpers/stringify-document.d.ts +0 -10
- package/dist/v2/features/collection/components/Editor/helpers/stringify-document.d.ts.map +0 -1
- package/dist/v2/features/collection/components/Editor/helpers/stringify-document.js +0 -18
- package/dist/v2/features/collection/components/Editor/helpers/stringify-document.js.map +0 -1
- package/dist/v2/features/collection/components/Editor/hooks/use-editor-state.d.ts +0 -15
- package/dist/v2/features/collection/components/Editor/hooks/use-editor-state.d.ts.map +0 -1
- package/dist/v2/features/collection/components/Editor/hooks/use-editor-state.js +0 -36
- package/dist/v2/features/collection/components/Editor/hooks/use-editor-state.js.map +0 -1
- package/dist/v2/features/collection/components/Editor/index.d.ts +0 -2
- package/dist/v2/features/collection/components/Editor/index.d.ts.map +0 -1
- package/dist/v2/features/collection/components/Editor/index.js +0 -2
- package/dist/v2/features/collection/components/Environment.vue.d.ts +0 -21
- package/dist/v2/features/collection/components/Environment.vue.d.ts.map +0 -1
- package/dist/v2/features/collection/components/Environment.vue.js +0 -7
- package/dist/v2/features/collection/components/Environment.vue.js.map +0 -1
- package/dist/v2/features/collection/components/Environment.vue.script.js +0 -61
- package/dist/v2/features/collection/components/Environment.vue.script.js.map +0 -1
- package/dist/v2/features/collection/components/Form.vue.d.ts +0 -29
- package/dist/v2/features/collection/components/Form.vue.d.ts.map +0 -1
- package/dist/v2/features/collection/components/Form.vue.js +0 -7
- package/dist/v2/features/collection/components/Form.vue.js.map +0 -1
- package/dist/v2/features/collection/components/Form.vue.script.js +0 -78
- package/dist/v2/features/collection/components/Form.vue.script.js.map +0 -1
- package/dist/v2/features/collection/components/GetStarted.vue.d.ts +0 -21
- package/dist/v2/features/collection/components/GetStarted.vue.d.ts.map +0 -1
- package/dist/v2/features/collection/components/GetStarted.vue.js +0 -7
- package/dist/v2/features/collection/components/GetStarted.vue.js.map +0 -1
- package/dist/v2/features/collection/components/GetStarted.vue.script.js +0 -144
- package/dist/v2/features/collection/components/GetStarted.vue.script.js.map +0 -1
- package/dist/v2/features/collection/components/LabelInput.vue.d.ts +0 -18
- package/dist/v2/features/collection/components/LabelInput.vue.d.ts.map +0 -1
- package/dist/v2/features/collection/components/LabelInput.vue.js +0 -9
- package/dist/v2/features/collection/components/LabelInput.vue.js.map +0 -1
- package/dist/v2/features/collection/components/LabelInput.vue.script.js +0 -38
- package/dist/v2/features/collection/components/LabelInput.vue.script.js.map +0 -1
- package/dist/v2/features/collection/components/Overview.vue.d.ts +0 -16
- package/dist/v2/features/collection/components/Overview.vue.d.ts.map +0 -1
- package/dist/v2/features/collection/components/Overview.vue.js +0 -9
- package/dist/v2/features/collection/components/Overview.vue.js.map +0 -1
- package/dist/v2/features/collection/components/Overview.vue.script.js +0 -204
- package/dist/v2/features/collection/components/Overview.vue.script.js.map +0 -1
- package/dist/v2/features/collection/components/Runner/components/Runner.vue.d.ts +0 -16
- package/dist/v2/features/collection/components/Runner/components/Runner.vue.d.ts.map +0 -1
- package/dist/v2/features/collection/components/Runner/components/Runner.vue.js +0 -7
- package/dist/v2/features/collection/components/Runner/components/Runner.vue.js.map +0 -1
- package/dist/v2/features/collection/components/Runner/components/Runner.vue.script.js +0 -223
- package/dist/v2/features/collection/components/Runner/components/Runner.vue.script.js.map +0 -1
- package/dist/v2/features/collection/components/Runner/components/RunnerCard.vue.d.ts +0 -20
- package/dist/v2/features/collection/components/Runner/components/RunnerCard.vue.d.ts.map +0 -1
- package/dist/v2/features/collection/components/Runner/components/RunnerCard.vue.js +0 -7
- package/dist/v2/features/collection/components/Runner/components/RunnerCard.vue.js.map +0 -1
- package/dist/v2/features/collection/components/Runner/components/RunnerCard.vue.script.js +0 -45
- package/dist/v2/features/collection/components/Runner/components/RunnerCard.vue.script.js.map +0 -1
- package/dist/v2/features/collection/components/Runner/components/RunnerOrderItem.vue.d.ts +0 -19
- package/dist/v2/features/collection/components/Runner/components/RunnerOrderItem.vue.d.ts.map +0 -1
- package/dist/v2/features/collection/components/Runner/components/RunnerOrderItem.vue.js +0 -7
- package/dist/v2/features/collection/components/Runner/components/RunnerOrderItem.vue.js.map +0 -1
- package/dist/v2/features/collection/components/Runner/components/RunnerOrderItem.vue.script.js +0 -73
- package/dist/v2/features/collection/components/Runner/components/RunnerOrderItem.vue.script.js.map +0 -1
- package/dist/v2/features/collection/components/Runner/components/RunnerResultRow.vue.d.ts +0 -16
- package/dist/v2/features/collection/components/Runner/components/RunnerResultRow.vue.d.ts.map +0 -1
- package/dist/v2/features/collection/components/Runner/components/RunnerResultRow.vue.js +0 -7
- package/dist/v2/features/collection/components/Runner/components/RunnerResultRow.vue.js.map +0 -1
- package/dist/v2/features/collection/components/Runner/components/RunnerResultRow.vue.script.js +0 -124
- package/dist/v2/features/collection/components/Runner/components/RunnerResultRow.vue.script.js.map +0 -1
- package/dist/v2/features/collection/components/Runner/components/RunnerResults.vue.d.ts +0 -17
- package/dist/v2/features/collection/components/Runner/components/RunnerResults.vue.d.ts.map +0 -1
- package/dist/v2/features/collection/components/Runner/components/RunnerResults.vue.js +0 -7
- package/dist/v2/features/collection/components/Runner/components/RunnerResults.vue.js.map +0 -1
- package/dist/v2/features/collection/components/Runner/components/RunnerResults.vue.script.js +0 -126
- package/dist/v2/features/collection/components/Runner/components/RunnerResults.vue.script.js.map +0 -1
- package/dist/v2/features/collection/components/Runner/components/RunnerTree.vue.d.ts +0 -18
- package/dist/v2/features/collection/components/Runner/components/RunnerTree.vue.d.ts.map +0 -1
- package/dist/v2/features/collection/components/Runner/components/RunnerTree.vue.js +0 -7
- package/dist/v2/features/collection/components/Runner/components/RunnerTree.vue.js.map +0 -1
- package/dist/v2/features/collection/components/Runner/components/RunnerTree.vue.script.js +0 -180
- package/dist/v2/features/collection/components/Runner/components/RunnerTree.vue.script.js.map +0 -1
- package/dist/v2/features/collection/components/Runner/components/RunnerTreeExample.vue.d.ts +0 -14
- package/dist/v2/features/collection/components/Runner/components/RunnerTreeExample.vue.d.ts.map +0 -1
- package/dist/v2/features/collection/components/Runner/components/RunnerTreeExample.vue.js +0 -7
- package/dist/v2/features/collection/components/Runner/components/RunnerTreeExample.vue.js.map +0 -1
- package/dist/v2/features/collection/components/Runner/components/RunnerTreeExample.vue.script.js +0 -44
- package/dist/v2/features/collection/components/Runner/components/RunnerTreeExample.vue.script.js.map +0 -1
- package/dist/v2/features/collection/components/Runner/components/RunnerTreeGroup.vue.d.ts +0 -19
- package/dist/v2/features/collection/components/Runner/components/RunnerTreeGroup.vue.d.ts.map +0 -1
- package/dist/v2/features/collection/components/Runner/components/RunnerTreeGroup.vue.js +0 -7
- package/dist/v2/features/collection/components/Runner/components/RunnerTreeGroup.vue.js.map +0 -1
- package/dist/v2/features/collection/components/Runner/components/RunnerTreeGroup.vue.script.js +0 -53
- package/dist/v2/features/collection/components/Runner/components/RunnerTreeGroup.vue.script.js.map +0 -1
- package/dist/v2/features/collection/components/Runner/components/RunnerTreeOperation.vue.d.ts +0 -23
- package/dist/v2/features/collection/components/Runner/components/RunnerTreeOperation.vue.d.ts.map +0 -1
- package/dist/v2/features/collection/components/Runner/components/RunnerTreeOperation.vue.js +0 -7
- package/dist/v2/features/collection/components/Runner/components/RunnerTreeOperation.vue.js.map +0 -1
- package/dist/v2/features/collection/components/Runner/components/RunnerTreeOperation.vue.script.js +0 -75
- package/dist/v2/features/collection/components/Runner/components/RunnerTreeOperation.vue.script.js.map +0 -1
- package/dist/v2/features/collection/components/Runner/hooks/index.d.ts +0 -3
- package/dist/v2/features/collection/components/Runner/hooks/index.d.ts.map +0 -1
- package/dist/v2/features/collection/components/Runner/hooks/use-runner-execution.d.ts +0 -75
- package/dist/v2/features/collection/components/Runner/hooks/use-runner-execution.d.ts.map +0 -1
- package/dist/v2/features/collection/components/Runner/hooks/use-runner-execution.js +0 -191
- package/dist/v2/features/collection/components/Runner/hooks/use-runner-execution.js.map +0 -1
- package/dist/v2/features/collection/components/Runner/hooks/use-runner-selection.d.ts +0 -46
- package/dist/v2/features/collection/components/Runner/hooks/use-runner-selection.d.ts.map +0 -1
- package/dist/v2/features/collection/components/Runner/hooks/use-runner-selection.js +0 -114
- package/dist/v2/features/collection/components/Runner/hooks/use-runner-selection.js.map +0 -1
- package/dist/v2/features/collection/components/Runner/index.d.ts +0 -2
- package/dist/v2/features/collection/components/Runner/index.d.ts.map +0 -1
- package/dist/v2/features/collection/components/Scripts.vue.d.ts +0 -16
- package/dist/v2/features/collection/components/Scripts.vue.d.ts.map +0 -1
- package/dist/v2/features/collection/components/Scripts.vue.js +0 -7
- package/dist/v2/features/collection/components/Scripts.vue.js.map +0 -1
- package/dist/v2/features/collection/components/Scripts.vue.script.js +0 -49
- package/dist/v2/features/collection/components/Scripts.vue.script.js.map +0 -1
- package/dist/v2/features/collection/components/Servers.vue.d.ts +0 -16
- package/dist/v2/features/collection/components/Servers.vue.d.ts.map +0 -1
- package/dist/v2/features/collection/components/Servers.vue.js +0 -7
- package/dist/v2/features/collection/components/Servers.vue.js.map +0 -1
- package/dist/v2/features/collection/components/Servers.vue.script.js +0 -219
- package/dist/v2/features/collection/components/Servers.vue.script.js.map +0 -1
- package/dist/v2/features/collection/components/Settings.vue.d.ts +0 -16
- package/dist/v2/features/collection/components/Settings.vue.d.ts.map +0 -1
- package/dist/v2/features/collection/components/Settings.vue.js +0 -7
- package/dist/v2/features/collection/components/Settings.vue.js.map +0 -1
- package/dist/v2/features/collection/components/Settings.vue.script.js +0 -81
- package/dist/v2/features/collection/components/Settings.vue.script.js.map +0 -1
- package/dist/v2/features/collection/components/Tabs.vue.d.ts +0 -8
- package/dist/v2/features/collection/components/Tabs.vue.d.ts.map +0 -1
- package/dist/v2/features/collection/components/Tabs.vue.js +0 -7
- package/dist/v2/features/collection/components/Tabs.vue.js.map +0 -1
- package/dist/v2/features/collection/components/Tabs.vue.script.js +0 -55
- package/dist/v2/features/collection/components/Tabs.vue.script.js.map +0 -1
- package/dist/v2/features/collection/helpers/get-default-operation-security-toggle.d.ts +0 -12
- package/dist/v2/features/collection/helpers/get-default-operation-security-toggle.d.ts.map +0 -1
- package/dist/v2/features/collection/helpers/get-default-operation-security-toggle.js +0 -19
- package/dist/v2/features/collection/helpers/get-default-operation-security-toggle.js.map +0 -1
- package/dist/v2/features/command-palette/TheCommandPalette.vue.d.ts +0 -42
- package/dist/v2/features/command-palette/TheCommandPalette.vue.d.ts.map +0 -1
- package/dist/v2/features/command-palette/TheCommandPalette.vue.js +0 -9
- package/dist/v2/features/command-palette/TheCommandPalette.vue.js.map +0 -1
- package/dist/v2/features/command-palette/TheCommandPalette.vue.script.js +0 -189
- package/dist/v2/features/command-palette/TheCommandPalette.vue.script.js.map +0 -1
- package/dist/v2/features/command-palette/components/CommandPaletteExample.vue.d.ts +0 -49
- package/dist/v2/features/command-palette/components/CommandPaletteExample.vue.d.ts.map +0 -1
- package/dist/v2/features/command-palette/components/CommandPaletteExample.vue.js +0 -7
- package/dist/v2/features/command-palette/components/CommandPaletteExample.vue.js.map +0 -1
- package/dist/v2/features/command-palette/components/CommandPaletteExample.vue.script.js +0 -225
- package/dist/v2/features/command-palette/components/CommandPaletteExample.vue.script.js.map +0 -1
- package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.d.ts +0 -53
- package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.d.ts.map +0 -1
- package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.js +0 -7
- package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.js.map +0 -1
- package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.script.js +0 -227
- package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.script.js.map +0 -1
- package/dist/v2/features/command-palette/components/CommandPaletteImportCurl.vue.d.ts +0 -44
- package/dist/v2/features/command-palette/components/CommandPaletteImportCurl.vue.d.ts.map +0 -1
- package/dist/v2/features/command-palette/components/CommandPaletteImportCurl.vue.js +0 -9
- package/dist/v2/features/command-palette/components/CommandPaletteImportCurl.vue.js.map +0 -1
- package/dist/v2/features/command-palette/components/CommandPaletteImportCurl.vue.script.js +0 -137
- package/dist/v2/features/command-palette/components/CommandPaletteImportCurl.vue.script.js.map +0 -1
- package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.d.ts +0 -30
- package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.d.ts.map +0 -1
- package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.js +0 -7
- package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.js.map +0 -1
- package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.script.js +0 -156
- package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.script.js.map +0 -1
- package/dist/v2/features/command-palette/components/CommandPaletteOpenApiDocument.vue.d.ts +0 -37
- package/dist/v2/features/command-palette/components/CommandPaletteOpenApiDocument.vue.d.ts.map +0 -1
- package/dist/v2/features/command-palette/components/CommandPaletteOpenApiDocument.vue.js +0 -7
- package/dist/v2/features/command-palette/components/CommandPaletteOpenApiDocument.vue.js.map +0 -1
- package/dist/v2/features/command-palette/components/CommandPaletteOpenApiDocument.vue.script.js +0 -105
- package/dist/v2/features/command-palette/components/CommandPaletteOpenApiDocument.vue.script.js.map +0 -1
- package/dist/v2/features/command-palette/components/CommandPaletteRequest.vue.d.ts +0 -48
- package/dist/v2/features/command-palette/components/CommandPaletteRequest.vue.d.ts.map +0 -1
- package/dist/v2/features/command-palette/components/CommandPaletteRequest.vue.js +0 -7
- package/dist/v2/features/command-palette/components/CommandPaletteRequest.vue.js.map +0 -1
- package/dist/v2/features/command-palette/components/CommandPaletteRequest.vue.script.js +0 -228
- package/dist/v2/features/command-palette/components/CommandPaletteRequest.vue.script.js.map +0 -1
- package/dist/v2/features/command-palette/components/CommandPaletteTag.vue.d.ts +0 -65
- package/dist/v2/features/command-palette/components/CommandPaletteTag.vue.d.ts.map +0 -1
- package/dist/v2/features/command-palette/components/CommandPaletteTag.vue.js +0 -7
- package/dist/v2/features/command-palette/components/CommandPaletteTag.vue.js.map +0 -1
- package/dist/v2/features/command-palette/components/CommandPaletteTag.vue.script.js +0 -142
- package/dist/v2/features/command-palette/components/CommandPaletteTag.vue.script.js.map +0 -1
- package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.d.ts +0 -58
- package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.d.ts.map +0 -1
- package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.js +0 -9
- package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.js.map +0 -1
- package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.script.js +0 -142
- package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.script.js.map +0 -1
- package/dist/v2/features/command-palette/components/PostmanRequestTreeRow.vue.d.ts +0 -23
- package/dist/v2/features/command-palette/components/PostmanRequestTreeRow.vue.d.ts.map +0 -1
- package/dist/v2/features/command-palette/components/PostmanRequestTreeRow.vue.js +0 -9
- package/dist/v2/features/command-palette/components/PostmanRequestTreeRow.vue.js.map +0 -1
- package/dist/v2/features/command-palette/components/PostmanRequestTreeRow.vue.script.js +0 -138
- package/dist/v2/features/command-palette/components/PostmanRequestTreeRow.vue.script.js.map +0 -1
- package/dist/v2/features/command-palette/components/WatchModeToggle.vue.d.ts +0 -34
- package/dist/v2/features/command-palette/components/WatchModeToggle.vue.d.ts.map +0 -1
- package/dist/v2/features/command-palette/components/WatchModeToggle.vue.js +0 -7
- package/dist/v2/features/command-palette/components/WatchModeToggle.vue.js.map +0 -1
- package/dist/v2/features/command-palette/components/WatchModeToggle.vue.script.js +0 -39
- package/dist/v2/features/command-palette/components/WatchModeToggle.vue.script.js.map +0 -1
- package/dist/v2/features/command-palette/helpers/generate-unique-slug.d.ts +0 -20
- package/dist/v2/features/command-palette/helpers/generate-unique-slug.d.ts.map +0 -1
- package/dist/v2/features/command-palette/helpers/generate-unique-slug.js +0 -33
- package/dist/v2/features/command-palette/helpers/generate-unique-slug.js.map +0 -1
- package/dist/v2/features/command-palette/helpers/get-merge-key.d.ts +0 -11
- package/dist/v2/features/command-palette/helpers/get-merge-key.d.ts.map +0 -1
- package/dist/v2/features/command-palette/helpers/get-merge-key.js +0 -32
- package/dist/v2/features/command-palette/helpers/get-merge-key.js.map +0 -1
- package/dist/v2/features/command-palette/helpers/get-openapi-document-details.d.ts +0 -24
- package/dist/v2/features/command-palette/helpers/get-openapi-document-details.d.ts.map +0 -1
- package/dist/v2/features/command-palette/helpers/get-openapi-document-details.js +0 -56
- package/dist/v2/features/command-palette/helpers/get-openapi-document-details.js.map +0 -1
- package/dist/v2/features/command-palette/helpers/get-openapi-from-postman.d.ts +0 -24
- package/dist/v2/features/command-palette/helpers/get-openapi-from-postman.d.ts.map +0 -1
- package/dist/v2/features/command-palette/helpers/get-openapi-from-postman.js +0 -22
- package/dist/v2/features/command-palette/helpers/get-openapi-from-postman.js.map +0 -1
- package/dist/v2/features/command-palette/helpers/get-operation-from-curl.d.ts +0 -26
- package/dist/v2/features/command-palette/helpers/get-operation-from-curl.d.ts.map +0 -1
- package/dist/v2/features/command-palette/helpers/get-operation-from-curl.js +0 -119
- package/dist/v2/features/command-palette/helpers/get-operation-from-curl.js.map +0 -1
- package/dist/v2/features/command-palette/helpers/get-postman-convert-options.d.ts +0 -14
- package/dist/v2/features/command-palette/helpers/get-postman-convert-options.d.ts.map +0 -1
- package/dist/v2/features/command-palette/helpers/get-postman-convert-options.js +0 -19
- package/dist/v2/features/command-palette/helpers/get-postman-convert-options.js.map +0 -1
- package/dist/v2/features/command-palette/helpers/get-postman-document-details.d.ts +0 -28
- package/dist/v2/features/command-palette/helpers/get-postman-document-details.d.ts.map +0 -1
- package/dist/v2/features/command-palette/helpers/get-postman-document-details.js +0 -36
- package/dist/v2/features/command-palette/helpers/get-postman-document-details.js.map +0 -1
- package/dist/v2/features/command-palette/helpers/import-document-to-workspace.d.ts +0 -30
- package/dist/v2/features/command-palette/helpers/import-document-to-workspace.d.ts.map +0 -1
- package/dist/v2/features/command-palette/helpers/import-document-to-workspace.js +0 -70
- package/dist/v2/features/command-palette/helpers/import-document-to-workspace.js.map +0 -1
- package/dist/v2/features/command-palette/helpers/load-document-from-source.d.ts +0 -20
- package/dist/v2/features/command-palette/helpers/load-document-from-source.d.ts.map +0 -1
- package/dist/v2/features/command-palette/helpers/load-document-from-source.js +0 -72
- package/dist/v2/features/command-palette/helpers/load-document-from-source.js.map +0 -1
- package/dist/v2/features/command-palette/helpers/parse-curl.d.ts +0 -14
- package/dist/v2/features/command-palette/helpers/parse-curl.d.ts.map +0 -1
- package/dist/v2/features/command-palette/helpers/parse-curl.js +0 -106
- package/dist/v2/features/command-palette/helpers/parse-curl.js.map +0 -1
- package/dist/v2/features/command-palette/helpers/postman-request-collisions.d.ts +0 -11
- package/dist/v2/features/command-palette/helpers/postman-request-collisions.d.ts.map +0 -1
- package/dist/v2/features/command-palette/helpers/postman-request-collisions.js +0 -35
- package/dist/v2/features/command-palette/helpers/postman-request-collisions.js.map +0 -1
- package/dist/v2/features/command-palette/helpers/postman-request-tree.d.ts +0 -41
- package/dist/v2/features/command-palette/helpers/postman-request-tree.d.ts.map +0 -1
- package/dist/v2/features/command-palette/helpers/postman-request-tree.js +0 -139
- package/dist/v2/features/command-palette/helpers/postman-request-tree.js.map +0 -1
- package/dist/v2/features/command-palette/hooks/use-command-palette-state.d.ts +0 -426
- package/dist/v2/features/command-palette/hooks/use-command-palette-state.d.ts.map +0 -1
- package/dist/v2/features/command-palette/hooks/use-command-palette-state.js +0 -207
- package/dist/v2/features/command-palette/hooks/use-command-palette-state.js.map +0 -1
- package/dist/v2/features/editor/config.d.ts +0 -16
- package/dist/v2/features/editor/config.d.ts.map +0 -1
- package/dist/v2/features/editor/config.js +0 -19
- package/dist/v2/features/editor/config.js.map +0 -1
- package/dist/v2/features/editor/helpers/configure-language-support.d.ts +0 -13
- package/dist/v2/features/editor/helpers/configure-language-support.d.ts.map +0 -1
- package/dist/v2/features/editor/helpers/configure-language-support.js +0 -48
- package/dist/v2/features/editor/helpers/configure-language-support.js.map +0 -1
- package/dist/v2/features/editor/helpers/ensure-monaco-environment.d.ts +0 -6
- package/dist/v2/features/editor/helpers/ensure-monaco-environment.d.ts.map +0 -1
- package/dist/v2/features/editor/helpers/ensure-monaco-environment.js +0 -21
- package/dist/v2/features/editor/helpers/ensure-monaco-environment.js.map +0 -1
- package/dist/v2/features/editor/helpers/json/create-json-model.d.ts +0 -12
- package/dist/v2/features/editor/helpers/json/create-json-model.d.ts.map +0 -1
- package/dist/v2/features/editor/helpers/json/create-json-model.js +0 -31
- package/dist/v2/features/editor/helpers/json/create-json-model.js.map +0 -1
- package/dist/v2/features/editor/helpers/json/get-json-ast-node-from-path.d.ts +0 -14
- package/dist/v2/features/editor/helpers/json/get-json-ast-node-from-path.d.ts.map +0 -1
- package/dist/v2/features/editor/helpers/json/get-json-ast-node-from-path.js +0 -22
- package/dist/v2/features/editor/helpers/json/get-json-ast-node-from-path.js.map +0 -1
- package/dist/v2/features/editor/helpers/json/json-ast.d.ts +0 -12
- package/dist/v2/features/editor/helpers/json/json-ast.d.ts.map +0 -1
- package/dist/v2/features/editor/helpers/json/json-ast.js +0 -32
- package/dist/v2/features/editor/helpers/json/json-ast.js.map +0 -1
- package/dist/v2/features/editor/helpers/json/json-pointer-links.d.ts +0 -15
- package/dist/v2/features/editor/helpers/json/json-pointer-links.d.ts.map +0 -1
- package/dist/v2/features/editor/helpers/json/json-pointer-links.js +0 -104
- package/dist/v2/features/editor/helpers/json/json-pointer-links.js.map +0 -1
- package/dist/v2/features/editor/helpers/json/json-pointer-path.d.ts +0 -7
- package/dist/v2/features/editor/helpers/json/json-pointer-path.d.ts.map +0 -1
- package/dist/v2/features/editor/helpers/json/json-pointer-path.js +0 -27
- package/dist/v2/features/editor/helpers/json/json-pointer-path.js.map +0 -1
- package/dist/v2/features/editor/helpers/model.d.ts +0 -9
- package/dist/v2/features/editor/helpers/model.d.ts.map +0 -1
- package/dist/v2/features/editor/helpers/range-to-whole-line.d.ts +0 -14
- package/dist/v2/features/editor/helpers/range-to-whole-line.d.ts.map +0 -1
- package/dist/v2/features/editor/helpers/range-to-whole-line.js +0 -27
- package/dist/v2/features/editor/helpers/range-to-whole-line.js.map +0 -1
- package/dist/v2/features/editor/helpers/theme/apply-scalar-theme.d.ts +0 -16
- package/dist/v2/features/editor/helpers/theme/apply-scalar-theme.d.ts.map +0 -1
- package/dist/v2/features/editor/helpers/theme/apply-scalar-theme.js +0 -84
- package/dist/v2/features/editor/helpers/theme/apply-scalar-theme.js.map +0 -1
- package/dist/v2/features/editor/helpers/theme/load-css-variables.d.ts +0 -36
- package/dist/v2/features/editor/helpers/theme/load-css-variables.d.ts.map +0 -1
- package/dist/v2/features/editor/helpers/theme/load-css-variables.js +0 -117
- package/dist/v2/features/editor/helpers/theme/load-css-variables.js.map +0 -1
- package/dist/v2/features/editor/helpers/yaml/create-yaml-model.d.ts +0 -13
- package/dist/v2/features/editor/helpers/yaml/create-yaml-model.d.ts.map +0 -1
- package/dist/v2/features/editor/helpers/yaml/create-yaml-model.js +0 -32
- package/dist/v2/features/editor/helpers/yaml/create-yaml-model.js.map +0 -1
- package/dist/v2/features/editor/helpers/yaml/get-yaml-node-range-from-path.d.ts +0 -19
- package/dist/v2/features/editor/helpers/yaml/get-yaml-node-range-from-path.d.ts.map +0 -1
- package/dist/v2/features/editor/helpers/yaml/get-yaml-node-range-from-path.js +0 -70
- package/dist/v2/features/editor/helpers/yaml/get-yaml-node-range-from-path.js.map +0 -1
- package/dist/v2/features/editor/hooks/use-editor-markers.d.ts +0 -152
- package/dist/v2/features/editor/hooks/use-editor-markers.d.ts.map +0 -1
- package/dist/v2/features/editor/hooks/use-editor-markers.js +0 -37
- package/dist/v2/features/editor/hooks/use-editor-markers.js.map +0 -1
- package/dist/v2/features/editor/hooks/use-editor.d.ts +0 -39
- package/dist/v2/features/editor/hooks/use-editor.d.ts.map +0 -1
- package/dist/v2/features/editor/hooks/use-editor.js +0 -133
- package/dist/v2/features/editor/hooks/use-editor.js.map +0 -1
- package/dist/v2/features/editor/hooks/use-json-pointer-link-support.d.ts +0 -16
- package/dist/v2/features/editor/hooks/use-json-pointer-link-support.d.ts.map +0 -1
- package/dist/v2/features/editor/hooks/use-json-pointer-link-support.js +0 -45
- package/dist/v2/features/editor/hooks/use-json-pointer-link-support.js.map +0 -1
- package/dist/v2/features/editor/hooks/use-three-way-merge-editor.d.ts +0 -77
- package/dist/v2/features/editor/hooks/use-three-way-merge-editor.d.ts.map +0 -1
- package/dist/v2/features/editor/hooks/use-three-way-merge-editor.js +0 -396
- package/dist/v2/features/editor/hooks/use-three-way-merge-editor.js.map +0 -1
- package/dist/v2/features/editor/index.d.ts +0 -5
- package/dist/v2/features/editor/index.d.ts.map +0 -1
- package/dist/v2/features/editor/index.js +0 -5
- package/dist/v2/features/editor/schemas/openapi-3.1-schema.json.js +0 -51
- package/dist/v2/features/editor/schemas/openapi-3.1-schema.json.js.map +0 -1
- package/dist/v2/features/global-cookies/components/CookiesTable.vue.d.ts +0 -10
- package/dist/v2/features/global-cookies/components/CookiesTable.vue.d.ts.map +0 -1
- package/dist/v2/features/global-cookies/components/CookiesTable.vue.js +0 -9
- package/dist/v2/features/global-cookies/components/CookiesTable.vue.js.map +0 -1
- package/dist/v2/features/global-cookies/components/CookiesTable.vue.script.js +0 -188
- package/dist/v2/features/global-cookies/components/CookiesTable.vue.script.js.map +0 -1
- package/dist/v2/features/global-cookies/index.d.ts +0 -2
- package/dist/v2/features/global-cookies/index.d.ts.map +0 -1
- package/dist/v2/features/global-cookies/index.js +0 -2
- package/dist/v2/features/settings/CollectionSettings.vue.d.ts +0 -28
- package/dist/v2/features/settings/CollectionSettings.vue.d.ts.map +0 -1
- package/dist/v2/features/settings/CollectionSettings.vue.js +0 -7
- package/dist/v2/features/settings/CollectionSettings.vue.js.map +0 -1
- package/dist/v2/features/settings/CollectionSettings.vue.script.js +0 -229
- package/dist/v2/features/settings/CollectionSettings.vue.script.js.map +0 -1
- package/dist/v2/features/settings/DocumentSettings.vue.d.ts +0 -20
- package/dist/v2/features/settings/DocumentSettings.vue.d.ts.map +0 -1
- package/dist/v2/features/settings/DocumentSettings.vue.js +0 -7
- package/dist/v2/features/settings/DocumentSettings.vue.js.map +0 -1
- package/dist/v2/features/settings/DocumentSettings.vue.script.js +0 -92
- package/dist/v2/features/settings/DocumentSettings.vue.script.js.map +0 -1
- package/dist/v2/features/settings/components/Appearance.vue.d.ts +0 -11
- package/dist/v2/features/settings/components/Appearance.vue.d.ts.map +0 -1
- package/dist/v2/features/settings/components/Appearance.vue.js +0 -7
- package/dist/v2/features/settings/components/Appearance.vue.js.map +0 -1
- package/dist/v2/features/settings/components/Appearance.vue.script.js +0 -63
- package/dist/v2/features/settings/components/Appearance.vue.script.js.map +0 -1
- package/dist/v2/features/settings/components/Section.vue.d.ts +0 -16
- package/dist/v2/features/settings/components/Section.vue.d.ts.map +0 -1
- package/dist/v2/features/settings/components/Section.vue.js +0 -7
- package/dist/v2/features/settings/components/Section.vue.js.map +0 -1
- package/dist/v2/features/settings/components/Section.vue.script.js +0 -30
- package/dist/v2/features/settings/components/Section.vue.script.js.map +0 -1
- package/dist/v2/features/settings/helpers/get-theme-colors.d.ts +0 -10
- package/dist/v2/features/settings/helpers/get-theme-colors.d.ts.map +0 -1
- package/dist/v2/features/settings/helpers/get-theme-colors.js +0 -68
- package/dist/v2/features/settings/helpers/get-theme-colors.js.map +0 -1
- package/dist/v2/features/settings/index.d.ts +0 -3
- package/dist/v2/features/settings/index.d.ts.map +0 -1
- package/dist/v2/features/settings/index.js +0 -3
- package/dist/v2/helpers/download-document.d.ts +0 -2
- package/dist/v2/helpers/download-document.d.ts.map +0 -1
- package/dist/v2/helpers/download-document.js +0 -42
- package/dist/v2/helpers/download-document.js.map +0 -1
- package/dist/v2/helpers/drag-handle-factory.d.ts +0 -16
- package/dist/v2/helpers/drag-handle-factory.d.ts.map +0 -1
- package/dist/v2/helpers/drag-handle-factory.js +0 -258
- package/dist/v2/helpers/drag-handle-factory.js.map +0 -1
- package/dist/v2/helpers/get-tab-details.d.ts +0 -43
- package/dist/v2/helpers/get-tab-details.d.ts.map +0 -1
- package/dist/v2/helpers/get-tab-details.js +0 -54
- package/dist/v2/helpers/get-tab-details.js.map +0 -1
- package/dist/v2/helpers/is-url.d.ts +0 -2
- package/dist/v2/helpers/is-url.d.ts.map +0 -1
- package/dist/v2/helpers/is-url.js +0 -10
- package/dist/v2/helpers/is-url.js.map +0 -1
- package/dist/v2/helpers/safe-run.d.ts +0 -34
- package/dist/v2/helpers/safe-run.d.ts.map +0 -1
- package/dist/v2/helpers/safe-run.js +0 -43
- package/dist/v2/helpers/safe-run.js.map +0 -1
- package/dist/v2/helpers/storage.d.ts +0 -31
- package/dist/v2/helpers/storage.d.ts.map +0 -1
- package/dist/v2/helpers/storage.js +0 -37
- package/dist/v2/helpers/storage.js.map +0 -1
- package/dist/v2/hooks/use-color-mode.d.ts +0 -20
- package/dist/v2/hooks/use-color-mode.d.ts.map +0 -1
- package/dist/v2/hooks/use-color-mode.js +0 -72
- package/dist/v2/hooks/use-color-mode.js.map +0 -1
- package/dist/v2/types/configuration.d.ts +0 -278
- package/dist/v2/types/configuration.d.ts.map +0 -1
- /package/dist/components/{ScalarAsciiArt.vue.d.ts → ScalarAsciiArt/ScalarAsciiArt.vue.d.ts} +0 -0
- /package/dist/{index.js → types/index.js} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AppSidebar.vue.js","names":[],"sources":["../../../../../src/v2/features/app/components/AppSidebar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {\n ScalarIconButton,\n ScalarModal,\n ScalarSidebar,\n ScalarSidebarButton,\n ScalarSidebarItems,\n ScalarSidebarSearchInput,\n ScalarSidebarSection,\n useModal,\n} from '@scalar/components'\nimport {\n ScalarIconFolderDashed,\n ScalarIconFunnel,\n ScalarIconGearSix,\n ScalarIconPlus,\n} from '@scalar/icons'\nimport type { DraggingItem, HoveredItem } from '@scalar/sidebar'\nimport { useToasts } from '@scalar/use-toasts'\nimport { getParentEntry } from '@scalar/workspace-store/navigation'\nimport type { TraversedEntry } from '@scalar/workspace-store/schemas/navigation'\nimport { computed, onBeforeMount, onBeforeUnmount, ref } from 'vue'\n\nimport DeleteSidebarListElement from '@/components/Sidebar/Actions/DeleteSidebarListElement.vue'\nimport { Resize } from '@/v2/components/resize'\nimport type { AppState } from '@/v2/features/app'\nimport SidebarDocument from '@/v2/features/app/components/SidebarDocument.vue'\nimport SidebarItemMenu from '@/v2/features/app/components/SidebarItemMenu.vue'\nimport { createTempOperation } from '@/v2/features/app/helpers/create-temp-operation'\nimport { loadRegistryDocument } from '@/v2/features/app/helpers/load-registry-document'\nimport { useDocumentFilter } from '@/v2/features/app/hooks/use-document-filter'\nimport { useSidebarContextMenu } from '@/v2/features/app/hooks/use-sidebar-context-menu'\nimport {\n useSidebarDocuments,\n type SidebarDocumentItem,\n} from '@/v2/features/app/hooks/use-sidebar-documents'\nimport { DocumentSearchModal } from '@/v2/features/search'\nimport { dragHandleFactory } from '@/v2/helpers/drag-handle-factory'\nimport { safeRun } from '@/v2/helpers/safe-run'\nimport type {\n ImportDocumentFromRegistry,\n RegistryDocumentsState,\n} from '@/v2/types/configuration'\n\nconst {\n app,\n registryDocuments = { status: 'success', documents: [] },\n fetchRegistryDocument,\n} = defineProps<{\n /** The app state from @scalar/api-client. */\n app: AppState\n /**\n * The list of all available registry documents, wrapped in a loading state\n * so the sidebar can render skeleton placeholders while the registry is\n * still being fetched.\n */\n registryDocuments?: RegistryDocumentsState\n /** A function to fetch a registry document */\n fetchRegistryDocument?: ImportDocumentFromRegistry\n}>()\n\nconst { toast } = useToasts()\n\n/**\n * Whether the caller is still fetching the list of registry documents. We\n * only surface the loading state on team workspaces because local workspaces\n * never consult the registry\n */\nconst isLoadingRegistry = computed(\n () =>\n registryDocuments.status === 'loading' &&\n app.workspace.isTeamWorkspace.value,\n)\n\nconst { pinned, rest } = useSidebarDocuments({\n app,\n managedDocs: () => registryDocuments.documents ?? [],\n})\n\n/**\n * Whether the workspace truly has no documents to show. Distinct from the\n * filter producing no results: we only surface the \"No APIs yet\" empty state\n * when the workspace is genuinely empty so users see a clear call-to-action\n * instead of a confusing blank space.\n */\nconst isEmpty = computed(\n () => !isLoadingRegistry.value && rest.value.length === 0,\n)\n\n/**\n * Fuzzy filter over the top-level documents. Owns its own input visibility,\n * query string and Fuse index. See `use-document-filter.ts` for details.\n */\nconst {\n isVisible: isFilterVisible,\n query: filterQuery,\n filteredItems: filteredRest,\n toggle: toggleFilter,\n} = useDocumentFilter(rest)\n\nconst sidebarState = app.sidebar.state\n\n/** Which registry documents are currently being fetched. */\nconst loadingKeys = ref<Record<string, boolean>>({})\n\n/**\n * Check if the given {@link SidebarDocumentItem} is the currently active document (from the sidebar state).\n */\nconst isDocActive = (item: SidebarDocumentItem) => {\n if (!item.navigation) {\n return false\n }\n\n return (\n sidebarState.selectedItem.value === item.navigation.id ||\n Boolean(sidebarState.selectedItems.value[item.navigation.id])\n )\n}\n\nconst handleDocumentClick = async (item: SidebarDocumentItem) => {\n if (item.navigation) {\n app.sidebar.handleSelectItem(item.navigation.id)\n return\n }\n\n // Capture the narrowed values into locals so the closure passed to\n // `safeRun` keeps the non-nullable types without needing assertions, and\n // so a later mutation to `item.registry` or `app.store.value` cannot\n // change what we end up loading mid-flight.\n const { registry } = item\n const workspaceStore = app.store.value\n if (!registry || !workspaceStore) {\n console.warn('Document does not have a sidebar navigation, skipping...')\n return\n }\n\n if (!fetchRegistryDocument) {\n console.warn(\n 'You need to provide a fetchRegistryDocument function to load registry documents',\n )\n return\n }\n\n if (loadingKeys.value[item.key]) {\n return\n }\n\n loadingKeys.value[item.key] = true\n\n // Registry items expose every version they advertise on `versions`, ordered\n // with the latest first. Until we surface a version picker on the parent\n // row we always load whichever version is at the top of the list, which is\n // the latest one. Falling back to `undefined` lets the loader default to\n // the registry's `latest` alias when the entry was synthesized from a\n // workspace document that has no advertised versions yet.\n const targetVersion = item.versions?.[0]\n\n // The loader can throw on network errors or malformed payloads. `safeRun`\n // converts a rejection into an `{ ok: false, error }` result so a single\n // failure cannot leave the row's spinner running forever and block\n // subsequent clicks on the same item.\n const outcome = await safeRun(() =>\n loadRegistryDocument({\n fetcher: fetchRegistryDocument,\n workspaceStore,\n namespace: registry.namespace,\n slug: registry.slug,\n version: targetVersion?.version,\n }),\n )\n\n loadingKeys.value[item.key] = false\n\n if (!outcome.ok) {\n toast(outcome.error, 'error')\n return\n }\n\n const result = outcome.data\n if (!result.ok) {\n toast(result.error, 'error')\n return\n }\n\n // After loading, route to the document overview. `syncSidebar` will then\n // mark the document as selected and the template's `:open=\"isDocActive\"`\n // binding drills the sidebar in automatically — no local state needed.\n app.eventBus.emit('ui:navigate', {\n page: 'document',\n path: 'overview',\n documentSlug: result.documentName,\n })\n}\n\nconst isSelected = (id: string) => sidebarState.isSelected(id)\nconst isExpanded = (id: string) => sidebarState.isExpanded(id)\n\nconst handleSelectItem = (id: string) => {\n app.sidebar.handleSelectItem(id)\n}\n\nconst handleToggleGroup = (id: string) => {\n sidebarState.setExpanded(id, !sidebarState.isExpanded(id))\n}\n\n/**\n * Drag-and-drop handlers for sidebar items. The factory reads from the live\n * workspace store and shared sidebar state, so it reflects the latest\n * navigation tree on every drag. Mirrors the behaviour of the old\n * `AppSidebar.vue` (documents, tags, and operations can be reordered, and\n * operations can be moved between tags/documents).\n */\nconst dragHandlers = computed(() =>\n dragHandleFactory({\n store: app.store,\n sidebarState,\n }),\n)\n\nconst handleDragEnd = (\n draggingItem: DraggingItem,\n hoveredItem: HoveredItem,\n): boolean => dragHandlers.value.handleDragEnd(draggingItem, hoveredItem)\n\nconst isDroppable = (\n draggingItem: DraggingItem,\n hoveredItem: HoveredItem,\n): boolean => dragHandlers.value.isDroppable(draggingItem, hoveredItem)\n\n/**\n * Contextual \"more\" dropdown for tags, operations and examples, together\n * with the shared delete-confirmation modal it triggers.\n */\nconst {\n menuTarget,\n deleteModalState,\n deleteMessage,\n openMenu,\n closeMenu,\n handleDelete,\n} = useSidebarContextMenu({\n eventBus: app.eventBus,\n sidebarState,\n})\n\n/**\n * Create a new operation from an empty folder slot inside a tag or document.\n * If the entry is a tag, the new operation inherits that tag so it stays\n * grouped under the same folder.\n */\nconst handleAddEmptyFolder = (item: TraversedEntry) => {\n const itemWithParent = sidebarState.getEntryById(item.id)\n const documentName = getParentEntry('document', itemWithParent)?.name\n const tagName = getParentEntry('tag', itemWithParent)?.name\n const store = app.store.value\n\n if (!documentName || !store) {\n console.error('Document name not found')\n return\n }\n\n createTempOperation(documentName, {\n existingPaths: new Set(\n Object.keys(store.workspace.documents[documentName]?.paths ?? {}),\n ),\n eventBus: app.eventBus,\n tags: tagName ? [tagName] : undefined,\n })\n}\n\nconst handleCreate = () => {\n app.eventBus.emit('ui:open:command-palette', {\n action: 'create-openapi-document',\n payload: undefined,\n })\n}\n\n/**\n * Create a new operation inside the given document and immediately navigate to\n * it. Uses `createTempOperation` so the operation gets a unique `/temp…` path,\n * then the sidebar focuses the new example and the address bar is focused so\n * the user can start typing the real path right away.\n */\nconst handleCreateOperation = (item: SidebarDocumentItem) => {\n const documentName = item.documentName\n const store = app.store.value\n\n if (!documentName || !store) {\n console.warn('Cannot create an operation: no document loaded')\n return\n }\n\n createTempOperation(documentName, {\n existingPaths: new Set(\n Object.keys(store.workspace.documents[documentName]?.paths ?? {}),\n ),\n eventBus: app.eventBus,\n })\n}\n\n/**\n * Navigates back to the workspace \"Get started\" page.\n */\nconst handleBack = () => {\n app.eventBus.emit('ui:navigate', {\n page: 'workspace',\n path: 'get-started',\n })\n}\n\n/**\n * True when the user is currently viewing a document (any of its subpages).\n * When inside a document, the sidebar actions are scoped to that document:\n * the gear icon opens the document (collection) settings and the filter icon\n * becomes a search icon that focuses the search input.\n */\nconst isOnDocumentPage = computed(() =>\n Boolean(app.activeEntities.documentSlug.value),\n)\n\nconst handleOpenSettings = () => {\n if (isOnDocumentPage.value) {\n app.eventBus.emit('ui:navigate', {\n page: 'document',\n path: 'settings',\n documentSlug: app.activeEntities.documentSlug.value,\n })\n return\n }\n\n app.eventBus.emit('ui:navigate', {\n page: 'workspace',\n path: 'settings',\n })\n}\n\n/**\n * Controls the per-document search modal. Only used when the user is drilled\n * into a single document and clicks the magnifying-glass icon.\n */\nconst searchModal = useModal()\n\n/**\n * The OpenAPI document currently selected in the workspace. The search modal\n * scopes its Fuse index to this document so results never leak across\n * collections.\n */\nconst activeDocument = computed(() => app.store.value?.workspace.activeDocument)\n\nconst handleFilterOrSearch = () => {\n // Inside a document, this icon opens a modal search that is scoped to that\n // single document (similar to the reference search modal), so users can jump\n // to any operation / tag / heading without noise from other documents.\n if (isOnDocumentPage.value) {\n searchModal.show()\n return\n }\n\n // At the top-level documents view, the icon toggles a lightweight filter\n // that narrows the visible documents by title.\n toggleFilter()\n}\n\n/**\n * Handle the `ui:focus:search` event. Dispatch is driven by the shared\n * `handleHotkeys` helper (Cmd/Ctrl+J) or by programmatic callers such as the\n * workspace \"Get started\" page. When a `KeyboardEvent` is included we\n * preventDefault to override the browser's Cmd+J (downloads panel), then\n * delegate to `handleFilterOrSearch`, which already branches on whether the\n * user is viewing a document or the workspace root.\n */\nconst handleSearchHotkey = (payload: { event: KeyboardEvent } | undefined) => {\n payload?.event.preventDefault()\n handleFilterOrSearch()\n}\n\n/**\n * Handle the `ui:open:settings` event (Cmd/Ctrl+I). Same delegation model as\n * `handleSearchHotkey`: preventDefault on the originating keyboard event (if\n * any) and hand off to `handleOpenSettings`, which routes to the document-\n * level settings page when a document is active and the workspace-level\n * settings page otherwise.\n */\nconst handleSettingsHotkey = (\n payload: { event: KeyboardEvent } | undefined,\n) => {\n payload?.event.preventDefault()\n handleOpenSettings()\n}\n\nonBeforeMount(() => {\n app.eventBus.on('ui:focus:search', handleSearchHotkey)\n app.eventBus.on('ui:open:settings', handleSettingsHotkey)\n})\nonBeforeUnmount(() => {\n app.eventBus.off('ui:focus:search', handleSearchHotkey)\n app.eventBus.off('ui:open:settings', handleSettingsHotkey)\n})\n\n/**\n * Navigate to the selected search result. `scroll-to:nav-item` is already\n * wired up through the app event bus to update the sidebar + route, matching\n * the behaviour used elsewhere in the app.\n */\nconst handleSearchSelect = (id: string) => {\n app.eventBus.emit('scroll-to:nav-item', { id })\n}\n\n/** Controls the width of the sidebar */\nconst sidebarWidth = defineModel<number>('sidebarWidth', {\n required: true,\n default: 288,\n})\n</script>\n\n<template>\n <Resize\n v-model:width=\"sidebarWidth\"\n class=\"flex flex-col max-md:inset-y-0 max-md:z-2 max-md:w-full!\"\n :class=\"{\n 'max-md:absolute! max-md:flex!': app.sidebar.isOpen.value,\n 'max-md:hidden!': !app.sidebar.isOpen.value,\n }\">\n <template #default>\n <div class=\"flex flex-1\">\n <ScalarSidebar\n class=\"flex min-h-0 flex-1 flex-col max-md:pt-[calc(var(--app-desktop-tabs-height)+var(--spacing-header,48px)+2.5rem)]\">\n <!-- Top-level sidebar header -->\n <div\n v-if=\"!isOnDocumentPage\"\n class=\"flex flex-col gap-1.5 p-(--scalar-sidebar-padding)\">\n <div class=\"flex items-center gap-1\">\n <ScalarSidebarButton\n is=\"div\"\n class=\"text-sidebar-c-1 font-sidebar-active flex-1\"\n disabled>\n All Documents\n </ScalarSidebarButton>\n <ScalarIconButton\n :icon=\"ScalarIconGearSix\"\n label=\"Workspace settings\"\n size=\"sm\"\n @click=\"handleOpenSettings\" />\n <ScalarIconButton\n :icon=\"ScalarIconFunnel\"\n label=\"Filter documents\"\n size=\"sm\"\n @click=\"handleFilterOrSearch\" />\n <ScalarIconButton\n class=\"rounded-full border\"\n :icon=\"ScalarIconPlus\"\n label=\"Add document\"\n size=\"sm\"\n @click=\"handleCreate\" />\n </div>\n <ScalarSidebarSearchInput\n v-if=\"isFilterVisible\"\n v-model=\"filterQuery\"\n autofocus />\n </div>\n\n <!-- Document list (top-level) -->\n <div class=\"custom-scroll flex flex-1 flex-col\">\n <!--\n Empty state: no documents in the workspace yet. Matches the\n minimal `empty folder` appearance.\n -->\n <div\n v-if=\"isEmpty && !isOnDocumentPage\"\n class=\"text-c-3 flex flex-1 flex-col items-center justify-center gap-2 p-6 text-center select-none\">\n <ScalarIconFolderDashed\n class=\"size-10\"\n weight=\"light\" />\n <p class=\"text-sm font-medium\">Nothing added yet</p>\n </div>\n <ScalarSidebarItems v-else>\n <!-- Show pinned documents after we add support for it -->\n <ScalarSidebarSection v-if=\"pinned.length\">\n <template\n v-if=\"pinned.length && rest.length\"\n #default>\n Pinned\n </template>\n <template #items>\n <SidebarDocument\n v-for=\"item in pinned\"\n :key=\"item.key\"\n :active=\"isDocActive(item)\"\n :isDroppable=\"isDroppable\"\n :isExpanded=\"isExpanded\"\n :isSelected=\"isSelected\"\n :item=\"item\"\n :loading=\"loadingKeys[item.key]\"\n :open=\"isDocActive(item)\"\n @addEmptyFolder=\"handleAddEmptyFolder\"\n @back=\"handleBack\"\n @click=\"handleDocumentClick(item)\"\n @createOperation=\"handleCreateOperation\"\n @dragEnd=\"handleDragEnd\"\n @openMenu=\"openMenu\"\n @openSettings=\"handleOpenSettings\"\n @search=\"handleFilterOrSearch\"\n @selectItem=\"handleSelectItem\"\n @toggleGroup=\"handleToggleGroup\" />\n </template>\n </ScalarSidebarSection>\n\n <ScalarSidebarSection>\n <template\n v-if=\"pinned.length && rest.length\"\n #default>\n All documents\n </template>\n <template #items>\n <!--\n Skeleton rows shown while the caller is still fetching\n the registry document list. We only render skeletons in\n the top-level view (when no document is drilled-in) so\n the collection view is never masked by placeholders.\n -->\n <template v-if=\"isLoadingRegistry && !isOnDocumentPage\">\n <li\n v-for=\"n in 4\"\n :key=\"`registry-skeleton-${n}`\"\n aria-hidden=\"true\"\n class=\"sidebar-skeleton-row px-(--scalar-sidebar-padding) py-1\">\n <span class=\"bg-b-3 block h-6 rounded-md\" />\n </li>\n </template>\n <SidebarDocument\n v-for=\"item in filteredRest\"\n :key=\"item.key\"\n :active=\"isDocActive(item)\"\n :isDroppable=\"isDroppable\"\n :isExpanded=\"isExpanded\"\n :isSelected=\"isSelected\"\n :item=\"item\"\n :loading=\"loadingKeys[item.key]\"\n :open=\"isDocActive(item)\"\n @addEmptyFolder=\"handleAddEmptyFolder\"\n @back=\"handleBack\"\n @click=\"handleDocumentClick(item)\"\n @createOperation=\"handleCreateOperation\"\n @dragEnd=\"handleDragEnd\"\n @openMenu=\"openMenu\"\n @openSettings=\"handleOpenSettings\"\n @search=\"handleFilterOrSearch\"\n @selectItem=\"handleSelectItem\"\n @toggleGroup=\"handleToggleGroup\" />\n </template>\n </ScalarSidebarSection>\n </ScalarSidebarItems>\n </div>\n\n <slot name=\"footer\" />\n </ScalarSidebar>\n </div>\n <DocumentSearchModal\n :document=\"activeDocument\"\n :modalState=\"searchModal\"\n @select=\"handleSearchSelect\" />\n <!--\n Contextual dropdown menu for tags, operations and examples. Rendered\n once for the whole sidebar and re-anchored to the triggering icon via\n `menuTarget.el`, so we do not create a dropdown per item.\n -->\n <SidebarItemMenu\n v-if=\"app.store.value && menuTarget?.showMenu\"\n :eventBus=\"app.eventBus\"\n :item=\"menuTarget.item\"\n :sidebarState=\"sidebarState\"\n :target=\"menuTarget.el\"\n :workspaceStore=\"app.store.value\"\n @closeMenu=\"closeMenu\"\n @showDeleteModal=\"deleteModalState.show()\" />\n <!-- Delete confirmation modal, triggered from the dropdown menu above. -->\n <ScalarModal\n v-if=\"menuTarget\"\n size=\"xxs\"\n :state=\"deleteModalState\"\n :title=\"`Delete ${menuTarget.item.title}`\">\n <DeleteSidebarListElement\n :variableName=\"menuTarget.item.title\"\n :warningMessage=\"deleteMessage\"\n @close=\"deleteModalState.hide()\"\n @delete=\"handleDelete\" />\n </ScalarModal>\n </template>\n </Resize>\n</template>\n\n<style scoped>\n/*\n * Gentle pulse for the registry loading skeletons. Matches the existing\n * `LoadingSkeleton.vue` easing/duration used in `@scalar/api-reference` so\n * any skeleton in the app feels consistent.\n */\n.sidebar-skeleton-row > span {\n animation: sidebar-skeleton-pulse 1.5s infinite alternate;\n}\n\n@keyframes sidebar-skeleton-pulse {\n from {\n opacity: 1;\n }\n to {\n opacity: 0.33;\n }\n}\n</style>\n"],"mappings":""}
|
|
@@ -1,466 +0,0 @@
|
|
|
1
|
-
import Resize_default from "../../../components/resize/Resize.vue.js";
|
|
2
|
-
import DocumentSearchModal_default from "../../search/components/DocumentSearchModal.vue.js";
|
|
3
|
-
import DeleteSidebarListElement_default from "../../../../components/Sidebar/Actions/DeleteSidebarListElement.vue.js";
|
|
4
|
-
import SidebarDocument_default from "./SidebarDocument.vue.js";
|
|
5
|
-
import { createTempOperation } from "../helpers/create-temp-operation.js";
|
|
6
|
-
import SidebarItemMenu_default from "./SidebarItemMenu.vue.js";
|
|
7
|
-
import { loadRegistryDocument } from "../helpers/load-registry-document.js";
|
|
8
|
-
import { useDocumentFilter } from "../hooks/use-document-filter.js";
|
|
9
|
-
import { useSidebarContextMenu } from "../hooks/use-sidebar-context-menu.js";
|
|
10
|
-
import { useSidebarDocuments } from "../hooks/use-sidebar-documents.js";
|
|
11
|
-
import { dragHandleFactory } from "../../../helpers/drag-handle-factory.js";
|
|
12
|
-
import { safeRun } from "../../../helpers/safe-run.js";
|
|
13
|
-
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createTextVNode, createVNode, defineComponent, isRef, mergeModels, normalizeClass, onBeforeMount, onBeforeUnmount, openBlock, ref, renderList, renderSlot, unref, useModel, withCtx } from "vue";
|
|
14
|
-
import { ScalarIconButton, ScalarModal, ScalarSidebar, ScalarSidebarButton, ScalarSidebarItems, ScalarSidebarSearchInput, ScalarSidebarSection, useModal } from "@scalar/components";
|
|
15
|
-
import { ScalarIconFolderDashed, ScalarIconFunnel, ScalarIconGearSix, ScalarIconPlus } from "@scalar/icons";
|
|
16
|
-
import { useToasts } from "@scalar/use-toasts";
|
|
17
|
-
import { getParentEntry } from "@scalar/workspace-store/navigation";
|
|
18
|
-
//#region src/v2/features/app/components/AppSidebar.vue?vue&type=script&setup=true&lang.ts
|
|
19
|
-
var _hoisted_1 = { class: "flex flex-1" };
|
|
20
|
-
var _hoisted_2 = {
|
|
21
|
-
key: 0,
|
|
22
|
-
class: "flex flex-col gap-1.5 p-(--scalar-sidebar-padding)"
|
|
23
|
-
};
|
|
24
|
-
var _hoisted_3 = { class: "flex items-center gap-1" };
|
|
25
|
-
var _hoisted_4 = { class: "custom-scroll flex flex-1 flex-col" };
|
|
26
|
-
var _hoisted_5 = {
|
|
27
|
-
key: 0,
|
|
28
|
-
class: "text-c-3 flex flex-1 flex-col items-center justify-center gap-2 p-6 text-center select-none"
|
|
29
|
-
};
|
|
30
|
-
var AppSidebar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
31
|
-
__name: "AppSidebar",
|
|
32
|
-
props: /* @__PURE__ */ mergeModels({
|
|
33
|
-
app: {},
|
|
34
|
-
registryDocuments: { default: () => ({
|
|
35
|
-
status: "success",
|
|
36
|
-
documents: []
|
|
37
|
-
}) },
|
|
38
|
-
fetchRegistryDocument: { type: Function }
|
|
39
|
-
}, {
|
|
40
|
-
"sidebarWidth": {
|
|
41
|
-
required: true,
|
|
42
|
-
default: 288
|
|
43
|
-
},
|
|
44
|
-
"sidebarWidthModifiers": {}
|
|
45
|
-
}),
|
|
46
|
-
emits: ["update:sidebarWidth"],
|
|
47
|
-
setup(__props) {
|
|
48
|
-
const { toast } = useToasts();
|
|
49
|
-
/**
|
|
50
|
-
* Whether the caller is still fetching the list of registry documents. We
|
|
51
|
-
* only surface the loading state on team workspaces because local workspaces
|
|
52
|
-
* never consult the registry
|
|
53
|
-
*/
|
|
54
|
-
const isLoadingRegistry = computed(() => __props.registryDocuments.status === "loading" && __props.app.workspace.isTeamWorkspace.value);
|
|
55
|
-
const { pinned, rest } = useSidebarDocuments({
|
|
56
|
-
app: __props.app,
|
|
57
|
-
managedDocs: () => __props.registryDocuments.documents ?? []
|
|
58
|
-
});
|
|
59
|
-
/**
|
|
60
|
-
* Whether the workspace truly has no documents to show. Distinct from the
|
|
61
|
-
* filter producing no results: we only surface the "No APIs yet" empty state
|
|
62
|
-
* when the workspace is genuinely empty so users see a clear call-to-action
|
|
63
|
-
* instead of a confusing blank space.
|
|
64
|
-
*/
|
|
65
|
-
const isEmpty = computed(() => !isLoadingRegistry.value && rest.value.length === 0);
|
|
66
|
-
/**
|
|
67
|
-
* Fuzzy filter over the top-level documents. Owns its own input visibility,
|
|
68
|
-
* query string and Fuse index. See `use-document-filter.ts` for details.
|
|
69
|
-
*/
|
|
70
|
-
const { isVisible: isFilterVisible, query: filterQuery, filteredItems: filteredRest, toggle: toggleFilter } = useDocumentFilter(rest);
|
|
71
|
-
const sidebarState = __props.app.sidebar.state;
|
|
72
|
-
/** Which registry documents are currently being fetched. */
|
|
73
|
-
const loadingKeys = ref({});
|
|
74
|
-
/**
|
|
75
|
-
* Check if the given {@link SidebarDocumentItem} is the currently active document (from the sidebar state).
|
|
76
|
-
*/
|
|
77
|
-
const isDocActive = (item) => {
|
|
78
|
-
if (!item.navigation) return false;
|
|
79
|
-
return sidebarState.selectedItem.value === item.navigation.id || Boolean(sidebarState.selectedItems.value[item.navigation.id]);
|
|
80
|
-
};
|
|
81
|
-
const handleDocumentClick = async (item) => {
|
|
82
|
-
if (item.navigation) {
|
|
83
|
-
__props.app.sidebar.handleSelectItem(item.navigation.id);
|
|
84
|
-
return;
|
|
85
|
-
}
|
|
86
|
-
const { registry } = item;
|
|
87
|
-
const workspaceStore = __props.app.store.value;
|
|
88
|
-
if (!registry || !workspaceStore) {
|
|
89
|
-
console.warn("Document does not have a sidebar navigation, skipping...");
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
92
|
-
if (!__props.fetchRegistryDocument) {
|
|
93
|
-
console.warn("You need to provide a fetchRegistryDocument function to load registry documents");
|
|
94
|
-
return;
|
|
95
|
-
}
|
|
96
|
-
if (loadingKeys.value[item.key]) return;
|
|
97
|
-
loadingKeys.value[item.key] = true;
|
|
98
|
-
const targetVersion = item.versions?.[0];
|
|
99
|
-
const outcome = await safeRun(() => loadRegistryDocument({
|
|
100
|
-
fetcher: __props.fetchRegistryDocument,
|
|
101
|
-
workspaceStore,
|
|
102
|
-
namespace: registry.namespace,
|
|
103
|
-
slug: registry.slug,
|
|
104
|
-
version: targetVersion?.version
|
|
105
|
-
}));
|
|
106
|
-
loadingKeys.value[item.key] = false;
|
|
107
|
-
if (!outcome.ok) {
|
|
108
|
-
toast(outcome.error, "error");
|
|
109
|
-
return;
|
|
110
|
-
}
|
|
111
|
-
const result = outcome.data;
|
|
112
|
-
if (!result.ok) {
|
|
113
|
-
toast(result.error, "error");
|
|
114
|
-
return;
|
|
115
|
-
}
|
|
116
|
-
__props.app.eventBus.emit("ui:navigate", {
|
|
117
|
-
page: "document",
|
|
118
|
-
path: "overview",
|
|
119
|
-
documentSlug: result.documentName
|
|
120
|
-
});
|
|
121
|
-
};
|
|
122
|
-
const isSelected = (id) => sidebarState.isSelected(id);
|
|
123
|
-
const isExpanded = (id) => sidebarState.isExpanded(id);
|
|
124
|
-
const handleSelectItem = (id) => {
|
|
125
|
-
__props.app.sidebar.handleSelectItem(id);
|
|
126
|
-
};
|
|
127
|
-
const handleToggleGroup = (id) => {
|
|
128
|
-
sidebarState.setExpanded(id, !sidebarState.isExpanded(id));
|
|
129
|
-
};
|
|
130
|
-
/**
|
|
131
|
-
* Drag-and-drop handlers for sidebar items. The factory reads from the live
|
|
132
|
-
* workspace store and shared sidebar state, so it reflects the latest
|
|
133
|
-
* navigation tree on every drag. Mirrors the behaviour of the old
|
|
134
|
-
* `AppSidebar.vue` (documents, tags, and operations can be reordered, and
|
|
135
|
-
* operations can be moved between tags/documents).
|
|
136
|
-
*/
|
|
137
|
-
const dragHandlers = computed(() => dragHandleFactory({
|
|
138
|
-
store: __props.app.store,
|
|
139
|
-
sidebarState
|
|
140
|
-
}));
|
|
141
|
-
const handleDragEnd = (draggingItem, hoveredItem) => dragHandlers.value.handleDragEnd(draggingItem, hoveredItem);
|
|
142
|
-
const isDroppable = (draggingItem, hoveredItem) => dragHandlers.value.isDroppable(draggingItem, hoveredItem);
|
|
143
|
-
/**
|
|
144
|
-
* Contextual "more" dropdown for tags, operations and examples, together
|
|
145
|
-
* with the shared delete-confirmation modal it triggers.
|
|
146
|
-
*/
|
|
147
|
-
const { menuTarget, deleteModalState, deleteMessage, openMenu, closeMenu, handleDelete } = useSidebarContextMenu({
|
|
148
|
-
eventBus: __props.app.eventBus,
|
|
149
|
-
sidebarState
|
|
150
|
-
});
|
|
151
|
-
/**
|
|
152
|
-
* Create a new operation from an empty folder slot inside a tag or document.
|
|
153
|
-
* If the entry is a tag, the new operation inherits that tag so it stays
|
|
154
|
-
* grouped under the same folder.
|
|
155
|
-
*/
|
|
156
|
-
const handleAddEmptyFolder = (item) => {
|
|
157
|
-
const itemWithParent = sidebarState.getEntryById(item.id);
|
|
158
|
-
const documentName = getParentEntry("document", itemWithParent)?.name;
|
|
159
|
-
const tagName = getParentEntry("tag", itemWithParent)?.name;
|
|
160
|
-
const store = __props.app.store.value;
|
|
161
|
-
if (!documentName || !store) {
|
|
162
|
-
console.error("Document name not found");
|
|
163
|
-
return;
|
|
164
|
-
}
|
|
165
|
-
createTempOperation(documentName, {
|
|
166
|
-
existingPaths: new Set(Object.keys(store.workspace.documents[documentName]?.paths ?? {})),
|
|
167
|
-
eventBus: __props.app.eventBus,
|
|
168
|
-
tags: tagName ? [tagName] : void 0
|
|
169
|
-
});
|
|
170
|
-
};
|
|
171
|
-
const handleCreate = () => {
|
|
172
|
-
__props.app.eventBus.emit("ui:open:command-palette", {
|
|
173
|
-
action: "create-openapi-document",
|
|
174
|
-
payload: void 0
|
|
175
|
-
});
|
|
176
|
-
};
|
|
177
|
-
/**
|
|
178
|
-
* Create a new operation inside the given document and immediately navigate to
|
|
179
|
-
* it. Uses `createTempOperation` so the operation gets a unique `/temp…` path,
|
|
180
|
-
* then the sidebar focuses the new example and the address bar is focused so
|
|
181
|
-
* the user can start typing the real path right away.
|
|
182
|
-
*/
|
|
183
|
-
const handleCreateOperation = (item) => {
|
|
184
|
-
const documentName = item.documentName;
|
|
185
|
-
const store = __props.app.store.value;
|
|
186
|
-
if (!documentName || !store) {
|
|
187
|
-
console.warn("Cannot create an operation: no document loaded");
|
|
188
|
-
return;
|
|
189
|
-
}
|
|
190
|
-
createTempOperation(documentName, {
|
|
191
|
-
existingPaths: new Set(Object.keys(store.workspace.documents[documentName]?.paths ?? {})),
|
|
192
|
-
eventBus: __props.app.eventBus
|
|
193
|
-
});
|
|
194
|
-
};
|
|
195
|
-
/**
|
|
196
|
-
* Navigates back to the workspace "Get started" page.
|
|
197
|
-
*/
|
|
198
|
-
const handleBack = () => {
|
|
199
|
-
__props.app.eventBus.emit("ui:navigate", {
|
|
200
|
-
page: "workspace",
|
|
201
|
-
path: "get-started"
|
|
202
|
-
});
|
|
203
|
-
};
|
|
204
|
-
/**
|
|
205
|
-
* True when the user is currently viewing a document (any of its subpages).
|
|
206
|
-
* When inside a document, the sidebar actions are scoped to that document:
|
|
207
|
-
* the gear icon opens the document (collection) settings and the filter icon
|
|
208
|
-
* becomes a search icon that focuses the search input.
|
|
209
|
-
*/
|
|
210
|
-
const isOnDocumentPage = computed(() => Boolean(__props.app.activeEntities.documentSlug.value));
|
|
211
|
-
const handleOpenSettings = () => {
|
|
212
|
-
if (isOnDocumentPage.value) {
|
|
213
|
-
__props.app.eventBus.emit("ui:navigate", {
|
|
214
|
-
page: "document",
|
|
215
|
-
path: "settings",
|
|
216
|
-
documentSlug: __props.app.activeEntities.documentSlug.value
|
|
217
|
-
});
|
|
218
|
-
return;
|
|
219
|
-
}
|
|
220
|
-
__props.app.eventBus.emit("ui:navigate", {
|
|
221
|
-
page: "workspace",
|
|
222
|
-
path: "settings"
|
|
223
|
-
});
|
|
224
|
-
};
|
|
225
|
-
/**
|
|
226
|
-
* Controls the per-document search modal. Only used when the user is drilled
|
|
227
|
-
* into a single document and clicks the magnifying-glass icon.
|
|
228
|
-
*/
|
|
229
|
-
const searchModal = useModal();
|
|
230
|
-
/**
|
|
231
|
-
* The OpenAPI document currently selected in the workspace. The search modal
|
|
232
|
-
* scopes its Fuse index to this document so results never leak across
|
|
233
|
-
* collections.
|
|
234
|
-
*/
|
|
235
|
-
const activeDocument = computed(() => __props.app.store.value?.workspace.activeDocument);
|
|
236
|
-
const handleFilterOrSearch = () => {
|
|
237
|
-
if (isOnDocumentPage.value) {
|
|
238
|
-
searchModal.show();
|
|
239
|
-
return;
|
|
240
|
-
}
|
|
241
|
-
toggleFilter();
|
|
242
|
-
};
|
|
243
|
-
/**
|
|
244
|
-
* Handle the `ui:focus:search` event. Dispatch is driven by the shared
|
|
245
|
-
* `handleHotkeys` helper (Cmd/Ctrl+J) or by programmatic callers such as the
|
|
246
|
-
* workspace "Get started" page. When a `KeyboardEvent` is included we
|
|
247
|
-
* preventDefault to override the browser's Cmd+J (downloads panel), then
|
|
248
|
-
* delegate to `handleFilterOrSearch`, which already branches on whether the
|
|
249
|
-
* user is viewing a document or the workspace root.
|
|
250
|
-
*/
|
|
251
|
-
const handleSearchHotkey = (payload) => {
|
|
252
|
-
payload?.event.preventDefault();
|
|
253
|
-
handleFilterOrSearch();
|
|
254
|
-
};
|
|
255
|
-
/**
|
|
256
|
-
* Handle the `ui:open:settings` event (Cmd/Ctrl+I). Same delegation model as
|
|
257
|
-
* `handleSearchHotkey`: preventDefault on the originating keyboard event (if
|
|
258
|
-
* any) and hand off to `handleOpenSettings`, which routes to the document-
|
|
259
|
-
* level settings page when a document is active and the workspace-level
|
|
260
|
-
* settings page otherwise.
|
|
261
|
-
*/
|
|
262
|
-
const handleSettingsHotkey = (payload) => {
|
|
263
|
-
payload?.event.preventDefault();
|
|
264
|
-
handleOpenSettings();
|
|
265
|
-
};
|
|
266
|
-
onBeforeMount(() => {
|
|
267
|
-
__props.app.eventBus.on("ui:focus:search", handleSearchHotkey);
|
|
268
|
-
__props.app.eventBus.on("ui:open:settings", handleSettingsHotkey);
|
|
269
|
-
});
|
|
270
|
-
onBeforeUnmount(() => {
|
|
271
|
-
__props.app.eventBus.off("ui:focus:search", handleSearchHotkey);
|
|
272
|
-
__props.app.eventBus.off("ui:open:settings", handleSettingsHotkey);
|
|
273
|
-
});
|
|
274
|
-
/**
|
|
275
|
-
* Navigate to the selected search result. `scroll-to:nav-item` is already
|
|
276
|
-
* wired up through the app event bus to update the sidebar + route, matching
|
|
277
|
-
* the behaviour used elsewhere in the app.
|
|
278
|
-
*/
|
|
279
|
-
const handleSearchSelect = (id) => {
|
|
280
|
-
__props.app.eventBus.emit("scroll-to:nav-item", { id });
|
|
281
|
-
};
|
|
282
|
-
/** Controls the width of the sidebar */
|
|
283
|
-
const sidebarWidth = useModel(__props, "sidebarWidth");
|
|
284
|
-
return (_ctx, _cache) => {
|
|
285
|
-
return openBlock(), createBlock(unref(Resize_default), {
|
|
286
|
-
width: sidebarWidth.value,
|
|
287
|
-
"onUpdate:width": _cache[3] || (_cache[3] = ($event) => sidebarWidth.value = $event),
|
|
288
|
-
class: normalizeClass(["flex flex-col max-md:inset-y-0 max-md:z-2 max-md:w-full!", {
|
|
289
|
-
"max-md:absolute! max-md:flex!": __props.app.sidebar.isOpen.value,
|
|
290
|
-
"max-md:hidden!": !__props.app.sidebar.isOpen.value
|
|
291
|
-
}])
|
|
292
|
-
}, {
|
|
293
|
-
default: withCtx(() => [
|
|
294
|
-
createElementVNode("div", _hoisted_1, [createVNode(unref(ScalarSidebar), { class: "flex min-h-0 flex-1 flex-col max-md:pt-[calc(var(--app-desktop-tabs-height)+var(--spacing-header,48px)+2.5rem)]" }, {
|
|
295
|
-
default: withCtx(() => [
|
|
296
|
-
!isOnDocumentPage.value ? (openBlock(), createElementBlock("div", _hoisted_2, [createElementVNode("div", _hoisted_3, [
|
|
297
|
-
createVNode(unref(ScalarSidebarButton), {
|
|
298
|
-
is: "div",
|
|
299
|
-
class: "text-sidebar-c-1 font-sidebar-active flex-1",
|
|
300
|
-
disabled: ""
|
|
301
|
-
}, {
|
|
302
|
-
default: withCtx(() => [..._cache[4] || (_cache[4] = [createTextVNode(" All Documents ", -1)])]),
|
|
303
|
-
_: 1
|
|
304
|
-
}),
|
|
305
|
-
createVNode(unref(ScalarIconButton), {
|
|
306
|
-
icon: unref(ScalarIconGearSix),
|
|
307
|
-
label: "Workspace settings",
|
|
308
|
-
size: "sm",
|
|
309
|
-
onClick: handleOpenSettings
|
|
310
|
-
}, null, 8, ["icon"]),
|
|
311
|
-
createVNode(unref(ScalarIconButton), {
|
|
312
|
-
icon: unref(ScalarIconFunnel),
|
|
313
|
-
label: "Filter documents",
|
|
314
|
-
size: "sm",
|
|
315
|
-
onClick: handleFilterOrSearch
|
|
316
|
-
}, null, 8, ["icon"]),
|
|
317
|
-
createVNode(unref(ScalarIconButton), {
|
|
318
|
-
class: "rounded-full border",
|
|
319
|
-
icon: unref(ScalarIconPlus),
|
|
320
|
-
label: "Add document",
|
|
321
|
-
size: "sm",
|
|
322
|
-
onClick: handleCreate
|
|
323
|
-
}, null, 8, ["icon"])
|
|
324
|
-
]), unref(isFilterVisible) ? (openBlock(), createBlock(unref(ScalarSidebarSearchInput), {
|
|
325
|
-
key: 0,
|
|
326
|
-
modelValue: unref(filterQuery),
|
|
327
|
-
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(filterQuery) ? filterQuery.value = $event : null),
|
|
328
|
-
autofocus: ""
|
|
329
|
-
}, null, 8, ["modelValue"])) : createCommentVNode("", true)])) : createCommentVNode("", true),
|
|
330
|
-
createElementVNode("div", _hoisted_4, [isEmpty.value && !isOnDocumentPage.value ? (openBlock(), createElementBlock("div", _hoisted_5, [createVNode(unref(ScalarIconFolderDashed), {
|
|
331
|
-
class: "size-10",
|
|
332
|
-
weight: "light"
|
|
333
|
-
}), _cache[5] || (_cache[5] = createElementVNode("p", { class: "text-sm font-medium" }, "Nothing added yet", -1))])) : (openBlock(), createBlock(unref(ScalarSidebarItems), { key: 1 }, {
|
|
334
|
-
default: withCtx(() => [unref(pinned).length ? (openBlock(), createBlock(unref(ScalarSidebarSection), { key: 0 }, createSlots({
|
|
335
|
-
items: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(pinned), (item) => {
|
|
336
|
-
return openBlock(), createBlock(SidebarDocument_default, {
|
|
337
|
-
key: item.key,
|
|
338
|
-
active: isDocActive(item),
|
|
339
|
-
isDroppable,
|
|
340
|
-
isExpanded,
|
|
341
|
-
isSelected,
|
|
342
|
-
item,
|
|
343
|
-
loading: loadingKeys.value[item.key],
|
|
344
|
-
open: isDocActive(item),
|
|
345
|
-
onAddEmptyFolder: handleAddEmptyFolder,
|
|
346
|
-
onBack: handleBack,
|
|
347
|
-
onClick: ($event) => handleDocumentClick(item),
|
|
348
|
-
onCreateOperation: handleCreateOperation,
|
|
349
|
-
onDragEnd: handleDragEnd,
|
|
350
|
-
onOpenMenu: unref(openMenu),
|
|
351
|
-
onOpenSettings: handleOpenSettings,
|
|
352
|
-
onSearch: handleFilterOrSearch,
|
|
353
|
-
onSelectItem: handleSelectItem,
|
|
354
|
-
onToggleGroup: handleToggleGroup
|
|
355
|
-
}, null, 8, [
|
|
356
|
-
"active",
|
|
357
|
-
"item",
|
|
358
|
-
"loading",
|
|
359
|
-
"open",
|
|
360
|
-
"onClick",
|
|
361
|
-
"onOpenMenu"
|
|
362
|
-
]);
|
|
363
|
-
}), 128))]),
|
|
364
|
-
_: 2
|
|
365
|
-
}, [unref(pinned).length && unref(rest).length ? {
|
|
366
|
-
name: "default",
|
|
367
|
-
fn: withCtx(() => [_cache[6] || (_cache[6] = createTextVNode(" Pinned ", -1))]),
|
|
368
|
-
key: "0"
|
|
369
|
-
} : void 0]), 1024)) : createCommentVNode("", true), createVNode(unref(ScalarSidebarSection), null, createSlots({
|
|
370
|
-
items: withCtx(() => [isLoadingRegistry.value && !isOnDocumentPage.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, renderList(4, (n) => {
|
|
371
|
-
return createElementVNode("li", {
|
|
372
|
-
key: `registry-skeleton-${n}`,
|
|
373
|
-
"aria-hidden": "true",
|
|
374
|
-
class: "sidebar-skeleton-row px-(--scalar-sidebar-padding) py-1"
|
|
375
|
-
}, [..._cache[8] || (_cache[8] = [createElementVNode("span", { class: "bg-b-3 block h-6 rounded-md" }, null, -1)])]);
|
|
376
|
-
}), 64)) : createCommentVNode("", true), (openBlock(true), createElementBlock(Fragment, null, renderList(unref(filteredRest), (item) => {
|
|
377
|
-
return openBlock(), createBlock(SidebarDocument_default, {
|
|
378
|
-
key: item.key,
|
|
379
|
-
active: isDocActive(item),
|
|
380
|
-
isDroppable,
|
|
381
|
-
isExpanded,
|
|
382
|
-
isSelected,
|
|
383
|
-
item,
|
|
384
|
-
loading: loadingKeys.value[item.key],
|
|
385
|
-
open: isDocActive(item),
|
|
386
|
-
onAddEmptyFolder: handleAddEmptyFolder,
|
|
387
|
-
onBack: handleBack,
|
|
388
|
-
onClick: ($event) => handleDocumentClick(item),
|
|
389
|
-
onCreateOperation: handleCreateOperation,
|
|
390
|
-
onDragEnd: handleDragEnd,
|
|
391
|
-
onOpenMenu: unref(openMenu),
|
|
392
|
-
onOpenSettings: handleOpenSettings,
|
|
393
|
-
onSearch: handleFilterOrSearch,
|
|
394
|
-
onSelectItem: handleSelectItem,
|
|
395
|
-
onToggleGroup: handleToggleGroup
|
|
396
|
-
}, null, 8, [
|
|
397
|
-
"active",
|
|
398
|
-
"item",
|
|
399
|
-
"loading",
|
|
400
|
-
"open",
|
|
401
|
-
"onClick",
|
|
402
|
-
"onOpenMenu"
|
|
403
|
-
]);
|
|
404
|
-
}), 128))]),
|
|
405
|
-
_: 2
|
|
406
|
-
}, [unref(pinned).length && unref(rest).length ? {
|
|
407
|
-
name: "default",
|
|
408
|
-
fn: withCtx(() => [_cache[7] || (_cache[7] = createTextVNode(" All documents ", -1))]),
|
|
409
|
-
key: "0"
|
|
410
|
-
} : void 0]), 1024)]),
|
|
411
|
-
_: 1
|
|
412
|
-
}))]),
|
|
413
|
-
renderSlot(_ctx.$slots, "footer", {}, void 0, true)
|
|
414
|
-
]),
|
|
415
|
-
_: 3
|
|
416
|
-
})]),
|
|
417
|
-
createVNode(unref(DocumentSearchModal_default), {
|
|
418
|
-
document: activeDocument.value,
|
|
419
|
-
modalState: unref(searchModal),
|
|
420
|
-
onSelect: handleSearchSelect
|
|
421
|
-
}, null, 8, ["document", "modalState"]),
|
|
422
|
-
__props.app.store.value && unref(menuTarget)?.showMenu ? (openBlock(), createBlock(SidebarItemMenu_default, {
|
|
423
|
-
key: 0,
|
|
424
|
-
eventBus: __props.app.eventBus,
|
|
425
|
-
item: unref(menuTarget).item,
|
|
426
|
-
sidebarState: unref(sidebarState),
|
|
427
|
-
target: unref(menuTarget).el,
|
|
428
|
-
workspaceStore: __props.app.store.value,
|
|
429
|
-
onCloseMenu: unref(closeMenu),
|
|
430
|
-
onShowDeleteModal: _cache[1] || (_cache[1] = ($event) => unref(deleteModalState).show())
|
|
431
|
-
}, null, 8, [
|
|
432
|
-
"eventBus",
|
|
433
|
-
"item",
|
|
434
|
-
"sidebarState",
|
|
435
|
-
"target",
|
|
436
|
-
"workspaceStore",
|
|
437
|
-
"onCloseMenu"
|
|
438
|
-
])) : createCommentVNode("", true),
|
|
439
|
-
unref(menuTarget) ? (openBlock(), createBlock(unref(ScalarModal), {
|
|
440
|
-
key: 1,
|
|
441
|
-
size: "xxs",
|
|
442
|
-
state: unref(deleteModalState),
|
|
443
|
-
title: `Delete ${unref(menuTarget).item.title}`
|
|
444
|
-
}, {
|
|
445
|
-
default: withCtx(() => [createVNode(DeleteSidebarListElement_default, {
|
|
446
|
-
variableName: unref(menuTarget).item.title,
|
|
447
|
-
warningMessage: unref(deleteMessage),
|
|
448
|
-
onClose: _cache[2] || (_cache[2] = ($event) => unref(deleteModalState).hide()),
|
|
449
|
-
onDelete: unref(handleDelete)
|
|
450
|
-
}, null, 8, [
|
|
451
|
-
"variableName",
|
|
452
|
-
"warningMessage",
|
|
453
|
-
"onDelete"
|
|
454
|
-
])]),
|
|
455
|
-
_: 1
|
|
456
|
-
}, 8, ["state", "title"])) : createCommentVNode("", true)
|
|
457
|
-
]),
|
|
458
|
-
_: 3
|
|
459
|
-
}, 8, ["width", "class"]);
|
|
460
|
-
};
|
|
461
|
-
}
|
|
462
|
-
});
|
|
463
|
-
//#endregion
|
|
464
|
-
export { AppSidebar_vue_vue_type_script_setup_true_lang_default as default };
|
|
465
|
-
|
|
466
|
-
//# sourceMappingURL=AppSidebar.vue.script.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AppSidebar.vue.script.js","names":[],"sources":["../../../../../src/v2/features/app/components/AppSidebar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {\n ScalarIconButton,\n ScalarModal,\n ScalarSidebar,\n ScalarSidebarButton,\n ScalarSidebarItems,\n ScalarSidebarSearchInput,\n ScalarSidebarSection,\n useModal,\n} from '@scalar/components'\nimport {\n ScalarIconFolderDashed,\n ScalarIconFunnel,\n ScalarIconGearSix,\n ScalarIconPlus,\n} from '@scalar/icons'\nimport type { DraggingItem, HoveredItem } from '@scalar/sidebar'\nimport { useToasts } from '@scalar/use-toasts'\nimport { getParentEntry } from '@scalar/workspace-store/navigation'\nimport type { TraversedEntry } from '@scalar/workspace-store/schemas/navigation'\nimport { computed, onBeforeMount, onBeforeUnmount, ref } from 'vue'\n\nimport DeleteSidebarListElement from '@/components/Sidebar/Actions/DeleteSidebarListElement.vue'\nimport { Resize } from '@/v2/components/resize'\nimport type { AppState } from '@/v2/features/app'\nimport SidebarDocument from '@/v2/features/app/components/SidebarDocument.vue'\nimport SidebarItemMenu from '@/v2/features/app/components/SidebarItemMenu.vue'\nimport { createTempOperation } from '@/v2/features/app/helpers/create-temp-operation'\nimport { loadRegistryDocument } from '@/v2/features/app/helpers/load-registry-document'\nimport { useDocumentFilter } from '@/v2/features/app/hooks/use-document-filter'\nimport { useSidebarContextMenu } from '@/v2/features/app/hooks/use-sidebar-context-menu'\nimport {\n useSidebarDocuments,\n type SidebarDocumentItem,\n} from '@/v2/features/app/hooks/use-sidebar-documents'\nimport { DocumentSearchModal } from '@/v2/features/search'\nimport { dragHandleFactory } from '@/v2/helpers/drag-handle-factory'\nimport { safeRun } from '@/v2/helpers/safe-run'\nimport type {\n ImportDocumentFromRegistry,\n RegistryDocumentsState,\n} from '@/v2/types/configuration'\n\nconst {\n app,\n registryDocuments = { status: 'success', documents: [] },\n fetchRegistryDocument,\n} = defineProps<{\n /** The app state from @scalar/api-client. */\n app: AppState\n /**\n * The list of all available registry documents, wrapped in a loading state\n * so the sidebar can render skeleton placeholders while the registry is\n * still being fetched.\n */\n registryDocuments?: RegistryDocumentsState\n /** A function to fetch a registry document */\n fetchRegistryDocument?: ImportDocumentFromRegistry\n}>()\n\nconst { toast } = useToasts()\n\n/**\n * Whether the caller is still fetching the list of registry documents. We\n * only surface the loading state on team workspaces because local workspaces\n * never consult the registry\n */\nconst isLoadingRegistry = computed(\n () =>\n registryDocuments.status === 'loading' &&\n app.workspace.isTeamWorkspace.value,\n)\n\nconst { pinned, rest } = useSidebarDocuments({\n app,\n managedDocs: () => registryDocuments.documents ?? [],\n})\n\n/**\n * Whether the workspace truly has no documents to show. Distinct from the\n * filter producing no results: we only surface the \"No APIs yet\" empty state\n * when the workspace is genuinely empty so users see a clear call-to-action\n * instead of a confusing blank space.\n */\nconst isEmpty = computed(\n () => !isLoadingRegistry.value && rest.value.length === 0,\n)\n\n/**\n * Fuzzy filter over the top-level documents. Owns its own input visibility,\n * query string and Fuse index. See `use-document-filter.ts` for details.\n */\nconst {\n isVisible: isFilterVisible,\n query: filterQuery,\n filteredItems: filteredRest,\n toggle: toggleFilter,\n} = useDocumentFilter(rest)\n\nconst sidebarState = app.sidebar.state\n\n/** Which registry documents are currently being fetched. */\nconst loadingKeys = ref<Record<string, boolean>>({})\n\n/**\n * Check if the given {@link SidebarDocumentItem} is the currently active document (from the sidebar state).\n */\nconst isDocActive = (item: SidebarDocumentItem) => {\n if (!item.navigation) {\n return false\n }\n\n return (\n sidebarState.selectedItem.value === item.navigation.id ||\n Boolean(sidebarState.selectedItems.value[item.navigation.id])\n )\n}\n\nconst handleDocumentClick = async (item: SidebarDocumentItem) => {\n if (item.navigation) {\n app.sidebar.handleSelectItem(item.navigation.id)\n return\n }\n\n // Capture the narrowed values into locals so the closure passed to\n // `safeRun` keeps the non-nullable types without needing assertions, and\n // so a later mutation to `item.registry` or `app.store.value` cannot\n // change what we end up loading mid-flight.\n const { registry } = item\n const workspaceStore = app.store.value\n if (!registry || !workspaceStore) {\n console.warn('Document does not have a sidebar navigation, skipping...')\n return\n }\n\n if (!fetchRegistryDocument) {\n console.warn(\n 'You need to provide a fetchRegistryDocument function to load registry documents',\n )\n return\n }\n\n if (loadingKeys.value[item.key]) {\n return\n }\n\n loadingKeys.value[item.key] = true\n\n // Registry items expose every version they advertise on `versions`, ordered\n // with the latest first. Until we surface a version picker on the parent\n // row we always load whichever version is at the top of the list, which is\n // the latest one. Falling back to `undefined` lets the loader default to\n // the registry's `latest` alias when the entry was synthesized from a\n // workspace document that has no advertised versions yet.\n const targetVersion = item.versions?.[0]\n\n // The loader can throw on network errors or malformed payloads. `safeRun`\n // converts a rejection into an `{ ok: false, error }` result so a single\n // failure cannot leave the row's spinner running forever and block\n // subsequent clicks on the same item.\n const outcome = await safeRun(() =>\n loadRegistryDocument({\n fetcher: fetchRegistryDocument,\n workspaceStore,\n namespace: registry.namespace,\n slug: registry.slug,\n version: targetVersion?.version,\n }),\n )\n\n loadingKeys.value[item.key] = false\n\n if (!outcome.ok) {\n toast(outcome.error, 'error')\n return\n }\n\n const result = outcome.data\n if (!result.ok) {\n toast(result.error, 'error')\n return\n }\n\n // After loading, route to the document overview. `syncSidebar` will then\n // mark the document as selected and the template's `:open=\"isDocActive\"`\n // binding drills the sidebar in automatically — no local state needed.\n app.eventBus.emit('ui:navigate', {\n page: 'document',\n path: 'overview',\n documentSlug: result.documentName,\n })\n}\n\nconst isSelected = (id: string) => sidebarState.isSelected(id)\nconst isExpanded = (id: string) => sidebarState.isExpanded(id)\n\nconst handleSelectItem = (id: string) => {\n app.sidebar.handleSelectItem(id)\n}\n\nconst handleToggleGroup = (id: string) => {\n sidebarState.setExpanded(id, !sidebarState.isExpanded(id))\n}\n\n/**\n * Drag-and-drop handlers for sidebar items. The factory reads from the live\n * workspace store and shared sidebar state, so it reflects the latest\n * navigation tree on every drag. Mirrors the behaviour of the old\n * `AppSidebar.vue` (documents, tags, and operations can be reordered, and\n * operations can be moved between tags/documents).\n */\nconst dragHandlers = computed(() =>\n dragHandleFactory({\n store: app.store,\n sidebarState,\n }),\n)\n\nconst handleDragEnd = (\n draggingItem: DraggingItem,\n hoveredItem: HoveredItem,\n): boolean => dragHandlers.value.handleDragEnd(draggingItem, hoveredItem)\n\nconst isDroppable = (\n draggingItem: DraggingItem,\n hoveredItem: HoveredItem,\n): boolean => dragHandlers.value.isDroppable(draggingItem, hoveredItem)\n\n/**\n * Contextual \"more\" dropdown for tags, operations and examples, together\n * with the shared delete-confirmation modal it triggers.\n */\nconst {\n menuTarget,\n deleteModalState,\n deleteMessage,\n openMenu,\n closeMenu,\n handleDelete,\n} = useSidebarContextMenu({\n eventBus: app.eventBus,\n sidebarState,\n})\n\n/**\n * Create a new operation from an empty folder slot inside a tag or document.\n * If the entry is a tag, the new operation inherits that tag so it stays\n * grouped under the same folder.\n */\nconst handleAddEmptyFolder = (item: TraversedEntry) => {\n const itemWithParent = sidebarState.getEntryById(item.id)\n const documentName = getParentEntry('document', itemWithParent)?.name\n const tagName = getParentEntry('tag', itemWithParent)?.name\n const store = app.store.value\n\n if (!documentName || !store) {\n console.error('Document name not found')\n return\n }\n\n createTempOperation(documentName, {\n existingPaths: new Set(\n Object.keys(store.workspace.documents[documentName]?.paths ?? {}),\n ),\n eventBus: app.eventBus,\n tags: tagName ? [tagName] : undefined,\n })\n}\n\nconst handleCreate = () => {\n app.eventBus.emit('ui:open:command-palette', {\n action: 'create-openapi-document',\n payload: undefined,\n })\n}\n\n/**\n * Create a new operation inside the given document and immediately navigate to\n * it. Uses `createTempOperation` so the operation gets a unique `/temp…` path,\n * then the sidebar focuses the new example and the address bar is focused so\n * the user can start typing the real path right away.\n */\nconst handleCreateOperation = (item: SidebarDocumentItem) => {\n const documentName = item.documentName\n const store = app.store.value\n\n if (!documentName || !store) {\n console.warn('Cannot create an operation: no document loaded')\n return\n }\n\n createTempOperation(documentName, {\n existingPaths: new Set(\n Object.keys(store.workspace.documents[documentName]?.paths ?? {}),\n ),\n eventBus: app.eventBus,\n })\n}\n\n/**\n * Navigates back to the workspace \"Get started\" page.\n */\nconst handleBack = () => {\n app.eventBus.emit('ui:navigate', {\n page: 'workspace',\n path: 'get-started',\n })\n}\n\n/**\n * True when the user is currently viewing a document (any of its subpages).\n * When inside a document, the sidebar actions are scoped to that document:\n * the gear icon opens the document (collection) settings and the filter icon\n * becomes a search icon that focuses the search input.\n */\nconst isOnDocumentPage = computed(() =>\n Boolean(app.activeEntities.documentSlug.value),\n)\n\nconst handleOpenSettings = () => {\n if (isOnDocumentPage.value) {\n app.eventBus.emit('ui:navigate', {\n page: 'document',\n path: 'settings',\n documentSlug: app.activeEntities.documentSlug.value,\n })\n return\n }\n\n app.eventBus.emit('ui:navigate', {\n page: 'workspace',\n path: 'settings',\n })\n}\n\n/**\n * Controls the per-document search modal. Only used when the user is drilled\n * into a single document and clicks the magnifying-glass icon.\n */\nconst searchModal = useModal()\n\n/**\n * The OpenAPI document currently selected in the workspace. The search modal\n * scopes its Fuse index to this document so results never leak across\n * collections.\n */\nconst activeDocument = computed(() => app.store.value?.workspace.activeDocument)\n\nconst handleFilterOrSearch = () => {\n // Inside a document, this icon opens a modal search that is scoped to that\n // single document (similar to the reference search modal), so users can jump\n // to any operation / tag / heading without noise from other documents.\n if (isOnDocumentPage.value) {\n searchModal.show()\n return\n }\n\n // At the top-level documents view, the icon toggles a lightweight filter\n // that narrows the visible documents by title.\n toggleFilter()\n}\n\n/**\n * Handle the `ui:focus:search` event. Dispatch is driven by the shared\n * `handleHotkeys` helper (Cmd/Ctrl+J) or by programmatic callers such as the\n * workspace \"Get started\" page. When a `KeyboardEvent` is included we\n * preventDefault to override the browser's Cmd+J (downloads panel), then\n * delegate to `handleFilterOrSearch`, which already branches on whether the\n * user is viewing a document or the workspace root.\n */\nconst handleSearchHotkey = (payload: { event: KeyboardEvent } | undefined) => {\n payload?.event.preventDefault()\n handleFilterOrSearch()\n}\n\n/**\n * Handle the `ui:open:settings` event (Cmd/Ctrl+I). Same delegation model as\n * `handleSearchHotkey`: preventDefault on the originating keyboard event (if\n * any) and hand off to `handleOpenSettings`, which routes to the document-\n * level settings page when a document is active and the workspace-level\n * settings page otherwise.\n */\nconst handleSettingsHotkey = (\n payload: { event: KeyboardEvent } | undefined,\n) => {\n payload?.event.preventDefault()\n handleOpenSettings()\n}\n\nonBeforeMount(() => {\n app.eventBus.on('ui:focus:search', handleSearchHotkey)\n app.eventBus.on('ui:open:settings', handleSettingsHotkey)\n})\nonBeforeUnmount(() => {\n app.eventBus.off('ui:focus:search', handleSearchHotkey)\n app.eventBus.off('ui:open:settings', handleSettingsHotkey)\n})\n\n/**\n * Navigate to the selected search result. `scroll-to:nav-item` is already\n * wired up through the app event bus to update the sidebar + route, matching\n * the behaviour used elsewhere in the app.\n */\nconst handleSearchSelect = (id: string) => {\n app.eventBus.emit('scroll-to:nav-item', { id })\n}\n\n/** Controls the width of the sidebar */\nconst sidebarWidth = defineModel<number>('sidebarWidth', {\n required: true,\n default: 288,\n})\n</script>\n\n<template>\n <Resize\n v-model:width=\"sidebarWidth\"\n class=\"flex flex-col max-md:inset-y-0 max-md:z-2 max-md:w-full!\"\n :class=\"{\n 'max-md:absolute! max-md:flex!': app.sidebar.isOpen.value,\n 'max-md:hidden!': !app.sidebar.isOpen.value,\n }\">\n <template #default>\n <div class=\"flex flex-1\">\n <ScalarSidebar\n class=\"flex min-h-0 flex-1 flex-col max-md:pt-[calc(var(--app-desktop-tabs-height)+var(--spacing-header,48px)+2.5rem)]\">\n <!-- Top-level sidebar header -->\n <div\n v-if=\"!isOnDocumentPage\"\n class=\"flex flex-col gap-1.5 p-(--scalar-sidebar-padding)\">\n <div class=\"flex items-center gap-1\">\n <ScalarSidebarButton\n is=\"div\"\n class=\"text-sidebar-c-1 font-sidebar-active flex-1\"\n disabled>\n All Documents\n </ScalarSidebarButton>\n <ScalarIconButton\n :icon=\"ScalarIconGearSix\"\n label=\"Workspace settings\"\n size=\"sm\"\n @click=\"handleOpenSettings\" />\n <ScalarIconButton\n :icon=\"ScalarIconFunnel\"\n label=\"Filter documents\"\n size=\"sm\"\n @click=\"handleFilterOrSearch\" />\n <ScalarIconButton\n class=\"rounded-full border\"\n :icon=\"ScalarIconPlus\"\n label=\"Add document\"\n size=\"sm\"\n @click=\"handleCreate\" />\n </div>\n <ScalarSidebarSearchInput\n v-if=\"isFilterVisible\"\n v-model=\"filterQuery\"\n autofocus />\n </div>\n\n <!-- Document list (top-level) -->\n <div class=\"custom-scroll flex flex-1 flex-col\">\n <!--\n Empty state: no documents in the workspace yet. Matches the\n minimal `empty folder` appearance.\n -->\n <div\n v-if=\"isEmpty && !isOnDocumentPage\"\n class=\"text-c-3 flex flex-1 flex-col items-center justify-center gap-2 p-6 text-center select-none\">\n <ScalarIconFolderDashed\n class=\"size-10\"\n weight=\"light\" />\n <p class=\"text-sm font-medium\">Nothing added yet</p>\n </div>\n <ScalarSidebarItems v-else>\n <!-- Show pinned documents after we add support for it -->\n <ScalarSidebarSection v-if=\"pinned.length\">\n <template\n v-if=\"pinned.length && rest.length\"\n #default>\n Pinned\n </template>\n <template #items>\n <SidebarDocument\n v-for=\"item in pinned\"\n :key=\"item.key\"\n :active=\"isDocActive(item)\"\n :isDroppable=\"isDroppable\"\n :isExpanded=\"isExpanded\"\n :isSelected=\"isSelected\"\n :item=\"item\"\n :loading=\"loadingKeys[item.key]\"\n :open=\"isDocActive(item)\"\n @addEmptyFolder=\"handleAddEmptyFolder\"\n @back=\"handleBack\"\n @click=\"handleDocumentClick(item)\"\n @createOperation=\"handleCreateOperation\"\n @dragEnd=\"handleDragEnd\"\n @openMenu=\"openMenu\"\n @openSettings=\"handleOpenSettings\"\n @search=\"handleFilterOrSearch\"\n @selectItem=\"handleSelectItem\"\n @toggleGroup=\"handleToggleGroup\" />\n </template>\n </ScalarSidebarSection>\n\n <ScalarSidebarSection>\n <template\n v-if=\"pinned.length && rest.length\"\n #default>\n All documents\n </template>\n <template #items>\n <!--\n Skeleton rows shown while the caller is still fetching\n the registry document list. We only render skeletons in\n the top-level view (when no document is drilled-in) so\n the collection view is never masked by placeholders.\n -->\n <template v-if=\"isLoadingRegistry && !isOnDocumentPage\">\n <li\n v-for=\"n in 4\"\n :key=\"`registry-skeleton-${n}`\"\n aria-hidden=\"true\"\n class=\"sidebar-skeleton-row px-(--scalar-sidebar-padding) py-1\">\n <span class=\"bg-b-3 block h-6 rounded-md\" />\n </li>\n </template>\n <SidebarDocument\n v-for=\"item in filteredRest\"\n :key=\"item.key\"\n :active=\"isDocActive(item)\"\n :isDroppable=\"isDroppable\"\n :isExpanded=\"isExpanded\"\n :isSelected=\"isSelected\"\n :item=\"item\"\n :loading=\"loadingKeys[item.key]\"\n :open=\"isDocActive(item)\"\n @addEmptyFolder=\"handleAddEmptyFolder\"\n @back=\"handleBack\"\n @click=\"handleDocumentClick(item)\"\n @createOperation=\"handleCreateOperation\"\n @dragEnd=\"handleDragEnd\"\n @openMenu=\"openMenu\"\n @openSettings=\"handleOpenSettings\"\n @search=\"handleFilterOrSearch\"\n @selectItem=\"handleSelectItem\"\n @toggleGroup=\"handleToggleGroup\" />\n </template>\n </ScalarSidebarSection>\n </ScalarSidebarItems>\n </div>\n\n <slot name=\"footer\" />\n </ScalarSidebar>\n </div>\n <DocumentSearchModal\n :document=\"activeDocument\"\n :modalState=\"searchModal\"\n @select=\"handleSearchSelect\" />\n <!--\n Contextual dropdown menu for tags, operations and examples. Rendered\n once for the whole sidebar and re-anchored to the triggering icon via\n `menuTarget.el`, so we do not create a dropdown per item.\n -->\n <SidebarItemMenu\n v-if=\"app.store.value && menuTarget?.showMenu\"\n :eventBus=\"app.eventBus\"\n :item=\"menuTarget.item\"\n :sidebarState=\"sidebarState\"\n :target=\"menuTarget.el\"\n :workspaceStore=\"app.store.value\"\n @closeMenu=\"closeMenu\"\n @showDeleteModal=\"deleteModalState.show()\" />\n <!-- Delete confirmation modal, triggered from the dropdown menu above. -->\n <ScalarModal\n v-if=\"menuTarget\"\n size=\"xxs\"\n :state=\"deleteModalState\"\n :title=\"`Delete ${menuTarget.item.title}`\">\n <DeleteSidebarListElement\n :variableName=\"menuTarget.item.title\"\n :warningMessage=\"deleteMessage\"\n @close=\"deleteModalState.hide()\"\n @delete=\"handleDelete\" />\n </ScalarModal>\n </template>\n </Resize>\n</template>\n\n<style scoped>\n/*\n * Gentle pulse for the registry loading skeletons. Matches the existing\n * `LoadingSkeleton.vue` easing/duration used in `@scalar/api-reference` so\n * any skeleton in the app feels consistent.\n */\n.sidebar-skeleton-row > span {\n animation: sidebar-skeleton-pulse 1.5s infinite alternate;\n}\n\n@keyframes sidebar-skeleton-pulse {\n from {\n opacity: 1;\n }\n to {\n opacity: 0.33;\n }\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { type ModalState } from '@scalar/components';
|
|
2
|
-
type __VLS_Props = {
|
|
3
|
-
/** Modal lifecycle state from `useModal()`. */
|
|
4
|
-
state: ModalState;
|
|
5
|
-
/**
|
|
6
|
-
* Versions already loaded into the workspace store for the active document
|
|
7
|
-
* group. Submitting a duplicate would silently collide with an existing
|
|
8
|
-
* workspace document, so we reject it up front. Versions that exist only on
|
|
9
|
-
* the registry (not loaded locally) are intentionally allowed - that is the
|
|
10
|
-
* conflict-resolution path the create-draft flow opts into.
|
|
11
|
-
*/
|
|
12
|
-
existingVersions: string[];
|
|
13
|
-
/**
|
|
14
|
-
* Version the new draft will be branched from. Surfaced to the user so it
|
|
15
|
-
* is obvious which document the draft inherits its body from before they
|
|
16
|
-
* commit to a new version string. Optional because the modal can be
|
|
17
|
-
* reused in flows that do not branch from an existing version.
|
|
18
|
-
*/
|
|
19
|
-
sourceVersion?: string;
|
|
20
|
-
};
|
|
21
|
-
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
22
|
-
create: (version: string) => any;
|
|
23
|
-
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
24
|
-
onCreate?: ((version: string) => any) | undefined;
|
|
25
|
-
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
26
|
-
declare const _default: typeof __VLS_export;
|
|
27
|
-
export default _default;
|
|
28
|
-
//# sourceMappingURL=CreateVersionModal.vue.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CreateVersionModal.vue.d.ts","sourceRoot":"","sources":["../../../../../src/v2/features/app/components/CreateVersionModal.vue"],"names":[],"mappings":"AAqHA,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAQjE,KAAK,WAAW,GAAG;IACjB,+CAA+C;IAC/C,KAAK,EAAE,UAAU,CAAA;IACjB;;;;;;OAMG;IACH,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,CAAC;AA2KF,QAAA,MAAM,YAAY;;;;kFAGhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import CreateVersionModal_vue_vue_type_script_setup_true_lang_default from "./CreateVersionModal.vue.script.js";
|
|
2
|
-
//#region src/v2/features/app/components/CreateVersionModal.vue
|
|
3
|
-
var CreateVersionModal_default = CreateVersionModal_vue_vue_type_script_setup_true_lang_default;
|
|
4
|
-
//#endregion
|
|
5
|
-
export { CreateVersionModal_default as default };
|
|
6
|
-
|
|
7
|
-
//# sourceMappingURL=CreateVersionModal.vue.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CreateVersionModal.vue.js","names":[],"sources":["../../../../../src/v2/features/app/components/CreateVersionModal.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarModal, type ModalState } from '@scalar/components'\nimport { computed, ref, watch, type ComputedRef, type Ref } from 'vue'\n\nimport {\n CommandActionForm,\n CommandActionInput,\n} from '@/v2/features/command-palette'\n\nconst { state, existingVersions, sourceVersion } = defineProps<{\n /** Modal lifecycle state from `useModal()`. */\n state: ModalState\n /**\n * Versions already loaded into the workspace store for the active document\n * group. Submitting a duplicate would silently collide with an existing\n * workspace document, so we reject it up front. Versions that exist only on\n * the registry (not loaded locally) are intentionally allowed - that is the\n * conflict-resolution path the create-draft flow opts into.\n */\n existingVersions: string[]\n /**\n * Version the new draft will be branched from. Surfaced to the user so it\n * is obvious which document the draft inherits its body from before they\n * commit to a new version string. Optional because the modal can be\n * reused in flows that do not branch from an existing version.\n */\n sourceVersion?: string\n}>()\n\nconst emit = defineEmits<{\n /** Fired after the user submits a non-empty, non-duplicate version string. */\n (event: 'create', version: string): void\n}>()\n\n/** Raw input value for the version field. */\nconst version: Ref<string> = ref('')\n\n/** Trimmed input. The form treats whitespace-only input as empty. */\nconst trimmed: ComputedRef<string> = computed(() => version.value.trim())\n\n/**\n * Validation message surfaced under the input.\n *\n * Resolves to `null` when the form is valid; otherwise to a human-readable\n * reason that doubles as the disabled-state explanation.\n */\nconst errorMessage: ComputedRef<string | null> = computed(() => {\n if (trimmed.value.length === 0) {\n // Empty input is the default state, so we keep the field free of error\n // styling and only block submission via `isDisabled` below.\n return null\n }\n if (existingVersions.includes(trimmed.value)) {\n return `Version \"${trimmed.value}\" is already loaded in the workspace.`\n }\n return null\n})\n\n/** Submit is blocked while the input is empty or the version already exists locally. */\nconst isDisabled: ComputedRef<boolean> = computed(\n () => trimmed.value.length === 0 || errorMessage.value !== null,\n)\n\n/** Reset the field whenever the modal opens so stale input never leaks across sessions. */\nwatch(\n () => state.open,\n (isOpen) => {\n if (isOpen) {\n version.value = ''\n }\n },\n)\n\nconst handleSubmit = (): void => {\n if (isDisabled.value) {\n return\n }\n emit('create', trimmed.value)\n state.hide()\n}\n</script>\n\n<template>\n <ScalarModal\n bodyClass=\"border-t-0 rounded-t-lg\"\n size=\"xs\"\n :state=\"state\"\n title=\"Create new version\">\n <CommandActionForm\n :disabled=\"isDisabled\"\n @submit=\"handleSubmit\">\n <CommandActionInput\n v-model=\"version\"\n class=\"-mt-[.5px] !p-0\"\n placeholder=\"Version (e.g. 2.1.0)\" />\n\n <p\n v-if=\"sourceVersion\"\n class=\"text-c-2 text-xs\">\n Branching from version\n <span class=\"text-c-1 font-medium\">{{ sourceVersion }}</span>\n </p>\n\n <p\n v-if=\"errorMessage\"\n class=\"text-red text-xs\"\n role=\"alert\">\n {{ errorMessage }}\n </p>\n\n <template #submit>Create version</template>\n </CommandActionForm>\n </ScalarModal>\n</template>\n"],"mappings":""}
|