@scalar/api-client 3.6.1 → 3.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (905) hide show
  1. package/CHANGELOG.md +157 -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 +68 -97
  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,6 +1,6 @@
1
- import { getOperationExampleKey } from "../../operation-block/helpers/response-cache.js";
2
- import CodeInput_default from "../../../components/code-input/CodeInput.vue.js";
3
1
  import HttpMethod_default from "../../../../components/HttpMethod/HttpMethod.vue.js";
2
+ import CodeInput_default from "../../../components/code-input/CodeInput.vue.js";
3
+ import { getOperationExampleKey } from "../../operation-block/helpers/response-cache.js";
4
4
  import { isPlaceholderPath } from "../helpers/is-placeholder-path.js";
5
5
  import { refocusBlurTarget } from "../helpers/refocus-blur-target.js";
6
6
  import { useLoadingAnimation } from "../hooks/use-loading-animation.js";
@@ -10,28 +10,32 @@ import AddressBarHistory_default from "./AddressBarHistory.vue.js";
10
10
  import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, nextTick, normalizeClass, normalizeStyle, onBeforeUnmount, onMounted, openBlock, ref, toDisplayString, unref, useId, useTemplateRef, watch, withCtx, withKeys } from "vue";
11
11
  import { ScalarButton, ScalarIcon, ScalarWrappingText } from "@scalar/components";
12
12
  import { ScalarIconCopy, ScalarIconWarningCircle } from "@scalar/icons";
13
- import { getEnvironmentVariables, getResolvedUrl } from "@scalar/workspace-store/request-example";
14
- import { replaceEnvVariables } from "@scalar/helpers/regex/replace-variables";
15
13
  import { REQUEST_METHODS } from "@scalar/helpers/http/http-info";
16
14
  import { EditorView } from "@scalar/use-codemirror";
17
15
  import { getSelector } from "@scalar/helpers/dom/get-selector";
18
16
  import { extractServerFromPath } from "@scalar/helpers/url/extract-server-from-path";
19
- import { useClipboard } from "@scalar/use-hooks/useClipboard";
20
17
  //#region src/v2/blocks/scalar-address-bar-block/components/AddressBar.vue?vue&type=script&setup=true&lang.ts
21
- var _hoisted_1 = ["id"];
22
- var _hoisted_2 = { class: "flex gap-1" };
23
- var _hoisted_3 = { class: "scroll-timeline-x scroll-timeline-x-hidden relative flex w-full bg-blend-normal" };
24
- var _hoisted_4 = {
18
+ var _hoisted_1 = { class: "order-last flex h-auto w-full max-w-3xl grow-3 flex-wrap items-stretch [--scalar-address-bar-height:32px] @3xl:order-0 @3xl:flex-nowrap" };
19
+ var _hoisted_2 = ["id"];
20
+ var _hoisted_3 = { class: "hidden @3xl:flex" };
21
+ var _hoisted_4 = { class: "scroll-timeline-x scroll-timeline-x-hidden relative flex w-full bg-blend-normal" };
22
+ var _hoisted_5 = {
25
23
  key: 0,
26
24
  class: "z-context absolute inset-x-0 top-[calc(100%+4px)] flex flex-col items-center rounded px-6"
27
25
  };
28
- var _hoisted_5 = { class: "text-c-danger bg-b-danger border-c-danger flex items-center gap-1 rounded border p-1" };
29
- var _hoisted_6 = { class: "min-w-0 flex-1" };
30
- var _hoisted_7 = {
26
+ var _hoisted_6 = { class: "text-c-danger bg-b-danger border-c-danger flex items-center gap-1 rounded border p-1" };
27
+ var _hoisted_7 = { class: "min-w-0 flex-1" };
28
+ var _hoisted_8 = {
31
29
  "aria-hidden": "true",
32
30
  class: "inline-flex items-center gap-1"
33
31
  };
34
- var _hoisted_8 = { class: "sr-only" };
32
+ var _hoisted_9 = { class: "sr-only" };
33
+ var _hoisted_10 = { class: "mt-2 flex h-(--scalar-address-bar-height) w-full items-stretch gap-1 @3xl:hidden" };
34
+ var _hoisted_11 = {
35
+ "aria-hidden": "true",
36
+ class: "inline-flex items-center gap-1"
37
+ };
38
+ var _hoisted_12 = { class: "sr-only" };
35
39
  var AddressBar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
36
40
  name: "AddressBar",
37
41
  props: {
@@ -52,6 +56,7 @@ var AddressBar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
52
56
  const emit = __emit;
53
57
  const id = useId();
54
58
  const sendButtonRef = useTemplateRef("sendButtonRef");
59
+ const mobileSendButtonRef = useTemplateRef("mobileSendButtonRef");
55
60
  const addressBarRef = useTemplateRef("addressBarRef");
56
61
  const { percentage, startLoading, stopLoading, isLoading } = useLoadingAnimation();
57
62
  const pathConflict = ref(null);
@@ -77,7 +82,12 @@ var AddressBar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
77
82
  pathConflict.value = null;
78
83
  methodConflict.value = null;
79
84
  });
80
- const handleFocusSendButton = () => sendButtonRef.value?.$el?.focus();
85
+ const handleFocusSendButton = () => {
86
+ const desktop = sendButtonRef.value?.$el;
87
+ const mobile = mobileSendButtonRef.value?.$el;
88
+ if (desktop && desktop.offsetParent !== null) desktop.focus();
89
+ else mobile?.focus();
90
+ };
81
91
  const handleFocusAddressBar = (payload) => {
82
92
  if (addressBarRef.value?.isFocused && __props.layout !== "desktop") return;
83
93
  addressBarRef.value?.focus("end");
@@ -172,13 +182,9 @@ var AddressBar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
172
182
  meta: __props.serverMeta
173
183
  });
174
184
  };
