@scalar/api-client 3.6.1 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (905) hide show
  1. package/CHANGELOG.md +150 -0
  2. package/dist/components/HttpMethod/HttpMethod.vue.js +1 -1
  3. package/dist/components/HttpMethod/index.js +2 -0
  4. package/dist/components/ScalarAsciiArt/ScalarAsciiArt.vue.d.ts.map +1 -0
  5. package/dist/components/{ScalarAsciiArt.vue.js → ScalarAsciiArt/ScalarAsciiArt.vue.js} +3 -3
  6. package/dist/components/ScalarAsciiArt/ScalarAsciiArt.vue.js.map +1 -0
  7. package/dist/components/{ScalarAsciiArt.vue.script.js → ScalarAsciiArt/ScalarAsciiArt.vue.script.js} +1 -1
  8. package/dist/components/ScalarAsciiArt/ScalarAsciiArt.vue.script.js.map +1 -0
  9. package/dist/components/ScalarAsciiArt/index.d.ts +2 -0
  10. package/dist/components/ScalarAsciiArt/index.d.ts.map +1 -0
  11. package/dist/components/ScalarAsciiArt/index.js +2 -0
  12. package/dist/components/Sidebar/Actions/DeleteSidebarListElement.vue.d.ts +2 -2
  13. package/dist/components/Sidebar/Actions/SidebarListElementForm.vue.d.ts +2 -2
  14. package/dist/components/Sidebar/index.d.ts +2 -0
  15. package/dist/components/Sidebar/index.d.ts.map +1 -0
  16. package/dist/components/Sidebar/index.js +2 -0
  17. package/dist/components/ViewLayout/index.d.ts +4 -0
  18. package/dist/components/ViewLayout/index.d.ts.map +1 -0
  19. package/dist/components/ViewLayout/index.js +4 -0
  20. package/dist/plugins/posthog/index.d.ts.map +1 -1
  21. package/dist/plugins/posthog/index.js +21 -12
  22. package/dist/plugins/posthog/index.js.map +1 -1
  23. package/dist/plugins/posthog/sanitize-event-payload.d.ts +25 -0
  24. package/dist/plugins/posthog/sanitize-event-payload.d.ts.map +1 -0
  25. package/dist/plugins/posthog/sanitize-event-payload.js +136 -0
  26. package/dist/plugins/posthog/sanitize-event-payload.js.map +1 -0
  27. package/dist/style.css +214 -1651
  28. package/dist/types/index.d.ts +3 -0
  29. package/dist/types/index.d.ts.map +1 -0
  30. package/dist/v2/blocks/operation-block/OperationBlock.vue.d.ts.map +1 -1
  31. package/dist/v2/blocks/operation-block/OperationBlock.vue.js.map +1 -1
  32. package/dist/v2/blocks/operation-block/OperationBlock.vue.script.js +72 -32
  33. package/dist/v2/blocks/operation-block/OperationBlock.vue.script.js.map +1 -1
  34. package/dist/v2/blocks/operation-block/components/Header.vue.d.ts +2 -2
  35. package/dist/v2/blocks/operation-block/components/Header.vue.d.ts.map +1 -1
  36. package/dist/v2/blocks/operation-block/components/Header.vue.js +1 -1
  37. package/dist/v2/blocks/operation-block/components/Header.vue.js.map +1 -1
  38. package/dist/v2/blocks/operation-block/components/Header.vue.script.js +3 -3
  39. package/dist/v2/blocks/operation-block/components/Header.vue.script.js.map +1 -1
  40. package/dist/v2/blocks/operation-block/components/OpenApiClientButton.vue.js +1 -1
  41. package/dist/v2/blocks/operation-block/index.d.ts +1 -0
  42. package/dist/v2/blocks/operation-block/index.d.ts.map +1 -1
  43. package/dist/v2/blocks/operation-block/index.js +2 -1
  44. package/dist/v2/blocks/operation-code-sample/components/OperationCodeSample.vue.script.js +1 -1
  45. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/operation-to-har.d.ts +1 -1
  46. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/operation-to-har.d.ts.map +1 -1
  47. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/operation-to-har.js +15 -9
  48. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/operation-to-har.js.map +1 -1
  49. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-body.d.ts.map +1 -1
  50. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-body.js +9 -7
  51. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-body.js.map +1 -1
  52. package/dist/v2/blocks/operation-code-sample/index.d.ts +1 -0
  53. package/dist/v2/blocks/operation-code-sample/index.d.ts.map +1 -1
  54. package/dist/v2/blocks/operation-code-sample/index.js +2 -1
  55. package/dist/v2/blocks/request-block/RequestBlock.vue.d.ts.map +1 -1
  56. package/dist/v2/blocks/request-block/RequestBlock.vue.js +1 -1
  57. package/dist/v2/blocks/request-block/RequestBlock.vue.js.map +1 -1
  58. package/dist/v2/blocks/request-block/RequestBlock.vue.script.js +30 -17
  59. package/dist/v2/blocks/request-block/RequestBlock.vue.script.js.map +1 -1
  60. package/dist/v2/blocks/request-block/components/RequestBody.vue.d.ts.map +1 -1
  61. package/dist/v2/blocks/request-block/components/RequestBody.vue.js +1 -1
  62. package/dist/v2/blocks/request-block/components/RequestBody.vue.js.map +1 -1
  63. package/dist/v2/blocks/request-block/components/RequestBody.vue.script.js +43 -10
  64. package/dist/v2/blocks/request-block/components/RequestBody.vue.script.js.map +1 -1
  65. package/dist/v2/blocks/request-block/components/RequestCodeSnippet.vue.script.js +2 -2
  66. package/dist/v2/blocks/request-block/components/RequestParams.vue.d.ts +2 -2
  67. package/dist/v2/blocks/request-block/components/RequestTable.vue.d.ts +2 -2
  68. package/dist/v2/blocks/request-block/components/RequestTableRow.vue.d.ts +4 -2
  69. package/dist/v2/blocks/request-block/components/RequestTableRow.vue.d.ts.map +1 -1
  70. package/dist/v2/blocks/request-block/components/RequestTableRow.vue.js.map +1 -1
  71. package/dist/v2/blocks/request-block/components/RequestTableRow.vue.script.js +2 -2
  72. package/dist/v2/blocks/request-block/components/RequestTableRow.vue.script.js.map +1 -1
  73. package/dist/v2/blocks/request-block/components/RequestTableTooltip.vue.d.ts.map +1 -1
  74. package/dist/v2/blocks/request-block/components/RequestTableTooltip.vue.js.map +1 -1
  75. package/dist/v2/blocks/request-block/components/RequestTableTooltip.vue.script.js +4 -1
  76. package/dist/v2/blocks/request-block/components/RequestTableTooltip.vue.script.js.map +1 -1
  77. package/dist/v2/blocks/request-block/helpers/create-parameter-handlers.d.ts +2 -1
  78. package/dist/v2/blocks/request-block/helpers/create-parameter-handlers.d.ts.map +1 -1
  79. package/dist/v2/blocks/request-block/helpers/create-parameter-handlers.js +42 -13
  80. package/dist/v2/blocks/request-block/helpers/create-parameter-handlers.js.map +1 -1
  81. package/dist/v2/blocks/request-block/helpers/create-parameter-rows.d.ts +14 -0
  82. package/dist/v2/blocks/request-block/helpers/create-parameter-rows.d.ts.map +1 -0
  83. package/dist/v2/blocks/request-block/helpers/create-parameter-rows.js +136 -0
  84. package/dist/v2/blocks/request-block/helpers/create-parameter-rows.js.map +1 -0
  85. package/dist/v2/blocks/request-block/helpers/get-form-body-rows.js +1 -1
  86. package/dist/v2/blocks/response-block/ResponseBlock.vue.script.js +1 -1
  87. package/dist/v2/blocks/response-block/components/ResponseBody.vue.d.ts.map +1 -1
  88. package/dist/v2/blocks/response-block/components/ResponseBody.vue.js +1 -1
  89. package/dist/v2/blocks/response-block/components/ResponseBody.vue.js.map +1 -1
  90. package/dist/v2/blocks/response-block/components/ResponseBody.vue.script.js +12 -10
  91. package/dist/v2/blocks/response-block/components/ResponseBody.vue.script.js.map +1 -1
  92. package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.d.ts +2 -0
  93. package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.d.ts.map +1 -1
  94. package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.js +1 -1
  95. package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.js.map +1 -1
  96. package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.script.js +17 -4
  97. package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.script.js.map +1 -1
  98. package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.d.ts +3 -1
  99. package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.d.ts.map +1 -1
  100. package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.js +1 -1
  101. package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.js.map +1 -1
  102. package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.script.js +21 -9
  103. package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.script.js.map +1 -1
  104. package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.d.ts +2 -2
  105. package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.d.ts.map +1 -1
  106. package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.js +1 -1
  107. package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.js.map +1 -1
  108. package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.script.js +2 -2
  109. package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.script.js.map +1 -1
  110. package/dist/v2/blocks/response-block/components/ResponseLoadingOverlay.vue.d.ts.map +1 -1
  111. package/dist/v2/blocks/response-block/components/ResponseLoadingOverlay.vue.js +1 -1
  112. package/dist/v2/blocks/response-block/components/ResponseLoadingOverlay.vue.js.map +1 -1
  113. package/dist/v2/blocks/response-block/components/ResponseLoadingOverlay.vue.script.js +1 -0
  114. package/dist/v2/blocks/response-block/components/ResponseLoadingOverlay.vue.script.js.map +1 -1
  115. package/dist/v2/blocks/response-block/helpers/media-types.d.ts +1 -1
  116. package/dist/v2/blocks/response-block/helpers/media-types.d.ts.map +1 -1
  117. package/dist/v2/blocks/response-block/helpers/media-types.js +14 -7
  118. package/dist/v2/blocks/response-block/helpers/media-types.js.map +1 -1
  119. package/dist/v2/blocks/response-block/helpers/prettify-jsonc-string.d.ts +6 -0
  120. package/dist/v2/blocks/response-block/helpers/prettify-jsonc-string.d.ts.map +1 -0
  121. package/dist/v2/blocks/response-block/helpers/prettify-jsonc-string.js +22 -0
  122. package/dist/v2/blocks/response-block/helpers/prettify-jsonc-string.js.map +1 -0
  123. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.d.ts +2 -2
  124. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.d.ts.map +1 -1
  125. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.js +1 -1
  126. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.js.map +1 -1
  127. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.script.js +124 -91
  128. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.script.js.map +1 -1
  129. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBarHistory.vue.script.js +1 -1
  130. package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.script.js.map +1 -1
  131. package/dist/v2/blocks/scalar-auth-selector-block/components/DeleteRequestAuthModal.vue.d.ts +2 -2
  132. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.d.ts +30 -20
  133. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.d.ts.map +1 -1
  134. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.js.map +1 -1
  135. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.script.js +43 -21
  136. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.script.js.map +1 -1
  137. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.d.ts +15 -2
  138. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.d.ts.map +1 -1
  139. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.js +1 -3
  140. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.js.map +1 -1
  141. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.script.js +74 -28
  142. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.script.js.map +1 -1
  143. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue.d.ts +30 -20
  144. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue.d.ts.map +1 -1
  145. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue.js.map +1 -1
  146. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue.script.js +190 -72
  147. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue.script.js.map +1 -1
  148. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.d.ts.map +1 -1
  149. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.js.map +1 -1
  150. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.script.js +7 -1
  151. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.script.js.map +1 -1
  152. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.d.ts +26 -10
  153. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.d.ts.map +1 -1
  154. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.js.map +1 -1
  155. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.script.js +25 -3
  156. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.script.js.map +1 -1
  157. package/dist/v2/blocks/scalar-auth-selector-block/helpers/oauth.d.ts.map +1 -1
  158. package/dist/v2/blocks/scalar-auth-selector-block/helpers/oauth.js +12 -3
  159. package/dist/v2/blocks/scalar-auth-selector-block/helpers/oauth.js.map +1 -1
  160. package/dist/v2/blocks/scalar-auth-selector-block/index.d.ts +1 -0
  161. package/dist/v2/blocks/scalar-auth-selector-block/index.d.ts.map +1 -1
  162. package/dist/v2/components/code-input/CodeInput.vue.d.ts +4 -4
  163. package/dist/v2/components/code-input/CodeInput.vue.script.js +1 -1
  164. package/dist/v2/components/code-input/code-variable-widget.js +1 -1
  165. package/dist/v2/components/forms/ConfirmationForm.vue.d.ts +2 -2
  166. package/dist/v2/components/modals/DeleteModal.vue.d.ts +2 -2
  167. package/dist/v2/components/server/ServerDropdown.vue.d.ts +2 -2
  168. package/dist/v2/components/server/ServerDropdown.vue.js.map +1 -1
  169. package/dist/v2/components/server/ServerDropdown.vue.script.js +1 -1
  170. package/dist/v2/components/server/ServerDropdown.vue.script.js.map +1 -1
  171. package/dist/v2/components/sidebar/Sidebar.vue.d.ts.map +1 -1
  172. package/dist/v2/components/sidebar/Sidebar.vue.js.map +1 -1
  173. package/dist/v2/components/sidebar/Sidebar.vue.script.js +4 -3
  174. package/dist/v2/components/sidebar/Sidebar.vue.script.js.map +1 -1
  175. package/dist/v2/constants.js +1 -1
  176. package/dist/v2/features/command-palette/components/CommandActionForm.vue.d.ts +2 -2
  177. package/dist/v2/features/command-palette/components/CommandActionInput.vue.d.ts +2 -2
  178. package/dist/v2/features/command-palette/index.d.ts +0 -2
  179. package/dist/v2/features/command-palette/index.d.ts.map +1 -1
  180. package/dist/v2/features/command-palette/index.js +1 -3
  181. package/dist/v2/features/environments/components/EnvironmentDeleteModal.vue.d.ts +2 -2
  182. package/dist/v2/features/modal/Modal.vue.d.ts +5 -7
  183. package/dist/v2/features/modal/Modal.vue.d.ts.map +1 -1
  184. package/dist/v2/features/modal/Modal.vue.js.map +1 -1
  185. package/dist/v2/features/modal/Modal.vue.script.js +3 -3
  186. package/dist/v2/features/modal/Modal.vue.script.js.map +1 -1
  187. package/dist/v2/features/modal/helpers/create-api-client-modal.d.ts +1 -1
  188. package/dist/v2/features/modal/helpers/create-api-client-modal.d.ts.map +1 -1
  189. package/dist/v2/features/modal/helpers/create-api-client-modal.js +8 -3
  190. package/dist/v2/features/modal/helpers/create-api-client-modal.js.map +1 -1
  191. package/dist/v2/features/modal/helpers/resolve-route-parameters.d.ts +5 -1
  192. package/dist/v2/features/modal/helpers/resolve-route-parameters.d.ts.map +1 -1
  193. package/dist/v2/features/modal/helpers/resolve-route-parameters.js +15 -4
  194. package/dist/v2/features/modal/helpers/resolve-route-parameters.js.map +1 -1
  195. package/dist/v2/features/modal/hooks/use-modal-sidebar.d.ts.map +1 -1
  196. package/dist/v2/features/modal/hooks/use-modal-sidebar.js +5 -1
  197. package/dist/v2/features/modal/hooks/use-modal-sidebar.js.map +1 -1
  198. package/dist/v2/features/modal/index.js +1 -1
  199. package/dist/v2/features/modal/modal-events.d.ts.map +1 -1
  200. package/dist/v2/features/modal/modal-events.js +10 -6
  201. package/dist/v2/features/modal/modal-events.js.map +1 -1
  202. package/dist/v2/features/operation/Operation.vue.d.ts +35 -3
  203. package/dist/v2/features/operation/Operation.vue.d.ts.map +1 -1
  204. package/dist/v2/features/operation/Operation.vue.js.map +1 -1
  205. package/dist/v2/features/operation/Operation.vue.script.js +1 -9
  206. package/dist/v2/features/operation/Operation.vue.script.js.map +1 -1
  207. package/dist/v2/helpers/handle-hotkeys.d.ts.map +1 -1
  208. package/dist/v2/helpers/handle-hotkeys.js +4 -0
  209. package/dist/v2/helpers/handle-hotkeys.js.map +1 -1
  210. package/dist/v2/helpers/test-utils.d.ts +2 -0
  211. package/dist/v2/helpers/test-utils.d.ts.map +1 -1
  212. package/dist/v2/helpers/test-utils.js +18 -0
  213. package/dist/v2/helpers/test-utils.js.map +1 -0
  214. package/dist/v2/hooks/index.d.ts +2 -0
  215. package/dist/v2/hooks/index.d.ts.map +1 -0
  216. package/dist/v2/hooks/index.js +2 -0
  217. package/dist/v2/types/options.d.ts +1 -1
  218. package/dist/v2/types/options.d.ts.map +1 -1
  219. package/dist/v2/workspace-events.d.ts.map +1 -1
  220. package/dist/v2/workspace-events.js +2 -0
  221. package/dist/v2/workspace-events.js.map +1 -1
  222. package/dist/vue-styles.css +108 -658
  223. package/package.json +67 -96
  224. package/dist/components/IconSelector.vue.d.ts +0 -27
  225. package/dist/components/IconSelector.vue.d.ts.map +0 -1
  226. package/dist/components/IconSelector.vue.js +0 -7
  227. package/dist/components/IconSelector.vue.js.map +0 -1
  228. package/dist/components/IconSelector.vue.script.js +0 -65
  229. package/dist/components/IconSelector.vue.script.js.map +0 -1
  230. package/dist/components/ImportCollection/IntegrationLogo.vue.d.ts +0 -7
  231. package/dist/components/ImportCollection/IntegrationLogo.vue.d.ts.map +0 -1
  232. package/dist/components/ImportCollection/IntegrationLogo.vue.js +0 -7
  233. package/dist/components/ImportCollection/IntegrationLogo.vue.js.map +0 -1
  234. package/dist/components/ImportCollection/IntegrationLogo.vue.script.js +0 -50
  235. package/dist/components/ImportCollection/IntegrationLogo.vue.script.js.map +0 -1
  236. package/dist/components/ScalarAsciiArt.vue.d.ts.map +0 -1
  237. package/dist/components/ScalarAsciiArt.vue.js.map +0 -1
  238. package/dist/components/ScalarAsciiArt.vue.script.js.map +0 -1
  239. package/dist/index.d.ts +0 -2
  240. package/dist/index.d.ts.map +0 -1
  241. package/dist/monacoeditorwork/editor.worker.bundle.js +0 -14319
  242. package/dist/monacoeditorwork/json.worker.bundle.js +0 -22098
  243. package/dist/monacoeditorwork/yaml.worker.bundle.js +0 -38414
  244. package/dist/v2/blocks/request-block/helpers/get-default-headers.d.ts +0 -42
  245. package/dist/v2/blocks/request-block/helpers/get-default-headers.d.ts.map +0 -1
  246. package/dist/v2/blocks/request-block/helpers/get-default-headers.js +0 -61
  247. package/dist/v2/blocks/request-block/helpers/get-default-headers.js.map +0 -1
  248. package/dist/v2/features/app/App.vue.d.ts +0 -75
  249. package/dist/v2/features/app/App.vue.d.ts.map +0 -1
  250. package/dist/v2/features/app/App.vue.js +0 -8
  251. package/dist/v2/features/app/App.vue.js.map +0 -1
  252. package/dist/v2/features/app/App.vue.script.js +0 -284
  253. package/dist/v2/features/app/App.vue.script.js.map +0 -1
  254. package/dist/v2/features/app/app-events.d.ts +0 -20
  255. package/dist/v2/features/app/app-events.d.ts.map +0 -1
  256. package/dist/v2/features/app/app-events.js +0 -254
  257. package/dist/v2/features/app/app-events.js.map +0 -1
  258. package/dist/v2/features/app/app-state.d.ts +0 -156
  259. package/dist/v2/features/app/app-state.d.ts.map +0 -1
  260. package/dist/v2/features/app/app-state.js +0 -717
  261. package/dist/v2/features/app/app-state.js.map +0 -1
  262. package/dist/v2/features/app/components/AppHeader.vue.d.ts +0 -43
  263. package/dist/v2/features/app/components/AppHeader.vue.d.ts.map +0 -1
  264. package/dist/v2/features/app/components/AppHeader.vue.js +0 -7
  265. package/dist/v2/features/app/components/AppHeader.vue.js.map +0 -1
  266. package/dist/v2/features/app/components/AppHeader.vue.script.js +0 -53
  267. package/dist/v2/features/app/components/AppHeader.vue.script.js.map +0 -1
  268. package/dist/v2/features/app/components/AppHeaderActions.vue.d.ts +0 -32
  269. package/dist/v2/features/app/components/AppHeaderActions.vue.d.ts.map +0 -1
  270. package/dist/v2/features/app/components/AppHeaderActions.vue.js +0 -7
  271. package/dist/v2/features/app/components/AppHeaderActions.vue.js.map +0 -1
  272. package/dist/v2/features/app/components/AppHeaderActions.vue.script.js +0 -172
  273. package/dist/v2/features/app/components/AppHeaderActions.vue.script.js.map +0 -1
  274. package/dist/v2/features/app/components/AppSidebar.vue.d.ts +0 -37
  275. package/dist/v2/features/app/components/AppSidebar.vue.d.ts.map +0 -1
  276. package/dist/v2/features/app/components/AppSidebar.vue.js +0 -9
  277. package/dist/v2/features/app/components/AppSidebar.vue.js.map +0 -1
  278. package/dist/v2/features/app/components/AppSidebar.vue.script.js +0 -466
  279. package/dist/v2/features/app/components/AppSidebar.vue.script.js.map +0 -1
  280. package/dist/v2/features/app/components/CreateVersionModal.vue.d.ts +0 -28
  281. package/dist/v2/features/app/components/CreateVersionModal.vue.d.ts.map +0 -1
  282. package/dist/v2/features/app/components/CreateVersionModal.vue.js +0 -7
  283. package/dist/v2/features/app/components/CreateVersionModal.vue.js.map +0 -1
  284. package/dist/v2/features/app/components/CreateVersionModal.vue.script.js +0 -84
  285. package/dist/v2/features/app/components/CreateVersionModal.vue.script.js.map +0 -1
  286. package/dist/v2/features/app/components/CreateWorkspaceModal.vue.d.ts +0 -16
  287. package/dist/v2/features/app/components/CreateWorkspaceModal.vue.d.ts.map +0 -1
  288. package/dist/v2/features/app/components/CreateWorkspaceModal.vue.js +0 -7
  289. package/dist/v2/features/app/components/CreateWorkspaceModal.vue.js.map +0 -1
  290. package/dist/v2/features/app/components/CreateWorkspaceModal.vue.script.js +0 -58
  291. package/dist/v2/features/app/components/CreateWorkspaceModal.vue.script.js.map +0 -1
  292. package/dist/v2/features/app/components/DesktopTab.vue.d.ts +0 -27
  293. package/dist/v2/features/app/components/DesktopTab.vue.d.ts.map +0 -1
  294. package/dist/v2/features/app/components/DesktopTab.vue.js +0 -9
  295. package/dist/v2/features/app/components/DesktopTab.vue.js.map +0 -1
  296. package/dist/v2/features/app/components/DesktopTab.vue.script.js +0 -121
  297. package/dist/v2/features/app/components/DesktopTab.vue.script.js.map +0 -1
  298. package/dist/v2/features/app/components/DesktopTabs.vue.d.ts +0 -14
  299. package/dist/v2/features/app/components/DesktopTabs.vue.d.ts.map +0 -1
  300. package/dist/v2/features/app/components/DesktopTabs.vue.js +0 -7
  301. package/dist/v2/features/app/components/DesktopTabs.vue.js.map +0 -1
  302. package/dist/v2/features/app/components/DesktopTabs.vue.script.js +0 -75
  303. package/dist/v2/features/app/components/DesktopTabs.vue.script.js.map +0 -1
  304. package/dist/v2/features/app/components/DocumentBreadcrumb.vue.d.ts +0 -25
  305. package/dist/v2/features/app/components/DocumentBreadcrumb.vue.d.ts.map +0 -1
  306. package/dist/v2/features/app/components/DocumentBreadcrumb.vue.js +0 -9
  307. package/dist/v2/features/app/components/DocumentBreadcrumb.vue.js.map +0 -1
  308. package/dist/v2/features/app/components/DocumentBreadcrumb.vue.script.js +0 -345
  309. package/dist/v2/features/app/components/DocumentBreadcrumb.vue.script.js.map +0 -1
  310. package/dist/v2/features/app/components/DocumentSyncIndicator.vue.d.ts +0 -16
  311. package/dist/v2/features/app/components/DocumentSyncIndicator.vue.d.ts.map +0 -1
  312. package/dist/v2/features/app/components/PublishDocumentModal.vue.d.ts +0 -77
  313. package/dist/v2/features/app/components/PublishDocumentModal.vue.d.ts.map +0 -1
  314. package/dist/v2/features/app/components/PublishDocumentModal.vue.js +0 -7
  315. package/dist/v2/features/app/components/PublishDocumentModal.vue.js.map +0 -1
  316. package/dist/v2/features/app/components/PublishDocumentModal.vue.script.js +0 -209
  317. package/dist/v2/features/app/components/PublishDocumentModal.vue.script.js.map +0 -1
  318. package/dist/v2/features/app/components/SidebarDocument.vue.d.ts +0 -45
  319. package/dist/v2/features/app/components/SidebarDocument.vue.d.ts.map +0 -1
  320. package/dist/v2/features/app/components/SidebarDocument.vue.js +0 -7
  321. package/dist/v2/features/app/components/SidebarDocument.vue.js.map +0 -1
  322. package/dist/v2/features/app/components/SidebarDocument.vue.script.js +0 -137
  323. package/dist/v2/features/app/components/SidebarDocument.vue.script.js.map +0 -1
  324. package/dist/v2/features/app/components/SidebarItemMenu.vue.d.ts +0 -26
  325. package/dist/v2/features/app/components/SidebarItemMenu.vue.d.ts.map +0 -1
  326. package/dist/v2/features/app/components/SidebarItemMenu.vue.js +0 -7
  327. package/dist/v2/features/app/components/SidebarItemMenu.vue.js.map +0 -1
  328. package/dist/v2/features/app/components/SidebarItemMenu.vue.script.js +0 -175
  329. package/dist/v2/features/app/components/SidebarItemMenu.vue.script.js.map +0 -1
  330. package/dist/v2/features/app/components/SplashScreen.vue.d.ts +0 -4
  331. package/dist/v2/features/app/components/SplashScreen.vue.d.ts.map +0 -1
  332. package/dist/v2/features/app/components/SplashScreen.vue.js +0 -9
  333. package/dist/v2/features/app/components/SplashScreen.vue.js.map +0 -1
  334. package/dist/v2/features/app/components/SplashScreen.vue.script.js +0 -20
  335. package/dist/v2/features/app/components/SplashScreen.vue.script.js.map +0 -1
  336. package/dist/v2/features/app/components/SyncConflictResolutionEditor.vue.d.ts +0 -18
  337. package/dist/v2/features/app/components/SyncConflictResolutionEditor.vue.d.ts.map +0 -1
  338. package/dist/v2/features/app/components/SyncConflictResolutionEditor.vue.js +0 -9
  339. package/dist/v2/features/app/components/SyncConflictResolutionEditor.vue.js.map +0 -1
  340. package/dist/v2/features/app/components/SyncConflictResolutionEditor.vue.script.js +0 -136
  341. package/dist/v2/features/app/components/SyncConflictResolutionEditor.vue.script.js.map +0 -1
  342. package/dist/v2/features/app/components/index.d.ts +0 -2
  343. package/dist/v2/features/app/components/index.d.ts.map +0 -1
  344. package/dist/v2/features/app/components/index.js +0 -2
  345. package/dist/v2/features/app/helpers/check-version-conflict.d.ts +0 -54
  346. package/dist/v2/features/app/helpers/check-version-conflict.d.ts.map +0 -1
  347. package/dist/v2/features/app/helpers/check-version-conflict.js +0 -82
  348. package/dist/v2/features/app/helpers/check-version-conflict.js.map +0 -1
  349. package/dist/v2/features/app/helpers/compute-version-status.d.ts +0 -45
  350. package/dist/v2/features/app/helpers/compute-version-status.d.ts.map +0 -1
  351. package/dist/v2/features/app/helpers/compute-version-status.js +0 -18
  352. package/dist/v2/features/app/helpers/compute-version-status.js.map +0 -1
  353. package/dist/v2/features/app/helpers/create-api-client-app.d.ts +0 -59
  354. package/dist/v2/features/app/helpers/create-api-client-app.d.ts.map +0 -1
  355. package/dist/v2/features/app/helpers/create-api-client-app.js +0 -55
  356. package/dist/v2/features/app/helpers/create-api-client-app.js.map +0 -1
  357. package/dist/v2/features/app/helpers/create-draft-registry-document.d.ts +0 -39
  358. package/dist/v2/features/app/helpers/create-draft-registry-document.d.ts.map +0 -1
  359. package/dist/v2/features/app/helpers/create-draft-registry-document.js +0 -64
  360. package/dist/v2/features/app/helpers/create-draft-registry-document.js.map +0 -1
  361. package/dist/v2/features/app/helpers/create-temp-operation.d.ts +0 -14
  362. package/dist/v2/features/app/helpers/create-temp-operation.d.ts.map +0 -1
  363. package/dist/v2/features/app/helpers/create-temp-operation.js +0 -52
  364. package/dist/v2/features/app/helpers/create-temp-operation.js.map +0 -1
  365. package/dist/v2/features/app/helpers/detect-document-conflicts.d.ts +0 -26
  366. package/dist/v2/features/app/helpers/detect-document-conflicts.d.ts.map +0 -1
  367. package/dist/v2/features/app/helpers/detect-document-conflicts.js +0 -27
  368. package/dist/v2/features/app/helpers/detect-document-conflicts.js.map +0 -1
  369. package/dist/v2/features/app/helpers/filter-workspaces.d.ts +0 -49
  370. package/dist/v2/features/app/helpers/filter-workspaces.d.ts.map +0 -1
  371. package/dist/v2/features/app/helpers/filter-workspaces.js +0 -55
  372. package/dist/v2/features/app/helpers/filter-workspaces.js.map +0 -1
  373. package/dist/v2/features/app/helpers/get-route-param.d.ts +0 -7
  374. package/dist/v2/features/app/helpers/get-route-param.d.ts.map +0 -1
  375. package/dist/v2/features/app/helpers/get-route-param.js +0 -12
  376. package/dist/v2/features/app/helpers/get-route-param.js.map +0 -1
  377. package/dist/v2/features/app/helpers/group-workspaces.d.ts +0 -44
  378. package/dist/v2/features/app/helpers/group-workspaces.d.ts.map +0 -1
  379. package/dist/v2/features/app/helpers/group-workspaces.js +0 -53
  380. package/dist/v2/features/app/helpers/group-workspaces.js.map +0 -1
  381. package/dist/v2/features/app/helpers/load-registry-document.d.ts +0 -24
  382. package/dist/v2/features/app/helpers/load-registry-document.d.ts.map +0 -1
  383. package/dist/v2/features/app/helpers/load-registry-document.js +0 -47
  384. package/dist/v2/features/app/helpers/load-registry-document.js.map +0 -1
  385. package/dist/v2/features/app/helpers/registry-error-messages.d.ts +0 -23
  386. package/dist/v2/features/app/helpers/registry-error-messages.d.ts.map +0 -1
  387. package/dist/v2/features/app/helpers/registry-error-messages.js +0 -63
  388. package/dist/v2/features/app/helpers/registry-error-messages.js.map +0 -1
  389. package/dist/v2/features/app/helpers/routes.d.ts +0 -184
  390. package/dist/v2/features/app/helpers/routes.d.ts.map +0 -1
  391. package/dist/v2/features/app/helpers/routes.js +0 -153
  392. package/dist/v2/features/app/helpers/routes.js.map +0 -1
  393. package/dist/v2/features/app/helpers/version-status-presentation.d.ts +0 -24
  394. package/dist/v2/features/app/helpers/version-status-presentation.d.ts.map +0 -1
  395. package/dist/v2/features/app/helpers/version-status-presentation.js +0 -43
  396. package/dist/v2/features/app/helpers/version-status-presentation.js.map +0 -1
  397. package/dist/v2/features/app/hooks/use-active-document-version.d.ts +0 -42
  398. package/dist/v2/features/app/hooks/use-active-document-version.d.ts.map +0 -1
  399. package/dist/v2/features/app/hooks/use-active-document-version.js +0 -60
  400. package/dist/v2/features/app/hooks/use-active-document-version.js.map +0 -1
  401. package/dist/v2/features/app/hooks/use-document-filter.d.ts +0 -38
  402. package/dist/v2/features/app/hooks/use-document-filter.d.ts.map +0 -1
  403. package/dist/v2/features/app/hooks/use-document-filter.js +0 -63
  404. package/dist/v2/features/app/hooks/use-document-filter.js.map +0 -1
  405. package/dist/v2/features/app/hooks/use-document-sync.d.ts +0 -126
  406. package/dist/v2/features/app/hooks/use-document-sync.d.ts.map +0 -1
  407. package/dist/v2/features/app/hooks/use-document-sync.js +0 -448
  408. package/dist/v2/features/app/hooks/use-document-sync.js.map +0 -1
  409. package/dist/v2/features/app/hooks/use-document-watcher.d.ts +0 -30
  410. package/dist/v2/features/app/hooks/use-document-watcher.d.ts.map +0 -1
  411. package/dist/v2/features/app/hooks/use-document-watcher.js +0 -168
  412. package/dist/v2/features/app/hooks/use-document-watcher.js.map +0 -1
  413. package/dist/v2/features/app/hooks/use-network-status.d.ts +0 -29
  414. package/dist/v2/features/app/hooks/use-network-status.d.ts.map +0 -1
  415. package/dist/v2/features/app/hooks/use-network-status.js +0 -58
  416. package/dist/v2/features/app/hooks/use-network-status.js.map +0 -1
  417. package/dist/v2/features/app/hooks/use-sidebar-context-menu.d.ts +0 -17258
  418. package/dist/v2/features/app/hooks/use-sidebar-context-menu.d.ts.map +0 -1
  419. package/dist/v2/features/app/hooks/use-sidebar-context-menu.js +0 -107
  420. package/dist/v2/features/app/hooks/use-sidebar-context-menu.js.map +0 -1
  421. package/dist/v2/features/app/hooks/use-sidebar-documents.d.ts +0 -119
  422. package/dist/v2/features/app/hooks/use-sidebar-documents.d.ts.map +0 -1
  423. package/dist/v2/features/app/hooks/use-sidebar-documents.js +0 -219
  424. package/dist/v2/features/app/hooks/use-sidebar-documents.js.map +0 -1
  425. package/dist/v2/features/app/hooks/use-theme.d.ts +0 -56
  426. package/dist/v2/features/app/hooks/use-theme.d.ts.map +0 -1
  427. package/dist/v2/features/app/hooks/use-theme.js +0 -94
  428. package/dist/v2/features/app/hooks/use-theme.js.map +0 -1
  429. package/dist/v2/features/app/hooks/use-version-conflict-check.d.ts +0 -35
  430. package/dist/v2/features/app/hooks/use-version-conflict-check.d.ts.map +0 -1
  431. package/dist/v2/features/app/hooks/use-version-conflict-check.js +0 -62
  432. package/dist/v2/features/app/hooks/use-version-conflict-check.js.map +0 -1
  433. package/dist/v2/features/app/index.d.ts +0 -10
  434. package/dist/v2/features/app/index.d.ts.map +0 -1
  435. package/dist/v2/features/app/index.js +0 -8
  436. package/dist/v2/features/collection/DocumentCollection.vue.d.ts +0 -13
  437. package/dist/v2/features/collection/DocumentCollection.vue.d.ts.map +0 -1
  438. package/dist/v2/features/collection/DocumentCollection.vue.js +0 -8
  439. package/dist/v2/features/collection/DocumentCollection.vue.js.map +0 -1
  440. package/dist/v2/features/collection/DocumentCollection.vue.script.js +0 -112
  441. package/dist/v2/features/collection/DocumentCollection.vue.script.js.map +0 -1
  442. package/dist/v2/features/collection/OperationCollection.vue.d.ts +0 -6
  443. package/dist/v2/features/collection/OperationCollection.vue.d.ts.map +0 -1
  444. package/dist/v2/features/collection/OperationCollection.vue.js +0 -7
  445. package/dist/v2/features/collection/OperationCollection.vue.js.map +0 -1
  446. package/dist/v2/features/collection/OperationCollection.vue.script.js +0 -95
  447. package/dist/v2/features/collection/OperationCollection.vue.script.js.map +0 -1
  448. package/dist/v2/features/collection/WorkspaceCollection.vue.d.ts +0 -6
  449. package/dist/v2/features/collection/WorkspaceCollection.vue.d.ts.map +0 -1
  450. package/dist/v2/features/collection/WorkspaceCollection.vue.js +0 -7
  451. package/dist/v2/features/collection/WorkspaceCollection.vue.js.map +0 -1
  452. package/dist/v2/features/collection/WorkspaceCollection.vue.script.js +0 -74
  453. package/dist/v2/features/collection/WorkspaceCollection.vue.script.js.map +0 -1
  454. package/dist/v2/features/collection/components/Authentication.vue.d.ts +0 -16
  455. package/dist/v2/features/collection/components/Authentication.vue.d.ts.map +0 -1
  456. package/dist/v2/features/collection/components/Authentication.vue.js +0 -9
  457. package/dist/v2/features/collection/components/Authentication.vue.js.map +0 -1
  458. package/dist/v2/features/collection/components/Authentication.vue.script.js +0 -174
  459. package/dist/v2/features/collection/components/Authentication.vue.script.js.map +0 -1
  460. package/dist/v2/features/collection/components/Cookies.vue.d.ts +0 -21
  461. package/dist/v2/features/collection/components/Cookies.vue.d.ts.map +0 -1
  462. package/dist/v2/features/collection/components/Cookies.vue.js +0 -7
  463. package/dist/v2/features/collection/components/Cookies.vue.js.map +0 -1
  464. package/dist/v2/features/collection/components/Cookies.vue.script.js +0 -58
  465. package/dist/v2/features/collection/components/Cookies.vue.script.js.map +0 -1
  466. package/dist/v2/features/collection/components/DocumentScriptsEditors.vue.d.ts +0 -12
  467. package/dist/v2/features/collection/components/DocumentScriptsEditors.vue.d.ts.map +0 -1
  468. package/dist/v2/features/collection/components/DocumentScriptsEditors.vue.js +0 -9
  469. package/dist/v2/features/collection/components/DocumentScriptsEditors.vue.js.map +0 -1
  470. package/dist/v2/features/collection/components/DocumentScriptsEditors.vue.script.js +0 -174
  471. package/dist/v2/features/collection/components/DocumentScriptsEditors.vue.script.js.map +0 -1
  472. package/dist/v2/features/collection/components/Editor/Editor.vue.d.ts +0 -16
  473. package/dist/v2/features/collection/components/Editor/Editor.vue.d.ts.map +0 -1
  474. package/dist/v2/features/collection/components/Editor/Editor.vue.js +0 -9
  475. package/dist/v2/features/collection/components/Editor/Editor.vue.js.map +0 -1
  476. package/dist/v2/features/collection/components/Editor/Editor.vue.script.js +0 -361
  477. package/dist/v2/features/collection/components/Editor/Editor.vue.script.js.map +0 -1
  478. package/dist/v2/features/collection/components/Editor/components/EditorDiagnosticsPanel.vue.d.ts +0 -19
  479. package/dist/v2/features/collection/components/Editor/components/EditorDiagnosticsPanel.vue.d.ts.map +0 -1
  480. package/dist/v2/features/collection/components/Editor/components/EditorDiagnosticsPanel.vue.js +0 -7
  481. package/dist/v2/features/collection/components/Editor/components/EditorDiagnosticsPanel.vue.js.map +0 -1
  482. package/dist/v2/features/collection/components/Editor/components/EditorDiagnosticsPanel.vue.script.js +0 -69
  483. package/dist/v2/features/collection/components/Editor/components/EditorDiagnosticsPanel.vue.script.js.map +0 -1
  484. package/dist/v2/features/collection/components/Editor/components/EditorSavePanel.vue.d.ts +0 -16
  485. package/dist/v2/features/collection/components/Editor/components/EditorSavePanel.vue.d.ts.map +0 -1
  486. package/dist/v2/features/collection/components/Editor/components/EditorSavePanel.vue.js +0 -7
  487. package/dist/v2/features/collection/components/Editor/components/EditorSavePanel.vue.js.map +0 -1
  488. package/dist/v2/features/collection/components/Editor/components/EditorSavePanel.vue.script.js +0 -91
  489. package/dist/v2/features/collection/components/Editor/components/EditorSavePanel.vue.script.js.map +0 -1
  490. package/dist/v2/features/collection/components/Editor/helpers/get-diagnostic-counts.d.ts +0 -12
  491. package/dist/v2/features/collection/components/Editor/helpers/get-diagnostic-counts.d.ts.map +0 -1
  492. package/dist/v2/features/collection/components/Editor/helpers/get-diagnostic-counts.js +0 -22
  493. package/dist/v2/features/collection/components/Editor/helpers/get-diagnostic-counts.js.map +0 -1
  494. package/dist/v2/features/collection/components/Editor/helpers/get-operation-context.d.ts +0 -11
  495. package/dist/v2/features/collection/components/Editor/helpers/get-operation-context.d.ts.map +0 -1
  496. package/dist/v2/features/collection/components/Editor/helpers/get-operation-context.js +0 -17
  497. package/dist/v2/features/collection/components/Editor/helpers/get-operation-context.js.map +0 -1
  498. package/dist/v2/features/collection/components/Editor/helpers/get-visible-diagnostics.d.ts +0 -7
  499. package/dist/v2/features/collection/components/Editor/helpers/get-visible-diagnostics.d.ts.map +0 -1
  500. package/dist/v2/features/collection/components/Editor/helpers/get-visible-diagnostics.js +0 -17
  501. package/dist/v2/features/collection/components/Editor/helpers/get-visible-diagnostics.js.map +0 -1
  502. package/dist/v2/features/collection/components/Editor/helpers/parse-editor-object.d.ts +0 -10
  503. package/dist/v2/features/collection/components/Editor/helpers/parse-editor-object.d.ts.map +0 -1
  504. package/dist/v2/features/collection/components/Editor/helpers/parse-editor-object.js +0 -34
  505. package/dist/v2/features/collection/components/Editor/helpers/parse-editor-object.js.map +0 -1
  506. package/dist/v2/features/collection/components/Editor/helpers/stringify-document.d.ts +0 -10
  507. package/dist/v2/features/collection/components/Editor/helpers/stringify-document.d.ts.map +0 -1
  508. package/dist/v2/features/collection/components/Editor/helpers/stringify-document.js +0 -18
  509. package/dist/v2/features/collection/components/Editor/helpers/stringify-document.js.map +0 -1
  510. package/dist/v2/features/collection/components/Editor/hooks/use-editor-state.d.ts +0 -15
  511. package/dist/v2/features/collection/components/Editor/hooks/use-editor-state.d.ts.map +0 -1
  512. package/dist/v2/features/collection/components/Editor/hooks/use-editor-state.js +0 -36
  513. package/dist/v2/features/collection/components/Editor/hooks/use-editor-state.js.map +0 -1
  514. package/dist/v2/features/collection/components/Editor/index.d.ts +0 -2
  515. package/dist/v2/features/collection/components/Editor/index.d.ts.map +0 -1
  516. package/dist/v2/features/collection/components/Editor/index.js +0 -2
  517. package/dist/v2/features/collection/components/Environment.vue.d.ts +0 -21
  518. package/dist/v2/features/collection/components/Environment.vue.d.ts.map +0 -1
  519. package/dist/v2/features/collection/components/Environment.vue.js +0 -7
  520. package/dist/v2/features/collection/components/Environment.vue.js.map +0 -1
  521. package/dist/v2/features/collection/components/Environment.vue.script.js +0 -61
  522. package/dist/v2/features/collection/components/Environment.vue.script.js.map +0 -1
  523. package/dist/v2/features/collection/components/Form.vue.d.ts +0 -29
  524. package/dist/v2/features/collection/components/Form.vue.d.ts.map +0 -1
  525. package/dist/v2/features/collection/components/Form.vue.js +0 -7
  526. package/dist/v2/features/collection/components/Form.vue.js.map +0 -1
  527. package/dist/v2/features/collection/components/Form.vue.script.js +0 -78
  528. package/dist/v2/features/collection/components/Form.vue.script.js.map +0 -1
  529. package/dist/v2/features/collection/components/GetStarted.vue.d.ts +0 -21
  530. package/dist/v2/features/collection/components/GetStarted.vue.d.ts.map +0 -1
  531. package/dist/v2/features/collection/components/GetStarted.vue.js +0 -7
  532. package/dist/v2/features/collection/components/GetStarted.vue.js.map +0 -1
  533. package/dist/v2/features/collection/components/GetStarted.vue.script.js +0 -144
  534. package/dist/v2/features/collection/components/GetStarted.vue.script.js.map +0 -1
  535. package/dist/v2/features/collection/components/LabelInput.vue.d.ts +0 -18
  536. package/dist/v2/features/collection/components/LabelInput.vue.d.ts.map +0 -1
  537. package/dist/v2/features/collection/components/LabelInput.vue.js +0 -9
  538. package/dist/v2/features/collection/components/LabelInput.vue.js.map +0 -1
  539. package/dist/v2/features/collection/components/LabelInput.vue.script.js +0 -38
  540. package/dist/v2/features/collection/components/LabelInput.vue.script.js.map +0 -1
  541. package/dist/v2/features/collection/components/Overview.vue.d.ts +0 -16
  542. package/dist/v2/features/collection/components/Overview.vue.d.ts.map +0 -1
  543. package/dist/v2/features/collection/components/Overview.vue.js +0 -9
  544. package/dist/v2/features/collection/components/Overview.vue.js.map +0 -1
  545. package/dist/v2/features/collection/components/Overview.vue.script.js +0 -204
  546. package/dist/v2/features/collection/components/Overview.vue.script.js.map +0 -1
  547. package/dist/v2/features/collection/components/Runner/components/Runner.vue.d.ts +0 -16
  548. package/dist/v2/features/collection/components/Runner/components/Runner.vue.d.ts.map +0 -1
  549. package/dist/v2/features/collection/components/Runner/components/Runner.vue.js +0 -7
  550. package/dist/v2/features/collection/components/Runner/components/Runner.vue.js.map +0 -1
  551. package/dist/v2/features/collection/components/Runner/components/Runner.vue.script.js +0 -223
  552. package/dist/v2/features/collection/components/Runner/components/Runner.vue.script.js.map +0 -1
  553. package/dist/v2/features/collection/components/Runner/components/RunnerCard.vue.d.ts +0 -20
  554. package/dist/v2/features/collection/components/Runner/components/RunnerCard.vue.d.ts.map +0 -1
  555. package/dist/v2/features/collection/components/Runner/components/RunnerCard.vue.js +0 -7
  556. package/dist/v2/features/collection/components/Runner/components/RunnerCard.vue.js.map +0 -1
  557. package/dist/v2/features/collection/components/Runner/components/RunnerCard.vue.script.js +0 -45
  558. package/dist/v2/features/collection/components/Runner/components/RunnerCard.vue.script.js.map +0 -1
  559. package/dist/v2/features/collection/components/Runner/components/RunnerOrderItem.vue.d.ts +0 -19
  560. package/dist/v2/features/collection/components/Runner/components/RunnerOrderItem.vue.d.ts.map +0 -1
  561. package/dist/v2/features/collection/components/Runner/components/RunnerOrderItem.vue.js +0 -7
  562. package/dist/v2/features/collection/components/Runner/components/RunnerOrderItem.vue.js.map +0 -1
  563. package/dist/v2/features/collection/components/Runner/components/RunnerOrderItem.vue.script.js +0 -73
  564. package/dist/v2/features/collection/components/Runner/components/RunnerOrderItem.vue.script.js.map +0 -1
  565. package/dist/v2/features/collection/components/Runner/components/RunnerResultRow.vue.d.ts +0 -16
  566. package/dist/v2/features/collection/components/Runner/components/RunnerResultRow.vue.d.ts.map +0 -1
  567. package/dist/v2/features/collection/components/Runner/components/RunnerResultRow.vue.js +0 -7
  568. package/dist/v2/features/collection/components/Runner/components/RunnerResultRow.vue.js.map +0 -1
  569. package/dist/v2/features/collection/components/Runner/components/RunnerResultRow.vue.script.js +0 -124
  570. package/dist/v2/features/collection/components/Runner/components/RunnerResultRow.vue.script.js.map +0 -1
  571. package/dist/v2/features/collection/components/Runner/components/RunnerResults.vue.d.ts +0 -17
  572. package/dist/v2/features/collection/components/Runner/components/RunnerResults.vue.d.ts.map +0 -1
  573. package/dist/v2/features/collection/components/Runner/components/RunnerResults.vue.js +0 -7
  574. package/dist/v2/features/collection/components/Runner/components/RunnerResults.vue.js.map +0 -1
  575. package/dist/v2/features/collection/components/Runner/components/RunnerResults.vue.script.js +0 -126
  576. package/dist/v2/features/collection/components/Runner/components/RunnerResults.vue.script.js.map +0 -1
  577. package/dist/v2/features/collection/components/Runner/components/RunnerTree.vue.d.ts +0 -18
  578. package/dist/v2/features/collection/components/Runner/components/RunnerTree.vue.d.ts.map +0 -1
  579. package/dist/v2/features/collection/components/Runner/components/RunnerTree.vue.js +0 -7
  580. package/dist/v2/features/collection/components/Runner/components/RunnerTree.vue.js.map +0 -1
  581. package/dist/v2/features/collection/components/Runner/components/RunnerTree.vue.script.js +0 -180
  582. package/dist/v2/features/collection/components/Runner/components/RunnerTree.vue.script.js.map +0 -1
  583. package/dist/v2/features/collection/components/Runner/components/RunnerTreeExample.vue.d.ts +0 -14
  584. package/dist/v2/features/collection/components/Runner/components/RunnerTreeExample.vue.d.ts.map +0 -1
  585. package/dist/v2/features/collection/components/Runner/components/RunnerTreeExample.vue.js +0 -7
  586. package/dist/v2/features/collection/components/Runner/components/RunnerTreeExample.vue.js.map +0 -1
  587. package/dist/v2/features/collection/components/Runner/components/RunnerTreeExample.vue.script.js +0 -44
  588. package/dist/v2/features/collection/components/Runner/components/RunnerTreeExample.vue.script.js.map +0 -1
  589. package/dist/v2/features/collection/components/Runner/components/RunnerTreeGroup.vue.d.ts +0 -19
  590. package/dist/v2/features/collection/components/Runner/components/RunnerTreeGroup.vue.d.ts.map +0 -1
  591. package/dist/v2/features/collection/components/Runner/components/RunnerTreeGroup.vue.js +0 -7
  592. package/dist/v2/features/collection/components/Runner/components/RunnerTreeGroup.vue.js.map +0 -1
  593. package/dist/v2/features/collection/components/Runner/components/RunnerTreeGroup.vue.script.js +0 -53
  594. package/dist/v2/features/collection/components/Runner/components/RunnerTreeGroup.vue.script.js.map +0 -1
  595. package/dist/v2/features/collection/components/Runner/components/RunnerTreeOperation.vue.d.ts +0 -23
  596. package/dist/v2/features/collection/components/Runner/components/RunnerTreeOperation.vue.d.ts.map +0 -1
  597. package/dist/v2/features/collection/components/Runner/components/RunnerTreeOperation.vue.js +0 -7
  598. package/dist/v2/features/collection/components/Runner/components/RunnerTreeOperation.vue.js.map +0 -1
  599. package/dist/v2/features/collection/components/Runner/components/RunnerTreeOperation.vue.script.js +0 -75
  600. package/dist/v2/features/collection/components/Runner/components/RunnerTreeOperation.vue.script.js.map +0 -1
  601. package/dist/v2/features/collection/components/Runner/hooks/index.d.ts +0 -3
  602. package/dist/v2/features/collection/components/Runner/hooks/index.d.ts.map +0 -1
  603. package/dist/v2/features/collection/components/Runner/hooks/use-runner-execution.d.ts +0 -75
  604. package/dist/v2/features/collection/components/Runner/hooks/use-runner-execution.d.ts.map +0 -1
  605. package/dist/v2/features/collection/components/Runner/hooks/use-runner-execution.js +0 -191
  606. package/dist/v2/features/collection/components/Runner/hooks/use-runner-execution.js.map +0 -1
  607. package/dist/v2/features/collection/components/Runner/hooks/use-runner-selection.d.ts +0 -46
  608. package/dist/v2/features/collection/components/Runner/hooks/use-runner-selection.d.ts.map +0 -1
  609. package/dist/v2/features/collection/components/Runner/hooks/use-runner-selection.js +0 -114
  610. package/dist/v2/features/collection/components/Runner/hooks/use-runner-selection.js.map +0 -1
  611. package/dist/v2/features/collection/components/Runner/index.d.ts +0 -2
  612. package/dist/v2/features/collection/components/Runner/index.d.ts.map +0 -1
  613. package/dist/v2/features/collection/components/Scripts.vue.d.ts +0 -16
  614. package/dist/v2/features/collection/components/Scripts.vue.d.ts.map +0 -1
  615. package/dist/v2/features/collection/components/Scripts.vue.js +0 -7
  616. package/dist/v2/features/collection/components/Scripts.vue.js.map +0 -1
  617. package/dist/v2/features/collection/components/Scripts.vue.script.js +0 -49
  618. package/dist/v2/features/collection/components/Scripts.vue.script.js.map +0 -1
  619. package/dist/v2/features/collection/components/Servers.vue.d.ts +0 -16
  620. package/dist/v2/features/collection/components/Servers.vue.d.ts.map +0 -1
  621. package/dist/v2/features/collection/components/Servers.vue.js +0 -7
  622. package/dist/v2/features/collection/components/Servers.vue.js.map +0 -1
  623. package/dist/v2/features/collection/components/Servers.vue.script.js +0 -219
  624. package/dist/v2/features/collection/components/Servers.vue.script.js.map +0 -1
  625. package/dist/v2/features/collection/components/Settings.vue.d.ts +0 -16
  626. package/dist/v2/features/collection/components/Settings.vue.d.ts.map +0 -1
  627. package/dist/v2/features/collection/components/Settings.vue.js +0 -7
  628. package/dist/v2/features/collection/components/Settings.vue.js.map +0 -1
  629. package/dist/v2/features/collection/components/Settings.vue.script.js +0 -81
  630. package/dist/v2/features/collection/components/Settings.vue.script.js.map +0 -1
  631. package/dist/v2/features/collection/components/Tabs.vue.d.ts +0 -8
  632. package/dist/v2/features/collection/components/Tabs.vue.d.ts.map +0 -1
  633. package/dist/v2/features/collection/components/Tabs.vue.js +0 -7
  634. package/dist/v2/features/collection/components/Tabs.vue.js.map +0 -1
  635. package/dist/v2/features/collection/components/Tabs.vue.script.js +0 -55
  636. package/dist/v2/features/collection/components/Tabs.vue.script.js.map +0 -1
  637. package/dist/v2/features/collection/helpers/get-default-operation-security-toggle.d.ts +0 -12
  638. package/dist/v2/features/collection/helpers/get-default-operation-security-toggle.d.ts.map +0 -1
  639. package/dist/v2/features/collection/helpers/get-default-operation-security-toggle.js +0 -19
  640. package/dist/v2/features/collection/helpers/get-default-operation-security-toggle.js.map +0 -1
  641. package/dist/v2/features/command-palette/TheCommandPalette.vue.d.ts +0 -42
  642. package/dist/v2/features/command-palette/TheCommandPalette.vue.d.ts.map +0 -1
  643. package/dist/v2/features/command-palette/TheCommandPalette.vue.js +0 -9
  644. package/dist/v2/features/command-palette/TheCommandPalette.vue.js.map +0 -1
  645. package/dist/v2/features/command-palette/TheCommandPalette.vue.script.js +0 -189
  646. package/dist/v2/features/command-palette/TheCommandPalette.vue.script.js.map +0 -1
  647. package/dist/v2/features/command-palette/components/CommandPaletteExample.vue.d.ts +0 -49
  648. package/dist/v2/features/command-palette/components/CommandPaletteExample.vue.d.ts.map +0 -1
  649. package/dist/v2/features/command-palette/components/CommandPaletteExample.vue.js +0 -7
  650. package/dist/v2/features/command-palette/components/CommandPaletteExample.vue.js.map +0 -1
  651. package/dist/v2/features/command-palette/components/CommandPaletteExample.vue.script.js +0 -225
  652. package/dist/v2/features/command-palette/components/CommandPaletteExample.vue.script.js.map +0 -1
  653. package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.d.ts +0 -53
  654. package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.d.ts.map +0 -1
  655. package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.js +0 -7
  656. package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.js.map +0 -1
  657. package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.script.js +0 -227
  658. package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.script.js.map +0 -1
  659. package/dist/v2/features/command-palette/components/CommandPaletteImportCurl.vue.d.ts +0 -44
  660. package/dist/v2/features/command-palette/components/CommandPaletteImportCurl.vue.d.ts.map +0 -1
  661. package/dist/v2/features/command-palette/components/CommandPaletteImportCurl.vue.js +0 -9
  662. package/dist/v2/features/command-palette/components/CommandPaletteImportCurl.vue.js.map +0 -1
  663. package/dist/v2/features/command-palette/components/CommandPaletteImportCurl.vue.script.js +0 -137
  664. package/dist/v2/features/command-palette/components/CommandPaletteImportCurl.vue.script.js.map +0 -1
  665. package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.d.ts +0 -30
  666. package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.d.ts.map +0 -1
  667. package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.js +0 -7
  668. package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.js.map +0 -1
  669. package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.script.js +0 -156
  670. package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.script.js.map +0 -1
  671. package/dist/v2/features/command-palette/components/CommandPaletteOpenApiDocument.vue.d.ts +0 -37
  672. package/dist/v2/features/command-palette/components/CommandPaletteOpenApiDocument.vue.d.ts.map +0 -1
  673. package/dist/v2/features/command-palette/components/CommandPaletteOpenApiDocument.vue.js +0 -7
  674. package/dist/v2/features/command-palette/components/CommandPaletteOpenApiDocument.vue.js.map +0 -1
  675. package/dist/v2/features/command-palette/components/CommandPaletteOpenApiDocument.vue.script.js +0 -105
  676. package/dist/v2/features/command-palette/components/CommandPaletteOpenApiDocument.vue.script.js.map +0 -1
  677. package/dist/v2/features/command-palette/components/CommandPaletteRequest.vue.d.ts +0 -48
  678. package/dist/v2/features/command-palette/components/CommandPaletteRequest.vue.d.ts.map +0 -1
  679. package/dist/v2/features/command-palette/components/CommandPaletteRequest.vue.js +0 -7
  680. package/dist/v2/features/command-palette/components/CommandPaletteRequest.vue.js.map +0 -1
  681. package/dist/v2/features/command-palette/components/CommandPaletteRequest.vue.script.js +0 -228
  682. package/dist/v2/features/command-palette/components/CommandPaletteRequest.vue.script.js.map +0 -1
  683. package/dist/v2/features/command-palette/components/CommandPaletteTag.vue.d.ts +0 -65
  684. package/dist/v2/features/command-palette/components/CommandPaletteTag.vue.d.ts.map +0 -1
  685. package/dist/v2/features/command-palette/components/CommandPaletteTag.vue.js +0 -7
  686. package/dist/v2/features/command-palette/components/CommandPaletteTag.vue.js.map +0 -1
  687. package/dist/v2/features/command-palette/components/CommandPaletteTag.vue.script.js +0 -142
  688. package/dist/v2/features/command-palette/components/CommandPaletteTag.vue.script.js.map +0 -1
  689. package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.d.ts +0 -58
  690. package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.d.ts.map +0 -1
  691. package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.js +0 -9
  692. package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.js.map +0 -1
  693. package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.script.js +0 -142
  694. package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.script.js.map +0 -1
  695. package/dist/v2/features/command-palette/components/PostmanRequestTreeRow.vue.d.ts +0 -23
  696. package/dist/v2/features/command-palette/components/PostmanRequestTreeRow.vue.d.ts.map +0 -1
  697. package/dist/v2/features/command-palette/components/PostmanRequestTreeRow.vue.js +0 -9
  698. package/dist/v2/features/command-palette/components/PostmanRequestTreeRow.vue.js.map +0 -1
  699. package/dist/v2/features/command-palette/components/PostmanRequestTreeRow.vue.script.js +0 -138
  700. package/dist/v2/features/command-palette/components/PostmanRequestTreeRow.vue.script.js.map +0 -1
  701. package/dist/v2/features/command-palette/components/WatchModeToggle.vue.d.ts +0 -34
  702. package/dist/v2/features/command-palette/components/WatchModeToggle.vue.d.ts.map +0 -1
  703. package/dist/v2/features/command-palette/components/WatchModeToggle.vue.js +0 -7
  704. package/dist/v2/features/command-palette/components/WatchModeToggle.vue.js.map +0 -1
  705. package/dist/v2/features/command-palette/components/WatchModeToggle.vue.script.js +0 -39
  706. package/dist/v2/features/command-palette/components/WatchModeToggle.vue.script.js.map +0 -1
  707. package/dist/v2/features/command-palette/helpers/generate-unique-slug.d.ts +0 -20
  708. package/dist/v2/features/command-palette/helpers/generate-unique-slug.d.ts.map +0 -1
  709. package/dist/v2/features/command-palette/helpers/generate-unique-slug.js +0 -33
  710. package/dist/v2/features/command-palette/helpers/generate-unique-slug.js.map +0 -1
  711. package/dist/v2/features/command-palette/helpers/get-merge-key.d.ts +0 -11
  712. package/dist/v2/features/command-palette/helpers/get-merge-key.d.ts.map +0 -1
  713. package/dist/v2/features/command-palette/helpers/get-merge-key.js +0 -32
  714. package/dist/v2/features/command-palette/helpers/get-merge-key.js.map +0 -1
  715. package/dist/v2/features/command-palette/helpers/get-openapi-document-details.d.ts +0 -24
  716. package/dist/v2/features/command-palette/helpers/get-openapi-document-details.d.ts.map +0 -1
  717. package/dist/v2/features/command-palette/helpers/get-openapi-document-details.js +0 -56
  718. package/dist/v2/features/command-palette/helpers/get-openapi-document-details.js.map +0 -1
  719. package/dist/v2/features/command-palette/helpers/get-openapi-from-postman.d.ts +0 -24
  720. package/dist/v2/features/command-palette/helpers/get-openapi-from-postman.d.ts.map +0 -1
  721. package/dist/v2/features/command-palette/helpers/get-openapi-from-postman.js +0 -22
  722. package/dist/v2/features/command-palette/helpers/get-openapi-from-postman.js.map +0 -1
  723. package/dist/v2/features/command-palette/helpers/get-operation-from-curl.d.ts +0 -26
  724. package/dist/v2/features/command-palette/helpers/get-operation-from-curl.d.ts.map +0 -1
  725. package/dist/v2/features/command-palette/helpers/get-operation-from-curl.js +0 -119
  726. package/dist/v2/features/command-palette/helpers/get-operation-from-curl.js.map +0 -1
  727. package/dist/v2/features/command-palette/helpers/get-postman-convert-options.d.ts +0 -14
  728. package/dist/v2/features/command-palette/helpers/get-postman-convert-options.d.ts.map +0 -1
  729. package/dist/v2/features/command-palette/helpers/get-postman-convert-options.js +0 -19
  730. package/dist/v2/features/command-palette/helpers/get-postman-convert-options.js.map +0 -1
  731. package/dist/v2/features/command-palette/helpers/get-postman-document-details.d.ts +0 -28
  732. package/dist/v2/features/command-palette/helpers/get-postman-document-details.d.ts.map +0 -1
  733. package/dist/v2/features/command-palette/helpers/get-postman-document-details.js +0 -36
  734. package/dist/v2/features/command-palette/helpers/get-postman-document-details.js.map +0 -1
  735. package/dist/v2/features/command-palette/helpers/import-document-to-workspace.d.ts +0 -30
  736. package/dist/v2/features/command-palette/helpers/import-document-to-workspace.d.ts.map +0 -1
  737. package/dist/v2/features/command-palette/helpers/import-document-to-workspace.js +0 -70
  738. package/dist/v2/features/command-palette/helpers/import-document-to-workspace.js.map +0 -1
  739. package/dist/v2/features/command-palette/helpers/load-document-from-source.d.ts +0 -20
  740. package/dist/v2/features/command-palette/helpers/load-document-from-source.d.ts.map +0 -1
  741. package/dist/v2/features/command-palette/helpers/load-document-from-source.js +0 -72
  742. package/dist/v2/features/command-palette/helpers/load-document-from-source.js.map +0 -1
  743. package/dist/v2/features/command-palette/helpers/parse-curl.d.ts +0 -14
  744. package/dist/v2/features/command-palette/helpers/parse-curl.d.ts.map +0 -1
  745. package/dist/v2/features/command-palette/helpers/parse-curl.js +0 -106
  746. package/dist/v2/features/command-palette/helpers/parse-curl.js.map +0 -1
  747. package/dist/v2/features/command-palette/helpers/postman-request-collisions.d.ts +0 -11
  748. package/dist/v2/features/command-palette/helpers/postman-request-collisions.d.ts.map +0 -1
  749. package/dist/v2/features/command-palette/helpers/postman-request-collisions.js +0 -35
  750. package/dist/v2/features/command-palette/helpers/postman-request-collisions.js.map +0 -1
  751. package/dist/v2/features/command-palette/helpers/postman-request-tree.d.ts +0 -41
  752. package/dist/v2/features/command-palette/helpers/postman-request-tree.d.ts.map +0 -1
  753. package/dist/v2/features/command-palette/helpers/postman-request-tree.js +0 -139
  754. package/dist/v2/features/command-palette/helpers/postman-request-tree.js.map +0 -1
  755. package/dist/v2/features/command-palette/hooks/use-command-palette-state.d.ts +0 -426
  756. package/dist/v2/features/command-palette/hooks/use-command-palette-state.d.ts.map +0 -1
  757. package/dist/v2/features/command-palette/hooks/use-command-palette-state.js +0 -207
  758. package/dist/v2/features/command-palette/hooks/use-command-palette-state.js.map +0 -1
  759. package/dist/v2/features/editor/config.d.ts +0 -16
  760. package/dist/v2/features/editor/config.d.ts.map +0 -1
  761. package/dist/v2/features/editor/config.js +0 -19
  762. package/dist/v2/features/editor/config.js.map +0 -1
  763. package/dist/v2/features/editor/helpers/configure-language-support.d.ts +0 -13
  764. package/dist/v2/features/editor/helpers/configure-language-support.d.ts.map +0 -1
  765. package/dist/v2/features/editor/helpers/configure-language-support.js +0 -48
  766. package/dist/v2/features/editor/helpers/configure-language-support.js.map +0 -1
  767. package/dist/v2/features/editor/helpers/ensure-monaco-environment.d.ts +0 -6
  768. package/dist/v2/features/editor/helpers/ensure-monaco-environment.d.ts.map +0 -1
  769. package/dist/v2/features/editor/helpers/ensure-monaco-environment.js +0 -21
  770. package/dist/v2/features/editor/helpers/ensure-monaco-environment.js.map +0 -1
  771. package/dist/v2/features/editor/helpers/json/create-json-model.d.ts +0 -12
  772. package/dist/v2/features/editor/helpers/json/create-json-model.d.ts.map +0 -1
  773. package/dist/v2/features/editor/helpers/json/create-json-model.js +0 -31
  774. package/dist/v2/features/editor/helpers/json/create-json-model.js.map +0 -1
  775. package/dist/v2/features/editor/helpers/json/get-json-ast-node-from-path.d.ts +0 -14
  776. package/dist/v2/features/editor/helpers/json/get-json-ast-node-from-path.d.ts.map +0 -1
  777. package/dist/v2/features/editor/helpers/json/get-json-ast-node-from-path.js +0 -22
  778. package/dist/v2/features/editor/helpers/json/get-json-ast-node-from-path.js.map +0 -1
  779. package/dist/v2/features/editor/helpers/json/json-ast.d.ts +0 -12
  780. package/dist/v2/features/editor/helpers/json/json-ast.d.ts.map +0 -1
  781. package/dist/v2/features/editor/helpers/json/json-ast.js +0 -32
  782. package/dist/v2/features/editor/helpers/json/json-ast.js.map +0 -1
  783. package/dist/v2/features/editor/helpers/json/json-pointer-links.d.ts +0 -15
  784. package/dist/v2/features/editor/helpers/json/json-pointer-links.d.ts.map +0 -1
  785. package/dist/v2/features/editor/helpers/json/json-pointer-links.js +0 -104
  786. package/dist/v2/features/editor/helpers/json/json-pointer-links.js.map +0 -1
  787. package/dist/v2/features/editor/helpers/json/json-pointer-path.d.ts +0 -7
  788. package/dist/v2/features/editor/helpers/json/json-pointer-path.d.ts.map +0 -1
  789. package/dist/v2/features/editor/helpers/json/json-pointer-path.js +0 -27
  790. package/dist/v2/features/editor/helpers/json/json-pointer-path.js.map +0 -1
  791. package/dist/v2/features/editor/helpers/model.d.ts +0 -9
  792. package/dist/v2/features/editor/helpers/model.d.ts.map +0 -1
  793. package/dist/v2/features/editor/helpers/range-to-whole-line.d.ts +0 -14
  794. package/dist/v2/features/editor/helpers/range-to-whole-line.d.ts.map +0 -1
  795. package/dist/v2/features/editor/helpers/range-to-whole-line.js +0 -27
  796. package/dist/v2/features/editor/helpers/range-to-whole-line.js.map +0 -1
  797. package/dist/v2/features/editor/helpers/theme/apply-scalar-theme.d.ts +0 -16
  798. package/dist/v2/features/editor/helpers/theme/apply-scalar-theme.d.ts.map +0 -1
  799. package/dist/v2/features/editor/helpers/theme/apply-scalar-theme.js +0 -84
  800. package/dist/v2/features/editor/helpers/theme/apply-scalar-theme.js.map +0 -1
  801. package/dist/v2/features/editor/helpers/theme/load-css-variables.d.ts +0 -36
  802. package/dist/v2/features/editor/helpers/theme/load-css-variables.d.ts.map +0 -1
  803. package/dist/v2/features/editor/helpers/theme/load-css-variables.js +0 -117
  804. package/dist/v2/features/editor/helpers/theme/load-css-variables.js.map +0 -1
  805. package/dist/v2/features/editor/helpers/yaml/create-yaml-model.d.ts +0 -13
  806. package/dist/v2/features/editor/helpers/yaml/create-yaml-model.d.ts.map +0 -1
  807. package/dist/v2/features/editor/helpers/yaml/create-yaml-model.js +0 -32
  808. package/dist/v2/features/editor/helpers/yaml/create-yaml-model.js.map +0 -1
  809. package/dist/v2/features/editor/helpers/yaml/get-yaml-node-range-from-path.d.ts +0 -19
  810. package/dist/v2/features/editor/helpers/yaml/get-yaml-node-range-from-path.d.ts.map +0 -1
  811. package/dist/v2/features/editor/helpers/yaml/get-yaml-node-range-from-path.js +0 -70
  812. package/dist/v2/features/editor/helpers/yaml/get-yaml-node-range-from-path.js.map +0 -1
  813. package/dist/v2/features/editor/hooks/use-editor-markers.d.ts +0 -152
  814. package/dist/v2/features/editor/hooks/use-editor-markers.d.ts.map +0 -1
  815. package/dist/v2/features/editor/hooks/use-editor-markers.js +0 -37
  816. package/dist/v2/features/editor/hooks/use-editor-markers.js.map +0 -1
  817. package/dist/v2/features/editor/hooks/use-editor.d.ts +0 -39
  818. package/dist/v2/features/editor/hooks/use-editor.d.ts.map +0 -1
  819. package/dist/v2/features/editor/hooks/use-editor.js +0 -133
  820. package/dist/v2/features/editor/hooks/use-editor.js.map +0 -1
  821. package/dist/v2/features/editor/hooks/use-json-pointer-link-support.d.ts +0 -16
  822. package/dist/v2/features/editor/hooks/use-json-pointer-link-support.d.ts.map +0 -1
  823. package/dist/v2/features/editor/hooks/use-json-pointer-link-support.js +0 -45
  824. package/dist/v2/features/editor/hooks/use-json-pointer-link-support.js.map +0 -1
  825. package/dist/v2/features/editor/hooks/use-three-way-merge-editor.d.ts +0 -77
  826. package/dist/v2/features/editor/hooks/use-three-way-merge-editor.d.ts.map +0 -1
  827. package/dist/v2/features/editor/hooks/use-three-way-merge-editor.js +0 -396
  828. package/dist/v2/features/editor/hooks/use-three-way-merge-editor.js.map +0 -1
  829. package/dist/v2/features/editor/index.d.ts +0 -5
  830. package/dist/v2/features/editor/index.d.ts.map +0 -1
  831. package/dist/v2/features/editor/index.js +0 -5
  832. package/dist/v2/features/editor/schemas/openapi-3.1-schema.json.js +0 -51
  833. package/dist/v2/features/editor/schemas/openapi-3.1-schema.json.js.map +0 -1
  834. package/dist/v2/features/global-cookies/components/CookiesTable.vue.d.ts +0 -10
  835. package/dist/v2/features/global-cookies/components/CookiesTable.vue.d.ts.map +0 -1
  836. package/dist/v2/features/global-cookies/components/CookiesTable.vue.js +0 -9
  837. package/dist/v2/features/global-cookies/components/CookiesTable.vue.js.map +0 -1
  838. package/dist/v2/features/global-cookies/components/CookiesTable.vue.script.js +0 -188
  839. package/dist/v2/features/global-cookies/components/CookiesTable.vue.script.js.map +0 -1
  840. package/dist/v2/features/global-cookies/index.d.ts +0 -2
  841. package/dist/v2/features/global-cookies/index.d.ts.map +0 -1
  842. package/dist/v2/features/global-cookies/index.js +0 -2
  843. package/dist/v2/features/settings/CollectionSettings.vue.d.ts +0 -28
  844. package/dist/v2/features/settings/CollectionSettings.vue.d.ts.map +0 -1
  845. package/dist/v2/features/settings/CollectionSettings.vue.js +0 -7
  846. package/dist/v2/features/settings/CollectionSettings.vue.js.map +0 -1
  847. package/dist/v2/features/settings/CollectionSettings.vue.script.js +0 -229
  848. package/dist/v2/features/settings/CollectionSettings.vue.script.js.map +0 -1
  849. package/dist/v2/features/settings/DocumentSettings.vue.d.ts +0 -20
  850. package/dist/v2/features/settings/DocumentSettings.vue.d.ts.map +0 -1
  851. package/dist/v2/features/settings/DocumentSettings.vue.js +0 -7
  852. package/dist/v2/features/settings/DocumentSettings.vue.js.map +0 -1
  853. package/dist/v2/features/settings/DocumentSettings.vue.script.js +0 -92
  854. package/dist/v2/features/settings/DocumentSettings.vue.script.js.map +0 -1
  855. package/dist/v2/features/settings/components/Appearance.vue.d.ts +0 -11
  856. package/dist/v2/features/settings/components/Appearance.vue.d.ts.map +0 -1
  857. package/dist/v2/features/settings/components/Appearance.vue.js +0 -7
  858. package/dist/v2/features/settings/components/Appearance.vue.js.map +0 -1
  859. package/dist/v2/features/settings/components/Appearance.vue.script.js +0 -63
  860. package/dist/v2/features/settings/components/Appearance.vue.script.js.map +0 -1
  861. package/dist/v2/features/settings/components/Section.vue.d.ts +0 -16
  862. package/dist/v2/features/settings/components/Section.vue.d.ts.map +0 -1
  863. package/dist/v2/features/settings/components/Section.vue.js +0 -7
  864. package/dist/v2/features/settings/components/Section.vue.js.map +0 -1
  865. package/dist/v2/features/settings/components/Section.vue.script.js +0 -30
  866. package/dist/v2/features/settings/components/Section.vue.script.js.map +0 -1
  867. package/dist/v2/features/settings/helpers/get-theme-colors.d.ts +0 -10
  868. package/dist/v2/features/settings/helpers/get-theme-colors.d.ts.map +0 -1
  869. package/dist/v2/features/settings/helpers/get-theme-colors.js +0 -68
  870. package/dist/v2/features/settings/helpers/get-theme-colors.js.map +0 -1
  871. package/dist/v2/features/settings/index.d.ts +0 -3
  872. package/dist/v2/features/settings/index.d.ts.map +0 -1
  873. package/dist/v2/features/settings/index.js +0 -3
  874. package/dist/v2/helpers/download-document.d.ts +0 -2
  875. package/dist/v2/helpers/download-document.d.ts.map +0 -1
  876. package/dist/v2/helpers/download-document.js +0 -42
  877. package/dist/v2/helpers/download-document.js.map +0 -1
  878. package/dist/v2/helpers/drag-handle-factory.d.ts +0 -16
  879. package/dist/v2/helpers/drag-handle-factory.d.ts.map +0 -1
  880. package/dist/v2/helpers/drag-handle-factory.js +0 -258
  881. package/dist/v2/helpers/drag-handle-factory.js.map +0 -1
  882. package/dist/v2/helpers/get-tab-details.d.ts +0 -43
  883. package/dist/v2/helpers/get-tab-details.d.ts.map +0 -1
  884. package/dist/v2/helpers/get-tab-details.js +0 -54
  885. package/dist/v2/helpers/get-tab-details.js.map +0 -1
  886. package/dist/v2/helpers/is-url.d.ts +0 -2
  887. package/dist/v2/helpers/is-url.d.ts.map +0 -1
  888. package/dist/v2/helpers/is-url.js +0 -10
  889. package/dist/v2/helpers/is-url.js.map +0 -1
  890. package/dist/v2/helpers/safe-run.d.ts +0 -34
  891. package/dist/v2/helpers/safe-run.d.ts.map +0 -1
  892. package/dist/v2/helpers/safe-run.js +0 -43
  893. package/dist/v2/helpers/safe-run.js.map +0 -1
  894. package/dist/v2/helpers/storage.d.ts +0 -31
  895. package/dist/v2/helpers/storage.d.ts.map +0 -1
  896. package/dist/v2/helpers/storage.js +0 -37
  897. package/dist/v2/helpers/storage.js.map +0 -1
  898. package/dist/v2/hooks/use-color-mode.d.ts +0 -20
  899. package/dist/v2/hooks/use-color-mode.d.ts.map +0 -1
  900. package/dist/v2/hooks/use-color-mode.js +0 -72
  901. package/dist/v2/hooks/use-color-mode.js.map +0 -1
  902. package/dist/v2/types/configuration.d.ts +0 -278
  903. package/dist/v2/types/configuration.d.ts.map +0 -1
  904. /package/dist/components/{ScalarAsciiArt.vue.d.ts → ScalarAsciiArt/ScalarAsciiArt.vue.d.ts} +0 -0
  905. /package/dist/{index.js → types/index.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"OAuthScopesInput.vue.script.js","names":[],"sources":["../../../../../src/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { Disclosure, DisclosureButton, DisclosurePanel } from '@headlessui/vue'\nimport {\n ScalarButton,\n ScalarIcon,\n ScalarSearchInput,\n useModal,\n} from '@scalar/components'\nimport type { ApiReferenceEvents } from '@scalar/workspace-store/events'\nimport type {\n OAuthFlow,\n OAuthFlowsObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed, ref } from 'vue'\n\nimport {\n DataTableCell,\n DataTableCheckbox,\n DataTableRow,\n} from '@/v2/components/data-table'\n\nimport OAuthScopesAddModal from './OAuthScopesAddModal.vue'\n\nconst { selectedScopes, flow, flowType } = defineProps<{\n flowType: keyof OAuthFlowsObject\n flow: OAuthFlow\n selectedScopes: string[]\n}>()\n\nconst emits = defineEmits<{\n (\n e: 'update:selectedScopes',\n payload: Pick<\n ApiReferenceEvents['auth:update:selected-scopes'],\n 'scopes' | 'newScopePayload'\n >,\n ): void\n}>()\n\nconst searchQuery = ref('')\n\n/** List of all available scopes */\nconst scopes = computed(() =>\n Object.entries(flow?.scopes ?? {}).map(([key, val]) => ({\n id: key,\n label: key,\n description: val,\n })),\n)\n\nconst filteredScopes = computed(() => {\n if (!searchQuery.value) {\n return scopes.value\n }\n\n const regex = new RegExp(\n searchQuery.value\n .split('')\n .map((c) => c.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'))\n .join('.*'),\n 'i',\n )\n\n return scopes.value.filter(({ label, description }) =>\n regex.test(`${label} ${description}`),\n )\n})\n\nconst allScopesSelected = computed(\n () => selectedScopes.length === Object.keys(flow?.scopes ?? {}).length,\n)\n\nfunction setScope(scopeKey: string, checked: boolean) {\n if (checked) {\n // Select the scope\n return emits('update:selectedScopes', {\n scopes: Array.from(new Set([...selectedScopes, scopeKey])),\n })\n }\n\n // Deselect the scope\n emits('update:selectedScopes', {\n scopes: selectedScopes.filter((scope) => scope !== scopeKey),\n })\n}\n\n/** Select all scopes */\nconst selectAllScopes = () =>\n emits('update:selectedScopes', { scopes: Object.keys(flow?.scopes ?? {}) })\n\n/** Deselect all scopes */\nconst deselectAllScopes = () => emits('update:selectedScopes', { scopes: [] })\n\nconst addNewScopeModal = useModal()\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 (selectedScopes.length || 0) > 0 ? 'text-c-1' : 'text-c-3',\n ]\">\n <div class=\"flex-1\">\n Scopes Selected\n {{ selectedScopes.length || 0 }} /\n {{ Object.keys(flow?.scopes ?? {}).length || 0 }}\n </div>\n <div class=\"flex items-center gap-1.75\">\n <!-- Add new scope -->\n <ScalarButton\n class=\"pr-0.75 pl-1 transition-none\"\n size=\"sm\"\n variant=\"ghost\"\n @click.stop=\"addNewScopeModal.show()\">\n Add Scope\n </ScalarButton>\n\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 <!-- Scopes List -->\n <DisclosurePanel as=\"template\">\n <div>\n <ScalarSearchInput\n v-model=\"searchQuery\"\n class=\"flex items-center text-xs\" />\n <table\n class=\"grid max-h-40 auto-rows-auto overflow-x-hidden overflow-y-scroll\"\n :style=\"{ gridTemplateColumns: '1fr auto' }\">\n <DataTableRow\n v-for=\"{ id, label, description } in filteredScopes\"\n :key=\"id\"\n class=\"text-c-2\"\n @click=\"setScope(id, !selectedScopes.includes(id))\">\n <DataTableCell\n class=\"no-scrollbar hover:text-c-1 box-border flex !max-h-[initial] w-full cursor-pointer items-center gap-1 overflow-x-scroll px-3 py-1.5 text-nowrap\">\n <span class=\"font-code text-xs\">{{ label }}</span>\n <span>&ndash;</span>\n <span v-if=\"description\">\n {{ description }}\n </span>\n </DataTableCell>\n <DataTableCheckbox\n :modelValue=\"selectedScopes.includes(id)\"\n @update:modelValue=\"setScope(id, $event)\" />\n </DataTableRow>\n </table>\n </div>\n </DisclosurePanel>\n </Disclosure>\n </div>\n\n <!-- Add new scope modal -->\n <OAuthScopesAddModal\n :scopes=\"Object.keys(flow.scopes ?? {})\"\n :state=\"addNewScopeModal\"\n @submit=\"\n (payload) =>\n emits('update:selectedScopes', {\n scopes: selectedScopes,\n newScopePayload: { ...payload, flowType },\n })\n \" />\n </DataTableCell>\n</template>\n\n<style>\n.no-scrollbar::-webkit-scrollbar {\n display: none;\n}\n\n.no-scrollbar {\n -ms-overflow-style: none;\n scrollbar-width: none;\n}\n</style>\n"],"mappings":"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"}
