@scalar/api-client 2.38.0 → 2.38.2
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 +33 -0
- package/dist/AddressBar-B4xnl66I.js +302 -0
- package/dist/AddressBar-B4xnl66I.js.map +1 -0
- package/dist/App-BVH4lIe8.js +533 -0
- package/dist/App-BVH4lIe8.js.map +1 -0
- package/dist/App-CvClwSlM.js +2510 -0
- package/dist/App-CvClwSlM.js.map +1 -0
- package/dist/CodeInput-C-igR77V.js +694 -0
- package/dist/CodeInput-C-igR77V.js.map +1 -0
- package/dist/CodeSnippet-D7Heh1nd.js +218 -0
- package/dist/CodeSnippet-D7Heh1nd.js.map +1 -0
- package/dist/Collection-4MT9WmDD.js +219 -0
- package/dist/Collection-4MT9WmDD.js.map +1 -0
- package/dist/CollectionAuthentication-MHWQpw74.js +56 -0
- package/dist/CollectionAuthentication-MHWQpw74.js.map +1 -0
- package/dist/CollectionCookies-DyjPPMdt.js +19 -0
- package/dist/CollectionCookies-DyjPPMdt.js.map +1 -0
- package/dist/CollectionEnvironment-Dw35vIqo.js +514 -0
- package/dist/CollectionEnvironment-Dw35vIqo.js.map +1 -0
- package/dist/CollectionOverview-TUdDIu5f.js +131 -0
- package/dist/CollectionOverview-TUdDIu5f.js.map +1 -0
- package/dist/CollectionScripts-CMNlBlby.js +19 -0
- package/dist/CollectionScripts-CMNlBlby.js.map +1 -0
- package/dist/CollectionServers-BrjTCfDe.js +168 -0
- package/dist/CollectionServers-BrjTCfDe.js.map +1 -0
- package/dist/CollectionSettings-HVSlp2Gv.js +87 -0
- package/dist/CollectionSettings-HVSlp2Gv.js.map +1 -0
- package/dist/CollectionSync-CAflc5yW.js +19 -0
- package/dist/CollectionSync-CAflc5yW.js.map +1 -0
- package/dist/CommandActionInput-TkcAx6E8.js +97 -0
- package/dist/CommandActionInput-TkcAx6E8.js.map +1 -0
- package/dist/CommandPalette-CL8k4CoN.js +964 -0
- package/dist/CommandPalette-CL8k4CoN.js.map +1 -0
- package/dist/CommandPaletteImport-Diu5dDIY.js +622 -0
- package/dist/CommandPaletteImport-Diu5dDIY.js.map +1 -0
- package/dist/Cookies-DbOKTi1f.js +284 -0
- package/dist/Cookies-DbOKTi1f.js.map +1 -0
- package/dist/DataTable-BqbZKW3K.js +62 -0
- package/dist/DataTable-BqbZKW3K.js.map +1 -0
- package/dist/DataTableHeader-DJVB0jCZ.js +21 -0
- package/dist/DataTableHeader-DJVB0jCZ.js.map +1 -0
- package/dist/DataTableInput-yaU5g-kP.js +166 -0
- package/dist/DataTableInput-yaU5g-kP.js.map +1 -0
- package/dist/DataTableRow-c3XveEUO.js +57 -0
- package/dist/DataTableRow-c3XveEUO.js.map +1 -0
- package/dist/DeleteSidebarListElement-C-p87d03.js +78 -0
- package/dist/DeleteSidebarListElement-C-p87d03.js.map +1 -0
- package/dist/EditSidebarListElement-CodWPnM6.js +32 -0
- package/dist/EditSidebarListElement-CodWPnM6.js.map +1 -0
- package/dist/Editor-BomsGWHx.js +909 -0
- package/dist/Editor-BomsGWHx.js.map +1 -0
- package/dist/EmptyState-Cnm7hGW5.js +46 -0
- package/dist/EmptyState-Cnm7hGW5.js.map +1 -0
- package/dist/Environment-DJatRQIg.js +416 -0
- package/dist/Environment-DJatRQIg.js.map +1 -0
- package/dist/EnvironmentModal-DBEJ4Kzj.js +288 -0
- package/dist/EnvironmentModal-DBEJ4Kzj.js.map +1 -0
- package/dist/Form-CSKzyHGO.js +83 -0
- package/dist/Form-CSKzyHGO.js.map +1 -0
- package/dist/HttpMethod-rnWEgC3T.js +78 -0
- package/dist/HttpMethod-rnWEgC3T.js.map +1 -0
- package/dist/IconSelector-BDC_GQXv.js +67 -0
- package/dist/IconSelector-BDC_GQXv.js.map +1 -0
- package/dist/ImportCollection-DfX1UQ5u.js +804 -0
- package/dist/ImportCollection-DfX1UQ5u.js.map +1 -0
- package/dist/IntegrationLogo-B9EDW8db.js +51 -0
- package/dist/IntegrationLogo-B9EDW8db.js.map +1 -0
- package/dist/MainLayout-BEFMl1ud.js +281 -0
- package/dist/MainLayout-BEFMl1ud.js.map +1 -0
- package/dist/Modal-sQ9vH6MN.js +67 -0
- package/dist/Modal-sQ9vH6MN.js.map +1 -0
- package/dist/ModalClientContainer-qHsZi4wQ.js +65 -0
- package/dist/ModalClientContainer-qHsZi4wQ.js.map +1 -0
- package/dist/Request-gscRsGQ8.js +212 -0
- package/dist/Request-gscRsGQ8.js.map +1 -0
- package/dist/RequestAuth-BzBfIysT.js +989 -0
- package/dist/RequestAuth-BzBfIysT.js.map +1 -0
- package/dist/RequestRoot-3Bj8JZD-.js +1611 -0
- package/dist/RequestRoot-3Bj8JZD-.js.map +1 -0
- package/dist/RequestSection-HhdJj9hW.js +1582 -0
- package/dist/RequestSection-HhdJj9hW.js.map +1 -0
- package/dist/ResponseSection-DMJ0tw8E.js +949 -0
- package/dist/ResponseSection-DMJ0tw8E.js.map +1 -0
- package/dist/ScalarAsciiArt-BjuSnj8e.js +45 -0
- package/dist/ScalarAsciiArt-BjuSnj8e.js.map +1 -0
- package/dist/SectionFilter-hrtoRLwj.js +99 -0
- package/dist/SectionFilter-hrtoRLwj.js.map +1 -0
- package/dist/Server-DnA_BzPS.js +303 -0
- package/dist/Server-DnA_BzPS.js.map +1 -0
- package/dist/ServerVariablesForm-BRZ9XC8o.js +145 -0
- package/dist/ServerVariablesForm-BRZ9XC8o.js.map +1 -0
- package/dist/Settings-CYZzdJPO.js +347 -0
- package/dist/Settings-CYZzdJPO.js.map +1 -0
- package/dist/Sidebar-C6AdX6-N.js +73 -0
- package/dist/Sidebar-C6AdX6-N.js.map +1 -0
- package/dist/SidebarButton-BAagdMDe.js +37 -0
- package/dist/SidebarButton-BAagdMDe.js.map +1 -0
- package/dist/SidebarListElement-BfTPiihc.js +232 -0
- package/dist/SidebarListElement-BfTPiihc.js.map +1 -0
- package/dist/TheCommandPalette-Dl9TAeke.js +204 -0
- package/dist/TheCommandPalette-Dl9TAeke.js.map +1 -0
- package/dist/ValueEmitter-QYkZ9Hdc.js +20 -0
- package/dist/ValueEmitter-QYkZ9Hdc.js.map +1 -0
- package/dist/ViewLayout-BOXN0IYo.js +17 -0
- package/dist/ViewLayout-BOXN0IYo.js.map +1 -0
- package/dist/ViewLayoutCollapse-CiTb-Uml.js +86 -0
- package/dist/ViewLayoutCollapse-CiTb-Uml.js.map +1 -0
- package/dist/ViewLayoutContent-CvMoJYPF.js +13 -0
- package/dist/ViewLayoutContent-CvMoJYPF.js.map +1 -0
- package/dist/ViewLayoutSection-mUqKbQry.js +23 -0
- package/dist/ViewLayoutSection-mUqKbQry.js.map +1 -0
- package/dist/WatchModeToggle-D_eAiTWJ.js +41 -0
- package/dist/WatchModeToggle-D_eAiTWJ.js.map +1 -0
- package/dist/_plugin-vue_export-helper-BmmBcIzD.js +8 -0
- package/dist/analytics-BZimCWcw.js +7 -0
- package/dist/analytics-BZimCWcw.js.map +1 -0
- package/dist/build-request-security-BQjNr2MD.js +41 -0
- package/dist/build-request-security-BQjNr2MD.js.map +1 -0
- package/dist/code-input-iq-moLxi.js +775 -0
- package/dist/code-input-iq-moLxi.js.map +1 -0
- package/dist/components/AddressBar/AddressBar.vue.d.ts +1 -1
- package/dist/components/AddressBar/index.d.ts +1 -1
- package/dist/components/AddressBar/index.js +5 -4
- package/dist/components/CodeInput/CodeInput.vue.d.ts +1 -1
- package/dist/components/CodeInput/codeVariableWidget.d.ts +1 -1
- package/dist/components/CodeInput/index.d.ts +1 -1
- package/dist/components/CodeInput/index.js +2 -4
- package/dist/components/CommandPalette/index.d.ts +1 -1
- package/dist/components/CommandPalette/index.js +3 -4
- package/dist/components/DataTable/DataTableInput.vue.d.ts +2 -2
- package/dist/components/DataTable/index.d.ts +8 -8
- package/dist/components/DataTable/index.js +6 -18
- package/dist/components/Form/LabelInput.vue.d.ts +1 -1
- package/dist/components/HttpMethod/index.d.ts +1 -1
- package/dist/components/HttpMethod/index.js +2 -4
- package/dist/components/ImportCollection/index.d.ts +1 -1
- package/dist/components/ImportCollection/index.js +2 -4
- package/dist/components/ImportCollection/utils/import-collection.d.ts +1 -1
- package/dist/components/ImportCollection/utils/workspace-store-is-empty.d.ts +1 -1
- package/dist/components/Server/ServerVariablesForm.vue.d.ts +1 -1
- package/dist/components/Server/index.d.ts +3 -3
- package/dist/components/Server/index.js +3 -8
- package/dist/components/Sidebar/index.d.ts +1 -1
- package/dist/components/Sidebar/index.js +2 -4
- package/dist/components/ViewLayout/index.d.ts +1 -1
- package/dist/components/ViewLayout/index.js +2 -4
- package/dist/components/index.d.ts +3 -3
- package/dist/components/index.js +7 -8
- package/dist/components-CSxJTn6F.js +183 -0
- package/dist/components-CSxJTn6F.js.map +1 -0
- package/dist/components-ChixwQhN.js +61 -0
- package/dist/components-ChixwQhN.js.map +1 -0
- package/dist/computer-D7VW3Ruy.js +562 -0
- package/dist/computer-D7VW3Ruy.js.map +1 -0
- package/dist/consts-CyGRb9dl.js +318 -0
- package/dist/consts-CyGRb9dl.js.map +1 -0
- package/dist/curl-nbw1OxbV.js +54 -0
- package/dist/curl-nbw1OxbV.js.map +1 -0
- package/dist/data-table-PL7e8NRO.js +282 -0
- package/dist/data-table-PL7e8NRO.js.map +1 -0
- package/dist/editor-BZ_J0eze.js +466 -0
- package/dist/editor-BZ_J0eze.js.map +1 -0
- package/dist/environments-ByLK9lnC.js +592 -0
- package/dist/environments-ByLK9lnC.js.map +1 -0
- package/dist/formatters-DOGXZq9R.js +36 -0
- package/dist/formatters-DOGXZq9R.js.map +1 -0
- package/dist/forms-CZX6cFDS.js +42 -0
- package/dist/forms-CZX6cFDS.js.map +1 -0
- package/dist/get-active-environment-CkxyQ1dM.js +19 -0
- package/dist/get-active-environment-CkxyQ1dM.js.map +1 -0
- package/dist/get-resolved-url-BUCwrBzc.js +30 -0
- package/dist/get-resolved-url-BUCwrBzc.js.map +1 -0
- package/dist/get-server-url-o3On8CEr.js +32 -0
- package/dist/get-server-url-o3On8CEr.js.map +1 -0
- package/dist/get-servers-B_WNlQWB.js +106 -0
- package/dist/get-servers-B_WNlQWB.js.map +1 -0
- package/dist/get-snippet-DBRUSfZ2.js +39 -0
- package/dist/get-snippet-DBRUSfZ2.js.map +1 -0
- package/dist/global-cookies-D3ZS9ON3.js +184 -0
- package/dist/global-cookies-D3ZS9ON3.js.map +1 -0
- package/dist/hooks/index.d.ts +4 -4
- package/dist/hooks/index.js +3 -11
- package/dist/hooks/useSidebar.d.ts +1 -1
- package/dist/hooks-BvZxH4XB.js +80 -0
- package/dist/hooks-BvZxH4XB.js.map +1 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.js +8 -12
- package/dist/layout-BWiL7dfb.js +81 -0
- package/dist/layout-BWiL7dfb.js.map +1 -0
- package/dist/layouts/App/create-api-client-app.d.ts +9 -9
- package/dist/layouts/App/index.d.ts +2 -2
- package/dist/layouts/App/index.js +5 -7
- package/dist/layouts/Modal/create-api-client-modal.d.ts +1 -1
- package/dist/layouts/Modal/index.d.ts +2 -2
- package/dist/layouts/Modal/index.js +3 -4
- package/dist/layouts/Web/create-api-client-web.d.ts +9 -9
- package/dist/layouts/Web/index.d.ts +2 -2
- package/dist/layouts/Web/index.js +101 -6
- package/dist/layouts/Web/index.js.map +1 -0
- package/dist/libs/create-client.d.ts +9 -9
- package/dist/libs/create-client.d.ts.map +1 -1
- package/dist/libs/environment-parser.d.ts +1 -1
- package/dist/libs/get-request-uid-by-path-method.d.ts +1 -1
- package/dist/libs/hot-keys.d.ts +1 -1
- package/dist/libs/importers/index.d.ts +1 -1
- package/dist/libs/importers/index.js +2 -4
- package/dist/libs/index.d.ts +15 -15
- package/dist/libs/index.js +6 -45
- package/dist/libs/local-storage.d.ts +1 -1
- package/dist/libs/send-request/create-request-operation.d.ts +3 -3
- package/dist/libs/send-request/index.d.ts +3 -3
- package/dist/libs/send-request/index.js +3 -8
- package/dist/libs-spbv4P0g.js +249 -0
- package/dist/libs-spbv4P0g.js.map +1 -0
- package/dist/monacoeditorwork/json.worker.bundle.js +8 -8
- package/dist/monacoeditorwork/yaml.worker.bundle.js +151 -151
- package/dist/operation-block-BnMIKAOh.js +1624 -0
- package/dist/operation-block-BnMIKAOh.js.map +1 -0
- package/dist/operation-code-sample-ZUTueV3v.js +1726 -0
- package/dist/operation-code-sample-ZUTueV3v.js.map +1 -0
- package/dist/parse-curl-BtypQT3D.js +106 -0
- package/dist/parse-curl-BtypQT3D.js.map +1 -0
- package/dist/plugins/hooks/usePluginManager.d.ts +1 -1
- package/dist/plugins/index.d.ts +2 -2
- package/dist/plugins/index.js +2 -7
- package/dist/plugins/plugin-manager.d.ts +10 -4
- package/dist/plugins/plugin-manager.d.ts.map +1 -1
- package/dist/plugins-B52hCIyZ.js +50 -0
- package/dist/plugins-B52hCIyZ.js.map +1 -0
- package/dist/rabbitjump-CMZXAR6d.js +9 -0
- package/dist/rabbitjump-CMZXAR6d.js.map +1 -0
- package/dist/request-block-DwsGy64Q.js +1466 -0
- package/dist/request-block-DwsGy64Q.js.map +1 -0
- package/dist/resize-D2IYvVdh.js +114 -0
- package/dist/resize-D2IYvVdh.js.map +1 -0
- package/dist/response-block-DmkaDZYs.js +1188 -0
- package/dist/response-block-DmkaDZYs.js.map +1 -0
- package/dist/scalar-address-bar-block--Vs6IBU1.js +425 -0
- package/dist/scalar-address-bar-block--Vs6IBU1.js.map +1 -0
- package/dist/scalar-auth-selector-block-DI3DLag9.js +1886 -0
- package/dist/scalar-auth-selector-block-DI3DLag9.js.map +1 -0
- package/dist/search-CmsQQkjn.js +151 -0
- package/dist/search-CmsQQkjn.js.map +1 -0
- package/dist/send-request-BsTfRiBC.js +348 -0
- package/dist/send-request-BsTfRiBC.js.map +1 -0
- package/dist/server-tcI-OCyx.js +140 -0
- package/dist/server-tcI-OCyx.js.map +1 -0
- package/dist/set-request-cookies-BJJhsU4A.js +88 -0
- package/dist/set-request-cookies-BJJhsU4A.js.map +1 -0
- package/dist/settings-BKk_1lcH.js +455 -0
- package/dist/settings-BKk_1lcH.js.map +1 -0
- package/dist/sidebar-ceSbYmnt.js +217 -0
- package/dist/sidebar-ceSbYmnt.js.map +1 -0
- package/dist/store/collections.d.ts +1 -1
- package/dist/store/environment.d.ts +1 -1
- package/dist/store/events.d.ts +8 -8
- package/dist/store/import-spec.d.ts +2 -2
- package/dist/store/index.d.ts +2 -2
- package/dist/store/index.js +2 -10
- package/dist/store/request-example.d.ts +1 -1
- package/dist/store/requests.d.ts +1 -1
- package/dist/store/security-schemes.d.ts +1 -1
- package/dist/store/servers.d.ts +1 -1
- package/dist/store/store.d.ts +7 -7
- package/dist/store/tags.d.ts +1 -1
- package/dist/store/workspace.d.ts +1 -1
- package/dist/store-DpSUVhjp.js +1512 -0
- package/dist/store-DpSUVhjp.js.map +1 -0
- package/dist/string-template-sS5PtY6T.js +64 -0
- package/dist/string-template-sS5PtY6T.js.map +1 -0
- package/dist/style.css +10372 -1
- package/dist/types/index.js +0 -1
- package/dist/use-global-hot-keys-D8Ai8Qbm.js +274 -0
- package/dist/use-global-hot-keys-D8Ai8Qbm.js.map +1 -0
- package/dist/useSidebar-DLTwHDI-.js +45 -0
- package/dist/useSidebar-DLTwHDI-.js.map +1 -0
- package/dist/v2/blocks/operation-block/OperationBlock.vue.d.ts +3 -3
- package/dist/v2/blocks/operation-block/components/Header.vue.d.ts +2 -2
- package/dist/v2/blocks/operation-block/helpers/build-request-security.d.ts +2 -2
- package/dist/v2/blocks/operation-block/helpers/build-request.d.ts +2 -2
- package/dist/v2/blocks/operation-block/helpers/build-request.d.ts.map +1 -1
- package/dist/v2/blocks/operation-block/helpers/har-to-fetch-response.d.ts +1 -1
- package/dist/v2/blocks/operation-block/helpers/send-request.d.ts +1 -1
- package/dist/v2/blocks/operation-block/index.d.ts +4 -4
- package/dist/v2/blocks/operation-block/index.js +20 -11
- package/dist/v2/blocks/operation-code-sample/components/OperationCodeSample.vue.d.ts +2 -2
- package/dist/v2/blocks/operation-code-sample/helpers/find-client.d.ts +1 -1
- package/dist/v2/blocks/operation-code-sample/helpers/generate-client-options.d.ts +1 -1
- package/dist/v2/blocks/operation-code-sample/helpers/generate-code-snippet.d.ts +2 -2
- package/dist/v2/blocks/operation-code-sample/helpers/get-clients.d.ts +2 -2
- package/dist/v2/blocks/operation-code-sample/helpers/get-secrets.d.ts +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/process-body.d.ts +1 -1
- package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-security-schemes.d.ts +1 -1
- package/dist/v2/blocks/operation-code-sample/index.d.ts +6 -6
- package/dist/v2/blocks/operation-code-sample/index.js +2 -16
- package/dist/v2/blocks/request-block/RequestBlock.vue.d.ts +4 -4
- package/dist/v2/blocks/request-block/RequestBlock.vue.d.ts.map +1 -1
- package/dist/v2/blocks/request-block/components/RequestCodeSnippet.vue.d.ts +1 -1
- package/dist/v2/blocks/request-block/components/RequestParams.vue.d.ts +1 -1
- package/dist/v2/blocks/request-block/components/RequestTable.vue.d.ts +1 -1
- package/dist/v2/blocks/request-block/helpers/create-parameter-handlers.d.ts +1 -1
- package/dist/v2/blocks/request-block/helpers/get-default-headers.d.ts +3 -2
- package/dist/v2/blocks/request-block/helpers/get-default-headers.d.ts.map +1 -1
- package/dist/v2/blocks/request-block/helpers/get-form-body-rows.d.ts +1 -1
- package/dist/v2/blocks/request-block/index.d.ts +1 -1
- package/dist/v2/blocks/request-block/index.js +9 -4
- package/dist/v2/blocks/response-block/ResponseBlock.vue.d.ts +1 -1
- package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.d.ts +1 -1
- package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.d.ts +1 -1
- package/dist/v2/blocks/response-block/index.d.ts +1 -1
- package/dist/v2/blocks/response-block/index.js +6 -4
- package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.d.ts +2 -2
- package/dist/v2/blocks/scalar-address-bar-block/index.d.ts +2 -2
- package/dist/v2/blocks/scalar-address-bar-block/index.js +5 -4
- package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.d.ts +5 -3
- package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.d.ts.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.d.ts +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.d.ts +2 -2
- package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTableInput.vue.d.ts +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.d.ts +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/helpers/fetch-openid-connect-discovery.d.ts +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/helpers/oauth.d.ts +2 -2
- package/dist/v2/blocks/scalar-auth-selector-block/helpers/openid-discovery-to-flows.d.ts +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/index.d.ts +4 -4
- package/dist/v2/blocks/scalar-auth-selector-block/index.js +6 -8
- package/dist/v2/components/code-input/CodeInput.vue.d.ts +1 -1
- package/dist/v2/components/code-input/index.d.ts +1 -1
- package/dist/v2/components/code-input/index.js +2 -4
- package/dist/v2/components/data-table/DataTableInput.vue.d.ts +1 -1
- package/dist/v2/components/data-table/DataTableInputSelect.vue.d.ts +1 -1
- package/dist/v2/components/data-table/index.d.ts +8 -8
- package/dist/v2/components/data-table/index.js +3 -18
- package/dist/v2/components/forms/index.d.ts +1 -1
- package/dist/v2/components/forms/index.js +2 -4
- package/dist/v2/components/layout/index.d.ts +1 -1
- package/dist/v2/components/layout/index.js +2 -4
- package/dist/v2/components/modals/index.d.ts +1 -1
- package/dist/v2/components/modals/index.js +37 -3
- package/dist/v2/components/modals/index.js.map +1 -0
- package/dist/v2/components/resize/index.d.ts +2 -2
- package/dist/v2/components/resize/index.js +2 -6
- package/dist/v2/components/server/ServerDropdown.vue.d.ts +1 -1
- package/dist/v2/components/server/index.d.ts +1 -1
- package/dist/v2/components/server/index.js +2 -4
- package/dist/v2/components/sidebar/Sidebar.vue.d.ts +1 -1
- package/dist/v2/components/sidebar/SidebarMenu.vue.d.ts.map +1 -1
- package/dist/v2/components/sidebar/index.d.ts +3 -3
- package/dist/v2/components/sidebar/index.js +3 -8
- package/dist/v2/features/app/App.vue.d.ts +4 -4
- package/dist/v2/features/app/components/AppSidebar.vue.d.ts +1 -1
- package/dist/v2/features/app/components/index.d.ts +1 -1
- package/dist/v2/features/app/components/index.js +10 -5
- package/dist/v2/features/app/helpers/create-api-client-app.d.ts +3 -3
- package/dist/v2/features/app/helpers/get-route-param.d.ts +1 -1
- package/dist/v2/features/app/helpers/routes.d.ts +5 -5
- package/dist/v2/features/app/hooks/use-theme.d.ts +1 -1
- package/dist/v2/features/app/index.d.ts +8 -8
- package/dist/v2/features/app/index.js +3161 -19
- package/dist/v2/features/app/index.js.map +1 -0
- package/dist/v2/features/collection/DocumentCollection.vue.d.ts +1 -1
- package/dist/v2/features/collection/OperationCollection.vue.d.ts +1 -1
- package/dist/v2/features/collection/WorkspaceCollection.vue.d.ts +1 -1
- package/dist/v2/features/collection/components/Authentication.vue.d.ts +4 -4
- package/dist/v2/features/collection/components/Cookies.vue.d.ts +4 -4
- package/dist/v2/features/collection/components/Editor/Editor.vue.d.ts +4 -4
- package/dist/v2/features/collection/components/Editor/index.d.ts +1 -1
- package/dist/v2/features/collection/components/Editor/index.js +2 -4
- package/dist/v2/features/collection/components/Environment.vue.d.ts +4 -4
- package/dist/v2/features/collection/components/Form.vue.d.ts +1 -0
- package/dist/v2/features/collection/components/Form.vue.d.ts.map +1 -1
- package/dist/v2/features/collection/components/Overview.vue.d.ts +4 -4
- package/dist/v2/features/collection/components/Servers.vue.d.ts +4 -4
- package/dist/v2/features/collection/components/Servers.vue.d.ts.map +1 -1
- package/dist/v2/features/collection/components/Settings.vue.d.ts +4 -4
- package/dist/v2/features/collection/components/Tabs.vue.d.ts +1 -1
- package/dist/v2/features/command-palette/TheCommandPalette.vue.d.ts +1 -1
- package/dist/v2/features/command-palette/hooks/use-command-palette-state.d.ts +10 -45
- package/dist/v2/features/command-palette/hooks/use-command-palette-state.d.ts.map +1 -1
- package/dist/v2/features/command-palette/index.d.ts +2 -2
- package/dist/v2/features/command-palette/index.js +3 -6
- package/dist/v2/features/editor/helpers/json/create-json-model.d.ts +1 -1
- package/dist/v2/features/editor/helpers/json/get-json-ast-node-from-path.d.ts +1 -1
- package/dist/v2/features/editor/helpers/json/json-pointer-path.d.ts +1 -1
- package/dist/v2/features/editor/helpers/yaml/create-yaml-model.d.ts +1 -1
- package/dist/v2/features/editor/helpers/yaml/get-yaml-node-range-from-path.d.ts +1 -1
- package/dist/v2/features/editor/hooks/use-editor.d.ts +1 -1
- package/dist/v2/features/editor/hooks/use-json-pointer-link-support.d.ts +1 -1
- package/dist/v2/features/editor/index.d.ts +4 -4
- package/dist/v2/features/editor/index.js +2 -10
- package/dist/v2/features/environments/index.d.ts +1 -1
- package/dist/v2/features/environments/index.js +4 -4
- package/dist/v2/features/global-cookies/index.d.ts +1 -1
- package/dist/v2/features/global-cookies/index.js +4 -4
- package/dist/v2/features/modal/Modal.vue.d.ts +1 -1
- package/dist/v2/features/modal/helpers/create-api-client-modal.d.ts +2 -2
- package/dist/v2/features/modal/hooks/use-modal-sidebar.d.ts +1 -1
- package/dist/v2/features/modal/index.d.ts +3 -3
- package/dist/v2/features/modal/index.js +639 -7
- package/dist/v2/features/modal/index.js.map +1 -0
- package/dist/v2/features/modal/modal-events.d.ts +1 -1
- package/dist/v2/features/operation/Operation.vue.d.ts +2 -2
- package/dist/v2/features/operation/index.d.ts +5 -5
- package/dist/v2/features/operation/index.js +19 -12
- package/dist/v2/features/search/helpers/create-fuse-instance.d.ts +1 -1
- package/dist/v2/features/search/helpers/create-search-index.d.ts +1 -1
- package/dist/v2/features/search/index.d.ts +1 -1
- package/dist/v2/features/search/index.js +2 -4
- package/dist/v2/features/settings/components/Section.vue.d.ts.map +1 -1
- package/dist/v2/features/settings/index.d.ts +2 -2
- package/dist/v2/features/settings/index.js +2 -6
- package/dist/v2/helpers/get-active-proxy-url.d.ts +1 -1
- package/dist/v2/helpers/get-tab-details.d.ts +1 -1
- package/dist/v2/helpers/handle-hotkeys.d.ts +1 -1
- package/dist/v2/helpers/index.d.ts +2 -2
- package/dist/v2/helpers/index.js +3 -6
- package/dist/v2/hooks/use-global-hot-keys.d.ts +1 -1
- package/dist/views/Collection/components/EnvironmentForm.vue.d.ts +1 -1
- package/dist/views/Collection/components/MarkdownInput.vue.d.ts +1 -1
- package/dist/views/Components/CodeSnippet/CodeSnippet.vue.d.ts +1 -1
- package/dist/views/Components/CodeSnippet/helpers/get-har-request.d.ts +1 -1
- package/dist/views/Components/CodeSnippet/helpers/get-snippet.d.ts +1 -1
- package/dist/views/Components/CodeSnippet/index.d.ts +4 -4
- package/dist/views/Components/CodeSnippet/index.js +3 -10
- package/dist/views/Environment/EnvironmentVariableDropdown.vue.d.ts +1 -1
- package/dist/views/Environment/handle-drag.d.ts +1 -1
- package/dist/views/Request/Request.vue.d.ts +1 -1
- package/dist/views/Request/RequestSection/RequestAuth/OAuth2.vue.d.ts +1 -1
- package/dist/views/Request/RequestSection/RequestAuth/OAuthScopesInput.vue.d.ts +1 -1
- package/dist/views/Request/RequestSection/RequestAuth/RequestAuth.vue.d.ts +1 -1
- package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTable.vue.d.ts +1 -1
- package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTableInput.vue.d.ts +2 -2
- package/dist/views/Request/RequestSection/RequestAuth/RequestAuthTab.vue.d.ts +1 -1
- package/dist/views/Request/RequestSection/RequestAuth/helpers/restore-auth-from-local-storage.d.ts +1 -1
- package/dist/views/Request/RequestSection/RequestAuth/index.d.ts +3 -3
- package/dist/views/Request/RequestSection/RequestAuth/index.js +4 -8
- package/dist/views/Request/RequestSection/RequestBody.vue.d.ts +1 -1
- package/dist/views/Request/RequestSection/RequestCodeExample.vue.d.ts +1 -1
- package/dist/views/Request/RequestSection/RequestParams.vue.d.ts +1 -1
- package/dist/views/Request/RequestSection/RequestPathParams.vue.d.ts +1 -1
- package/dist/views/Request/RequestSection/RequestSection.vue.d.ts +1 -1
- package/dist/views/Request/RequestSection/RequestTable.vue.d.ts +1 -1
- package/dist/views/Request/RequestSection/helpers/update-scheme.d.ts +1 -1
- package/dist/views/Request/RequestSection/index.d.ts +2 -2
- package/dist/views/Request/RequestSection/index.js +42 -5
- package/dist/views/Request/RequestSection/index.js.map +1 -0
- package/dist/views/Request/RequestSidebarItem.vue.d.ts +1 -1
- package/dist/views/Request/RequestSidebarItemMenu.vue.d.ts +3 -3
- package/dist/views/Request/RequestSubpageHeader.vue.d.ts +1 -1
- package/dist/views/Request/ResponseSection/ResponseBodyPreview.vue.d.ts +1 -1
- package/dist/views/Request/ResponseSection/ResponseSection.vue.d.ts +1 -1
- package/dist/views/Request/ResponseSection/index.d.ts +2 -2
- package/dist/views/Request/ResponseSection/index.js +7 -6
- package/dist/views/Request/components/index.d.ts +1 -1
- package/dist/views/Request/components/index.js +2 -4
- package/dist/views/Request/consts/index.d.ts +2 -2
- package/dist/views/Request/consts/index.js +2 -10
- package/dist/views/Request/handle-drag.d.ts +2 -2
- package/dist/views/Request/libs/auth.d.ts +1 -1
- package/dist/views/Request/libs/index.d.ts +3 -3
- package/dist/views/Request/libs/index.js +3 -22
- package/dist/views/Request/libs/oauth2.d.ts +1 -1
- package/dist/views/Request/libs/watch-mode.d.ts +2 -2
- package/dist/views/Request/types/index.js +0 -1
- package/dist/watch-mode-Dbaqd9bG.js +375 -0
- package/dist/watch-mode-Dbaqd9bG.js.map +1 -0
- package/package.json +29 -33
- package/dist/_virtual/_plugin-vue_export-helper.js +0 -9
- package/dist/analytics.js +0 -9
- package/dist/assets/computer.ascii.js +0 -34
- package/dist/assets/keycap.ascii.js +0 -25
- package/dist/assets/rabbit.ascii.js +0 -11
- package/dist/assets/rabbitjump.ascii.js +0 -11
- package/dist/components/AddressBar/AddressBar.vue.js +0 -7
- package/dist/components/AddressBar/AddressBar.vue2.js +0 -160
- package/dist/components/AddressBar/AddressBarHistory.vue.js +0 -7
- package/dist/components/AddressBar/AddressBarHistory.vue2.js +0 -98
- package/dist/components/AddressBar/httpStatusCodeColors.js +0 -38
- package/dist/components/CodeInput/CodeInput.vue.js +0 -8
- package/dist/components/CodeInput/CodeInput.vue2.js +0 -209
- package/dist/components/CodeInput/codeVariableWidget.js +0 -111
- package/dist/components/CommandPalette/CommandActionForm.vue.js +0 -44
- package/dist/components/CommandPalette/CommandActionForm.vue2.js +0 -4
- package/dist/components/CommandPalette/CommandActionInput.vue.js +0 -52
- package/dist/components/CommandPalette/CommandActionInput.vue2.js +0 -4
- package/dist/components/CommandPalette/CommandPaletteCollection.vue.js +0 -80
- package/dist/components/CommandPalette/CommandPaletteCollection.vue2.js +0 -4
- package/dist/components/CommandPalette/CommandPaletteExample.vue.js +0 -116
- package/dist/components/CommandPalette/CommandPaletteExample.vue2.js +0 -4
- package/dist/components/CommandPalette/CommandPaletteImport.vue.js +0 -217
- package/dist/components/CommandPalette/CommandPaletteImport.vue2.js +0 -4
- package/dist/components/CommandPalette/CommandPaletteImportCurl.vue.js +0 -7
- package/dist/components/CommandPalette/CommandPaletteImportCurl.vue2.js +0 -136
- package/dist/components/CommandPalette/CommandPaletteServer.vue.js +0 -123
- package/dist/components/CommandPalette/CommandPaletteServer.vue2.js +0 -4
- package/dist/components/CommandPalette/CommandPaletteTag.vue.js +0 -84
- package/dist/components/CommandPalette/CommandPaletteTag.vue2.js +0 -4
- package/dist/components/CommandPalette/CommandPaletteWorkspace.vue.js +0 -48
- package/dist/components/CommandPalette/CommandPaletteWorkspace.vue2.js +0 -4
- package/dist/components/CommandPalette/TheCommandPalette.vue.js +0 -7
- package/dist/components/CommandPalette/TheCommandPalette.vue2.js +0 -305
- package/dist/components/CommandPalette/WatchModeToggle.vue.js +0 -39
- package/dist/components/CommandPalette/WatchModeToggle.vue2.js +0 -4
- package/dist/components/DataTable/DataTable.vue.js +0 -38
- package/dist/components/DataTable/DataTable.vue2.js +0 -4
- package/dist/components/DataTable/DataTableCell.vue.js +0 -26
- package/dist/components/DataTable/DataTableCell.vue2.js +0 -4
- package/dist/components/DataTable/DataTableCheckbox.vue.js +0 -53
- package/dist/components/DataTable/DataTableCheckbox.vue2.js +0 -4
- package/dist/components/DataTable/DataTableHeader.vue.js +0 -18
- package/dist/components/DataTable/DataTableHeader.vue2.js +0 -4
- package/dist/components/DataTable/DataTableInput.vue.js +0 -7
- package/dist/components/DataTable/DataTableInput.vue2.js +0 -124
- package/dist/components/DataTable/DataTableInputSelect.vue.js +0 -146
- package/dist/components/DataTable/DataTableInputSelect.vue2.js +0 -4
- package/dist/components/DataTable/DataTableRow.vue.js +0 -12
- package/dist/components/DataTable/DataTableText.vue.js +0 -23
- package/dist/components/DataTable/DataTableText.vue2.js +0 -4
- package/dist/components/EmptyState.vue.js +0 -7
- package/dist/components/EmptyState.vue2.js +0 -42
- package/dist/components/EnvironmentSelector/EnvironmentSelector.vue.js +0 -113
- package/dist/components/EnvironmentSelector/EnvironmentSelector.vue2.js +0 -4
- package/dist/components/Form/Form.vue.js +0 -83
- package/dist/components/Form/Form.vue2.js +0 -4
- package/dist/components/Form/LabelInput.vue.js +0 -7
- package/dist/components/Form/LabelInput.vue2.js +0 -42
- package/dist/components/HelpfulLink.vue.js +0 -20
- package/dist/components/HelpfulLink.vue2.js +0 -4
- package/dist/components/HttpMethod/HttpMethod.vue.js +0 -7
- package/dist/components/HttpMethod/HttpMethod.vue2.js +0 -62
- package/dist/components/IconSelector.vue.js +0 -75
- package/dist/components/IconSelector.vue2.js +0 -4
- package/dist/components/ImportCollection/DropEventListener.vue.js +0 -81
- package/dist/components/ImportCollection/DropEventListener.vue2.js +0 -4
- package/dist/components/ImportCollection/ImportCollectionListener.vue.js +0 -77
- package/dist/components/ImportCollection/ImportCollectionListener.vue2.js +0 -4
- package/dist/components/ImportCollection/ImportCollectionModal.vue.js +0 -208
- package/dist/components/ImportCollection/ImportCollectionModal.vue3.js +0 -5
- package/dist/components/ImportCollection/ImportNowButton.vue.js +0 -73
- package/dist/components/ImportCollection/ImportNowButton.vue2.js +0 -4
- package/dist/components/ImportCollection/IntegrationLogo.vue.js +0 -44
- package/dist/components/ImportCollection/IntegrationLogo.vue2.js +0 -4
- package/dist/components/ImportCollection/PasteEventListener.vue.js +0 -24
- package/dist/components/ImportCollection/PasteEventListener.vue2.js +0 -4
- package/dist/components/ImportCollection/PrefetchError.vue.js +0 -27
- package/dist/components/ImportCollection/PrefetchError.vue2.js +0 -4
- package/dist/components/ImportCollection/UrlQueryParameterChecker.vue.js +0 -20
- package/dist/components/ImportCollection/UrlQueryParameterChecker.vue2.js +0 -4
- package/dist/components/ImportCollection/WorkspaceSelector.vue.js +0 -134
- package/dist/components/ImportCollection/WorkspaceSelector.vue2.js +0 -4
- package/dist/components/ImportCollection/hooks/useUrlPrefetcher.js +0 -106
- package/dist/components/ImportCollection/utils/get-openapi-version.js +0 -20
- package/dist/components/ImportCollection/utils/import-collection.js +0 -29
- package/dist/components/ImportCollection/utils/is-document.js +0 -9
- package/dist/components/ImportCollection/utils/is-url.js +0 -9
- package/dist/components/ImportCollection/utils/workspace-store-is-empty.js +0 -7
- package/dist/components/OpenApiClientButton.vue.js +0 -7
- package/dist/components/OpenApiClientButton.vue2.js +0 -48
- package/dist/components/ScalarAsciiArt.vue.js +0 -7
- package/dist/components/ScalarAsciiArt.vue2.js +0 -37
- package/dist/components/Search/useSearch.js +0 -78
- package/dist/components/SectionFilter.vue.js +0 -7
- package/dist/components/SectionFilter.vue2.js +0 -64
- package/dist/components/SectionFilterButton.vue.js +0 -23
- package/dist/components/SectionFilterButton.vue2.js +0 -4
- package/dist/components/Server/ServerDropdown.vue.js +0 -132
- package/dist/components/Server/ServerDropdown.vue2.js +0 -4
- package/dist/components/Server/ServerDropdownItem.vue.js +0 -7
- package/dist/components/Server/ServerDropdownItem.vue2.js +0 -84
- package/dist/components/Server/ServerSelector.vue.js +0 -82
- package/dist/components/Server/ServerSelector.vue2.js +0 -4
- package/dist/components/Server/ServerVariablesForm.vue.js +0 -49
- package/dist/components/Server/ServerVariablesForm.vue2.js +0 -4
- package/dist/components/Server/ServerVariablesSelect.vue.js +0 -54
- package/dist/components/Server/ServerVariablesSelect.vue2.js +0 -4
- package/dist/components/Server/ServerVariablesTextbox.vue.js +0 -29
- package/dist/components/Server/ServerVariablesTextbox.vue2.js +0 -4
- package/dist/components/SideNav/DownloadAppButton.vue.js +0 -7
- package/dist/components/SideNav/DownloadAppButton.vue2.js +0 -33
- package/dist/components/SideNav/SideHelp.vue.js +0 -127
- package/dist/components/SideNav/SideHelp.vue2.js +0 -4
- package/dist/components/SideNav/SideNav.vue.js +0 -96
- package/dist/components/SideNav/SideNav.vue2.js +0 -4
- package/dist/components/SideNav/SideNavGroup.vue.js +0 -16
- package/dist/components/SideNav/SideNavGroup.vue2.js +0 -4
- package/dist/components/SideNav/SideNavLink.vue.js +0 -39
- package/dist/components/SideNav/SideNavLink.vue2.js +0 -4
- package/dist/components/SideNav/SideNavRouterLink.vue.js +0 -27
- package/dist/components/SideNav/SideNavRouterLink.vue2.js +0 -4
- package/dist/components/Sidebar/Actions/DeleteSidebarListElement.vue.js +0 -30
- package/dist/components/Sidebar/Actions/DeleteSidebarListElement.vue2.js +0 -4
- package/dist/components/Sidebar/Actions/EditSidebarListCollection.vue.js +0 -58
- package/dist/components/Sidebar/Actions/EditSidebarListCollection.vue2.js +0 -4
- package/dist/components/Sidebar/Actions/EditSidebarListElement.vue.js +0 -29
- package/dist/components/Sidebar/Actions/EditSidebarListElement.vue2.js +0 -4
- package/dist/components/Sidebar/Actions/SidebarListElementForm.vue.js +0 -46
- package/dist/components/Sidebar/Actions/SidebarListElementForm.vue2.js +0 -4
- package/dist/components/Sidebar/Sidebar.vue.js +0 -7
- package/dist/components/Sidebar/Sidebar.vue2.js +0 -63
- package/dist/components/Sidebar/SidebarButton.vue.js +0 -33
- package/dist/components/Sidebar/SidebarButton.vue2.js +0 -4
- package/dist/components/Sidebar/SidebarList.vue.js +0 -12
- package/dist/components/Sidebar/SidebarListElement.vue.js +0 -8
- package/dist/components/Sidebar/SidebarListElement.vue2.js +0 -94
- package/dist/components/Sidebar/SidebarListElementActions.vue.js +0 -86
- package/dist/components/Sidebar/SidebarListElementActions.vue2.js +0 -4
- package/dist/components/Sidebar/SidebarToggle.vue.js +0 -49
- package/dist/components/Sidebar/SidebarToggle.vue2.js +0 -4
- package/dist/components/TopNav/TopNav.vue.js +0 -210
- package/dist/components/TopNav/TopNav.vue2.js +0 -4
- package/dist/components/TopNav/TopNavItem.vue.js +0 -7
- package/dist/components/TopNav/TopNavItem.vue2.js +0 -138
- package/dist/components/ViewLayout/ViewLayout.vue.js +0 -18
- package/dist/components/ViewLayout/ViewLayout.vue2.js +0 -4
- package/dist/components/ViewLayout/ViewLayoutCollapse.vue.js +0 -92
- package/dist/components/ViewLayout/ViewLayoutCollapse.vue2.js +0 -4
- package/dist/components/ViewLayout/ViewLayoutContent.vue.js +0 -12
- package/dist/components/ViewLayout/ViewLayoutSection.vue.js +0 -23
- package/dist/components/ViewLayout/ViewLayoutSection.vue2.js +0 -4
- package/dist/constants.js +0 -40
- package/dist/data/httpHeaders.js +0 -537
- package/dist/hooks/useAnalytics.js +0 -11
- package/dist/hooks/useClientConfig.js +0 -7
- package/dist/hooks/useFileDialog.js +0 -21
- package/dist/hooks/useLayout.js +0 -8
- package/dist/hooks/useResponseBody.js +0 -20
- package/dist/hooks/useSidebar.js +0 -28
- package/dist/layouts/App/ApiClientApp.vue.js +0 -70
- package/dist/layouts/App/ApiClientApp.vue3.js +0 -5
- package/dist/layouts/App/MainLayout.vue.js +0 -26
- package/dist/layouts/App/MainLayout.vue2.js +0 -4
- package/dist/layouts/App/create-api-client-app.js +0 -35
- package/dist/layouts/App/hotkeys.js +0 -21
- package/dist/layouts/Modal/ApiClientModal.vue.js +0 -30
- package/dist/layouts/Modal/ApiClientModal.vue2.js +0 -4
- package/dist/layouts/Modal/create-api-client-modal.js +0 -32
- package/dist/layouts/Web/ApiClientWeb.vue.js +0 -64
- package/dist/layouts/Web/ApiClientWeb.vue3.js +0 -5
- package/dist/layouts/Web/create-api-client-web.js +0 -32
- package/dist/libs/create-client.js +0 -189
- package/dist/libs/electron.js +0 -4
- package/dist/libs/env-helpers.js +0 -6
- package/dist/libs/environment-parser.js +0 -18
- package/dist/libs/errors.js +0 -16
- package/dist/libs/event-bus.js +0 -32
- package/dist/libs/extractAttachmentFilename.js +0 -18
- package/dist/libs/find-request.js +0 -23
- package/dist/libs/formatters.js +0 -10
- package/dist/libs/get-request-uid-by-path-method.js +0 -18
- package/dist/libs/getOpenApiDocumentDetails.js +0 -40
- package/dist/libs/hot-keys.js +0 -44
- package/dist/libs/importers/curl.js +0 -53
- package/dist/libs/isUrl.js +0 -7
- package/dist/libs/local-storage.js +0 -41
- package/dist/libs/normalize-headers.js +0 -27
- package/dist/libs/parse-curl.js +0 -59
- package/dist/libs/postman.js +0 -37
- package/dist/libs/send-request/build-request-security.js +0 -35
- package/dist/libs/send-request/create-fetch-body.js +0 -25
- package/dist/libs/send-request/create-fetch-headers.js +0 -11
- package/dist/libs/send-request/create-fetch-query-params.js +0 -33
- package/dist/libs/send-request/create-request-operation.js +0 -140
- package/dist/libs/send-request/decode-buffer.js +0 -9
- package/dist/libs/send-request/set-request-cookies.js +0 -58
- package/dist/libs/string-template.js +0 -42
- package/dist/libs/validate-parameters.js +0 -16
- package/dist/plugins/hooks/usePluginManager.js +0 -10
- package/dist/plugins/plugin-manager.js +0 -26
- package/dist/routes.js +0 -210
- package/dist/store/active-entities.js +0 -118
- package/dist/store/collections.js +0 -73
- package/dist/store/cookies.js +0 -13
- package/dist/store/environment.js +0 -32
- package/dist/store/events.js +0 -35
- package/dist/store/import-spec.js +0 -55
- package/dist/store/request-example.js +0 -43
- package/dist/store/requests.js +0 -97
- package/dist/store/router-params.js +0 -22
- package/dist/store/security-schemes.js +0 -55
- package/dist/store/servers.js +0 -39
- package/dist/store/store.js +0 -144
- package/dist/store/tags.js +0 -45
- package/dist/store/workspace.js +0 -52
- package/dist/v2/blocks/operation-block/OperationBlock.vue.js +0 -242
- package/dist/v2/blocks/operation-block/OperationBlock.vue2.js +0 -4
- package/dist/v2/blocks/operation-block/components/Header.vue.js +0 -7
- package/dist/v2/blocks/operation-block/components/Header.vue2.js +0 -100
- package/dist/v2/blocks/operation-block/helpers/build-request-body.js +0 -40
- package/dist/v2/blocks/operation-block/helpers/build-request-cookie-header.js +0 -31
- package/dist/v2/blocks/operation-block/helpers/build-request-parameters.js +0 -107
- package/dist/v2/blocks/operation-block/helpers/build-request-security.js +0 -46
- package/dist/v2/blocks/operation-block/helpers/build-request.js +0 -70
- package/dist/v2/blocks/operation-block/helpers/de-serialize-parameter.js +0 -25
- package/dist/v2/blocks/operation-block/helpers/decode-buffer.js +0 -9
- package/dist/v2/blocks/operation-block/helpers/filter-global-cookies.js +0 -14
- package/dist/v2/blocks/operation-block/helpers/get-cookie-header-keys.js +0 -4
- package/dist/v2/blocks/operation-block/helpers/get-environment-variables.js +0 -7
- package/dist/v2/blocks/operation-block/helpers/get-example.js +0 -36
- package/dist/v2/blocks/operation-block/helpers/get-resolved-url.js +0 -17
- package/dist/v2/blocks/operation-block/helpers/get-selected-body-content-type.js +0 -4
- package/dist/v2/blocks/operation-block/helpers/get-server-url.js +0 -12
- package/dist/v2/blocks/operation-block/helpers/har-to-fetch-request.js +0 -31
- package/dist/v2/blocks/operation-block/helpers/har-to-fetch-response.js +0 -43
- package/dist/v2/blocks/operation-block/helpers/response-cache.js +0 -12
- package/dist/v2/blocks/operation-block/helpers/send-request.js +0 -122
- package/dist/v2/blocks/operation-block/helpers/serialize-parameter.js +0 -49
- package/dist/v2/blocks/operation-block/helpers/validate-path-parameters.js +0 -17
- package/dist/v2/blocks/operation-code-sample/components/ExamplePicker.vue.js +0 -56
- package/dist/v2/blocks/operation-code-sample/components/ExamplePicker.vue2.js +0 -4
- package/dist/v2/blocks/operation-code-sample/components/HttpMethod.vue.js +0 -30
- package/dist/v2/blocks/operation-code-sample/components/HttpMethod.vue2.js +0 -4
- package/dist/v2/blocks/operation-code-sample/components/OperationCodeSample.vue.js +0 -7
- package/dist/v2/blocks/operation-code-sample/components/OperationCodeSample.vue2.js +0 -227
- package/dist/v2/blocks/operation-code-sample/helpers/find-client.js +0 -22
- package/dist/v2/blocks/operation-code-sample/helpers/generate-client-options.js +0 -27
- package/dist/v2/blocks/operation-code-sample/helpers/generate-code-snippet.js +0 -40
- package/dist/v2/blocks/operation-code-sample/helpers/get-clients.js +0 -20
- package/dist/v2/blocks/operation-code-sample/helpers/get-custom-code-samples.js +0 -4
- package/dist/v2/blocks/operation-code-sample/helpers/get-example-from-schema.js +0 -302
- package/dist/v2/blocks/operation-code-sample/helpers/get-resolved-ref-deep.js +0 -28
- package/dist/v2/blocks/operation-code-sample/helpers/get-secrets.js +0 -10
- package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/operation-to-har.js +0 -67
- package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-body.js +0 -66
- package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-parameters.js +0 -172
- package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-security-schemes.js +0 -55
- package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-server-url.js +0 -18
- package/dist/v2/blocks/request-block/RequestBlock.vue.js +0 -7
- package/dist/v2/blocks/request-block/RequestBlock.vue2.js +0 -344
- package/dist/v2/blocks/request-block/components/RequestBody.vue.js +0 -7
- package/dist/v2/blocks/request-block/components/RequestBody.vue2.js +0 -191
- package/dist/v2/blocks/request-block/components/RequestBodyForm.vue.js +0 -84
- package/dist/v2/blocks/request-block/components/RequestBodyForm.vue2.js +0 -4
- package/dist/v2/blocks/request-block/components/RequestCodeSnippet.vue.js +0 -135
- package/dist/v2/blocks/request-block/components/RequestCodeSnippet.vue2.js +0 -4
- package/dist/v2/blocks/request-block/components/RequestParams.vue.js +0 -78
- package/dist/v2/blocks/request-block/components/RequestParams.vue2.js +0 -4
- package/dist/v2/blocks/request-block/components/RequestTable.vue.js +0 -7
- package/dist/v2/blocks/request-block/components/RequestTable.vue2.js +0 -74
- package/dist/v2/blocks/request-block/components/RequestTableRow.vue.js +0 -204
- package/dist/v2/blocks/request-block/components/RequestTableRow.vue2.js +0 -4
- package/dist/v2/blocks/request-block/components/RequestTableTooltip.vue.js +0 -7
- package/dist/v2/blocks/request-block/components/RequestTableTooltip.vue2.js +0 -63
- package/dist/v2/blocks/request-block/helpers/create-parameter-handlers.js +0 -55
- package/dist/v2/blocks/request-block/helpers/files.js +0 -7
- package/dist/v2/blocks/request-block/helpers/get-default-headers.js +0 -26
- package/dist/v2/blocks/request-block/helpers/get-form-body-rows.js +0 -29
- package/dist/v2/blocks/request-block/helpers/get-parameter-content.js +0 -9
- package/dist/v2/blocks/request-block/helpers/get-parameter-schema.js +0 -6
- package/dist/v2/blocks/request-block/helpers/get-request-body-example.js +0 -16
- package/dist/v2/blocks/request-block/helpers/group-by.js +0 -10
- package/dist/v2/blocks/request-block/helpers/is-param-disabled.js +0 -7
- package/dist/v2/blocks/request-block/helpers/validate-parameter.js +0 -32
- package/dist/v2/blocks/response-block/ResponseBlock.vue.js +0 -7
- package/dist/v2/blocks/response-block/ResponseBlock.vue2.js +0 -180
- package/dist/v2/blocks/response-block/components/Headers.vue.js +0 -96
- package/dist/v2/blocks/response-block/components/Headers.vue2.js +0 -4
- package/dist/v2/blocks/response-block/components/ResponseBody.vue.js +0 -7
- package/dist/v2/blocks/response-block/components/ResponseBody.vue2.js +0 -87
- package/dist/v2/blocks/response-block/components/ResponseBodyDownload.vue.js +0 -36
- package/dist/v2/blocks/response-block/components/ResponseBodyDownload.vue2.js +0 -4
- package/dist/v2/blocks/response-block/components/ResponseBodyInfo.vue.js +0 -14
- package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.js +0 -7
- package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue2.js +0 -63
- package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.js +0 -7
- package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue2.js +0 -41
- package/dist/v2/blocks/response-block/components/ResponseBodyStreaming.vue.js +0 -94
- package/dist/v2/blocks/response-block/components/ResponseBodyStreaming.vue2.js +0 -4
- package/dist/v2/blocks/response-block/components/ResponseBodyToggle.vue.js +0 -25
- package/dist/v2/blocks/response-block/components/ResponseBodyToggle.vue2.js +0 -4
- package/dist/v2/blocks/response-block/components/ResponseBodyVirtual.vue.js +0 -52
- package/dist/v2/blocks/response-block/components/ResponseBodyVirtual.vue3.js +0 -5
- package/dist/v2/blocks/response-block/components/ResponseCookies.vue.js +0 -54
- package/dist/v2/blocks/response-block/components/ResponseCookies.vue2.js +0 -4
- package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.js +0 -7
- package/dist/v2/blocks/response-block/components/ResponseEmpty.vue2.js +0 -79
- package/dist/v2/blocks/response-block/components/ResponseLoadingOverlay.vue.js +0 -7
- package/dist/v2/blocks/response-block/components/ResponseLoadingOverlay.vue2.js +0 -46
- package/dist/v2/blocks/response-block/components/ResponseMetaInformation.vue.js +0 -67
- package/dist/v2/blocks/response-block/components/ResponseMetaInformation.vue2.js +0 -4
- package/dist/v2/blocks/response-block/helpers/extract-filename.js +0 -18
- package/dist/v2/blocks/response-block/helpers/get-content-length.js +0 -12
- package/dist/v2/blocks/response-block/helpers/media-types.js +0 -126
- package/dist/v2/blocks/response-block/helpers/parse-set-cookie.js +0 -12
- package/dist/v2/blocks/response-block/helpers/process-response-body.js +0 -16
- package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.js +0 -7
- package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue2.js +0 -208
- package/dist/v2/blocks/scalar-address-bar-block/components/AddressBarHistory.vue.js +0 -7
- package/dist/v2/blocks/scalar-address-bar-block/components/AddressBarHistory.vue2.js +0 -95
- package/dist/v2/blocks/scalar-address-bar-block/components/EnvironmentSelector.vue.js +0 -145
- package/dist/v2/blocks/scalar-address-bar-block/components/EnvironmentSelector.vue2.js +0 -4
- package/dist/v2/blocks/scalar-address-bar-block/components/httpStatusCodeColors.js +0 -38
- package/dist/v2/blocks/scalar-address-bar-block/hooks/use-loading-animation.js +0 -25
- package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.js +0 -182
- package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue2.js +0 -4
- package/dist/v2/blocks/scalar-auth-selector-block/components/DeleteRequestAuthModal.vue.js +0 -51
- package/dist/v2/blocks/scalar-auth-selector-block/components/DeleteRequestAuthModal.vue2.js +0 -4
- package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.js +0 -330
- package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue2.js +0 -4
- package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.js +0 -7
- package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue2.js +0 -76
- package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue.js +0 -165
- package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue3.js +0 -5
- package/dist/v2/blocks/scalar-auth-selector-block/components/OpenIDConnect.vue.js +0 -91
- package/dist/v2/blocks/scalar-auth-selector-block/components/OpenIDConnect.vue2.js +0 -4
- package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.js +0 -83
- package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue2.js +0 -4
- package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTableInput.vue.js +0 -46
- package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTableInput.vue2.js +0 -4
- package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.js +0 -244
- package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue2.js +0 -4
- package/dist/v2/blocks/scalar-auth-selector-block/helpers/auth-options.js +0 -97
- package/dist/v2/blocks/scalar-auth-selector-block/helpers/extract-security-scheme-secrets.js +0 -135
- package/dist/v2/blocks/scalar-auth-selector-block/helpers/fetch-openid-connect-discovery.js +0 -35
- package/dist/v2/blocks/scalar-auth-selector-block/helpers/is-auth-optional.js +0 -7
- package/dist/v2/blocks/scalar-auth-selector-block/helpers/merge-security.js +0 -23
- package/dist/v2/blocks/scalar-auth-selector-block/helpers/oauth.js +0 -139
- package/dist/v2/blocks/scalar-auth-selector-block/helpers/openid-discovery-to-flows.js +0 -27
- package/dist/v2/blocks/scalar-auth-selector-block/helpers/security-scheme.js +0 -64
- package/dist/v2/components/callout/Callout.vue.js +0 -7
- package/dist/v2/components/callout/Callout.vue2.js +0 -43
- package/dist/v2/components/code-input/CodeInput.vue.js +0 -8
- package/dist/v2/components/code-input/CodeInput.vue2.js +0 -213
- package/dist/v2/components/code-input/code-variable-widget.js +0 -106
- package/dist/v2/components/data-table/DataTable.vue.js +0 -38
- package/dist/v2/components/data-table/DataTable.vue2.js +0 -4
- package/dist/v2/components/data-table/DataTableCell.vue.js +0 -26
- package/dist/v2/components/data-table/DataTableCell.vue2.js +0 -4
- package/dist/v2/components/data-table/DataTableCheckbox.vue.js +0 -53
- package/dist/v2/components/data-table/DataTableCheckbox.vue2.js +0 -4
- package/dist/v2/components/data-table/DataTableHeader.vue.js +0 -18
- package/dist/v2/components/data-table/DataTableHeader.vue2.js +0 -4
- package/dist/v2/components/data-table/DataTableInput.vue.js +0 -7
- package/dist/v2/components/data-table/DataTableInput.vue2.js +0 -121
- package/dist/v2/components/data-table/DataTableInputSelect.vue.js +0 -149
- package/dist/v2/components/data-table/DataTableInputSelect.vue2.js +0 -4
- package/dist/v2/components/data-table/DataTableRow.vue.js +0 -12
- package/dist/v2/components/data-table/DataTableText.vue.js +0 -23
- package/dist/v2/components/data-table/DataTableText.vue2.js +0 -4
- package/dist/v2/components/forms/ConfirmationForm.vue.js +0 -45
- package/dist/v2/components/forms/ConfirmationForm.vue2.js +0 -4
- package/dist/v2/components/layout/CollapsibleSection.vue.js +0 -89
- package/dist/v2/components/layout/CollapsibleSection.vue2.js +0 -4
- package/dist/v2/components/layout/ValueEmitter.vue.js +0 -21
- package/dist/v2/components/layout/ValueEmitter.vue2.js +0 -4
- package/dist/v2/components/modals/DeleteModal.vue.js +0 -31
- package/dist/v2/components/modals/DeleteModal.vue2.js +0 -4
- package/dist/v2/components/modals/ModalClientContainer.vue.js +0 -7
- package/dist/v2/components/modals/ModalClientContainer.vue2.js +0 -60
- package/dist/v2/components/resize/Resize.vue.js +0 -8
- package/dist/v2/components/resize/Resize.vue2.js +0 -36
- package/dist/v2/components/resize/use-split-resize.js +0 -57
- package/dist/v2/components/server/ServerDropdown.vue.js +0 -91
- package/dist/v2/components/server/ServerDropdown.vue2.js +0 -4
- package/dist/v2/components/server/ServerDropdownItem.vue.js +0 -7
- package/dist/v2/components/server/ServerDropdownItem.vue2.js +0 -49
- package/dist/v2/components/sidebar/Sidebar.vue.js +0 -115
- package/dist/v2/components/sidebar/Sidebar.vue2.js +0 -4
- package/dist/v2/components/sidebar/SidebarMenu.vue.js +0 -50
- package/dist/v2/components/sidebar/SidebarMenu.vue2.js +0 -4
- package/dist/v2/components/sidebar/SidebarToggle.vue.js +0 -52
- package/dist/v2/components/sidebar/SidebarToggle.vue2.js +0 -4
- package/dist/v2/features/app/App.vue.js +0 -152
- package/dist/v2/features/app/App.vue3.js +0 -5
- package/dist/v2/features/app/app-events.js +0 -251
- package/dist/v2/features/app/app-state.js +0 -415
- package/dist/v2/features/app/components/AppSidebar.vue.js +0 -7
- package/dist/v2/features/app/components/AppSidebar.vue2.js +0 -304
- package/dist/v2/features/app/components/CreateWorkspaceModal.vue.js +0 -56
- package/dist/v2/features/app/components/CreateWorkspaceModal.vue2.js +0 -4
- package/dist/v2/features/app/components/DesktopTab.vue.js +0 -7
- package/dist/v2/features/app/components/DesktopTab.vue2.js +0 -134
- package/dist/v2/features/app/components/DesktopTabs.vue.js +0 -56
- package/dist/v2/features/app/components/DesktopTabs.vue2.js +0 -4
- package/dist/v2/features/app/components/DownloadAppButton.vue.js +0 -7
- package/dist/v2/features/app/components/DownloadAppButton.vue2.js +0 -19
- package/dist/v2/features/app/components/SidebarItemMenu.vue.js +0 -185
- package/dist/v2/features/app/components/SidebarItemMenu.vue2.js +0 -4
- package/dist/v2/features/app/components/SplashScreen.vue.js +0 -7
- package/dist/v2/features/app/components/SplashScreen.vue2.js +0 -18
- package/dist/v2/features/app/helpers/create-api-client-app.js +0 -36
- package/dist/v2/features/app/helpers/filter-workspaces.js +0 -5
- package/dist/v2/features/app/helpers/get-route-param.js +0 -9
- package/dist/v2/features/app/helpers/group-workspaces.js +0 -23
- package/dist/v2/features/app/helpers/routes.js +0 -157
- package/dist/v2/features/app/hooks/use-document-watcher.js +0 -66
- package/dist/v2/features/app/hooks/use-theme.js +0 -48
- package/dist/v2/features/collection/DocumentCollection.vue.js +0 -336
- package/dist/v2/features/collection/DocumentCollection.vue3.js +0 -5
- package/dist/v2/features/collection/OperationCollection.vue.js +0 -86
- package/dist/v2/features/collection/OperationCollection.vue2.js +0 -4
- package/dist/v2/features/collection/WorkspaceCollection.vue.js +0 -68
- package/dist/v2/features/collection/WorkspaceCollection.vue2.js +0 -4
- package/dist/v2/features/collection/components/Authentication.vue.js +0 -7
- package/dist/v2/features/collection/components/Authentication.vue2.js +0 -154
- package/dist/v2/features/collection/components/Cookies.vue.js +0 -52
- package/dist/v2/features/collection/components/Cookies.vue2.js +0 -4
- package/dist/v2/features/collection/components/Editor/Editor.vue.js +0 -7
- package/dist/v2/features/collection/components/Editor/Editor.vue2.js +0 -344
- package/dist/v2/features/collection/components/Editor/components/EditorDiagnosticsPanel.vue.js +0 -78
- package/dist/v2/features/collection/components/Editor/components/EditorDiagnosticsPanel.vue2.js +0 -4
- package/dist/v2/features/collection/components/Editor/components/EditorSavePanel.vue.js +0 -83
- package/dist/v2/features/collection/components/Editor/components/EditorSavePanel.vue2.js +0 -4
- package/dist/v2/features/collection/components/Editor/helpers/get-diagnostic-counts.js +0 -10
- package/dist/v2/features/collection/components/Editor/helpers/get-operation-context.js +0 -5
- package/dist/v2/features/collection/components/Editor/helpers/get-visible-diagnostics.js +0 -5
- package/dist/v2/features/collection/components/Editor/helpers/parse-editor-object.js +0 -21
- package/dist/v2/features/collection/components/Editor/helpers/stringify-document.js +0 -5
- package/dist/v2/features/collection/components/Editor/hooks/use-editor-state.js +0 -25
- package/dist/v2/features/collection/components/Environment.vue.js +0 -54
- package/dist/v2/features/collection/components/Environment.vue2.js +0 -4
- package/dist/v2/features/collection/components/Form.vue.js +0 -78
- package/dist/v2/features/collection/components/Form.vue2.js +0 -4
- package/dist/v2/features/collection/components/LabelInput.vue.js +0 -7
- package/dist/v2/features/collection/components/LabelInput.vue2.js +0 -35
- package/dist/v2/features/collection/components/Overview.vue.js +0 -7
- package/dist/v2/features/collection/components/Overview.vue2.js +0 -208
- package/dist/v2/features/collection/components/Servers.vue.js +0 -209
- package/dist/v2/features/collection/components/Servers.vue2.js +0 -4
- package/dist/v2/features/collection/components/Settings.vue.js +0 -61
- package/dist/v2/features/collection/components/Settings.vue2.js +0 -4
- package/dist/v2/features/collection/components/SyncConflictResolutionEditor.vue.js +0 -7
- package/dist/v2/features/collection/components/SyncConflictResolutionEditor.vue2.js +0 -136
- package/dist/v2/features/collection/components/Tabs.vue.js +0 -44
- package/dist/v2/features/collection/components/Tabs.vue2.js +0 -4
- package/dist/v2/features/collection/helpers/get-default-operation-security-toggle.js +0 -13
- package/dist/v2/features/command-palette/TheCommandPalette.vue.js +0 -7
- package/dist/v2/features/command-palette/TheCommandPalette.vue2.js +0 -152
- package/dist/v2/features/command-palette/components/CommandActionForm.vue.js +0 -48
- package/dist/v2/features/command-palette/components/CommandActionForm.vue2.js +0 -4
- package/dist/v2/features/command-palette/components/CommandActionInput.vue.js +0 -52
- package/dist/v2/features/command-palette/components/CommandActionInput.vue2.js +0 -4
- package/dist/v2/features/command-palette/components/CommandPaletteExample.vue.js +0 -211
- package/dist/v2/features/command-palette/components/CommandPaletteExample.vue2.js +0 -4
- package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.js +0 -182
- package/dist/v2/features/command-palette/components/CommandPaletteImport.vue2.js +0 -4
- package/dist/v2/features/command-palette/components/CommandPaletteImportCurl.vue.js +0 -7
- package/dist/v2/features/command-palette/components/CommandPaletteImportCurl.vue2.js +0 -115
- package/dist/v2/features/command-palette/components/CommandPaletteOpenApiDocument.vue.js +0 -78
- package/dist/v2/features/command-palette/components/CommandPaletteOpenApiDocument.vue2.js +0 -4
- package/dist/v2/features/command-palette/components/CommandPaletteRequest.vue.js +0 -221
- package/dist/v2/features/command-palette/components/CommandPaletteRequest.vue2.js +0 -4
- package/dist/v2/features/command-palette/components/CommandPaletteTag.vue.js +0 -114
- package/dist/v2/features/command-palette/components/CommandPaletteTag.vue2.js +0 -4
- package/dist/v2/features/command-palette/components/WatchModeToggle.vue.js +0 -40
- package/dist/v2/features/command-palette/components/WatchModeToggle.vue2.js +0 -4
- package/dist/v2/features/command-palette/helpers/generate-unique-slug.js +0 -11
- package/dist/v2/features/command-palette/helpers/get-openapi-document-details.js +0 -31
- package/dist/v2/features/command-palette/helpers/get-openapi-from-postman.js +0 -11
- package/dist/v2/features/command-palette/helpers/get-operation-from-curl.js +0 -76
- package/dist/v2/features/command-palette/helpers/get-postman-document-details.js +0 -18
- package/dist/v2/features/command-palette/helpers/import-document-to-workspace.js +0 -33
- package/dist/v2/features/command-palette/helpers/is-postman-collection.js +0 -11
- package/dist/v2/features/command-palette/helpers/load-document-from-source.js +0 -52
- package/dist/v2/features/command-palette/hooks/use-command-palette-state.js +0 -139
- package/dist/v2/features/editor/config.js +0 -16
- package/dist/v2/features/editor/helpers/configure-language-support.js +0 -39
- package/dist/v2/features/editor/helpers/ensure-monaco-environment.js +0 -20
- package/dist/v2/features/editor/helpers/json/create-json-model.js +0 -19
- package/dist/v2/features/editor/helpers/json/get-json-ast-node-from-path.js +0 -9
- package/dist/v2/features/editor/helpers/json/json-ast.js +0 -24
- package/dist/v2/features/editor/helpers/json/json-pointer-links.js +0 -72
- package/dist/v2/features/editor/helpers/json/json-pointer-path.js +0 -21
- package/dist/v2/features/editor/helpers/range-to-whole-line.js +0 -8
- package/dist/v2/features/editor/helpers/theme/apply-scalar-theme.js +0 -56
- package/dist/v2/features/editor/helpers/theme/load-css-variables.js +0 -21
- package/dist/v2/features/editor/helpers/yaml/create-yaml-model.js +0 -19
- package/dist/v2/features/editor/helpers/yaml/get-yaml-node-range-from-path.js +0 -50
- package/dist/v2/features/editor/hooks/use-editor-markers.js +0 -34
- package/dist/v2/features/editor/hooks/use-editor.js +0 -107
- package/dist/v2/features/editor/hooks/use-json-pointer-link-support.js +0 -27
- package/dist/v2/features/editor/hooks/use-three-way-merge-editor.js +0 -316
- package/dist/v2/features/editor/schemas/openapi-3.1-schema.json.js +0 -25
- package/dist/v2/features/environments/EnvironmentsList.vue.js +0 -68
- package/dist/v2/features/environments/EnvironmentsList.vue2.js +0 -4
- package/dist/v2/features/environments/components/Environment.vue.js +0 -66
- package/dist/v2/features/environments/components/Environment.vue2.js +0 -4
- package/dist/v2/features/environments/components/EnvironmentColors.vue.js +0 -121
- package/dist/v2/features/environments/components/EnvironmentColors.vue2.js +0 -4
- package/dist/v2/features/environments/components/EnvironmentCreateModal.vue.js +0 -85
- package/dist/v2/features/environments/components/EnvironmentCreateModal.vue2.js +0 -4
- package/dist/v2/features/environments/components/EnvironmentDeleteModal.vue.js +0 -53
- package/dist/v2/features/environments/components/EnvironmentDeleteModal.vue2.js +0 -4
- package/dist/v2/features/environments/components/EnvironmentVariablesDropdown.vue.js +0 -109
- package/dist/v2/features/environments/components/EnvironmentVariablesDropdown.vue2.js +0 -4
- package/dist/v2/features/environments/components/EnvironmentVariablesTable.vue.js +0 -7
- package/dist/v2/features/environments/components/EnvironmentVariablesTable.vue2.js +0 -136
- package/dist/v2/features/global-cookies/components/CookiesTable.vue.js +0 -7
- package/dist/v2/features/global-cookies/components/CookiesTable.vue2.js +0 -189
- package/dist/v2/features/modal/Modal.vue.js +0 -122
- package/dist/v2/features/modal/Modal.vue2.js +0 -4
- package/dist/v2/features/modal/helpers/create-api-client-modal.js +0 -89
- package/dist/v2/features/modal/helpers/map-hidden-clients-config.js +0 -36
- package/dist/v2/features/modal/helpers/resolve-route-parameters.js +0 -29
- package/dist/v2/features/modal/helpers/restore-workspace-state.js +0 -36
- package/dist/v2/features/modal/hooks/use-modal-sidebar.js +0 -93
- package/dist/v2/features/modal/modal-events.js +0 -44
- package/dist/v2/features/operation/Operation.vue.js +0 -126
- package/dist/v2/features/operation/Operation.vue2.js +0 -4
- package/dist/v2/features/operation/helpers/combine-params.js +0 -14
- package/dist/v2/features/operation/helpers/get-security-requirements.js +0 -4
- package/dist/v2/features/operation/helpers/get-selected-security.js +0 -18
- package/dist/v2/features/operation/helpers/get-selected-server.js +0 -4
- package/dist/v2/features/search/helpers/create-fuse-instance.js +0 -43
- package/dist/v2/features/search/helpers/create-search-index.js +0 -63
- package/dist/v2/features/search/hooks/use-search-index.js +0 -18
- package/dist/v2/features/settings/CollectionSettings.vue.js +0 -275
- package/dist/v2/features/settings/CollectionSettings.vue2.js +0 -4
- package/dist/v2/features/settings/DocumentSettings.vue.js +0 -115
- package/dist/v2/features/settings/DocumentSettings.vue2.js +0 -4
- package/dist/v2/features/settings/components/Appearance.vue.js +0 -88
- package/dist/v2/features/settings/components/Appearance.vue2.js +0 -4
- package/dist/v2/features/settings/components/Section.vue.js +0 -35
- package/dist/v2/features/settings/components/Section.vue2.js +0 -4
- package/dist/v2/features/settings/helpers/get-theme-colors.js +0 -16
- package/dist/v2/helpers/drag-handle-factory.js +0 -120
- package/dist/v2/helpers/generate-location-id.js +0 -10
- package/dist/v2/helpers/get-active-environment.js +0 -22
- package/dist/v2/helpers/get-active-proxy-url.js +0 -5
- package/dist/v2/helpers/get-servers.js +0 -66
- package/dist/v2/helpers/get-tab-details.js +0 -34
- package/dist/v2/helpers/handle-hotkeys.js +0 -54
- package/dist/v2/helpers/is-url.js +0 -5
- package/dist/v2/helpers/slugify.js +0 -4
- package/dist/v2/helpers/storage.js +0 -16
- package/dist/v2/hooks/use-color-mode.js +0 -24
- package/dist/v2/hooks/use-global-hot-keys.js +0 -11
- package/dist/v2/hooks/use-scroll-lock.js +0 -21
- package/dist/v2/workspace-events.js +0 -252
- package/dist/views/Collection/Collection.vue.js +0 -4
- package/dist/views/Collection/Collection.vue2.js +0 -49
- package/dist/views/Collection/CollectionAuthentication.vue.js +0 -7
- package/dist/views/Collection/CollectionAuthentication.vue2.js +0 -56
- package/dist/views/Collection/CollectionCookies.vue.js +0 -4
- package/dist/views/Collection/CollectionCookies.vue2.js +0 -16
- package/dist/views/Collection/CollectionEnvironment.vue.js +0 -5
- package/dist/views/Collection/CollectionEnvironment.vue2.js +0 -229
- package/dist/views/Collection/CollectionInfoForm.vue.js +0 -7
- package/dist/views/Collection/CollectionInfoForm.vue2.js +0 -63
- package/dist/views/Collection/CollectionNavigation.vue.js +0 -133
- package/dist/views/Collection/CollectionNavigation.vue2.js +0 -4
- package/dist/views/Collection/CollectionOverview.vue.js +0 -4
- package/dist/views/Collection/CollectionOverview.vue2.js +0 -34
- package/dist/views/Collection/CollectionScripts.vue.js +0 -4
- package/dist/views/Collection/CollectionScripts.vue2.js +0 -16
- package/dist/views/Collection/CollectionServerForm.vue.js +0 -75
- package/dist/views/Collection/CollectionServerForm.vue2.js +0 -4
- package/dist/views/Collection/CollectionServers.vue.js +0 -4
- package/dist/views/Collection/CollectionServers.vue2.js +0 -94
- package/dist/views/Collection/CollectionSettings.vue.js +0 -4
- package/dist/views/Collection/CollectionSettings.vue2.js +0 -118
- package/dist/views/Collection/CollectionSync.vue.js +0 -4
- package/dist/views/Collection/CollectionSync.vue2.js +0 -16
- package/dist/views/Collection/components/EnvironmentForm.vue.js +0 -7
- package/dist/views/Collection/components/EnvironmentForm.vue2.js +0 -270
- package/dist/views/Collection/components/MarkdownInput.vue.js +0 -7
- package/dist/views/Collection/components/MarkdownInput.vue2.js +0 -100
- package/dist/views/Components/CodeSnippet/CodeSnippet.vue.js +0 -50
- package/dist/views/Components/CodeSnippet/CodeSnippet.vue2.js +0 -4
- package/dist/views/Components/CodeSnippet/helpers/convert-to-har-request.js +0 -62
- package/dist/views/Components/CodeSnippet/helpers/get-har-request.js +0 -82
- package/dist/views/Components/CodeSnippet/helpers/get-snippet.js +0 -30
- package/dist/views/Cookies/CookieForm.vue.js +0 -34
- package/dist/views/Cookies/CookieForm.vue2.js +0 -4
- package/dist/views/Cookies/CookieModal.vue.js +0 -7
- package/dist/views/Cookies/CookieModal.vue2.js +0 -88
- package/dist/views/Cookies/Cookies.vue.js +0 -4
- package/dist/views/Cookies/Cookies.vue2.js +0 -162
- package/dist/views/Environment/Environment.vue.js +0 -4
- package/dist/views/Environment/Environment.vue2.js +0 -402
- package/dist/views/Environment/EnvironmentColorModal.vue.js +0 -42
- package/dist/views/Environment/EnvironmentColorModal.vue2.js +0 -4
- package/dist/views/Environment/EnvironmentColors.vue.js +0 -118
- package/dist/views/Environment/EnvironmentColors.vue2.js +0 -4
- package/dist/views/Environment/EnvironmentModal.vue.js +0 -131
- package/dist/views/Environment/EnvironmentModal.vue2.js +0 -4
- package/dist/views/Environment/EnvironmentVariableDropdown.vue.js +0 -129
- package/dist/views/Environment/EnvironmentVariableDropdown.vue2.js +0 -4
- package/dist/views/Environment/handle-drag.js +0 -32
- package/dist/views/Request/Request.vue.js +0 -7
- package/dist/views/Request/Request.vue2.js +0 -105
- package/dist/views/Request/RequestRoot.vue.js +0 -7
- package/dist/views/Request/RequestRoot.vue2.js +0 -123
- package/dist/views/Request/RequestSection/RequestAuth/DeleteRequestAuthModal.vue.js +0 -52
- package/dist/views/Request/RequestSection/RequestAuth/DeleteRequestAuthModal.vue2.js +0 -4
- package/dist/views/Request/RequestSection/RequestAuth/OAuth2.vue.js +0 -246
- package/dist/views/Request/RequestSection/RequestAuth/OAuth2.vue2.js +0 -4
- package/dist/views/Request/RequestSection/RequestAuth/OAuthScopesInput.vue.js +0 -135
- package/dist/views/Request/RequestSection/RequestAuth/OAuthScopesInput.vue2.js +0 -4
- package/dist/views/Request/RequestSection/RequestAuth/RequestAuth.vue.js +0 -7
- package/dist/views/Request/RequestSection/RequestAuth/RequestAuth.vue2.js +0 -209
- package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTable.vue.js +0 -7
- package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTable.vue2.js +0 -116
- package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTableInput.vue.js +0 -50
- package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTableInput.vue2.js +0 -4
- package/dist/views/Request/RequestSection/RequestAuth/RequestAuthTab.vue.js +0 -219
- package/dist/views/Request/RequestSection/RequestAuth/RequestAuthTab.vue2.js +0 -4
- package/dist/views/Request/RequestSection/RequestAuth/helpers/restore-auth-from-local-storage.js +0 -28
- package/dist/views/Request/RequestSection/RequestBody.vue.js +0 -7
- package/dist/views/Request/RequestSection/RequestBody.vue2.js +0 -451
- package/dist/views/Request/RequestSection/RequestCodeExample.vue.js +0 -7
- package/dist/views/Request/RequestSection/RequestCodeExample.vue2.js +0 -170
- package/dist/views/Request/RequestSection/RequestParams.vue.js +0 -162
- package/dist/views/Request/RequestSection/RequestParams.vue2.js +0 -4
- package/dist/views/Request/RequestSection/RequestPathParams.vue.js +0 -96
- package/dist/views/Request/RequestSection/RequestPathParams.vue2.js +0 -4
- package/dist/views/Request/RequestSection/RequestSection.vue.js +0 -7
- package/dist/views/Request/RequestSection/RequestSection.vue2.js +0 -247
- package/dist/views/Request/RequestSection/RequestTable.vue.js +0 -7
- package/dist/views/Request/RequestSection/RequestTable.vue2.js +0 -227
- package/dist/views/Request/RequestSection/RequestTableTooltip.vue.js +0 -7
- package/dist/views/Request/RequestSection/RequestTableTooltip.vue2.js +0 -61
- package/dist/views/Request/RequestSection/helpers/filter-security-requirements.js +0 -29
- package/dist/views/Request/RequestSection/helpers/getting-started.js +0 -13
- package/dist/views/Request/RequestSection/helpers/update-scheme.js +0 -16
- package/dist/views/Request/RequestSidebar.vue.js +0 -7
- package/dist/views/Request/RequestSidebar.vue2.js +0 -341
- package/dist/views/Request/RequestSidebarItem.vue.js +0 -8
- package/dist/views/Request/RequestSidebarItem.vue2.js +0 -464
- package/dist/views/Request/RequestSidebarItemMenu.vue.js +0 -7
- package/dist/views/Request/RequestSidebarItemMenu.vue2.js +0 -236
- package/dist/views/Request/RequestSubpageHeader.vue.js +0 -7
- package/dist/views/Request/RequestSubpageHeader.vue2.js +0 -79
- package/dist/views/Request/ResponseSection/RequestHeaders.vue.js +0 -96
- package/dist/views/Request/ResponseSection/RequestHeaders.vue2.js +0 -4
- package/dist/views/Request/ResponseSection/ResponseBody.vue.js +0 -7
- package/dist/views/Request/ResponseSection/ResponseBody.vue2.js +0 -83
- package/dist/views/Request/ResponseSection/ResponseBodyDownload.vue.js +0 -36
- package/dist/views/Request/ResponseSection/ResponseBodyDownload.vue2.js +0 -4
- package/dist/views/Request/ResponseSection/ResponseBodyInfo.vue.js +0 -14
- package/dist/views/Request/ResponseSection/ResponseBodyPreview.vue.js +0 -7
- package/dist/views/Request/ResponseSection/ResponseBodyPreview.vue2.js +0 -63
- package/dist/views/Request/ResponseSection/ResponseBodyRaw.vue.js +0 -7
- package/dist/views/Request/ResponseSection/ResponseBodyRaw.vue2.js +0 -42
- package/dist/views/Request/ResponseSection/ResponseBodyStreaming.vue.js +0 -74
- package/dist/views/Request/ResponseSection/ResponseBodyStreaming.vue2.js +0 -4
- package/dist/views/Request/ResponseSection/ResponseBodyToggle.vue.js +0 -25
- package/dist/views/Request/ResponseSection/ResponseBodyToggle.vue2.js +0 -4
- package/dist/views/Request/ResponseSection/ResponseBodyVirtual.vue.js +0 -50
- package/dist/views/Request/ResponseSection/ResponseBodyVirtual.vue3.js +0 -5
- package/dist/views/Request/ResponseSection/ResponseCookies.vue.js +0 -51
- package/dist/views/Request/ResponseSection/ResponseCookies.vue2.js +0 -4
- package/dist/views/Request/ResponseSection/ResponseEmpty.vue.js +0 -7
- package/dist/views/Request/ResponseSection/ResponseEmpty.vue2.js +0 -103
- package/dist/views/Request/ResponseSection/ResponseHeaders.vue.js +0 -96
- package/dist/views/Request/ResponseSection/ResponseHeaders.vue2.js +0 -4
- package/dist/views/Request/ResponseSection/ResponseLoadingOverlay.vue.js +0 -7
- package/dist/views/Request/ResponseSection/ResponseLoadingOverlay.vue2.js +0 -38
- package/dist/views/Request/ResponseSection/ResponseMetaInformation.vue.js +0 -67
- package/dist/views/Request/ResponseSection/ResponseMetaInformation.vue2.js +0 -4
- package/dist/views/Request/ResponseSection/ResponseSection.vue.js +0 -7
- package/dist/views/Request/ResponseSection/ResponseSection.vue2.js +0 -189
- package/dist/views/Request/components/WorkspaceDropdown.vue.js +0 -182
- package/dist/views/Request/components/WorkspaceDropdown.vue2.js +0 -4
- package/dist/views/Request/consts/mediaTypes.js +0 -131
- package/dist/views/Request/consts/new-auth-options.js +0 -100
- package/dist/views/Request/handle-drag.js +0 -42
- package/dist/views/Request/hooks/useOpenApiWatcher.js +0 -57
- package/dist/views/Request/libs/auth.js +0 -52
- package/dist/views/Request/libs/oauth2.js +0 -127
- package/dist/views/Request/libs/request.js +0 -40
- package/dist/views/Request/libs/watch-mode.js +0 -337
- package/dist/views/Settings/Settings.vue.js +0 -4
- package/dist/views/Settings/Settings.vue2.js +0 -29
- package/dist/views/Settings/SettingsGeneral.vue.js +0 -286
- package/dist/views/Settings/SettingsGeneral.vue2.js +0 -4
- package/dist/views/Settings/components/SettingsAppearance.vue.js +0 -85
- package/dist/views/Settings/components/SettingsAppearance.vue2.js +0 -4
- package/dist/views/Settings/components/SettingsSection.vue.js +0 -24
- package/dist/views/Settings/components/SettingsSection.vue2.js +0 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommandPaletteImport-Diu5dDIY.js","names":["$attrs"],"sources":["../src/v2/features/command-palette/components/CommandActionForm.vue","../src/v2/features/command-palette/components/CommandActionForm.vue","../src/v2/features/command-palette/components/CommandActionInput.vue","../src/v2/features/command-palette/components/CommandActionInput.vue","../src/v2/helpers/is-url.ts","../src/v2/features/command-palette/helpers/get-openapi-document-details.ts","../src/v2/features/command-palette/helpers/is-postman-collection.ts","../src/v2/features/command-palette/helpers/get-postman-document-details.ts","../src/v2/features/command-palette/helpers/generate-unique-slug.ts","../src/v2/features/command-palette/helpers/import-document-to-workspace.ts","../src/v2/features/command-palette/helpers/get-openapi-from-postman.ts","../src/v2/features/command-palette/helpers/load-document-from-source.ts","../src/v2/features/command-palette/components/WatchModeToggle.vue","../src/v2/features/command-palette/components/WatchModeToggle.vue","../src/v2/features/command-palette/components/CommandPaletteImport.vue","../src/v2/features/command-palette/components/CommandPaletteImport.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Command Action Form Component\n *\n * A reusable form wrapper for command palette actions.\n * Provides a consistent layout with a main content area, optional controls,\n * and a submit button. Prevents form submission when disabled.\n *\n * @example\n * <CommandActionForm\n * :loader\n * :disabled=\"isDisabled\"\n * @submit=\"handleSubmit\"\n * @cancel=\"handleCancel\"\n * @back=\"handleBack\"\n * >\n * <!-- Main content goes in default slot -->\n * <CommandActionInput v-model=\"value\" />\n *\n * <!-- Optional controls in options slot -->\n * <template #options>\n * <ScalarCheckbox v-model=\"option\" />\n * </template>\n *\n * <!-- Custom submit button text -->\n * <template #submit>Create</template>\n * </CommandActionForm>\n */\nexport default {\n name: 'CommandActionForm',\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { ScalarButton, useBindCx, type LoadingState } from '@scalar/components'\n\nconst { loader, disabled = false } = defineProps<{\n /** Loading state from useLoadingState composable to show spinner on submit button */\n loader?: LoadingState\n /** Whether the form and submit button are disabled */\n disabled?: boolean\n}>()\n\nconst emit = defineEmits<{\n /** Emitted when the form is submitted (if not disabled) */\n (event: 'submit'): void\n /** Emitted when the action is cancelled */\n (event: 'cancel'): void\n /** Emitted when user presses back (e.g., Escape key) */\n (event: 'back', e: KeyboardEvent): void\n}>()\n\ndefineSlots<{\n /** Main content area for form inputs */\n default(): void\n /** Optional controls displayed before the submit button (e.g., checkboxes, toggles, dropdowns) */\n options(): void\n /** Custom text or content for the submit button (defaults to \"Continue\") */\n submit(): void\n}>()\n\nconst { cx } = useBindCx()\n\n/** Handle form submission, only emit if not disabled */\nconst handleSubmit = (): void => {\n if (!disabled) {\n emit('submit')\n }\n}\n</script>\n\n<template>\n <form\n class=\"flex w-full flex-col gap-3\"\n @keydown.enter.stop\n @submit.prevent.stop=\"handleSubmit\">\n <!-- Main content area with minimum height and rounded corners -->\n <div v-bind=\"cx('relative flex min-h-20 flex-col rounded')\">\n <slot />\n </div>\n\n <!-- Action bar with optional controls and submit button -->\n <div class=\"flex gap-2\">\n <!-- Optional controls slot (e.g., checkboxes, toggles) -->\n <div class=\"flex max-h-8 flex-1\">\n <slot name=\"options\" />\n </div>\n\n <!-- Submit button with customizable text -->\n <ScalarButton\n class=\"max-h-8 px-3 text-xs\"\n :disabled=\"disabled\"\n :loader\n type=\"submit\">\n <slot name=\"submit\">Continue</slot>\n </ScalarButton>\n </div>\n </form>\n</template>\n","<script lang=\"ts\">\n/**\n * Command Action Form Component\n *\n * A reusable form wrapper for command palette actions.\n * Provides a consistent layout with a main content area, optional controls,\n * and a submit button. Prevents form submission when disabled.\n *\n * @example\n * <CommandActionForm\n * :loader\n * :disabled=\"isDisabled\"\n * @submit=\"handleSubmit\"\n * @cancel=\"handleCancel\"\n * @back=\"handleBack\"\n * >\n * <!-- Main content goes in default slot -->\n * <CommandActionInput v-model=\"value\" />\n *\n * <!-- Optional controls in options slot -->\n * <template #options>\n * <ScalarCheckbox v-model=\"option\" />\n * </template>\n *\n * <!-- Custom submit button text -->\n * <template #submit>Create</template>\n * </CommandActionForm>\n */\nexport default {\n name: 'CommandActionForm',\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { ScalarButton, useBindCx, type LoadingState } from '@scalar/components'\n\nconst { loader, disabled = false } = defineProps<{\n /** Loading state from useLoadingState composable to show spinner on submit button */\n loader?: LoadingState\n /** Whether the form and submit button are disabled */\n disabled?: boolean\n}>()\n\nconst emit = defineEmits<{\n /** Emitted when the form is submitted (if not disabled) */\n (event: 'submit'): void\n /** Emitted when the action is cancelled */\n (event: 'cancel'): void\n /** Emitted when user presses back (e.g., Escape key) */\n (event: 'back', e: KeyboardEvent): void\n}>()\n\ndefineSlots<{\n /** Main content area for form inputs */\n default(): void\n /** Optional controls displayed before the submit button (e.g., checkboxes, toggles, dropdowns) */\n options(): void\n /** Custom text or content for the submit button (defaults to \"Continue\") */\n submit(): void\n}>()\n\nconst { cx } = useBindCx()\n\n/** Handle form submission, only emit if not disabled */\nconst handleSubmit = (): void => {\n if (!disabled) {\n emit('submit')\n }\n}\n</script>\n\n<template>\n <form\n class=\"flex w-full flex-col gap-3\"\n @keydown.enter.stop\n @submit.prevent.stop=\"handleSubmit\">\n <!-- Main content area with minimum height and rounded corners -->\n <div v-bind=\"cx('relative flex min-h-20 flex-col rounded')\">\n <slot />\n </div>\n\n <!-- Action bar with optional controls and submit button -->\n <div class=\"flex gap-2\">\n <!-- Optional controls slot (e.g., checkboxes, toggles) -->\n <div class=\"flex max-h-8 flex-1\">\n <slot name=\"options\" />\n </div>\n\n <!-- Submit button with customizable text -->\n <ScalarButton\n class=\"max-h-8 px-3 text-xs\"\n :disabled=\"disabled\"\n :loader\n type=\"submit\">\n <slot name=\"submit\">Continue</slot>\n </ScalarButton>\n </div>\n </form>\n</template>\n","<script lang=\"ts\">\n/**\n * Command Action Input Component\n *\n * A textarea input component for command palette actions.\n * Supports v-model binding, auto-focus, and special keyboard handling:\n * - Enter submits the parent form (unless Shift is held)\n * - Backspace emits delete event when input is empty (for navigation back)\n *\n * @example\n * <CommandActionInput\n * v-model=\"inputValue\"\n * placeholder=\"Enter name...\"\n * :autofocus=\"true\"\n * @delete=\"handleBack\"\n * />\n */\nexport default {\n name: 'CommandActionInput',\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, nextTick, onMounted, ref } from 'vue'\n\nconst {\n modelValue,\n placeholder,\n autofocus = true,\n} = defineProps<{\n /** Current value of the input */\n modelValue?: string\n /** Placeholder text shown when input is empty */\n placeholder?: string\n /** Whether to automatically focus the input when mounted */\n autofocus?: boolean\n}>()\n\nconst emit = defineEmits<{\n /** Emitted when the input value changes (v-model support) */\n (event: 'update:modelValue', value: string): void\n /** Emitted when backspace is pressed on empty input for navigation back */\n (event: 'delete', keyboardEvent: KeyboardEvent): void\n}>()\n\ndefineOptions({ inheritAttrs: false })\n\nconst input = ref<HTMLTextAreaElement | null>(null)\n\n/**\n * Two-way binding computed property for v-model support.\n * Ensures we always have a string value even if modelValue is undefined.\n */\nconst model = computed<string>({\n get: () => modelValue ?? '',\n set: (value) => emit('update:modelValue', value),\n})\n\n/**\n * Auto-focus the input after mounting if autofocus prop is true.\n * Uses nextTick to ensure the DOM is ready before focusing.\n */\nonMounted(() => {\n nextTick(() => {\n if (autofocus) {\n input.value?.focus()\n }\n })\n})\n\n/**\n * Handles Enter key to submit the parent form.\n * Shift+Enter is ignored to allow multi-line input if needed.\n */\nconst handleEnter = (event: KeyboardEvent): void => {\n if (event.shiftKey || !event.target) {\n return\n }\n\n event.preventDefault()\n\n const target = event.target as HTMLTextAreaElement\n const submitEvent = new Event('submit', { cancelable: true })\n target.form?.dispatchEvent(submitEvent)\n}\n\n/**\n * Handles Backspace key when input is empty.\n * Emits delete event to allow parent to navigate back or undo the last action.\n */\nconst handleDelete = (event: KeyboardEvent): void => {\n if (model.value !== '') {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n emit('delete', event)\n}\n</script>\n\n<template>\n <textarea\n id=\"command-action-input\"\n ref=\"input\"\n v-model=\"model\"\n class=\"min-h-8 w-full flex-1 resize-none border border-transparent py-1.5 pl-8.5 text-sm outline-none focus:border-b-1\"\n :placeholder=\"placeholder ?? ''\"\n wrap=\"hard\"\n v-bind=\"$attrs\"\n @keydown.delete=\"handleDelete\"\n @keydown.enter=\"handleEnter\" />\n</template>\n","<script lang=\"ts\">\n/**\n * Command Action Input Component\n *\n * A textarea input component for command palette actions.\n * Supports v-model binding, auto-focus, and special keyboard handling:\n * - Enter submits the parent form (unless Shift is held)\n * - Backspace emits delete event when input is empty (for navigation back)\n *\n * @example\n * <CommandActionInput\n * v-model=\"inputValue\"\n * placeholder=\"Enter name...\"\n * :autofocus=\"true\"\n * @delete=\"handleBack\"\n * />\n */\nexport default {\n name: 'CommandActionInput',\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, nextTick, onMounted, ref } from 'vue'\n\nconst {\n modelValue,\n placeholder,\n autofocus = true,\n} = defineProps<{\n /** Current value of the input */\n modelValue?: string\n /** Placeholder text shown when input is empty */\n placeholder?: string\n /** Whether to automatically focus the input when mounted */\n autofocus?: boolean\n}>()\n\nconst emit = defineEmits<{\n /** Emitted when the input value changes (v-model support) */\n (event: 'update:modelValue', value: string): void\n /** Emitted when backspace is pressed on empty input for navigation back */\n (event: 'delete', keyboardEvent: KeyboardEvent): void\n}>()\n\ndefineOptions({ inheritAttrs: false })\n\nconst input = ref<HTMLTextAreaElement | null>(null)\n\n/**\n * Two-way binding computed property for v-model support.\n * Ensures we always have a string value even if modelValue is undefined.\n */\nconst model = computed<string>({\n get: () => modelValue ?? '',\n set: (value) => emit('update:modelValue', value),\n})\n\n/**\n * Auto-focus the input after mounting if autofocus prop is true.\n * Uses nextTick to ensure the DOM is ready before focusing.\n */\nonMounted(() => {\n nextTick(() => {\n if (autofocus) {\n input.value?.focus()\n }\n })\n})\n\n/**\n * Handles Enter key to submit the parent form.\n * Shift+Enter is ignored to allow multi-line input if needed.\n */\nconst handleEnter = (event: KeyboardEvent): void => {\n if (event.shiftKey || !event.target) {\n return\n }\n\n event.preventDefault()\n\n const target = event.target as HTMLTextAreaElement\n const submitEvent = new Event('submit', { cancelable: true })\n target.form?.dispatchEvent(submitEvent)\n}\n\n/**\n * Handles Backspace key when input is empty.\n * Emits delete event to allow parent to navigate back or undo the last action.\n */\nconst handleDelete = (event: KeyboardEvent): void => {\n if (model.value !== '') {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n emit('delete', event)\n}\n</script>\n\n<template>\n <textarea\n id=\"command-action-input\"\n ref=\"input\"\n v-model=\"model\"\n class=\"min-h-8 w-full flex-1 resize-none border border-transparent py-1.5 pl-8.5 text-sm outline-none focus:border-b-1\"\n :placeholder=\"placeholder ?? ''\"\n wrap=\"hard\"\n v-bind=\"$attrs\"\n @keydown.delete=\"handleDelete\"\n @keydown.enter=\"handleEnter\" />\n</template>\n","import { isValidUrl } from '@scalar/helpers/url/is-valid-url'\n\nexport const isUrl = (input: string) => {\n return (input.startsWith('http://') || input.startsWith('https://')) && isValidUrl(input)\n}\n","import { json, yaml } from '@scalar/oas-utils/helpers'\n\nimport { isUrl } from '@/v2/helpers/is-url'\n\n/**\n * Represents parsed details from an OpenAPI or Swagger specification.\n * Used to display information about imported API descriptions in the command palette.\n */\ntype OpenApiDocumentDetails = {\n /** The API specification version (e.g., \"OpenAPI 3.1.0\" or \"Swagger 2.0\"). */\n version: string\n /** The format of the specification document. */\n type: 'json' | 'yaml'\n /** The API title extracted from the info object, if available. */\n title: string | undefined\n}\n\n/**\n * Represents the minimal structure of a parsed API description document.\n * Used for type safety when checking for OpenAPI or Swagger properties.\n */\ntype ParsedApiDocument = {\n openapi?: string\n swagger?: string\n info?: {\n title?: string\n }\n}\n\n/**\n * Extracts the title from the info object of an API description.\n * Returns undefined if the title is not a string or does not exist.\n */\nconst extractTitle = (info: ParsedApiDocument['info']): string | undefined => {\n return typeof info?.title === 'string' ? info.title : undefined\n}\n\n/**\n * Attempts to extract OpenAPI document details from a parsed document.\n * Checks for both OpenAPI and Swagger specifications.\n */\nconst parseDocumentDetails = (\n document: ParsedApiDocument,\n type: 'json' | 'yaml',\n): OpenApiDocumentDetails | undefined => {\n if (typeof document.openapi === 'string') {\n return {\n version: `OpenAPI ${document.openapi}`,\n type,\n title: extractTitle(document.info),\n }\n }\n\n if (typeof document.swagger === 'string') {\n return {\n version: `Swagger ${document.swagger}`,\n type,\n title: extractTitle(document.info),\n }\n }\n\n return undefined\n}\n\n/**\n * Attempts to parse the input string with the given parser function.\n * Returns undefined if parsing fails.\n */\nconst tryParse = (\n input: string,\n parser: (input: string) => unknown,\n type: 'json' | 'yaml',\n): OpenApiDocumentDetails | undefined => {\n try {\n const result = parser(input) as ParsedApiDocument\n return parseDocumentDetails(result, type)\n } catch {\n // Parsing failed, which is expected for invalid or non-matching formats\n return undefined\n }\n}\n\n/**\n * Extracts OpenAPI or Swagger specification details from a string.\n * Attempts to parse as JSON first, then YAML if JSON parsing fails.\n *\n * Returns undefined if:\n * - Input is null, empty, or a URL\n * - Input is not a valid JSON or YAML document\n * - Document does not contain OpenAPI or Swagger version information\n */\nexport const getOpenApiDocumentDetails = (input: string | null): OpenApiDocumentDetails | undefined => {\n if (!input || isUrl(input)) {\n return undefined\n }\n\n // Try parsing as JSON first\n const jsonResult = tryParse(input, json.parse, 'json')\n if (jsonResult) {\n return jsonResult\n }\n\n // Fall back to YAML parsing\n return tryParse(input, yaml.parse, 'yaml')\n}\n","/**\n * Checks if the given string content is a Postman collection.\n *\n * Validates by checking for the `_postman_id` in the info object\n * and ensuring the schema URL's host matches 'schema.getpostman.com'.\n *\n * @param content - The JSON string which may be a Postman collection\n * @returns True if the content is a valid Postman collection\n */\nexport const isPostmanCollection = (content: string): boolean => {\n try {\n const parsed = JSON.parse(content)\n\n const hasPostmanId = parsed.info?._postman_id !== undefined\n const hasValidSchema = parsed.info?.schema && new URL(parsed.info.schema).host === 'schema.getpostman.com'\n\n return hasPostmanId && hasValidSchema\n } catch {\n return false\n }\n}\n","import { isPostmanCollection } from '@/v2/features/command-palette/helpers/is-postman-collection'\n\n/**\n * Represents the extracted details from a Postman collection.\n * Used to display collection metadata in the command palette import UI.\n */\ntype PostmanDocumentDetails = {\n /** The document format type. */\n type: string\n /** The name of the Postman collection. */\n title: string\n /** The version of the Postman collection. */\n version: string\n}\n\n/**\n * Extracts document details from a Postman collection JSON string.\n *\n * We parse and validate in a single pass to avoid the performance cost\n * of parsing the JSON twice.\n *\n * @param content - The JSON string representing the Postman collection\n * @returns The collection details if valid, null otherwise\n */\nexport const getPostmanDocumentDetails = (content: string): PostmanDocumentDetails | null => {\n if (!isPostmanCollection(content)) {\n return null\n }\n\n try {\n const parsed = JSON.parse(content)\n\n return {\n type: 'json',\n title: parsed.info?.name || 'Postman Collection',\n version: parsed.info?.version || '1.0',\n }\n } catch {\n return null\n }\n}\n","import { generateUniqueValue } from '@scalar/workspace-store/helpers/generate-unique-value'\n\nimport { slugify } from '@/v2/helpers/slugify'\n\n/**\n * Generates a unique slug for an imported document based on its title.\n *\n * This ensures the imported document does not conflict with existing documents\n * by appending a number suffix if necessary (e.g., \"my-api\", \"my-api-1\", \"my-api-2\").\n *\n * The function will retry up to 100 times to find a unique slug. If all attempts fail,\n * it returns null, which should be handled as an import error.\n *\n * @param defaultValue - The original document title to base the slug on\n * @param currentDocuments - Set of existing document slugs to check against\n *\n * @returns Promise resolving to a unique slug, or null if unable to generate one\n */\nexport const generateUniqueSlug = async (defaultValue: string | undefined, currentDocuments: Set<string>) => {\n return await generateUniqueValue({\n defaultValue: defaultValue ?? 'default',\n validation: (value) => !currentDocuments.has(value),\n maxRetries: 100,\n transformation: slugify,\n })\n}\n","import type { WorkspaceStore } from '@scalar/workspace-store/client'\nimport type { InMemoryWorkspace } from '@scalar/workspace-store/schemas/inmemory-workspace'\n\nimport { generateUniqueSlug } from '@/v2/features/command-palette/helpers/generate-unique-slug'\n\n/**\n * Imports a single document from a workspace state into the current workspace.\n *\n * This function handles the complete import process including slug generation,\n * document loading, and sidebar updates. It ensures the imported document does not\n * conflict with existing documents by generating a unique slug.\n *\n * The meta from the importing workspace is intentionally excluded to preserve\n * the current workspace settings and avoid unintended configuration changes.\n *\n * @param workspaceStore - The active workspace store where the document will be imported\n * @param workspaceState - The in-memory workspace containing the document to import\n * @param name - The original slug/name of the document in the source workspace state\n *\n * @returns Promise that resolves to the slug of the imported document\n */\nexport const importDocumentToWorkspace = async ({\n workspaceStore,\n workspaceState,\n name,\n}: {\n workspaceStore: WorkspaceStore | null\n workspaceState: InMemoryWorkspace\n name: string\n}): Promise<{ ok: true; slug: string } | { ok: false; error: string }> => {\n if (!workspaceStore) {\n return { ok: false, error: 'Workspace store is not available' }\n }\n\n const importingDocument = workspaceState.documents[name]\n if (!importingDocument) {\n return { ok: false, error: 'Importing document not found in workspace state' }\n }\n\n const currentDocuments = new Set(Object.keys(workspaceStore.workspace.documents))\n\n /**\n * Generate a unique slug to avoid naming conflicts with existing documents.\n * The slug is based on the document title but modified if necessary to ensure uniqueness.\n */\n const slug = await generateUniqueSlug(importingDocument.info.title || 'default', currentDocuments)\n if (!slug) {\n return { ok: false, error: 'Failed to generate a unique slug for the importing document' }\n }\n\n /**\n * Load the document along with all its associated data structures.\n * We intentionally pass an empty meta object to preserve the current workspace settings.\n */\n workspaceStore.loadWorkspace({\n meta: {},\n documents: {\n [slug]: importingDocument,\n },\n intermediateDocuments: {\n [slug]: workspaceState.intermediateDocuments[name] ?? {},\n },\n originalDocuments: {\n [slug]: workspaceState.originalDocuments[name] ?? {},\n },\n overrides: {\n [slug]: workspaceState.overrides[name] ?? {},\n },\n history: {},\n auth: {},\n })\n\n /**\n * Rebuild the sidebar to update all internal references from the old slug to the new one.\n * This ensures the document appears correctly in the sidebar navigation.\n */\n workspaceStore.buildSidebar(slug)\n\n /**\n * Persist the imported document and the changes made during sidebar rebuilding.\n * Without this, the import would be lost on page refresh.\n */\n await workspaceStore.saveDocument(slug)\n\n return { ok: true, slug }\n}\n","import { convert } from '@scalar/postman-to-openapi'\n\n/**\n * Converts a Postman collection JSON string to an OpenAPI specification document.\n *\n * This function transforms a Postman collection into a valid OpenAPI 3.1 document\n * that can be used throughout the application. The convert function handles parsing\n * and transformation internally.\n *\n * Returns null if the conversion fails due to invalid Postman collection structure\n */\nexport const getOpenApiFromPostman = (postmanJson: string) => {\n try {\n // The convert function accepts a string and handles parsing internally\n return convert(postmanJson)\n } catch {\n return null\n }\n}\n","import { isObject } from '@scalar/helpers/object/is-object'\nimport type { LoaderPlugin } from '@scalar/json-magic/bundle'\nimport { parseJson, parseYaml } from '@scalar/json-magic/bundle/plugins/browser'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\n\nimport { getOpenApiFromPostman } from '@/v2/features/command-palette/helpers/get-openapi-from-postman'\nimport { isPostmanCollection } from '@/v2/features/command-palette/helpers/is-postman-collection'\n\nexport type ImportEventData = {\n source: string\n type: 'url' | 'file' | 'raw'\n}\n\n/**\n * Loader plugin to detect and convert Postman collections into OpenAPI documents\n */\nconst readPostmanCollection = (): LoaderPlugin => {\n return {\n type: 'loader',\n validate: isPostmanCollection,\n exec: (source: string) => {\n try {\n const document = getOpenApiFromPostman(source)\n\n if (document) {\n return Promise.resolve({\n ok: true,\n data: document,\n raw: source,\n })\n }\n\n return Promise.resolve({\n ok: false,\n })\n } catch {\n return Promise.resolve({\n ok: false,\n })\n }\n },\n }\n}\n\n/**\n * Attempts to add a document to the workspace from a given source, which may be a URL or raw content.\n *\n * - If the source is a URL, adds the document by its URL and includes a watch mode flag as metadata.\n * - If the source is a Postman collection, transforms it to OpenAPI and adds it as a document.\n * - For other raw sources (such as pasted JSON or YAML), attempts to normalize and add them as a document.\n *\n * @param workspaceStore The workspace store where the document will be added.\n * @param source The document source (URL, Postman Collection, JSON, or YAML string).\n * @param name The display name for the new document.\n * @param watchMode Whether to enable watch mode (applies only to URL sources).\n * @returns Promise resolving to true if the document was successfully added, or false if the operation failed.\n */\nexport const loadDocumentFromSource = async (\n workspaceStore: WorkspaceStore,\n importEventData: ImportEventData,\n name: string,\n watchMode: boolean,\n): Promise<boolean> => {\n const { source, type } = importEventData\n if (!source) {\n // No source provided, do nothing.\n return false\n }\n\n // If the source is a URL, add it directly with watch mode metadata.\n if (type === 'url') {\n return await workspaceStore.addDocument({\n name,\n url: source,\n meta: {\n 'x-scalar-watch-mode': watchMode,\n },\n })\n }\n\n if (type === 'file') {\n return await workspaceStore.addDocument({\n name,\n path: source,\n })\n }\n\n const loaders = [readPostmanCollection(), parseJson(), parseYaml()]\n const loader = loaders.find((l) => l.validate(source))\n\n // If no loader is found, return false\n if (!loader) {\n return false\n }\n\n // Execute the loader\n const result = await loader.exec(source)\n // If the loader failed, return false\n if (!result.ok) {\n return false\n }\n\n if (!isObject(result.data)) {\n return false\n }\n\n const addDocumentResult = await workspaceStore.addDocument({\n name,\n document: result.data,\n })\n\n if (!addDocumentResult) {\n return false\n }\n\n return true\n}\n","<script lang=\"ts\">\n/**\n * Watch Mode Toggle Component\n *\n * A toggle switch for enabling/disabling watch mode on URL imports.\n * When enabled, the API client automatically updates when the OpenAPI URL\n * content changes, ensuring the client remains up-to-date.\n *\n * Supports v-model for two-way binding and can be disabled when needed\n * (e.g., when importing from files instead of URLs).\n *\n * @example\n * <WatchModeToggle\n * v-model=\"watchMode\"\n * :disabled=\"!isUrlImport\"\n * />\n */\nexport default {}\n</script>\n\n<script setup lang=\"ts\">\nimport { ScalarIcon, ScalarToggle } from '@scalar/components'\nimport { computed } from 'vue'\n\nconst { modelValue, disabled = false } = defineProps<{\n /** Whether watch mode is currently enabled */\n modelValue: boolean\n /** Whether the toggle is disabled (e.g., for non-URL imports) */\n disabled?: boolean\n}>()\n\nconst emit = defineEmits<{\n /** Emitted when the toggle state changes (v-model support) */\n (event: 'update:modelValue', value: boolean): void\n}>()\n\n/** Two-way binding computed property for v-model support */\nconst model = computed<boolean>({\n get: () => modelValue,\n set: (value: boolean) => emit('update:modelValue', value),\n})\n</script>\n\n<template>\n <label\n class=\"text-c-2 flex items-center gap-2 rounded p-3 py-1.5 text-sm select-none\"\n :class=\"disabled ? 'cursor-default' : 'cursor-pointer'\"\n for=\"watch-toggle\">\n <!-- Watch mode label with icon -->\n <span\n class=\"text-c-1 flex items-center gap-1 text-xs font-medium\"\n :class=\"{ 'text-c-3': !modelValue }\">\n <ScalarIcon\n icon=\"Watch\"\n size=\"sm\" />\n Watch Mode\n </span>\n\n <!-- Toggle switch -->\n <ScalarToggle\n id=\"watch-toggle\"\n v-model=\"model\"\n :disabled=\"disabled\" />\n </label>\n</template>\n","<script lang=\"ts\">\n/**\n * Watch Mode Toggle Component\n *\n * A toggle switch for enabling/disabling watch mode on URL imports.\n * When enabled, the API client automatically updates when the OpenAPI URL\n * content changes, ensuring the client remains up-to-date.\n *\n * Supports v-model for two-way binding and can be disabled when needed\n * (e.g., when importing from files instead of URLs).\n *\n * @example\n * <WatchModeToggle\n * v-model=\"watchMode\"\n * :disabled=\"!isUrlImport\"\n * />\n */\nexport default {}\n</script>\n\n<script setup lang=\"ts\">\nimport { ScalarIcon, ScalarToggle } from '@scalar/components'\nimport { computed } from 'vue'\n\nconst { modelValue, disabled = false } = defineProps<{\n /** Whether watch mode is currently enabled */\n modelValue: boolean\n /** Whether the toggle is disabled (e.g., for non-URL imports) */\n disabled?: boolean\n}>()\n\nconst emit = defineEmits<{\n /** Emitted when the toggle state changes (v-model support) */\n (event: 'update:modelValue', value: boolean): void\n}>()\n\n/** Two-way binding computed property for v-model support */\nconst model = computed<boolean>({\n get: () => modelValue,\n set: (value: boolean) => emit('update:modelValue', value),\n})\n</script>\n\n<template>\n <label\n class=\"text-c-2 flex items-center gap-2 rounded p-3 py-1.5 text-sm select-none\"\n :class=\"disabled ? 'cursor-default' : 'cursor-pointer'\"\n for=\"watch-toggle\">\n <!-- Watch mode label with icon -->\n <span\n class=\"text-c-1 flex items-center gap-1 text-xs font-medium\"\n :class=\"{ 'text-c-3': !modelValue }\">\n <ScalarIcon\n icon=\"Watch\"\n size=\"sm\" />\n Watch Mode\n </span>\n\n <!-- Toggle switch -->\n <ScalarToggle\n id=\"watch-toggle\"\n v-model=\"model\"\n :disabled=\"disabled\" />\n </label>\n</template>\n","<script lang=\"ts\">\n/**\n * Command Palette Import Component\n *\n * Provides a form for importing API specifications from various sources:\n * - OpenAPI/Swagger documents (URL, file, or pasted JSON/YAML)\n * - Postman collections (URL, file, or pasted JSON)\n * - cURL commands (automatically redirects to cURL import command)\n *\n * Supports watch mode for URL imports to automatically update when content changes.\n *\n * @example\n * <CommandPaletteImport\n * :workspaceStore=\"workspaceStore\"\n * @close=\"handleClose\"\n * @back=\"handleBack\"\n * @open-command=\"handleOpenCommand\"\n * />\n *\n * @example Custom file upload button\n * <CommandPaletteImport\n * :workspaceStore=\"workspaceStore\"\n * @close=\"handleClose\">\n * <template #fileUpload=\"{ import: importDocument }\">\n * <button @click=\"() => importDocument(source, 'file')\">\n * Custom Upload\n * </button>\n * </template>\n * </CommandPaletteImport>\n */\nexport default {\n name: 'CommandPaletteImport',\n}\n</script>\n\n<script setup lang=\"ts\">\nimport {\n ScalarButton,\n ScalarCodeBlock,\n ScalarIcon,\n ScalarTooltip,\n useLoadingState,\n} from '@scalar/components'\nimport { isLocalUrl } from '@scalar/helpers/url/is-local-url'\nimport type { LoaderPlugin } from '@scalar/json-magic/bundle'\nimport { useToasts } from '@scalar/use-toasts'\nimport {\n createWorkspaceStore,\n type WorkspaceStore,\n} from '@scalar/workspace-store/client'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { computed, ref, watch } from 'vue'\nimport { useRouter } from 'vue-router'\n\nimport { useFileDialog } from '@/hooks'\nimport { getOpenApiDocumentDetails } from '@/v2/features/command-palette/helpers/get-openapi-document-details'\nimport { getPostmanDocumentDetails } from '@/v2/features/command-palette/helpers/get-postman-document-details'\nimport { importDocumentToWorkspace } from '@/v2/features/command-palette/helpers/import-document-to-workspace'\nimport { isPostmanCollection } from '@/v2/features/command-palette/helpers/is-postman-collection'\nimport {\n loadDocumentFromSource,\n type ImportEventData,\n} from '@/v2/features/command-palette/helpers/load-document-from-source'\nimport { isUrl } from '@/v2/helpers/is-url'\n\nimport CommandActionForm from './CommandActionForm.vue'\nimport CommandActionInput from './CommandActionInput.vue'\nimport WatchModeToggle from './WatchModeToggle.vue'\n\nconst { workspaceStore, eventBus, fileLoader } = defineProps<{\n /** The workspace store for adding documents */\n workspaceStore: WorkspaceStore\n /** Event bus for emitting operation creation events */\n eventBus: WorkspaceEventBus\n /** Loader plugin for file import */\n fileLoader?: LoaderPlugin\n}>()\n\nconst emit = defineEmits<{\n /** Emitted when the import is complete or cancelled */\n (event: 'close'): void\n /** Emitted when user navigates back (e.g., backspace on empty input) */\n (event: 'back', keyboardEvent: KeyboardEvent): void\n}>()\n\ndefineSlots<{\n /** Slot for custom file upload component that can trigger import */\n fileUpload(props: {\n /** Function to trigger import with source content and type */\n import: (source: string, type: 'file' | 'raw') => Promise<void>\n }): void\n}>()\n\nconst { toast } = useToasts()\n\nconst router = useRouter()\nconst loader = useLoadingState()\n\nconst inputContent = ref('')\nconst watchMode = ref(false)\n\n/** Check if the input content is a URL */\nconst isUrlInput = computed<boolean>(() => isUrl(inputContent.value))\nconst isLocalUrlInput = computed<boolean>(\n () => isUrlInput.value && isLocalUrl(inputContent.value),\n)\n\n/** Get document details based on the content type (Postman or OpenAPI) */\nconst documentDetails = computed(() => {\n if (isPostmanCollection(inputContent.value)) {\n return getPostmanDocumentDetails(inputContent.value)\n }\n return getOpenApiDocumentDetails(inputContent.value)\n})\n\n/** Get the document type for syntax highlighting */\nconst documentType = computed<string>(() =>\n documentDetails.value ? documentDetails.value.type : 'json',\n)\n\n/** Check if the form should be disabled (when input is empty) */\nconst isDisabled = computed<boolean>(() => {\n return !inputContent.value.trim()\n})\n\n/**\n * Toggle watchMode based on whether the input is a local URL.\n * Only enables watch mode for local URLs, not for files or pasted content.\n */\nwatch(isLocalUrlInput, (value: boolean) => {\n watchMode.value = value\n})\n\n/**\n * Handles errors during the import process.\n * Shows an error toast, invalidates the loader to show an error state,\n * and closes the command palette modal.\n *\n * @param errorMessage - The error message to display and log\n */\nconst handleImportError = async (errorMessage: string) => {\n // Log the error\n console.error(errorMessage)\n toast(errorMessage, 'error')\n\n // Invalidate the loader to show the error state\n await loader.invalidate()\n\n // Close the command palette\n emit('close')\n}\n\n/**\n * Directly imports a document into the workspace without showing the modal.\n * This is used when there is only one workspace and it is empty.\n */\nconst handleImport = async (\n newSource: string,\n type?: ImportEventData['type'],\n): Promise<void> => {\n loader.start()\n\n const TEMP_DOCUMENT_NAME = 'drafts'\n\n // First load the document into a draft store\n // This is to get the title of the document so we can generate a unique slug for store\n const draftStore = createWorkspaceStore({\n fileLoader,\n meta: {\n /** Ensure we use the active proxy to fetch documents */\n 'x-scalar-active-proxy':\n workspaceStore.workspace['x-scalar-active-proxy'],\n },\n })\n\n const eventType = (() => {\n if (type) {\n return type\n }\n\n if (isUrlInput.value) {\n return 'url'\n }\n\n return 'raw'\n })()\n\n const isSuccessfullyLoaded = await loadDocumentFromSource(\n draftStore,\n { source: newSource, type: eventType },\n TEMP_DOCUMENT_NAME,\n watchMode.value,\n )\n\n if (!isSuccessfullyLoaded) {\n return handleImportError('Failed to import document')\n }\n\n const importResult = await importDocumentToWorkspace({\n workspaceStore,\n workspaceState: draftStore.exportWorkspace(),\n name: TEMP_DOCUMENT_NAME,\n })\n\n if (!importResult.ok) {\n return handleImportError(importResult.error)\n }\n\n // Validate the loader to show the success state\n await loader.validate()\n\n // Navigate to the document overview page\n navigateToDocument(importResult.slug)\n\n // Close the command palette\n emit('close')\n}\n\n/** Navigate to the document overview page after successful import */\nconst navigateToDocument = (documentName: string): void => {\n router.push({\n name: 'document.overview',\n params: { documentSlug: documentName },\n })\n}\n\n/**\n * Handle file selection and import from file dialog.\n * Reads the file as text and imports it as OpenAPI or Postman collection.\n * Shows loading state during the import process.\n */\nconst { open: openSpecFileDialog } = useFileDialog({\n onChange: (files) => {\n const [file] = files ?? []\n\n if (!file) {\n return\n }\n\n loader.start()\n\n const onLoad = async (event: ProgressEvent<FileReader>): Promise<void> => {\n const text = event.target?.result as string\n // Import file as raw content since we are in a browser environment\n await handleImport(text, 'raw')\n }\n\n const reader = new FileReader()\n reader.onload = onLoad\n reader.readAsText(file)\n },\n multiple: false,\n accept: '.json,.yaml,.yml',\n})\n\n/**\n * Handle input changes.\n * Detects cURL commands and redirects to the cURL import command.\n */\nconst handleInput = (value: string): void => {\n /** Redirect to cURL import command if input starts with 'curl' */\n if (value.trim().toLowerCase().startsWith('curl')) {\n return eventBus.emit('ui:open:command-palette', {\n action: 'import-curl-command',\n payload: {\n inputValue: value,\n },\n })\n }\n\n inputContent.value = value\n}\n\n/** Handle back navigation when user presses backspace on empty input */\nconst handleBack = (event: KeyboardEvent): void => {\n emit('back', event)\n}\n</script>\n<template>\n <CommandActionForm\n :disabled=\"isDisabled\"\n :loader\n @submit=\"handleImport(inputContent)\">\n <!-- URL or cURL input mode -->\n <template v-if=\"!documentDetails || isUrlInput\">\n <CommandActionInput\n :modelValue=\"inputContent\"\n placeholder=\"OpenAPI/Swagger/Postman URL or cURL\"\n @delete=\"handleBack\"\n @update:modelValue=\"handleInput\" />\n </template>\n\n <!-- Preview mode for pasted content -->\n <template v-else>\n <!-- Preview header with clear button -->\n <div class=\"flex justify-between\">\n <div class=\"text-c-2 min-h-8 w-full py-2 pl-12 text-center text-xs\">\n Preview\n </div>\n <ScalarButton\n class=\"hover:bg-b-2 relative ml-auto max-h-8 gap-1.5 p-2 text-xs\"\n variant=\"ghost\"\n @click=\"inputContent = ''\">\n Clear\n </ScalarButton>\n </div>\n\n <!-- Code preview with syntax highlighting -->\n <ScalarCodeBlock\n v-if=\"documentDetails && !isUrlInput\"\n class=\"bg-b-2 mt-1 max-h-[40dvh] rounded border px-2 py-1 text-sm\"\n :content=\"inputContent\"\n :copy=\"false\"\n :lang=\"documentType\" />\n </template>\n\n <!-- Actions: File upload and watch mode toggle -->\n <template #options>\n <div class=\"flex w-full flex-row items-center justify-between gap-3\">\n <!-- Custom file upload slot or default button -->\n <slot\n :import=\"handleImport\"\n name=\"fileUpload\">\n <!-- Default file upload button -->\n <ScalarButton\n class=\"hover:bg-b-2 relative max-h-8 gap-1.5 p-2 text-xs\"\n variant=\"outlined\"\n @click=\"openSpecFileDialog\">\n JSON, or YAML File\n <ScalarIcon\n class=\"text-c-3\"\n icon=\"Upload\"\n size=\"md\" />\n </ScalarButton>\n </slot>\n\n <!-- Watch mode toggle (only enabled for URL imports) -->\n <ScalarTooltip\n :content=\"\n isUrlInput\n ? 'Watch mode automatically updates the API client when the OpenAPI URL content changes, ensuring your client remains up-to-date.'\n : 'Watch mode is only available for URL imports. When enabled it automatically updates the API client when the OpenAPI URL content changes.'\n \"\n placement=\"bottom\">\n <WatchModeToggle\n v-model=\"watchMode\"\n :disabled=\"!isUrlInput\" />\n </ScalarTooltip>\n </div>\n </template>\n\n <!-- Dynamic submit button text based on import type -->\n <template #submit>\n Import\n <template v-if=\"isUrlInput\">from URL</template>\n <template v-else-if=\"documentDetails && documentType\">\n <template v-if=\"documentDetails.title\">\n \"{{ documentDetails.title }}\"\n </template>\n <template v-else>\n {{ documentDetails.version }}\n </template>\n </template>\n <template v-else>Collection</template>\n </template>\n </CommandActionForm>\n</template>\n","<script lang=\"ts\">\n/**\n * Command Palette Import Component\n *\n * Provides a form for importing API specifications from various sources:\n * - OpenAPI/Swagger documents (URL, file, or pasted JSON/YAML)\n * - Postman collections (URL, file, or pasted JSON)\n * - cURL commands (automatically redirects to cURL import command)\n *\n * Supports watch mode for URL imports to automatically update when content changes.\n *\n * @example\n * <CommandPaletteImport\n * :workspaceStore=\"workspaceStore\"\n * @close=\"handleClose\"\n * @back=\"handleBack\"\n * @open-command=\"handleOpenCommand\"\n * />\n *\n * @example Custom file upload button\n * <CommandPaletteImport\n * :workspaceStore=\"workspaceStore\"\n * @close=\"handleClose\">\n * <template #fileUpload=\"{ import: importDocument }\">\n * <button @click=\"() => importDocument(source, 'file')\">\n * Custom Upload\n * </button>\n * </template>\n * </CommandPaletteImport>\n */\nexport default {\n name: 'CommandPaletteImport',\n}\n</script>\n\n<script setup lang=\"ts\">\nimport {\n ScalarButton,\n ScalarCodeBlock,\n ScalarIcon,\n ScalarTooltip,\n useLoadingState,\n} from '@scalar/components'\nimport { isLocalUrl } from '@scalar/helpers/url/is-local-url'\nimport type { LoaderPlugin } from '@scalar/json-magic/bundle'\nimport { useToasts } from '@scalar/use-toasts'\nimport {\n createWorkspaceStore,\n type WorkspaceStore,\n} from '@scalar/workspace-store/client'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { computed, ref, watch } from 'vue'\nimport { useRouter } from 'vue-router'\n\nimport { useFileDialog } from '@/hooks'\nimport { getOpenApiDocumentDetails } from '@/v2/features/command-palette/helpers/get-openapi-document-details'\nimport { getPostmanDocumentDetails } from '@/v2/features/command-palette/helpers/get-postman-document-details'\nimport { importDocumentToWorkspace } from '@/v2/features/command-palette/helpers/import-document-to-workspace'\nimport { isPostmanCollection } from '@/v2/features/command-palette/helpers/is-postman-collection'\nimport {\n loadDocumentFromSource,\n type ImportEventData,\n} from '@/v2/features/command-palette/helpers/load-document-from-source'\nimport { isUrl } from '@/v2/helpers/is-url'\n\nimport CommandActionForm from './CommandActionForm.vue'\nimport CommandActionInput from './CommandActionInput.vue'\nimport WatchModeToggle from './WatchModeToggle.vue'\n\nconst { workspaceStore, eventBus, fileLoader } = defineProps<{\n /** The workspace store for adding documents */\n workspaceStore: WorkspaceStore\n /** Event bus for emitting operation creation events */\n eventBus: WorkspaceEventBus\n /** Loader plugin for file import */\n fileLoader?: LoaderPlugin\n}>()\n\nconst emit = defineEmits<{\n /** Emitted when the import is complete or cancelled */\n (event: 'close'): void\n /** Emitted when user navigates back (e.g., backspace on empty input) */\n (event: 'back', keyboardEvent: KeyboardEvent): void\n}>()\n\ndefineSlots<{\n /** Slot for custom file upload component that can trigger import */\n fileUpload(props: {\n /** Function to trigger import with source content and type */\n import: (source: string, type: 'file' | 'raw') => Promise<void>\n }): void\n}>()\n\nconst { toast } = useToasts()\n\nconst router = useRouter()\nconst loader = useLoadingState()\n\nconst inputContent = ref('')\nconst watchMode = ref(false)\n\n/** Check if the input content is a URL */\nconst isUrlInput = computed<boolean>(() => isUrl(inputContent.value))\nconst isLocalUrlInput = computed<boolean>(\n () => isUrlInput.value && isLocalUrl(inputContent.value),\n)\n\n/** Get document details based on the content type (Postman or OpenAPI) */\nconst documentDetails = computed(() => {\n if (isPostmanCollection(inputContent.value)) {\n return getPostmanDocumentDetails(inputContent.value)\n }\n return getOpenApiDocumentDetails(inputContent.value)\n})\n\n/** Get the document type for syntax highlighting */\nconst documentType = computed<string>(() =>\n documentDetails.value ? documentDetails.value.type : 'json',\n)\n\n/** Check if the form should be disabled (when input is empty) */\nconst isDisabled = computed<boolean>(() => {\n return !inputContent.value.trim()\n})\n\n/**\n * Toggle watchMode based on whether the input is a local URL.\n * Only enables watch mode for local URLs, not for files or pasted content.\n */\nwatch(isLocalUrlInput, (value: boolean) => {\n watchMode.value = value\n})\n\n/**\n * Handles errors during the import process.\n * Shows an error toast, invalidates the loader to show an error state,\n * and closes the command palette modal.\n *\n * @param errorMessage - The error message to display and log\n */\nconst handleImportError = async (errorMessage: string) => {\n // Log the error\n console.error(errorMessage)\n toast(errorMessage, 'error')\n\n // Invalidate the loader to show the error state\n await loader.invalidate()\n\n // Close the command palette\n emit('close')\n}\n\n/**\n * Directly imports a document into the workspace without showing the modal.\n * This is used when there is only one workspace and it is empty.\n */\nconst handleImport = async (\n newSource: string,\n type?: ImportEventData['type'],\n): Promise<void> => {\n loader.start()\n\n const TEMP_DOCUMENT_NAME = 'drafts'\n\n // First load the document into a draft store\n // This is to get the title of the document so we can generate a unique slug for store\n const draftStore = createWorkspaceStore({\n fileLoader,\n meta: {\n /** Ensure we use the active proxy to fetch documents */\n 'x-scalar-active-proxy':\n workspaceStore.workspace['x-scalar-active-proxy'],\n },\n })\n\n const eventType = (() => {\n if (type) {\n return type\n }\n\n if (isUrlInput.value) {\n return 'url'\n }\n\n return 'raw'\n })()\n\n const isSuccessfullyLoaded = await loadDocumentFromSource(\n draftStore,\n { source: newSource, type: eventType },\n TEMP_DOCUMENT_NAME,\n watchMode.value,\n )\n\n if (!isSuccessfullyLoaded) {\n return handleImportError('Failed to import document')\n }\n\n const importResult = await importDocumentToWorkspace({\n workspaceStore,\n workspaceState: draftStore.exportWorkspace(),\n name: TEMP_DOCUMENT_NAME,\n })\n\n if (!importResult.ok) {\n return handleImportError(importResult.error)\n }\n\n // Validate the loader to show the success state\n await loader.validate()\n\n // Navigate to the document overview page\n navigateToDocument(importResult.slug)\n\n // Close the command palette\n emit('close')\n}\n\n/** Navigate to the document overview page after successful import */\nconst navigateToDocument = (documentName: string): void => {\n router.push({\n name: 'document.overview',\n params: { documentSlug: documentName },\n })\n}\n\n/**\n * Handle file selection and import from file dialog.\n * Reads the file as text and imports it as OpenAPI or Postman collection.\n * Shows loading state during the import process.\n */\nconst { open: openSpecFileDialog } = useFileDialog({\n onChange: (files) => {\n const [file] = files ?? []\n\n if (!file) {\n return\n }\n\n loader.start()\n\n const onLoad = async (event: ProgressEvent<FileReader>): Promise<void> => {\n const text = event.target?.result as string\n // Import file as raw content since we are in a browser environment\n await handleImport(text, 'raw')\n }\n\n const reader = new FileReader()\n reader.onload = onLoad\n reader.readAsText(file)\n },\n multiple: false,\n accept: '.json,.yaml,.yml',\n})\n\n/**\n * Handle input changes.\n * Detects cURL commands and redirects to the cURL import command.\n */\nconst handleInput = (value: string): void => {\n /** Redirect to cURL import command if input starts with 'curl' */\n if (value.trim().toLowerCase().startsWith('curl')) {\n return eventBus.emit('ui:open:command-palette', {\n action: 'import-curl-command',\n payload: {\n inputValue: value,\n },\n })\n }\n\n inputContent.value = value\n}\n\n/** Handle back navigation when user presses backspace on empty input */\nconst handleBack = (event: KeyboardEvent): void => {\n emit('back', event)\n}\n</script>\n<template>\n <CommandActionForm\n :disabled=\"isDisabled\"\n :loader\n @submit=\"handleImport(inputContent)\">\n <!-- URL or cURL input mode -->\n <template v-if=\"!documentDetails || isUrlInput\">\n <CommandActionInput\n :modelValue=\"inputContent\"\n placeholder=\"OpenAPI/Swagger/Postman URL or cURL\"\n @delete=\"handleBack\"\n @update:modelValue=\"handleInput\" />\n </template>\n\n <!-- Preview mode for pasted content -->\n <template v-else>\n <!-- Preview header with clear button -->\n <div class=\"flex justify-between\">\n <div class=\"text-c-2 min-h-8 w-full py-2 pl-12 text-center text-xs\">\n Preview\n </div>\n <ScalarButton\n class=\"hover:bg-b-2 relative ml-auto max-h-8 gap-1.5 p-2 text-xs\"\n variant=\"ghost\"\n @click=\"inputContent = ''\">\n Clear\n </ScalarButton>\n </div>\n\n <!-- Code preview with syntax highlighting -->\n <ScalarCodeBlock\n v-if=\"documentDetails && !isUrlInput\"\n class=\"bg-b-2 mt-1 max-h-[40dvh] rounded border px-2 py-1 text-sm\"\n :content=\"inputContent\"\n :copy=\"false\"\n :lang=\"documentType\" />\n </template>\n\n <!-- Actions: File upload and watch mode toggle -->\n <template #options>\n <div class=\"flex w-full flex-row items-center justify-between gap-3\">\n <!-- Custom file upload slot or default button -->\n <slot\n :import=\"handleImport\"\n name=\"fileUpload\">\n <!-- Default file upload button -->\n <ScalarButton\n class=\"hover:bg-b-2 relative max-h-8 gap-1.5 p-2 text-xs\"\n variant=\"outlined\"\n @click=\"openSpecFileDialog\">\n JSON, or YAML File\n <ScalarIcon\n class=\"text-c-3\"\n icon=\"Upload\"\n size=\"md\" />\n </ScalarButton>\n </slot>\n\n <!-- Watch mode toggle (only enabled for URL imports) -->\n <ScalarTooltip\n :content=\"\n isUrlInput\n ? 'Watch mode automatically updates the API client when the OpenAPI URL content changes, ensuring your client remains up-to-date.'\n : 'Watch mode is only available for URL imports. When enabled it automatically updates the API client when the OpenAPI URL content changes.'\n \"\n placement=\"bottom\">\n <WatchModeToggle\n v-model=\"watchMode\"\n :disabled=\"!isUrlInput\" />\n </ScalarTooltip>\n </div>\n </template>\n\n <!-- Dynamic submit button text based on import type -->\n <template #submit>\n Import\n <template v-if=\"isUrlInput\">from URL</template>\n <template v-else-if=\"documentDetails && documentType\">\n <template v-if=\"documentDetails.title\">\n \"{{ documentDetails.title }}\"\n </template>\n <template v-else>\n {{ documentDetails.version }}\n </template>\n </template>\n <template v-else>Collection</template>\n </template>\n </CommandActionForm>\n</template>\n"],"mappings":"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"}
|
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
import { T as PathId, r as useWorkspace, w as useActiveEntities } from "./store-DpSUVhjp.js";
|
|
2
|
+
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BmmBcIzD.js";
|
|
3
|
+
import { n as CommandActionForm_default, t as CommandActionInput_default } from "./CommandActionInput-TkcAx6E8.js";
|
|
4
|
+
import "./HttpMethod-rnWEgC3T.js";
|
|
5
|
+
import "./CodeInput-C-igR77V.js";
|
|
6
|
+
import "./Server-DnA_BzPS.js";
|
|
7
|
+
import "./AddressBar-B4xnl66I.js";
|
|
8
|
+
import "./components-ChixwQhN.js";
|
|
9
|
+
import { t as Sidebar_default } from "./Sidebar-C6AdX6-N.js";
|
|
10
|
+
import "./DataTableInput-yaU5g-kP.js";
|
|
11
|
+
import { t as ViewLayout_default } from "./ViewLayout-BOXN0IYo.js";
|
|
12
|
+
import { t as ViewLayoutContent_default } from "./ViewLayoutContent-CvMoJYPF.js";
|
|
13
|
+
import { t as ViewLayoutSection_default } from "./ViewLayoutSection-mUqKbQry.js";
|
|
14
|
+
import "./ScalarAsciiArt-BjuSnj8e.js";
|
|
15
|
+
import { t as EmptyState_default } from "./EmptyState-Cnm7hGW5.js";
|
|
16
|
+
import { t as Form_default } from "./Form-CSKzyHGO.js";
|
|
17
|
+
import { t as SidebarButton_default } from "./SidebarButton-BAagdMDe.js";
|
|
18
|
+
import { n as SidebarList_default, t as SidebarListElement_default } from "./SidebarListElement-BfTPiihc.js";
|
|
19
|
+
import { Fragment, computed, createBlock, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, onBeforeUnmount, onMounted, openBlock, ref, renderList, unref, watch, withCtx, withModifiers } from "vue";
|
|
20
|
+
import { ScalarModal, useModal } from "@scalar/components";
|
|
21
|
+
import { useToasts } from "@scalar/use-toasts";
|
|
22
|
+
import { useRoute, useRouter } from "vue-router";
|
|
23
|
+
import { cookieSchema } from "@scalar/oas-utils/entities/cookie";
|
|
24
|
+
//#endregion
|
|
25
|
+
//#region src/views/Cookies/CookieForm.vue
|
|
26
|
+
var CookieForm_default = /* @__PURE__ */ defineComponent({
|
|
27
|
+
__name: "CookieForm",
|
|
28
|
+
setup(__props) {
|
|
29
|
+
const { activeCookieId } = useActiveEntities();
|
|
30
|
+
const { cookies, cookieMutators } = useWorkspace();
|
|
31
|
+
const fields = [
|
|
32
|
+
{
|
|
33
|
+
label: "Name",
|
|
34
|
+
key: "name",
|
|
35
|
+
placeholder: "session_id"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
label: "Value",
|
|
39
|
+
key: "value",
|
|
40
|
+
placeholder: "my-cookie-session-id"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
label: "Domain",
|
|
44
|
+
key: "domain",
|
|
45
|
+
placeholder: "example.com"
|
|
46
|
+
}
|
|
47
|
+
];
|
|
48
|
+
const activeCookie = computed(() => cookies[activeCookieId.value] || cookieSchema.parse({
|
|
49
|
+
name: "",
|
|
50
|
+
value: "",
|
|
51
|
+
domain: "",
|
|
52
|
+
path: ""
|
|
53
|
+
}));
|
|
54
|
+
const updateCookie = (key, value) => {
|
|
55
|
+
cookieMutators.edit(activeCookieId.value, key, value);
|
|
56
|
+
};
|
|
57
|
+
return (_ctx, _cache) => {
|
|
58
|
+
return openBlock(), createBlock(Form_default, {
|
|
59
|
+
data: activeCookie.value,
|
|
60
|
+
onUpdate: updateCookie,
|
|
61
|
+
options: fields
|
|
62
|
+
}, null, 8, ["data"]);
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
//#endregion
|
|
67
|
+
//#region src/views/Cookies/CookieModal.vue?vue&type=script&setup=true&lang.ts
|
|
68
|
+
var _hoisted_1$1 = { class: "flex h-8 items-start gap-2 text-sm" };
|
|
69
|
+
var _hoisted_2$1 = { class: "flex h-8 items-start gap-2 text-sm" };
|
|
70
|
+
var _hoisted_3 = { class: "flex h-8 items-start gap-2 text-sm" };
|
|
71
|
+
//#endregion
|
|
72
|
+
//#region src/views/Cookies/CookieModal.vue
|
|
73
|
+
var CookieModal_default = /* @__PURE__ */ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
74
|
+
__name: "CookieModal",
|
|
75
|
+
props: { state: {} },
|
|
76
|
+
emits: ["cancel", "submit"],
|
|
77
|
+
setup(__props, { emit: __emit }) {
|
|
78
|
+
const props = __props;
|
|
79
|
+
const emit = __emit;
|
|
80
|
+
const cookieData = ref({
|
|
81
|
+
name: "",
|
|
82
|
+
value: "",
|
|
83
|
+
domain: ""
|
|
84
|
+
});
|
|
85
|
+
const { toast } = useToasts();
|
|
86
|
+
const handleSubmit = () => {
|
|
87
|
+
if (!cookieData.value.name || !cookieData.value.value) {
|
|
88
|
+
toast("Please fill in all fields before adding a cookie.", "error");
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
emit("submit", cookieData.value);
|
|
92
|
+
props.state.hide();
|
|
93
|
+
};
|
|
94
|
+
watch(() => props.state.open, (isOpen) => {
|
|
95
|
+
if (isOpen) cookieData.value = {
|
|
96
|
+
name: "",
|
|
97
|
+
value: "",
|
|
98
|
+
domain: ""
|
|
99
|
+
};
|
|
100
|
+
});
|
|
101
|
+
return (_ctx, _cache) => {
|
|
102
|
+
return openBlock(), createBlock(unref(ScalarModal), {
|
|
103
|
+
size: "xs",
|
|
104
|
+
state: __props.state,
|
|
105
|
+
title: "Add Cookie"
|
|
106
|
+
}, {
|
|
107
|
+
default: withCtx(() => [createVNode(CommandActionForm_default, {
|
|
108
|
+
disabled: !cookieData.value.name || !cookieData.value.value,
|
|
109
|
+
onCancel: _cache[3] || (_cache[3] = ($event) => emit("cancel")),
|
|
110
|
+
onSubmit: handleSubmit
|
|
111
|
+
}, {
|
|
112
|
+
submit: withCtx(() => [..._cache[7] || (_cache[7] = [createTextVNode("Add Cookie", -1)])]),
|
|
113
|
+
default: withCtx(() => [
|
|
114
|
+
createElementVNode("div", _hoisted_1$1, [_cache[4] || (_cache[4] = createTextVNode(" Name: ", -1)), createVNode(CommandActionInput_default, {
|
|
115
|
+
modelValue: cookieData.value.name,
|
|
116
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => cookieData.value.name = $event),
|
|
117
|
+
autofocus: "",
|
|
118
|
+
class: "!p-0",
|
|
119
|
+
placeholder: "session_id"
|
|
120
|
+
}, null, 8, ["modelValue"])]),
|
|
121
|
+
createElementVNode("div", _hoisted_2$1, [_cache[5] || (_cache[5] = createTextVNode(" Value: ", -1)), createVNode(CommandActionInput_default, {
|
|
122
|
+
modelValue: cookieData.value.value,
|
|
123
|
+
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => cookieData.value.value = $event),
|
|
124
|
+
autofocus: "",
|
|
125
|
+
class: "!p-0",
|
|
126
|
+
placeholder: "my-cookie-session-id"
|
|
127
|
+
}, null, 8, ["modelValue"])]),
|
|
128
|
+
createElementVNode("div", _hoisted_3, [_cache[6] || (_cache[6] = createTextVNode(" Domain: ", -1)), createVNode(CommandActionInput_default, {
|
|
129
|
+
modelValue: cookieData.value.domain,
|
|
130
|
+
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => cookieData.value.domain = $event),
|
|
131
|
+
autofocus: "",
|
|
132
|
+
class: "!p-0",
|
|
133
|
+
placeholder: "example.com"
|
|
134
|
+
}, null, 8, ["modelValue"])])
|
|
135
|
+
]),
|
|
136
|
+
_: 1
|
|
137
|
+
}, 8, ["disabled"])]),
|
|
138
|
+
_: 1
|
|
139
|
+
}, 8, ["state"]);
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
}), [["__scopeId", "data-v-694018d6"]]);
|
|
143
|
+
//#endregion
|
|
144
|
+
//#region src/views/Cookies/Cookies.vue?vue&type=script&setup=true&lang.ts
|
|
145
|
+
var _hoisted_1 = { class: "flex-1" };
|
|
146
|
+
var _hoisted_2 = { class: "relative mb-[.5px] last:mb-0" };
|
|
147
|
+
//#endregion
|
|
148
|
+
//#region src/views/Cookies/Cookies.vue
|
|
149
|
+
var Cookies_default = /* @__PURE__ */ defineComponent({
|
|
150
|
+
__name: "Cookies",
|
|
151
|
+
setup(__props) {
|
|
152
|
+
const { cookies, cookieMutators, events, workspaceMutators } = useWorkspace();
|
|
153
|
+
const { activeWorkspace, activeCookieId } = useActiveEntities();
|
|
154
|
+
const router = useRouter();
|
|
155
|
+
const route = useRoute();
|
|
156
|
+
const cookieModal = useModal();
|
|
157
|
+
const addCookieHandler = (cookieData) => {
|
|
158
|
+
const cookie = cookieSchema.parse({
|
|
159
|
+
name: cookieData.name,
|
|
160
|
+
value: cookieData.value,
|
|
161
|
+
domain: cookieData.domain,
|
|
162
|
+
path: "/"
|
|
163
|
+
});
|
|
164
|
+
cookieMutators.add(cookie);
|
|
165
|
+
workspaceMutators.edit(activeWorkspace.value?.uid, "cookies", [...activeWorkspace.value?.cookies ?? [], cookie.uid]);
|
|
166
|
+
router.push({
|
|
167
|
+
name: "cookies",
|
|
168
|
+
params: { cookies: cookie.uid }
|
|
169
|
+
});
|
|
170
|
+
};
|
|
171
|
+
const removeCookie = (uid) => {
|
|
172
|
+
cookieMutators.delete(uid);
|
|
173
|
+
workspaceMutators.edit(activeWorkspace.value?.uid, "cookies", [...(activeWorkspace.value?.cookies ?? []).filter((c) => c !== uid)]);
|
|
174
|
+
const remainingCookies = Object.values(cookies).filter((cookie) => cookie.uid !== uid);
|
|
175
|
+
if (remainingCookies.length > 0) {
|
|
176
|
+
const lastCookie = remainingCookies[remainingCookies.length - 1];
|
|
177
|
+
if (lastCookie) router.push(lastCookie.uid);
|
|
178
|
+
} else router.push({
|
|
179
|
+
name: "cookies",
|
|
180
|
+
params: { [PathId.Cookies]: "default" }
|
|
181
|
+
});
|
|
182
|
+
};
|
|
183
|
+
const openCookieModal = () => {
|
|
184
|
+
cookieModal.show();
|
|
185
|
+
};
|
|
186
|
+
const handleHotKey = (event) => {
|
|
187
|
+
if (event?.createNew && route.name === "cookies") openCookieModal();
|
|
188
|
+
};
|
|
189
|
+
/**
|
|
190
|
+
* Navigate to specific cookies
|
|
191
|
+
*/
|
|
192
|
+
const handleNavigation = (event, uid) => {
|
|
193
|
+
const to = {
|
|
194
|
+
name: "cookies",
|
|
195
|
+
params: {
|
|
196
|
+
workspace: activeWorkspace.value?.uid ?? "default",
|
|
197
|
+
cookies: uid
|
|
198
|
+
}
|
|
199
|
+
};
|
|
200
|
+
if (event.metaKey) {
|
|
201
|
+
const path = router.resolve(to).href;
|
|
202
|
+
window.open(path, "_blank");
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
router.push(to);
|
|
206
|
+
};
|
|
207
|
+
/** Bind keyboard shortcuts */
|
|
208
|
+
onMounted(() => events.hotKeys.on(handleHotKey));
|
|
209
|
+
/** Unbind keyboard shortcuts */
|
|
210
|
+
onBeforeUnmount(() => events.hotKeys.off(handleHotKey));
|
|
211
|
+
const activeCookie = computed(() => cookies[activeCookieId.value]);
|
|
212
|
+
const hasCookies = computed(() => Object.keys(cookies).length > 0 && activeCookie.value);
|
|
213
|
+
watch(() => route.query.openCookieModal, (newVal) => {
|
|
214
|
+
if (newVal === "true") openCookieModal();
|
|
215
|
+
}, { immediate: true });
|
|
216
|
+
return (_ctx, _cache) => {
|
|
217
|
+
return openBlock(), createBlock(ViewLayout_default, null, {
|
|
218
|
+
default: withCtx(() => [
|
|
219
|
+
createVNode(unref(Sidebar_default), { title: "Cookies" }, {
|
|
220
|
+
content: withCtx(() => [createElementVNode("div", _hoisted_1, [createVNode(SidebarList_default, null, {
|
|
221
|
+
default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(Object.values(unref(cookies)), (cookie) => {
|
|
222
|
+
return openBlock(), createElementBlock("li", {
|
|
223
|
+
key: cookie.uid,
|
|
224
|
+
class: "gap-1/2 flex flex-col"
|
|
225
|
+
}, [createElementVNode("div", _hoisted_2, [(openBlock(), createBlock(SidebarListElement_default, {
|
|
226
|
+
key: cookie.uid,
|
|
227
|
+
class: "text-xs",
|
|
228
|
+
isDeletable: "",
|
|
229
|
+
to: {
|
|
230
|
+
name: "cookies",
|
|
231
|
+
params: { [unref(PathId).Cookies]: cookie.uid }
|
|
232
|
+
},
|
|
233
|
+
type: "cookies",
|
|
234
|
+
variable: {
|
|
235
|
+
name: cookie.name,
|
|
236
|
+
uid: cookie.uid
|
|
237
|
+
},
|
|
238
|
+
warningMessage: `Are you sure you want to delete this cookie?`,
|
|
239
|
+
onClick: withModifiers(($event) => handleNavigation($event, cookie.uid), ["prevent"]),
|
|
240
|
+
onDelete: ($event) => removeCookie(cookie.uid)
|
|
241
|
+
}, null, 8, [
|
|
242
|
+
"to",
|
|
243
|
+
"variable",
|
|
244
|
+
"onClick",
|
|
245
|
+
"onDelete"
|
|
246
|
+
]))])]);
|
|
247
|
+
}), 128))]),
|
|
248
|
+
_: 1
|
|
249
|
+
})])]),
|
|
250
|
+
button: withCtx(() => [createVNode(SidebarButton_default, {
|
|
251
|
+
click: openCookieModal,
|
|
252
|
+
hotkey: "N"
|
|
253
|
+
}, {
|
|
254
|
+
title: withCtx(() => [..._cache[1] || (_cache[1] = [createTextVNode(" Add Cookie ", -1)])]),
|
|
255
|
+
_: 1
|
|
256
|
+
})]),
|
|
257
|
+
_: 1
|
|
258
|
+
}),
|
|
259
|
+
createVNode(ViewLayoutContent_default, { class: "flex-1" }, {
|
|
260
|
+
default: withCtx(() => [hasCookies.value ? (openBlock(), createBlock(ViewLayoutSection_default, {
|
|
261
|
+
key: 0,
|
|
262
|
+
class: "*:border-b-0"
|
|
263
|
+
}, {
|
|
264
|
+
title: withCtx(() => [..._cache[2] || (_cache[2] = [createTextVNode("Edit Cookie", -1)])]),
|
|
265
|
+
default: withCtx(() => [createVNode(CookieForm_default)]),
|
|
266
|
+
_: 1
|
|
267
|
+
})) : (openBlock(), createBlock(EmptyState_default, { key: 1 }))]),
|
|
268
|
+
_: 1
|
|
269
|
+
}),
|
|
270
|
+
createVNode(CookieModal_default, {
|
|
271
|
+
state: unref(cookieModal),
|
|
272
|
+
onCancel: _cache[0] || (_cache[0] = ($event) => unref(cookieModal).hide()),
|
|
273
|
+
onSubmit: addCookieHandler
|
|
274
|
+
}, null, 8, ["state"])
|
|
275
|
+
]),
|
|
276
|
+
_: 1
|
|
277
|
+
});
|
|
278
|
+
};
|
|
279
|
+
}
|
|
280
|
+
});
|
|
281
|
+
//#endregion
|
|
282
|
+
export { Cookies_default as default };
|
|
283
|
+
|
|
284
|
+
//# sourceMappingURL=Cookies-DbOKTi1f.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Cookies-DbOKTi1f.js","names":[],"sources":["../src/views/Cookies/CookieForm.vue","../src/views/Cookies/CookieForm.vue","../src/views/Cookies/CookieModal.vue","../src/views/Cookies/CookieModal.vue","../src/views/Cookies/Cookies.vue","../src/views/Cookies/Cookies.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { cookieSchema, type Cookie } from '@scalar/oas-utils/entities/cookie'\nimport type { Path, PathValue } from '@scalar/object-utils/nested'\nimport { computed } from 'vue'\n\nimport Form from '@/components/Form/Form.vue'\nimport { useWorkspace } from '@/store'\nimport { useActiveEntities } from '@/store/active-entities'\n\nconst { activeCookieId } = useActiveEntities()\nconst { cookies, cookieMutators } = useWorkspace()\n\nconst fields = [\n { label: 'Name', key: 'name', placeholder: 'session_id' },\n { label: 'Value', key: 'value', placeholder: 'my-cookie-session-id' },\n { label: 'Domain', key: 'domain', placeholder: 'example.com' },\n // TODO: We don't check the path (yet), so we don't need to show it.\n // { label: 'Path', key: 'path', placeholder: '/' },\n]\n\nconst activeCookie = computed<Cookie>(\n () =>\n cookies[activeCookieId.value] ||\n cookieSchema.parse({\n name: '',\n value: '',\n domain: '',\n path: '',\n }),\n)\nconst updateCookie = <P extends Path<Cookie>>(\n key: P,\n value: NonNullable<PathValue<Cookie, P>>,\n) => {\n cookieMutators.edit(activeCookieId.value, key, value)\n}\n</script>\n<template>\n <Form\n :data=\"activeCookie\"\n :onUpdate=\"updateCookie\"\n :options=\"fields\">\n </Form>\n</template>\n","<script setup lang=\"ts\">\nimport { cookieSchema, type Cookie } from '@scalar/oas-utils/entities/cookie'\nimport type { Path, PathValue } from '@scalar/object-utils/nested'\nimport { computed } from 'vue'\n\nimport Form from '@/components/Form/Form.vue'\nimport { useWorkspace } from '@/store'\nimport { useActiveEntities } from '@/store/active-entities'\n\nconst { activeCookieId } = useActiveEntities()\nconst { cookies, cookieMutators } = useWorkspace()\n\nconst fields = [\n { label: 'Name', key: 'name', placeholder: 'session_id' },\n { label: 'Value', key: 'value', placeholder: 'my-cookie-session-id' },\n { label: 'Domain', key: 'domain', placeholder: 'example.com' },\n // TODO: We don't check the path (yet), so we don't need to show it.\n // { label: 'Path', key: 'path', placeholder: '/' },\n]\n\nconst activeCookie = computed<Cookie>(\n () =>\n cookies[activeCookieId.value] ||\n cookieSchema.parse({\n name: '',\n value: '',\n domain: '',\n path: '',\n }),\n)\nconst updateCookie = <P extends Path<Cookie>>(\n key: P,\n value: NonNullable<PathValue<Cookie, P>>,\n) => {\n cookieMutators.edit(activeCookieId.value, key, value)\n}\n</script>\n<template>\n <Form\n :data=\"activeCookie\"\n :onUpdate=\"updateCookie\"\n :options=\"fields\">\n </Form>\n</template>\n","<script setup lang=\"ts\">\nimport { ScalarModal, type ModalState } from '@scalar/components'\nimport { useToasts } from '@scalar/use-toasts'\nimport { ref, watch } from 'vue'\n\nimport CommandActionForm from '@/components/CommandPalette/CommandActionForm.vue'\nimport CommandActionInput from '@/components/CommandPalette/CommandActionInput.vue'\n\nconst props = defineProps<{\n state: ModalState\n}>()\n\nconst emit = defineEmits<{\n (event: 'cancel'): void\n (\n event: 'submit',\n cookieData: {\n name: string\n value: string\n domain: string\n },\n ): void\n}>()\n\nconst cookieData = ref({\n name: '',\n value: '',\n domain: '',\n})\n\nconst { toast } = useToasts()\n\nconst handleSubmit = () => {\n if (!cookieData.value.name || !cookieData.value.value) {\n toast('Please fill in all fields before adding a cookie.', 'error')\n return\n }\n\n emit('submit', cookieData.value)\n props.state.hide()\n}\n\n// Reset cookie data\nwatch(\n () => props.state.open,\n (isOpen) => {\n if (isOpen) {\n cookieData.value = {\n name: '',\n value: '',\n domain: '',\n }\n }\n },\n)\n</script>\n\n<template>\n <ScalarModal\n size=\"xs\"\n :state=\"state\"\n title=\"Add Cookie\">\n <CommandActionForm\n :disabled=\"!cookieData.name || !cookieData.value\"\n @cancel=\"emit('cancel')\"\n @submit=\"handleSubmit\">\n <div class=\"flex h-8 items-start gap-2 text-sm\">\n Name:\n <CommandActionInput\n v-model=\"cookieData.name\"\n autofocus\n class=\"!p-0\"\n placeholder=\"session_id\" />\n </div>\n <div class=\"flex h-8 items-start gap-2 text-sm\">\n Value:\n <CommandActionInput\n v-model=\"cookieData.value\"\n autofocus\n class=\"!p-0\"\n placeholder=\"my-cookie-session-id\" />\n </div>\n <div class=\"flex h-8 items-start gap-2 text-sm\">\n Domain:\n <CommandActionInput\n v-model=\"cookieData.domain\"\n autofocus\n class=\"!p-0\"\n placeholder=\"example.com\" />\n </div>\n <template #submit>Add Cookie</template>\n </CommandActionForm>\n </ScalarModal>\n</template>\n\n<style scoped>\n.form-group {\n margin-bottom: 1rem;\n}\n.modal-actions {\n display: flex;\n justify-content: flex-end;\n gap: 1rem;\n}\n</style>\n","<script setup lang=\"ts\">\nimport { ScalarModal, type ModalState } from '@scalar/components'\nimport { useToasts } from '@scalar/use-toasts'\nimport { ref, watch } from 'vue'\n\nimport CommandActionForm from '@/components/CommandPalette/CommandActionForm.vue'\nimport CommandActionInput from '@/components/CommandPalette/CommandActionInput.vue'\n\nconst props = defineProps<{\n state: ModalState\n}>()\n\nconst emit = defineEmits<{\n (event: 'cancel'): void\n (\n event: 'submit',\n cookieData: {\n name: string\n value: string\n domain: string\n },\n ): void\n}>()\n\nconst cookieData = ref({\n name: '',\n value: '',\n domain: '',\n})\n\nconst { toast } = useToasts()\n\nconst handleSubmit = () => {\n if (!cookieData.value.name || !cookieData.value.value) {\n toast('Please fill in all fields before adding a cookie.', 'error')\n return\n }\n\n emit('submit', cookieData.value)\n props.state.hide()\n}\n\n// Reset cookie data\nwatch(\n () => props.state.open,\n (isOpen) => {\n if (isOpen) {\n cookieData.value = {\n name: '',\n value: '',\n domain: '',\n }\n }\n },\n)\n</script>\n\n<template>\n <ScalarModal\n size=\"xs\"\n :state=\"state\"\n title=\"Add Cookie\">\n <CommandActionForm\n :disabled=\"!cookieData.name || !cookieData.value\"\n @cancel=\"emit('cancel')\"\n @submit=\"handleSubmit\">\n <div class=\"flex h-8 items-start gap-2 text-sm\">\n Name:\n <CommandActionInput\n v-model=\"cookieData.name\"\n autofocus\n class=\"!p-0\"\n placeholder=\"session_id\" />\n </div>\n <div class=\"flex h-8 items-start gap-2 text-sm\">\n Value:\n <CommandActionInput\n v-model=\"cookieData.value\"\n autofocus\n class=\"!p-0\"\n placeholder=\"my-cookie-session-id\" />\n </div>\n <div class=\"flex h-8 items-start gap-2 text-sm\">\n Domain:\n <CommandActionInput\n v-model=\"cookieData.domain\"\n autofocus\n class=\"!p-0\"\n placeholder=\"example.com\" />\n </div>\n <template #submit>Add Cookie</template>\n </CommandActionForm>\n </ScalarModal>\n</template>\n\n<style scoped>\n.form-group {\n margin-bottom: 1rem;\n}\n.modal-actions {\n display: flex;\n justify-content: flex-end;\n gap: 1rem;\n}\n</style>\n","<script setup lang=\"ts\">\nimport { useModal } from '@scalar/components'\nimport { cookieSchema, type Cookie } from '@scalar/oas-utils/entities/cookie'\nimport { computed, onBeforeUnmount, onMounted, watch } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\n\nimport { Sidebar } from '@/components'\nimport EmptyState from '@/components/EmptyState.vue'\nimport SidebarButton from '@/components/Sidebar/SidebarButton.vue'\nimport SidebarList from '@/components/Sidebar/SidebarList.vue'\nimport SidebarListElement from '@/components/Sidebar/SidebarListElement.vue'\nimport ViewLayout from '@/components/ViewLayout/ViewLayout.vue'\nimport ViewLayoutContent from '@/components/ViewLayout/ViewLayoutContent.vue'\nimport ViewLayoutSection from '@/components/ViewLayout/ViewLayoutSection.vue'\nimport type { HotKeyEvent } from '@/libs'\nimport { PathId } from '@/routes'\nimport { useActiveEntities, useWorkspace } from '@/store'\n\nimport CookieForm from './CookieForm.vue'\nimport CookieModal from './CookieModal.vue'\n\n// import CookieRaw from './CookieRaw.vue'\n\nconst { cookies, cookieMutators, events, workspaceMutators } = useWorkspace()\nconst { activeWorkspace, activeCookieId } = useActiveEntities()\nconst router = useRouter()\nconst route = useRoute()\nconst cookieModal = useModal()\n\nconst addCookieHandler = (cookieData: {\n name: string\n value: string\n domain: string\n}) => {\n const cookie = cookieSchema.parse({\n name: cookieData.name,\n value: cookieData.value,\n domain: cookieData.domain,\n path: '/',\n })\n\n // Store cookie\n cookieMutators.add(cookie)\n\n // Attach cookie to workspace\n workspaceMutators.edit(activeWorkspace.value?.uid, 'cookies', [\n ...(activeWorkspace.value?.cookies ?? []),\n cookie.uid,\n ])\n\n // Redirect to the new cookie\n router.push({\n name: 'cookies',\n params: {\n cookies: cookie.uid,\n },\n })\n}\n\nconst removeCookie = (uid: Cookie['uid']) => {\n cookieMutators.delete(uid)\n\n // Delete cookie from workspace\n workspaceMutators.edit(activeWorkspace.value?.uid, 'cookies', [\n ...(activeWorkspace.value?.cookies ?? []).filter((c) => c !== uid),\n ])\n\n // Navigate to the last cookie\n const remainingCookies: Cookie[] = Object.values(cookies).filter(\n (cookie) => (cookie as Cookie).uid !== uid,\n ) as Cookie[]\n\n if (remainingCookies.length > 0) {\n const lastCookie = remainingCookies[remainingCookies.length - 1]\n\n if (lastCookie) {\n router.push(lastCookie.uid)\n }\n } else {\n router.push({\n name: 'cookies',\n params: {\n [PathId.Cookies]: 'default',\n },\n })\n }\n}\n\nconst openCookieModal = () => {\n cookieModal.show()\n}\n\nconst handleHotKey = (event?: HotKeyEvent) => {\n if (event?.createNew && route.name === 'cookies') {\n openCookieModal()\n }\n}\n\n/**\n * Navigate to specific cookies\n */\nconst handleNavigation = (event: MouseEvent, uid: string) => {\n const to = {\n name: 'cookies',\n params: {\n workspace: activeWorkspace.value?.uid ?? 'default',\n cookies: uid,\n },\n }\n\n // Open in new tab if meta key is pressed\n if (event.metaKey) {\n const path = router.resolve(to).href\n\n window.open(path, '_blank')\n\n return\n }\n\n router.push(to)\n}\n\n/** Bind keyboard shortcuts */\nonMounted(() => events.hotKeys.on(handleHotKey))\n/** Unbind keyboard shortcuts */\nonBeforeUnmount(() => events.hotKeys.off(handleHotKey))\n\nconst activeCookie = computed<Cookie | undefined>(\n () => cookies[activeCookieId.value],\n)\n\nconst hasCookies = computed(\n () => Object.keys(cookies).length > 0 && activeCookie.value,\n)\n\nwatch(\n () => route.query.openCookieModal,\n (newVal) => {\n if (newVal === 'true') {\n openCookieModal()\n }\n },\n { immediate: true },\n)\n</script>\n<template>\n <ViewLayout>\n <Sidebar title=\"Cookies\">\n <template #content>\n <div class=\"flex-1\">\n <SidebarList>\n <li\n v-for=\"cookie in Object.values(cookies)\"\n :key=\"cookie.uid\"\n class=\"gap-1/2 flex flex-col\">\n <div class=\"relative mb-[.5px] last:mb-0\">\n <SidebarListElement\n :key=\"cookie.uid\"\n class=\"text-xs\"\n isDeletable\n :to=\"{\n name: 'cookies',\n params: {\n [PathId.Cookies]: cookie.uid,\n },\n }\"\n type=\"cookies\"\n :variable=\"{ name: cookie.name, uid: cookie.uid }\"\n :warningMessage=\"`Are you sure you want to delete this cookie?`\"\n @click.prevent=\"handleNavigation($event, cookie.uid)\"\n @delete=\"removeCookie(cookie.uid)\" />\n </div>\n </li>\n </SidebarList>\n </div>\n </template>\n <template #button>\n <SidebarButton\n :click=\"openCookieModal\"\n hotkey=\"N\">\n <template #title> Add Cookie </template>\n </SidebarButton>\n </template>\n </Sidebar>\n\n <ViewLayoutContent class=\"flex-1\">\n <template v-if=\"hasCookies\">\n <ViewLayoutSection class=\"*:border-b-0\">\n <template #title>Edit Cookie</template>\n <CookieForm />\n <!-- Untested and disabled for now. -->\n <!-- <CookieRaw /> -->\n </ViewLayoutSection>\n </template>\n <EmptyState v-else />\n </ViewLayoutContent>\n\n <CookieModal\n :state=\"cookieModal\"\n @cancel=\"cookieModal.hide()\"\n @submit=\"addCookieHandler\" />\n </ViewLayout>\n</template>\n","<script setup lang=\"ts\">\nimport { useModal } from '@scalar/components'\nimport { cookieSchema, type Cookie } from '@scalar/oas-utils/entities/cookie'\nimport { computed, onBeforeUnmount, onMounted, watch } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\n\nimport { Sidebar } from '@/components'\nimport EmptyState from '@/components/EmptyState.vue'\nimport SidebarButton from '@/components/Sidebar/SidebarButton.vue'\nimport SidebarList from '@/components/Sidebar/SidebarList.vue'\nimport SidebarListElement from '@/components/Sidebar/SidebarListElement.vue'\nimport ViewLayout from '@/components/ViewLayout/ViewLayout.vue'\nimport ViewLayoutContent from '@/components/ViewLayout/ViewLayoutContent.vue'\nimport ViewLayoutSection from '@/components/ViewLayout/ViewLayoutSection.vue'\nimport type { HotKeyEvent } from '@/libs'\nimport { PathId } from '@/routes'\nimport { useActiveEntities, useWorkspace } from '@/store'\n\nimport CookieForm from './CookieForm.vue'\nimport CookieModal from './CookieModal.vue'\n\n// import CookieRaw from './CookieRaw.vue'\n\nconst { cookies, cookieMutators, events, workspaceMutators } = useWorkspace()\nconst { activeWorkspace, activeCookieId } = useActiveEntities()\nconst router = useRouter()\nconst route = useRoute()\nconst cookieModal = useModal()\n\nconst addCookieHandler = (cookieData: {\n name: string\n value: string\n domain: string\n}) => {\n const cookie = cookieSchema.parse({\n name: cookieData.name,\n value: cookieData.value,\n domain: cookieData.domain,\n path: '/',\n })\n\n // Store cookie\n cookieMutators.add(cookie)\n\n // Attach cookie to workspace\n workspaceMutators.edit(activeWorkspace.value?.uid, 'cookies', [\n ...(activeWorkspace.value?.cookies ?? []),\n cookie.uid,\n ])\n\n // Redirect to the new cookie\n router.push({\n name: 'cookies',\n params: {\n cookies: cookie.uid,\n },\n })\n}\n\nconst removeCookie = (uid: Cookie['uid']) => {\n cookieMutators.delete(uid)\n\n // Delete cookie from workspace\n workspaceMutators.edit(activeWorkspace.value?.uid, 'cookies', [\n ...(activeWorkspace.value?.cookies ?? []).filter((c) => c !== uid),\n ])\n\n // Navigate to the last cookie\n const remainingCookies: Cookie[] = Object.values(cookies).filter(\n (cookie) => (cookie as Cookie).uid !== uid,\n ) as Cookie[]\n\n if (remainingCookies.length > 0) {\n const lastCookie = remainingCookies[remainingCookies.length - 1]\n\n if (lastCookie) {\n router.push(lastCookie.uid)\n }\n } else {\n router.push({\n name: 'cookies',\n params: {\n [PathId.Cookies]: 'default',\n },\n })\n }\n}\n\nconst openCookieModal = () => {\n cookieModal.show()\n}\n\nconst handleHotKey = (event?: HotKeyEvent) => {\n if (event?.createNew && route.name === 'cookies') {\n openCookieModal()\n }\n}\n\n/**\n * Navigate to specific cookies\n */\nconst handleNavigation = (event: MouseEvent, uid: string) => {\n const to = {\n name: 'cookies',\n params: {\n workspace: activeWorkspace.value?.uid ?? 'default',\n cookies: uid,\n },\n }\n\n // Open in new tab if meta key is pressed\n if (event.metaKey) {\n const path = router.resolve(to).href\n\n window.open(path, '_blank')\n\n return\n }\n\n router.push(to)\n}\n\n/** Bind keyboard shortcuts */\nonMounted(() => events.hotKeys.on(handleHotKey))\n/** Unbind keyboard shortcuts */\nonBeforeUnmount(() => events.hotKeys.off(handleHotKey))\n\nconst activeCookie = computed<Cookie | undefined>(\n () => cookies[activeCookieId.value],\n)\n\nconst hasCookies = computed(\n () => Object.keys(cookies).length > 0 && activeCookie.value,\n)\n\nwatch(\n () => route.query.openCookieModal,\n (newVal) => {\n if (newVal === 'true') {\n openCookieModal()\n }\n },\n { immediate: true },\n)\n</script>\n<template>\n <ViewLayout>\n <Sidebar title=\"Cookies\">\n <template #content>\n <div class=\"flex-1\">\n <SidebarList>\n <li\n v-for=\"cookie in Object.values(cookies)\"\n :key=\"cookie.uid\"\n class=\"gap-1/2 flex flex-col\">\n <div class=\"relative mb-[.5px] last:mb-0\">\n <SidebarListElement\n :key=\"cookie.uid\"\n class=\"text-xs\"\n isDeletable\n :to=\"{\n name: 'cookies',\n params: {\n [PathId.Cookies]: cookie.uid,\n },\n }\"\n type=\"cookies\"\n :variable=\"{ name: cookie.name, uid: cookie.uid }\"\n :warningMessage=\"`Are you sure you want to delete this cookie?`\"\n @click.prevent=\"handleNavigation($event, cookie.uid)\"\n @delete=\"removeCookie(cookie.uid)\" />\n </div>\n </li>\n </SidebarList>\n </div>\n </template>\n <template #button>\n <SidebarButton\n :click=\"openCookieModal\"\n hotkey=\"N\">\n <template #title> Add Cookie </template>\n </SidebarButton>\n </template>\n </Sidebar>\n\n <ViewLayoutContent class=\"flex-1\">\n <template v-if=\"hasCookies\">\n <ViewLayoutSection class=\"*:border-b-0\">\n <template #title>Edit Cookie</template>\n <CookieForm />\n <!-- Untested and disabled for now. -->\n <!-- <CookieRaw /> -->\n </ViewLayoutSection>\n </template>\n <EmptyState v-else />\n </ViewLayoutContent>\n\n <CookieModal\n :state=\"cookieModal\"\n @cancel=\"cookieModal.hide()\"\n @submit=\"addCookieHandler\" />\n </ViewLayout>\n</template>\n"],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { n as DataTableCell_default } from "./DataTableRow-c3XveEUO.js";
|
|
2
|
+
import { createBlock, createElementVNode, createTextVNode, createVNode, defineComponent, normalizeClass, openBlock, renderSlot, toDisplayString, unref, withCtx } from "vue";
|
|
3
|
+
import { ScalarIcon, cva } from "@scalar/components";
|
|
4
|
+
//#region src/components/DataTable/DataTableCheckbox.vue?vue&type=script&setup=true&lang.ts
|
|
5
|
+
var _hoisted_1$1 = ["checked", "disabled"];
|
|
6
|
+
//#endregion
|
|
7
|
+
//#region src/components/DataTable/DataTableCheckbox.vue
|
|
8
|
+
var DataTableCheckbox_default = /* @__PURE__ */ defineComponent({
|
|
9
|
+
__name: "DataTableCheckbox",
|
|
10
|
+
props: {
|
|
11
|
+
modelValue: { type: Boolean },
|
|
12
|
+
disabled: { type: Boolean },
|
|
13
|
+
align: { default: "center" }
|
|
14
|
+
},
|
|
15
|
+
emits: ["update:modelValue"],
|
|
16
|
+
setup(__props) {
|
|
17
|
+
const variants = cva({
|
|
18
|
+
base: "w-8 h-8 flex items-center justify-center text-border peer-checked:text-c-1 pointer-events-none absolute",
|
|
19
|
+
variants: { align: {
|
|
20
|
+
left: "left-0",
|
|
21
|
+
center: "centered"
|
|
22
|
+
} }
|
|
23
|
+
});
|
|
24
|
+
return (_ctx, _cache) => {
|
|
25
|
+
return openBlock(), createBlock(DataTableCell_default, { class: "group/cell relative flex min-w-8" }, {
|
|
26
|
+
default: withCtx(() => [createElementVNode("input", {
|
|
27
|
+
checked: __props.modelValue,
|
|
28
|
+
class: "peer absolute inset-0 size-full cursor-pointer opacity-0 disabled:cursor-default",
|
|
29
|
+
disabled: Boolean(__props.disabled),
|
|
30
|
+
type: "checkbox",
|
|
31
|
+
onChange: _cache[0] || (_cache[0] = (e) => _ctx.$emit("update:modelValue", e.target.checked))
|
|
32
|
+
}, null, 40, _hoisted_1$1), createElementVNode("div", { class: normalizeClass(unref(variants)({ align: __props.align })) }, [createElementVNode("div", { class: normalizeClass(["absolute m-auto size-3/4 rounded border-[1px] opacity-0", !__props.disabled && "group-has-[:focus-visible]/cell:border-c-accent group-hover/cell:opacity-100 group-has-[:focus-visible]/cell:opacity-100"]) }, null, 2), createVNode(unref(ScalarIcon), {
|
|
33
|
+
icon: "Checkmark",
|
|
34
|
+
size: "xs",
|
|
35
|
+
thickness: "2.5"
|
|
36
|
+
})], 2)]),
|
|
37
|
+
_: 1
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
//#endregion
|
|
43
|
+
//#region src/components/DataTable/DataTableText.vue?vue&type=script&setup=true&lang.ts
|
|
44
|
+
var _hoisted_1 = { class: "flex-1 px-2 py-1.5 whitespace-nowrap" };
|
|
45
|
+
//#endregion
|
|
46
|
+
//#region src/components/DataTable/DataTableText.vue
|
|
47
|
+
var DataTableText_default = /* @__PURE__ */ defineComponent({
|
|
48
|
+
__name: "DataTableText",
|
|
49
|
+
props: { text: {} },
|
|
50
|
+
setup(__props) {
|
|
51
|
+
return (_ctx, _cache) => {
|
|
52
|
+
return openBlock(), createBlock(DataTableCell_default, { class: "relative flex" }, {
|
|
53
|
+
default: withCtx(() => [createElementVNode("span", _hoisted_1, [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(__props.text), 1)])])]),
|
|
54
|
+
_: 3
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
//#endregion
|
|
60
|
+
export { DataTableCheckbox_default as n, DataTableText_default as t };
|
|
61
|
+
|
|
62
|
+
//# sourceMappingURL=DataTable-BqbZKW3K.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTable-BqbZKW3K.js","names":["$emit"],"sources":["../src/components/DataTable/DataTableCheckbox.vue","../src/components/DataTable/DataTableCheckbox.vue","../src/components/DataTable/DataTableText.vue","../src/components/DataTable/DataTableText.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { cva, ScalarIcon } from '@scalar/components'\n\nimport DataTableCell from './DataTableCell.vue'\n\nwithDefaults(\n defineProps<{\n modelValue: boolean\n disabled?: boolean\n align?: 'left' | 'center'\n }>(),\n {\n align: 'center',\n },\n)\n\ndefineEmits<{\n (e: 'update:modelValue', v: boolean): void\n}>()\n\nconst variants = cva({\n base: 'w-8 h-8 flex items-center justify-center text-border peer-checked:text-c-1 pointer-events-none absolute',\n variants: {\n align: {\n left: 'left-0',\n center: 'centered',\n },\n },\n})\n</script>\n<template>\n <DataTableCell class=\"group/cell relative flex min-w-8\">\n <input\n :checked=\"modelValue\"\n class=\"peer absolute inset-0 size-full cursor-pointer opacity-0 disabled:cursor-default\"\n :disabled=\"Boolean(disabled)\"\n type=\"checkbox\"\n @change=\"(e: any) => $emit('update:modelValue', e.target.checked)\" />\n <div :class=\"variants({ align })\">\n <div\n class=\"absolute m-auto size-3/4 rounded border-[1px] opacity-0\"\n :class=\"\n !disabled &&\n 'group-has-[:focus-visible]/cell:border-c-accent group-hover/cell:opacity-100 group-has-[:focus-visible]/cell:opacity-100'\n \" />\n <ScalarIcon\n icon=\"Checkmark\"\n size=\"xs\"\n thickness=\"2.5\" />\n </div>\n </DataTableCell>\n</template>\n","<script setup lang=\"ts\">\nimport { cva, ScalarIcon } from '@scalar/components'\n\nimport DataTableCell from './DataTableCell.vue'\n\nwithDefaults(\n defineProps<{\n modelValue: boolean\n disabled?: boolean\n align?: 'left' | 'center'\n }>(),\n {\n align: 'center',\n },\n)\n\ndefineEmits<{\n (e: 'update:modelValue', v: boolean): void\n}>()\n\nconst variants = cva({\n base: 'w-8 h-8 flex items-center justify-center text-border peer-checked:text-c-1 pointer-events-none absolute',\n variants: {\n align: {\n left: 'left-0',\n center: 'centered',\n },\n },\n})\n</script>\n<template>\n <DataTableCell class=\"group/cell relative flex min-w-8\">\n <input\n :checked=\"modelValue\"\n class=\"peer absolute inset-0 size-full cursor-pointer opacity-0 disabled:cursor-default\"\n :disabled=\"Boolean(disabled)\"\n type=\"checkbox\"\n @change=\"(e: any) => $emit('update:modelValue', e.target.checked)\" />\n <div :class=\"variants({ align })\">\n <div\n class=\"absolute m-auto size-3/4 rounded border-[1px] opacity-0\"\n :class=\"\n !disabled &&\n 'group-has-[:focus-visible]/cell:border-c-accent group-hover/cell:opacity-100 group-has-[:focus-visible]/cell:opacity-100'\n \" />\n <ScalarIcon\n icon=\"Checkmark\"\n size=\"xs\"\n thickness=\"2.5\" />\n </div>\n </DataTableCell>\n</template>\n","<script setup lang=\"ts\">\nimport DataTableCell from './DataTableCell.vue'\n\ndefineProps<{\n text?: string | number\n}>()\n</script>\n<template>\n <DataTableCell class=\"relative flex\">\n <span class=\"flex-1 px-2 py-1.5 whitespace-nowrap\">\n <slot>{{ text }}</slot>\n </span>\n </DataTableCell>\n</template>\n","<script setup lang=\"ts\">\nimport DataTableCell from './DataTableCell.vue'\n\ndefineProps<{\n text?: string | number\n}>()\n</script>\n<template>\n <DataTableCell class=\"relative flex\">\n <span class=\"flex-1 px-2 py-1.5 whitespace-nowrap\">\n <slot>{{ text }}</slot>\n </span>\n </DataTableCell>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;ECoBA,MAAM,WAAW,IAAI;GACnB,MAAM;GACN,UAAU,EACR,OAAO;IACL,MAAM;IACN,QAAQ;IACT,EACF;GACF,CAAA;;uBAGC,YAmBgB,uBAAA,EAnBD,OAAM,oCAAkC,EAAA;2BAMkB,CALvE,mBAKuE,SAAA;KAJpE,SAAS,QAAA;KACV,OAAM;KACL,UAAU,QAAQ,QAAA,SAAQ;KAC3B,MAAK;KACJ,UAAM,OAAA,OAAA,OAAA,MAAG,MAAWA,KAAAA,MAAK,qBAAsB,EAAE,OAAO,QAAO;gCAClE,mBAWM,OAAA,EAXA,OAAK,eAAE,MAAA,SAAQ,CAAA,EAAA,OAAG,QAAA,OAAK,CAAA,CAAA,EAAA,EAAA,CAC3B,mBAKM,OAAA,EAJJ,OAAK,eAAA,CAAC,2DAAA,CACc,QAAA,YAAA,2HAAA,CAAA,EAAA,EAAA,MAAA,EAAA,EAItB,YAGoB,MAAA,WAAA,EAAA;KAFlB,MAAK;KACL,MAAK;KACL,WAAU;;;;;;;;;;;;;;;;;uBExChB,YAIgB,uBAAA,EAJD,OAAM,iBAAe,EAAA;2BAG3B,CAFP,mBAEO,QAFP,YAEO,CADL,WAAuB,KAAA,QAAA,WAAA,EAAA,QAAA,CAAA,gBAAA,gBAAd,QAAA,KAAI,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { n as DataTableCell_default } from "./DataTableRow-c3XveEUO.js";
|
|
2
|
+
import { createBlock, defineComponent, mergeProps, openBlock, renderSlot, unref, withCtx } from "vue";
|
|
3
|
+
import { useBindCx } from "@scalar/components";
|
|
4
|
+
//#endregion
|
|
5
|
+
//#region src/components/DataTable/DataTableHeader.vue
|
|
6
|
+
var DataTableHeader_default = /* @__PURE__ */ defineComponent({
|
|
7
|
+
__name: "DataTableHeader",
|
|
8
|
+
setup(__props) {
|
|
9
|
+
const { cx } = useBindCx();
|
|
10
|
+
return (_ctx, _cache) => {
|
|
11
|
+
return openBlock(), createBlock(DataTableCell_default, mergeProps({ is: "th" }, unref(cx)("items-center font-medium px-2 min-w-0 -outline-offset-1")), {
|
|
12
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
13
|
+
_: 3
|
|
14
|
+
}, 16);
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
//#endregion
|
|
19
|
+
export { DataTableHeader_default as t };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=DataTableHeader-DJVB0jCZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableHeader-DJVB0jCZ.js","names":[],"sources":["../src/components/DataTable/DataTableHeader.vue","../src/components/DataTable/DataTableHeader.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useBindCx } from '@scalar/components'\n\nimport DataTableCell from './DataTableCell.vue'\n\nconst { cx } = useBindCx()\n</script>\n<template>\n <DataTableCell\n is=\"th\"\n v-bind=\"cx('items-center font-medium px-2 min-w-0 -outline-offset-1')\">\n <slot />\n </DataTableCell>\n</template>\n","<script setup lang=\"ts\">\nimport { useBindCx } from '@scalar/components'\n\nimport DataTableCell from './DataTableCell.vue'\n\nconst { cx } = useBindCx()\n</script>\n<template>\n <DataTableCell\n is=\"th\"\n v-bind=\"cx('items-center font-medium px-2 min-w-0 -outline-offset-1')\">\n <slot />\n </DataTableCell>\n</template>\n"],"mappings":";;;;;;;;ECKA,MAAM,EAAE,OAAO,WAAU;;uBAGvB,YAIgB,uBAJhB,WAIgB,EAHd,IAAG,MAAI,EACC,MAAA,GAAE,CAAA,0DAAA,CAAA,EAAA;2BACF,CAAR,WAAQ,KAAA,QAAA,UAAA,CAAA,CAAA"}
|