175
- const { copyToClipboard } = useClipboard();
176
- /** Copy the fully resolved URL (with environment variables applied) */
177
- const copyUrl = async () => {
178
- await copyToClipboard(replaceEnvVariables(getResolvedUrl({
179
- server: __props.server,
180
- path: __props.path
181
- }), getEnvironmentVariables(__props.environment)));
185
+ /** Address bar copy is handled in OperationBlock (same URL as Send). */
186
+ const requestCopyUrl = () => {
187
+ __props.eventBus.emit("copy-url:address-bar");
182
188
  };
183
189
  const navigateToServersPage = () => {
184
190
  if (__props.serverMeta.type === "operation") {
@@ -197,7 +203,7 @@ var AddressBar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
197
203
  };
198
204
  const unsubscribes = [];
199
205
  onMounted(() => {
200
- unsubscribes.push(__props.eventBus.on("ui:focus:address-bar", handleFocusAddressBar), __props.eventBus.on("ui:focus:send-button", handleFocusSendButton), __props.eventBus.on("copy-url:address-bar", copyUrl), __props.eventBus.on("hooks:on:request:sent", startLoading), __props.eventBus.on("hooks:on:request:complete", stopLoading));
206
+ unsubscribes.push(__props.eventBus.on("ui:focus:address-bar", handleFocusAddressBar), __props.eventBus.on("ui:focus:send-button", handleFocusSendButton), __props.eventBus.on("hooks:on:request:sent", startLoading), __props.eventBus.on("hooks:on:request:complete", stopLoading));
201
207
  });
202
208
  onBeforeUnmount(() => {
203
209
  for (const unsubscribe of unsubscribes) unsubscribe();
@@ -208,82 +214,77 @@ var AddressBar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
208
214
  pathConflict
209
215
  });
210
216
  return (_ctx, _cache) => {
211
- return openBlock(), createElementBlock("div", {
217
+ return openBlock(), createElementBlock("div", _hoisted_1, [createElementVNode("div", {
212
218
  id: unref(id),
213
- class: "scalar-address-bar order-last flex h-(--scalar-address-bar-height) w-full [--scalar-address-bar-height:32px] lg:order-0 lg:w-auto"
214
- }, [createElementVNode("div", { class: normalizeClass(["address-bar-bg-states text-xxs group relative order-last flex w-full max-w-[calc(100dvw-24px)] flex-1 flex-row items-stretch rounded-lg p-0.75 lg:order-none lg:max-w-[580px] lg:min-w-[580px] xl:max-w-[720px] xl:min-w-[720px]", {
215
- "outline-c-danger outline": hasConflict.value,
216
- "rounded-b-none": isDropdownOpen.value
217
- }]) }, [
219
+ class: normalizeClass(["address-bar-bg-states text-xxs group relative flex h-(--scalar-address-bar-height) w-full flex-1 flex-row items-stretch rounded-lg p-0.75", {
220
+ "outline-c-danger outline": hasConflict.value,
221
+ "rounded-b-none": isDropdownOpen.value
222
+ }])
223
+ }, [
218
224
  createElementVNode("div", { class: normalizeClass(["pointer-events-none absolute top-0 left-0 block h-full w-full overflow-hidden rounded-lg border", { "rounded-b-none": isDropdownOpen.value }]) }, [createElementVNode("div", {
219
225
  class: "absolute top-0 left-0 h-full w-full",
220
226
  style: normalizeStyle(style.value)
221
227
  }, null, 4)], 2),
222
- createElementVNode("div", _hoisted_2, [createVNode(unref(HttpMethod_default), {
228
+ createElementVNode("div", _hoisted_3, [createVNode(unref(HttpMethod_default), {
223
229
  isEditable: __props.layout !== "modal",
224
230
  isSquare: "",
225
231
  method: methodConflict.value ?? __props.method,
226
232
  teleport: "",
227
233
  onChange: handleMethodChange
228
234
  }, null, 8, ["isEditable", "method"])]),
229
- createElementVNode("div", _hoisted_3, [
230
- __props.servers.length ? (openBlock(), createBlock(unref(ServerDropdown_default), {
231
- key: 0,
232
- layout: __props.layout,
233
- meta: __props.serverMeta,
234
- server: __props.server,
235
- servers: __props.servers,
236
- target: unref(id),
237
- "onUpdate:open": _cache[0] || (_cache[0] = (value) => isServerDropdownOpen.value = value),
238
- "onUpdate:selectedServer": _cache[1] || (_cache[1] = (payload) => __props.eventBus.emit("server:update:selected", payload)),
239
- "onUpdate:servers": navigateToServersPage,
240
- "onUpdate:variable": _cache[2] || (_cache[2] = (payload) => __props.eventBus.emit("server:update:variables", payload))
241
- }, null, 8, [
242
- "layout",
243
- "meta",
244
- "server",
245
- "servers",
246
- "target"
247
- ])) : createCommentVNode("", true),
248
- _cache[7] || (_cache[7] = createElementVNode("div", { class: "fade-left" }, null, -1)),
249
- createVNode(unref(CodeInput_default), {
250
- ref_key: "addressBarRef",
251
- ref: addressBarRef,
252
- alwaysEmitChange: "",
253
- "aria-label": "Path",
254
- class: "min-w-fit pl-px outline-none",
255
- disableCloseBrackets: "",
256
- disabled: __props.layout === "modal",
257
- disableEnter: "",
258
- disableTabIndent: "",
259
- emitOnBlur: false,
260
- environment: __props.environment,
261
- extensions: [unref(addressBarScrollMargins)],
262
- importCurl: "",
263
- layout: __props.layout,
264
- modelValue: __props.path,
265
- placeholder: __props.server ? "" : "Enter a URL",
266
- server: "",
267
- onBlur: handlePathBlur,
268
- onKeydown: [withKeys(handlePathBackspace, ["delete"]), _cache[3] || (_cache[3] = withKeys(($event) => tabbedOut.value = true, ["tab"]))],
269
- onSubmit: handlePathSubmit
270
- }, null, 8, [
271
- "disabled",
272
- "environment",
273
- "extensions",
274
- "layout",
275
- "modelValue",
276
- "placeholder"
277
- ]),
278
- _cache[8] || (_cache[8] = createElementVNode("div", { class: "fade-right" }, null, -1))
279
- ]),
235
+ createElementVNode("div", _hoisted_4, [__props.servers.length ? (openBlock(), createBlock(unref(ServerDropdown_default), {
236
+ key: 0,
237
+ layout: __props.layout,
238
+ meta: __props.serverMeta,
239
+ server: __props.server,
240
+ servers: __props.servers,
241
+ target: unref(id),
242
+ "onUpdate:open": _cache[0] || (_cache[0] = (value) => isServerDropdownOpen.value = value),
243
+ "onUpdate:selectedServer": _cache[1] || (_cache[1] = (payload) => __props.eventBus.emit("server:update:selected", payload)),
244
+ "onUpdate:servers": navigateToServersPage,
245
+ "onUpdate:variable": _cache[2] || (_cache[2] = (payload) => __props.eventBus.emit("server:update:variables", payload))
246
+ }, null, 8, [
247
+ "layout",
248
+ "meta",
249
+ "server",
250
+ "servers",
251
+ "target"
252
+ ])) : createCommentVNode("", true), createVNode(unref(CodeInput_default), {
253
+ ref_key: "addressBarRef",
254
+ ref: addressBarRef,
255
+ alwaysEmitChange: "",
256
+ "aria-label": "Path",
257
+ class: "ml-1 min-w-fit pl-px outline-none",
258
+ disableCloseBrackets: "",
259
+ disabled: __props.layout === "modal",
260
+ disableEnter: "",
261
+ disableTabIndent: "",
262
+ emitOnBlur: false,
263
+ environment: __props.environment,
264
+ extensions: [unref(addressBarScrollMargins)],
265
+ importCurl: "",
266
+ layout: __props.layout,
267
+ modelValue: __props.path,
268
+ placeholder: __props.server ? "" : "Enter a URL",
269
+ server: "",
270
+ onBlur: handlePathBlur,
271
+ onKeydown: [withKeys(handlePathBackspace, ["delete"]), _cache[3] || (_cache[3] = withKeys(($event) => tabbedOut.value = true, ["tab"]))],
272
+ onSubmit: handlePathSubmit
273
+ }, null, 8, [
274
+ "disabled",
275
+ "environment",
276
+ "extensions",
277
+ "layout",
278
+ "modelValue",
279
+ "placeholder"
280
+ ])]),
280
281
  createVNode(unref(ScalarButton), {
281
- class: "hover:bg-b-3 mx-1",
282
+ class: "hover:bg-b-3 mx-1 hidden @3xl:flex",
282
283
  size: "xs",
283
284
  variant: "ghost",
284
- onClick: copyUrl
285
+ onClick: requestCopyUrl
285
286
  }, {
286
- default: withCtx(() => [createVNode(unref(ScalarIconCopy)), _cache[9] || (_cache[9] = createElementVNode("span", { class: "sr-only" }, "Copy URL", -1))]),
287
+ default: withCtx(() => [createVNode(unref(ScalarIconCopy)), _cache[8] || (_cache[8] = createElementVNode("span", { class: "sr-only" }, "Copy URL", -1))]),
287
288
  _: 1
288
289
  }),
289
290
  createVNode(AddressBarHistory_default, {
@@ -292,29 +293,61 @@ var AddressBar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
292
293
  "onSelect:history:item": _cache[4] || (_cache[4] = (payload) => emit("select:history:item", payload)),
293
294
  "onUpdate:open": _cache[5] || (_cache[5] = (value) => isHistoryDropdownOpen.value = value)
294
295
  }, null, 8, ["history", "target"]),
295
- hasConflict.value ? (openBlock(), createElementBlock("div", _hoisted_4, [createElementVNode("div", _hoisted_5, [createVNode(unref(ScalarIconWarningCircle), { size: "sm" }), createElementVNode("div", _hoisted_6, [
296
- _cache[10] || (_cache[10] = createTextVNode(" A ", -1)),
296
+ hasConflict.value ? (openBlock(), createElementBlock("div", _hoisted_5, [createElementVNode("div", _hoisted_6, [createVNode(unref(ScalarIconWarningCircle), { size: "sm" }), createElementVNode("div", _hoisted_7, [
297
+ _cache[9] || (_cache[9] = createTextVNode(" A ", -1)),
297
298
  createElementVNode("em", null, toDisplayString(methodConflict.value?.toUpperCase() ?? __props.method.toUpperCase()), 1),
298
- _cache[11] || (_cache[11] = createTextVNode(" request to ", -1)),
299
+ _cache[10] || (_cache[10] = createTextVNode(" request to ", -1)),
299
300
  createVNode(unref(ScalarWrappingText), { text: pathConflict.value ?? __props.path }, null, 8, ["text"]),
300
- _cache[12] || (_cache[12] = createTextVNode(" already exists in this document ", -1))
301
+ _cache[11] || (_cache[11] = createTextVNode(" already exists in this document ", -1))
301
302
  ])])])) : createCommentVNode("", true),
302
303
  createVNode(unref(ScalarButton), {
303
304
  ref_key: "sendButtonRef",
304
305
  ref: sendButtonRef,
305
- class: "relative h-auto shrink-0 overflow-hidden py-1 pr-2.5 pl-2 font-bold",
306
+ class: "relative hidden h-auto shrink-0 overflow-hidden py-1 pr-2.5 pl-2 font-bold @3xl:flex",
306
307
  "data-addressbar-action": "send",
307
308
  disabled: unref(isLoading),
308
309
  onClick: _cache[6] || (_cache[6] = ($event) => emit("execute"))
309
310
  }, {
310
- default: withCtx(() => [createElementVNode("span", _hoisted_7, [createVNode(unref(ScalarIcon), {
311
+ default: withCtx(() => [createElementVNode("span", _hoisted_8, [createVNode(unref(ScalarIcon), {
312
+ class: "relative shrink-0 fill-current",
313
+ icon: "Play",
314
+ size: "xs"
315
+ }), _cache[12] || (_cache[12] = createElementVNode("span", { class: "text-xxs flex" }, "Send", -1))]), createElementVNode("span", _hoisted_9, " Send " + toDisplayString(__props.method) + " request to " + toDisplayString(__props.server?.url ?? "") + toDisplayString(__props.path), 1)]),
316
+ _: 1
317
+ }, 8, ["disabled"])
318
+ ], 10, _hoisted_2), createElementVNode("div", _hoisted_10, [
319
+ createVNode(unref(HttpMethod_default), {
320
+ isEditable: __props.layout !== "modal",
321
+ isSquare: "",
322
+ method: methodConflict.value ?? __props.method,
323
+ teleport: "",
324
+ onChange: handleMethodChange
325
+ }, null, 8, ["isEditable", "method"]),
326
+ createVNode(unref(ScalarButton), {
327
+ class: "hover:bg-b-3 ml-auto",
328
+ size: "xs",
329
+ variant: "ghost",
330
+ onClick: requestCopyUrl
331
+ }, {
332
+ default: withCtx(() => [createVNode(unref(ScalarIconCopy)), _cache[13] || (_cache[13] = createElementVNode("span", { class: "sr-only" }, "Copy URL", -1))]),
333
+ _: 1
334
+ }),
335
+ createVNode(unref(ScalarButton), {
336
+ ref_key: "mobileSendButtonRef",
337
+ ref: mobileSendButtonRef,
338
+ class: "relative h-auto shrink-0 overflow-hidden py-1 pr-2.5 pl-2 font-bold",
339
+ "data-addressbar-action": "send",
340
+ disabled: unref(isLoading),
341
+ onClick: _cache[7] || (_cache[7] = ($event) => emit("execute"))
342
+ }, {
343
+ default: withCtx(() => [createElementVNode("span", _hoisted_11, [createVNode(unref(ScalarIcon), {
311
344
  class: "relative shrink-0 fill-current",
312
345
  icon: "Play",
313
346
  size: "xs"
314
- }), _cache[13] || (_cache[13] = createElementVNode("span", { class: "text-xxs hidden lg:flex" }, "Send", -1))]), createElementVNode("span", _hoisted_8, " Send " + toDisplayString(__props.method) + " request to " + toDisplayString(__props.server?.url ?? "") + toDisplayString(__props.path), 1)]),
347
+ }), _cache[14] || (_cache[14] = createElementVNode("span", { class: "text-xxs" }, "Send", -1))]), createElementVNode("span", _hoisted_12, " Send " + toDisplayString(__props.method) + " request to " + toDisplayString(__props.server?.url ?? "") + toDisplayString(__props.path), 1)]),
315
348
  _: 1
316
349
  }, 8, ["disabled"])
317
- ], 2)], 8, _hoisted_1);
350
+ ])]);
318
351
  };
319
352
  }
320
353
  });
@@ -1 +1 @@
1
- {"version":3,"file":"AddressBar.vue.script.js","names":[],"sources":["../../../../../src/v2/blocks/scalar-address-bar-block/components/AddressBar.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * AddressBar component\n * This component is used to display the address bar for the operation block\n * It is used to display the path, method, server, and history for the operation\n */\nexport default {\n name: 'AddressBar',\n}\nexport type AddressBarProps = {\n /** Current request path */\n path: string\n /** Current request method */\n method: HttpMethodType\n /** Openapi document slug */\n documentSlug: string\n /** Currently selected example key for the current operation */\n exampleKey: string\n /** Currently selected server */\n server: ServerObject | null\n /** Server list available for operation/document */\n servers: ServerObject[]\n /** List of request history */\n history: History[]\n /** Client layout */\n layout: ClientLayout\n /** Event bus */\n eventBus: WorkspaceEventBus\n /** Environment */\n environment: XScalarEnvironment\n /** Meta information for the server */\n serverMeta: ServerMeta\n}\n</script>\n<script setup lang=\"ts\">\nimport {\n ScalarButton,\n ScalarIcon,\n ScalarWrappingText,\n} from '@scalar/components'\nimport { getSelector } from '@scalar/helpers/dom/get-selector'\nimport { REQUEST_METHODS } from '@scalar/helpers/http/http-info'\nimport type { HttpMethod as HttpMethodType } from '@scalar/helpers/http/http-methods'\nimport { replaceEnvVariables } from '@scalar/helpers/regex/replace-variables'\nimport { extractServerFromPath } from '@scalar/helpers/url/extract-server-from-path'\nimport { ScalarIconCopy, ScalarIconWarningCircle } from '@scalar/icons'\nimport { EditorView } from '@scalar/use-codemirror'\nimport { useClipboard } from '@scalar/use-hooks/useClipboard'\nimport type {\n ApiReferenceEvents,\n ServerMeta,\n WorkspaceEventBus,\n} from '@scalar/workspace-store/events'\nimport {\n getEnvironmentVariables,\n getResolvedUrl,\n} from '@scalar/workspace-store/request-example'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type { ServerObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport {\n computed,\n nextTick,\n onBeforeUnmount,\n onMounted,\n ref,\n useId,\n useTemplateRef,\n watch,\n} from 'vue'\n\nimport { HttpMethod } from '@/components/HttpMethod'\nimport { getOperationExampleKey } from '@/v2/blocks/operation-block/helpers/response-cache'\nimport { isPlaceholderPath } from '@/v2/blocks/scalar-address-bar-block/helpers/is-placeholder-path'\nimport { refocusBlurTarget } from '@/v2/blocks/scalar-address-bar-block/helpers/refocus-blur-target'\nimport { useLoadingAnimation } from '@/v2/blocks/scalar-address-bar-block/hooks/use-loading-animation'\nimport { usePathMasking } from '@/v2/blocks/scalar-address-bar-block/hooks/use-path-masking'\nimport { CodeInput } from '@/v2/components/code-input'\nimport { ServerDropdown } from '@/v2/components/server'\nimport type { ClientLayout } from '@/v2/types/layout'\n\nimport AddressBarHistory, { type History } from './AddressBarHistory.vue'\n\nconst {\n path,\n method,\n layout,\n eventBus,\n exampleKey,\n documentSlug,\n server,\n servers,\n environment,\n serverMeta,\n} = defineProps<AddressBarProps>()\n\nconst emit = defineEmits<{\n /** Execute the current operation example */\n (e: 'execute'): void\n /** Select a request history item by index */\n (e: 'select:history:item', payload: { index: number }): void\n}>()\n\n// ───────────────────────────────────────────────────────────────────\n// Template refs & reactive state\n// ───────────────────────────────────────────────────────────────────\n\nconst id = useId()\nconst sendButtonRef = useTemplateRef('sendButtonRef')\nconst addressBarRef = useTemplateRef('addressBarRef')\n\nconst { percentage, startLoading, stopLoading, isLoading } =\n useLoadingAnimation()\n\nconst pathConflict = ref<string | null>(null)\nconst methodConflict = ref<HttpMethodType | null>(null)\nconst tabbedOut = ref(false)\nconst isServerDropdownOpen = ref(false)\nconst isHistoryDropdownOpen = ref(false)\n\n// ───────────────────────────────────────────────────────────────────\n// Derived state\n// ───────────────────────────────────────────────────────────────────\n\n/** Keeps the cursor visible past the fade-right overlay while typing */\nconst addressBarScrollMargins = EditorView.scrollMargins.of(() => ({\n right: 24,\n}))\n\n/** Animated background transform for the loading indicator */\nconst style = computed(() => ({\n backgroundColor: `color-mix(in srgb, transparent 90%, ${REQUEST_METHODS[method].colorVar})`,\n transform: `translate3d(-${percentage.value}%,0,0)`,\n}))\n\n/** Whether there is a path or method conflict */\nconst hasConflict = computed(() => methodConflict.value || pathConflict.value)\n\n/** Whether either dropdown (server or history) is open */\nconst isDropdownOpen = computed(\n () => isServerDropdownOpen.value || isHistoryDropdownOpen.value,\n)\n\n/** Uniquely identifies the currently selected operation + example */\nconst uniqueKey = computed(() =>\n getOperationExampleKey(method, path, exampleKey, documentSlug),\n)\n\n/** Clear conflict state when switching to a different operation */\nwatch(uniqueKey, () => {\n pathConflict.value = null\n methodConflict.value = null\n})\n\n// ───────────────────────────────────────────────────────────────────\n// Focus helpers\n// ───────────────────────────────────────────────────────────────────\n\nconst handleFocusSendButton = (): void => sendButtonRef.value?.$el?.focus()\n\nconst handleFocusAddressBar = (\n payload: ApiReferenceEvents['ui:focus:address-bar'],\n): void => {\n // On non-desktop layouts, if already focused we let the browser handle the\n // native behavior (e.g. selecting the browser's own address bar).\n if (addressBarRef.value?.isFocused && layout !== 'desktop') {\n return\n }\n\n addressBarRef.value?.focus('end')\n\n if (payload && 'clear' in payload && payload.clear) {\n addressBarRef.value?.setCodeMirrorContent('')\n }\n\n if (payload && 'event' in payload) {\n payload.event.preventDefault()\n }\n}\n\n// ───────────────────────────────────────────────────────────────────\n// Path masking\n//\n// Drafts on `/` and auto-generated `/_scalar_temp...` paths are internal\n// placeholders — the address bar focuses and clears on mount and on\n// navigation so the user sees a blank prompt instead of the internal\n// path. The deferred mask only clears when CodeMirror still contains that\n// placeholder path, so a user edit that lands before the frame is preserved.\n// ───────────────────────────────────────────────────────────────────\n\nusePathMasking({\n isReady: () => addressBarRef.value?.codeMirror,\n operationKey: () => uniqueKey.value,\n shouldMask: () => isPlaceholderPath(path, documentSlug),\n // Defer to the next frame so focus() runs after click-handler side\n // effects that move focus (e.g. a dropdown refocusing its trigger),\n // which would otherwise blur our input and emit a spurious path\n // update against the now-empty value.\n onMask: () =>\n requestAnimationFrame(() => {\n const editorContent =\n addressBarRef.value?.codeMirror?.state.doc.toString()\n\n if (editorContent && editorContent !== path) {\n return\n }\n\n handleFocusAddressBar({ clear: true })\n }),\n})\n\n// ───────────────────────────────────────────────────────────────────\n// Server extraction\n// ───────────────────────────────────────────────────────────────────\n\n/** If the path contains a server URL, extract it and select or add that server */\nconst extractAndSelectServer = (targetPath: string): string => {\n const extracted = extractServerFromPath(targetPath)\n if (!extracted) {\n return targetPath\n }\n\n const [url, remainingPath] = extracted\n\n // Server is already selected — nothing to do\n if (url === server?.url) {\n return remainingPath\n }\n\n const matchingServer = servers.find((s) => s.url === url)\n if (matchingServer) {\n eventBus.emit('server:update:selected', { url, meta: serverMeta })\n } else {\n eventBus.emit('server:add:server', {\n url,\n select: true,\n meta: { type: 'operation', path, method },\n })\n }\n\n return remainingPath\n}\n\n// ───────────────────────────────────────────────────────────────────\n// Path / method updates\n// ───────────────────────────────────────────────────────────────────\n\nconst normalizePath = (value: string): string =>\n value.startsWith('/') ? value : `/${value}`\n\n/** Emit a path/method update and reconcile conflicts + cursor state on the result */\nconst emitPathMethodUpdate = (\n targetMethod: HttpMethodType,\n targetPath: string,\n blurTargetSelector: string | null = null,\n): void => {\n const extractedPath = extractAndSelectServer(targetPath)\n const normalizedPath = normalizePath(extractedPath)\n\n // Keep CodeMirror in sync so a conflict does not leave a stale value on screen\n addressBarRef.value?.setCodeMirrorContent(normalizedPath)\n\n eventBus.emit('operation:update:pathMethod', {\n meta: { method, path },\n blurTargetSelector,\n payload: { method: targetMethod, path: normalizedPath },\n callback: (status, returnedSelector) => {\n if (status === 'success' || status === 'no-change') {\n methodConflict.value = null\n pathConflict.value = null\n } else if (status === 'conflict') {\n if (targetMethod !== method) {\n methodConflict.value = targetMethod\n }\n if (normalizedPath !== path) {\n pathConflict.value = normalizedPath\n }\n\n return\n }\n\n // Edge case: pasting a full URL extracts the server but leaves the path\n // unchanged. CodeMirror still shows the full URL, so force it back to\n // just the path.\n const mirrorContent = addressBarRef.value?.codeMirrorRef?.textContent\n if (\n status === 'no-change' &&\n mirrorContent &&\n mirrorContent !== extractedPath\n ) {\n addressBarRef.value?.setCodeMirrorContent(extractedPath)\n }\n\n nextTick(() => refocusBlurTarget(returnedSelector))\n },\n })\n}\n\n/** Change the operation's method, preferring the conflicting path if present */\nconst handleMethodChange = (newMethod: HttpMethodType): void =>\n emitPathMethodUpdate(newMethod, pathConflict.value ?? path)\n\n/**\n * Save the path on blur and replay the click that caused the blur (so e.g. a\n * click on the Send button still fires after the async update resolves).\n * Tab-outs explicitly do not replay — tabbing to a button should not trigger\n * its click.\n */\nconst handlePathBlur = (newPath: string, event: FocusEvent): void => {\n const relatedTarget = event.relatedTarget as Element | null\n const blurTargetSelector = tabbedOut.value ? null : getSelector(relatedTarget)\n tabbedOut.value = false\n\n emitPathMethodUpdate(\n methodConflict.value ?? method,\n newPath,\n blurTargetSelector,\n )\n}\n\n/** Save the path on Enter and trigger the Send button after the update resolves */\nconst handlePathSubmit = (\n newPath: string,\n event: KeyboardEvent | FocusEvent,\n): void => {\n // Prevent the global hotkey listener from also handling this Enter press\n event.stopPropagation()\n\n emitPathMethodUpdate(\n methodConflict.value ?? method,\n newPath,\n '[data-addressbar-action=\"send\"]',\n )\n}\n\n/** Unset the server when backspace is pressed on an empty path */\nconst handlePathBackspace = (event: KeyboardEvent): void => {\n if ((event.target as HTMLElement)?.innerText === '\\n') {\n eventBus.emit('server:update:selected', { url: '', meta: serverMeta })\n }\n}\n\n// ───────────────────────────────────────────────────────────────────\n// Clipboard\n// ───────────────────────────────────────────────────────────────────\n\nconst { copyToClipboard } = useClipboard()\n\n/** Copy the fully resolved URL (with environment variables applied) */\nconst copyUrl = async (): Promise<void> => {\n const resolvedUrl = getResolvedUrl({ server, path })\n const variables = getEnvironmentVariables(environment)\n await copyToClipboard(replaceEnvVariables(resolvedUrl, variables))\n}\n\n// ───────────────────────────────────────────────────────────────────\n// Navigation\n// ───────────────────────────────────────────────────────────────────\n\nconst navigateToServersPage = (): void => {\n if (serverMeta.type === 'operation') {\n eventBus.emit('ui:navigate', {\n page: 'operation',\n path: 'servers',\n operationPath: serverMeta.path,\n method: serverMeta.method,\n })\n return\n }\n\n eventBus.emit('ui:navigate', { page: 'document', path: 'servers' })\n}\n\n// ───────────────────────────────────────────────────────────────────\n// Lifecycle\n// ───────────────────────────────────────────────────────────────────\n\nconst unsubscribes: Array<() => void> = []\n\nonMounted(() => {\n unsubscribes.push(\n eventBus.on('ui:focus:address-bar', handleFocusAddressBar),\n eventBus.on('ui:focus:send-button', handleFocusSendButton),\n eventBus.on('copy-url:address-bar', copyUrl),\n eventBus.on('hooks:on:request:sent', startLoading),\n eventBus.on('hooks:on:request:complete', stopLoading),\n )\n})\n\nonBeforeUnmount(() => {\n for (const unsubscribe of unsubscribes) {\n unsubscribe()\n }\n\n // Prevents the loading animation from continuing after unmount\n stopLoading()\n})\n\ndefineExpose({\n methodConflict,\n pathConflict,\n})\n</script>\n<template>\n <div\n :id=\"id\"\n class=\"scalar-address-bar order-last flex h-(--scalar-address-bar-height) w-full [--scalar-address-bar-height:32px] lg:order-0 lg:w-auto\">\n <!-- Address Bar -->\n <div\n class=\"address-bar-bg-states text-xxs group relative order-last flex w-full max-w-[calc(100dvw-24px)] flex-1 flex-row items-stretch rounded-lg p-0.75 lg:order-none lg:max-w-[580px] lg:min-w-[580px] xl:max-w-[720px] xl:min-w-[720px]\"\n :class=\"{\n 'outline-c-danger outline': hasConflict,\n 'rounded-b-none': isDropdownOpen,\n }\">\n <div\n class=\"pointer-events-none absolute top-0 left-0 block h-full w-full overflow-hidden rounded-lg border\"\n :class=\"{\n 'rounded-b-none': isDropdownOpen,\n }\">\n <div\n class=\"absolute top-0 left-0 h-full w-full\"\n :style />\n </div>\n <div class=\"flex gap-1\">\n <HttpMethod\n :isEditable=\"layout !== 'modal'\"\n isSquare\n :method=\"methodConflict ?? method\"\n teleport\n @change=\"handleMethodChange\" />\n </div>\n\n <div\n class=\"scroll-timeline-x scroll-timeline-x-hidden relative flex w-full bg-blend-normal\">\n <!-- Servers -->\n <ServerDropdown\n v-if=\"servers.length\"\n :layout=\"layout\"\n :meta=\"serverMeta\"\n :server=\"server\"\n :servers=\"servers\"\n :target=\"id\"\n @update:open=\"(value) => (isServerDropdownOpen = value)\"\n @update:selectedServer=\"\n (payload) => eventBus.emit('server:update:selected', payload)\n \"\n @update:servers=\"navigateToServersPage\"\n @update:variable=\"\n (payload) => eventBus.emit('server:update:variables', payload)\n \" />\n\n <div class=\"fade-left\" />\n <!-- Path + URL + env vars -->\n <CodeInput\n ref=\"addressBarRef\"\n alwaysEmitChange\n aria-label=\"Path\"\n class=\"min-w-fit pl-px outline-none\"\n disableCloseBrackets\n :disabled=\"layout === 'modal'\"\n disableEnter\n disableTabIndent\n :emitOnBlur=\"false\"\n :environment=\"environment\"\n :extensions=\"[addressBarScrollMargins]\"\n importCurl\n :layout=\"layout\"\n :modelValue=\"path\"\n :placeholder=\"server ? '' : 'Enter a URL'\"\n server\n @blur=\"handlePathBlur\"\n @keydown.delete=\"handlePathBackspace\"\n @keydown.tab=\"tabbedOut = true\"\n @submit=\"handlePathSubmit\" />\n <div class=\"fade-right\" />\n </div>\n\n <!-- Copy url button -->\n <ScalarButton\n class=\"hover:bg-b-3 mx-1\"\n size=\"xs\"\n variant=\"ghost\"\n @click=\"copyUrl\">\n <ScalarIconCopy />\n <span class=\"sr-only\">Copy URL</span>\n </ScalarButton>\n\n <AddressBarHistory\n :history=\"history\"\n :target=\"id\"\n @select:history:item=\"(payload) => emit('select:history:item', payload)\"\n @update:open=\"(value) => (isHistoryDropdownOpen = value)\" />\n <!-- Error message -->\n <div\n v-if=\"hasConflict\"\n class=\"z-context absolute inset-x-0 top-[calc(100%+4px)] flex flex-col items-center rounded px-6\">\n <div\n class=\"text-c-danger bg-b-danger border-c-danger flex items-center gap-1 rounded border p-1\">\n <ScalarIconWarningCircle size=\"sm\" />\n <div class=\"min-w-0 flex-1\">\n A\n <em>{{ methodConflict?.toUpperCase() ?? method.toUpperCase() }}</em>\n request to\n <ScalarWrappingText :text=\"pathConflict ?? path\" />\n already exists in this document\n </div>\n </div>\n </div>\n\n <ScalarButton\n ref=\"sendButtonRef\"\n class=\"relative h-auto shrink-0 overflow-hidden py-1 pr-2.5 pl-2 font-bold\"\n data-addressbar-action=\"send\"\n :disabled=\"isLoading\"\n @click=\"emit('execute')\">\n <span\n aria-hidden=\"true\"\n class=\"inline-flex items-center gap-1\">\n <ScalarIcon\n class=\"relative shrink-0 fill-current\"\n icon=\"Play\"\n size=\"xs\" />\n <span class=\"text-xxs hidden lg:flex\">Send</span>\n </span>\n <span class=\"sr-only\">\n Send {{ method }} request to {{ server?.url ?? '' }}{{ path }}\n </span>\n </ScalarButton>\n </div>\n </div>\n</template>\n<style scoped>\n:deep(.cm-editor) {\n height: 100%;\n outline: none;\n width: 100%;\n}\n:deep(.cm-line) {\n padding: 0;\n}\n:deep(.cm-content) {\n padding: 0;\n display: flex;\n align-items: center;\n font-size: var(--scalar-small);\n}\n.scroll-timeline-x {\n scroll-timeline: --scroll-timeline x;\n /* Firefox supports */\n scroll-timeline: --scroll-timeline horizontal;\n -ms-overflow-style: none; /* IE and Edge */\n}\n.scroll-timeline-x-hidden {\n overflow-x: auto;\n}\n.scroll-timeline-x-hidden :deep(.cm-scroller) {\n scrollbar-width: none;\n -ms-overflow-style: none;\n padding-right: 20px;\n overflow: auto;\n}\n.scroll-timeline-x-hidden::-webkit-scrollbar {\n width: 0;\n height: 0;\n display: none;\n}\n.scroll-timeline-x-hidden :deep(.cm-scroller::-webkit-scrollbar) {\n width: 0;\n height: 0;\n display: none;\n}\n.scroll-timeline-x-address {\n line-height: 27px;\n scrollbar-width: none; /* Firefox */\n}\n/* make clickable are to left of send button */\n.scroll-timeline-x-address:after {\n content: '';\n position: absolute;\n height: 100%;\n width: 24px;\n right: 0;\n cursor: text;\n}\n.scroll-timeline-x-address:empty:before {\n content: 'Enter URL or cURL request';\n color: var(--scalar-color-3);\n pointer-events: none;\n}\n.fade-left,\n.fade-right {\n content: '';\n position: sticky;\n height: 100%;\n animation-name: fadein;\n animation-duration: 1ms;\n animation-direction: reverse;\n animation-timeline: --scroll-timeline;\n pointer-events: none;\n z-index: 1;\n}\n.fade-left {\n background: linear-gradient(\n -90deg,\n color-mix(in srgb, var(--scalar-address-bar-bg), transparent 100%) 0%,\n color-mix(in srgb, var(--scalar-address-bar-bg), transparent 20%) 30%,\n var(--scalar-address-bar-bg) 100%\n );\n left: -1px;\n min-width: 6px;\n animation-direction: normal;\n}\n.fade-right {\n background: linear-gradient(\n 90deg,\n color-mix(in srgb, var(--scalar-address-bar-bg), transparent 100%) 0%,\n color-mix(in srgb, var(--scalar-address-bar-bg), transparent 20%) 30%,\n var(--scalar-address-bar-bg) 100%\n );\n right: -1px;\n min-width: 24px;\n}\n@keyframes fadein {\n 0% {\n opacity: 0;\n }\n 1% {\n opacity: 1;\n }\n}\n.address-bar-bg-states {\n --scalar-address-bar-bg: color-mix(\n in srgb,\n var(--scalar-background-1),\n var(--scalar-background-2)\n );\n background: var(--scalar-address-bar-bg);\n}\n.address-bar-bg-states:has(.cm-focused) {\n --scalar-address-bar-bg: var(--scalar-background-1);\n border-color: var(--scalar-border-color);\n outline-width: 1px;\n outline-style: solid;\n}\n.address-bar-bg-states:has(.cm-focused) .fade-left,\n.address-bar-bg-states:has(.cm-focused) .fade-right {\n --scalar-address-bar-bg: var(--scalar-background-1);\n}\n</style>\n"],"mappings":"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"}
1
+ {"version":3,"file":"AddressBar.vue.script.js","names":[],"sources":["../../../../../src/v2/blocks/scalar-address-bar-block/components/AddressBar.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * AddressBar component\n * This component is used to display the address bar for the operation block\n * It is used to display the path, method, server, and history for the operation\n */\nexport default {\n name: 'AddressBar',\n}\nexport type AddressBarProps = {\n /** Current request path */\n path: string\n /** Current request method */\n method: HttpMethodType\n /** Openapi document slug */\n documentSlug: string\n /** Currently selected example key for the current operation */\n exampleKey: string\n /** Currently selected server */\n server: ServerObject | null\n /** Server list available for operation/document */\n servers: ServerObject[]\n /** List of request history */\n history: History[]\n /** Client layout */\n layout: ClientLayout\n /** Event bus */\n eventBus: WorkspaceEventBus\n /** Environment */\n environment: XScalarEnvironment\n /** Meta information for the server */\n serverMeta: ServerMeta\n}\n</script>\n<script setup lang=\"ts\">\nimport {\n ScalarButton,\n ScalarIcon,\n ScalarWrappingText,\n} from '@scalar/components'\nimport { getSelector } from '@scalar/helpers/dom/get-selector'\nimport { REQUEST_METHODS } from '@scalar/helpers/http/http-info'\nimport type { HttpMethod as HttpMethodType } from '@scalar/helpers/http/http-methods'\nimport { extractServerFromPath } from '@scalar/helpers/url/extract-server-from-path'\nimport { ScalarIconCopy, ScalarIconWarningCircle } from '@scalar/icons'\nimport { EditorView } from '@scalar/use-codemirror'\nimport type {\n ApiReferenceEvents,\n ServerMeta,\n WorkspaceEventBus,\n} from '@scalar/workspace-store/events'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type { ServerObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport {\n computed,\n nextTick,\n onBeforeUnmount,\n onMounted,\n ref,\n useId,\n useTemplateRef,\n watch,\n} from 'vue'\n\nimport { HttpMethod } from '@/components/HttpMethod'\nimport { getOperationExampleKey } from '@/v2/blocks/operation-block/helpers/response-cache'\nimport { isPlaceholderPath } from '@/v2/blocks/scalar-address-bar-block/helpers/is-placeholder-path'\nimport { refocusBlurTarget } from '@/v2/blocks/scalar-address-bar-block/helpers/refocus-blur-target'\nimport { useLoadingAnimation } from '@/v2/blocks/scalar-address-bar-block/hooks/use-loading-animation'\nimport { usePathMasking } from '@/v2/blocks/scalar-address-bar-block/hooks/use-path-masking'\nimport { CodeInput } from '@/v2/components/code-input'\nimport { ServerDropdown } from '@/v2/components/server'\nimport type { ClientLayout } from '@/v2/types/layout'\n\nimport AddressBarHistory, { type History } from './AddressBarHistory.vue'\n\nconst {\n path,\n method,\n layout,\n eventBus,\n exampleKey,\n documentSlug,\n server,\n servers,\n environment,\n serverMeta,\n} = defineProps<AddressBarProps>()\n\nconst emit = defineEmits<{\n /** Execute the current operation example */\n (e: 'execute'): void\n /** Select a request history item by index */\n (e: 'select:history:item', payload: { index: number }): void\n}>()\n\n// ───────────────────────────────────────────────────────────────────\n// Template refs & reactive state\n// ───────────────────────────────────────────────────────────────────\n\nconst id = useId()\nconst sendButtonRef = useTemplateRef('sendButtonRef')\nconst mobileSendButtonRef = useTemplateRef('mobileSendButtonRef')\nconst addressBarRef = useTemplateRef('addressBarRef')\n\nconst { percentage, startLoading, stopLoading, isLoading } =\n useLoadingAnimation()\n\nconst pathConflict = ref<string | null>(null)\nconst methodConflict = ref<HttpMethodType | null>(null)\nconst tabbedOut = ref(false)\nconst isServerDropdownOpen = ref(false)\nconst isHistoryDropdownOpen = ref(false)\n\n// ───────────────────────────────────────────────────────────────────\n// Derived state\n// ───────────────────────────────────────────────────────────────────\n\n/** Keeps the cursor visible past the fade-right overlay while typing */\nconst addressBarScrollMargins = EditorView.scrollMargins.of(() => ({\n right: 24,\n}))\n\n/** Animated background transform for the loading indicator */\nconst style = computed(() => ({\n backgroundColor: `color-mix(in srgb, transparent 90%, ${REQUEST_METHODS[method].colorVar})`,\n transform: `translate3d(-${percentage.value}%,0,0)`,\n}))\n\n/** Whether there is a path or method conflict */\nconst hasConflict = computed(() => methodConflict.value || pathConflict.value)\n\n/** Whether either dropdown (server or history) is open */\nconst isDropdownOpen = computed(\n () => isServerDropdownOpen.value || isHistoryDropdownOpen.value,\n)\n\n/** Uniquely identifies the currently selected operation + example */\nconst uniqueKey = computed(() =>\n getOperationExampleKey(method, path, exampleKey, documentSlug),\n)\n\n/** Clear conflict state when switching to a different operation */\nwatch(uniqueKey, () => {\n pathConflict.value = null\n methodConflict.value = null\n})\n\n// ───────────────────────────────────────────────────────────────────\n// Focus helpers\n// ───────────────────────────────────────────────────────────────────\n\nconst handleFocusSendButton = (): void => {\n const desktop = sendButtonRef.value?.$el\n const mobile = mobileSendButtonRef.value?.$el\n\n // Focus whichever send button is currently visible\n if (desktop && desktop.offsetParent !== null) {\n desktop.focus()\n } else {\n mobile?.focus()\n }\n}\n\nconst handleFocusAddressBar = (\n payload: ApiReferenceEvents['ui:focus:address-bar'],\n): void => {\n // On non-desktop layouts, if already focused we let the browser handle the\n // native behavior (e.g. selecting the browser's own address bar).\n if (addressBarRef.value?.isFocused && layout !== 'desktop') {\n return\n }\n\n addressBarRef.value?.focus('end')\n\n if (payload && 'clear' in payload && payload.clear) {\n addressBarRef.value?.setCodeMirrorContent('')\n }\n\n if (payload && 'event' in payload) {\n payload.event.preventDefault()\n }\n}\n\n// ───────────────────────────────────────────────────────────────────\n// Path masking\n//\n// Drafts on `/` and auto-generated `/_scalar_temp...` paths are internal\n// placeholders — the address bar focuses and clears on mount and on\n// navigation so the user sees a blank prompt instead of the internal\n// path. The deferred mask only clears when CodeMirror still contains that\n// placeholder path, so a user edit that lands before the frame is preserved.\n// ───────────────────────────────────────────────────────────────────\n\nusePathMasking({\n isReady: () => addressBarRef.value?.codeMirror,\n operationKey: () => uniqueKey.value,\n shouldMask: () => isPlaceholderPath(path, documentSlug),\n // Defer to the next frame so focus() runs after click-handler side\n // effects that move focus (e.g. a dropdown refocusing its trigger),\n // which would otherwise blur our input and emit a spurious path\n // update against the now-empty value.\n onMask: () =>\n requestAnimationFrame(() => {\n const editorContent =\n addressBarRef.value?.codeMirror?.state.doc.toString()\n\n if (editorContent && editorContent !== path) {\n return\n }\n\n handleFocusAddressBar({ clear: true })\n }),\n})\n\n// ───────────────────────────────────────────────────────────────────\n// Server extraction\n// ───────────────────────────────────────────────────────────────────\n\n/** If the path contains a server URL, extract it and select or add that server */\nconst extractAndSelectServer = (targetPath: string): string => {\n const extracted = extractServerFromPath(targetPath)\n if (!extracted) {\n return targetPath\n }\n\n const [url, remainingPath] = extracted\n\n // Server is already selected — nothing to do\n if (url === server?.url) {\n return remainingPath\n }\n\n const matchingServer = servers.find((s) => s.url === url)\n if (matchingServer) {\n eventBus.emit('server:update:selected', { url, meta: serverMeta })\n } else {\n eventBus.emit('server:add:server', {\n url,\n select: true,\n meta: { type: 'operation', path, method },\n })\n }\n\n return remainingPath\n}\n\n// ───────────────────────────────────────────────────────────────────\n// Path / method updates\n// ───────────────────────────────────────────────────────────────────\n\nconst normalizePath = (value: string): string =>\n value.startsWith('/') ? value : `/${value}`\n\n/** Emit a path/method update and reconcile conflicts + cursor state on the result */\nconst emitPathMethodUpdate = (\n targetMethod: HttpMethodType,\n targetPath: string,\n blurTargetSelector: string | null = null,\n): void => {\n const extractedPath = extractAndSelectServer(targetPath)\n const normalizedPath = normalizePath(extractedPath)\n\n // Keep CodeMirror in sync so a conflict does not leave a stale value on screen\n addressBarRef.value?.setCodeMirrorContent(normalizedPath)\n\n eventBus.emit('operation:update:pathMethod', {\n meta: { method, path },\n blurTargetSelector,\n payload: { method: targetMethod, path: normalizedPath },\n callback: (status, returnedSelector) => {\n if (status === 'success' || status === 'no-change') {\n methodConflict.value = null\n pathConflict.value = null\n } else if (status === 'conflict') {\n if (targetMethod !== method) {\n methodConflict.value = targetMethod\n }\n if (normalizedPath !== path) {\n pathConflict.value = normalizedPath\n }\n\n return\n }\n\n // Edge case: pasting a full URL extracts the server but leaves the path\n // unchanged. CodeMirror still shows the full URL, so force it back to\n // just the path.\n const mirrorContent = addressBarRef.value?.codeMirrorRef?.textContent\n if (\n status === 'no-change' &&\n mirrorContent &&\n mirrorContent !== extractedPath\n ) {\n addressBarRef.value?.setCodeMirrorContent(extractedPath)\n }\n\n nextTick(() => refocusBlurTarget(returnedSelector))\n },\n })\n}\n\n/** Change the operation's method, preferring the conflicting path if present */\nconst handleMethodChange = (newMethod: HttpMethodType): void =>\n emitPathMethodUpdate(newMethod, pathConflict.value ?? path)\n\n/**\n * Save the path on blur and replay the click that caused the blur (so e.g. a\n * click on the Send button still fires after the async update resolves).\n * Tab-outs explicitly do not replay — tabbing to a button should not trigger\n * its click.\n */\nconst handlePathBlur = (newPath: string, event: FocusEvent): void => {\n const relatedTarget = event.relatedTarget as Element | null\n const blurTargetSelector = tabbedOut.value ? null : getSelector(relatedTarget)\n tabbedOut.value = false\n\n emitPathMethodUpdate(\n methodConflict.value ?? method,\n newPath,\n blurTargetSelector,\n )\n}\n\n/** Save the path on Enter and trigger the Send button after the update resolves */\nconst handlePathSubmit = (\n newPath: string,\n event: KeyboardEvent | FocusEvent,\n): void => {\n // Prevent the global hotkey listener from also handling this Enter press\n event.stopPropagation()\n\n emitPathMethodUpdate(\n methodConflict.value ?? method,\n newPath,\n '[data-addressbar-action=\"send\"]',\n )\n}\n\n/** Unset the server when backspace is pressed on an empty path */\nconst handlePathBackspace = (event: KeyboardEvent): void => {\n if ((event.target as HTMLElement)?.innerText === '\\n') {\n eventBus.emit('server:update:selected', { url: '', meta: serverMeta })\n }\n}\n\n/** Address bar copy is handled in OperationBlock (same URL as Send). */\nconst requestCopyUrl = (): void => {\n eventBus.emit('copy-url:address-bar')\n}\n\n// ───────────────────────────────────────────────────────────────────\n// Navigation\n// ───────────────────────────────────────────────────────────────────\n\nconst navigateToServersPage = (): void => {\n if (serverMeta.type === 'operation') {\n eventBus.emit('ui:navigate', {\n page: 'operation',\n path: 'servers',\n operationPath: serverMeta.path,\n method: serverMeta.method,\n })\n return\n }\n\n eventBus.emit('ui:navigate', { page: 'document', path: 'servers' })\n}\n\n// ───────────────────────────────────────────────────────────────────\n// Lifecycle\n// ───────────────────────────────────────────────────────────────────\n\nconst unsubscribes: Array<() => void> = []\n\nonMounted(() => {\n unsubscribes.push(\n eventBus.on('ui:focus:address-bar', handleFocusAddressBar),\n eventBus.on('ui:focus:send-button', handleFocusSendButton),\n eventBus.on('hooks:on:request:sent', startLoading),\n eventBus.on('hooks:on:request:complete', stopLoading),\n )\n})\n\nonBeforeUnmount(() => {\n for (const unsubscribe of unsubscribes) {\n unsubscribe()\n }\n\n // Prevents the loading animation from continuing after unmount\n stopLoading()\n})\n\ndefineExpose({\n methodConflict,\n pathConflict,\n})\n</script>\n<template>\n <!--\n Address bar.\n\n The wide-container layout matches the original single-row bar:\n `[Method | URL | Copy | History | Send]`. When the surrounding\n `@container` drops below `@3xl` the bar collapses to\n `[URL | History]` and a second row appears beneath it with a\n duplicate `Method`, `Copy`, and `Send` so the URL gets the full\n container width while every action stays on the same line as the\n send button.\n -->\n <div\n class=\"order-last flex h-auto w-full max-w-3xl grow-3 flex-wrap items-stretch [--scalar-address-bar-height:32px] @3xl:order-0 @3xl:flex-nowrap\">\n <!-- Address Bar -->\n <div\n :id=\"id\"\n class=\"address-bar-bg-states text-xxs group relative flex h-(--scalar-address-bar-height) w-full flex-1 flex-row items-stretch rounded-lg p-0.75\"\n :class=\"{\n 'outline-c-danger outline': hasConflict,\n 'rounded-b-none': isDropdownOpen,\n }\">\n <div\n class=\"pointer-events-none absolute top-0 left-0 block h-full w-full overflow-hidden rounded-lg border\"\n :class=\"{\n 'rounded-b-none': isDropdownOpen,\n }\">\n <div\n class=\"absolute top-0 left-0 h-full w-full\"\n :style />\n </div>\n\n <!--\n Method, Copy, and Send are hidden in mobile mode (container\n narrower than `@3xl`) and the duplicate buttons in the trailing\n mobile actions row take over at that point.\n -->\n <div class=\"hidden @3xl:flex\">\n <HttpMethod\n :isEditable=\"layout !== 'modal'\"\n isSquare\n :method=\"methodConflict ?? method\"\n teleport\n @change=\"handleMethodChange\" />\n </div>\n\n <div\n class=\"scroll-timeline-x scroll-timeline-x-hidden relative flex w-full bg-blend-normal\">\n <!-- Servers -->\n <ServerDropdown\n v-if=\"servers.length\"\n :layout=\"layout\"\n :meta=\"serverMeta\"\n :server=\"server\"\n :servers=\"servers\"\n :target=\"id\"\n @update:open=\"(value) => (isServerDropdownOpen = value)\"\n @update:selectedServer=\"\n (payload) => eventBus.emit('server:update:selected', payload)\n \"\n @update:servers=\"navigateToServersPage\"\n @update:variable=\"\n (payload) => eventBus.emit('server:update:variables', payload)\n \" />\n\n <!-- Path + URL + env vars -->\n <CodeInput\n ref=\"addressBarRef\"\n alwaysEmitChange\n aria-label=\"Path\"\n class=\"ml-1 min-w-fit pl-px outline-none\"\n disableCloseBrackets\n :disabled=\"layout === 'modal'\"\n disableEnter\n disableTabIndent\n :emitOnBlur=\"false\"\n :environment=\"environment\"\n :extensions=\"[addressBarScrollMargins]\"\n importCurl\n :layout=\"layout\"\n :modelValue=\"path\"\n :placeholder=\"server ? '' : 'Enter a URL'\"\n server\n @blur=\"handlePathBlur\"\n @keydown.delete=\"handlePathBackspace\"\n @keydown.tab=\"tabbedOut = true\"\n @submit=\"handlePathSubmit\" />\n </div>\n\n <!-- Copy url button -->\n <ScalarButton\n class=\"hover:bg-b-3 mx-1 hidden @3xl:flex\"\n size=\"xs\"\n variant=\"ghost\"\n @click=\"requestCopyUrl\">\n <ScalarIconCopy />\n <span class=\"sr-only\">Copy URL</span>\n </ScalarButton>\n\n <AddressBarHistory\n :history=\"history\"\n :target=\"id\"\n @select:history:item=\"(payload) => emit('select:history:item', payload)\"\n @update:open=\"(value) => (isHistoryDropdownOpen = value)\" />\n <!-- Error message -->\n <div\n v-if=\"hasConflict\"\n class=\"z-context absolute inset-x-0 top-[calc(100%+4px)] flex flex-col items-center rounded px-6\">\n <div\n class=\"text-c-danger bg-b-danger border-c-danger flex items-center gap-1 rounded border p-1\">\n <ScalarIconWarningCircle size=\"sm\" />\n <div class=\"min-w-0 flex-1\">\n A\n <em>{{ methodConflict?.toUpperCase() ?? method.toUpperCase() }}</em>\n request to\n <ScalarWrappingText :text=\"pathConflict ?? path\" />\n already exists in this document\n </div>\n </div>\n </div>\n\n <ScalarButton\n ref=\"sendButtonRef\"\n class=\"relative hidden h-auto shrink-0 overflow-hidden py-1 pr-2.5 pl-2 font-bold @3xl:flex\"\n data-addressbar-action=\"send\"\n :disabled=\"isLoading\"\n @click=\"emit('execute')\">\n <span\n aria-hidden=\"true\"\n class=\"inline-flex items-center gap-1\">\n <ScalarIcon\n class=\"relative shrink-0 fill-current\"\n icon=\"Play\"\n size=\"xs\" />\n <span class=\"text-xxs flex\">Send</span>\n </span>\n <span class=\"sr-only\">\n Send {{ method }} request to {{ server?.url ?? '' }}{{ path }}\n </span>\n </ScalarButton>\n </div>\n\n <!--\n Mobile actions row. Visible by default and hidden once the\n container reaches `@3xl`, where the duplicate Method / Copy /\n Send buttons move back into the bar itself.\n -->\n <div\n class=\"mt-2 flex h-(--scalar-address-bar-height) w-full items-stretch gap-1 @3xl:hidden\">\n <HttpMethod\n :isEditable=\"layout !== 'modal'\"\n isSquare\n :method=\"methodConflict ?? method\"\n teleport\n @change=\"handleMethodChange\" />\n <ScalarButton\n class=\"hover:bg-b-3 ml-auto\"\n size=\"xs\"\n variant=\"ghost\"\n @click=\"requestCopyUrl\">\n <ScalarIconCopy />\n <span class=\"sr-only\">Copy URL</span>\n </ScalarButton>\n <ScalarButton\n ref=\"mobileSendButtonRef\"\n class=\"relative h-auto shrink-0 overflow-hidden py-1 pr-2.5 pl-2 font-bold\"\n data-addressbar-action=\"send\"\n :disabled=\"isLoading\"\n @click=\"emit('execute')\">\n <span\n aria-hidden=\"true\"\n class=\"inline-flex items-center gap-1\">\n <ScalarIcon\n class=\"relative shrink-0 fill-current\"\n icon=\"Play\"\n size=\"xs\" />\n <span class=\"text-xxs\">Send</span>\n </span>\n <span class=\"sr-only\">\n Send {{ method }} request to {{ server?.url ?? '' }}{{ path }}\n </span>\n </ScalarButton>\n </div>\n </div>\n</template>\n<style scoped>\n:deep(.cm-editor) {\n height: 100%;\n outline: none;\n width: 100%;\n}\n:deep(.cm-line) {\n padding: 0;\n}\n:deep(.cm-content) {\n padding: 0;\n display: flex;\n align-items: center;\n font-size: var(--scalar-small);\n}\n.scroll-timeline-x {\n -ms-overflow-style: none;\n /* Fade the URL at the viewport edges. Mask lives on the scrollport (this\n element) rather than on `.cm-scroller`, whose width follows the URL's\n full content and pushes the right edge off-screen when overflowing. */\n mask-image: linear-gradient(\n to right,\n transparent 0,\n black 6px,\n black calc(100% - 24px),\n transparent 100%\n );\n}\n.scroll-timeline-x-hidden {\n overflow-x: auto;\n}\n.scroll-timeline-x-hidden :deep(.cm-scroller) {\n scrollbar-width: none;\n -ms-overflow-style: none;\n padding-right: 20px;\n overflow: auto;\n}\n.scroll-timeline-x-hidden::-webkit-scrollbar {\n width: 0;\n height: 0;\n display: none;\n}\n.scroll-timeline-x-hidden :deep(.cm-scroller::-webkit-scrollbar) {\n width: 0;\n height: 0;\n display: none;\n}\n.scroll-timeline-x-address {\n line-height: 27px;\n scrollbar-width: none; /* Firefox */\n}\n/* make clickable are to left of send button */\n.scroll-timeline-x-address:after {\n content: '';\n position: absolute;\n height: 100%;\n width: 24px;\n right: 0;\n cursor: text;\n}\n.scroll-timeline-x-address:empty:before {\n content: 'Enter URL or cURL request';\n color: var(--scalar-color-3);\n pointer-events: none;\n}\n\n.address-bar-bg-states {\n --scalar-address-bar-bg: color-mix(\n in srgb,\n var(--scalar-background-1),\n var(--scalar-background-2)\n );\n background: var(--scalar-address-bar-bg);\n}\n.address-bar-bg-states:has(.cm-focused) {\n --scalar-address-bar-bg: var(--scalar-background-1);\n border-color: var(--scalar-border-color);\n outline-width: 1px;\n outline-style: solid;\n}\n</style>\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import ValueEmitter_default from "../../../components/layout/ValueEmitter.vue.js";
2
1
  import HttpMethod_default from "../../../../components/HttpMethod/HttpMethod.vue.js";
2
+ import ValueEmitter_default from "../../../components/layout/ValueEmitter.vue.js";
3
3
  import { getStatusCodeColor } from "./httpStatusCodeColors.js";
4
4
  import { Fragment, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createVNode, defineComponent, normalizeClass, normalizeStyle, openBlock, renderList, toDisplayString, unref, withCtx } from "vue";
5
5
  import { ScalarFloating, ScalarFloatingBackdrop, ScalarIcon } from "@scalar/components";
@@ -1 +1 @@
1
- {"version":3,"file":"AuthSelector.vue.script.js","names":[],"sources":["../../../../../src/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {\n ScalarButton,\n ScalarComboboxMultiselect,\n ScalarIconButton,\n ScalarListboxCheckbox,\n useModal,\n type Icon,\n type ScalarButton as ScalarButtonType,\n} from '@scalar/components'\nimport { ScalarIconCaretDown, ScalarIconTrash } from '@scalar/icons'\nimport type { SelectedSecurity } from '@scalar/workspace-store/entities/auth'\nimport type {\n AuthMeta,\n WorkspaceEventBus,\n} from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport { unpackProxyObject } from '@scalar/workspace-store/helpers/unpack-proxy'\nimport {\n isAuthOptional,\n type MergedSecuritySchemes,\n} from '@scalar/workspace-store/request-example'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type {\n OpenApiDocument,\n SecurityRequirementObject,\n ServerObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed, ref, useId } from 'vue'\n\nimport DeleteRequestAuthModal from '@/v2/blocks/scalar-auth-selector-block/components/DeleteRequestAuthModal.vue'\nimport type { OAuth2Options } from '@/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue'\nimport {\n formatComplexScheme,\n formatScheme,\n getSecuritySchemeOptions,\n type SecuritySchemeOption,\n} from '@/v2/blocks/scalar-auth-selector-block/helpers/security-scheme'\nimport { CollapsibleSection } from '@/v2/components/layout'\n\nimport RequestAuthDataTable from './RequestAuthDataTable.vue'\n\nconst {\n environment,\n eventBus,\n createAnySecurityScheme = false,\n defaultOpen = true,\n isStatic = false,\n meta,\n proxyUrl,\n securityRequirements,\n securitySchemes,\n selectedSecurity,\n server,\n title,\n options,\n} = defineProps<{\n environment: XScalarEnvironment\n eventBus: WorkspaceEventBus\n /** Allows adding authentication which is not in the document */\n createAnySecurityScheme?: boolean\n /** Whether the authentication disclosure should start expanded */\n defaultOpen?: boolean\n /** Creates a static disclosure that cannot be collapsed */\n isStatic?: boolean\n meta: AuthMeta\n proxyUrl: string\n securityRequirements: OpenApiDocument['security']\n securitySchemes: MergedSecuritySchemes\n selectedSecurity: SelectedSecurity | undefined\n server: ServerObject | null\n title: string\n /** Any config options required for the OAuth2 flow */\n options?: OAuth2Options\n}>()\n\nconst titleId = useId()\nconst comboboxButtonRef = ref<typeof ScalarButtonType | null>(null)\nconst isDisclosureOpen = ref(false)\n\nconst deleteModal = useModal()\nconst schemeToDelete = ref<{\n label: string\n payload: SecurityRequirementObject\n} | null>(null)\n\n/**\n * Determines if authentication is required or optional\n *\n * Auth is optional when there is an empty security requirement and no complex requirements.\n * Complex requirements have multiple auth schemes combined (e.g., API key + OAuth).\n */\nconst authIndicator = computed<{ icon: Icon; text: string } | null>(() => {\n if (!securityRequirements?.length) {\n return null\n }\n\n const isOptional = isAuthOptional(securityRequirements)\n\n return {\n icon: isOptional ? 'Unlock' : 'Lock',\n text: isOptional ? 'Optional' : 'Required',\n }\n})\n\n/** All available auth scheme options for the dropdown */\nconst availableSchemeOptions = computed(() =>\n getSecuritySchemeOptions(\n securityRequirements ?? [],\n securitySchemes ?? {},\n selectedSecurity?.selectedSchemes ?? [],\n createAnySecurityScheme,\n ),\n)\n\n/** Currently active auth schemes selected for this operation or collection */\nconst activeSchemeOptions = computed<SecuritySchemeOption[]>(() => {\n const schemes = selectedSecurity?.selectedSchemes\n if (!schemes?.length) {\n return []\n }\n\n return schemes.flatMap((requirement) => {\n const schemeNames = Object.keys(requirement)\n\n if (schemeNames.length === 0) {\n return []\n }\n\n // Complex auth requirement with multiple schemes\n if (schemeNames.length > 1) {\n return formatComplexScheme(requirement)\n }\n\n // Simple auth requirement with single scheme\n const schemeName = schemeNames[0]\n if (!schemeName) {\n return []\n }\n\n const scheme = getResolvedRef(securitySchemes?.[schemeName])\n if (!scheme) {\n return []\n }\n\n return formatScheme({\n name: schemeName,\n value: requirement,\n })\n })\n})\n\n/**\n * Opens the combobox dropdown when clicking the auth indicator badge.\n * Prevents the disclosure from toggling if it is already open.\n */\nconst handleAuthIndicatorClick = (event: Event): void => {\n if (isDisclosureOpen.value) {\n event.stopPropagation()\n }\n comboboxButtonRef.value?.$el.click()\n}\n\n/**\n * Updates the selected auth schemes.\n * Separates existing schemes from newly created ones for the event payload.\n */\nconst handleSchemeSelection = (selected: SecuritySchemeOption[]): void => {\n const existingSchemes = selected\n .filter((option) => option.payload === undefined)\n .map((option) => unpackProxyObject(option.value, { depth: 2 }))\n\n const newSchemes = selected\n .filter((option) => option.payload !== undefined)\n .map((option) => ({\n name: option.label,\n scheme: option.payload!,\n }))\n\n eventBus.emit('auth:update:selected-security-schemes', {\n selectedRequirements: existingSchemes,\n newSchemes,\n meta,\n })\n}\n\n/** Shows the delete confirmation modal for the selected scheme */\nconst handleDeleteRequest = (option: {\n label: string\n value: SecurityRequirementObject\n}): void => {\n schemeToDelete.value = { label: option.label, payload: option.value }\n deleteModal.show()\n}\n\n/** Deletes the selected auth scheme after confirmation */\nconst handleDeleteConfirm = (): void => {\n if (!schemeToDelete.value) {\n return\n }\n\n eventBus.emit('auth:delete:security-scheme', {\n names: Object.keys(schemeToDelete.value.payload),\n })\n\n schemeToDelete.value = null\n deleteModal.hide()\n}\n\ndefineExpose({\n authIndicator,\n selectedSchemeOptions: activeSchemeOptions,\n schemeOptions: availableSchemeOptions,\n})\n</script>\n<template>\n <CollapsibleSection\n class=\"group/params relative\"\n :defaultOpen\n :isStatic=\"isStatic\"\n :itemCount=\"activeSchemeOptions.length\"\n @update:modelValue=\"(open) => (isDisclosureOpen = open)\">\n <template #title>\n <div\n :id=\"titleId\"\n class=\"inline-flex items-center gap-0.5 leading-[20px]\">\n <span>{{ title }}</span>\n\n <span\n v-if=\"authIndicator\"\n class=\"text-c-3 hover:bg-b-3 hover:text-c-1 -my-0.5 -mr-1 cursor-pointer rounded px-1 py-0.5 leading-[normal] font-normal\"\n :class=\"{ 'text-c-1': authIndicator.text === 'Required' }\"\n data-testid=\"auth-indicator\"\n @click=\"handleAuthIndicatorClick\">\n {{ authIndicator.text }}\n </span>\n </div>\n </template>\n\n <!-- Auth Dropdown (hidden when only one scheme is available) -->\n <template #actions>\n <ScalarComboboxMultiselect\n class=\"w-72 text-xs\"\n :modelValue=\"activeSchemeOptions\"\n multiple\n :options=\"availableSchemeOptions\"\n placement=\"bottom-end\"\n teleport\n @delete=\"handleDeleteRequest\"\n @update:modelValue=\"handleSchemeSelection\">\n <ScalarButton\n ref=\"comboboxButtonRef\"\n :aria-describedby=\"titleId\"\n class=\"group/combobox-button hover:text-c-1 text-c-2 flex h-fit w-full items-center gap-1 px-0.75 py-0.25 text-base font-normal\"\n variant=\"ghost\">\n <!-- Single auth scheme selected -->\n <template v-if=\"activeSchemeOptions.length === 1\">\n <span class=\"sr-only\">Selected Auth Type:</span>\n {{ activeSchemeOptions[0]?.label }}\n </template>\n\n <!-- Multiple auth schemes selected -->\n <template v-else-if=\"activeSchemeOptions.length > 1\">\n Multiple\n <span class=\"sr-only\">Auth Types Selected</span>\n </template>\n\n <!-- No auth schemes selected -->\n <template v-else>\n <span class=\"sr-only\">Select</span>\n Auth Type\n </template>\n\n <ScalarIconCaretDown\n class=\"size-3 shrink-0 transition-transform duration-100 group-aria-expanded/combobox-button:rotate-180\"\n weight=\"bold\" />\n </ScalarButton>\n\n <template #option=\"{ option, selected }\">\n <ScalarListboxCheckbox\n multiselect\n :selected=\"selected\" />\n <div class=\"min-w-0 flex-1 truncate\">\n {{ option.label }}\n </div>\n <ScalarIconButton\n v-if=\"option.isDeletable\"\n class=\"-m-0.5 shrink-0 p-0.5 opacity-0 group-hover/item:opacity-100\"\n :icon=\"ScalarIconTrash\"\n :label=\"`Delete ${option.label}`\"\n size=\"xs\"\n @click.stop=\"handleDeleteRequest(option)\" />\n </template>\n </ScalarComboboxMultiselect>\n </template>\n\n <!-- Auth Table -->\n <RequestAuthDataTable\n :activeAuthIndex=\"selectedSecurity?.selectedIndex ?? 0\"\n :environment\n :eventBus\n :isStatic\n :meta\n :options\n :proxyUrl\n :securitySchemes\n :selectedSchemeOptions=\"activeSchemeOptions\"\n :server />\n\n <!-- Delete Auth Modal -->\n <DeleteRequestAuthModal\n v-if=\"schemeToDelete\"\n :label=\"schemeToDelete.label\"\n :scheme=\"schemeToDelete\"\n :state=\"deleteModal\"\n @close=\"deleteModal.hide()\"\n @delete=\"handleDeleteConfirm\" />\n </CollapsibleSection>\n</template>\n"],"mappings":"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"}
1
+ {"version":3,"file":"AuthSelector.vue.script.js","names":[],"sources":["../../../../../src/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {\n ScalarButton,\n ScalarComboboxMultiselect,\n ScalarIconButton,\n ScalarListboxCheckbox,\n useModal,\n type Icon,\n type ScalarButton as ScalarButtonType,\n} from '@scalar/components'\nimport { ScalarIconCaretDown, ScalarIconTrash } from '@scalar/icons'\nimport type { SelectedSecurity } from '@scalar/workspace-store/entities/auth'\nimport type {\n AuthMeta,\n WorkspaceEventBus,\n} from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport { unpackProxyObject } from '@scalar/workspace-store/helpers/unpack-proxy'\nimport {\n isAuthOptional,\n type MergedSecuritySchemes,\n} from '@scalar/workspace-store/request-example'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type {\n OpenApiDocument,\n SecurityRequirementObject,\n ServerObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed, ref, useId } from 'vue'\n\nimport DeleteRequestAuthModal from '@/v2/blocks/scalar-auth-selector-block/components/DeleteRequestAuthModal.vue'\nimport type { OAuth2Options } from '@/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue'\nimport {\n formatComplexScheme,\n formatScheme,\n getSecuritySchemeOptions,\n type SecuritySchemeOption,\n} from '@/v2/blocks/scalar-auth-selector-block/helpers/security-scheme'\nimport { CollapsibleSection } from '@/v2/components/layout'\n\nimport RequestAuthDataTable from './RequestAuthDataTable.vue'\n\nconst {\n environment,\n eventBus,\n createAnySecurityScheme = false,\n defaultOpen = true,\n isStatic = false,\n meta,\n proxyUrl,\n securityRequirements,\n securitySchemes,\n selectedSecurity,\n server,\n title,\n options,\n} = defineProps<{\n environment: XScalarEnvironment\n eventBus: WorkspaceEventBus\n /** Allows adding authentication which is not in the document */\n createAnySecurityScheme?: boolean\n /** Whether the authentication disclosure should start expanded */\n defaultOpen?: boolean\n /** Creates a static disclosure that cannot be collapsed */\n isStatic?: boolean\n meta: AuthMeta\n proxyUrl: string\n securityRequirements: OpenApiDocument['security']\n securitySchemes: MergedSecuritySchemes\n selectedSecurity: SelectedSecurity | undefined\n server: ServerObject | null\n title: string\n /** Any config options required for the OAuth2 flow */\n options?: OAuth2Options\n}>()\n\nconst titleId = useId()\nconst comboboxButtonRef = ref<typeof ScalarButtonType | null>(null)\nconst isDisclosureOpen = ref(false)\n\nconst deleteModal = useModal()\nconst schemeToDelete = ref<{\n label: string\n payload: SecurityRequirementObject\n} | null>(null)\n\n/**\n * Determines if authentication is required or optional\n *\n * Auth is optional when there is an empty security requirement and no complex requirements.\n * Complex requirements have multiple auth schemes combined (e.g., API key + OAuth).\n */\nconst authIndicator = computed<{ icon: Icon; text: string } | null>(() => {\n if (!securityRequirements?.length) {\n return null\n }\n\n const isOptional = isAuthOptional(securityRequirements)\n\n return {\n icon: isOptional ? 'Unlock' : 'Lock',\n text: isOptional ? 'Optional' : 'Required',\n }\n})\n\n/** All available auth scheme options for the dropdown */\nconst availableSchemeOptions = computed(() =>\n getSecuritySchemeOptions(\n securityRequirements ?? [],\n securitySchemes ?? {},\n selectedSecurity?.selectedSchemes ?? [],\n createAnySecurityScheme,\n ),\n)\n\n/** Currently active auth schemes selected for this operation or collection */\nconst activeSchemeOptions = computed<SecuritySchemeOption[]>(() => {\n const schemes = selectedSecurity?.selectedSchemes\n if (!schemes?.length) {\n return []\n }\n\n return schemes.flatMap((requirement) => {\n const schemeNames = Object.keys(requirement)\n\n if (schemeNames.length === 0) {\n return []\n }\n\n // Complex auth requirement with multiple schemes\n if (schemeNames.length > 1) {\n return formatComplexScheme(requirement)\n }\n\n // Simple auth requirement with single scheme\n const schemeName = schemeNames[0]\n if (!schemeName) {\n return []\n }\n\n const scheme = getResolvedRef(securitySchemes?.[schemeName])\n if (!scheme) {\n return []\n }\n\n return formatScheme({\n name: schemeName,\n value: requirement,\n })\n })\n})\n\n/**\n * Opens the combobox dropdown when clicking the auth indicator badge.\n * Prevents the disclosure from toggling if it is already open.\n */\nconst handleAuthIndicatorClick = (event: Event): void => {\n if (isDisclosureOpen.value) {\n event.stopPropagation()\n }\n comboboxButtonRef.value?.$el.click()\n}\n\n/**\n * Updates the selected auth schemes.\n * Separates existing schemes from newly created ones for the event payload.\n */\nconst handleSchemeSelection = (selected: SecuritySchemeOption[]): void => {\n const existingSchemes = selected\n .filter((option) => option.payload === undefined)\n .map((option) => unpackProxyObject(option.value, { depth: 2 }))\n\n const newSchemes = selected\n .filter((option) => option.payload !== undefined)\n .map((option) => ({\n name: option.label,\n scheme: option.payload!,\n }))\n\n eventBus.emit('auth:update:selected-security-schemes', {\n selectedRequirements: existingSchemes,\n newSchemes,\n meta,\n })\n}\n\n/** Shows the delete confirmation modal for the selected scheme */\nconst handleDeleteRequest = (option: {\n label: string\n value: SecurityRequirementObject\n}): void => {\n schemeToDelete.value = { label: option.label, payload: option.value }\n deleteModal.show()\n}\n\n/** Deletes the selected auth scheme after confirmation */\nconst handleDeleteConfirm = (): void => {\n if (!schemeToDelete.value) {\n return\n }\n\n eventBus.emit('auth:delete:security-scheme', {\n names: Object.keys(schemeToDelete.value.payload),\n })\n\n schemeToDelete.value = null\n deleteModal.hide()\n}\n\ndefineExpose({\n authIndicator,\n selectedSchemeOptions: activeSchemeOptions,\n schemeOptions: availableSchemeOptions,\n})\n</script>\n<template>\n <CollapsibleSection\n class=\"group/params relative\"\n :defaultOpen\n :isStatic=\"isStatic\"\n :itemCount=\"activeSchemeOptions.length\"\n @update:modelValue=\"(open) => (isDisclosureOpen = open)\">\n <template #title>\n <div\n :id=\"titleId\"\n class=\"inline-flex items-center gap-0.5 leading-[20px]\">\n <span>{{ title }}</span>\n\n <span\n v-if=\"authIndicator\"\n class=\"text-c-3 hover:bg-b-3 hover:text-c-1 -my-0.5 -mr-1 cursor-pointer rounded px-1 py-0.5 leading-[normal] font-normal\"\n :class=\"{ 'text-c-1': authIndicator.text === 'Required' }\"\n data-testid=\"auth-indicator\"\n @click=\"handleAuthIndicatorClick\">\n {{ authIndicator.text }}\n </span>\n </div>\n </template>\n\n <!-- Auth Dropdown (hidden when only one scheme is available) -->\n <template #actions>\n <ScalarComboboxMultiselect\n class=\"w-72 text-xs\"\n :modelValue=\"activeSchemeOptions\"\n multiple\n :options=\"availableSchemeOptions\"\n placement=\"bottom-end\"\n teleport\n @delete=\"handleDeleteRequest\"\n @update:modelValue=\"handleSchemeSelection\">\n <ScalarButton\n ref=\"comboboxButtonRef\"\n :aria-describedby=\"titleId\"\n class=\"group/combobox-button hover:text-c-1 text-c-2 flex h-fit w-full items-center gap-1 px-0.75 py-0.25 text-base font-normal\"\n variant=\"ghost\">\n <!-- Single auth scheme selected -->\n <template v-if=\"activeSchemeOptions.length === 1\">\n <span class=\"sr-only\">Selected Auth Type:</span>\n {{ activeSchemeOptions[0]?.label }}\n </template>\n\n <!-- Multiple auth schemes selected -->\n <template v-else-if=\"activeSchemeOptions.length > 1\">\n Multiple\n <span class=\"sr-only\">Auth Types Selected</span>\n </template>\n\n <!-- No auth schemes selected -->\n <template v-else>\n <span class=\"sr-only\">Select</span>\n Auth Type\n </template>\n\n <ScalarIconCaretDown\n class=\"size-3 shrink-0 transition-transform duration-100 group-aria-expanded/combobox-button:rotate-180\"\n weight=\"bold\" />\n </ScalarButton>\n\n <template #option=\"{ option, selected }\">\n <ScalarListboxCheckbox\n multiselect\n :selected=\"selected\" />\n <div class=\"min-w-0 flex-1 truncate\">\n {{ option.label }}\n </div>\n <ScalarIconButton\n v-if=\"option.isDeletable\"\n class=\"-m-0.5 shrink-0 p-0.5 opacity-0 group-hover/item:opacity-100\"\n :icon=\"ScalarIconTrash\"\n :label=\"`Delete ${option.label}`\"\n size=\"xs\"\n @click.stop=\"handleDeleteRequest(option)\" />\n </template>\n </ScalarComboboxMultiselect>\n </template>\n\n <!-- Auth Table -->\n <RequestAuthDataTable\n :activeAuthIndex=\"selectedSecurity?.selectedIndex ?? 0\"\n :environment\n :eventBus\n :isStatic\n :meta\n :options\n :proxyUrl\n :securitySchemes\n :selectedSchemeOptions=\"activeSchemeOptions\"\n :server />\n\n <!-- Delete Auth Modal -->\n <DeleteRequestAuthModal\n v-if=\"schemeToDelete\"\n :label=\"schemeToDelete.label\"\n :scheme=\"schemeToDelete\"\n :state=\"deleteModal\"\n @close=\"deleteModal.hide()\"\n @delete=\"handleDeleteConfirm\" />\n </CollapsibleSection>\n</template>\n"],"mappings":"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"}
@@ -7,11 +7,11 @@ type __VLS_Props = {
7
7
  label: string;
8
8
  };
9
9
  declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
10
- close: () => any;
11
10
  delete: () => any;
11
+ close: () => any;
12
12
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
13
- onClose?: (() => any) | undefined;
14
13
  onDelete?: (() => any) | undefined;
14
+ onClose?: (() => any) | undefined;
15
15
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
16
16
  declare const _default: typeof __VLS_export;
17
17
  export default _default;