1
+ {"version":3,"file":"OAuthScopesInput.vue.script.js","names":[],"sources":["../../../../../src/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { Disclosure, DisclosureButton, DisclosurePanel } from '@headlessui/vue'\nimport {\n ScalarButton,\n ScalarIcon,\n ScalarIconButton,\n ScalarSearchInput,\n useModal,\n} from '@scalar/components'\nimport { ScalarIconPencilSimple, ScalarIconTrash } from '@scalar/icons'\nimport type { ApiReferenceEvents } from '@scalar/workspace-store/events'\nimport type {\n OAuthFlow,\n OAuthFlowsObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed, nextTick, ref, watch } from 'vue'\n\nimport {\n DataTableCell,\n DataTableCheckbox,\n DataTableRow,\n} from '@/v2/components/data-table'\n\nimport OAuthScopesAddModal from './OAuthScopesAddModal.vue'\n\nconst { selectedScopes, flow, flowType } = defineProps<{\n flowType: keyof OAuthFlowsObject\n flow: OAuthFlow\n selectedScopes: string[]\n}>()\n\nconst emits = defineEmits<{\n (e: 'update:selectedScopes', payload: { scopes: string[] }): void\n (\n e: 'upsert:scope',\n payload: Omit<ApiReferenceEvents['auth:upsert:scopes'], 'name'>,\n ): void\n (\n e: 'delete:scope',\n payload: Omit<ApiReferenceEvents['auth:delete:scopes'], 'name'>,\n ): void\n}>()\n\nconst searchQuery = ref('')\n\n/**\n * The scope currently being edited, used to switch the shared modal into edit mode.\n * Null means the modal is in \"add\" mode.\n */\nconst editingScope = ref<{ name: string; description: string } | null>(null)\n\n/** List of all available scopes */\nconst scopes = computed(() =>\n Object.entries(flow?.scopes ?? {}).map(([key, val]) => ({\n id: key,\n label: key,\n description: val,\n })),\n)\n\nconst scopeCount = computed(() => Object.keys(flow?.scopes ?? {}).length)\n\n/** Search is only useful once the list is long enough to scan */\nconst showScopeSearch = computed(() => scopeCount.value >= 10)\n\nconst filteredScopes = computed(() => {\n const query = showScopeSearch.value ? searchQuery.value : ''\n if (!query) {\n return scopes.value\n }\n\n const regex = new RegExp(\n query\n .split('')\n .map((c) => c.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'))\n .join('.*'),\n 'i',\n )\n\n return scopes.value.filter(({ label, description }) =>\n regex.test(`${label} ${description}`),\n )\n})\n\nconst hasScopes = computed(() => Object.keys(flow?.scopes ?? {}).length > 0)\n\nconst allScopesSelected = computed(\n () => selectedScopes.length === Object.keys(flow?.scopes ?? {}).length,\n)\n\nconst setScope = (scopeKey: string, checked: boolean) => {\n if (checked) {\n // Select the scope\n return emits('update:selectedScopes', {\n scopes: Array.from(new Set([...selectedScopes, scopeKey])),\n })\n }\n\n // Deselect the scope\n emits('update:selectedScopes', {\n scopes: selectedScopes.filter((scope) => scope !== scopeKey),\n })\n}\n\n/** Select all scopes */\nconst selectAllScopes = () =>\n emits('update:selectedScopes', { scopes: Object.keys(flow?.scopes ?? {}) })\n\n/** Deselect all scopes */\nconst deselectAllScopes = () => emits('update:selectedScopes', { scopes: [] })\n\nconst scopeFormModal = useModal()\n\n/**\n * Forces the Disclosure to remount with `defaultOpen` set so the panel auto-expands\n * the moment a brand-new scope is added. Bumping this counter is paired with toggling\n * `expandOnNextMount` so the remount opens the panel, then reverts to the default\n * closed-on-mount behavior for any future unrelated remounts (e.g. collapse on empty).\n *\n * The Disclosure `:key` is only this counter — not a separate `hasScopes` segment — so\n * adding the first scope does not remount twice (empty prefix → with-scopes prefix),\n * which would reopen with `defaultOpen=false` and collapse the panel right when rows appear.\n */\nconst remountKey = ref(0)\nconst expandOnNextMount = ref(false)\n\nwatch(hasScopes, (has, had) => {\n if (had && !has) {\n expandOnNextMount.value = false\n remountKey.value += 1\n }\n})\n\n/** Open the modal in \"add new scope\" mode */\nconst openAddScopeModal = () => {\n editingScope.value = null\n scopeFormModal.show()\n}\n\n/** Open the modal in \"edit scope\" mode prefilled with the chosen row */\nconst openEditScopeModal = (scope: { id: string; description: string }) => {\n editingScope.value = {\n name: scope.id,\n description: scope.description ?? '',\n }\n scopeFormModal.show()\n}\n\n/**\n * Submit handler shared by Add Scope and Edit Scope. For renames, the `upsertScope` mutator on\n * the workspace store rewrites the selection state in place, so the component does not need to\n * emit a follow-up `update:selectedScopes`.\n *\n * When adding a brand-new scope (no `oldName`), the payload sets `enable: true` so the\n * `upsertScope` mutator also adds the new scope to any selection requirement that references\n * this scheme. The Disclosure is then remounted with `defaultOpen=true` so the user\n * immediately sees (and sees selected) the scope they just added.\n */\nconst handleScopeFormSubmit = async (payload: {\n name: string\n description: string\n oldName?: string\n}) => {\n const isAdd = !payload.oldName\n\n emits('upsert:scope', {\n scope: payload.name,\n description: payload.description,\n flowType,\n ...(payload.oldName ? { oldScope: payload.oldName } : {}),\n ...(isAdd ? { enable: true } : {}),\n })\n\n if (!isAdd) {\n return\n }\n\n expandOnNextMount.value = true\n remountKey.value += 1\n // Reset after the remount so subsequent unrelated remounts (e.g. when the last\n // scope is deleted) still default to a closed panel.\n await nextTick()\n expandOnNextMount.value = false\n}\n\n/**\n * Remove the scope from the flow. Selection cleanup (dropping the deleted key from any\n * currently-selected scopes) is handled by the `deleteScope` mutator on the workspace store,\n * so the component does not need to emit a follow-up `update:selectedScopes` here.\n */\nconst handleDeleteScope = (scopeKey: string) => {\n emits('delete:scope', { scope: scopeKey, flowType })\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 :key=\"remountKey\"\n as=\"div\"\n class=\"bl flex w-full flex-col\"\n :defaultOpen=\"expandOnNextMount\">\n <!--\n Keep Add Scope (and other actions) outside the summary DisclosureButton.\n When there are no scopes the summary control is disabled; a native disabled\n button blocks pointer events for all descendants, which would make Add Scope unusable.\n -->\n <div\n class=\"group/scopes-accordion flex h-auto min-h-8 items-center gap-1.5 pr-2.25 pl-3 text-left\">\n <DisclosureButton\n :class=\"[\n 'min-w-0 flex-1 text-left',\n hasScopes ? 'hover:text-c-1 cursor-pointer' : 'cursor-default',\n (selectedScopes.length || 0) > 0 ? 'text-c-1' : 'text-c-3',\n ]\"\n :disabled=\"!hasScopes\">\n <template v-if=\"hasScopes\">\n Scopes Selected\n {{ selectedScopes.length || 0 }} /\n {{ Object.keys(flow?.scopes ?? {}).length || 0 }}\n </template>\n <template v-else> No Scopes Defined </template>\n </DisclosureButton>\n\n <div class=\"flex shrink-0 items-center gap-1.75\">\n <!-- Add new scope -->\n <ScalarButton\n class=\"pr-0.75 pl-1 transition-none\"\n size=\"sm\"\n variant=\"ghost\"\n @click.stop=\"openAddScopeModal\">\n Add Scope\n </ScalarButton>\n\n <!-- Deselect All -->\n <ScalarButton\n v-if=\"hasScopes && 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=\"hasScopes && !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 <DisclosureButton\n v-if=\"hasScopes\"\n v-slot=\"{ open }\"\n class=\"text-c-3 hover:text-c-2 -m-0.5 flex shrink-0 items-center justify-center rounded p-0.5 focus-visible:outline-offset-2\">\n <ScalarIcon\n class=\"group-hover/scopes-accordion:text-c-2\"\n :icon=\"open ? 'ChevronDown' : 'ChevronRight'\"\n size=\"md\" />\n </DisclosureButton>\n </div>\n </div>\n <!-- Scopes List -->\n <DisclosurePanel as=\"template\">\n <div>\n <ScalarSearchInput\n v-if=\"showScopeSearch\"\n v-model=\"searchQuery\"\n class=\"flex items-center text-xs\" />\n <table\n class=\"grid max-h-40 auto-rows-auto overflow-x-hidden overflow-y-auto\"\n :style=\"{ gridTemplateColumns: '1fr auto' }\">\n <DataTableRow\n v-for=\"{ id, label, description } in filteredScopes\"\n :key=\"id\"\n class=\"text-c-2 group/scope-row\"\n @click=\"setScope(id, !selectedScopes.includes(id))\">\n <DataTableCell\n class=\"box-border flex !max-h-[initial] w-full min-w-0 cursor-pointer items-stretch overflow-hidden px-0 py-0\">\n <!-- Text scrolls horizontally; action rail stays fixed -->\n <div\n class=\"no-scrollbar text-c-2 group-hover/scope-row:text-c-1 flex min-h-8 min-w-0 flex-1 items-center gap-1 overflow-x-auto px-3 py-1.5 pr-20 text-xs text-nowrap\">\n <span class=\"font-code shrink-0 text-xs\">{{ label }}</span>\n <template v-if=\"String(description ?? '').trim()\">\n <span class=\"shrink-0\">&ndash;</span>\n <span class=\"whitespace-nowrap\">{{ description }}</span>\n </template>\n </div>\n <div\n class=\"oauth-scope-row-action-rail absolute top-0 right-0 z-[1] flex h-full min-w-[4.5rem] items-center justify-end gap-0.5 py-1 pr-2 pl-4 opacity-0 transition-opacity group-focus-within/scope-row:opacity-100 group-hover/scope-row:opacity-100\"\n @click.stop>\n <ScalarIconButton\n :icon=\"ScalarIconPencilSimple\"\n :label=\"`Edit ${label}`\"\n size=\"sm\"\n @click.stop=\"\n openEditScopeModal({\n id,\n description: description ?? '',\n })\n \" />\n <ScalarIconButton\n :icon=\"ScalarIconTrash\"\n :label=\"`Delete ${label}`\"\n size=\"sm\"\n @click.stop=\"handleDeleteScope(id)\" />\n </div>\n </DataTableCell>\n <DataTableCheckbox\n :modelValue=\"selectedScopes.includes(id)\"\n @update:modelValue=\"setScope(id, $event)\" />\n </DataTableRow>\n </table>\n </div>\n </DisclosurePanel>\n </Disclosure>\n </div>\n\n <!-- Shared add/edit scope modal -->\n <OAuthScopesAddModal\n :scope=\"editingScope\"\n :scopes=\"Object.keys(flow.scopes ?? {})\"\n :state=\"scopeFormModal\"\n @submit=\"handleScopeFormSubmit\" />\n </DataTableCell>\n</template>\n\n<style>\n/* Matches AddressBar.vue `.address-bar-bg-states` / `.fade-right` (header URL input). */\n.oauth-scope-row-action-rail {\n --oauth-scope-row-rail-bg: color-mix(\n in srgb,\n var(--scalar-background-1),\n var(--scalar-background-2)\n );\n background: linear-gradient(\n 90deg,\n color-mix(in srgb, var(--oauth-scope-row-rail-bg), transparent 100%) 0%,\n color-mix(in srgb, var(--oauth-scope-row-rail-bg), transparent 20%) 30%,\n var(--oauth-scope-row-rail-bg) 100%\n );\n}\n\n.no-scrollbar::-webkit-scrollbar {\n display: none;\n}\n\n.no-scrollbar {\n -ms-overflow-style: none;\n scrollbar-width: none;\n}\n</style>\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RequestAuthDataTable.vue.d.ts","sourceRoot":"","sources":["../../../../../src/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue"],"names":[],"mappings":"AAkJA,OAAO,KAAK,EAEV,QAAQ,EACR,iBAAiB,EAClB,MAAM,gCAAgC,CAAA;AACvC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAA;AACpF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2EAA2E,CAAA;AACnH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAA;AAGhG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8DAA8D,CAAA;AACjG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gEAAgE,CAAA;AAK1G,KAAK,WAAW,GAAG;IACjB,4CAA4C;IAC5C,WAAW,EAAE,kBAAkB,CAAA;IAC/B,mEAAmE;IACnE,QAAQ,EAAE,OAAO,CAAA;IACjB,8CAA8C;IAC9C,qBAAqB,EAAE,oBAAoB,EAAE,CAAA;IAC7C,uDAAuD;IACvD,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,0CAA0C;IAC1C,eAAe,EAAE,qBAAqB,CAAA;IACtC,mCAAmC;IACnC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;IAC3B,2CAA2C;IAC3C,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,0CAA0C;IAC1C,IAAI,EAAE,QAAQ,CAAA;IACd,uDAAuD;IACvD,OAAO,CAAC,EAAE,aAAa,CAAA;CACxB,CAAC;AAiOF,QAAA,MAAM,YAAY;;oPAGhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"RequestAuthDataTable.vue.d.ts","sourceRoot":"","sources":["../../../../../src/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue"],"names":[],"mappings":"AA8JA,OAAO,KAAK,EAEV,QAAQ,EACR,iBAAiB,EAClB,MAAM,gCAAgC,CAAA;AACvC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAA;AACpF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2EAA2E,CAAA;AACnH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAA;AAGhG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8DAA8D,CAAA;AACjG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gEAAgE,CAAA;AAK1G,KAAK,WAAW,GAAG;IACjB,4CAA4C;IAC5C,WAAW,EAAE,kBAAkB,CAAA;IAC/B,mEAAmE;IACnE,QAAQ,EAAE,OAAO,CAAA;IACjB,8CAA8C;IAC9C,qBAAqB,EAAE,oBAAoB,EAAE,CAAA;IAC7C,uDAAuD;IACvD,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,0CAA0C;IAC1C,eAAe,EAAE,qBAAqB,CAAA;IACtC,mCAAmC;IACnC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;IAC3B,2CAA2C;IAC3C,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,0CAA0C;IAC1C,IAAI,EAAE,QAAQ,CAAA;IACd,uDAAuD;IACvD,OAAO,CAAC,EAAE,aAAa,CAAA;CACxB,CAAC;AAuPF,QAAA,MAAM,YAAY;;oPAGhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -1 +1 @@
1
- {"version":3,"file":"RequestAuthDataTable.vue.js","names":[],"sources":["../../../../../src/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type {\n ApiReferenceEvents,\n AuthMeta,\n WorkspaceEventBus,\n} from '@scalar/workspace-store/events'\nimport type { MergedSecuritySchemes } from '@scalar/workspace-store/request-example'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type { ServerObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed } from 'vue'\n\nimport type { OAuth2Options } from '@/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue'\nimport type { SecuritySchemeOption } from '@/v2/blocks/scalar-auth-selector-block/helpers/security-scheme'\nimport { DataTable } from '@/v2/components/data-table'\n\nimport RequestAuthTab from './RequestAuthTab.vue'\n\nconst {\n environment,\n isStatic,\n selectedSchemeOptions,\n activeAuthIndex,\n securitySchemes = {},\n server,\n eventBus,\n meta,\n options,\n} = defineProps<{\n /** The current environment configuration */\n environment: XScalarEnvironment\n /** Controls border display for static (non-collapsible) layouts */\n isStatic: boolean\n /** Available authentication scheme options */\n selectedSchemeOptions: SecuritySchemeOption[]\n /** Index of the currently active authentication tab */\n activeAuthIndex: number\n /** Proxy URL */\n proxyUrl: string\n /** OpenAPI security scheme definitions */\n securitySchemes: MergedSecuritySchemes\n /** Current server configuration */\n server: ServerObject | null\n /** Event bus for authentication updates */\n eventBus: WorkspaceEventBus\n /** Metadata for authentication context */\n meta: AuthMeta\n /** Any config options required for the OAuth2 flow */\n options?: OAuth2Options\n}>()\n\n/** Currently selected authentication scheme based on the active tab index */\nconst activeScheme = computed<SecuritySchemeOption | undefined>(\n () => selectedSchemeOptions[activeAuthIndex],\n)\n\n/**\n * Whether to display multiple authentication tabs.\n * Only shows tabs when there are 2 or more schemes available.\n */\nconst shouldShowTabs = computed<boolean>(() => selectedSchemeOptions.length > 1)\n\n/** Handles authentication tab selection */\nconst handleTabChange = (index: number) =>\n eventBus.emit('auth:update:active-index', {\n index,\n meta,\n })\n\n/** Handles updates to OAuth scope selection */\nconst handleScopesUpdate = (\n params: Omit<ApiReferenceEvents['auth:update:selected-scopes'], 'meta'>,\n): void =>\n eventBus.emit('auth:update:selected-scopes', {\n ...params,\n meta,\n })\n\n/** Determines if a tab is currently active */\nconst isTabActive = (index: number): boolean => activeAuthIndex === index\n\n/** Expose the active scheme for parent component access */\ndefineExpose({\n activeScheme,\n})\n</script>\n\n<template>\n <form @submit.prevent>\n <!-- Authentication Tabs -->\n <div\n v-if=\"shouldShowTabs\"\n class=\"box-content flex flex-wrap gap-x-2.5 overflow-hidden border-x border-t px-3\"\n :class=\"{ 'border-x-0': !isStatic }\"\n data-testid=\"auth-tabs\">\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\">\n <button\n class=\"floating-bg relative cursor-pointer border-b border-transparent py-1 text-sm font-medium transition-colors\"\n :class=\"isTabActive(index) ? 'text-c-1' : 'text-c-3'\"\n type=\"button\"\n @click=\"handleTabChange(index)\">\n <span class=\"relative z-10 font-medium whitespace-nowrap\">\n {{ option.label }}\n </span>\n </button>\n\n <!-- Active Tab Indicator -->\n <div\n v-if=\"isTabActive(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 <!-- Active Authentication Scheme Content -->\n <DataTable\n v-if=\"activeScheme\"\n class=\"flex-1\"\n :class=\"{ 'bg-b-1 rounded-b-lg border-x border-b': isStatic }\"\n :columns=\"['']\"\n presentational>\n <RequestAuthTab\n :environment\n :eventBus\n :isStatic\n :options\n :proxyUrl\n :securitySchemes\n :selectedSecuritySchemas=\"activeScheme.value\"\n :server\n @update:selectedScopes=\"handleScopesUpdate\" />\n </DataTable>\n\n <!-- Empty State -->\n <div\n v-else\n class=\"bg-b-1 text-c-3 flex min-h-16 items-center justify-center border-t px-4 text-sm\"\n :class=\"{ 'min-h-[calc(4rem+0.5px)] rounded-b-lg border': isStatic }\">\n No authentication selected\n </div>\n </form>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"RequestAuthDataTable.vue.js","names":[],"sources":["../../../../../src/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type {\n ApiReferenceEvents,\n AuthMeta,\n WorkspaceEventBus,\n} from '@scalar/workspace-store/events'\nimport type { MergedSecuritySchemes } from '@scalar/workspace-store/request-example'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type { ServerObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed } from 'vue'\n\nimport type { OAuth2Options } from '@/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue'\nimport type { SecuritySchemeOption } from '@/v2/blocks/scalar-auth-selector-block/helpers/security-scheme'\nimport { DataTable } from '@/v2/components/data-table'\n\nimport RequestAuthTab from './RequestAuthTab.vue'\n\nconst {\n environment,\n isStatic,\n selectedSchemeOptions,\n activeAuthIndex,\n securitySchemes = {},\n server,\n eventBus,\n meta,\n options,\n} = defineProps<{\n /** The current environment configuration */\n environment: XScalarEnvironment\n /** Controls border display for static (non-collapsible) layouts */\n isStatic: boolean\n /** Available authentication scheme options */\n selectedSchemeOptions: SecuritySchemeOption[]\n /** Index of the currently active authentication tab */\n activeAuthIndex: number\n /** Proxy URL */\n proxyUrl: string\n /** OpenAPI security scheme definitions */\n securitySchemes: MergedSecuritySchemes\n /** Current server configuration */\n server: ServerObject | null\n /** Event bus for authentication updates */\n eventBus: WorkspaceEventBus\n /** Metadata for authentication context */\n meta: AuthMeta\n /** Any config options required for the OAuth2 flow */\n options?: OAuth2Options\n}>()\n\n/** Currently selected authentication scheme based on the active tab index */\nconst activeScheme = computed<SecuritySchemeOption | undefined>(\n () => selectedSchemeOptions[activeAuthIndex],\n)\n\n/**\n * Whether to display multiple authentication tabs.\n * Only shows tabs when there are 2 or more schemes available.\n */\nconst shouldShowTabs = computed<boolean>(() => selectedSchemeOptions.length > 1)\n\n/** Handles authentication tab selection */\nconst handleTabChange = (index: number) =>\n eventBus.emit('auth:update:active-index', {\n index,\n meta,\n })\n\n/** Handles updates to OAuth scope selection */\nconst handleScopesUpdate = (\n params: Omit<ApiReferenceEvents['auth:update:selected-scopes'], 'meta'>,\n): void =>\n eventBus.emit('auth:update:selected-scopes', {\n ...params,\n meta,\n })\n\n/** Handles scope-definition upserts (add / rename / description change) */\nconst handleScopeUpsert = (\n params: ApiReferenceEvents['auth:upsert:scopes'],\n): void => eventBus.emit('auth:upsert:scopes', params)\n\n/** Handles scope-definition deletes */\nconst handleScopeDelete = (\n params: ApiReferenceEvents['auth:delete:scopes'],\n): void => eventBus.emit('auth:delete:scopes', params)\n\n/** Determines if a tab is currently active */\nconst isTabActive = (index: number): boolean => activeAuthIndex === index\n\n/** Expose the active scheme for parent component access */\ndefineExpose({\n activeScheme,\n})\n</script>\n\n<template>\n <form @submit.prevent>\n <!-- Authentication Tabs -->\n <div\n v-if=\"shouldShowTabs\"\n class=\"box-content flex flex-wrap gap-x-2.5 overflow-hidden border-x border-t px-3\"\n :class=\"{ 'border-x-0': !isStatic }\"\n data-testid=\"auth-tabs\">\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\">\n <button\n class=\"floating-bg relative cursor-pointer border-b border-transparent py-1 text-sm font-medium transition-colors\"\n :class=\"isTabActive(index) ? 'text-c-1' : 'text-c-3'\"\n type=\"button\"\n @click=\"handleTabChange(index)\">\n <span class=\"relative z-10 font-medium whitespace-nowrap\">\n {{ option.label }}\n </span>\n </button>\n\n <!-- Active Tab Indicator -->\n <div\n v-if=\"isTabActive(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 <!-- Active Authentication Scheme Content -->\n <DataTable\n v-if=\"activeScheme\"\n class=\"flex-1\"\n :class=\"{ 'bg-b-1 rounded-b-lg border-x border-b': isStatic }\"\n :columns=\"['']\"\n presentational>\n <RequestAuthTab\n :environment\n :eventBus\n :isStatic\n :options\n :proxyUrl\n :securitySchemes\n :selectedSecuritySchemas=\"activeScheme.value\"\n :server\n @delete:scope=\"handleScopeDelete\"\n @update:selectedScopes=\"handleScopesUpdate\"\n @upsert:scope=\"handleScopeUpsert\" />\n </DataTable>\n\n <!-- Empty State -->\n <div\n v-else\n class=\"bg-b-1 text-c-3 flex min-h-16 items-center justify-center border-t px-4 text-sm\"\n :class=\"{ 'min-h-[calc(4rem+0.5px)] rounded-b-lg border': isStatic }\">\n No authentication selected\n </div>\n </form>\n</template>\n"],"mappings":""}
@@ -40,6 +40,10 @@ var RequestAuthDataTable_vue_vue_type_script_setup_true_lang_default = /* @__PUR
40
40
  ...params,
41
41
  meta: __props.meta
42
42
  });
43
+ /** Handles scope-definition upserts (add / rename / description change) */
44
+ const handleScopeUpsert = (params) => __props.eventBus.emit("auth:upsert:scopes", params);
45
+ /** Handles scope-definition deletes */
46
+ const handleScopeDelete = (params) => __props.eventBus.emit("auth:delete:scopes", params);
43
47
  /** Determines if a tab is currently active */
44
48
  const isTabActive = (index) => __props.activeAuthIndex === index;
45
49
  /** Expose the active scheme for parent component access */
@@ -73,7 +77,9 @@ var RequestAuthDataTable_vue_vue_type_script_setup_true_lang_default = /* @__PUR
73
77
  securitySchemes: __props.securitySchemes,
74
78
  selectedSecuritySchemas: activeScheme.value.value,
75
79
  server: __props.server,
76
- "onUpdate:selectedScopes": handleScopesUpdate
80
+ "onDelete:scope": handleScopeDelete,
81
+ "onUpdate:selectedScopes": handleScopesUpdate,
82
+ "onUpsert:scope": handleScopeUpsert
77
83
  }, null, 8, [
78
84
  "environment",
79
85
  "eventBus",
@@ -1 +1 @@
1
- {"version":3,"file":"RequestAuthDataTable.vue.script.js","names":[],"sources":["../../../../../src/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type {\n ApiReferenceEvents,\n AuthMeta,\n WorkspaceEventBus,\n} from '@scalar/workspace-store/events'\nimport type { MergedSecuritySchemes } from '@scalar/workspace-store/request-example'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type { ServerObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed } from 'vue'\n\nimport type { OAuth2Options } from '@/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue'\nimport type { SecuritySchemeOption } from '@/v2/blocks/scalar-auth-selector-block/helpers/security-scheme'\nimport { DataTable } from '@/v2/components/data-table'\n\nimport RequestAuthTab from './RequestAuthTab.vue'\n\nconst {\n environment,\n isStatic,\n selectedSchemeOptions,\n activeAuthIndex,\n securitySchemes = {},\n server,\n eventBus,\n meta,\n options,\n} = defineProps<{\n /** The current environment configuration */\n environment: XScalarEnvironment\n /** Controls border display for static (non-collapsible) layouts */\n isStatic: boolean\n /** Available authentication scheme options */\n selectedSchemeOptions: SecuritySchemeOption[]\n /** Index of the currently active authentication tab */\n activeAuthIndex: number\n /** Proxy URL */\n proxyUrl: string\n /** OpenAPI security scheme definitions */\n securitySchemes: MergedSecuritySchemes\n /** Current server configuration */\n server: ServerObject | null\n /** Event bus for authentication updates */\n eventBus: WorkspaceEventBus\n /** Metadata for authentication context */\n meta: AuthMeta\n /** Any config options required for the OAuth2 flow */\n options?: OAuth2Options\n}>()\n\n/** Currently selected authentication scheme based on the active tab index */\nconst activeScheme = computed<SecuritySchemeOption | undefined>(\n () => selectedSchemeOptions[activeAuthIndex],\n)\n\n/**\n * Whether to display multiple authentication tabs.\n * Only shows tabs when there are 2 or more schemes available.\n */\nconst shouldShowTabs = computed<boolean>(() => selectedSchemeOptions.length > 1)\n\n/** Handles authentication tab selection */\nconst handleTabChange = (index: number) =>\n eventBus.emit('auth:update:active-index', {\n index,\n meta,\n })\n\n/** Handles updates to OAuth scope selection */\nconst handleScopesUpdate = (\n params: Omit<ApiReferenceEvents['auth:update:selected-scopes'], 'meta'>,\n): void =>\n eventBus.emit('auth:update:selected-scopes', {\n ...params,\n meta,\n })\n\n/** Determines if a tab is currently active */\nconst isTabActive = (index: number): boolean => activeAuthIndex === index\n\n/** Expose the active scheme for parent component access */\ndefineExpose({\n activeScheme,\n})\n</script>\n\n<template>\n <form @submit.prevent>\n <!-- Authentication Tabs -->\n <div\n v-if=\"shouldShowTabs\"\n class=\"box-content flex flex-wrap gap-x-2.5 overflow-hidden border-x border-t px-3\"\n :class=\"{ 'border-x-0': !isStatic }\"\n data-testid=\"auth-tabs\">\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\">\n <button\n class=\"floating-bg relative cursor-pointer border-b border-transparent py-1 text-sm font-medium transition-colors\"\n :class=\"isTabActive(index) ? 'text-c-1' : 'text-c-3'\"\n type=\"button\"\n @click=\"handleTabChange(index)\">\n <span class=\"relative z-10 font-medium whitespace-nowrap\">\n {{ option.label }}\n </span>\n </button>\n\n <!-- Active Tab Indicator -->\n <div\n v-if=\"isTabActive(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 <!-- Active Authentication Scheme Content -->\n <DataTable\n v-if=\"activeScheme\"\n class=\"flex-1\"\n :class=\"{ 'bg-b-1 rounded-b-lg border-x border-b': isStatic }\"\n :columns=\"['']\"\n presentational>\n <RequestAuthTab\n :environment\n :eventBus\n :isStatic\n :options\n :proxyUrl\n :securitySchemes\n :selectedSecuritySchemas=\"activeScheme.value\"\n :server\n @update:selectedScopes=\"handleScopesUpdate\" />\n </DataTable>\n\n <!-- Empty State -->\n <div\n v-else\n class=\"bg-b-1 text-c-3 flex min-h-16 items-center justify-center border-t px-4 text-sm\"\n :class=\"{ 'min-h-[calc(4rem+0.5px)] rounded-b-lg border': isStatic }\">\n No authentication selected\n </div>\n </form>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;EAmDA,MAAM,eAAe,eACb,QAAA,sBAAsB,QAAA,iBAC9B;;;;;EAMA,MAAM,iBAAiB,eAAwB,QAAA,sBAAsB,SAAS,EAAC;;EAG/E,MAAM,mBAAmB,UACvB,QAAA,SAAS,KAAK,4BAA4B;GACxC;GACA,MAAG,QAAA;GACJ,CAAA;;EAGH,MAAM,sBACJ,WAEA,QAAA,SAAS,KAAK,+BAA+B;GAC3C,GAAG;GACH,MAAG,QAAA;GACJ,CAAA;;EAGH,MAAM,eAAe,UAA2B,QAAA,oBAAoB;;AAGpE,WAAa,EACX,cACD,CAAA;;uBAIC,mBAsDO,QAAA,EAtDA,UAAM,OAAA,OAAA,OAAA,KAAA,oBAAP,IAAe,CAAA,UAAA,CAAA,GAAA,EAAA,CAGX,eAAA,SAAA,WAAA,EADR,mBAwBM,OAAA;;IAtBJ,OAAK,eAAA,CAAC,+EAA6E,EAAA,cAAA,CAC1D,QAAA,UAAQ,CAAA,CAAA;IACjC,eAAY;yBACZ,mBAkBM,UAAA,MAAA,WAjBsB,QAAA,wBAAlB,QAAQ,UAAK;wBADvB,mBAkBM,OAAA;KAhBH,KAAK,OAAO;KACb,OAAM;QACN,mBAQS,UAAA;KAPP,OAAK,eAAA,CAAC,8GACE,YAAY,MAAK,GAAA,aAAA,WAAA,CAAA;KACzB,MAAK;KACJ,UAAK,WAAE,gBAAgB,MAAK;QAC7B,mBAEO,QAFP,YAEO,gBADF,OAAO,MAAK,EAAA,EAAA,CAAA,EAAA,IAAA,WAAA,EAMX,YAAY,MAAK,IAAA,WAAA,EADzB,mBAEwH,OAFxH,WAEwH,IAAA,mBAAA,IAAA,KAAA,CAAA,CAAA;mDAMpH,aAAA,SAAA,WAAA,EADR,YAgBY,MAAA,kBAAA,EAAA;;IAdV,OAAK,eAAA,CAAC,UAAQ,EAAA,yCACqC,QAAA,UAAQ,CAAA,CAAA;IAC1D,SAAS,CAAA,GAAI;IACd,gBAAA;;2BAUgD,CAThD,YASgD,wBAAA;KAR7C,aAAA,QAAA;KACA,UAAA,QAAA;KACA,UAAA,QAAA;KACA,SAAA,QAAA;KACA,UAAA,QAAA;KACA,iBAAA,QAAA;KACA,yBAAyB,aAAA,MAAa;KACtC,QAAA,QAAA;KACA,2BAAuB;;;;;;;;;;;;qCAI5B,mBAKM,OAAA;;IAHJ,OAAK,eAAA,CAAC,mFAAiF,EAAA,gDAC7B,QAAA,UAAQ,CAAA,CAAA;MAAI,gCAExE,EAAA,EAAA,EAAA,GAAA"}
1
+ {"version":3,"file":"RequestAuthDataTable.vue.script.js","names":[],"sources":["../../../../../src/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type {\n ApiReferenceEvents,\n AuthMeta,\n WorkspaceEventBus,\n} from '@scalar/workspace-store/events'\nimport type { MergedSecuritySchemes } from '@scalar/workspace-store/request-example'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type { ServerObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed } from 'vue'\n\nimport type { OAuth2Options } from '@/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue'\nimport type { SecuritySchemeOption } from '@/v2/blocks/scalar-auth-selector-block/helpers/security-scheme'\nimport { DataTable } from '@/v2/components/data-table'\n\nimport RequestAuthTab from './RequestAuthTab.vue'\n\nconst {\n environment,\n isStatic,\n selectedSchemeOptions,\n activeAuthIndex,\n securitySchemes = {},\n server,\n eventBus,\n meta,\n options,\n} = defineProps<{\n /** The current environment configuration */\n environment: XScalarEnvironment\n /** Controls border display for static (non-collapsible) layouts */\n isStatic: boolean\n /** Available authentication scheme options */\n selectedSchemeOptions: SecuritySchemeOption[]\n /** Index of the currently active authentication tab */\n activeAuthIndex: number\n /** Proxy URL */\n proxyUrl: string\n /** OpenAPI security scheme definitions */\n securitySchemes: MergedSecuritySchemes\n /** Current server configuration */\n server: ServerObject | null\n /** Event bus for authentication updates */\n eventBus: WorkspaceEventBus\n /** Metadata for authentication context */\n meta: AuthMeta\n /** Any config options required for the OAuth2 flow */\n options?: OAuth2Options\n}>()\n\n/** Currently selected authentication scheme based on the active tab index */\nconst activeScheme = computed<SecuritySchemeOption | undefined>(\n () => selectedSchemeOptions[activeAuthIndex],\n)\n\n/**\n * Whether to display multiple authentication tabs.\n * Only shows tabs when there are 2 or more schemes available.\n */\nconst shouldShowTabs = computed<boolean>(() => selectedSchemeOptions.length > 1)\n\n/** Handles authentication tab selection */\nconst handleTabChange = (index: number) =>\n eventBus.emit('auth:update:active-index', {\n index,\n meta,\n })\n\n/** Handles updates to OAuth scope selection */\nconst handleScopesUpdate = (\n params: Omit<ApiReferenceEvents['auth:update:selected-scopes'], 'meta'>,\n): void =>\n eventBus.emit('auth:update:selected-scopes', {\n ...params,\n meta,\n })\n\n/** Handles scope-definition upserts (add / rename / description change) */\nconst handleScopeUpsert = (\n params: ApiReferenceEvents['auth:upsert:scopes'],\n): void => eventBus.emit('auth:upsert:scopes', params)\n\n/** Handles scope-definition deletes */\nconst handleScopeDelete = (\n params: ApiReferenceEvents['auth:delete:scopes'],\n): void => eventBus.emit('auth:delete:scopes', params)\n\n/** Determines if a tab is currently active */\nconst isTabActive = (index: number): boolean => activeAuthIndex === index\n\n/** Expose the active scheme for parent component access */\ndefineExpose({\n activeScheme,\n})\n</script>\n\n<template>\n <form @submit.prevent>\n <!-- Authentication Tabs -->\n <div\n v-if=\"shouldShowTabs\"\n class=\"box-content flex flex-wrap gap-x-2.5 overflow-hidden border-x border-t px-3\"\n :class=\"{ 'border-x-0': !isStatic }\"\n data-testid=\"auth-tabs\">\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\">\n <button\n class=\"floating-bg relative cursor-pointer border-b border-transparent py-1 text-sm font-medium transition-colors\"\n :class=\"isTabActive(index) ? 'text-c-1' : 'text-c-3'\"\n type=\"button\"\n @click=\"handleTabChange(index)\">\n <span class=\"relative z-10 font-medium whitespace-nowrap\">\n {{ option.label }}\n </span>\n </button>\n\n <!-- Active Tab Indicator -->\n <div\n v-if=\"isTabActive(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 <!-- Active Authentication Scheme Content -->\n <DataTable\n v-if=\"activeScheme\"\n class=\"flex-1\"\n :class=\"{ 'bg-b-1 rounded-b-lg border-x border-b': isStatic }\"\n :columns=\"['']\"\n presentational>\n <RequestAuthTab\n :environment\n :eventBus\n :isStatic\n :options\n :proxyUrl\n :securitySchemes\n :selectedSecuritySchemas=\"activeScheme.value\"\n :server\n @delete:scope=\"handleScopeDelete\"\n @update:selectedScopes=\"handleScopesUpdate\"\n @upsert:scope=\"handleScopeUpsert\" />\n </DataTable>\n\n <!-- Empty State -->\n <div\n v-else\n class=\"bg-b-1 text-c-3 flex min-h-16 items-center justify-center border-t px-4 text-sm\"\n :class=\"{ 'min-h-[calc(4rem+0.5px)] rounded-b-lg border': isStatic }\">\n No authentication selected\n </div>\n </form>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;EAmDA,MAAM,eAAe,eACb,QAAA,sBAAsB,QAAA,iBAC9B;;;;;EAMA,MAAM,iBAAiB,eAAwB,QAAA,sBAAsB,SAAS,EAAC;;EAG/E,MAAM,mBAAmB,UACvB,QAAA,SAAS,KAAK,4BAA4B;GACxC;GACA,MAAG,QAAA;GACJ,CAAA;;EAGH,MAAM,sBACJ,WAEA,QAAA,SAAS,KAAK,+BAA+B;GAC3C,GAAG;GACH,MAAG,QAAA;GACJ,CAAA;;EAGH,MAAM,qBACJ,WACS,QAAA,SAAS,KAAK,sBAAsB,OAAM;;EAGrD,MAAM,qBACJ,WACS,QAAA,SAAS,KAAK,sBAAsB,OAAM;;EAGrD,MAAM,eAAe,UAA2B,QAAA,oBAAoB;;AAGpE,WAAa,EACX,cACD,CAAA;;uBAIC,mBAwDO,QAAA,EAxDA,UAAM,OAAA,OAAA,OAAA,KAAA,oBAAP,IAAe,CAAA,UAAA,CAAA,GAAA,EAAA,CAGX,eAAA,SAAA,WAAA,EADR,mBAwBM,OAAA;;IAtBJ,OAAK,eAAA,CAAC,+EAA6E,EAAA,cAAA,CAC1D,QAAA,UAAQ,CAAA,CAAA;IACjC,eAAY;yBACZ,mBAkBM,UAAA,MAAA,WAjBsB,QAAA,wBAAlB,QAAQ,UAAK;wBADvB,mBAkBM,OAAA;KAhBH,KAAK,OAAO;KACb,OAAM;QACN,mBAQS,UAAA;KAPP,OAAK,eAAA,CAAC,8GACE,YAAY,MAAK,GAAA,aAAA,WAAA,CAAA;KACzB,MAAK;KACJ,UAAK,WAAE,gBAAgB,MAAK;QAC7B,mBAEO,QAFP,YAEO,gBADF,OAAO,MAAK,EAAA,EAAA,CAAA,EAAA,IAAA,WAAA,EAMX,YAAY,MAAK,IAAA,WAAA,EADzB,mBAEwH,OAFxH,WAEwH,IAAA,mBAAA,IAAA,KAAA,CAAA,CAAA;mDAMpH,aAAA,SAAA,WAAA,EADR,YAkBY,MAAA,kBAAA,EAAA;;IAhBV,OAAK,eAAA,CAAC,UAAQ,EAAA,yCACqC,QAAA,UAAQ,CAAA,CAAA;IAC1D,SAAS,CAAA,GAAI;IACd,gBAAA;;2BAYsC,CAXtC,YAWsC,wBAAA;KAVnC,aAAA,QAAA;KACA,UAAA,QAAA;KACA,UAAA,QAAA;KACA,SAAA,QAAA;KACA,UAAA,QAAA;KACA,iBAAA,QAAA;KACA,yBAAyB,aAAA,MAAa;KACtC,QAAA,QAAA;KACA,kBAAc;KACd,2BAAuB;KACvB,kBAAc;;;;;;;;;;;;qCAInB,mBAKM,OAAA;;IAHJ,OAAK,eAAA,CAAC,mFAAiF,EAAA,gDAC7B,QAAA,UAAQ,CAAA,CAAA;MAAI,gCAExE,EAAA,EAAA,EAAA,GAAA"}
@@ -26,25 +26,41 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
26
26
  id: string[];
27
27
  name: string;
28
28
  scopes: string[];
29
- newScopePayload?: {
30
- name: string;
31
- description: string;
32
- flowType: keyof import("@scalar/workspace-store/schemas/v3.1/strict/oauthflows").OAuthFlowsObject;
33
- };
34
29
  meta: import("@scalar/workspace-store/events").AuthMeta;
35
30
  }, "meta">) => any;
