@scalar/api-client 2.43.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1540) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/README.md +119 -70
  3. package/dist/components/HttpMethod/HttpMethod.vue.d.ts +3 -3
  4. package/dist/components/HttpMethod/HttpMethod.vue.d.ts.map +1 -1
  5. package/dist/components/HttpMethod/HttpMethod.vue.js +1 -1
  6. package/dist/components/HttpMethod/HttpMethod.vue.js.map +1 -1
  7. package/dist/components/HttpMethod/HttpMethod.vue.script.js +3 -2
  8. package/dist/components/HttpMethod/HttpMethod.vue.script.js.map +1 -1
  9. package/dist/components/IconSelector.vue.script.js +1 -1
  10. package/dist/components/Server/index.d.ts +0 -2
  11. package/dist/components/Server/index.d.ts.map +1 -1
  12. package/dist/components/Server/index.js +1 -3
  13. package/dist/components/Sidebar/Actions/DeleteSidebarListElement.vue.d.ts +2 -2
  14. package/dist/hooks/{useFileDialog.d.ts → use-file-dialog.d.ts} +3 -2
  15. package/dist/hooks/use-file-dialog.d.ts.map +1 -0
  16. package/dist/hooks/{useFileDialog.js → use-file-dialog.js} +2 -2
  17. package/dist/hooks/use-file-dialog.js.map +1 -0
  18. package/dist/index.d.ts +0 -3
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +0 -5
  21. package/dist/monacoeditorwork/editor.worker.bundle.js +222 -366
  22. package/dist/monacoeditorwork/json.worker.bundle.js +388 -501
  23. package/dist/monacoeditorwork/yaml.worker.bundle.js +14567 -22937
  24. package/dist/plugins/posthog/index.d.ts +23 -0
  25. package/dist/plugins/posthog/index.d.ts.map +1 -0
  26. package/dist/plugins/posthog/index.js +58 -0
  27. package/dist/plugins/posthog/index.js.map +1 -0
  28. package/dist/style.css +6093 -7689
  29. package/dist/v2/blocks/operation-block/OperationBlock.vue.d.ts +4 -1
  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 +27 -22
  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 +1 -1
  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 +2 -2
  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.d.ts.map +1 -0
  41. package/dist/{components → v2/blocks/operation-block/components}/OpenApiClientButton.vue.js +3 -3
  42. package/dist/v2/blocks/operation-block/components/OpenApiClientButton.vue.js.map +1 -0
  43. package/dist/{components → v2/blocks/operation-block/components}/OpenApiClientButton.vue.script.js +6 -7
  44. package/dist/v2/blocks/operation-block/components/OpenApiClientButton.vue.script.js.map +1 -0
  45. package/dist/v2/blocks/operation-block/helpers/decode-buffer.d.ts +5 -2
  46. package/dist/v2/blocks/operation-block/helpers/decode-buffer.d.ts.map +1 -1
  47. package/dist/v2/blocks/operation-block/helpers/decode-buffer.js +8 -5
  48. package/dist/v2/blocks/operation-block/helpers/decode-buffer.js.map +1 -1
  49. package/dist/v2/blocks/operation-block/helpers/har-to-fetch-request.d.ts +8 -9
  50. package/dist/v2/blocks/operation-block/helpers/har-to-fetch-request.d.ts.map +1 -1
  51. package/dist/v2/blocks/operation-block/helpers/har-to-fetch-request.js +8 -10
  52. package/dist/v2/blocks/operation-block/helpers/har-to-fetch-request.js.map +1 -1
  53. package/dist/v2/blocks/operation-block/helpers/response-cache.d.ts +3 -2
  54. package/dist/v2/blocks/operation-block/helpers/response-cache.d.ts.map +1 -1
  55. package/dist/v2/blocks/operation-block/helpers/response-cache.js.map +1 -1
  56. package/dist/v2/blocks/operation-block/helpers/send-request.d.ts +8 -4
  57. package/dist/v2/blocks/operation-block/helpers/send-request.d.ts.map +1 -1
  58. package/dist/v2/blocks/operation-block/helpers/send-request.js +21 -14
  59. package/dist/v2/blocks/operation-block/helpers/send-request.js.map +1 -1
  60. package/dist/v2/blocks/operation-block/index.d.ts +1 -0
  61. package/dist/v2/blocks/operation-block/index.d.ts.map +1 -1
  62. package/dist/v2/blocks/operation-block/index.js +2 -1
  63. package/dist/v2/blocks/operation-code-sample/helpers/generate-code-snippet.d.ts.map +1 -1
  64. package/dist/v2/blocks/operation-code-sample/helpers/generate-code-snippet.js +1 -1
  65. package/dist/v2/blocks/operation-code-sample/helpers/generate-code-snippet.js.map +1 -1
  66. package/dist/{views/Components/CodeSnippet → v2/blocks/operation-code-sample}/helpers/get-snippet.d.ts +1 -1
  67. package/dist/v2/blocks/operation-code-sample/helpers/get-snippet.d.ts.map +1 -0
  68. package/dist/{views/Components/CodeSnippet → v2/blocks/operation-code-sample}/helpers/get-snippet.js +2 -3
  69. package/dist/v2/blocks/operation-code-sample/helpers/get-snippet.js.map +1 -0
  70. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-server-url.js +1 -1
  71. package/dist/v2/blocks/request-block/RequestBlock.vue.d.ts +4 -1
  72. package/dist/v2/blocks/request-block/RequestBlock.vue.d.ts.map +1 -1
  73. package/dist/v2/blocks/request-block/RequestBlock.vue.js +1 -1
  74. package/dist/v2/blocks/request-block/RequestBlock.vue.js.map +1 -1
  75. package/dist/v2/blocks/request-block/RequestBlock.vue.script.js +5 -2
  76. package/dist/v2/blocks/request-block/RequestBlock.vue.script.js.map +1 -1
  77. package/dist/v2/blocks/request-block/components/RequestBody.vue.js +1 -1
  78. package/dist/v2/blocks/request-block/components/RequestBody.vue.js.map +1 -1
  79. package/dist/v2/blocks/request-block/components/RequestBody.vue.script.js +2 -2
  80. package/dist/v2/blocks/request-block/components/RequestBody.vue.script.js.map +1 -1
  81. package/dist/v2/blocks/request-block/components/RequestBodyForm.vue.js.map +1 -1
  82. package/dist/v2/blocks/request-block/components/RequestBodyForm.vue.script.js +1 -1
  83. package/dist/v2/blocks/request-block/components/RequestBodyForm.vue.script.js.map +1 -1
  84. package/dist/v2/blocks/request-block/components/RequestTable.vue.d.ts +6 -6
  85. package/dist/v2/blocks/request-block/components/RequestTable.vue.d.ts.map +1 -1
  86. package/dist/v2/blocks/request-block/components/RequestTableRow.vue.d.ts +6 -6
  87. package/dist/v2/blocks/request-block/components/RequestTableRow.vue.d.ts.map +1 -1
  88. package/dist/v2/blocks/request-block/helpers/get-default-headers.d.ts.map +1 -1
  89. package/dist/v2/blocks/request-block/helpers/get-default-headers.js +2 -2
  90. package/dist/v2/blocks/request-block/helpers/get-default-headers.js.map +1 -1
  91. package/dist/v2/blocks/response-block/ResponseBlock.vue.d.ts +5 -4
  92. package/dist/v2/blocks/response-block/ResponseBlock.vue.d.ts.map +1 -1
  93. package/dist/v2/blocks/response-block/ResponseBlock.vue.js +1 -1
  94. package/dist/v2/blocks/response-block/ResponseBlock.vue.js.map +1 -1
  95. package/dist/v2/blocks/response-block/ResponseBlock.vue.script.js +13 -7
  96. package/dist/v2/blocks/response-block/ResponseBlock.vue.script.js.map +1 -1
  97. package/dist/v2/blocks/response-block/components/Headers.vue.d.ts.map +1 -1
  98. package/dist/v2/blocks/response-block/components/Headers.vue.js.map +1 -1
  99. package/dist/v2/blocks/response-block/components/Headers.vue.script.js +11 -13
  100. package/dist/v2/blocks/response-block/components/Headers.vue.script.js.map +1 -1
  101. package/dist/v2/blocks/response-block/components/ResponseBody.vue.d.ts +2 -0
  102. package/dist/v2/blocks/response-block/components/ResponseBody.vue.d.ts.map +1 -1
  103. package/dist/v2/blocks/response-block/components/ResponseBody.vue.js +1 -1
  104. package/dist/v2/blocks/response-block/components/ResponseBody.vue.js.map +1 -1
  105. package/dist/v2/blocks/response-block/components/ResponseBody.vue.script.js +35 -15
  106. package/dist/v2/blocks/response-block/components/ResponseBody.vue.script.js.map +1 -1
  107. package/dist/v2/blocks/response-block/components/ResponseBodyDownload.vue.js.map +1 -1
  108. package/dist/v2/blocks/response-block/components/ResponseBodyDownload.vue.script.js +1 -1
  109. package/dist/v2/blocks/response-block/components/ResponseBodyDownload.vue.script.js.map +1 -1
  110. package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.d.ts +1 -1
  111. package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.d.ts.map +1 -1
  112. package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.js +1 -1
  113. package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.js.map +1 -1
  114. package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.script.js.map +1 -1
  115. package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.script.js +1 -1
  116. package/dist/v2/blocks/response-block/components/ResponseBodyVirtual.vue.d.ts.map +1 -1
  117. package/dist/v2/blocks/response-block/components/ResponseBodyVirtual.vue.js.map +1 -1
  118. package/dist/v2/blocks/response-block/components/ResponseBodyVirtual.vue.script.js +2 -1
  119. package/dist/v2/blocks/response-block/components/ResponseBodyVirtual.vue.script.js.map +1 -1
  120. package/dist/v2/blocks/response-block/components/ResponseCookies.vue.d.ts.map +1 -1
  121. package/dist/v2/blocks/response-block/components/ResponseCookies.vue.js.map +1 -1
  122. package/dist/v2/blocks/response-block/components/ResponseCookies.vue.script.js +9 -9
  123. package/dist/v2/blocks/response-block/components/ResponseCookies.vue.script.js.map +1 -1
  124. package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.d.ts +3 -3
  125. package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.d.ts.map +1 -1
  126. package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.js +1 -1
  127. package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.js.map +1 -1
  128. package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.script.js.map +1 -1
  129. package/dist/v2/blocks/response-block/components/ResponseMetaInformation.vue.d.ts +1 -1
  130. package/dist/v2/blocks/response-block/components/ResponseMetaInformation.vue.d.ts.map +1 -1
  131. package/dist/v2/blocks/response-block/components/ResponseMetaInformation.vue.js.map +1 -1
  132. package/dist/v2/blocks/response-block/components/ResponseMetaInformation.vue.script.js +1 -1
  133. package/dist/v2/blocks/response-block/components/ResponseMetaInformation.vue.script.js.map +1 -1
  134. package/dist/v2/blocks/response-block/helpers/get-content-length.d.ts +1 -1
  135. package/dist/v2/blocks/response-block/helpers/get-content-length.d.ts.map +1 -1
  136. package/dist/v2/blocks/response-block/helpers/get-content-length.js.map +1 -1
  137. package/dist/v2/blocks/response-block/helpers/media-types.d.ts +1 -1
  138. package/dist/v2/blocks/response-block/helpers/media-types.d.ts.map +1 -1
  139. package/dist/v2/blocks/response-block/helpers/media-types.js +10 -1
  140. package/dist/v2/blocks/response-block/helpers/media-types.js.map +1 -1
  141. package/dist/v2/blocks/response-block/helpers/process-response-body.d.ts +1 -2
  142. package/dist/v2/blocks/response-block/helpers/process-response-body.d.ts.map +1 -1
  143. package/dist/v2/blocks/response-block/helpers/process-response-body.js +2 -3
  144. package/dist/v2/blocks/response-block/helpers/process-response-body.js.map +1 -1
  145. package/dist/v2/blocks/response-block/helpers/resolve-response-body-handler.d.ts +11 -0
  146. package/dist/v2/blocks/response-block/helpers/resolve-response-body-handler.d.ts.map +1 -0
  147. package/dist/v2/blocks/response-block/helpers/resolve-response-body-handler.js +44 -0
  148. package/dist/v2/blocks/response-block/helpers/resolve-response-body-handler.js.map +1 -0
  149. package/dist/v2/blocks/response-block/helpers/resolve-response-content-type.d.ts +14 -0
  150. package/dist/v2/blocks/response-block/helpers/resolve-response-content-type.d.ts.map +1 -0
  151. package/dist/v2/blocks/response-block/helpers/resolve-response-content-type.js +13 -0
  152. package/dist/v2/blocks/response-block/helpers/resolve-response-content-type.js.map +1 -0
  153. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.d.ts +2 -2
  154. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.d.ts.map +1 -1
  155. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.js +1 -1
  156. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.js.map +1 -1
  157. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.script.js +8 -3
  158. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.script.js.map +1 -1
  159. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBarHistory.vue.js +1 -1
  160. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBarHistory.vue.js.map +1 -1
  161. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBarHistory.vue.script.js +2 -2
  162. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBarHistory.vue.script.js.map +1 -1
  163. package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.d.ts +3 -0
  164. package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.d.ts.map +1 -1
  165. package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.js.map +1 -1
  166. package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.script.js +4 -1
  167. package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.script.js.map +1 -1
  168. package/dist/v2/blocks/scalar-auth-selector-block/components/DeleteRequestAuthModal.vue.d.ts +2 -2
  169. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.d.ts +31 -6
  170. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.d.ts.map +1 -1
  171. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.js.map +1 -1
  172. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.script.js +6 -8
  173. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.script.js.map +1 -1
  174. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.d.ts.map +1 -1
  175. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.js +1 -1
  176. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.js.map +1 -1
  177. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.script.js +5 -5
  178. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.script.js.map +1 -1
  179. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue.js.map +1 -1
  180. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue.script.js +3 -3
  181. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue.script.js.map +1 -1
  182. package/dist/v2/blocks/scalar-auth-selector-block/components/OpenIDConnect.vue.js.map +1 -1
  183. package/dist/v2/blocks/scalar-auth-selector-block/components/OpenIDConnect.vue.script.js +1 -1
  184. package/dist/v2/blocks/scalar-auth-selector-block/components/OpenIDConnect.vue.script.js.map +1 -1
  185. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.d.ts +3 -0
  186. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.d.ts.map +1 -1
  187. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.js.map +1 -1
  188. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.script.js +6 -3
  189. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.script.js.map +1 -1
  190. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTableInput.vue.d.ts +1 -1
  191. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.d.ts +3 -0
  192. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.d.ts.map +1 -1
  193. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.js.map +1 -1
  194. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.script.js +4 -1
  195. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.script.js.map +1 -1
  196. package/dist/v2/blocks/scalar-auth-selector-block/helpers/fetch-openid-connect-discovery.d.ts +1 -1
  197. package/dist/v2/blocks/scalar-auth-selector-block/helpers/fetch-openid-connect-discovery.d.ts.map +1 -1
  198. package/dist/v2/blocks/scalar-auth-selector-block/helpers/fetch-openid-connect-discovery.js.map +1 -1
  199. package/dist/v2/blocks/scalar-auth-selector-block/helpers/oauth.d.ts +1 -1
  200. package/dist/v2/blocks/scalar-auth-selector-block/helpers/oauth.d.ts.map +1 -1
  201. package/dist/v2/blocks/scalar-auth-selector-block/helpers/oauth.js +3 -3
  202. package/dist/v2/blocks/scalar-auth-selector-block/helpers/oauth.js.map +1 -1
  203. package/dist/v2/blocks/scalar-auth-selector-block/helpers/resolve-default-oauth2-redirect-url.d.ts +11 -0
  204. package/dist/v2/blocks/scalar-auth-selector-block/helpers/resolve-default-oauth2-redirect-url.d.ts.map +1 -0
  205. package/dist/v2/blocks/scalar-auth-selector-block/helpers/resolve-default-oauth2-redirect-url.js +18 -0
  206. package/dist/v2/blocks/scalar-auth-selector-block/helpers/resolve-default-oauth2-redirect-url.js.map +1 -0
  207. package/dist/v2/components/code-input/CodeInput.vue.d.ts +4 -3
  208. package/dist/v2/components/code-input/CodeInput.vue.d.ts.map +1 -1
  209. package/dist/v2/components/code-input/CodeInput.vue.js +1 -1
  210. package/dist/v2/components/code-input/CodeInput.vue.js.map +1 -1
  211. package/dist/v2/components/code-input/CodeInput.vue.script.js +8 -0
  212. package/dist/v2/components/code-input/CodeInput.vue.script.js.map +1 -1
  213. package/dist/{views/Collection/CollectionNavigation.vue.d.ts → v2/components/code-input/PillTooltipHost.vue.d.ts} +3 -2
  214. package/dist/v2/components/code-input/PillTooltipHost.vue.d.ts.map +1 -0
  215. package/dist/v2/components/code-input/PillTooltipHost.vue.js +7 -0
  216. package/dist/v2/components/code-input/PillTooltipHost.vue.js.map +1 -0
  217. package/dist/v2/components/code-input/PillTooltipHost.vue.script.js +40 -0
  218. package/dist/v2/components/code-input/PillTooltipHost.vue.script.js.map +1 -0
  219. package/dist/v2/components/code-input/code-variable-widget.d.ts +1 -0
  220. package/dist/v2/components/code-input/code-variable-widget.d.ts.map +1 -1
  221. package/dist/v2/components/code-input/code-variable-widget.js +33 -20
  222. package/dist/v2/components/code-input/code-variable-widget.js.map +1 -1
  223. package/dist/v2/components/code-input/pill-context.d.ts +11 -0
  224. package/dist/v2/components/code-input/pill-context.d.ts.map +1 -0
  225. package/dist/v2/components/data-table/DataTableInput.vue.d.ts +3 -3
  226. package/dist/v2/components/data-table/DataTableInput.vue.d.ts.map +1 -1
  227. package/dist/v2/components/layout/CollapsibleSection.vue.d.ts.map +1 -1
  228. package/dist/v2/components/layout/CollapsibleSection.vue.js.map +1 -1
  229. package/dist/v2/components/layout/CollapsibleSection.vue.script.js +5 -2
  230. package/dist/v2/components/layout/CollapsibleSection.vue.script.js.map +1 -1
  231. package/dist/v2/components/modals/DeleteModal.vue.d.ts +2 -2
  232. package/dist/v2/components/modals/ModalClientContainer.vue.d.ts +2 -2
  233. package/dist/v2/components/server/ServerDropdown.vue.d.ts +1 -1
  234. package/dist/v2/components/server/ServerDropdown.vue.d.ts.map +1 -1
  235. package/dist/v2/components/server/ServerDropdown.vue.js.map +1 -1
  236. package/dist/v2/components/server/ServerDropdown.vue.script.js.map +1 -1
  237. package/dist/v2/components/sidebar/Sidebar.vue.d.ts.map +1 -1
  238. package/dist/v2/components/sidebar/Sidebar.vue.js.map +1 -1
  239. package/dist/v2/components/sidebar/Sidebar.vue.script.js +1 -1
  240. package/dist/v2/components/sidebar/Sidebar.vue.script.js.map +1 -1
  241. package/dist/v2/constants.js +1 -1
  242. package/dist/v2/features/app/App.vue.d.ts.map +1 -1
  243. package/dist/v2/features/app/App.vue.js.map +1 -1
  244. package/dist/v2/features/app/App.vue.script.js +16 -4
  245. package/dist/v2/features/app/App.vue.script.js.map +1 -1
  246. package/dist/v2/features/app/app-state.js +6 -6
  247. package/dist/v2/features/app/components/AppSidebar.vue.script.js +2 -2
  248. package/dist/v2/features/app/components/CreateWorkspaceModal.vue.d.ts.map +1 -1
  249. package/dist/v2/features/app/components/CreateWorkspaceModal.vue.js.map +1 -1
  250. package/dist/v2/features/app/components/CreateWorkspaceModal.vue.script.js +4 -4
  251. package/dist/v2/features/app/components/CreateWorkspaceModal.vue.script.js.map +1 -1
  252. package/dist/v2/features/app/components/DesktopTab.vue.d.ts +4 -4
  253. package/dist/v2/features/app/components/DesktopTab.vue.d.ts.map +1 -1
  254. package/dist/v2/features/app/components/DesktopTab.vue.js +1 -1
  255. package/dist/v2/features/app/components/DesktopTab.vue.js.map +1 -1
  256. package/dist/v2/features/app/components/DesktopTab.vue.script.js +2 -2
  257. package/dist/v2/features/app/components/DesktopTab.vue.script.js.map +1 -1
  258. package/dist/v2/features/app/helpers/create-temp-operation.d.ts.map +1 -1
  259. package/dist/v2/features/app/helpers/create-temp-operation.js +4 -1
  260. package/dist/v2/features/app/helpers/create-temp-operation.js.map +1 -1
  261. package/dist/v2/features/app/helpers/routes.d.ts +2 -2
  262. package/dist/v2/features/app/helpers/routes.d.ts.map +1 -1
  263. package/dist/v2/features/app/helpers/routes.js +11 -5
  264. package/dist/v2/features/app/helpers/routes.js.map +1 -1
  265. package/dist/v2/features/app/index.js +2 -2
  266. package/dist/v2/features/collection/DocumentCollection.vue.script.js +1 -1
  267. package/dist/v2/features/collection/OperationCollection.vue.script.js +1 -1
  268. package/dist/v2/features/collection/components/Editor/helpers/parse-editor-object.js +1 -1
  269. package/dist/v2/features/collection/components/Runner/components/Runner.vue.d.ts +16 -0
  270. package/dist/v2/features/collection/components/Runner/components/Runner.vue.d.ts.map +1 -0
  271. package/dist/v2/features/collection/components/Runner/components/Runner.vue.js +7 -0
  272. package/dist/v2/features/collection/components/Runner/components/Runner.vue.js.map +1 -0
  273. package/dist/v2/features/collection/components/Runner/components/Runner.vue.script.js +220 -0
  274. package/dist/v2/features/collection/components/Runner/components/Runner.vue.script.js.map +1 -0
  275. package/dist/{components/Sidebar/SidebarButton.vue.d.ts → v2/features/collection/components/Runner/components/RunnerCard.vue.d.ts} +8 -6
  276. package/dist/v2/features/collection/components/Runner/components/RunnerCard.vue.d.ts.map +1 -0
  277. package/dist/v2/features/collection/components/Runner/components/RunnerCard.vue.js +7 -0
  278. package/dist/v2/features/collection/components/Runner/components/RunnerCard.vue.js.map +1 -0
  279. package/dist/v2/features/collection/components/Runner/components/RunnerCard.vue.script.js +45 -0
  280. package/dist/v2/features/collection/components/Runner/components/RunnerCard.vue.script.js.map +1 -0
  281. package/dist/{components/Form/LabelInput.vue.d.ts → v2/features/collection/components/Runner/components/RunnerOrderItem.vue.d.ts} +12 -8
  282. package/dist/v2/features/collection/components/Runner/components/RunnerOrderItem.vue.d.ts.map +1 -0
  283. package/dist/v2/features/collection/components/Runner/components/RunnerOrderItem.vue.js +7 -0
  284. package/dist/v2/features/collection/components/Runner/components/RunnerOrderItem.vue.js.map +1 -0
  285. package/dist/v2/features/collection/components/Runner/components/RunnerOrderItem.vue.script.js +73 -0
  286. package/dist/v2/features/collection/components/Runner/components/RunnerOrderItem.vue.script.js.map +1 -0
  287. package/dist/{components/AddressBar/AddressBarHistory.vue.d.ts → v2/features/collection/components/Runner/components/RunnerResultRow.vue.d.ts} +11 -5
  288. package/dist/v2/features/collection/components/Runner/components/RunnerResultRow.vue.d.ts.map +1 -0
  289. package/dist/v2/features/collection/components/Runner/components/RunnerResultRow.vue.js +7 -0
  290. package/dist/v2/features/collection/components/Runner/components/RunnerResultRow.vue.js.map +1 -0
  291. package/dist/v2/features/collection/components/Runner/components/RunnerResultRow.vue.script.js +124 -0
  292. package/dist/v2/features/collection/components/Runner/components/RunnerResultRow.vue.script.js.map +1 -0
  293. package/dist/v2/features/collection/components/Runner/components/RunnerResults.vue.d.ts +17 -0
  294. package/dist/v2/features/collection/components/Runner/components/RunnerResults.vue.d.ts.map +1 -0
  295. package/dist/v2/features/collection/components/Runner/components/RunnerResults.vue.js +7 -0
  296. package/dist/v2/features/collection/components/Runner/components/RunnerResults.vue.js.map +1 -0
  297. package/dist/v2/features/collection/components/Runner/components/RunnerResults.vue.script.js +126 -0
  298. package/dist/v2/features/collection/components/Runner/components/RunnerResults.vue.script.js.map +1 -0
  299. package/dist/v2/features/collection/components/Runner/components/RunnerTree.vue.d.ts +18 -0
  300. package/dist/v2/features/collection/components/Runner/components/RunnerTree.vue.d.ts.map +1 -0
  301. package/dist/v2/features/collection/components/Runner/components/RunnerTree.vue.js +7 -0
  302. package/dist/v2/features/collection/components/Runner/components/RunnerTree.vue.js.map +1 -0
  303. package/dist/v2/features/collection/components/Runner/components/RunnerTree.vue.script.js +180 -0
  304. package/dist/v2/features/collection/components/Runner/components/RunnerTree.vue.script.js.map +1 -0
  305. package/dist/{components/Sidebar/Actions/EditSidebarListElement.vue.d.ts → v2/features/collection/components/Runner/components/RunnerTreeExample.vue.d.ts} +6 -5
  306. package/dist/v2/features/collection/components/Runner/components/RunnerTreeExample.vue.d.ts.map +1 -0
  307. package/dist/v2/features/collection/components/Runner/components/RunnerTreeExample.vue.js +7 -0
  308. package/dist/v2/features/collection/components/Runner/components/RunnerTreeExample.vue.js.map +1 -0
  309. package/dist/v2/features/collection/components/Runner/components/RunnerTreeExample.vue.script.js +44 -0
  310. package/dist/v2/features/collection/components/Runner/components/RunnerTreeExample.vue.script.js.map +1 -0
  311. package/dist/{components/DataTable/DataTableText.vue.d.ts → v2/features/collection/components/Runner/components/RunnerTreeGroup.vue.d.ts} +6 -4
  312. package/dist/v2/features/collection/components/Runner/components/RunnerTreeGroup.vue.d.ts.map +1 -0
  313. package/dist/v2/features/collection/components/Runner/components/RunnerTreeGroup.vue.js +7 -0
  314. package/dist/v2/features/collection/components/Runner/components/RunnerTreeGroup.vue.js.map +1 -0
  315. package/dist/v2/features/collection/components/Runner/components/RunnerTreeGroup.vue.script.js +53 -0
  316. package/dist/v2/features/collection/components/Runner/components/RunnerTreeGroup.vue.script.js.map +1 -0
  317. package/dist/v2/features/collection/components/Runner/components/RunnerTreeOperation.vue.d.ts +23 -0
  318. package/dist/v2/features/collection/components/Runner/components/RunnerTreeOperation.vue.d.ts.map +1 -0
  319. package/dist/v2/features/collection/components/Runner/components/RunnerTreeOperation.vue.js +7 -0
  320. package/dist/v2/features/collection/components/Runner/components/RunnerTreeOperation.vue.js.map +1 -0
  321. package/dist/v2/features/collection/components/Runner/components/RunnerTreeOperation.vue.script.js +75 -0
  322. package/dist/v2/features/collection/components/Runner/components/RunnerTreeOperation.vue.script.js.map +1 -0
  323. package/dist/v2/features/collection/components/Runner/hooks/index.d.ts +3 -0
  324. package/dist/v2/features/collection/components/Runner/hooks/index.d.ts.map +1 -0
  325. package/dist/v2/features/collection/components/Runner/hooks/use-runner-execution.d.ts +73 -0
  326. package/dist/v2/features/collection/components/Runner/hooks/use-runner-execution.d.ts.map +1 -0
  327. package/dist/v2/features/collection/components/Runner/hooks/use-runner-execution.js +190 -0
  328. package/dist/v2/features/collection/components/Runner/hooks/use-runner-execution.js.map +1 -0
  329. package/dist/v2/features/collection/components/Runner/hooks/use-runner-selection.d.ts +46 -0
  330. package/dist/v2/features/collection/components/Runner/hooks/use-runner-selection.d.ts.map +1 -0
  331. package/dist/v2/features/collection/components/Runner/hooks/use-runner-selection.js +114 -0
  332. package/dist/v2/features/collection/components/Runner/hooks/use-runner-selection.js.map +1 -0
  333. package/dist/v2/features/collection/components/Runner/index.d.ts +2 -0
  334. package/dist/v2/features/collection/components/Runner/index.d.ts.map +1 -0
  335. package/dist/v2/features/collection/components/Tabs.vue.d.ts.map +1 -1
  336. package/dist/v2/features/collection/components/Tabs.vue.js.map +1 -1
  337. package/dist/v2/features/collection/components/Tabs.vue.script.js +3 -2
  338. package/dist/v2/features/collection/components/Tabs.vue.script.js.map +1 -1
  339. package/dist/v2/features/command-palette/TheCommandPalette.vue.script.js +2 -2
  340. package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.d.ts.map +1 -1
  341. package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.js.map +1 -1
  342. package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.script.js +4 -4
  343. package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.script.js.map +1 -1
  344. package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.d.ts.map +1 -1
  345. package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.js.map +1 -1
  346. package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.script.js +26 -21
  347. package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.script.js.map +1 -1
  348. package/dist/v2/features/command-palette/components/CommandPaletteOpenApiDocument.vue.script.js +1 -1
  349. package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.js +1 -1
  350. package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.js.map +1 -1
  351. package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.script.js +1 -1
  352. package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.script.js.map +1 -1
  353. package/dist/v2/features/command-palette/helpers/get-operation-from-curl.js +1 -1
  354. package/dist/v2/features/command-palette/helpers/get-operation-from-curl.js.map +1 -1
  355. package/dist/v2/features/command-palette/helpers/get-postman-convert-options.d.ts +14 -0
  356. package/dist/v2/features/command-palette/helpers/get-postman-convert-options.d.ts.map +1 -0
  357. package/dist/v2/features/command-palette/helpers/get-postman-convert-options.js +19 -0
  358. package/dist/v2/features/command-palette/helpers/get-postman-convert-options.js.map +1 -0
  359. package/dist/v2/features/command-palette/helpers/get-postman-document-details.js +1 -1
  360. package/dist/v2/features/command-palette/helpers/get-postman-document-details.js.map +1 -1
  361. package/dist/v2/features/command-palette/helpers/load-document-from-source.d.ts.map +1 -1
  362. package/dist/v2/features/command-palette/helpers/load-document-from-source.js +1 -1
  363. package/dist/v2/features/command-palette/helpers/load-document-from-source.js.map +1 -1
  364. package/dist/{libs → v2/features/command-palette/helpers}/parse-curl.d.ts +2 -2
  365. package/dist/v2/features/command-palette/helpers/parse-curl.d.ts.map +1 -0
  366. package/dist/{libs → v2/features/command-palette/helpers}/parse-curl.js +1 -1
  367. package/dist/v2/features/command-palette/helpers/parse-curl.js.map +1 -0
  368. package/dist/v2/features/command-palette/hooks/use-command-palette-state.js +1 -1
  369. package/dist/v2/features/command-palette/index.d.ts +2 -0
  370. package/dist/v2/features/command-palette/index.d.ts.map +1 -1
  371. package/dist/v2/features/command-palette/index.js +3 -1
  372. package/dist/v2/features/editor/helpers/configure-language-support.js +3 -3
  373. package/dist/v2/features/editor/helpers/configure-language-support.js.map +1 -1
  374. package/dist/v2/features/editor/helpers/json/get-json-ast-node-from-path.d.ts +1 -1
  375. package/dist/v2/features/editor/helpers/json/get-json-ast-node-from-path.d.ts.map +1 -1
  376. package/dist/v2/features/editor/helpers/json/get-json-ast-node-from-path.js +1 -1
  377. package/dist/v2/features/editor/helpers/json/get-json-ast-node-from-path.js.map +1 -1
  378. package/dist/v2/features/editor/helpers/json/json-ast.d.ts +1 -1
  379. package/dist/v2/features/editor/helpers/json/json-ast.d.ts.map +1 -1
  380. package/dist/v2/features/editor/helpers/json/json-ast.js +1 -1
  381. package/dist/v2/features/editor/helpers/json/json-ast.js.map +1 -1
  382. package/dist/v2/features/editor/helpers/theme/load-css-variables.d.ts +1 -1
  383. package/dist/v2/features/editor/hooks/use-editor-markers.d.ts.map +1 -1
  384. package/dist/v2/features/environments/components/EnvironmentCreateModal.vue.d.ts.map +1 -1
  385. package/dist/v2/features/environments/components/EnvironmentCreateModal.vue.js.map +1 -1
  386. package/dist/v2/features/environments/components/EnvironmentCreateModal.vue.script.js +4 -4
  387. package/dist/v2/features/environments/components/EnvironmentCreateModal.vue.script.js.map +1 -1
  388. package/dist/v2/features/environments/components/EnvironmentVariablesDropdown.vue.d.ts +5 -0
  389. package/dist/v2/features/environments/components/EnvironmentVariablesDropdown.vue.d.ts.map +1 -1
  390. package/dist/v2/features/environments/components/EnvironmentVariablesDropdown.vue.js.map +1 -1
  391. package/dist/v2/features/environments/components/EnvironmentVariablesDropdown.vue.script.js +70 -13
  392. package/dist/v2/features/environments/components/EnvironmentVariablesDropdown.vue.script.js.map +1 -1
  393. package/dist/v2/features/modal/Modal.vue.d.ts +8 -3
  394. package/dist/v2/features/modal/Modal.vue.d.ts.map +1 -1
  395. package/dist/v2/features/modal/Modal.vue.js.map +1 -1
  396. package/dist/v2/features/modal/Modal.vue.script.js +1 -1
  397. package/dist/v2/features/modal/Modal.vue.script.js.map +1 -1
  398. package/dist/v2/features/modal/helpers/create-api-client-modal.d.ts +4 -3
  399. package/dist/v2/features/modal/helpers/create-api-client-modal.d.ts.map +1 -1
  400. package/dist/v2/features/modal/helpers/create-api-client-modal.js +23 -3
  401. package/dist/v2/features/modal/helpers/create-api-client-modal.js.map +1 -1
  402. package/dist/v2/features/modal/helpers/types.d.ts +8 -0
  403. package/dist/v2/features/modal/helpers/types.d.ts.map +1 -0
  404. package/dist/v2/features/modal/index.d.ts +1 -0
  405. package/dist/v2/features/modal/index.d.ts.map +1 -1
  406. package/dist/v2/features/operation/Operation.vue.d.ts +3 -3
  407. package/dist/v2/features/operation/Operation.vue.d.ts.map +1 -1
  408. package/dist/v2/features/operation/Operation.vue.js.map +1 -1
  409. package/dist/v2/features/operation/Operation.vue.script.js +3 -1
  410. package/dist/v2/features/operation/Operation.vue.script.js.map +1 -1
  411. package/dist/v2/features/settings/CollectionSettings.vue.script.js +1 -1
  412. package/dist/v2/features/settings/components/Appearance.vue.d.ts +2 -2
  413. package/dist/v2/helpers/safe-run.d.ts +10 -0
  414. package/dist/v2/helpers/safe-run.d.ts.map +1 -0
  415. package/dist/v2/helpers/safe-run.js +19 -0
  416. package/dist/v2/helpers/safe-run.js.map +1 -0
  417. package/package.json +151 -169
  418. package/dist/assets/keycap.ascii.virtual.js +0 -6
  419. package/dist/assets/keycap.ascii.virtual.js.map +0 -1
  420. package/dist/components/AddressBar/AddressBar.vue.d.ts +0 -20
  421. package/dist/components/AddressBar/AddressBar.vue.d.ts.map +0 -1
  422. package/dist/components/AddressBar/AddressBar.vue.js +0 -9
  423. package/dist/components/AddressBar/AddressBar.vue.js.map +0 -1
  424. package/dist/components/AddressBar/AddressBar.vue.script.js +0 -204
  425. package/dist/components/AddressBar/AddressBar.vue.script.js.map +0 -1
  426. package/dist/components/AddressBar/AddressBarHistory.vue.d.ts.map +0 -1
  427. package/dist/components/AddressBar/AddressBarHistory.vue.js +0 -9
  428. package/dist/components/AddressBar/AddressBarHistory.vue.js.map +0 -1
  429. package/dist/components/AddressBar/AddressBarHistory.vue.script.js +0 -85
  430. package/dist/components/AddressBar/AddressBarHistory.vue.script.js.map +0 -1
  431. package/dist/components/AddressBar/httpStatusCodeColors.d.ts +0 -22
  432. package/dist/components/AddressBar/httpStatusCodeColors.d.ts.map +0 -1
  433. package/dist/components/AddressBar/httpStatusCodeColors.js +0 -20
  434. package/dist/components/AddressBar/httpStatusCodeColors.js.map +0 -1
  435. package/dist/components/AddressBar/index.d.ts +0 -2
  436. package/dist/components/AddressBar/index.d.ts.map +0 -1
  437. package/dist/components/AddressBar/index.js +0 -2
  438. package/dist/components/CodeInput/CodeInput.vue.d.ts +0 -101
  439. package/dist/components/CodeInput/CodeInput.vue.d.ts.map +0 -1
  440. package/dist/components/CodeInput/CodeInput.vue.js +0 -10
  441. package/dist/components/CodeInput/CodeInput.vue.js.map +0 -1
  442. package/dist/components/CodeInput/CodeInput.vue.script.js +0 -294
  443. package/dist/components/CodeInput/CodeInput.vue.script.js.map +0 -1
  444. package/dist/components/CodeInput/codeVariableWidget.d.ts +0 -17
  445. package/dist/components/CodeInput/codeVariableWidget.d.ts.map +0 -1
  446. package/dist/components/CodeInput/codeVariableWidget.js +0 -135
  447. package/dist/components/CodeInput/codeVariableWidget.js.map +0 -1
  448. package/dist/components/CodeInput/index.d.ts +0 -2
  449. package/dist/components/CodeInput/index.d.ts.map +0 -1
  450. package/dist/components/CodeInput/index.js +0 -2
  451. package/dist/components/CommandPalette/CommandActionForm.vue.d.ts +0 -31
  452. package/dist/components/CommandPalette/CommandActionForm.vue.d.ts.map +0 -1
  453. package/dist/components/CommandPalette/CommandActionForm.vue.js +0 -7
  454. package/dist/components/CommandPalette/CommandActionForm.vue.js.map +0 -1
  455. package/dist/components/CommandPalette/CommandActionForm.vue.script.js +0 -42
  456. package/dist/components/CommandPalette/CommandActionForm.vue.script.js.map +0 -1
  457. package/dist/components/CommandPalette/CommandActionInput.vue.d.ts +0 -15
  458. package/dist/components/CommandPalette/CommandActionInput.vue.d.ts.map +0 -1
  459. package/dist/components/CommandPalette/CommandActionInput.vue.js +0 -7
  460. package/dist/components/CommandPalette/CommandActionInput.vue.js.map +0 -1
  461. package/dist/components/CommandPalette/CommandActionInput.vue.script.js +0 -55
  462. package/dist/components/CommandPalette/CommandActionInput.vue.script.js.map +0 -1
  463. package/dist/components/CommandPalette/CommandPaletteCollection.vue.d.ts +0 -10
  464. package/dist/components/CommandPalette/CommandPaletteCollection.vue.d.ts.map +0 -1
  465. package/dist/components/CommandPalette/CommandPaletteCollection.vue.js +0 -7
  466. package/dist/components/CommandPalette/CommandPaletteCollection.vue.js.map +0 -1
  467. package/dist/components/CommandPalette/CommandPaletteCollection.vue.script.js +0 -78
  468. package/dist/components/CommandPalette/CommandPaletteCollection.vue.script.js.map +0 -1
  469. package/dist/components/CommandPalette/CommandPaletteExample.vue.d.ts +0 -16
  470. package/dist/components/CommandPalette/CommandPaletteExample.vue.d.ts.map +0 -1
  471. package/dist/components/CommandPalette/CommandPaletteExample.vue.js +0 -7
  472. package/dist/components/CommandPalette/CommandPaletteExample.vue.js.map +0 -1
  473. package/dist/components/CommandPalette/CommandPaletteExample.vue.script.js +0 -104
  474. package/dist/components/CommandPalette/CommandPaletteExample.vue.script.js.map +0 -1
  475. package/dist/components/CommandPalette/CommandPaletteImport.vue.d.ts +0 -10
  476. package/dist/components/CommandPalette/CommandPaletteImport.vue.d.ts.map +0 -1
  477. package/dist/components/CommandPalette/CommandPaletteImport.vue.js +0 -7
  478. package/dist/components/CommandPalette/CommandPaletteImport.vue.js.map +0 -1
  479. package/dist/components/CommandPalette/CommandPaletteImport.vue.script.js +0 -181
  480. package/dist/components/CommandPalette/CommandPaletteImport.vue.script.js.map +0 -1
  481. package/dist/components/CommandPalette/CommandPaletteImportCurl.vue.d.ts +0 -20
  482. package/dist/components/CommandPalette/CommandPaletteImportCurl.vue.d.ts.map +0 -1
  483. package/dist/components/CommandPalette/CommandPaletteImportCurl.vue.js +0 -9
  484. package/dist/components/CommandPalette/CommandPaletteImportCurl.vue.js.map +0 -1
  485. package/dist/components/CommandPalette/CommandPaletteImportCurl.vue.script.js +0 -108
  486. package/dist/components/CommandPalette/CommandPaletteImportCurl.vue.script.js.map +0 -1
  487. package/dist/components/CommandPalette/CommandPaletteServer.vue.d.ts +0 -16
  488. package/dist/components/CommandPalette/CommandPaletteServer.vue.d.ts.map +0 -1
  489. package/dist/components/CommandPalette/CommandPaletteServer.vue.js +0 -7
  490. package/dist/components/CommandPalette/CommandPaletteServer.vue.js.map +0 -1
  491. package/dist/components/CommandPalette/CommandPaletteServer.vue.script.js +0 -108
  492. package/dist/components/CommandPalette/CommandPaletteServer.vue.script.js.map +0 -1
  493. package/dist/components/CommandPalette/CommandPaletteTag.vue.d.ts +0 -10
  494. package/dist/components/CommandPalette/CommandPaletteTag.vue.d.ts.map +0 -1
  495. package/dist/components/CommandPalette/CommandPaletteTag.vue.js +0 -7
  496. package/dist/components/CommandPalette/CommandPaletteTag.vue.js.map +0 -1
  497. package/dist/components/CommandPalette/CommandPaletteTag.vue.script.js +0 -70
  498. package/dist/components/CommandPalette/CommandPaletteTag.vue.script.js.map +0 -1
  499. package/dist/components/CommandPalette/CommandPaletteWorkspace.vue.d.ts +0 -10
  500. package/dist/components/CommandPalette/CommandPaletteWorkspace.vue.d.ts.map +0 -1
  501. package/dist/components/CommandPalette/CommandPaletteWorkspace.vue.js +0 -7
  502. package/dist/components/CommandPalette/CommandPaletteWorkspace.vue.js.map +0 -1
  503. package/dist/components/CommandPalette/CommandPaletteWorkspace.vue.script.js +0 -49
  504. package/dist/components/CommandPalette/CommandPaletteWorkspace.vue.script.js.map +0 -1
  505. package/dist/components/CommandPalette/TheCommandPalette.vue.d.ts +0 -217
  506. package/dist/components/CommandPalette/TheCommandPalette.vue.d.ts.map +0 -1
  507. package/dist/components/CommandPalette/TheCommandPalette.vue.js +0 -9
  508. package/dist/components/CommandPalette/TheCommandPalette.vue.js.map +0 -1
  509. package/dist/components/CommandPalette/TheCommandPalette.vue.script.js +0 -323
  510. package/dist/components/CommandPalette/TheCommandPalette.vue.script.js.map +0 -1
  511. package/dist/components/CommandPalette/WatchModeToggle.vue.d.ts +0 -14
  512. package/dist/components/CommandPalette/WatchModeToggle.vue.d.ts.map +0 -1
  513. package/dist/components/CommandPalette/WatchModeToggle.vue.js +0 -7
  514. package/dist/components/CommandPalette/WatchModeToggle.vue.js.map +0 -1
  515. package/dist/components/CommandPalette/WatchModeToggle.vue.script.js +0 -40
  516. package/dist/components/CommandPalette/WatchModeToggle.vue.script.js.map +0 -1
  517. package/dist/components/CommandPalette/index.d.ts +0 -2
  518. package/dist/components/CommandPalette/index.d.ts.map +0 -1
  519. package/dist/components/CommandPalette/index.js +0 -2
  520. package/dist/components/DataTable/DataTable.vue.d.ts +0 -23
  521. package/dist/components/DataTable/DataTable.vue.d.ts.map +0 -1
  522. package/dist/components/DataTable/DataTable.vue.js +0 -7
  523. package/dist/components/DataTable/DataTable.vue.js.map +0 -1
  524. package/dist/components/DataTable/DataTable.vue.script.js +0 -30
  525. package/dist/components/DataTable/DataTable.vue.script.js.map +0 -1
  526. package/dist/components/DataTable/DataTableCell.vue.d.ts +0 -20
  527. package/dist/components/DataTable/DataTableCell.vue.d.ts.map +0 -1
  528. package/dist/components/DataTable/DataTableCell.vue.js +0 -7
  529. package/dist/components/DataTable/DataTableCell.vue.js.map +0 -1
  530. package/dist/components/DataTable/DataTableCell.vue.script.js +0 -21
  531. package/dist/components/DataTable/DataTableCell.vue.script.js.map +0 -1
  532. package/dist/components/DataTable/DataTableCheckbox.vue.d.ts +0 -15
  533. package/dist/components/DataTable/DataTableCheckbox.vue.d.ts.map +0 -1
  534. package/dist/components/DataTable/DataTableCheckbox.vue.js +0 -7
  535. package/dist/components/DataTable/DataTableCheckbox.vue.js.map +0 -1
  536. package/dist/components/DataTable/DataTableCheckbox.vue.script.js +0 -43
  537. package/dist/components/DataTable/DataTableCheckbox.vue.script.js.map +0 -1
  538. package/dist/components/DataTable/DataTableHeader.vue.d.ts +0 -14
  539. package/dist/components/DataTable/DataTableHeader.vue.d.ts.map +0 -1
  540. package/dist/components/DataTable/DataTableHeader.vue.js +0 -7
  541. package/dist/components/DataTable/DataTableHeader.vue.js.map +0 -1
  542. package/dist/components/DataTable/DataTableHeader.vue.script.js +0 -20
  543. package/dist/components/DataTable/DataTableHeader.vue.script.js.map +0 -1
  544. package/dist/components/DataTable/DataTableInput.vue.d.ts +0 -54
  545. package/dist/components/DataTable/DataTableInput.vue.d.ts.map +0 -1
  546. package/dist/components/DataTable/DataTableInput.vue.js +0 -9
  547. package/dist/components/DataTable/DataTableInput.vue.js.map +0 -1
  548. package/dist/components/DataTable/DataTableInput.vue.script.js +0 -164
  549. package/dist/components/DataTable/DataTableInput.vue.script.js.map +0 -1
  550. package/dist/components/DataTable/DataTableInputSelect.vue.d.ts +0 -17
  551. package/dist/components/DataTable/DataTableInputSelect.vue.d.ts.map +0 -1
  552. package/dist/components/DataTable/DataTableInputSelect.vue.js +0 -7
  553. package/dist/components/DataTable/DataTableInputSelect.vue.js.map +0 -1
  554. package/dist/components/DataTable/DataTableInputSelect.vue.script.js +0 -150
  555. package/dist/components/DataTable/DataTableInputSelect.vue.script.js.map +0 -1
  556. package/dist/components/DataTable/DataTableRow.vue.d.ts +0 -14
  557. package/dist/components/DataTable/DataTableRow.vue.d.ts.map +0 -1
  558. package/dist/components/DataTable/DataTableRow.vue.js +0 -13
  559. package/dist/components/DataTable/DataTableRow.vue.js.map +0 -1
  560. package/dist/components/DataTable/DataTableText.vue.d.ts.map +0 -1
  561. package/dist/components/DataTable/DataTableText.vue.js +0 -7
  562. package/dist/components/DataTable/DataTableText.vue.js.map +0 -1
  563. package/dist/components/DataTable/DataTableText.vue.script.js +0 -20
  564. package/dist/components/DataTable/DataTableText.vue.script.js.map +0 -1
  565. package/dist/components/DataTable/index.d.ts +0 -9
  566. package/dist/components/DataTable/index.d.ts.map +0 -1
  567. package/dist/components/DataTable/index.js +0 -9
  568. package/dist/components/EmptyState.vue.d.ts +0 -4
  569. package/dist/components/EmptyState.vue.d.ts.map +0 -1
  570. package/dist/components/EmptyState.vue.js +0 -9
  571. package/dist/components/EmptyState.vue.js.map +0 -1
  572. package/dist/components/EmptyState.vue.script.js +0 -41
  573. package/dist/components/EmptyState.vue.script.js.map +0 -1
  574. package/dist/components/EnvironmentSelector/EnvironmentSelector.vue.d.ts +0 -4
  575. package/dist/components/EnvironmentSelector/EnvironmentSelector.vue.d.ts.map +0 -1
  576. package/dist/components/EnvironmentSelector/EnvironmentSelector.vue.js +0 -7
  577. package/dist/components/EnvironmentSelector/EnvironmentSelector.vue.js.map +0 -1
  578. package/dist/components/EnvironmentSelector/EnvironmentSelector.vue.script.js +0 -111
  579. package/dist/components/EnvironmentSelector/EnvironmentSelector.vue.script.js.map +0 -1
  580. package/dist/components/Form/Form.vue.d.ts +0 -26
  581. package/dist/components/Form/Form.vue.d.ts.map +0 -1
  582. package/dist/components/Form/Form.vue.js +0 -7
  583. package/dist/components/Form/Form.vue.js.map +0 -1
  584. package/dist/components/Form/Form.vue.script.js +0 -82
  585. package/dist/components/Form/Form.vue.script.js.map +0 -1
  586. package/dist/components/Form/LabelInput.vue.d.ts.map +0 -1
  587. package/dist/components/Form/LabelInput.vue.js +0 -9
  588. package/dist/components/Form/LabelInput.vue.js.map +0 -1
  589. package/dist/components/Form/LabelInput.vue.script.js +0 -39
  590. package/dist/components/Form/LabelInput.vue.script.js.map +0 -1
  591. package/dist/components/HttpMethod/index.js +0 -2
  592. package/dist/components/ImportCollection/DropEventListener.vue.d.ts +0 -8
  593. package/dist/components/ImportCollection/DropEventListener.vue.d.ts.map +0 -1
  594. package/dist/components/ImportCollection/DropEventListener.vue.js +0 -7
  595. package/dist/components/ImportCollection/DropEventListener.vue.js.map +0 -1
  596. package/dist/components/ImportCollection/DropEventListener.vue.script.js +0 -91
  597. package/dist/components/ImportCollection/DropEventListener.vue.script.js.map +0 -1
  598. package/dist/components/ImportCollection/ImportCollectionListener.vue.d.ts +0 -14
  599. package/dist/components/ImportCollection/ImportCollectionListener.vue.d.ts.map +0 -1
  600. package/dist/components/ImportCollection/ImportCollectionListener.vue.js +0 -7
  601. package/dist/components/ImportCollection/ImportCollectionListener.vue.js.map +0 -1
  602. package/dist/components/ImportCollection/ImportCollectionListener.vue.script.js +0 -102
  603. package/dist/components/ImportCollection/ImportCollectionListener.vue.script.js.map +0 -1
  604. package/dist/components/ImportCollection/ImportCollectionModal.vue.d.ts +0 -13
  605. package/dist/components/ImportCollection/ImportCollectionModal.vue.d.ts.map +0 -1
  606. package/dist/components/ImportCollection/ImportCollectionModal.vue.js +0 -8
  607. package/dist/components/ImportCollection/ImportCollectionModal.vue.js.map +0 -1
  608. package/dist/components/ImportCollection/ImportCollectionModal.vue.script.js +0 -206
  609. package/dist/components/ImportCollection/ImportCollectionModal.vue.script.js.map +0 -1
  610. package/dist/components/ImportCollection/ImportNowButton.vue.d.ts +0 -13
  611. package/dist/components/ImportCollection/ImportNowButton.vue.d.ts.map +0 -1
  612. package/dist/components/ImportCollection/ImportNowButton.vue.js +0 -7
  613. package/dist/components/ImportCollection/ImportNowButton.vue.js.map +0 -1
  614. package/dist/components/ImportCollection/ImportNowButton.vue.script.js +0 -82
  615. package/dist/components/ImportCollection/ImportNowButton.vue.script.js.map +0 -1
  616. package/dist/components/ImportCollection/PasteEventListener.vue.d.ts +0 -8
  617. package/dist/components/ImportCollection/PasteEventListener.vue.d.ts.map +0 -1
  618. package/dist/components/ImportCollection/PasteEventListener.vue.js +0 -7
  619. package/dist/components/ImportCollection/PasteEventListener.vue.js.map +0 -1
  620. package/dist/components/ImportCollection/PasteEventListener.vue.script.js +0 -31
  621. package/dist/components/ImportCollection/PasteEventListener.vue.script.js.map +0 -1
  622. package/dist/components/ImportCollection/PrefetchError.vue.d.ts +0 -7
  623. package/dist/components/ImportCollection/PrefetchError.vue.d.ts.map +0 -1
  624. package/dist/components/ImportCollection/PrefetchError.vue.js +0 -7
  625. package/dist/components/ImportCollection/PrefetchError.vue.js.map +0 -1
  626. package/dist/components/ImportCollection/PrefetchError.vue.script.js +0 -32
  627. package/dist/components/ImportCollection/PrefetchError.vue.script.js.map +0 -1
  628. package/dist/components/ImportCollection/UrlQueryParameterChecker.vue.d.ts +0 -8
  629. package/dist/components/ImportCollection/UrlQueryParameterChecker.vue.d.ts.map +0 -1
  630. package/dist/components/ImportCollection/UrlQueryParameterChecker.vue.js +0 -7
  631. package/dist/components/ImportCollection/UrlQueryParameterChecker.vue.js.map +0 -1
  632. package/dist/components/ImportCollection/UrlQueryParameterChecker.vue.script.js +0 -21
  633. package/dist/components/ImportCollection/UrlQueryParameterChecker.vue.script.js.map +0 -1
  634. package/dist/components/ImportCollection/WorkspaceSelector.vue.d.ts +0 -4
  635. package/dist/components/ImportCollection/WorkspaceSelector.vue.d.ts.map +0 -1
  636. package/dist/components/ImportCollection/WorkspaceSelector.vue.js +0 -7
  637. package/dist/components/ImportCollection/WorkspaceSelector.vue.js.map +0 -1
  638. package/dist/components/ImportCollection/WorkspaceSelector.vue.script.js +0 -114
  639. package/dist/components/ImportCollection/WorkspaceSelector.vue.script.js.map +0 -1
  640. package/dist/components/ImportCollection/hooks/useUrlPrefetcher.d.ts +0 -39
  641. package/dist/components/ImportCollection/hooks/useUrlPrefetcher.d.ts.map +0 -1
  642. package/dist/components/ImportCollection/hooks/useUrlPrefetcher.js +0 -109
  643. package/dist/components/ImportCollection/hooks/useUrlPrefetcher.js.map +0 -1
  644. package/dist/components/ImportCollection/index.d.ts +0 -2
  645. package/dist/components/ImportCollection/index.d.ts.map +0 -1
  646. package/dist/components/ImportCollection/index.js +0 -2
  647. package/dist/components/ImportCollection/utils/get-openapi-version.d.ts +0 -5
  648. package/dist/components/ImportCollection/utils/get-openapi-version.d.ts.map +0 -1
  649. package/dist/components/ImportCollection/utils/get-openapi-version.js +0 -26
  650. package/dist/components/ImportCollection/utils/get-openapi-version.js.map +0 -1
  651. package/dist/components/ImportCollection/utils/import-collection.d.ts +0 -12
  652. package/dist/components/ImportCollection/utils/import-collection.d.ts.map +0 -1
  653. package/dist/components/ImportCollection/utils/import-collection.js +0 -23
  654. package/dist/components/ImportCollection/utils/import-collection.js.map +0 -1
  655. package/dist/components/ImportCollection/utils/is-document.d.ts +0 -3
  656. package/dist/components/ImportCollection/utils/is-document.d.ts.map +0 -1
  657. package/dist/components/ImportCollection/utils/is-document.js +0 -12
  658. package/dist/components/ImportCollection/utils/is-document.js.map +0 -1
  659. package/dist/components/ImportCollection/utils/is-url.d.ts +0 -5
  660. package/dist/components/ImportCollection/utils/is-url.d.ts.map +0 -1
  661. package/dist/components/ImportCollection/utils/is-url.js +0 -14
  662. package/dist/components/ImportCollection/utils/is-url.js.map +0 -1
  663. package/dist/components/ImportCollection/utils/workspace-store-is-empty.d.ts +0 -6
  664. package/dist/components/ImportCollection/utils/workspace-store-is-empty.d.ts.map +0 -1
  665. package/dist/components/ImportCollection/utils/workspace-store-is-empty.js +0 -13
  666. package/dist/components/ImportCollection/utils/workspace-store-is-empty.js.map +0 -1
  667. package/dist/components/OpenApiClientButton.vue.d.ts.map +0 -1
  668. package/dist/components/OpenApiClientButton.vue.js.map +0 -1
  669. package/dist/components/OpenApiClientButton.vue.script.js.map +0 -1
  670. package/dist/components/Search/useSearch.d.ts +0 -33
  671. package/dist/components/Search/useSearch.d.ts.map +0 -1
  672. package/dist/components/Search/useSearch.js +0 -110
  673. package/dist/components/Search/useSearch.js.map +0 -1
  674. package/dist/components/Server/ServerDropdown.vue.d.ts +0 -12
  675. package/dist/components/Server/ServerDropdown.vue.d.ts.map +0 -1
  676. package/dist/components/Server/ServerDropdown.vue.js +0 -7
  677. package/dist/components/Server/ServerDropdown.vue.js.map +0 -1
  678. package/dist/components/Server/ServerDropdown.vue.script.js +0 -133
  679. package/dist/components/Server/ServerDropdown.vue.script.js.map +0 -1
  680. package/dist/components/Server/ServerDropdownItem.vue.d.ts +0 -19
  681. package/dist/components/Server/ServerDropdownItem.vue.d.ts.map +0 -1
  682. package/dist/components/Server/ServerDropdownItem.vue.js +0 -9
  683. package/dist/components/Server/ServerDropdownItem.vue.js.map +0 -1
  684. package/dist/components/Server/ServerDropdownItem.vue.script.js +0 -90
  685. package/dist/components/Server/ServerDropdownItem.vue.script.js.map +0 -1
  686. package/dist/components/Server/ServerSelector.vue.d.ts +0 -17
  687. package/dist/components/Server/ServerSelector.vue.d.ts.map +0 -1
  688. package/dist/components/Server/ServerSelector.vue.js +0 -7
  689. package/dist/components/Server/ServerSelector.vue.js.map +0 -1
  690. package/dist/components/Server/ServerSelector.vue.script.js +0 -87
  691. package/dist/components/Server/ServerSelector.vue.script.js.map +0 -1
  692. package/dist/components/SideNav/DownloadAppButton.vue.d.ts +0 -4
  693. package/dist/components/SideNav/DownloadAppButton.vue.d.ts.map +0 -1
  694. package/dist/components/SideNav/DownloadAppButton.vue.js +0 -9
  695. package/dist/components/SideNav/DownloadAppButton.vue.js.map +0 -1
  696. package/dist/components/SideNav/DownloadAppButton.vue.script.js +0 -31
  697. package/dist/components/SideNav/DownloadAppButton.vue.script.js.map +0 -1
  698. package/dist/components/SideNav/SideHelp.vue.d.ts +0 -4
  699. package/dist/components/SideNav/SideHelp.vue.d.ts.map +0 -1
  700. package/dist/components/SideNav/SideHelp.vue.js +0 -7
  701. package/dist/components/SideNav/SideHelp.vue.js.map +0 -1
  702. package/dist/components/SideNav/SideHelp.vue.script.js +0 -102
  703. package/dist/components/SideNav/SideHelp.vue.script.js.map +0 -1
  704. package/dist/components/SideNav/SideNav.vue.d.ts +0 -4
  705. package/dist/components/SideNav/SideNav.vue.d.ts.map +0 -1
  706. package/dist/components/SideNav/SideNav.vue.js +0 -7
  707. package/dist/components/SideNav/SideNav.vue.js.map +0 -1
  708. package/dist/components/SideNav/SideNav.vue.script.js +0 -80
  709. package/dist/components/SideNav/SideNav.vue.script.js.map +0 -1
  710. package/dist/components/SideNav/SideNavGroup.vue.d.ts +0 -14
  711. package/dist/components/SideNav/SideNavGroup.vue.d.ts.map +0 -1
  712. package/dist/components/SideNav/SideNavGroup.vue.js +0 -7
  713. package/dist/components/SideNav/SideNavGroup.vue.js.map +0 -1
  714. package/dist/components/SideNav/SideNavGroup.vue.script.js +0 -16
  715. package/dist/components/SideNav/SideNavGroup.vue.script.js.map +0 -1
  716. package/dist/components/SideNav/SideNavLink.vue.d.ts +0 -23
  717. package/dist/components/SideNav/SideNavLink.vue.d.ts.map +0 -1
  718. package/dist/components/SideNav/SideNavLink.vue.js +0 -7
  719. package/dist/components/SideNav/SideNavLink.vue.js.map +0 -1
  720. package/dist/components/SideNav/SideNavLink.vue.script.js +0 -32
  721. package/dist/components/SideNav/SideNavLink.vue.script.js.map +0 -1
  722. package/dist/components/SideNav/SideNavRouterLink.vue.d.ts +0 -21
  723. package/dist/components/SideNav/SideNavRouterLink.vue.d.ts.map +0 -1
  724. package/dist/components/SideNav/SideNavRouterLink.vue.js +0 -7
  725. package/dist/components/SideNav/SideNavRouterLink.vue.js.map +0 -1
  726. package/dist/components/SideNav/SideNavRouterLink.vue.script.js +0 -34
  727. package/dist/components/SideNav/SideNavRouterLink.vue.script.js.map +0 -1
  728. package/dist/components/Sidebar/Actions/EditSidebarListCollection.vue.d.ts +0 -14
  729. package/dist/components/Sidebar/Actions/EditSidebarListCollection.vue.d.ts.map +0 -1
  730. package/dist/components/Sidebar/Actions/EditSidebarListCollection.vue.js +0 -7
  731. package/dist/components/Sidebar/Actions/EditSidebarListCollection.vue.js.map +0 -1
  732. package/dist/components/Sidebar/Actions/EditSidebarListCollection.vue.script.js +0 -56
  733. package/dist/components/Sidebar/Actions/EditSidebarListCollection.vue.script.js.map +0 -1
  734. package/dist/components/Sidebar/Actions/EditSidebarListElement.vue.d.ts.map +0 -1
  735. package/dist/components/Sidebar/Actions/EditSidebarListElement.vue.js +0 -7
  736. package/dist/components/Sidebar/Actions/EditSidebarListElement.vue.js.map +0 -1
  737. package/dist/components/Sidebar/Actions/EditSidebarListElement.vue.script.js +0 -31
  738. package/dist/components/Sidebar/Actions/EditSidebarListElement.vue.script.js.map +0 -1
  739. package/dist/components/Sidebar/Sidebar.vue.d.ts +0 -23
  740. package/dist/components/Sidebar/Sidebar.vue.d.ts.map +0 -1
  741. package/dist/components/Sidebar/Sidebar.vue.js +0 -9
  742. package/dist/components/Sidebar/Sidebar.vue.js.map +0 -1
  743. package/dist/components/Sidebar/Sidebar.vue.script.js +0 -71
  744. package/dist/components/Sidebar/Sidebar.vue.script.js.map +0 -1
  745. package/dist/components/Sidebar/SidebarButton.vue.d.ts.map +0 -1
  746. package/dist/components/Sidebar/SidebarButton.vue.js +0 -7
  747. package/dist/components/Sidebar/SidebarButton.vue.js.map +0 -1
  748. package/dist/components/Sidebar/SidebarButton.vue.script.js +0 -36
  749. package/dist/components/Sidebar/SidebarButton.vue.script.js.map +0 -1
  750. package/dist/components/Sidebar/SidebarList.vue.d.ts +0 -14
  751. package/dist/components/Sidebar/SidebarList.vue.d.ts.map +0 -1
  752. package/dist/components/Sidebar/SidebarList.vue.js +0 -13
  753. package/dist/components/Sidebar/SidebarList.vue.js.map +0 -1
  754. package/dist/components/Sidebar/SidebarListElement.vue.d.ts +0 -44
  755. package/dist/components/Sidebar/SidebarListElement.vue.d.ts.map +0 -1
  756. package/dist/components/Sidebar/SidebarListElement.vue.js +0 -10
  757. package/dist/components/Sidebar/SidebarListElement.vue.js.map +0 -1
  758. package/dist/components/Sidebar/SidebarListElement.vue.script.js +0 -128
  759. package/dist/components/Sidebar/SidebarListElement.vue.script.js.map +0 -1
  760. package/dist/components/Sidebar/SidebarListElementActions.vue.d.ts +0 -21
  761. package/dist/components/Sidebar/SidebarListElementActions.vue.d.ts.map +0 -1
  762. package/dist/components/Sidebar/SidebarListElementActions.vue.js +0 -7
  763. package/dist/components/Sidebar/SidebarListElementActions.vue.js.map +0 -1
  764. package/dist/components/Sidebar/SidebarListElementActions.vue.script.js +0 -97
  765. package/dist/components/Sidebar/SidebarListElementActions.vue.script.js.map +0 -1
  766. package/dist/components/Sidebar/SidebarToggle.vue.d.ts +0 -4
  767. package/dist/components/Sidebar/SidebarToggle.vue.d.ts.map +0 -1
  768. package/dist/components/Sidebar/SidebarToggle.vue.js +0 -7
  769. package/dist/components/Sidebar/SidebarToggle.vue.js.map +0 -1
  770. package/dist/components/Sidebar/SidebarToggle.vue.script.js +0 -47
  771. package/dist/components/Sidebar/SidebarToggle.vue.script.js.map +0 -1
  772. package/dist/components/Sidebar/index.d.ts +0 -2
  773. package/dist/components/Sidebar/index.d.ts.map +0 -1
  774. package/dist/components/Sidebar/index.js +0 -2
  775. package/dist/components/TopNav/TopNav.vue.d.ts +0 -10
  776. package/dist/components/TopNav/TopNav.vue.d.ts.map +0 -1
  777. package/dist/components/TopNav/TopNav.vue.js +0 -7
  778. package/dist/components/TopNav/TopNav.vue.js.map +0 -1
  779. package/dist/components/TopNav/TopNav.vue.script.js +0 -232
  780. package/dist/components/TopNav/TopNav.vue.script.js.map +0 -1
  781. package/dist/components/TopNav/TopNavItem.vue.d.ts +0 -24
  782. package/dist/components/TopNav/TopNavItem.vue.d.ts.map +0 -1
  783. package/dist/components/TopNav/TopNavItem.vue.js +0 -9
  784. package/dist/components/TopNav/TopNavItem.vue.js.map +0 -1
  785. package/dist/components/TopNav/TopNavItem.vue.script.js +0 -129
  786. package/dist/components/TopNav/TopNavItem.vue.script.js.map +0 -1
  787. package/dist/components/ViewLayout/ViewLayoutCollapse.vue.d.ts +0 -33
  788. package/dist/components/ViewLayout/ViewLayoutCollapse.vue.d.ts.map +0 -1
  789. package/dist/components/ViewLayout/ViewLayoutCollapse.vue.js +0 -7
  790. package/dist/components/ViewLayout/ViewLayoutCollapse.vue.js.map +0 -1
  791. package/dist/components/ViewLayout/ViewLayoutCollapse.vue.script.js +0 -84
  792. package/dist/components/ViewLayout/ViewLayoutCollapse.vue.script.js.map +0 -1
  793. package/dist/components/ViewLayout/index.d.ts +0 -2
  794. package/dist/components/ViewLayout/index.d.ts.map +0 -1
  795. package/dist/components/ViewLayout/index.js +0 -2
  796. package/dist/components/index.d.ts +0 -4
  797. package/dist/components/index.d.ts.map +0 -1
  798. package/dist/components/index.js +0 -4
  799. package/dist/constants.d.ts +0 -26
  800. package/dist/constants.d.ts.map +0 -1
  801. package/dist/constants.js +0 -27
  802. package/dist/constants.js.map +0 -1
  803. package/dist/data/httpHeaders.d.ts +0 -7
  804. package/dist/data/httpHeaders.d.ts.map +0 -1
  805. package/dist/data/httpHeaders.js +0 -539
  806. package/dist/data/httpHeaders.js.map +0 -1
  807. package/dist/hooks/index.d.ts +0 -5
  808. package/dist/hooks/index.d.ts.map +0 -1
  809. package/dist/hooks/index.js +0 -5
  810. package/dist/hooks/useClientConfig.d.ts +0 -198
  811. package/dist/hooks/useClientConfig.d.ts.map +0 -1
  812. package/dist/hooks/useClientConfig.js +0 -23
  813. package/dist/hooks/useClientConfig.js.map +0 -1
  814. package/dist/hooks/useFileDialog.d.ts.map +0 -1
  815. package/dist/hooks/useFileDialog.js.map +0 -1
  816. package/dist/hooks/useLayout.d.ts +0 -17
  817. package/dist/hooks/useLayout.d.ts.map +0 -1
  818. package/dist/hooks/useLayout.js +0 -13
  819. package/dist/hooks/useLayout.js.map +0 -1
  820. package/dist/hooks/useResponseBody.d.ts +0 -19
  821. package/dist/hooks/useResponseBody.d.ts.map +0 -1
  822. package/dist/hooks/useResponseBody.js +0 -32
  823. package/dist/hooks/useResponseBody.js.map +0 -1
  824. package/dist/hooks/useSidebar.d.ts +0 -26
  825. package/dist/hooks/useSidebar.d.ts.map +0 -1
  826. package/dist/hooks/useSidebar.js +0 -36
  827. package/dist/hooks/useSidebar.js.map +0 -1
  828. package/dist/layouts/App/ApiClientApp.vue.d.ts +0 -14
  829. package/dist/layouts/App/ApiClientApp.vue.d.ts.map +0 -1
  830. package/dist/layouts/App/ApiClientApp.vue.js +0 -8
  831. package/dist/layouts/App/ApiClientApp.vue.js.map +0 -1
  832. package/dist/layouts/App/ApiClientApp.vue.script.js +0 -80
  833. package/dist/layouts/App/ApiClientApp.vue.script.js.map +0 -1
  834. package/dist/layouts/App/MainLayout.vue.d.ts +0 -14
  835. package/dist/layouts/App/MainLayout.vue.d.ts.map +0 -1
  836. package/dist/layouts/App/MainLayout.vue.js +0 -7
  837. package/dist/layouts/App/MainLayout.vue.js.map +0 -1
  838. package/dist/layouts/App/MainLayout.vue.script.js +0 -22
  839. package/dist/layouts/App/MainLayout.vue.script.js.map +0 -1
  840. package/dist/layouts/App/create-api-client-app.d.ts +0 -4059
  841. package/dist/layouts/App/create-api-client-app.d.ts.map +0 -1
  842. package/dist/layouts/App/create-api-client-app.js +0 -36
  843. package/dist/layouts/App/create-api-client-app.js.map +0 -1
  844. package/dist/layouts/App/hotkeys.d.ts +0 -6
  845. package/dist/layouts/App/hotkeys.d.ts.map +0 -1
  846. package/dist/layouts/App/hotkeys.js +0 -74
  847. package/dist/layouts/App/hotkeys.js.map +0 -1
  848. package/dist/layouts/App/index.d.ts +0 -3
  849. package/dist/layouts/App/index.d.ts.map +0 -1
  850. package/dist/layouts/App/index.js +0 -3
  851. package/dist/layouts/Modal/ApiClientModal.vue.d.ts +0 -4
  852. package/dist/layouts/Modal/ApiClientModal.vue.d.ts.map +0 -1
  853. package/dist/layouts/Modal/ApiClientModal.vue.js +0 -7
  854. package/dist/layouts/Modal/ApiClientModal.vue.js.map +0 -1
  855. package/dist/layouts/Modal/ApiClientModal.vue.script.js +0 -41
  856. package/dist/layouts/Modal/ApiClientModal.vue.script.js.map +0 -1
  857. package/dist/layouts/Modal/create-api-client-modal.d.ts +0 -12
  858. package/dist/layouts/Modal/create-api-client-modal.d.ts.map +0 -1
  859. package/dist/layouts/Modal/create-api-client-modal.js +0 -34
  860. package/dist/layouts/Modal/create-api-client-modal.js.map +0 -1
  861. package/dist/layouts/Modal/index.d.ts +0 -3
  862. package/dist/layouts/Modal/index.d.ts.map +0 -1
  863. package/dist/layouts/Modal/index.js +0 -2
  864. package/dist/layouts/Web/ApiClientWeb.vue.d.ts +0 -4
  865. package/dist/layouts/Web/ApiClientWeb.vue.d.ts.map +0 -1
  866. package/dist/layouts/Web/ApiClientWeb.vue.js +0 -8
  867. package/dist/layouts/Web/ApiClientWeb.vue.js.map +0 -1
  868. package/dist/layouts/Web/ApiClientWeb.vue.script.js +0 -68
  869. package/dist/layouts/Web/ApiClientWeb.vue.script.js.map +0 -1
  870. package/dist/layouts/Web/create-api-client-web.d.ts +0 -4056
  871. package/dist/layouts/Web/create-api-client-web.d.ts.map +0 -1
  872. package/dist/layouts/Web/create-api-client-web.js +0 -33
  873. package/dist/layouts/Web/create-api-client-web.js.map +0 -1
  874. package/dist/layouts/Web/index.d.ts +0 -3
  875. package/dist/layouts/Web/index.d.ts.map +0 -1
  876. package/dist/layouts/Web/index.js +0 -3
  877. package/dist/libs/create-client.d.ts +0 -4127
  878. package/dist/libs/create-client.d.ts.map +0 -1
  879. package/dist/libs/create-client.js +0 -178
  880. package/dist/libs/create-client.js.map +0 -1
  881. package/dist/libs/electron.d.ts +0 -5
  882. package/dist/libs/electron.d.ts.map +0 -1
  883. package/dist/libs/electron.js +0 -9
  884. package/dist/libs/electron.js.map +0 -1
  885. package/dist/libs/env-helpers.d.ts +0 -17
  886. package/dist/libs/env-helpers.d.ts.map +0 -1
  887. package/dist/libs/env-helpers.js +0 -9
  888. package/dist/libs/env-helpers.js.map +0 -1
  889. package/dist/libs/environment-parser.d.ts +0 -8
  890. package/dist/libs/environment-parser.d.ts.map +0 -1
  891. package/dist/libs/environment-parser.js +0 -19
  892. package/dist/libs/environment-parser.js.map +0 -1
  893. package/dist/libs/errors.d.ts +0 -23
  894. package/dist/libs/errors.d.ts.map +0 -1
  895. package/dist/libs/errors.js +0 -34
  896. package/dist/libs/errors.js.map +0 -1
  897. package/dist/libs/event-bus.d.ts +0 -41
  898. package/dist/libs/event-bus.d.ts.map +0 -1
  899. package/dist/libs/event-bus.js +0 -43
  900. package/dist/libs/event-bus.js.map +0 -1
  901. package/dist/libs/extractAttachmentFilename.d.ts +0 -5
  902. package/dist/libs/extractAttachmentFilename.d.ts.map +0 -1
  903. package/dist/libs/extractAttachmentFilename.js +0 -23
  904. package/dist/libs/extractAttachmentFilename.js.map +0 -1
  905. package/dist/libs/find-request.d.ts +0 -75
  906. package/dist/libs/find-request.d.ts.map +0 -1
  907. package/dist/libs/find-request.js +0 -40
  908. package/dist/libs/find-request.js.map +0 -1
  909. package/dist/libs/get-request-uid-by-path-method.d.ts +0 -7
  910. package/dist/libs/get-request-uid-by-path-method.d.ts.map +0 -1
  911. package/dist/libs/get-request-uid-by-path-method.js +0 -19
  912. package/dist/libs/get-request-uid-by-path-method.js.map +0 -1
  913. package/dist/libs/getOpenApiDocumentDetails.d.ts +0 -10
  914. package/dist/libs/getOpenApiDocumentDetails.d.ts.map +0 -1
  915. package/dist/libs/getOpenApiDocumentDetails.js +0 -45
  916. package/dist/libs/getOpenApiDocumentDetails.js.map +0 -1
  917. package/dist/libs/hot-keys.d.ts +0 -35
  918. package/dist/libs/hot-keys.d.ts.map +0 -1
  919. package/dist/libs/hot-keys.js +0 -92
  920. package/dist/libs/hot-keys.js.map +0 -1
  921. package/dist/libs/importers/curl.d.ts +0 -27
  922. package/dist/libs/importers/curl.d.ts.map +0 -1
  923. package/dist/libs/importers/curl.js +0 -54
  924. package/dist/libs/importers/curl.js.map +0 -1
  925. package/dist/libs/importers/index.d.ts +0 -2
  926. package/dist/libs/importers/index.d.ts.map +0 -1
  927. package/dist/libs/importers/index.js +0 -2
  928. package/dist/libs/index.d.ts +0 -15
  929. package/dist/libs/index.d.ts.map +0 -1
  930. package/dist/libs/index.js +0 -17
  931. package/dist/libs/isUrl.d.ts +0 -3
  932. package/dist/libs/isUrl.d.ts.map +0 -1
  933. package/dist/libs/isUrl.js +0 -12
  934. package/dist/libs/isUrl.js.map +0 -1
  935. package/dist/libs/local-storage.d.ts +0 -9
  936. package/dist/libs/local-storage.d.ts.map +0 -1
  937. package/dist/libs/local-storage.js +0 -40
  938. package/dist/libs/local-storage.js.map +0 -1
  939. package/dist/libs/normalize-headers.d.ts +0 -14
  940. package/dist/libs/normalize-headers.d.ts.map +0 -1
  941. package/dist/libs/normalize-headers.js +0 -56
  942. package/dist/libs/normalize-headers.js.map +0 -1
  943. package/dist/libs/parse-curl.d.ts.map +0 -1
  944. package/dist/libs/parse-curl.js.map +0 -1
  945. package/dist/libs/postman.d.ts +0 -11
  946. package/dist/libs/postman.d.ts.map +0 -1
  947. package/dist/libs/postman.js +0 -40
  948. package/dist/libs/postman.js.map +0 -1
  949. package/dist/libs/send-request/build-request-security.d.ts +0 -19
  950. package/dist/libs/send-request/build-request-security.d.ts.map +0 -1
  951. package/dist/libs/send-request/build-request-security.js +0 -41
  952. package/dist/libs/send-request/build-request-security.js.map +0 -1
  953. package/dist/libs/send-request/create-fetch-body.d.ts +0 -18
  954. package/dist/libs/send-request/create-fetch-body.d.ts.map +0 -1
  955. package/dist/libs/send-request/create-fetch-body.js +0 -44
  956. package/dist/libs/send-request/create-fetch-body.js.map +0 -1
  957. package/dist/libs/send-request/create-fetch-headers.d.ts +0 -4
  958. package/dist/libs/send-request/create-fetch-headers.d.ts.map +0 -1
  959. package/dist/libs/send-request/create-fetch-headers.js +0 -15
  960. package/dist/libs/send-request/create-fetch-headers.js.map +0 -1
  961. package/dist/libs/send-request/create-fetch-query-params.d.ts +0 -11
  962. package/dist/libs/send-request/create-fetch-query-params.d.ts.map +0 -1
  963. package/dist/libs/send-request/create-fetch-query-params.js +0 -43
  964. package/dist/libs/send-request/create-fetch-query-params.js.map +0 -1
  965. package/dist/libs/send-request/create-request-operation.d.ts +0 -32
  966. package/dist/libs/send-request/create-request-operation.d.ts.map +0 -1
  967. package/dist/libs/send-request/create-request-operation.js +0 -172
  968. package/dist/libs/send-request/create-request-operation.js.map +0 -1
  969. package/dist/libs/send-request/decode-buffer.d.ts +0 -3
  970. package/dist/libs/send-request/decode-buffer.d.ts.map +0 -1
  971. package/dist/libs/send-request/decode-buffer.js +0 -13
  972. package/dist/libs/send-request/decode-buffer.js.map +0 -1
  973. package/dist/libs/send-request/index.d.ts +0 -4
  974. package/dist/libs/send-request/index.d.ts.map +0 -1
  975. package/dist/libs/send-request/index.js +0 -4
  976. package/dist/libs/send-request/set-request-cookies.d.ts +0 -27
  977. package/dist/libs/send-request/set-request-cookies.d.ts.map +0 -1
  978. package/dist/libs/send-request/set-request-cookies.js +0 -82
  979. package/dist/libs/send-request/set-request-cookies.js.map +0 -1
  980. package/dist/libs/string-template.d.ts +0 -21
  981. package/dist/libs/string-template.d.ts.map +0 -1
  982. package/dist/libs/string-template.js +0 -64
  983. package/dist/libs/string-template.js.map +0 -1
  984. package/dist/libs/validate-parameters.d.ts +0 -14
  985. package/dist/libs/validate-parameters.d.ts.map +0 -1
  986. package/dist/libs/validate-parameters.js +0 -35
  987. package/dist/libs/validate-parameters.js.map +0 -1
  988. package/dist/plugins/hooks/usePluginManager.d.ts +0 -8
  989. package/dist/plugins/hooks/usePluginManager.d.ts.map +0 -1
  990. package/dist/plugins/hooks/usePluginManager.js +0 -16
  991. package/dist/plugins/hooks/usePluginManager.js.map +0 -1
  992. package/dist/plugins/index.d.ts +0 -3
  993. package/dist/plugins/index.d.ts.map +0 -1
  994. package/dist/plugins/index.js +0 -3
  995. package/dist/plugins/plugin-manager.d.ts +0 -34
  996. package/dist/plugins/plugin-manager.d.ts.map +0 -1
  997. package/dist/plugins/plugin-manager.js +0 -38
  998. package/dist/plugins/plugin-manager.js.map +0 -1
  999. package/dist/routes.d.ts +0 -19
  1000. package/dist/routes.d.ts.map +0 -1
  1001. package/dist/routes.js +0 -225
  1002. package/dist/routes.js.map +0 -1
  1003. package/dist/store/active-entities.d.ts +0 -387
  1004. package/dist/store/active-entities.d.ts.map +0 -1
  1005. package/dist/store/active-entities.js +0 -139
  1006. package/dist/store/active-entities.js.map +0 -1
  1007. package/dist/store/collections.d.ts +0 -625
  1008. package/dist/store/collections.d.ts.map +0 -1
  1009. package/dist/store/collections.js +0 -76
  1010. package/dist/store/collections.js.map +0 -1
  1011. package/dist/store/cookies.d.ts +0 -69
  1012. package/dist/store/cookies.d.ts.map +0 -1
  1013. package/dist/store/cookies.js +0 -16
  1014. package/dist/store/cookies.js.map +0 -1
  1015. package/dist/store/environment.d.ts +0 -75
  1016. package/dist/store/environment.d.ts.map +0 -1
  1017. package/dist/store/environment.js +0 -38
  1018. package/dist/store/environment.js.map +0 -1
  1019. package/dist/store/events.d.ts +0 -35
  1020. package/dist/store/events.d.ts.map +0 -1
  1021. package/dist/store/events.js +0 -17
  1022. package/dist/store/events.js.map +0 -1
  1023. package/dist/store/import-spec.d.ts +0 -38
  1024. package/dist/store/import-spec.d.ts.map +0 -1
  1025. package/dist/store/import-spec.js +0 -56
  1026. package/dist/store/import-spec.js.map +0 -1
  1027. package/dist/store/index.d.ts +0 -3
  1028. package/dist/store/index.d.ts.map +0 -1
  1029. package/dist/store/index.js +0 -3
  1030. package/dist/store/request-example.d.ts +0 -1022
  1031. package/dist/store/request-example.d.ts.map +0 -1
  1032. package/dist/store/request-example.js +0 -43
  1033. package/dist/store/request-example.js.map +0 -1
  1034. package/dist/store/requests.d.ts +0 -675
  1035. package/dist/store/requests.d.ts.map +0 -1
  1036. package/dist/store/requests.js +0 -104
  1037. package/dist/store/requests.js.map +0 -1
  1038. package/dist/store/router-params.d.ts +0 -18
  1039. package/dist/store/router-params.d.ts.map +0 -1
  1040. package/dist/store/router-params.js +0 -27
  1041. package/dist/store/router-params.js.map +0 -1
  1042. package/dist/store/security-schemes.d.ts +0 -942
  1043. package/dist/store/security-schemes.d.ts.map +0 -1
  1044. package/dist/store/security-schemes.js +0 -45
  1045. package/dist/store/security-schemes.js.map +0 -1
  1046. package/dist/store/servers.d.ts +0 -122
  1047. package/dist/store/servers.d.ts.map +0 -1
  1048. package/dist/store/servers.js +0 -41
  1049. package/dist/store/servers.js.map +0 -1
  1050. package/dist/store/store-context.d.ts +0 -26
  1051. package/dist/store/store-context.d.ts.map +0 -1
  1052. package/dist/store/store.d.ts +0 -4055
  1053. package/dist/store/store.d.ts.map +0 -1
  1054. package/dist/store/store.js +0 -180
  1055. package/dist/store/store.js.map +0 -1
  1056. package/dist/store/tags.d.ts +0 -176
  1057. package/dist/store/tags.d.ts.map +0 -1
  1058. package/dist/store/tags.js +0 -54
  1059. package/dist/store/tags.js.map +0 -1
  1060. package/dist/store/workspace.d.ts +0 -232
  1061. package/dist/store/workspace.d.ts.map +0 -1
  1062. package/dist/store/workspace.js +0 -57
  1063. package/dist/store/workspace.js.map +0 -1
  1064. package/dist/types/index.d.ts +0 -2
  1065. package/dist/types/index.d.ts.map +0 -1
  1066. package/dist/types/index.js +0 -0
  1067. package/dist/v2/features/command-palette/helpers/is-postman-collection.d.ts +0 -11
  1068. package/dist/v2/features/command-palette/helpers/is-postman-collection.d.ts.map +0 -1
  1069. package/dist/v2/features/command-palette/helpers/is-postman-collection.js +0 -24
  1070. package/dist/v2/features/command-palette/helpers/is-postman-collection.js.map +0 -1
  1071. package/dist/v2/posthog.d.ts +0 -3
  1072. package/dist/v2/posthog.d.ts.map +0 -1
  1073. package/dist/v2/posthog.js +0 -20
  1074. package/dist/v2/posthog.js.map +0 -1
  1075. package/dist/views/Collection/Collection.vue.d.ts +0 -4
  1076. package/dist/views/Collection/Collection.vue.d.ts.map +0 -1
  1077. package/dist/views/Collection/Collection.vue.js +0 -7
  1078. package/dist/views/Collection/Collection.vue.js.map +0 -1
  1079. package/dist/views/Collection/Collection.vue.script.js +0 -46
  1080. package/dist/views/Collection/Collection.vue.script.js.map +0 -1
  1081. package/dist/views/Collection/CollectionAuthentication.vue.d.ts +0 -4
  1082. package/dist/views/Collection/CollectionAuthentication.vue.d.ts.map +0 -1
  1083. package/dist/views/Collection/CollectionAuthentication.vue.js +0 -9
  1084. package/dist/views/Collection/CollectionAuthentication.vue.js.map +0 -1
  1085. package/dist/views/Collection/CollectionAuthentication.vue.script.js +0 -52
  1086. package/dist/views/Collection/CollectionAuthentication.vue.script.js.map +0 -1
  1087. package/dist/views/Collection/CollectionCookies.vue.d.ts +0 -4
  1088. package/dist/views/Collection/CollectionCookies.vue.d.ts.map +0 -1
  1089. package/dist/views/Collection/CollectionCookies.vue.js +0 -7
  1090. package/dist/views/Collection/CollectionCookies.vue.js.map +0 -1
  1091. package/dist/views/Collection/CollectionCookies.vue.script.js +0 -18
  1092. package/dist/views/Collection/CollectionCookies.vue.script.js.map +0 -1
  1093. package/dist/views/Collection/CollectionEnvironment.vue.d.ts +0 -4
  1094. package/dist/views/Collection/CollectionEnvironment.vue.d.ts.map +0 -1
  1095. package/dist/views/Collection/CollectionEnvironment.vue.js +0 -8
  1096. package/dist/views/Collection/CollectionEnvironment.vue.js.map +0 -1
  1097. package/dist/views/Collection/CollectionEnvironment.vue.script.js +0 -238
  1098. package/dist/views/Collection/CollectionEnvironment.vue.script.js.map +0 -1
  1099. package/dist/views/Collection/CollectionInfoForm.vue.d.ts +0 -4
  1100. package/dist/views/Collection/CollectionInfoForm.vue.d.ts.map +0 -1
  1101. package/dist/views/Collection/CollectionInfoForm.vue.js +0 -9
  1102. package/dist/views/Collection/CollectionInfoForm.vue.js.map +0 -1
  1103. package/dist/views/Collection/CollectionInfoForm.vue.script.js +0 -73
  1104. package/dist/views/Collection/CollectionInfoForm.vue.script.js.map +0 -1
  1105. package/dist/views/Collection/CollectionNavigation.vue.d.ts.map +0 -1
  1106. package/dist/views/Collection/CollectionNavigation.vue.js +0 -7
  1107. package/dist/views/Collection/CollectionNavigation.vue.js.map +0 -1
  1108. package/dist/views/Collection/CollectionNavigation.vue.script.js +0 -75
  1109. package/dist/views/Collection/CollectionNavigation.vue.script.js.map +0 -1
  1110. package/dist/views/Collection/CollectionOverview.vue.d.ts +0 -4
  1111. package/dist/views/Collection/CollectionOverview.vue.d.ts.map +0 -1
  1112. package/dist/views/Collection/CollectionOverview.vue.js +0 -7
  1113. package/dist/views/Collection/CollectionOverview.vue.js.map +0 -1
  1114. package/dist/views/Collection/CollectionOverview.vue.script.js +0 -42
  1115. package/dist/views/Collection/CollectionOverview.vue.script.js.map +0 -1
  1116. package/dist/views/Collection/CollectionScripts.vue.d.ts +0 -4
  1117. package/dist/views/Collection/CollectionScripts.vue.d.ts.map +0 -1
  1118. package/dist/views/Collection/CollectionScripts.vue.js +0 -7
  1119. package/dist/views/Collection/CollectionScripts.vue.js.map +0 -1
  1120. package/dist/views/Collection/CollectionScripts.vue.script.js +0 -18
  1121. package/dist/views/Collection/CollectionScripts.vue.script.js.map +0 -1
  1122. package/dist/views/Collection/CollectionServerForm.vue.d.ts +0 -11
  1123. package/dist/views/Collection/CollectionServerForm.vue.d.ts.map +0 -1
  1124. package/dist/views/Collection/CollectionServerForm.vue.js +0 -7
  1125. package/dist/views/Collection/CollectionServerForm.vue.js.map +0 -1
  1126. package/dist/views/Collection/CollectionServerForm.vue.script.js +0 -76
  1127. package/dist/views/Collection/CollectionServerForm.vue.script.js.map +0 -1
  1128. package/dist/views/Collection/CollectionServers.vue.d.ts +0 -4
  1129. package/dist/views/Collection/CollectionServers.vue.d.ts.map +0 -1
  1130. package/dist/views/Collection/CollectionServers.vue.js +0 -7
  1131. package/dist/views/Collection/CollectionServers.vue.js.map +0 -1
  1132. package/dist/views/Collection/CollectionServers.vue.script.js +0 -95
  1133. package/dist/views/Collection/CollectionServers.vue.script.js.map +0 -1
  1134. package/dist/views/Collection/CollectionSettings.vue.d.ts +0 -4
  1135. package/dist/views/Collection/CollectionSettings.vue.d.ts.map +0 -1
  1136. package/dist/views/Collection/CollectionSettings.vue.js +0 -7
  1137. package/dist/views/Collection/CollectionSettings.vue.js.map +0 -1
  1138. package/dist/views/Collection/CollectionSettings.vue.script.js +0 -87
  1139. package/dist/views/Collection/CollectionSettings.vue.script.js.map +0 -1
  1140. package/dist/views/Collection/CollectionSync.vue.d.ts +0 -4
  1141. package/dist/views/Collection/CollectionSync.vue.d.ts.map +0 -1
  1142. package/dist/views/Collection/CollectionSync.vue.js +0 -7
  1143. package/dist/views/Collection/CollectionSync.vue.js.map +0 -1
  1144. package/dist/views/Collection/CollectionSync.vue.script.js +0 -18
  1145. package/dist/views/Collection/CollectionSync.vue.script.js.map +0 -1
  1146. package/dist/views/Collection/components/EnvironmentForm.vue.d.ts +0 -14
  1147. package/dist/views/Collection/components/EnvironmentForm.vue.d.ts.map +0 -1
  1148. package/dist/views/Collection/components/EnvironmentForm.vue.js +0 -9
  1149. package/dist/views/Collection/components/EnvironmentForm.vue.js.map +0 -1
  1150. package/dist/views/Collection/components/EnvironmentForm.vue.script.js +0 -284
  1151. package/dist/views/Collection/components/EnvironmentForm.vue.script.js.map +0 -1
  1152. package/dist/views/Collection/components/MarkdownInput.vue.d.ts +0 -17
  1153. package/dist/views/Collection/components/MarkdownInput.vue.d.ts.map +0 -1
  1154. package/dist/views/Collection/components/MarkdownInput.vue.js +0 -9
  1155. package/dist/views/Collection/components/MarkdownInput.vue.js.map +0 -1
  1156. package/dist/views/Collection/components/MarkdownInput.vue.script.js +0 -92
  1157. package/dist/views/Collection/components/MarkdownInput.vue.script.js.map +0 -1
  1158. package/dist/views/Components/CodeSnippet/CodeSnippet.vue.d.ts +0 -16
  1159. package/dist/views/Components/CodeSnippet/CodeSnippet.vue.d.ts.map +0 -1
  1160. package/dist/views/Components/CodeSnippet/CodeSnippet.vue.js +0 -7
  1161. package/dist/views/Components/CodeSnippet/CodeSnippet.vue.js.map +0 -1
  1162. package/dist/views/Components/CodeSnippet/CodeSnippet.vue.script.js +0 -74
  1163. package/dist/views/Components/CodeSnippet/CodeSnippet.vue.script.js.map +0 -1
  1164. package/dist/views/Components/CodeSnippet/helpers/convert-to-har-request.d.ts +0 -28
  1165. package/dist/views/Components/CodeSnippet/helpers/convert-to-har-request.d.ts.map +0 -1
  1166. package/dist/views/Components/CodeSnippet/helpers/convert-to-har-request.js +0 -66
  1167. package/dist/views/Components/CodeSnippet/helpers/convert-to-har-request.js.map +0 -1
  1168. package/dist/views/Components/CodeSnippet/helpers/get-har-request.d.ts +0 -16
  1169. package/dist/views/Components/CodeSnippet/helpers/get-har-request.d.ts.map +0 -1
  1170. package/dist/views/Components/CodeSnippet/helpers/get-har-request.js +0 -86
  1171. package/dist/views/Components/CodeSnippet/helpers/get-har-request.js.map +0 -1
  1172. package/dist/views/Components/CodeSnippet/helpers/get-snippet.d.ts.map +0 -1
  1173. package/dist/views/Components/CodeSnippet/helpers/get-snippet.js.map +0 -1
  1174. package/dist/views/Components/CodeSnippet/index.d.ts +0 -5
  1175. package/dist/views/Components/CodeSnippet/index.d.ts.map +0 -1
  1176. package/dist/views/Components/CodeSnippet/index.js +0 -5
  1177. package/dist/views/Cookies/CookieForm.vue.d.ts +0 -4
  1178. package/dist/views/Cookies/CookieForm.vue.d.ts.map +0 -1
  1179. package/dist/views/Cookies/CookieForm.vue.js +0 -7
  1180. package/dist/views/Cookies/CookieForm.vue.js.map +0 -1
  1181. package/dist/views/Cookies/CookieForm.vue.script.js +0 -50
  1182. package/dist/views/Cookies/CookieForm.vue.script.js.map +0 -1
  1183. package/dist/views/Cookies/CookieModal.vue.d.ts +0 -22
  1184. package/dist/views/Cookies/CookieModal.vue.d.ts.map +0 -1
  1185. package/dist/views/Cookies/CookieModal.vue.js +0 -9
  1186. package/dist/views/Cookies/CookieModal.vue.js.map +0 -1
  1187. package/dist/views/Cookies/CookieModal.vue.script.js +0 -83
  1188. package/dist/views/Cookies/CookieModal.vue.script.js.map +0 -1
  1189. package/dist/views/Cookies/CookieRaw.vue.d.ts +0 -4
  1190. package/dist/views/Cookies/CookieRaw.vue.d.ts.map +0 -1
  1191. package/dist/views/Cookies/Cookies.vue.d.ts +0 -4
  1192. package/dist/views/Cookies/Cookies.vue.d.ts.map +0 -1
  1193. package/dist/views/Cookies/Cookies.vue.js +0 -7
  1194. package/dist/views/Cookies/Cookies.vue.js.map +0 -1
  1195. package/dist/views/Cookies/Cookies.vue.script.js +0 -156
  1196. package/dist/views/Cookies/Cookies.vue.script.js.map +0 -1
  1197. package/dist/views/Environment/Environment.vue.d.ts +0 -4
  1198. package/dist/views/Environment/Environment.vue.d.ts.map +0 -1
  1199. package/dist/views/Environment/Environment.vue.js +0 -7
  1200. package/dist/views/Environment/Environment.vue.js.map +0 -1
  1201. package/dist/views/Environment/Environment.vue.script.js +0 -384
  1202. package/dist/views/Environment/Environment.vue.script.js.map +0 -1
  1203. package/dist/views/Environment/EnvironmentColorModal.vue.d.ts +0 -15
  1204. package/dist/views/Environment/EnvironmentColorModal.vue.d.ts.map +0 -1
  1205. package/dist/views/Environment/EnvironmentColorModal.vue.js +0 -7
  1206. package/dist/views/Environment/EnvironmentColorModal.vue.js.map +0 -1
  1207. package/dist/views/Environment/EnvironmentColorModal.vue.script.js +0 -47
  1208. package/dist/views/Environment/EnvironmentColorModal.vue.script.js.map +0 -1
  1209. package/dist/views/Environment/EnvironmentColors.vue.d.ts +0 -14
  1210. package/dist/views/Environment/EnvironmentColors.vue.d.ts.map +0 -1
  1211. package/dist/views/Environment/EnvironmentColors.vue.js +0 -7
  1212. package/dist/views/Environment/EnvironmentColors.vue.js.map +0 -1
  1213. package/dist/views/Environment/EnvironmentColors.vue.script.js +0 -126
  1214. package/dist/views/Environment/EnvironmentColors.vue.script.js.map +0 -1
  1215. package/dist/views/Environment/EnvironmentModal.vue.d.ts +0 -27
  1216. package/dist/views/Environment/EnvironmentModal.vue.d.ts.map +0 -1
  1217. package/dist/views/Environment/EnvironmentModal.vue.js +0 -7
  1218. package/dist/views/Environment/EnvironmentModal.vue.js.map +0 -1
  1219. package/dist/views/Environment/EnvironmentModal.vue.script.js +0 -122
  1220. package/dist/views/Environment/EnvironmentModal.vue.script.js.map +0 -1
  1221. package/dist/views/Environment/EnvironmentVariableDropdown.vue.d.ts +0 -22
  1222. package/dist/views/Environment/EnvironmentVariableDropdown.vue.d.ts.map +0 -1
  1223. package/dist/views/Environment/EnvironmentVariableDropdown.vue.js +0 -7
  1224. package/dist/views/Environment/EnvironmentVariableDropdown.vue.js.map +0 -1
  1225. package/dist/views/Environment/EnvironmentVariableDropdown.vue.script.js +0 -133
  1226. package/dist/views/Environment/EnvironmentVariableDropdown.vue.script.js.map +0 -1
  1227. package/dist/views/Environment/handle-drag.d.ts +0 -13
  1228. package/dist/views/Environment/handle-drag.d.ts.map +0 -1
  1229. package/dist/views/Environment/handle-drag.js +0 -38
  1230. package/dist/views/Environment/handle-drag.js.map +0 -1
  1231. package/dist/views/Request/Request.vue.d.ts +0 -21
  1232. package/dist/views/Request/Request.vue.d.ts.map +0 -1
  1233. package/dist/views/Request/Request.vue.js +0 -9
  1234. package/dist/views/Request/Request.vue.js.map +0 -1
  1235. package/dist/views/Request/Request.vue.script.js +0 -117
  1236. package/dist/views/Request/Request.vue.script.js.map +0 -1
  1237. package/dist/views/Request/RequestRoot.vue.d.ts +0 -14
  1238. package/dist/views/Request/RequestRoot.vue.d.ts.map +0 -1
  1239. package/dist/views/Request/RequestRoot.vue.js +0 -9
  1240. package/dist/views/Request/RequestRoot.vue.js.map +0 -1
  1241. package/dist/views/Request/RequestRoot.vue.script.js +0 -158
  1242. package/dist/views/Request/RequestRoot.vue.script.js.map +0 -1
  1243. package/dist/views/Request/RequestSection/RequestAuth/DeleteRequestAuthModal.vue.d.ts +0 -22
  1244. package/dist/views/Request/RequestSection/RequestAuth/DeleteRequestAuthModal.vue.d.ts.map +0 -1
  1245. package/dist/views/Request/RequestSection/RequestAuth/DeleteRequestAuthModal.vue.js +0 -7
  1246. package/dist/views/Request/RequestSection/RequestAuth/DeleteRequestAuthModal.vue.js.map +0 -1
  1247. package/dist/views/Request/RequestSection/RequestAuth/DeleteRequestAuthModal.vue.script.js +0 -52
  1248. package/dist/views/Request/RequestSection/RequestAuth/DeleteRequestAuthModal.vue.script.js.map +0 -1
  1249. package/dist/views/Request/RequestSection/RequestAuth/OAuth2.vue.d.ts +0 -31
  1250. package/dist/views/Request/RequestSection/RequestAuth/OAuth2.vue.d.ts.map +0 -1
  1251. package/dist/views/Request/RequestSection/RequestAuth/OAuth2.vue.js +0 -7
  1252. package/dist/views/Request/RequestSection/RequestAuth/OAuth2.vue.js.map +0 -1
  1253. package/dist/views/Request/RequestSection/RequestAuth/OAuth2.vue.script.js +0 -214
  1254. package/dist/views/Request/RequestSection/RequestAuth/OAuth2.vue.script.js.map +0 -1
  1255. package/dist/views/Request/RequestSection/RequestAuth/OAuthScopesInput.vue.d.ts +0 -10
  1256. package/dist/views/Request/RequestSection/RequestAuth/OAuthScopesInput.vue.d.ts.map +0 -1
  1257. package/dist/views/Request/RequestSection/RequestAuth/OAuthScopesInput.vue.js +0 -7
  1258. package/dist/views/Request/RequestSection/RequestAuth/OAuthScopesInput.vue.js.map +0 -1
  1259. package/dist/views/Request/RequestSection/RequestAuth/OAuthScopesInput.vue.script.js +0 -106
  1260. package/dist/views/Request/RequestSection/RequestAuth/OAuthScopesInput.vue.script.js.map +0 -1
  1261. package/dist/views/Request/RequestSection/RequestAuth/RequestAuth.vue.d.ts +0 -222
  1262. package/dist/views/Request/RequestSection/RequestAuth/RequestAuth.vue.d.ts.map +0 -1
  1263. package/dist/views/Request/RequestSection/RequestAuth/RequestAuth.vue.js +0 -9
  1264. package/dist/views/Request/RequestSection/RequestAuth/RequestAuth.vue.js.map +0 -1
  1265. package/dist/views/Request/RequestSection/RequestAuth/RequestAuth.vue.script.js +0 -216
  1266. package/dist/views/Request/RequestSection/RequestAuth/RequestAuth.vue.script.js.map +0 -1
  1267. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTable.vue.d.ts +0 -220
  1268. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTable.vue.d.ts.map +0 -1
  1269. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTable.vue.js +0 -9
  1270. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTable.vue.js.map +0 -1
  1271. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTable.vue.script.js +0 -116
  1272. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTable.vue.script.js.map +0 -1
  1273. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTableInput.vue.d.ts +0 -43
  1274. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTableInput.vue.d.ts.map +0 -1
  1275. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTableInput.vue.js +0 -7
  1276. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTableInput.vue.js.map +0 -1
  1277. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTableInput.vue.script.js +0 -73
  1278. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTableInput.vue.script.js.map +0 -1
  1279. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthTab.vue.d.ts +0 -31
  1280. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthTab.vue.d.ts.map +0 -1
  1281. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthTab.vue.js +0 -7
  1282. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthTab.vue.js.map +0 -1
  1283. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthTab.vue.script.js +0 -205
  1284. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthTab.vue.script.js.map +0 -1
  1285. package/dist/views/Request/RequestSection/RequestAuth/helpers/restore-auth-from-local-storage.d.ts +0 -9
  1286. package/dist/views/Request/RequestSection/RequestAuth/helpers/restore-auth-from-local-storage.d.ts.map +0 -1
  1287. package/dist/views/Request/RequestSection/RequestAuth/helpers/restore-auth-from-local-storage.js +0 -39
  1288. package/dist/views/Request/RequestSection/RequestAuth/helpers/restore-auth-from-local-storage.js.map +0 -1
  1289. package/dist/views/Request/RequestSection/RequestAuth/index.d.ts +0 -4
  1290. package/dist/views/Request/RequestSection/RequestAuth/index.d.ts.map +0 -1
  1291. package/dist/views/Request/RequestSection/RequestAuth/index.js +0 -4
  1292. package/dist/views/Request/RequestSection/RequestBody.vue.d.ts +0 -16
  1293. package/dist/views/Request/RequestSection/RequestBody.vue.d.ts.map +0 -1
  1294. package/dist/views/Request/RequestSection/RequestBody.vue.js +0 -9
  1295. package/dist/views/Request/RequestSection/RequestBody.vue.js.map +0 -1
  1296. package/dist/views/Request/RequestSection/RequestBody.vue.script.js +0 -477
  1297. package/dist/views/Request/RequestSection/RequestBody.vue.script.js.map +0 -1
  1298. package/dist/views/Request/RequestSection/RequestCodeExample.vue.d.ts +0 -15
  1299. package/dist/views/Request/RequestSection/RequestCodeExample.vue.d.ts.map +0 -1
  1300. package/dist/views/Request/RequestSection/RequestCodeExample.vue.js +0 -9
  1301. package/dist/views/Request/RequestSection/RequestCodeExample.vue.js.map +0 -1
  1302. package/dist/views/Request/RequestSection/RequestCodeExample.vue.script.js +0 -187
  1303. package/dist/views/Request/RequestSection/RequestCodeExample.vue.script.js.map +0 -1
  1304. package/dist/views/Request/RequestSection/RequestParams.vue.d.ts +0 -25
  1305. package/dist/views/Request/RequestSection/RequestParams.vue.d.ts.map +0 -1
  1306. package/dist/views/Request/RequestSection/RequestParams.vue.js +0 -7
  1307. package/dist/views/Request/RequestSection/RequestParams.vue.js.map +0 -1
  1308. package/dist/views/Request/RequestSection/RequestParams.vue.script.js +0 -180
  1309. package/dist/views/Request/RequestSection/RequestParams.vue.script.js.map +0 -1
  1310. package/dist/views/Request/RequestSection/RequestPathParams.vue.d.ts +0 -18
  1311. package/dist/views/Request/RequestSection/RequestPathParams.vue.d.ts.map +0 -1
  1312. package/dist/views/Request/RequestSection/RequestPathParams.vue.js +0 -7
  1313. package/dist/views/Request/RequestSection/RequestPathParams.vue.js.map +0 -1
  1314. package/dist/views/Request/RequestSection/RequestPathParams.vue.script.js +0 -115
  1315. package/dist/views/Request/RequestSection/RequestPathParams.vue.script.js.map +0 -1
  1316. package/dist/views/Request/RequestSection/RequestSection.vue.d.ts +0 -20
  1317. package/dist/views/Request/RequestSection/RequestSection.vue.d.ts.map +0 -1
  1318. package/dist/views/Request/RequestSection/RequestSection.vue.js +0 -9
  1319. package/dist/views/Request/RequestSection/RequestSection.vue.js.map +0 -1
  1320. package/dist/views/Request/RequestSection/RequestSection.vue.script.js +0 -297
  1321. package/dist/views/Request/RequestSection/RequestSection.vue.script.js.map +0 -1
  1322. package/dist/views/Request/RequestSection/RequestTable.vue.d.ts +0 -47
  1323. package/dist/views/Request/RequestSection/RequestTable.vue.d.ts.map +0 -1
  1324. package/dist/views/Request/RequestSection/RequestTable.vue.js +0 -9
  1325. package/dist/views/Request/RequestSection/RequestTable.vue.js.map +0 -1
  1326. package/dist/views/Request/RequestSection/RequestTable.vue.script.js +0 -266
  1327. package/dist/views/Request/RequestSection/RequestTable.vue.script.js.map +0 -1
  1328. package/dist/views/Request/RequestSection/RequestTableTooltip.vue.d.ts +0 -8
  1329. package/dist/views/Request/RequestSection/RequestTableTooltip.vue.d.ts.map +0 -1
  1330. package/dist/views/Request/RequestSection/RequestTableTooltip.vue.js +0 -9
  1331. package/dist/views/Request/RequestSection/RequestTableTooltip.vue.js.map +0 -1
  1332. package/dist/views/Request/RequestSection/RequestTableTooltip.vue.script.js +0 -64
  1333. package/dist/views/Request/RequestSection/RequestTableTooltip.vue.script.js.map +0 -1
  1334. package/dist/views/Request/RequestSection/helpers/filter-security-requirements.d.ts +0 -6
  1335. package/dist/views/Request/RequestSection/helpers/filter-security-requirements.d.ts.map +0 -1
  1336. package/dist/views/Request/RequestSection/helpers/filter-security-requirements.js +0 -38
  1337. package/dist/views/Request/RequestSection/helpers/filter-security-requirements.js.map +0 -1
  1338. package/dist/views/Request/RequestSection/helpers/getting-started.d.ts +0 -6
  1339. package/dist/views/Request/RequestSection/helpers/getting-started.d.ts.map +0 -1
  1340. package/dist/views/Request/RequestSection/helpers/getting-started.js +0 -17
  1341. package/dist/views/Request/RequestSection/helpers/getting-started.js.map +0 -1
  1342. package/dist/views/Request/RequestSection/helpers/update-scheme.d.ts +0 -8
  1343. package/dist/views/Request/RequestSection/helpers/update-scheme.d.ts.map +0 -1
  1344. package/dist/views/Request/RequestSection/helpers/update-scheme.js +0 -22
  1345. package/dist/views/Request/RequestSection/helpers/update-scheme.js.map +0 -1
  1346. package/dist/views/Request/RequestSection/index.d.ts +0 -3
  1347. package/dist/views/Request/RequestSection/index.d.ts.map +0 -1
  1348. package/dist/views/Request/RequestSection/index.js +0 -3
  1349. package/dist/views/Request/RequestSidebar.vue.d.ts +0 -16
  1350. package/dist/views/Request/RequestSidebar.vue.d.ts.map +0 -1
  1351. package/dist/views/Request/RequestSidebar.vue.js +0 -9
  1352. package/dist/views/Request/RequestSidebar.vue.js.map +0 -1
  1353. package/dist/views/Request/RequestSidebar.vue.script.js +0 -307
  1354. package/dist/views/Request/RequestSidebar.vue.script.js.map +0 -1
  1355. package/dist/views/Request/RequestSidebarItem.vue.d.ts +0 -43
  1356. package/dist/views/Request/RequestSidebarItem.vue.d.ts.map +0 -1
  1357. package/dist/views/Request/RequestSidebarItem.vue.js +0 -10
  1358. package/dist/views/Request/RequestSidebarItem.vue.js.map +0 -1
  1359. package/dist/views/Request/RequestSidebarItem.vue.script.js +0 -475
  1360. package/dist/views/Request/RequestSidebarItem.vue.script.js.map +0 -1
  1361. package/dist/views/Request/RequestSidebarItemMenu.vue.d.ts +0 -16
  1362. package/dist/views/Request/RequestSidebarItemMenu.vue.d.ts.map +0 -1
  1363. package/dist/views/Request/RequestSidebarItemMenu.vue.js +0 -9
  1364. package/dist/views/Request/RequestSidebarItemMenu.vue.js.map +0 -1
  1365. package/dist/views/Request/RequestSidebarItemMenu.vue.script.js +0 -222
  1366. package/dist/views/Request/RequestSidebarItemMenu.vue.script.js.map +0 -1
  1367. package/dist/views/Request/RequestSubpageHeader.vue.d.ts +0 -22
  1368. package/dist/views/Request/RequestSubpageHeader.vue.d.ts.map +0 -1
  1369. package/dist/views/Request/RequestSubpageHeader.vue.js +0 -9
  1370. package/dist/views/Request/RequestSubpageHeader.vue.js.map +0 -1
  1371. package/dist/views/Request/RequestSubpageHeader.vue.script.js +0 -92
  1372. package/dist/views/Request/RequestSubpageHeader.vue.script.js.map +0 -1
  1373. package/dist/views/Request/ResponseSection/RequestHeaders.vue.d.ts +0 -12
  1374. package/dist/views/Request/ResponseSection/RequestHeaders.vue.d.ts.map +0 -1
  1375. package/dist/views/Request/ResponseSection/RequestHeaders.vue.js +0 -7
  1376. package/dist/views/Request/ResponseSection/RequestHeaders.vue.js.map +0 -1
  1377. package/dist/views/Request/ResponseSection/RequestHeaders.vue.script.js +0 -77
  1378. package/dist/views/Request/ResponseSection/RequestHeaders.vue.script.js.map +0 -1
  1379. package/dist/views/Request/ResponseSection/ResponseBody.vue.d.ts +0 -14
  1380. package/dist/views/Request/ResponseSection/ResponseBody.vue.d.ts.map +0 -1
  1381. package/dist/views/Request/ResponseSection/ResponseBody.vue.js +0 -9
  1382. package/dist/views/Request/ResponseSection/ResponseBody.vue.js.map +0 -1
  1383. package/dist/views/Request/ResponseSection/ResponseBody.vue.script.js +0 -91
  1384. package/dist/views/Request/ResponseSection/ResponseBody.vue.script.js.map +0 -1
  1385. package/dist/views/Request/ResponseSection/ResponseBodyDownload.vue.d.ts +0 -9
  1386. package/dist/views/Request/ResponseSection/ResponseBodyDownload.vue.d.ts.map +0 -1
  1387. package/dist/views/Request/ResponseSection/ResponseBodyDownload.vue.js +0 -7
  1388. package/dist/views/Request/ResponseSection/ResponseBodyDownload.vue.js.map +0 -1
  1389. package/dist/views/Request/ResponseSection/ResponseBodyDownload.vue.script.js +0 -35
  1390. package/dist/views/Request/ResponseSection/ResponseBodyDownload.vue.script.js.map +0 -1
  1391. package/dist/views/Request/ResponseSection/ResponseBodyInfo.vue.d.ts +0 -14
  1392. package/dist/views/Request/ResponseSection/ResponseBodyInfo.vue.d.ts.map +0 -1
  1393. package/dist/views/Request/ResponseSection/ResponseBodyInfo.vue.js +0 -14
  1394. package/dist/views/Request/ResponseSection/ResponseBodyInfo.vue.js.map +0 -1
  1395. package/dist/views/Request/ResponseSection/ResponseBodyPreview.vue.d.ts +0 -11
  1396. package/dist/views/Request/ResponseSection/ResponseBodyPreview.vue.d.ts.map +0 -1
  1397. package/dist/views/Request/ResponseSection/ResponseBodyPreview.vue.js +0 -9
  1398. package/dist/views/Request/ResponseSection/ResponseBodyPreview.vue.js.map +0 -1
  1399. package/dist/views/Request/ResponseSection/ResponseBodyPreview.vue.script.js +0 -64
  1400. package/dist/views/Request/ResponseSection/ResponseBodyPreview.vue.script.js.map +0 -1
  1401. package/dist/views/Request/ResponseSection/ResponseBodyRaw.vue.d.ts +0 -9
  1402. package/dist/views/Request/ResponseSection/ResponseBodyRaw.vue.d.ts.map +0 -1
  1403. package/dist/views/Request/ResponseSection/ResponseBodyRaw.vue.js +0 -9
  1404. package/dist/views/Request/ResponseSection/ResponseBodyRaw.vue.js.map +0 -1
  1405. package/dist/views/Request/ResponseSection/ResponseBodyRaw.vue.script.js +0 -54
  1406. package/dist/views/Request/ResponseSection/ResponseBodyRaw.vue.script.js.map +0 -1
  1407. package/dist/views/Request/ResponseSection/ResponseBodyStreaming.vue.d.ts +0 -7
  1408. package/dist/views/Request/ResponseSection/ResponseBodyStreaming.vue.d.ts.map +0 -1
  1409. package/dist/views/Request/ResponseSection/ResponseBodyStreaming.vue.js +0 -7
  1410. package/dist/views/Request/ResponseSection/ResponseBodyStreaming.vue.js.map +0 -1
  1411. package/dist/views/Request/ResponseSection/ResponseBodyStreaming.vue.script.js +0 -85
  1412. package/dist/views/Request/ResponseSection/ResponseBodyStreaming.vue.script.js.map +0 -1
  1413. package/dist/views/Request/ResponseSection/ResponseBodyToggle.vue.d.ts +0 -11
  1414. package/dist/views/Request/ResponseSection/ResponseBodyToggle.vue.d.ts.map +0 -1
  1415. package/dist/views/Request/ResponseSection/ResponseBodyToggle.vue.js +0 -7
  1416. package/dist/views/Request/ResponseSection/ResponseBodyToggle.vue.js.map +0 -1
  1417. package/dist/views/Request/ResponseSection/ResponseBodyToggle.vue.script.js +0 -25
  1418. package/dist/views/Request/ResponseSection/ResponseBodyToggle.vue.script.js.map +0 -1
  1419. package/dist/views/Request/ResponseSection/ResponseBodyVirtual.vue.d.ts +0 -13
  1420. package/dist/views/Request/ResponseSection/ResponseBodyVirtual.vue.d.ts.map +0 -1
  1421. package/dist/views/Request/ResponseSection/ResponseBodyVirtual.vue.js +0 -8
  1422. package/dist/views/Request/ResponseSection/ResponseBodyVirtual.vue.js.map +0 -1
  1423. package/dist/views/Request/ResponseSection/ResponseBodyVirtual.vue.script.js +0 -51
  1424. package/dist/views/Request/ResponseSection/ResponseBodyVirtual.vue.script.js.map +0 -1
  1425. package/dist/views/Request/ResponseSection/ResponseCookies.vue.d.ts +0 -11
  1426. package/dist/views/Request/ResponseSection/ResponseCookies.vue.d.ts.map +0 -1
  1427. package/dist/views/Request/ResponseSection/ResponseCookies.vue.js +0 -7
  1428. package/dist/views/Request/ResponseSection/ResponseCookies.vue.js.map +0 -1
  1429. package/dist/views/Request/ResponseSection/ResponseCookies.vue.script.js +0 -39
  1430. package/dist/views/Request/ResponseSection/ResponseCookies.vue.script.js.map +0 -1
  1431. package/dist/views/Request/ResponseSection/ResponseEmpty.vue.d.ts +0 -12
  1432. package/dist/views/Request/ResponseSection/ResponseEmpty.vue.d.ts.map +0 -1
  1433. package/dist/views/Request/ResponseSection/ResponseEmpty.vue.js +0 -9
  1434. package/dist/views/Request/ResponseSection/ResponseEmpty.vue.js.map +0 -1
  1435. package/dist/views/Request/ResponseSection/ResponseEmpty.vue.script.js +0 -98
  1436. package/dist/views/Request/ResponseSection/ResponseEmpty.vue.script.js.map +0 -1
  1437. package/dist/views/Request/ResponseSection/ResponseHeaders.vue.d.ts +0 -12
  1438. package/dist/views/Request/ResponseSection/ResponseHeaders.vue.d.ts.map +0 -1
  1439. package/dist/views/Request/ResponseSection/ResponseHeaders.vue.js +0 -7
  1440. package/dist/views/Request/ResponseSection/ResponseHeaders.vue.js.map +0 -1
  1441. package/dist/views/Request/ResponseSection/ResponseHeaders.vue.script.js +0 -77
  1442. package/dist/views/Request/ResponseSection/ResponseHeaders.vue.script.js.map +0 -1
  1443. package/dist/views/Request/ResponseSection/ResponseLoadingOverlay.vue.d.ts +0 -4
  1444. package/dist/views/Request/ResponseSection/ResponseLoadingOverlay.vue.d.ts.map +0 -1
  1445. package/dist/views/Request/ResponseSection/ResponseLoadingOverlay.vue.js +0 -9
  1446. package/dist/views/Request/ResponseSection/ResponseLoadingOverlay.vue.js.map +0 -1
  1447. package/dist/views/Request/ResponseSection/ResponseLoadingOverlay.vue.script.js +0 -44
  1448. package/dist/views/Request/ResponseSection/ResponseLoadingOverlay.vue.script.js.map +0 -1
  1449. package/dist/views/Request/ResponseSection/ResponseMetaInformation.vue.d.ts +0 -8
  1450. package/dist/views/Request/ResponseSection/ResponseMetaInformation.vue.d.ts.map +0 -1
  1451. package/dist/views/Request/ResponseSection/ResponseMetaInformation.vue.js +0 -7
  1452. package/dist/views/Request/ResponseSection/ResponseMetaInformation.vue.js.map +0 -1
  1453. package/dist/views/Request/ResponseSection/ResponseMetaInformation.vue.script.js +0 -64
  1454. package/dist/views/Request/ResponseSection/ResponseMetaInformation.vue.script.js.map +0 -1
  1455. package/dist/views/Request/ResponseSection/ResponseSection.vue.d.ts +0 -15
  1456. package/dist/views/Request/ResponseSection/ResponseSection.vue.d.ts.map +0 -1
  1457. package/dist/views/Request/ResponseSection/ResponseSection.vue.js +0 -9
  1458. package/dist/views/Request/ResponseSection/ResponseSection.vue.js.map +0 -1
  1459. package/dist/views/Request/ResponseSection/ResponseSection.vue.script.js +0 -206
  1460. package/dist/views/Request/ResponseSection/ResponseSection.vue.script.js.map +0 -1
  1461. package/dist/views/Request/ResponseSection/index.d.ts +0 -3
  1462. package/dist/views/Request/ResponseSection/index.d.ts.map +0 -1
  1463. package/dist/views/Request/ResponseSection/index.js +0 -3
  1464. package/dist/views/Request/components/WorkspaceDropdown.vue.d.ts +0 -4
  1465. package/dist/views/Request/components/WorkspaceDropdown.vue.d.ts.map +0 -1
  1466. package/dist/views/Request/components/WorkspaceDropdown.vue.js +0 -7
  1467. package/dist/views/Request/components/WorkspaceDropdown.vue.js.map +0 -1
  1468. package/dist/views/Request/components/WorkspaceDropdown.vue.script.js +0 -182
  1469. package/dist/views/Request/components/WorkspaceDropdown.vue.script.js.map +0 -1
  1470. package/dist/views/Request/components/index.d.ts +0 -2
  1471. package/dist/views/Request/components/index.d.ts.map +0 -1
  1472. package/dist/views/Request/components/index.js +0 -2
  1473. package/dist/views/Request/consts/index.d.ts +0 -3
  1474. package/dist/views/Request/consts/index.d.ts.map +0 -1
  1475. package/dist/views/Request/consts/index.js +0 -3
  1476. package/dist/views/Request/consts/mediaTypes.d.ts +0 -20
  1477. package/dist/views/Request/consts/mediaTypes.d.ts.map +0 -1
  1478. package/dist/views/Request/consts/mediaTypes.js +0 -231
  1479. package/dist/views/Request/consts/mediaTypes.js.map +0 -1
  1480. package/dist/views/Request/consts/new-auth-options.d.ts +0 -107
  1481. package/dist/views/Request/consts/new-auth-options.d.ts.map +0 -1
  1482. package/dist/views/Request/consts/new-auth-options.js +0 -90
  1483. package/dist/views/Request/consts/new-auth-options.js.map +0 -1
  1484. package/dist/views/Request/handle-drag.d.ts +0 -9
  1485. package/dist/views/Request/handle-drag.d.ts.map +0 -1
  1486. package/dist/views/Request/handle-drag.js +0 -51
  1487. package/dist/views/Request/handle-drag.js.map +0 -1
  1488. package/dist/views/Request/hooks/useOpenApiWatcher.d.ts +0 -9
  1489. package/dist/views/Request/hooks/useOpenApiWatcher.d.ts.map +0 -1
  1490. package/dist/views/Request/hooks/useOpenApiWatcher.js +0 -96
  1491. package/dist/views/Request/hooks/useOpenApiWatcher.js.map +0 -1
  1492. package/dist/views/Request/libs/auth.d.ts +0 -27
  1493. package/dist/views/Request/libs/auth.d.ts.map +0 -1
  1494. package/dist/views/Request/libs/auth.js +0 -74
  1495. package/dist/views/Request/libs/auth.js.map +0 -1
  1496. package/dist/views/Request/libs/index.d.ts +0 -4
  1497. package/dist/views/Request/libs/index.d.ts.map +0 -1
  1498. package/dist/views/Request/libs/index.js +0 -4
  1499. package/dist/views/Request/libs/oauth2.d.ts +0 -43
  1500. package/dist/views/Request/libs/oauth2.d.ts.map +0 -1
  1501. package/dist/views/Request/libs/oauth2.js +0 -178
  1502. package/dist/views/Request/libs/oauth2.js.map +0 -1
  1503. package/dist/views/Request/libs/request.d.ts +0 -21
  1504. package/dist/views/Request/libs/request.d.ts.map +0 -1
  1505. package/dist/views/Request/libs/request.js +0 -46
  1506. package/dist/views/Request/libs/request.js.map +0 -1
  1507. package/dist/views/Request/libs/watch-mode.d.ts +0 -60
  1508. package/dist/views/Request/libs/watch-mode.d.ts.map +0 -1
  1509. package/dist/views/Request/libs/watch-mode.js +0 -375
  1510. package/dist/views/Request/libs/watch-mode.js.map +0 -1
  1511. package/dist/views/Request/types/index.d.ts +0 -2
  1512. package/dist/views/Request/types/index.d.ts.map +0 -1
  1513. package/dist/views/Request/types/index.js +0 -0
  1514. package/dist/views/Request/types/sidebar-item.d.ts +0 -30
  1515. package/dist/views/Request/types/sidebar-item.d.ts.map +0 -1
  1516. package/dist/views/Settings/Settings.vue.d.ts +0 -5
  1517. package/dist/views/Settings/Settings.vue.d.ts.map +0 -1
  1518. package/dist/views/Settings/Settings.vue.js +0 -7
  1519. package/dist/views/Settings/Settings.vue.js.map +0 -1
  1520. package/dist/views/Settings/Settings.vue.script.js +0 -28
  1521. package/dist/views/Settings/Settings.vue.script.js.map +0 -1
  1522. package/dist/views/Settings/SettingsGeneral.vue.d.ts +0 -4
  1523. package/dist/views/Settings/SettingsGeneral.vue.d.ts.map +0 -1
  1524. package/dist/views/Settings/SettingsGeneral.vue.js +0 -7
  1525. package/dist/views/Settings/SettingsGeneral.vue.js.map +0 -1
  1526. package/dist/views/Settings/SettingsGeneral.vue.script.js +0 -241
  1527. package/dist/views/Settings/SettingsGeneral.vue.script.js.map +0 -1
  1528. package/dist/views/Settings/components/SettingsAppearance.vue.d.ts +0 -4
  1529. package/dist/views/Settings/components/SettingsAppearance.vue.d.ts.map +0 -1
  1530. package/dist/views/Settings/components/SettingsAppearance.vue.js +0 -7
  1531. package/dist/views/Settings/components/SettingsAppearance.vue.js.map +0 -1
  1532. package/dist/views/Settings/components/SettingsAppearance.vue.script.js +0 -62
  1533. package/dist/views/Settings/components/SettingsAppearance.vue.script.js.map +0 -1
  1534. package/dist/views/Settings/components/SettingsSection.vue.d.ts +0 -15
  1535. package/dist/views/Settings/components/SettingsSection.vue.d.ts.map +0 -1
  1536. package/dist/views/Settings/components/SettingsSection.vue.js +0 -7
  1537. package/dist/views/Settings/components/SettingsSection.vue.js.map +0 -1
  1538. package/dist/views/Settings/components/SettingsSection.vue.script.js +0 -27
  1539. package/dist/views/Settings/components/SettingsSection.vue.script.js.map +0 -1
  1540. /package/dist/{components → v2/blocks/operation-block/components}/OpenApiClientButton.vue.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.js","names":[],"sources":["../../../../../src/v2/blocks/scalar-auth-selector-block/helpers/oauth.ts"],"sourcesContent":["import { replaceEnvVariables, replacePathVariables } from '@scalar/helpers/regex/replace-variables'\nimport { isRelativePath } from '@scalar/helpers/url/is-relative-path'\nimport { makeUrlAbsolute } from '@scalar/helpers/url/make-url-absolute'\nimport { shouldUseProxy } from '@scalar/helpers/url/redirect-to-proxy'\nimport type { OAuthFlowsObjectSecret } from '@scalar/workspace-store/request-example'\nimport { getServerVariables } from '@scalar/workspace-store/request-example'\nimport type { ServerObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { encode, fromUint8Array } from 'js-base64'\n\nimport type { ErrorResponse } from '@/libs/errors'\n\n/** Oauth2 security schemes which are not implicit */\ntype NonImplicitFlows = Omit<OAuthFlowsObjectSecret, 'implicit'>\n\ntype PKCEState = {\n codeVerifier: string\n codeChallenge: string\n codeChallengeMethod: string\n}\n\nexport type OAuth2Tokens = {\n accessToken: string\n refreshToken?: string\n}\n\nconst getServerUrl = (activeServer: ServerObject | null, environmentVariables: Record<string, string> = {}) => {\n return replaceEnvVariables(\n replacePathVariables(activeServer?.url ?? '', getServerVariables(activeServer)),\n environmentVariables,\n )\n}\n\nconst getActiveServerBase = (activeServer: ServerObject | null, environmentVariables: Record<string, string> = {}) => {\n const serverUrl = getServerUrl(activeServer, environmentVariables)\n\n if (!serverUrl) {\n return {}\n }\n\n if (isRelativePath(serverUrl)) {\n return typeof window === 'undefined' ? {} : { basePath: serverUrl }\n }\n\n return { baseUrl: serverUrl }\n}\n\n/**\n * Generates a random string for PKCE code verifier\n *\n * @see https://www.rfc-editor.org/rfc/rfc7636#page-8\n */\nconst generateCodeVerifier = (): string => {\n // Generate 32 random bytes\n const buffer = new Uint8Array(32)\n crypto.getRandomValues(buffer)\n\n // Base64URL encode the bytes\n return fromUint8Array(buffer, true)\n}\n\n/**\n * Creates a code challenge from the code verifier\n */\nconst generateCodeChallenge = async (verifier: string, encoding: 'SHA-256' | 'plain'): Promise<string> => {\n if (encoding === 'plain') {\n return verifier\n }\n\n // If crypto.subtle.digest is not a function, we cannot use SHA-256\n if (typeof crypto?.subtle?.digest !== 'function') {\n console.warn('SHA-256 is only supported when using https, using a plain text code challenge instead.')\n return verifier\n }\n\n // ASCII encoding is just taking the lower 8 bits of each character\n const encoder = new TextEncoder()\n const data = encoder.encode(verifier)\n const digest = await crypto.subtle.digest('SHA-256', data)\n\n // Base64URL encode the bytes\n return fromUint8Array(new Uint8Array(digest), true)\n}\n\n/**\n * Authorize oauth2 flow\n *\n * @returns the resolved oauth2 tokens\n */\nexport const authorizeOauth2 = async (\n flows: OAuthFlowsObjectSecret,\n type: keyof OAuthFlowsObjectSecret,\n selectedScopes: string[],\n /** We use the active server to set a base for relative redirect uris */\n activeServer: ServerObject | null,\n /** If we want to use the proxy */\n proxyUrl: string,\n /** Flattened environment variables used to resolve server URL templates like `{protocol}` */\n environmentVariables: Record<string, string> = {},\n): Promise<ErrorResponse<OAuth2Tokens>> => {\n const flow = flows[type]\n\n try {\n if (!flow) {\n return [new Error('Flow not found'), null]\n }\n\n const scopes = selectedScopes.join(' ')\n\n // Client Credentials or Password Flow\n if (type === 'clientCredentials' || type === 'password') {\n return authorizeServers(\n flows,\n type,\n scopes,\n {\n proxyUrl,\n },\n activeServer,\n environmentVariables,\n )\n }\n\n // Generate a random state string with the length of 8 characters\n const state = (Math.random() + 1).toString(36).substring(2, 10)\n\n const authorizationUrl = makeUrlAbsolute(\n flows[type]!['x-scalar-secret-auth-url'] ?? flows[type]!.authorizationUrl,\n getActiveServerBase(activeServer, environmentVariables),\n )\n\n const url = new URL(authorizationUrl)\n\n /** Special PKCE state */\n let pkce: PKCEState | null = null\n\n // Params unique to the flows\n if (type === 'implicit') {\n url.searchParams.set('response_type', 'token')\n } else if (type === 'authorizationCode') {\n const typedFlow = flows[type]! // Safe to assert due to earlier check\n\n url.searchParams.set('response_type', 'code')\n\n // PKCE\n if (typedFlow['x-usePkce'] !== 'no') {\n const codeVerifier = generateCodeVerifier()\n const codeChallenge = await generateCodeChallenge(codeVerifier, typedFlow['x-usePkce'])\n\n // Set state for later verification\n pkce = {\n codeVerifier,\n codeChallenge,\n codeChallengeMethod: typedFlow['x-usePkce'] === 'SHA-256' ? 'S256' : 'plain',\n }\n\n // Set the code challenge and method on the url\n url.searchParams.set('code_challenge', codeChallenge)\n url.searchParams.set('code_challenge_method', pkce.codeChallengeMethod)\n }\n }\n\n const typedFlow = flows[type]! // Safe to assert due to earlier check\n\n // Handle relative redirect uris\n if (typedFlow['x-scalar-secret-redirect-uri'].startsWith('/')) {\n const baseUrl =\n getServerUrl(activeServer, environmentVariables) || window.location.origin + window.location.pathname\n const redirectUri = new URL(typedFlow['x-scalar-secret-redirect-uri'], baseUrl).toString()\n\n url.searchParams.set('redirect_uri', redirectUri)\n } else {\n url.searchParams.set('redirect_uri', typedFlow['x-scalar-secret-redirect-uri'])\n }\n\n if (flow['x-scalar-security-query']) {\n Object.keys(flow['x-scalar-security-query']).forEach((key: string): void => {\n const value = flow['x-scalar-security-query']?.[key]\n if (!value) {\n return\n }\n url.searchParams.set(key, value)\n })\n }\n\n // Common to all flows\n url.searchParams.set('client_id', flow['x-scalar-secret-client-id'])\n url.searchParams.set('state', state)\n if (scopes) {\n url.searchParams.set('scope', scopes)\n }\n\n const windowFeatures = 'left=100,top=100,width=800,height=600'\n const authWindow = window.open(url, 'openAuth2Window', windowFeatures)\n\n // Open up a window and poll until closed or we have the data we want\n if (authWindow) {\n // We need to return a promise here due to the setInterval\n return new Promise<ErrorResponse<OAuth2Tokens>>((resolve) => {\n const checkWindowClosed = setInterval(() => {\n let accessToken: string | null = null\n let refreshToken: string | null = null\n let code: string | null = null\n let error: string | null = null\n let errorDescription: string | null = null\n\n try {\n const urlParams = new URL(authWindow.location.href).searchParams\n const tokenName = flow['x-tokenName'] || 'access_token'\n accessToken = urlParams.get(tokenName)\n refreshToken = urlParams.get('refresh_token')\n code = urlParams.get('code')\n\n error = urlParams.get('error')\n errorDescription = urlParams.get('error_description')\n\n // We may get the properties in a hash\n const hashParams = new URLSearchParams(authWindow.location.href.split('#')[1])\n accessToken ||= hashParams.get(tokenName)\n refreshToken ||= hashParams.get('refresh_token')\n code ||= hashParams.get('code')\n error ||= hashParams.get('error')\n errorDescription ||= hashParams.get('error_description')\n } catch (_e) {\n // Ignore CORS error from popup\n }\n\n // The window has closed OR we have what we are looking for so we stop polling\n if (authWindow.closed || accessToken || code || error) {\n clearInterval(checkWindowClosed)\n authWindow.close()\n\n if (error) {\n resolve([new Error(`OAuth error: ${error}${errorDescription ? ` (${errorDescription})` : ''}`), null])\n }\n\n // Implicit Flow\n else if (accessToken) {\n // State is a hash fragment and cannot be found through search params\n const _state = authWindow.location.href.match(/state=([^&]*)/)?.[1]\n\n if (_state === state) {\n resolve([null, { accessToken, ...(refreshToken ? { refreshToken } : {}) }])\n } else {\n resolve([new Error('State mismatch'), null])\n }\n }\n\n // Authorization Code Server Flow\n else if (code && type === 'authorizationCode') {\n const _state = new URL(authWindow.location.href).searchParams.get('state')\n\n if (_state === state) {\n // biome-ignore lint/nursery/noFloatingPromises: output of authorizeServers must be returned\n authorizeServers(\n flows,\n type,\n scopes,\n {\n code,\n pkce,\n proxyUrl,\n },\n activeServer,\n environmentVariables,\n ).then(resolve)\n } else {\n resolve([new Error('State mismatch'), null])\n }\n }\n // User closed window without authorizing\n else {\n clearInterval(checkWindowClosed)\n resolve([new Error('Window was closed without granting authorization'), null])\n }\n }\n }, 200)\n })\n }\n return [new Error('Failed to open auth window'), null]\n } catch (_) {\n return [new Error('Failed to authorize oauth2 flow'), null]\n }\n}\n\n/**\n * Makes the BE authorization call to grab the token server to server\n * Used for clientCredentials and authorizationCode\n */\nconst authorizeServers = async (\n flows: NonImplicitFlows,\n type: keyof NonImplicitFlows,\n scopes: string,\n {\n code,\n pkce,\n proxyUrl,\n }: {\n code?: string\n pkce?: PKCEState | null\n proxyUrl?: string\n } = {},\n activeServer: ServerObject | null,\n environmentVariables: Record<string, string> = {},\n): Promise<ErrorResponse<OAuth2Tokens>> => {\n const flow = flows[type]\n\n if (!flow) {\n return [new Error('OAuth2 flow was not defined'), null]\n }\n\n const formData = new URLSearchParams()\n\n // Only client credentials and password flows support scopes in the token request\n if (scopes && (type === 'clientCredentials' || type === 'password')) {\n formData.set('scope', scopes)\n }\n\n /** Where to add the credentials */\n const addCredentialsToBody = flow['x-scalar-credentials-location'] === 'body'\n const hasClientSecret = Boolean(flow['x-scalar-secret-client-secret'])\n /**\n * Public authorization-code clients still need client_id in the token body.\n * We only send it implicitly for that case to avoid conflicting with Basic auth.\n */\n const shouldSendClientIdInBody = addCredentialsToBody || (type === 'authorizationCode' && !hasClientSecret)\n\n if (shouldSendClientIdInBody) {\n formData.set('client_id', flow['x-scalar-secret-client-id'])\n }\n if (addCredentialsToBody && hasClientSecret) {\n formData.set('client_secret', flow['x-scalar-secret-client-secret'])\n }\n if ('x-scalar-secret-redirect-uri' in flow && flow['x-scalar-secret-redirect-uri']) {\n formData.set('redirect_uri', flow['x-scalar-secret-redirect-uri'])\n }\n\n // Authorization Code\n if (code) {\n formData.set('code', code)\n formData.set('grant_type', 'authorization_code')\n\n // PKCE\n if (pkce) {\n formData.set('code_verifier', pkce.codeVerifier)\n }\n }\n // Password\n else if (type === 'password') {\n const typedFlow = flows[type]! // Safe to assert due to earlier check\n formData.set('grant_type', 'password')\n formData.set('username', typedFlow['x-scalar-secret-username'])\n formData.set('password', typedFlow['x-scalar-secret-password'])\n }\n // Client Credentials\n else {\n formData.set('grant_type', 'client_credentials')\n }\n\n // Additional request body parameters\n if (flow['x-scalar-security-body']) {\n Object.entries(flow['x-scalar-security-body']).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n formData.set(key, String(value))\n }\n })\n }\n\n try {\n const headers: Record<string, string> = {\n 'Content-Type': 'application/x-www-form-urlencoded',\n }\n\n // Add client id + secret to headers for confidential clients.\n if (!addCredentialsToBody && hasClientSecret) {\n headers.Authorization = `Basic ${encode(`${flow['x-scalar-secret-client-id']}:${flow['x-scalar-secret-client-secret']}`)}`\n }\n\n // Check if we should use the proxy\n const tokenUrl = makeUrlAbsolute(\n flow['x-scalar-secret-token-url'] ?? flow.tokenUrl,\n getActiveServerBase(activeServer, environmentVariables),\n )\n const url = shouldUseProxy(proxyUrl, tokenUrl)\n ? `${proxyUrl}?${new URLSearchParams([['scalar_url', tokenUrl]]).toString()}`\n : tokenUrl\n\n // Make the call\n const resp = await fetch(url, {\n method: 'POST',\n headers,\n body: formData,\n })\n const responseData = await resp.json()\n\n // Use custom token name if specified, otherwise default to access_token\n const tokenName = flow['x-tokenName'] || 'access_token'\n const accessToken = responseData[tokenName]\n const refreshToken = responseData.refresh_token\n\n return [null, { accessToken, ...(typeof refreshToken === 'string' ? { refreshToken } : {}) }]\n } catch {\n return [new Error('Failed to get an access token. Please check your credentials.'), null]\n }\n}\n"],"mappings":";;;;;;;AAyBA,IAAM,gBAAgB,cAAmC,uBAA+C,EAAE,KAAK;AAC7G,QAAO,oBACL,qBAAqB,cAAc,OAAO,IAAI,mBAAmB,aAAa,CAAC,EAC/E,qBACD;;AAGH,IAAM,uBAAuB,cAAmC,uBAA+C,EAAE,KAAK;CACpH,MAAM,YAAY,aAAa,cAAc,qBAAqB;AAElE,KAAI,CAAC,UACH,QAAO,EAAE;AAGX,KAAI,eAAe,UAAU,CAC3B,QAAO,OAAO,WAAW,cAAc,EAAE,GAAG,EAAE,UAAU,WAAW;AAGrE,QAAO,EAAE,SAAS,WAAW;;;;;;;AAQ/B,IAAM,6BAAqC;CAEzC,MAAM,SAAS,IAAI,WAAW,GAAG;AACjC,QAAO,gBAAgB,OAAO;AAG9B,QAAO,eAAe,QAAQ,KAAK;;;;;AAMrC,IAAM,wBAAwB,OAAO,UAAkB,aAAmD;AACxG,KAAI,aAAa,QACf,QAAO;AAIT,KAAI,OAAO,QAAQ,QAAQ,WAAW,YAAY;AAChD,UAAQ,KAAK,yFAAyF;AACtG,SAAO;;CAKT,MAAM,OADU,IAAI,aAAa,CACZ,OAAO,SAAS;CACrC,MAAM,SAAS,MAAM,OAAO,OAAO,OAAO,WAAW,KAAK;AAG1D,QAAO,eAAe,IAAI,WAAW,OAAO,EAAE,KAAK;;;;;;;AAQrD,IAAa,kBAAkB,OAC7B,OACA,MACA,gBAEA,cAEA,UAEA,uBAA+C,EAAE,KACR;CACzC,MAAM,OAAO,MAAM;AAEnB,KAAI;AACF,MAAI,CAAC,KACH,QAAO,iBAAC,IAAI,MAAM,iBAAiB,EAAE,KAAK;EAG5C,MAAM,SAAS,eAAe,KAAK,IAAI;AAGvC,MAAI,SAAS,uBAAuB,SAAS,WAC3C,QAAO,iBACL,OACA,MACA,QACA,EACE,UACD,EACD,cACA,qBACD;EAIH,MAAM,SAAS,KAAK,QAAQ,GAAG,GAAG,SAAS,GAAG,CAAC,UAAU,GAAG,GAAG;EAE/D,MAAM,mBAAmB,gBACvB,MAAM,MAAO,+BAA+B,MAAM,MAAO,kBACzD,oBAAoB,cAAc,qBAAqB,CACxD;EAED,MAAM,MAAM,IAAI,IAAI,iBAAiB;;EAGrC,IAAI,OAAyB;AAG7B,MAAI,SAAS,WACX,KAAI,aAAa,IAAI,iBAAiB,QAAQ;WACrC,SAAS,qBAAqB;GACvC,MAAM,YAAY,MAAM;AAExB,OAAI,aAAa,IAAI,iBAAiB,OAAO;AAG7C,OAAI,UAAU,iBAAiB,MAAM;IACnC,MAAM,eAAe,sBAAsB;IAC3C,MAAM,gBAAgB,MAAM,sBAAsB,cAAc,UAAU,aAAa;AAGvF,WAAO;KACL;KACA;KACA,qBAAqB,UAAU,iBAAiB,YAAY,SAAS;KACtE;AAGD,QAAI,aAAa,IAAI,kBAAkB,cAAc;AACrD,QAAI,aAAa,IAAI,yBAAyB,KAAK,oBAAoB;;;EAI3E,MAAM,YAAY,MAAM;AAGxB,MAAI,UAAU,gCAAgC,WAAW,IAAI,EAAE;GAC7D,MAAM,UACJ,aAAa,cAAc,qBAAqB,IAAI,OAAO,SAAS,SAAS,OAAO,SAAS;GAC/F,MAAM,cAAc,IAAI,IAAI,UAAU,iCAAiC,QAAQ,CAAC,UAAU;AAE1F,OAAI,aAAa,IAAI,gBAAgB,YAAY;QAEjD,KAAI,aAAa,IAAI,gBAAgB,UAAU,gCAAgC;AAGjF,MAAI,KAAK,2BACP,QAAO,KAAK,KAAK,2BAA2B,CAAC,SAAS,QAAsB;GAC1E,MAAM,QAAQ,KAAK,6BAA6B;AAChD,OAAI,CAAC,MACH;AAEF,OAAI,aAAa,IAAI,KAAK,MAAM;IAChC;AAIJ,MAAI,aAAa,IAAI,aAAa,KAAK,6BAA6B;AACpE,MAAI,aAAa,IAAI,SAAS,MAAM;AACpC,MAAI,OACF,KAAI,aAAa,IAAI,SAAS,OAAO;EAIvC,MAAM,aAAa,OAAO,KAAK,KAAK,mBADb,wCAC+C;AAGtE,MAAI,WAEF,QAAO,IAAI,SAAsC,YAAY;GAC3D,MAAM,oBAAoB,kBAAkB;IAC1C,IAAI,cAA6B;IACjC,IAAI,eAA8B;IAClC,IAAI,OAAsB;IAC1B,IAAI,QAAuB;IAC3B,IAAI,mBAAkC;AAEtC,QAAI;KACF,MAAM,YAAY,IAAI,IAAI,WAAW,SAAS,KAAK,CAAC;KACpD,MAAM,YAAY,KAAK,kBAAkB;AACzC,mBAAc,UAAU,IAAI,UAAU;AACtC,oBAAe,UAAU,IAAI,gBAAgB;AAC7C,YAAO,UAAU,IAAI,OAAO;AAE5B,aAAQ,UAAU,IAAI,QAAQ;AAC9B,wBAAmB,UAAU,IAAI,oBAAoB;KAGrD,MAAM,aAAa,IAAI,gBAAgB,WAAW,SAAS,KAAK,MAAM,IAAI,CAAC,GAAG;AAC9E,qBAAgB,WAAW,IAAI,UAAU;AACzC,sBAAiB,WAAW,IAAI,gBAAgB;AAChD,cAAS,WAAW,IAAI,OAAO;AAC/B,eAAU,WAAW,IAAI,QAAQ;AACjC,0BAAqB,WAAW,IAAI,oBAAoB;aACjD,IAAI;AAKb,QAAI,WAAW,UAAU,eAAe,QAAQ,OAAO;AACrD,mBAAc,kBAAkB;AAChC,gBAAW,OAAO;AAElB,SAAI,MACF,SAAQ,iBAAC,IAAI,MAAM,gBAAgB,QAAQ,mBAAmB,KAAK,iBAAiB,KAAK,KAAK,EAAE,KAAK,CAAC;cAI/F,YAIP,KAFe,WAAW,SAAS,KAAK,MAAM,gBAAgB,GAAG,OAElD,MACb,SAAQ,CAAC,MAAM;MAAE;MAAa,GAAI,eAAe,EAAE,cAAc,GAAG,EAAE;MAAG,CAAC,CAAC;SAE3E,SAAQ,iBAAC,IAAI,MAAM,iBAAiB,EAAE,KAAK,CAAC;cAKvC,QAAQ,SAAS,oBAGxB,KAFe,IAAI,IAAI,WAAW,SAAS,KAAK,CAAC,aAAa,IAAI,QAAQ,KAE3D,MAEb,kBACE,OACA,MACA,QACA;MACE;MACA;MACA;MACD,EACD,cACA,qBACD,CAAC,KAAK,QAAQ;SAEf,SAAQ,iBAAC,IAAI,MAAM,iBAAiB,EAAE,KAAK,CAAC;UAI3C;AACH,oBAAc,kBAAkB;AAChC,cAAQ,iBAAC,IAAI,MAAM,mDAAmD,EAAE,KAAK,CAAC;;;MAGjF,IAAI;IACP;AAEJ,SAAO,iBAAC,IAAI,MAAM,6BAA6B,EAAE,KAAK;UAC/C,GAAG;AACV,SAAO,iBAAC,IAAI,MAAM,kCAAkC,EAAE,KAAK;;;;;;;AAQ/D,IAAM,mBAAmB,OACvB,OACA,MACA,QACA,EACE,MACA,MACA,aAKE,EAAE,EACN,cACA,uBAA+C,EAAE,KACR;CACzC,MAAM,OAAO,MAAM;AAEnB,KAAI,CAAC,KACH,QAAO,iBAAC,IAAI,MAAM,8BAA8B,EAAE,KAAK;CAGzD,MAAM,WAAW,IAAI,iBAAiB;AAGtC,KAAI,WAAW,SAAS,uBAAuB,SAAS,YACtD,UAAS,IAAI,SAAS,OAAO;;CAI/B,MAAM,uBAAuB,KAAK,qCAAqC;CACvE,MAAM,kBAAkB,QAAQ,KAAK,iCAAiC;AAOtE,KAFiC,wBAAyB,SAAS,uBAAuB,CAAC,gBAGzF,UAAS,IAAI,aAAa,KAAK,6BAA6B;AAE9D,KAAI,wBAAwB,gBAC1B,UAAS,IAAI,iBAAiB,KAAK,iCAAiC;AAEtE,KAAI,kCAAkC,QAAQ,KAAK,gCACjD,UAAS,IAAI,gBAAgB,KAAK,gCAAgC;AAIpE,KAAI,MAAM;AACR,WAAS,IAAI,QAAQ,KAAK;AAC1B,WAAS,IAAI,cAAc,qBAAqB;AAGhD,MAAI,KACF,UAAS,IAAI,iBAAiB,KAAK,aAAa;YAI3C,SAAS,YAAY;EAC5B,MAAM,YAAY,MAAM;AACxB,WAAS,IAAI,cAAc,WAAW;AACtC,WAAS,IAAI,YAAY,UAAU,4BAA4B;AAC/D,WAAS,IAAI,YAAY,UAAU,4BAA4B;OAI/D,UAAS,IAAI,cAAc,qBAAqB;AAIlD,KAAI,KAAK,0BACP,QAAO,QAAQ,KAAK,0BAA0B,CAAC,SAAS,CAAC,KAAK,WAAW;AACvE,MAAI,UAAU,KAAA,KAAa,UAAU,KACnC,UAAS,IAAI,KAAK,OAAO,MAAM,CAAC;GAElC;AAGJ,KAAI;EACF,MAAM,UAAkC,EACtC,gBAAgB,qCACjB;AAGD,MAAI,CAAC,wBAAwB,gBAC3B,SAAQ,gBAAgB,SAAS,OAAO,GAAG,KAAK,6BAA6B,GAAG,KAAK,mCAAmC;EAI1H,MAAM,WAAW,gBACf,KAAK,gCAAgC,KAAK,UAC1C,oBAAoB,cAAc,qBAAqB,CACxD;EACD,MAAM,MAAM,eAAe,UAAU,SAAS,GAC1C,GAAG,SAAS,GAAG,IAAI,gBAAgB,CAAC,CAAC,cAAc,SAAS,CAAC,CAAC,CAAC,UAAU,KACzE;EAQJ,MAAM,eAAe,OALR,MAAM,MAAM,KAAK;GAC5B,QAAQ;GACR;GACA,MAAM;GACP,CAAC,EAC8B,MAAM;EAItC,MAAM,cAAc,aADF,KAAK,kBAAkB;EAEzC,MAAM,eAAe,aAAa;AAElC,SAAO,CAAC,MAAM;GAAE;GAAa,GAAI,OAAO,iBAAiB,WAAW,EAAE,cAAc,GAAG,EAAE;GAAG,CAAC;SACvF;AACN,SAAO,iBAAC,IAAI,MAAM,gEAAgE,EAAE,KAAK"}
1
+ {"version":3,"file":"oauth.js","names":[],"sources":["../../../../../src/v2/blocks/scalar-auth-selector-block/helpers/oauth.ts"],"sourcesContent":["import type { ErrorResponse } from '@scalar/helpers/errors/normalize-error'\nimport { replaceEnvVariables, replacePathVariables } from '@scalar/helpers/regex/replace-variables'\nimport { isRelativePath } from '@scalar/helpers/url/is-relative-path'\nimport { makeUrlAbsolute } from '@scalar/helpers/url/make-url-absolute'\nimport { shouldUseProxy } from '@scalar/helpers/url/redirect-to-proxy'\nimport type { OAuthFlowsObjectSecret } from '@scalar/workspace-store/request-example'\nimport { getServerVariables } from '@scalar/workspace-store/request-example'\nimport type { ServerObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { encode, fromUint8Array } from 'js-base64'\n\n/** Oauth2 security schemes which are not implicit */\ntype NonImplicitFlows = Omit<OAuthFlowsObjectSecret, 'implicit'>\n\ntype PKCEState = {\n codeVerifier: string\n codeChallenge: string\n codeChallengeMethod: string\n}\n\nexport type OAuth2Tokens = {\n accessToken: string\n refreshToken?: string\n}\n\nconst getServerUrl = (activeServer: ServerObject | null, environmentVariables: Record<string, string> = {}) => {\n return replaceEnvVariables(\n replacePathVariables(activeServer?.url ?? '', getServerVariables(activeServer)),\n environmentVariables,\n )\n}\n\nconst getActiveServerBase = (activeServer: ServerObject | null, environmentVariables: Record<string, string> = {}) => {\n const serverUrl = getServerUrl(activeServer, environmentVariables)\n\n if (!serverUrl) {\n return {}\n }\n\n if (isRelativePath(serverUrl)) {\n return typeof window === 'undefined' ? {} : { basePath: serverUrl }\n }\n\n return { baseUrl: serverUrl }\n}\n\n/**\n * Generates a random string for PKCE code verifier\n *\n * @see https://www.rfc-editor.org/rfc/rfc7636#page-8\n */\nconst generateCodeVerifier = (): string => {\n // Generate 32 random bytes\n const buffer = new Uint8Array(32)\n crypto.getRandomValues(buffer)\n\n // Base64URL encode the bytes\n return fromUint8Array(buffer, true)\n}\n\n/**\n * Creates a code challenge from the code verifier\n */\nconst generateCodeChallenge = async (verifier: string, encoding: 'SHA-256' | 'plain'): Promise<string> => {\n if (encoding === 'plain') {\n return verifier\n }\n\n // If crypto.subtle.digest is not a function, we cannot use SHA-256\n if (typeof crypto?.subtle?.digest !== 'function') {\n console.warn('SHA-256 is only supported when using https, using a plain text code challenge instead.')\n return verifier\n }\n\n // ASCII encoding is just taking the lower 8 bits of each character\n const encoder = new TextEncoder()\n const data = encoder.encode(verifier)\n const digest = await crypto.subtle.digest('SHA-256', data)\n\n // Base64URL encode the bytes\n return fromUint8Array(new Uint8Array(digest), true)\n}\n\n/**\n * Authorize oauth2 flow\n *\n * @returns the resolved oauth2 tokens\n */\nexport const authorizeOauth2 = async (\n flows: OAuthFlowsObjectSecret,\n type: keyof OAuthFlowsObjectSecret,\n selectedScopes: string[],\n /** We use the active server to set a base for relative redirect uris */\n activeServer: ServerObject | null,\n /** If we want to use the proxy */\n proxyUrl: string,\n /** Flattened environment variables used to resolve server URL templates like `{protocol}` */\n environmentVariables: Record<string, string> = {},\n): Promise<ErrorResponse<OAuth2Tokens>> => {\n const flow = flows[type]\n\n try {\n if (!flow) {\n return [new Error('Flow not found'), null]\n }\n\n const scopes = selectedScopes.join(' ')\n\n // Client Credentials or Password Flow\n if (type === 'clientCredentials' || type === 'password') {\n return authorizeServers(\n flows,\n type,\n scopes,\n {\n proxyUrl,\n },\n activeServer,\n environmentVariables,\n )\n }\n\n // Generate a random state string with the length of 8 characters\n const state = (Math.random() + 1).toString(36).substring(2, 10)\n\n const authorizationUrl = makeUrlAbsolute(\n flows[type]!['x-scalar-secret-auth-url'] ?? flows[type]!.authorizationUrl,\n getActiveServerBase(activeServer, environmentVariables),\n )\n\n const url = new URL(authorizationUrl)\n\n /** Special PKCE state */\n let pkce: PKCEState | null = null\n\n // Params unique to the flows\n if (type === 'implicit') {\n url.searchParams.set('response_type', 'token')\n } else if (type === 'authorizationCode') {\n const typedFlow = flows[type]! // Safe to assert due to earlier check\n\n url.searchParams.set('response_type', 'code')\n\n // PKCE\n if (typedFlow['x-usePkce'] !== 'no') {\n const codeVerifier = generateCodeVerifier()\n const codeChallenge = await generateCodeChallenge(codeVerifier, typedFlow['x-usePkce'])\n\n // Set state for later verification\n pkce = {\n codeVerifier,\n codeChallenge,\n codeChallengeMethod: typedFlow['x-usePkce'] === 'SHA-256' ? 'S256' : 'plain',\n }\n\n // Set the code challenge and method on the url\n url.searchParams.set('code_challenge', codeChallenge)\n url.searchParams.set('code_challenge_method', pkce.codeChallengeMethod)\n }\n }\n\n const typedFlow = flows[type]! // Safe to assert due to earlier check\n\n // Handle relative redirect uris\n if (typedFlow['x-scalar-secret-redirect-uri'].startsWith('/')) {\n const baseUrl =\n getServerUrl(activeServer, environmentVariables) || window.location.origin + window.location.pathname\n const redirectUri = new URL(typedFlow['x-scalar-secret-redirect-uri'], baseUrl).toString()\n\n url.searchParams.set('redirect_uri', redirectUri)\n } else {\n url.searchParams.set('redirect_uri', typedFlow['x-scalar-secret-redirect-uri'])\n }\n\n if (flow['x-scalar-security-query']) {\n Object.keys(flow['x-scalar-security-query']).forEach((key: string): void => {\n const value = flow['x-scalar-security-query']?.[key]\n if (!value) {\n return\n }\n url.searchParams.set(key, value)\n })\n }\n\n // Common to all flows\n url.searchParams.set('client_id', flow['x-scalar-secret-client-id'])\n url.searchParams.set('state', state)\n if (scopes) {\n url.searchParams.set('scope', scopes)\n }\n\n const windowFeatures = 'left=100,top=100,width=800,height=600'\n const authWindow = window.open(url, 'openAuth2Window', windowFeatures)\n\n // Open up a window and poll until closed or we have the data we want\n if (authWindow) {\n // We need to return a promise here due to the setInterval\n return new Promise<ErrorResponse<OAuth2Tokens>>((resolve) => {\n const checkWindowClosed = setInterval(() => {\n let accessToken: string | null = null\n let refreshToken: string | null = null\n let code: string | null = null\n let error: string | null = null\n let errorDescription: string | null = null\n\n try {\n const urlParams = new URL(authWindow.location.href).searchParams\n const tokenName = flow['x-tokenName'] || 'access_token'\n accessToken = urlParams.get(tokenName)\n refreshToken = urlParams.get('refresh_token')\n code = urlParams.get('code')\n\n error = urlParams.get('error')\n errorDescription = urlParams.get('error_description')\n\n // We may get the properties in a hash\n const hashParams = new URLSearchParams(authWindow.location.href.split('#')[1])\n accessToken ||= hashParams.get(tokenName)\n refreshToken ||= hashParams.get('refresh_token')\n code ||= hashParams.get('code')\n error ||= hashParams.get('error')\n errorDescription ||= hashParams.get('error_description')\n } catch (_e) {\n // Ignore CORS error from popup\n }\n\n // The window has closed OR we have what we are looking for so we stop polling\n if (authWindow.closed || accessToken || code || error) {\n clearInterval(checkWindowClosed)\n authWindow.close()\n\n if (error) {\n resolve([new Error(`OAuth error: ${error}${errorDescription ? ` (${errorDescription})` : ''}`), null])\n }\n\n // Implicit Flow\n else if (accessToken) {\n // State is a hash fragment and cannot be found through search params\n const _state = authWindow.location.href.match(/state=([^&]*)/)?.[1]\n\n if (_state === state) {\n resolve([null, { accessToken, ...(refreshToken ? { refreshToken } : {}) }])\n } else {\n resolve([new Error('State mismatch'), null])\n }\n }\n\n // Authorization Code Server Flow\n else if (code && type === 'authorizationCode') {\n const _state = new URL(authWindow.location.href).searchParams.get('state')\n\n if (_state === state) {\n // biome-ignore lint/nursery/noFloatingPromises: output of authorizeServers must be returned\n authorizeServers(\n flows,\n type,\n scopes,\n {\n code,\n pkce,\n proxyUrl,\n },\n activeServer,\n environmentVariables,\n ).then(resolve)\n } else {\n resolve([new Error('State mismatch'), null])\n }\n }\n // User closed window without authorizing\n else {\n clearInterval(checkWindowClosed)\n resolve([new Error('Window was closed without granting authorization'), null])\n }\n }\n }, 200)\n })\n }\n return [new Error('Failed to open auth window'), null]\n } catch (_) {\n return [new Error('Failed to authorize oauth2 flow'), null]\n }\n}\n\n/**\n * Makes the BE authorization call to grab the token server to server\n * Used for clientCredentials and authorizationCode\n */\nconst authorizeServers = async (\n flows: NonImplicitFlows,\n type: keyof NonImplicitFlows,\n scopes: string,\n {\n code,\n pkce,\n proxyUrl,\n }: {\n code?: string\n pkce?: PKCEState | null\n proxyUrl?: string\n } = {},\n activeServer: ServerObject | null,\n environmentVariables: Record<string, string> = {},\n): Promise<ErrorResponse<OAuth2Tokens>> => {\n const flow = flows[type]\n\n if (!flow) {\n return [new Error('OAuth2 flow was not defined'), null]\n }\n\n const formData = new URLSearchParams()\n\n // Only client credentials and password flows support scopes in the token request\n if (scopes && (type === 'clientCredentials' || type === 'password')) {\n formData.set('scope', scopes)\n }\n\n /** Where to add the credentials */\n const addCredentialsToBody = flow['x-scalar-credentials-location'] === 'body'\n const hasClientSecret = Boolean(flow['x-scalar-secret-client-secret'])\n /**\n * Public authorization-code clients still need client_id in the token body.\n * We only send it implicitly for that case to avoid conflicting with Basic auth.\n */\n const shouldSendClientIdInBody = addCredentialsToBody || (type === 'authorizationCode' && !hasClientSecret)\n\n if (shouldSendClientIdInBody) {\n formData.set('client_id', flow['x-scalar-secret-client-id'])\n }\n if (addCredentialsToBody && hasClientSecret) {\n formData.set('client_secret', flow['x-scalar-secret-client-secret'])\n }\n if ('x-scalar-secret-redirect-uri' in flow && flow['x-scalar-secret-redirect-uri']) {\n formData.set('redirect_uri', flow['x-scalar-secret-redirect-uri'])\n }\n\n // Authorization Code\n if (code) {\n formData.set('code', code)\n formData.set('grant_type', 'authorization_code')\n\n // PKCE\n if (pkce) {\n formData.set('code_verifier', pkce.codeVerifier)\n }\n }\n // Password\n else if (type === 'password') {\n const typedFlow = flows[type]! // Safe to assert due to earlier check\n formData.set('grant_type', 'password')\n formData.set('username', typedFlow['x-scalar-secret-username'])\n formData.set('password', typedFlow['x-scalar-secret-password'])\n }\n // Client Credentials\n else {\n formData.set('grant_type', 'client_credentials')\n }\n\n // Additional request body parameters\n if (flow['x-scalar-security-body']) {\n Object.entries(flow['x-scalar-security-body']).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n formData.set(key, String(value))\n }\n })\n }\n\n try {\n const headers: Record<string, string> = {\n 'Content-Type': 'application/x-www-form-urlencoded',\n }\n\n // Add client id + secret to headers for confidential clients.\n if (!addCredentialsToBody && hasClientSecret) {\n headers.Authorization = `Basic ${encode(`${flow['x-scalar-secret-client-id']}:${flow['x-scalar-secret-client-secret']}`)}`\n }\n\n // Check if we should use the proxy\n const tokenUrl = makeUrlAbsolute(\n flow['x-scalar-secret-token-url'] ?? flow.tokenUrl,\n getActiveServerBase(activeServer, environmentVariables),\n )\n const url = shouldUseProxy(proxyUrl, tokenUrl)\n ? `${proxyUrl}?${new URLSearchParams([['scalar_url', tokenUrl]]).toString()}`\n : tokenUrl\n\n // Make the call\n const resp = await fetch(url, {\n method: 'POST',\n headers,\n body: formData,\n })\n const responseData = await resp.json()\n\n // Use custom token name if specified, otherwise default to access_token\n const tokenName = flow['x-tokenName'] || 'access_token'\n const accessToken = responseData[tokenName]\n const refreshToken = responseData.refresh_token\n\n return [null, { accessToken, ...(typeof refreshToken === 'string' ? { refreshToken } : {}) }]\n } catch {\n return [new Error('Failed to get an access token. Please check your credentials.'), null]\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { ApiClientConfiguration } from '@scalar/types/api-reference';
2
+ /**
3
+ * Resolve the default OAuth2 redirect URI.
4
+ *
5
+ * Priority:
6
+ * 1. Explicit oauth2RedirectUri config override.
7
+ * 2. Empty string in non-browser and file:// contexts.
8
+ * 3. Browser origin + pathname fallback.
9
+ */
10
+ export declare const resolveDefaultOAuth2RedirectUri: (config: Pick<ApiClientConfiguration, "oauth2RedirectUri">) => string;
11
+ //# sourceMappingURL=resolve-default-oauth2-redirect-url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-default-oauth2-redirect-url.d.ts","sourceRoot":"","sources":["../../../../../src/v2/blocks/scalar-auth-selector-block/helpers/resolve-default-oauth2-redirect-url.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAEzE;;;;;;;GAOG;AACH,eAAO,MAAM,+BAA+B,GAAI,QAAQ,IAAI,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,KAAG,MAU3G,CAAA"}
@@ -0,0 +1,18 @@
1
+ //#region src/v2/blocks/scalar-auth-selector-block/helpers/resolve-default-oauth2-redirect-url.ts
2
+ /**
3
+ * Resolve the default OAuth2 redirect URI.
4
+ *
5
+ * Priority:
6
+ * 1. Explicit oauth2RedirectUri config override.
7
+ * 2. Empty string in non-browser and file:// contexts.
8
+ * 3. Browser origin + pathname fallback.
9
+ */
10
+ var resolveDefaultOAuth2RedirectUri = (config) => {
11
+ if (config.oauth2RedirectUri) return config.oauth2RedirectUri;
12
+ if (typeof window === "undefined" || window.location.protocol === "file:") return "";
13
+ return window.location.origin + window.location.pathname;
14
+ };
15
+ //#endregion
16
+ export { resolveDefaultOAuth2RedirectUri };
17
+
18
+ //# sourceMappingURL=resolve-default-oauth2-redirect-url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-default-oauth2-redirect-url.js","names":[],"sources":["../../../../../src/v2/blocks/scalar-auth-selector-block/helpers/resolve-default-oauth2-redirect-url.ts"],"sourcesContent":["import type { ApiClientConfiguration } from '@scalar/types/api-reference'\n\n/**\n * Resolve the default OAuth2 redirect URI.\n *\n * Priority:\n * 1. Explicit oauth2RedirectUri config override.\n * 2. Empty string in non-browser and file:// contexts.\n * 3. Browser origin + pathname fallback.\n */\nexport const resolveDefaultOAuth2RedirectUri = (config: Pick<ApiClientConfiguration, 'oauth2RedirectUri'>): string => {\n if (config.oauth2RedirectUri) {\n return config.oauth2RedirectUri\n }\n\n if (typeof window === 'undefined' || window.location.protocol === 'file:') {\n return ''\n }\n\n return window.location.origin + window.location.pathname\n}\n"],"mappings":";;;;;;;;;AAUA,IAAa,mCAAmC,WAAsE;AACpH,KAAI,OAAO,kBACT,QAAO,OAAO;AAGhB,KAAI,OAAO,WAAW,eAAe,OAAO,SAAS,aAAa,QAChE,QAAO;AAGT,QAAO,OAAO,SAAS,SAAS,OAAO,SAAS"}
@@ -11,7 +11,8 @@ export type CodeInputModelValue = string | number | boolean | Array<string | num
11
11
  * - Select mode: Dropdown for enums, booleans, or examples
12
12
  * - Editor mode: CodeMirror with environment variable support
13
13
  *
14
- * Type `{{` to trigger environment variable autocomplete when an environment is provided.
14
+ * Type `{{` to trigger autocomplete for environment variables and runtime context functions
15
+ * (for example `{{$guid}}`) when an environment is provided.
15
16
  * It takes in any data but always will emit a string value,
16
17
  * this string should then be parsed in accordance to the schema or content type.
17
18
  *
@@ -102,7 +103,7 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
102
103
  cursorPosition: () => number | undefined;
103
104
  serializeValue: (value: CodeInputModelValue) => string;
104
105
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
105
- submit: (value: string, event: KeyboardEvent | FocusEvent) => any;
106
+ submit: (value: string, event: FocusEvent | KeyboardEvent) => any;
106
107
  "update:modelValue": (value: string) => any;
107
108
  blur: (value: string, event: FocusEvent) => any;
108
109
  navigate: (route: {
@@ -164,7 +165,7 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
164
165
  /** Put a linethrough on the input text */
165
166
  linethrough?: boolean;
166
167
  }> & Readonly<{
167
- onSubmit?: ((value: string, event: KeyboardEvent | FocusEvent) => any) | undefined;
168
+ onSubmit?: ((value: string, event: FocusEvent | KeyboardEvent) => any) | undefined;
168
169
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
169
170
  onBlur?: ((value: string, event: FocusEvent) => any) | undefined;
170
171
  onNavigate?: ((route: {
@@ -1 +1 @@
1
- {"version":3,"file":"CodeInput.vue.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/code-input/CodeInput.vue"],"names":[],"mappings":"AAiqBA,OAAO,EAIL,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACf,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2EAA2E,CAAA;AAEnH,OAAO,EAAyC,KAAK,GAAG,EAAE,MAAM,KAAK,CAAA;AAIrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAKrD,MAAM,MAAM,mBAAmB,GAC3B,MAAM,GACN,MAAM,GACN,OAAO,GACP,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAE3B;;;;;;;;;;;;;;;;;;;;;;;GAuBG;wBACkB,OAAO,YAAY;AAAxC,wBAAyC;AAKzC,QAAA,MAAM,YAAY;gBAEJ,mBAAmB;IAC/B,6FAA6F;iBAChF,kBAAkB,GAAG,SAAS;IAC3C,mEAAmE;WAC5D,MAAM,GAAG,MAAM,EAAE;IACxB,sCAAsC;eAC3B,OAAO;IAClB,yBAAyB;YACjB,OAAO;IACf,kDAAkD;aACzC,YAAY;IACrB,mDAAmD;WAC5C,MAAM,EAAE;IACf,2CAA2C;eAChC,MAAM,EAAE;IACnB,2CAA2C;;IAE3C,2CAA2C;eAChC,OAAO;IAClB,uCAAuC;kBACzB,MAAM;IACpB,8BAA8B;eACnB,OAAO;IAClB,oCAAoC;kBACtB,OAAO;IACrB,kCAAkC;kBACpB,OAAO;IACrB,qBAAqB;WACd,OAAO;IACd,2BAA2B;mBACZ,OAAO;IACtB,+BAA+B;eACpB,kBAAkB;IAC7B,uCAAuC;iBAC1B,SAAS,EAAE;IACxB,sCAAsC;uBACnB,OAAO;IAC1B,wBAAwB;mBACT,OAAO;IACtB,wCAAwC;2BACjB,OAAO;IAC9B,gCAAgC;iBACnB,OAAO;IACpB,wCAAwC;oBACxB,OAAO;IACvB,sDAAsD;uBACnC,OAAO;IAC1B,mDAAmD;wBAC/B,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;IAC3C,mDAAmD;wBAC/B,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;IAC3C,0CAA0C;kBAC5B,OAAO;;IA4QrB;;;;OAIG;uBACgB,OAAO,GAAG,KAAK,GAAG,MAAM;;0BA3LhB,MAAM,KAAG,IAAI;0BAiBjC,MAAM,SACN,aAAa,GAAG,UAAU,KAChC,IAAI;wBAWoB,MAAM,SAAS,UAAU,KAAG,IAAI;;;;;;;4BAuD5B,mBAAmB,KAAG,MAAM;;;;;;cAtI7B,UAAU;cAAQ,aAAa;;;gBAzF/C,mBAAmB;IAC/B,6FAA6F;iBAChF,kBAAkB,GAAG,SAAS;IAC3C,mEAAmE;WAC5D,MAAM,GAAG,MAAM,EAAE;IACxB,sCAAsC;eAC3B,OAAO;IAClB,yBAAyB;YACjB,OAAO;IACf,kDAAkD;aACzC,YAAY;IACrB,mDAAmD;WAC5C,MAAM,EAAE;IACf,2CAA2C;eAChC,MAAM,EAAE;IACnB,2CAA2C;;IAE3C,2CAA2C;eAChC,OAAO;IAClB,uCAAuC;kBACzB,MAAM;IACpB,8BAA8B;eACnB,OAAO;IAClB,oCAAoC;kBACtB,OAAO;IACrB,kCAAkC;kBACpB,OAAO;IACrB,qBAAqB;WACd,OAAO;IACd,2BAA2B;mBACZ,OAAO;IACtB,+BAA+B;eACpB,kBAAkB;IAC7B,uCAAuC;iBAC1B,SAAS,EAAE;IACxB,sCAAsC;uBACnB,OAAO;IAC1B,wBAAwB;mBACT,OAAO;IACtB,wCAAwC;2BACjB,OAAO;IAC9B,gCAAgC;iBACnB,OAAO;IACpB,wCAAwC;oBACxB,OAAO;IACvB,sDAAsD;uBACnC,OAAO;IAC1B,mDAAmD;wBAC/B,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;IAC3C,mDAAmD;wBAC/B,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;IAC3C,0CAA0C;kBAC5B,OAAO;;;;;;cAqCO,UAAU;cAAQ,aAAa;;;cA0mB/C,CAAC,KAAK,IAAiB,KAAK,GAAG;;WAClC,CAAC,KAAK,IAAiB,KAAK,GAAG;EAYtC,CAAC;AACL,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"CodeInput.vue.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/code-input/CodeInput.vue"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import CodeInput_vue_vue_type_script_setup_true_lang_default from "./CodeInput.v
3
3
  /* empty css */
4
4
  /* empty css */
5
5
  //#region src/v2/components/code-input/CodeInput.vue
6
- var CodeInput_default = /* @__PURE__ */ _plugin_vue_export_helper_default(CodeInput_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-3ac22ad4"]]);
6
+ var CodeInput_default = /* @__PURE__ */ _plugin_vue_export_helper_default(CodeInput_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-167b1bd5"]]);
7
7
  //#endregion
8
8
  export { CodeInput_default as default };
9
9
 
@@ -1 +1 @@
1
- {"version":3,"file":"CodeInput.vue.js","names":[],"sources":["../../../../src/v2/components/code-input/CodeInput.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type CodeInputModelValue =\n | string\n | number\n | boolean\n | Array<string | number | boolean>\n | Record<string, unknown>\n\n/**\n * CodeInput\n *\n * A versatile input component that adapts its rendering based on props:\n * - Disabled mode: Read-only text display\n * - Select mode: Dropdown for enums, booleans, or examples\n * - Editor mode: CodeMirror with environment variable support\n *\n * Type `{{` to trigger environment variable autocomplete when an environment is provided.\n * It takes in any data but always will emit a string value,\n * this string should then be parsed in accordance to the schema or content type.\n *\n * @example\n * ```vue\n * <!-- Basic input with environment variables -->\n * <CodeInput v-model=\"value\" :environment=\"env\" />\n *\n * <!-- Boolean select -->\n * <CodeInput v-model=\"flag\" type=\"boolean\" />\n *\n * <!-- JSON editor with linting -->\n * <CodeInput v-model=\"data\" language=\"json\" :lint=\"true\" />\n * ```\n */\nexport default {\n inheritAttrs: false,\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { isDefined } from '@scalar/helpers/array/is-defined'\nimport {\n colorPicker as colorPickerExtension,\n useCodeMirror,\n useDropdown,\n type CodeMirrorLanguage,\n type Extension,\n} from '@scalar/use-codemirror'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport { nanoid } from 'nanoid'\nimport { computed, ref, toRef, useAttrs, watch, type Ref } from 'vue'\n\nimport DataTableInputSelect from '@/v2/components/data-table/DataTableInputSelect.vue'\nimport EnvironmentVariableDropdown from '@/v2/features/environments/components/EnvironmentVariablesDropdown.vue'\nimport type { ClientLayout } from '@/v2/types/layout'\n\nimport { backspaceCommand, pillPlugin } from './code-variable-widget'\n\ntype Props = {\n modelValue: CodeInputModelValue\n /** Environment for variable substitution. Pass undefined to disable environment variables */\n environment: XScalarEnvironment | undefined\n /** Type of the input value, affects rendering mode for booleans */\n type?: string | string[]\n /** Render as disabled text display */\n disabled?: boolean\n /** Show error styling */\n error?: boolean\n /** Layout context affects styling and behavior */\n layout?: ClientLayout\n /** Predefined enum values, triggers select mode */\n enum?: string[]\n /** Example values, triggers select mode */\n examples?: string[]\n /** Default value to show in select mode */\n default?: Props['modelValue']\n /** Allow null in boolean select options */\n nullable?: boolean\n /** Placeholder text for empty input */\n placeholder?: string\n /** Show required indicator */\n required?: boolean\n /** Enable color picker extension */\n colorPicker?: boolean\n /** Show line numbers in editor */\n lineNumbers?: boolean\n /** Enable linting */\n lint?: boolean\n /** Enable line wrapping */\n lineWrapping?: boolean\n /** CodeMirror language mode */\n language?: CodeMirrorLanguage\n /** Additional CodeMirror extensions */\n extensions?: Extension[]\n /** Disable tab key for indentation */\n disableTabIndent?: boolean\n /** Disable enter key */\n disableEnter?: boolean\n /** Disable automatic bracket closing */\n disableCloseBrackets?: boolean\n /** Emit submit event on blur */\n emitOnBlur?: boolean\n /** Enable environment variable pills */\n withVariables?: boolean\n /** Emit change event even if the value is the same */\n alwaysEmitChange?: boolean\n /** Custom change handler, prevents default emit */\n handleFieldChange?: (value: string) => void\n /** Custom submit handler, prevents default emit */\n handleFieldSubmit?: (value: string) => void\n /** Put a linethrough on the input text */\n linethrough?: boolean\n}\n\nconst {\n modelValue,\n environment,\n type,\n disabled = false,\n error = false,\n layout = 'desktop',\n enum: enumProp,\n examples,\n default: defaultProp,\n nullable = false,\n placeholder,\n required,\n colorPicker = false,\n lineNumbers = false,\n lint = false,\n lineWrapping = false,\n language,\n extensions = [],\n disableTabIndent = false,\n disableEnter = false,\n disableCloseBrackets = false,\n emitOnBlur = true,\n alwaysEmitChange = false,\n withVariables = true,\n handleFieldChange,\n handleFieldSubmit,\n} = defineProps<Props>()\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: string]\n 'submit': [value: string, event: KeyboardEvent | FocusEvent]\n 'navigate': [route: { page: 'document'; path: 'environment' }]\n 'blur': [value: string, event: FocusEvent]\n}>()\n\n// ---------------------------------------------------------------------------\n// Component identity and focus state\n\nconst attrs = useAttrs() as { id?: string }\nconst componentId = attrs.id || `id-${nanoid()}`\nconst isFocused = ref(false)\n\n// ---------------------------------------------------------------------------\n// Rendering mode detection\n\n/**\n * Determines if we should render a select dropdown for boolean types.\n */\nconst isBooleanMode = computed((): boolean => {\n if (enumProp?.length) {\n return false\n }\n return type === 'boolean' || (Array.isArray(type) && type.includes('boolean'))\n})\n\n/**\n * Options for boolean select mode.\n */\nconst booleanOptions = computed((): string[] =>\n nullable ? ['true', 'false', 'null'] : ['true', 'false'],\n)\n\n/**\n * Default type when dealing with type arrays.\n * Finds the first non-null type.\n */\nconst defaultType = computed((): string | undefined => {\n if (Array.isArray(type)) {\n return type.find((t) => t !== 'null') ?? 'string'\n }\n return type\n})\n\n// ---------------------------------------------------------------------------\n// Event handlers\n\n/**\n * Handles value changes during typing.\n */\nconst handleChange = (value: string): void => {\n if (!alwaysEmitChange && value === serializeValue(modelValue)) {\n return\n }\n\n // Use custom handler or emit update\n if (handleFieldChange) {\n handleFieldChange(value)\n } else {\n emit('update:modelValue', value)\n }\n}\n\n/**\n * Handles form submission (enter key or blur with emitOnBlur).\n */\nconst handleSubmit = (\n value: string,\n event: KeyboardEvent | FocusEvent,\n): void => {\n if (handleFieldSubmit) {\n handleFieldSubmit(value)\n } else {\n emit('submit', value, event)\n }\n}\n\n/**\n * Handles input blur event.\n */\nconst handleBlur = (value: string, event: FocusEvent): void => {\n isFocused.value = false\n\n if (emitOnBlur && modelValue) {\n handleSubmit(value, event)\n }\n\n emit('blur', value, event)\n}\n\n/**\n * Handles model value updates from select components.\n */\nconst handleSelectChange = (value: string): void =>\n emit('update:modelValue', value)\n\n// ---------------------------------------------------------------------------\n// CodeMirror setup\n\n/**\n * Build extensions array.\n * Note: Extensions are not reactive after initialization.\n */\nconst buildExtensions = (): Extension[] => {\n const extensionsList: Extension[] = [...extensions]\n\n if (colorPicker) {\n extensionsList.push(colorPickerExtension)\n }\n\n return extensionsList\n}\n\n/**\n * Reactive pill plugin for environment variable visualization.\n */\nconst pillPluginExtension = computed(() =>\n pillPlugin({\n environment,\n isReadOnly: layout === 'modal',\n }),\n)\n\n/**\n * Combined extensions for CodeMirror.\n */\nconst codeMirrorExtensions = computed((): Extension[] => [\n ...buildExtensions(),\n pillPluginExtension.value,\n backspaceCommand,\n])\n\nconst codeMirrorRef: Ref<HTMLDivElement | null> = ref(null)\n\n/** Converts the model value to a string for CodeMirror */\nconst serializeValue = (value: CodeInputModelValue): string => {\n if (typeof value === 'string') {\n return value\n }\n return JSON.stringify(value)\n}\n\nconst { codeMirror, setCodeMirrorContent } = useCodeMirror({\n content: toRef(() => serializeValue(modelValue)),\n onChange: (value) => {\n handleChange(value)\n updateDropdownVisibility()\n },\n onFocus: () => {\n isFocused.value = true\n },\n onBlur: handleBlur,\n codeMirrorRef,\n disableTabIndent: toRef(() => disableTabIndent),\n disableEnter: toRef(() => disableEnter),\n disableCloseBrackets: toRef(() => disableCloseBrackets),\n lineNumbers: toRef(() => lineNumbers),\n language: toRef(() => language),\n lint: toRef(() => lint),\n extensions: codeMirrorExtensions,\n placeholder: toRef(() => placeholder),\n})\n\n/**\n * Handle autofocus attribute.\n */\nwatch(codeMirror, () => {\n if (codeMirror.value && Object.hasOwn(attrs, 'autofocus')) {\n codeMirror.value.focus()\n }\n})\n\n// ---------------------------------------------------------------------------\n// Environment variable dropdown\n\nconst showDropdown = ref(false)\nconst dropdownQuery = ref('')\nconst dropdownPosition = ref({ left: 0, top: 0 })\nconst dropdownRef = ref<InstanceType<\n typeof EnvironmentVariableDropdown\n> | null>(null)\n\nconst { handleDropdownSelect, updateDropdownVisibility } = useDropdown({\n codeMirror,\n query: dropdownQuery,\n showDropdown,\n dropdownPosition,\n})\n\n/**\n * Determines if the environment variable dropdown should be visible.\n */\nconst displayVariablesDropdown = computed((): boolean => {\n return (\n showDropdown.value &&\n withVariables &&\n layout !== 'modal' &&\n Boolean(environment)\n )\n})\n\n// ---------------------------------------------------------------------------\n// Keyboard event handling\n\n/**\n * Handles keyboard navigation for dropdown and form submission.\n */\nconst handleKeyDown = (key: string, event: KeyboardEvent): void => {\n if (showDropdown.value) {\n if (key === 'down' || key === 'up') {\n event.preventDefault()\n dropdownRef.value?.handleArrowKey(key)\n } else if (key === 'enter') {\n event.preventDefault()\n dropdownRef.value?.handleSelect()\n }\n return\n }\n\n if (key === 'escape' && !disableTabIndent) {\n event.stopPropagation()\n }\n\n if (key === 'enter' && event.target instanceof HTMLDivElement) {\n handleSubmit(event.target.textContent ?? '', event)\n }\n}\n\n// ---------------------------------------------------------------------------\n// Public API\n\ndefineExpose({\n /**\n * Focus the codemirror element\n *\n * @param cursorAtEnd boolean place the cursor at the end of the input\n */\n focus: (position?: 'start' | 'end' | number) => {\n if (!codeMirror.value) {\n return\n }\n codeMirror.value.focus()\n\n if (!isDefined(position)) {\n return\n }\n\n const anchor = (() => {\n if (position === 'start') {\n return 0\n }\n if (position === 'end') {\n return codeMirror.value.state.doc.length\n }\n return position\n })()\n\n // Move the cursor to the specified position\n codeMirror.value.dispatch({\n selection: { anchor },\n scrollIntoView: true,\n })\n },\n isFocused,\n handleChange,\n handleSubmit,\n handleBlur,\n booleanOptions,\n codeMirror,\n codeMirrorRef,\n modelValue,\n setCodeMirrorContent,\n cursorPosition: () => codeMirror.value?.state.selection.main.head,\n serializeValue,\n})\n</script>\n\n<template>\n <!-- Disabled mode: read-only text display -->\n <div\n v-if=\"disabled\"\n class=\"text-c-2 flex cursor-default items-center justify-center\"\n :class=\"{\n 'font-code pr-2 pl-1 text-base': layout === 'modal',\n 'px-2': layout !== 'modal',\n 'line-through': linethrough,\n }\"\n data-testid=\"code-input-disabled\">\n <span class=\"whitespace-nowrap\">{{ modelValue }}</span>\n </div>\n\n <!-- Enum mode: select dropdown with predefined values -->\n <DataTableInputSelect\n v-else-if=\"enumProp?.length\"\n :default=\"defaultProp\"\n :modelValue=\"modelValue\"\n :type=\"defaultType\"\n :value=\"enumProp\"\n @update:modelValue=\"handleSelectChange\" />\n\n <!-- Boolean mode: select dropdown with true/false (and optionally null) -->\n <DataTableInputSelect\n v-else-if=\"isBooleanMode\"\n :default=\"defaultProp\"\n :modelValue=\"modelValue\"\n :value=\"booleanOptions\"\n @update:modelValue=\"handleSelectChange\" />\n\n <!-- Examples mode: select dropdown with example values -->\n <DataTableInputSelect\n v-else-if=\"examples?.length\"\n :default=\"defaultProp\"\n :modelValue=\"modelValue\"\n :value=\"examples\"\n @update:modelValue=\"handleSelectChange\" />\n\n <!-- Editor mode: CodeMirror with environment variable support -->\n <div\n v-else\n :id=\"componentId\"\n v-bind=\"$attrs\"\n ref=\"codeMirrorRef\"\n class=\"group/input group-[.alert]:outline-orange group-[.error]:outline-red font-code peer relative w-full overflow-hidden text-xs leading-[1.44] whitespace-nowrap -outline-offset-1 has-[:focus-visible]:rounded-[4px] has-[:focus-visible]:outline\"\n :class=\"{\n 'line-wrapping has-[:focus-visible]:bg-b-1 has-[:focus-visible]:absolute has-[:focus-visible]:z-1':\n lineWrapping,\n 'flow-code-input--error': error,\n 'line-through': linethrough,\n }\"\n @keydown.down.stop=\"handleKeyDown('down', $event)\"\n @keydown.enter=\"handleKeyDown('enter', $event)\"\n @keydown.escape=\"handleKeyDown('escape', $event)\"\n @keydown.up.stop=\"handleKeyDown('up', $event)\">\n <!-- Tab exit hint (shown when focused) -->\n <div\n v-if=\"!disableTabIndent\"\n class=\"z-context text-c-2 absolute right-1.5 bottom-1 hidden font-sans group-has-[:focus-visible]/input:block\"\n role=\"alert\">\n Press\n <kbd class=\"-mx-0.25 rounded border px-0.5 font-mono\">Esc</kbd> then\n <kbd class=\"-mx-0.25 rounded border px-0.5 font-mono\">Tab</kbd> to exit\n </div>\n </div>\n\n <!-- Warning slot (positioned absolutely) -->\n <div\n v-if=\"$slots.warning\"\n class=\"centered-y text-orange absolute right-7 text-xs\">\n <slot name=\"warning\" />\n </div>\n\n <!-- Icon slot (positioned absolutely) -->\n <div\n v-if=\"$slots.icon\"\n class=\"centered-y absolute right-0 flex h-full items-center p-1.5 group-has-[.cm-focused]:z-1\">\n <slot name=\"icon\" />\n </div>\n\n <!-- Required indicator -->\n <div\n v-if=\"required\"\n class=\"required centered-y text-xxs text-c-3 group-[.error]:text-red bg-b-1 pointer-events-none absolute right-0 mr-0.5 pt-px pr-2 opacity-100 shadow-[-8px_0_4px_var(--scalar-background-1)] transition-opacity duration-150 group-[.alert]:bg-transparent group-[.alert]:shadow-none group-[.error]:bg-transparent group-[.error]:shadow-none peer-has-[.cm-focused]:opacity-0\">\n Required\n </div>\n\n <!-- Environment variable autocomplete dropdown -->\n <EnvironmentVariableDropdown\n v-if=\"displayVariablesDropdown && environment\"\n ref=\"dropdownRef\"\n :dropdownPosition=\"dropdownPosition\"\n :environment=\"environment\"\n :query=\"dropdownQuery\"\n @redirect=\"emit('navigate', { page: 'document', path: 'environment' })\"\n @select=\"handleDropdownSelect\" />\n</template>\n<style scoped>\n/*\n Deep styling for customizing Codemirror\n */\n:deep(.cm-editor) {\n height: 100%;\n outline: none;\n padding: 0;\n background: transparent;\n}\n:deep(.cm-placeholder) {\n color: var(--scalar-color-3);\n}\n:deep(.cm-content) {\n font-family: var(--scalar-font-code);\n font-size: var(--scalar-small);\n max-height: 20px;\n padding: 8px 0;\n}\n/* Tooltip helper */\n:deep(.cm-tooltip) {\n background: transparent !important;\n filter: brightness(var(--scalar-lifted-brightness));\n border-radius: var(--scalar-radius);\n box-shadow: var(--scalar-shadow-2);\n border: none !important;\n outline: none !important;\n overflow: hidden !important;\n}\n:deep(.cm-tooltip-autocomplete ul li) {\n padding: 3px 6px !important;\n}\n:deep(.cm-completionIcon-type:after) {\n color: var(--scalar-color-3) !important;\n}\n:deep(.cm-tooltip-autocomplete ul li[aria-selected]) {\n background: var(--scalar-background-2) !important;\n color: var(--scalar-color-1) !important;\n}\n:deep(.cm-tooltip-autocomplete ul) {\n padding: 6px !important;\n position: relative;\n}\n:deep(.cm-tooltip-autocomplete ul li:hover) {\n border-radius: 3px;\n color: var(--scalar-color-1) !important;\n background: var(--scalar-background-3) !important;\n}\n/* Disable active line highlighting */\n:deep(.cm-activeLine),\n:deep(.cm-activeLineGutter) {\n background-color: transparent;\n}\n/* Color selection matching */\n:deep(.cm-selectionMatch),\n:deep(.cm-matchingBracket) {\n border-radius: var(--scalar-radius);\n background: var(--scalar-background-4) !important;\n}\n/* Color Picker Swatches */\n:deep(.cm-css-color-picker-wrapper) {\n display: inline-flex;\n outline: 1px solid var(--scalar-background-3);\n border-radius: 3px;\n overflow: hidden;\n}\n/* Number gutter */\n:deep(.cm-gutters) {\n background-color: transparent;\n border-right: none;\n color: var(--scalar-color-3);\n font-size: var(--scalar-small);\n line-height: 22px;\n border-radius: 0 0 0 3px;\n}\n:deep(.cm-gutters:before) {\n content: '';\n position: absolute;\n top: 2px;\n left: 2px;\n width: calc(100% - 2px);\n height: calc(100% - 4px);\n border-radius: var(--scalar-radius) 0 0 var(--scalar-radius);\n background-color: var(--scalar-background-1);\n}\n:deep(.cm-gutterElement) {\n font-family: var(--scalar-font-code) !important;\n padding-left: 0px !important;\n padding-right: 6px !important;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n position: relative;\n}\n:deep(.cm-lineNumbers .cm-gutterElement) {\n min-width: fit-content;\n}\n:deep(.cm-gutter + .cm-gutter :not(.cm-foldGutter) .cm-gutterElement) {\n padding-left: 0 !important;\n}\n:deep(.cm-scroller) {\n overflow: auto;\n}\n.line-wrapping:focus-within :deep(.cm-content) {\n display: inline-table;\n min-height: fit-content;\n padding: 3px 6px;\n white-space: break-spaces;\n word-break: break-all;\n}\n</style>\n<style>\n.cm-pill {\n color: var(--scalar-color-1) !important;\n padding: 0px 9px;\n border-radius: 3px;\n display: inline-block;\n border-radius: 30px;\n font-size: var(--scalar-small);\n}\n.light-mode .cm-pill {\n background: var(--scalar-background-3) !important;\n}\n.dark-mode .cm-pill {\n background: color-mix(in srgb, var(--tw-bg-base), transparent 90%) !important;\n}\n.cm-pill:first-of-type {\n margin-left: 0;\n}\n.cm-editor .cm-widgetBuffer {\n display: none;\n}\n.cm-foldPlaceholder:hover {\n color: var(--scalar-color-1);\n}\n.cm-foldGutter .cm-gutterElement {\n font-size: var(--scalar-heading-4);\n padding: 2px !important;\n}\n.cm-foldGutter .cm-gutterElement:first-of-type {\n display: none;\n}\n.cm-foldGutter .cm-gutterElement .cm-foldMarker {\n padding: 2px;\n padding-top: 2px;\n}\n.cm-foldGutter .cm-gutterElement:hover .cm-foldMarker {\n background: var(--scalar-background-2);\n border-radius: var(--scalar-radius);\n color: var(--scalar-color-1);\n}\n</style>\n"],"mappings":""}
1
+ {"version":3,"file":"CodeInput.vue.js","names":[],"sources":["../../../../src/v2/components/code-input/CodeInput.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type CodeInputModelValue =\n | string\n | number\n | boolean\n | Array<string | number | boolean>\n | Record<string, unknown>\n\n/**\n * CodeInput\n *\n * A versatile input component that adapts its rendering based on props:\n * - Disabled mode: Read-only text display\n * - Select mode: Dropdown for enums, booleans, or examples\n * - Editor mode: CodeMirror with environment variable support\n *\n * Type `{{` to trigger autocomplete for environment variables and runtime context functions\n * (for example `{{$guid}}`) when an environment is provided.\n * It takes in any data but always will emit a string value,\n * this string should then be parsed in accordance to the schema or content type.\n *\n * @example\n * ```vue\n * <!-- Basic input with environment variables -->\n * <CodeInput v-model=\"value\" :environment=\"env\" />\n *\n * <!-- Boolean select -->\n * <CodeInput v-model=\"flag\" type=\"boolean\" />\n *\n * <!-- JSON editor with linting -->\n * <CodeInput v-model=\"data\" language=\"json\" :lint=\"true\" />\n * ```\n */\nexport default {\n inheritAttrs: false,\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { isDefined } from '@scalar/helpers/array/is-defined'\nimport {\n colorPicker as colorPickerExtension,\n useCodeMirror,\n useDropdown,\n type CodeMirrorLanguage,\n type Extension,\n} from '@scalar/use-codemirror'\nimport {\n CONTEXT_FUNCTION_NAMES,\n getContextFunctionComment,\n isContextFunctionName,\n} from '@scalar/workspace-store/request-example'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport { nanoid } from 'nanoid'\nimport { computed, ref, toRef, useAttrs, watch, type Ref } from 'vue'\n\nimport DataTableInputSelect from '@/v2/components/data-table/DataTableInputSelect.vue'\nimport EnvironmentVariableDropdown from '@/v2/features/environments/components/EnvironmentVariablesDropdown.vue'\nimport type { ClientLayout } from '@/v2/types/layout'\n\nimport { backspaceCommand, pillPlugin } from './code-variable-widget'\n\ntype Props = {\n modelValue: CodeInputModelValue\n /** Environment for variable substitution. Pass undefined to disable environment variables */\n environment: XScalarEnvironment | undefined\n /** Type of the input value, affects rendering mode for booleans */\n type?: string | string[]\n /** Render as disabled text display */\n disabled?: boolean\n /** Show error styling */\n error?: boolean\n /** Layout context affects styling and behavior */\n layout?: ClientLayout\n /** Predefined enum values, triggers select mode */\n enum?: string[]\n /** Example values, triggers select mode */\n examples?: string[]\n /** Default value to show in select mode */\n default?: Props['modelValue']\n /** Allow null in boolean select options */\n nullable?: boolean\n /** Placeholder text for empty input */\n placeholder?: string\n /** Show required indicator */\n required?: boolean\n /** Enable color picker extension */\n colorPicker?: boolean\n /** Show line numbers in editor */\n lineNumbers?: boolean\n /** Enable linting */\n lint?: boolean\n /** Enable line wrapping */\n lineWrapping?: boolean\n /** CodeMirror language mode */\n language?: CodeMirrorLanguage\n /** Additional CodeMirror extensions */\n extensions?: Extension[]\n /** Disable tab key for indentation */\n disableTabIndent?: boolean\n /** Disable enter key */\n disableEnter?: boolean\n /** Disable automatic bracket closing */\n disableCloseBrackets?: boolean\n /** Emit submit event on blur */\n emitOnBlur?: boolean\n /** Enable environment variable pills */\n withVariables?: boolean\n /** Emit change event even if the value is the same */\n alwaysEmitChange?: boolean\n /** Custom change handler, prevents default emit */\n handleFieldChange?: (value: string) => void\n /** Custom submit handler, prevents default emit */\n handleFieldSubmit?: (value: string) => void\n /** Put a linethrough on the input text */\n linethrough?: boolean\n}\n\nconst {\n modelValue,\n environment,\n type,\n disabled = false,\n error = false,\n layout = 'desktop',\n enum: enumProp,\n examples,\n default: defaultProp,\n nullable = false,\n placeholder,\n required,\n colorPicker = false,\n lineNumbers = false,\n lint = false,\n lineWrapping = false,\n language,\n extensions = [],\n disableTabIndent = false,\n disableEnter = false,\n disableCloseBrackets = false,\n emitOnBlur = true,\n alwaysEmitChange = false,\n withVariables = true,\n handleFieldChange,\n handleFieldSubmit,\n} = defineProps<Props>()\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: string]\n 'submit': [value: string, event: KeyboardEvent | FocusEvent]\n 'navigate': [route: { page: 'document'; path: 'environment' }]\n 'blur': [value: string, event: FocusEvent]\n}>()\n\n// ---------------------------------------------------------------------------\n// Component identity and focus state\n\nconst attrs = useAttrs() as { id?: string }\nconst componentId = attrs.id || `id-${nanoid()}`\nconst isFocused = ref(false)\n\n// ---------------------------------------------------------------------------\n// Rendering mode detection\n\n/**\n * Determines if we should render a select dropdown for boolean types.\n */\nconst isBooleanMode = computed((): boolean => {\n if (enumProp?.length) {\n return false\n }\n return type === 'boolean' || (Array.isArray(type) && type.includes('boolean'))\n})\n\n/**\n * Options for boolean select mode.\n */\nconst booleanOptions = computed((): string[] =>\n nullable ? ['true', 'false', 'null'] : ['true', 'false'],\n)\n\n/**\n * Default type when dealing with type arrays.\n * Finds the first non-null type.\n */\nconst defaultType = computed((): string | undefined => {\n if (Array.isArray(type)) {\n return type.find((t) => t !== 'null') ?? 'string'\n }\n return type\n})\n\n// ---------------------------------------------------------------------------\n// Event handlers\n\n/**\n * Handles value changes during typing.\n */\nconst handleChange = (value: string): void => {\n if (!alwaysEmitChange && value === serializeValue(modelValue)) {\n return\n }\n\n // Use custom handler or emit update\n if (handleFieldChange) {\n handleFieldChange(value)\n } else {\n emit('update:modelValue', value)\n }\n}\n\n/**\n * Handles form submission (enter key or blur with emitOnBlur).\n */\nconst handleSubmit = (\n value: string,\n event: KeyboardEvent | FocusEvent,\n): void => {\n if (handleFieldSubmit) {\n handleFieldSubmit(value)\n } else {\n emit('submit', value, event)\n }\n}\n\n/**\n * Handles input blur event.\n */\nconst handleBlur = (value: string, event: FocusEvent): void => {\n isFocused.value = false\n\n if (emitOnBlur && modelValue) {\n handleSubmit(value, event)\n }\n\n emit('blur', value, event)\n}\n\n/**\n * Handles model value updates from select components.\n */\nconst handleSelectChange = (value: string): void =>\n emit('update:modelValue', value)\n\n// ---------------------------------------------------------------------------\n// CodeMirror setup\n\n/**\n * Build extensions array.\n * Note: Extensions are not reactive after initialization.\n */\nconst buildExtensions = (): Extension[] => {\n const extensionsList: Extension[] = [...extensions]\n\n if (colorPicker) {\n extensionsList.push(colorPickerExtension)\n }\n\n return extensionsList\n}\n\n/**\n * Reactive pill plugin for environment variable visualization.\n */\nconst contextFunctionDropdownItems = computed(() =>\n CONTEXT_FUNCTION_NAMES.map((key) => ({\n key,\n description: getContextFunctionComment(key),\n })),\n)\n\nconst pillPluginExtension = computed(() =>\n pillPlugin({\n environment,\n isContextFunctionName,\n isReadOnly: layout === 'modal',\n }),\n)\n\n/**\n * Combined extensions for CodeMirror.\n */\nconst codeMirrorExtensions = computed((): Extension[] => [\n ...buildExtensions(),\n pillPluginExtension.value,\n backspaceCommand,\n])\n\nconst codeMirrorRef: Ref<HTMLDivElement | null> = ref(null)\n\n/** Converts the model value to a string for CodeMirror */\nconst serializeValue = (value: CodeInputModelValue): string => {\n if (typeof value === 'string') {\n return value\n }\n return JSON.stringify(value)\n}\n\nconst { codeMirror, setCodeMirrorContent } = useCodeMirror({\n content: toRef(() => serializeValue(modelValue)),\n onChange: (value) => {\n handleChange(value)\n updateDropdownVisibility()\n },\n onFocus: () => {\n isFocused.value = true\n },\n onBlur: handleBlur,\n codeMirrorRef,\n disableTabIndent: toRef(() => disableTabIndent),\n disableEnter: toRef(() => disableEnter),\n disableCloseBrackets: toRef(() => disableCloseBrackets),\n lineNumbers: toRef(() => lineNumbers),\n language: toRef(() => language),\n lint: toRef(() => lint),\n extensions: codeMirrorExtensions,\n placeholder: toRef(() => placeholder),\n})\n\n/**\n * Handle autofocus attribute.\n */\nwatch(codeMirror, () => {\n if (codeMirror.value && Object.hasOwn(attrs, 'autofocus')) {\n codeMirror.value.focus()\n }\n})\n\n// ---------------------------------------------------------------------------\n// Environment variable dropdown\n\nconst showDropdown = ref(false)\nconst dropdownQuery = ref('')\nconst dropdownPosition = ref({ left: 0, top: 0 })\nconst dropdownRef = ref<InstanceType<\n typeof EnvironmentVariableDropdown\n> | null>(null)\n\nconst { handleDropdownSelect, updateDropdownVisibility } = useDropdown({\n codeMirror,\n query: dropdownQuery,\n showDropdown,\n dropdownPosition,\n})\n\n/**\n * Determines if the environment variable dropdown should be visible.\n */\nconst displayVariablesDropdown = computed((): boolean => {\n return (\n showDropdown.value &&\n withVariables &&\n layout !== 'modal' &&\n Boolean(environment)\n )\n})\n\n// ---------------------------------------------------------------------------\n// Keyboard event handling\n\n/**\n * Handles keyboard navigation for dropdown and form submission.\n */\nconst handleKeyDown = (key: string, event: KeyboardEvent): void => {\n if (showDropdown.value) {\n if (key === 'down' || key === 'up') {\n event.preventDefault()\n dropdownRef.value?.handleArrowKey(key)\n } else if (key === 'enter') {\n event.preventDefault()\n dropdownRef.value?.handleSelect()\n }\n return\n }\n\n if (key === 'escape' && !disableTabIndent) {\n event.stopPropagation()\n }\n\n if (key === 'enter' && event.target instanceof HTMLDivElement) {\n handleSubmit(event.target.textContent ?? '', event)\n }\n}\n\n// ---------------------------------------------------------------------------\n// Public API\n\ndefineExpose({\n /**\n * Focus the codemirror element\n *\n * @param cursorAtEnd boolean place the cursor at the end of the input\n */\n focus: (position?: 'start' | 'end' | number) => {\n if (!codeMirror.value) {\n return\n }\n codeMirror.value.focus()\n\n if (!isDefined(position)) {\n return\n }\n\n const anchor = (() => {\n if (position === 'start') {\n return 0\n }\n if (position === 'end') {\n return codeMirror.value.state.doc.length\n }\n return position\n })()\n\n // Move the cursor to the specified position\n codeMirror.value.dispatch({\n selection: { anchor },\n scrollIntoView: true,\n })\n },\n isFocused,\n handleChange,\n handleSubmit,\n handleBlur,\n booleanOptions,\n codeMirror,\n codeMirrorRef,\n modelValue,\n setCodeMirrorContent,\n cursorPosition: () => codeMirror.value?.state.selection.main.head,\n serializeValue,\n})\n</script>\n\n<template>\n <!-- Disabled mode: read-only text display -->\n <div\n v-if=\"disabled\"\n class=\"text-c-2 flex cursor-default items-center justify-center\"\n :class=\"{\n 'font-code pr-2 pl-1 text-base': layout === 'modal',\n 'px-2': layout !== 'modal',\n 'line-through': linethrough,\n }\"\n data-testid=\"code-input-disabled\">\n <span class=\"whitespace-nowrap\">{{ modelValue }}</span>\n </div>\n\n <!-- Enum mode: select dropdown with predefined values -->\n <DataTableInputSelect\n v-else-if=\"enumProp?.length\"\n :default=\"defaultProp\"\n :modelValue=\"modelValue\"\n :type=\"defaultType\"\n :value=\"enumProp\"\n @update:modelValue=\"handleSelectChange\" />\n\n <!-- Boolean mode: select dropdown with true/false (and optionally null) -->\n <DataTableInputSelect\n v-else-if=\"isBooleanMode\"\n :default=\"defaultProp\"\n :modelValue=\"modelValue\"\n :value=\"booleanOptions\"\n @update:modelValue=\"handleSelectChange\" />\n\n <!-- Examples mode: select dropdown with example values -->\n <DataTableInputSelect\n v-else-if=\"examples?.length\"\n :default=\"defaultProp\"\n :modelValue=\"modelValue\"\n :value=\"examples\"\n @update:modelValue=\"handleSelectChange\" />\n\n <!-- Editor mode: CodeMirror with environment variable support -->\n <div\n v-else\n :id=\"componentId\"\n v-bind=\"$attrs\"\n ref=\"codeMirrorRef\"\n class=\"group/input group-[.alert]:outline-orange group-[.error]:outline-red font-code peer relative w-full overflow-hidden text-xs leading-[1.44] whitespace-nowrap -outline-offset-1 has-[:focus-visible]:rounded-[4px] has-[:focus-visible]:outline\"\n :class=\"{\n 'line-wrapping has-[:focus-visible]:bg-b-1 has-[:focus-visible]:absolute has-[:focus-visible]:z-1':\n lineWrapping,\n 'flow-code-input--error': error,\n 'line-through': linethrough,\n }\"\n @keydown.down.stop=\"handleKeyDown('down', $event)\"\n @keydown.enter=\"handleKeyDown('enter', $event)\"\n @keydown.escape=\"handleKeyDown('escape', $event)\"\n @keydown.up.stop=\"handleKeyDown('up', $event)\">\n <!-- Tab exit hint (shown when focused) -->\n <div\n v-if=\"!disableTabIndent\"\n class=\"z-context text-c-2 absolute right-1.5 bottom-1 hidden font-sans group-has-[:focus-visible]/input:block\"\n role=\"alert\">\n Press\n <kbd class=\"-mx-0.25 rounded border px-0.5 font-mono\">Esc</kbd> then\n <kbd class=\"-mx-0.25 rounded border px-0.5 font-mono\">Tab</kbd> to exit\n </div>\n </div>\n\n <!-- Warning slot (positioned absolutely) -->\n <div\n v-if=\"$slots.warning\"\n class=\"centered-y text-orange absolute right-7 text-xs\">\n <slot name=\"warning\" />\n </div>\n\n <!-- Icon slot (positioned absolutely) -->\n <div\n v-if=\"$slots.icon\"\n class=\"centered-y absolute right-0 flex h-full items-center p-1.5 group-has-[.cm-focused]:z-1\">\n <slot name=\"icon\" />\n </div>\n\n <!-- Required indicator -->\n <div\n v-if=\"required\"\n class=\"required centered-y text-xxs text-c-3 group-[.error]:text-red bg-b-1 pointer-events-none absolute right-0 mr-0.5 pt-px pr-2 opacity-100 shadow-[-8px_0_4px_var(--scalar-background-1)] transition-opacity duration-150 group-[.alert]:bg-transparent group-[.alert]:shadow-none group-[.error]:bg-transparent group-[.error]:shadow-none peer-has-[.cm-focused]:opacity-0\">\n Required\n </div>\n\n <!-- Environment variable autocomplete dropdown -->\n <EnvironmentVariableDropdown\n v-if=\"displayVariablesDropdown && environment\"\n ref=\"dropdownRef\"\n :contextFunctionItems=\"contextFunctionDropdownItems\"\n :dropdownPosition=\"dropdownPosition\"\n :environment=\"environment\"\n :query=\"dropdownQuery\"\n @redirect=\"emit('navigate', { page: 'document', path: 'environment' })\"\n @select=\"handleDropdownSelect\" />\n</template>\n<style scoped>\n/*\n Deep styling for customizing Codemirror\n */\n:deep(.cm-editor) {\n height: 100%;\n outline: none;\n padding: 0;\n background: transparent;\n}\n:deep(.cm-placeholder) {\n color: var(--scalar-color-3);\n}\n:deep(.cm-content) {\n font-family: var(--scalar-font-code);\n font-size: var(--scalar-small);\n max-height: 20px;\n padding: 8px 0;\n}\n/* Tooltip helper */\n:deep(.cm-tooltip) {\n background: transparent !important;\n filter: brightness(var(--scalar-lifted-brightness));\n border-radius: var(--scalar-radius);\n box-shadow: var(--scalar-shadow-2);\n border: none !important;\n outline: none !important;\n overflow: hidden !important;\n}\n:deep(.cm-tooltip-autocomplete ul li) {\n padding: 3px 6px !important;\n}\n:deep(.cm-completionIcon-type:after) {\n color: var(--scalar-color-3) !important;\n}\n:deep(.cm-tooltip-autocomplete ul li[aria-selected]) {\n background: var(--scalar-background-2) !important;\n color: var(--scalar-color-1) !important;\n}\n:deep(.cm-tooltip-autocomplete ul) {\n padding: 6px !important;\n position: relative;\n}\n:deep(.cm-tooltip-autocomplete ul li:hover) {\n border-radius: 3px;\n color: var(--scalar-color-1) !important;\n background: var(--scalar-background-3) !important;\n}\n/* Disable active line highlighting */\n:deep(.cm-activeLine),\n:deep(.cm-activeLineGutter) {\n background-color: transparent;\n}\n/* Color selection matching */\n:deep(.cm-selectionMatch),\n:deep(.cm-matchingBracket) {\n border-radius: var(--scalar-radius);\n background: var(--scalar-background-4) !important;\n}\n/* Color Picker Swatches */\n:deep(.cm-css-color-picker-wrapper) {\n display: inline-flex;\n outline: 1px solid var(--scalar-background-3);\n border-radius: 3px;\n overflow: hidden;\n}\n/* Number gutter */\n:deep(.cm-gutters) {\n background-color: transparent;\n border-right: none;\n color: var(--scalar-color-3);\n font-size: var(--scalar-small);\n line-height: 22px;\n border-radius: 0 0 0 3px;\n}\n:deep(.cm-gutters:before) {\n content: '';\n position: absolute;\n top: 2px;\n left: 2px;\n width: calc(100% - 2px);\n height: calc(100% - 4px);\n border-radius: var(--scalar-radius) 0 0 var(--scalar-radius);\n background-color: var(--scalar-background-1);\n}\n:deep(.cm-gutterElement) {\n font-family: var(--scalar-font-code) !important;\n padding-left: 0px !important;\n padding-right: 6px !important;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n position: relative;\n}\n:deep(.cm-lineNumbers .cm-gutterElement) {\n min-width: fit-content;\n}\n:deep(.cm-gutter + .cm-gutter :not(.cm-foldGutter) .cm-gutterElement) {\n padding-left: 0 !important;\n}\n:deep(.cm-scroller) {\n overflow: auto;\n}\n.line-wrapping:focus-within :deep(.cm-content) {\n display: inline-table;\n min-height: fit-content;\n padding: 3px 6px;\n white-space: break-spaces;\n word-break: break-all;\n}\n</style>\n<style>\n.cm-pill {\n color: var(--scalar-color-1) !important;\n padding: 0px 9px;\n border-radius: 3px;\n display: inline-block;\n border-radius: 30px;\n font-size: var(--scalar-small);\n}\n.light-mode .cm-pill {\n background: var(--scalar-background-3) !important;\n}\n.dark-mode .cm-pill {\n background: color-mix(in srgb, var(--tw-bg-base), transparent 90%) !important;\n}\n.cm-pill--context-fn {\n border: 1px dashed color-mix(in srgb, var(--scalar-color-3), transparent 35%);\n padding: 0px 8px;\n}\n.light-mode .cm-pill--context-fn {\n background: color-mix(\n in srgb,\n var(--scalar-background-3),\n transparent 40%\n ) !important;\n}\n.dark-mode .cm-pill--context-fn {\n background: color-mix(\n in srgb,\n var(--scalar-background-3),\n transparent 55%\n ) !important;\n}\n.cm-pill:first-of-type {\n margin-left: 0;\n}\n.cm-editor .cm-widgetBuffer {\n display: none;\n}\n.cm-foldPlaceholder:hover {\n color: var(--scalar-color-1);\n}\n.cm-foldGutter .cm-gutterElement {\n font-size: var(--scalar-heading-4);\n padding: 2px !important;\n}\n.cm-foldGutter .cm-gutterElement:first-of-type {\n display: none;\n}\n.cm-foldGutter .cm-gutterElement .cm-foldMarker {\n padding: 2px;\n padding-top: 2px;\n}\n.cm-foldGutter .cm-gutterElement:hover .cm-foldMarker {\n background: var(--scalar-background-2);\n border-radius: var(--scalar-radius);\n color: var(--scalar-color-1);\n}\n</style>\n"],"mappings":""}
@@ -2,6 +2,7 @@ import DataTableInputSelect_default from "../data-table/DataTableInputSelect.vue
2
2
  import EnvironmentVariablesDropdown_default from "../../features/environments/components/EnvironmentVariablesDropdown.vue.js";
3
3
  import { backspaceCommand, pillPlugin } from "./code-variable-widget.js";
4
4
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, defineComponent, mergeProps, normalizeClass, openBlock, ref, renderSlot, toDisplayString, toRef, unref, useAttrs, watch, withKeys, withModifiers } from "vue";
5
+ import { CONTEXT_FUNCTION_NAMES, getContextFunctionComment, isContextFunctionName } from "@scalar/workspace-store/request-example";
5
6
  import { isDefined } from "@scalar/helpers/array/is-defined";
6
7
  import { colorPicker, useCodeMirror, useDropdown } from "@scalar/use-codemirror";
7
8
  import { nanoid } from "nanoid";
@@ -181,8 +182,13 @@ var CodeInput_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
181
182
  /**
182
183
  * Reactive pill plugin for environment variable visualization.
183
184
  */
185
+ const contextFunctionDropdownItems = computed(() => CONTEXT_FUNCTION_NAMES.map((key) => ({
186
+ key,
187
+ description: getContextFunctionComment(key)
188
+ })));
184
189
  const pillPluginExtension = computed(() => pillPlugin({
185
190
  environment: __props.environment,
191
+ isContextFunctionName,
186
192
  isReadOnly: __props.layout === "modal"
187
193
  }));
188
194
  /**
@@ -361,6 +367,7 @@ var CodeInput_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
361
367
  key: 8,
362
368
  ref_key: "dropdownRef",
363
369
  ref: dropdownRef,
370
+ contextFunctionItems: contextFunctionDropdownItems.value,
364
371
  dropdownPosition: dropdownPosition.value,
365
372
  environment: __props.environment,
366
373
  query: dropdownQuery.value,
@@ -370,6 +377,7 @@ var CodeInput_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
370
377
  })),
371
378
  onSelect: unref(handleDropdownSelect)
372
379
  }, null, 8, [
380
+ "contextFunctionItems",
373
381
  "dropdownPosition",
374
382
  "environment",
375
383
  "query",
@@ -1 +1 @@
1
- {"version":3,"file":"CodeInput.vue.script.js","names":["$attrs","$slots"],"sources":["../../../../src/v2/components/code-input/CodeInput.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type CodeInputModelValue =\n | string\n | number\n | boolean\n | Array<string | number | boolean>\n | Record<string, unknown>\n\n/**\n * CodeInput\n *\n * A versatile input component that adapts its rendering based on props:\n * - Disabled mode: Read-only text display\n * - Select mode: Dropdown for enums, booleans, or examples\n * - Editor mode: CodeMirror with environment variable support\n *\n * Type `{{` to trigger environment variable autocomplete when an environment is provided.\n * It takes in any data but always will emit a string value,\n * this string should then be parsed in accordance to the schema or content type.\n *\n * @example\n * ```vue\n * <!-- Basic input with environment variables -->\n * <CodeInput v-model=\"value\" :environment=\"env\" />\n *\n * <!-- Boolean select -->\n * <CodeInput v-model=\"flag\" type=\"boolean\" />\n *\n * <!-- JSON editor with linting -->\n * <CodeInput v-model=\"data\" language=\"json\" :lint=\"true\" />\n * ```\n */\nexport default {\n inheritAttrs: false,\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { isDefined } from '@scalar/helpers/array/is-defined'\nimport {\n colorPicker as colorPickerExtension,\n useCodeMirror,\n useDropdown,\n type CodeMirrorLanguage,\n type Extension,\n} from '@scalar/use-codemirror'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport { nanoid } from 'nanoid'\nimport { computed, ref, toRef, useAttrs, watch, type Ref } from 'vue'\n\nimport DataTableInputSelect from '@/v2/components/data-table/DataTableInputSelect.vue'\nimport EnvironmentVariableDropdown from '@/v2/features/environments/components/EnvironmentVariablesDropdown.vue'\nimport type { ClientLayout } from '@/v2/types/layout'\n\nimport { backspaceCommand, pillPlugin } from './code-variable-widget'\n\ntype Props = {\n modelValue: CodeInputModelValue\n /** Environment for variable substitution. Pass undefined to disable environment variables */\n environment: XScalarEnvironment | undefined\n /** Type of the input value, affects rendering mode for booleans */\n type?: string | string[]\n /** Render as disabled text display */\n disabled?: boolean\n /** Show error styling */\n error?: boolean\n /** Layout context affects styling and behavior */\n layout?: ClientLayout\n /** Predefined enum values, triggers select mode */\n enum?: string[]\n /** Example values, triggers select mode */\n examples?: string[]\n /** Default value to show in select mode */\n default?: Props['modelValue']\n /** Allow null in boolean select options */\n nullable?: boolean\n /** Placeholder text for empty input */\n placeholder?: string\n /** Show required indicator */\n required?: boolean\n /** Enable color picker extension */\n colorPicker?: boolean\n /** Show line numbers in editor */\n lineNumbers?: boolean\n /** Enable linting */\n lint?: boolean\n /** Enable line wrapping */\n lineWrapping?: boolean\n /** CodeMirror language mode */\n language?: CodeMirrorLanguage\n /** Additional CodeMirror extensions */\n extensions?: Extension[]\n /** Disable tab key for indentation */\n disableTabIndent?: boolean\n /** Disable enter key */\n disableEnter?: boolean\n /** Disable automatic bracket closing */\n disableCloseBrackets?: boolean\n /** Emit submit event on blur */\n emitOnBlur?: boolean\n /** Enable environment variable pills */\n withVariables?: boolean\n /** Emit change event even if the value is the same */\n alwaysEmitChange?: boolean\n /** Custom change handler, prevents default emit */\n handleFieldChange?: (value: string) => void\n /** Custom submit handler, prevents default emit */\n handleFieldSubmit?: (value: string) => void\n /** Put a linethrough on the input text */\n linethrough?: boolean\n}\n\nconst {\n modelValue,\n environment,\n type,\n disabled = false,\n error = false,\n layout = 'desktop',\n enum: enumProp,\n examples,\n default: defaultProp,\n nullable = false,\n placeholder,\n required,\n colorPicker = false,\n lineNumbers = false,\n lint = false,\n lineWrapping = false,\n language,\n extensions = [],\n disableTabIndent = false,\n disableEnter = false,\n disableCloseBrackets = false,\n emitOnBlur = true,\n alwaysEmitChange = false,\n withVariables = true,\n handleFieldChange,\n handleFieldSubmit,\n} = defineProps<Props>()\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: string]\n 'submit': [value: string, event: KeyboardEvent | FocusEvent]\n 'navigate': [route: { page: 'document'; path: 'environment' }]\n 'blur': [value: string, event: FocusEvent]\n}>()\n\n// ---------------------------------------------------------------------------\n// Component identity and focus state\n\nconst attrs = useAttrs() as { id?: string }\nconst componentId = attrs.id || `id-${nanoid()}`\nconst isFocused = ref(false)\n\n// ---------------------------------------------------------------------------\n// Rendering mode detection\n\n/**\n * Determines if we should render a select dropdown for boolean types.\n */\nconst isBooleanMode = computed((): boolean => {\n if (enumProp?.length) {\n return false\n }\n return type === 'boolean' || (Array.isArray(type) && type.includes('boolean'))\n})\n\n/**\n * Options for boolean select mode.\n */\nconst booleanOptions = computed((): string[] =>\n nullable ? ['true', 'false', 'null'] : ['true', 'false'],\n)\n\n/**\n * Default type when dealing with type arrays.\n * Finds the first non-null type.\n */\nconst defaultType = computed((): string | undefined => {\n if (Array.isArray(type)) {\n return type.find((t) => t !== 'null') ?? 'string'\n }\n return type\n})\n\n// ---------------------------------------------------------------------------\n// Event handlers\n\n/**\n * Handles value changes during typing.\n */\nconst handleChange = (value: string): void => {\n if (!alwaysEmitChange && value === serializeValue(modelValue)) {\n return\n }\n\n // Use custom handler or emit update\n if (handleFieldChange) {\n handleFieldChange(value)\n } else {\n emit('update:modelValue', value)\n }\n}\n\n/**\n * Handles form submission (enter key or blur with emitOnBlur).\n */\nconst handleSubmit = (\n value: string,\n event: KeyboardEvent | FocusEvent,\n): void => {\n if (handleFieldSubmit) {\n handleFieldSubmit(value)\n } else {\n emit('submit', value, event)\n }\n}\n\n/**\n * Handles input blur event.\n */\nconst handleBlur = (value: string, event: FocusEvent): void => {\n isFocused.value = false\n\n if (emitOnBlur && modelValue) {\n handleSubmit(value, event)\n }\n\n emit('blur', value, event)\n}\n\n/**\n * Handles model value updates from select components.\n */\nconst handleSelectChange = (value: string): void =>\n emit('update:modelValue', value)\n\n// ---------------------------------------------------------------------------\n// CodeMirror setup\n\n/**\n * Build extensions array.\n * Note: Extensions are not reactive after initialization.\n */\nconst buildExtensions = (): Extension[] => {\n const extensionsList: Extension[] = [...extensions]\n\n if (colorPicker) {\n extensionsList.push(colorPickerExtension)\n }\n\n return extensionsList\n}\n\n/**\n * Reactive pill plugin for environment variable visualization.\n */\nconst pillPluginExtension = computed(() =>\n pillPlugin({\n environment,\n isReadOnly: layout === 'modal',\n }),\n)\n\n/**\n * Combined extensions for CodeMirror.\n */\nconst codeMirrorExtensions = computed((): Extension[] => [\n ...buildExtensions(),\n pillPluginExtension.value,\n backspaceCommand,\n])\n\nconst codeMirrorRef: Ref<HTMLDivElement | null> = ref(null)\n\n/** Converts the model value to a string for CodeMirror */\nconst serializeValue = (value: CodeInputModelValue): string => {\n if (typeof value === 'string') {\n return value\n }\n return JSON.stringify(value)\n}\n\nconst { codeMirror, setCodeMirrorContent } = useCodeMirror({\n content: toRef(() => serializeValue(modelValue)),\n onChange: (value) => {\n handleChange(value)\n updateDropdownVisibility()\n },\n onFocus: () => {\n isFocused.value = true\n },\n onBlur: handleBlur,\n codeMirrorRef,\n disableTabIndent: toRef(() => disableTabIndent),\n disableEnter: toRef(() => disableEnter),\n disableCloseBrackets: toRef(() => disableCloseBrackets),\n lineNumbers: toRef(() => lineNumbers),\n language: toRef(() => language),\n lint: toRef(() => lint),\n extensions: codeMirrorExtensions,\n placeholder: toRef(() => placeholder),\n})\n\n/**\n * Handle autofocus attribute.\n */\nwatch(codeMirror, () => {\n if (codeMirror.value && Object.hasOwn(attrs, 'autofocus')) {\n codeMirror.value.focus()\n }\n})\n\n// ---------------------------------------------------------------------------\n// Environment variable dropdown\n\nconst showDropdown = ref(false)\nconst dropdownQuery = ref('')\nconst dropdownPosition = ref({ left: 0, top: 0 })\nconst dropdownRef = ref<InstanceType<\n typeof EnvironmentVariableDropdown\n> | null>(null)\n\nconst { handleDropdownSelect, updateDropdownVisibility } = useDropdown({\n codeMirror,\n query: dropdownQuery,\n showDropdown,\n dropdownPosition,\n})\n\n/**\n * Determines if the environment variable dropdown should be visible.\n */\nconst displayVariablesDropdown = computed((): boolean => {\n return (\n showDropdown.value &&\n withVariables &&\n layout !== 'modal' &&\n Boolean(environment)\n )\n})\n\n// ---------------------------------------------------------------------------\n// Keyboard event handling\n\n/**\n * Handles keyboard navigation for dropdown and form submission.\n */\nconst handleKeyDown = (key: string, event: KeyboardEvent): void => {\n if (showDropdown.value) {\n if (key === 'down' || key === 'up') {\n event.preventDefault()\n dropdownRef.value?.handleArrowKey(key)\n } else if (key === 'enter') {\n event.preventDefault()\n dropdownRef.value?.handleSelect()\n }\n return\n }\n\n if (key === 'escape' && !disableTabIndent) {\n event.stopPropagation()\n }\n\n if (key === 'enter' && event.target instanceof HTMLDivElement) {\n handleSubmit(event.target.textContent ?? '', event)\n }\n}\n\n// ---------------------------------------------------------------------------\n// Public API\n\ndefineExpose({\n /**\n * Focus the codemirror element\n *\n * @param cursorAtEnd boolean place the cursor at the end of the input\n */\n focus: (position?: 'start' | 'end' | number) => {\n if (!codeMirror.value) {\n return\n }\n codeMirror.value.focus()\n\n if (!isDefined(position)) {\n return\n }\n\n const anchor = (() => {\n if (position === 'start') {\n return 0\n }\n if (position === 'end') {\n return codeMirror.value.state.doc.length\n }\n return position\n })()\n\n // Move the cursor to the specified position\n codeMirror.value.dispatch({\n selection: { anchor },\n scrollIntoView: true,\n })\n },\n isFocused,\n handleChange,\n handleSubmit,\n handleBlur,\n booleanOptions,\n codeMirror,\n codeMirrorRef,\n modelValue,\n setCodeMirrorContent,\n cursorPosition: () => codeMirror.value?.state.selection.main.head,\n serializeValue,\n})\n</script>\n\n<template>\n <!-- Disabled mode: read-only text display -->\n <div\n v-if=\"disabled\"\n class=\"text-c-2 flex cursor-default items-center justify-center\"\n :class=\"{\n 'font-code pr-2 pl-1 text-base': layout === 'modal',\n 'px-2': layout !== 'modal',\n 'line-through': linethrough,\n }\"\n data-testid=\"code-input-disabled\">\n <span class=\"whitespace-nowrap\">{{ modelValue }}</span>\n </div>\n\n <!-- Enum mode: select dropdown with predefined values -->\n <DataTableInputSelect\n v-else-if=\"enumProp?.length\"\n :default=\"defaultProp\"\n :modelValue=\"modelValue\"\n :type=\"defaultType\"\n :value=\"enumProp\"\n @update:modelValue=\"handleSelectChange\" />\n\n <!-- Boolean mode: select dropdown with true/false (and optionally null) -->\n <DataTableInputSelect\n v-else-if=\"isBooleanMode\"\n :default=\"defaultProp\"\n :modelValue=\"modelValue\"\n :value=\"booleanOptions\"\n @update:modelValue=\"handleSelectChange\" />\n\n <!-- Examples mode: select dropdown with example values -->\n <DataTableInputSelect\n v-else-if=\"examples?.length\"\n :default=\"defaultProp\"\n :modelValue=\"modelValue\"\n :value=\"examples\"\n @update:modelValue=\"handleSelectChange\" />\n\n <!-- Editor mode: CodeMirror with environment variable support -->\n <div\n v-else\n :id=\"componentId\"\n v-bind=\"$attrs\"\n ref=\"codeMirrorRef\"\n class=\"group/input group-[.alert]:outline-orange group-[.error]:outline-red font-code peer relative w-full overflow-hidden text-xs leading-[1.44] whitespace-nowrap -outline-offset-1 has-[:focus-visible]:rounded-[4px] has-[:focus-visible]:outline\"\n :class=\"{\n 'line-wrapping has-[:focus-visible]:bg-b-1 has-[:focus-visible]:absolute has-[:focus-visible]:z-1':\n lineWrapping,\n 'flow-code-input--error': error,\n 'line-through': linethrough,\n }\"\n @keydown.down.stop=\"handleKeyDown('down', $event)\"\n @keydown.enter=\"handleKeyDown('enter', $event)\"\n @keydown.escape=\"handleKeyDown('escape', $event)\"\n @keydown.up.stop=\"handleKeyDown('up', $event)\">\n <!-- Tab exit hint (shown when focused) -->\n <div\n v-if=\"!disableTabIndent\"\n class=\"z-context text-c-2 absolute right-1.5 bottom-1 hidden font-sans group-has-[:focus-visible]/input:block\"\n role=\"alert\">\n Press\n <kbd class=\"-mx-0.25 rounded border px-0.5 font-mono\">Esc</kbd> then\n <kbd class=\"-mx-0.25 rounded border px-0.5 font-mono\">Tab</kbd> to exit\n </div>\n </div>\n\n <!-- Warning slot (positioned absolutely) -->\n <div\n v-if=\"$slots.warning\"\n class=\"centered-y text-orange absolute right-7 text-xs\">\n <slot name=\"warning\" />\n </div>\n\n <!-- Icon slot (positioned absolutely) -->\n <div\n v-if=\"$slots.icon\"\n class=\"centered-y absolute right-0 flex h-full items-center p-1.5 group-has-[.cm-focused]:z-1\">\n <slot name=\"icon\" />\n </div>\n\n <!-- Required indicator -->\n <div\n v-if=\"required\"\n class=\"required centered-y text-xxs text-c-3 group-[.error]:text-red bg-b-1 pointer-events-none absolute right-0 mr-0.5 pt-px pr-2 opacity-100 shadow-[-8px_0_4px_var(--scalar-background-1)] transition-opacity duration-150 group-[.alert]:bg-transparent group-[.alert]:shadow-none group-[.error]:bg-transparent group-[.error]:shadow-none peer-has-[.cm-focused]:opacity-0\">\n Required\n </div>\n\n <!-- Environment variable autocomplete dropdown -->\n <EnvironmentVariableDropdown\n v-if=\"displayVariablesDropdown && environment\"\n ref=\"dropdownRef\"\n :dropdownPosition=\"dropdownPosition\"\n :environment=\"environment\"\n :query=\"dropdownQuery\"\n @redirect=\"emit('navigate', { page: 'document', path: 'environment' })\"\n @select=\"handleDropdownSelect\" />\n</template>\n<style scoped>\n/*\n Deep styling for customizing Codemirror\n */\n:deep(.cm-editor) {\n height: 100%;\n outline: none;\n padding: 0;\n background: transparent;\n}\n:deep(.cm-placeholder) {\n color: var(--scalar-color-3);\n}\n:deep(.cm-content) {\n font-family: var(--scalar-font-code);\n font-size: var(--scalar-small);\n max-height: 20px;\n padding: 8px 0;\n}\n/* Tooltip helper */\n:deep(.cm-tooltip) {\n background: transparent !important;\n filter: brightness(var(--scalar-lifted-brightness));\n border-radius: var(--scalar-radius);\n box-shadow: var(--scalar-shadow-2);\n border: none !important;\n outline: none !important;\n overflow: hidden !important;\n}\n:deep(.cm-tooltip-autocomplete ul li) {\n padding: 3px 6px !important;\n}\n:deep(.cm-completionIcon-type:after) {\n color: var(--scalar-color-3) !important;\n}\n:deep(.cm-tooltip-autocomplete ul li[aria-selected]) {\n background: var(--scalar-background-2) !important;\n color: var(--scalar-color-1) !important;\n}\n:deep(.cm-tooltip-autocomplete ul) {\n padding: 6px !important;\n position: relative;\n}\n:deep(.cm-tooltip-autocomplete ul li:hover) {\n border-radius: 3px;\n color: var(--scalar-color-1) !important;\n background: var(--scalar-background-3) !important;\n}\n/* Disable active line highlighting */\n:deep(.cm-activeLine),\n:deep(.cm-activeLineGutter) {\n background-color: transparent;\n}\n/* Color selection matching */\n:deep(.cm-selectionMatch),\n:deep(.cm-matchingBracket) {\n border-radius: var(--scalar-radius);\n background: var(--scalar-background-4) !important;\n}\n/* Color Picker Swatches */\n:deep(.cm-css-color-picker-wrapper) {\n display: inline-flex;\n outline: 1px solid var(--scalar-background-3);\n border-radius: 3px;\n overflow: hidden;\n}\n/* Number gutter */\n:deep(.cm-gutters) {\n background-color: transparent;\n border-right: none;\n color: var(--scalar-color-3);\n font-size: var(--scalar-small);\n line-height: 22px;\n border-radius: 0 0 0 3px;\n}\n:deep(.cm-gutters:before) {\n content: '';\n position: absolute;\n top: 2px;\n left: 2px;\n width: calc(100% - 2px);\n height: calc(100% - 4px);\n border-radius: var(--scalar-radius) 0 0 var(--scalar-radius);\n background-color: var(--scalar-background-1);\n}\n:deep(.cm-gutterElement) {\n font-family: var(--scalar-font-code) !important;\n padding-left: 0px !important;\n padding-right: 6px !important;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n position: relative;\n}\n:deep(.cm-lineNumbers .cm-gutterElement) {\n min-width: fit-content;\n}\n:deep(.cm-gutter + .cm-gutter :not(.cm-foldGutter) .cm-gutterElement) {\n padding-left: 0 !important;\n}\n:deep(.cm-scroller) {\n overflow: auto;\n}\n.line-wrapping:focus-within :deep(.cm-content) {\n display: inline-table;\n min-height: fit-content;\n padding: 3px 6px;\n white-space: break-spaces;\n word-break: break-all;\n}\n</style>\n<style>\n.cm-pill {\n color: var(--scalar-color-1) !important;\n padding: 0px 9px;\n border-radius: 3px;\n display: inline-block;\n border-radius: 30px;\n font-size: var(--scalar-small);\n}\n.light-mode .cm-pill {\n background: var(--scalar-background-3) !important;\n}\n.dark-mode .cm-pill {\n background: color-mix(in srgb, var(--tw-bg-base), transparent 90%) !important;\n}\n.cm-pill:first-of-type {\n margin-left: 0;\n}\n.cm-editor .cm-widgetBuffer {\n display: none;\n}\n.cm-foldPlaceholder:hover {\n color: var(--scalar-color-1);\n}\n.cm-foldGutter .cm-gutterElement {\n font-size: var(--scalar-heading-4);\n padding: 2px !important;\n}\n.cm-foldGutter .cm-gutterElement:first-of-type {\n display: none;\n}\n.cm-foldGutter .cm-gutterElement .cm-foldMarker {\n padding: 2px;\n padding-top: 2px;\n}\n.cm-foldGutter .cm-gutterElement:hover .cm-foldMarker {\n background: var(--scalar-background-2);\n border-radius: var(--scalar-radius);\n color: var(--scalar-color-1);\n}\n</style>\n"],"mappings":"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"}
1
+ {"version":3,"file":"CodeInput.vue.script.js","names":["$attrs","$slots"],"sources":["../../../../src/v2/components/code-input/CodeInput.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type CodeInputModelValue =\n | string\n | number\n | boolean\n | Array<string | number | boolean>\n | Record<string, unknown>\n\n/**\n * CodeInput\n *\n * A versatile input component that adapts its rendering based on props:\n * - Disabled mode: Read-only text display\n * - Select mode: Dropdown for enums, booleans, or examples\n * - Editor mode: CodeMirror with environment variable support\n *\n * Type `{{` to trigger autocomplete for environment variables and runtime context functions\n * (for example `{{$guid}}`) when an environment is provided.\n * It takes in any data but always will emit a string value,\n * this string should then be parsed in accordance to the schema or content type.\n *\n * @example\n * ```vue\n * <!-- Basic input with environment variables -->\n * <CodeInput v-model=\"value\" :environment=\"env\" />\n *\n * <!-- Boolean select -->\n * <CodeInput v-model=\"flag\" type=\"boolean\" />\n *\n * <!-- JSON editor with linting -->\n * <CodeInput v-model=\"data\" language=\"json\" :lint=\"true\" />\n * ```\n */\nexport default {\n inheritAttrs: false,\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { isDefined } from '@scalar/helpers/array/is-defined'\nimport {\n colorPicker as colorPickerExtension,\n useCodeMirror,\n useDropdown,\n type CodeMirrorLanguage,\n type Extension,\n} from '@scalar/use-codemirror'\nimport {\n CONTEXT_FUNCTION_NAMES,\n getContextFunctionComment,\n isContextFunctionName,\n} from '@scalar/workspace-store/request-example'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport { nanoid } from 'nanoid'\nimport { computed, ref, toRef, useAttrs, watch, type Ref } from 'vue'\n\nimport DataTableInputSelect from '@/v2/components/data-table/DataTableInputSelect.vue'\nimport EnvironmentVariableDropdown from '@/v2/features/environments/components/EnvironmentVariablesDropdown.vue'\nimport type { ClientLayout } from '@/v2/types/layout'\n\nimport { backspaceCommand, pillPlugin } from './code-variable-widget'\n\ntype Props = {\n modelValue: CodeInputModelValue\n /** Environment for variable substitution. Pass undefined to disable environment variables */\n environment: XScalarEnvironment | undefined\n /** Type of the input value, affects rendering mode for booleans */\n type?: string | string[]\n /** Render as disabled text display */\n disabled?: boolean\n /** Show error styling */\n error?: boolean\n /** Layout context affects styling and behavior */\n layout?: ClientLayout\n /** Predefined enum values, triggers select mode */\n enum?: string[]\n /** Example values, triggers select mode */\n examples?: string[]\n /** Default value to show in select mode */\n default?: Props['modelValue']\n /** Allow null in boolean select options */\n nullable?: boolean\n /** Placeholder text for empty input */\n placeholder?: string\n /** Show required indicator */\n required?: boolean\n /** Enable color picker extension */\n colorPicker?: boolean\n /** Show line numbers in editor */\n lineNumbers?: boolean\n /** Enable linting */\n lint?: boolean\n /** Enable line wrapping */\n lineWrapping?: boolean\n /** CodeMirror language mode */\n language?: CodeMirrorLanguage\n /** Additional CodeMirror extensions */\n extensions?: Extension[]\n /** Disable tab key for indentation */\n disableTabIndent?: boolean\n /** Disable enter key */\n disableEnter?: boolean\n /** Disable automatic bracket closing */\n disableCloseBrackets?: boolean\n /** Emit submit event on blur */\n emitOnBlur?: boolean\n /** Enable environment variable pills */\n withVariables?: boolean\n /** Emit change event even if the value is the same */\n alwaysEmitChange?: boolean\n /** Custom change handler, prevents default emit */\n handleFieldChange?: (value: string) => void\n /** Custom submit handler, prevents default emit */\n handleFieldSubmit?: (value: string) => void\n /** Put a linethrough on the input text */\n linethrough?: boolean\n}\n\nconst {\n modelValue,\n environment,\n type,\n disabled = false,\n error = false,\n layout = 'desktop',\n enum: enumProp,\n examples,\n default: defaultProp,\n nullable = false,\n placeholder,\n required,\n colorPicker = false,\n lineNumbers = false,\n lint = false,\n lineWrapping = false,\n language,\n extensions = [],\n disableTabIndent = false,\n disableEnter = false,\n disableCloseBrackets = false,\n emitOnBlur = true,\n alwaysEmitChange = false,\n withVariables = true,\n handleFieldChange,\n handleFieldSubmit,\n} = defineProps<Props>()\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: string]\n 'submit': [value: string, event: KeyboardEvent | FocusEvent]\n 'navigate': [route: { page: 'document'; path: 'environment' }]\n 'blur': [value: string, event: FocusEvent]\n}>()\n\n// ---------------------------------------------------------------------------\n// Component identity and focus state\n\nconst attrs = useAttrs() as { id?: string }\nconst componentId = attrs.id || `id-${nanoid()}`\nconst isFocused = ref(false)\n\n// ---------------------------------------------------------------------------\n// Rendering mode detection\n\n/**\n * Determines if we should render a select dropdown for boolean types.\n */\nconst isBooleanMode = computed((): boolean => {\n if (enumProp?.length) {\n return false\n }\n return type === 'boolean' || (Array.isArray(type) && type.includes('boolean'))\n})\n\n/**\n * Options for boolean select mode.\n */\nconst booleanOptions = computed((): string[] =>\n nullable ? ['true', 'false', 'null'] : ['true', 'false'],\n)\n\n/**\n * Default type when dealing with type arrays.\n * Finds the first non-null type.\n */\nconst defaultType = computed((): string | undefined => {\n if (Array.isArray(type)) {\n return type.find((t) => t !== 'null') ?? 'string'\n }\n return type\n})\n\n// ---------------------------------------------------------------------------\n// Event handlers\n\n/**\n * Handles value changes during typing.\n */\nconst handleChange = (value: string): void => {\n if (!alwaysEmitChange && value === serializeValue(modelValue)) {\n return\n }\n\n // Use custom handler or emit update\n if (handleFieldChange) {\n handleFieldChange(value)\n } else {\n emit('update:modelValue', value)\n }\n}\n\n/**\n * Handles form submission (enter key or blur with emitOnBlur).\n */\nconst handleSubmit = (\n value: string,\n event: KeyboardEvent | FocusEvent,\n): void => {\n if (handleFieldSubmit) {\n handleFieldSubmit(value)\n } else {\n emit('submit', value, event)\n }\n}\n\n/**\n * Handles input blur event.\n */\nconst handleBlur = (value: string, event: FocusEvent): void => {\n isFocused.value = false\n\n if (emitOnBlur && modelValue) {\n handleSubmit(value, event)\n }\n\n emit('blur', value, event)\n}\n\n/**\n * Handles model value updates from select components.\n */\nconst handleSelectChange = (value: string): void =>\n emit('update:modelValue', value)\n\n// ---------------------------------------------------------------------------\n// CodeMirror setup\n\n/**\n * Build extensions array.\n * Note: Extensions are not reactive after initialization.\n */\nconst buildExtensions = (): Extension[] => {\n const extensionsList: Extension[] = [...extensions]\n\n if (colorPicker) {\n extensionsList.push(colorPickerExtension)\n }\n\n return extensionsList\n}\n\n/**\n * Reactive pill plugin for environment variable visualization.\n */\nconst contextFunctionDropdownItems = computed(() =>\n CONTEXT_FUNCTION_NAMES.map((key) => ({\n key,\n description: getContextFunctionComment(key),\n })),\n)\n\nconst pillPluginExtension = computed(() =>\n pillPlugin({\n environment,\n isContextFunctionName,\n isReadOnly: layout === 'modal',\n }),\n)\n\n/**\n * Combined extensions for CodeMirror.\n */\nconst codeMirrorExtensions = computed((): Extension[] => [\n ...buildExtensions(),\n pillPluginExtension.value,\n backspaceCommand,\n])\n\nconst codeMirrorRef: Ref<HTMLDivElement | null> = ref(null)\n\n/** Converts the model value to a string for CodeMirror */\nconst serializeValue = (value: CodeInputModelValue): string => {\n if (typeof value === 'string') {\n return value\n }\n return JSON.stringify(value)\n}\n\nconst { codeMirror, setCodeMirrorContent } = useCodeMirror({\n content: toRef(() => serializeValue(modelValue)),\n onChange: (value) => {\n handleChange(value)\n updateDropdownVisibility()\n },\n onFocus: () => {\n isFocused.value = true\n },\n onBlur: handleBlur,\n codeMirrorRef,\n disableTabIndent: toRef(() => disableTabIndent),\n disableEnter: toRef(() => disableEnter),\n disableCloseBrackets: toRef(() => disableCloseBrackets),\n lineNumbers: toRef(() => lineNumbers),\n language: toRef(() => language),\n lint: toRef(() => lint),\n extensions: codeMirrorExtensions,\n placeholder: toRef(() => placeholder),\n})\n\n/**\n * Handle autofocus attribute.\n */\nwatch(codeMirror, () => {\n if (codeMirror.value && Object.hasOwn(attrs, 'autofocus')) {\n codeMirror.value.focus()\n }\n})\n\n// ---------------------------------------------------------------------------\n// Environment variable dropdown\n\nconst showDropdown = ref(false)\nconst dropdownQuery = ref('')\nconst dropdownPosition = ref({ left: 0, top: 0 })\nconst dropdownRef = ref<InstanceType<\n typeof EnvironmentVariableDropdown\n> | null>(null)\n\nconst { handleDropdownSelect, updateDropdownVisibility } = useDropdown({\n codeMirror,\n query: dropdownQuery,\n showDropdown,\n dropdownPosition,\n})\n\n/**\n * Determines if the environment variable dropdown should be visible.\n */\nconst displayVariablesDropdown = computed((): boolean => {\n return (\n showDropdown.value &&\n withVariables &&\n layout !== 'modal' &&\n Boolean(environment)\n )\n})\n\n// ---------------------------------------------------------------------------\n// Keyboard event handling\n\n/**\n * Handles keyboard navigation for dropdown and form submission.\n */\nconst handleKeyDown = (key: string, event: KeyboardEvent): void => {\n if (showDropdown.value) {\n if (key === 'down' || key === 'up') {\n event.preventDefault()\n dropdownRef.value?.handleArrowKey(key)\n } else if (key === 'enter') {\n event.preventDefault()\n dropdownRef.value?.handleSelect()\n }\n return\n }\n\n if (key === 'escape' && !disableTabIndent) {\n event.stopPropagation()\n }\n\n if (key === 'enter' && event.target instanceof HTMLDivElement) {\n handleSubmit(event.target.textContent ?? '', event)\n }\n}\n\n// ---------------------------------------------------------------------------\n// Public API\n\ndefineExpose({\n /**\n * Focus the codemirror element\n *\n * @param cursorAtEnd boolean place the cursor at the end of the input\n */\n focus: (position?: 'start' | 'end' | number) => {\n if (!codeMirror.value) {\n return\n }\n codeMirror.value.focus()\n\n if (!isDefined(position)) {\n return\n }\n\n const anchor = (() => {\n if (position === 'start') {\n return 0\n }\n if (position === 'end') {\n return codeMirror.value.state.doc.length\n }\n return position\n })()\n\n // Move the cursor to the specified position\n codeMirror.value.dispatch({\n selection: { anchor },\n scrollIntoView: true,\n })\n },\n isFocused,\n handleChange,\n handleSubmit,\n handleBlur,\n booleanOptions,\n codeMirror,\n codeMirrorRef,\n modelValue,\n setCodeMirrorContent,\n cursorPosition: () => codeMirror.value?.state.selection.main.head,\n serializeValue,\n})\n</script>\n\n<template>\n <!-- Disabled mode: read-only text display -->\n <div\n v-if=\"disabled\"\n class=\"text-c-2 flex cursor-default items-center justify-center\"\n :class=\"{\n 'font-code pr-2 pl-1 text-base': layout === 'modal',\n 'px-2': layout !== 'modal',\n 'line-through': linethrough,\n }\"\n data-testid=\"code-input-disabled\">\n <span class=\"whitespace-nowrap\">{{ modelValue }}</span>\n </div>\n\n <!-- Enum mode: select dropdown with predefined values -->\n <DataTableInputSelect\n v-else-if=\"enumProp?.length\"\n :default=\"defaultProp\"\n :modelValue=\"modelValue\"\n :type=\"defaultType\"\n :value=\"enumProp\"\n @update:modelValue=\"handleSelectChange\" />\n\n <!-- Boolean mode: select dropdown with true/false (and optionally null) -->\n <DataTableInputSelect\n v-else-if=\"isBooleanMode\"\n :default=\"defaultProp\"\n :modelValue=\"modelValue\"\n :value=\"booleanOptions\"\n @update:modelValue=\"handleSelectChange\" />\n\n <!-- Examples mode: select dropdown with example values -->\n <DataTableInputSelect\n v-else-if=\"examples?.length\"\n :default=\"defaultProp\"\n :modelValue=\"modelValue\"\n :value=\"examples\"\n @update:modelValue=\"handleSelectChange\" />\n\n <!-- Editor mode: CodeMirror with environment variable support -->\n <div\n v-else\n :id=\"componentId\"\n v-bind=\"$attrs\"\n ref=\"codeMirrorRef\"\n class=\"group/input group-[.alert]:outline-orange group-[.error]:outline-red font-code peer relative w-full overflow-hidden text-xs leading-[1.44] whitespace-nowrap -outline-offset-1 has-[:focus-visible]:rounded-[4px] has-[:focus-visible]:outline\"\n :class=\"{\n 'line-wrapping has-[:focus-visible]:bg-b-1 has-[:focus-visible]:absolute has-[:focus-visible]:z-1':\n lineWrapping,\n 'flow-code-input--error': error,\n 'line-through': linethrough,\n }\"\n @keydown.down.stop=\"handleKeyDown('down', $event)\"\n @keydown.enter=\"handleKeyDown('enter', $event)\"\n @keydown.escape=\"handleKeyDown('escape', $event)\"\n @keydown.up.stop=\"handleKeyDown('up', $event)\">\n <!-- Tab exit hint (shown when focused) -->\n <div\n v-if=\"!disableTabIndent\"\n class=\"z-context text-c-2 absolute right-1.5 bottom-1 hidden font-sans group-has-[:focus-visible]/input:block\"\n role=\"alert\">\n Press\n <kbd class=\"-mx-0.25 rounded border px-0.5 font-mono\">Esc</kbd> then\n <kbd class=\"-mx-0.25 rounded border px-0.5 font-mono\">Tab</kbd> to exit\n </div>\n </div>\n\n <!-- Warning slot (positioned absolutely) -->\n <div\n v-if=\"$slots.warning\"\n class=\"centered-y text-orange absolute right-7 text-xs\">\n <slot name=\"warning\" />\n </div>\n\n <!-- Icon slot (positioned absolutely) -->\n <div\n v-if=\"$slots.icon\"\n class=\"centered-y absolute right-0 flex h-full items-center p-1.5 group-has-[.cm-focused]:z-1\">\n <slot name=\"icon\" />\n </div>\n\n <!-- Required indicator -->\n <div\n v-if=\"required\"\n class=\"required centered-y text-xxs text-c-3 group-[.error]:text-red bg-b-1 pointer-events-none absolute right-0 mr-0.5 pt-px pr-2 opacity-100 shadow-[-8px_0_4px_var(--scalar-background-1)] transition-opacity duration-150 group-[.alert]:bg-transparent group-[.alert]:shadow-none group-[.error]:bg-transparent group-[.error]:shadow-none peer-has-[.cm-focused]:opacity-0\">\n Required\n </div>\n\n <!-- Environment variable autocomplete dropdown -->\n <EnvironmentVariableDropdown\n v-if=\"displayVariablesDropdown && environment\"\n ref=\"dropdownRef\"\n :contextFunctionItems=\"contextFunctionDropdownItems\"\n :dropdownPosition=\"dropdownPosition\"\n :environment=\"environment\"\n :query=\"dropdownQuery\"\n @redirect=\"emit('navigate', { page: 'document', path: 'environment' })\"\n @select=\"handleDropdownSelect\" />\n</template>\n<style scoped>\n/*\n Deep styling for customizing Codemirror\n */\n:deep(.cm-editor) {\n height: 100%;\n outline: none;\n padding: 0;\n background: transparent;\n}\n:deep(.cm-placeholder) {\n color: var(--scalar-color-3);\n}\n:deep(.cm-content) {\n font-family: var(--scalar-font-code);\n font-size: var(--scalar-small);\n max-height: 20px;\n padding: 8px 0;\n}\n/* Tooltip helper */\n:deep(.cm-tooltip) {\n background: transparent !important;\n filter: brightness(var(--scalar-lifted-brightness));\n border-radius: var(--scalar-radius);\n box-shadow: var(--scalar-shadow-2);\n border: none !important;\n outline: none !important;\n overflow: hidden !important;\n}\n:deep(.cm-tooltip-autocomplete ul li) {\n padding: 3px 6px !important;\n}\n:deep(.cm-completionIcon-type:after) {\n color: var(--scalar-color-3) !important;\n}\n:deep(.cm-tooltip-autocomplete ul li[aria-selected]) {\n background: var(--scalar-background-2) !important;\n color: var(--scalar-color-1) !important;\n}\n:deep(.cm-tooltip-autocomplete ul) {\n padding: 6px !important;\n position: relative;\n}\n:deep(.cm-tooltip-autocomplete ul li:hover) {\n border-radius: 3px;\n color: var(--scalar-color-1) !important;\n background: var(--scalar-background-3) !important;\n}\n/* Disable active line highlighting */\n:deep(.cm-activeLine),\n:deep(.cm-activeLineGutter) {\n background-color: transparent;\n}\n/* Color selection matching */\n:deep(.cm-selectionMatch),\n:deep(.cm-matchingBracket) {\n border-radius: var(--scalar-radius);\n background: var(--scalar-background-4) !important;\n}\n/* Color Picker Swatches */\n:deep(.cm-css-color-picker-wrapper) {\n display: inline-flex;\n outline: 1px solid var(--scalar-background-3);\n border-radius: 3px;\n overflow: hidden;\n}\n/* Number gutter */\n:deep(.cm-gutters) {\n background-color: transparent;\n border-right: none;\n color: var(--scalar-color-3);\n font-size: var(--scalar-small);\n line-height: 22px;\n border-radius: 0 0 0 3px;\n}\n:deep(.cm-gutters:before) {\n content: '';\n position: absolute;\n top: 2px;\n left: 2px;\n width: calc(100% - 2px);\n height: calc(100% - 4px);\n border-radius: var(--scalar-radius) 0 0 var(--scalar-radius);\n background-color: var(--scalar-background-1);\n}\n:deep(.cm-gutterElement) {\n font-family: var(--scalar-font-code) !important;\n padding-left: 0px !important;\n padding-right: 6px !important;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n position: relative;\n}\n:deep(.cm-lineNumbers .cm-gutterElement) {\n min-width: fit-content;\n}\n:deep(.cm-gutter + .cm-gutter :not(.cm-foldGutter) .cm-gutterElement) {\n padding-left: 0 !important;\n}\n:deep(.cm-scroller) {\n overflow: auto;\n}\n.line-wrapping:focus-within :deep(.cm-content) {\n display: inline-table;\n min-height: fit-content;\n padding: 3px 6px;\n white-space: break-spaces;\n word-break: break-all;\n}\n</style>\n<style>\n.cm-pill {\n color: var(--scalar-color-1) !important;\n padding: 0px 9px;\n border-radius: 3px;\n display: inline-block;\n border-radius: 30px;\n font-size: var(--scalar-small);\n}\n.light-mode .cm-pill {\n background: var(--scalar-background-3) !important;\n}\n.dark-mode .cm-pill {\n background: color-mix(in srgb, var(--tw-bg-base), transparent 90%) !important;\n}\n.cm-pill--context-fn {\n border: 1px dashed color-mix(in srgb, var(--scalar-color-3), transparent 35%);\n padding: 0px 8px;\n}\n.light-mode .cm-pill--context-fn {\n background: color-mix(\n in srgb,\n var(--scalar-background-3),\n transparent 40%\n ) !important;\n}\n.dark-mode .cm-pill--context-fn {\n background: color-mix(\n in srgb,\n var(--scalar-background-3),\n transparent 55%\n ) !important;\n}\n.cm-pill:first-of-type {\n margin-left: 0;\n}\n.cm-editor .cm-widgetBuffer {\n display: none;\n}\n.cm-foldPlaceholder:hover {\n color: var(--scalar-color-1);\n}\n.cm-foldGutter .cm-gutterElement {\n font-size: var(--scalar-heading-4);\n padding: 2px !important;\n}\n.cm-foldGutter .cm-gutterElement:first-of-type {\n display: none;\n}\n.cm-foldGutter .cm-gutterElement .cm-foldMarker {\n padding: 2px;\n padding-top: 2px;\n}\n.cm-foldGutter .cm-gutterElement:hover .cm-foldMarker {\n background: var(--scalar-background-2);\n border-radius: var(--scalar-radius);\n color: var(--scalar-color-1);\n}\n</style>\n"],"mappings":"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"}
@@ -1,7 +1,8 @@
1
+ import type { PillContext } from './pill-context';
1
2
  type __VLS_Props = {
2
- isSticky: boolean;
3
+ context: PillContext;
3
4
  };
4
5
  declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
5
6
  declare const _default: typeof __VLS_export;
6
7
  export default _default;
7
- //# sourceMappingURL=CollectionNavigation.vue.d.ts.map
8
+ //# sourceMappingURL=PillTooltipHost.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PillTooltipHost.vue.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/code-input/PillTooltipHost.vue"],"names":[],"mappings":"AAqEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAEjD,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,WAAW,CAAA;CACrB,CAAC;AA8EF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -0,0 +1,7 @@
1
+ import PillTooltipHost_vue_vue_type_script_setup_true_lang_default from "./PillTooltipHost.vue.script.js";
2
+ //#region src/v2/components/code-input/PillTooltipHost.vue
3
+ var PillTooltipHost_default = PillTooltipHost_vue_vue_type_script_setup_true_lang_default;
4
+ //#endregion
5
+ export { PillTooltipHost_default as default };
6
+
7
+ //# sourceMappingURL=PillTooltipHost.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PillTooltipHost.vue.js","names":[],"sources":["../../../../src/v2/components/code-input/PillTooltipHost.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useTooltip } from '@scalar/components'\nimport { computed, h, ref, render } from 'vue'\n\nimport type { PillContext } from './pill-context'\n\nconst props = defineProps<{\n context: PillContext\n}>()\n\ndefineOptions({ name: 'PillTooltipHost' })\n\nconst wrapperRef = ref<HTMLElement | null>(null)\nconst isContextFn = props.context.type === 'contextFunction'\n\nconst contextTooltipHtml = computed(() => {\n if (!isContextFn || typeof document === 'undefined') {\n return ''\n }\n const el = document.createElement('div')\n render(\n h('div', { class: 'flex flex-col gap-1.5 text-left' }, [\n h('span', {}, props.context.details),\n h(\n 'div',\n { class: 'text-[color:var(--scalar-color-3)] text-[10px] font-normal' },\n 'Computed at request execution',\n ),\n ]),\n el,\n )\n return el.innerHTML\n})\n\nconst environmentTooltipText = computed(() =>\n props.context.type === 'environment' ? props.context.value : '',\n)\n\nuseTooltip({\n content: isContextFn ? contextTooltipHtml : environmentTooltipText,\n contentTarget: isContextFn ? 'innerHTML' : 'textContent',\n delay: 0,\n placement: 'bottom-start',\n offset: 6,\n targetRef: computed(\n () => wrapperRef.value?.children?.[0] || wrapperRef.value || undefined,\n ),\n})\n</script>\n\n<template>\n <div\n ref=\"wrapperRef\"\n class=\"contents\">\n <div class=\"flex items-center gap-1 whitespace-nowrap\">\n <span>{{\n props.context.type === 'environment'\n ? props.context.name\n : props.context.identifier\n }}</span>\n </div>\n </div>\n</template>\n"],"mappings":""}
@@ -0,0 +1,40 @@
1
+ import { computed, createElementBlock, createElementVNode, defineComponent, h, openBlock, ref, render, toDisplayString } from "vue";
2
+ import { useTooltip } from "@scalar/components";
3
+ //#region src/v2/components/code-input/PillTooltipHost.vue?vue&type=script&setup=true&lang.ts
4
+ var _hoisted_1 = { class: "flex items-center gap-1 whitespace-nowrap" };
5
+ var PillTooltipHost_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
6
+ name: "PillTooltipHost",
7
+ __name: "PillTooltipHost",
8
+ props: { context: {} },
9
+ setup(__props) {
10
+ const props = __props;
11
+ const wrapperRef = ref(null);
12
+ const isContextFn = props.context.type === "contextFunction";
13
+ const contextTooltipHtml = computed(() => {
14
+ if (!isContextFn || typeof document === "undefined") return "";
15
+ const el = document.createElement("div");
16
+ render(h("div", { class: "flex flex-col gap-1.5 text-left" }, [h("span", {}, props.context.details), h("div", { class: "text-[color:var(--scalar-color-3)] text-[10px] font-normal" }, "Computed at request execution")]), el);
17
+ return el.innerHTML;
18
+ });
19
+ const environmentTooltipText = computed(() => props.context.type === "environment" ? props.context.value : "");
20
+ useTooltip({
21
+ content: isContextFn ? contextTooltipHtml : environmentTooltipText,
22
+ contentTarget: isContextFn ? "innerHTML" : "textContent",
23
+ delay: 0,
24
+ placement: "bottom-start",
25
+ offset: 6,
26
+ targetRef: computed(() => wrapperRef.value?.children?.[0] || wrapperRef.value || void 0)
27
+ });
28
+ return (_ctx, _cache) => {
29
+ return openBlock(), createElementBlock("div", {
30
+ ref_key: "wrapperRef",
31
+ ref: wrapperRef,
32
+ class: "contents"
33
+ }, [createElementVNode("div", _hoisted_1, [createElementVNode("span", null, toDisplayString(props.context.type === "environment" ? props.context.name : props.context.identifier), 1)])], 512);
34
+ };
35
+ }
36
+ });
37
+ //#endregion
38
+ export { PillTooltipHost_vue_vue_type_script_setup_true_lang_default as default };
39
+
40
+ //# sourceMappingURL=PillTooltipHost.vue.script.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PillTooltipHost.vue.script.js","names":[],"sources":["../../../../src/v2/components/code-input/PillTooltipHost.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useTooltip } from '@scalar/components'\nimport { computed, h, ref, render } from 'vue'\n\nimport type { PillContext } from './pill-context'\n\nconst props = defineProps<{\n context: PillContext\n}>()\n\ndefineOptions({ name: 'PillTooltipHost' })\n\nconst wrapperRef = ref<HTMLElement | null>(null)\nconst isContextFn = props.context.type === 'contextFunction'\n\nconst contextTooltipHtml = computed(() => {\n if (!isContextFn || typeof document === 'undefined') {\n return ''\n }\n const el = document.createElement('div')\n render(\n h('div', { class: 'flex flex-col gap-1.5 text-left' }, [\n h('span', {}, props.context.details),\n h(\n 'div',\n { class: 'text-[color:var(--scalar-color-3)] text-[10px] font-normal' },\n 'Computed at request execution',\n ),\n ]),\n el,\n )\n return el.innerHTML\n})\n\nconst environmentTooltipText = computed(() =>\n props.context.type === 'environment' ? props.context.value : '',\n)\n\nuseTooltip({\n content: isContextFn ? contextTooltipHtml : environmentTooltipText,\n contentTarget: isContextFn ? 'innerHTML' : 'textContent',\n delay: 0,\n placement: 'bottom-start',\n offset: 6,\n targetRef: computed(\n () => wrapperRef.value?.children?.[0] || wrapperRef.value || undefined,\n ),\n})\n</script>\n\n<template>\n <div\n ref=\"wrapperRef\"\n class=\"contents\">\n <div class=\"flex items-center gap-1 whitespace-nowrap\">\n <span>{{\n props.context.type === 'environment'\n ? props.context.name\n : props.context.identifier\n }}</span>\n </div>\n </div>\n</template>\n"],"mappings":";;;;;;;;;EAMA,MAAM,QAAQ;EAMd,MAAM,aAAa,IAAwB,KAAI;EAC/C,MAAM,cAAc,MAAM,QAAQ,SAAS;EAE3C,MAAM,qBAAqB,eAAe;AACxC,OAAI,CAAC,eAAe,OAAO,aAAa,YACtC,QAAO;GAET,MAAM,KAAK,SAAS,cAAc,MAAK;AACvC,UACE,EAAE,OAAO,EAAE,OAAO,mCAAmC,EAAE,CACrD,EAAE,QAAQ,EAAE,EAAE,MAAM,QAAQ,QAAQ,EACpC,EACE,OACA,EAAE,OAAO,8DAA8D,EACvE,gCACD,CACF,CAAC,EACF,GACF;AACA,UAAO,GAAG;IACX;EAED,MAAM,yBAAyB,eAC7B,MAAM,QAAQ,SAAS,gBAAgB,MAAM,QAAQ,QAAQ,GAC/D;AAEA,aAAW;GACT,SAAS,cAAc,qBAAqB;GAC5C,eAAe,cAAc,cAAc;GAC3C,OAAO;GACP,WAAW;GACX,QAAQ;GACR,WAAW,eACH,WAAW,OAAO,WAAW,MAAM,WAAW,SAAS,KAAA,EAC9D;GACF,CAAA;;uBAIC,mBAUM,OAAA;aATA;IAAJ,KAAI;IACJ,OAAM;OACN,mBAMM,OANN,YAMM,CALJ,mBAIS,QAAA,MAAA,gBAHP,MAAM,QAAQ,SAAI,gBAA+B,MAAM,QAAQ,OAAiB,MAAM,QAAQ,WAAU,EAAA,EAAA,CAAA,CAAA,CAAA,EAAA,IAAA"}
@@ -7,6 +7,7 @@ import type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensi
7
7
  export declare const pillPlugin: (props: {
8
8
  environment: XScalarEnvironment | undefined;
9
9
  isReadOnly: boolean | undefined;
10
+ isContextFunctionName?: (name: string) => boolean;
10
11
  }) => ViewPlugin<{
11
12
  decorations: DecorationSet;
12
13
  lastEnvironment: XScalarEnvironment | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"code-variable-widget.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/code-input/code-variable-widget.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,aAAa,EAClB,UAAU,EAEV,UAAU,EACV,KAAK,UAAU,EAEhB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2EAA2E,CAAA;AAyFnH;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,OAAO;IAAE,WAAW,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAAC,UAAU,EAAE,OAAO,GAAG,SAAS,CAAA;CAAE;iBAG/F,aAAa;qBACT,kBAAkB,GAAG,SAAS;mBAOhC,UAAU,GAAG,IAAI;2BAcT,UAAU,GAAG,aAAa;EAsCpD,CAAA;AAEH;;;GAGG;AACH,eAAO,MAAM,gBAAgB,uCAoC3B,CAAA"}
1
+ {"version":3,"file":"code-variable-widget.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/code-input/code-variable-widget.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,aAAa,EAClB,UAAU,EAEV,UAAU,EACV,KAAK,UAAU,EAEhB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2EAA2E,CAAA;AAmGnH;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,OAAO;IAChC,WAAW,EAAE,kBAAkB,GAAG,SAAS,CAAA;IAC3C,UAAU,EAAE,OAAO,GAAG,SAAS,CAAA;IAC/B,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAA;CAClD;iBAGkB,aAAa;qBACT,kBAAkB,GAAG,SAAS;mBAOhC,UAAU,GAAG,IAAI;2BAcT,UAAU,GAAG,aAAa;EAyCpD,CAAA;AAEH;;;GAGG;AACH,eAAO,MAAM,gBAAgB,uCAoC3B,CAAA"}