@scalar/api-client 2.38.1 → 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.
Files changed (1162) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/AddressBar-B4xnl66I.js +302 -0
  3. package/dist/AddressBar-B4xnl66I.js.map +1 -0
  4. package/dist/App-BVH4lIe8.js +533 -0
  5. package/dist/App-BVH4lIe8.js.map +1 -0
  6. package/dist/App-CvClwSlM.js +2510 -0
  7. package/dist/App-CvClwSlM.js.map +1 -0
  8. package/dist/CodeInput-C-igR77V.js +694 -0
  9. package/dist/CodeInput-C-igR77V.js.map +1 -0
  10. package/dist/CodeSnippet-D7Heh1nd.js +218 -0
  11. package/dist/CodeSnippet-D7Heh1nd.js.map +1 -0
  12. package/dist/Collection-4MT9WmDD.js +219 -0
  13. package/dist/Collection-4MT9WmDD.js.map +1 -0
  14. package/dist/CollectionAuthentication-MHWQpw74.js +56 -0
  15. package/dist/CollectionAuthentication-MHWQpw74.js.map +1 -0
  16. package/dist/CollectionCookies-DyjPPMdt.js +19 -0
  17. package/dist/CollectionCookies-DyjPPMdt.js.map +1 -0
  18. package/dist/CollectionEnvironment-Dw35vIqo.js +514 -0
  19. package/dist/CollectionEnvironment-Dw35vIqo.js.map +1 -0
  20. package/dist/CollectionOverview-TUdDIu5f.js +131 -0
  21. package/dist/CollectionOverview-TUdDIu5f.js.map +1 -0
  22. package/dist/CollectionScripts-CMNlBlby.js +19 -0
  23. package/dist/CollectionScripts-CMNlBlby.js.map +1 -0
  24. package/dist/CollectionServers-BrjTCfDe.js +168 -0
  25. package/dist/CollectionServers-BrjTCfDe.js.map +1 -0
  26. package/dist/CollectionSettings-HVSlp2Gv.js +87 -0
  27. package/dist/CollectionSettings-HVSlp2Gv.js.map +1 -0
  28. package/dist/CollectionSync-CAflc5yW.js +19 -0
  29. package/dist/CollectionSync-CAflc5yW.js.map +1 -0
  30. package/dist/CommandActionInput-TkcAx6E8.js +97 -0
  31. package/dist/CommandActionInput-TkcAx6E8.js.map +1 -0
  32. package/dist/CommandPalette-CL8k4CoN.js +964 -0
  33. package/dist/CommandPalette-CL8k4CoN.js.map +1 -0
  34. package/dist/CommandPaletteImport-Diu5dDIY.js +622 -0
  35. package/dist/CommandPaletteImport-Diu5dDIY.js.map +1 -0
  36. package/dist/Cookies-DbOKTi1f.js +284 -0
  37. package/dist/Cookies-DbOKTi1f.js.map +1 -0
  38. package/dist/DataTable-BqbZKW3K.js +62 -0
  39. package/dist/DataTable-BqbZKW3K.js.map +1 -0
  40. package/dist/DataTableHeader-DJVB0jCZ.js +21 -0
  41. package/dist/DataTableHeader-DJVB0jCZ.js.map +1 -0
  42. package/dist/DataTableInput-yaU5g-kP.js +166 -0
  43. package/dist/DataTableInput-yaU5g-kP.js.map +1 -0
  44. package/dist/DataTableRow-c3XveEUO.js +57 -0
  45. package/dist/DataTableRow-c3XveEUO.js.map +1 -0
  46. package/dist/DeleteSidebarListElement-C-p87d03.js +78 -0
  47. package/dist/DeleteSidebarListElement-C-p87d03.js.map +1 -0
  48. package/dist/EditSidebarListElement-CodWPnM6.js +32 -0
  49. package/dist/EditSidebarListElement-CodWPnM6.js.map +1 -0
  50. package/dist/Editor-BomsGWHx.js +909 -0
  51. package/dist/Editor-BomsGWHx.js.map +1 -0
  52. package/dist/EmptyState-Cnm7hGW5.js +46 -0
  53. package/dist/EmptyState-Cnm7hGW5.js.map +1 -0
  54. package/dist/Environment-DJatRQIg.js +416 -0
  55. package/dist/Environment-DJatRQIg.js.map +1 -0
  56. package/dist/EnvironmentModal-DBEJ4Kzj.js +288 -0
  57. package/dist/EnvironmentModal-DBEJ4Kzj.js.map +1 -0
  58. package/dist/Form-CSKzyHGO.js +83 -0
  59. package/dist/Form-CSKzyHGO.js.map +1 -0
  60. package/dist/HttpMethod-rnWEgC3T.js +78 -0
  61. package/dist/HttpMethod-rnWEgC3T.js.map +1 -0
  62. package/dist/IconSelector-BDC_GQXv.js +67 -0
  63. package/dist/IconSelector-BDC_GQXv.js.map +1 -0
  64. package/dist/ImportCollection-DfX1UQ5u.js +804 -0
  65. package/dist/ImportCollection-DfX1UQ5u.js.map +1 -0
  66. package/dist/IntegrationLogo-B9EDW8db.js +51 -0
  67. package/dist/IntegrationLogo-B9EDW8db.js.map +1 -0
  68. package/dist/MainLayout-BEFMl1ud.js +281 -0
  69. package/dist/MainLayout-BEFMl1ud.js.map +1 -0
  70. package/dist/Modal-sQ9vH6MN.js +67 -0
  71. package/dist/Modal-sQ9vH6MN.js.map +1 -0
  72. package/dist/ModalClientContainer-qHsZi4wQ.js +65 -0
  73. package/dist/ModalClientContainer-qHsZi4wQ.js.map +1 -0
  74. package/dist/Request-gscRsGQ8.js +212 -0
  75. package/dist/Request-gscRsGQ8.js.map +1 -0
  76. package/dist/RequestAuth-BzBfIysT.js +989 -0
  77. package/dist/RequestAuth-BzBfIysT.js.map +1 -0
  78. package/dist/RequestRoot-3Bj8JZD-.js +1611 -0
  79. package/dist/RequestRoot-3Bj8JZD-.js.map +1 -0
  80. package/dist/RequestSection-HhdJj9hW.js +1582 -0
  81. package/dist/RequestSection-HhdJj9hW.js.map +1 -0
  82. package/dist/ResponseSection-DMJ0tw8E.js +949 -0
  83. package/dist/ResponseSection-DMJ0tw8E.js.map +1 -0
  84. package/dist/ScalarAsciiArt-BjuSnj8e.js +45 -0
  85. package/dist/ScalarAsciiArt-BjuSnj8e.js.map +1 -0
  86. package/dist/SectionFilter-hrtoRLwj.js +99 -0
  87. package/dist/SectionFilter-hrtoRLwj.js.map +1 -0
  88. package/dist/Server-DnA_BzPS.js +303 -0
  89. package/dist/Server-DnA_BzPS.js.map +1 -0
  90. package/dist/ServerVariablesForm-BRZ9XC8o.js +145 -0
  91. package/dist/ServerVariablesForm-BRZ9XC8o.js.map +1 -0
  92. package/dist/Settings-CYZzdJPO.js +347 -0
  93. package/dist/Settings-CYZzdJPO.js.map +1 -0
  94. package/dist/Sidebar-C6AdX6-N.js +73 -0
  95. package/dist/Sidebar-C6AdX6-N.js.map +1 -0
  96. package/dist/SidebarButton-BAagdMDe.js +37 -0
  97. package/dist/SidebarButton-BAagdMDe.js.map +1 -0
  98. package/dist/SidebarListElement-BfTPiihc.js +232 -0
  99. package/dist/SidebarListElement-BfTPiihc.js.map +1 -0
  100. package/dist/TheCommandPalette-Dl9TAeke.js +204 -0
  101. package/dist/TheCommandPalette-Dl9TAeke.js.map +1 -0
  102. package/dist/ValueEmitter-QYkZ9Hdc.js +20 -0
  103. package/dist/ValueEmitter-QYkZ9Hdc.js.map +1 -0
  104. package/dist/ViewLayout-BOXN0IYo.js +17 -0
  105. package/dist/ViewLayout-BOXN0IYo.js.map +1 -0
  106. package/dist/ViewLayoutCollapse-CiTb-Uml.js +86 -0
  107. package/dist/ViewLayoutCollapse-CiTb-Uml.js.map +1 -0
  108. package/dist/ViewLayoutContent-CvMoJYPF.js +13 -0
  109. package/dist/ViewLayoutContent-CvMoJYPF.js.map +1 -0
  110. package/dist/ViewLayoutSection-mUqKbQry.js +23 -0
  111. package/dist/ViewLayoutSection-mUqKbQry.js.map +1 -0
  112. package/dist/WatchModeToggle-D_eAiTWJ.js +41 -0
  113. package/dist/WatchModeToggle-D_eAiTWJ.js.map +1 -0
  114. package/dist/_plugin-vue_export-helper-BmmBcIzD.js +8 -0
  115. package/dist/analytics-BZimCWcw.js +7 -0
  116. package/dist/analytics-BZimCWcw.js.map +1 -0
  117. package/dist/build-request-security-BQjNr2MD.js +41 -0
  118. package/dist/build-request-security-BQjNr2MD.js.map +1 -0
  119. package/dist/code-input-iq-moLxi.js +775 -0
  120. package/dist/code-input-iq-moLxi.js.map +1 -0
  121. package/dist/components/AddressBar/AddressBar.vue.d.ts +1 -1
  122. package/dist/components/AddressBar/index.d.ts +1 -1
  123. package/dist/components/AddressBar/index.js +5 -4
  124. package/dist/components/CodeInput/CodeInput.vue.d.ts +1 -1
  125. package/dist/components/CodeInput/codeVariableWidget.d.ts +1 -1
  126. package/dist/components/CodeInput/index.d.ts +1 -1
  127. package/dist/components/CodeInput/index.js +2 -4
  128. package/dist/components/CommandPalette/index.d.ts +1 -1
  129. package/dist/components/CommandPalette/index.js +3 -4
  130. package/dist/components/DataTable/DataTableInput.vue.d.ts +2 -2
  131. package/dist/components/DataTable/index.d.ts +8 -8
  132. package/dist/components/DataTable/index.js +6 -18
  133. package/dist/components/Form/LabelInput.vue.d.ts +1 -1
  134. package/dist/components/HttpMethod/index.d.ts +1 -1
  135. package/dist/components/HttpMethod/index.js +2 -4
  136. package/dist/components/ImportCollection/index.d.ts +1 -1
  137. package/dist/components/ImportCollection/index.js +2 -4
  138. package/dist/components/ImportCollection/utils/import-collection.d.ts +1 -1
  139. package/dist/components/ImportCollection/utils/workspace-store-is-empty.d.ts +1 -1
  140. package/dist/components/Server/ServerVariablesForm.vue.d.ts +1 -1
  141. package/dist/components/Server/index.d.ts +3 -3
  142. package/dist/components/Server/index.js +3 -8
  143. package/dist/components/Sidebar/index.d.ts +1 -1
  144. package/dist/components/Sidebar/index.js +2 -4
  145. package/dist/components/ViewLayout/index.d.ts +1 -1
  146. package/dist/components/ViewLayout/index.js +2 -4
  147. package/dist/components/index.d.ts +3 -3
  148. package/dist/components/index.js +7 -8
  149. package/dist/components-CSxJTn6F.js +183 -0
  150. package/dist/components-CSxJTn6F.js.map +1 -0
  151. package/dist/components-ChixwQhN.js +61 -0
  152. package/dist/components-ChixwQhN.js.map +1 -0
  153. package/dist/computer-D7VW3Ruy.js +562 -0
  154. package/dist/computer-D7VW3Ruy.js.map +1 -0
  155. package/dist/consts-CyGRb9dl.js +318 -0
  156. package/dist/consts-CyGRb9dl.js.map +1 -0
  157. package/dist/curl-nbw1OxbV.js +54 -0
  158. package/dist/curl-nbw1OxbV.js.map +1 -0
  159. package/dist/data-table-PL7e8NRO.js +282 -0
  160. package/dist/data-table-PL7e8NRO.js.map +1 -0
  161. package/dist/editor-BZ_J0eze.js +466 -0
  162. package/dist/editor-BZ_J0eze.js.map +1 -0
  163. package/dist/environments-ByLK9lnC.js +592 -0
  164. package/dist/environments-ByLK9lnC.js.map +1 -0
  165. package/dist/formatters-DOGXZq9R.js +36 -0
  166. package/dist/formatters-DOGXZq9R.js.map +1 -0
  167. package/dist/forms-CZX6cFDS.js +42 -0
  168. package/dist/forms-CZX6cFDS.js.map +1 -0
  169. package/dist/get-active-environment-CkxyQ1dM.js +19 -0
  170. package/dist/get-active-environment-CkxyQ1dM.js.map +1 -0
  171. package/dist/get-resolved-url-BUCwrBzc.js +30 -0
  172. package/dist/get-resolved-url-BUCwrBzc.js.map +1 -0
  173. package/dist/get-server-url-o3On8CEr.js +32 -0
  174. package/dist/get-server-url-o3On8CEr.js.map +1 -0
  175. package/dist/get-servers-B_WNlQWB.js +106 -0
  176. package/dist/get-servers-B_WNlQWB.js.map +1 -0
  177. package/dist/get-snippet-DBRUSfZ2.js +39 -0
  178. package/dist/get-snippet-DBRUSfZ2.js.map +1 -0
  179. package/dist/global-cookies-D3ZS9ON3.js +184 -0
  180. package/dist/global-cookies-D3ZS9ON3.js.map +1 -0
  181. package/dist/hooks/index.d.ts +4 -4
  182. package/dist/hooks/index.js +3 -11
  183. package/dist/hooks/useSidebar.d.ts +1 -1
  184. package/dist/hooks-BvZxH4XB.js +80 -0
  185. package/dist/hooks-BvZxH4XB.js.map +1 -0
  186. package/dist/index.d.ts +3 -3
  187. package/dist/index.js +8 -12
  188. package/dist/layout-BWiL7dfb.js +81 -0
  189. package/dist/layout-BWiL7dfb.js.map +1 -0
  190. package/dist/layouts/App/create-api-client-app.d.ts +9 -9
  191. package/dist/layouts/App/index.d.ts +2 -2
  192. package/dist/layouts/App/index.js +5 -7
  193. package/dist/layouts/Modal/create-api-client-modal.d.ts +1 -1
  194. package/dist/layouts/Modal/index.d.ts +2 -2
  195. package/dist/layouts/Modal/index.js +3 -4
  196. package/dist/layouts/Web/create-api-client-web.d.ts +9 -9
  197. package/dist/layouts/Web/index.d.ts +2 -2
  198. package/dist/layouts/Web/index.js +101 -6
  199. package/dist/layouts/Web/index.js.map +1 -0
  200. package/dist/libs/create-client.d.ts +9 -9
  201. package/dist/libs/create-client.d.ts.map +1 -1
  202. package/dist/libs/environment-parser.d.ts +1 -1
  203. package/dist/libs/get-request-uid-by-path-method.d.ts +1 -1
  204. package/dist/libs/hot-keys.d.ts +1 -1
  205. package/dist/libs/importers/index.d.ts +1 -1
  206. package/dist/libs/importers/index.js +2 -4
  207. package/dist/libs/index.d.ts +15 -15
  208. package/dist/libs/index.js +6 -45
  209. package/dist/libs/local-storage.d.ts +1 -1
  210. package/dist/libs/send-request/create-request-operation.d.ts +3 -3
  211. package/dist/libs/send-request/index.d.ts +3 -3
  212. package/dist/libs/send-request/index.js +3 -8
  213. package/dist/libs-spbv4P0g.js +249 -0
  214. package/dist/libs-spbv4P0g.js.map +1 -0
  215. package/dist/monacoeditorwork/json.worker.bundle.js +8 -8
  216. package/dist/monacoeditorwork/yaml.worker.bundle.js +151 -151
  217. package/dist/operation-block-BnMIKAOh.js +1624 -0
  218. package/dist/operation-block-BnMIKAOh.js.map +1 -0
  219. package/dist/operation-code-sample-ZUTueV3v.js +1726 -0
  220. package/dist/operation-code-sample-ZUTueV3v.js.map +1 -0
  221. package/dist/parse-curl-BtypQT3D.js +106 -0
  222. package/dist/parse-curl-BtypQT3D.js.map +1 -0
  223. package/dist/plugins/hooks/usePluginManager.d.ts +1 -1
  224. package/dist/plugins/index.d.ts +2 -2
  225. package/dist/plugins/index.js +2 -7
  226. package/dist/plugins/plugin-manager.d.ts +10 -4
  227. package/dist/plugins/plugin-manager.d.ts.map +1 -1
  228. package/dist/plugins-B52hCIyZ.js +50 -0
  229. package/dist/plugins-B52hCIyZ.js.map +1 -0
  230. package/dist/rabbitjump-CMZXAR6d.js +9 -0
  231. package/dist/rabbitjump-CMZXAR6d.js.map +1 -0
  232. package/dist/request-block-DwsGy64Q.js +1466 -0
  233. package/dist/request-block-DwsGy64Q.js.map +1 -0
  234. package/dist/resize-D2IYvVdh.js +114 -0
  235. package/dist/resize-D2IYvVdh.js.map +1 -0
  236. package/dist/response-block-DmkaDZYs.js +1188 -0
  237. package/dist/response-block-DmkaDZYs.js.map +1 -0
  238. package/dist/scalar-address-bar-block--Vs6IBU1.js +425 -0
  239. package/dist/scalar-address-bar-block--Vs6IBU1.js.map +1 -0
  240. package/dist/scalar-auth-selector-block-DI3DLag9.js +1886 -0
  241. package/dist/scalar-auth-selector-block-DI3DLag9.js.map +1 -0
  242. package/dist/search-CmsQQkjn.js +151 -0
  243. package/dist/search-CmsQQkjn.js.map +1 -0
  244. package/dist/send-request-BsTfRiBC.js +348 -0
  245. package/dist/send-request-BsTfRiBC.js.map +1 -0
  246. package/dist/server-tcI-OCyx.js +140 -0
  247. package/dist/server-tcI-OCyx.js.map +1 -0
  248. package/dist/set-request-cookies-BJJhsU4A.js +88 -0
  249. package/dist/set-request-cookies-BJJhsU4A.js.map +1 -0
  250. package/dist/settings-BKk_1lcH.js +455 -0
  251. package/dist/settings-BKk_1lcH.js.map +1 -0
  252. package/dist/sidebar-ceSbYmnt.js +217 -0
  253. package/dist/sidebar-ceSbYmnt.js.map +1 -0
  254. package/dist/store/collections.d.ts +1 -1
  255. package/dist/store/environment.d.ts +1 -1
  256. package/dist/store/events.d.ts +8 -8
  257. package/dist/store/import-spec.d.ts +2 -2
  258. package/dist/store/index.d.ts +2 -2
  259. package/dist/store/index.js +2 -10
  260. package/dist/store/request-example.d.ts +1 -1
  261. package/dist/store/requests.d.ts +1 -1
  262. package/dist/store/security-schemes.d.ts +1 -1
  263. package/dist/store/servers.d.ts +1 -1
  264. package/dist/store/store.d.ts +7 -7
  265. package/dist/store/tags.d.ts +1 -1
  266. package/dist/store/workspace.d.ts +1 -1
  267. package/dist/store-DpSUVhjp.js +1512 -0
  268. package/dist/store-DpSUVhjp.js.map +1 -0
  269. package/dist/string-template-sS5PtY6T.js +64 -0
  270. package/dist/string-template-sS5PtY6T.js.map +1 -0
  271. package/dist/style.css +10372 -1
  272. package/dist/types/index.js +0 -1
  273. package/dist/use-global-hot-keys-D8Ai8Qbm.js +274 -0
  274. package/dist/use-global-hot-keys-D8Ai8Qbm.js.map +1 -0
  275. package/dist/useSidebar-DLTwHDI-.js +45 -0
  276. package/dist/useSidebar-DLTwHDI-.js.map +1 -0
  277. package/dist/v2/blocks/operation-block/OperationBlock.vue.d.ts +3 -3
  278. package/dist/v2/blocks/operation-block/components/Header.vue.d.ts +2 -2
  279. package/dist/v2/blocks/operation-block/helpers/build-request-security.d.ts +2 -2
  280. package/dist/v2/blocks/operation-block/helpers/build-request.d.ts +2 -2
  281. package/dist/v2/blocks/operation-block/helpers/build-request.d.ts.map +1 -1
  282. package/dist/v2/blocks/operation-block/helpers/har-to-fetch-response.d.ts +1 -1
  283. package/dist/v2/blocks/operation-block/helpers/send-request.d.ts +1 -1
  284. package/dist/v2/blocks/operation-block/index.d.ts +4 -4
  285. package/dist/v2/blocks/operation-block/index.js +20 -11
  286. package/dist/v2/blocks/operation-code-sample/components/OperationCodeSample.vue.d.ts +2 -2
  287. package/dist/v2/blocks/operation-code-sample/helpers/find-client.d.ts +1 -1
  288. package/dist/v2/blocks/operation-code-sample/helpers/generate-client-options.d.ts +1 -1
  289. package/dist/v2/blocks/operation-code-sample/helpers/generate-code-snippet.d.ts +2 -2
  290. package/dist/v2/blocks/operation-code-sample/helpers/get-clients.d.ts +2 -2
  291. package/dist/v2/blocks/operation-code-sample/helpers/get-secrets.d.ts +1 -1
  292. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/operation-to-har.d.ts +1 -1
  293. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-body.d.ts +1 -1
  294. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-security-schemes.d.ts +1 -1
  295. package/dist/v2/blocks/operation-code-sample/index.d.ts +6 -6
  296. package/dist/v2/blocks/operation-code-sample/index.js +2 -16
  297. package/dist/v2/blocks/request-block/RequestBlock.vue.d.ts +4 -4
  298. package/dist/v2/blocks/request-block/components/RequestCodeSnippet.vue.d.ts +1 -1
  299. package/dist/v2/blocks/request-block/components/RequestParams.vue.d.ts +1 -1
  300. package/dist/v2/blocks/request-block/components/RequestTable.vue.d.ts +1 -1
  301. package/dist/v2/blocks/request-block/helpers/create-parameter-handlers.d.ts +1 -1
  302. package/dist/v2/blocks/request-block/helpers/get-default-headers.d.ts +3 -2
  303. package/dist/v2/blocks/request-block/helpers/get-default-headers.d.ts.map +1 -1
  304. package/dist/v2/blocks/request-block/helpers/get-form-body-rows.d.ts +1 -1
  305. package/dist/v2/blocks/request-block/index.d.ts +1 -1
  306. package/dist/v2/blocks/request-block/index.js +9 -4
  307. package/dist/v2/blocks/response-block/ResponseBlock.vue.d.ts +1 -1
  308. package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.d.ts +1 -1
  309. package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.d.ts +1 -1
  310. package/dist/v2/blocks/response-block/index.d.ts +1 -1
  311. package/dist/v2/blocks/response-block/index.js +6 -4
  312. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.d.ts +2 -2
  313. package/dist/v2/blocks/scalar-address-bar-block/index.d.ts +2 -2
  314. package/dist/v2/blocks/scalar-address-bar-block/index.js +5 -4
  315. package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.d.ts +3 -3
  316. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.d.ts +1 -1
  317. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.d.ts +2 -2
  318. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTableInput.vue.d.ts +1 -1
  319. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.d.ts +1 -1
  320. package/dist/v2/blocks/scalar-auth-selector-block/helpers/fetch-openid-connect-discovery.d.ts +1 -1
  321. package/dist/v2/blocks/scalar-auth-selector-block/helpers/oauth.d.ts +2 -2
  322. package/dist/v2/blocks/scalar-auth-selector-block/helpers/openid-discovery-to-flows.d.ts +1 -1
  323. package/dist/v2/blocks/scalar-auth-selector-block/index.d.ts +4 -4
  324. package/dist/v2/blocks/scalar-auth-selector-block/index.js +6 -8
  325. package/dist/v2/components/code-input/CodeInput.vue.d.ts +1 -1
  326. package/dist/v2/components/code-input/index.d.ts +1 -1
  327. package/dist/v2/components/code-input/index.js +2 -4
  328. package/dist/v2/components/data-table/DataTableInput.vue.d.ts +1 -1
  329. package/dist/v2/components/data-table/DataTableInputSelect.vue.d.ts +1 -1
  330. package/dist/v2/components/data-table/index.d.ts +8 -8
  331. package/dist/v2/components/data-table/index.js +3 -18
  332. package/dist/v2/components/forms/index.d.ts +1 -1
  333. package/dist/v2/components/forms/index.js +2 -4
  334. package/dist/v2/components/layout/index.d.ts +1 -1
  335. package/dist/v2/components/layout/index.js +2 -4
  336. package/dist/v2/components/modals/index.d.ts +1 -1
  337. package/dist/v2/components/modals/index.js +37 -3
  338. package/dist/v2/components/modals/index.js.map +1 -0
  339. package/dist/v2/components/resize/index.d.ts +2 -2
  340. package/dist/v2/components/resize/index.js +2 -6
  341. package/dist/v2/components/server/ServerDropdown.vue.d.ts +1 -1
  342. package/dist/v2/components/server/index.d.ts +1 -1
  343. package/dist/v2/components/server/index.js +2 -4
  344. package/dist/v2/components/sidebar/Sidebar.vue.d.ts +1 -1
  345. package/dist/v2/components/sidebar/index.d.ts +3 -3
  346. package/dist/v2/components/sidebar/index.js +3 -8
  347. package/dist/v2/features/app/App.vue.d.ts +4 -4
  348. package/dist/v2/features/app/components/AppSidebar.vue.d.ts +1 -1
  349. package/dist/v2/features/app/components/index.d.ts +1 -1
  350. package/dist/v2/features/app/components/index.js +10 -5
  351. package/dist/v2/features/app/helpers/create-api-client-app.d.ts +3 -3
  352. package/dist/v2/features/app/helpers/get-route-param.d.ts +1 -1
  353. package/dist/v2/features/app/helpers/routes.d.ts +5 -5
  354. package/dist/v2/features/app/hooks/use-theme.d.ts +1 -1
  355. package/dist/v2/features/app/index.d.ts +8 -8
  356. package/dist/v2/features/app/index.js +3161 -19
  357. package/dist/v2/features/app/index.js.map +1 -0
  358. package/dist/v2/features/collection/DocumentCollection.vue.d.ts +1 -1
  359. package/dist/v2/features/collection/OperationCollection.vue.d.ts +1 -1
  360. package/dist/v2/features/collection/WorkspaceCollection.vue.d.ts +1 -1
  361. package/dist/v2/features/collection/components/Authentication.vue.d.ts +4 -4
  362. package/dist/v2/features/collection/components/Cookies.vue.d.ts +4 -4
  363. package/dist/v2/features/collection/components/Editor/Editor.vue.d.ts +4 -4
  364. package/dist/v2/features/collection/components/Editor/index.d.ts +1 -1
  365. package/dist/v2/features/collection/components/Editor/index.js +2 -4
  366. package/dist/v2/features/collection/components/Environment.vue.d.ts +4 -4
  367. package/dist/v2/features/collection/components/Overview.vue.d.ts +4 -4
  368. package/dist/v2/features/collection/components/Servers.vue.d.ts +4 -4
  369. package/dist/v2/features/collection/components/Settings.vue.d.ts +4 -4
  370. package/dist/v2/features/collection/components/Tabs.vue.d.ts +1 -1
  371. package/dist/v2/features/command-palette/TheCommandPalette.vue.d.ts +1 -1
  372. package/dist/v2/features/command-palette/hooks/use-command-palette-state.d.ts +10 -45
  373. package/dist/v2/features/command-palette/hooks/use-command-palette-state.d.ts.map +1 -1
  374. package/dist/v2/features/command-palette/index.d.ts +2 -2
  375. package/dist/v2/features/command-palette/index.js +3 -6
  376. package/dist/v2/features/editor/helpers/json/create-json-model.d.ts +1 -1
  377. package/dist/v2/features/editor/helpers/json/get-json-ast-node-from-path.d.ts +1 -1
  378. package/dist/v2/features/editor/helpers/json/json-pointer-path.d.ts +1 -1
  379. package/dist/v2/features/editor/helpers/yaml/create-yaml-model.d.ts +1 -1
  380. package/dist/v2/features/editor/helpers/yaml/get-yaml-node-range-from-path.d.ts +1 -1
  381. package/dist/v2/features/editor/hooks/use-editor.d.ts +1 -1
  382. package/dist/v2/features/editor/hooks/use-json-pointer-link-support.d.ts +1 -1
  383. package/dist/v2/features/editor/index.d.ts +4 -4
  384. package/dist/v2/features/editor/index.js +2 -10
  385. package/dist/v2/features/environments/index.d.ts +1 -1
  386. package/dist/v2/features/environments/index.js +4 -4
  387. package/dist/v2/features/global-cookies/index.d.ts +1 -1
  388. package/dist/v2/features/global-cookies/index.js +4 -4
  389. package/dist/v2/features/modal/Modal.vue.d.ts +1 -1
  390. package/dist/v2/features/modal/helpers/create-api-client-modal.d.ts +2 -2
  391. package/dist/v2/features/modal/hooks/use-modal-sidebar.d.ts +1 -1
  392. package/dist/v2/features/modal/index.d.ts +3 -3
  393. package/dist/v2/features/modal/index.js +639 -7
  394. package/dist/v2/features/modal/index.js.map +1 -0
  395. package/dist/v2/features/modal/modal-events.d.ts +1 -1
  396. package/dist/v2/features/operation/Operation.vue.d.ts +2 -2
  397. package/dist/v2/features/operation/index.d.ts +5 -5
  398. package/dist/v2/features/operation/index.js +19 -12
  399. package/dist/v2/features/search/helpers/create-fuse-instance.d.ts +1 -1
  400. package/dist/v2/features/search/helpers/create-search-index.d.ts +1 -1
  401. package/dist/v2/features/search/index.d.ts +1 -1
  402. package/dist/v2/features/search/index.js +2 -4
  403. package/dist/v2/features/settings/index.d.ts +2 -2
  404. package/dist/v2/features/settings/index.js +2 -6
  405. package/dist/v2/helpers/get-active-proxy-url.d.ts +1 -1
  406. package/dist/v2/helpers/get-tab-details.d.ts +1 -1
  407. package/dist/v2/helpers/handle-hotkeys.d.ts +1 -1
  408. package/dist/v2/helpers/index.d.ts +2 -2
  409. package/dist/v2/helpers/index.js +3 -6
  410. package/dist/v2/hooks/use-global-hot-keys.d.ts +1 -1
  411. package/dist/views/Collection/components/EnvironmentForm.vue.d.ts +1 -1
  412. package/dist/views/Collection/components/MarkdownInput.vue.d.ts +1 -1
  413. package/dist/views/Components/CodeSnippet/CodeSnippet.vue.d.ts +1 -1
  414. package/dist/views/Components/CodeSnippet/helpers/get-har-request.d.ts +1 -1
  415. package/dist/views/Components/CodeSnippet/helpers/get-snippet.d.ts +1 -1
  416. package/dist/views/Components/CodeSnippet/index.d.ts +4 -4
  417. package/dist/views/Components/CodeSnippet/index.js +3 -10
  418. package/dist/views/Environment/EnvironmentVariableDropdown.vue.d.ts +1 -1
  419. package/dist/views/Environment/handle-drag.d.ts +1 -1
  420. package/dist/views/Request/Request.vue.d.ts +1 -1
  421. package/dist/views/Request/RequestSection/RequestAuth/OAuth2.vue.d.ts +1 -1
  422. package/dist/views/Request/RequestSection/RequestAuth/OAuthScopesInput.vue.d.ts +1 -1
  423. package/dist/views/Request/RequestSection/RequestAuth/RequestAuth.vue.d.ts +1 -1
  424. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTable.vue.d.ts +1 -1
  425. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTableInput.vue.d.ts +2 -2
  426. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthTab.vue.d.ts +1 -1
  427. package/dist/views/Request/RequestSection/RequestAuth/helpers/restore-auth-from-local-storage.d.ts +1 -1
  428. package/dist/views/Request/RequestSection/RequestAuth/index.d.ts +3 -3
  429. package/dist/views/Request/RequestSection/RequestAuth/index.js +4 -8
  430. package/dist/views/Request/RequestSection/RequestBody.vue.d.ts +1 -1
  431. package/dist/views/Request/RequestSection/RequestCodeExample.vue.d.ts +1 -1
  432. package/dist/views/Request/RequestSection/RequestParams.vue.d.ts +1 -1
  433. package/dist/views/Request/RequestSection/RequestPathParams.vue.d.ts +1 -1
  434. package/dist/views/Request/RequestSection/RequestSection.vue.d.ts +1 -1
  435. package/dist/views/Request/RequestSection/RequestTable.vue.d.ts +1 -1
  436. package/dist/views/Request/RequestSection/helpers/update-scheme.d.ts +1 -1
  437. package/dist/views/Request/RequestSection/index.d.ts +2 -2
  438. package/dist/views/Request/RequestSection/index.js +42 -5
  439. package/dist/views/Request/RequestSection/index.js.map +1 -0
  440. package/dist/views/Request/RequestSidebarItem.vue.d.ts +1 -1
  441. package/dist/views/Request/RequestSidebarItemMenu.vue.d.ts +3 -3
  442. package/dist/views/Request/RequestSubpageHeader.vue.d.ts +1 -1
  443. package/dist/views/Request/ResponseSection/ResponseBodyPreview.vue.d.ts +1 -1
  444. package/dist/views/Request/ResponseSection/ResponseSection.vue.d.ts +1 -1
  445. package/dist/views/Request/ResponseSection/index.d.ts +2 -2
  446. package/dist/views/Request/ResponseSection/index.js +7 -6
  447. package/dist/views/Request/components/index.d.ts +1 -1
  448. package/dist/views/Request/components/index.js +2 -4
  449. package/dist/views/Request/consts/index.d.ts +2 -2
  450. package/dist/views/Request/consts/index.js +2 -10
  451. package/dist/views/Request/handle-drag.d.ts +2 -2
  452. package/dist/views/Request/libs/auth.d.ts +1 -1
  453. package/dist/views/Request/libs/index.d.ts +3 -3
  454. package/dist/views/Request/libs/index.js +3 -22
  455. package/dist/views/Request/libs/oauth2.d.ts +1 -1
  456. package/dist/views/Request/libs/watch-mode.d.ts +2 -2
  457. package/dist/views/Request/types/index.js +0 -1
  458. package/dist/watch-mode-Dbaqd9bG.js +375 -0
  459. package/dist/watch-mode-Dbaqd9bG.js.map +1 -0
  460. package/package.json +29 -33
  461. package/dist/_virtual/_plugin-vue_export-helper.js +0 -9
  462. package/dist/analytics.js +0 -9
  463. package/dist/assets/computer.ascii.js +0 -34
  464. package/dist/assets/keycap.ascii.js +0 -25
  465. package/dist/assets/rabbit.ascii.js +0 -11
  466. package/dist/assets/rabbitjump.ascii.js +0 -11
  467. package/dist/components/AddressBar/AddressBar.vue.js +0 -7
  468. package/dist/components/AddressBar/AddressBar.vue2.js +0 -160
  469. package/dist/components/AddressBar/AddressBarHistory.vue.js +0 -7
  470. package/dist/components/AddressBar/AddressBarHistory.vue2.js +0 -98
  471. package/dist/components/AddressBar/httpStatusCodeColors.js +0 -38
  472. package/dist/components/CodeInput/CodeInput.vue.js +0 -8
  473. package/dist/components/CodeInput/CodeInput.vue2.js +0 -209
  474. package/dist/components/CodeInput/codeVariableWidget.js +0 -111
  475. package/dist/components/CommandPalette/CommandActionForm.vue.js +0 -44
  476. package/dist/components/CommandPalette/CommandActionForm.vue2.js +0 -4
  477. package/dist/components/CommandPalette/CommandActionInput.vue.js +0 -52
  478. package/dist/components/CommandPalette/CommandActionInput.vue2.js +0 -4
  479. package/dist/components/CommandPalette/CommandPaletteCollection.vue.js +0 -80
  480. package/dist/components/CommandPalette/CommandPaletteCollection.vue2.js +0 -4
  481. package/dist/components/CommandPalette/CommandPaletteExample.vue.js +0 -116
  482. package/dist/components/CommandPalette/CommandPaletteExample.vue2.js +0 -4
  483. package/dist/components/CommandPalette/CommandPaletteImport.vue.js +0 -217
  484. package/dist/components/CommandPalette/CommandPaletteImport.vue2.js +0 -4
  485. package/dist/components/CommandPalette/CommandPaletteImportCurl.vue.js +0 -7
  486. package/dist/components/CommandPalette/CommandPaletteImportCurl.vue2.js +0 -136
  487. package/dist/components/CommandPalette/CommandPaletteServer.vue.js +0 -123
  488. package/dist/components/CommandPalette/CommandPaletteServer.vue2.js +0 -4
  489. package/dist/components/CommandPalette/CommandPaletteTag.vue.js +0 -84
  490. package/dist/components/CommandPalette/CommandPaletteTag.vue2.js +0 -4
  491. package/dist/components/CommandPalette/CommandPaletteWorkspace.vue.js +0 -48
  492. package/dist/components/CommandPalette/CommandPaletteWorkspace.vue2.js +0 -4
  493. package/dist/components/CommandPalette/TheCommandPalette.vue.js +0 -7
  494. package/dist/components/CommandPalette/TheCommandPalette.vue2.js +0 -305
  495. package/dist/components/CommandPalette/WatchModeToggle.vue.js +0 -39
  496. package/dist/components/CommandPalette/WatchModeToggle.vue2.js +0 -4
  497. package/dist/components/DataTable/DataTable.vue.js +0 -38
  498. package/dist/components/DataTable/DataTable.vue2.js +0 -4
  499. package/dist/components/DataTable/DataTableCell.vue.js +0 -26
  500. package/dist/components/DataTable/DataTableCell.vue2.js +0 -4
  501. package/dist/components/DataTable/DataTableCheckbox.vue.js +0 -53
  502. package/dist/components/DataTable/DataTableCheckbox.vue2.js +0 -4
  503. package/dist/components/DataTable/DataTableHeader.vue.js +0 -18
  504. package/dist/components/DataTable/DataTableHeader.vue2.js +0 -4
  505. package/dist/components/DataTable/DataTableInput.vue.js +0 -7
  506. package/dist/components/DataTable/DataTableInput.vue2.js +0 -124
  507. package/dist/components/DataTable/DataTableInputSelect.vue.js +0 -146
  508. package/dist/components/DataTable/DataTableInputSelect.vue2.js +0 -4
  509. package/dist/components/DataTable/DataTableRow.vue.js +0 -12
  510. package/dist/components/DataTable/DataTableText.vue.js +0 -23
  511. package/dist/components/DataTable/DataTableText.vue2.js +0 -4
  512. package/dist/components/EmptyState.vue.js +0 -7
  513. package/dist/components/EmptyState.vue2.js +0 -42
  514. package/dist/components/EnvironmentSelector/EnvironmentSelector.vue.js +0 -113
  515. package/dist/components/EnvironmentSelector/EnvironmentSelector.vue2.js +0 -4
  516. package/dist/components/Form/Form.vue.js +0 -83
  517. package/dist/components/Form/Form.vue2.js +0 -4
  518. package/dist/components/Form/LabelInput.vue.js +0 -7
  519. package/dist/components/Form/LabelInput.vue2.js +0 -42
  520. package/dist/components/HelpfulLink.vue.js +0 -20
  521. package/dist/components/HelpfulLink.vue2.js +0 -4
  522. package/dist/components/HttpMethod/HttpMethod.vue.js +0 -7
  523. package/dist/components/HttpMethod/HttpMethod.vue2.js +0 -62
  524. package/dist/components/IconSelector.vue.js +0 -75
  525. package/dist/components/IconSelector.vue2.js +0 -4
  526. package/dist/components/ImportCollection/DropEventListener.vue.js +0 -81
  527. package/dist/components/ImportCollection/DropEventListener.vue2.js +0 -4
  528. package/dist/components/ImportCollection/ImportCollectionListener.vue.js +0 -77
  529. package/dist/components/ImportCollection/ImportCollectionListener.vue2.js +0 -4
  530. package/dist/components/ImportCollection/ImportCollectionModal.vue.js +0 -208
  531. package/dist/components/ImportCollection/ImportCollectionModal.vue3.js +0 -5
  532. package/dist/components/ImportCollection/ImportNowButton.vue.js +0 -73
  533. package/dist/components/ImportCollection/ImportNowButton.vue2.js +0 -4
  534. package/dist/components/ImportCollection/IntegrationLogo.vue.js +0 -44
  535. package/dist/components/ImportCollection/IntegrationLogo.vue2.js +0 -4
  536. package/dist/components/ImportCollection/PasteEventListener.vue.js +0 -24
  537. package/dist/components/ImportCollection/PasteEventListener.vue2.js +0 -4
  538. package/dist/components/ImportCollection/PrefetchError.vue.js +0 -27
  539. package/dist/components/ImportCollection/PrefetchError.vue2.js +0 -4
  540. package/dist/components/ImportCollection/UrlQueryParameterChecker.vue.js +0 -20
  541. package/dist/components/ImportCollection/UrlQueryParameterChecker.vue2.js +0 -4
  542. package/dist/components/ImportCollection/WorkspaceSelector.vue.js +0 -134
  543. package/dist/components/ImportCollection/WorkspaceSelector.vue2.js +0 -4
  544. package/dist/components/ImportCollection/hooks/useUrlPrefetcher.js +0 -106
  545. package/dist/components/ImportCollection/utils/get-openapi-version.js +0 -20
  546. package/dist/components/ImportCollection/utils/import-collection.js +0 -29
  547. package/dist/components/ImportCollection/utils/is-document.js +0 -9
  548. package/dist/components/ImportCollection/utils/is-url.js +0 -9
  549. package/dist/components/ImportCollection/utils/workspace-store-is-empty.js +0 -7
  550. package/dist/components/OpenApiClientButton.vue.js +0 -7
  551. package/dist/components/OpenApiClientButton.vue2.js +0 -48
  552. package/dist/components/ScalarAsciiArt.vue.js +0 -7
  553. package/dist/components/ScalarAsciiArt.vue2.js +0 -37
  554. package/dist/components/Search/useSearch.js +0 -78
  555. package/dist/components/SectionFilter.vue.js +0 -7
  556. package/dist/components/SectionFilter.vue2.js +0 -64
  557. package/dist/components/SectionFilterButton.vue.js +0 -23
  558. package/dist/components/SectionFilterButton.vue2.js +0 -4
  559. package/dist/components/Server/ServerDropdown.vue.js +0 -132
  560. package/dist/components/Server/ServerDropdown.vue2.js +0 -4
  561. package/dist/components/Server/ServerDropdownItem.vue.js +0 -7
  562. package/dist/components/Server/ServerDropdownItem.vue2.js +0 -84
  563. package/dist/components/Server/ServerSelector.vue.js +0 -82
  564. package/dist/components/Server/ServerSelector.vue2.js +0 -4
  565. package/dist/components/Server/ServerVariablesForm.vue.js +0 -49
  566. package/dist/components/Server/ServerVariablesForm.vue2.js +0 -4
  567. package/dist/components/Server/ServerVariablesSelect.vue.js +0 -54
  568. package/dist/components/Server/ServerVariablesSelect.vue2.js +0 -4
  569. package/dist/components/Server/ServerVariablesTextbox.vue.js +0 -29
  570. package/dist/components/Server/ServerVariablesTextbox.vue2.js +0 -4
  571. package/dist/components/SideNav/DownloadAppButton.vue.js +0 -7
  572. package/dist/components/SideNav/DownloadAppButton.vue2.js +0 -33
  573. package/dist/components/SideNav/SideHelp.vue.js +0 -127
  574. package/dist/components/SideNav/SideHelp.vue2.js +0 -4
  575. package/dist/components/SideNav/SideNav.vue.js +0 -96
  576. package/dist/components/SideNav/SideNav.vue2.js +0 -4
  577. package/dist/components/SideNav/SideNavGroup.vue.js +0 -16
  578. package/dist/components/SideNav/SideNavGroup.vue2.js +0 -4
  579. package/dist/components/SideNav/SideNavLink.vue.js +0 -39
  580. package/dist/components/SideNav/SideNavLink.vue2.js +0 -4
  581. package/dist/components/SideNav/SideNavRouterLink.vue.js +0 -27
  582. package/dist/components/SideNav/SideNavRouterLink.vue2.js +0 -4
  583. package/dist/components/Sidebar/Actions/DeleteSidebarListElement.vue.js +0 -30
  584. package/dist/components/Sidebar/Actions/DeleteSidebarListElement.vue2.js +0 -4
  585. package/dist/components/Sidebar/Actions/EditSidebarListCollection.vue.js +0 -58
  586. package/dist/components/Sidebar/Actions/EditSidebarListCollection.vue2.js +0 -4
  587. package/dist/components/Sidebar/Actions/EditSidebarListElement.vue.js +0 -29
  588. package/dist/components/Sidebar/Actions/EditSidebarListElement.vue2.js +0 -4
  589. package/dist/components/Sidebar/Actions/SidebarListElementForm.vue.js +0 -46
  590. package/dist/components/Sidebar/Actions/SidebarListElementForm.vue2.js +0 -4
  591. package/dist/components/Sidebar/Sidebar.vue.js +0 -7
  592. package/dist/components/Sidebar/Sidebar.vue2.js +0 -63
  593. package/dist/components/Sidebar/SidebarButton.vue.js +0 -33
  594. package/dist/components/Sidebar/SidebarButton.vue2.js +0 -4
  595. package/dist/components/Sidebar/SidebarList.vue.js +0 -12
  596. package/dist/components/Sidebar/SidebarListElement.vue.js +0 -8
  597. package/dist/components/Sidebar/SidebarListElement.vue2.js +0 -94
  598. package/dist/components/Sidebar/SidebarListElementActions.vue.js +0 -86
  599. package/dist/components/Sidebar/SidebarListElementActions.vue2.js +0 -4
  600. package/dist/components/Sidebar/SidebarToggle.vue.js +0 -49
  601. package/dist/components/Sidebar/SidebarToggle.vue2.js +0 -4
  602. package/dist/components/TopNav/TopNav.vue.js +0 -210
  603. package/dist/components/TopNav/TopNav.vue2.js +0 -4
  604. package/dist/components/TopNav/TopNavItem.vue.js +0 -7
  605. package/dist/components/TopNav/TopNavItem.vue2.js +0 -138
  606. package/dist/components/ViewLayout/ViewLayout.vue.js +0 -18
  607. package/dist/components/ViewLayout/ViewLayout.vue2.js +0 -4
  608. package/dist/components/ViewLayout/ViewLayoutCollapse.vue.js +0 -92
  609. package/dist/components/ViewLayout/ViewLayoutCollapse.vue2.js +0 -4
  610. package/dist/components/ViewLayout/ViewLayoutContent.vue.js +0 -12
  611. package/dist/components/ViewLayout/ViewLayoutSection.vue.js +0 -23
  612. package/dist/components/ViewLayout/ViewLayoutSection.vue2.js +0 -4
  613. package/dist/constants.js +0 -40
  614. package/dist/data/httpHeaders.js +0 -537
  615. package/dist/hooks/useAnalytics.js +0 -11
  616. package/dist/hooks/useClientConfig.js +0 -7
  617. package/dist/hooks/useFileDialog.js +0 -21
  618. package/dist/hooks/useLayout.js +0 -8
  619. package/dist/hooks/useResponseBody.js +0 -20
  620. package/dist/hooks/useSidebar.js +0 -28
  621. package/dist/layouts/App/ApiClientApp.vue.js +0 -70
  622. package/dist/layouts/App/ApiClientApp.vue3.js +0 -5
  623. package/dist/layouts/App/MainLayout.vue.js +0 -26
  624. package/dist/layouts/App/MainLayout.vue2.js +0 -4
  625. package/dist/layouts/App/create-api-client-app.js +0 -35
  626. package/dist/layouts/App/hotkeys.js +0 -21
  627. package/dist/layouts/Modal/ApiClientModal.vue.js +0 -30
  628. package/dist/layouts/Modal/ApiClientModal.vue2.js +0 -4
  629. package/dist/layouts/Modal/create-api-client-modal.js +0 -32
  630. package/dist/layouts/Web/ApiClientWeb.vue.js +0 -64
  631. package/dist/layouts/Web/ApiClientWeb.vue3.js +0 -5
  632. package/dist/layouts/Web/create-api-client-web.js +0 -32
  633. package/dist/libs/create-client.js +0 -189
  634. package/dist/libs/electron.js +0 -4
  635. package/dist/libs/env-helpers.js +0 -6
  636. package/dist/libs/environment-parser.js +0 -18
  637. package/dist/libs/errors.js +0 -16
  638. package/dist/libs/event-bus.js +0 -32
  639. package/dist/libs/extractAttachmentFilename.js +0 -18
  640. package/dist/libs/find-request.js +0 -23
  641. package/dist/libs/formatters.js +0 -10
  642. package/dist/libs/get-request-uid-by-path-method.js +0 -18
  643. package/dist/libs/getOpenApiDocumentDetails.js +0 -40
  644. package/dist/libs/hot-keys.js +0 -44
  645. package/dist/libs/importers/curl.js +0 -53
  646. package/dist/libs/isUrl.js +0 -7
  647. package/dist/libs/local-storage.js +0 -41
  648. package/dist/libs/normalize-headers.js +0 -27
  649. package/dist/libs/parse-curl.js +0 -59
  650. package/dist/libs/postman.js +0 -37
  651. package/dist/libs/send-request/build-request-security.js +0 -35
  652. package/dist/libs/send-request/create-fetch-body.js +0 -25
  653. package/dist/libs/send-request/create-fetch-headers.js +0 -11
  654. package/dist/libs/send-request/create-fetch-query-params.js +0 -33
  655. package/dist/libs/send-request/create-request-operation.js +0 -140
  656. package/dist/libs/send-request/decode-buffer.js +0 -9
  657. package/dist/libs/send-request/set-request-cookies.js +0 -58
  658. package/dist/libs/string-template.js +0 -42
  659. package/dist/libs/validate-parameters.js +0 -16
  660. package/dist/plugins/hooks/usePluginManager.js +0 -10
  661. package/dist/plugins/plugin-manager.js +0 -26
  662. package/dist/routes.js +0 -210
  663. package/dist/store/active-entities.js +0 -118
  664. package/dist/store/collections.js +0 -73
  665. package/dist/store/cookies.js +0 -13
  666. package/dist/store/environment.js +0 -32
  667. package/dist/store/events.js +0 -35
  668. package/dist/store/import-spec.js +0 -55
  669. package/dist/store/request-example.js +0 -43
  670. package/dist/store/requests.js +0 -97
  671. package/dist/store/router-params.js +0 -22
  672. package/dist/store/security-schemes.js +0 -55
  673. package/dist/store/servers.js +0 -39
  674. package/dist/store/store.js +0 -144
  675. package/dist/store/tags.js +0 -45
  676. package/dist/store/workspace.js +0 -52
  677. package/dist/v2/blocks/operation-block/OperationBlock.vue.js +0 -242
  678. package/dist/v2/blocks/operation-block/OperationBlock.vue2.js +0 -4
  679. package/dist/v2/blocks/operation-block/components/Header.vue.js +0 -7
  680. package/dist/v2/blocks/operation-block/components/Header.vue2.js +0 -100
  681. package/dist/v2/blocks/operation-block/helpers/build-request-body.js +0 -40
  682. package/dist/v2/blocks/operation-block/helpers/build-request-cookie-header.js +0 -31
  683. package/dist/v2/blocks/operation-block/helpers/build-request-parameters.js +0 -107
  684. package/dist/v2/blocks/operation-block/helpers/build-request-security.js +0 -46
  685. package/dist/v2/blocks/operation-block/helpers/build-request.js +0 -70
  686. package/dist/v2/blocks/operation-block/helpers/de-serialize-parameter.js +0 -25
  687. package/dist/v2/blocks/operation-block/helpers/decode-buffer.js +0 -9
  688. package/dist/v2/blocks/operation-block/helpers/filter-global-cookies.js +0 -14
  689. package/dist/v2/blocks/operation-block/helpers/get-cookie-header-keys.js +0 -4
  690. package/dist/v2/blocks/operation-block/helpers/get-environment-variables.js +0 -7
  691. package/dist/v2/blocks/operation-block/helpers/get-example.js +0 -36
  692. package/dist/v2/blocks/operation-block/helpers/get-resolved-url.js +0 -17
  693. package/dist/v2/blocks/operation-block/helpers/get-selected-body-content-type.js +0 -4
  694. package/dist/v2/blocks/operation-block/helpers/get-server-url.js +0 -12
  695. package/dist/v2/blocks/operation-block/helpers/har-to-fetch-request.js +0 -31
  696. package/dist/v2/blocks/operation-block/helpers/har-to-fetch-response.js +0 -43
  697. package/dist/v2/blocks/operation-block/helpers/response-cache.js +0 -12
  698. package/dist/v2/blocks/operation-block/helpers/send-request.js +0 -122
  699. package/dist/v2/blocks/operation-block/helpers/serialize-parameter.js +0 -49
  700. package/dist/v2/blocks/operation-block/helpers/validate-path-parameters.js +0 -17
  701. package/dist/v2/blocks/operation-code-sample/components/ExamplePicker.vue.js +0 -56
  702. package/dist/v2/blocks/operation-code-sample/components/ExamplePicker.vue2.js +0 -4
  703. package/dist/v2/blocks/operation-code-sample/components/HttpMethod.vue.js +0 -30
  704. package/dist/v2/blocks/operation-code-sample/components/HttpMethod.vue2.js +0 -4
  705. package/dist/v2/blocks/operation-code-sample/components/OperationCodeSample.vue.js +0 -7
  706. package/dist/v2/blocks/operation-code-sample/components/OperationCodeSample.vue2.js +0 -227
  707. package/dist/v2/blocks/operation-code-sample/helpers/find-client.js +0 -22
  708. package/dist/v2/blocks/operation-code-sample/helpers/generate-client-options.js +0 -27
  709. package/dist/v2/blocks/operation-code-sample/helpers/generate-code-snippet.js +0 -40
  710. package/dist/v2/blocks/operation-code-sample/helpers/get-clients.js +0 -20
  711. package/dist/v2/blocks/operation-code-sample/helpers/get-custom-code-samples.js +0 -4
  712. package/dist/v2/blocks/operation-code-sample/helpers/get-example-from-schema.js +0 -302
  713. package/dist/v2/blocks/operation-code-sample/helpers/get-resolved-ref-deep.js +0 -28
  714. package/dist/v2/blocks/operation-code-sample/helpers/get-secrets.js +0 -10
  715. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/operation-to-har.js +0 -67
  716. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-body.js +0 -66
  717. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-parameters.js +0 -172
  718. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-security-schemes.js +0 -55
  719. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-server-url.js +0 -18
  720. package/dist/v2/blocks/request-block/RequestBlock.vue.js +0 -7
  721. package/dist/v2/blocks/request-block/RequestBlock.vue2.js +0 -347
  722. package/dist/v2/blocks/request-block/components/RequestBody.vue.js +0 -7
  723. package/dist/v2/blocks/request-block/components/RequestBody.vue2.js +0 -191
  724. package/dist/v2/blocks/request-block/components/RequestBodyForm.vue.js +0 -84
  725. package/dist/v2/blocks/request-block/components/RequestBodyForm.vue2.js +0 -4
  726. package/dist/v2/blocks/request-block/components/RequestCodeSnippet.vue.js +0 -135
  727. package/dist/v2/blocks/request-block/components/RequestCodeSnippet.vue2.js +0 -4
  728. package/dist/v2/blocks/request-block/components/RequestParams.vue.js +0 -78
  729. package/dist/v2/blocks/request-block/components/RequestParams.vue2.js +0 -4
  730. package/dist/v2/blocks/request-block/components/RequestTable.vue.js +0 -7
  731. package/dist/v2/blocks/request-block/components/RequestTable.vue2.js +0 -74
  732. package/dist/v2/blocks/request-block/components/RequestTableRow.vue.js +0 -204
  733. package/dist/v2/blocks/request-block/components/RequestTableRow.vue2.js +0 -4
  734. package/dist/v2/blocks/request-block/components/RequestTableTooltip.vue.js +0 -7
  735. package/dist/v2/blocks/request-block/components/RequestTableTooltip.vue2.js +0 -63
  736. package/dist/v2/blocks/request-block/helpers/create-parameter-handlers.js +0 -55
  737. package/dist/v2/blocks/request-block/helpers/files.js +0 -7
  738. package/dist/v2/blocks/request-block/helpers/get-default-headers.js +0 -26
  739. package/dist/v2/blocks/request-block/helpers/get-form-body-rows.js +0 -29
  740. package/dist/v2/blocks/request-block/helpers/get-parameter-content.js +0 -9
  741. package/dist/v2/blocks/request-block/helpers/get-parameter-schema.js +0 -6
  742. package/dist/v2/blocks/request-block/helpers/get-request-body-example.js +0 -16
  743. package/dist/v2/blocks/request-block/helpers/group-by.js +0 -10
  744. package/dist/v2/blocks/request-block/helpers/is-param-disabled.js +0 -7
  745. package/dist/v2/blocks/request-block/helpers/validate-parameter.js +0 -32
  746. package/dist/v2/blocks/response-block/ResponseBlock.vue.js +0 -7
  747. package/dist/v2/blocks/response-block/ResponseBlock.vue2.js +0 -180
  748. package/dist/v2/blocks/response-block/components/Headers.vue.js +0 -96
  749. package/dist/v2/blocks/response-block/components/Headers.vue2.js +0 -4
  750. package/dist/v2/blocks/response-block/components/ResponseBody.vue.js +0 -7
  751. package/dist/v2/blocks/response-block/components/ResponseBody.vue2.js +0 -87
  752. package/dist/v2/blocks/response-block/components/ResponseBodyDownload.vue.js +0 -36
  753. package/dist/v2/blocks/response-block/components/ResponseBodyDownload.vue2.js +0 -4
  754. package/dist/v2/blocks/response-block/components/ResponseBodyInfo.vue.js +0 -14
  755. package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.js +0 -7
  756. package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue2.js +0 -63
  757. package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.js +0 -7
  758. package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue2.js +0 -41
  759. package/dist/v2/blocks/response-block/components/ResponseBodyStreaming.vue.js +0 -94
  760. package/dist/v2/blocks/response-block/components/ResponseBodyStreaming.vue2.js +0 -4
  761. package/dist/v2/blocks/response-block/components/ResponseBodyToggle.vue.js +0 -25
  762. package/dist/v2/blocks/response-block/components/ResponseBodyToggle.vue2.js +0 -4
  763. package/dist/v2/blocks/response-block/components/ResponseBodyVirtual.vue.js +0 -52
  764. package/dist/v2/blocks/response-block/components/ResponseBodyVirtual.vue3.js +0 -5
  765. package/dist/v2/blocks/response-block/components/ResponseCookies.vue.js +0 -54
  766. package/dist/v2/blocks/response-block/components/ResponseCookies.vue2.js +0 -4
  767. package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.js +0 -7
  768. package/dist/v2/blocks/response-block/components/ResponseEmpty.vue2.js +0 -79
  769. package/dist/v2/blocks/response-block/components/ResponseLoadingOverlay.vue.js +0 -7
  770. package/dist/v2/blocks/response-block/components/ResponseLoadingOverlay.vue2.js +0 -46
  771. package/dist/v2/blocks/response-block/components/ResponseMetaInformation.vue.js +0 -67
  772. package/dist/v2/blocks/response-block/components/ResponseMetaInformation.vue2.js +0 -4
  773. package/dist/v2/blocks/response-block/helpers/extract-filename.js +0 -18
  774. package/dist/v2/blocks/response-block/helpers/get-content-length.js +0 -12
  775. package/dist/v2/blocks/response-block/helpers/media-types.js +0 -126
  776. package/dist/v2/blocks/response-block/helpers/parse-set-cookie.js +0 -12
  777. package/dist/v2/blocks/response-block/helpers/process-response-body.js +0 -16
  778. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.js +0 -7
  779. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue2.js +0 -208
  780. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBarHistory.vue.js +0 -7
  781. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBarHistory.vue2.js +0 -95
  782. package/dist/v2/blocks/scalar-address-bar-block/components/EnvironmentSelector.vue.js +0 -145
  783. package/dist/v2/blocks/scalar-address-bar-block/components/EnvironmentSelector.vue2.js +0 -4
  784. package/dist/v2/blocks/scalar-address-bar-block/components/httpStatusCodeColors.js +0 -38
  785. package/dist/v2/blocks/scalar-address-bar-block/hooks/use-loading-animation.js +0 -25
  786. package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.js +0 -184
  787. package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue2.js +0 -4
  788. package/dist/v2/blocks/scalar-auth-selector-block/components/DeleteRequestAuthModal.vue.js +0 -51
  789. package/dist/v2/blocks/scalar-auth-selector-block/components/DeleteRequestAuthModal.vue2.js +0 -4
  790. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.js +0 -330
  791. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue2.js +0 -4
  792. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.js +0 -7
  793. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue2.js +0 -76
  794. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue.js +0 -165
  795. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue3.js +0 -5
  796. package/dist/v2/blocks/scalar-auth-selector-block/components/OpenIDConnect.vue.js +0 -91
  797. package/dist/v2/blocks/scalar-auth-selector-block/components/OpenIDConnect.vue2.js +0 -4
  798. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.js +0 -83
  799. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue2.js +0 -4
  800. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTableInput.vue.js +0 -46
  801. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTableInput.vue2.js +0 -4
  802. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.js +0 -244
  803. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue2.js +0 -4
  804. package/dist/v2/blocks/scalar-auth-selector-block/helpers/auth-options.js +0 -97
  805. package/dist/v2/blocks/scalar-auth-selector-block/helpers/extract-security-scheme-secrets.js +0 -135
  806. package/dist/v2/blocks/scalar-auth-selector-block/helpers/fetch-openid-connect-discovery.js +0 -35
  807. package/dist/v2/blocks/scalar-auth-selector-block/helpers/is-auth-optional.js +0 -7
  808. package/dist/v2/blocks/scalar-auth-selector-block/helpers/merge-security.js +0 -23
  809. package/dist/v2/blocks/scalar-auth-selector-block/helpers/oauth.js +0 -139
  810. package/dist/v2/blocks/scalar-auth-selector-block/helpers/openid-discovery-to-flows.js +0 -27
  811. package/dist/v2/blocks/scalar-auth-selector-block/helpers/security-scheme.js +0 -64
  812. package/dist/v2/components/callout/Callout.vue.js +0 -7
  813. package/dist/v2/components/callout/Callout.vue2.js +0 -43
  814. package/dist/v2/components/code-input/CodeInput.vue.js +0 -8
  815. package/dist/v2/components/code-input/CodeInput.vue2.js +0 -213
  816. package/dist/v2/components/code-input/code-variable-widget.js +0 -106
  817. package/dist/v2/components/data-table/DataTable.vue.js +0 -38
  818. package/dist/v2/components/data-table/DataTable.vue2.js +0 -4
  819. package/dist/v2/components/data-table/DataTableCell.vue.js +0 -26
  820. package/dist/v2/components/data-table/DataTableCell.vue2.js +0 -4
  821. package/dist/v2/components/data-table/DataTableCheckbox.vue.js +0 -53
  822. package/dist/v2/components/data-table/DataTableCheckbox.vue2.js +0 -4
  823. package/dist/v2/components/data-table/DataTableHeader.vue.js +0 -18
  824. package/dist/v2/components/data-table/DataTableHeader.vue2.js +0 -4
  825. package/dist/v2/components/data-table/DataTableInput.vue.js +0 -7
  826. package/dist/v2/components/data-table/DataTableInput.vue2.js +0 -121
  827. package/dist/v2/components/data-table/DataTableInputSelect.vue.js +0 -149
  828. package/dist/v2/components/data-table/DataTableInputSelect.vue2.js +0 -4
  829. package/dist/v2/components/data-table/DataTableRow.vue.js +0 -12
  830. package/dist/v2/components/data-table/DataTableText.vue.js +0 -23
  831. package/dist/v2/components/data-table/DataTableText.vue2.js +0 -4
  832. package/dist/v2/components/forms/ConfirmationForm.vue.js +0 -45
  833. package/dist/v2/components/forms/ConfirmationForm.vue2.js +0 -4
  834. package/dist/v2/components/layout/CollapsibleSection.vue.js +0 -89
  835. package/dist/v2/components/layout/CollapsibleSection.vue2.js +0 -4
  836. package/dist/v2/components/layout/ValueEmitter.vue.js +0 -21
  837. package/dist/v2/components/layout/ValueEmitter.vue2.js +0 -4
  838. package/dist/v2/components/modals/DeleteModal.vue.js +0 -31
  839. package/dist/v2/components/modals/DeleteModal.vue2.js +0 -4
  840. package/dist/v2/components/modals/ModalClientContainer.vue.js +0 -7
  841. package/dist/v2/components/modals/ModalClientContainer.vue2.js +0 -60
  842. package/dist/v2/components/resize/Resize.vue.js +0 -8
  843. package/dist/v2/components/resize/Resize.vue2.js +0 -36
  844. package/dist/v2/components/resize/use-split-resize.js +0 -57
  845. package/dist/v2/components/server/ServerDropdown.vue.js +0 -91
  846. package/dist/v2/components/server/ServerDropdown.vue2.js +0 -4
  847. package/dist/v2/components/server/ServerDropdownItem.vue.js +0 -7
  848. package/dist/v2/components/server/ServerDropdownItem.vue2.js +0 -49
  849. package/dist/v2/components/sidebar/Sidebar.vue.js +0 -115
  850. package/dist/v2/components/sidebar/Sidebar.vue2.js +0 -4
  851. package/dist/v2/components/sidebar/SidebarMenu.vue.js +0 -52
  852. package/dist/v2/components/sidebar/SidebarMenu.vue2.js +0 -4
  853. package/dist/v2/components/sidebar/SidebarToggle.vue.js +0 -52
  854. package/dist/v2/components/sidebar/SidebarToggle.vue2.js +0 -4
  855. package/dist/v2/features/app/App.vue.js +0 -152
  856. package/dist/v2/features/app/App.vue3.js +0 -5
  857. package/dist/v2/features/app/app-events.js +0 -251
  858. package/dist/v2/features/app/app-state.js +0 -415
  859. package/dist/v2/features/app/components/AppSidebar.vue.js +0 -7
  860. package/dist/v2/features/app/components/AppSidebar.vue2.js +0 -304
  861. package/dist/v2/features/app/components/CreateWorkspaceModal.vue.js +0 -56
  862. package/dist/v2/features/app/components/CreateWorkspaceModal.vue2.js +0 -4
  863. package/dist/v2/features/app/components/DesktopTab.vue.js +0 -7
  864. package/dist/v2/features/app/components/DesktopTab.vue2.js +0 -134
  865. package/dist/v2/features/app/components/DesktopTabs.vue.js +0 -56
  866. package/dist/v2/features/app/components/DesktopTabs.vue2.js +0 -4
  867. package/dist/v2/features/app/components/DownloadAppButton.vue.js +0 -7
  868. package/dist/v2/features/app/components/DownloadAppButton.vue2.js +0 -19
  869. package/dist/v2/features/app/components/SidebarItemMenu.vue.js +0 -185
  870. package/dist/v2/features/app/components/SidebarItemMenu.vue2.js +0 -4
  871. package/dist/v2/features/app/components/SplashScreen.vue.js +0 -7
  872. package/dist/v2/features/app/components/SplashScreen.vue2.js +0 -18
  873. package/dist/v2/features/app/helpers/create-api-client-app.js +0 -36
  874. package/dist/v2/features/app/helpers/filter-workspaces.js +0 -5
  875. package/dist/v2/features/app/helpers/get-route-param.js +0 -9
  876. package/dist/v2/features/app/helpers/group-workspaces.js +0 -23
  877. package/dist/v2/features/app/helpers/routes.js +0 -157
  878. package/dist/v2/features/app/hooks/use-document-watcher.js +0 -66
  879. package/dist/v2/features/app/hooks/use-theme.js +0 -48
  880. package/dist/v2/features/collection/DocumentCollection.vue.js +0 -336
  881. package/dist/v2/features/collection/DocumentCollection.vue3.js +0 -5
  882. package/dist/v2/features/collection/OperationCollection.vue.js +0 -86
  883. package/dist/v2/features/collection/OperationCollection.vue2.js +0 -4
  884. package/dist/v2/features/collection/WorkspaceCollection.vue.js +0 -68
  885. package/dist/v2/features/collection/WorkspaceCollection.vue2.js +0 -4
  886. package/dist/v2/features/collection/components/Authentication.vue.js +0 -7
  887. package/dist/v2/features/collection/components/Authentication.vue2.js +0 -154
  888. package/dist/v2/features/collection/components/Cookies.vue.js +0 -52
  889. package/dist/v2/features/collection/components/Cookies.vue2.js +0 -4
  890. package/dist/v2/features/collection/components/Editor/Editor.vue.js +0 -7
  891. package/dist/v2/features/collection/components/Editor/Editor.vue2.js +0 -344
  892. package/dist/v2/features/collection/components/Editor/components/EditorDiagnosticsPanel.vue.js +0 -78
  893. package/dist/v2/features/collection/components/Editor/components/EditorDiagnosticsPanel.vue2.js +0 -4
  894. package/dist/v2/features/collection/components/Editor/components/EditorSavePanel.vue.js +0 -83
  895. package/dist/v2/features/collection/components/Editor/components/EditorSavePanel.vue2.js +0 -4
  896. package/dist/v2/features/collection/components/Editor/helpers/get-diagnostic-counts.js +0 -10
  897. package/dist/v2/features/collection/components/Editor/helpers/get-operation-context.js +0 -5
  898. package/dist/v2/features/collection/components/Editor/helpers/get-visible-diagnostics.js +0 -5
  899. package/dist/v2/features/collection/components/Editor/helpers/parse-editor-object.js +0 -21
  900. package/dist/v2/features/collection/components/Editor/helpers/stringify-document.js +0 -5
  901. package/dist/v2/features/collection/components/Editor/hooks/use-editor-state.js +0 -25
  902. package/dist/v2/features/collection/components/Environment.vue.js +0 -54
  903. package/dist/v2/features/collection/components/Environment.vue2.js +0 -4
  904. package/dist/v2/features/collection/components/Form.vue.js +0 -78
  905. package/dist/v2/features/collection/components/Form.vue2.js +0 -4
  906. package/dist/v2/features/collection/components/LabelInput.vue.js +0 -7
  907. package/dist/v2/features/collection/components/LabelInput.vue2.js +0 -35
  908. package/dist/v2/features/collection/components/Overview.vue.js +0 -7
  909. package/dist/v2/features/collection/components/Overview.vue2.js +0 -208
  910. package/dist/v2/features/collection/components/Servers.vue.js +0 -210
  911. package/dist/v2/features/collection/components/Servers.vue2.js +0 -4
  912. package/dist/v2/features/collection/components/Settings.vue.js +0 -61
  913. package/dist/v2/features/collection/components/Settings.vue2.js +0 -4
  914. package/dist/v2/features/collection/components/SyncConflictResolutionEditor.vue.js +0 -7
  915. package/dist/v2/features/collection/components/SyncConflictResolutionEditor.vue2.js +0 -136
  916. package/dist/v2/features/collection/components/Tabs.vue.js +0 -44
  917. package/dist/v2/features/collection/components/Tabs.vue2.js +0 -4
  918. package/dist/v2/features/collection/helpers/get-default-operation-security-toggle.js +0 -13
  919. package/dist/v2/features/command-palette/TheCommandPalette.vue.js +0 -7
  920. package/dist/v2/features/command-palette/TheCommandPalette.vue2.js +0 -152
  921. package/dist/v2/features/command-palette/components/CommandActionForm.vue.js +0 -48
  922. package/dist/v2/features/command-palette/components/CommandActionForm.vue2.js +0 -4
  923. package/dist/v2/features/command-palette/components/CommandActionInput.vue.js +0 -52
  924. package/dist/v2/features/command-palette/components/CommandActionInput.vue2.js +0 -4
  925. package/dist/v2/features/command-palette/components/CommandPaletteExample.vue.js +0 -211
  926. package/dist/v2/features/command-palette/components/CommandPaletteExample.vue2.js +0 -4
  927. package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.js +0 -182
  928. package/dist/v2/features/command-palette/components/CommandPaletteImport.vue2.js +0 -4
  929. package/dist/v2/features/command-palette/components/CommandPaletteImportCurl.vue.js +0 -7
  930. package/dist/v2/features/command-palette/components/CommandPaletteImportCurl.vue2.js +0 -115
  931. package/dist/v2/features/command-palette/components/CommandPaletteOpenApiDocument.vue.js +0 -78
  932. package/dist/v2/features/command-palette/components/CommandPaletteOpenApiDocument.vue2.js +0 -4
  933. package/dist/v2/features/command-palette/components/CommandPaletteRequest.vue.js +0 -221
  934. package/dist/v2/features/command-palette/components/CommandPaletteRequest.vue2.js +0 -4
  935. package/dist/v2/features/command-palette/components/CommandPaletteTag.vue.js +0 -114
  936. package/dist/v2/features/command-palette/components/CommandPaletteTag.vue2.js +0 -4
  937. package/dist/v2/features/command-palette/components/WatchModeToggle.vue.js +0 -40
  938. package/dist/v2/features/command-palette/components/WatchModeToggle.vue2.js +0 -4
  939. package/dist/v2/features/command-palette/helpers/generate-unique-slug.js +0 -11
  940. package/dist/v2/features/command-palette/helpers/get-openapi-document-details.js +0 -31
  941. package/dist/v2/features/command-palette/helpers/get-openapi-from-postman.js +0 -11
  942. package/dist/v2/features/command-palette/helpers/get-operation-from-curl.js +0 -76
  943. package/dist/v2/features/command-palette/helpers/get-postman-document-details.js +0 -18
  944. package/dist/v2/features/command-palette/helpers/import-document-to-workspace.js +0 -33
  945. package/dist/v2/features/command-palette/helpers/is-postman-collection.js +0 -11
  946. package/dist/v2/features/command-palette/helpers/load-document-from-source.js +0 -52
  947. package/dist/v2/features/command-palette/hooks/use-command-palette-state.js +0 -139
  948. package/dist/v2/features/editor/config.js +0 -16
  949. package/dist/v2/features/editor/helpers/configure-language-support.js +0 -39
  950. package/dist/v2/features/editor/helpers/ensure-monaco-environment.js +0 -20
  951. package/dist/v2/features/editor/helpers/json/create-json-model.js +0 -19
  952. package/dist/v2/features/editor/helpers/json/get-json-ast-node-from-path.js +0 -9
  953. package/dist/v2/features/editor/helpers/json/json-ast.js +0 -24
  954. package/dist/v2/features/editor/helpers/json/json-pointer-links.js +0 -72
  955. package/dist/v2/features/editor/helpers/json/json-pointer-path.js +0 -21
  956. package/dist/v2/features/editor/helpers/range-to-whole-line.js +0 -8
  957. package/dist/v2/features/editor/helpers/theme/apply-scalar-theme.js +0 -56
  958. package/dist/v2/features/editor/helpers/theme/load-css-variables.js +0 -21
  959. package/dist/v2/features/editor/helpers/yaml/create-yaml-model.js +0 -19
  960. package/dist/v2/features/editor/helpers/yaml/get-yaml-node-range-from-path.js +0 -50
  961. package/dist/v2/features/editor/hooks/use-editor-markers.js +0 -34
  962. package/dist/v2/features/editor/hooks/use-editor.js +0 -107
  963. package/dist/v2/features/editor/hooks/use-json-pointer-link-support.js +0 -27
  964. package/dist/v2/features/editor/hooks/use-three-way-merge-editor.js +0 -316
  965. package/dist/v2/features/editor/schemas/openapi-3.1-schema.json.js +0 -25
  966. package/dist/v2/features/environments/EnvironmentsList.vue.js +0 -68
  967. package/dist/v2/features/environments/EnvironmentsList.vue2.js +0 -4
  968. package/dist/v2/features/environments/components/Environment.vue.js +0 -66
  969. package/dist/v2/features/environments/components/Environment.vue2.js +0 -4
  970. package/dist/v2/features/environments/components/EnvironmentColors.vue.js +0 -121
  971. package/dist/v2/features/environments/components/EnvironmentColors.vue2.js +0 -4
  972. package/dist/v2/features/environments/components/EnvironmentCreateModal.vue.js +0 -85
  973. package/dist/v2/features/environments/components/EnvironmentCreateModal.vue2.js +0 -4
  974. package/dist/v2/features/environments/components/EnvironmentDeleteModal.vue.js +0 -53
  975. package/dist/v2/features/environments/components/EnvironmentDeleteModal.vue2.js +0 -4
  976. package/dist/v2/features/environments/components/EnvironmentVariablesDropdown.vue.js +0 -109
  977. package/dist/v2/features/environments/components/EnvironmentVariablesDropdown.vue2.js +0 -4
  978. package/dist/v2/features/environments/components/EnvironmentVariablesTable.vue.js +0 -7
  979. package/dist/v2/features/environments/components/EnvironmentVariablesTable.vue2.js +0 -136
  980. package/dist/v2/features/global-cookies/components/CookiesTable.vue.js +0 -7
  981. package/dist/v2/features/global-cookies/components/CookiesTable.vue2.js +0 -189
  982. package/dist/v2/features/modal/Modal.vue.js +0 -122
  983. package/dist/v2/features/modal/Modal.vue2.js +0 -4
  984. package/dist/v2/features/modal/helpers/create-api-client-modal.js +0 -89
  985. package/dist/v2/features/modal/helpers/map-hidden-clients-config.js +0 -36
  986. package/dist/v2/features/modal/helpers/resolve-route-parameters.js +0 -29
  987. package/dist/v2/features/modal/helpers/restore-workspace-state.js +0 -36
  988. package/dist/v2/features/modal/hooks/use-modal-sidebar.js +0 -93
  989. package/dist/v2/features/modal/modal-events.js +0 -44
  990. package/dist/v2/features/operation/Operation.vue.js +0 -126
  991. package/dist/v2/features/operation/Operation.vue2.js +0 -4
  992. package/dist/v2/features/operation/helpers/combine-params.js +0 -14
  993. package/dist/v2/features/operation/helpers/get-security-requirements.js +0 -4
  994. package/dist/v2/features/operation/helpers/get-selected-security.js +0 -18
  995. package/dist/v2/features/operation/helpers/get-selected-server.js +0 -4
  996. package/dist/v2/features/search/helpers/create-fuse-instance.js +0 -43
  997. package/dist/v2/features/search/helpers/create-search-index.js +0 -63
  998. package/dist/v2/features/search/hooks/use-search-index.js +0 -18
  999. package/dist/v2/features/settings/CollectionSettings.vue.js +0 -275
  1000. package/dist/v2/features/settings/CollectionSettings.vue2.js +0 -4
  1001. package/dist/v2/features/settings/DocumentSettings.vue.js +0 -115
  1002. package/dist/v2/features/settings/DocumentSettings.vue2.js +0 -4
  1003. package/dist/v2/features/settings/components/Appearance.vue.js +0 -88
  1004. package/dist/v2/features/settings/components/Appearance.vue2.js +0 -4
  1005. package/dist/v2/features/settings/components/Section.vue.js +0 -35
  1006. package/dist/v2/features/settings/components/Section.vue2.js +0 -4
  1007. package/dist/v2/features/settings/helpers/get-theme-colors.js +0 -16
  1008. package/dist/v2/helpers/drag-handle-factory.js +0 -120
  1009. package/dist/v2/helpers/generate-location-id.js +0 -10
  1010. package/dist/v2/helpers/get-active-environment.js +0 -22
  1011. package/dist/v2/helpers/get-active-proxy-url.js +0 -5
  1012. package/dist/v2/helpers/get-servers.js +0 -66
  1013. package/dist/v2/helpers/get-tab-details.js +0 -34
  1014. package/dist/v2/helpers/handle-hotkeys.js +0 -54
  1015. package/dist/v2/helpers/is-url.js +0 -5
  1016. package/dist/v2/helpers/slugify.js +0 -4
  1017. package/dist/v2/helpers/storage.js +0 -16
  1018. package/dist/v2/hooks/use-color-mode.js +0 -24
  1019. package/dist/v2/hooks/use-global-hot-keys.js +0 -11
  1020. package/dist/v2/hooks/use-scroll-lock.js +0 -21
  1021. package/dist/v2/workspace-events.js +0 -252
  1022. package/dist/views/Collection/Collection.vue.js +0 -4
  1023. package/dist/views/Collection/Collection.vue2.js +0 -49
  1024. package/dist/views/Collection/CollectionAuthentication.vue.js +0 -7
  1025. package/dist/views/Collection/CollectionAuthentication.vue2.js +0 -56
  1026. package/dist/views/Collection/CollectionCookies.vue.js +0 -4
  1027. package/dist/views/Collection/CollectionCookies.vue2.js +0 -16
  1028. package/dist/views/Collection/CollectionEnvironment.vue.js +0 -5
  1029. package/dist/views/Collection/CollectionEnvironment.vue2.js +0 -229
  1030. package/dist/views/Collection/CollectionInfoForm.vue.js +0 -7
  1031. package/dist/views/Collection/CollectionInfoForm.vue2.js +0 -63
  1032. package/dist/views/Collection/CollectionNavigation.vue.js +0 -133
  1033. package/dist/views/Collection/CollectionNavigation.vue2.js +0 -4
  1034. package/dist/views/Collection/CollectionOverview.vue.js +0 -4
  1035. package/dist/views/Collection/CollectionOverview.vue2.js +0 -34
  1036. package/dist/views/Collection/CollectionScripts.vue.js +0 -4
  1037. package/dist/views/Collection/CollectionScripts.vue2.js +0 -16
  1038. package/dist/views/Collection/CollectionServerForm.vue.js +0 -75
  1039. package/dist/views/Collection/CollectionServerForm.vue2.js +0 -4
  1040. package/dist/views/Collection/CollectionServers.vue.js +0 -4
  1041. package/dist/views/Collection/CollectionServers.vue2.js +0 -94
  1042. package/dist/views/Collection/CollectionSettings.vue.js +0 -4
  1043. package/dist/views/Collection/CollectionSettings.vue2.js +0 -118
  1044. package/dist/views/Collection/CollectionSync.vue.js +0 -4
  1045. package/dist/views/Collection/CollectionSync.vue2.js +0 -16
  1046. package/dist/views/Collection/components/EnvironmentForm.vue.js +0 -7
  1047. package/dist/views/Collection/components/EnvironmentForm.vue2.js +0 -270
  1048. package/dist/views/Collection/components/MarkdownInput.vue.js +0 -7
  1049. package/dist/views/Collection/components/MarkdownInput.vue2.js +0 -100
  1050. package/dist/views/Components/CodeSnippet/CodeSnippet.vue.js +0 -50
  1051. package/dist/views/Components/CodeSnippet/CodeSnippet.vue2.js +0 -4
  1052. package/dist/views/Components/CodeSnippet/helpers/convert-to-har-request.js +0 -62
  1053. package/dist/views/Components/CodeSnippet/helpers/get-har-request.js +0 -82
  1054. package/dist/views/Components/CodeSnippet/helpers/get-snippet.js +0 -30
  1055. package/dist/views/Cookies/CookieForm.vue.js +0 -34
  1056. package/dist/views/Cookies/CookieForm.vue2.js +0 -4
  1057. package/dist/views/Cookies/CookieModal.vue.js +0 -7
  1058. package/dist/views/Cookies/CookieModal.vue2.js +0 -88
  1059. package/dist/views/Cookies/Cookies.vue.js +0 -4
  1060. package/dist/views/Cookies/Cookies.vue2.js +0 -162
  1061. package/dist/views/Environment/Environment.vue.js +0 -4
  1062. package/dist/views/Environment/Environment.vue2.js +0 -402
  1063. package/dist/views/Environment/EnvironmentColorModal.vue.js +0 -42
  1064. package/dist/views/Environment/EnvironmentColorModal.vue2.js +0 -4
  1065. package/dist/views/Environment/EnvironmentColors.vue.js +0 -118
  1066. package/dist/views/Environment/EnvironmentColors.vue2.js +0 -4
  1067. package/dist/views/Environment/EnvironmentModal.vue.js +0 -131
  1068. package/dist/views/Environment/EnvironmentModal.vue2.js +0 -4
  1069. package/dist/views/Environment/EnvironmentVariableDropdown.vue.js +0 -129
  1070. package/dist/views/Environment/EnvironmentVariableDropdown.vue2.js +0 -4
  1071. package/dist/views/Environment/handle-drag.js +0 -32
  1072. package/dist/views/Request/Request.vue.js +0 -7
  1073. package/dist/views/Request/Request.vue2.js +0 -105
  1074. package/dist/views/Request/RequestRoot.vue.js +0 -7
  1075. package/dist/views/Request/RequestRoot.vue2.js +0 -123
  1076. package/dist/views/Request/RequestSection/RequestAuth/DeleteRequestAuthModal.vue.js +0 -52
  1077. package/dist/views/Request/RequestSection/RequestAuth/DeleteRequestAuthModal.vue2.js +0 -4
  1078. package/dist/views/Request/RequestSection/RequestAuth/OAuth2.vue.js +0 -246
  1079. package/dist/views/Request/RequestSection/RequestAuth/OAuth2.vue2.js +0 -4
  1080. package/dist/views/Request/RequestSection/RequestAuth/OAuthScopesInput.vue.js +0 -135
  1081. package/dist/views/Request/RequestSection/RequestAuth/OAuthScopesInput.vue2.js +0 -4
  1082. package/dist/views/Request/RequestSection/RequestAuth/RequestAuth.vue.js +0 -7
  1083. package/dist/views/Request/RequestSection/RequestAuth/RequestAuth.vue2.js +0 -209
  1084. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTable.vue.js +0 -7
  1085. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTable.vue2.js +0 -116
  1086. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTableInput.vue.js +0 -50
  1087. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTableInput.vue2.js +0 -4
  1088. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthTab.vue.js +0 -219
  1089. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthTab.vue2.js +0 -4
  1090. package/dist/views/Request/RequestSection/RequestAuth/helpers/restore-auth-from-local-storage.js +0 -28
  1091. package/dist/views/Request/RequestSection/RequestBody.vue.js +0 -7
  1092. package/dist/views/Request/RequestSection/RequestBody.vue2.js +0 -451
  1093. package/dist/views/Request/RequestSection/RequestCodeExample.vue.js +0 -7
  1094. package/dist/views/Request/RequestSection/RequestCodeExample.vue2.js +0 -170
  1095. package/dist/views/Request/RequestSection/RequestParams.vue.js +0 -162
  1096. package/dist/views/Request/RequestSection/RequestParams.vue2.js +0 -4
  1097. package/dist/views/Request/RequestSection/RequestPathParams.vue.js +0 -96
  1098. package/dist/views/Request/RequestSection/RequestPathParams.vue2.js +0 -4
  1099. package/dist/views/Request/RequestSection/RequestSection.vue.js +0 -7
  1100. package/dist/views/Request/RequestSection/RequestSection.vue2.js +0 -247
  1101. package/dist/views/Request/RequestSection/RequestTable.vue.js +0 -7
  1102. package/dist/views/Request/RequestSection/RequestTable.vue2.js +0 -227
  1103. package/dist/views/Request/RequestSection/RequestTableTooltip.vue.js +0 -7
  1104. package/dist/views/Request/RequestSection/RequestTableTooltip.vue2.js +0 -61
  1105. package/dist/views/Request/RequestSection/helpers/filter-security-requirements.js +0 -29
  1106. package/dist/views/Request/RequestSection/helpers/getting-started.js +0 -13
  1107. package/dist/views/Request/RequestSection/helpers/update-scheme.js +0 -16
  1108. package/dist/views/Request/RequestSidebar.vue.js +0 -7
  1109. package/dist/views/Request/RequestSidebar.vue2.js +0 -341
  1110. package/dist/views/Request/RequestSidebarItem.vue.js +0 -8
  1111. package/dist/views/Request/RequestSidebarItem.vue2.js +0 -464
  1112. package/dist/views/Request/RequestSidebarItemMenu.vue.js +0 -7
  1113. package/dist/views/Request/RequestSidebarItemMenu.vue2.js +0 -236
  1114. package/dist/views/Request/RequestSubpageHeader.vue.js +0 -7
  1115. package/dist/views/Request/RequestSubpageHeader.vue2.js +0 -79
  1116. package/dist/views/Request/ResponseSection/RequestHeaders.vue.js +0 -96
  1117. package/dist/views/Request/ResponseSection/RequestHeaders.vue2.js +0 -4
  1118. package/dist/views/Request/ResponseSection/ResponseBody.vue.js +0 -7
  1119. package/dist/views/Request/ResponseSection/ResponseBody.vue2.js +0 -83
  1120. package/dist/views/Request/ResponseSection/ResponseBodyDownload.vue.js +0 -36
  1121. package/dist/views/Request/ResponseSection/ResponseBodyDownload.vue2.js +0 -4
  1122. package/dist/views/Request/ResponseSection/ResponseBodyInfo.vue.js +0 -14
  1123. package/dist/views/Request/ResponseSection/ResponseBodyPreview.vue.js +0 -7
  1124. package/dist/views/Request/ResponseSection/ResponseBodyPreview.vue2.js +0 -63
  1125. package/dist/views/Request/ResponseSection/ResponseBodyRaw.vue.js +0 -7
  1126. package/dist/views/Request/ResponseSection/ResponseBodyRaw.vue2.js +0 -42
  1127. package/dist/views/Request/ResponseSection/ResponseBodyStreaming.vue.js +0 -74
  1128. package/dist/views/Request/ResponseSection/ResponseBodyStreaming.vue2.js +0 -4
  1129. package/dist/views/Request/ResponseSection/ResponseBodyToggle.vue.js +0 -25
  1130. package/dist/views/Request/ResponseSection/ResponseBodyToggle.vue2.js +0 -4
  1131. package/dist/views/Request/ResponseSection/ResponseBodyVirtual.vue.js +0 -50
  1132. package/dist/views/Request/ResponseSection/ResponseBodyVirtual.vue3.js +0 -5
  1133. package/dist/views/Request/ResponseSection/ResponseCookies.vue.js +0 -51
  1134. package/dist/views/Request/ResponseSection/ResponseCookies.vue2.js +0 -4
  1135. package/dist/views/Request/ResponseSection/ResponseEmpty.vue.js +0 -7
  1136. package/dist/views/Request/ResponseSection/ResponseEmpty.vue2.js +0 -103
  1137. package/dist/views/Request/ResponseSection/ResponseHeaders.vue.js +0 -96
  1138. package/dist/views/Request/ResponseSection/ResponseHeaders.vue2.js +0 -4
  1139. package/dist/views/Request/ResponseSection/ResponseLoadingOverlay.vue.js +0 -7
  1140. package/dist/views/Request/ResponseSection/ResponseLoadingOverlay.vue2.js +0 -38
  1141. package/dist/views/Request/ResponseSection/ResponseMetaInformation.vue.js +0 -67
  1142. package/dist/views/Request/ResponseSection/ResponseMetaInformation.vue2.js +0 -4
  1143. package/dist/views/Request/ResponseSection/ResponseSection.vue.js +0 -7
  1144. package/dist/views/Request/ResponseSection/ResponseSection.vue2.js +0 -189
  1145. package/dist/views/Request/components/WorkspaceDropdown.vue.js +0 -182
  1146. package/dist/views/Request/components/WorkspaceDropdown.vue2.js +0 -4
  1147. package/dist/views/Request/consts/mediaTypes.js +0 -131
  1148. package/dist/views/Request/consts/new-auth-options.js +0 -100
  1149. package/dist/views/Request/handle-drag.js +0 -42
  1150. package/dist/views/Request/hooks/useOpenApiWatcher.js +0 -57
  1151. package/dist/views/Request/libs/auth.js +0 -52
  1152. package/dist/views/Request/libs/oauth2.js +0 -127
  1153. package/dist/views/Request/libs/request.js +0 -40
  1154. package/dist/views/Request/libs/watch-mode.js +0 -337
  1155. package/dist/views/Settings/Settings.vue.js +0 -4
  1156. package/dist/views/Settings/Settings.vue2.js +0 -29
  1157. package/dist/views/Settings/SettingsGeneral.vue.js +0 -286
  1158. package/dist/views/Settings/SettingsGeneral.vue2.js +0 -4
  1159. package/dist/views/Settings/components/SettingsAppearance.vue.js +0 -85
  1160. package/dist/views/Settings/components/SettingsAppearance.vue2.js +0 -4
  1161. package/dist/views/Settings/components/SettingsSection.vue.js +0 -24
  1162. package/dist/views/Settings/components/SettingsSection.vue2.js +0 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RequestAuth-BzBfIysT.js","names":["$attrs"],"sources":["../src/views/Request/RequestSection/RequestAuth/DeleteRequestAuthModal.vue","../src/views/Request/RequestSection/RequestAuth/DeleteRequestAuthModal.vue","../src/views/Request/RequestSection/helpers/update-scheme.ts","../src/views/Request/RequestSection/RequestAuth/helpers/restore-auth-from-local-storage.ts","../src/views/Request/RequestSection/RequestAuth/OAuthScopesInput.vue","../src/views/Request/RequestSection/RequestAuth/OAuthScopesInput.vue","../src/views/Request/RequestSection/RequestAuth/RequestAuthDataTableInput.vue","../src/views/Request/RequestSection/RequestAuth/RequestAuthDataTableInput.vue","../src/views/Request/RequestSection/RequestAuth/OAuth2.vue","../src/views/Request/RequestSection/RequestAuth/OAuth2.vue","../src/views/Request/RequestSection/RequestAuth/RequestAuthTab.vue","../src/views/Request/RequestSection/RequestAuth/RequestAuthTab.vue","../src/views/Request/RequestSection/RequestAuth/RequestAuthDataTable.vue","../src/views/Request/RequestSection/RequestAuth/RequestAuthDataTable.vue","../src/views/Request/RequestSection/RequestAuth/RequestAuth.vue","../src/views/Request/RequestSection/RequestAuth/RequestAuth.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarButton, ScalarModal } from '@scalar/components'\nimport type { SecurityScheme } from '@scalar/oas-utils/entities/spec'\n\nimport { useWorkspace } from '@/store/store'\n\nconst props = defineProps<{\n state: { open: boolean; show: () => void; hide: () => void }\n scheme: { id: SecurityScheme['uid']; label: string } | null\n}>()\n\nconst emit = defineEmits<{\n (e: 'close'): void\n (e: 'delete'): void\n}>()\n\nconst { securitySchemeMutators } = useWorkspace()\n\nconst deleteScheme = () => {\n if (props.scheme?.id) {\n securitySchemeMutators.delete(props.scheme.id)\n }\n emit('delete')\n}\n</script>\n<template>\n <ScalarModal\n size=\"xxs\"\n :state=\"state\"\n title=\"Delete Security Scheme\">\n <p class=\"text-c-2 mb-4 text-sm leading-normal\">\n This cannot be undone. You're about to delete the\n {{ scheme?.label }} security scheme from the collection.\n </p>\n <div class=\"flex justify-between gap-2\">\n <ScalarButton\n class=\"flex h-8 cursor-pointer items-center gap-1.5 px-3 shadow-none focus:outline-none\"\n type=\"button\"\n variant=\"outlined\"\n @click=\"emit('close')\">\n Cancel\n </ScalarButton>\n <ScalarButton\n class=\"flex h-8 cursor-pointer items-center gap-1.5 px-3 shadow-none focus:outline-none\"\n type=\"submit\"\n @click=\"deleteScheme\">\n Delete {{ scheme?.label }}\n </ScalarButton>\n </div>\n </ScalarModal>\n</template>\n","<script setup lang=\"ts\">\nimport { ScalarButton, ScalarModal } from '@scalar/components'\nimport type { SecurityScheme } from '@scalar/oas-utils/entities/spec'\n\nimport { useWorkspace } from '@/store/store'\n\nconst props = defineProps<{\n state: { open: boolean; show: () => void; hide: () => void }\n scheme: { id: SecurityScheme['uid']; label: string } | null\n}>()\n\nconst emit = defineEmits<{\n (e: 'close'): void\n (e: 'delete'): void\n}>()\n\nconst { securitySchemeMutators } = useWorkspace()\n\nconst deleteScheme = () => {\n if (props.scheme?.id) {\n securitySchemeMutators.delete(props.scheme.id)\n }\n emit('delete')\n}\n</script>\n<template>\n <ScalarModal\n size=\"xxs\"\n :state=\"state\"\n title=\"Delete Security Scheme\">\n <p class=\"text-c-2 mb-4 text-sm leading-normal\">\n This cannot be undone. You're about to delete the\n {{ scheme?.label }} security scheme from the collection.\n </p>\n <div class=\"flex justify-between gap-2\">\n <ScalarButton\n class=\"flex h-8 cursor-pointer items-center gap-1.5 px-3 shadow-none focus:outline-none\"\n type=\"button\"\n variant=\"outlined\"\n @click=\"emit('close')\">\n Cancel\n </ScalarButton>\n <ScalarButton\n class=\"flex h-8 cursor-pointer items-center gap-1.5 px-3 shadow-none focus:outline-none\"\n type=\"submit\"\n @click=\"deleteScheme\">\n Delete {{ scheme?.label }}\n </ScalarButton>\n </div>\n </ScalarModal>\n</template>\n","import { CLIENT_LS_KEYS, safeLocalStorage } from '@scalar/helpers/object/local-storage'\nimport type { SecurityScheme } from '@scalar/oas-utils/entities/spec'\nimport type { Path, PathValue } from '@scalar/object-utils/nested'\n\nimport type { WorkspaceStore } from '@/store/store'\n\n/** Shape of the local storage auth object */\nexport type Auth<P extends Path<SecurityScheme>> = Record<string, Record<P, NonNullable<PathValue<SecurityScheme, P>>>>\n\n/** Update the security scheme with side effects */\nexport const updateScheme = <U extends SecurityScheme['uid'], P extends Path<SecurityScheme>>(\n uid: U,\n path: P,\n value: NonNullable<PathValue<SecurityScheme, P>>,\n { securitySchemeMutators, securitySchemes }: WorkspaceStore,\n persistAuth = false,\n) => {\n securitySchemeMutators.edit(uid, path, value)\n\n if (!persistAuth) {\n return\n }\n\n // We persist auth to local storage by name key\n try {\n const auth: Auth<P> = JSON.parse(safeLocalStorage().getItem(CLIENT_LS_KEYS.AUTH) ?? '{}')\n const scheme = securitySchemes[uid]\n\n if (auth && scheme?.nameKey) {\n const nameScheme = (auth[scheme.nameKey] ||= {} as Record<P, NonNullable<PathValue<SecurityScheme, P>>>)\n nameScheme[path] = value\n safeLocalStorage().setItem(CLIENT_LS_KEYS.AUTH, JSON.stringify(auth))\n }\n } catch (e) {\n console.error(e)\n }\n}\n","import { isDefined } from '@scalar/helpers/array/is-defined'\nimport { CLIENT_LS_KEYS, safeLocalStorage } from '@scalar/helpers/object/local-storage'\nimport type { Collection, SecurityScheme } from '@scalar/oas-utils/entities/spec'\nimport type { Path } from '@scalar/object-utils/nested'\nimport type { Entries } from 'type-fest'\n\nimport type { WorkspaceStore } from '@/store/store'\nimport type { Auth } from '@/views/Request/RequestSection/helpers/update-scheme'\n\n/**\n * Manually restore the auth from local storage\n *\n * Only use this if you need to restore auth manually, in the client web + app we load the whole store from\n * local storage so it isn't needed there.\n */\nexport const restoreAuthFromLocalStorage = (store: WorkspaceStore, collectionUid: string) => {\n try {\n const { collectionMutators, securitySchemes, securitySchemeMutators } = store\n const auth: Auth<Path<SecurityScheme>> = JSON.parse(safeLocalStorage().getItem(CLIENT_LS_KEYS.AUTH) ?? '{}')\n\n /** Map the security scheme name key to the uid */\n const dict = Object.keys(securitySchemes).reduce(\n (acc, key) => {\n const scheme = securitySchemes[key]\n if (scheme) {\n acc[scheme.nameKey] = scheme.uid\n }\n return acc\n },\n {} as Record<string, SecurityScheme['uid']>,\n )\n\n /** Now we can use the dict to restore the auth from local storage */\n Object.entries(auth).forEach(([key, entry]) => {\n const uid = dict[key]\n if (uid) {\n const entries = Object.entries(entry) as Entries<typeof entry>\n entries.forEach(([path, value]) => {\n securitySchemeMutators.edit(uid, path, value)\n })\n }\n })\n\n /** Restore the selected security scheme uids */\n const selectedSchemeUids: (string | string[])[] = JSON.parse(\n safeLocalStorage().getItem(CLIENT_LS_KEYS.SELECTED_SECURITY_SCHEMES) ?? '[]',\n )\n\n // Convert back to uids\n const uids = selectedSchemeUids\n .map((nameKeys) => {\n if (Array.isArray(nameKeys)) {\n return nameKeys.map((key) => dict[key]).filter(isDefined)\n }\n return dict[nameKeys]\n })\n .filter(isDefined)\n\n collectionMutators.edit(collectionUid as Collection['uid'], 'selectedSecuritySchemeUids', uids)\n } catch (e) {\n // Nothing to restore\n console.error(e)\n }\n}\n","<script setup lang=\"ts\">\nimport { Disclosure, DisclosureButton, DisclosurePanel } from '@headlessui/vue'\nimport { ScalarButton, ScalarIcon } from '@scalar/components'\nimport type { Oauth2Flow } from '@scalar/oas-utils/entities/spec'\nimport { computed } from 'vue'\n\nimport {\n DataTableCell,\n DataTableCheckbox,\n DataTableRow,\n} from '@/components/DataTable'\nimport type { UpdateScheme } from '@/store'\n\nconst { flow, updateScheme } = defineProps<{\n flow: Oauth2Flow\n updateScheme: UpdateScheme\n}>()\n\nconst scopes = computed(() =>\n Object.entries(flow?.scopes ?? {}).map(([key, val]) => ({\n id: key,\n label: key,\n description: val,\n })),\n)\n\n/** An array of the selected scope ids */\nconst selectedScopes = computed(() => flow?.selectedScopes || [])\n\nfunction setScope(id: string, checked: boolean) {\n // Checked - Add scope to list\n if (checked) {\n updateScheme(`flows.${flow.type}.selectedScopes`, [\n ...selectedScopes.value,\n id,\n ])\n }\n // Unchecked - Remove scope from list\n else {\n updateScheme(\n `flows.${flow.type}.selectedScopes`,\n selectedScopes.value.filter((scope) => scope !== id),\n )\n }\n}\n\nconst allScopesSelected = computed(\n () => flow?.selectedScopes?.length === Object.keys(flow?.scopes ?? {}).length,\n)\n\nconst selectAllScopes = () => {\n updateScheme(\n `flows.${flow.type}.selectedScopes`,\n Object.keys(flow?.scopes ?? {}),\n )\n}\n\nconst deselectAllScopes = () => {\n updateScheme(`flows.${flow.type}.selectedScopes`, [])\n}\n</script>\n\n<template>\n <DataTableCell class=\"h-auto !max-h-[initial] min-h-8 items-center\">\n <div class=\"flex h-fit w-full\">\n <div class=\"text-c-1 h-full items-center\"></div>\n <Disclosure\n as=\"div\"\n class=\"bl flex w-full flex-col\">\n <DisclosureButton\n v-slot=\"{ open }\"\n :class=\"[\n 'group/scopes-accordion hover:text-c-1 flex h-auto min-h-8 cursor-pointer items-center gap-1.5 pr-2.25 pl-3 text-left',\n (flow?.selectedScopes?.length || 0) > 0 ? 'text-c-1' : 'text-c-3',\n ]\">\n <div class=\"flex-1\">\n Scopes Selected\n {{ flow?.selectedScopes?.length || 0 }} /\n {{ Object.keys(flow?.scopes ?? {}).length || 0 }}\n </div>\n <div class=\"flex items-center gap-1.75\">\n <!-- Deselect All -->\n <ScalarButton\n v-if=\"allScopesSelected\"\n class=\"pr-0.75 pl-1 transition-none\"\n size=\"sm\"\n variant=\"ghost\"\n @click.stop=\"deselectAllScopes\">\n Deselect All\n </ScalarButton>\n\n <!-- Select All -->\n <ScalarButton\n v-if=\"!allScopesSelected\"\n class=\"pr-0.75 pl-1 transition-none\"\n size=\"sm\"\n variant=\"ghost\"\n @click.stop=\"selectAllScopes\">\n Select All\n </ScalarButton>\n\n <ScalarIcon\n class=\"text-c-3 group-hover/scopes-accordion:text-c-2\"\n :icon=\"open ? 'ChevronDown' : 'ChevronRight'\"\n size=\"md\" />\n </div>\n </DisclosureButton>\n <DisclosurePanel as=\"template\">\n <table\n class=\"grid auto-rows-auto\"\n :style=\"{ gridTemplateColumns: '1fr auto' }\">\n <DataTableRow\n v-for=\"{ id, label, description } in scopes\"\n :key=\"id\"\n class=\"text-c-2\"\n @click=\"setScope(id, !selectedScopes.includes(id))\">\n <DataTableCell\n class=\"hover:text-c-1 box-border !max-h-[initial] w-full cursor-pointer px-3 py-1.5\">\n <div v-if=\"description\">\n <span class=\"font-code text-xs\">{{ label }}</span>\n &ndash;\n {{ description }}\n </div>\n </DataTableCell>\n <DataTableCheckbox\n :modelValue=\"selectedScopes.includes(id)\"\n @update:modelValue=\"() => {}\" />\n </DataTableRow>\n </table>\n </DisclosurePanel>\n </Disclosure>\n </div>\n </DataTableCell>\n</template>\n","<script setup lang=\"ts\">\nimport { Disclosure, DisclosureButton, DisclosurePanel } from '@headlessui/vue'\nimport { ScalarButton, ScalarIcon } from '@scalar/components'\nimport type { Oauth2Flow } from '@scalar/oas-utils/entities/spec'\nimport { computed } from 'vue'\n\nimport {\n DataTableCell,\n DataTableCheckbox,\n DataTableRow,\n} from '@/components/DataTable'\nimport type { UpdateScheme } from '@/store'\n\nconst { flow, updateScheme } = defineProps<{\n flow: Oauth2Flow\n updateScheme: UpdateScheme\n}>()\n\nconst scopes = computed(() =>\n Object.entries(flow?.scopes ?? {}).map(([key, val]) => ({\n id: key,\n label: key,\n description: val,\n })),\n)\n\n/** An array of the selected scope ids */\nconst selectedScopes = computed(() => flow?.selectedScopes || [])\n\nfunction setScope(id: string, checked: boolean) {\n // Checked - Add scope to list\n if (checked) {\n updateScheme(`flows.${flow.type}.selectedScopes`, [\n ...selectedScopes.value,\n id,\n ])\n }\n // Unchecked - Remove scope from list\n else {\n updateScheme(\n `flows.${flow.type}.selectedScopes`,\n selectedScopes.value.filter((scope) => scope !== id),\n )\n }\n}\n\nconst allScopesSelected = computed(\n () => flow?.selectedScopes?.length === Object.keys(flow?.scopes ?? {}).length,\n)\n\nconst selectAllScopes = () => {\n updateScheme(\n `flows.${flow.type}.selectedScopes`,\n Object.keys(flow?.scopes ?? {}),\n )\n}\n\nconst deselectAllScopes = () => {\n updateScheme(`flows.${flow.type}.selectedScopes`, [])\n}\n</script>\n\n<template>\n <DataTableCell class=\"h-auto !max-h-[initial] min-h-8 items-center\">\n <div class=\"flex h-fit w-full\">\n <div class=\"text-c-1 h-full items-center\"></div>\n <Disclosure\n as=\"div\"\n class=\"bl flex w-full flex-col\">\n <DisclosureButton\n v-slot=\"{ open }\"\n :class=\"[\n 'group/scopes-accordion hover:text-c-1 flex h-auto min-h-8 cursor-pointer items-center gap-1.5 pr-2.25 pl-3 text-left',\n (flow?.selectedScopes?.length || 0) > 0 ? 'text-c-1' : 'text-c-3',\n ]\">\n <div class=\"flex-1\">\n Scopes Selected\n {{ flow?.selectedScopes?.length || 0 }} /\n {{ Object.keys(flow?.scopes ?? {}).length || 0 }}\n </div>\n <div class=\"flex items-center gap-1.75\">\n <!-- Deselect All -->\n <ScalarButton\n v-if=\"allScopesSelected\"\n class=\"pr-0.75 pl-1 transition-none\"\n size=\"sm\"\n variant=\"ghost\"\n @click.stop=\"deselectAllScopes\">\n Deselect All\n </ScalarButton>\n\n <!-- Select All -->\n <ScalarButton\n v-if=\"!allScopesSelected\"\n class=\"pr-0.75 pl-1 transition-none\"\n size=\"sm\"\n variant=\"ghost\"\n @click.stop=\"selectAllScopes\">\n Select All\n </ScalarButton>\n\n <ScalarIcon\n class=\"text-c-3 group-hover/scopes-accordion:text-c-2\"\n :icon=\"open ? 'ChevronDown' : 'ChevronRight'\"\n size=\"md\" />\n </div>\n </DisclosureButton>\n <DisclosurePanel as=\"template\">\n <table\n class=\"grid auto-rows-auto\"\n :style=\"{ gridTemplateColumns: '1fr auto' }\">\n <DataTableRow\n v-for=\"{ id, label, description } in scopes\"\n :key=\"id\"\n class=\"text-c-2\"\n @click=\"setScope(id, !selectedScopes.includes(id))\">\n <DataTableCell\n class=\"hover:text-c-1 box-border !max-h-[initial] w-full cursor-pointer px-3 py-1.5\">\n <div v-if=\"description\">\n <span class=\"font-code text-xs\">{{ label }}</span>\n &ndash;\n {{ description }}\n </div>\n </DataTableCell>\n <DataTableCheckbox\n :modelValue=\"selectedScopes.includes(id)\"\n @update:modelValue=\"() => {}\" />\n </DataTableRow>\n </table>\n </DisclosurePanel>\n </Disclosure>\n </div>\n </DataTableCell>\n</template>\n","<script setup lang=\"ts\">\nimport type { Environment } from '@scalar/oas-utils/entities/environment'\nimport type { Workspace } from '@scalar/oas-utils/entities/workspace'\nimport { useId } from 'vue'\n\nimport DataTableInput from '@/components/DataTable/DataTableInput.vue'\nimport type { EnvVariable } from '@/store/active-entities'\nimport type { VueClassProp } from '@/types/vue'\n\nconst props = withDefaults(\n defineProps<{\n type?: string\n containerClass?: VueClassProp\n required?: boolean\n modelValue: string | number\n readOnly?: boolean\n environment: Environment\n envVariables: EnvVariable[]\n workspace: Workspace\n }>(),\n { required: false, readOnly: false },\n)\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', v: string): void\n (e: 'inputFocus'): void\n (e: 'inputBlur'): void\n (e: 'selectVariable', value: string): void\n}>()\n\nconst id = useId()\n</script>\n<template>\n <DataTableInput\n :id=\"id\"\n :canAddCustomEnumValue=\"!props.readOnly\"\n :containerClass=\"props.containerClass\"\n v-bind=\"$attrs\"\n :envVariables=\"props.envVariables\"\n :environment=\"props.environment\"\n lineWrapping\n :modelValue=\"props.modelValue\"\n :readOnly=\"props.readOnly\"\n :required=\"props.required\"\n :type=\"props.type\"\n :workspace=\"props.workspace\"\n @inputBlur=\"emit('inputBlur')\"\n @inputFocus=\"emit('inputFocus')\"\n @selectVariable=\"emit('selectVariable', $event)\"\n @update:modelValue=\"emit('update:modelValue', $event)\">\n <template #default>\n <label :for=\"id\">\n <slot />\n </label>\n </template>\n <template #icon>\n <slot name=\"icon\" />\n </template>\n </DataTableInput>\n</template>\n","<script setup lang=\"ts\">\nimport type { Environment } from '@scalar/oas-utils/entities/environment'\nimport type { Workspace } from '@scalar/oas-utils/entities/workspace'\nimport { useId } from 'vue'\n\nimport DataTableInput from '@/components/DataTable/DataTableInput.vue'\nimport type { EnvVariable } from '@/store/active-entities'\nimport type { VueClassProp } from '@/types/vue'\n\nconst props = withDefaults(\n defineProps<{\n type?: string\n containerClass?: VueClassProp\n required?: boolean\n modelValue: string | number\n readOnly?: boolean\n environment: Environment\n envVariables: EnvVariable[]\n workspace: Workspace\n }>(),\n { required: false, readOnly: false },\n)\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', v: string): void\n (e: 'inputFocus'): void\n (e: 'inputBlur'): void\n (e: 'selectVariable', value: string): void\n}>()\n\nconst id = useId()\n</script>\n<template>\n <DataTableInput\n :id=\"id\"\n :canAddCustomEnumValue=\"!props.readOnly\"\n :containerClass=\"props.containerClass\"\n v-bind=\"$attrs\"\n :envVariables=\"props.envVariables\"\n :environment=\"props.environment\"\n lineWrapping\n :modelValue=\"props.modelValue\"\n :readOnly=\"props.readOnly\"\n :required=\"props.required\"\n :type=\"props.type\"\n :workspace=\"props.workspace\"\n @inputBlur=\"emit('inputBlur')\"\n @inputFocus=\"emit('inputFocus')\"\n @selectVariable=\"emit('selectVariable', $event)\"\n @update:modelValue=\"emit('update:modelValue', $event)\">\n <template #default>\n <label :for=\"id\">\n <slot />\n </label>\n </template>\n <template #icon>\n <slot name=\"icon\" />\n </template>\n </DataTableInput>\n</template>\n","<script setup lang=\"ts\">\nimport { ScalarButton, useLoadingState } from '@scalar/components'\nimport type { Environment } from '@scalar/oas-utils/entities/environment'\nimport {\n pkceOptions,\n type Collection,\n type Oauth2Flow,\n type SecuritySchemeOauth2,\n type Server,\n} from '@scalar/oas-utils/entities/spec'\nimport type { Workspace } from '@scalar/oas-utils/entities/workspace'\nimport { useToasts } from '@scalar/use-toasts'\n\nimport { DataTableRow } from '@/components/DataTable'\nimport type { EnvVariable } from '@/store/active-entities'\nimport { useWorkspace, type UpdateScheme } from '@/store/store'\nimport { authorizeOauth2 } from '@/views/Request/libs'\nimport { updateScheme as _updateScheme } from '@/views/Request/RequestSection/helpers/update-scheme'\n\nimport OAuthScopesInput from './OAuthScopesInput.vue'\nimport RequestAuthDataTableInput from './RequestAuthDataTableInput.vue'\n\nconst {\n collection,\n environment,\n envVariables,\n flow,\n persistAuth = false,\n scheme,\n server,\n workspace,\n} = defineProps<{\n collection: Collection\n environment: Environment\n envVariables: EnvVariable[]\n flow: Oauth2Flow\n persistAuth: boolean\n scheme: SecuritySchemeOauth2\n server: Server | undefined\n workspace: Workspace\n}>()\n\nconst emits = defineEmits<{\n authorized: []\n}>()\n\ndefineSlots<{\n 'oauth-actions'?: () => unknown\n}>()\n\nconst loader = useLoadingState()\nconst { toast } = useToasts()\nconst storeContext = useWorkspace()\n\n/** Update the current scheme */\nconst updateScheme: UpdateScheme = (path, value) =>\n _updateScheme(scheme.uid, path, value, storeContext, persistAuth)\n\n/** Authorize the user using specified flow */\nconst handleAuthorize = async () => {\n if (loader.isActive || !collection?.uid) {\n return\n }\n if (!server) {\n toast('No server selected', 'error')\n return\n }\n loader.start()\n\n const [error, accessToken] = await authorizeOauth2(\n flow,\n server,\n workspace?.proxyUrl,\n )\n\n await loader.clear()\n\n if (accessToken) {\n updateScheme(`flows.${flow.type}.token`, accessToken)\n emits('authorized')\n } else {\n console.error(error)\n toast(error?.message ?? 'Failed to authorize', 'error')\n }\n}\n\n/** To make prop drilling a little easier */\nconst dataTableInputProps = {\n environment,\n envVariables,\n workspace,\n}\n</script>\n\n<template>\n <!-- Access Token Granted -->\n <template v-if=\"flow.token\">\n <DataTableRow>\n <RequestAuthDataTableInput\n v-bind=\"dataTableInputProps\"\n class=\"border-r-transparent\"\n :modelValue=\"flow.token\"\n placeholder=\"QUxMIFlPVVIgQkFTRSBBUkUgQkVMT05HIFRPIFVT\"\n type=\"password\"\n @update:modelValue=\"(v) => updateScheme(`flows.${flow.type}.token`, v)\">\n Access Token\n </RequestAuthDataTableInput>\n </DataTableRow>\n <DataTableRow class=\"min-w-full\">\n <div class=\"flex h-8 items-center justify-end border-t\">\n <ScalarButton\n class=\"mr-1 p-0 px-2 py-0.5\"\n :loader\n size=\"sm\"\n variant=\"outlined\"\n @click=\"updateScheme(`flows.${flow.type}.token`, '')\">\n Clear\n </ScalarButton>\n <slot name=\"oauth-actions\" />\n </div>\n </DataTableRow>\n </template>\n\n <template v-else>\n <DataTableRow>\n <!-- Auth URL -->\n <RequestAuthDataTableInput\n v-if=\"'authorizationUrl' in flow\"\n v-bind=\"dataTableInputProps\"\n containerClass=\"border-r-0\"\n :modelValue=\"flow.authorizationUrl\"\n placeholder=\"https://galaxy.scalar.com/authorize\"\n @update:modelValue=\"\n (v) => updateScheme(`flows.${flow.type}.authorizationUrl`, v)\n \">\n Auth URL\n </RequestAuthDataTableInput>\n\n <!-- Token URL -->\n <RequestAuthDataTableInput\n v-if=\"'tokenUrl' in flow\"\n v-bind=\"dataTableInputProps\"\n :modelValue=\"flow.tokenUrl\"\n placeholder=\"https://galaxy.scalar.com/token\"\n @update:modelValue=\"\n (v) => updateScheme(`flows.${flow.type}.tokenUrl`, v)\n \">\n Token URL\n </RequestAuthDataTableInput>\n </DataTableRow>\n\n <DataTableRow v-if=\"'x-scalar-redirect-uri' in flow\">\n <!-- Redirect URI -->\n <RequestAuthDataTableInput\n v-bind=\"dataTableInputProps\"\n :modelValue=\"flow['x-scalar-redirect-uri']\"\n placeholder=\"https://galaxy.scalar.com/callback\"\n @update:modelValue=\"\n (v) => updateScheme(`flows.${flow.type}.x-scalar-redirect-uri`, v)\n \">\n Redirect URL\n </RequestAuthDataTableInput>\n </DataTableRow>\n\n <!-- Username and password -->\n <template v-if=\"flow.type === 'password'\">\n <DataTableRow>\n <RequestAuthDataTableInput\n v-bind=\"dataTableInputProps\"\n class=\"text-c-2\"\n :modelValue=\"flow.username\"\n placeholder=\"janedoe\"\n @update:modelValue=\"\n (v) => updateScheme(`flows.${flow.type}.username`, v)\n \">\n Username\n </RequestAuthDataTableInput>\n </DataTableRow>\n <DataTableRow>\n <RequestAuthDataTableInput\n v-bind=\"dataTableInputProps\"\n :modelValue=\"flow.password\"\n placeholder=\"********\"\n type=\"password\"\n @update:modelValue=\"\n (v) => updateScheme(`flows.${flow.type}.password`, v)\n \">\n Password\n </RequestAuthDataTableInput>\n </DataTableRow>\n </template>\n\n <!-- Client ID -->\n <DataTableRow>\n <RequestAuthDataTableInput\n v-bind=\"dataTableInputProps\"\n :modelValue=\"flow['x-scalar-client-id']\"\n placeholder=\"12345\"\n @update:modelValue=\"\n (v) => updateScheme(`flows.${flow.type}.x-scalar-client-id`, v)\n \">\n Client ID\n </RequestAuthDataTableInput>\n </DataTableRow>\n\n <!-- Client Secret (Authorization Code / Client Credentials / Password (optional)) -->\n <DataTableRow v-if=\"'clientSecret' in flow\">\n <RequestAuthDataTableInput\n v-bind=\"dataTableInputProps\"\n :modelValue=\"flow.clientSecret\"\n placeholder=\"XYZ123\"\n type=\"password\"\n @update:modelValue=\"\n (v) => updateScheme(`flows.${flow.type}.clientSecret`, v)\n \">\n Client Secret\n </RequestAuthDataTableInput>\n </DataTableRow>\n\n <!-- PKCE -->\n <DataTableRow v-if=\"'x-usePkce' in flow\">\n <RequestAuthDataTableInput\n v-bind=\"dataTableInputProps\"\n :enum=\"pkceOptions\"\n :modelValue=\"flow['x-usePkce']\"\n readOnly\n @update:modelValue=\"\n (v) =>\n updateScheme(\n `flows.${flow.type}.x-usePkce`,\n v as (typeof pkceOptions)[number],\n )\n \">\n Use PKCE\n </RequestAuthDataTableInput>\n </DataTableRow>\n\n <!-- Scopes -->\n <DataTableRow v-if=\"Object.keys(flow.scopes ?? {}).length\">\n <OAuthScopesInput\n :flow=\"flow\"\n :updateScheme=\"updateScheme\" />\n </DataTableRow>\n\n <!-- Open ID Connect -->\n <!-- <DataTableRow -->\n <!-- v-else-if=\"activeScheme?.type === 'openIdConnect'\" -->\n <!-- class=\"border-r-transparent\"> -->\n <!-- <DataTableInput -->\n <!-- v-model=\"password\" -->\n <!-- placeholder=\"Token\"> -->\n <!-- TODO -->\n <!-- </DataTableInput> -->\n <!-- <DataTableCell class=\"flex items-center\"> -->\n <!-- <ScalarButton size=\"sm\"> Authorize </ScalarButton> -->\n <!-- </DataTableCell> -->\n <!-- </DataTableRow> -->\n </template>\n <template v-if=\"!flow.token\">\n <DataTableRow class=\"min-w-full\">\n <div class=\"flex h-8 w-full items-center justify-end border-t\">\n <ScalarButton\n class=\"mr-0.75 p-0 px-2 py-0.5\"\n :loader\n size=\"sm\"\n variant=\"outlined\"\n @click=\"handleAuthorize\">\n Authorize\n </ScalarButton>\n </div>\n </DataTableRow>\n </template>\n</template>\n","<script setup lang=\"ts\">\nimport { ScalarButton, useLoadingState } from '@scalar/components'\nimport type { Environment } from '@scalar/oas-utils/entities/environment'\nimport {\n pkceOptions,\n type Collection,\n type Oauth2Flow,\n type SecuritySchemeOauth2,\n type Server,\n} from '@scalar/oas-utils/entities/spec'\nimport type { Workspace } from '@scalar/oas-utils/entities/workspace'\nimport { useToasts } from '@scalar/use-toasts'\n\nimport { DataTableRow } from '@/components/DataTable'\nimport type { EnvVariable } from '@/store/active-entities'\nimport { useWorkspace, type UpdateScheme } from '@/store/store'\nimport { authorizeOauth2 } from '@/views/Request/libs'\nimport { updateScheme as _updateScheme } from '@/views/Request/RequestSection/helpers/update-scheme'\n\nimport OAuthScopesInput from './OAuthScopesInput.vue'\nimport RequestAuthDataTableInput from './RequestAuthDataTableInput.vue'\n\nconst {\n collection,\n environment,\n envVariables,\n flow,\n persistAuth = false,\n scheme,\n server,\n workspace,\n} = defineProps<{\n collection: Collection\n environment: Environment\n envVariables: EnvVariable[]\n flow: Oauth2Flow\n persistAuth: boolean\n scheme: SecuritySchemeOauth2\n server: Server | undefined\n workspace: Workspace\n}>()\n\nconst emits = defineEmits<{\n authorized: []\n}>()\n\ndefineSlots<{\n 'oauth-actions'?: () => unknown\n}>()\n\nconst loader = useLoadingState()\nconst { toast } = useToasts()\nconst storeContext = useWorkspace()\n\n/** Update the current scheme */\nconst updateScheme: UpdateScheme = (path, value) =>\n _updateScheme(scheme.uid, path, value, storeContext, persistAuth)\n\n/** Authorize the user using specified flow */\nconst handleAuthorize = async () => {\n if (loader.isActive || !collection?.uid) {\n return\n }\n if (!server) {\n toast('No server selected', 'error')\n return\n }\n loader.start()\n\n const [error, accessToken] = await authorizeOauth2(\n flow,\n server,\n workspace?.proxyUrl,\n )\n\n await loader.clear()\n\n if (accessToken) {\n updateScheme(`flows.${flow.type}.token`, accessToken)\n emits('authorized')\n } else {\n console.error(error)\n toast(error?.message ?? 'Failed to authorize', 'error')\n }\n}\n\n/** To make prop drilling a little easier */\nconst dataTableInputProps = {\n environment,\n envVariables,\n workspace,\n}\n</script>\n\n<template>\n <!-- Access Token Granted -->\n <template v-if=\"flow.token\">\n <DataTableRow>\n <RequestAuthDataTableInput\n v-bind=\"dataTableInputProps\"\n class=\"border-r-transparent\"\n :modelValue=\"flow.token\"\n placeholder=\"QUxMIFlPVVIgQkFTRSBBUkUgQkVMT05HIFRPIFVT\"\n type=\"password\"\n @update:modelValue=\"(v) => updateScheme(`flows.${flow.type}.token`, v)\">\n Access Token\n </RequestAuthDataTableInput>\n </DataTableRow>\n <DataTableRow class=\"min-w-full\">\n <div class=\"flex h-8 items-center justify-end border-t\">\n <ScalarButton\n class=\"mr-1 p-0 px-2 py-0.5\"\n :loader\n size=\"sm\"\n variant=\"outlined\"\n @click=\"updateScheme(`flows.${flow.type}.token`, '')\">\n Clear\n </ScalarButton>\n <slot name=\"oauth-actions\" />\n </div>\n </DataTableRow>\n </template>\n\n <template v-else>\n <DataTableRow>\n <!-- Auth URL -->\n <RequestAuthDataTableInput\n v-if=\"'authorizationUrl' in flow\"\n v-bind=\"dataTableInputProps\"\n containerClass=\"border-r-0\"\n :modelValue=\"flow.authorizationUrl\"\n placeholder=\"https://galaxy.scalar.com/authorize\"\n @update:modelValue=\"\n (v) => updateScheme(`flows.${flow.type}.authorizationUrl`, v)\n \">\n Auth URL\n </RequestAuthDataTableInput>\n\n <!-- Token URL -->\n <RequestAuthDataTableInput\n v-if=\"'tokenUrl' in flow\"\n v-bind=\"dataTableInputProps\"\n :modelValue=\"flow.tokenUrl\"\n placeholder=\"https://galaxy.scalar.com/token\"\n @update:modelValue=\"\n (v) => updateScheme(`flows.${flow.type}.tokenUrl`, v)\n \">\n Token URL\n </RequestAuthDataTableInput>\n </DataTableRow>\n\n <DataTableRow v-if=\"'x-scalar-redirect-uri' in flow\">\n <!-- Redirect URI -->\n <RequestAuthDataTableInput\n v-bind=\"dataTableInputProps\"\n :modelValue=\"flow['x-scalar-redirect-uri']\"\n placeholder=\"https://galaxy.scalar.com/callback\"\n @update:modelValue=\"\n (v) => updateScheme(`flows.${flow.type}.x-scalar-redirect-uri`, v)\n \">\n Redirect URL\n </RequestAuthDataTableInput>\n </DataTableRow>\n\n <!-- Username and password -->\n <template v-if=\"flow.type === 'password'\">\n <DataTableRow>\n <RequestAuthDataTableInput\n v-bind=\"dataTableInputProps\"\n class=\"text-c-2\"\n :modelValue=\"flow.username\"\n placeholder=\"janedoe\"\n @update:modelValue=\"\n (v) => updateScheme(`flows.${flow.type}.username`, v)\n \">\n Username\n </RequestAuthDataTableInput>\n </DataTableRow>\n <DataTableRow>\n <RequestAuthDataTableInput\n v-bind=\"dataTableInputProps\"\n :modelValue=\"flow.password\"\n placeholder=\"********\"\n type=\"password\"\n @update:modelValue=\"\n (v) => updateScheme(`flows.${flow.type}.password`, v)\n \">\n Password\n </RequestAuthDataTableInput>\n </DataTableRow>\n </template>\n\n <!-- Client ID -->\n <DataTableRow>\n <RequestAuthDataTableInput\n v-bind=\"dataTableInputProps\"\n :modelValue=\"flow['x-scalar-client-id']\"\n placeholder=\"12345\"\n @update:modelValue=\"\n (v) => updateScheme(`flows.${flow.type}.x-scalar-client-id`, v)\n \">\n Client ID\n </RequestAuthDataTableInput>\n </DataTableRow>\n\n <!-- Client Secret (Authorization Code / Client Credentials / Password (optional)) -->\n <DataTableRow v-if=\"'clientSecret' in flow\">\n <RequestAuthDataTableInput\n v-bind=\"dataTableInputProps\"\n :modelValue=\"flow.clientSecret\"\n placeholder=\"XYZ123\"\n type=\"password\"\n @update:modelValue=\"\n (v) => updateScheme(`flows.${flow.type}.clientSecret`, v)\n \">\n Client Secret\n </RequestAuthDataTableInput>\n </DataTableRow>\n\n <!-- PKCE -->\n <DataTableRow v-if=\"'x-usePkce' in flow\">\n <RequestAuthDataTableInput\n v-bind=\"dataTableInputProps\"\n :enum=\"pkceOptions\"\n :modelValue=\"flow['x-usePkce']\"\n readOnly\n @update:modelValue=\"\n (v) =>\n updateScheme(\n `flows.${flow.type}.x-usePkce`,\n v as (typeof pkceOptions)[number],\n )\n \">\n Use PKCE\n </RequestAuthDataTableInput>\n </DataTableRow>\n\n <!-- Scopes -->\n <DataTableRow v-if=\"Object.keys(flow.scopes ?? {}).length\">\n <OAuthScopesInput\n :flow=\"flow\"\n :updateScheme=\"updateScheme\" />\n </DataTableRow>\n\n <!-- Open ID Connect -->\n <!-- <DataTableRow -->\n <!-- v-else-if=\"activeScheme?.type === 'openIdConnect'\" -->\n <!-- class=\"border-r-transparent\"> -->\n <!-- <DataTableInput -->\n <!-- v-model=\"password\" -->\n <!-- placeholder=\"Token\"> -->\n <!-- TODO -->\n <!-- </DataTableInput> -->\n <!-- <DataTableCell class=\"flex items-center\"> -->\n <!-- <ScalarButton size=\"sm\"> Authorize </ScalarButton> -->\n <!-- </DataTableCell> -->\n <!-- </DataTableRow> -->\n </template>\n <template v-if=\"!flow.token\">\n <DataTableRow class=\"min-w-full\">\n <div class=\"flex h-8 w-full items-center justify-end border-t\">\n <ScalarButton\n class=\"mr-0.75 p-0 px-2 py-0.5\"\n :loader\n size=\"sm\"\n variant=\"outlined\"\n @click=\"handleAuthorize\">\n Authorize\n </ScalarButton>\n </div>\n </DataTableRow>\n </template>\n</template>\n","<script setup lang=\"ts\">\nimport { ScalarMarkdownSummary } from '@scalar/components'\nimport type { Environment } from '@scalar/oas-utils/entities/environment'\nimport type {\n Collection,\n SecurityScheme,\n Server,\n} from '@scalar/oas-utils/entities/spec'\nimport type { Workspace } from '@scalar/oas-utils/entities/workspace'\nimport type { Path, PathValue } from '@scalar/object-utils/nested'\nimport { capitalize, computed, onMounted, ref } from 'vue'\n\nimport { DataTableCell, DataTableRow } from '@/components/DataTable'\nimport type { EnvVariable } from '@/store/active-entities'\nimport { useWorkspace } from '@/store/store'\nimport { updateScheme as _updateScheme } from '@/views/Request/RequestSection/helpers/update-scheme'\nimport { restoreAuthFromLocalStorage } from '@/views/Request/RequestSection/RequestAuth/helpers/restore-auth-from-local-storage'\n\nimport OAuth2 from './OAuth2.vue'\nimport RequestAuthDataTableInput from './RequestAuthDataTableInput.vue'\n\nconst {\n collection,\n environment,\n envVariables,\n layout,\n persistAuth = false,\n securitySchemeUids,\n server,\n workspace,\n} = defineProps<{\n collection: Collection\n environment: Environment\n envVariables: EnvVariable[]\n layout: 'client' | 'reference'\n persistAuth: boolean\n securitySchemeUids: string[]\n server: Server | undefined\n workspace: Workspace\n}>()\n\nconst emits = defineEmits<{\n authorized: []\n}>()\n\ndefineSlots<{\n 'oauth-actions'?: () => unknown\n}>()\n\nconst storeContext = useWorkspace()\nconst { securitySchemes } = storeContext\nconst security = computed(() =>\n securitySchemeUids.map((uid) => ({\n scheme: securitySchemes[uid],\n })),\n)\n\nconst activeFlow = ref('')\n\nconst generateLabel = (scheme: SecurityScheme) => {\n // ApiKeyHeader: header\n const description = scheme.description ? `: ${scheme.description}` : ''\n const baseLabel = `${capitalize(scheme.nameKey)}${description || `: ${scheme.type}`}`\n\n if (scheme.type === 'apiKey') {\n return `${capitalize(scheme.nameKey)}${description || `: ${scheme.in}`}`\n }\n\n // OAuth2: Authorization Code\n if (scheme.type === 'oauth2') {\n const firstFlow = Object.values(scheme.flows ?? {})[0]\n\n return `${capitalize(scheme.nameKey)}: ${\n activeFlow.value ? activeFlow.value : (firstFlow?.type ?? '')\n }${description}`\n }\n\n // HTTP: Bearer\n if (scheme.type === 'http') {\n return `${capitalize(scheme.nameKey)}: ${scheme.scheme}${description}`\n }\n\n // Default\n return `${baseLabel}${description}`\n}\n\n/** Wrapper for the updateScheme function */\nconst updateScheme = <\n U extends SecurityScheme['uid'],\n P extends Path<SecurityScheme>,\n>(\n uid: U,\n path: P,\n value: NonNullable<PathValue<SecurityScheme, P>>,\n) => {\n _updateScheme(uid, path, value, storeContext, persistAuth)\n}\n\n// Restore auth from local storage on mount\nonMounted(() => {\n if (!persistAuth) {\n return\n }\n\n restoreAuthFromLocalStorage(storeContext, collection.uid)\n})\n\n/** To make prop drilling a little easier */\nconst dataTableInputProps = {\n environment,\n envVariables,\n workspace,\n}\n</script>\n<template>\n <!-- Loop over for multiple auth selection -->\n <template\n v-for=\"{ scheme } in security\"\n :key=\"scheme?.uid\">\n <!-- Header -->\n <DataTableRow v-if=\"security.length > 1 && scheme\">\n <DataTableCell\n :aria-label=\"generateLabel(scheme)\"\n class=\"text-c-2 group/auth flex items-center leading-[22px] whitespace-nowrap outline-none hover:whitespace-normal\">\n <p\n class=\"bg-b-1 text-c-2 outline-b-3 top-0 z-1 h-full w-full overflow-hidden px-3 py-1.25 text-ellipsis group-hover/auth:absolute group-hover/auth:h-auto group-hover/auth:border-b *:first:line-clamp-1 *:first:text-ellipsis group-hover/auth:*:first:line-clamp-none\">\n {{ generateLabel(scheme) }}\n </p>\n </DataTableCell>\n </DataTableRow>\n\n <!-- Description -->\n <DataTableRow v-if=\"scheme?.description && security.length <= 1\">\n <DataTableCell\n :aria-label=\"scheme.description\"\n class=\"max-h-[auto]\">\n <ScalarMarkdownSummary\n class=\"auth-description bg-b-1 text-c-2 min-w-0 flex-1 px-3 py-1.25\"\n :value=\"scheme.description\" />\n </DataTableCell>\n </DataTableRow>\n\n <!-- HTTP -->\n <template v-if=\"scheme?.type === 'http'\">\n <!-- Bearer -->\n <DataTableRow v-if=\"scheme.scheme === 'bearer'\">\n <RequestAuthDataTableInput\n v-bind=\"dataTableInputProps\"\n :containerClass=\"layout === 'reference' && 'border-t'\"\n :modelValue=\"scheme.token\"\n placeholder=\"Token\"\n type=\"password\"\n @update:modelValue=\"(v) => updateScheme(scheme.uid, 'token', v)\">\n Bearer Token\n </RequestAuthDataTableInput>\n </DataTableRow>\n\n <!-- HTTP Basic -->\n <template v-else-if=\"scheme?.scheme === 'basic'\">\n <DataTableRow>\n <RequestAuthDataTableInput\n v-bind=\"dataTableInputProps\"\n class=\"text-c-2\"\n :modelValue=\"scheme.username\"\n placeholder=\"janedoe\"\n required\n @update:modelValue=\"(v) => updateScheme(scheme.uid, 'username', v)\">\n Username\n </RequestAuthDataTableInput>\n </DataTableRow>\n <DataTableRow>\n <RequestAuthDataTableInput\n v-bind=\"dataTableInputProps\"\n :modelValue=\"scheme.password\"\n placeholder=\"********\"\n type=\"password\"\n @update:modelValue=\"(v) => updateScheme(scheme.uid, 'password', v)\">\n Password\n </RequestAuthDataTableInput>\n </DataTableRow>\n </template>\n </template>\n\n <!-- API Key -->\n <template v-else-if=\"scheme?.type === 'apiKey'\">\n <DataTableRow>\n <RequestAuthDataTableInput\n v-bind=\"dataTableInputProps\"\n :containerClass=\"layout === 'reference' && 'border-t'\"\n :modelValue=\"scheme.name\"\n placeholder=\"api-key\"\n @update:modelValue=\"(v) => updateScheme(scheme.uid, 'name', v)\">\n Name\n </RequestAuthDataTableInput>\n </DataTableRow>\n <DataTableRow>\n <RequestAuthDataTableInput\n v-bind=\"dataTableInputProps\"\n :modelValue=\"scheme.value\"\n placeholder=\"QUxMIFlPVVIgQkFTRSBBUkUgQkVMT05HIFRPIFVT\"\n type=\"password\"\n @update:modelValue=\"(v) => updateScheme(scheme.uid, 'value', v)\">\n Value\n </RequestAuthDataTableInput>\n </DataTableRow>\n </template>\n\n <!-- OAuth 2 -->\n <template v-else-if=\"scheme?.type === 'oauth2'\">\n <DataTableRow>\n <div\n v-if=\"Object.keys(scheme.flows).length > 1\"\n class=\"flex min-h-8 border-t text-base\">\n <div class=\"flex h-8 max-w-full gap-2.5 overflow-x-auto px-3\">\n <button\n v-for=\"(_, key, ind) in scheme?.flows\"\n :key=\"key\"\n class=\"floating-bg text-c-3 relative cursor-pointer border-b-[1px] border-transparent py-1 text-base font-medium\"\n :class=\"{\n '!text-c-1 !rounded-none border-b-[1px] !border-current':\n layout !== 'reference' &&\n (activeFlow === key || (ind === 0 && !activeFlow)),\n '!text-c-1 !rounded-none border-b-[1px] !border-current opacity-100':\n layout === 'reference' &&\n (activeFlow === key || (ind === 0 && !activeFlow)),\n }\"\n type=\"button\"\n @click=\"activeFlow = key\">\n <span class=\"relative z-10\">{{ key }}</span>\n </button>\n </div>\n </div>\n </DataTableRow>\n <template\n v-for=\"(flow, key, ind) in scheme?.flows\"\n :key=\"key\">\n <OAuth2\n v-if=\"activeFlow === key || (ind === 0 && !activeFlow)\"\n v-bind=\"dataTableInputProps\"\n :collection=\"collection\"\n :flow=\"flow!\"\n :persistAuth=\"persistAuth\"\n :scheme=\"scheme\"\n :server=\"server\"\n :workspace=\"workspace\"\n @authorized=\"emits('authorized')\">\n <template #oauth-actions>\n <slot name=\"oauth-actions\" />\n </template>\n </OAuth2>\n </template>\n </template>\n\n <!-- Open ID Connect -->\n <template v-else-if=\"scheme?.type === 'openIdConnect'\">\n <div\n class=\"text-c-3 bg-b-1 flex min-h-[calc(4rem+1px)] items-center justify-center border-t border-b-0 px-4 text-base\"\n :class=\"{ 'rounded-b-lg': layout === 'reference' }\">\n Coming soon\n </div>\n </template>\n </template>\n</template>\n","<script setup lang=\"ts\">\nimport { ScalarMarkdownSummary } from '@scalar/components'\nimport type { Environment } from '@scalar/oas-utils/entities/environment'\nimport type {\n Collection,\n SecurityScheme,\n Server,\n} from '@scalar/oas-utils/entities/spec'\nimport type { Workspace } from '@scalar/oas-utils/entities/workspace'\nimport type { Path, PathValue } from '@scalar/object-utils/nested'\nimport { capitalize, computed, onMounted, ref } from 'vue'\n\nimport { DataTableCell, DataTableRow } from '@/components/DataTable'\nimport type { EnvVariable } from '@/store/active-entities'\nimport { useWorkspace } from '@/store/store'\nimport { updateScheme as _updateScheme } from '@/views/Request/RequestSection/helpers/update-scheme'\nimport { restoreAuthFromLocalStorage } from '@/views/Request/RequestSection/RequestAuth/helpers/restore-auth-from-local-storage'\n\nimport OAuth2 from './OAuth2.vue'\nimport RequestAuthDataTableInput from './RequestAuthDataTableInput.vue'\n\nconst {\n collection,\n environment,\n envVariables,\n layout,\n persistAuth = false,\n securitySchemeUids,\n server,\n workspace,\n} = defineProps<{\n collection: Collection\n environment: Environment\n envVariables: EnvVariable[]\n layout: 'client' | 'reference'\n persistAuth: boolean\n securitySchemeUids: string[]\n server: Server | undefined\n workspace: Workspace\n}>()\n\nconst emits = defineEmits<{\n authorized: []\n}>()\n\ndefineSlots<{\n 'oauth-actions'?: () => unknown\n}>()\n\nconst storeContext = useWorkspace()\nconst { securitySchemes } = storeContext\nconst security = computed(() =>\n securitySchemeUids.map((uid) => ({\n scheme: securitySchemes[uid],\n })),\n)\n\nconst activeFlow = ref('')\n\nconst generateLabel = (scheme: SecurityScheme) => {\n // ApiKeyHeader: header\n const description = scheme.description ? `: ${scheme.description}` : ''\n const baseLabel = `${capitalize(scheme.nameKey)}${description || `: ${scheme.type}`}`\n\n if (scheme.type === 'apiKey') {\n return `${capitalize(scheme.nameKey)}${description || `: ${scheme.in}`}`\n }\n\n // OAuth2: Authorization Code\n if (scheme.type === 'oauth2') {\n const firstFlow = Object.values(scheme.flows ?? {})[0]\n\n return `${capitalize(scheme.nameKey)}: ${\n activeFlow.value ? activeFlow.value : (firstFlow?.type ?? '')\n }${description}`\n }\n\n // HTTP: Bearer\n if (scheme.type === 'http') {\n return `${capitalize(scheme.nameKey)}: ${scheme.scheme}${description}`\n }\n\n // Default\n return `${baseLabel}${description}`\n}\n\n/** Wrapper for the updateScheme function */\nconst updateScheme = <\n U extends SecurityScheme['uid'],\n P extends Path<SecurityScheme>,\n>(\n uid: U,\n path: P,\n value: NonNullable<PathValue<SecurityScheme, P>>,\n) => {\n _updateScheme(uid, path, value, storeContext, persistAuth)\n}\n\n// Restore auth from local storage on mount\nonMounted(() => {\n if (!persistAuth) {\n return\n }\n\n restoreAuthFromLocalStorage(storeContext, collection.uid)\n})\n\n/** To make prop drilling a little easier */\nconst dataTableInputProps = {\n environment,\n envVariables,\n workspace,\n}\n</script>\n<template>\n <!-- Loop over for multiple auth selection -->\n <template\n v-for=\"{ scheme } in security\"\n :key=\"scheme?.uid\">\n <!-- Header -->\n <DataTableRow v-if=\"security.length > 1 && scheme\">\n <DataTableCell\n :aria-label=\"generateLabel(scheme)\"\n class=\"text-c-2 group/auth flex items-center leading-[22px] whitespace-nowrap outline-none hover:whitespace-normal\">\n <p\n class=\"bg-b-1 text-c-2 outline-b-3 top-0 z-1 h-full w-full overflow-hidden px-3 py-1.25 text-ellipsis group-hover/auth:absolute group-hover/auth:h-auto group-hover/auth:border-b *:first:line-clamp-1 *:first:text-ellipsis group-hover/auth:*:first:line-clamp-none\">\n {{ generateLabel(scheme) }}\n </p>\n </DataTableCell>\n </DataTableRow>\n\n <!-- Description -->\n <DataTableRow v-if=\"scheme?.description && security.length <= 1\">\n <DataTableCell\n :aria-label=\"scheme.description\"\n class=\"max-h-[auto]\">\n <ScalarMarkdownSummary\n class=\"auth-description bg-b-1 text-c-2 min-w-0 flex-1 px-3 py-1.25\"\n :value=\"scheme.description\" />\n </DataTableCell>\n </DataTableRow>\n\n <!-- HTTP -->\n <template v-if=\"scheme?.type === 'http'\">\n <!-- Bearer -->\n <DataTableRow v-if=\"scheme.scheme === 'bearer'\">\n <RequestAuthDataTableInput\n v-bind=\"dataTableInputProps\"\n :containerClass=\"layout === 'reference' && 'border-t'\"\n :modelValue=\"scheme.token\"\n placeholder=\"Token\"\n type=\"password\"\n @update:modelValue=\"(v) => updateScheme(scheme.uid, 'token', v)\">\n Bearer Token\n </RequestAuthDataTableInput>\n </DataTableRow>\n\n <!-- HTTP Basic -->\n <template v-else-if=\"scheme?.scheme === 'basic'\">\n <DataTableRow>\n <RequestAuthDataTableInput\n v-bind=\"dataTableInputProps\"\n class=\"text-c-2\"\n :modelValue=\"scheme.username\"\n placeholder=\"janedoe\"\n required\n @update:modelValue=\"(v) => updateScheme(scheme.uid, 'username', v)\">\n Username\n </RequestAuthDataTableInput>\n </DataTableRow>\n <DataTableRow>\n <RequestAuthDataTableInput\n v-bind=\"dataTableInputProps\"\n :modelValue=\"scheme.password\"\n placeholder=\"********\"\n type=\"password\"\n @update:modelValue=\"(v) => updateScheme(scheme.uid, 'password', v)\">\n Password\n </RequestAuthDataTableInput>\n </DataTableRow>\n </template>\n </template>\n\n <!-- API Key -->\n <template v-else-if=\"scheme?.type === 'apiKey'\">\n <DataTableRow>\n <RequestAuthDataTableInput\n v-bind=\"dataTableInputProps\"\n :containerClass=\"layout === 'reference' && 'border-t'\"\n :modelValue=\"scheme.name\"\n placeholder=\"api-key\"\n @update:modelValue=\"(v) => updateScheme(scheme.uid, 'name', v)\">\n Name\n </RequestAuthDataTableInput>\n </DataTableRow>\n <DataTableRow>\n <RequestAuthDataTableInput\n v-bind=\"dataTableInputProps\"\n :modelValue=\"scheme.value\"\n placeholder=\"QUxMIFlPVVIgQkFTRSBBUkUgQkVMT05HIFRPIFVT\"\n type=\"password\"\n @update:modelValue=\"(v) => updateScheme(scheme.uid, 'value', v)\">\n Value\n </RequestAuthDataTableInput>\n </DataTableRow>\n </template>\n\n <!-- OAuth 2 -->\n <template v-else-if=\"scheme?.type === 'oauth2'\">\n <DataTableRow>\n <div\n v-if=\"Object.keys(scheme.flows).length > 1\"\n class=\"flex min-h-8 border-t text-base\">\n <div class=\"flex h-8 max-w-full gap-2.5 overflow-x-auto px-3\">\n <button\n v-for=\"(_, key, ind) in scheme?.flows\"\n :key=\"key\"\n class=\"floating-bg text-c-3 relative cursor-pointer border-b-[1px] border-transparent py-1 text-base font-medium\"\n :class=\"{\n '!text-c-1 !rounded-none border-b-[1px] !border-current':\n layout !== 'reference' &&\n (activeFlow === key || (ind === 0 && !activeFlow)),\n '!text-c-1 !rounded-none border-b-[1px] !border-current opacity-100':\n layout === 'reference' &&\n (activeFlow === key || (ind === 0 && !activeFlow)),\n }\"\n type=\"button\"\n @click=\"activeFlow = key\">\n <span class=\"relative z-10\">{{ key }}</span>\n </button>\n </div>\n </div>\n </DataTableRow>\n <template\n v-for=\"(flow, key, ind) in scheme?.flows\"\n :key=\"key\">\n <OAuth2\n v-if=\"activeFlow === key || (ind === 0 && !activeFlow)\"\n v-bind=\"dataTableInputProps\"\n :collection=\"collection\"\n :flow=\"flow!\"\n :persistAuth=\"persistAuth\"\n :scheme=\"scheme\"\n :server=\"server\"\n :workspace=\"workspace\"\n @authorized=\"emits('authorized')\">\n <template #oauth-actions>\n <slot name=\"oauth-actions\" />\n </template>\n </OAuth2>\n </template>\n </template>\n\n <!-- Open ID Connect -->\n <template v-else-if=\"scheme?.type === 'openIdConnect'\">\n <div\n class=\"text-c-3 bg-b-1 flex min-h-[calc(4rem+1px)] items-center justify-center border-t border-b-0 px-4 text-base\"\n :class=\"{ 'rounded-b-lg': layout === 'reference' }\">\n Coming soon\n </div>\n </template>\n </template>\n</template>\n","<script setup lang=\"ts\">\nimport { useModal } from '@scalar/components'\nimport { isDefined } from '@scalar/helpers/array/is-defined'\nimport type { Environment } from '@scalar/oas-utils/entities/environment'\nimport type {\n Collection,\n SecurityScheme,\n Server,\n} from '@scalar/oas-utils/entities/spec'\nimport type { Workspace } from '@scalar/oas-utils/entities/workspace'\nimport { computed, ref, watch } from 'vue'\n\nimport { DataTable } from '@/components/DataTable'\nimport { useWorkspace } from '@/store'\nimport type { EnvVariable } from '@/store/active-entities'\n\nimport DeleteRequestAuthModal from './DeleteRequestAuthModal.vue'\nimport RequestAuthTab from './RequestAuthTab.vue'\n\nconst {\n collection,\n environment,\n envVariables,\n layout = 'client',\n persistAuth = false,\n selectedSchemeOptions = [],\n server,\n workspace,\n} = defineProps<{\n collection: Collection\n environment: Environment\n envVariables: EnvVariable[]\n layout: 'client' | 'reference'\n persistAuth: boolean\n selectedSchemeOptions: { id: string; label: string }[]\n server: Server | undefined\n workspace: Workspace\n}>()\n\nconst emits = defineEmits<{\n authorized: []\n activeSchemes: [schemes: SecurityScheme[]]\n}>()\n\ndefineSlots<{\n 'oauth-actions'?: () => unknown\n}>()\n\nconst { securitySchemes } = useWorkspace()\nconst deleteSchemeModal = useModal()\nconst selectedScheme = ref<{ id: SecurityScheme['uid']; label: string } | null>(\n null,\n)\n\n/** Add new ref for active tab */\nconst activeAuthIndex = ref(0)\n\n/** Return currently selected schemes including complex auth */\nconst activeScheme = computed(() => {\n if (!selectedSchemeOptions || selectedSchemeOptions.length === 0) {\n return []\n }\n\n const option = selectedSchemeOptions[activeAuthIndex.value]\n if (!option) {\n return []\n }\n\n const keys = option.id.split(',').filter(Boolean)\n return keys.length > 1 ? keys : [option.id]\n})\n\n/** Emit active schemes */\nwatch(\n activeScheme,\n (newActiveSchemes) => {\n emits(\n 'activeSchemes',\n newActiveSchemes\n .map((scheme) => securitySchemes[scheme])\n .filter(isDefined),\n )\n },\n { immediate: true },\n)\n\n/** Return true if there are any active schemes */\nconst hasActiveSchemes = computed(() => activeScheme.value.length > 0)\n\nwatch(\n () => selectedSchemeOptions,\n (newOptions) => {\n if (!newOptions || !newOptions[activeAuthIndex.value]) {\n activeAuthIndex.value = Math.max(0, activeAuthIndex.value - 1)\n }\n },\n)\n</script>\n<template>\n <form @submit.prevent>\n <div\n v-if=\"selectedSchemeOptions.length > 1\"\n class=\"box-content flex flex-wrap gap-x-2.5 overflow-hidden border border-b-0 px-3\"\n :class=\"layout === 'client' && 'border-x-0'\">\n <div\n v-for=\"(option, index) in selectedSchemeOptions\"\n :key=\"option.id\"\n class=\"relative z-1 -mb-[var(--scalar-border-width)] flex h-8 cursor-pointer\"\n :class=\"[activeAuthIndex === index ? 'text-c-1' : 'text-c-3']\">\n <button\n class=\"floating-bg relative cursor-pointer border-b-[1px] border-transparent py-1 text-sm font-medium\"\n type=\"button\"\n @click=\"activeAuthIndex = index\">\n <span class=\"relative z-10 font-medium whitespace-nowrap\">{{\n option.label\n }}</span>\n </button>\n <div\n v-if=\"activeAuthIndex === index\"\n class=\"absolute inset-x-1 bottom-[var(--scalar-border-width)] left-1/2 z-1 h-px w-full -translate-x-1/2 bg-current\" />\n </div>\n </div>\n\n <DataTable\n v-if=\"hasActiveSchemes\"\n class=\"flex-1\"\n :class=\"layout === 'reference' && 'bg-b-1 rounded-b-lg border border-t-0'\"\n :columns=\"['']\"\n presentational>\n <RequestAuthTab\n :collection=\"collection\"\n :envVariables=\"envVariables\"\n :environment=\"environment\"\n :layout=\"layout\"\n :persistAuth=\"persistAuth\"\n :securitySchemeUids=\"activeScheme\"\n :server=\"server\"\n :workspace=\"workspace\"\n @authorized=\"emits('authorized')\">\n <template #oauth-actions>\n <slot name=\"oauth-actions\" />\n </template>\n </RequestAuthTab>\n </DataTable>\n\n <div\n v-else\n class=\"text-c-3 bg-b-1 flex min-h-16 items-center justify-center border-t px-4 text-sm\"\n :class=\"\n layout === 'reference' && 'min-h-[calc(4rem+0.5px)] rounded-b-lg border'\n \">\n No authentication selected\n </div>\n\n <DeleteRequestAuthModal\n :scheme=\"selectedScheme\"\n :state=\"deleteSchemeModal\"\n @close=\"deleteSchemeModal.hide()\" />\n </form>\n</template>\n<style scoped>\n.auth-combobox-position {\n margin-left: 120px;\n}\n.scroll-timeline-x {\n overflow: auto;\n scroll-timeline: --scroll-timeline x;\n /* Firefox supports */\n scroll-timeline: --scroll-timeline horizontal;\n -ms-overflow-style: none; /* IE and Edge */\n scrollbar-width: none;\n -ms-overflow-style: none;\n}\n.fade-left,\n.fade-right {\n position: sticky;\n content: '';\n height: 100%;\n animation-name: fadein;\n animation-duration: 1ms;\n animation-direction: reverse;\n animation-timeline: --scroll-timeline;\n min-height: 24px;\n pointer-events: none;\n}\n.fade-left {\n background: linear-gradient(\n -90deg,\n color-mix(in srgb, var(--scalar-background-1), transparent 100%) 0%,\n color-mix(in srgb, var(--scalar-background-1), transparent 20%) 60%,\n var(--scalar-background-1) 100%\n );\n min-width: 3px;\n left: -1px;\n animation-direction: normal;\n}\n.fade-right {\n background: linear-gradient(\n 90deg,\n color-mix(in srgb, var(--scalar-background-1), transparent 100%) 0%,\n color-mix(in srgb, var(--scalar-background-1), transparent 20%) 60%,\n var(--scalar-background-1) 100%\n );\n margin-left: -20px;\n min-width: 24px;\n right: -1px;\n top: 0;\n}\n@keyframes fadein {\n 0% {\n opacity: 0;\n }\n 15% {\n opacity: 1;\n }\n}\n\n/* .references-auth-data-table :deep(table td) {\n margin: 0 9px;\n background: var(--scalar-background-2);\n} */\n\n/* More than one selected */\n/* .references-auth-data-table\n :deep(table:has(.group\\/delete) tr:nth-child(2) td) {\n border-radius: var(--scalar-radius) var(--scalar-radius) 0 0;\n border: 0.5px solid var(--scalar-border-color);\n border-bottom: none;\n}\n.references-auth-data-table\n :deep(table:not(:has(.group\\/delete)) tr:nth-child(3) td) {\n border-radius: var(--scalar-radius) var(--scalar-radius) 0 0;\n border: 0.5px solid var(--scalar-border-color);\n border-bottom: none;\n}\n.references-auth-data-table :deep(table tr:last-child td) {\n border-radius: 0 0 var(--scalar-radius) var(--scalar-radius);\n border: 0.5px solid var(--scalar-border-color);\n border-top: none;\n}\n\n.references-auth-data-table :deep(.references-auth-row:last-of-type) td {\n border-radius: 0 0 var(--scalar-radius) var(--scalar-radius);\n background: blue;\n}\n.references-auth-data-table :deep(.scalar-data-table-input-required) {\n background-color: var(--scalar-background-2);\n --tw-bg-base: var(--scalar-background-2);\n --tw-shadow: var(--scalar-background-2);\n} */\n</style>\n","<script setup lang=\"ts\">\nimport { useModal } from '@scalar/components'\nimport { isDefined } from '@scalar/helpers/array/is-defined'\nimport type { Environment } from '@scalar/oas-utils/entities/environment'\nimport type {\n Collection,\n SecurityScheme,\n Server,\n} from '@scalar/oas-utils/entities/spec'\nimport type { Workspace } from '@scalar/oas-utils/entities/workspace'\nimport { computed, ref, watch } from 'vue'\n\nimport { DataTable } from '@/components/DataTable'\nimport { useWorkspace } from '@/store'\nimport type { EnvVariable } from '@/store/active-entities'\n\nimport DeleteRequestAuthModal from './DeleteRequestAuthModal.vue'\nimport RequestAuthTab from './RequestAuthTab.vue'\n\nconst {\n collection,\n environment,\n envVariables,\n layout = 'client',\n persistAuth = false,\n selectedSchemeOptions = [],\n server,\n workspace,\n} = defineProps<{\n collection: Collection\n environment: Environment\n envVariables: EnvVariable[]\n layout: 'client' | 'reference'\n persistAuth: boolean\n selectedSchemeOptions: { id: string; label: string }[]\n server: Server | undefined\n workspace: Workspace\n}>()\n\nconst emits = defineEmits<{\n authorized: []\n activeSchemes: [schemes: SecurityScheme[]]\n}>()\n\ndefineSlots<{\n 'oauth-actions'?: () => unknown\n}>()\n\nconst { securitySchemes } = useWorkspace()\nconst deleteSchemeModal = useModal()\nconst selectedScheme = ref<{ id: SecurityScheme['uid']; label: string } | null>(\n null,\n)\n\n/** Add new ref for active tab */\nconst activeAuthIndex = ref(0)\n\n/** Return currently selected schemes including complex auth */\nconst activeScheme = computed(() => {\n if (!selectedSchemeOptions || selectedSchemeOptions.length === 0) {\n return []\n }\n\n const option = selectedSchemeOptions[activeAuthIndex.value]\n if (!option) {\n return []\n }\n\n const keys = option.id.split(',').filter(Boolean)\n return keys.length > 1 ? keys : [option.id]\n})\n\n/** Emit active schemes */\nwatch(\n activeScheme,\n (newActiveSchemes) => {\n emits(\n 'activeSchemes',\n newActiveSchemes\n .map((scheme) => securitySchemes[scheme])\n .filter(isDefined),\n )\n },\n { immediate: true },\n)\n\n/** Return true if there are any active schemes */\nconst hasActiveSchemes = computed(() => activeScheme.value.length > 0)\n\nwatch(\n () => selectedSchemeOptions,\n (newOptions) => {\n if (!newOptions || !newOptions[activeAuthIndex.value]) {\n activeAuthIndex.value = Math.max(0, activeAuthIndex.value - 1)\n }\n },\n)\n</script>\n<template>\n <form @submit.prevent>\n <div\n v-if=\"selectedSchemeOptions.length > 1\"\n class=\"box-content flex flex-wrap gap-x-2.5 overflow-hidden border border-b-0 px-3\"\n :class=\"layout === 'client' && 'border-x-0'\">\n <div\n v-for=\"(option, index) in selectedSchemeOptions\"\n :key=\"option.id\"\n class=\"relative z-1 -mb-[var(--scalar-border-width)] flex h-8 cursor-pointer\"\n :class=\"[activeAuthIndex === index ? 'text-c-1' : 'text-c-3']\">\n <button\n class=\"floating-bg relative cursor-pointer border-b-[1px] border-transparent py-1 text-sm font-medium\"\n type=\"button\"\n @click=\"activeAuthIndex = index\">\n <span class=\"relative z-10 font-medium whitespace-nowrap\">{{\n option.label\n }}</span>\n </button>\n <div\n v-if=\"activeAuthIndex === index\"\n class=\"absolute inset-x-1 bottom-[var(--scalar-border-width)] left-1/2 z-1 h-px w-full -translate-x-1/2 bg-current\" />\n </div>\n </div>\n\n <DataTable\n v-if=\"hasActiveSchemes\"\n class=\"flex-1\"\n :class=\"layout === 'reference' && 'bg-b-1 rounded-b-lg border border-t-0'\"\n :columns=\"['']\"\n presentational>\n <RequestAuthTab\n :collection=\"collection\"\n :envVariables=\"envVariables\"\n :environment=\"environment\"\n :layout=\"layout\"\n :persistAuth=\"persistAuth\"\n :securitySchemeUids=\"activeScheme\"\n :server=\"server\"\n :workspace=\"workspace\"\n @authorized=\"emits('authorized')\">\n <template #oauth-actions>\n <slot name=\"oauth-actions\" />\n </template>\n </RequestAuthTab>\n </DataTable>\n\n <div\n v-else\n class=\"text-c-3 bg-b-1 flex min-h-16 items-center justify-center border-t px-4 text-sm\"\n :class=\"\n layout === 'reference' && 'min-h-[calc(4rem+0.5px)] rounded-b-lg border'\n \">\n No authentication selected\n </div>\n\n <DeleteRequestAuthModal\n :scheme=\"selectedScheme\"\n :state=\"deleteSchemeModal\"\n @close=\"deleteSchemeModal.hide()\" />\n </form>\n</template>\n<style scoped>\n.auth-combobox-position {\n margin-left: 120px;\n}\n.scroll-timeline-x {\n overflow: auto;\n scroll-timeline: --scroll-timeline x;\n /* Firefox supports */\n scroll-timeline: --scroll-timeline horizontal;\n -ms-overflow-style: none; /* IE and Edge */\n scrollbar-width: none;\n -ms-overflow-style: none;\n}\n.fade-left,\n.fade-right {\n position: sticky;\n content: '';\n height: 100%;\n animation-name: fadein;\n animation-duration: 1ms;\n animation-direction: reverse;\n animation-timeline: --scroll-timeline;\n min-height: 24px;\n pointer-events: none;\n}\n.fade-left {\n background: linear-gradient(\n -90deg,\n color-mix(in srgb, var(--scalar-background-1), transparent 100%) 0%,\n color-mix(in srgb, var(--scalar-background-1), transparent 20%) 60%,\n var(--scalar-background-1) 100%\n );\n min-width: 3px;\n left: -1px;\n animation-direction: normal;\n}\n.fade-right {\n background: linear-gradient(\n 90deg,\n color-mix(in srgb, var(--scalar-background-1), transparent 100%) 0%,\n color-mix(in srgb, var(--scalar-background-1), transparent 20%) 60%,\n var(--scalar-background-1) 100%\n );\n margin-left: -20px;\n min-width: 24px;\n right: -1px;\n top: 0;\n}\n@keyframes fadein {\n 0% {\n opacity: 0;\n }\n 15% {\n opacity: 1;\n }\n}\n\n/* .references-auth-data-table :deep(table td) {\n margin: 0 9px;\n background: var(--scalar-background-2);\n} */\n\n/* More than one selected */\n/* .references-auth-data-table\n :deep(table:has(.group\\/delete) tr:nth-child(2) td) {\n border-radius: var(--scalar-radius) var(--scalar-radius) 0 0;\n border: 0.5px solid var(--scalar-border-color);\n border-bottom: none;\n}\n.references-auth-data-table\n :deep(table:not(:has(.group\\/delete)) tr:nth-child(3) td) {\n border-radius: var(--scalar-radius) var(--scalar-radius) 0 0;\n border: 0.5px solid var(--scalar-border-color);\n border-bottom: none;\n}\n.references-auth-data-table :deep(table tr:last-child td) {\n border-radius: 0 0 var(--scalar-radius) var(--scalar-radius);\n border: 0.5px solid var(--scalar-border-color);\n border-top: none;\n}\n\n.references-auth-data-table :deep(.references-auth-row:last-of-type) td {\n border-radius: 0 0 var(--scalar-radius) var(--scalar-radius);\n background: blue;\n}\n.references-auth-data-table :deep(.scalar-data-table-input-required) {\n background-color: var(--scalar-background-2);\n --tw-bg-base: var(--scalar-background-2);\n --tw-shadow: var(--scalar-background-2);\n} */\n</style>\n","<script setup lang=\"ts\">\nimport {\n ScalarButton,\n ScalarComboboxMultiselect,\n ScalarIconButton,\n ScalarListboxCheckbox,\n useModal,\n type Icon,\n type ScalarButton as ScalarButtonType,\n} from '@scalar/components'\nimport {\n CLIENT_LS_KEYS,\n safeLocalStorage,\n} from '@scalar/helpers/object/local-storage'\nimport { ScalarIconCaretDown, ScalarIconTrash } from '@scalar/icons'\nimport type { Environment } from '@scalar/oas-utils/entities/environment'\nimport type { SelectedSecuritySchemeUids } from '@scalar/oas-utils/entities/shared'\nimport type {\n Collection,\n Operation,\n SecurityScheme,\n Server,\n} from '@scalar/oas-utils/entities/spec'\nimport type { Workspace } from '@scalar/oas-utils/entities/workspace'\nimport { isDefined } from '@scalar/oas-utils/helpers'\nimport { computed, ref, useId } from 'vue'\n\nimport ViewLayoutCollapse from '@/components/ViewLayout/ViewLayoutCollapse.vue'\nimport type { EnvVariable } from '@/store/active-entities'\nimport { useWorkspace } from '@/store/store'\nimport type { SecuritySchemeOption } from '@/views/Request/consts'\nimport {\n formatComplexScheme,\n formatScheme,\n getSchemeOptions,\n getSecurityRequirements,\n} from '@/views/Request/libs'\n\nimport DeleteRequestAuthModal from './DeleteRequestAuthModal.vue'\nimport RequestAuthDataTable from './RequestAuthDataTable.vue'\n\nconst {\n collection,\n isReadOnly = false,\n environment,\n envVariables,\n layout,\n operation,\n persistAuth = false,\n selectedSecuritySchemeUids,\n server,\n title,\n workspace,\n} = defineProps<{\n collection: Collection\n /** Controls whether user can add new auth schemes */\n isReadOnly?: boolean\n environment: Environment\n envVariables: EnvVariable[]\n layout: 'client' | 'reference'\n operation?: Operation | undefined\n persistAuth?: boolean\n selectedSecuritySchemeUids: SelectedSecuritySchemeUids\n server: Server | undefined\n title: string\n workspace: Workspace\n}>()\n\nconst emits = defineEmits<{\n /** Emits when the user has authorized with an oauth2 flow */\n authorized: []\n /** Emits the currently active scheme */\n activeSchemes: [schemes: SecurityScheme[]]\n}>()\n\ndefineSlots<{\n 'oauth-actions'?: () => unknown\n}>()\n\nconst {\n securitySchemes,\n securitySchemeMutators,\n requestMutators,\n collectionMutators,\n} = useWorkspace()\n\nconst titleId = useId()\n\nconst comboboxButtonRef = ref<typeof ScalarButtonType | null>(null)\nconst deleteSchemeModal = useModal()\nconst selectedScheme = ref<{ id: SecurityScheme['uid']; label: string } | null>(\n null,\n)\nconst isViewLayoutOpen = ref(false)\n\n/** Security requirements for the request */\nconst securityRequirements = computed(() => {\n const requirements = getSecurityRequirements(operation, collection)\n\n /** Filter out empty objects */\n const filteredRequirements = requirements.filter((r) => Object.keys(r).length)\n\n return { filteredRequirements, requirements }\n})\n\n/** Indicates if auth is required */\nconst authIndicator = computed(() => {\n const { filteredRequirements, requirements } = securityRequirements.value\n if (!requirements.length) {\n return null\n }\n\n /**\n * Security is optional if one empty object exists in the array &\n * no complex auth requirements (with multiple auth)\n */\n const hasComplexRequirement = requirements.some(\n (req) => Object.keys(req).length > 1,\n )\n const isOptional =\n !hasComplexRequirement && filteredRequirements.length < requirements.length\n\n const icon: Icon = isOptional ? 'Unlock' : 'Lock'\n\n /** Text to indicate auth requirements */\n const text = isOptional ? 'Optional' : 'Required'\n\n return { icon, text }\n})\n\n/**\n * Currently selected auth schemes on the collection, we store complex auth joined by a comma to represent the array\n * in the string\n */\nconst selectedSchemeOptions = computed<SecuritySchemeOption[]>(() =>\n selectedSecuritySchemeUids\n .map((s) => {\n if (Array.isArray(s)) {\n return formatComplexScheme(s, securitySchemes)\n }\n const scheme = securitySchemes[s ?? '']\n if (!scheme) {\n return undefined\n }\n return formatScheme(scheme)\n })\n .filter(isDefined),\n)\n\n/** Update the selected auth types */\nfunction updateSelectedAuth(entries: SecuritySchemeOption[]) {\n const addNewOption = entries.find((e) => e.payload)\n const _entries = entries\n .filter((e) => !e.payload)\n .map(({ id }) => {\n const arr = id.split(',')\n return arr.length > 1\n ? (arr as SecurityScheme['uid'][])\n : (id as SecurityScheme['uid'])\n })\n\n // Adding new auth\n if (addNewOption?.payload) {\n // Create new scheme\n const scheme = securitySchemeMutators.add(\n addNewOption.payload,\n collection?.uid,\n )\n if (scheme) {\n _entries.push(scheme.uid)\n }\n }\n\n editSelectedSchemeUids(_entries)\n}\n\nconst editSelectedSchemeUids = (uids: SelectedSecuritySchemeUids) => {\n // Set as selected on the collection for the modal\n if (collection.useCollectionSecurity) {\n collectionMutators.edit(collection.uid, 'selectedSecuritySchemeUids', uids)\n\n if (!persistAuth) {\n return\n }\n\n // We must convert the uids to nameKeys first\n const nameKeys = uids.map((uids) => {\n // Handle complex auth\n if (Array.isArray(uids)) {\n return uids.map((uid) => securitySchemes[uid]?.nameKey)\n }\n\n return securitySchemes[uids]?.nameKey\n })\n\n safeLocalStorage().setItem(\n CLIENT_LS_KEYS.SELECTED_SECURITY_SCHEMES,\n JSON.stringify(nameKeys),\n )\n }\n // Set as selected on request\n else if (operation?.uid) {\n requestMutators.edit(operation.uid, 'selectedSecuritySchemeUids', uids)\n }\n}\n\nfunction handleDeleteScheme({ id, label }: { id: string; label: string }) {\n // We cast the type here just to make the combobox happy, TODO: we should make ID be string-like and accept brands\n selectedScheme.value = { id: id as SecurityScheme['uid'], label }\n deleteSchemeModal.show()\n}\n\nconst unselectAuth = (unSelectUid?: string) => {\n if (!unSelectUid) {\n return\n }\n const newUids = selectedSecuritySchemeUids.filter((uid) => {\n const arr = unSelectUid.split(',')\n // Handle complex auth\n if (arr.length > 1 && Array.isArray(uid) && arr.length === uid.length) {\n return uid.every((u) => !arr.includes(u))\n }\n // Standard string auth\n return uid !== unSelectUid\n })\n editSelectedSchemeUids(newUids)\n comboboxButtonRef.value?.$el.focus()\n deleteSchemeModal.hide()\n}\n\n/** Options for the security scheme dropdown */\nconst schemeOptions = computed(() =>\n getSchemeOptions(\n securityRequirements.value.filteredRequirements,\n collection?.securitySchemes ?? [],\n securitySchemes,\n isReadOnly,\n ),\n)\n\nconst openAuthCombobox = (event: Event) => {\n // If the layout is open, we don't want it to close on auth label click\n if (isViewLayoutOpen.value) {\n event.stopPropagation()\n }\n\n comboboxButtonRef.value?.$el.click()\n}\n</script>\n<template>\n <ViewLayoutCollapse\n class=\"group/params relative\"\n :itemCount=\"selectedSchemeOptions.length\"\n :layout=\"layout\"\n @update:modelValue=\"isViewLayoutOpen = $event\">\n <template #title>\n <div\n :id=\"titleId\"\n class=\"inline-flex items-center gap-0.5 leading-[20px]\">\n <span>{{ title }}</span>\n <!-- Authentication indicator -->\n <span\n v-if=\"authIndicator\"\n class=\"text-c-3 hover:bg-b-3 hover:text-c-1 -mr-1 cursor-pointer rounded px-1 py-0.5 text-xs leading-[normal]\"\n :class=\"{ 'text-c-1': authIndicator.text === 'Required' }\"\n @click=\"openAuthCombobox\">\n {{ authIndicator.text }}\n </span>\n </div>\n </template>\n <template #actions>\n <div class=\"flex flex-1\">\n <ScalarComboboxMultiselect\n class=\"w-72 text-xs\"\n :modelValue=\"selectedSchemeOptions\"\n multiple\n :options=\"schemeOptions\"\n placement=\"bottom-end\"\n teleport\n @delete=\"handleDeleteScheme\"\n @update:modelValue=\"updateSelectedAuth\">\n <ScalarButton\n ref=\"comboboxButtonRef\"\n :aria-describedby=\"titleId\"\n class=\"group/combobox-button hover:text-c-1 text-c-2 flex h-fit w-full items-center gap-1 px-0.75 py-0.25 text-base font-normal transition-transform\"\n variant=\"ghost\">\n <template v-if=\"selectedSchemeOptions.length === 1\">\n <span class=\"sr-only\">Selected Auth Type:</span>\n {{ selectedSchemeOptions[0]?.label }}\n </template>\n <template v-else-if=\"selectedSchemeOptions.length > 1\">\n Multiple\n <span class=\"sr-only\">Auth Types Selected</span>\n </template>\n <template v-else>\n <span class=\"sr-only\">Select</span>\n Auth Type\n </template>\n <ScalarIconCaretDown\n class=\"size-3 shrink-0 transition-transform duration-100 group-aria-expanded/combobox-button:rotate-180\"\n weight=\"bold\" />\n </ScalarButton>\n <template #option=\"{ option, selected }\">\n <ScalarListboxCheckbox\n multiselect\n :selected=\"selected\" />\n <div class=\"min-w-0 flex-1 truncate\">\n {{ option.label }}\n </div>\n <ScalarIconButton\n v-if=\"option.isDeletable ?? !isReadOnly\"\n class=\"-m-0.5 shrink-0 p-0.5 opacity-0 group-hover/item:opacity-100\"\n :icon=\"ScalarIconTrash\"\n :label=\"`Delete ${option.label}`\"\n size=\"xs\"\n @click.stop=\"handleDeleteScheme(option)\" />\n </template>\n </ScalarComboboxMultiselect>\n </div>\n </template>\n\n <!-- Auth Table -->\n <RequestAuthDataTable\n :collection=\"collection\"\n :envVariables=\"envVariables\"\n :environment=\"environment\"\n :layout=\"layout\"\n :persistAuth=\"persistAuth\"\n :selectedSchemeOptions=\"selectedSchemeOptions\"\n :server=\"server\"\n :workspace=\"workspace\"\n @activeSchemes=\"emits('activeSchemes', $event)\"\n @authorized=\"emits('authorized')\">\n <template #oauth-actions>\n <slot name=\"oauth-actions\" />\n </template>\n </RequestAuthDataTable>\n\n <DeleteRequestAuthModal\n :scheme=\"selectedScheme\"\n :state=\"deleteSchemeModal\"\n @close=\"deleteSchemeModal.hide()\"\n @delete=\"unselectAuth(selectedScheme?.id)\" />\n </ViewLayoutCollapse>\n</template>\n<style scoped>\n.auth-combobox-position {\n margin-left: 120px;\n}\n.scroll-timeline-x {\n overflow: auto;\n scroll-timeline: --scroll-timeline x;\n /* Firefox supports */\n scroll-timeline: --scroll-timeline horizontal;\n -ms-overflow-style: none; /* IE and Edge */\n scrollbar-width: none;\n -ms-overflow-style: none;\n}\n.fade-left,\n.fade-right {\n position: sticky;\n content: '';\n height: 100%;\n animation-name: fadein;\n animation-duration: 1ms;\n animation-direction: reverse;\n animation-timeline: --scroll-timeline;\n min-height: 24px;\n pointer-events: none;\n}\n.fade-left {\n background: linear-gradient(\n -90deg,\n color-mix(in srgb, var(--scalar-background-1), transparent 100%) 0%,\n color-mix(in srgb, var(--scalar-background-1), transparent 20%) 60%,\n var(--scalar-background-1) 100%\n );\n min-width: 3px;\n left: -1px;\n animation-direction: normal;\n}\n.fade-right {\n background: linear-gradient(\n 90deg,\n color-mix(in srgb, var(--scalar-background-1), transparent 100%) 0%,\n color-mix(in srgb, var(--scalar-background-1), transparent 20%) 60%,\n var(--scalar-background-1) 100%\n );\n margin-left: -20px;\n min-width: 24px;\n right: -1px;\n top: 0;\n}\n@keyframes fadein {\n 0% {\n opacity: 0;\n }\n 15% {\n opacity: 1;\n }\n}\n</style>\n","<script setup lang=\"ts\">\nimport {\n ScalarButton,\n ScalarComboboxMultiselect,\n ScalarIconButton,\n ScalarListboxCheckbox,\n useModal,\n type Icon,\n type ScalarButton as ScalarButtonType,\n} from '@scalar/components'\nimport {\n CLIENT_LS_KEYS,\n safeLocalStorage,\n} from '@scalar/helpers/object/local-storage'\nimport { ScalarIconCaretDown, ScalarIconTrash } from '@scalar/icons'\nimport type { Environment } from '@scalar/oas-utils/entities/environment'\nimport type { SelectedSecuritySchemeUids } from '@scalar/oas-utils/entities/shared'\nimport type {\n Collection,\n Operation,\n SecurityScheme,\n Server,\n} from '@scalar/oas-utils/entities/spec'\nimport type { Workspace } from '@scalar/oas-utils/entities/workspace'\nimport { isDefined } from '@scalar/oas-utils/helpers'\nimport { computed, ref, useId } from 'vue'\n\nimport ViewLayoutCollapse from '@/components/ViewLayout/ViewLayoutCollapse.vue'\nimport type { EnvVariable } from '@/store/active-entities'\nimport { useWorkspace } from '@/store/store'\nimport type { SecuritySchemeOption } from '@/views/Request/consts'\nimport {\n formatComplexScheme,\n formatScheme,\n getSchemeOptions,\n getSecurityRequirements,\n} from '@/views/Request/libs'\n\nimport DeleteRequestAuthModal from './DeleteRequestAuthModal.vue'\nimport RequestAuthDataTable from './RequestAuthDataTable.vue'\n\nconst {\n collection,\n isReadOnly = false,\n environment,\n envVariables,\n layout,\n operation,\n persistAuth = false,\n selectedSecuritySchemeUids,\n server,\n title,\n workspace,\n} = defineProps<{\n collection: Collection\n /** Controls whether user can add new auth schemes */\n isReadOnly?: boolean\n environment: Environment\n envVariables: EnvVariable[]\n layout: 'client' | 'reference'\n operation?: Operation | undefined\n persistAuth?: boolean\n selectedSecuritySchemeUids: SelectedSecuritySchemeUids\n server: Server | undefined\n title: string\n workspace: Workspace\n}>()\n\nconst emits = defineEmits<{\n /** Emits when the user has authorized with an oauth2 flow */\n authorized: []\n /** Emits the currently active scheme */\n activeSchemes: [schemes: SecurityScheme[]]\n}>()\n\ndefineSlots<{\n 'oauth-actions'?: () => unknown\n}>()\n\nconst {\n securitySchemes,\n securitySchemeMutators,\n requestMutators,\n collectionMutators,\n} = useWorkspace()\n\nconst titleId = useId()\n\nconst comboboxButtonRef = ref<typeof ScalarButtonType | null>(null)\nconst deleteSchemeModal = useModal()\nconst selectedScheme = ref<{ id: SecurityScheme['uid']; label: string } | null>(\n null,\n)\nconst isViewLayoutOpen = ref(false)\n\n/** Security requirements for the request */\nconst securityRequirements = computed(() => {\n const requirements = getSecurityRequirements(operation, collection)\n\n /** Filter out empty objects */\n const filteredRequirements = requirements.filter((r) => Object.keys(r).length)\n\n return { filteredRequirements, requirements }\n})\n\n/** Indicates if auth is required */\nconst authIndicator = computed(() => {\n const { filteredRequirements, requirements } = securityRequirements.value\n if (!requirements.length) {\n return null\n }\n\n /**\n * Security is optional if one empty object exists in the array &\n * no complex auth requirements (with multiple auth)\n */\n const hasComplexRequirement = requirements.some(\n (req) => Object.keys(req).length > 1,\n )\n const isOptional =\n !hasComplexRequirement && filteredRequirements.length < requirements.length\n\n const icon: Icon = isOptional ? 'Unlock' : 'Lock'\n\n /** Text to indicate auth requirements */\n const text = isOptional ? 'Optional' : 'Required'\n\n return { icon, text }\n})\n\n/**\n * Currently selected auth schemes on the collection, we store complex auth joined by a comma to represent the array\n * in the string\n */\nconst selectedSchemeOptions = computed<SecuritySchemeOption[]>(() =>\n selectedSecuritySchemeUids\n .map((s) => {\n if (Array.isArray(s)) {\n return formatComplexScheme(s, securitySchemes)\n }\n const scheme = securitySchemes[s ?? '']\n if (!scheme) {\n return undefined\n }\n return formatScheme(scheme)\n })\n .filter(isDefined),\n)\n\n/** Update the selected auth types */\nfunction updateSelectedAuth(entries: SecuritySchemeOption[]) {\n const addNewOption = entries.find((e) => e.payload)\n const _entries = entries\n .filter((e) => !e.payload)\n .map(({ id }) => {\n const arr = id.split(',')\n return arr.length > 1\n ? (arr as SecurityScheme['uid'][])\n : (id as SecurityScheme['uid'])\n })\n\n // Adding new auth\n if (addNewOption?.payload) {\n // Create new scheme\n const scheme = securitySchemeMutators.add(\n addNewOption.payload,\n collection?.uid,\n )\n if (scheme) {\n _entries.push(scheme.uid)\n }\n }\n\n editSelectedSchemeUids(_entries)\n}\n\nconst editSelectedSchemeUids = (uids: SelectedSecuritySchemeUids) => {\n // Set as selected on the collection for the modal\n if (collection.useCollectionSecurity) {\n collectionMutators.edit(collection.uid, 'selectedSecuritySchemeUids', uids)\n\n if (!persistAuth) {\n return\n }\n\n // We must convert the uids to nameKeys first\n const nameKeys = uids.map((uids) => {\n // Handle complex auth\n if (Array.isArray(uids)) {\n return uids.map((uid) => securitySchemes[uid]?.nameKey)\n }\n\n return securitySchemes[uids]?.nameKey\n })\n\n safeLocalStorage().setItem(\n CLIENT_LS_KEYS.SELECTED_SECURITY_SCHEMES,\n JSON.stringify(nameKeys),\n )\n }\n // Set as selected on request\n else if (operation?.uid) {\n requestMutators.edit(operation.uid, 'selectedSecuritySchemeUids', uids)\n }\n}\n\nfunction handleDeleteScheme({ id, label }: { id: string; label: string }) {\n // We cast the type here just to make the combobox happy, TODO: we should make ID be string-like and accept brands\n selectedScheme.value = { id: id as SecurityScheme['uid'], label }\n deleteSchemeModal.show()\n}\n\nconst unselectAuth = (unSelectUid?: string) => {\n if (!unSelectUid) {\n return\n }\n const newUids = selectedSecuritySchemeUids.filter((uid) => {\n const arr = unSelectUid.split(',')\n // Handle complex auth\n if (arr.length > 1 && Array.isArray(uid) && arr.length === uid.length) {\n return uid.every((u) => !arr.includes(u))\n }\n // Standard string auth\n return uid !== unSelectUid\n })\n editSelectedSchemeUids(newUids)\n comboboxButtonRef.value?.$el.focus()\n deleteSchemeModal.hide()\n}\n\n/** Options for the security scheme dropdown */\nconst schemeOptions = computed(() =>\n getSchemeOptions(\n securityRequirements.value.filteredRequirements,\n collection?.securitySchemes ?? [],\n securitySchemes,\n isReadOnly,\n ),\n)\n\nconst openAuthCombobox = (event: Event) => {\n // If the layout is open, we don't want it to close on auth label click\n if (isViewLayoutOpen.value) {\n event.stopPropagation()\n }\n\n comboboxButtonRef.value?.$el.click()\n}\n</script>\n<template>\n <ViewLayoutCollapse\n class=\"group/params relative\"\n :itemCount=\"selectedSchemeOptions.length\"\n :layout=\"layout\"\n @update:modelValue=\"isViewLayoutOpen = $event\">\n <template #title>\n <div\n :id=\"titleId\"\n class=\"inline-flex items-center gap-0.5 leading-[20px]\">\n <span>{{ title }}</span>\n <!-- Authentication indicator -->\n <span\n v-if=\"authIndicator\"\n class=\"text-c-3 hover:bg-b-3 hover:text-c-1 -mr-1 cursor-pointer rounded px-1 py-0.5 text-xs leading-[normal]\"\n :class=\"{ 'text-c-1': authIndicator.text === 'Required' }\"\n @click=\"openAuthCombobox\">\n {{ authIndicator.text }}\n </span>\n </div>\n </template>\n <template #actions>\n <div class=\"flex flex-1\">\n <ScalarComboboxMultiselect\n class=\"w-72 text-xs\"\n :modelValue=\"selectedSchemeOptions\"\n multiple\n :options=\"schemeOptions\"\n placement=\"bottom-end\"\n teleport\n @delete=\"handleDeleteScheme\"\n @update:modelValue=\"updateSelectedAuth\">\n <ScalarButton\n ref=\"comboboxButtonRef\"\n :aria-describedby=\"titleId\"\n class=\"group/combobox-button hover:text-c-1 text-c-2 flex h-fit w-full items-center gap-1 px-0.75 py-0.25 text-base font-normal transition-transform\"\n variant=\"ghost\">\n <template v-if=\"selectedSchemeOptions.length === 1\">\n <span class=\"sr-only\">Selected Auth Type:</span>\n {{ selectedSchemeOptions[0]?.label }}\n </template>\n <template v-else-if=\"selectedSchemeOptions.length > 1\">\n Multiple\n <span class=\"sr-only\">Auth Types Selected</span>\n </template>\n <template v-else>\n <span class=\"sr-only\">Select</span>\n Auth Type\n </template>\n <ScalarIconCaretDown\n class=\"size-3 shrink-0 transition-transform duration-100 group-aria-expanded/combobox-button:rotate-180\"\n weight=\"bold\" />\n </ScalarButton>\n <template #option=\"{ option, selected }\">\n <ScalarListboxCheckbox\n multiselect\n :selected=\"selected\" />\n <div class=\"min-w-0 flex-1 truncate\">\n {{ option.label }}\n </div>\n <ScalarIconButton\n v-if=\"option.isDeletable ?? !isReadOnly\"\n class=\"-m-0.5 shrink-0 p-0.5 opacity-0 group-hover/item:opacity-100\"\n :icon=\"ScalarIconTrash\"\n :label=\"`Delete ${option.label}`\"\n size=\"xs\"\n @click.stop=\"handleDeleteScheme(option)\" />\n </template>\n </ScalarComboboxMultiselect>\n </div>\n </template>\n\n <!-- Auth Table -->\n <RequestAuthDataTable\n :collection=\"collection\"\n :envVariables=\"envVariables\"\n :environment=\"environment\"\n :layout=\"layout\"\n :persistAuth=\"persistAuth\"\n :selectedSchemeOptions=\"selectedSchemeOptions\"\n :server=\"server\"\n :workspace=\"workspace\"\n @activeSchemes=\"emits('activeSchemes', $event)\"\n @authorized=\"emits('authorized')\">\n <template #oauth-actions>\n <slot name=\"oauth-actions\" />\n </template>\n </RequestAuthDataTable>\n\n <DeleteRequestAuthModal\n :scheme=\"selectedScheme\"\n :state=\"deleteSchemeModal\"\n @close=\"deleteSchemeModal.hide()\"\n @delete=\"unselectAuth(selectedScheme?.id)\" />\n </ViewLayoutCollapse>\n</template>\n<style scoped>\n.auth-combobox-position {\n margin-left: 120px;\n}\n.scroll-timeline-x {\n overflow: auto;\n scroll-timeline: --scroll-timeline x;\n /* Firefox supports */\n scroll-timeline: --scroll-timeline horizontal;\n -ms-overflow-style: none; /* IE and Edge */\n scrollbar-width: none;\n -ms-overflow-style: none;\n}\n.fade-left,\n.fade-right {\n position: sticky;\n content: '';\n height: 100%;\n animation-name: fadein;\n animation-duration: 1ms;\n animation-direction: reverse;\n animation-timeline: --scroll-timeline;\n min-height: 24px;\n pointer-events: none;\n}\n.fade-left {\n background: linear-gradient(\n -90deg,\n color-mix(in srgb, var(--scalar-background-1), transparent 100%) 0%,\n color-mix(in srgb, var(--scalar-background-1), transparent 20%) 60%,\n var(--scalar-background-1) 100%\n );\n min-width: 3px;\n left: -1px;\n animation-direction: normal;\n}\n.fade-right {\n background: linear-gradient(\n 90deg,\n color-mix(in srgb, var(--scalar-background-1), transparent 100%) 0%,\n color-mix(in srgb, var(--scalar-background-1), transparent 20%) 60%,\n var(--scalar-background-1) 100%\n );\n margin-left: -20px;\n min-width: 24px;\n right: -1px;\n top: 0;\n}\n@keyframes fadein {\n 0% {\n opacity: 0;\n }\n 15% {\n opacity: 1;\n }\n}\n</style>\n"],"mappings":"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"}