31
+ "upsert:scope": (payload: {
32
+ name: string;
33
+ flowType: keyof import("@scalar/workspace-store/schemas/v3.1/strict/oauthflows").OAuthFlowsObject;
34
+ scope: string;
35
+ description: string;
36
+ oldScope?: string;
37
+ enable?: boolean;
38
+ }) => any;
39
+ "delete:scope": (payload: {
40
+ name: string;
41
+ flowType: keyof import("@scalar/workspace-store/schemas/v3.1/strict/oauthflows").OAuthFlowsObject;
42
+ scope: string;
43
+ }) => any;
36
44
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
37
45
  "onUpdate:selectedScopes"?: ((payload: Omit<{
38
46
  id: string[];
39
47
  name: string;
40
48
  scopes: string[];
41
- newScopePayload?: {
42
- name: string;
43
- description: string;
44
- flowType: keyof import("@scalar/workspace-store/schemas/v3.1/strict/oauthflows").OAuthFlowsObject;
45
- };
46
49
  meta: import("@scalar/workspace-store/events").AuthMeta;
47
50
  }, "meta">) => any) | undefined;
51
+ "onUpsert:scope"?: ((payload: {
52
+ name: string;
53
+ flowType: keyof import("@scalar/workspace-store/schemas/v3.1/strict/oauthflows").OAuthFlowsObject;
54
+ scope: string;
55
+ description: string;
56
+ oldScope?: string;
57
+ enable?: boolean;
58
+ }) => any) | undefined;
59
+ "onDelete:scope"?: ((payload: {
60
+ name: string;
61
+ flowType: keyof import("@scalar/workspace-store/schemas/v3.1/strict/oauthflows").OAuthFlowsObject;
62
+ scope: string;
63
+ }) => any) | undefined;
48
64
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
49
65
  declare const _default: typeof __VLS_export;
50
66
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"RequestAuthTab.vue.d.ts","sourceRoot":"","sources":["../../../../../src/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue"],"names":[],"mappings":"AA8XA,OAAO,KAAK,EAEV,iBAAiB,EAClB,MAAM,gCAAgC,CAAA;AAEvC,OAAO,KAAK,EACV,qBAAqB,EAEtB,MAAM,yCAAyC,CAAA;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2EAA2E,CAAA;AACnH,OAAO,KAAK,EAEV,yBAAyB,EACzB,YAAY,EACb,MAAM,8DAA8D,CAAA;AAKrE,OAAe,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAA;AAUzD,KAAK,WAAW,GAAG;IACjB,wCAAwC;IACxC,WAAW,EAAE,kBAAkB,CAAA;IAC/B,yFAAyF;IACzF,QAAQ,EAAE,OAAO,CAAA;IACjB,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,+BAA+B;IAC/B,uBAAuB,EAAE,yBAAyB,CAAA;IAClD,oGAAoG;IACpG,eAAe,EAAE,qBAAqB,CAAA;IACtC,mCAAmC;IACnC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;IAC3B,2CAA2C;IAC3C,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,uDAAuD;IACvD,OAAO,CAAC,EAAE,aAAa,CAAA;CACxB,CAAC;AAyoBF,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;kFAGhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"RequestAuthTab.vue.d.ts","sourceRoot":"","sources":["../../../../../src/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue"],"names":[],"mappings":"AAkZA,OAAO,KAAK,EAEV,iBAAiB,EAClB,MAAM,gCAAgC,CAAA;AAEvC,OAAO,KAAK,EACV,qBAAqB,EAEtB,MAAM,yCAAyC,CAAA;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2EAA2E,CAAA;AACnH,OAAO,KAAK,EAEV,yBAAyB,EACzB,YAAY,EACb,MAAM,8DAA8D,CAAA;AAKrE,OAAe,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAA;AAUzD,KAAK,WAAW,GAAG;IACjB,wCAAwC;IACxC,WAAW,EAAE,kBAAkB,CAAA;IAC/B,yFAAyF;IACzF,QAAQ,EAAE,OAAO,CAAA;IACjB,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,+BAA+B;IAC/B,uBAAuB,EAAE,yBAAyB,CAAA;IAClD,oGAAoG;IACpG,eAAe,EAAE,qBAAqB,CAAA;IACtC,mCAAmC;IACnC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;IAC3B,2CAA2C;IAC3C,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,uDAAuD;IACvD,OAAO,CAAC,EAAE,aAAa,CAAA;CACxB,CAAC;AAuqBF,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kFAGhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -1 +1 @@
1
- {"version":3,"file":"RequestAuthTab.vue.js","names":[],"sources":["../../../../../src/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarMarkdownSummary } from '@scalar/components'\nimport type {\n SecretsApiKey,\n SecretsHttp,\n} from '@scalar/workspace-store/entities/auth'\nimport type {\n ApiReferenceEvents,\n WorkspaceEventBus,\n} from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type {\n MergedSecuritySchemes,\n SecuritySchemeObjectSecret,\n} from '@scalar/workspace-store/request-example'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type {\n ApiKeyObject,\n SecurityRequirementObject,\n ServerObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { capitalize, computed, ref } from 'vue'\n\nimport { DataTableCell, DataTableRow } from '@/v2/components/data-table'\n\nimport OAuth2, { type OAuth2Options } from './OAuth2.vue'\nimport OpenIDConnect from './OpenIDConnect.vue'\nimport RequestAuthDataTableInput from './RequestAuthDataTableInput.vue'\n\ntype SecurityItem = {\n scheme: SecuritySchemeObjectSecret | undefined\n name: string\n scopes: string[]\n}\n\nconst {\n environment,\n isStatic,\n proxyUrl,\n selectedSecuritySchemas,\n securitySchemes,\n server,\n eventBus,\n options,\n} = defineProps<{\n /** Current environment configuration */\n environment: XScalarEnvironment\n /** Controls the display of certain borders which are used when we are non-collapsible */\n isStatic: boolean\n /** Proxy URL */\n proxyUrl: string\n /** Selected security schemes*/\n selectedSecuritySchemas: SecurityRequirementObject\n /** Merged security schemes from the document and the config together with the auth store secrets */\n securitySchemes: MergedSecuritySchemes\n /** Current server configuration */\n server: ServerObject | null\n /** Event bus for authentication updates */\n eventBus: WorkspaceEventBus\n /** Any config options required for the OAuth2 flow */\n options?: OAuth2Options\n}>()\n\nconst emits = defineEmits<{\n (\n e: 'update:selectedScopes',\n payload: Omit<ApiReferenceEvents['auth:update:selected-scopes'], 'meta'>,\n ): void\n}>()\n\n/**\n * Resolves security schemes from the OpenAPI document and combines them with their selected scopes.\n * Each item includes the scheme definition, name, and associated scopes.\n */\nconst security = computed<SecurityItem[]>(() =>\n Object.entries(selectedSecuritySchemas).map(([name, scopes = []]) => ({\n scheme: getResolvedRef(securitySchemes[name]),\n name,\n scopes,\n })),\n)\n\n/** Tracks which OAuth2 flow is currently active when multiple flows are available. */\nconst activeFlow = ref<string>('')\n\n/** Keeps the selected flow in sync with currently available flow keys. */\nconst selectedFlow = computed<string>(() => {\n const authFlowKeys = security.value.flatMap(({ scheme }) => {\n if (scheme?.type !== 'oauth2' && scheme?.type !== 'openIdConnect') {\n return []\n }\n\n return Object.keys(scheme.flows ?? {})\n })\n\n return authFlowKeys.includes(activeFlow.value) ? activeFlow.value : ''\n})\n\nconst setActiveFlow = (flow: string): void => {\n activeFlow.value = flow\n}\n\n/** Determines if multiple auth schemes are configured, which affects the UI layout. */\nconst hasMultipleSchemes = computed<boolean>(() => security.value.length > 1)\n\n/**\n * Generates a human-readable label for the security scheme.\n * Intentionally omits the description here — it is rendered separately as\n * rich text via ScalarMarkdownSummary so markdown formatting is preserved.\n */\nconst generateLabel = (\n name: string,\n scheme: SecuritySchemeObjectSecret,\n): string => {\n const capitalizedName = capitalize(name)\n\n switch (scheme.type) {\n case 'apiKey':\n return `${capitalizedName}: ${scheme.in}`\n\n case 'openIdConnect':\n case 'oauth2': {\n const firstFlow = Object.keys(scheme.flows ?? {})[0]\n const currentFlow = selectedFlow.value || firstFlow\n if (!currentFlow) {\n return capitalizedName\n }\n return `${capitalizedName}: ${currentFlow}`\n }\n\n case 'http':\n return `${capitalizedName}: ${scheme.scheme}`\n\n default:\n return capitalizedName\n }\n}\n\n/**\n * Determines if an OAuth2 flow tab should be active.\n * The first flow is active by default if no flow is explicitly selected.\n */\nconst isFlowActive = (flowKey: string, index: number): boolean =>\n selectedFlow.value === flowKey || (index === 0 && !selectedFlow.value)\n\n/** Computes the container class for static display mode. */\nconst getStaticBorderClass = (): string | false => isStatic && 'border-t'\n\nconst handleHttpSecretsUpdate = (\n payload: Omit<Partial<SecretsHttp>, 'type'>,\n name: string,\n): void =>\n eventBus.emit('auth:update:security-scheme-secrets', {\n payload: { type: 'http', ...payload },\n name,\n })\n\nconst handleApiKeySecretsUpdate = (\n payload: Omit<Partial<SecretsApiKey>, 'type'>,\n name: string,\n): void =>\n eventBus.emit('auth:update:security-scheme-secrets', {\n payload: { type: 'apiKey', ...payload },\n name,\n })\n\nconst handleApiKeySecuritySchemeUpdate = (\n payload: Omit<Partial<ApiKeyObject>, 'type'>,\n name: string,\n): void =>\n eventBus.emit('auth:update:security-scheme', {\n payload: { type: 'apiKey', ...payload },\n name,\n })\n\n/** Handles scope selection updates for OAuth2 */\nconst handleScopesUpdate = (\n name: string,\n event: { scopes: string[] },\n): void => {\n emits('update:selectedScopes', {\n id: Object.keys(selectedSecuritySchemas),\n name,\n ...event,\n })\n}\n\n/**\n * Computes dynamic classes for OAuth2 flow tabs based on active state.\n */\nconst getFlowTabClasses = (flowKey: string, index: number): string => {\n const baseClasses =\n 'floating-bg text-c-3 relative cursor-pointer border-b border-transparent py-1 text-base font-medium'\n const activeClasses = '!text-c-1 !rounded-none border-b !border-current'\n\n return isFlowActive(flowKey, index)\n ? `${baseClasses} ${activeClasses} ${isStatic ? 'opacity-100' : ''}`\n : baseClasses\n}\n</script>\n<template>\n <template\n v-for=\"{ scheme, name, scopes } in security\"\n :key=\"name\">\n <!--\n Header row for AND'ed schemes: label (bold) and description (rich text) are\n combined.\n -->\n <DataTableRow v-if=\"hasMultipleSchemes && scheme\">\n <DataTableCell\n :aria-label=\"generateLabel(name, scheme)\"\n class=\"max-h-[auto]\">\n <div class=\"bg-b-1 min-w-0 flex-1 px-3 py-1.25\">\n <p class=\"text-c-1 leading-5.5 font-medium\">\n {{ generateLabel(name, scheme) }}\n </p>\n <ScalarMarkdownSummary\n v-if=\"scheme.description\"\n class=\"auth-description text-c-2 w-full\"\n :value=\"scheme.description\" />\n </div>\n </DataTableCell>\n </DataTableRow>\n\n <!-- Description: shown for single auth schemes with descriptions -->\n <DataTableRow v-if=\"scheme?.description && !hasMultipleSchemes\">\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 Authentication -->\n <template v-if=\"scheme?.type === 'http'\">\n <!-- Bearer Token -->\n <DataTableRow v-if=\"scheme.scheme === 'bearer'\">\n <RequestAuthDataTableInput\n :containerClass=\"getStaticBorderClass()\"\n :environment\n :modelValue=\"scheme['x-scalar-secret-token']\"\n placeholder=\"Token\"\n type=\"password\"\n @update:modelValue=\"\n (v) => handleHttpSecretsUpdate({ 'x-scalar-secret-token': v }, name)\n \">\n Bearer Token\n </RequestAuthDataTableInput>\n </DataTableRow>\n\n <!-- HTTP Basic Authentication -->\n <template v-else-if=\"scheme?.scheme === 'basic'\">\n <DataTableRow>\n <RequestAuthDataTableInput\n class=\"text-c-2\"\n :environment\n :modelValue=\"scheme['x-scalar-secret-username']\"\n placeholder=\"janedoe\"\n required\n @update:modelValue=\"\n (v) =>\n handleHttpSecretsUpdate({ 'x-scalar-secret-username': v }, name)\n \">\n Username\n </RequestAuthDataTableInput>\n </DataTableRow>\n <DataTableRow>\n <RequestAuthDataTableInput\n :environment\n :modelValue=\"scheme['x-scalar-secret-password']\"\n placeholder=\"********\"\n type=\"password\"\n @update:modelValue=\"\n (v) =>\n handleHttpSecretsUpdate({ 'x-scalar-secret-password': v }, name)\n \">\n Password\n </RequestAuthDataTableInput>\n </DataTableRow>\n </template>\n </template>\n\n <!-- API Key Authentication -->\n <template v-else-if=\"scheme?.type === 'apiKey'\">\n <DataTableRow>\n <RequestAuthDataTableInput\n :containerClass=\"getStaticBorderClass()\"\n :environment\n :modelValue=\"scheme.name\"\n placeholder=\"api-key\"\n @update:modelValue=\"\n (v) => handleApiKeySecuritySchemeUpdate({ name: v }, name)\n \">\n Name\n </RequestAuthDataTableInput>\n </DataTableRow>\n <DataTableRow>\n <RequestAuthDataTableInput\n :environment\n :modelValue=\"scheme['x-scalar-secret-token']\"\n placeholder=\"QUxMIFlPVVIgQkFTRSBBUkUgQkVMT05HIFRPIFVT\"\n type=\"password\"\n @update:modelValue=\"\n (v) =>\n handleApiKeySecretsUpdate({ 'x-scalar-secret-token': v }, name)\n \">\n Value\n </RequestAuthDataTableInput>\n </DataTableRow>\n </template>\n\n <!-- OAuth 2.0 / OpenID Connect Authentication -->\n <template\n v-else-if=\"scheme?.type === 'oauth2' || scheme?.type === 'openIdConnect'\">\n <!-- OpenID Connect -->\n <OpenIDConnect\n v-if=\"\n scheme?.type === 'openIdConnect' &&\n !Object.keys(scheme.flows ?? {}).length\n \"\n :environment\n :eventBus\n :getStaticBorderClass\n :name\n :proxyUrl\n :scheme />\n\n <!-- Flow selector tabs: shown when multiple flows are available -->\n <DataTableRow v-if=\"Object.keys(scheme.flows ?? {}).length > 1\">\n <div 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=\"getFlowTabClasses(key, ind)\"\n type=\"button\"\n @click=\"setActiveFlow(key)\">\n <span class=\"relative z-10\">{{ key }}</span>\n </button>\n </div>\n </div>\n </DataTableRow>\n\n <!-- OAuth2 flow configuration -->\n <template\n v-for=\"(_flow, key, ind) in scheme.flows\"\n :key=\"key\">\n <OAuth2\n v-if=\"scheme.flows && isFlowActive(key, ind)\"\n :environment\n :eventBus\n :flows=\"scheme.flows\"\n :name\n :options\n :proxyUrl\n :scheme\n :selectedScopes=\"scopes\"\n :server\n :type=\"key\"\n @update:selectedScopes=\"(event) => handleScopesUpdate(name, event)\" />\n </template>\n </template>\n\n <!-- Scheme is missing type -->\n <div\n v-else\n class=\"text-c-3 flex items-center justify-center border-t p-4 px-4 text-center text-xs text-balance\">\n The security scheme is missing a type, please double check your OpenAPI\n document or Authentication Configuration\n </div>\n </template>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"RequestAuthTab.vue.js","names":[],"sources":["../../../../../src/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarMarkdownSummary } from '@scalar/components'\nimport type {\n SecretsApiKey,\n SecretsHttp,\n} from '@scalar/workspace-store/entities/auth'\nimport type {\n ApiReferenceEvents,\n WorkspaceEventBus,\n} from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type {\n MergedSecuritySchemes,\n SecuritySchemeObjectSecret,\n} from '@scalar/workspace-store/request-example'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type {\n ApiKeyObject,\n SecurityRequirementObject,\n ServerObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { capitalize, computed, ref } from 'vue'\n\nimport { DataTableCell, DataTableRow } from '@/v2/components/data-table'\n\nimport OAuth2, { type OAuth2Options } from './OAuth2.vue'\nimport OpenIDConnect from './OpenIDConnect.vue'\nimport RequestAuthDataTableInput from './RequestAuthDataTableInput.vue'\n\ntype SecurityItem = {\n scheme: SecuritySchemeObjectSecret | undefined\n name: string\n scopes: string[]\n}\n\nconst {\n environment,\n isStatic,\n proxyUrl,\n selectedSecuritySchemas,\n securitySchemes,\n server,\n eventBus,\n options,\n} = defineProps<{\n /** Current environment configuration */\n environment: XScalarEnvironment\n /** Controls the display of certain borders which are used when we are non-collapsible */\n isStatic: boolean\n /** Proxy URL */\n proxyUrl: string\n /** Selected security schemes*/\n selectedSecuritySchemas: SecurityRequirementObject\n /** Merged security schemes from the document and the config together with the auth store secrets */\n securitySchemes: MergedSecuritySchemes\n /** Current server configuration */\n server: ServerObject | null\n /** Event bus for authentication updates */\n eventBus: WorkspaceEventBus\n /** Any config options required for the OAuth2 flow */\n options?: OAuth2Options\n}>()\n\nconst emits = defineEmits<{\n (\n e: 'update:selectedScopes',\n payload: Omit<ApiReferenceEvents['auth:update:selected-scopes'], 'meta'>,\n ): void\n (e: 'upsert:scope', payload: ApiReferenceEvents['auth:upsert:scopes']): void\n (e: 'delete:scope', payload: ApiReferenceEvents['auth:delete:scopes']): void\n}>()\n\n/**\n * Resolves security schemes from the OpenAPI document and combines them with their selected scopes.\n * Each item includes the scheme definition, name, and associated scopes.\n */\nconst security = computed<SecurityItem[]>(() =>\n Object.entries(selectedSecuritySchemas).map(([name, scopes = []]) => ({\n scheme: getResolvedRef(securitySchemes[name]),\n name,\n scopes,\n })),\n)\n\n/** Tracks which OAuth2 flow is currently active when multiple flows are available. */\nconst activeFlow = ref<string>('')\n\n/** Keeps the selected flow in sync with currently available flow keys. */\nconst selectedFlow = computed<string>(() => {\n const authFlowKeys = security.value.flatMap(({ scheme }) => {\n if (scheme?.type !== 'oauth2' && scheme?.type !== 'openIdConnect') {\n return []\n }\n\n return Object.keys(scheme.flows ?? {})\n })\n\n return authFlowKeys.includes(activeFlow.value) ? activeFlow.value : ''\n})\n\nconst setActiveFlow = (flow: string): void => {\n activeFlow.value = flow\n}\n\n/** Determines if multiple auth schemes are configured, which affects the UI layout. */\nconst hasMultipleSchemes = computed<boolean>(() => security.value.length > 1)\n\n/**\n * Generates a human-readable label for the security scheme.\n * Intentionally omits the description here — it is rendered separately as\n * rich text via ScalarMarkdownSummary so markdown formatting is preserved.\n */\nconst generateLabel = (\n name: string,\n scheme: SecuritySchemeObjectSecret,\n): string => {\n const capitalizedName = capitalize(name)\n\n switch (scheme.type) {\n case 'apiKey':\n return `${capitalizedName}: ${scheme.in}`\n\n case 'openIdConnect':\n case 'oauth2': {\n const firstFlow = Object.keys(scheme.flows ?? {})[0]\n const currentFlow = selectedFlow.value || firstFlow\n if (!currentFlow) {\n return capitalizedName\n }\n return `${capitalizedName}: ${currentFlow}`\n }\n\n case 'http':\n return `${capitalizedName}: ${scheme.scheme}`\n\n default:\n return capitalizedName\n }\n}\n\n/**\n * Determines if an OAuth2 flow tab should be active.\n * The first flow is active by default if no flow is explicitly selected.\n */\nconst isFlowActive = (flowKey: string, index: number): boolean =>\n selectedFlow.value === flowKey || (index === 0 && !selectedFlow.value)\n\n/** Computes the container class for static display mode. */\nconst getStaticBorderClass = (): string | false => isStatic && 'border-t'\n\nconst handleHttpSecretsUpdate = (\n payload: Omit<Partial<SecretsHttp>, 'type'>,\n name: string,\n): void =>\n eventBus.emit('auth:update:security-scheme-secrets', {\n payload: { type: 'http', ...payload },\n name,\n })\n\nconst handleApiKeySecretsUpdate = (\n payload: Omit<Partial<SecretsApiKey>, 'type'>,\n name: string,\n): void =>\n eventBus.emit('auth:update:security-scheme-secrets', {\n payload: { type: 'apiKey', ...payload },\n name,\n })\n\nconst handleApiKeySecuritySchemeUpdate = (\n payload: Omit<Partial<ApiKeyObject>, 'type'>,\n name: string,\n): void =>\n eventBus.emit('auth:update:security-scheme', {\n payload: { type: 'apiKey', ...payload },\n name,\n })\n\n/** Handles scope selection updates for OAuth2 */\nconst handleScopesUpdate = (\n name: string,\n event: { scopes: string[] },\n): void => {\n emits('update:selectedScopes', {\n id: Object.keys(selectedSecuritySchemas),\n name,\n ...event,\n })\n}\n\n/** Handles scope-definition upserts (add / rename / description change) */\nconst handleScopeUpsert = (\n name: string,\n event: Omit<ApiReferenceEvents['auth:upsert:scopes'], 'name'>,\n): void => {\n emits('upsert:scope', { ...event, name })\n}\n\n/** Handles scope-definition deletes */\nconst handleScopeDelete = (\n name: string,\n event: Omit<ApiReferenceEvents['auth:delete:scopes'], 'name'>,\n): void => {\n emits('delete:scope', { ...event, name })\n}\n\n/**\n * Computes dynamic classes for OAuth2 flow tabs based on active state.\n */\nconst getFlowTabClasses = (flowKey: string, index: number): string => {\n const baseClasses =\n 'floating-bg text-c-3 relative cursor-pointer border-b border-transparent py-1 text-base font-medium'\n const activeClasses = '!text-c-1 !rounded-none border-b !border-current'\n\n return isFlowActive(flowKey, index)\n ? `${baseClasses} ${activeClasses} ${isStatic ? 'opacity-100' : ''}`\n : baseClasses\n}\n</script>\n<template>\n <template\n v-for=\"{ scheme, name, scopes } in security\"\n :key=\"name\">\n <!--\n Header row for AND'ed schemes: label (bold) and description (rich text) are\n combined.\n -->\n <DataTableRow v-if=\"hasMultipleSchemes && scheme\">\n <DataTableCell\n :aria-label=\"generateLabel(name, scheme)\"\n class=\"max-h-[auto]\">\n <div class=\"bg-b-1 min-w-0 flex-1 px-3 py-1.25\">\n <p class=\"text-c-1 leading-5.5 font-medium\">\n {{ generateLabel(name, scheme) }}\n </p>\n <ScalarMarkdownSummary\n v-if=\"scheme.description\"\n class=\"auth-description text-c-2 w-full\"\n :value=\"scheme.description\" />\n </div>\n </DataTableCell>\n </DataTableRow>\n\n <!-- Description: shown for single auth schemes with descriptions -->\n <DataTableRow v-if=\"scheme?.description && !hasMultipleSchemes\">\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 Authentication -->\n <template v-if=\"scheme?.type === 'http'\">\n <!-- Bearer Token -->\n <DataTableRow v-if=\"scheme.scheme === 'bearer'\">\n <RequestAuthDataTableInput\n :containerClass=\"getStaticBorderClass()\"\n :environment\n :modelValue=\"scheme['x-scalar-secret-token']\"\n placeholder=\"Token\"\n type=\"password\"\n @update:modelValue=\"\n (v) => handleHttpSecretsUpdate({ 'x-scalar-secret-token': v }, name)\n \">\n Bearer Token\n </RequestAuthDataTableInput>\n </DataTableRow>\n\n <!-- HTTP Basic Authentication -->\n <template v-else-if=\"scheme?.scheme === 'basic'\">\n <DataTableRow>\n <RequestAuthDataTableInput\n class=\"text-c-2\"\n :environment\n :modelValue=\"scheme['x-scalar-secret-username']\"\n placeholder=\"janedoe\"\n required\n @update:modelValue=\"\n (v) =>\n handleHttpSecretsUpdate({ 'x-scalar-secret-username': v }, name)\n \">\n Username\n </RequestAuthDataTableInput>\n </DataTableRow>\n <DataTableRow>\n <RequestAuthDataTableInput\n :environment\n :modelValue=\"scheme['x-scalar-secret-password']\"\n placeholder=\"********\"\n type=\"password\"\n @update:modelValue=\"\n (v) =>\n handleHttpSecretsUpdate({ 'x-scalar-secret-password': v }, name)\n \">\n Password\n </RequestAuthDataTableInput>\n </DataTableRow>\n </template>\n </template>\n\n <!-- API Key Authentication -->\n <template v-else-if=\"scheme?.type === 'apiKey'\">\n <DataTableRow>\n <RequestAuthDataTableInput\n :containerClass=\"getStaticBorderClass()\"\n :environment\n :modelValue=\"scheme.name\"\n placeholder=\"api-key\"\n @update:modelValue=\"\n (v) => handleApiKeySecuritySchemeUpdate({ name: v }, name)\n \">\n Name\n </RequestAuthDataTableInput>\n </DataTableRow>\n <DataTableRow>\n <RequestAuthDataTableInput\n :environment\n :modelValue=\"scheme['x-scalar-secret-token']\"\n placeholder=\"QUxMIFlPVVIgQkFTRSBBUkUgQkVMT05HIFRPIFVT\"\n type=\"password\"\n @update:modelValue=\"\n (v) =>\n handleApiKeySecretsUpdate({ 'x-scalar-secret-token': v }, name)\n \">\n Value\n </RequestAuthDataTableInput>\n </DataTableRow>\n </template>\n\n <!-- OAuth 2.0 / OpenID Connect Authentication -->\n <template\n v-else-if=\"scheme?.type === 'oauth2' || scheme?.type === 'openIdConnect'\">\n <!-- OpenID Connect -->\n <OpenIDConnect\n v-if=\"\n scheme?.type === 'openIdConnect' &&\n !Object.keys(scheme.flows ?? {}).length\n \"\n :environment\n :eventBus\n :getStaticBorderClass\n :name\n :proxyUrl\n :scheme />\n\n <!-- Flow selector tabs: shown when multiple flows are available -->\n <DataTableRow v-if=\"Object.keys(scheme.flows ?? {}).length > 1\">\n <div 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=\"getFlowTabClasses(key, ind)\"\n type=\"button\"\n @click=\"setActiveFlow(key)\">\n <span class=\"relative z-10\">{{ key }}</span>\n </button>\n </div>\n </div>\n </DataTableRow>\n\n <!-- OAuth2 flow configuration -->\n <template\n v-for=\"(_flow, key, ind) in scheme.flows\"\n :key=\"key\">\n <OAuth2\n v-if=\"scheme.flows && isFlowActive(key, ind)\"\n :environment\n :eventBus\n :flows=\"scheme.flows\"\n :name\n :options\n :proxyUrl\n :scheme\n :selectedScopes=\"scopes\"\n :server\n :type=\"key\"\n @delete:scope=\"(event) => handleScopeDelete(name, event)\"\n @update:selectedScopes=\"(event) => handleScopesUpdate(name, event)\"\n @upsert:scope=\"(event) => handleScopeUpsert(name, event)\" />\n </template>\n </template>\n\n <!-- Scheme is missing type -->\n <div\n v-else\n class=\"text-c-3 flex items-center justify-center border-t p-4 px-4 text-center text-xs text-balance\">\n The security scheme is missing a type, please double check your OpenAPI\n document or Authentication Configuration\n </div>\n </template>\n</template>\n"],"mappings":""}
@@ -29,7 +29,11 @@ var RequestAuthTab_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
29
29
  eventBus: {},
30
30
  options: {}
31
31
  },
32
- emits: ["update:selectedScopes"],
32
+ emits: [
33
+ "update:selectedScopes",
34
+ "upsert:scope",
35
+ "delete:scope"
36
+ ],
33
37
  setup(__props, { emit: __emit }) {
34
38
  const emits = __emit;
35
39
  /**
@@ -111,6 +115,20 @@ var RequestAuthTab_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
111
115
  ...event
112
116
  });
113
117
  };
118
+ /** Handles scope-definition upserts (add / rename / description change) */
119
+ const handleScopeUpsert = (name, event) => {
120
+ emits("upsert:scope", {
121
+ ...event,
122
+ name
123
+ });
124
+ };
125
+ /** Handles scope-definition deletes */
126
+ const handleScopeDelete = (name, event) => {
127
+ emits("delete:scope", {
128
+ ...event,
129
+ name
130
+ });
131
+ };
114
132
  /**
115
133
  * Computes dynamic classes for OAuth2 flow tabs based on active state.
116
134
  */
@@ -272,7 +290,9 @@ var RequestAuthTab_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
272
290
  selectedScopes: scopes,
273
291
  server: __props.server,
274
292
  type: key,
275
- "onUpdate:selectedScopes": (event) => handleScopesUpdate(name, event)
293
+ "onDelete:scope": (event) => handleScopeDelete(name, event),
294
+ "onUpdate:selectedScopes": (event) => handleScopesUpdate(name, event),
295
+ "onUpsert:scope": (event) => handleScopeUpsert(name, event)
276
296
  }, null, 8, [
277
297
  "environment",
278
298
  "eventBus",
@@ -284,7 +304,9 @@ var RequestAuthTab_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
284
304
  "selectedScopes",
285
305
  "server",
286
306
  "type",
287
- "onUpdate:selectedScopes"
307
+ "onDelete:scope",
308
+ "onUpdate:selectedScopes",
309
+ "onUpsert:scope"
288
310
  ])) : createCommentVNode("", true)], 64);
289
311
  }), 128))
290
312
  ], 64)) : (openBlock(), createElementBlock("div", _hoisted_7, " The security scheme is missing a type, please double check your OpenAPI document or Authentication Configuration "))
@@ -1 +1 @@
1
- {"version":3,"file":"RequestAuthTab.vue.script.js","names":[],"sources":["../../../../../src/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarMarkdownSummary } from '@scalar/components'\nimport type {\n SecretsApiKey,\n SecretsHttp,\n} from '@scalar/workspace-store/entities/auth'\nimport type {\n ApiReferenceEvents,\n WorkspaceEventBus,\n} from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type {\n MergedSecuritySchemes,\n SecuritySchemeObjectSecret,\n} from '@scalar/workspace-store/request-example'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type {\n ApiKeyObject,\n SecurityRequirementObject,\n ServerObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { capitalize, computed, ref } from 'vue'\n\nimport { DataTableCell, DataTableRow } from '@/v2/components/data-table'\n\nimport OAuth2, { type OAuth2Options } from './OAuth2.vue'\nimport OpenIDConnect from './OpenIDConnect.vue'\nimport RequestAuthDataTableInput from './RequestAuthDataTableInput.vue'\n\ntype SecurityItem = {\n scheme: SecuritySchemeObjectSecret | undefined\n name: string\n scopes: string[]\n}\n\nconst {\n environment,\n isStatic,\n proxyUrl,\n selectedSecuritySchemas,\n securitySchemes,\n server,\n eventBus,\n options,\n} = defineProps<{\n /** Current environment configuration */\n environment: XScalarEnvironment\n /** Controls the display of certain borders which are used when we are non-collapsible */\n isStatic: boolean\n /** Proxy URL */\n proxyUrl: string\n /** Selected security schemes*/\n selectedSecuritySchemas: SecurityRequirementObject\n /** Merged security schemes from the document and the config together with the auth store secrets */\n securitySchemes: MergedSecuritySchemes\n /** Current server configuration */\n server: ServerObject | null\n /** Event bus for authentication updates */\n eventBus: WorkspaceEventBus\n /** Any config options required for the OAuth2 flow */\n options?: OAuth2Options\n}>()\n\nconst emits = defineEmits<{\n (\n e: 'update:selectedScopes',\n payload: Omit<ApiReferenceEvents['auth:update:selected-scopes'], 'meta'>,\n ): void\n}>()\n\n/**\n * Resolves security schemes from the OpenAPI document and combines them with their selected scopes.\n * Each item includes the scheme definition, name, and associated scopes.\n */\nconst security = computed<SecurityItem[]>(() =>\n Object.entries(selectedSecuritySchemas).map(([name, scopes = []]) => ({\n scheme: getResolvedRef(securitySchemes[name]),\n name,\n scopes,\n })),\n)\n\n/** Tracks which OAuth2 flow is currently active when multiple flows are available. */\nconst activeFlow = ref<string>('')\n\n/** Keeps the selected flow in sync with currently available flow keys. */\nconst selectedFlow = computed<string>(() => {\n const authFlowKeys = security.value.flatMap(({ scheme }) => {\n if (scheme?.type !== 'oauth2' && scheme?.type !== 'openIdConnect') {\n return []\n }\n\n return Object.keys(scheme.flows ?? {})\n })\n\n return authFlowKeys.includes(activeFlow.value) ? activeFlow.value : ''\n})\n\nconst setActiveFlow = (flow: string): void => {\n activeFlow.value = flow\n}\n\n/** Determines if multiple auth schemes are configured, which affects the UI layout. */\nconst hasMultipleSchemes = computed<boolean>(() => security.value.length > 1)\n\n/**\n * Generates a human-readable label for the security scheme.\n * Intentionally omits the description here — it is rendered separately as\n * rich text via ScalarMarkdownSummary so markdown formatting is preserved.\n */\nconst generateLabel = (\n name: string,\n scheme: SecuritySchemeObjectSecret,\n): string => {\n const capitalizedName = capitalize(name)\n\n switch (scheme.type) {\n case 'apiKey':\n return `${capitalizedName}: ${scheme.in}`\n\n case 'openIdConnect':\n case 'oauth2': {\n const firstFlow = Object.keys(scheme.flows ?? {})[0]\n const currentFlow = selectedFlow.value || firstFlow\n if (!currentFlow) {\n return capitalizedName\n }\n return `${capitalizedName}: ${currentFlow}`\n }\n\n case 'http':\n return `${capitalizedName}: ${scheme.scheme}`\n\n default:\n return capitalizedName\n }\n}\n\n/**\n * Determines if an OAuth2 flow tab should be active.\n * The first flow is active by default if no flow is explicitly selected.\n */\nconst isFlowActive = (flowKey: string, index: number): boolean =>\n selectedFlow.value === flowKey || (index === 0 && !selectedFlow.value)\n\n/** Computes the container class for static display mode. */\nconst getStaticBorderClass = (): string | false => isStatic && 'border-t'\n\nconst handleHttpSecretsUpdate = (\n payload: Omit<Partial<SecretsHttp>, 'type'>,\n name: string,\n): void =>\n eventBus.emit('auth:update:security-scheme-secrets', {\n payload: { type: 'http', ...payload },\n name,\n })\n\nconst handleApiKeySecretsUpdate = (\n payload: Omit<Partial<SecretsApiKey>, 'type'>,\n name: string,\n): void =>\n eventBus.emit('auth:update:security-scheme-secrets', {\n payload: { type: 'apiKey', ...payload },\n name,\n })\n\nconst handleApiKeySecuritySchemeUpdate = (\n payload: Omit<Partial<ApiKeyObject>, 'type'>,\n name: string,\n): void =>\n eventBus.emit('auth:update:security-scheme', {\n payload: { type: 'apiKey', ...payload },\n name,\n })\n\n/** Handles scope selection updates for OAuth2 */\nconst handleScopesUpdate = (\n name: string,\n event: { scopes: string[] },\n): void => {\n emits('update:selectedScopes', {\n id: Object.keys(selectedSecuritySchemas),\n name,\n ...event,\n })\n}\n\n/**\n * Computes dynamic classes for OAuth2 flow tabs based on active state.\n */\nconst getFlowTabClasses = (flowKey: string, index: number): string => {\n const baseClasses =\n 'floating-bg text-c-3 relative cursor-pointer border-b border-transparent py-1 text-base font-medium'\n const activeClasses = '!text-c-1 !rounded-none border-b !border-current'\n\n return isFlowActive(flowKey, index)\n ? `${baseClasses} ${activeClasses} ${isStatic ? 'opacity-100' : ''}`\n : baseClasses\n}\n</script>\n<template>\n <template\n v-for=\"{ scheme, name, scopes } in security\"\n :key=\"name\">\n <!--\n Header row for AND'ed schemes: label (bold) and description (rich text) are\n combined.\n -->\n <DataTableRow v-if=\"hasMultipleSchemes && scheme\">\n <DataTableCell\n :aria-label=\"generateLabel(name, scheme)\"\n class=\"max-h-[auto]\">\n <div class=\"bg-b-1 min-w-0 flex-1 px-3 py-1.25\">\n <p class=\"text-c-1 leading-5.5 font-medium\">\n {{ generateLabel(name, scheme) }}\n </p>\n <ScalarMarkdownSummary\n v-if=\"scheme.description\"\n class=\"auth-description text-c-2 w-full\"\n :value=\"scheme.description\" />\n </div>\n </DataTableCell>\n </DataTableRow>\n\n <!-- Description: shown for single auth schemes with descriptions -->\n <DataTableRow v-if=\"scheme?.description && !hasMultipleSchemes\">\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 Authentication -->\n <template v-if=\"scheme?.type === 'http'\">\n <!-- Bearer Token -->\n <DataTableRow v-if=\"scheme.scheme === 'bearer'\">\n <RequestAuthDataTableInput\n :containerClass=\"getStaticBorderClass()\"\n :environment\n :modelValue=\"scheme['x-scalar-secret-token']\"\n placeholder=\"Token\"\n type=\"password\"\n @update:modelValue=\"\n (v) => handleHttpSecretsUpdate({ 'x-scalar-secret-token': v }, name)\n \">\n Bearer Token\n </RequestAuthDataTableInput>\n </DataTableRow>\n\n <!-- HTTP Basic Authentication -->\n <template v-else-if=\"scheme?.scheme === 'basic'\">\n <DataTableRow>\n <RequestAuthDataTableInput\n class=\"text-c-2\"\n :environment\n :modelValue=\"scheme['x-scalar-secret-username']\"\n placeholder=\"janedoe\"\n required\n @update:modelValue=\"\n (v) =>\n handleHttpSecretsUpdate({ 'x-scalar-secret-username': v }, name)\n \">\n Username\n </RequestAuthDataTableInput>\n </DataTableRow>\n <DataTableRow>\n <RequestAuthDataTableInput\n :environment\n :modelValue=\"scheme['x-scalar-secret-password']\"\n placeholder=\"********\"\n type=\"password\"\n @update:modelValue=\"\n (v) =>\n handleHttpSecretsUpdate({ 'x-scalar-secret-password': v }, name)\n \">\n Password\n </RequestAuthDataTableInput>\n </DataTableRow>\n </template>\n </template>\n\n <!-- API Key Authentication -->\n <template v-else-if=\"scheme?.type === 'apiKey'\">\n <DataTableRow>\n <RequestAuthDataTableInput\n :containerClass=\"getStaticBorderClass()\"\n :environment\n :modelValue=\"scheme.name\"\n placeholder=\"api-key\"\n @update:modelValue=\"\n (v) => handleApiKeySecuritySchemeUpdate({ name: v }, name)\n \">\n Name\n </RequestAuthDataTableInput>\n </DataTableRow>\n <DataTableRow>\n <RequestAuthDataTableInput\n :environment\n :modelValue=\"scheme['x-scalar-secret-token']\"\n placeholder=\"QUxMIFlPVVIgQkFTRSBBUkUgQkVMT05HIFRPIFVT\"\n type=\"password\"\n @update:modelValue=\"\n (v) =>\n handleApiKeySecretsUpdate({ 'x-scalar-secret-token': v }, name)\n \">\n Value\n </RequestAuthDataTableInput>\n </DataTableRow>\n </template>\n\n <!-- OAuth 2.0 / OpenID Connect Authentication -->\n <template\n v-else-if=\"scheme?.type === 'oauth2' || scheme?.type === 'openIdConnect'\">\n <!-- OpenID Connect -->\n <OpenIDConnect\n v-if=\"\n scheme?.type === 'openIdConnect' &&\n !Object.keys(scheme.flows ?? {}).length\n \"\n :environment\n :eventBus\n :getStaticBorderClass\n :name\n :proxyUrl\n :scheme />\n\n <!-- Flow selector tabs: shown when multiple flows are available -->\n <DataTableRow v-if=\"Object.keys(scheme.flows ?? {}).length > 1\">\n <div 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=\"getFlowTabClasses(key, ind)\"\n type=\"button\"\n @click=\"setActiveFlow(key)\">\n <span class=\"relative z-10\">{{ key }}</span>\n </button>\n </div>\n </div>\n </DataTableRow>\n\n <!-- OAuth2 flow configuration -->\n <template\n v-for=\"(_flow, key, ind) in scheme.flows\"\n :key=\"key\">\n <OAuth2\n v-if=\"scheme.flows && isFlowActive(key, ind)\"\n :environment\n :eventBus\n :flows=\"scheme.flows\"\n :name\n :options\n :proxyUrl\n :scheme\n :selectedScopes=\"scopes\"\n :server\n :type=\"key\"\n @update:selectedScopes=\"(event) => handleScopesUpdate(name, event)\" />\n </template>\n </template>\n\n <!-- Scheme is missing type -->\n <div\n v-else\n class=\"text-c-3 flex items-center justify-center border-t p-4 px-4 text-center text-xs text-balance\">\n The security scheme is missing a type, please double check your OpenAPI\n document or Authentication Configuration\n </div>\n </template>\n</template>\n"],"mappings":"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"}
1
+ {"version":3,"file":"RequestAuthTab.vue.script.js","names":[],"sources":["../../../../../src/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarMarkdownSummary } from '@scalar/components'\nimport type {\n SecretsApiKey,\n SecretsHttp,\n} from '@scalar/workspace-store/entities/auth'\nimport type {\n ApiReferenceEvents,\n WorkspaceEventBus,\n} from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type {\n MergedSecuritySchemes,\n SecuritySchemeObjectSecret,\n} from '@scalar/workspace-store/request-example'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type {\n ApiKeyObject,\n SecurityRequirementObject,\n ServerObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { capitalize, computed, ref } from 'vue'\n\nimport { DataTableCell, DataTableRow } from '@/v2/components/data-table'\n\nimport OAuth2, { type OAuth2Options } from './OAuth2.vue'\nimport OpenIDConnect from './OpenIDConnect.vue'\nimport RequestAuthDataTableInput from './RequestAuthDataTableInput.vue'\n\ntype SecurityItem = {\n scheme: SecuritySchemeObjectSecret | undefined\n name: string\n scopes: string[]\n}\n\nconst {\n environment,\n isStatic,\n proxyUrl,\n selectedSecuritySchemas,\n securitySchemes,\n server,\n eventBus,\n options,\n} = defineProps<{\n /** Current environment configuration */\n environment: XScalarEnvironment\n /** Controls the display of certain borders which are used when we are non-collapsible */\n isStatic: boolean\n /** Proxy URL */\n proxyUrl: string\n /** Selected security schemes*/\n selectedSecuritySchemas: SecurityRequirementObject\n /** Merged security schemes from the document and the config together with the auth store secrets */\n securitySchemes: MergedSecuritySchemes\n /** Current server configuration */\n server: ServerObject | null\n /** Event bus for authentication updates */\n eventBus: WorkspaceEventBus\n /** Any config options required for the OAuth2 flow */\n options?: OAuth2Options\n}>()\n\nconst emits = defineEmits<{\n (\n e: 'update:selectedScopes',\n payload: Omit<ApiReferenceEvents['auth:update:selected-scopes'], 'meta'>,\n ): void\n (e: 'upsert:scope', payload: ApiReferenceEvents['auth:upsert:scopes']): void\n (e: 'delete:scope', payload: ApiReferenceEvents['auth:delete:scopes']): void\n}>()\n\n/**\n * Resolves security schemes from the OpenAPI document and combines them with their selected scopes.\n * Each item includes the scheme definition, name, and associated scopes.\n */\nconst security = computed<SecurityItem[]>(() =>\n Object.entries(selectedSecuritySchemas).map(([name, scopes = []]) => ({\n scheme: getResolvedRef(securitySchemes[name]),\n name,\n scopes,\n })),\n)\n\n/** Tracks which OAuth2 flow is currently active when multiple flows are available. */\nconst activeFlow = ref<string>('')\n\n/** Keeps the selected flow in sync with currently available flow keys. */\nconst selectedFlow = computed<string>(() => {\n const authFlowKeys = security.value.flatMap(({ scheme }) => {\n if (scheme?.type !== 'oauth2' && scheme?.type !== 'openIdConnect') {\n return []\n }\n\n return Object.keys(scheme.flows ?? {})\n })\n\n return authFlowKeys.includes(activeFlow.value) ? activeFlow.value : ''\n})\n\nconst setActiveFlow = (flow: string): void => {\n activeFlow.value = flow\n}\n\n/** Determines if multiple auth schemes are configured, which affects the UI layout. */\nconst hasMultipleSchemes = computed<boolean>(() => security.value.length > 1)\n\n/**\n * Generates a human-readable label for the security scheme.\n * Intentionally omits the description here — it is rendered separately as\n * rich text via ScalarMarkdownSummary so markdown formatting is preserved.\n */\nconst generateLabel = (\n name: string,\n scheme: SecuritySchemeObjectSecret,\n): string => {\n const capitalizedName = capitalize(name)\n\n switch (scheme.type) {\n case 'apiKey':\n return `${capitalizedName}: ${scheme.in}`\n\n case 'openIdConnect':\n case 'oauth2': {\n const firstFlow = Object.keys(scheme.flows ?? {})[0]\n const currentFlow = selectedFlow.value || firstFlow\n if (!currentFlow) {\n return capitalizedName\n }\n return `${capitalizedName}: ${currentFlow}`\n }\n\n case 'http':\n return `${capitalizedName}: ${scheme.scheme}`\n\n default:\n return capitalizedName\n }\n}\n\n/**\n * Determines if an OAuth2 flow tab should be active.\n * The first flow is active by default if no flow is explicitly selected.\n */\nconst isFlowActive = (flowKey: string, index: number): boolean =>\n selectedFlow.value === flowKey || (index === 0 && !selectedFlow.value)\n\n/** Computes the container class for static display mode. */\nconst getStaticBorderClass = (): string | false => isStatic && 'border-t'\n\nconst handleHttpSecretsUpdate = (\n payload: Omit<Partial<SecretsHttp>, 'type'>,\n name: string,\n): void =>\n eventBus.emit('auth:update:security-scheme-secrets', {\n payload: { type: 'http', ...payload },\n name,\n })\n\nconst handleApiKeySecretsUpdate = (\n payload: Omit<Partial<SecretsApiKey>, 'type'>,\n name: string,\n): void =>\n eventBus.emit('auth:update:security-scheme-secrets', {\n payload: { type: 'apiKey', ...payload },\n name,\n })\n\nconst handleApiKeySecuritySchemeUpdate = (\n payload: Omit<Partial<ApiKeyObject>, 'type'>,\n name: string,\n): void =>\n eventBus.emit('auth:update:security-scheme', {\n payload: { type: 'apiKey', ...payload },\n name,\n })\n\n/** Handles scope selection updates for OAuth2 */\nconst handleScopesUpdate = (\n name: string,\n event: { scopes: string[] },\n): void => {\n emits('update:selectedScopes', {\n id: Object.keys(selectedSecuritySchemas),\n name,\n ...event,\n })\n}\n\n/** Handles scope-definition upserts (add / rename / description change) */\nconst handleScopeUpsert = (\n name: string,\n event: Omit<ApiReferenceEvents['auth:upsert:scopes'], 'name'>,\n): void => {\n emits('upsert:scope', { ...event, name })\n}\n\n/** Handles scope-definition deletes */\nconst handleScopeDelete = (\n name: string,\n event: Omit<ApiReferenceEvents['auth:delete:scopes'], 'name'>,\n): void => {\n emits('delete:scope', { ...event, name })\n}\n\n/**\n * Computes dynamic classes for OAuth2 flow tabs based on active state.\n */\nconst getFlowTabClasses = (flowKey: string, index: number): string => {\n const baseClasses =\n 'floating-bg text-c-3 relative cursor-pointer border-b border-transparent py-1 text-base font-medium'\n const activeClasses = '!text-c-1 !rounded-none border-b !border-current'\n\n return isFlowActive(flowKey, index)\n ? `${baseClasses} ${activeClasses} ${isStatic ? 'opacity-100' : ''}`\n : baseClasses\n}\n</script>\n<template>\n <template\n v-for=\"{ scheme, name, scopes } in security\"\n :key=\"name\">\n <!--\n Header row for AND'ed schemes: label (bold) and description (rich text) are\n combined.\n -->\n <DataTableRow v-if=\"hasMultipleSchemes && scheme\">\n <DataTableCell\n :aria-label=\"generateLabel(name, scheme)\"\n class=\"max-h-[auto]\">\n <div class=\"bg-b-1 min-w-0 flex-1 px-3 py-1.25\">\n <p class=\"text-c-1 leading-5.5 font-medium\">\n {{ generateLabel(name, scheme) }}\n </p>\n <ScalarMarkdownSummary\n v-if=\"scheme.description\"\n class=\"auth-description text-c-2 w-full\"\n :value=\"scheme.description\" />\n </div>\n </DataTableCell>\n </DataTableRow>\n\n <!-- Description: shown for single auth schemes with descriptions -->\n <DataTableRow v-if=\"scheme?.description && !hasMultipleSchemes\">\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 Authentication -->\n <template v-if=\"scheme?.type === 'http'\">\n <!-- Bearer Token -->\n <DataTableRow v-if=\"scheme.scheme === 'bearer'\">\n <RequestAuthDataTableInput\n :containerClass=\"getStaticBorderClass()\"\n :environment\n :modelValue=\"scheme['x-scalar-secret-token']\"\n placeholder=\"Token\"\n type=\"password\"\n @update:modelValue=\"\n (v) => handleHttpSecretsUpdate({ 'x-scalar-secret-token': v }, name)\n \">\n Bearer Token\n </RequestAuthDataTableInput>\n </DataTableRow>\n\n <!-- HTTP Basic Authentication -->\n <template v-else-if=\"scheme?.scheme === 'basic'\">\n <DataTableRow>\n <RequestAuthDataTableInput\n class=\"text-c-2\"\n :environment\n :modelValue=\"scheme['x-scalar-secret-username']\"\n placeholder=\"janedoe\"\n required\n @update:modelValue=\"\n (v) =>\n handleHttpSecretsUpdate({ 'x-scalar-secret-username': v }, name)\n \">\n Username\n </RequestAuthDataTableInput>\n </DataTableRow>\n <DataTableRow>\n <RequestAuthDataTableInput\n :environment\n :modelValue=\"scheme['x-scalar-secret-password']\"\n placeholder=\"********\"\n type=\"password\"\n @update:modelValue=\"\n (v) =>\n handleHttpSecretsUpdate({ 'x-scalar-secret-password': v }, name)\n \">\n Password\n </RequestAuthDataTableInput>\n </DataTableRow>\n </template>\n </template>\n\n <!-- API Key Authentication -->\n <template v-else-if=\"scheme?.type === 'apiKey'\">\n <DataTableRow>\n <RequestAuthDataTableInput\n :containerClass=\"getStaticBorderClass()\"\n :environment\n :modelValue=\"scheme.name\"\n placeholder=\"api-key\"\n @update:modelValue=\"\n (v) => handleApiKeySecuritySchemeUpdate({ name: v }, name)\n \">\n Name\n </RequestAuthDataTableInput>\n </DataTableRow>\n <DataTableRow>\n <RequestAuthDataTableInput\n :environment\n :modelValue=\"scheme['x-scalar-secret-token']\"\n placeholder=\"QUxMIFlPVVIgQkFTRSBBUkUgQkVMT05HIFRPIFVT\"\n type=\"password\"\n @update:modelValue=\"\n (v) =>\n handleApiKeySecretsUpdate({ 'x-scalar-secret-token': v }, name)\n \">\n Value\n </RequestAuthDataTableInput>\n </DataTableRow>\n </template>\n\n <!-- OAuth 2.0 / OpenID Connect Authentication -->\n <template\n v-else-if=\"scheme?.type === 'oauth2' || scheme?.type === 'openIdConnect'\">\n <!-- OpenID Connect -->\n <OpenIDConnect\n v-if=\"\n scheme?.type === 'openIdConnect' &&\n !Object.keys(scheme.flows ?? {}).length\n \"\n :environment\n :eventBus\n :getStaticBorderClass\n :name\n :proxyUrl\n :scheme />\n\n <!-- Flow selector tabs: shown when multiple flows are available -->\n <DataTableRow v-if=\"Object.keys(scheme.flows ?? {}).length > 1\">\n <div 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=\"getFlowTabClasses(key, ind)\"\n type=\"button\"\n @click=\"setActiveFlow(key)\">\n <span class=\"relative z-10\">{{ key }}</span>\n </button>\n </div>\n </div>\n </DataTableRow>\n\n <!-- OAuth2 flow configuration -->\n <template\n v-for=\"(_flow, key, ind) in scheme.flows\"\n :key=\"key\">\n <OAuth2\n v-if=\"scheme.flows && isFlowActive(key, ind)\"\n :environment\n :eventBus\n :flows=\"scheme.flows\"\n :name\n :options\n :proxyUrl\n :scheme\n :selectedScopes=\"scopes\"\n :server\n :type=\"key\"\n @delete:scope=\"(event) => handleScopeDelete(name, event)\"\n @update:selectedScopes=\"(event) => handleScopesUpdate(name, event)\"\n @upsert:scope=\"(event) => handleScopeUpsert(name, event)\" />\n </template>\n </template>\n\n <!-- Scheme is missing type -->\n <div\n v-else\n class=\"text-c-3 flex items-center justify-center border-t p-4 px-4 text-center text-xs text-balance\">\n The security scheme is missing a type, please double check your OpenAPI\n document or Authentication Configuration\n </div>\n </template>\n</template>\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../../../../src/v2/blocks/scalar-auth-selector-block/helpers/oauth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AAK3E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAA;AAErF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAA;AAchG,KAAK,gBAAgB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AAE1F,MAAM,MAAM,YAAY,GAAG;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,kEAAkE;AAClE,KAAK,gBAAgB,GAAG,OAAO,CAAC,MAAM,sBAAsB,EAAE,UAAU,CAAC,CAAA;AAEzE;;;GAGG;AACH,eAAO,MAAM,YAAY,GACvB,cAAc,YAAY,GAAG,IAAI,EACjC,uBAAsB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,KAChD,MAIA,CAAA;AAEH;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAC9B,cAAc,YAAY,GAAG,IAAI,EACjC,uBAAsB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,KAChD,gBAWF,CAAA;AAuCD;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAC1B,OAAO,sBAAsB,EAC7B,MAAM,MAAM,sBAAsB,EAClC,gBAAgB,MAAM,EAAE;AACxB,wEAAwE;AACxE,cAAc,YAAY,GAAG,IAAI;AACjC,kCAAkC;AAClC,UAAU,MAAM;AAChB,6FAA6F;AAC7F,uBAAsB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,KAChD,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAsKrC,CAAA;AAoID;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAC7B,OAAO,sBAAsB,EAC7B,MAAM,gBAAgB;AACtB,kCAAkC;AAClC,UAAU,MAAM;AAChB,+DAA+D;AAC/D,cAAc,YAAY,GAAG,IAAI;AACjC,2EAA2E;AAC3E,uBAAsB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,KAChD,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAoFrC,CAAA"}
1
+ {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../../../../src/v2/blocks/scalar-auth-selector-block/helpers/oauth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AAK3E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAA;AAErF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAA;AA6BhG,KAAK,gBAAgB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AAE1F,MAAM,MAAM,YAAY,GAAG;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,kEAAkE;AAClE,KAAK,gBAAgB,GAAG,OAAO,CAAC,MAAM,sBAAsB,EAAE,UAAU,CAAC,CAAA;AAEzE;;;GAGG;AACH,eAAO,MAAM,YAAY,GACvB,cAAc,YAAY,GAAG,IAAI,EACjC,uBAAsB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,KAChD,MAIA,CAAA;AAEH;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAC9B,cAAc,YAAY,GAAG,IAAI,EACjC,uBAAsB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,KAChD,gBAWF,CAAA;AAuCD;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAC1B,OAAO,sBAAsB,EAC7B,MAAM,MAAM,sBAAsB,EAClC,gBAAgB,MAAM,EAAE;AACxB,wEAAwE;AACxE,cAAc,YAAY,GAAG,IAAI;AACjC,kCAAkC;AAClC,UAAU,MAAM;AAChB,6FAA6F;AAC7F,uBAAsB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,KAChD,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAsKrC,CAAA;AAqID;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAC7B,OAAO,sBAAsB,EAC7B,MAAM,gBAAgB;AACtB,kCAAkC;AAClC,UAAU,MAAM;AAChB,+DAA+D;AAC/D,cAAc,YAAY,GAAG,IAAI;AACjC,2EAA2E;AAC3E,uBAAsB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,KAChD,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAqFrC,CAAA"}
@@ -1,11 +1,18 @@
1
1
  import { getOAuthCallbackData } from "./oauth-callback.js";
2
- import { makeUrlAbsolute } from "@scalar/helpers/url/make-url-absolute";
3
2
  import { getServerVariables } from "@scalar/workspace-store/request-example";
3
+ import { makeUrlAbsolute } from "@scalar/helpers/url/make-url-absolute";
4
4
  import { encode, fromUint8Array } from "js-base64";
5
5
  import { replaceEnvVariables, replacePathVariables } from "@scalar/helpers/regex/replace-variables";
6
6
  import { isRelativePath } from "@scalar/helpers/url/is-relative-path";
7
7
  import { shouldUseProxy } from "@scalar/helpers/url/redirect-to-proxy";
8
8
  //#region src/v2/blocks/scalar-auth-selector-block/helpers/oauth.ts
9
+ var authorizationCodeUsesPkcePublicClient = (flowType, flow) => {
10
+ if (flowType !== "authorizationCode") return false;
11
+ const authCode = flow;
12
+ if (!authCode) return false;
13
+ const pkceMode = authCode["x-usePkce"];
14
+ return pkceMode === "SHA-256" || pkceMode === "plain";
15
+ };
9
16
  /**
10
17
  * Resolves the active server URL using OpenAPI server variables first, then
11
18
  * Scalar environment variables.
@@ -142,7 +149,8 @@ var authorizeServers = async (flows, type, scopes, { code, pkce, proxyUrl } = {}
142
149
  if (scopes && (type === "clientCredentials" || type === "password")) formData.set("scope", scopes);
143
150
  /** Where to add the credentials */
144
151
  const addCredentialsToBody = flow["x-scalar-credentials-location"] === "body";
145
- const hasClientSecret = Boolean(flow["x-scalar-secret-client-secret"]);
152
+ const pkcePublicClient = authorizationCodeUsesPkcePublicClient(type, flow);
153
+ const hasClientSecret = Boolean(flow["x-scalar-secret-client-secret"]) && !pkcePublicClient;
146
154
  if (addCredentialsToBody || type === "authorizationCode" && !hasClientSecret) formData.set("client_id", flow["x-scalar-secret-client-id"]);
147
155
  if (addCredentialsToBody && hasClientSecret) formData.set("client_secret", flow["x-scalar-secret-client-secret"]);
148
156
  if ("x-scalar-secret-redirect-uri" in flow && flow["x-scalar-secret-redirect-uri"]) formData.set("redirect_uri", flow["x-scalar-secret-redirect-uri"]);
@@ -195,7 +203,8 @@ var refreshOauth2Token = async (flows, type, proxyUrl, activeServer, environment
195
203
  formData.set("grant_type", "refresh_token");
196
204
  formData.set("refresh_token", refreshToken);
197
205
  const addCredentialsToBody = flow["x-scalar-credentials-location"] === "body";
198
- const hasClientSecret = Boolean(flow["x-scalar-secret-client-secret"]);
206
+ const pkcePublicClient = authorizationCodeUsesPkcePublicClient(type, flow);
207
+ const hasClientSecret = Boolean(flow["x-scalar-secret-client-secret"]) && !pkcePublicClient;
199
208
  if (addCredentialsToBody || type === "authorizationCode" && !hasClientSecret) formData.set("client_id", flow["x-scalar-secret-client-id"]);
200
209
  if (addCredentialsToBody && hasClientSecret) formData.set("client_secret", flow["x-scalar-secret-client-secret"]);
201
210
  if (flow["x-scalar-security-body"]) Object.entries(flow["x-scalar-security-body"]).forEach(([key, value]) => {